/* Core tokens & typography */
:root{--wcpt-radius:14px;--wcpt-shadow:0 12px 28px rgba(0,0,0,.08)}

.single-product .product .product_title{font-size:clamp(24px,3vw,34px);line-height:1.25;margin:0 0 10px}
.single-product .product .price{font-weight:700;font-size:clamp(18px,2vw,22px)}
.single-product .product .summary h2,
.single-product .product .summary h3{line-height:1.3;margin:14px 0 8px}
.single-product .product .summary p{font-size:16px;line-height:1.75;color:inherit}
.single-product .product .summary > * + *{margin-top:12px}
@media (max-width:540px){
  .single-product .product .product_title{font-size:22px}
  .single-product .product .summary > * + *{margin-top:10px}
}

/* Typography flavors */
.typo--soft .product .product_title{font-weight:700; letter-spacing:.2px}
.typo--soft .product .summary h2, .typo--soft .product .summary h3{font-weight:700}
.typo--soft .product .summary p{line-height:1.8}

.typo--modern .product .product_title{font-weight:750; letter-spacing:.3px}
.typo--modern .product .summary h2{letter-spacing:.2px}
.typo--modern .product .summary p{line-height:1.75}

.typo--serif .product .product_title{font-family: ui-serif, Georgia, 'Times New Roman', serif}
.typo--serif .product .summary h2, .typo--serif .product .summary h3{font-family: ui-serif, Georgia, 'Times New Roman', serif}
.typo--serif .product .summary p{line-height:1.85}

.typo--tech .product .product_title{letter-spacing:.4px}
.typo--tech .product .summary h2{letter-spacing:.3px}
.typo--tech .product .summary p{line-height:1.7}

.typo--caps .product .product_title{text-transform:uppercase; letter-spacing:.6px}
.typo--caps .product .summary h2{letter-spacing:.4px}
.typo--caps .product .summary p{line-height:1.7}

/* Tree-style hierarchy (RTL-aware) */
:root{ --wcpt-indent-step: 1.25rem; }
.wcpt-tree .product .summary :is(h2,h3,h4,h5,h6){margin-block-start:1.0rem;margin-block-end:.4rem}
.wcpt-tree .product .summary h3{margin-block-start:1.15rem}
.wcpt-tree .product .summary h4{margin-block-start:1.05rem}
.wcpt-tree .product .summary h5{margin-block-start:.95rem}
.wcpt-tree .product .summary h6{margin-block-start:.9rem}

.wcpt-tree .product .summary .wcpt-l2{padding-inline-start:calc(var(--wcpt-indent-step) * 0)}
.wcpt-tree .product .summary .wcpt-l3{padding-inline-start:calc(var(--wcpt-indent-step) * 1)}
.wcpt-tree .product .summary .wcpt-l4{padding-inline-start:calc(var(--wcpt-indent-step) * 2)}
.wcpt-tree .product .summary .wcpt-l5{padding-inline-start:calc(var(--wcpt-indent-step) * 3)}
.wcpt-tree .product .summary .wcpt-l6{padding-inline-start:calc(var(--wcpt-indent-step) * 4)}

.wcpt-tree .product .summary .wcpt-l2c{padding-inline-start:calc(var(--wcpt-indent-step) * 0)}
.wcpt-tree .product .summary .wcpt-l3c{padding-inline-start:calc(var(--wcpt-indent-step) * 1)}
.wcpt-tree .product .summary .wcpt-l4c{padding-inline-start:calc(var(--wcpt-indent-step) * 2)}
.wcpt-tree .product .summary .wcpt-l5c{padding-inline-start:calc(var(--wcpt-indent-step) * 3)}
.wcpt-tree .product .summary .wcpt-l6c{padding-inline-start:calc(var(--wcpt-indent-step) * 4)}

.wcpt-tree .product .summary .wcpt-l2c, 
.wcpt-tree .product .summary .wcpt-l3c, 
.wcpt-tree .product .summary .wcpt-l4c, 
.wcpt-tree .product .summary .wcpt-l5c, 
.wcpt-tree .product .summary .wcpt-l6c{margin-block-start:.35rem}

/* Light card background for short description on dark palettes (and s05) with contrast */
.single-product.wcpt--s03 .woocommerce-product-details__short-description,
.single-product.wcpt--s04 .woocommerce-product-details__short-description,
.single-product.wcpt--s05 .woocommerce-product-details__short-description,
.single-product.wcpt--s17 .woocommerce-product-details__short-description,
.single-product.wcpt--s18 .woocommerce-product-details__short-description,
.single-product.wcpt--s19 .woocommerce-product-details__short-description,
.single-product.wcpt--s20 .woocommerce-product-details__short-description{
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(0,0,0,.10) !important;
  border-inline-start:4px solid var(--primary) !important;
  border-radius:12px !important;
  padding:12px 14px !important;
  box-shadow:0 8px 22px rgba(0,0,0,.06) !important;
}
.single-product .woocommerce-product-details__short-description a{color:var(--primary) !important; text-decoration:underline}

