/* ============================================================
   AA Design Enhancements 1.0.0 — ArabicAura luxury design system
   Palette: warm ivory / deep espresso / muted gold
   Type: Cormorant Garamond (display) + Jost (body/UI)
   Everything is additive: deactivating the plugin restores
   the original design exactly.
   ============================================================ */

/* Self-hosted copy of the Google Fonts previously @imported by aa-enhance.css (same families, weights, subsets). */
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/cormorant-garamond-italic-latin-ext-4f7084558624cc38fce6ff3c31e87494.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/cormorant-garamond-italic-latin-5d13e7eb22dd2f6abd940181da4467c7.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/cormorant-garamond-normal-latin-ext-9076820487065d237179b7701220bf2f.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/cormorant-garamond-normal-latin-2fed1d1b2e1901389be3ec2d5030cf7b.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/cormorant-garamond-normal-latin-ext-9076820487065d237179b7701220bf2f.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/cormorant-garamond-normal-latin-2fed1d1b2e1901389be3ec2d5030cf7b.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/cormorant-garamond-normal-latin-ext-9076820487065d237179b7701220bf2f.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/cormorant-garamond-normal-latin-2fed1d1b2e1901389be3ec2d5030cf7b.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Jost';font-style:italic;font-weight:400;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/jost-italic-latin-ext-02cded88f82f777be083e785060cb6de.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:italic;font-weight:400;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/jost-italic-latin-9990123af9612a5ebe7d771a98029cf5.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/jost-normal-latin-ext-5054f2c4fb309f5261c34732716568a4.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/jost-normal-latin-35841fe72fb8baa39da603c89dc068b7.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/jost-normal-latin-ext-5054f2c4fb309f5261c34732716568a4.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/jost-normal-latin-35841fe72fb8baa39da603c89dc068b7.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/jost-normal-latin-ext-5054f2c4fb309f5261c34732716568a4.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url('https://arabicaura.co.uk/wp-content/plugins/aa-design-enhancements/assets/fonts/jost-normal-latin-35841fe72fb8baa39da603c89dc068b7.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}


:root {
  --aa-ivory: #FDF8F1;
  --aa-ivory-deep: #F7F0E4;
  --aa-espresso: #1D1712;
  --aa-espresso-soft: #4A3F34;
  --aa-gold: #C9A84C;
  --aa-gold-deep: #A8842F;
  --aa-gold-faint: rgba(201, 168, 76, 0.16);
  --aa-hairline: rgba(29, 23, 18, 0.12);
  --aa-shadow-soft: 0 10px 30px rgba(29, 23, 18, 0.08);
  --aa-shadow-lift: 0 18px 44px rgba(29, 23, 18, 0.14);
  --aa-radius: 10px;
  --aa-serif: 'Cormorant Garamond', 'Times New Roman', serif;
  --aa-sans: 'Jost', 'Segoe UI', system-ui, sans-serif;
}

/* ---------- Base ----------
   NOTE: the Aura Studio child theme is a DARK luxury theme — it owns
   body background and text colors. We only set typography here and
   never override base colors, so dark sections keep their light text. */
body,
body.elementor-page {
  font-family: var(--aa-sans);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3,
.elementor-heading-title,
.ast-archive-title,
.woocommerce-products-header__title,
.product_title.entry-title {
  font-family: var(--aa-serif);
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.15;
}

/* ---------- Announcement bar ---------- */
.aa-announcement,
.ast-above-header-bar,
.ast-top-header-bar {
  background: var(--aa-espresso) !important;
  color: var(--aa-ivory) !important;
  letter-spacing: 0.18em;
  font-size: 11px;
  font-weight: 500;
}

/* ---------- Header polish ----------
   NOTE: the child theme ships its own dark luxury header (aa-header-pro.css).
   We refine within it — no background overrides. */
#masthead .ast-primary-header-bar {
  border-bottom: 1px solid rgba(201, 168, 76, 0.22);
  transition: box-shadow 0.3s ease;
}
.aa-header-scrolled #masthead .ast-primary-header-bar {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
}

