/* Product details theme component (.pd-*) — tokens from common.css :root */
.pd-wrap{font-family:Inter,system-ui,sans-serif;max-width:1280px;margin:0 auto;padding:18px}
.pd-main{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pd-card{background:var(--gp-bg);border:1px solid #e7edf5;border-radius:16px;box-shadow:0 8px 24px rgba(15,118,110,.08)}
.pd-gallery{padding:14px;display:grid;grid-template-columns:90px 1fr;gap:12px}
.pd-thumbs{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow:auto}
.pd-thumb{border:2px solid transparent;border-radius:10px;padding:2px;cursor:pointer}
.pd-thumb.active,.pd-thumb:hover{border-color:var(--gp-primary)}
.pd-thumb img{width:100%;height:72px;object-fit:contain;background:#F5F7FA;border-radius:8px}
.pd-thumb img[src*="no_image.png"]{object-fit:scale-down;padding:10px;opacity:.75;filter:grayscale(.15)}
.pd-mainimg{min-height:460px;background:#F5F7FA;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pd-mainimg img{max-width:95%;max-height:430px;transition:.25s}
.pd-mainimg img[src*="no_image.png"]{max-width:56%;max-height:56%;object-fit:contain;opacity:.75;filter:grayscale(.15)}
.pd-mainimg:hover img{transform:scale(1.14)}
.pd-summary{padding:22px;position:sticky;top:88px}
.pd-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 16px;margin:0 0 10px;position:relative}
.pd-head-row .pd-title{flex:1;min-width:0;margin:0;font-size:34px;font-weight:700;line-height:1.2}
.pd-title{font-size:34px;font-weight:700;line-height:1.2;margin:0 0 8px}
.pd-meta{font-size:14px;color:#4b5563;display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pd-rating{color:#f59e0b;font-weight:700}
.pd-meta-write{color:var(--gp-primary);font-weight:600;text-decoration:none}
.pd-meta-write:hover{text-decoration:underline}
.pd-price{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pd-price-now{font-size:32px;font-weight:600;color:var(--gp-primary)}
.pd-mrp{text-decoration:line-through;color:var(--gp-muted)}
.pd-off{background:#00A884;color:#fff;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600}
.pd-stock{margin:10px 0;font-size:14px;font-weight:600}
.pd-stock.ok{color:#0a7c3f}
.pd-stock.no,.pd-wrap--oos .pd-stock.no{color:#dc2626;font-weight:700}
.pd-variants{margin:14px 0 12px}
.pd-variants-label{margin:0 0 10px;font-size:13px;font-weight:700;color:#374151;letter-spacing:.02em}
.pd-variants-list{display:flex;flex-wrap:wrap;gap:10px}
.pd-variant-btn{
  display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;
  min-width:118px;max-width:200px;padding:11px 14px;border:2px solid #e2e8f0;border-radius:12px;
  background:#fff;color:#1e293b;font-family:inherit;font-size:inherit;line-height:1.2;
  cursor:pointer;text-align:left;transition:border-color .2s,background .2s,box-shadow .2s,transform .15s;
  flex:1 1 140px;position:relative
}
.pd-variant-btn:hover:not(:disabled):not(.pd-variant-btn--oos){
  border-color:#7dd3c7;background:#f0fdfa;box-shadow:0 4px 12px rgba(15,118,110,.1);transform:translateY(-1px)
}
.pd-variant-btn.active{
  border-color:var(--gp-primary,#0f766e);background:linear-gradient(180deg,#f0fdfa 0%,#ecfdf5 100%);
  box-shadow:0 0 0 1px var(--gp-primary),0 4px 14px rgba(15,118,110,.14)
}
.pd-variant-btn:focus-visible{outline:2px solid var(--gp-primary);outline-offset:2px}
.pd-variant-btn--oos{opacity:.72;cursor:not-allowed;background:#f8fafc;border-color:#e5e7eb}
.pd-variant-btn--oos .pd-variant-price{color:#94a3b8}
.pd-variant-name{font-size:14px;font-weight:700;color:#0f172a;line-height:1.25}
.pd-variant-price{font-size:15px;font-weight:800;color:var(--gp-primary,#0f766e)}
.pd-variant-btn.active .pd-variant-name{color:#0f766e}
.pd-variant-badge{
  display:inline-block;margin-top:2px;font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;color:#dc2626
}
.pd-wrap--oos .pd-main .pd-gallery.pd-card{filter:grayscale(1);opacity:.72}
.pd-wrap--oos .pd-main .pd-summary.pd-card{filter:none;opacity:1}
.pd-wrap--oos .pd-actions .pd-btn,.pd-wrap--oos .pd-actions .pd-qty button,.pd-wrap--oos .pd-actions .pd-qty input{cursor:not-allowed;opacity:.55}
.pd-wrap--oos .pd-unavailable-note{margin:10px 0 0;font-size:14px;font-weight:600;color:#dc2626}
.pd-short{font-size:16px;line-height:1.6;color:#374151;background:#F5F7FA;border-radius:10px;padding:12px;position:relative;z-index:1}
.pd-short-empty{color:#9ca3af}
.pd-actions{display:grid;grid-template-columns:130px 1fr 1fr;gap:8px;margin-top:14px;position:relative;z-index:2}
.pd-qty{display:flex;border:1px solid #d5dde8;border-radius:10px;overflow:hidden}
.pd-qty button{border:0;background:#f8fafc;width:34px}
.pd-qty input{border:0;text-align:center;width:60px}
.pd-btn{border:0;border-radius:10px;padding:11px 12px;color:#fff;font-size:15px;font-weight:600;cursor:pointer}
.pd-btn:disabled{cursor:not-allowed;opacity:.72}
.pd-cart{background:var(--gp-primary)}.pd-buy{background:#00A884}
.pd-tabs{margin-top:26px}
.pd-tab-nav{display:flex;gap:8px;flex-wrap:wrap}
.pd-tab-link{padding:9px 14px;border-radius:999px;background:#f1f5f9;font-size:13px;font-weight:600;cursor:pointer}
.pd-tab-link.active{background:var(--gp-primary);color:#fff}
.pd-tab{display:none;margin-top:12px;border:1px solid #e6ecf4;border-radius:10px;padding:14px;line-height:1.7}
.pd-tab.active{display:block}
.pd-rev-summary{font-size:15px;font-weight:600;color:var(--gp-primary);margin-bottom:14px}
.pd-rev-list{display:flex;flex-direction:column;gap:14px}
.pd-rev-card{border:1px solid #e8edf3;border-radius:12px;padding:14px 16px;background:#fafbfc}
.pd-rev-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}
.pd-rev-stars{color:#f59e0b;font-size:14px;letter-spacing:-1px}
.pd-rev-title{font-weight:700;font-size:15px;color:var(--gp-text);margin:0}
.pd-rev-meta{font-size:12px;color:var(--gp-muted)}
.pd-rev-body{font-size:14px;color:#374151;margin:0}
.pd-rev-empty{color:var(--gp-muted);margin:0 0 12px}
.pd-rev-empty-tab{margin:0}
.pd-rev-write{display:inline-block;margin-top:4px;color:var(--gp-primary);font-weight:600;text-decoration:none}
.pd-rev-write:hover{text-decoration:underline}
.pd-rev-cta{margin-top:14px}
.pd-section{margin-top:28px}
.pd-list{display:flex;gap:12px;overflow:auto;padding-bottom:6px}
.pd-item{min-width:210px;border:1px solid #e8edf3;border-radius:12px;padding:10px;text-decoration:none;color:inherit}
.pd-item img{width:100%;height:140px;object-fit:contain;background:#f8fafc;border-radius:8px}
.pd-item h4{font-size:14px;height:38px;overflow:hidden}
.pd-item .p{font-weight:700;color:var(--gp-primary)}

/* Tablet & mobile — keep gallery and cart card from blowing up vertically */
@media (max-width: 992px) {
    .pd-wrap { padding: 12px; }
    .pd-main { grid-template-columns: 1fr; gap: 14px; }
    .pd-gallery { grid-template-columns: 1fr; padding: 10px; gap: 10px; }
    .pd-mainimg { order: 1; min-height: 0; aspect-ratio: 1 / 1; }
    .pd-mainimg img { max-width: 100%; max-height: 100%; }
    .pd-mainimg:hover img { transform: none; }
    .pd-thumbs {
        order: 2;
        flex-direction: row;
        max-height: none;
        gap: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 2px;
    }
    .pd-thumb { flex: 0 0 auto; scroll-snap-align: start; padding: 2px; }
    .pd-thumb img { width: 60px; height: 60px; }

    .pd-summary { position: relative; top: auto; padding: 16px; }
    .pd-head-row { margin-bottom: 8px; }
    .pd-head-row .pd-title,
    .pd-title { font-size: 22px; line-height: 1.25; margin-bottom: 0; padding-right: 0; }
    .pd-meta { font-size: 12px; gap: 6px 10px; margin-bottom: 10px; }
    .pd-price { gap: 8px; }
    .pd-price-now { font-size: 26px; }
    .pd-mrp { font-size: 14px; }
    .pd-off { font-size: 11px; padding: 3px 8px; }
    .pd-stock { font-size: 13px; margin: 8px 0; }
    .pd-variants { margin: 12px 0 10px; }
    .pd-variants-label { font-size: 12px; margin-bottom: 8px; }
    .pd-variants-list { gap: 8px; }
    .pd-variant-btn { flex: 1 1 calc(50% - 4px); min-width: 0; max-width: none; padding: 10px 12px; }
    .pd-variant-name { font-size: 13px; }
    .pd-variant-price { font-size: 14px; }
    .pd-short { font-size: 14px; padding: 10px 12px; line-height: 1.5; }

    .pd-actions {
        grid-template-columns: minmax(110px, 130px) 1fr 1fr;
        gap: 8px;
        position: static;
        margin-top: 12px;
    }
    .pd-qty button { width: 36px; height: 44px; font-size: 18px; }
    .pd-qty input { width: 100%; min-width: 0; height: 44px; }
    .pd-btn { padding: 11px 10px; font-size: 14px; min-height: 44px; line-height: 1.15; }

    .pd-tab-nav { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; gap: 6px; }
    .pd-tab-link { flex: 0 0 auto; font-size: 12px; padding: 7px 12px; white-space: nowrap; }
    .pd-tab { padding: 12px; font-size: 14px; line-height: 1.6; }

    .pd-item { min-width: 160px; }
    .pd-item img { height: 110px; }
}

@media (max-width: 480px) {
    .pd-wrap { padding: 8px; }
    .pd-mainimg { aspect-ratio: 4 / 3; }
    .pd-head-row .pd-title,
    .pd-title { font-size: 19px; padding-right: 0; }
    .pd-price-now { font-size: 22px; }
    .pd-actions {
        grid-template-columns: minmax(96px, 116px) 1fr 1fr;
        gap: 6px;
    }
    .pd-qty button { width: 30px; }
    .pd-qty input { font-size: 14px; }
    .pd-btn { padding: 10px 8px; font-size: 13px; white-space: nowrap; }
    .pd-thumb img { width: 56px; height: 56px; }
}

@media (max-width: 360px) {
    .pd-actions { grid-template-columns: 94px 1fr 1fr; gap: 5px; }
    .pd-qty button { width: 26px; font-size: 16px; }
    .pd-qty input { font-size: 13px; }
    .pd-btn { padding: 10px 6px; font-size: 12px; }
}

/* Entity FAQs (product detail tab) */
.pd-tab .cms-entity-faq-embed { margin: 0; }
.pd-tab .cms-entity-faq-list { display: grid; gap: 10px; }
.pd-tab .cms-entity-faq-item {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0 12px;
    background: #fff;
}
.pd-tab .cms-entity-faq-category {
    display: inline-block;
    margin-top: 10px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--gp-primary, #0f766e);
}
.pd-tab .cms-entity-faq-question {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 12px 0;
    font-size: 14px;
    font-weight: 600;
    color: #0f172a;
    cursor: pointer;
}
.pd-tab .cms-entity-faq-question:hover { color: var(--gp-primary, #0f766e); }
.pd-tab .cms-entity-faq-answer {
    padding: 0 0 12px;
    color: #475569;
    line-height: 1.65;
    font-size: 14px;
}
.pd-tab .cms-entity-faq-answer.open { display: block; }

.cms-entity-faq-section .cms-entity-faq-title {
    margin: 0 0 1rem;
    font-size: 1.5rem;
    color: #0f172a;
}
.cms-entity-faq-section .cms-entity-faq-list { display: grid; gap: 12px; }
.cms-entity-faq-section .cms-entity-faq-item {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0 16px;
    background: #fff;
}
.cms-entity-faq-section .cms-entity-faq-category {
    display: inline-block;
    margin-top: 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #0f766e;
}
.cms-entity-faq-section .cms-entity-faq-question {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 14px 0;
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
    cursor: pointer;
}
.cms-entity-faq-section .cms-entity-faq-answer {
    padding: 0 0 14px;
    color: #475569;
    line-height: 1.7;
}
.cms-entity-faq-section .cms-entity-faq-answer.open { display: block; }
.blog-detail-faqs { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #e2e8f0; }
