/* ==========================================================================
   AKNAS — override sheet. Loads last (priority 999).

   WHY THIS FILE EXISTS
   In 0.2 the buttons rendered in theme colours, not oxblood. Cause: themes and
   Elementor kits set button background/colour/radius with selectors that beat a
   plain class, and Elementor injects --e-global-color-* into widget scope.
   This file restates the locked tokens at a specificity nothing can outrank.

   !important is used ONLY on the properties themes actually fight over:
   background, colour, border, radius, shadow. Nothing else.
   ========================================================================== */

/* 1. Never let an Elementor global colour leak into an Aknas widget. */
.akn {
  --e-global-color-primary:   var(--akn-ink);
  --e-global-color-secondary: var(--akn-soft);
  --e-global-color-text:      var(--akn-soft);
  --e-global-color-accent:    var(--akn-oxblood);
}

/* 2. Kill the AI tells the system bans, wherever they come from. */
.akn, .akn *,
.akn-drawer, .akn-drawer *,
.akn-menu, .akn-menu *,
.akn-toast, .akn-stick, .akn-stick * {
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* 3. Buttons — the money colour, guaranteed. */
.akn a.akn-btn-p,
.akn button.akn-btn-p,
.akn .akn-addbtn,
.akn .akn-dco,
.akn-drawer .akn-dco,
.akn-stick button,
.akn-shop .button.alt,
.akn-shop #place_order,
.akn-shop button[name="apply_coupon"],
.akn-shop .checkout-button {
  background-color: var(--akn-oxblood) !important;
  background-image: none !important;
  color: var(--akn-onink) !important;
  border: 1px solid var(--akn-oxblood) !important;
}
.akn a.akn-btn-p:hover,
.akn button.akn-btn-p:hover,
.akn .akn-addbtn:hover,
.akn .akn-dco:hover,
.akn-drawer .akn-dco:hover,
.akn-stick button:hover,
.akn-shop .button.alt:hover,
.akn-shop #place_order:hover,
.akn-shop .checkout-button:hover {
  background-color: var(--akn-oxblood-hi) !important;
  border-color: var(--akn-oxblood-hi) !important;
  color: var(--akn-onink) !important;
}

.akn a.akn-btn-s,
.akn button.akn-btn-s,
.akn-shop .button:not(.alt):not(.checkout-button) {
  background-color: transparent !important;
  background-image: none !important;
  color: var(--akn-soft) !important;
  border: 1px solid var(--akn-line) !important;
}
.akn a.akn-btn-s:hover,
.akn button.akn-btn-s:hover,
.akn-shop .button:not(.alt):not(.checkout-button):hover {
  background-color: var(--akn-ink) !important;
  color: var(--akn-paper) !important;
  border-color: var(--akn-ink) !important;
}

/* View cart (drawer) — ink-bordered secondary. Themes style bare <a>, so the
   border/colour is forced here the way the checkout button is. */
.akn-drawer .akn-dvc {
  background-color: transparent !important;
  background-image: none !important;
  color: var(--akn-ink) !important;
  border: 1px solid var(--akn-ink) !important;
}
.akn-drawer .akn-dvc:hover,
.akn-drawer .akn-dvc:focus-visible {
  background-color: var(--akn-ink) !important;
  color: var(--akn-paper) !important;
}

/* Woo buttons need the Aknas button shape too. */
.akn-shop .button,
.akn-shop #place_order,
.akn-shop .checkout-button {
  font-family: Jost, system-ui, sans-serif;
  font-size: 11.5px; font-weight: 500;
  letter-spacing: .2em; text-transform: uppercase;
  padding: 16px 26px; line-height: 1.2;
  transition: background-color .18s, color .18s, border-color .18s;
}

/* 3b. Underlines. Themes underline every link, including inside cards, the
   footer and the rails. The system's only underlines are deliberate 1px
   borders (nav hover, "View all", the size-guide link) — never text-decoration.
   Scoped to anchors so <s>/<del> keep their strikethrough. */
.akn a,
.akn a:hover,
.akn a:focus,
.akn a:visited,
.akn-drawer a,
.akn-menu a,
.akn-botnav a,
.akn-shop a,
.akn-shop .required,
.akn-stick a {
  text-decoration: none !important;
  text-underline-offset: unset;
}
.akn a:focus-visible { text-decoration: none !important; }

/* 4. Header — the bag button must always read as ink on paper. */
.akn .akn-bagbtn,
.akn .akn-bagbtn:visited,
.akn .akn-mark,
.akn .akn-mark:visited {
  color: var(--akn-ink) !important;
}
.akn .akn-bagbtn .akn-ico { color: currentColor !important; stroke: currentColor; }
.akn .akn-bagbtn b {
  background-color: var(--akn-oxblood) !important;
  color: var(--akn-onink) !important;
}
.akn .akn-mnu i { background-color: var(--akn-ink) !important; }

/* 5. Prices stay oxblood even if the theme colours <ins>/<bdi>. */
.akn .akn-p,
.akn .akn-lp,
.akn .akn-stock,
.akn-shop .amount,
.akn-shop bdi { color: var(--akn-oxblood) !important; }
.akn s, .akn del, .akn-shop del .amount, .akn-shop del bdi { color: var(--akn-grey) !important; }
.akn .akn-dark .amount, .akn .akn-dark bdi { color: var(--akn-paper) !important; }

/* 6. Inverted band text must never inherit a light theme colour. */
.akn-dark, .akn-dark h2, .akn-dark td, .akn-dark th, .akn-dark p { color: var(--akn-paper); }
.akn-dark .akn-lbl { color: var(--akn-oxblood-hi) !important; }

/* 6b. Bottom nav sits above everything except the drawer and its scrim. */
.akn-botnav a, .akn-botnav button { background: transparent !important; }

/* 7. Elementor container padding must not double-inset a full-bleed rail. */
.elementor-widget-akn_edit_rail > .elementor-widget-container,
.elementor-widget-akn_ticker > .elementor-widget-container,
.elementor-widget-akn_header > .elementor-widget-container,
.elementor-widget-akn_hero > .elementor-widget-container,
.elementor-widget-akn_footer > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-widget-akn_bottom_nav > .elementor-widget-container { padding: 0 !important; margin: 0 !important; }

/* 8. Sticky header cannot work inside a clipped or transformed ancestor.
   akn-header.js adds this class to every ancestor it had to unclip. */
.akn-unclip {
  overflow: visible !important;
  transform: none !important;
  filter: none !important;
  perspective: none !important;
  contain: none !important;
  will-change: auto !important;
}

/* ==========================================================================
   0.4 HARDENING
   The pink hover was WooCommerce's own default button palette (#a46497 /
   #96588a), which ships in woocommerce.css with selectors like
   `.woocommerce a.button.alt:hover` (0,3,1) — three classes plus an element.
   The 0.3 override used `.akn-shop .button.alt:hover` (0,2,1) and lost.
   Everything below is written to outrank both Woo and a theme's button rules.
   ========================================================================== */

/* 3c. Quick-add label. Ink plate, --akn-onink type, Jost 500 — never inherited.
   -webkit-text-fill-color is set too: themes that use a clipped gradient for
   button text leave `color` untouched and paint the glyphs transparent. */
.akn .akn-pc-add,
.akn button.akn-pc-add,
.akn .akn-pc .akn-pc-add,
.akn .akn-pc-add:hover,
.akn .akn-pc-add:focus,
.akn .akn-pc-add:focus-visible,
.akn .akn-pc-add:active {
  color: var(--akn-onink) !important;
  -webkit-text-fill-color: var(--akn-onink) !important;
  font-family: Jost, system-ui, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  border: 0 !important;
}
.akn .akn-pc-add,
.akn button.akn-pc-add { background-color: var(--akn-ink) !important; background-image: none !important; }
.akn .akn-pc-add:hover,
.akn .akn-pc-add:focus-visible { background-color: var(--akn-oxblood) !important; }

/* 3d. Every purchase control, at a specificity Woo and the theme cannot beat. */
body.akn-site .akn .akn-addbtn,
body.akn-site .akn .akn-dco,
body.akn-site .akn-stick button,
body.akn-site .akn-searchform button[type="submit"],
body.akn-site .akn-shop a.button.alt,
body.akn-site .akn-shop button.button.alt,
body.akn-site .akn-shop input.button.alt,
body.akn-site .akn-shop #place_order,
body.akn-site .akn-shop a.checkout-button,
body.akn-site .woocommerce .akn-shop a.button.alt,
body.akn-site .woocommerce .akn-shop button.button.alt,
body.akn-site .woocommerce .akn-shop input#place_order,
body.akn-site .woocommerce .akn-shop a.checkout-button.button.alt,
body.akn-site .akn .akn-pc-buy {
  background-color: var(--akn-oxblood) !important;
  background-image: none !important;
  color: var(--akn-onink) !important;
  -webkit-text-fill-color: var(--akn-onink) !important;
  border: 1px solid var(--akn-oxblood) !important;
  border-radius: 0 !important;
  text-shadow: none !important;
}
body.akn-site .akn .akn-addbtn:hover,
body.akn-site .akn .akn-addbtn:focus-visible,
body.akn-site .akn .akn-dco:hover,
body.akn-site .akn-stick button:hover,
body.akn-site .akn-stick button:focus-visible,
body.akn-site .akn-searchform button[type="submit"]:hover,
body.akn-site .akn-shop a.button.alt:hover,
body.akn-site .akn-shop button.button.alt:hover,
body.akn-site .akn-shop input.button.alt:hover,
body.akn-site .akn-shop #place_order:hover,
body.akn-site .akn-shop a.checkout-button:hover,
body.akn-site .woocommerce .akn-shop a.button.alt:hover,
body.akn-site .woocommerce .akn-shop button.button.alt:hover,
body.akn-site .woocommerce .akn-shop input#place_order:hover,
body.akn-site .woocommerce .akn-shop a.checkout-button.button.alt:hover,
body.akn-site .akn .akn-pc-buy:hover {
  background-color: var(--akn-oxblood-hi) !important;
  border-color: var(--akn-oxblood-hi) !important;
  color: var(--akn-onink) !important;
  -webkit-text-fill-color: var(--akn-onink) !important;
}

/* 3e. Woo's secondary buttons (Update cart, Apply coupon, Continue shopping)
   take the ghost treatment, not the grey pill. */
body.akn-site .akn-shop .button:not(.alt):not(.checkout-button),
body.akn-site .woocommerce .akn-shop .button:not(.alt):not(.checkout-button) {
  background-color: transparent !important;
  background-image: none !important;
  color: var(--akn-soft) !important;
  -webkit-text-fill-color: var(--akn-soft) !important;
  border: 1px solid var(--akn-line) !important;
}
body.akn-site .akn-shop .button:not(.alt):not(.checkout-button):hover,
body.akn-site .woocommerce .akn-shop .button:not(.alt):not(.checkout-button):hover {
  background-color: var(--akn-ink) !important;
  color: var(--akn-paper) !important;
  -webkit-text-fill-color: var(--akn-paper) !important;
  border-color: var(--akn-ink) !important;
}

/* 3f. Woo tints its own notices lilac/pink. Reset the accent bar to oxblood. */
body.akn-site .akn-shop .woocommerce-message,
body.akn-site .akn-shop .woocommerce-info { border-top-color: var(--akn-oxblood) !important; }
body.akn-site .akn-shop .woocommerce-error { border-top-color: var(--akn-oxblood) !important; }

/* 3g. Nothing in an Aknas scope inherits a theme button font. */
body.akn-site .akn button,
body.akn-site .akn .akn-btn,
body.akn-site .akn-shop .button,
body.akn-site .akn-shop input[type="submit"],
body.akn-site .akn-stick button,
body.akn-site .akn-drawer button {
  font-family: Jost, system-ui, sans-serif !important;
  text-transform: uppercase;
}

/* 9. Elementor gutters on the new full-bleed widgets. */
.elementor-widget-akn_shop_grid > .elementor-widget-container,
.elementor-widget-akn_search_results > .elementor-widget-container,
.elementor-widget-akn_notice > .elementor-widget-container,
.elementor-widget-akn_about > .elementor-widget-container,
.elementor-widget-akn_contact > .elementor-widget-container,
.elementor-widget-akn_thankyou > .elementor-widget-container,
.elementor-widget-akn_page_head > .elementor-widget-container {
  padding: 0 !important; margin: 0 !important;
}

/* 10. Checkout / cart / account form fields — forced.
   The field skin lives in akn-shop.css at normal specificity, so a theme with
   strong input styling (padding, radius, box-shadow, background) was winning on
   the live checkout. This restates the field shape at a specificity nothing on
   the page outranks, and !important only on the properties themes fight over. */
body.akn-site .akn-shop input[type="text"],
body.akn-site .akn-shop input[type="email"],
body.akn-site .akn-shop input[type="tel"],
body.akn-site .akn-shop input[type="number"],
body.akn-site .akn-shop input[type="password"],
body.akn-site .akn-shop input[type="search"],
body.akn-site .akn-shop select,
body.akn-site .akn-shop textarea,
body.akn-site .akn-shop .select2-container .select2-selection--single {
  background-color: var(--akn-paper) !important;
  background-image: none !important;
  border: 1px solid var(--akn-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--akn-ink) !important;
  font-family: Jost, system-ui, sans-serif !important;
  font-weight: 300 !important;
  padding: 14px 15px !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
}
body.akn-site .akn-shop textarea { min-height: 110px !important; }
body.akn-site .akn-shop input:focus,
body.akn-site .akn-shop select:focus,
body.akn-site .akn-shop textarea:focus {
  border-color: var(--akn-ink) !important;
  outline: 2px solid var(--akn-oxblood) !important;
  outline-offset: 1px !important;
}
body.akn-site .akn-shop label { color: var(--akn-grey) !important; }
body.akn-site .akn-shop .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 1.4 !important; color: var(--akn-ink) !important; padding: 0 !important;
}
body.akn-site .akn-shop .select2-dropdown { border: 1px solid var(--akn-line) !important; border-radius: 0 !important; }

