/* ==========================================================================
   ALOFTAURA — SITE STYLESHEET
   Full rewrite. Load LAST (Appearance → Customize → Additional CSS, or a
   child-theme sheet enqueued after the parent).

   Changed in this pass
   --------------------
   A. §6  — the home scroll arrow is rebuilt: one glyph, no :has() dependency,
            no duplicate, a real arrow, a 44px hit area, readable opacity.
   B. §12 — every menu card and everything inside it is square. No radius
            survives except the round icon discs, avatars, radios, spinner.
   C. §11 — the cart icon carries a live item count chip.
            Needs aloftaura.js.
   D. §9  — "Continue with Google" is pinned to the bottom of the checkout
            step, directly above "Proceed to shipping".
            Needs aloftaura.js; CSS order rules below are the fallback.

   Order of sections
   -----------------
    §0  Tokens
    §1  Typeface
    §2  Type
    §3  Shape, press, focus
    §4  Mobile parity
    §5  Home page
    §6  Scroll cue  (FIX A)
    §7  Shop and archives
    §8  Product page
    §9  Cart and checkout  (FIX D)
   §10  Sign-in card and the Google button
   §11  Icon bar  (FIX C)
   §12  Cards  (FIX B)
   §13  Personalize my Aura
   §14  Chat send button
   ========================================================================== */


/* ==========================================================================
   §0  TOKENS
   ========================================================================== */

:root,
body {
  --aura-face: "Intrepid", "intrepid-regular", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --aura-ink: #0c0c0e;
  --aura-ink-2: #55555c;
  --aura-ink-3: #6b6b73;
  --aura-paper: #e8e8eb;
  --aura-gold: #8a7238;
  --aura-gold-line: rgba(198, 166, 100, 0.34);
  --aura-gold-ring: rgba(198, 166, 100, 0.85);

  --aura-press: cubic-bezier(0.22, 1, 0.36, 1);
  --aura-in: cubic-bezier(0.55, 0, 0.2, 1);

  /* The theme's own radius scale, zeroed at the source. */
  --minimog-small-rounded: 0px;
  --minimog-normal-rounded: 0px;
  --minimog-semi-rounded: 0px;
  --minimog-large-rounded: 0px;
  --minimog-button-rounded: 0px;
  --minimog-button-small-rounded: 0px;
  --minimog-button-large-rounded: 0px;
  --minimog-form-input-normal-rounded: 0px;
  --minimog-form-input-small-rounded: 0px;
  --minimog-form-textarea-rounded: 0px;
}


/* ==========================================================================
   §1  TYPEFACE
   Declared once, under both names the site references.
   ========================================================================== */