/* Logo: keep the gold gradient wordmark, REMOVE the blinking "marquee bulb"
   dashed pseudo-element border — it reads carnival, not luxury. */
html body #masthead .site-branding .site-title a::before,
html body #masthead .site-branding .site-title a::after {
  display: none !important;
  animation: none !important;
}
html body #masthead .site-branding .site-title a {
  padding: 6px 4px !important;
  letter-spacing: 0.18em !important;
}

/* Nav */
.main-header-menu > li > a,
.ast-primary-header-bar .main-header-menu > li > a {
  font-weight: 500;
  letter-spacing: 0.06em;
  font-size: 14px;
  position: relative;
}
.main-header-menu > li > a::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 6px;
  height: 1px;
  background: var(--aa-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.main-header-menu > li > a:hover::after,
.main-header-menu > li.current-menu-item > a::after {
  transform: scaleX(1);
}

/* Cart: hide the redundant "£0.00" total text next to the bag icon.
   Exact structure: a.cart-container > div.ast-addon-cart-wrap >
   span.ast-woo-header-cart-info-wrap > span.ast-woo-header-cart-total.
   The count badge is injected separately (data-cart-total), so it survives. */
#masthead .ast-woo-header-cart-info-wrap {
  display: none !important;
}

/* ---------- Buttons: solid, rectangular, premium ---------- */
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single_add_to_cart_button,
.add_to_cart_button,
.elementor-button,
.wp-block-button__link {
  font-family: var(--aa-sans);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 13px;
  background: var(--aa-espresso) !important;
  color: var(--aa-ivory) !important;
  border: 1px solid var(--aa-espresso) !important;
  border-radius: 4px !important;
  padding: 14px 30px !important;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
.elementor-button:hover {
  background: var(--aa-gold) !important;
  border-color: var(--aa-gold) !important;
  color: var(--aa-espresso) !important;
  box-shadow: var(--aa-shadow-soft);
  transform: translateY(-1px);
}
.button.alt,
.woocommerce a.button.alt,
.single_add_to_cart_button.button.alt {
  background: var(--aa-gold) !important;
  border-color: var(--aa-gold) !important;
  color: var(--aa-espresso) !important;
}
.button.alt:hover {
  background: var(--aa-espresso) !important;
  border-color: var(--aa-espresso) !important;
  color: var(--aa-ivory) !important;
}

/* ---------- Product cards ---------- */
ul.products li.product,
.woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid var(--aa-hairline);
  border-radius: var(--aa-radius);
  padding: 18px 18px 22px !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
  display: flex;
  flex-direction: column;
}
ul.products li.product:hover {
  transform: translateY(-6px);
  box-shadow: var(--aa-shadow-lift);
}
ul.products li.product a.woocommerce-loop-product__link {
  display: flex;
  flex-direction: column;
  flex: 1;
}
ul.products li.product img,
.woocommerce ul.products li.product img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: #fff;
  border-radius: 6px;
  margin-bottom: 14px !important;
  transition: transform 0.5s ease;
}
ul.products li.product:hover img {
  transform: scale(1.05);
}
ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--aa-serif);
  font-size: 20px;
  font-weight: 600;
  color: var(--aa-espresso);
  padding: 0 !important;
  margin-bottom: 4px;
}
ul.products li.product .price,
.woocommerce ul.products li.product .price {
  color: var(--aa-espresso) !important;
  font-weight: 600;
  font-size: 17px;
  letter-spacing: 0.02em;
  margin: 8px 0 12px !important;
}
ul.products li.product .price del {
  color: var(--aa-espresso-soft);
  opacity: 0.6;
  font-weight: 400;
}
ul.products li.product .price ins {
  text-decoration: none;
}
ul.products li.product .button,
.woocommerce ul.products li.product .button {
  margin-top: auto !important;
  width: 100%;
  text-align: center;
}
/* Badges: one, top-left, gold */
ul.products li.product .onsale,
.woocommerce ul.products li.product .onsale,
span.onsale {
  background: var(--aa-gold) !important;
  color: var(--aa-espresso) !important;
  font-family: var(--aa-sans);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 11px;
  border-radius: 3px;
  min-height: 0;
  line-height: 1;
  padding: 8px 12px;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
}