/* The account-nav pills, forced past a theme's own list/link rules. */
body.akn-site .akn-shop--account .woocommerce-MyAccount-navigation,
body.akn-site .akn-shop--account .woocommerce-MyAccount-content { float: none !important; width: auto !important; }

/* ==========================================================================
   0.5 — ACCENT LOCK
   The pink that kept surfacing on nav hover, the mobile menu, links and Woo's
   own chrome is WooCommerce's stock purple-pink palette (#a46497 / #96588a /
   #7f54b3) plus whatever accent the theme's Elementor kit sets. 0.4 forced it
   off the buttons only, so it survived everywhere else.

   Rule kept intact (spec §3.3): oxblood is the money colour, so it lands on
   hairlines and states here — never on body text or a heading.
   ========================================================================== */

/* A. No theme or kit accent can reach an Aknas scope. */
.akn,
.akn-drawer,
.akn-menu,
.akn-stick,
.akn-shop,
.akn-searchpanel {
  --e-global-color-accent:      var(--akn-oxblood);
  --e-global-color-primary:     var(--akn-ink);
  --e-global-color-secondary:   var(--akn-soft);
  --e-global-color-text:        var(--akn-soft);
  --wc-primary:                 var(--akn-oxblood);
  --wc-primary-text:            var(--akn-onink);
  --wc-highlight:               var(--akn-oxblood);
  --wc-highlight-text:          var(--akn-onink);
  --woocommerce:                var(--akn-oxblood);
}

