/* Shared layout foundation. Deliberately excludes the original home hero and
   the player's local layout/palette. Loaded after the mobile refinements. */
body.drku-system {
  --drku-shell:1200px;
  --drku-gutter:32px;
  --drku-page-title:clamp(28px,2vw + 20px,44px);
  --drku-section-title:clamp(24px,1.2vw + 20px,34px);
  --drku-text:#415a5f;
  --drku-muted:#516a70;
  --drku-divider:#d9e6e5;
  --drku-canvas:#f6f9f8;
}
@media(max-width:922px) { body.drku-system { --drku-gutter:28px; } }
@media(max-width:600px) { body.drku-system { --drku-gutter:20px; } }
@media(max-width:360px) { body.drku-system { --drku-gutter:16px; } }

/* Only outer shells receive gutters; narrow reading/form columns stay narrow. */
body.drku-system:is(.drkc-catalog,.single-product,.drb-page,.drkvd-page,.woocommerce-account,.woocommerce-cart,.drkco-checkout,.drq-page,.drkc-legal-page) #content>.ast-container {
  box-sizing:border-box; width:100%; max-width:var(--drku-shell);
  padding-inline:var(--drku-gutter)!important; margin-inline:auto;
}
body.drku-system .drkh .drkh-wrap,
body.drku-system .drki-content {
  box-sizing:border-box; width:100%; max-width:var(--drku-shell);
  padding-inline:var(--drku-gutter); margin-inline:auto;
}
body.drku-system.drks-info .dr-copy-prose { padding-inline:var(--drku-gutter)!important; }
body.drku-system .drb-root { max-width:none; }
body.drku-system:is(.drkc-catalog,.drb-page,.drkvd-page,.woocommerce-account,.woocommerce-cart,.drkco-checkout) .site-content { background:var(--drku-canvas); }
body.drku-system.drkc-catalog :is(#primary,.ast-woocommerce-container) { background:transparent; }

/* Page titles share a scale; long product names keep a compact variant. */
body.drku-system.drkc-catalog .woocommerce-products-header__title,
body.drku-system .drb-root h1,
body.drku-system:is(.drkvd-page,.woocommerce-account,.woocommerce-cart,.drkco-checkout,.drkc-legal-page) h1.entry-title {
  font-family:var(--drku-font); font-size:var(--drku-page-title);
  line-height:1.2; font-weight:500; letter-spacing:-.02em;
  text-transform:none; color:var(--drku-ink); text-wrap:balance;
  overflow-wrap:break-word; margin-bottom:24px;
}
body.drku-system.drks-info .entry-content h1.uagb-heading-text {
  font-size:var(--drku-page-title); line-height:1.2; letter-spacing:-.02em;
}
body.drku-system.single-product div.product .product_title {
  font-size:clamp(26px,3vw,38px); line-height:1.25;
  letter-spacing:-.015em; text-wrap:balance; overflow-wrap:break-word;
}
body.drku-system .drki-content h2,
body.drku-system .drb-library-heading h2,
body.drku-system .drkh :is(.drkh-section-head h2,.drkh-how h2,.drkh-trust h2,.drkh-faq h2) {
  font-size:var(--drku-section-title); line-height:1.3;
  font-weight:500; letter-spacing:-.015em; text-wrap:balance;
}
body.drku-system.drb-page {
  --drb-ink:var(--drku-ink); --drb-muted:var(--drku-muted);
  --drb-link:var(--drku-accent); --drb-line:var(--drku-divider);
}
body.drku-system :is(.drki-content,.drb-lead,.drkc-catalog-intro,.woocommerce-product-details__short-description) { color:var(--drku-text); }
body.drku-system .drki-content p { line-height:1.75; }
body.drku-system .drki-prose { max-width:72ch; }

/* Normal headers align to the content. The original transparent header is
   intentionally left in place over the homepage photograph. */
body.drku-system:not(.ast-theme-transparent-header) #ast-desktop-header .ast-container {
  max-width:var(--drku-shell); padding-inline:var(--drku-gutter);
}
body.drku-system:not(.ast-theme-transparent-header) #ast-desktop-header .main-header-menu>.menu-item>.menu-link {
  font-family:var(--drku-font); font-size:13px; font-weight:500;
  line-height:1.5; min-height:48px; letter-spacing:normal; text-transform:none;
  color:var(--drku-text); padding-inline:12px;
}
body.drku-system:not(.ast-theme-transparent-header) #ast-desktop-header .main-header-menu>:is(.current-menu-item,.current-menu-ancestor)>.menu-link,
body.drku-system:is(.single-product,.drkc-catalog):not(.ast-theme-transparent-header) #ast-desktop-header .main-header-menu>.current_page_parent>.menu-link {
  color:var(--drku-accent); text-decoration:underline;
  text-decoration-thickness:2px; text-underline-offset:8px;
}
body.drku-system:not(.ast-theme-transparent-header) #ast-desktop-header .main-header-menu>.menu-item>.menu-link:hover { color:var(--drku-accent); }