/* ---------- Single product ---------- */
.single-product .product_title.entry-title {
  font-size: clamp(30px, 4vw, 44px);
}
/* Hide the staff author byline under product titles — unprofessional on a storefront */
.single-product .posted-by,
.single-product .ast-author-meta,
.single-product .entry-meta .posted-by,
.single-product .byline {
  display: none !important;
}
.single-product .woocommerce-Price-amount,
.single-product div.product p.price {
  font-size: 28px;
  font-weight: 600;
  color: var(--aa-espresso);
  letter-spacing: 0.02em;
}
.single-product div.product .woocommerce-product-gallery {
  border: 1px solid var(--aa-hairline);
  border-radius: var(--aa-radius);
  background: #fff;
  padding: 12px;
}
/* Trust line under the buy box */
.aa-trust-line {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin: 18px 0;
  padding: 14px 18px;
  border: 1px solid var(--aa-hairline);
  border-radius: 8px;
  background: var(--aa-ivory-deep);
  font-size: 13px;
  letter-spacing: 0.04em;
}
.aa-trust-line span::before {
  content: "✓ ";
  color: var(--aa-gold-deep);
  font-weight: 700;
}

/* ---------- Reassurance / trust strips ---------- */
.aa-reassurance,
[class*="reassurance"],
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  /* keep layout; refine type */
}
.elementor-icon-box-title {
  font-family: var(--aa-sans);
  letter-spacing: 0.12em;
  font-size: 13px;
  font-weight: 600;
}
.elementor-icon-box-icon .elementor-icon {
  color: var(--aa-gold-deep);
  border-color: var(--aa-gold-faint);
}

/* ---------- Section rhythm & dividers ---------- */
.elementor-section .elementor-container,
.elementor-top-section {
  /* generous whitespace is the luxury signal */
}
.aa-divider-gold,
.elementor-divider-separator {
  border-color: var(--aa-gold) !important;
}

/* ---------- Footer (#aa-footer — custom child-theme template) ---------- */
#aa-footer {
  background: #141210;
}
#aa-footer .aa-footer-logo {
  font-family: var(--aa-serif);
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--aa-ivory);
}
#aa-footer .aa-footer-tag {
  color: rgba(253, 248, 241, 0.6);
  letter-spacing: 0.04em;
}
#aa-footer .aa-footer-heading {
  font-family: var(--aa-serif);
  color: var(--aa-ivory);
  letter-spacing: 0.08em;
  font-size: 19px;
}
#aa-footer .aa-footer-col a,
#aa-footer .aa-footer-social a {
  color: rgba(253, 248, 241, 0.72);
  transition: color 0.25s ease;
  text-decoration: none;
}
#aa-footer .aa-footer-col a:hover,
#aa-footer .aa-footer-social a:hover {
  color: var(--aa-gold);
}
#aa-footer .aa-footer-copy {
  color: rgba(253, 248, 241, 0.5);
  font-size: 13px;
}
/* Payment methods: four separate spans in .aa-footer-secure —
   turn the brand names into badge pills, keep "Secure Checkout" as label. */
#aa-footer .aa-footer-secure {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
#aa-footer .aa-footer-secure span:first-child {
  color: rgba(253, 248, 241, 0.55);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-right: 4px;
}
#aa-footer .aa-footer-secure span:not(:first-child) {
  display: inline-block;
  border: 1px solid rgba(201, 168, 76, 0.5);
  color: var(--aa-ivory);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 6px 11px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.05);
}

/* ---------- Scroll reveal ---------- */
.aa-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.aa-reveal.aa-in {
  opacity: 1;
  transform: none;
}
/* Safety net: force-visible anything Elementor's entrance interactions
   left stuck hidden (prevents "black void" sections). Applied by JS only
   to elements still hidden 3.5s after load. */