/* B. Header nav — hover and current state. Ink type on an oxblood hairline:
   the accent, exactly where the system already permits it. */
body.akn-site .akn .akn-nav a,
body.akn-site .akn .akn-nav a:visited {
  color: var(--akn-soft) !important;
  -webkit-text-fill-color: var(--akn-soft) !important;
  border-bottom: 1px solid transparent !important;
}
body.akn-site .akn .akn-nav a:hover,
body.akn-site .akn .akn-nav a:focus-visible,
body.akn-site .akn .akn-nav a.akn-on,
body.akn-site .akn .akn-nav a[aria-current] {
  color: var(--akn-ink) !important;
  -webkit-text-fill-color: var(--akn-ink) !important;
  border-bottom-color: var(--akn-oxblood) !important;
}

/* C. Mobile menu — same rule, same accent. */
body.akn-site .akn-menu a,
body.akn-site .akn-menu a:visited {
  color: var(--akn-ink) !important;
  -webkit-text-fill-color: var(--akn-ink) !important;
  background: transparent !important;
}
body.akn-site .akn-menu a:hover,
body.akn-site .akn-menu a:focus-visible,
body.akn-site .akn-menu a.akn-on {
  color: var(--akn-oxblood) !important;
  -webkit-text-fill-color: var(--akn-oxblood) !important;
}
body.akn-site .akn-menu-head .akn-lbl { color: var(--akn-grey) !important; }

