/* PrintersBD Toolkit — front end. Colours follow WoodMart's theme settings. */
:root {
	--pbd-accent: var(--wd-primary-color, #5cb338);
	--pbd-alt: var(--wd-alternative-color, #ff5a26);
	--pbd-title: var(--wd-title-color, #1f2937);
	--pbd-text: var(--wd-text-color, #4b5563);
	--pbd-line: #e5e7eb;
	--pbd-soft: #f5f7fb;
	--pbd-wa: #1fb655;
	--pbd-r: 10px;
}

/* ---------------- Product summary ---------------- */
.pbd-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 18px; }
.pbd-chip { background: var(--pbd-soft); border: 1px solid var(--pbd-line); border-radius: 999px; padding: 6px 13px; font-size: 13px; color: var(--pbd-text); }
.pbd-chip strong { color: var(--pbd-title); font-weight: 600; }

.pbd-features { margin: 6px 0 20px; }
.pbd-features__title { font-size: 17px; margin: 0 0 10px; }
.pbd-features ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.pbd-features li { position: relative; padding-left: 26px; line-height: 1.5; color: var(--pbd-title); }
.pbd-features li::before { content: ""; position: absolute; left: 0; top: 3px; width: 17px; height: 17px; border-radius: 50%; background: color-mix(in srgb, var(--pbd-accent) 16%, transparent); }
.pbd-features li::after { content: ""; position: absolute; left: 6px; top: 7px; width: 5px; height: 8px; border: solid var(--pbd-accent); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.pbd-more { display: inline-block; margin-top: 10px; font-weight: 600; color: var(--pbd-alt); border-bottom: 1px solid currentColor; }

.pbd-ask-price { color: var(--pbd-alt); font-weight: 700; }
.single-product .summary .price .pbd-ask-price { font-size: 22px; }

.pbd-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 16px 0 12px; }
.pbd-actions.is-priced { grid-template-columns: 1fr; margin-top: 10px; }
.pbd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 18px; border-radius: var(--pbd-r); font-weight: 700; font-size: 16px; text-decoration: none !important; color: #fff !important; border: 0; cursor: pointer; transition: filter .15s, transform .15s; }
.pbd-btn:hover { filter: brightness(1.07); transform: translateY(-1px); }
.pbd-btn svg { width: 20px; height: 20px; flex: 0 0 20px; }
.pbd-btn--wa { background: var(--pbd-wa); }
.pbd-btn--call { background: var(--pbd-title); }
.pbd-btn--dark { background: var(--pbd-title) !important; color: #fff !important; }
.pbd-btn--wa-ghost { background: transparent; color: var(--pbd-wa) !important; border: 1.5px solid var(--pbd-wa); min-height: 46px; }

.pbd-assure { margin: 14px 0 10px; border: 1px solid var(--pbd-line); border-radius: var(--pbd-r); background: #fff; overflow: hidden; }
.pbd-assure__ship { display: flex; gap: 10px; align-items: flex-start; padding: 11px 14px; background: var(--pbd-soft); }
.pbd-assure__ship > svg { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 1px; color: var(--pbd-accent); }
.pbd-assure__ship strong { display: block; color: var(--pbd-title); font-size: 14.5px; line-height: 1.35; }
.pbd-assure__ship span { display: block; margin-top: 2px; color: var(--pbd-text); font-size: 12.5px; line-height: 1.4; }
.pbd-assure__list { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 14px; margin: 0; padding: 10px 14px 11px; list-style: none; border-top: 1px solid var(--pbd-line); }
.pbd-assure__list li { display: flex; align-items: center; gap: 7px; margin: 0; color: var(--pbd-title); font-size: 13.5px; font-weight: 500; line-height: 1.3; cursor: default; }
.pbd-assure__list svg { flex: 0 0 16px; width: 16px; height: 16px; color: var(--pbd-accent); }
/* Compare · Wishlist · Share on one line under the card */
.single-product .summary .wd-compare-btn, .single-product .summary .wd-wishlist-btn, .single-product .summary .product-share { display: inline-flex !important; align-items: center; vertical-align: middle; margin: 0 16px 6px 0 !important; }
.single-product .summary .product-share { margin-right: 0 !important; }
.single-product .summary .product-share .share-title { margin-right: 4px; }

.pbd-fee-row__note { font-size: 13px; color: var(--pbd-text); font-weight: 400; }

.pbd-tiers { margin: 14px 0; padding: 12px 14px; border: 1px dashed color-mix(in srgb, var(--pbd-accent) 55%, transparent); border-radius: var(--pbd-r); background: color-mix(in srgb, var(--pbd-accent) 6%, #fff); }
.pbd-tiers > strong { display: block; margin-bottom: 8px; color: var(--pbd-title); }
.pbd-tiers__row { display: flex; flex-wrap: wrap; gap: 8px; }
.pbd-tier { display: flex; flex-direction: column; min-width: 92px; padding: 7px 10px; border-radius: 8px; background: #fff; border: 1px solid var(--pbd-line); font-size: 13px; }
.pbd-tier b { color: var(--pbd-title); }
.pbd-tier em { font-style: normal; color: var(--pbd-accent); font-weight: 700; font-size: 12px; }
.pbd-qty-note { color: var(--pbd-accent); font-weight: 600; }

/* ---------------- Tabs content ---------------- */
.pbd-specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.pbd-specs__group { border: 1px solid var(--pbd-line); border-radius: var(--pbd-r); overflow: hidden; }
.pbd-specs__group h4 { margin: 0; padding: 10px 16px; background: var(--pbd-soft); font-size: 14px; text-transform: uppercase; letter-spacing: .4px; color: var(--pbd-title); }
.pbd-specs__group table { width: 100%; margin: 0; border-collapse: collapse; }
.pbd-specs__group th, .pbd-specs__group td { padding: 10px 16px; border-top: 1px solid var(--pbd-line); text-align: left; font-size: 14px; vertical-align: top; }
.pbd-specs__group th { width: 42%; color: var(--pbd-text); font-weight: 500; background: transparent; }
.pbd-specs__group td { color: var(--pbd-title); font-weight: 600; }

.pbd-compat__block + .pbd-compat__block { margin-top: 28px; }
.pbd-compat h4 { margin: 0 0 12px; }
.pbd-compat__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin-bottom: 16px; }
.pbd-compat__item { display: flex; flex-direction: column; gap: 6px; border: 1px solid var(--pbd-line); border-radius: var(--pbd-r); padding: 10px; color: var(--pbd-title); text-decoration: none; }
.pbd-compat__item:hover { border-color: var(--pbd-accent); }
.pbd-compat__item img { border-radius: 6px; }
.pbd-compat__item span { font-size: 13px; line-height: 1.35; }
.pbd-compat__table { width: 100%; border-collapse: collapse; border: 1px solid var(--pbd-line); border-radius: var(--pbd-r); overflow: hidden; }
.pbd-compat__table th { background: var(--pbd-soft); font-size: 12px; text-transform: uppercase; letter-spacing: .4px; color: var(--pbd-text); }
.pbd-compat__table th, .pbd-compat__table td { padding: 10px 14px; border-bottom: 1px solid var(--pbd-line); text-align: left; }
.pbd-link { font-weight: 700; color: var(--pbd-wa); }

.pbd-qa__notice { padding: 12px 14px; border-radius: var(--pbd-r); background: #ecfdf5; color: #065f46; margin-bottom: 14px; }
.pbd-qa__item { padding: 14px 0; border-bottom: 1px solid var(--pbd-line); }
.pbd-qa__item p { margin: 0 0 6px; display: flex; gap: 10px; }
.pbd-qa__item p span { flex: 0 0 24px; height: 24px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12px; }
.pbd-qa__q { color: var(--pbd-title); font-weight: 600; }
.pbd-qa__q span { background: var(--pbd-title); color: #fff; }
.pbd-qa__a span { background: color-mix(in srgb, var(--pbd-accent) 18%, transparent); color: var(--pbd-accent); }
.pbd-qa__item small { color: var(--pbd-text); margin-left: 34px; }
.pbd-qa__form { margin-top: 20px; padding: 18px; border-radius: var(--pbd-r); background: var(--pbd-soft); display: grid; gap: 10px; max-width: 720px; }
.pbd-qa__form h4 { margin: 0; }
.pbd-qa__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pbd-qa__form .pbd-btn { justify-self: start; min-height: 44px; }
.pbd-hp { position: absolute !important; left: -9999px; }
.pbd-muted { color: var(--pbd-text); }

.pbd-faq__item { border: 1px solid var(--pbd-line); border-radius: var(--pbd-r); padding: 0 16px; margin-bottom: 10px; background: #fff; }
.pbd-faq__item summary { cursor: pointer; padding: 14px 0; font-weight: 600; color: var(--pbd-title); list-style: none; position: relative; padding-right: 28px; }
.pbd-faq__item summary::-webkit-details-marker { display: none; }
.pbd-faq__item summary::after { content: "+"; position: absolute; right: 0; top: 10px; font-size: 22px; color: var(--pbd-accent); }
.pbd-faq__item[open] summary::after { content: "−"; }
.pbd-faq__item p { margin: 0 0 14px; }

/* ---------------- Talk to an expert strip ---------------- */
.pbd-expert { background: var(--pbd-title); color: #fff; font-size: 13.5px; }
.pbd-expert__inner { max-width: var(--wd-container-w, 1222px); margin: 0 auto; padding: 7px 15px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pbd-expert__faces { display: flex; }
.pbd-face { width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--pbd-title); background: var(--pbd-accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; margin-left: -8px; overflow: hidden; }
.pbd-face:first-child { margin-left: 0; }
.pbd-face img { width: 100%; height: 100%; object-fit: cover; }
.pbd-expert__text em { font-style: normal; opacity: .7; margin-left: 6px; }
.pbd-expert__links { margin-left: auto; display: flex; gap: 14px; }
.pbd-expert__links a { color: #fff; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.pbd-expert__links a:hover, .pbd-expert__links a:focus-visible { color: var(--pbd-accent) !important; }
.pbd-foot__col a:hover, .pbd-foot__col a:focus-visible { color: var(--pbd-accent) !important; }
.pbd-expert__links svg { width: 16px; height: 16px; }
@media (max-width: 768px) {
	.pbd-expert__text em, .pbd-expert__faces { display: none; }
	.pbd-expert__inner { justify-content: center; gap: 8px; }
	.pbd-expert__text { width: 100%; text-align: center; }
	.pbd-expert__links { margin: 0 auto; }
}

/* ---------------- Floating WhatsApp / call ---------------- */
.pbd-float { position: fixed; right: 18px; bottom: 22px; z-index: 390; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.pbd-float__btn { display: inline-flex; align-items: center; gap: 8px; height: 54px; min-width: 54px; justify-content: center; padding: 0 16px; border-radius: 999px; color: #fff !important; box-shadow: 0 10px 28px -8px rgba(0,0,0,.35); text-decoration: none !important; font-weight: 700; }
.pbd-float__btn svg { width: 24px; height: 24px; }
.pbd-float__btn--wa { background: var(--pbd-wa); }
.pbd-float__btn--call { background: var(--pbd-title); padding: 0; width: 48px; min-width: 48px; height: 48px; }
.pbd-float__btn--call svg { width: 20px; height: 20px; }
@media (max-width: 1024px) {
	.pbd-float { bottom: 76px; right: 12px; } /* above WoodMart's mobile toolbar */
	.pbd-float__btn--wa span { display: none; }
	.pbd-float__btn--wa { width: 54px; padding: 0; }
}

/* ---------------- Shop by industry ---------------- */
.pbd-ind { margin: 10px 0 30px; }
.pbd-ind__head { text-align: center; margin-bottom: 22px; }
.pbd-ind__head h2 { margin: 0 0 6px; }
.pbd-ind__head p { margin: 0; color: var(--pbd-text); }
.pbd-ind__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.pbd-ind__card { display: flex; flex-direction: column; gap: 6px; padding: 18px; border: 1px solid var(--pbd-line); border-radius: 14px; background: #fff; color: var(--pbd-title); text-decoration: none !important; transition: border-color .15s, transform .15s, box-shadow .15s; }
.pbd-ind__card:hover { border-color: var(--pbd-accent); transform: translateY(-2px); box-shadow: 0 14px 30px -20px rgba(0,0,0,.35); }
.pbd-ind__icon { width: 46px; height: 46px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--pbd-accent) 13%, transparent); color: var(--pbd-accent); }
.pbd-ind__icon svg { width: 26px; height: 26px; }
.pbd-ind__card strong { font-size: 16px; }
.pbd-ind__card small { color: var(--pbd-text); line-height: 1.45; }
.pbd-ind__card em { font-style: normal; font-weight: 700; color: var(--pbd-accent); margin-top: auto; font-size: 13px; }
.pbd-ind-intro { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.pbd-ind-intro p { margin: 0; }

@media (max-width: 600px) {
	.pbd-actions, .pbd-qa__row { grid-template-columns: 1fr; }
	.pbd-specs { grid-template-columns: 1fr; }
}

/* ---------------- Homepage [pbd_home] ---------------- */
.pbd-home { --pbd-deep: #0f3b2e; }
.pbd-home svg, .pbd-foot svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.pbd-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pbd-accent); margin-bottom: 12px; }
.pbd-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 24px; border-radius: 999px; font-weight: 700; text-decoration: none !important; transition: transform .15s, background .15s, box-shadow .15s; }
.pbd-btn:hover { transform: translateY(-1px); }
.pbd-btn--primary { background: var(--pbd-accent); color: #fff !important; box-shadow: 0 10px 24px -12px var(--pbd-accent); }
.pbd-btn--ghost { border: 1.5px solid rgba(255,255,255,.35); color: #fff !important; }
.pbd-btn--ghost:hover { background: rgba(255,255,255,.08); }
.pbd-btn--light { background: #fff; color: var(--pbd-deep) !important; }
.pbd-link { font-weight: 700; color: var(--pbd-accent); white-space: nowrap; }

.pbd-hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: center; padding: clamp(32px, 5vw, 64px); margin: 10px 0 56px; border-radius: 24px; color: #d6e5dc; background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--pbd-accent) 38%, transparent) 0%, transparent 55%), var(--pbd-deep); overflow: hidden; }
.pbd-hero h1 { color: #fff; font-size: clamp(32px, 4.4vw, 54px); line-height: 1.08; margin: 0 0 16px; letter-spacing: -.02em; }
.pbd-hero p { font-size: 17px; line-height: 1.6; margin: 0 0 26px; max-width: 520px; }
.pbd-hero .pbd-eyebrow { color: #9fe07f; }
.pbd-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.pbd-hero__points { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: 14px; }
.pbd-hero__points li { display: flex; align-items: center; gap: 8px; }
.pbd-hero__points svg { color: #9fe07f; }
.pbd-hero__art { position: relative; min-height: 380px; }
.pbd-hero__tile { position: absolute; background: #fff; border-radius: 20px; padding: 14px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); display: flex; align-items: center; justify-content: center; }
.pbd-hero__tile img { width: 100%; height: 100%; object-fit: contain; }
.pbd-hero__tile--a { inset: 0 18% 14% 0; }
.pbd-hero__tile--b { width: 42%; aspect-ratio: 1; right: 0; top: 8%; transform: rotate(4deg); }
.pbd-hero__tile--c { width: 36%; aspect-ratio: 1; right: 6%; bottom: 0; transform: rotate(-5deg); }

.pbd-sec { margin: 0 0 60px; }
.pbd-sec__head { text-align: center; margin-bottom: 26px; }
.pbd-sec__head h2 { font-size: clamp(24px, 2.6vw, 34px); margin: 0 0 6px; letter-spacing: -.01em; }
.pbd-sec__head p { margin: 0; color: var(--pbd-text); }
.pbd-sec__head--row { display: flex; align-items: end; justify-content: space-between; gap: 16px; text-align: left; }

.pbd-needs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pbd-need { display: flex; flex-direction: column; gap: 6px; padding: 16px 16px 20px; border-radius: 18px; background: var(--pbd-soft); color: var(--pbd-title); text-decoration: none !important; border: 1px solid transparent; transition: border-color .15s, transform .15s, box-shadow .15s; }
.pbd-need:hover { border-color: var(--pbd-accent); transform: translateY(-3px); box-shadow: 0 18px 36px -24px rgba(0,0,0,.4); }
.pbd-need__img { display: block; aspect-ratio: 4/3; background: #fff; border-radius: 12px; margin-bottom: 10px; overflow: hidden; }
.pbd-need__img img { width: 100%; height: 100%; object-fit: contain; }
.pbd-need strong { font-size: 18px; }
.pbd-need small { color: var(--pbd-text); line-height: 1.5; font-size: 14px; }
.pbd-need em { font-style: normal; font-weight: 700; color: var(--pbd-accent); margin-top: auto; padding-top: 6px; font-size: 14px; }

.pbd-why__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pbd-why__item { display: flex; flex-direction: column; gap: 6px; padding: 22px; border: 1px solid var(--pbd-line); border-radius: 16px; }
.pbd-why__item span { width: 44px; height: 44px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--pbd-accent) 13%, transparent); color: var(--pbd-accent); margin-bottom: 6px; }
.pbd-why__item span svg { width: 22px; height: 22px; }
.pbd-why__item strong { color: var(--pbd-title); font-size: 16px; }
.pbd-why__item small { color: var(--pbd-text); font-size: 14px; line-height: 1.5; }

.pbd-bulk { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; padding: 32px clamp(24px, 4vw, 48px); border-radius: 22px; background: linear-gradient(120deg, var(--pbd-alt), color-mix(in srgb, var(--pbd-alt) 70%, #b0240a)); color: #fff; }
.pbd-bulk__text { flex: 1 1 320px; }
.pbd-bulk h2 { color: #fff; margin: 0 0 6px; }
.pbd-bulk p { margin: 0; opacity: .9; }
.pbd-bulk .pbd-eyebrow { color: #ffe3d6; margin-bottom: 6px; }
.pbd-bulk__tiers { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; }
.pbd-bulk__tiers li { background: rgba(255,255,255,.14); border-radius: 14px; padding: 12px 16px; text-align: center; min-width: 96px; }
.pbd-bulk__tiers strong { display: block; font-size: 24px; color: #fff; line-height: 1.1; }
.pbd-bulk__tiers span { font-size: 12px; opacity: .9; }

@media (max-width: 1024px) {
	.pbd-hero { grid-template-columns: 1fr; }
	.pbd-hero__art { min-height: 300px; }
	.pbd-needs, .pbd-why__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.pbd-hero { border-radius: 18px; padding: 28px 20px; margin-top: 0; }
	.pbd-hero__art { min-height: 230px; }
	.pbd-needs { grid-template-columns: 1fr 1fr; gap: 10px; }
	.pbd-need { padding: 10px 10px 14px; }
	.pbd-need small { display: none; }
	.pbd-need strong { font-size: 15px; }
	.pbd-why__grid { grid-template-columns: 1fr; }
	.pbd-bulk__tiers { width: 100%; }
	.pbd-bulk__tiers li { flex: 1; min-width: 0; }
	.pbd-sec { margin-bottom: 44px; }
}

/* ---------------- Footer [pbd_footer] ---------------- */
.pbd-foot { color: #b9cdc2; font-size: 15px; background: #0f3b2e; box-shadow: 0 0 0 100vmax #0f3b2e; clip-path: inset(0 -100vmax); }
.pbd-foot__main { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 36px; padding: 56px 0 40px; }
.pbd-foot__logo { display: block; font-size: 26px; color: #fff; margin-bottom: 12px; letter-spacing: -.01em; }
.pbd-foot__logo span { color: var(--pbd-accent); }
.pbd-foot__brand p { line-height: 1.65; margin: 0 0 20px; max-width: 340px; }
.pbd-foot h4 { color: #fff; font-size: 15px; margin: 4px 0 14px; letter-spacing: .02em; }
.pbd-foot__col { display: flex; flex-direction: column; gap: 10px; }
.pbd-foot__col a, .pbd-foot__col span { color: #b9cdc2; text-decoration: none; display: flex; align-items: flex-start; gap: 9px; line-height: 1.45; }
.pbd-foot__col a:hover { color: #fff; }
.pbd-foot__contact svg { margin-top: 2px; color: var(--pbd-accent); }
.pbd-foot__addr svg { flex: none; }
.pbd-foot__addr > span { display: block !important; }
.pbd-foot__addr strong { display: block; color: #fff; font-weight: 600; font-size: 14px; margin-bottom: 2px; }
.pbd-foot__bar { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 20px 0 26px; border-top: 1px solid rgba(255,255,255,.1); font-size: 13px; }
@media (max-width: 900px) { .pbd-foot__main { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .pbd-foot__main { grid-template-columns: 1fr; gap: 28px; padding-top: 40px; } }

/* ---------------- Page title bar (replaces the demo's orange pattern) ---------------- */
.wd-page-title, .page-title-default, .e-con:has(> .e-con-inner > .wd-el-page-heading) { background: radial-gradient(90% 140% at 100% 0%, color-mix(in srgb, var(--pbd-accent) 35%, transparent) 0%, transparent 60%), #0f3b2e !important; }
.wd-page-title .wd-page-title-bg, .page-title-default .wd-page-title-bg { display: none; }

/* ---------------- About / Contact ---------------- */
.pbd-hero--slim { grid-template-columns: 1fr; }
.pbd-hero--slim .pbd-hero__text { max-width: 760px; }
.pbd-page__head { padding: 36px 0 8px; }
.pbd-page__head h1 { font-size: clamp(30px, 3.6vw, 44px); margin: 0 0 8px; }
.pbd-contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-bottom: 48px; }
.pbd-contact .pbd-why__item { background: #fff; }
.pbd-contact .pbd-link { margin-top: auto; padding-top: 8px; }
.wd-footer:has(.pbd-foot), .footer-container:has(.pbd-foot) { background: #0f3b2e !important; border: 0; }
.wd-footer:has(.pbd-foot) .footer-column, .footer-container:has(.pbd-foot) .main-footer { padding-top: 0; padding-bottom: 0; }
@media (max-width: 600px) {
	.pbd-ind__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.pbd-ind__card { padding: 14px; }
	.pbd-ind__card small { display: none; }
	.pbd-ind__card strong { font-size: 14px; }
	.pbd-why__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.pbd-why__item { padding: 16px; }
	.pbd-hero h1 { font-size: 30px; }
	.pbd-hero__cta .pbd-btn { flex: 1; justify-content: center; padding: 0 14px; white-space: nowrap; font-size: 14px; }
}
/* wpautop leaves stray paragraphs around the shortcodes. */
p:has(+ .pbd-foot), .pbd-foot + p, p:has(+ .pbd-home), .pbd-home + p { display: none; }

/* ---------------- Pack buttons (consumables) ---------------- */
.pbd-per { font-size: .6em; font-weight: 500; color: var(--pbd-text); }
.pbd-packs { width: 100%; margin: 4px 0 14px; }
.pbd-packs__label { font-weight: 600; color: var(--pbd-title); margin-bottom: 8px; }
.pbd-packs__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px; }
.pbd-packs .pbd-pack, .pbd-packs .pbd-pack * { text-transform: none !important; letter-spacing: normal !important; }
.pbd-pack { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 12px; min-height: 64px; border: 1.5px solid var(--pbd-line); border-radius: 12px; background: #fff; color: var(--pbd-title); text-align: left; cursor: pointer; line-height: 1.25; transition: border-color .15s, box-shadow .15s; }
.pbd-pack:hover { border-color: color-mix(in srgb, var(--pbd-accent) 55%, var(--pbd-line)); }
.pbd-pack.is-active { border-color: var(--pbd-accent); box-shadow: 0 0 0 1px var(--pbd-accent); background: color-mix(in srgb, var(--pbd-accent) 6%, #fff); }
.pbd-pack:focus-visible { outline: 2px solid var(--pbd-accent); outline-offset: 2px; }
.pbd-pack__qty { font-weight: 700; font-size: 15px; }
.pbd-pack__each { font-size: 13px; color: var(--pbd-text); }
.pbd-pack__each .amount { font-weight: 600; color: var(--pbd-title); }
.pbd-pack__off { position: absolute; top: -9px; right: 8px; background: var(--pbd-alt); color: #fff; font-size: 11px; font-weight: 700; padding: 2px 7px; border-radius: 999px; }
.pbd-pack--bulk { border-style: dashed; }
.pbd-packs__sum { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 12px 0 2px; }
.pbd-packs__total { font-size: 17px; font-weight: 700; color: var(--pbd-title); }
.pbd-packs__save { font-weight: 600; color: var(--pbd-accent); }
.pbd-packs__quote { margin: 6px 0 0; font-size: 13px; color: var(--pbd-text); }
.pbd-packs__quote a { color: var(--pbd-wa); font-weight: 600; }
form.cart.pbd-packs-on:not(.pbd-packs-bulk) .quantity { display: none !important; }
form.cart.pbd-packs-on { flex-wrap: wrap; }

/* ---------------- Quick overview (Ryans-style key specs) ---------------- */
.pbd-overview { margin: 4px 0 18px; }
.pbd-overview dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; border: 1px solid var(--pbd-line); border-radius: 12px; overflow: hidden; background: #fff; }
.pbd-overview dl > div { display: flex; flex-direction: column; gap: 1px; padding: 9px 13px; border-bottom: 1px solid var(--pbd-line); }
.pbd-overview dl > div:nth-child(odd) { border-right: 1px solid var(--pbd-line); }
.pbd-overview dl > div:nth-last-child(-n+2):nth-child(odd), .pbd-overview dl > div:last-child { border-bottom: 0; }
.pbd-overview dt { font-size: 12px; color: var(--pbd-text); margin: 0; }
.pbd-overview dd { margin: 0; font-weight: 600; color: var(--pbd-title); font-size: 14px; line-height: 1.35; }
@media (max-width: 480px) { .pbd-overview dl { grid-template-columns: 1fr; } .pbd-overview dl > div:nth-child(odd) { border-right: 0; } .pbd-overview dl > div { border-bottom: 1px solid var(--pbd-line) !important; } .pbd-overview dl > div:last-child { border-bottom: 0 !important; } }

/* ---------------- Product page header: breadcrumb, title, meta line, price ---------------- */
.single-product .single-breadcrumbs-wrapper { margin-bottom: 8px; align-items: center; flex-wrap: nowrap; gap: 12px; }
.single-product .single-breadcrumbs-wrapper .wd-breadcrumbs { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.single-product .single-breadcrumbs-wrapper .wd-last,
.single-product .single-breadcrumbs-wrapper .wd-delimiter:has(+ .wd-last) { display: none; } /* the product name is right below */
.single-product .summary .product_title { font-size: 22px; line-height: 1.3; font-weight: 700; margin-bottom: 6px; letter-spacing: -.02em; }
@media (max-width: 768px) { .single-product .summary .product_title { font-size: 20px; } }
.pbd-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 0 0 12px; font-size: 13px; color: var(--pbd-text); }
.pbd-meta > span + span::before { content: "·"; margin: 0 9px; color: #b6bcb8; }
.pbd-meta strong { color: var(--pbd-title); font-weight: 600; }
.pbd-meta a { color: var(--pbd-title); font-weight: 600; text-decoration: none; }
.pbd-meta a:hover { color: var(--pbd-accent); }
.pbd-meta__stock { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.pbd-meta__stock::after { content: none; }
.pbd-meta__stock.is-in { color: #2e8b3a; }
.pbd-meta__stock.is-out { color: #c0392b; }
.pbd-meta__stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 18%, transparent); }
.pbd-meta > .pbd-meta__stock + span::before { content: "·"; }
.single-product .summary p.price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0 0 18px; font-size: 28px; line-height: 1.2; }
.single-product .summary p.price ins, .single-product .summary p.price > .amount, .single-product .summary p.price > .woocommerce-Price-amount { font-size: 28px; font-weight: 700; text-decoration: none; }
.single-product .summary p.price del { order: 2; font-size: 16px; font-weight: 400; color: #9aa19d; }
.single-product .summary p.price ins { order: 1; }
.pbd-save { order: 3; align-self: center; font-size: 12px; font-weight: 700; color: #fff; background: var(--pbd-alt); padding: 4px 10px; border-radius: 999px; line-height: 1.2; }
.single-product .summary p.price .pbd-per { order: 4; font-size: 14px; }

/* ---------------- Product card titles (shop, categories, related, homepage) ---------------- */
.wd-product .wd-entities-title { font-size: 13px; line-height: 1.4; font-weight: 600; letter-spacing: -.005em; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 768px) { .wd-product .wd-entities-title { font-size: 12.5px; } }

/* ---------------- Header "Shop" mega menu [pbd_mega_menu] ---------------- */
.pbd-mega { display: grid; grid-template-columns: 1fr 1fr 0.8fr 1.1fr; gap: 28px; }
.pbd-mega h4 { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--pbd-accent); margin: 0 0 12px; }
.pbd-mega ul { list-style: none; margin: 0; padding: 0; }
.pbd-mega li a { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 7px 0; color: var(--pbd-title); font-size: 14.5px; text-decoration: none; }
.pbd-mega li a:hover { color: var(--pbd-accent); }
.pbd-mega li a span { font-size: 11px; color: #8a918d; background: var(--pbd-soft); border-radius: 999px; padding: 1px 8px; }
.pbd-mega__all { display: inline-block; margin-top: 10px; font-weight: 600; font-size: 13.5px; color: var(--pbd-accent); }
.pbd-mega__promo { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 250px; border-radius: 16px; overflow: hidden; background: #0f3b2e; color: #fff; text-decoration: none; }
.pbd-mega__promo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.pbd-mega__promo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,59,46,0) 30%, rgba(15,59,46,.92) 78%); }
.pbd-mega__promo-text { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 4px; padding: 18px; }
.pbd-mega__promo-text strong { font-size: 20px; color: #fff; }
.pbd-mega__promo-text small { font-size: 13px; opacity: .9; line-height: 1.4; }
.pbd-mega__promo-text em { font-style: normal; font-weight: 700; color: #9fe07f; margin-top: 4px; }
/* Mega-menu banner: keep text light on hover, frame the roll, gentle zoom */
.pbd-mega__promo, .pbd-mega__promo:hover, .pbd-mega__promo:focus { color: #fff !important; }
.pbd-mega__promo img { object-position: center 18%; transform: scale(1.12); transform-origin: center 30%; transition: transform .4s ease; }
.pbd-mega__promo:hover img { transform: scale(1.18); }
.pbd-mega__promo::after { background: linear-gradient(180deg, rgba(15,59,46,0) 18%, rgba(15,59,46,.78) 48%, #0f3b2e 70%); }
.pbd-mega__promo .pbd-mega__promo-text strong,
.pbd-mega__promo:hover .pbd-mega__promo-text strong { color: #fff !important; }
.pbd-mega__promo .pbd-mega__promo-text small,
.pbd-mega__promo:hover .pbd-mega__promo-text small { color: rgba(255,255,255,.88) !important; }
.pbd-mega__promo .pbd-mega__promo-text em { color: #9fe07f !important; transition: transform .2s; display: inline-block; }
.pbd-mega__promo:hover .pbd-mega__promo-text em { transform: translateX(4px); }

/* ---------------- Homepage v2: 6 job cards, industrial band, brands, bulk CTA ---------------- */
.pbd-needs--6 { grid-template-columns: repeat(3, 1fr); }
.pbd-band { background: #fff; border-radius: 22px; padding: 26px 26px 12px; }
.pbd-band .pbd-eyebrow { margin-bottom: 4px; }
.pbd-band__cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.pbd-brands { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.pbd-brand { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 20px 12px; background: #fff; border: 1px solid var(--pbd-line); border-radius: 14px; text-decoration: none !important; transition: border-color .15s, transform .15s; }
.pbd-brand:hover { border-color: var(--pbd-accent); transform: translateY(-2px); }
.pbd-brand strong { font-family: var(--wd-title-font); font-size: 18px; color: var(--pbd-title); letter-spacing: -.01em; }
.pbd-brand small { font-size: 12px; color: var(--pbd-text); }
.pbd-bulk__cta { display: flex; gap: 10px; flex-wrap: wrap; }
.pbd-bulk .pbd-btn--ghost { border-color: rgba(255,255,255,.55); }
@media (max-width: 1024px) { .pbd-needs--6 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .pbd-band { padding: 18px 14px 6px; } .pbd-brands { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
	.pbd-sec__head--row { flex-direction: column; align-items: flex-start; }
	.pbd-band__cta { width: 100%; justify-content: space-between; }
}

/* ---------------- Discontinued model notice ---------------- */
.pbd-disc-notice { margin: 4px 0 20px; padding: 16px 18px; border-radius: 14px; background: #fff7ed; border: 1px solid #fed7aa; }
.pbd-disc-notice__title { margin: 0 0 6px; font-weight: 700; color: #9a3412; font-size: 16px; }
.pbd-disc-notice__title a { color: #9a3412; text-decoration: underline; }
.pbd-disc-notice__note { margin: 0 0 10px; color: #7c5a3c; font-size: 14px; }
.pbd-disc-card { display: flex; align-items: center; gap: 14px; margin-top: 10px; padding: 10px; background: #fff; border: 1px solid var(--pbd-line); border-radius: 12px; text-decoration: none !important; transition: border-color .15s; }
.pbd-disc-card:hover { border-color: var(--pbd-accent); }
.pbd-disc-card img { width: 84px; height: 84px; object-fit: contain; border-radius: 8px; flex: none; }
.pbd-disc-card span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pbd-disc-card strong { color: var(--pbd-title); font-size: 14px; line-height: 1.35; }
.pbd-disc-card em { font-style: normal; font-size: 14px; }
.pbd-disc-card b { color: var(--pbd-accent); font-size: 13.5px; }
.pbd-is-discontinued .summary .pbd-tiers, .pbd-is-discontinued .summary .pbd-assure__ship { display: none; }
.pbd-disc-card em { display: flex; align-items: baseline; gap: 8px; }
.pbd-disc-card__now { font-weight: 700; color: var(--pbd-accent); font-size: 16px; }
.pbd-disc-card em del { color: #9aa19d; font-size: 13px; }
.pbd-disc-card__ask { color: var(--pbd-alt); font-weight: 700; }
.pbd-is-discontinued .woocommerce-product-gallery .product-labels .onsale,
.pbd-is-discontinued .woocommerce-product-gallery .product-labels .new,
.pbd-is-discontinued .woocommerce-product-gallery .product-labels .featured { display: none; }

/* ---------------- Product sections one after another (setting: stacked_tabs) ---------------- */
/* StarTech-style: grey band, row of buttons, every section in its own white card. */
.pbd-stacked-tabs .product-tabs-wrapper { background: none; border: 0 !important; padding: 16px 0 8px; margin-top: 20px; }
.pbd-stacked-tabs .woocommerce-tabs .woocommerce-Tabs-panel { display: block !important; opacity: 1 !important; padding: 0 !important; }
.pbd-stacked-tabs .woocommerce-tabs .wc-tab-inner { max-height: none !important; overflow: visible !important; padding: 0 !important; }
.pbd-stacked-tabs .woocommerce-tabs .wd-accordion-item {
	background: #fff; border: 0 !important; border-radius: 8px; box-shadow: 0 1px 2px rgba(15, 23, 42, .08);
	padding: 20px 22px; margin: 0 0 18px; scroll-margin-top: 90px;
}
.pbd-stacked-tabs .woocommerce-tabs .wd-accordion-title {
	display: block !important; pointer-events: none; cursor: default; padding: 0 0 12px !important; margin: 0 0 16px !important;
	border: 0 !important; border-bottom: 1px solid var(--pbd-line) !important; background: none !important;
	font-family: var(--wd-title-font); font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--pbd-title);
	text-transform: none; letter-spacing: -.01em;
}
.pbd-stacked-tabs .woocommerce-tabs .wd-accordion-title .wd-accordion-opener,
.pbd-stacked-tabs .woocommerce-tabs .wd-accordion-title::after,
.pbd-stacked-tabs .woocommerce-tabs .wd-accordion-title::before { display: none !important; }
.pbd-stacked-tabs .woocommerce-tabs .wd-accordion-title * { font: inherit !important; color: inherit !important; text-transform: none !important; }
/* The section card already has a heading — drop the panels' own repeated ones. */
.pbd-stacked-tabs .woocommerce-tabs .woocommerce-Reviews-title { display: none; }
.pbd-stacked-tabs .woocommerce-tabs .wc-tab-inner > :last-child { margin-bottom: 0; }

/* Button row (jumps to a section). */
.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs-wrapper {
	display: block !important; margin: 0 0 14px !important; /* theme pulls tabs up onto its border line */ text-align: left; box-shadow: none;
	position: sticky; top: var(--pbd-sticky-top, 0px); z-index: 20; background: transparent; padding: 10px 0;
	transition: box-shadow .2s;
}
/* Stuck under the header: full-width grey strip with a hairline, like part of the header. */
/* Same grey as the page, running edge to edge, with a soft line under it. */
.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs-wrapper.is-stuck { background: #ebebe9; box-shadow: -100vmax 0 0 #ebebe9, 100vmax 0 0 #ebebe9, 0 6px 8px -6px rgba(15, 23, 42, .18); clip-path: inset(0 -100vmax -14px -100vmax); }
.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs {
	display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 6px; margin: 0; padding: 0; border: 0;
}
.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs::before,
.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs::after { display: none !important; }
.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs li { flex: none; margin: 0 !important; }
.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs li > a {
	display: block; padding: 0 16px !important; line-height: 38px; border-radius: 6px !important; background: var(--pbd-accent); color: #fff !important;
	font-size: 13px; font-weight: 700; text-transform: none; letter-spacing: 0; transition: filter .15s, transform .15s;
}
.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs li > a:hover { filter: brightness(.92); }
.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs li > a::after,
.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs li > a::before { display: none !important; }
.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs .nav-link-text { color: inherit !important; font: inherit !important; }
.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs .nav-link-text::after { display: none !important; } /* theme's active underline squared the first button */
@media (max-width: 768px) {
	.pbd-stacked-tabs .product-tabs-wrapper { padding-top: 16px; }
	.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -15px; padding: 0 15px 2px; }
	.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs::-webkit-scrollbar { display: none; }
	.pbd-stacked-tabs .woocommerce-tabs .wd-nav-tabs li > a { line-height: 36px; padding: 0 14px !important; }
	.pbd-stacked-tabs .woocommerce-tabs .wd-accordion-item { padding: 16px 14px; border-radius: 6px; margin-bottom: 14px; }
	.pbd-stacked-tabs .woocommerce-tabs .wd-accordion-title { font-size: 17px; }
	/* Compatible paper size table: drop the Type column on phones so the rest fits. */
	.pbd-compat__table th:nth-child(2), .pbd-compat__table td:nth-child(2) { display: none; }
	.pbd-compat__table th, .pbd-compat__table td { padding: 10px 8px; font-size: 13px; line-height: 1.4; }
}

/* Related products column beside the product sections (desktop, StarTech style). */
.pbd-side { display: none; }
@media (min-width: 1025px) {
	.pbd-stacked-tabs .product-tabs-inner:has(> .pbd-side) { display: grid; grid-template-columns: minmax(0, 1fr) 290px; column-gap: 22px; align-items: start; }
	.pbd-stacked-tabs .product-tabs-inner:has(> .pbd-side) > * { grid-column: 1; min-width: 0; }
	.pbd-stacked-tabs .product-tabs-inner > .pbd-side { display: block; grid-column: 2; grid-row: 1 / span 20; align-self: stretch; padding-top: 10px; } /* level with the buttons */
	.pbd-side__box { position: sticky; top: calc(var(--pbd-sticky-top, 0px) + 10px); background: #fff; border-radius: 8px; box-shadow: 0 1px 2px rgba(15, 23, 42, .08); padding: 18px 16px 8px; }
	.pbd-side__title { font-size: 17px; font-weight: 700; margin: 0 0 6px; padding-bottom: 12px; border-bottom: 1px solid var(--pbd-line); text-align: center; }
	.pbd-side__list { list-style: none; margin: 0; padding: 0; }
	.pbd-side__list li { margin: 0; border-bottom: 1px solid var(--pbd-line); }
	.pbd-side__list li:last-child { border-bottom: 0; }
	.pbd-side__item { display: flex; gap: 12px; align-items: center; padding: 12px 0; color: var(--pbd-title); }
	.pbd-side__item img { flex: none; width: 72px; height: 72px; object-fit: contain; border-radius: 6px; background: #fff; }
	.pbd-side__info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
	.pbd-side__name { font-size: 13px; line-height: 1.4; font-weight: 500; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.pbd-side__item:hover .pbd-side__name { color: var(--pbd-accent); }
	.pbd-side__price { font-size: 14px; font-weight: 700; color: var(--pbd-accent); line-height: 1.2; }
	.pbd-side__price del { font-size: 12px; font-weight: 400; color: #9ca3af; margin-right: 4px; }
	.pbd-side__price ins { text-decoration: none; }
	.pbd-side__ask { color: var(--pbd-alt); font-size: 13px; }
	/* The sidebar already lists them — no second row under the page on desktop. */
	body.pbd-stacked-tabs:has(.pbd-side) .related-and-upsells .related-products { display: none; }
}

/* ---------------- Sign in / Create account (templates/form-login.php) ---------------- */
.pbd-auth { max-width: 440px; margin: 10px auto 40px; }
.pbd-auth__card { background: #fff; border-radius: 14px; box-shadow: 0 10px 30px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .06); padding: 30px 30px 24px; }
.pbd-auth__head { text-align: center; margin-bottom: 20px; }
.pbd-auth__icon { display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center; border-radius: 50%; background: color-mix(in srgb, var(--pbd-accent) 12%, #fff); color: var(--pbd-accent); margin-bottom: 10px; }
.pbd-auth__icon svg { width: 24px; height: 24px; }
.pbd-auth__title { font-size: 22px; margin: 0 0 4px; }
.pbd-auth__head p { margin: 0; color: var(--pbd-text); font-size: 14px; }
.pbd-auth__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; background: #f1f3f5; border-radius: 10px; margin-bottom: 22px; }
.pbd-auth__tabs button { border: 0; background: none; border-radius: 7px; padding: 10px 8px; font-size: 14px; font-weight: 600; color: var(--pbd-text); cursor: pointer; min-height: 0; line-height: 1.2; text-transform: none; }
.pbd-auth__tabs button[aria-selected="true"] { background: #fff; color: var(--pbd-title); box-shadow: 0 1px 3px rgba(15, 23, 42, .12); }
.pbd-auth__form--register, .pbd-auth.is-register .pbd-auth__form--login { display: none; }
.pbd-auth.is-register .pbd-auth__form--register { display: block; }
.pbd-auth .pbd-field { margin: 0 0 16px; }
.pbd-auth .pbd-field label { display: block; font-size: 14px; font-weight: 600; color: var(--pbd-title); margin-bottom: 6px; }
.pbd-auth .pbd-field label em { font-style: normal; font-weight: 400; color: #9ca3af; font-size: 13px; }
.pbd-auth .pbd-field input { width: 100%; height: 48px; border-radius: 9px; border: 1px solid #d1d5db; background: #fff; padding: 0 14px; font-size: 16px; }
.pbd-auth .pbd-field input:focus { border-color: var(--pbd-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pbd-accent) 18%, transparent); outline: 0; }
.pbd-auth .pbd-field small { display: block; margin-top: 5px; font-size: 12.5px; color: #6b7280; }
.pbd-auth .password-input { display: block; position: relative; }
.pbd-auth__row { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: -2px 0 18px; font-size: 14px; }
.pbd-auth__check { display: inline-flex; align-items: center; gap: 7px; margin: 0; cursor: pointer; }
.pbd-auth__check input { margin: 0; }
.pbd-auth .pbd-auth__submit, .pbd-auth .pbd-auth__submit:hover, .pbd-auth .pbd-auth__submit:focus {
	display: flex; align-items: center; width: 100%; height: 50px; padding: 0 16px; font-size: 16px; font-weight: 700; border-radius: 9px; justify-content: center;
	background: var(--pbd-accent) !important; color: #fff !important; border: 0; box-shadow: none; text-transform: none; opacity: 1;
}
.pbd-auth .pbd-auth__submit:hover { filter: brightness(.94); }
.pbd-auth__switch { text-align: center; margin: 16px 0 0; font-size: 14px; color: var(--pbd-text); }
.pbd-auth__switch button { border: 0; background: none; padding: 0; min-height: 0; color: var(--pbd-accent); font-weight: 600; font-size: 14px; cursor: pointer; text-transform: none; }
.pbd-auth__switch button:hover { text-decoration: underline; }
.pbd-auth__note { text-align: center; font-size: 13.5px; color: var(--pbd-text); margin: 18px 8px 0; line-height: 1.6; }
.pbd-auth__note a { color: var(--pbd-accent); font-weight: 600; }
@media (max-width: 480px) { .pbd-auth__card { padding: 24px 18px 20px; border-radius: 12px; } }
/* SMS code steps */
.pbd-auth.is-otp .pbd-auth__pw, .pbd-auth:not(.is-otp) .pbd-auth__otp { display: none; }
.pbd-otp-phone { display: flex; align-items: stretch; border: 1px solid #d1d5db; border-radius: 9px; overflow: hidden; background: #fff; }
.pbd-otp-phone:focus-within { border-color: var(--pbd-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pbd-accent) 18%, transparent); }
.pbd-otp-phone__cc { display: flex; align-items: center; padding: 0 12px; background: #f3f4f6; color: var(--pbd-title); font-weight: 600; border-right: 1px solid #e5e7eb; }
.pbd-auth .pbd-otp-phone input { border: 0 !important; box-shadow: none !important; border-radius: 0; }
.pbd-otp-sent { text-align: center; margin: 0 0 14px; color: var(--pbd-text); font-size: 14px; }
.pbd-otp-sent strong { color: var(--pbd-title); }
.pbd-auth .pbd-field input.pbd-otp-code { text-align: center; font-size: 26px; letter-spacing: .45em; font-weight: 700; height: 58px; padding-left: .45em; }
.pbd-otp-links { display: flex; justify-content: space-between; margin-top: 14px; }
.pbd-otp-links button { border: 0; background: none; padding: 0; min-height: 0; font-size: 14px; font-weight: 600; color: var(--pbd-accent); cursor: pointer; text-transform: none; }
.pbd-otp-links button:disabled { color: #9ca3af; cursor: default; font-weight: 500; }
.pbd-auth__msg { margin: 14px 0 0; padding: 10px 12px; border-radius: 8px; background: #fef2f2; color: #b91c1c; font-size: 14px; line-height: 1.45; }
.pbd-auth__msg.is-ok { background: #f0fdf4; color: #15803d; }
.pbd-auth__switch--mode { border-top: 1px solid var(--pbd-line); padding-top: 14px; }
#pbd-otp-captcha:empty { display: none; }
/* Firebase: Google button, phone ⇄ email */
.pbd-auth .pbd-auth__google { text-transform: none !important; background: #fff !important; color: #1f2937 !important; box-shadow: 0 1px 2px rgba(15, 23, 42, .06) !important; letter-spacing: 0; border: 1px solid #d1d5db !important; border-radius: 9px !important; height: 50px; width: 100%; }
.pbd-auth__google { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 50px; border: 1px solid #d1d5db; border-radius: 9px; background: #fff; color: #1f2937; font-size: 15px; font-weight: 600; cursor: pointer; text-transform: none; transition: background .15s, border-color .15s; }
.pbd-auth .pbd-auth__google:hover { background: #f9fafb !important; border-color: #9ca3af !important; }
.pbd-auth__google:disabled { opacity: .7; cursor: default; }
.pbd-auth__or { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: #9ca3af; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }
.pbd-auth__or::before, .pbd-auth__or::after { content: ""; flex: 1; height: 1px; background: var(--pbd-line); }
.pbd-auth__otp:not(.is-email) .pbd-fb-email, .pbd-auth__otp.is-email .pbd-fb-phone { display: none; }
.pbd-auth__otp:not(.is-email) .pbd-fb-to-phone, .pbd-auth__otp.is-email .pbd-fb-to-email { display: none; }
.pbd-auth__otp:not(.is-email-new) .pbd-fb-new-only, .pbd-auth__otp.is-email-new .pbd-fb-old-only { display: none; }
.pbd-auth__otp.is-naming .pbd-auth__google, .pbd-auth__otp.is-naming .pbd-auth__or, .pbd-auth__otp.is-naming .pbd-auth__switch--mode, .pbd-auth__otp.is-naming .pbd-fb-phone, .pbd-auth__otp.is-naming .pbd-fb-email { display: none; }
.pbd-auth__switch--mode button { border: 0; background: none; padding: 0; min-height: 0; color: var(--pbd-accent); font-weight: 600; font-size: 14px; cursor: pointer; text-transform: none; }
/* WhatsApp code button + SMS as the second choice */
.pbd-auth .pbd-auth__wa, .pbd-auth .pbd-auth__wa:hover, .pbd-auth .pbd-auth__wa:focus { display: flex; align-items: center; justify-content: center; gap: 9px; background: var(--pbd-wa) !important; color: #fff !important; border: 0; }
.pbd-auth .pbd-auth__wa:hover { filter: brightness(.95); }
.pbd-auth .pbd-auth__alt, .pbd-auth .pbd-auth__alt:hover, .pbd-auth .pbd-auth__alt:focus { margin-top: 10px; background: #fff !important; color: var(--pbd-title) !important; border: 1px solid #d1d5db !important; font-weight: 600; }
.pbd-auth .pbd-auth__alt:hover { border-color: #9ca3af !important; filter: none; }

/* ---------------- Custom printing request ([pbd_custom_order]) ---------------- */
.pbd-custom { max-width: 860px; margin: 10px auto 50px; }
.pbd-custom__head { text-align: center; margin-bottom: 22px; }
.pbd-custom__head h1 { font-size: 30px; margin: 0 0 6px; }
.pbd-custom__head p { color: var(--pbd-text); margin: 0; }
.pbd-custom__form, .pbd-custom__done { background: #fff; border-radius: 14px; box-shadow: 0 10px 30px rgba(15, 23, 42, .07), 0 1px 2px rgba(15, 23, 42, .06); padding: 26px 28px; }
.pbd-custom fieldset { border: 0; margin: 0 0 22px; padding: 0; min-width: 0; }
.pbd-custom legend { font-size: 17px; font-weight: 700; color: var(--pbd-title); margin-bottom: 12px; padding: 0; }
.pbd-custom__jobs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pbd-custom__jobs legend { grid-column: 1 / -1; }
.pbd-custom__job { position: relative; display: block; margin: 0; cursor: pointer; }
.pbd-custom__job input { position: absolute; opacity: 0; }
.pbd-custom__job span { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 14px; border: 1.5px solid #d1d5db; border-radius: 10px; transition: border-color .15s, background .15s; }
.pbd-custom__job strong { color: var(--pbd-title); font-size: 15px; }
.pbd-custom__job small { color: var(--pbd-text); font-size: 13px; line-height: 1.45; }
.pbd-custom__job input:checked + span { border-color: var(--pbd-accent); background: color-mix(in srgb, var(--pbd-accent) 7%, #fff); box-shadow: 0 0 0 1px var(--pbd-accent); }
.pbd-custom__job input:focus-visible + span { outline: 2px solid var(--pbd-accent); outline-offset: 2px; }
.pbd-custom__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; }
.pbd-custom .pbd-field { display: block; margin: 0; }
.pbd-custom .pbd-field--wide, .pbd-custom .pbd-field--size { grid-column: 1 / -1; }
.pbd-custom .pbd-field__label { display: block; font-size: 14px; font-weight: 600; color: var(--pbd-title); margin-bottom: 6px; }
.pbd-custom input[type=text], .pbd-custom input[type=tel], .pbd-custom input[type=number], .pbd-custom input[type=date], .pbd-custom select, .pbd-custom textarea { width: 100%; min-height: 46px; border-radius: 9px; border: 1px solid #d1d5db; background: #fff; padding: 0 12px; font-size: 15px; }
.pbd-custom textarea { padding: 10px 12px; min-height: 90px; }
.pbd-custom input:focus, .pbd-custom select:focus, .pbd-custom textarea:focus { border-color: var(--pbd-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pbd-accent) 18%, transparent); outline: 0; }
.pbd-size { display: flex; align-items: center; gap: 10px; max-width: 420px; }
.pbd-size b { color: #9ca3af; font-weight: 400; }
.pbd-size em { font-style: normal; color: var(--pbd-text); }
.pbd-custom__file input[type=file] { display: block; width: 100%; padding: 12px; border: 1.5px dashed #cbd5e1; border-radius: 10px; background: #f8fafc; font-size: 14px; }
.pbd-custom small { display: block; margin-top: 5px; font-size: 12.5px; color: #6b7280; }
.pbd-custom .pbd-custom__submit, .pbd-custom .pbd-custom__submit:hover { width: 100%; height: 52px; font-size: 16px; font-weight: 700; border-radius: 10px; background: var(--pbd-wa) !important; color: #fff !important; border: 0; justify-content: center; }
.pbd-custom__note { text-align: center; font-size: 13px; color: #6b7280; margin: 10px 0 0; }
.pbd-custom__done { text-align: center; }
.pbd-custom__done h2 { margin: 0 0 8px; }
.pbd-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
@media (max-width: 700px) {
	.pbd-custom__jobs, .pbd-custom__grid { grid-template-columns: 1fr; }
	.pbd-custom__form, .pbd-custom__done { padding: 20px 16px; }
	.pbd-custom__head h1 { font-size: 24px; }
}
.pbd-custom-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 14px; margin: 14px 0; padding: 12px 16px; border-radius: 10px; border: 1px dashed color-mix(in srgb, var(--pbd-accent) 55%, #fff); background: color-mix(in srgb, var(--pbd-accent) 6%, #fff); color: var(--pbd-title); font-size: 14px; text-decoration: none; }
.pbd-custom-cta strong { color: var(--pbd-accent); white-space: nowrap; }
.pbd-custom-cta:hover { border-style: solid; }
.woocommerce-products-header + .pbd-custom-cta, .wd-shop-tools + .pbd-custom-cta { margin-top: 0; }
/* Main menu: keep 9 items on one line on smaller laptop screens. */
@media (min-width: 1025px) and (max-width: 1299px) {
	.whb-header-bottom .wd-nav-main { --nav-gap: 18px; column-gap: 18px; }
	.whb-header-bottom .wd-nav-main > li > a { font-size: 15px; }
}
.pbd-custom input[type=number], .pbd-custom input[type=date] { text-align: left; }
.pbd-custom .pbd-custom__submit, .pbd-custom .pbd-btn { text-transform: none; }
.pbd-custom-cta-wrap { display: none; }
.pbd-custom-cta-wrap.is-placed { display: block; grid-column: 1 / -1; }
.pbd-custom-cta-wrap .pbd-custom-cta { margin: 0 0 18px; }
/* Custom printing: explanation panel beside the form */
.pbd-custom { max-width: 1180px; }
.pbd-custom__layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; grid-template-areas: "form info"; gap: 24px; align-items: start; }
.pbd-custom__form { grid-area: form; }
.pbd-custom__info { grid-area: info; position: sticky; top: calc(var(--pbd-sticky-top, 0px) + 90px); }
.pbd-custom__done { grid-column: 1 / -1; }
.pbd-cinfo { background: #fff; border-radius: 14px; box-shadow: 0 10px 30px rgba(15, 23, 42, .07), 0 1px 2px rgba(15, 23, 42, .06); padding: 22px 22px 18px; }
.pbd-cinfo__tag { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--pbd-accent); background: color-mix(in srgb, var(--pbd-accent) 10%, #fff); padding: 4px 10px; border-radius: 20px; }
.pbd-cinfo h2 { font-size: 21px; margin: 10px 0 8px; }
.pbd-cinfo__what { font-size: 14px; line-height: 1.6; color: var(--pbd-text); margin: 0 0 14px; }
.pbd-cinfo__ex { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pbd-cinfo__ex figure { margin: 0; }
.pbd-cinfo__ex img { display: block; width: 100%; height: auto; border-radius: 10px; background: #f3f4f6; }
.pbd-cinfo__ex figcaption { font-size: 11.5px; line-height: 1.35; color: #6b7280; margin-top: 5px; }
.pbd-cinfo__exnote { font-size: 11.5px; color: #9ca3af; margin: 8px 0 0; }
.pbd-cinfo__more { margin-top: 14px; border-top: 1px solid var(--pbd-line); padding-top: 12px; }
.pbd-cinfo__more > summary { cursor: pointer; font-weight: 700; color: var(--pbd-title); font-size: 14px; list-style: none; }
.pbd-cinfo__more > summary::-webkit-details-marker { display: none; }
.pbd-cinfo__more > summary::after { content: "+"; float: right; color: var(--pbd-accent); font-size: 18px; line-height: 1; }
.pbd-cinfo__more[open] > summary::after { content: "−"; }
@media (min-width: 901px) { .pbd-cinfo__more > summary { display: none; } .pbd-cinfo__more { border-top: 0; padding-top: 0; } }
.pbd-cinfo h3 { font-size: 15px; margin: 16px 0 8px; }
.pbd-cinfo__steps { counter-reset: s; list-style: none; margin: 0; padding: 0; }
.pbd-cinfo__steps li { counter-increment: s; position: relative; padding: 0 0 10px 34px; font-size: 13.5px; line-height: 1.5; color: var(--pbd-text); }
.pbd-cinfo__steps li::before { content: counter(s); position: absolute; left: 0; top: -1px; width: 23px; height: 23px; border-radius: 50%; background: var(--pbd-accent); color: #fff; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.pbd-cinfo__steps li:not(:last-child)::after { content: ""; position: absolute; left: 11px; top: 24px; bottom: 2px; width: 1px; background: var(--pbd-line); }
.pbd-cinfo__why { list-style: none; margin: 0; padding: 0; }
.pbd-cinfo__why li { position: relative; padding: 0 0 7px 24px; font-size: 13.5px; line-height: 1.5; color: var(--pbd-text); }
.pbd-cinfo__why li::before { content: "✓"; position: absolute; left: 2px; top: 0; color: var(--pbd-accent); font-weight: 700; }
.pbd-cinfo__bulk { margin-top: 14px; padding: 12px 14px; border-radius: 10px; background: #fff8e6; border: 1px solid #f5e0a8; }
.pbd-cinfo__bulk h3 { margin: 0 0 4px; color: #8a5a00; }
.pbd-cinfo__bulk p { margin: 0; font-size: 13.5px; line-height: 1.55; color: #6b4a07; }
@media (max-width: 900px) {
	.pbd-custom__layout { grid-template-columns: 1fr; grid-template-areas: "info" "form"; }
	.pbd-custom__info { position: static; }
	.pbd-cinfo { padding: 18px 16px 14px; }
}
.pbd-cinfo[hidden], .pbd-custom [hidden] { display: none !important; }
.pbd-custom__info.is-inline { margin: -8px 0 22px; }
.pbd-custom__info.is-inline .pbd-cinfo { box-shadow: none; border: 1px solid var(--pbd-line); background: #fafbfa; }
/* Date box: show the calendar icon (the theme hides it) and a pointer over the whole box. */
.pbd-custom input[type=date] { cursor: pointer; position: relative; padding-right: 12px; color: var(--pbd-title); }
.pbd-custom input[type=date]::-webkit-calendar-picker-indicator { display: block !important; opacity: .65 !important; cursor: pointer; width: 18px; height: 18px; margin-left: 8px; }
.pbd-custom input[type=date]::-webkit-calendar-picker-indicator:hover { opacity: 1 !important; }
/* "Custom Printing" in the menus: highlighted button (menu item class pbd-menu-cta). */
.wd-nav-main > li.pbd-menu-cta > a { background: var(--pbd-accent); color: #fff !important; border-radius: 999px; padding: 7px 16px !important; line-height: 1.2; box-shadow: 0 2px 6px color-mix(in srgb, var(--pbd-accent) 35%, transparent); transition: filter .15s, transform .15s; }
.wd-nav-main > li.pbd-menu-cta > a:hover, .wd-nav-main > li.pbd-menu-cta.current-menu-item > a { filter: brightness(.93); color: #fff !important; }
.wd-nav-main > li.pbd-menu-cta > a:hover { transform: translateY(-1px); }
.wd-nav-main > li.pbd-menu-cta > a .nav-link-text { color: inherit !important; }
.wd-nav-main > li.pbd-menu-cta > a::after, .wd-nav-main > li.pbd-menu-cta > a::before { display: none !important; }
/* Mobile menu */
.wd-nav-mobile li.pbd-menu-cta > a { color: var(--pbd-accent) !important; font-weight: 700; }
@media (min-width: 1025px) and (max-width: 1299px) {
	.whb-header-bottom .wd-nav-main { --nav-gap: 14px; column-gap: 14px; }
	.wd-nav-main > li.pbd-menu-cta > a { padding: 6px 12px !important; }
}
.pbd-custom__done { max-width: 620px; margin: 0 auto; padding: 36px 28px; }
.pbd-custom__done p { color: var(--pbd-text); margin: 0 0 20px; }
.pbd-custom .pbd-custom__done .pbd-btn { display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 28px; font-size: 16px; font-weight: 700; border-radius: 10px; background: var(--pbd-wa) !important; color: #fff !important; }
/* Custom printing: easier form (steps, hints, size drawing) */
.pbd-custom legend { display: flex; align-items: center; gap: 10px; }
.pbd-step { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--pbd-accent); color: #fff; font-size: 14px; font-weight: 700; }
.pbd-custom .pbd-field small { line-height: 1.45; }
.pbd-custom__easy { margin: -4px 0 14px; padding: 10px 12px; border-radius: 9px; background: #f0fdf4; color: #166534; font-size: 13.5px; line-height: 1.5; }
.pbd-size-wrap { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.pbd-size-pic { width: 110px; height: auto; color: var(--pbd-accent); flex: none; }
.pbd-size { align-items: flex-end; }
.pbd-size label { display: flex; flex-direction: column; gap: 4px; margin: 0; flex: 1; min-width: 90px; }
.pbd-size label span { font-size: 12.5px; color: #6b7280; }
.pbd-size b, .pbd-size em { padding-bottom: 12px; }
/* Custom printing: English | বাংলা switch */
.pbd-custom__head { position: relative; }
.pbd-lang { display: inline-flex; padding: 3px; border-radius: 999px; background: #fff; box-shadow: 0 1px 3px rgba(15, 23, 42, .12); margin-bottom: 12px; }
.pbd-lang button { border: 0; background: none; min-height: 0; padding: 6px 16px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--pbd-text); cursor: pointer; text-transform: none; line-height: 1.2; }
.pbd-lang button[lang="bn"] { font-family: 'Hind Siliguri', 'Noto Sans Bengali', 'Nirmala UI', sans-serif; font-size: 15px; }
.pbd-lang button[aria-pressed="true"] { background: var(--pbd-accent); color: #fff; }
.pbd-custom.is-bn, .pbd-custom.is-bn h1, .pbd-custom.is-bn h2, .pbd-custom.is-bn h3, .pbd-custom.is-bn legend, .pbd-custom.is-bn input, .pbd-custom.is-bn select, .pbd-custom.is-bn textarea, .pbd-custom.is-bn button, .pbd-custom.is-bn strong { font-family: 'Hind Siliguri', 'Noto Sans Bengali', 'Nirmala UI', sans-serif; }
.pbd-custom.is-bn .pbd-field small, .pbd-custom.is-bn .pbd-cinfo p, .pbd-custom.is-bn .pbd-cinfo li { font-size: 14px; line-height: 1.6; }

/* Checkout: delivery area choice */
.pbd-area-field .woocommerce-input-wrapper { display: grid; gap: 8px; margin-top: 4px; }
.pbd-area-field input.input-radio { position: absolute; opacity: 0; pointer-events: none; }
.pbd-area-field label.radio { display: block; margin: 0; padding: 11px 14px 11px 40px; border: 1.5px solid var(--pbd-line, #dfe3e1); border-radius: 12px; cursor: pointer; position: relative; font-weight: 500; line-height: 1.4; background: #fff; }
.pbd-area-field label.radio::before { content: ""; position: absolute; left: 14px; top: 50%; width: 16px; height: 16px; margin-top: -8px; border: 2px solid #9aa19d; border-radius: 50%; box-sizing: border-box; }
.pbd-area-field input.input-radio:checked + label.radio { border-color: var(--pbd-accent, #43a047); background: color-mix(in srgb, var(--pbd-accent, #43a047) 7%, #fff); }
.pbd-area-field input.input-radio:checked + label.radio::before { border: 5px solid var(--pbd-accent, #43a047); }
.pbd-area-field input.input-radio:focus-visible + label.radio { outline: 2px solid var(--pbd-accent, #43a047); outline-offset: 2px; }
.pbd-area-field label.radio .required, .pbd-area-field label.radio abbr { display: none; }

/* Long SEO text below category products and on the home page */
.pbd-seo-text { position: relative; margin: 40px 0 10px; padding: 26px 28px 18px; background: #fff; border: 1px solid var(--pbd-line, #e5e7e5); border-radius: 16px; color: var(--pbd-text, #444); font-size: 15px; line-height: 1.7; }
.pbd-seo-text__inner > :first-child { margin-top: 0; }
.pbd-seo-text h2 { font-size: 21px; line-height: 1.35; margin: 26px 0 10px; color: var(--pbd-title, #142823); }
.pbd-seo-text h3 { font-size: 17px; margin: 18px 0 6px; color: var(--pbd-title, #142823); }
.pbd-seo-text p, .pbd-seo-text ul { margin: 0 0 12px; }
.pbd-seo-text ul { padding-left: 20px; }
.pbd-seo-text a { color: var(--pbd-accent, #43a047); text-decoration: underline; text-underline-offset: 2px; }
.pbd-seo-text [lang="bn"] { font-family: 'Hind Siliguri', 'Noto Sans Bengali', sans-serif; }
.pbd-seo-text[data-collapsed="1"] .pbd-seo-text__inner { max-height: 300px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.pbd-seo-text__more { display: block; margin: 10px auto 0; padding: 8px 22px; border: 1.5px solid var(--pbd-line, #dfe3e1); border-radius: 999px; background: #fff; color: var(--pbd-title, #142823); font-weight: 600; cursor: pointer; }
.pbd-seo-text__more:hover { border-color: var(--pbd-accent, #43a047); color: var(--pbd-accent, #43a047); }
.pbd-seo-table { overflow-x: auto; margin: 6px 0 4px; }
.pbd-seo-table table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.pbd-seo-table th, .pbd-seo-table td { padding: 9px 12px; border: 1px solid var(--pbd-line, #e5e7e5); text-align: left; }
.pbd-seo-table th { background: var(--pbd-soft, #f6f8f6); color: var(--pbd-title, #142823); }
.pbd-seo-table td:last-child { white-space: nowrap; font-weight: 600; color: var(--pbd-title, #142823); }
.pbd-seo-table a { text-decoration: none; color: inherit; }
.pbd-seo-updated { font-size: 13px; color: #6b7280; }
.pbd-seo-faq details { border-bottom: 1px solid var(--pbd-line, #e5e7e5); padding: 10px 0; }
.pbd-seo-faq summary { cursor: pointer; font-weight: 600; color: var(--pbd-title, #142823); }
.pbd-seo-faq details p { margin: 8px 0 0; }
@media (max-width: 600px) { .pbd-seo-text { padding: 20px 16px 14px; font-size: 14.5px; } .pbd-seo-text h2 { font-size: 19px; } }

/* Product page: payment options under the price */
.pbd-pay { margin: 12px 0 16px; }
.pbd-pay__title { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 600; color: var(--pbd-text); text-transform: uppercase; letter-spacing: .04em; }
.pbd-pay__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; }
.pbd-pay__card { display: flex; gap: 9px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--pbd-line); border-radius: var(--pbd-r); background: #fff; }
.pbd-pay__card:first-child { border-color: var(--pbd-accent); box-shadow: inset 0 0 0 1px var(--pbd-accent); }
.pbd-pay__card > svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 1px; color: var(--pbd-accent); }
.pbd-pay__card strong { display: block; font-size: 14px; color: var(--pbd-title); line-height: 1.3; }
.pbd-pay__card span { display: block; margin-top: 1px; font-size: 12.5px; color: var(--pbd-text); line-height: 1.35; }

/* Product page: buy buttons are the main action; WhatsApp is a small secondary button */
.single-product .summary form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
.single-product .summary form.cart .quantity { margin: 0 !important; }
.single-product .summary form.cart .single_add_to_cart_button,
.single-product .summary form.cart .wd-buy-now-btn { flex: 1 1 150px; min-height: 52px; margin: 0 !important; font-size: 16px !important; border-radius: var(--pbd-r) !important; }
.pbd-actions.is-priced { display: flex; margin: 4px 0 12px; }
.pbd-actions.is-priced .pbd-btn--wa-ghost { min-height: 40px; padding: 0 16px; font-size: 14px; border-width: 1px; border-radius: 999px; }
.pbd-actions.is-priced .pbd-btn--wa-ghost svg { width: 17px; height: 17px; }

/* Product photo: only the discount badge (HOT / NEW stay on shop grids) */
.single-product .woocommerce-product-gallery .product-labels .product-label.featured,
.single-product .woocommerce-product-gallery .product-labels .product-label.new { display: none !important; }
@media (max-width: 600px) {
	.pbd-pay__cards { grid-template-columns: 1fr 1fr; gap: 6px; }
	.pbd-pay__card { gap: 7px; padding: 8px 9px; }
	.pbd-pay__card > svg { flex-basis: 16px; width: 16px; height: 16px; }
	.pbd-pay__card strong { font-size: 13px; }
	.pbd-pay__card span { font-size: 11.5px; }
}

/* ================= Product page: buy box (everything about buying in one card) ================= */
.pbd-buybox { margin: 6px 0 22px; padding: 18px 20px 0; background: #fff; border: 1px solid var(--pbd-line); border-radius: 16px; box-shadow: 0 1px 3px rgba(20, 40, 35, .05); overflow: hidden; }
.pbd-buybox .price { margin: 0 0 12px !important; }
.pbd-buybox__lines { list-style: none; margin: 0 0 16px; padding: 12px 0 0; border-top: 1px solid var(--pbd-line); display: grid; gap: 9px; }
.pbd-buybox__lines li { display: flex; gap: 10px; align-items: flex-start; margin: 0; font-size: 14px; line-height: 1.4; color: var(--pbd-text); }
.pbd-buybox__lines li > svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 1px; color: var(--pbd-accent); }
.pbd-buybox__lines strong { color: var(--pbd-title); font-weight: 600; }
.pbd-buybox__lines small { display: block; margin-top: 1px; font-size: 12.5px; color: #7a817d; }
.pbd-buybox form.cart { margin-bottom: 0 !important; }
.pbd-buybox .pbd-tiers { margin-top: 0; }
.pbd-buybox__wa { display: inline-flex; align-items: center; gap: 7px; margin: 12px 0 0; font-size: 14px; font-weight: 600; color: #1f9d55 !important; text-decoration: none !important; }
.pbd-buybox__wa svg { width: 18px; height: 18px; }
.pbd-buybox__wa:hover span { text-decoration: underline; }
.pbd-buybox .pbd-actions { margin: 12px 0 0; }
.pbd-buybox__trust { list-style: none; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; margin: 16px -20px 0; padding: 11px 20px; background: var(--pbd-soft); border-top: 1px solid var(--pbd-line); }
.pbd-buybox__trust li { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 13px; font-weight: 500; color: var(--pbd-title); cursor: default; }
.pbd-buybox__trust svg { flex: 0 0 16px; width: 16px; height: 16px; color: var(--pbd-accent); }
.pbd-buybox > :last-child:not(.pbd-buybox__trust):not(.pbd-promise) { margin-bottom: 18px; }

/* Quick specs as light tiles (no table borders) */
.pbd-overview { margin: 0 0 18px; }
.pbd-overview .pbd-features__title, .pbd-features .pbd-features__title { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--pbd-text); margin: 0 0 8px; }
.pbd-overview dl { grid-template-columns: repeat(3, 1fr); gap: 8px; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.pbd-overview dl > div, .pbd-overview dl > div:nth-child(odd) { padding: 9px 11px; border: 0 !important; border-radius: 10px; background: #fff; }
.pbd-overview dt { font-size: 11.5px; }
.pbd-overview dd { font-size: 14px; }
.pbd-features { margin: 0 0 16px; }
.pbd-features ul { gap: 5px; }
.pbd-features li { font-size: 14.5px; }
.pbd-more { margin-top: 8px; font-size: 14px; }

/* Compare · Wishlist · Share: small and quiet */
.single-product .summary .wd-compare-btn a, .single-product .summary .wd-wishlist-btn a, .single-product .summary .product-share .share-title { font-size: 13.5px !important; color: var(--pbd-text) !important; }

@media (max-width: 600px) {
	.pbd-buybox { padding: 14px 14px 0; border-radius: 14px; }
	.pbd-buybox__trust { margin: 14px -14px 0; padding: 10px 14px; justify-content: flex-start; }
	.pbd-overview dl { grid-template-columns: repeat(2, 1fr) !important; }
	.pbd-overview dl > div { border-bottom: 0 !important; }
}

/* Product cards (shop, categories, related, home): one badge only: discount > HOT > NEW */
.product-labels:has(.onsale) .product-label.featured,
.product-labels:has(.onsale) .product-label.new,
.product-labels:has(.featured) .product-label.new { display: none !important; }

/* Product cards (card_plus): spec line, visible Add to cart, no compare icon */
.pbd-cards-plus .wd-product .wd-compare-btn,
.pbd-cards-plus .wd-product .wd-add-btn { display: none !important; }
.pbd-card-spec { display: block; width: 100%; min-width: 0; max-width: 100%; margin: 2px 0 6px; font-size: 12.5px; line-height: 1.35; color: #6b736f; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.wd-product .pbd-card-btn { display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 40px; margin: 10px 0 0 !important; padding: 0 12px !important; border-radius: 10px !important; background: var(--pbd-accent) !important; color: #fff !important; font-size: 14px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.2 !important; text-decoration: none !important; box-shadow: none !important; transition: filter .15s; }
.wd-product .pbd-card-btn:hover { filter: brightness(1.07); }
.wd-product .pbd-card-btn.is-ghost { background: #fff !important; color: var(--pbd-title) !important; border: 1.5px solid var(--pbd-line) !important; }
.wd-product .pbd-card-btn.is-ghost:hover { border-color: var(--pbd-accent) !important; color: var(--pbd-accent) !important; filter: none; }
.wd-product .pbd-card-btn.loading { opacity: .7; }
.wd-product .pbd-card-btn.added::after { content: " ✓"; margin-left: 4px; }
.wd-product .added_to_cart { display: block; margin-top: 6px; font-size: 13px; text-align: center; }

/* Badges sit just below the PrintersBD logo in the photo's top-left corner (cards and product gallery) */
.wd-product .product-labels, .single-product .woocommerce-product-gallery .product-labels { top: calc(10% + 4px) !important; }

/* card_plus: buttons line up along the bottom of each row */
.pbd-cards-plus .wd-product .wd-product-wrapper { height: 100%; display: flex; flex-direction: column; }
.pbd-cards-plus .wd-product .product-element-bottom { flex: 1 1 auto; display: flex; flex-direction: column; }
.pbd-cards-plus .wd-product .product-rating-price { flex: 1 1 auto; display: flex; flex-direction: column; }
.pbd-cards-plus .wd-product .wrapp-product-price { flex: 1 1 auto; flex-direction: column; align-items: center; }
.pbd-cards-plus .wd-product .wrapp-product-price > .pbd-card-btn { align-self: stretch; }
.pbd-cards-plus .wd-product .pbd-card-btn { margin-top: auto !important; }
.pbd-cards-plus .products > .wd-product, .pbd-cards-plus .wd-products > .wd-product { align-self: stretch !important; }

/* Mobile/tablet header: the bottom row only holds the desktop menu, so its mobile column is empty.
   WoodMart still reserves 50px for it, which shows as a blank white strip under the logo. */
@media (max-width: 1024px) {
	/* plain selectors (no :has) so older phone browsers get it too */
	.whb-header .whb-header-bottom, .whb-header .whb-header-bottom-inner { display: none !important; height: 0 !important; min-height: 0 !important; }
}
@media (max-width: 768px) {
	/* the theme's 40px top padding looks like an empty band under the header on phones */
	.wd-content-layout.content-layout-wrapper { padding-top: 16px !important; }
}

/* card_plus = "Phones only": same cards as .pbd-cards-plus, but only up to 768px */
.pbd-cards-mobile .wd-product .pbd-card-spec, .pbd-cards-mobile .wd-product .pbd-card-btn { display: none !important; }
@media (max-width: 768px) {
	.pbd-cards-mobile .wd-product .pbd-card-spec { display: -webkit-box !important; }
	.pbd-cards-mobile .wd-product .pbd-card-btn { display: flex !important; }
	.pbd-cards-mobile .wd-product .wd-compare-btn, .pbd-cards-mobile .wd-product .wd-add-btn { display: none !important; }
	.pbd-cards-mobile .wd-product .wd-product-wrapper { height: 100%; display: flex; flex-direction: column; }
	.pbd-cards-mobile .wd-product .product-element-bottom { flex: 1 1 auto; display: flex; flex-direction: column; }
	.pbd-cards-mobile .wd-product .product-rating-price { flex: 1 1 auto; display: flex; flex-direction: column; }
	.pbd-cards-mobile .wd-product .wrapp-product-price { flex: 1 1 auto; flex-direction: column; align-items: center; }
	.pbd-cards-mobile .wd-product .wrapp-product-price > .pbd-card-btn { align-self: stretch; }
	.pbd-cards-mobile .wd-product .pbd-card-btn { margin-top: auto !important; }
	.pbd-cards-mobile .products > .wd-product, .pbd-cards-mobile .wd-products > .wd-product { align-self: stretch !important; }
}

/* Main menu with the "POS Hardware" dropdown (10 items): one line on every laptop width */
@media (min-width: 1300px) and (max-width: 1499px) {
	.whb-header-bottom .wd-nav-main { --nav-gap: 22px; column-gap: 22px; }
}
@media (min-width: 1025px) and (max-width: 1199px) {
	.whb-header-bottom .wd-nav-main { --nav-gap: 10px; column-gap: 10px; }
	.whb-header-bottom .wd-nav-main > li > a { font-size: 14px; }
	.wd-nav-main > li.pbd-menu-cta > a { padding: 5px 10px !important; }
}
@media (min-width: 1025px) and (max-width: 1099px) {
	.whb-header-bottom .wd-nav-main { --nav-gap: 7px; column-gap: 7px; }
	.whb-header-bottom .wd-nav-main > li > a { font-size: 13.5px; }
	.wd-nav-main > li.pbd-menu-cta > a { padding: 5px 9px !important; }
}
/* Header dropdowns (POS Hardware): wide enough for "Barcode Scanners", same case as the menu */
.whb-header-bottom .menu-simple-dropdown > .wd-dropdown-menu { min-width: 230px; }
.whb-header-bottom .menu-simple-dropdown > .wd-dropdown-menu .wd-sub-menu > li > a { text-transform: none; font-size: 15px; font-weight: 500; letter-spacing: 0; white-space: nowrap; }
.pbd-mega__sub { margin-top: 18px !important; }

/* Free gift under the price */
.pbd-gift { display: flex; gap: 10px; align-items: center; margin: -2px 0 14px; padding: 10px 12px; border: 1px dashed #e0a100; border-radius: 12px; background: #fff8e6; }
.pbd-gift > svg { flex: 0 0 22px; width: 22px; height: 22px; color: #d98c00; }
.pbd-gift strong { display: block; font-size: 14.5px; font-weight: 700; color: #7a4a00; }
.pbd-gift small { display: block; font-size: 12.5px; color: #8a6a2e; }

/* Warranty & support box: the bottom band of the buy box on printer pages */
.pbd-promise { margin: 16px -20px 0; padding: 14px 20px 16px; background: #eef7f1; border-top: 1px solid #cfe6d7; }
.pbd-promise__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin-bottom: 10px; }
.pbd-promise__head strong { font-size: 15px; font-weight: 700; color: var(--pbd-title); }
.pbd-promise__head span { font-size: 13px; color: #4d6b58; }
.pbd-promise ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 18px; }
.pbd-promise li { display: flex; gap: 9px; align-items: flex-start; margin: 0; }
.pbd-promise li > svg { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 1px; color: var(--pbd-accent); }
.pbd-promise li strong { display: block; font-size: 14px; font-weight: 600; color: var(--pbd-title); line-height: 1.3; }
.pbd-promise li small { display: block; font-size: 12.5px; line-height: 1.35; color: #5f6b64; }
.pbd-buybox > .pbd-promise:last-child { margin-bottom: 0; }
@media (max-width: 768px) {
	.pbd-promise { margin: 14px -14px 0; padding: 12px 14px 14px; }
	.pbd-promise ul { grid-template-columns: 1fr; gap: 9px; }
}
.pbd-compat__other { margin: 18px 0 8px; font-size: 14px; font-weight: 600; color: var(--pbd-title); }

/* Footer: social link, info lines (not links), room for the floating call / WhatsApp buttons */
.pbd-foot__social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.pbd-foot__social a { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 30px; color: #fff !important; font-size: 14px; font-weight: 600; text-decoration: none; }
.pbd-foot__social a:hover { border-color: var(--pbd-accent); color: var(--pbd-accent) !important; }
.pbd-foot__social svg { width: 18px; height: 18px; }
.pbd-foot__col .pbd-foot__info { cursor: default; }
.pbd-foot__info svg { margin-top: 2px; color: var(--pbd-accent); }
@media (max-width: 768px) {
	.pbd-foot__bar { padding-bottom: 96px; flex-direction: column; }
}

/* ---------------------------------------------------------------- Blog posts (single) */
.single-post .wd-single-post-author,
.single-post .wd-single-post-date,
.single-post .wd-single-post-reply,
.single-post .wd-single-post-comments,
.single-post .wd-single-post-comments-form { display: none !important; } /* our byline line replaces them; comments are off */
.single-post .wd-single-post-title .wd-post-title { max-width: 860px; margin: 6px auto 4px; font-size: clamp(28px, 3.6vw, 42px) !important; font-weight: 800 !important; line-height: 1.18; letter-spacing: -.02em; color: #14231c; }
.single-post .wd-single-post-thumb { max-width: 860px; margin-left: auto !important; margin-right: auto !important; }
.single-post .wd-single-post-thumb img { display: block; width: 100%; max-height: 420px; object-fit: contain; background: #fff; border-radius: 18px; }
.single-post .wd-single-post-content { max-width: 760px; margin-left: auto !important; margin-right: auto !important; }
.single-post .wd-single-post-content .elementor-widget-container { font-size: 17.5px; line-height: 1.75; color: #27322d; }
.single-post .wd-single-post-content p,
.single-post .wd-single-post-content li { color: #27322d; }
.single-post .wd-single-post-content h2 { margin: 42px 0 12px; font-size: 26px; font-weight: 800; line-height: 1.25; color: #14231c; }
.single-post .wd-single-post-content h3 { margin: 30px 0 10px; font-size: 20px; font-weight: 700; color: #14231c; }
.single-post .wd-single-post-content ul,
.single-post .wd-single-post-content ol { padding-left: 22px; margin-bottom: 20px; }
.single-post .wd-single-post-content li { margin-bottom: 8px; }
.single-post .wd-single-post-content li::marker { color: var(--pbd-accent); font-weight: 700; }
.single-post .wd-single-post-content a:not(.pbd-btn):not(.pbd-article-product) { color: #1f7a3a; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(31, 122, 58, .35); text-underline-offset: 3px; }
.single-post .wd-single-post-content a:not(.pbd-btn):not(.pbd-article-product):hover { text-decoration-color: currentColor; }
.single-post .wd-single-post-content table { width: 100%; margin: 18px 0 26px; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid var(--pbd-line); border-radius: 14px; overflow: hidden; font-size: 15.5px; }
.single-post .wd-single-post-content th { background: #eef7f1; color: #14231c; font-weight: 700; text-align: left; }
.single-post .wd-single-post-content th,
.single-post .wd-single-post-content td { padding: 12px 14px; border-bottom: 1px solid var(--pbd-line); vertical-align: top; }
.single-post .wd-single-post-content tr:last-child td { border-bottom: 0; }

/* Byline line at the top of the article */
.pbd-article-meta { display: flex; align-items: center; gap: 12px; margin: 0 0 26px; padding: 12px 16px; background: #fff; border: 1px solid var(--pbd-line); border-radius: 14px; }
.pbd-article-meta img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: #eef7f1; }
.pbd-article-meta strong { display: block; font-size: 15px; color: #14231c; line-height: 1.3; }
.pbd-article-meta span { display: block; font-size: 13px; color: #6b746f; line-height: 1.3; }
.pbd-article-meta em { margin-left: auto; font-style: normal; font-size: 13px; color: #6b746f; white-space: nowrap; }

/* Products in this guide */
.pbd-article-products { margin: 40px 0 10px; }
.pbd-article-products__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; }
.pbd-article-product { display: flex; flex-direction: column; padding: 12px; background: #fff; border: 1px solid var(--pbd-line); border-radius: 14px; text-decoration: none !important; transition: box-shadow .2s, transform .2s; }
.pbd-article-product:hover { box-shadow: 0 8px 22px rgba(20, 40, 35, .1); transform: translateY(-2px); }
.pbd-article-product img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; border-radius: 10px; margin-bottom: 8px; }
.pbd-article-product__name { font-size: 14px; font-weight: 600; line-height: 1.35; color: #14231c; }
.pbd-article-product__price { margin-top: 6px; font-size: 15px; font-weight: 700; color: var(--pbd-accent); }
.pbd-article-product__btn { margin-top: auto; padding-top: 10px; font-size: 13px; font-weight: 700; color: #1f7a3a; }

/* Help box at the end */
.pbd-article-help { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin: 34px 0 10px; padding: 22px 24px; background: linear-gradient(135deg, #0f4a36, #17382c); border-radius: 18px; color: #d9ece0; }
.pbd-article-help strong { display: block; font-size: 20px; color: #fff; margin-bottom: 4px; }
.pbd-article-help span { display: block; font-size: 15px; line-height: 1.55; max-width: 460px; }
.pbd-article-help__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-left: auto; }
.pbd-article-help .pbd-btn { min-height: 46px; padding: 0 20px; border-radius: 40px; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; text-decoration: none !important; }
.pbd-article-help .pbd-btn--wa { background: #25d366; color: #fff !important; }
.pbd-article-help .pbd-btn--call { background: #fff; color: #14231c !important; }
.pbd-article-help svg { width: 18px; height: 18px; }

/* Author box (the theme's "About …" block) */
.single-post .wd-single-post-author-bio { max-width: 760px; margin-left: auto !important; margin-right: auto !important; }
.single-post .wd-single-post-author-bio .elementor-widget-container > * { background: #fff !important; border: 1px solid var(--pbd-line); border-radius: 16px; }
.single-post .wd-single-post-nav:not(:has(a[href])) { display: none; }

@media (max-width: 768px) {
	.single-post .wd-single-post-content .elementor-widget-container { font-size: 16.5px; }
	.single-post .wd-single-post-content h2 { font-size: 22px; margin-top: 34px; }
	.single-post .wd-single-post-thumb img { max-height: 280px; border-radius: 14px; }
	.single-post .wd-single-post-content table { font-size: 14px; }
	.single-post .wd-single-post-content th,
	.single-post .wd-single-post-content td { padding: 9px 10px; }
	.pbd-article-meta em { display: none; }
	.pbd-article-help { padding: 18px; }
	.pbd-article-help__btns { margin-left: 0; width: 100%; }
	.pbd-article-help .pbd-btn { flex: 1 1 auto; justify-content: center; }
	.pbd-article-products__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

/* Homepage: Buying guides */
.pbd-guides__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pbd-guide { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--pbd-line); border-radius: 16px; overflow: hidden; text-decoration: none !important; transition: box-shadow .2s, transform .2s; }
.pbd-guide:hover { box-shadow: 0 10px 26px rgba(20, 40, 35, .1); transform: translateY(-2px); }
.pbd-guide__img { display: block; aspect-ratio: 16 / 10; background: #fff; border-bottom: 1px solid var(--pbd-line); }
.pbd-guide__img img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
.pbd-guide__body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; flex: 1; }
.pbd-guide__body strong { font-size: 17px; line-height: 1.3; color: #14231c; }
.pbd-guide__body small { font-size: 14px; line-height: 1.5; color: #5f6b64; }
.pbd-guide__body em { margin-top: auto; padding-top: 6px; font-style: normal; font-size: 14px; font-weight: 700; color: #1f7a3a; }
@media (max-width: 900px) { .pbd-guides__grid { grid-template-columns: 1fr; } .pbd-guide { flex-direction: row; } .pbd-guide__img { flex: 0 0 120px; aspect-ratio: 1; border-bottom: 0; border-right: 1px solid var(--pbd-line); } }
