/* Catalogue only. Existing product, checkout, home and player layouts are preserved. */
body.drksp-design { --drksp-line:#d4e3e1; --drksp-soft:#eff7f7; --drksp-ink:#264e53; --drksp-teal:#16798d; }
body.drksp-design :is(.drksp-card,.drksp-tools) { box-sizing:border-box; }
body.drksp-design :is(.drksp-card,.drksp-tools) * { box-sizing:border-box; }
body.drksp-design :is(.drksp-card,.drksp-tools) :is(a,button,summary):focus-visible { outline:3px solid #16798d; outline-offset:3px; }
body.drksp-design :is(.drksp-card,.drksp-tools) :is(a,p,h2,span,summary) { overflow-wrap:anywhere; }

/* Keep the current shop entry; selected conditions stay explicit and removable. */
body.drksp-design.drkc-catalog .woocommerce-products-header { margin-bottom:16px; }
body.drksp-design .drksp-tools .drkc-search { display:flex; width:100%; max-width:560px; gap:8px; }
body.drksp-design .drksp-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.drksp-design .drksp-tools .drkc-search button { flex:none; min-height:48px; margin:0; padding:10px 16px; }
body.drksp-design .drksp-tools :is(.drkc-formats,.drkc-topics) a { min-height:44px; display:inline-flex; align-items:center; max-width:100%; }
body.drksp-design .drksp-tools :is(.drkc-formats,.drkc-topics) a[aria-current] { font-weight:700; text-decoration:underline; text-underline-offset:4px; }
body.drksp-design .drksp-active-filters { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:12px; padding-top:12px; border-top:1px solid var(--drksp-line); }
body.drksp-design .drksp-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(--drksp-soft); max-width:100%; }
body.drksp-design .drksp-active-filters .drksp-reset { background:transparent; text-decoration:underline; }
body.drksp-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.drksp-design.drkc-catalog .drkc-loop-toolbar :is(.woocommerce-result-count,.woocommerce-ordering) { margin:0; float:none; }
body.drksp-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.drksp-design.drks-shop ul.products[class*="columns-"] { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
body.drksp-design.drks-shop.woocommerce ul.products li.product.drksp-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(--drksp-line); border-radius:14px; overflow:hidden; background:#fff; }
body.drksp-design .drksp-card>* { min-width:0; }
body.drksp-design .drksp-cover { display:block; width:100%; aspect-ratio:1; align-self:start; }
body.drksp-design .drksp-cover img { display:block; width:100%!important; height:auto!important; aspect-ratio:1; object-fit:contain; margin:0!important; border-radius:0; }
body.drksp-design .drksp-card-heading { padding:22px 22px 0; }
body.drksp-design .drksp-kind { font-size:12px; color:#536b6f; margin:0 0 8px; }
body.drksp-design .drksp-card h2 { font:500 19px/1.4 Montserrat,sans-serif; margin:0 0 16px; text-transform:none; text-wrap:pretty; }
body.drksp-design .drksp-card h2 a { color:var(--drksp-ink); text-decoration:none; }
body.drksp-design .drksp-card-meta { padding:0 22px; margin:0 0 16px; font-size:15px; line-height:1.6; color:var(--drksp-ink); }
body.drksp-design .drksp-card-meta>span { display:block; margin-top:3px; color:#536b6f; font-size:13px; }
body.drksp-design .drksp-card-price { padding:0 22px; font-size:24px; line-height:1.4; font-weight:600; color:var(--drksp-ink); }
body.drksp-design .drksp-card-price>span:not(.amount) { display:block; margin-top:6px; font-size:13px; font-weight:400; color:#536b6f; }
body.drksp-design .drksp-card-price del { font-size:16px; }
body.drksp-design .drksp-card-price ins { background:none; }
body.drksp-design .drksp-preview { display:flex; align-items:center; gap:12px; min-height:64px; margin:20px 22px 16px; padding:12px; border:1px solid var(--drksp-line); background:var(--drksp-soft); border-radius:10px; text-decoration:none; font-size:15px; line-height:1.5; }
body.drksp-design .drksp-preview>span:nth-child(2) { flex:1; min-width:0; }
body.drksp-design .drksp-preview small { display:block; font-size:12px; color:#536b6f; }
body.drksp-design .drksp-card-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; padding:0 22px 14px; align-self:end; }
body.drksp-design .drksp-card-actions form { margin:0; }
body.drksp-design .drksp-card-actions .drkc-buy-button { width:100%; min-height:48px; }
body.drksp-design .drksp-details { display:flex; justify-content:center; align-items:center; gap:8px; padding:8px 0; min-height:44px; text-align:center; font-size:14px; }
@media(min-width:1100px) {
@supports(grid-template-rows:subgrid) {
  body.drksp-design.drks-shop ul.products[class*="columns-"] { row-gap:0; }
  body.drksp-design.drks-shop.woocommerce ul.products li.product.drksp-card { grid-template-rows:subgrid; grid-row:span 6; margin-bottom:24px!important; }
}

}

/* One page rhythm, independent of later site-wide theme packages. */
body.drksp-design {
  --drks-ink:#264e53; --drks-muted:#536b6f; --drks-teal:#16798d; --drks-line:#d4e3e1;
  background:#f7f9f8;
}
body.drksp-design #content>.ast-container { max-width:1248px; padding-inline:32px; }
body.drksp-design #primary { min-width:0; margin-block:36px 48px; }
body.drksp-design .ast-woocommerce-container { padding:0; background:transparent; }
body.drksp-design .woocommerce-breadcrumb { margin:0 0 20px; color:#536b6f; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
body.drksp-design .woocommerce-products-header__title { margin:0; max-width:850px; font-size:clamp(28px,3vw,40px); line-height:1.2; }
body.drksp-design .drks-entry-lead { max-width:720px; margin:16px 0 22px; font-size:16px; line-height:1.65; color:#536b6f; }
body.drksp-design .drks-situations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 32px; }
body.drksp-design .drks-situations a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px; padding:16px 18px; border:1px solid #d4e3e1; border-radius:12px; background:#edf6f6; color:#264e53; font-size:16px; line-height:1.45; text-decoration:none; }
body.drksp-design .drks-situations a:hover { border-color:#16798d; background:#e3f0f1; }
body.drksp-design .drks-situations a span { flex:none; }
body.drksp-design .drks-entry-catalog { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 20px; margin:0 0 12px; scroll-margin-top:24px; }
body.drksp-design .drks-entry-catalog h2 { margin:0; font-size:25px; line-height:1.4; font-weight:500; }
body.drksp-design .drks-entry-catalog>a,
body.drksp-design .drks-entry-options>a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; color:#16798d; text-underline-offset:4px; }
body.drksp-design .drks-entry-tools { padding:0; margin-bottom:16px; background:transparent; }
body.drksp-design .drks-entry-tools .drkc-formats { display:flex; flex-wrap:wrap; width:fit-content; max-width:100%; gap:6px; margin:0; padding:0; background:transparent; border:0; }
body.drksp-design .drks-entry-tools .drkc-formats a { justify-content:center; border:1px solid #bcd3d4; border-radius:9px; padding:10px 18px; min-height:48px; background:white; color:#264e53; text-align:center; }
body.drksp-design .drks-entry-tools .drkc-formats a[aria-current] { background:#16798d; color:white; border-color:#16798d; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
body.drksp-design .drks-entry-options { display:flex; align-items:flex-start; flex-wrap:wrap; gap:0 24px; margin-top:6px; }
body.drksp-design .drks-search-topics { flex:1 1 240px; min-width:0; }
body.drksp-design .drks-search-topics summary { width:fit-content; min-height:44px; padding:10px 0; color:#264e53; font-size:14px; line-height:24px; cursor:pointer; }
body.drksp-design .drks-search-panel { padding:8px 0 16px; }
body.drksp-design .drkc-topics { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 0; }
body.drksp-design .drkc-topics a { min-height:44px; padding:10px 12px; border:1px solid #d4e3e1; border-radius:8px; background:white; color:#264e53; line-height:1.5; }
body.drksp-design .drksr-catalog-notice { margin:0 0 20px; padding:12px 16px; border:1px solid #d4e3e1; border-radius:10px; background:#edf6f6; font-size:14px; line-height:1.6; color:#536b6f; }
body.drksp-design .drksr-catalog-notice::before { display:none; }
body.drksp-design ul.products::before,body.drksp-design ul.products::after { display:none; }
body.drksp-design .drksp-card :is(a,button) { max-width:100%; }
body.drksp-design .drksp-preview { color:#16798d; align-self:end; }
body.drksp-design .drksp-preview:hover { border-color:#16798d; background:#e3f0f1; }
body.drksp-design .drksp-card-actions .drkc-buy-button { white-space:normal; }
body.drksp-design .drksp-card-price .amount { display:inline; }
body.drksp-design .drks-listening { margin:48px 0 0; padding:36px 0; border-top:1px solid #d4e3e1; }
body.drksp-design .drks-section-heading { align-items:start; gap:20px; }
body.drksp-design .drks-section-heading h2 { font-size:clamp(25px,2.7vw,34px); }
body.drksp-design .drks-sample-card { min-width:0; padding:22px; border-radius:14px; background:white; }
body.drksp-design .drks-sample-intro { min-width:0; min-height:0; align-items:start; gap:14px; }
body.drksp-design .drks-sample-intro>div { min-width:0; }
body.drksp-design .drks-sample-intro h3 { overflow-wrap:anywhere; font-size:17px; line-height:1.5; }
body.drksp-design .drks-sample-intro img { width:64px; height:64px; object-fit:contain; }
body.drksp-design .drks-card-preview { display:flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px; border:1px solid #bcd3d4; border-radius:9px; background:#eff7f7; color:#16798d; font-size:15px; line-height:1.5; text-decoration:none; }
body.drksp-design .drks-sample-description { margin:16px 0; }
body.drksp-design .drks-text-link { display:inline-flex; align-items:center; min-height:44px; line-height:1.5; }
body.drksp-design .drks-player-link { margin:0 0 24px; padding:28px; background:white; }
body.drksp-design :is(.drks-situations a,.drks-entry-catalog a,.drks-entry-options a,summary,.drks-card-preview,.drks-text-link):focus-visible { outline:3px solid #16798d; outline-offset:4px; }
@media(max-width:767px) {
  body.drksp-design #content>.ast-container { padding-inline:20px; }
  body.drksp-design #primary { margin-top:24px; }
  body.drksp-design .woocommerce-breadcrumb { font-size:12px; margin-bottom:16px; }
  body.drksp-design .woocommerce-products-header__title { font-size:28px; line-height:1.25; }
  body.drksp-design .drks-entry-lead { font-size:15px; margin:12px 0 18px; }
  body.drksp-design .drks-situations { grid-template-columns:1fr; gap:8px; margin-bottom:26px; }
  body.drksp-design .drks-situations a { min-height:48px; padding:12px 14px; font-size:15px; }
  body.drksp-design .drks-entry-catalog { margin-bottom:8px; }
  body.drksp-design .drks-entry-catalog h2 { font-size:22px; }
  body.drksp-design .drks-entry-catalog>a { font-size:13px; }
  body.drksp-design .drks-entry-tools .drkc-formats { display:grid; grid-template-columns:1fr 1.2fr 1fr; width:100%; gap:6px; }
  body.drksp-design .drks-entry-tools .drkc-formats a { font-size:13px; padding:9px 8px; white-space:nowrap; }
  body.drksp-design .drks-entry-tools .drkc-formats a::before { display:none!important; content:none; }
  body.drksp-design .drks-entry-options { gap:0 12px; }
  body.drksp-design .drks-search-topics { flex:1 1 140px; }
  body.drksp-design .drks-search-topics[open] { flex-basis:100%; }
  body.drksp-design .drks-entry-options>a { font-size:13px; }
  body.drksp-design .drksr-catalog-notice { padding:12px 14px; font-size:13px; margin-bottom:16px; }
  body.drksp-design .drks-listening { margin-top:32px; padding-block:28px; }
  body.drksp-design .drks-sample-grid { grid-template-columns:1fr; gap:14px; }
  body.drksp-design .drks-sample-card { display:flex; flex-direction:column; padding:18px; gap:0; }
  body.drksp-design .drks-sample-intro { margin-bottom:16px; }
  body.drksp-design .drks-card-preview { width:100%; }
  body.drksp-design .drks-player-link { padding:22px 18px; }
}


@media(max-width:1099px){body.drksp-design.drks-shop ul.products[class*="columns-"]{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px) {
  body.drksp-design.drkc-catalog .woocommerce-products-header { margin-bottom:16px; }
  body.drksp-design .drksp-tools .drkc-formats { gap:6px; }
  body.drksp-design .drksp-tools .drkc-formats a { padding:8px 10px; font-size:13px; flex:1 1 auto; justify-content:center; }
  body.drksp-design.drkc-catalog .drkc-loop-toolbar { gap:8px; margin-bottom:16px; }
  body.drksp-design.drkc-catalog .woocommerce-ordering { width:100%; }
  body.drksp-design.drkc-catalog .woocommerce-ordering select { width:100%; }
  body.drksp-design.drks-shop ul.products[class*="columns-"] { grid-template-columns:minmax(0,1fr); gap:16px; }
  body.drksp-design.drks-shop.woocommerce ul.products li.product.drksp-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.drksp-design .drksp-cover { grid-row:1; border-radius:8px; overflow:hidden; }
  body.drksp-design .drksp-card-heading { padding:0; }
  body.drksp-design .drksp-card h2 { font-size:18px; margin:0; }
  body.drksp-design .drksp-kind { font-size:12px; margin-bottom:6px; }
  body.drksp-design .drksp-card-meta { grid-column:1/-1; margin:16px 0 12px; padding:0; }
  body.drksp-design .drksp-card-price { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; padding:0; }
  body.drksp-design .drksp-card-price>span:not(.amount) { margin:0; }
  body.drksp-design .drksp-preview { grid-column:1/-1; margin:16px 0 12px; }
  body.drksp-design .drksp-card-actions { grid-column:1/-1; padding:0; }
}
@media(max-width:360px) {
  body.drksp-design.drks-shop.woocommerce ul.products li.product.drksp-card { grid-template-columns:88px minmax(0,1fr); gap:0 12px; padding:16px; }
  body.drksp-design .drksp-card h2 { font-size:17px; }
  body.drksp-design .drksp-card-price { display:block; }
  body.drksp-design .drksp-card-price>span:not(.amount) { margin-top:4px; }
}

/* Keep artwork complete while preventing oversized tablet/desktop cards. */
@media(min-width:1100px) {
  body.drksp-design .drksp-cover { display:flex; justify-content:center; height:268px; aspect-ratio:auto; padding:14px; background:#edf3f1; }
  body.drksp-design .drksp-cover img { width:auto!important; height:100%!important; max-width:100%; object-fit:contain; border-radius:9px; }
}
@media(min-width:768px) and (max-width:1099px) {
  body.drksp-design.drks-shop.woocommerce ul.products li.product.drksp-card { grid-template-columns:100px minmax(0,1fr); grid-template-rows:repeat(5,auto); grid-row:auto; padding:18px; gap:0 16px; margin:0; }
  body.drksp-design .drksp-cover { grid-row:1; border-radius:8px; overflow:hidden; }
  body.drksp-design .drksp-card-heading { padding:0; }
  body.drksp-design .drksp-card h2 { font-size:18px; margin:0; }
  body.drksp-design .drksp-kind { font-size:12px; margin-bottom:6px; }
  body.drksp-design .drksp-card-meta { grid-column:1/-1; margin:16px 0 12px; padding:0; }
  body.drksp-design .drksp-card-price { grid-column:1/-1; padding:0; }
  body.drksp-design .drksp-preview { grid-column:1/-1; margin:16px 0 12px; }
  body.drksp-design .drksp-card-actions { grid-column:1/-1; padding:0; }
}
body.drksp-design .drkc-loop-toolbar .woocommerce-result-count { text-align:left; font-size:14px; }

@media(min-width:768px) and (max-width:1099px) {
  body.drksp-design.drks-shop ul.products[class*="columns-"] { row-gap:24px; }
}