/* D. The two header icons and the menu mark stay ink, oxblood on hover.
   The SVGs paint with stroke="currentColor", so the stroke is forced too — a
   theme that sets `svg { stroke: … }` or a fill would otherwise keep its pink. */
body.akn-site .akn .akn-searchbtn,
body.akn-site .akn .akn-bagbtn,
body.akn-site .akn .akn-mnu { color: var(--akn-ink) !important; }
body.akn-site .akn .akn-searchbtn:hover,
body.akn-site .akn .akn-searchbtn:focus-visible,
body.akn-site .akn .akn-bagbtn:hover,
body.akn-site .akn .akn-bagbtn:focus-visible,
body.akn-site .akn .akn-mnu:hover,
body.akn-site .akn .akn-mnu:focus-visible { color: var(--akn-oxblood) !important; }
body.akn-site .akn .akn-searchbtn .akn-ico,
body.akn-site .akn .akn-bagbtn .akn-ico,
body.akn-site .akn .akn-mnu .akn-ico,
body.akn-site .akn .akn-searchbtn .akn-ico *,
body.akn-site .akn .akn-bagbtn .akn-ico *,
body.akn-site .akn .akn-mnu .akn-ico * {
  stroke: currentColor !important;
  fill: none !important;
  color: inherit !important;
}
body.akn-site .akn .akn-mnu .akn-ico { overflow: visible !important; }
/* The count chip is a filled plate, so it keeps its own colours. */
body.akn-site .akn .akn-bagbtn b {
  background-color: var(--akn-oxblood) !important;
  color: var(--akn-onink) !important;
  -webkit-text-fill-color: var(--akn-onink) !important;
}