@font-face {
  font-family: "Intrepid";
  src: url("https://aloftaura.com/wp-content/uploads/intrepid.woff2") format("woff2"),
       url("https://aloftaura.com/wp-content/uploads/2024/11/Intrepid-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: "intrepid-regular";
  src: url("https://aloftaura.com/wp-content/uploads/intrepid.woff2") format("woff2"),
       url("https://aloftaura.com/wp-content/uploads/2024/11/Intrepid-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}


/* ==========================================================================
   §2  TYPE
   Icon fonts are excluded by class so glyphs keep their own family.
   ========================================================================== */

html body,
html body h1, html body h2, html body h3,
html body h4, html body h5, html body h6,
html body p, html body li, html body dd, html body dt, html body blockquote,
html body label, html body strong, html body em, html body small,
html body figcaption, html body caption,
html body a:not([class*="icon"]):not([class*="eicon"]):not([class*="ekit"]),
html body span:not([class*="icon"]):not([class*="eicon"]):not([class*="ekit"]):not([class*="fa-"]) {
  font-family: var(--aura-face) !important;
}

html body .entry-title,
html body .product_title,
html body .page-title,
html body .heading,
html body .elementor-heading-title,
html body .widget-title,
html body .section-title,
html body .wp-block-group__inner-container > h2 {
  font-family: var(--aura-face) !important;
}

body button,
body input,
body select,
body textarea,
body .elementor-button,
body .wp-element-button,
body .button,
body .elementor-kit-4 button,
body .elementor-kit-4 input[type="button"],
body .elementor-kit-4 input[type="submit"],
body .elementor-kit-4 .elementor-button,
body .wpforms-field input,
body .wpforms-field textarea,
body .wpforms-field select,
body .wpforms-submit,
body .is-search-form input,
body .is-search-form button,
body .woosc-search input,
body .woocommerce form .form-row input.input-text,
body .woocommerce form .form-row textarea,
body .woocommerce form .form-row select,
body #coupon_code,
body #calc_shipping_city,
body #calc_shipping_postcode,
body #order_comments,
body .widget-title,
body .page-content .widget-title,
body .wp-block-group__inner-container > h2,
body .widget .filter-link,
body .widget ul li a,
body .widget p,
body .shop_attributes th,
body .shop_attributes td,
body table th,
body table td,
body .shop_table th,
body .shop_table td,
body .woocommerce-product-attributes-item__label,
body .woocommerce-product-attributes-item__value {
  font-family: var(--aura-face) !important;
}


/* ==========================================================================
   §3  SHAPE, PRESS, FOCUS
   One shape everywhere. The round exceptions are listed once, at the end of
   this section, so nothing later has to fight them.
   ========================================================================== */

body button,
body input,
body select,
body textarea,
body fieldset,
body .button,
body .elementor-button,
body .wp-element-button,
body .woosw-btn,
body .woosc-btn,
body .wpforms-submit,
body .wpforms-field input,
body .wpforms-field textarea,
body .wpforms-field select,
body .is-search-form input,
body .is-search-form button,
body .is-search-submit,
body .minimog-product .product-action,
body .minimog-product .btnlink,
body .productinfo .btnlink,
body .product-wrapper .btnlink,
body .swatch,
body .isw-term,
body .variable-items-wrapper li,
body .woocommerce-message,
body .woocommerce-error,
body .woocommerce-info,
body .minimog-image,
body .minimog-banner,
body table, body td, body th,
body .tm-button,
body .button-close-modal,
body .swiper-nav-button,
body .product-action,
body [class*="woosc-bar"],
body .woosc-bar a,
body .woosw-popup-content,
body .woosc-popup-content,
body .js-product-variation-term,
body .product-variation-term,
body .grid-two, body .grid-three, body .grid-four, body .grid-five,
body .elementor-kit-4 button,
body .elementor-kit-4 input[type="button"],
body .elementor-kit-4 input[type="submit"],
body .elementor-kit-4 .elementor-button {
  border-radius: 0 !important;
}

/* Press, hover, focus — one motion vocabulary for everything clickable. */
body a,
body button,
body [role="button"],
body input[type="submit"],
body input[type="button"],
body .elementor-button,
body .button,
body .woosw-btn,
body .woosc-btn,
body .wpforms-submit,
body .minimog-product .product-wrapper a {
  transition: color 200ms var(--aura-press),
              background-color 200ms var(--aura-press),
              border-color 200ms var(--aura-press),
              opacity 200ms var(--aura-press),
              box-shadow 220ms var(--aura-press),
              transform 220ms var(--aura-press) !important;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body a:active,
body [role="button"]:active { color: var(--aura-gold) !important; }

body p a:active,
body li a:active { transform: translateX(2px); }

body button:active,
body input[type="submit"]:active,
body input[type="button"]:active,
body .elementor-button:active,
body .button:active,
body .wpforms-submit:active,
body .woosw-btn:active,
body .woosc-btn:active { transform: scale(0.975); }

body .minimog-product .btnlink:active { transform: scale(0.985); }
body .minimog-product .thumbnail:active { transform: scale(0.99); }

@media (hover: hover) and (pointer: fine) {
  body button:hover,
  body .elementor-button:hover,
  body .button:hover,
  body input[type="submit"]:hover,
  body .wpforms-submit:hover { transform: translateY(-1px); }

  body .minimog-product .product-wrapper a:hover { color: var(--aura-gold); }
}

body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body select:focus-visible,
body textarea:focus-visible,
body [role="button"]:focus-visible {
  outline: 2px solid var(--aura-gold-ring) !important;
  outline-offset: 2px !important;
}

/* The only round things on the site. */
body .header-icon-box .header-icon > .ic-box,
body .header-icon-box .header-icon > .ic-box::before,
body .header-icon-box .header-icon > .ic-box::after,
body .avatar,
body .minimog-author-avatar img,
body input[type="radio"] { border-radius: 50% !important; }

body .ic-cart::before { border-radius: 999px !important; }

body input[type="range"]::-webkit-slider-thumb { border-radius: 50% !important; }
body input[type="range"]::-moz-range-thumb { border-radius: 50% !important; }

@media (prefers-reduced-motion: reduce) {
  body a,
  body button,
  body [role="button"],
  body .elementor-button,
  body .button,
  body .wpforms-submit,
  body .woosw-btn,
  body .woosc-btn { transition-duration: 1ms !important; }

  body a:active,
  body button:active,
  body [role="button"]:active,
  body input[type="submit"]:active,
  body input[type="button"]:active,
  body .elementor-button:active,
  body .button:active,
  body .wpforms-submit:active,
  body .woosw-btn:active,
  body .woosc-btn:active,
  body .minimog-product .btnlink:active,
  body .minimog-product .thumbnail:active { transform: none !important; }
}


/* ==========================================================================
   §4  MOBILE PARITY
   ========================================================================== */

/* A field under 16px makes iOS zoom the page, and it does not zoom back. */
@media (max-width: 1024px) {
  body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="color"]),
  body select,
  body textarea {
    font-size: 16px !important;
  }
}

/* Touch targets. The hit area grows, the painted box does not move. */
@media (max-width: 1024px) {
  body .tm-social-networks .list > .item > a.link,
  body form.is-search-form button.is-search-submit,
  body .button-close-modal,
  body .search-popup-close,
  body .btn-close-fly-cart,
  body .woosc-popup-close,
  body .tm-button,
  body .product-action,
  body .aura2__tab,
  body .aura2__arrow {
    position: relative;
  }

  body .tm-social-networks .list > .item > a.link::after,
  body form.is-search-form button.is-search-submit::after,
  body .button-close-modal::after,
  body .search-popup-close::after,
  body .btn-close-fly-cart::after,
  body .woosc-popup-close::after,
  body .tm-button::after,
  body .product-action::after,
  body .aura2__tab::before,
  body .aura2__arrow::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: max(100%, 44px);
    height: max(100%, 44px);
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  body .aura2__tab::before,
  body .aura2__arrow::before { height: 44px; pointer-events: none; }

  body .wpforms-submit,
  body button[type="submit"] { min-height: 44px !important; }

  body .elementor-button,
  body a.button,
  body .wc-forward,
  body .added_to_cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
  }

  body .quantity .decrease,
  body .quantity .increase,
  body .qty-button,
  body .minimog-quantity button {
    min-height: 44px !important;
    min-width: 44px !important;
  }

  body .header-icon-box .header-icon { min-height: 44px !important; }
}

/* The mega menu's 9px text. */
@media (max-width: 1024px) {
  body .mega-menu-content *,
  body .ic-mega-menu * { font-size: max(1em, 12px); }
}

/* A stray close button hanging off the right edge. */
@media (max-width: 1024px) {
  body .woosc-popup-close { right: 0; max-width: 100%; }
}

/* The 48px gutter, on every template. */
@media (max-width: 767px) {
  body .page-title-bar-minimal-01,
  body .page-title-bar,
  body .page-title-bar .page-breadcrumb,
  body.post-type-archive .page-title-bar-minimal-01 .page-breadcrumb,
  body .woocommerce-shop .page-sidebar { padding-left: 0 !important; }

  body .page-title-bar .page-breadcrumb,
  body .page-title-bar .page-breadcrumb-wrap,
  body .page-title-bar-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body .container-extended,
  body .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body .page-main-content,
  body .page-sidebar-left,
  body .page-sidebar {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body .page-main-content > .row,
  body .container-extended > .row,
  body .container > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* ==========================================================================
   §5  HOME PAGE
   ========================================================================== */

/* The black band at the top of every phone page. */
@media (max-width: 1024px) {
  body [data-id="4fdf0d0"],
  body .elementor-element-4fdf0d0 { display: none !important; }

  body [data-id="3a7b767"],
  body .elementor-element-3a7b767 { min-height: 0 !important; }
}

/* Section 2 was on the page twice on a phone. The plugin owns it now. */
@media (max-width: 1024px) {
  body [data-id="bbcfa6b"] { display: none !important; }

  body .aura2__track { min-width: 0; }

  body .aura2__track,
  body .aura2__stage { touch-action: pan-y !important; }
}

/* Two small things at the bottom of the screen. */
@media (max-width: 767px) {
  body [data-id="7de2afba"] { display: none !important; }
}

/* The hero film, all of it, inside the frame. */
@media (max-width: 1024px) {
  body.home #top-logo-in,
  body.home video#top-logo-in,
  body.home .elementor-widget-video video,
  body.home .aura-hero video {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    background: transparent !important;
  }
}


/* ==========================================================================
   §6  SCROLL CUE  —  FIX A
   --------------------------------------------------------------------------
   What was wrong
     · The glyph was painted twice: once on .container_mouse::after and once
       on > a::after. The de-duplicating rule used :has(), so any browser
       without :has() support drew both arrows on top of each other.
     · The mask was a curved "smile" with a bent tick, not an arrow.
     · Container opacity 0.66 multiplied by a peak keyframe opacity of 0.62
       left the cue at 0.41 — nearly invisible over the film.
     · The :active transform never fired, because a running animation on the
       same element beats a plain declaration.

   What it does now
     · ONE glyph, on .container_mouse::after. No :has(), nothing to duplicate.
     · The link is a transparent 44px overlay filling the cue, so the whole
       target is tappable and the word "Scroll" is suppressed by font-size,
       not by a class name that may change.
     · A real arrow — stem plus head — at a readable opacity.
     · The press state animates a wrapper property that the keyframes do not
       touch, so it actually shows.
   ========================================================================== */

/* The theme's own contents, out of the way. */
body .container_mouse .text1,
body .container_mouse span.text1,
body .container_mouse .chevron,
body .container_mouse .mouse,
body .container_mouse .scroll-text { display: none !important; }

/* The cue itself. */
html body .container_mouse,
html body .container_mouse.aura-cue-live {
  position: relative !important;
  display: block !important;
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;

  color: #fff !important;
  opacity: 1 !important;

  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Parked just above the fold on the home hero. */
html body.home .container_mouse,
html body.home .container_mouse.aura-cue-live {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: calc(100vh - 110px) !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  z-index: 41 !important;
  pointer-events: auto !important;
}

/* svh keeps the cue clear of the mobile URL bar. */
@supports (height: 100svh) {
  html body.home .container_mouse,
  html body.home .container_mouse.aura-cue-live { top: calc(100svh - 110px) !important; }
}

@media (min-width: 993px) {
  html body.home .container_mouse,
  html body.home .container_mouse.aura-cue-live { top: calc(100vh - 130px) !important; }

  @supports (height: 100svh) {
    html body.home .container_mouse,
    html body.home .container_mouse.aura-cue-live { top: calc(100svh - 130px) !important; }
  }
}

/* The link is the hit area, and nothing else. No text, no second glyph. */
html body .container_mouse > a,
html body .container_mouse > a:link,
html body .container_mouse > a:visited {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;

  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-decoration: none !important;

  z-index: 2;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Belt and braces: if a nested element ever carried the glyph, it does not. */
html body .container_mouse > a::before,
html body .container_mouse > a::after { content: none !important; display: none !important; }

/* The arrow. Drawn once, by the container. */
html body .container_mouse::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 22px;
  margin: -11px 0 0 -11px;

  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round' d='M12 4.5v13M6.4 12.1 12 17.7l5.6-5.6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round' d='M12 4.5v13M6.4 12.1 12 17.7l5.6-5.6'/%3E%3C/svg%3E") center / contain no-repeat;

  pointer-events: none;
  z-index: 1;
  will-change: transform, opacity;
  animation: aura-cue 2.8s var(--aura-press) infinite;
}

@keyframes aura-cue {
  0%   { transform: translateY(-3px); opacity: 0.30; }
  38%  { transform: translateY(2px);  opacity: 0.92; }
  70%  { transform: translateY(5px);  opacity: 0.45; }
  100% { transform: translateY(-3px); opacity: 0.30; }
}

/* Press. The animation owns transform, so the press moves the container. */
html body .container_mouse:active {
  transform: translateX(-50%) scale(0.9) !important;
  transition: transform 140ms var(--aura-press);
}

html body:not(.home) .container_mouse:active { transform: scale(0.9) !important; }

@media (hover: hover) and (pointer: fine) {
  html body .container_mouse:hover::after { opacity: 1; animation-play-state: paused; }
}

@media (prefers-reduced-motion: reduce) {
  html body .container_mouse::after { animation: none; opacity: 0.7; transform: none; }
  html body .container_mouse:active { transform: translateX(-50%) !important; }
}


/* ==========================================================================
   §7  SHOP AND ARCHIVES
   ========================================================================== */

@media (max-width: 767px) {
  body .page-sidebar-left,
  body .page-sidebar { padding-left: 0 !important; }

  body .btn-js-open-off-sidebar,
  body .btn-open-off-sidebar { display: none !important; }
}

/* The grid must not clip its own products. */
body .minimog-grid,
body .minimog-grid.lazy-grid,
body .products.minimog-grid { overflow: visible !important; }

/* The product count. */
body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count {
  display: block !important;
  order: -1 !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  opacity: 0.72 !important;
}

@media (max-width: 767px) {
  body.woocommerce-shop .woocommerce-result-count,
  body.post-type-archive-product .woocommerce-result-count,
  body.tax-product_cat .woocommerce-result-count {
    font-size: 11px !important;
    margin: 0 0 12px !important;
  }
}


/* ==========================================================================
   §8  PRODUCT PAGE
   ========================================================================== */

@media (max-width: 767px) {
  body.single-product .container-extended {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.single-product .page-main-content,
  body.single-product .col-woo-single-summary,
  body.single-product .entry-product.product {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-product .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.single-product .product_title,
  body.single-product h1.entry-title {
    font-size: clamp(20px, 5.6vw, 24px) !important;
    line-height: 1.22 !important;
    letter-spacing: 0.01em !important;
    margin-bottom: 10px !important;
  }

  body.single-product .entry-price-wrap .price,
  body.single-product .summary > .price {
    font-size: clamp(15px, 4.2vw, 18px) !important;
    line-height: 1.3 !important;
  }

  body.single-product .entry-product-meta,
  body.single-product .product_meta {
    font-size: 11px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.04em !important;
    opacity: 0.72;
  }

  body.single-product .page-title-bar {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Breadcrumb: one line, scrolls sideways, drops the current page. */
  body.single-product ul.insight_core_breadcrumb {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 6px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 0 14px !important;
  }

  body.single-product ul.insight_core_breadcrumb > li:last-child { display: none !important; }

  body.single-product ul.insight_core_breadcrumb > li {
    flex: 0 0 auto !important;
    font-size: 10px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    opacity: 0.6;
  }

  body.single-product ul.insight_core_breadcrumb::-webkit-scrollbar { display: none !important; }
}

/* The description. */
@media (max-width: 767px) {
  body.single-product .woocommerce-product-details__short-description,
  body.single-product .woocommerce-product-details__short-description p,
  body.single-product .woocommerce-product-details__short-description li,
  body.single-product #tab-description,
  body.single-product #tab-description p,
  body.single-product #tab-description li,
  body.single-product .woocommerce-Tabs-panel--description,
  body.single-product .woocommerce-Tabs-panel--description p,
  body.single-product .woocommerce-Tabs-panel--description li,
  body.single-product .entry-product-page-content .description p {
    font-size: 14px !important;
    line-height: 1.7 !important;
    letter-spacing: 0.01em !important;
    text-align: left !important;
    text-indent: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    font-family: var(--aura-face) !important;
  }

  body.single-product .woocommerce-product-details__short-description,
  body.single-product #tab-description,
  body.single-product .woocommerce-Tabs-panel--description {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-product .woocommerce-product-details__short-description p:last-child,
  body.single-product #tab-description p:last-child { margin-bottom: 0 !important; }
}

@media (min-width: 768px) {
  body.single-product .woocommerce-product-details__short-description,
  body.single-product .woocommerce-product-details__short-description p,
  body.single-product #tab-description p,
  body.single-product .woocommerce-Tabs-panel--description p {
    font-size: 15px !important;
    line-height: 1.75 !important;
    text-align: left !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }
}


/* ==========================================================================
   §9  CART AND CHECKOUT  —  FIX D
   ========================================================================== */

@media (max-width: 1024px) {
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout .fc-checkout-order-review,
  body.woocommerce-checkout .shop_table,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table,
  body.woocommerce-cart .shop_table,
  body.woocommerce-cart .woocommerce-cart-form__contents {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout .shop_table tr,
  body.woocommerce-checkout .shop_table th,
  body.woocommerce-checkout .shop_table td {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.woocommerce-checkout form.checkout fieldset,
  body.woocommerce-checkout .fc-step__substep,
  body.woocommerce-checkout .fc-step__substep-fields,
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout .woocommerce-additional-fields {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-checkout #place_order,
  body.woocommerce-checkout .fc-place-order-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 14px 18px !important;
    font-size: 13px !important;
    letter-spacing: 0.14em !important;
  }

  body.woocommerce-checkout .wc_payment_method > label,
  body.woocommerce-checkout .wc_payment_methods label {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
  }
}

/* Square, every part of it. */
body.woocommerce-checkout *:not(.avatar):not(.aura-wish):not(.aura-find-spin):not([class*="ic-"]):not(.ic-cart),
body.woocommerce-cart *:not(.avatar):not(.aura-wish):not(.aura-find-spin):not([class*="ic-"]):not(.ic-cart),
body.woocommerce-checkout *::before,
body.woocommerce-checkout *::after,
body.woocommerce-cart *::before,
body.woocommerce-cart *::after {
  border-radius: 0 !important;
}

body.woocommerce-checkout .header-icon-box .header-icon > .ic-box,
body.woocommerce-checkout .header-icon-box .header-icon > .ic-box::before,
body.woocommerce-checkout .header-icon-box .header-icon > .ic-box::after,
body.woocommerce-cart .header-icon-box .header-icon > .ic-box,
body.woocommerce-cart .header-icon-box .header-icon > .ic-box::before,
body.woocommerce-cart .header-icon-box .header-icon > .ic-box::after,
body.woocommerce-checkout .avatar,
body.woocommerce-cart .avatar { border-radius: 50% !important; }

body.woocommerce-checkout .ic-cart::before,
body.woocommerce-cart .ic-cart::before { border-radius: 999px !important; }

body.woocommerce-checkout input[type="radio"],
body.woocommerce-cart input[type="radio"] { border-radius: 50% !important; }

/* No "or continue as a guest". */
body.woocommerce-checkout .fc-contact-login__separator,
body.woocommerce-checkout .fc-contact-login__guest,
body.woocommerce-checkout .fc-contact-login__action--guest,
body.woocommerce-checkout .woocommerce-form-login__guest,
body.woocommerce-checkout .checkout-guest-separator { display: none !important; }

/* The contact step, in the order it reads. */
body.woocommerce-checkout .fc-step__substep-fields-inner {
  display: flex !important;
  flex-direction: column !important;
}

body.woocommerce-checkout .fc-step__substep-fields-inner > .fc-contact-login { order: 1 !important; }
body.woocommerce-checkout .fc-step__substep-fields-inner > .woocommerce-account-fields { order: 2 !important; }
body.woocommerce-checkout .fc-step__substep-fields-inner > .fc-contact-fields { order: 3 !important; }

body.woocommerce-checkout .fc-contact-fields {
  display: flex !important;
  flex-direction: column !important;
}

body.woocommerce-checkout .woocommerce-account-fields {
  margin: 0 0 6px !important;
  padding: 0 !important;
}

/* ---- FIX D ---------------------------------------------------------------
   "Continue with Google" belongs at the foot of the step, directly above
   "Proceed to shipping".

   aloftaura.js physically moves the node there and tags it .aura-sso-bottom,
   because the button lives in .fc-step__actions — a different container from
   the contact fields, so `order` alone cannot reach across.

   The `order` rules below are the no-JS fallback: they are inert when the
   parent is not a flex container, so they can never break the layout.
   ------------------------------------------------------------------------ */

body.woocommerce-checkout .mo-openid-app-icons,
body.woocommerce-checkout .fc-contact-fields > .mo-openid-app-icons { order: 98 !important; }

body.woocommerce-checkout .fc-step__actions,
body.woocommerce-checkout .fc-checkout-step__actions,
body.woocommerce-checkout .fc-step__next-step { order: 99 !important; }

/* Once moved, it reads as the last thing before the button. */
body.woocommerce-checkout .mo-openid-app-icons.aura-sso-bottom {
  width: 100% !important;
  max-width: 100% !important;
  margin: 22px 0 16px !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid rgba(12, 12, 14, 0.12) !important;
  box-sizing: border-box !important;
  clear: both !important;
}

/* The container is a column flexbox, so the eyebrow is a flex item. */
body.woocommerce-checkout .mo-openid-app-icons.aura-sso-bottom::before {
  content: "OR CONTINUE WITH";
  order: -1;
  flex: 0 0 auto;
  display: block;
  width: 100%;
  margin: 0 0 10px;
  font-family: var(--aura-face);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
  text-align: center;
  color: var(--aura-ink-3);
}

/* The step's own next-step button, matched to the SSO button's weight. */
body.woocommerce-checkout .fc-step__actions,
body.woocommerce-checkout .fc-checkout-step__actions {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .fc-step__next-step,
body.woocommerce-checkout .fc-step__next-step .button,
body.woocommerce-checkout button.fc-step__next-step,
body.woocommerce-checkout .fc-step__actions .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  font-size: 12px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}


/* ==========================================================================
   §10  SIGN-IN CARD AND THE GOOGLE BUTTON
   --------------------------------------------------------------------------
   miniOrange writes its colours, width, radius and font size as INLINE styles
   on the anchor, so every property it touches needs !important here or the
   button renders as the plugin's default pill.

   The label is real text, not a ::after replacement. aloftaura.js rewrites
   "Login with Google" to "Continue with Google" in the text node itself.
   That means: no font-size:0 trick, nothing to duplicate if a second
   provider is ever enabled, and the button still reads correctly with the
   script switched off.
   ========================================================================== */

body .mo-openid-app-icons {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* The plugin's own "or Log-in with" caption. We supply our own on checkout. */
body .mo-openid-app-icons > p,
body .mo-openid-app-icons > h3 { display: none !important; }

body .mo-openid-app-icons a,
body .mo-openid-app-icons > a.mo_btn,
body .mo-openid-app-icons a.mo_btn,
body .mo-openid-app-icons a.mo_btn-social {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  align-self: stretch !important;
  min-height: 52px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  box-sizing: border-box !important;

  background: var(--aura-ink) !important;
  background-image: none !important;
  border: 1px solid var(--aura-ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;

  font-family: var(--aura-face) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-align: center !important;
  white-space: nowrap !important;

  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: background-color 200ms var(--aura-press),
              transform 220ms var(--aura-press) !important;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* The provider mark. The plugin sets its size inline too. */
body .mo-openid-app-icons a img {
  width: 18px !important;
  height: 18px !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  background: #fff !important;
  padding: 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-sizing: content-box !important;
  vertical-align: middle !important;
}

/* An icon font instead of an image, on some plugin versions. */
body .mo-openid-app-icons a i,
body .mo-openid-app-icons a svg {
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  font-size: 16px !important;
  line-height: 1 !important;
  margin: 0 !important;
}

body .mo-openid-app-icons a:active { transform: scale(0.985) !important; }

@media (hover: hover) and (pointer: fine) {
  body .mo-openid-app-icons a:hover { background: #26262b !important; }
}

body .mo-openid-app-icons a:focus-visible {
  outline: 2px solid var(--aura-gold-ring) !important;
  outline-offset: 2px !important;
}

/* Narrow phones: let the label wrap rather than overflow the button. */
@media (max-width: 360px) {
  body .mo-openid-app-icons a,
  body .mo-openid-app-icons a.mo_btn {
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    white-space: normal !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .mo-openid-app-icons a { transition-duration: 1ms !important; }
  body .mo-openid-app-icons a:active { transform: none !important; }
}

/* The login card. */
body .fc-login-form__inner {
  width: min(92vw, 460px) !important;
  max-width: min(92vw, 460px) !important;
  max-height: min(88vh, 760px) !important;
  padding: 28px 26px 26px !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  border-radius: 0 !important;
  animation: aura-card-rise 320ms var(--aura-press) both;
}

@keyframes aura-card-rise {
  from { opacity: 0; transform: translateY(10px) scale(0.985); }
  to   { opacity: 1; transform: none; }
}

body .fc-login-form .fc-login-button .button,
body .fc-login-form button[name="login"] {
  width: 100% !important;
  min-height: 52px !important;
}

body .fc-login-form .lost_password { margin: 12px 0 0 !important; }
body .fc-login-form .clear { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  body .fc-login-form__inner { animation: none; }
}


/* ==========================================================================
   §11  ICON BAR  —  FIX C
   ========================================================================== */

/* --- 11.1  Geometry tokens ---------------------------------------------- */

.header-icon-box {
  --aura-origin-y: 85px;
  --aura-fan-drop: 46px;
  --aura-fan-r0: 30px;
  --aura-fan-r: 122px;
  --aura-disc: 35px;

  --aura-outer-w: min(100vw, 720px);
  --aura-pitch: calc(var(--aura-outer-w) / 9);
  --aura-row-dy: -3.5px;
  --aura-label-dy: 27px;

  --aura-fan-ease: cubic-bezier(0.34, 1.58, 0.5, 1);
  --aura-fan-ms: 620ms;
  --aura-fan-step: 52ms;
  --aura-fan-s0: 0.10;
  --aura-fan-spin: 26deg;

  --aura-fan-ease-in: cubic-bezier(0.55, 0, 0.2, 1);
  --aura-fan-ms-in: 380ms;
  --aura-fan-step-in: 14ms;
  --aura-logo-open: 1.62;
}

@media (min-width: 993px) {
  .header-icon-box {
    --aura-origin-y: 127px;
    --aura-fan-drop: 68px;
    --aura-fan-r0: 32px;
    --aura-fan-r: 158px;
  }
}

/* --- 11.2  Touch feedback ------------------------------------------------ */

.header-icon-box,
.header-icon-box *,
.middle-logo {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.header-icon-box .header-icon > div,
.middle-logo {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.header-icon-box .header-icon > div:active::after { transform: scale(1.22); }

@media (hover: none) and (pointer: coarse) {
  .header-icon-box .header-icon > div:hover::after {
    background: inherit;
    transform: scale(1);
  }
  .header-icon-box .header-icon > div:hover img { transform: none; }
  .header-icon img:hover { height: auto !important; }
}

/* --- 11.3  The row -------------------------------------------------------- */

body .header-icon-box .header-icon-outer {
  width: var(--aura-outer-w) !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: space-between !important;
  overflow: visible !important;
}

body .header-icon-box .header-icon {
  flex: 1 1 0% !important;
  width: auto !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body .header-icon-box .header-icon-outer,
body .header-icon-box .header-icon { position: static !important; }

body .header-icon-box .header-icon::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: var(--aura-disc);
  height: var(--aura-disc);
  pointer-events: none;
}

.header-icon-box.on-top .middle-logo,
.header-icon-box.on-bottom .middle-logo { pointer-events: none; }

/* --- 11.4  The disc under each glyph ------------------------------------- */

body .header-icon-box .header-icon > .ic-box {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: var(--aura-origin-y) !important;
  margin: 0 !important;
  border: 0 !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform-origin: 50% 50%;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body .header-icon-box .header-icon > .ic-box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
  background: linear-gradient(150deg,
              rgba(252, 252, 253, 0.76) 0%,
              rgba(238, 238, 242, 0.62) 100%);
  -webkit-backdrop-filter: blur(16px) saturate(170%);
  backdrop-filter: blur(16px) saturate(170%);
  border: 1px solid var(--aura-gold-line);
  box-shadow:
    0 1px 2px rgba(12, 12, 14, 0.10),
    0 6px 16px rgba(12, 12, 14, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.74);
  opacity: var(--aura-frost, 0);
  transition: opacity 260ms var(--aura-fan-ease-in, ease);
}

.header-icon-box:not(.on-top):not(.on-bottom) { --aura-frost: 1; }
.header-icon-box.on-top,
.header-icon-box.on-bottom { --aura-frost: 0; }

.header-icon-box:not(.on-top):not(.on-bottom) .header-icon > .ic-box::after {
  background-color: transparent !important;
  background-image: none !important;
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  body .header-icon-box .header-icon > .ic-box::before {
    background: linear-gradient(150deg,
                rgba(252, 252, 253, 0.96) 0%,
                rgba(238, 238, 242, 0.94) 100%);
  }
}

/* --- 11.5  FIX C — the cart count chip ------------------------------------
   aloftaura.js writes data-aura-count on the icon that should carry the
   number and injects <span class="aura-count">. The legacy data-count hook
   is kept so an older script keeps working unchanged.
   ------------------------------------------------------------------------ */

body .header-icon-box .aura-count {
  position: absolute;
  top: -5px;
  right: -6px;
  z-index: 6;

  display: block;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  box-sizing: border-box;
  border-radius: 0 !important;

  font: 700 9px/16px var(--aura-face);
  font-style: normal;
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;

  background: var(--aura-ink);
  color: #fff;
  box-shadow: 0 1px 4px rgba(12, 12, 14, 0.35);

  pointer-events: none;
  opacity: 0;
  transform: scale(0.5) translateY(4px);
  transform-origin: 100% 0;
  transition: opacity 160ms ease,
              transform 260ms cubic-bezier(0.2, 0.9, 0.3, 1.5);
}

body .header-icon-box [data-aura-count]:not([data-aura-count="0"]):not([data-aura-count=""]) > .aura-count,
body .header-icon-box [data-count]:not([data-count="0"]):not([data-count=""]) > .aura-count {
  opacity: 1;
  transform: scale(1) translateY(0);
}

/* Over the film, the chip inverts so it stays legible. */
body .header-icon-box.on-top .aura-count,
body .header-icon-box.on-bottom .aura-count {
  background: #fff;
  color: var(--aura-ink);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

/* Keep the theme's own glyph. The count is a separate element. */
body.aura-cart-full .ic-cart img,
body .ic-cart img { content: normal !important; }

body .ic-cart { overflow: visible !important; }

@media (prefers-reduced-motion: reduce) {
  body .header-icon-box .aura-count { transition-duration: 1ms !important; }
}

/* --- 11.6  The logo hint -------------------------------------------------- */

.menu-text {
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font: 600 11px/1.2 var(--aura-face);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--aura-ink);
  opacity: 0.62;
}

.header-icon-box.on-top .menu-text,
.header-icon-box.on-bottom .menu-text { color: #fff; }

/* --- 11.7  The fan ------------------------------------------------------- */

body .header-icon-box .header-icon > a[href] {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: var(--aura-origin-y) !important;
  width: var(--aura-disc) !important;
  height: var(--aura-disc) !important;
  margin: 0 !important;
  border-radius: 50%;
  z-index: 3;
  transform: translate(calc(-50% + var(--ix) * var(--aura-pitch)),
                       calc(50% + var(--aura-fan-drop) + var(--aura-row-dy))) !important;
  transition: transform var(--aura-fan-ms-in) var(--aura-fan-ease-in) !important;
}

body .header-icon-box:not(.on-top):not(.on-bottom) .header-icon > a[href] {
  transform: translate(calc(-50% + var(--ux) * var(--aura-fan-r0)),
                       calc(50% + var(--uy) * var(--aura-fan-r0) + var(--aura-fan-drop)))
             scale(var(--aura-fan-s0)) !important;
  pointer-events: none;
}

body .header-icon-box:not(.on-top):not(.on-bottom).clicked .header-icon > a[href] {
  transform: translate(calc(-50% + var(--ux) * var(--aura-fan-r)),
                       calc(50% + var(--uy) * var(--aura-fan-r) + var(--aura-fan-drop)))
             scale(1) !important;
  pointer-events: auto;
}

html.aura-js body .header-icon-box:not(.on-top):not(.on-bottom) .header-icon > a[href] {
  pointer-events: none !important;
}

body .header-icon-box .header-icon { pointer-events: none; }
body .header-icon-box .header-icon > .ic-box,
body .header-icon-box .header-icon > a[href] { pointer-events: auto; }

body .header-icon-box.on-top .header-icon > .ic-box,
body .header-icon-box.on-bottom .header-icon > .ic-box {
  transform: translate(calc(-50% + var(--ix) * var(--aura-pitch)),
                       calc(50% + var(--aura-fan-drop) + var(--aura-row-dy)))
             rotate(0deg)
             scale(1) !important;
}

.header-icon-box.on-bottom { --aura-row-dy: 6.5px; }

body .header-icon-box:not(.on-top):not(.on-bottom) .header-icon > .ic-box {
  transform: translate(calc(-50% + var(--ux) * var(--aura-fan-r0)),
                       calc(50% + var(--uy) * var(--aura-fan-r0) + var(--aura-fan-drop)))
             rotate(calc(var(--ux) * var(--aura-fan-spin) * -1))
             scale(var(--aura-fan-s0)) !important;
}

body .header-icon-box:not(.on-top):not(.on-bottom).clicked .header-icon > .ic-box {
  transform: translate(calc(-50% + var(--ux) * var(--aura-fan-r)),
                       calc(50% + var(--uy) * var(--aura-fan-r) + var(--aura-fan-drop)))
             rotate(0deg)
             scale(1) !important;
}

/* Nine seats on a half circle. */
body .header-icon-box .header-icon:nth-child(1) > .ic-box,
body .header-icon-box .header-icon:nth-child(1) > a[href],
body .header-icon-box .header-icon:nth-child(1) > span { --ux: -1;     --uy:  0;     --ix: -4; }
body .header-icon-box .header-icon:nth-child(2) > .ic-box,
body .header-icon-box .header-icon:nth-child(2) > a[href],
body .header-icon-box .header-icon:nth-child(2) > span { --ux: -0.924; --uy: -0.383; --ix: -3; }
body .header-icon-box .header-icon:nth-child(3) > .ic-box,
body .header-icon-box .header-icon:nth-child(3) > a[href],
body .header-icon-box .header-icon:nth-child(3) > span { --ux: -0.707; --uy: -0.707; --ix: -2; }
body .header-icon-box .header-icon:nth-child(4) > .ic-box,
body .header-icon-box .header-icon:nth-child(4) > a[href],
body .header-icon-box .header-icon:nth-child(4) > span { --ux: -0.383; --uy: -0.924; --ix: -1; }
body .header-icon-box .header-icon:nth-child(5) > .ic-box,
body .header-icon-box .header-icon:nth-child(5) > a[href],
body .header-icon-box .header-icon:nth-child(5) > span { --ux:  0;     --uy: -1;     --ix:  0; }
body .header-icon-box .header-icon:nth-child(6) > .ic-box,
body .header-icon-box .header-icon:nth-child(6) > a[href],
body .header-icon-box .header-icon:nth-child(6) > span { --ux:  0.383; --uy: -0.924; --ix:  1; }
body .header-icon-box .header-icon:nth-child(7) > .ic-box,
body .header-icon-box .header-icon:nth-child(7) > a[href],
body .header-icon-box .header-icon:nth-child(7) > span { --ux:  0.707; --uy: -0.707; --ix:  2; }
body .header-icon-box .header-icon:nth-child(8) > .ic-box,
body .header-icon-box .header-icon:nth-child(8) > a[href],
body .header-icon-box .header-icon:nth-child(8) > span { --ux:  0.924; --uy: -0.383; --ix:  3; }
body .header-icon-box .header-icon:nth-child(9) > .ic-box,
body .header-icon-box .header-icon:nth-child(9) > a[href],
body .header-icon-box .header-icon:nth-child(9) > span { --ux:  1;     --uy:  0;     --ix:  4; }

/* --- 11.8  …and it opens as one set -------------------------------------- */

body .header-icon-box .header-icon > .ic-box {
  transition: transform var(--aura-fan-ms-in) var(--aura-fan-ease-in),
              opacity 240ms var(--aura-fan-ease-in) 70ms,
              background-color 260ms var(--aura-fan-ease-in),
              box-shadow 260ms ease !important;
  will-change: transform;
}

body .header-icon-box.clicked .header-icon > .ic-box {
  transition-duration: var(--aura-fan-ms), 300ms, 260ms, 260ms !important;
  transition-timing-function: var(--aura-fan-ease), var(--aura-fan-ease), ease, ease !important;
}

body .header-icon-box:not(.on-top):not(.on-bottom).clicked .header-icon:nth-child(5) > .ic-box { transition-delay: 0s !important; }
body .header-icon-box:not(.on-top):not(.on-bottom).clicked .header-icon:nth-child(4) > .ic-box,
body .header-icon-box:not(.on-top):not(.on-bottom).clicked .header-icon:nth-child(6) > .ic-box { transition-delay: calc(var(--aura-fan-step) * 1) !important; }
body .header-icon-box:not(.on-top):not(.on-bottom).clicked .header-icon:nth-child(3) > .ic-box,
body .header-icon-box:not(.on-top):not(.on-bottom).clicked .header-icon:nth-child(7) > .ic-box { transition-delay: calc(var(--aura-fan-step) * 2) !important; }
body .header-icon-box:not(.on-top):not(.on-bottom).clicked .header-icon:nth-child(2) > .ic-box,
body .header-icon-box:not(.on-top):not(.on-bottom).clicked .header-icon:nth-child(8) > .ic-box { transition-delay: calc(var(--aura-fan-step) * 3) !important; }
body .header-icon-box:not(.on-top):not(.on-bottom).clicked .header-icon:nth-child(1) > .ic-box,
body .header-icon-box:not(.on-top):not(.on-bottom).clicked .header-icon:nth-child(9) > .ic-box { transition-delay: calc(var(--aura-fan-step) * 4) !important; }

body .header-icon-box:not(.clicked) .header-icon:nth-child(1) > .ic-box,
body .header-icon-box:not(.clicked) .header-icon:nth-child(9) > .ic-box { transition-delay: 0s, 70ms, 0s, 0s !important; }
body .header-icon-box:not(.clicked) .header-icon:nth-child(2) > .ic-box,
body .header-icon-box:not(.clicked) .header-icon:nth-child(8) > .ic-box { transition-delay: calc(var(--aura-fan-step-in) * 1), 70ms, 0s, 0s !important; }
body .header-icon-box:not(.clicked) .header-icon:nth-child(3) > .ic-box,
body .header-icon-box:not(.clicked) .header-icon:nth-child(7) > .ic-box { transition-delay: calc(var(--aura-fan-step-in) * 2), 70ms, 0s, 0s !important; }
body .header-icon-box:not(.clicked) .header-icon:nth-child(4) > .ic-box,
body .header-icon-box:not(.clicked) .header-icon:nth-child(6) > .ic-box { transition-delay: calc(var(--aura-fan-step-in) * 3), 70ms, 0s, 0s !important; }
body .header-icon-box:not(.clicked) .header-icon:nth-child(5) > .ic-box { transition-delay: calc(var(--aura-fan-step-in) * 4), 70ms, 0s, 0s !important; }

body .header-icon-box .middle-logo {
  transition: transform 420ms var(--aura-fan-ease),
              opacity 300ms var(--aura-fan-ease-in) !important;
}

body .header-icon-box:not(.on-top):not(.on-bottom).clicked .middle-logo {
  height: 80px !important;
  transform: translate(-50%, 0) scale(var(--aura-logo-open, 1.62)) !important;
  transform-origin: 50% 100%;
}

/* --- 11.9  Row labels ---------------------------------------------------- */

body .header-icon-box.on-top .header-icon > span,
body .header-icon-box.on-bottom .header-icon > span {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: var(--aura-origin-y) !important;
  width: max-content !important;
  max-width: calc(var(--aura-pitch) + 10px) !important;
  margin: 0 !important;
  transform: translate(calc(-50% + var(--ix) * var(--aura-pitch)),
                       calc(50% + var(--aura-fan-drop) + var(--aura-row-dy) + var(--aura-label-dy))) !important;
  opacity: 1;
  font-size: clamp(7.2px, 2.15vw, 8.6px);
  line-height: 1.15;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: visible;
  text-align: center;
  color: #fff;
  transition: opacity 220ms var(--aura-press);
}

.header-icon-box.on-bottom { --aura-label-dy: 27px; }

body .header-icon-box.clicked .header-icon > span { opacity: 0 !important; }

@media (prefers-reduced-motion: reduce) {
  .header-icon-box {
    --aura-fan-spin: 0deg;
    --aura-fan-s0: 1;
  }
  body .header-icon-box .header-icon > .ic-box,
  body .header-icon-box.clicked .header-icon > .ic-box,
  body .header-icon-box .middle-logo {
    transition-duration: 1ms !important;
    transition-delay: 0s !important;
  }
  body .header-icon-box:not(.on-top):not(.on-bottom).clicked .middle-logo {
    transform: translate(-50%, 0) !important;
  }
}


/* ==========================================================================
   §12  CARDS  —  FIX B
   --------------------------------------------------------------------------
   Every card the bar opens, and every control inside it, is a square
   rectangle. The three exceptions are declared once at 12.2 and nothing
   after that re-introduces a radius.
   ========================================================================== */

/* --- 12.1  Placement and entry/exit -------------------------------------- */

.aura-card {
  position: fixed !important;
  left: 50% !important;
  top: 46% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 999;
  transition: opacity 260ms var(--aura-press),
              transform 420ms var(--aura-press),
              filter 300ms var(--aura-press);
}

.aura-card.is-pre {
  opacity: 0;
  pointer-events: none;
  transition: none;
  filter: blur(7px);
  transform: translate(-50%, -50%) scale(0.94) translateY(10px) !important;
}

.aura-card.is-in {
  opacity: 1;
  filter: blur(0px);
}

.aura-card.is-out {
  opacity: 0;
  pointer-events: none;
  filter: blur(5px);
  transform: translate(-50%, -50%) scale(0.96) translateY(8px) !important;
  transition-duration: 200ms, 260ms, 200ms;
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.aura-card.is-swap {
  opacity: 0;
  pointer-events: none;
  z-index: 998;
  filter: blur(5px);
  transform: translate(-50%, -50%) scale(1.06) !important;
  transition-duration: 170ms, 200ms, 170ms;
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.aura-card.is-fading {
  transition: opacity 110ms var(--aura-press),
              filter 110ms var(--aura-press),
              transform 110ms var(--aura-press) !important;
  opacity: var(--aura-k, 1);
  filter: blur(calc((1 - var(--aura-k, 1)) * 5px));
  transform: translate(-50%, -50%)
             scale(calc(0.97 + (0.03 * var(--aura-k, 1))))
             translateY(calc((1 - var(--aura-k, 1)) * 6px)) !important;
  pointer-events: none;
}

@supports (height: 100dvh) {
  .aura-card { top: 46dvh !important; }
  .aura-card-built { max-height: 66dvh; }
}

@media (prefers-reduced-motion: reduce) {
  .aura-card,
  .aura-card.is-out,
  .aura-card.is-swap { transition-duration: 1ms, 1ms, 1ms; }
  .aura-card.is-pre,
  .aura-card.is-out,
  .aura-card.is-swap,
  .aura-card.is-fading { filter: none; }
}

/* --- 12.2  FIX B — square, all the way down ------------------------------ */

body .aura-card,
body .aura-card *:not(.avatar):not(.aura-find-spin):not([type="radio"]),
body .aura-card *::before,
body .aura-card *::after,
body .aura-card-built,
body .aura-card-body,
body .home-category-menu,
body .home-my-account,
body .home-menuquicklinks,
body .home-social-icons1,
body .home-chatform {
  border-radius: 0 !important;
}

/* The only round things inside a card. */
body .aura-card .avatar,
body .aura-card img.avatar,
body .aura-card input[type="radio"],
body .aura-card .aura-find-spin { border-radius: 50% !important; }

/* --- 12.3  Glass --------------------------------------------------------- */

.aura-card {
  background: linear-gradient(152deg,
              rgba(252, 252, 253, 0.74) 0%,
              rgba(243, 243, 246, 0.66) 46%,
              rgba(232, 232, 237, 0.62) 100%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(175%);
  backdrop-filter: blur(28px) saturate(175%);
  border: 0 !important;
  box-shadow:
    0 1px 2px rgba(12, 12, 14, 0.10),
    0 8px 20px rgba(12, 12, 14, 0.12),
    0 32px 64px rgba(12, 12, 14, 0.20),
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    inset 0 -1px 0 rgba(12, 12, 14, 0.06);
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .aura-card {
    background: linear-gradient(152deg,
                rgba(252, 252, 253, 0.97) 0%,
                rgba(238, 238, 242, 0.96) 100%) !important;
  }
}

.aura-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    linear-gradient(100deg,
      rgba(255, 255, 255, 0.55) 0%,
      rgba(232, 205, 148, 0.30) 14%,
      rgba(255, 255, 255, 0.00) 42%) top left / 100% 1.5px no-repeat,
    linear-gradient(180deg,
      rgba(255, 255, 255, 0.22) 0%,
      rgba(255, 255, 255, 0.00) 38%);
}

/* A square gold hairline with a slow travelling sheen. */
.aura-card::after {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  pointer-events: none;
  z-index: 2;
  background:
    linear-gradient(115deg,
      rgba(232, 205, 148, 0) 0%,
      rgba(232, 205, 148, 0) 30%,
      rgba(244, 226, 178, 0.95) 46%,
      rgba(198, 166, 100, 0.55) 55%,
      rgba(232, 205, 148, 0) 72%,
      rgba(232, 205, 148, 0) 100%) -150% 0 / 300% 100% no-repeat,
    linear-gradient(rgba(198, 166, 100, 0.42) 0 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  animation: aura-card-edge 5.6s cubic-bezier(0.45, 0, 0.25, 1) infinite;
}

@keyframes aura-card-edge {
  0%   { background-position: -150% 0, 0 0; }
  62%  { background-position:  150% 0, 0 0; }
  100% { background-position:  150% 0, 0 0; }
}

.aura-card.is-pre::after,
.aura-card.is-out::after,
.aura-card.is-swap::after { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  .aura-card::after { animation: none; }
}

.aura-card > .search-form,
.aura-card > .search-form > .elementor,
.aura-card > .search-form > .elementor > .e-con,
.aura-card .aura-card-body {
  background: transparent !important;
  position: relative;
  z-index: 1;
}

/* --- 12.4  The card body ------------------------------------------------- */

.aura-card-built {
  width: min(88vw, 460px);
  max-height: 66vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: none;
  box-sizing: border-box;
}

.aura-card-body { padding: 20px 26px; }

.aura-card-link,
.aura-card-note {
  display: block;
  padding: 13px 2px;
  font: 600 12px/1.25 var(--aura-face);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--aura-ink);
  text-decoration: none;
  border-bottom: 1px solid rgba(12, 12, 14, 0.09);
}

.aura-card-link:last-child { border-bottom: none; }
.aura-card-link:hover,
.aura-card-link:focus-visible { color: var(--aura-ink-3); outline: none; }

.aura-card-link.is-sub {
  padding-left: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--aura-ink-2);
}

.aura-card-note {
  border-bottom: none;
  color: var(--aura-ink-3);
}

/* --- 12.5  Search -------------------------------------------------------- */

.aura-card-search { display: block; padding: 6px 0; }

.aura-find-field { position: relative; display: block; }

.aura-find-in {
  width: 100%;
  box-sizing: border-box;
  height: 46px;
  padding: 0 44px 0 14px;
  background: #fff !important;
  border: 1px solid var(--aura-gold-line);
  box-shadow: 0 1px 3px rgba(12, 12, 14, 0.06);
  color: var(--aura-ink);
  font: 400 15px/1 var(--aura-face);
  -webkit-appearance: none;
  appearance: none;
}

.aura-find-in:focus {
  outline: none;
  border-color: var(--aura-gold-ring);
  box-shadow: 0 0 0 3px rgba(198, 166, 100, 0.18);
}

.aura-find-in::-webkit-search-cancel-button { -webkit-appearance: none; }

.aura-find-spin {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  border: 2px solid rgba(12, 12, 14, 0.18);
  border-top-color: var(--aura-ink);
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 180ms ease, transform 180ms ease;
}

.aura-card.is-busy .aura-find-spin {
  opacity: 1;
  transform: scale(1);
  animation: aura-spin 620ms linear infinite;
}

@keyframes aura-spin { to { transform: rotate(360deg) scale(1); } }

.aura-find-out { padding-top: 6px; }

.aura-card.is-busy .aura-find-out {
  opacity: 0.45;
  transition: opacity 160ms ease;
}

.aura-find-hit {
  display: grid;
  grid-template-columns: 44px 1fr;
  grid-gap: 12px;
  gap: 12px;
  align-items: center;
  padding: 9px 2px;
  text-decoration: none;
  border-bottom: 1px solid rgba(12, 12, 14, 0.09);
  transition: background 160ms ease;
}

.aura-find-hit:hover,
.aura-find-hit:focus-visible { background: rgba(12, 12, 14, 0.05); outline: none; }

.aura-find-pic {
  width: 44px;
  height: 56px;
  object-fit: cover;
  display: block;
  background: #d9d9de;
}

.aura-find-text { min-width: 0; }

.aura-find-name {
  display: block;
  font: 600 11px/1.35 var(--aura-face);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--aura-ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aura-find-price {
  display: block;
  margin-top: 3px;
  font: 500 12px/1.2 var(--aura-face);
  color: var(--aura-ink-2);
}

.aura-find-all {
  display: block;
  padding: 13px 2px 4px;
  font: 600 11px/1.2 var(--aura-face);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--aura-ink-3);
  text-decoration: none;
}

.aura-find-all:hover { color: var(--aura-ink); }

.aura-skel-row {
  display: block;
  height: 56px;
  margin: 8px 0;
  background: linear-gradient(100deg,
              rgba(12, 12, 14, 0.06) 30%,
              rgba(12, 12, 14, 0.13) 50%,
              rgba(12, 12, 14, 0.06) 70%);
  background-size: 300% 100%;
  animation: aura-sweep 1.25s ease-in-out infinite;
}

.aura-skel-row:nth-child(2) { animation-delay: 0.1s; }
.aura-skel-row:nth-child(3) { animation-delay: 0.2s; }

@keyframes aura-sweep {
  from { background-position: 160% 0; }
  to   { background-position: -60% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .aura-skel-row { animation: none; }
  .aura-card.is-busy .aura-find-spin { animation: none; }
}

/* --- 12.6  The basket card ----------------------------------------------- */

.aura-cart-none,
.aura-cart-skel { display: none; }

.aura-cart.is-loading .aura-cart-live,
.aura-cart.is-empty .aura-cart-live { display: none; }
.aura-cart.is-loading .aura-cart-skel { display: block; }
.aura-cart.is-empty   .aura-cart-none { display: block; }
.aura-cart.is-empty   .aura-cart-go .is-primary { display: none; }

.aura-cart-none {
  margin: 0;
  padding: 18px 2px 22px;
  font: 500 12px/1.4 var(--aura-face);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--aura-ink-3);
}

.aura-cart .elementor-menu-cart__products,
.aura-cart .cart_list {
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: 46vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.aura-cart .elementor-menu-cart__product,
.aura-cart .cart_item {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  grid-gap: 14px;
  gap: 14px;
  align-items: center;
  padding: 12px 2px;
  border-bottom: 1px solid rgba(12, 12, 14, 0.09);
}

.aura-cart .elementor-menu-cart__product:last-child,
.aura-cart .cart_item:last-child { border-bottom: none; }

.aura-cart .elementor-menu-cart__product-image,
.aura-cart .cart_item img {
  grid-column: 1;
  width: 56px;
  height: 70px;
  margin: 0;
  overflow: hidden;
  background: #d9d9de;
}

.aura-cart .elementor-menu-cart__product-image img,
.aura-cart .cart_item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.aura-cart .elementor-menu-cart__product-name,
.aura-cart .elementor-menu-cart__product-name a {
  font: 600 11px/1.35 var(--aura-face);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--aura-ink);
  text-decoration: none;
}

.aura-cart .elementor-menu-cart__product-price,
.aura-cart .quantity {
  font: 500 12px/1.3 var(--aura-face);
  color: var(--aura-ink-2);
  letter-spacing: 0.04em;
}

.aura-cart .elementor-menu-cart__product-remove,
.aura-cart .remove {
  grid-column: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--aura-ink-3) !important;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease;
}

.aura-cart .elementor-menu-cart__product-remove:hover,
.aura-cart .remove:hover {
  background: rgba(12, 12, 14, 0.08);
  color: var(--aura-ink) !important;
}

.aura-cart .elementor-menu-cart__subtotal,
.aura-cart .total {
  display: flex;
  justify-content: space-between;
  padding: 14px 2px 4px;
  margin: 0;
  border-top: 1px solid rgba(12, 12, 14, 0.18);
  font: 600 12px/1 var(--aura-face);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--aura-ink);
}

.aura-cart .elementor-menu-cart__footer-buttons,
.aura-cart .woocommerce-mini-cart__buttons { display: none; }

.aura-cart-go {
  display: flex;
  gap: 10px;
  padding: 14px 0 2px;
}

.aura-btn {
  flex: 1 1 0%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 46px;
  border: 1px solid rgba(12, 12, 14, 0.55);
  background: transparent;
  color: var(--aura-ink);
  font: 600 11px/1 var(--aura-face);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.aura-btn.is-primary {
  background: var(--aura-ink);
  border-color: var(--aura-ink);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.aura-btn:hover { transform: translateY(-1px); }
.aura-btn:not(.is-primary):hover { background: rgba(12, 12, 14, 0.06); }
.aura-btn:active { transform: translateY(0); }

/* --- 12.7  Category card ------------------------------------------------- */

body .aura-card .aura-cat-item,
body .aura-card .aura-tile,
body .aura-card .aura-card-link {
  position: relative;
  transition: background-color 200ms var(--aura-press),
              color 200ms var(--aura-press) !important;
}

body .aura-card .aura-cat-item::before,
body .aura-card .aura-tile::before,
body .aura-card .aura-card-link::before { content: none !important; }

body .aura-card .aura-cat-item[aria-current],
body .aura-card .aura-cat-item.is-on,
body .aura-card .aura-cat-item.is-active,
body .aura-card .aura-tile[aria-current],
body .aura-card .aura-tile.is-on,
body .aura-card .aura-card-link[aria-current],
body .aura-card .aura-card-link.is-on,
body .aura-card .aura-card-link.is-active,
body .aura-card .current-cat > .aura-card-link,
body .aura-card li.current-cat > a {
  background: rgba(12, 12, 14, 0.075) !important;
  color: var(--aura-ink) !important;
  font-weight: 700 !important;
}

@media (hover: hover) and (pointer: fine) {
  body .aura-card .aura-cat-item:hover,
  body .aura-card .aura-tile:hover,
  body .aura-card .aura-card-link:hover {
    background: rgba(12, 12, 14, 0.035) !important;
    color: var(--aura-ink) !important;
  }
}

/* --- 12.8  Account card -------------------------------------------------- */

.aura-card.home-my-account > .search-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  box-sizing: border-box;
  text-align: center;
}

.aura-card.home-my-account > .search-form > .elementor { width: 100%; }

.aura-card.home-my-account #btn-toggle-account-nav,
.aura-card.home-my-account .minimog-wc-account-nav-toggle,
.aura-card.home-my-account .woocommerce #btn-toggle-account-nav { display: none !important; }

.aura-card.home-my-account .minimog-wc-account-nav-inner { text-align: center; }

.aura-card.home-my-account ul,
.aura-card.home-my-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  text-align: center;
}

.aura-card.home-my-account li::marker { content: ""; }
.aura-card.home-my-account li::before { display: none !important; }

.aura-card.home-my-account .minimog-wc-account-nav-inner img,
.aura-card.home-my-account .my-account-profile img,
.aura-card.home-my-account .avatar {
  display: block !important;
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.aura-card.home-my-account .my-account-profile,
.aura-card.home-my-account .my-name {
  text-align: center !important;
  padding-left: 0 !important;
}

.aura-card.home-my-account .woocommerce-MyAccount-navigation ul li a,
.aura-card.home-my-account .minimog-wc-account-content a,
.aura-card.home-my-account .minimog-wc-account-content p { color: #000; }

/* --- 12.9  Chat card ----------------------------------------------------- */

.aura-card.home-chatform > .aloft-panel,
.aura-card.home-chatform > [class*="aloft"],
.aura-card.home-chatform > .search-form > .aloft-panel,
.aura-card.home-chatform > .search-form > [class*="aloft"] {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.aura-card.home-chatform input[type="text"],
.aura-card.home-chatform textarea,
.aura-card.home-chatform [contenteditable="true"] {
  background: #fff !important;
  border: 1px solid rgba(198, 166, 100, 0.32) !important;
}

.aura-card-chat { min-height: 96px; }

/* --- 12.10  Card sizes on the phone -------------------------------------- */

body:not(.home) .home-category-menu,
body:not(.home) .home-my-account,
body:not(.home) .home-menuquicklinks,
body:not(.home) .home-social-icons1,
body:not(.home) .home-chatform {
  background-color: var(--aura-paper);
  overflow: hidden;
}

body:not(.home) .home-my-account      { width: 50%; height: 170px; }
body:not(.home) .home-menuquicklinks  { width: 50% !important; height: 140px; }
body:not(.home) .home-social-icons1   { width: 50% !important; height: 120px; }
body:not(.home) .home-chatform        { width: 50% !important; height: auto; }

body:not(.home).logged-in .home-my-account { width: 80%; height: 410px; }

@media screen and (max-width: 992px) and (min-width: 768px) {
  body:not(.home).logged-in .home-my-account { width: 94% !important; }
}

@media only screen and (max-width: 768px) {
  body:not(.home) .home-my-account      { width: 90%; height: 170px; }
  body:not(.home) .home-menuquicklinks  { width: 90% !important; }
  body:not(.home) .home-social-icons1   { width: 90% !important; }
  body:not(.home) .home-chatform        { width: 90% !important; }

  body:not(.home).logged-in .home-my-account {
    width: 90%;
    height: 410px;
    overflow: auto;
  }

  /* A card is as tall as what is in it. */
  body.home .home-category-menu,
  body:not(.home) .home-category-menu {
    height: auto !important;
    min-height: 290px;
    max-height: min(84vh, calc(100vh - 150px)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  body.home .home-menuquicklinks,
  body:not(.home) .home-menuquicklinks {
    height: auto !important;
    min-height: 220px;
    max-height: min(84vh, calc(100vh - 150px)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  body.home .home-chatform,
  body:not(.home) .home-chatform {
    height: auto !important;
    min-height: 0 !important;
    max-height: min(84vh, calc(100vh - 150px)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  /* dvh keeps a card off the soft keyboard. */
  @supports (height: 100dvh) {
    body.home .home-category-menu,
    body:not(.home) .home-category-menu,
    body.home .home-menuquicklinks,
    body:not(.home) .home-menuquicklinks {
      max-height: min(84dvh, calc(100dvh - 150px)) !important;
    }

    body.home .home-chatform,
    body:not(.home) .home-chatform {
      max-height: min(84dvh, calc(100dvh - 120px)) !important;
    }
  }

  body.home .home-chatform > .search-form,
  body:not(.home) .home-chatform > .search-form { min-height: 0 !important; }

  body .home-chatform.aura-card:not(.is-pre):not(.is-in) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    max-height: 0 !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-width: 0 !important;
    overflow: hidden !important;
    transform: translateY(8px) scale(0.985) !important;
    transition: opacity 200ms var(--aura-in),
                transform 230ms var(--aura-in),
                max-height 230ms var(--aura-in),
                visibility 0s linear 230ms !important;
  }

  body .home-chatform.aura-card .aloft-panel,
  body .home-chatform.aura-card [class*="aloft-panel"],
  body .home-chatform.aura-card > .search-form > .elementor,
  body .home-chatform.aura-card > .search-form > .elementor > .e-con {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 0 !important;
  }

  body .home-chatform.aura-card .aloft-log,
  body .home-chatform.aura-card [class*="aloft-log"],
  body .home-chatform.aura-card [class*="aloft-messages"] {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
  }

  body .home-chatform.aura-card > *:last-child,
  body .home-chatform.aura-card .search-form > *:last-child { margin-bottom: 0 !important; }

  body.home .home-category-menu > .search-form,
  body:not(.home) .home-category-menu > .search-form,
  body.home .home-menuquicklinks > .search-form,
  body:not(.home) .home-menuquicklinks > .search-form,
  body.home .home-chatform > .search-form,
  body:not(.home) .home-chatform > .search-form {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

@media only screen and (max-width: 480px) {
  body:not(.home) .home-my-account {
    top: 44%;
    width: 94%;
    height: 170px;
    overflow: auto;
  }
  body:not(.home) .home-menuquicklinks { width: 94% !important; }
  body:not(.home) .home-chatform       { overflow: auto; }
}

/* --- 12.11  Desktop ------------------------------------------------------ */

@media (min-width: 992px) {
  .aura-card-built {
    width: min(64vw, 640px);
    max-height: 72vh;
  }

  .aura-card-body { padding: 26px 34px; }

  .aura-card-link,
  .aura-card-note {
    padding: 15px 2px;
    font-size: 13px;
  }

  .aura-card-list {
    column-count: 2;
    column-gap: 34px;
  }

  .aura-card-list .aura-card-link { break-inside: avoid; }

  .aura-find-in { height: 52px; font-size: 16px; }
  .aura-find-hit { grid-template-columns: 56px 1fr; padding: 11px 6px; }
  .aura-find-pic { width: 56px; height: 70px; }
  .aura-find-name { font-size: 12px; }

  .aura-cart .elementor-menu-cart__products,
  .aura-cart .cart_list { max-height: 42vh; }

  .aura-btn { height: 50px; font-size: 12px; }

  .aura-card-link:hover { padding-left: 6px; transition: padding 160ms ease; }
  .aura-card-link.is-sub:hover { padding-left: 22px; }
}

@media (min-width: 1600px) {
  .aura-card-built { width: min(48vw, 720px); }
}

/* --- 12.12  One link, one press, in every card --------------------------- */

.aura-card.home-menuquicklinks a,
.aura-card .home-menuquicklinks a {
  display: block;
  padding: 13px 2px !important;
  font-family: var(--aura-face) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: var(--aura-ink) !important;
  border-bottom: 1px solid rgba(12, 12, 14, 0.09);
}

.aura-card.home-menuquicklinks a:last-child,
.aura-card .home-menuquicklinks a:last-child { border-bottom: none; }

.aura-card.home-menuquicklinks ul,
.aura-card.home-menuquicklinks ol {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.aura-card.home-menuquicklinks li::marker { content: ""; }

.aura-card a,
.aura-card button,
.aura-card [role="button"] {
  transition: color 200ms var(--aura-press),
              background-color 200ms var(--aura-press),
              border-color 200ms var(--aura-press),
              opacity 200ms var(--aura-press),
              transform 220ms var(--aura-press) !important;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.aura-card a:active,
.aura-card [role="button"]:active { color: var(--aura-gold) !important; }

.aura-card .aura-card-link:active,
.aura-card.home-menuquicklinks a:active { transform: translateX(2px); }

.aura-card button:active,
.aura-card .aura-btn:active,
.aura-card .aura-find-hit:active,
.aura-card .aura-tile:active { transform: scale(0.975); }

.aura-card a:focus-visible,
.aura-card button:focus-visible {
  outline: 2px solid var(--aura-gold-ring) !important;
  outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
  body .aura-card .aura-cat-item,
  body .aura-card .aura-tile,
  body .aura-card .aura-card-link,
  .aura-card a,
  .aura-card button,
  .aura-card [role="button"] { transition-duration: 1ms !important; }

  .aura-card a:active,
  .aura-card button:active,
  .aura-card .aura-card-link:active,
  .aura-card .aura-btn:active,
  .aura-card .aura-find-hit:active,
  .aura-card .aura-tile:active { transform: none !important; }
}


/* ==========================================================================
   §13  PERSONALIZE MY AURA
   ========================================================================== */

body .aura-fit[hidden] { display: none !important; }
body .aura-fit__aside { display: none !important; }

body .aura-fit .aura-fit__panel {
  background: linear-gradient(152deg,
              rgba(18, 18, 21, 0.82) 0%,
              rgba(12, 12, 14, 0.76) 46%,
              rgba(8, 8, 10, 0.72) 100%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(175%);
  backdrop-filter: blur(28px) saturate(175%);
  border: 1px solid rgba(198, 166, 100, 0.34);
  border-radius: 0 !important;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.40),
    0 8px 20px rgba(0, 0, 0, 0.44),
    0 32px 64px rgba(0, 0, 0, 0.52),
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    inset 0 -1px 0 rgba(0, 0, 0, 0.40);
}

body .aura-fit,
body .aura-fit__scrim {
  background: rgba(6, 6, 8, 0.52) !important;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

body .aura-fit__scrim { position: absolute !important; inset: 0 !important; }

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  body .aura-fit .aura-fit__panel {
    background: linear-gradient(152deg, rgba(16, 16, 19, 0.98), rgba(9, 9, 11, 0.97)) !important;
  }
}

body .aura-fit__choice,
body .aura-fit__degree,
body .aura-fit__pick {
  background: rgba(255, 255, 255, 0.045) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(242, 239, 233, 0.14) !important;
  border-radius: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
  transition: background-color 220ms cubic-bezier(0.16, 0.84, 0.28, 1),
              border-color 220ms cubic-bezier(0.16, 0.84, 0.28, 1),
              transform 200ms cubic-bezier(0.16, 0.84, 0.28, 1),
              box-shadow 220ms ease !important;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body .aura-fit__choice:active,
body .aura-fit__degree:active,
body .aura-fit__pick:active { transform: scale(0.975) !important; }

body .aura-fit__choice[aria-pressed="true"],
body .aura-fit__choice.is-on,
body .aura-fit__degree[aria-pressed="true"],
body .aura-fit__degree.is-on,
body .aura-fit__pick.is-on {
  background: rgba(203, 185, 148, 0.14) !important;
  border-color: rgba(203, 185, 148, 0.62) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10),
              0 0 0 3px rgba(203, 185, 148, 0.14) !important;
}

body .aura-fit__choice .aura-fit__choice-label {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body .aura-fit__choice[aria-pressed="true"] .aura-fit__choice-label,
body .aura-fit__choice.is-on .aura-fit__choice-label { color: inherit !important; }

body .aura-fit input[type="text"],
body .aura-fit input[type="search"],
body .aura-fit input[type="number"],
body .aura-fit input[type="email"],
body .aura-fit textarea,
body .aura-fit__id-input,
body .aura-fit__free {
  background: rgba(0, 0, 0, 0.42) !important;
  color: #f2efe9 !important;
  border: 1px solid rgba(242, 239, 233, 0.16) !important;
  border-radius: 0 !important;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.34) !important;
  font-size: 16px !important;
  transition: border-color 200ms ease, box-shadow 200ms ease !important;
}

body .aura-fit input::placeholder,
body .aura-fit textarea::placeholder { color: rgba(242, 239, 233, 0.38) !important; }

body .aura-fit input:focus,
body .aura-fit textarea:focus {
  outline: none !important;
  border-color: rgba(203, 185, 148, 0.72) !important;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.34),
              0 0 0 3px rgba(203, 185, 148, 0.16) !important;
}

body .aura-fit__next,
body .aura-fit__cta {
  background: rgba(203, 185, 148, 0.92) !important;
  color: #0c0c0e !important;
  border: 1px solid rgba(203, 185, 148, 0.92) !important;
  border-radius: 0 !important;
  min-height: 46px !important;
  box-shadow: 0 6px 18px rgba(203, 185, 148, 0.18) !important;
  transition: transform 200ms cubic-bezier(0.16, 0.84, 0.28, 1),
              box-shadow 220ms ease, opacity 200ms ease !important;
}

body .aura-fit__next:active,
body .aura-fit__cta:active { transform: scale(0.985) !important; }

body .aura-fit__back,
body .aura-fit__skip,
body .aura-fit__restart {
  background: transparent !important;
  color: rgba(242, 239, 233, 0.62) !important;
  border: 1px solid rgba(242, 239, 233, 0.16) !important;
  border-radius: 0 !important;
  min-height: 40px !important;
  transition: color 200ms ease, border-color 200ms ease !important;
}

body .aura-fit__back:active,
body .aura-fit__skip:active,
body .aura-fit__restart:active {
  color: #f2efe9 !important;
  border-color: rgba(242, 239, 233, 0.34) !important;
}

body .aura-fit__close {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(242, 239, 233, 0.16) !important;
  border-radius: 0 !important;
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: background-color 200ms ease,
              transform 200ms cubic-bezier(0.16, 0.84, 0.28, 1) !important;
}

body .aura-fit__close:active { transform: scale(0.94) !important; }

body .aura-fit__read,
body .aura-fit__confidence,
body .aura-fit__scenario,
body .aura-fit__quip {
  background: rgba(255, 255, 255, 0.035) !important;
  border: 1px solid rgba(242, 239, 233, 0.10) !important;
  border-radius: 0 !important;
}

body .aura-fit__rule,
body .aura-fit__confidence-rules { border-color: rgba(242, 239, 233, 0.10) !important; }

@media (prefers-reduced-motion: reduce) {
  body .aura-fit__choice,
  body .aura-fit__degree,
  body .aura-fit__pick,
  body .aura-fit__next,
  body .aura-fit__cta,
  body .aura-fit__close { transition-duration: 1ms !important; }

  body .aura-fit__choice:active,
  body .aura-fit__degree:active,
  body .aura-fit__pick:active,
  body .aura-fit__next:active,
  body .aura-fit__cta:active,
  body .aura-fit__close:active { transform: none !important; }
}


/* ==========================================================================
   §14  CHAT SEND BUTTON
   ========================================================================== */

body .aloft-send,
body .aura-wish {
  border-radius: 0 !important;
}

body .aloft-send {
  font-size: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  transition: transform 200ms var(--aura-press), opacity 200ms ease !important;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body .aloft-send::after {
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.4 20.4l17.45-7.48a1 1 0 000-1.84L3.4 3.6a.99.99 0 00-1.39.91L2 9.12c0 .5.37.93.87.99L17 12 2.87 13.88c-.5.07-.87.5-.87 1l.01 4.61c0 .71.73 1.2 1.39.91z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.4 20.4l17.45-7.48a1 1 0 000-1.84L3.4 3.6a.99.99 0 00-1.39.91L2 9.12c0 .5.37.93.87.99L17 12 2.87 13.88c-.5.07-.87.5-.87 1l.01 4.61c0 .71.73 1.2 1.39.91z'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: translateX(1px);
}

body .aloft-send:active { transform: scale(0.92) !important; }
body .aloft-send:disabled { opacity: 0.4 !important; }

@media (prefers-reduced-motion: reduce) {
  body .aloft-send { transition-duration: 1ms !important; }
  body .aloft-send:active { transform: none !important; }
}


/* ==========================================================================
   §15  HEADER — MOBILE, AND THE LOGO HANDOFF
   --------------------------------------------------------------------------
   Nothing here guesses at the theme's markup. aloftaura.js finds three
   elements and tags them:

     .aura-hero-logo   the film on the home hero (#top-logo-in)
     .aura-head-logo   the logo it flies into
     .aura-head-bar    whatever contains that logo, + .is-fixed when the
                       theme already pins it to the viewport

   The script also drives one custom property on <html>:

     --aura-logo-k     0 while the film is full size on the hero
                       1 once it has landed in the header

   Everything below is a function of that number, which is why the fade
   timings live in CSS and the script only has to set one value per frame.
   ========================================================================== */

/* --- 15.1  The flight ---------------------------------------------------- */

body.home .aura-hero-logo {
  transform-origin: 50% 50%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Lifted above the page only while it is actually travelling, so it is not
   holding a compositor layer for the whole session. */
html.aura-logo-flying body.home .aura-hero-logo {
  position: relative;
  z-index: 60;
  will-change: transform, opacity;
  pointer-events: none;
}

/* The film clears out over the last stretch; the header logo comes up over
   the last quarter. Both clamp themselves, so no min/max is needed.

   Gated on .aura-logo-armed, which the script adds only once it has found
   BOTH logos and confirmed the bar stays on screen. Without that gate, a
   mis-detected header logo would sit at opacity 0 forever. */
html.aura-logo-armed body.home .aura-hero-logo { opacity: calc(1 - (var(--aura-logo-k, 0) - 0.86) * 7.2); }
html.aura-logo-armed body.home .aura-head-logo { opacity: calc((var(--aura-logo-k, 0) - 0.78) * 4.6); }

html.aura-logo-armed.aura-logo-landed body.home .aura-hero-logo {
  opacity: 0 !important;
  pointer-events: none !important;
}

html.aura-logo-armed.aura-logo-landed body.home .aura-head-logo { opacity: 1; }

/* Off the home page there is no film, so the logo is simply present. */
body:not(.home) .aura-head-logo { opacity: 1; }

/* The scroll cue belongs to the hero, so it leaves with it. */
html.aura-logo-armed body.home .container_mouse {
  opacity: calc(1 - var(--aura-logo-k, 0) * 1.6) !important;
}

html.aura-logo-armed.aura-logo-landed body.home .container_mouse {
  pointer-events: none !important;
}

/* --- 15.2  The bar on a phone -------------------------------------------- */

@media (max-width: 1024px) {

  /* Clear the notch without the theme having to know about it. */
  body .aura-head-bar.is-fixed {
    padding-top: env(safe-area-inset-top, 0px) !important;
    box-sizing: border-box !important;
  }

  body .aura-head-bar.is-fixed,
  body .aura-head-logo,
  body .aura-head-logo img {
    transition: max-height 260ms var(--aura-press),
                padding 260ms var(--aura-press),
                background-color 260ms ease,
                box-shadow 260ms ease;
  }

  /* A logo sized for a 390px screen, not a desktop one scaled down. */
  body .aura-head-logo,
  body .aura-head-logo img {
    max-height: 34px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* Once the page has moved, the bar earns a readable backing. */
  html.aura-head-compact body .aura-head-bar.is-fixed {
    background: rgba(12, 12, 14, 0.72) !important;
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06),
                0 8px 24px rgba(0, 0, 0, 0.28) !important;
  }

  html.aura-head-compact body .aura-head-logo,
  html.aura-head-compact body .aura-head-logo img {
    max-height: 26px !important;
  }

  @supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    html.aura-head-compact body .aura-head-bar.is-fixed {
      background: rgba(12, 12, 14, 0.94) !important;
    }
  }
}

/* --- 15.3  Reduced motion ------------------------------------------------
   No flight. The script snaps k between 0 and 1 at the halfway point, so
   this is a plain crossfade with nothing travelling across the screen.
   ------------------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
  body.home .aura-hero-logo { transform: none !important; }

  body .aura-head-bar.is-fixed,
  body .aura-head-logo,
  body .aura-head-logo img { transition-duration: 1ms !important; }
}


/* ==========================================================================
   §16  HOME SECTION 2 ON A PHONE
   --------------------------------------------------------------------------
   Confirmed hooks only: .aura2__track  .aura2__stage  .aura2__tab
   .aura2__arrow. Everything else is reached as a descendant of those, so
   nothing here depends on a class name I have not actually seen.

   Colours are expressed as currentColor or as a scrim, never as a fixed
   ink, so this reads correctly whether the section sits on light or dark.
   ========================================================================== */

@media (max-width: 1024px) {

  /* --- 16.1  Nothing gets cut off ----------------------------------------- */

  body .aura2__track { min-width: 0; }

  body .aura2__track,
  body .aura2__stage { touch-action: pan-y !important; }

  body .aura2__stage {
    position: relative;
    max-width: 100%;
    box-sizing: border-box;
  }

  body .aura2__stage video,
  body .aura2__stage img {
    max-width: 100% !important;
  }

  /* --- 16.2  Anything sitting ON the film --------------------------------
     Text over moving video is the hardest thing on the page to read: the
     contrast changes frame by frame. A bottom-weighted scrim fixes the
     floor, and the shadow carries the few frames where the film goes pale.
     Scoped to .aura2__stage, so copy that sits BELOW the film is untouched.
     --------------------------------------------------------------------- */

  body .aura2__stage::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 58%;
    background: linear-gradient(to top,
                rgba(8, 8, 10, 0.76) 0%,
                rgba(8, 8, 10, 0.38) 46%,
                rgba(8, 8, 10, 0) 100%);
    pointer-events: none;
    z-index: 1;
  }

  body .aura2__stage > *:not(video):not(img):not(source) {
    position: relative;
    z-index: 2;
  }

  body .aura2__stage p,
  body .aura2__stage li,
  body .aura2__stage h1,
  body .aura2__stage h2,
  body .aura2__stage h3 {
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55) !important;
  }

  /* --- 16.3  The Men / Women switch --------------------------------------
     It was carrying no visible selected state, which is the actual
     visibility problem: you cannot tell which one you are looking at.
     --------------------------------------------------------------------- */

  body .aura2__tab {
    font-family: var(--aura-face) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    padding: 13px 14px !important;
    color: inherit !important;
    background: none !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    opacity: 0.5;
    transition: opacity 200ms var(--aura-press),
                border-color 200ms var(--aura-press) !important;
  }

  body .aura2__tab[aria-selected="true"],
  body .aura2__tab[aria-pressed="true"],
  body .aura2__tab.is-on,
  body .aura2__tab.is-active,
  body .aura2__tab.active,
  body .aura2__tab.current {
    opacity: 1;
    border-bottom-color: currentColor !important;
  }

  /* --- 16.4  The arrows ---------------------------------------------------
     They ship as flat SVG images with no size of their own, so they render
     at whatever the container gives them. The 44px hit area is already set
     in §4; this is purely about seeing them.
     --------------------------------------------------------------------- */

  body .aura2__arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    opacity: 1 !important;
  }

  body .aura2__arrow img,
  body .aura2__arrow svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    max-width: none !important;
    opacity: 0.92 !important;
  }

  body .aura2__arrow[disabled],
  body .aura2__arrow[aria-disabled="true"],
  body .aura2__arrow.is-off { opacity: 0.3 !important; }

  body .aura2__arrow:active img { transform: scale(0.88); }

  /* --- 16.5  The feature list --------------------------------------------
     Five short lines that were set too tight to scan on a phone.
     --------------------------------------------------------------------- */

  body .aura2__track p,
  body .aura2__track li,
  body .aura2__stage p,
  body .aura2__stage li {
    font-family: var(--aura-face) !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
    letter-spacing: 0.015em !important;
    margin-top: 0 !important;
    margin-bottom: 6px !important;
  }

  body .aura2__track ul,
  body .aura2__stage ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  /* --- 16.6  The call to action ------------------------------------------ */

  body .aura2__track a.elementor-button,
  body .aura2__track .elementor-button,
  body .aura2__track a.button,
  body .aura2__stage a.elementor-button,
  body .aura2__stage .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 14px 22px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
  }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  body .aura2__tab { transition-duration: 1ms !important; }
  body .aura2__arrow:active img { transform: none !important; }
}


/* ==========================================================================
   §17  THE CART CHIP AND THE CART CARD
   --------------------------------------------------------------------------
   Pairs with aloftaura-cart.js. Supersedes the chip styling in §11.5 —
   both are kept because §11.5 still applies if the cart module is not
   loaded, and the rules below simply win on specificity when it is.

   The chip in the screenshot read as bolted on: a hard black square with
   no separation from the disc it sits on. The fix is a ring in the
   surrounding colour, which is what makes a badge look layered onto an
   icon rather than dropped next to it.
   ========================================================================== */

/* --- 17.1  The chip ------------------------------------------------------ */

body .header-icon-box .header-icon > .ic-box > .aura-count {
  position: absolute;
  top: -4px;
  right: -5px;
  z-index: 6;

  display: flex;
  align-items: center;
  justify-content: center;

  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  box-sizing: border-box;

  font-family: var(--aura-face);
  font-size: 9.5px;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum" 1;
          font-feature-settings: "tnum" 1;
  white-space: nowrap;

  background: var(--aura-ink);
  color: #fff;

  /* The ring is what lifts it off the disc. Second shadow is the drop. */
  box-shadow: 0 0 0 1.5px rgba(248, 248, 250, 0.96),
              0 1px 3px rgba(12, 12, 14, 0.32);

  pointer-events: none;
  opacity: 0;
  transform: scale(0.4) translateY(3px);
  transform-origin: 100% 0;
  transition: opacity 150ms ease,
              transform 300ms cubic-bezier(0.2, 0.9, 0.3, 1.5);
}

/* One digit sits square; two or three need the room. */
body .header-icon-box .aura-count[data-len="1"] { padding: 0; width: 17px; }
body .header-icon-box .aura-count[data-len="3"] { font-size: 8.5px; letter-spacing: 0; }

body .header-icon-box [data-aura-count]:not([data-aura-count="0"]):not([data-aura-count=""]) > .aura-count,
body .header-icon-box [data-count]:not([data-count="0"]):not([data-count=""]) > .aura-count {
  opacity: 1;
  transform: scale(1) translateY(0);
}

/* Over the film the whole thing inverts, ring included. */
body .header-icon-box.on-top .header-icon > .ic-box > .aura-count,
body .header-icon-box.on-bottom .header-icon > .ic-box > .aura-count {
  background: #fff;
  color: var(--aura-ink);
  box-shadow: 0 0 0 1.5px rgba(10, 10, 12, 0.55),
              0 1px 3px rgba(0, 0, 0, 0.42);
}

/* A single pop when the number moves, not on every fragment refresh. */
@keyframes aura-count-bump {
  0%   { transform: scale(1); }
  32%  { transform: scale(1.28); }
  62%  { transform: scale(0.94); }
  100% { transform: scale(1); }
}

body .header-icon-box .aura-count.is-bump {
  animation: aura-count-bump 440ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
  body .header-icon-box .header-icon > .ic-box > .aura-count {
    transition-duration: 1ms !important;
  }
  body .header-icon-box .aura-count.is-bump { animation: none; }
}

/* --- 17.2  The card ------------------------------------------------------ */

body .aura-cart__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 0 2px 12px;
  border-bottom: 1px solid rgba(12, 12, 14, 0.14);
}

body .aura-cart__title {
  font: 600 12px/1 var(--aura-face);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--aura-ink);
}

body .aura-cart__n {
  font: 500 10px/1 var(--aura-face);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--aura-ink-3);
  font-variant-numeric: tabular-nums;
}

body .aura-cart__list {
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: 46vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

body .aura-cart__row {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 30px;
  gap: 13px;
  align-items: center;
  padding: 13px 2px;
  border-bottom: 1px solid rgba(12, 12, 14, 0.09);
}

body .aura-cart__row:last-child { border-bottom: none; }

body .aura-cart__pic {
  display: block;
  width: 54px;
  height: 68px;
  overflow: hidden;
  background: #d9d9de;
  border: 1px solid var(--aura-gold-line);
}

body .aura-cart__pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body .aura-cart__meta { min-width: 0; }

body .aura-cart__name {
  display: block;
  font: 600 11px/1.4 var(--aura-face);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--aura-ink);
  text-decoration: none;

  /* Two lines, then clip. A long product name must not push the row. */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body .aura-cart__line {
  display: block;
  margin: 4px 0 7px;
  font: 500 12px/1.2 var(--aura-face);
  letter-spacing: 0.03em;
  color: var(--aura-ink-2);
  font-variant-numeric: tabular-nums;
}

body .aura-cart__qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(12, 12, 14, 0.16);
}

body .aura-cart__qty button {
  width: 28px;
  height: 28px;
  padding: 0;
  background: none;
  border: 0;
  cursor: pointer;
  color: var(--aura-ink);
  font: 400 14px/1 var(--aura-face);
  transition: background-color 160ms ease, opacity 160ms ease;
}

body .aura-cart__qty button:hover { background: rgba(12, 12, 14, 0.07); }
body .aura-cart__qty button[disabled] { opacity: 0.25; cursor: default; }
body .aura-cart__qty button:first-child { border-right: 1px solid rgba(12, 12, 14, 0.12); }
body .aura-cart__qty button:last-child { border-left: 1px solid rgba(12, 12, 14, 0.12); }

body .aura-cart__qn {
  min-width: 26px;
  padding: 0 2px;
  font: 600 11px/28px var(--aura-face);
  text-align: center;
  color: var(--aura-ink);
  font-variant-numeric: tabular-nums;
}

body .aura-cart__rm {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  background: none;
  border: 0;
  cursor: pointer;
  color: var(--aura-ink-3);
  font-size: 17px;
  line-height: 1;
  transition: background-color 160ms ease, color 160ms ease;
}

body .aura-cart__rm:hover { background: rgba(12, 12, 14, 0.08); color: var(--aura-ink); }

body .aura-cart__sum {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 15px 2px 4px;
  border-top: 1px solid rgba(12, 12, 14, 0.18);
  font: 600 12px/1 var(--aura-face);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--aura-ink);
}

body .aura-cart__sum span:last-child { font-variant-numeric: tabular-nums; }

/* While a quantity is being written, the list is not to be trusted. */
body .aura-cart.is-loading .aura-cart__list,
body .aura-cart.is-loading .aura-cart__sum {
  opacity: 0.45;
  pointer-events: none;
  transition: opacity 160ms ease;
}

@media (min-width: 992px) {
  body .aura-cart__list { max-height: 42vh; }
  body .aura-cart__name { font-size: 12px; }
}