/* Stage 3: catalogue, product and comparison only. No player or home selectors. */
body.drk3-design { --drk3-line:#d4e3e1; --drk3-soft:#eff7f7; --drk3-ink:#264e53; --drk3-teal:#16798d; }
body.drk3-design :is(.drk3-card,.drk3-tools,.drk3-compare,.drk3-product-composition) { box-sizing:border-box; }
body.drk3-design :is(.drk3-card,.drk3-tools,.drk3-compare,.drk3-product-composition) * { box-sizing:border-box; }
body.drk3-design :is(.drk3-card,.drk3-tools,.drk3-compare,.drk3-product-composition) :is(a,button,summary):focus-visible { outline:3px solid #16798d; outline-offset:3px; }
body.drk3-design :is(.drk3-card,.drk3-tools,.drk3-compare) :is(a,p,h2,span,summary) { overflow-wrap:anywhere; }

/* Keep the current shop entry; selected conditions stay explicit and removable. */
body.drk3-design.drkc-catalog .woocommerce-products-header { margin-bottom:16px; }
body.drk3-design .drk3-tools .drkc-search { display:flex; width:100%; max-width:560px; gap:8px; }
body.drk3-design .drk3-tools .drkc-search input[type=search] { flex:1; min-width:0; width:100%; height:auto; min-height:48px; font-size:16px; border-radius:8px; }
body.drk3-design .drk3-tools .drkc-search button { flex:none; min-height:48px; margin:0; padding:10px 16px; }
body.drk3-design .drk3-tools :is(.drkc-formats,.drkc-topics) a { min-height:44px; display:inline-flex; align-items:center; max-width:100%; }
body.drk3-design .drk3-tools :is(.drkc-formats,.drkc-topics) a[aria-current] { font-weight:700; text-decoration:underline; text-underline-offset:4px; }
body.drk3-design .drk3-active-filters { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:12px; padding-top:12px; border-top:1px solid var(--drk3-line); }
body.drk3-design .drk3-active-filters a { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:8px 12px; font-size:14px; border-radius:8px; background:var(--drk3-soft); max-width:100%; }
body.drk3-design .drk3-active-filters .drk3-reset { background:transparent; text-decoration:underline; }
body.drk3-design.drkc-catalog .drkc-loop-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:0; margin:0 0 20px; border:0; }
body.drk3-design.drkc-catalog .drkc-loop-toolbar :is(.woocommerce-result-count,.woocommerce-ordering) { margin:0; float:none; }
body.drk3-design.drkc-catalog .drkc-loop-toolbar select { font-size:16px; min-height:48px; max-width:100%; }

/* Cards expose real metadata, matching preview and the existing protected POST. */
body.drk3-design.drks-shop ul.products[class*="columns-"] { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
body.drk3-design.drks-shop.woocommerce ul.products li.product.drk3-card { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto auto 1fr auto; grid-row:auto; gap:0; padding:0; margin:0; width:auto; min-width:0; border:1px solid var(--drk3-line); border-radius:14px; overflow:hidden; background:#fff; }
body.drk3-design .drk3-card>* { min-width:0; }
body.drk3-design .drk3-cover { display:block; width:100%; aspect-ratio:1; align-self:start; }
body.drk3-design .drk3-cover img { display:block; width:100%!important; height:auto!important; aspect-ratio:1; object-fit:contain; margin:0!important; border-radius:0; }
body.drk3-design .drk3-card-heading { padding:22px 22px 0; }
body.drk3-design .drk3-kind { font-size:12px; color:#536b6f; margin:0 0 8px; }
body.drk3-design .drk3-card h2 { font:500 19px/1.4 Montserrat,sans-serif; margin:0 0 16px; text-transform:none; text-wrap:pretty; }
body.drk3-design .drk3-card h2 a { color:var(--drk3-ink); text-decoration:none; }
body.drk3-design .drk3-card-meta { padding:0 22px; margin:0 0 16px; font-size:15px; line-height:1.6; color:var(--drk3-ink); }
body.drk3-design .drk3-card-meta>span { display:block; margin-top:3px; color:#536b6f; font-size:13px; }
body.drk3-design .drk3-card-price { padding:0 22px; font-size:24px; line-height:1.4; font-weight:600; color:var(--drk3-ink); }
body.drk3-design .drk3-card-price>span:not(.amount) { display:block; margin-top:6px; font-size:13px; font-weight:400; color:#536b6f; }
body.drk3-design .drk3-card-price del { font-size:16px; }
body.drk3-design .drk3-card-price ins { background:none; }
body.drk3-design .drk3-preview { display:flex; align-items:center; gap:12px; min-height:64px; margin:20px 22px 16px; padding:12px; border:1px solid var(--drk3-line); background:var(--drk3-soft); border-radius:10px; text-decoration:none; font-size:15px; line-height:1.5; }
body.drk3-design .drk3-preview>span:nth-child(2) { flex:1; min-width:0; }
body.drk3-design .drk3-preview small { display:block; font-size:12px; color:#536b6f; }
body.drk3-design .drk3-card-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; padding:0 22px 14px; align-self:end; }
body.drk3-design .drk3-card-actions form { margin:0; }
body.drk3-design .drk3-card-actions .drkc-buy-button { width:100%; min-height:48px; }
body.drk3-design .drk3-details { display:flex; justify-content:center; align-items:center; gap:8px; padding:8px 0; min-height:44px; text-align:center; font-size:14px; }
@supports(grid-template-rows:subgrid) {
  body.drk3-design.drks-shop ul.products[class*="columns-"] { row-gap:0; }
  body.drk3-design.drks-shop.woocommerce ul.products li.product.drk3-card { grid-template-rows:subgrid; grid-row:span 6; margin-bottom:24px; }
}

/* Product facts and composition are available before the purchase decision. */
body.drk3-design.single-product div.product .summary .single-product-category { display:none; }
body.drk3-design .drk3-product-kind { font-size:13px; color:#536b6f; margin:0 0 10px; }
body.drk3-design .drk3-product-meta { font-size:16px; line-height:1.6; margin:0 0 18px; color:var(--drk3-ink); }
body.drk3-design .drk3-product-meta span { display:block; font-size:14px; color:#536b6f; margin-top:5px; }
body.drk3-design .drk3-product-composition { padding:0; margin:18px 0; border-block:1px solid var(--drk3-line); }
body.drk3-design .drk3-product-composition summary { min-height:48px; padding:12px 0; cursor:pointer; font-weight:600; color:var(--drk3-ink); }
body.drk3-design .drk3-tracks { list-style:none!important; padding:0!important; margin:8px 0 16px!important; }
body.drk3-design .drk3-tracks li { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:10px 0; margin:0; border-bottom:1px solid var(--drk3-line); font-size:15px; line-height:1.6; }
body.drk3-design .drk3-tracks li>span:first-child { min-width:0; overflow-wrap:anywhere; }
body.drk3-design .drk3-duration { flex:none; font-variant-numeric:tabular-nums; color:#536b6f; }
body.drk3-design .drk3-tracks li:last-child { border:0; }
body.drk3-design.single-product .drkc-primary-purchase { margin:20px 0 12px; padding:20px; }
body.drk3-design.single-product .summary form.cart { margin:0 0 24px; }
body.drk3-design.single-product .summary form.cart .single_add_to_cart_button { margin:0!important; width:100%; min-height:44px; background:transparent!important; color:var(--drk3-teal)!important; border:0!important; text-decoration:underline; }
body.drk3-design.single-product .drk3-product-description { scroll-margin-top:24px; }
body.drk3-design.single-product .drk3-product-description>h2 { font-size:clamp(24px,2.5vw,30px); line-height:1.35; margin:32px 0 16px; color:var(--drk3-ink); }
body.drk3-design.single-product .drk3-product-description>p { margin-bottom:20px; }
body.drk3-design.single-product .drkj-benefits { padding-top:32px; }
body.drk3-design.single-product .drkj-features { gap:28px; }
body.drk3-design.single-product .drkj-player-shot { max-width:280px; justify-self:center; }
body.drk3-design.single-product .drkj-feature-list { gap:16px; }
body.drk3-design.single-product .drkj-section-nav a { display:inline-flex; align-items:center; min-height:44px; }

/* Native table semantics are kept in the stacked mobile presentation. */
body.drk3-design .drk3-compare-lead { font-size:17px; line-height:1.7; max-width:70ch; }
body.drk3-design .drk3-overlap { padding:20px 24px; border:1px solid var(--drk3-line); background:#f6f3ec; border-radius:12px; font-size:15px; line-height:1.65; margin:24px 0; }
body.drk3-design .drk3-compare-table { border-collapse:separate; border-spacing:0; width:100%; margin:0 0 32px; border:1px solid var(--drk3-line); border-radius:12px; font-size:15px; line-height:1.6; table-layout:fixed; }
body.drk3-design .drk3-compare-table :is(th,td) { padding:20px; border:0; border-bottom:1px solid var(--drk3-line); vertical-align:top; text-align:left; font-weight:400; overflow-wrap:anywhere; }
body.drk3-design .drk3-compare-table thead th { font-size:13px; font-weight:600; background:var(--drk3-soft); }
body.drk3-design .drk3-compare-table thead th:first-child { width:32%; }
body.drk3-design .drk3-compare-table thead th:nth-child(2) { width:16%; }
body.drk3-design .drk3-compare-table thead th:nth-child(3) { width:14%; }
body.drk3-design .drk3-compare-table tbody tr:last-child>* { border-bottom:0; }
body.drk3-design .drk3-compare-product { display:flex; align-items:start; gap:14px; text-decoration:none; min-height:44px; font-family:Montserrat,sans-serif; font-weight:500; }
body.drk3-design .drk3-compare-product img { flex:none; width:64px; height:64px; aspect-ratio:1; object-fit:contain; border-radius:8px; margin:0; }
body.drk3-design .drk3-compare-product span { min-width:0; }
body.drk3-design .drk3-compare-table small { display:block; color:#536b6f; font-size:13px; margin-top:4px; }
body.drk3-design .drk3-compare-price { font-size:21px; color:var(--drk3-ink); }
body.drk3-design .drk3-compare-composition { margin:0 0 8px; }
body.drk3-design .drk3-compare-composition summary { min-height:44px; padding:8px 0; cursor:pointer; font-weight:600; color:var(--drk3-ink); }
body.drk3-design .drk3-compare-composition p { font-size:15px; margin:12px 0; }
body.drk3-design .drk3-compare :is(.drk3-compare-preview,.drk3-compare-more) { display:flex; align-items:center; gap:8px; min-height:44px; margin-top:4px; padding:8px 0; }
body.drk3-design .drk3-cell-label { display:none; }
body.drk3-design .drk3-compare-help { padding:28px; background:var(--drk3-soft); border:1px solid var(--drk3-line); border-radius:14px; margin:32px 0; }
body.drk3-design .drk3-compare-help h2 { margin:0 0 12px; font-size:24px; line-height:1.4; }
body.drk3-design .drk3-compare-help>a { display:inline-flex; align-items:center; min-height:48px; margin:8px 16px 0 0; }

@media(max-width:1000px) {
  body.drk3-design.drks-shop ul.products[class*="columns-"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.drk3-design .drk3-compare-table :is(th,td) { padding:16px 12px; }
  body.drk3-design .drk3-compare-product { flex-direction:column; }
}
@media(max-width:767px) {
  body.drk3-design.drkc-catalog .woocommerce-products-header { margin-bottom:16px; }
  body.drk3-design .drk3-tools .drkc-formats { gap:6px; }
  body.drk3-design .drk3-tools .drkc-formats a { padding:8px 10px; font-size:13px; flex:1 1 auto; justify-content:center; }
  body.drk3-design.drkc-catalog .drkc-loop-toolbar { gap:8px; margin-bottom:16px; }
  body.drk3-design.drkc-catalog .woocommerce-ordering { width:100%; }
  body.drk3-design.drkc-catalog .woocommerce-ordering select { width:100%; }
  body.drk3-design.drks-shop ul.products[class*="columns-"] { grid-template-columns:minmax(0,1fr); gap:16px; }
  body.drk3-design.drks-shop.woocommerce ul.products li.product.drk3-card { grid-template-columns:104px minmax(0,1fr); grid-template-rows:repeat(5,auto); grid-row:auto; padding:18px; gap:0 16px; margin:0; }
  body.drk3-design .drk3-cover { grid-row:1; border-radius:8px; overflow:hidden; }
  body.drk3-design .drk3-card-heading { padding:0; }
  body.drk3-design .drk3-card h2 { font-size:18px; margin:0; }
  body.drk3-design .drk3-kind { font-size:12px; margin-bottom:6px; }
  body.drk3-design .drk3-card-meta { grid-column:1/-1; margin:16px 0 12px; padding:0; }
  body.drk3-design .drk3-card-price { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; padding:0; }
  body.drk3-design .drk3-card-price>span:not(.amount) { margin:0; }
  body.drk3-design .drk3-preview { grid-column:1/-1; margin:16px 0 12px; }
  body.drk3-design .drk3-card-actions { grid-column:1/-1; padding:0; }
  body.drk3-design.single-product #content .ast-woocommerce-container div.product .woocommerce-product-gallery { width:176px!important; margin:0 auto 24px!important; float:none; }
  body.drk3-design.single-product div.product .summary { width:100%!important; float:none; margin:0; }
  body.drk3-design.single-product div.product .summary .product_title { font-size:26px; line-height:1.35; margin-bottom:16px; text-wrap:pretty; }
  body.drk3-design.single-product .drkj-features { padding:22px 18px; }
  body.drk3-design.single-product .drkj-player-shot { max-width:248px; }
  body.drk3-design.single-product .drkj-section-nav { gap:6px 18px; margin-bottom:20px; padding-bottom:16px; }
  body.drk3-design.single-product .drkc-primary-purchase { padding:16px; }
  body.drk3-design.single-product .summary .drkj-preview { padding:16px; }
  body.drk3-design .drk3-compare-table { display:block; border:0; background:transparent; table-layout:auto; }
  body.drk3-design .drk3-compare-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
  body.drk3-design .drk3-compare-table tbody { display:grid; gap:16px; }
  body.drk3-design .drk3-compare-table tr { display:grid; grid-template-columns:minmax(0,1fr); padding:18px; background:#fff; border:1px solid var(--drk3-line); border-radius:14px; }
  body.drk3-design .drk3-compare-table :is(th,td) { display:block; width:auto!important; padding:0; border:0; }
  body.drk3-design .drk3-compare-table tbody th { padding-bottom:16px; }
  body.drk3-design .drk3-compare-product { flex-direction:row; font-size:18px; }
  body.drk3-design .drk3-compare-product img { width:72px; height:72px; }
  body.drk3-design .drk3-compare-table tbody td:nth-child(2),body.drk3-design .drk3-compare-table tbody td:nth-child(3) { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:8px 0; }
  body.drk3-design .drk3-cell-label { display:block; color:#536b6f; font-size:14px; }
  body.drk3-design .drk3-compare-table tbody td:nth-child(2)>span:last-child { text-align:right; }
  body.drk3-design .drk3-compare-table tbody td:last-child { padding-top:12px; margin-top:12px; border-top:1px solid var(--drk3-line); }
  body.drk3-design .drk3-compare-help { padding:22px 18px; }
  body.drk3-design .drk3-overlap { padding:18px; }
}
@media(max-width:360px) {
  body.drk3-design.drks-shop.woocommerce ul.products li.product.drk3-card { grid-template-columns:88px minmax(0,1fr); gap:0 12px; padding:16px; }
  body.drk3-design .drk3-card h2 { font-size:17px; }
  body.drk3-design .drk3-card-price { display:block; }
  body.drk3-design .drk3-card-price>span:not(.amount) { margin-top:4px; }
  body.drk3-design .drk3-compare-table tr { padding:16px; }
  body.drk3-design .drk3-compare-product { font-size:17px; gap:12px; }
  body.drk3-design .drk3-compare-product img { width:56px; height:56px; }
}

body.drk3-design :is(.drk3-preview,.drk3-details,.drk3-compare-product,.drk3-compare-preview,.drk3-compare-more) { color:var(--drk3-teal); }

/* Legacy sections on these surfaces must also reflow with enlarged text. */
body.drk3-design .drks-sample-intro>div { min-width:0; overflow-wrap:anywhere; }
body.drk3-design.single-product :is(.drk3-product-description,.drkj) { overflow-wrap:anywhere; }
body.drk3-design.single-product :is(.drk-track-description,.drkj-benefit-grid,.drkj-research-grid,.drkj-next,.drkj-actions)>* { min-width:0; }
@media(max-width:767px) {
  body.drk3-design.single-product :is(.drk-track-description,.drkj-benefit-grid,.drkj-research-grid,.drkj-next,.drkj-actions) { grid-template-columns:minmax(0,1fr); }
}