/* D2. Search and bag read as one cluster on a phone, not two stray icons.
   Forced, because the theme's own header rules were setting the gap. Desktop
   spacing is deliberately left alone. */
@media (max-width: 939px) {
  body.akn-site .akn .akn-hdr-actions { gap: 7px !important; }
}

/* E. Menu toggle. Two problems, one cause: a theme rule of the shape
   `button { display: flex }` outranks both `.akn-mnu { display: grid }` and the
   `display: none` that hides the toggle above 940px. Side-by-side bars read as
   one line, on every screen size. Both are forced here.
   The SVG mark needs none of this; the <i> rules cover a cached template. */
@media (min-width: 940px) {
  body.akn-site .akn .akn-mnu { display: none !important; }
}
@media (max-width: 939px) {
  body.akn-site .akn .akn-mnu {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 2px !important;
    background: none !important;
    border: 0 !important;
  }
}
body.akn-site .akn .akn-mnu i {
  display: block !important;
  float: none !important;
  background-color: currentColor !important;
  width: 17px !important;
  height: 1px !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
body.akn-site .akn .akn-mnu i:last-child { margin-bottom: 0 !important; }
/* A stale template may still hold three bars; drop the middle so the mark is
   two lines either way. */
body.akn-site .akn .akn-mnu i:nth-child(2):not(:last-child) { display: none !important; }

/* E2. Every framed image must fill its frame.
   ROOT CAUSE of the grey band under card photos: themes ship
   `img { height: auto }` (often with !important), which beats the height:100%
   in akn-core.css. Inside an aspect-ratio box the image then falls back to its
   natural ratio and sits at the top — and because WooCommerce's default
   catalogue size is a hard-cropped SQUARE while the frame is 3:4, the gap was
   large and obvious. Manual repeater images are usually portrait originals, so
   the same bug was invisible there. This is why it only showed on Woo products. */
body.akn-site .akn .akn-pc-shot img,
body.akn-site .akn .akn-feat-shot img,
body.akn-site .akn .akn-gal-main img,
body.akn-site .akn .akn-gal-thumbs button img,
body.akn-site .akn-drawer .akn-th img,
body.akn-site .akn .akn-hero-shot img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-height: 0 !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
body.akn-site .akn .akn-pc-shot,
body.akn-site .akn .akn-feat-shot,
body.akn-site .akn .akn-hero-shot,
body.akn-site .akn .akn-gal-main,
body.akn-site .akn .akn-gal-thumbs button,
body.akn-site .akn-drawer .akn-th { position: relative !important; }
body.akn-site .akn .akn-pc-img {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important; display: block !important;
}

/* F. Link hover in an Aknas scope. Themes love a pink :hover, so it is restated
   here — but ONLY for links that are not sitting on a filled plate. The 0.5.0
   version had no guard, so hovering the active (ink-filled) category chip
   painted its label ink-on-ink and the word vanished. */
body.akn-site .akn a:not(.akn-on):not(.akn-btn):not(.akn-btn-p):not(.akn-btn-s):not(.akn-pc-add):not(.button):not(.akn-dco):not(.akn-dvc):hover,
body.akn-site .akn a:not(.akn-on):not(.akn-btn):not(.akn-btn-p):not(.akn-btn-s):not(.akn-pc-add):not(.button):not(.akn-dco):not(.akn-dvc):focus-visible,
body.akn-site .akn-drawer a:not(.akn-dco):not(.akn-dvc):hover,
body.akn-site .akn-crumb a:hover {
  color: var(--akn-ink);
  -webkit-text-fill-color: var(--akn-ink);
}
body.akn-site .akn-sug a:hover,
body.akn-site .akn-sug a:focus-visible {
  background-color: var(--akn-paper-2) !important;
  color: var(--akn-ink) !important;
  -webkit-text-fill-color: var(--akn-ink) !important;
}

/* F2. Shop filter chips — the label must always read against its own plate.
   Idle: soft on paper. Hover: ink on paper. Active: paper on ink, and hovering
   an active chip keeps it paper, which is the case that broke. */
body.akn-site .akn .akn-cats a,
body.akn-site .akn .akn-cats a:visited {
  background-color: transparent !important;
  color: var(--akn-soft) !important;
  -webkit-text-fill-color: var(--akn-soft) !important;
  border: 1px solid var(--akn-line) !important;
}
body.akn-site .akn .akn-cats a:hover,
body.akn-site .akn .akn-cats a:focus-visible {
  color: var(--akn-ink) !important;
  -webkit-text-fill-color: var(--akn-ink) !important;
  border-color: var(--akn-soft) !important;
}
body.akn-site .akn .akn-cats a.akn-on,
body.akn-site .akn .akn-cats a.akn-on:hover,
body.akn-site .akn .akn-cats a.akn-on:focus-visible,
body.akn-site .akn .akn-cats a.akn-on:visited {
  background-color: var(--akn-ink) !important;
  color: var(--akn-paper) !important;
  -webkit-text-fill-color: var(--akn-paper) !important;
  border-color: var(--akn-ink) !important;
}

/* G. Focus rings, selection and hairline accents — accent, never pink. */
body.akn-site .akn :focus-visible,
body.akn-site .akn-drawer :focus-visible,
body.akn-site .akn-menu :focus-visible,
body.akn-site .akn-stick :focus-visible,
body.akn-site .akn-shop :focus-visible {
  outline: 2px solid var(--akn-oxblood) !important;
  outline-offset: 2px;
}
body.akn-site .akn ::selection { background: var(--akn-oxblood); color: var(--akn-onink); }

/* H. WooCommerce chrome that ships tinted: notices, tabs, stars, badges. */
body.akn-site .akn-shop .woocommerce-message,
body.akn-site .akn-shop .woocommerce-info,
body.akn-site .akn-shop .woocommerce-error,
body.akn-site .woocommerce-message,
body.akn-site .woocommerce-info,
body.akn-site .woocommerce-error {
  border-top-color: var(--akn-oxblood) !important;
  background-color: var(--akn-paper-2) !important;
  color: var(--akn-ink) !important;
}
body.akn-site .woocommerce-message::before,
body.akn-site .woocommerce-info::before,
body.akn-site .woocommerce-error::before { color: var(--akn-oxblood) !important; }

body.akn-site .akn-shop .star-rating span,
body.akn-site .akn-shop p.stars a,
body.akn-site .woocommerce .star-rating span,
body.akn-site .akn .akn-stars { color: var(--akn-oxblood) !important; }

body.akn-site .akn-shop .onsale,
body.akn-site .woocommerce span.onsale {
  background-color: var(--akn-oxblood) !important;
  color: var(--akn-onink) !important;
  border-radius: 0 !important;
}

body.akn-site .akn-shop .woocommerce-tabs ul.tabs li.active a,
body.akn-site .akn-shop .woocommerce-tabs ul.tabs li a:hover { color: var(--akn-ink) !important; }
body.akn-site .akn-shop .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--akn-oxblood) !important; }

