.pd-main { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:40px; padding-top:26px; align-items:start; }
.pd-gallery { min-width:0; position:sticky; top:24px; }
.pd-image-stage { position:relative; display:flex; align-items:center; justify-content:center; aspect-ratio:1/1; max-height:540px; padding:32px; background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.pd-image-stage img { width:100%; height:100%; object-fit:contain; }
.pd-gallery .tk-thumb { border-radius:12px; background:#fff; padding:6px!important; }
.pd-purchase { min-width:0; background:#fff; border:1px solid var(--line); border-radius:20px; padding:28px; }
.pd-title { font-size:clamp(22px,2.1vw,30px); line-height:1.3; color:var(--navy-900); margin:10px 0 14px; overflow-wrap:anywhere; }
.pd-price-box { padding:20px; background:#f3f6fa; border:1px solid #e8edf3; border-radius:14px; margin:20px 0; }
.pd-eyebrow { display:block; font-size:10px; font-weight:700; letter-spacing:.12em; color:var(--ink-600); margin-bottom:8px; }
.pd-payment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.pd-payment-option { padding:14px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; min-width:0; }
.pd-payment-bank { border-color:#efce92; background:#fff9ed; }
.pd-payment-option strong { display:block; font-size:clamp(18px,1.6vw,25px); line-height:1.4; color:var(--navy-900); overflow-wrap:anywhere; }
.pd-payment-option .pd-eyebrow { font-size:12px; letter-spacing:0; margin-bottom:6px; }
.pd-payment-hint { display:block; font-size:11px; color:var(--ink-600); margin-top:5px; }
.pd-payment-note { font-size:12px; color:var(--ink-600); margin:12px 0 0; line-height:1.6; }
.pd-payment-plans { border-top:1px solid var(--line); margin-top:12px; padding-top:12px; }
.pd-payment-plans summary { color:var(--blue-600); font-size:13px; font-weight:600; cursor:pointer; }
.pd-payment-table-wrap { overflow-x:auto; margin-top:12px; }
.pd-payment-plans table { width:100%; font-size:12px; font-variant-numeric:tabular-nums; }
.pd-payment-plans caption { caption-side:top; font-size:11px; color:var(--ink-600); }
.pd-payment-plans th,.pd-payment-plans td { padding:9px 5px; border-bottom:1px solid var(--line); text-align:right; white-space:nowrap; }
.pd-payment-plans th:first-child,.pd-payment-plans td:first-child { text-align:left; }
@media(max-width:420px) { .pd-payment-grid { grid-template-columns:1fr; } }
.pd-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:22px; }
.pd-cart-form #tk-add-btn:not(:disabled):hover,
.pd-cart-form #tk-add-btn:not(:disabled):focus-visible { background:var(--accent-500); border-color:var(--accent-500); color:var(--navy-950); }
.pd-cart-form #tk-add-btn svg { stroke:currentColor; }
.pd-options { margin-bottom:20px; padding:16px; border:1px solid var(--line); border-radius:12px; background:#fafbfd; }
.pd-options-heading { font-size:13px; font-weight:700; color:var(--navy-900); margin-bottom:8px; }
.pd-option-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid #e8edf3; }
.pd-option-row:last-child { border-bottom:0; }
.pd-option-label { font-size:12px; color:var(--ink-600); }
.pd-option-values { display:flex; justify-content:flex-end; gap:6px; flex-wrap:wrap; min-width:0; }
.pd-option-fixed { font-size:13px; font-weight:600; color:var(--navy-900); text-align:right; overflow-wrap:anywhere; }
.pd-option-values .tk-variant-opt { padding:7px 12px; border:1px solid var(--line); border-radius:7px; font:inherit; font-size:12px; background:#fff; cursor:pointer; }
.pd-option-values .tk-variant-opt:focus-visible { outline:2px solid var(--blue-600); outline-offset:2px; }
.pd-cart-form { display:grid; grid-template-columns:136px minmax(0,1fr); gap:12px; width:100%; }
.pd-cart-form .btn { min-width:0!important; min-height:48px; border-radius:10px; }
.pd-cart-form #tk-buy-now-btn { grid-column:1/-1; min-height:50px; }
.pd-cart-form small { grid-column:1/-1; font-size:11px; line-height:1.5; }
.pd-actions > form:not(.pd-cart-form) .btn,.pd-actions > a { min-height:38px; }
.pd-service-links { display:grid; gap:12px; border-top:1px solid var(--line); padding-top:18px; }
.pd-service-links > div { min-width:0; }
.pd-service-links svg { flex-shrink:0; }
.pd-details { padding-top:32px; padding-bottom:32px; }
.pd-tabs { display:flex; gap:24px; border-bottom:1px solid var(--line); overflow-x:auto; }
.pd-tabs .tk-tab { border:0; border-bottom:3px solid transparent; background:transparent; white-space:nowrap; font-family:inherit; }
.pd-tabs .tk-tab:focus-visible,.pd-gallery button:focus-visible { outline:2px solid var(--blue-600); outline-offset:3px; }
.pd-details .card { border-radius:14px; }
.pd-details table { overflow-wrap:anywhere; }
.pd-details img { max-width:100%; height:auto; }
.tk-product-description { overflow-wrap:anywhere; }
.tk-product-description p { margin:0 0 12px; }
.tk-product-description h2 { font-size:23px; font-weight:700; line-height:1.35; margin:24px 0 12px; }
.tk-product-description h3 { font-size:19px; font-weight:700; line-height:1.4; margin:20px 0 10px; }
.tk-product-description > :first-child { margin-top:0; }
.tk-product-description > :last-child { margin-bottom:0; }
.tk-product-description ul { list-style:disc outside; padding-left:24px; margin:12px 0; }
.tk-product-description ol { list-style:decimal outside; padding-left:24px; margin:12px 0; }
.tk-product-description li { margin:5px 0; }
.tk-product-description a { color:var(--blue-600, #245696); text-decoration:underline; text-underline-offset:3px; }
.tk-product-description blockquote { border-left:3px solid #f5a61b; padding:8px 16px; margin:16px 0; background:#f7f9fc; }
.tk-product-description .ql-align-center { text-align:center; }
.tk-product-description .ql-align-right { text-align:right; }
.tk-product-description .ql-align-justify { text-align:justify; }
@media(max-width:900px) {
    .pd-main { grid-template-columns:minmax(0,1fr); gap:20px; }
    .pd-gallery { position:static; }
    .pd-image-stage { aspect-ratio:4/3; max-height:420px; }
    .pd-purchase { padding:22px; }
}
@media(max-width:480px) {
    .pd-main { padding-top:18px; }
    .pd-image-stage { padding:20px; border-radius:14px; }
    .pd-purchase { padding:18px; border-radius:14px; }
    .pd-price-box { padding:16px; }
    .pd-price-box #tk-price { font-size:29px!important; }
    .pd-cart-form { grid-template-columns:128px minmax(0,1fr); gap:8px; }
    .pd-cart-form .btn { padding:10px; font-size:13px; }
    .pd-tabs { gap:18px; }
}