.aa-force-visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
}

/* ---------- Blog: hide empty thumbnail slots ----------
   Posts were bulk-published without featured images, so the archive
   template renders empty beige rectangles. Hiding the empty slot looks
   intentional; text-only cards beat broken-looking boxes. When a post
   gets a featured image, the slot reappears automatically. */
.blog .post-thumb:not(:has(img)),
.blog .post-thumbnail:not(:has(img)),
.blog .ast-blog-featured-section:not(:has(img)),
.archive .post-thumb:not(:has(img)),
.archive .post-thumbnail:not(:has(img)),
.elementor-post__thumbnail:not(:has(img)),
.elementor-posts .elementor-post__thumbnail:empty,
/* Aura Studio child theme journal cards: .aura-journal-card-media holds only
   an empty .aura-placeholder span when the post has no featured image. */
.aura-journal-card-media:not(:has(img)) {
  display: none !important;
}

/* ============================================================
   HERO bottle composition — [aa_hero_composition]
   Art-directed arrangement of real stock bottles (Reef, Lattafa,
   Khadlaj) filling the hero's empty right half. Bottles sit in
   circular gold-ringed medallions — a classic luxury treatment that
   looks intentional whatever the product photo's background.
   Decorative (aria-hidden). Subtle float; static under reduced motion.
   ============================================================ */
.aa-stage {
  position: relative;
}
.aa-stage .aa-inner {
  position: relative;
  z-index: 2;
}
.aa-hero-comp {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 46%;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}
.aa-hero-glow {
  position: absolute;
  left: 50%;
  top: 46%;
  width: 130%;
  aspect-ratio: 1;
  translate: -50% -50%;
  background: radial-gradient(
    closest-side,
    rgba(212, 175, 105, 0.30),
    rgba(212, 175, 105, 0.08) 55%,
    transparent 72%
  );
}
.aa-hero-ring {
  position: absolute;
  left: 52%;
  top: 48%;
  width: min(88%, 560px);
  aspect-ratio: 1;
  translate: -50% -50%;
  border: 1px solid rgba(212, 175, 105, 0.35);
  border-radius: 50%;
}
.aa-hero-ring::after {
  content: "";
  position: absolute;
  inset: 26px;
  border: 1px solid rgba(212, 175, 105, 0.16);
  border-radius: 50%;
}
.aa-hero-bottle {
  position: absolute;
  margin: 0;
  translate: -50% -50%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 28%, #FFFDF7 0%, #F5ECDA 62%, #E9DCC2 100%);
  border: 1px solid rgba(212, 175, 105, 0.55);
  box-shadow:
    0 34px 60px rgba(0, 0, 0, 0.5),
    inset 0 0 46px rgba(212, 175, 105, 0.14);
  overflow: hidden;
  animation: aa-hero-float 7s ease-in-out infinite;
}
.aa-hero-bottle img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 13%;
  box-sizing: border-box;
}
.aa-hero-bottle-shadow {
  display: none;
}
.aa-hero-bottle--main {
  left: 50%;
  top: 50%;
  width: min(64%, 380px);
  z-index: 3;
  animation-duration: 8s;
}
.aa-hero-bottle--left {
  left: 15%;
  top: 28%;
  width: min(42%, 230px);
  z-index: 2;
  animation-duration: 6.4s;
  animation-delay: -2s;
}
.aa-hero-bottle--right {
  left: 85%;
  top: 30%;
  width: min(42%, 230px);
  z-index: 2;
  animation-duration: 7.2s;
  animation-delay: -4s;
}
.aa-hero-bottle--back-left {
  left: 7%;
  top: 70%;
  width: min(32%, 170px);
  z-index: 1;
  animation-duration: 9s;
  animation-delay: -1s;
}
.aa-hero-bottle--back-right {
  left: 93%;
  top: 68%;
  width: min(32%, 170px);
  z-index: 1;
  animation-duration: 8.4s;
  animation-delay: -5s;
}
@keyframes aa-hero-float {
  0%, 100% { translate: -50% -50%; }
  50%      { translate: -50% calc(-50% - 14px); }
}
.aa-sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
/* Mid widths: keep the text clear of the composition. */
@media (max-width: 1200px) {
  .aa-hero-comp { width: 42%; opacity: 0.9; }
}
/* Mobile/tablet portrait: composition becomes a showcase band
   flowing below the headline instead of overlapping it. */