body.akn-site .akn-shop .woocommerce-store-notice,
body.akn-site p.demo_store { background-color: var(--akn-oxblood) !important; color: var(--akn-onink) !important; }

/* I. Progress / step / price accents elsewhere in Woo. */
body.akn-site .akn-shop .woocommerce-MyAccount-navigation li.is-active a,
body.akn-site .akn-shop .woocommerce-MyAccount-navigation li a:hover {
  color: var(--akn-ink) !important;
  border-color: var(--akn-oxblood) !important;
}

/* J. Product page — option chips and gallery thumbs take ink and oxblood. */
body.akn-site .akn-buy .akn-sz[aria-pressed="true"],
body.akn-site .akn-buy .akn-sz--word[aria-pressed="true"] {
  background-color: var(--akn-ink) !important;
  color: var(--akn-paper) !important;
  -webkit-text-fill-color: var(--akn-paper) !important;
  border-color: var(--akn-ink) !important;
}
body.akn-site .akn-buy .akn-sh[aria-pressed="true"] { border-color: var(--akn-ink) !important; }
body.akn-site .akn-gal-thumbs button[aria-pressed="true"] { border-color: var(--akn-ink) !important; }
body.akn-site .akn-buy .akn-opt-h a { border-bottom-color: var(--akn-oxblood) !important; }