@media(min-width:923px) and (max-width:1180px) {
  body.drku-system:not(.ast-theme-transparent-header) #ast-desktop-header .main-header-menu>.menu-item>.menu-link { font-size:12px; padding-inline:7px; }
}
@media(max-width:922px) {
  body.drku-system:not(.ast-theme-transparent-header) #ast-mobile-header .main-header-bar { padding-inline:var(--drku-gutter); }
  body.drku-system:not(.ast-theme-transparent-header) #ast-mobile-header .site-branding img { width:156px; height:auto; }
  body.drku-system:not(.ast-theme-transparent-header) #ast-mobile-header button.menu-toggle {
    border:1px solid var(--drku-divider); border-radius:8px;
    background:var(--drku-canvas); color:var(--drku-ink);
  }
  body.drku-system #ast-mobile-header .ast-mobile-header-content {
    padding:8px var(--drku-gutter) calc(8px + env(safe-area-inset-bottom));
    background:#fff; border-bottom:1px solid var(--drku-divider);
  }
  body.drku-system #ast-mobile-header .main-header-menu>.menu-item { border:0; margin:2px 0; }
  body.drku-system #ast-mobile-header .main-header-menu>.menu-item>.menu-link {
    min-height:48px; padding:12px 14px; border:0; border-left:3px solid transparent;
    border-radius:8px; background:transparent; color:var(--drku-text);
    font:500 14px/1.5 var(--drku-font); letter-spacing:normal; text-transform:none;
  }
  body.drku-system #ast-mobile-header .main-header-menu>:is(.current-menu-item,.current-menu-ancestor)>.menu-link,
  body.drku-system:is(.single-product,.drkc-catalog) #ast-mobile-header .main-header-menu>.current_page_parent>.menu-link {
    background:var(--drku-soft); color:var(--drku-accent);
    border-left-color:var(--drku-accent); font-weight:600;
  }
  body.drku-system #ast-mobile-header .main-header-menu>.menu-item>.menu-link:hover { background:var(--drku-soft); }
  body.drku-system .drkc-mobile-nav { padding-inline:var(--drku-gutter); border-color:var(--drku-divider); }
}

/* A quieter ending to the page, using the site's existing dark teal. */
body.drku-system #colophon { background:#153f46; color:#d9e9e7; }
body.drku-system #colophon .site-primary-footer-wrap {
  background:transparent; padding:48px var(--drku-gutter) 36px;
  border-top:1px solid #2b5359;
}
body.drku-system #colophon .ast-builder-grid-row-container-inner {
  width:100%; max-width:calc(var(--drku-shell) - 2 * var(--drku-gutter)); margin-inline:auto;
}
body.drku-system #colophon .site-primary-footer-inner-wrap {
  gap:32px; align-items:start;
}
body.drku-system #colophon .site-footer-primary-section-2 img { width:160px; height:auto; }
body.drku-system #colophon .site-footer-primary-section-2 :is(figure,.wp-block-uagb-image) { margin:0; }
body.drku-system #colophon .footer-widget-area-inner { text-align:left; margin:0; }
body.drku-system #colophon :is(.site-footer-primary-section-2,.site-footer-primary-section-3) { margin:0; }
body.drku-system #colophon .site-footer-primary-section-2 .wp-block-uagb-image { justify-content:flex-start; }
body.drku-system #colophon .site-footer-primary-section-2 .uagb-container-inner-blocks-wrap { justify-content:flex-start; }
body.drku-system #colophon .widget-title {
  color:#fff; font:500 18px/1.4 var(--drku-font);
  letter-spacing:normal; text-transform:none; margin-bottom:12px;
}
body.drku-system #colophon .menu-link {
  display:inline-flex; align-items:center; min-height:44px; max-width:100%;
  padding:8px 0; color:#e4efed; font-size:15px; line-height:1.6;
  text-decoration:none; overflow-wrap:anywhere;
}
body.drku-system #colophon .menu-link:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
body.drku-system #colophon .site-below-footer-wrap {
  padding:20px var(--drku-gutter); background:transparent; border-top:1px solid #396066;
}
body.drku-system #colophon .ast-footer-copyright { color:#c7dcda; font-size:13px; line-height:1.6; }
body.drku-system #colophon .ast-builder-social-element {
  display:inline-flex; justify-content:center; align-items:center;
  width:44px; min-height:44px; margin:0; border-radius:8px; color:#e4efed;
}
body.drku-system #colophon .ast-builder-social-element:hover { background:#284f56; }
body.drku-system #colophon a:focus-visible { outline-color:#b5e4e4!important; }
@media(max-width:922px) {
  body.drku-system #colophon .site-primary-footer-wrap { padding-block:36px 28px; }
  body.drku-system #colophon .site-primary-footer-inner-wrap { gap:24px; }
  body.drku-system #colophon :is(.site-footer-primary-section-2,.site-footer-primary-section-3) { text-align:left; }
  body.drku-system #colophon .site-footer-primary-section-2 .uagb-container-inner-blocks-wrap { align-items:flex-start; }
}