/* v3.4: Mobile shake toggle button */
/* removed shake toggle */
/*
    position: absolute; z-index: 99; top: 10px; inset-inline-end: 10px;
    background: #111827cc; color:#fff; border:none; border-radius:999px; 
    padding:8px 12px; font-size:12px; line-height:1; box-shadow:0 6px 16px rgba(0,0,0,.25);
  }
  .wcpt-shake-toggle--on{ background:#16a34acc; */

/* v3.9: dedicated wrapper card for short description */
.woocommerce-product-details__short-description > .wcpt-desc-card{
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(0,0,0,.10) !important;
  border-inline-start:4px solid var(--primary) !important;
  border-radius:12px !important;
  padding:12px 14px !important;
  box-shadow:0 8px 22px rgba(0,0,0,.06) !important;
}
/* Bright defaults for light palettes so user sees box even without picking a color */
.single-product.wcpt--s04 .wcpt-desc-card{ background:#FFF7D6 !important; color:#111 !important; }
.single-product.wcpt--s08 .wcpt-desc-card{ background:#FFF1E0 !important; color:#111 !important; }
.single-product.wcpt--s12 .wcpt-desc-card{ background:#EEF2FF !important; color:#0f172a !important; }
.single-product.wcpt--s16 .wcpt-desc-card{ background:#FEFCE8 !important; color:#0f172a !important; }
.single-product.wcpt--s20 .wcpt-desc-card{ background:#F1F5FF !important; color:#0f172a !important; }

/* v3.9.1: prevent short-description box overflow */
.woocommerce-product-details__short-description,
.woocommerce-product-details__short-description *{max-width:100%}
.woocommerce-product-details__short-description{overflow:hidden}
.woocommerce-product-details__short-description > .wcpt-desc-card{
  display:block; box-sizing:border-box; max-width:100%; margin:0 0 12px 0;
  overflow:hidden; contain:layout paint; /* prevent shadows from escaping */
}
/* tighten shadows for the 5 light styles so they don't look out of bounds */
.single-product.wcpt--s04 .wcpt-desc-card,
.single-product.wcpt--s08 .wcpt-desc-card,
.single-product.wcpt--s12 .wcpt-desc-card,
.single-product.wcpt--s16 .wcpt-desc-card,
.single-product.wcpt--s20 .wcpt-desc-card{
  box-shadow:0 6px 16px rgba(0,0,0,.05) !important;
  border:1px solid rgba(0,0,0,.08) !important;
}

/* Admin: 3-column grids */
.wcpt-colors-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}
@media (max-width:1000px){.wcpt-colors-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media (max-width:640px){.wcpt-colors-grid{grid-template-columns:1fr}}

/* Admin: dedicated preview row (3 columns) */
.wcpt-preview-row{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;margin:8px 0 12px}
.wcpt-preview-card{border:1px dashed #e5e7eb;border-radius:12px;background:#fff;padding:10px}
.wcpt-preview-card .product .summary h2,
.wcpt-preview-card .product .summary h3{margin:8px 0 6px}

/* v3.9.2: paragraph sizing + subtle decorative shadow */
.single-product .product .summary p,
.single-product .woocommerce-Tabs-panel p,
.single-product .woocommerce-product-details__short-description p{
  font-size:17px; line-height:1.85;
  position:relative;
  margin-block-end:14px;
}
@media (max-width:540px){
  .single-product .product .summary p,
  .single-product .woocommerce-Tabs-panel p,
  .single-product .woocommerce-product-details__short-description p{ font-size:16.5px; }
}
/* Shadow strip under each paragraph */
.single-product .product .summary p::after,
.single-product .woocommerce-Tabs-panel p::after,
.single-product .woocommerce-product-details__short-description p::after{
  content:""; position:absolute; left:10%; right:10%; bottom:-8px; height:10px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.12), rgba(0,0,0,0) 60%);
  pointer-events:none;
}

/* v3.9.4: add a bit more space between headings and the paragraph right after */
.single-product .product .summary :is(h2,h3,h4,h5,h6)+p,
.single-product .woocommerce-Tabs-panel :is(h2,h3,h4,h5,h6)+p,
.single-product .woocommerce-product-details__short-description :is(h2,h3,h4,h5,h6)+p{
  margin-block-start: .55rem !important;
}

/* v3.9.6: sr-only helper for accessible labels */
.wcpt-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}

/* v3.9.6: Callout blocks (inline styled background+padding) */
.single-product .product .summary .wcpt-callout,
.single-product .woocommerce-product-details__short-description .wcpt-callout,
.single-product .woocommerce-Tabs-panel .wcpt-callout,
.single-product .entry-content .wcpt-callout{
  font-size:18px !important; line-height:1.9 !important;
}

/* ensure first gallery image is eager-sized and avoids CLS */
.single-product .woocommerce-product-gallery__image img{max-width:100%; height:auto}