/* ==========================================================================
   0.5.2 — PRODUCT PAGE HARDENING
   ========================================================================== */

/* K. Accordion. A theme was painting the open/focused panel header on its own
   accent (a bright pink plate with white type and an injected × glyph) and
   tinting the panel body with its link colour. The header is a plain <button>,
   so `button:focus` and `[aria-expanded="true"]` rules both reach it — and it
   stays focused after a tap, which is why only the panel you just opened went
   pink. Every state is restated here, and any injected pseudo-content dropped. */
body.akn-site .akn .akn-acc-b,
body.akn-site .akn .akn-acc-b:hover,
body.akn-site .akn .akn-acc-b:focus,
body.akn-site .akn .akn-acc-b:focus-visible,
body.akn-site .akn .akn-acc-b:active,
body.akn-site .akn .akn-acc-b[aria-expanded="true"],
body.akn-site .akn .akn-acc-i.akn-open .akn-acc-b {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  color: var(--akn-ink) !important;
  -webkit-text-fill-color: var(--akn-ink) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 17px 0 !important;
  margin: 0 !important;
  text-align: left !important;
  font-family: Jost, system-ui, sans-serif !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: .16em !important;
}
body.akn-site .akn .akn-acc-b::before,
body.akn-site .akn .akn-acc-b::after {
  content: none !important;
  display: none !important;
}
body.akn-site .akn .akn-acc-b em,
body.akn-site .akn .akn-acc-i.akn-open .akn-acc-b em {
  color: var(--akn-grey) !important;
  -webkit-text-fill-color: var(--akn-grey) !important;
  background: none !important;
  font-style: normal !important;
}