@media (max-width: 900px) {
  .aa-hero-comp {
    position: relative;
    width: 100%;
    height: 380px;
    margin-top: 56px;
    overflow: hidden;
  }
  .aa-hero-bottle--main { width: min(56%, 260px); }
  .aa-hero-bottle--left,
  .aa-hero-bottle--right { width: min(38%, 170px); }
  .aa-hero-bottle--back-left,
  .aa-hero-bottle--back-right { width: min(28%, 130px); }
}
@media (prefers-reduced-motion: reduce) {
  .aa-hero-bottle { animation: none; }
}

/* ============================================================
   HOMEPAGE POLISH PASS (design audit 2026-10-06)
   Calms excessive empty bands, aligns ragged grids/cards.
   All rules are scoped to homepage Elementor sections; deactivating
   the plugin restores the theme's original spacing exactly.
   ============================================================ */

/* --- Void reductions: giant empty bands.
   NOTE: the theme sets section padding via longhand rules in its own
   design-system stylesheet (Elementor vars are NOT the mechanism), so
   these overrides use longhands with !important. Scoped per-section. --- */
/* Hero → "Loved across the UK" gap (~200px dead space) */
.elementor-element-59e1cd43.aa-stage {
  padding-bottom: 90px !important;
}
/* Black band between Featured Collections and Best Sellers */
.elementor-element-733bdce.aa-section-dark {
  padding-bottom: 70px !important;
}
.elementor-element-551337d3.aa-section-ivory {
  padding-top: 70px !important;
}
/* Our Story: ~500px void below the content.
   Triple-class specificity + !important as insurance against Elementor v4
   atomic rules that also use !important. */
.elementor-element.elementor-element-78cbbf0c.aa-section-dark {
  padding-bottom: 80px !important;
  min-height: 0 !important;
}
/* "Choose with confidence" guidance: void below the cards */
.elementor-element.elementor-element-571d36aa.aa-section-dark {
  padding-bottom: 80px !important;
  min-height: 0 !important;
}

/* --- Reviews: no reviews exist yet. Hide the placeholder section
   until real reviews arrive (reversible; never fake social proof). --- */
.elementor-element-6f1c1599.aa-section-ivory {
  display: none !important;
}

/* --- Best Sellers: center the ragged last row (5 products in a
   3-column grid left an empty third column). Scoped to homepage. --- */
.elementor-element.elementor-element-551337d3 ul.products.columns-3 {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}

/* Normalize product image boxes so every card shares the same
   image-to-text rhythm (one card's image rendered shorter). */
.elementor-element-551337d3 .astra-shop-thumbnail-wrap a.woocommerce-LoopProduct-link {
  display: block;
  aspect-ratio: 1 / 1;
}
.elementor-element-551337d3 .astra-shop-thumbnail-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}
/* On-card add-to-basket: soften the pasted-on look. */
.elementor-element-551337d3 .ast-on-card-button {
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(29, 23, 18, 0.20);
}

/* --- Featured Collections: ragged tile title baselines.
   Normalize to a shared top baseline; buttons stay bottom-aligned. --- */
