/* CamyTech Product Detail v2.4 — robust full-width post-summary flow */
/*
 * Body carries both `ctprod-v2-page` and WooCommerce classes. The previous
 * selector incorrectly expected a nested `.woocommerce` element, so video,
 * editorial and alternatives stayed trapped in grid column 1. Target the
 * direct product children instead.
 */
.ctprod-v2-page div.product > .ctprod-video,
.ctprod-v2-page div.product > .ctprod-editorial,
.ctprod-v2-page div.product > .cts-product-alternatives{
  grid-column:1 / -1!important;
  width:100%!important;
  min-width:0!important;
  max-width:none;
  justify-self:stretch;
}

/* Product video: always a deliberate full-width block after the native summary. */
.ctprod-v2-page .ctprod-video{width:min(100%,960px)!important;max-width:960px!important;margin:58px auto 0!important;padding:0!important;display:block!important;clear:both;border:0!important;background:transparent!important;box-shadow:none!important}
.ctprod-v2-page .ctprod-video.is-portrait{width:min(100%,390px)!important;max-width:390px!important}
.ctprod-v2-page .ctprod-video__copy,.ctprod-v2-page .ctprod-video__eyebrow,.ctprod-v2-page .ctprod-video__title,.ctprod-v2-page .ctprod-video__lead{display:none!important}
.ctprod-v2-page .ctprod-video__media{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:20px;background:#111;box-shadow:0 20px 52px rgba(48,35,24,.12)}
.ctprod-v2-page .ctprod-video.is-portrait .ctprod-video__media{aspect-ratio:9/16}
.ctprod-v2-page .ctprod-video__media iframe,.ctprod-v2-page .ctprod-video__media video{position:absolute!important;inset:0;width:100%!important;height:100%!important;border:0!important;object-fit:cover!important;border-radius:inherit}

/* Long-form editorial. DOM keeps the TOC before the article for mobile, while desktop places it right. */
.ctprod-v2-page .ctprod-editorial{width:100%;margin-top:42px;padding-top:42px;border-top:1px solid #ece4da}
.ctprod-v2-page .ctprod-editorial__grid{display:grid;grid-template-columns:minmax(0,820px) 220px;grid-template-areas:"main toc";gap:44px;align-items:start;justify-content:center;width:100%;max-width:1120px;margin:0 auto}
.ctprod-v2-page .ctprod-editorial__main{grid-area:main;min-width:0}
.ctprod-v2-page .ctprod-editorial__aside{grid-area:toc;min-width:0;align-self:start}
.ctprod-v2-page .ctprod-editorial .woocommerce-tabs{margin:0!important;padding:0!important;border:0!important;max-width:none!important;grid-column:auto!important}
.ctprod-v2-page .ctprod-editorial .woocommerce-tabs .panel{max-width:none!important;width:100%;margin:0!important}
.ctprod-v2-page .ctprod-editorial .woocommerce-tabs ul.tabs:has(li:only-child){display:none!important}
.ctprod-v2-page .ctprod-editorial .woocommerce-tabs ul.tabs:has(li:only-child)+.panel{margin-top:0!important}
.ctprod-v2-page .ctprod-editorial h2,.ctprod-v2-page .ctprod-editorial h3{scroll-margin-top:118px}

/* Desktop sticky TOC */
.ctprod-v2-page .ctprod-toc--desktop{position:sticky;top:108px;padding:14px 13px;border:1px solid #e7ddd1;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 14px 36px rgba(49,36,24,.06);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ctprod-v2-page .ctprod-toc[hidden]{display:none!important}
.ctprod-v2-page .ctprod-toc__label{display:block;margin:0 0 12px;font:700 12.5px/1.4 "Be Vietnam Pro",sans-serif;color:#302a25}
.ctprod-v2-page .ctprod-toc__list{list-style:none;margin:0;padding:0;display:grid;gap:3px;max-height:calc(100vh - 170px);overflow:auto;scrollbar-width:thin}
.ctprod-v2-page .ctprod-toc__list li{margin:0!important;padding:0!important}
.ctprod-v2-page .ctprod-toc__list a{display:block;padding:7px 8px;border-radius:8px;color:#6c6259;font:500 11.7px/1.46 "Be Vietnam Pro",sans-serif;text-decoration:none;transition:background .18s ease,color .18s ease}
.ctprod-v2-page .ctprod-toc__list li.is-h3 a{padding-left:19px;font-size:11.1px;color:#83786e}
.ctprod-v2-page .ctprod-toc__list a:hover,.ctprod-v2-page .ctprod-toc__list a.is-active{background:#f7f0e6;color:#8f6023}
.ctprod-v2-page .ctprod-toc--mobile{display:none}

@media(max-width:1024px){
  .ctprod-v2-page .ctprod-editorial__grid{grid-template-columns:minmax(0,1fr) 210px;gap:28px}
}
@media(max-width:820px){
  .ctprod-v2-page .ctprod-video{margin-top:40px!important}
  .ctprod-v2-page .ctprod-video.is-portrait{width:min(78vw,320px)!important;margin-left:auto!important;margin-right:auto!important}
  .ctprod-v2-page .ctprod-video__media{border-radius:16px}
  .ctprod-v2-page .ctprod-editorial{margin-top:48px;padding-top:0;border-top:0}
  .ctprod-v2-page .ctprod-editorial__grid{display:grid;grid-template-columns:1fr;grid-template-areas:"toc" "main";gap:20px}
  .ctprod-v2-page .ctprod-editorial__aside{position:sticky;top:72px;z-index:35;margin:0 -2px;align-self:start}
  .ctprod-v2-page .ctprod-toc--desktop{display:none!important}
  .ctprod-v2-page .ctprod-toc--mobile{display:block;border:1px solid #e4d8ca;border-radius:13px;background:rgba(255,252,247,.97);box-shadow:0 9px 26px rgba(48,35,24,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden}
  .ctprod-v2-page .ctprod-toc--mobile[hidden]{display:none!important}
  .ctprod-v2-page .ctprod-toc--mobile summary{list-style:none;cursor:pointer;padding:11px 13px;font:700 12.5px/1.45 "Be Vietnam Pro",sans-serif;color:#342d27}
  .ctprod-v2-page .ctprod-toc--mobile summary::-webkit-details-marker{display:none}
  .ctprod-v2-page .ctprod-toc--mobile summary:after{content:"+";float:right;font-size:18px;line-height:1}
  .ctprod-v2-page .ctprod-toc--mobile[open] summary:after{content:"−"}
  .ctprod-v2-page .ctprod-toc--mobile .ctprod-toc__list{max-height:min(58vh,430px);padding:0 9px 12px;overflow:auto}
  .ctprod-v2-page .ctprod-editorial h2,.ctprod-v2-page .ctprod-editorial h3{scroll-margin-top:142px}
}
@media(max-width:600px){
  .ctprod-v2-page .ctprod-video{margin-top:32px!important}
  .ctprod-v2-page .ctprod-editorial{margin-top:38px}
  .ctprod-v2-page .ctprod-editorial__aside{top:68px}
}


/* v4.4.1 — compact long-form media on phones */
.ctprod-v2-page .ctprod-editorial figure,
.ctprod-v2-page .ctprod-editorial .wp-caption{max-width:100%!important;background:transparent!important;box-shadow:none!important}
.ctprod-v2-page .ctprod-editorial figure img,
.ctprod-v2-page .ctprod-editorial .wp-caption img,
.ctprod-v2-page .ctprod-editorial .entry-content>p>img{
  display:block!important;width:auto!important;max-width:100%!important;height:auto!important;
  max-height:min(760px,76vh)!important;margin-left:auto!important;margin-right:auto!important;
  object-fit:contain!important;background:transparent!important;
}
@media(max-width:820px){
  .ctprod-v2-page .ctprod-editorial__aside{margin-left:0!important;margin-right:0!important}
  .ctprod-v2-page .ctprod-editorial figure img,
  .ctprod-v2-page .ctprod-editorial .wp-caption img,
  .ctprod-v2-page .ctprod-editorial .entry-content>p>img{max-height:68svh!important;border-radius:11px!important}
}


/* v4.4.2 — fail-safe product grid spanning */
.ctprod-v2-page .cts-product-main > .product > .ctprod-video,
.ctprod-v2-page .cts-product-main > .product > .ctprod-editorial,
.ctprod-v2-page .cts-product-main > .product > .cts-product-alternatives{
  grid-column:1 / -1!important;
  inline-size:100%!important;
  justify-self:stretch!important;
}
@media(min-width:821px){
  .ctprod-v2-page .ctprod-editorial__main{width:100%;max-width:820px}
  .ctprod-v2-page .ctprod-editorial__aside{width:220px}
}