/* Panel body: the theme's link colour was leaking into content rendered
   through wp_kses_post, so the copy and the bullets came out teal. */
body.akn-site .akn .akn-acc-p,
body.akn-site .akn .akn-acc-p p,
body.akn-site .akn .akn-acc-p li,
body.akn-site .akn .akn-acc-p span,
body.akn-site .akn .akn-acc-p div {
  color: var(--akn-soft) !important;
  -webkit-text-fill-color: var(--akn-soft) !important;
  background: none !important;
}
body.akn-site .akn .akn-acc-p li::marker { color: var(--akn-grey); }
body.akn-site .akn .akn-acc-p a {
  color: var(--akn-ink) !important;
  -webkit-text-fill-color: var(--akn-ink) !important;
}
body.akn-site .akn .akn-acc-p strong,
body.akn-site .akn .akn-acc-p b {
  color: var(--akn-ink) !important;
  -webkit-text-fill-color: var(--akn-ink) !important;
  font-weight: 400 !important;
}

/* L. The gallery frame must keep its 3:4 shape on mobile. Themes and page
   builders both like to put a height on a widget's inner div, which collapses
   an aspect-ratio box into a letterbox strip. */
@media (max-width: 959px) {
  body.akn-site .akn .akn-gal-main {
    aspect-ratio: 3 / 4 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* M. The combined Product Page widget is full-bleed: its own gutters come from
   --akn-pad, so an Elementor container must not inset it again. */
.elementor-widget-akn_product > .elementor-widget-container,
.elementor-widget-akn_product_gallery > .elementor-widget-container,
.elementor-widget-akn_buy_panel > .elementor-widget-container,
.elementor-widget-akn_crumb > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}

/* N. Two columns from 960px, forced. An Elementor container can otherwise put
   `display:flex` on the widget's inner wrapper and flatten the grid. */
body.akn-site .akn.akn-pd { display: grid !important; }
@media (min-width: 960px) {
  body.akn-site .akn.akn-pd {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    align-items: start !important;
  }
}

/* O. Reviews. Form fields and the star input sit outside .akn-shop, so the
   checkout field hardening above does not reach them — restated here, because a
   theme with strong input styling was always going to win otherwise. */
body.akn-site .akn-rev-form input[type="text"],
body.akn-site .akn-rev-form input[type="email"],
body.akn-site .akn-rev-form textarea {
  background-color: var(--akn-paper) !important;
  background-image: none !important;
  border: 1px solid var(--akn-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--akn-ink) !important;
  -webkit-text-fill-color: var(--akn-ink) !important;
  font-family: Jost, system-ui, sans-serif !important;
  font-weight: 300 !important;
  height: auto !important;
}
body.akn-site .akn .akn-rating label {
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}
body.akn-site .akn .akn-rev-shot img {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; max-width: none !important;
}
body.akn-site .akn .akn-verified {
  color: var(--akn-oxblood) !important;
  -webkit-text-fill-color: var(--akn-oxblood) !important;
}

/* P. Filter chips must never shrink below their label. Restated with the same
   force as the rest of the chip rules so a theme's `nav a { flex: 1 }` cannot
   bring the overlap back. */
body.akn-site .akn .akn-cats a {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* Q. Elementor gutters for the two widgets added in 0.5.3. */
.elementor-widget-akn_reviews > .elementor-widget-container,
.elementor-widget-akn_related > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}

/* Related rail cards are a touch narrower than the homepage Edit rail, which is
   what the approved product.html does. */
.elementor-widget-akn_related .akn-rail .akn-pc { flex: 0 0 clamp(210px,55vw,300px); }
.elementor-widget-akn_related .akn-pc-meta h3 { font-size: 16px; }
.elementor-widget-akn_related .akn-pc-meta .akn-p { font-size: 13.5px; }
