/* Shared control tokens. Scoped adapters intentionally win legacy module rules,
   including inline theme CSS and earlier !important declarations. */
body.drku-system {
  --drku-font:Montserrat,sans-serif;
  --drku-accent:#16798d;
  --drku-hover:#105f70;
  --drku-active:#0d4e5c;
  --drku-ink:#264e53;
  --drku-soft:#eff7f8;
  --drku-line:#aac6cc;
  --drku-radius:8px;
  --drku-focus:#905515;
}

/* Primary, secondary and quiet actions share one type and spacing scale. */
body.drku-system :is(
  a.button,button.button,input[type=submit],.wp-block-button__link,
  .drkh-button,.drki-button,.drkj-button,.drkj-secondary,.drkn-button,
  .drkc-detail,.drkc-search button,.drb-search button,.drks-jump-primary,
  .drks-play,.drka-actions button,.drku-button
) {
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px;
  min-height:48px!important;
  max-width:100%;
  height:auto;
  padding:12px 20px!important;
  border:1px solid var(--drku-accent)!important;
  border-radius:var(--drku-radius)!important;
  background:var(--drku-accent)!important;
  color:#fff!important;
  font-family:var(--drku-font)!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.5!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  text-align:center;
  text-decoration:none!important;
  white-space:normal!important;
  overflow-wrap:break-word;
  box-shadow:none!important;
  cursor:pointer;
  transition:background-color .15s,border-color .15s,color .15s;
}
body.drku-system :is(a.button,button.button,input[type=submit],.wp-block-button__link,.drkh-button,.drki-button,.drkj-button,.drkn-button,.drkc-search button,.drb-search button,.drks-jump-primary,.drks-play,.drku-button):hover {
  background:var(--drku-hover)!important;
  border-color:var(--drku-hover)!important;
  color:#fff!important;
}
body.drku-system :is(a.button,button.button,input[type=submit],.wp-block-button__link,.drkh-button,.drki-button,.drkj-button,.drkn-button,.drks-jump-primary,.drks-play,.drku-button):active {
  background:var(--drku-active)!important;
  border-color:var(--drku-active)!important;
}
body.drku-system :is(
  .drkh-button-outline,.drki-secondary,.drkj-secondary,.drkc-detail,.drq-secondary,
  .single_add_to_cart_button,.woocommerce-cart-form button.button,
  .drka-actions button,.drku-button-secondary
) {
  background:#fff!important;
  color:var(--drku-accent)!important;
  border-color:var(--drku-accent)!important;
}
body.drku-system :is(.drkh-button-outline,.drki-secondary,.drkj-secondary,.drkc-detail,.drq-secondary,.single_add_to_cart_button,.woocommerce-cart-form button.button,.drka-actions button,.drku-button-secondary):hover {
  background:var(--drku-soft)!important;
  color:var(--drku-hover)!important;
  border-color:var(--drku-hover)!important;
}
/* Light variant belongs on the existing dark photo / closing panel only. */
body.drku-system :is(.home .uagb-infobox-cta-link,.drkn-closing .drkl-buy-button),
body.drku-system.home .uagb-infobox-cta-link {
  color:var(--drku-ink)!important;
  border-color:#fff!important;
  background:#fff!important;
}
body.drku-system.home .uagb-infobox-cta-link:hover,
body.drku-system .drkn-closing .drkl-buy-button:hover { background:#e5f1f2!important; color:var(--drku-ink)!important; }
/* Larger targets for a page's main purchase / playback action. */
body.drku-system :is(.drkc-primary-purchase .drkc-buy-button,#place_order,.checkout-button,.drkn-button,.drkn-closing .drkl-buy-button,.drku-button-large) {
  min-height:56px!important;
  font-size:16px!important;
  padding:14px 22px!important;
}
/* Disabled controls stay visibly unavailable without losing their contrast. */
body.drku-system :is(button.button,input[type=submit],.drkh-button,.drki-button,.drkj-button,.drku-button):disabled,
body.drku-system :is(.button,.drku-button)[aria-disabled=true] {
  background:#edf1f2!important; border-color:#cbd7da!important; color:#607277!important;
  opacity:1!important; cursor:not-allowed!important;
}

/* Filters are compact choices, with a visible selected state. */
body.drku-system :is(.drkc-formats a,.drkc-topics a,.drb-filters a) {
  display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box;
  min-height:44px; padding:10px 14px; border:1px solid var(--drku-line);
  border-radius:var(--drku-radius); background:#fff; color:var(--drku-ink);
  font:500 13px/1.5 var(--drku-font); text-decoration:none;
}
body.drku-system :is(.drkc-formats a,.drkc-topics a,.drb-filters a):hover {
  border-color:var(--drku-accent); background:var(--drku-soft); color:var(--drku-accent);
}
body.drku-system :is(.drkc-formats a,.drkc-topics a,.drb-filters a)[aria-current] {
  color:#fff; border-color:var(--drku-accent); background:var(--drku-accent);
}
body.drku-system :is(.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span.current,.drb-pagination a) {
  display:inline-flex!important; align-items:center; justify-content:center;
  min-width:44px; width:auto; min-height:44px; height:44px; padding:8px;
  border:1px solid var(--drku-line)!important; border-radius:var(--drku-radius);
  font:500 14px/1.5 var(--drku-font); background:#fff; color:var(--drku-accent);
}
body.drku-system :is(.woocommerce-pagination .page-numbers span.current,.drb-pagination a[aria-current]) {
  background:var(--drku-accent)!important; color:#fff!important; border-color:var(--drku-accent)!important;
}
body.drku-system .woocommerce-pagination ul.page-numbers { display:flex; justify-content:center; gap:8px; border:0; }
body.drku-system .woocommerce-pagination ul.page-numbers li { border:0; }

/* A quiet action is still large enough to tap. Keep FAQ / card semantics. */
body.drku-system :is(.drka-settings button,.drks-jumps a:not(.drks-jump-primary),.drkm-text,.drks-text-link,.drks-player-link>a) {
  min-height:44px; font:500 13px/1.5 var(--drku-font); letter-spacing:normal; text-transform:none;
}
body.drku-system .drka-settings { background:var(--drku-soft); }
body.drku-system .drka-settings button { color:var(--drku-accent); border-radius:var(--drku-radius); }
body.drku-system :is(.drki-faq summary,.drki-details summary,.drkh-transcript summary,.drb-toc summary,.drb-faq summary,.drq-root summary,.drkj-composition summary) {
  box-sizing:border-box; min-height:44px; padding-block:10px; line-height:1.5;
}
body.drku-system :is(button.menu-toggle,.drks-mute,.show-password-input) { min-width:44px; min-height:44px; }
body.drku-system .drks-mute { width:44px; border-radius:var(--drku-radius); }
body.drku-system .drks-mute:hover { background:var(--drku-soft); }
body.drku-system .drks-play { min-height:44px!important; padding:10px 12px!important; font-size:13px!important; }
body.drku-system .drkn-play { background:var(--drku-accent); color:white; }

/* Player uses the same tokens but keeps its larger preset and track cards.
   Its night palette must stay local, so it remains comfortable in darkness. */
body.drku-system .drkm { --accent:var(--drku-accent); --hover:var(--drku-hover); }
body.drku-system .drkm-night {
  --drku-accent:#8ccbd0; --drku-hover:#a9e0e3; --drku-active:#b8e9ec;
  --drku-ink:#dcebea; --drku-soft:#203a42; --drku-line:#58777c; --drku-focus:#eac28f;
}
body.drku-system .drkm :is(button,a.drkm-button) { font-family:var(--drku-font); border-radius:var(--drku-radius); min-height:44px; }
body.drku-system .drkm :is(.drkm-play,.drkm-add-sound,a.drkm-button) { font-size:14px; font-weight:500; }
body.drku-system .drkm .drkm-play { min-height:56px; font-size:16px; }
body.drku-system .drkm :is(.drkm-mode-switch button,.drkm-text,.drkm-mixer-help button,.drkm-mixer-footer button) { min-height:44px; font-size:13px; }
body.drku-system .drkm :is(.drkm-layer-mute,.drkm-layer-alone,.drkm-remove-layer) { min-width:44px; width:44px; min-height:44px; height:44px; }
body.drku-system .drkm-night :is(.drkj-button,.drku-button) { color:#142d32!important; }
body.drku-system .drkm-night .drkj-secondary { background:var(--drku-soft)!important; color:var(--drku-accent)!important; }

/* One focus ring throughout, with a contrasting inner ring on solid buttons. */
body.drku-system :is(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid var(--drku-focus)!important; outline-offset:3px!important;
}

/* Measured layout repairs: longer labels, aligned card actions and form rows. */
body.drku-system .drkh-card-actions { grid-template-columns:minmax(0,1fr)!important; gap:8px; }
body.drku-system .drkh-card-actions .drkh-buy { order:-1; }
body.drku-system .drkh-card-actions .drkh-button { height:auto; min-height:48px; }
body.drku-system :is(.drb-search>div,.drkc-search) { align-items:stretch; }
body.drku-system :is(.drb-search input[type=search],.drkc-search input) { height:48px; border-radius:var(--drku-radius); }
body.drku-system .drkh .drkj-button { color:#fff!important; }
body.drku-system .drki-dock :is(.drki-button) { min-height:44px!important; font-size:13px!important; padding:10px 14px!important; }
@media(max-width:600px) {
  body.drku-system .drkc-card-actions { gap:8px; }
  body.drku-system .drkc-card-actions :is(.drkc-buy-button,.drkc-detail) { padding-inline:12px!important; }
  body.drku-system .drkc-formats a { flex:1 1 auto; }
  body.drku-system .drkj-context-actions { min-width:0; }
  body.drku-system .drkj-context-actions .drkj-button { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  body.drku-system :is(a,button,input) { transition:none!important; }
}

body.drku-system .drkh .drkh-card-actions .drkh-button { font-size:14px!important; padding:12px 16px!important; }
body.drku-system .drkh-sample .drkh-transcript summary { min-height:44px; font-size:13px; }
@media(max-width:767px) {
  body.drku-system .drkm .drkm-top .drkm-text { font-size:0; width:44px; min-width:44px; height:44px; padding:10px; }
}
body.drku-system button.drks-play,
body.drku-system .drku-button.drku-button-small { min-height:44px!important; font-size:13px!important; padding:10px 14px!important; }
body.drku-system .drkm button.drkm-play { min-height:56px; font-size:16px; }
body.drku-system .drku-button.drku-button-quiet { background:transparent!important; border-color:transparent!important; color:var(--drku-accent)!important; }
body.drku-system .drku-button.drku-button-quiet:hover { background:var(--drku-soft)!important; color:var(--drku-hover)!important; }
body.drku-system .drku-button.drku-button-inverse { background:#fff!important; color:var(--drku-ink)!important; border-color:#fff!important; }
body.drku-system .drku-button.drku-button-inverse:hover { background:#e5f1f2!important; color:var(--drku-ink)!important; }

/* Button adapters must never resurrect progressive-enhancement fallbacks. */
body.drku-system [hidden]:not([hidden="until-found"]) { display:none!important; }
