/* Scoped to the catalogue; typography and colours follow the existing site. */
body.drks-shop { --drks-ink:#194d57; --drks-muted:#526d74; --drks-teal:#16798d; --drks-line:#d8e7e9; }
body.drks-shop #primary { margin-top:32px; }
body.drks-shop .woocommerce-products-header__title { max-width:850px; font-size:clamp(28px,3.1vw,42px); line-height:1.18; letter-spacing:-.025em; }
body.drks-shop .term-description { max-width:820px; font-size:17px; line-height:1.7; }
.drks-jumps { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin:26px 0 44px; }
.drks-jumps a { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; color:var(--drks-ink); font-size:14px; text-decoration:none; }
.drks-jumps a:not(.drks-jump-primary) { border-bottom:1px solid var(--drks-line); }
.drks-jumps .drks-jump-primary { padding:12px 20px; border-radius:9px; background:var(--drks-ink); color:#fff; }
body.drks-shop h2 { text-transform:none; }
.drks-catalog-heading { scroll-margin-top:28px; }
.drks-catalog-heading h2 { font-size:clamp(22px,2.3vw,30px); font-weight:500; margin:0 0 20px; color:var(--drks-ink); }
body.drks-shop .drkc-catalog-tools { background:#f1f7f7; border:1px solid var(--drks-line); border-radius:16px; padding:22px 24px 0; margin-bottom:22px; }
body.drks-shop .drkc-catalog-intro { margin-bottom:18px; font-size:14px; }
body.drks-shop .drkc-catalog-intro>p { display:none; }
body.drks-shop .drkc-loop-toolbar { border-top:0; padding-top:0; }
body.drks-shop ul.products[class*="columns-"] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:stretch; }
body.drks-shop ul.products li.product { display:flex; flex-direction:column; margin:0!important; width:auto!important; min-width:0; }
body.drks-shop ul.products li.product .astra-shop-thumbnail-wrap { width:100%; }
body.drks-shop ul.products li.product .astra-shop-thumbnail-wrap img { display:block; width:100%; aspect-ratio:1; object-fit:contain; border-radius:0; }
body.drks-shop ul.products li.product .astra-shop-summary-wrap { display:flex; flex-direction:column; flex:1; padding:22px; container-type:normal; }
body.drks-shop ul.products li.product .woocommerce-loop-product__title { font-size:18px; line-height:1.4; font-weight:500; text-align:left; text-wrap:pretty; margin:0; min-height:0; }
body.drks-shop .ast-loop-product__link { display:block; margin-bottom:14px; }
body.drks-shop .drkc-card-meta { margin-bottom:20px; }
body.drks-shop ul.products li.product .price { margin-top:auto; }
body.drks-shop .drkc-card-actions { margin-top:12px; }
@supports(grid-template-rows:subgrid) {
 body.drks-shop.woocommerce ul.products li.product { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:subgrid; grid-row:span 7; row-gap:0; }
 body.drks-shop ul.products li.product .astra-shop-summary-wrap { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:subgrid; grid-row:span 6; row-gap:0; }
 body.drks-shop .ast-woo-product-category { align-self:start; }
 body.drks-shop .drkc-card-meta { align-self:start; }
 body.drks-shop ul.products li.product .price { margin-top:0; align-self:end; }
}
.drks-listening { clear:both; padding:52px 0 44px; border-top:1px solid var(--drks-line); margin-top:40px; scroll-margin-top:24px; }
.drks-section-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:26px; }
.drks-eyebrow { color:var(--drks-muted); font-size:12px; line-height:1.5; margin:0 0 8px; }
.drks-section-heading h2,.drks-full h2 { color:var(--drks-ink); font-size:clamp(26px,2.9vw,36px); line-height:1.2; font-weight:500; margin:0; letter-spacing:-.02em; }
.drks-section-heading>p { max-width:360px; margin:0; font-size:15px; line-height:1.65; color:var(--drks-muted); }
.drks-sample-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.drks-sample-card { display:flex; flex-direction:column; min-width:0; padding:22px; border:1px solid var(--drks-line); border-radius:16px; background:#f4f8f8; }
.drks-sample-intro { display:flex; gap:14px; align-items:center; margin-bottom:22px; min-height:84px; }
.drks-sample-intro img { width:72px; height:72px; object-fit:cover; border-radius:10px; flex:none; }
.drks-sample-intro h3 { font-size:17px; line-height:1.35; font-weight:500; text-transform:none; color:var(--drks-ink); margin:0; }
.drks-sample-description { font-size:13px; line-height:1.7; color:var(--drks-muted); margin:18px 0; }
.drks-text-link { margin-top:auto; padding-top:6px; font-size:14px; font-weight:500; color:var(--drks-teal); text-decoration:underline; text-underline-offset:4px; }
.drks-audio audio { max-width:100%; }
.drks-controls { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.drks-controls[hidden],.drks-audio [hidden] { display:none!important; }
body.drks-shop .drks-play { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; border-radius:9px; background:var(--drks-ink); color:#fff; font:inherit; font-size:13px; text-transform:none; letter-spacing:0; min-height:44px; padding:10px 12px; }
.drks-play-icon { width:12px; font-size:12px; }
.drks-progress { flex:1; min-width:72px; }
.drks-seek { display:block; accent-color:var(--drks-teal); width:100%; margin:0; height:28px; cursor:pointer; }
.drks-seek:disabled { cursor:default; opacity:.6; }
.drks-times { display:flex; justify-content:space-between; font-size:11px; line-height:1; color:var(--drks-muted); font-variant-numeric:tabular-nums; }
body.drks-shop .drks-mute { flex:none; width:36px; min-height:44px; display:flex; align-items:center; justify-content:center; border:0; background:transparent; color:var(--drks-ink); padding:4px; }
.drks-mute[aria-pressed="true"] .drks-volume-waves { opacity:.15; }
.drks-audio-error { font-size:13px; color:#9c3529; margin:12px 0 0; }
.drks-full { display:grid; grid-template-columns:.9fr 1.1fr; align-items:stretch; overflow:hidden; border-radius:20px; background:#e4f0f0; margin:12px 0 32px; scroll-margin-top:24px; }
.drks-full figure { margin:0; min-height:360px; }
.drks-full figure img { display:block; width:100%; height:100%; object-fit:cover; }
.drks-full-copy { padding:40px; align-self:center; }
.drks-full h3 { font-size:22px; font-weight:500; text-transform:none; color:var(--drks-ink); margin:20px 0 12px; }
.drks-full-copy>p:not(.drks-eyebrow) { line-height:1.7; font-size:15px; color:var(--drks-muted); }
.drks-full-detail { margin:16px 0; }
.drks-pending { border-top:1px solid #c2dadc; padding-top:18px; margin:24px 0 0; }
.drks-player-link { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:24px 0 30px; padding:24px; border:1px solid var(--drks-line); border-radius:14px; }
.drks-player-link h2 { font-size:20px; font-weight:500; color:var(--drks-ink); margin:0 0 8px; }
.drks-player-link p { font-size:14px; color:var(--drks-muted); margin:0; max-width:620px; }
.drks-player-link>a { flex-shrink:0; color:var(--drks-teal); font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.drks-shop :is(.drks-jumps a,.drks-play,.drks-seek,.drks-mute,.drks-text-link,.drks-player-link>a):focus-visible { outline:3px solid #16798d; outline-offset:4px; }
@media(min-width:1001px) {
 @supports(grid-template-rows:subgrid) {
  .drks-sample-card { display:grid; grid-template-rows:subgrid; grid-row:span 4; row-gap:0; }
 }
}
@media(max-width:1000px) {
 body.drks-shop ul.products[class*="columns-"] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
 .drks-sample-grid { grid-template-columns:1fr; }
 .drks-sample-card { display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; padding:24px; }
 .drks-sample-intro { margin:0; min-height:0; }
 .drks-audio { align-self:center; }
 .drks-sample-description { margin:0; }
 .drks-text-link { align-self:end; padding:0; }
 .drks-full-copy { padding:28px; }
}
@media(max-width:700px) {
 .drks-full { grid-template-columns:1fr; }
 .drks-full figure { min-height:0; height:250px; }
 .drks-player-link { align-items:flex-start; flex-direction:column; }
}
@media(max-width:600px) {
 body.drks-shop #primary { margin-top:24px; }
 body.drks-shop .site-content>.ast-container { padding-inline:18px; }
 body.drks-shop .term-description { font-size:15px; }
 .drks-jumps { gap:8px 18px; margin:22px 0 32px; }
 .drks-jumps .drks-jump-primary { width:100%; }
 .drks-jumps a { font-size:13px; }
 body.drks-shop .drkc-catalog-tools { padding:18px 16px 0; }
 body.drks-shop .drkc-catalog-intro { font-size:13px; }
 body.drks-shop .drkc-formats { border:0; background:transparent; padding:0; }
 body.drks-shop .drkc-formats a { border:1px solid var(--drks-line); background:#fff; }
 body.drks-shop .drkc-formats a[aria-current] { background:var(--drks-ink); }
 body.drks-shop .drkc-search { flex:1 1 100%; }
 body.drks-shop .drkc-tools-foot { gap:6px; }
 body.drks-shop .drkc-tools-foot>a { font-size:12px; }
 body.drks-shop ul.products[class*="columns-"] { grid-template-columns:1fr; gap:24px; }
 body.drks-shop ul.products li.product .astra-shop-summary-wrap { padding:20px; }
 .drks-listening { margin-top:28px; padding:32px 0; }
 .drks-section-heading { display:block; margin-bottom:20px; }
 .drks-section-heading>p { margin-top:14px; }
 .drks-sample-card { display:flex; padding:20px; gap:0; }
 .drks-sample-intro { margin-bottom:20px; }
 .drks-audio { width:100%; }
 .drks-sample-description { margin:16px 0; }
 .drks-text-link { align-self:flex-start; }
 .drks-full-copy { padding:26px 22px; }
 .drks-full h2 { font-size:27px; }
 .drks-full h3 { font-size:20px; }
}