.elementor-element-797ed1a6 .aa-tile {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.elementor-element-797ed1a6 .aa-tile h3 {
  margin-top: 0;
  margin-bottom: 12px;
}
.elementor-element-797ed1a6 .aa-tile .aa-body {
  margin-top: 0;
  margin-bottom: 20px;
}
.elementor-element-797ed1a6 .aa-tile .aa-btn-outline-light {
  margin-top: auto;
  align-self: flex-start;
}

/* --- Guidance cards ("Choose with confidence"): equal heights and
   bottom-aligned buttons. --- */
.elementor-element-5275f6b0 > .elementor-element {
  height: 100%;
}
.elementor-element-5275f6b0 .aa-panel-dark {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}
.elementor-element-5275f6b0 .aa-panel-dark h3 {
  margin-top: 0;
}
.elementor-element-5275f6b0 .aa-panel-dark .aa-btn-outline-light {
  margin-top: auto;
  align-self: flex-start;
}

/* ---------- Accessibility: honour reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .aa-reveal {
    opacity: 1;
    transform: none;
  }
}

/* ---------- Mobile refinements ---------- */
@media (max-width: 768px) {
  ul.products li.product .woocommerce-loop-product__title {
    font-size: 17px;
  }
  .button,
  .woocommerce a.button,
  .single_add_to_cart_button {
    padding: 13px 22px !important;
    font-size: 12px;
  }
  .single-product div.product p.price {
    font-size: 24px;
  }
}

/* ============================================================
   Bestseller marquee strip — [aa_marquee_strip]
   Pure CSS keyframe loop on transform (compositor-friendly).
   One loop ≈ 24s; pauses on hover/focus; static under
   prefers-reduced-motion.
   ============================================================ */
.aa-marquee {
  padding: 56px 0 60px;
  background: var(--aa-ivory);
  overflow: hidden;
}
.aa-marquee-title {
  text-align: center;
  font-size: clamp(26px, 3.4vw, 38px);
  margin: 0 0 8px;
  color: var(--aa-espresso);
}
.aa-marquee-title::after {
  content: "";
  display: block;
  width: 56px;
  height: 2px;
  background: var(--aa-gold);
  margin: 14px auto 30px;
}
.aa-marquee-track {
  display: flex;
  width: max-content;
  animation: aa-marquee-scroll 26s linear infinite;
  will-change: transform;
}
.aa-marquee:hover .aa-marquee-track,
.aa-marquee:focus-within .aa-marquee-track {
  animation-play-state: paused;
}
@keyframes aa-marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.aa-marquee-set {
  display: flex;
  gap: 22px;
  padding-right: 22px;
}
.aa-marquee-card {
  display: flex;
  flex-direction: column;
  width: 210px;
  flex: 0 0 auto;
  background: #fff;
  border: 1px solid var(--aa-hairline);
  border-radius: var(--aa-radius);
  padding: 18px 16px 20px;
  text-decoration: none !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.aa-marquee-card:hover,
.aa-marquee-card:focus-visible {
  transform: translateY(-6px);
  box-shadow: var(--aa-shadow-lift);
  outline: 2px solid var(--aa-gold);
  outline-offset: 2px;
}
.aa-marquee-img {
  display: block;
  aspect-ratio: 1 / 1;
  margin-bottom: 14px;
}
.aa-marquee-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.aa-marquee-name {
  font-family: var(--aa-serif);
  font-size: 18px;
  font-weight: 600;
  color: var(--aa-espresso);
  line-height: 1.3;
  margin-bottom: 6px;
}
.aa-marquee-price {
  font-size: 15px;
  font-weight: 600;
  color: var(--aa-espresso);
  letter-spacing: 0.02em;
  margin-top: auto;
}
.aa-marquee-price del {
  font-weight: 400;
  opacity: 0.6;
  margin-right: 6px;
}
@media (prefers-reduced-motion: reduce) {
  .aa-marquee-track {
    animation: none;
    width: auto;
    flex-wrap: wrap;
  }
  .aa-marquee-set[aria-hidden="true"] {
    display: none;
  }
}
@media (max-width: 768px) {
  .aa-marquee { padding: 40px 0 44px; }
  .aa-marquee-card { width: 168px; }
  .aa-marquee-track { animation-duration: 20s; }
}
