/** Shopify CDN: Minification failed

Line 125:19 Unexpected "*"

**/
/* ============================================================
   ITALIAN ESTHETIC BEAUTY SUPPLY — Brand Foundation CSS
   Premium beauty supply store styling on Dawn theme
   ============================================================ */

/* ─── CSS Custom Properties (Brand Tokens) ─── */
:root {
  /* Brand Colors */
  --ie-pink: #e8789a;
  --ie-pink-light: #f2c4d0;
  --ie-pink-dark: #c4607e;
  --ie-blush: #fdf2f6;
  --ie-navy: #1a1a2e;
  --ie-navy-light: #2d2d44;
  --ie-rose-gold: #b76e79;
  --ie-warm-beige: #f8f0ed;
  --ie-white: #ffffff;
  --ie-cream: #faf8f5;

  /* Spacing */
  --ie-section-gap: 0;
  --ie-container-padding: clamp(1.25rem, 3vw, 3rem);

  /* Transitions */
  --ie-transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --ie-transition-medium: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --ie-transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);

  /* Shadows */
  --ie-shadow-sm: 0 1px 3px rgba(26, 26, 46, 0.06);
  --ie-shadow-md: 0 4px 12px rgba(26, 26, 46, 0.08);
  --ie-shadow-lg: 0 8px 30px rgba(26, 26, 46, 0.12);
  --ie-shadow-xl: 0 16px 50px rgba(26, 26, 46, 0.16);
}

/* ─── Global Typography Enhancements ─── */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  letter-spacing: -0.02em;
  line-height: 1.15;
  font-weight: 500;
}

h1,
.h1 {
  font-weight: 400;
  letter-spacing: -0.03em;
}

/* Body text improvements */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

p {
  line-height: 1.7;
  letter-spacing: 0.01em;
}

/* ─── Premium Button Styles ─── */
.button,
.shopify-challenge__button,
button.shopify-payment-button__button--unbranded {
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.82rem;
  padding: 1rem 2.4rem;
  transition: all var(--ie-transition-medium);
  position: relative;
  overflow: hidden;
}

.button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.15) 0%,
    transparent 50%
  );
  opacity: 0;
  transition: opacity var(--ie-transition-fast);
}

.button:hover::after {
  opacity: 1;
}

.button:hover {
  transform: translateY(-1px);
  box-shadow: var(--ie-shadow-md);
}

.button:active {
  transform: translateY(0);
}

/* Secondary button refinement */
.button--secondary {
  border-width: 1.5px;
  backdrop-filter: blur(4px);
}

/* ─── Seamless Section Continuity ─── */
/* Remove gaps between sections for a premium continuous flow */
.section-template--*,
.shopify-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.shopify-section + .shopify-section {
  border-top: none;
}

/* ─── Product Card — Luxury Borderless Design ─── */
.card-wrapper.product-card-wrapper {
  border: none;
  border-radius: 8px;
  overflow: hidden;
  background: transparent;
}

/* Product card image — soft warm-gray background */
.card-wrapper.product-card-wrapper .card__media {
  background: #f7f5f3;
  overflow: hidden;
}

/* Force consistent image heights on product grids */
.card-wrapper.product-card-wrapper .card--media .card__inner.ratio {
  --ratio-percent: 100% !important;
}

/* No separator line — clean and minimal */
.card-wrapper.product-card-wrapper .card__content {
  border-top: none;
}

/* ─── Header / Navigation Refinements ─── */
.header {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Sticky header smooth transition */
.shopify-section-header-sticky {
  transition: box-shadow var(--ie-transition-medium);
}

.shopify-section-header-sticky.shopify-section-header-hidden {
  box-shadow: none;
}

.shopify-section-header-sticky:not(.shopify-section-header-hidden) {
  box-shadow: var(--ie-shadow-sm);
}

/* ─── Announcement Bar Enhancement ─── */
.announcement-bar {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 600;
}

/* ─── Product Grid Refinements ─── */
.card__heading,
.card__heading a {
  font-family: var(--ie-font-heading);
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none !important;
  transition: color var(--ie-transition-fast);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.card__heading a:hover {
  color: var(--ie-pink);
}

/* Price styling — clean navy, pink only for sale */
.price-item--regular {
  font-weight: 600;
  color: var(--ie-navy);
}

.price-item--sale {
  color: var(--ie-pink-dark);
  font-weight: 700;
}

.price-item--regular.price-item--last:not(:only-child) {
  text-decoration: line-through;
  opacity: 0.5;
  font-weight: 400;
  color: var(--ie-navy);
}

/* ─── Badge Refinements ─── */
.badge {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.35rem 0.75rem;
}

/* ─── Footer Elevation ─── */
.footer {
  position: relative;
}

.footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--ie-pink-light),
    transparent
  );
}

/* ─── Form Inputs ─── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
textarea,
select {
  transition:
    border-color var(--ie-transition-fast),
    box-shadow var(--ie-transition-fast);
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--ie-pink) !important;
  box-shadow: 0 0 0 3px rgba(232, 120, 154, 0.15) !important;
  outline: none;
}

/* ─── Cart Drawer Enhancement ─── */
.drawer__inner {
  backdrop-filter: blur(10px);
}

/* ─── Scroll Reveal Animation Enhancement ─── */
.scroll-trigger.scroll-trigger--offscreen {
  opacity: 0;
  transform: translateY(24px);
}

.scroll-trigger.scroll-trigger--cancel {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity var(--ie-transition-medium),
    transform var(--ie-transition-medium);
}

/* ─── Loading / Skeleton States ─── */
.skeleton {
  background: linear-gradient(
    90deg,
    var(--ie-cream) 25%,
    var(--ie-blush) 50%,
    var(--ie-cream) 75%
  );
  background-size: 200% 100%;
  animation: ie-shimmer 1.5s infinite;
}

@keyframes ie-shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* ─── Mobile Optimizations (Rule: Mobile Design) ─── */
@media screen and (max-width: 749px) {
  /* Reduce heading sizes on mobile */
  h1 {
    font-size: clamp(1.75rem, 6vw, 2.5rem);
  }
  h2 {
    font-size: clamp(1.4rem, 5vw, 2rem);
  }

  /* Larger touch targets (Rule: Accessibility) */
  .button,
  a.button {
    min-height: 48px;
    padding: 0.875rem 1.5rem;
  }


  /* Logo sizing for mobile */
  .header__heading-logo {
    max-width: 80px !important;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .header__heading-logo {
    max-width: 100px !important;
  }
}

/* ─── Selection Color ─── */
::selection {
  background: var(--ie-pink-light);
  color: var(--ie-navy);
}

::-moz-selection {
  background: var(--ie-pink-light);
  color: var(--ie-navy);
}

/* ─── Smooth Scrolling ─── */
html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .card-wrapper,
  .card__media .media img,
  .button,
  .scroll-trigger {
    transition: none !important;
    animation: none !important;
  }
}

/* ============================================================
   PHASE 2.5 — Hero, Product Card, & Trust Bar Enhancements
   ============================================================ */

/* ─── Hero Banner — Text Readability ─── */
.banner__heading {
  text-shadow:
    0 2px 12px rgba(0, 0, 0, 0.5),
    0 1px 3px rgba(0, 0, 0, 0.3);
  color: #ffffff !important;
}

.banner__text,
.banner__text p {
  text-shadow:
    0 1px 8px rgba(0, 0, 0, 0.4),
    0 1px 2px rgba(0, 0, 0, 0.2);
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Hero CTA buttons — side by side on desktop, stacked on mobile */
.banner__buttons {
  display: inline-flex !important;
  flex-direction: row !important;
  gap: 1rem;
  flex-wrap: nowrap !important;
  justify-content: center;
  max-width: 60rem !important;
}

.banner__buttons--multiple > * {
  min-width: auto !important;
  flex-grow: 0 !important;
}

@media screen and (max-width: 749px) {
  .banner__buttons {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    align-items: stretch;
  }
  .banner__buttons .button {
    width: 100%;
  }
  .banner__buttons--multiple > * {
    flex-grow: 1 !important;
  }
}

.banner__buttons .button:not(.button--secondary) {
  background-color: var(--ie-pink) !important;
  color: #ffffff !important;
  border-color: var(--ie-pink) !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 1rem 2.5rem;
  border-radius: 4px;
}

.banner__buttons .button:not(.button--secondary):hover {
  background-color: var(--ie-pink-dark) !important;
  border-color: var(--ie-pink-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(232, 120, 154, 0.35);
}

.banner__buttons .button--secondary {
  background-color: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 2px solid rgba(255, 255, 255, 0.7) !important;
  backdrop-filter: blur(8px);
  font-weight: 600;
  letter-spacing: 0.08em;
  padding: 1rem 2.5rem;
  border-radius: 4px;
}

.banner__buttons .button--secondary:hover {
  background-color: rgba(255, 255, 255, 0.3) !important;
  border-color: #ffffff !important;
  transform: translateY(-2px);
}

/* Remove text box background for floating overlay hero */
.banner__box {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* ─── Product Card — Elegant Hollow Quick Add Button ─── */
.quick-add__submit.button.button--secondary {
  background-color: transparent !important;
  color: var(--ie-pink) !important;
  border: 1.5px solid var(--ie-pink) !important;
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.85rem 1.5rem;
  border-radius: 6px;
  transition: all var(--ie-transition-medium);
  width: 100%;
}

.quick-add__submit.button.button--secondary:hover {
  background-color: var(--ie-pink) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(232, 120, 154, 0.25);
}

.quick-add__submit.button.button--secondary:active {
  transform: translateY(0);
}

/* Product card content spacing */
.card__content .card__information {
  padding: 1.2rem;
  text-align: center;
}

.card__heading.h5 {
  font-family: var(--ie-font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.35;
  margin-bottom: 0.5rem;
  text-transform: none !important;
  color: var(--ie-navy);
}

/* Price area */
.card-information .price {
  font-size: 1.5rem;
  justify-content: center;
}

.card-information .price .price-item--regular {
  font-weight: 600;
  font-size: 1.5rem;
  color: var(--ie-navy);
}

/* Quick add wrapper — centered, full-width padding */
.quick-add {
  padding: 0 1.2rem 1.2rem;
}

/* ─── Sale Badge — Brand Pink ─── */
.badge {
  border-radius: 3px;
}

.badge.color-scheme-4,
.badge.color-accent-2,
[class*="color-"] .badge {
  background-color: var(--ie-pink) !important;
  color: #ffffff !important;
}

/* ─── Trust Bar — Visibility Fix ─── */
.shopify-section .multicolumn .multicolumn-list__item {
  text-align: center;
}

/* Force trust bar content to be visible */
.shopify-section .multicolumn .rte p,
.shopify-section .multicolumn .multicolumn-card__info h3,
.shopify-section .multicolumn h3 {
  color: var(--ie-navy) !important;
  font-weight: 600;
}

.shopify-section .multicolumn .rte p {
  font-size: 0.85rem;
  color: rgba(26, 26, 46, 0.75) !important;
  font-weight: 500;
}

/* Trust bar emoji sizing */
.shopify-section .multicolumn .multicolumn-card__image-wrapper img,
.shopify-section .multicolumn .rte h3 {
  font-size: 1.5rem;
}

/* Tighter trust bar spacing */
.shopify-section .multicolumn.background-none {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* ─── Collection Title Enhancement ─── */
.collection__title .title {
  font-weight: 500;
  letter-spacing: -0.02em;
}

.collection__title .collection__description {
  max-width: 600px;
  margin-inline: auto;
  opacity: 0.8;
  font-size: 0.95rem;
}

/* ─── Mobile Adjustments for Phase 2.5 ─── */
@media screen and (max-width: 749px) {
  .banner__heading {
    text-shadow:
      0 2px 8px rgba(0, 0, 0, 0.6),
      0 1px 2px rgba(0, 0, 0, 0.4);
  }

  .banner__text,
  .banner__text p {
    font-size: 1rem;
  }

  .banner__buttons .button {
    padding: 0.875rem 1.5rem;
    font-size: 0.78rem;
  }

  .quick-add__submit.button.button--secondary {
    padding: 0.75rem 1rem;
    font-size: 0.75rem;
  }

  .card__heading.h5 {
    font-size: 0.9rem;
  }
}

/* ============================================================
   PHASE 3 — Modern Look: Transparent Header + Typography
   ============================================================ */

/* ─── Transparent Header — Homepage Only ─── */
/* Scoped to body.template-index so all other pages keep solid header */

/* Make the hero overlap under the header + announcement bar on homepage */
body.template-index .shopify-section:first-of-type .banner,
body.template-index .shopify-section:first-of-type .image-banner,
body.template-index .shopify-section:first-of-type .video-hero {
  margin-top: calc(-1 * var(--header-height, 70px));
  padding-top: var(--header-height, 70px);
}

/* Remove header group bottom margin on homepage so hero sits flush */
body.template-index .section-header {
  margin-bottom: 0 !important;
}

/* Transparent header state — when header is NOT scrolled */
body.template-index .section-header:not(.scrolled-past-header) .header-wrapper {
  background: transparent !important;
  border-bottom: none !important;
  box-shadow: none !important;
  transition:
    background-color 0.4s ease,
    box-shadow 0.4s ease,
    border-color 0.4s ease;
}

/* White text / icons in transparent state */
body.template-index
  .section-header:not(.scrolled-past-header)
  .header__heading-link
  .h2,
body.template-index
  .section-header:not(.scrolled-past-header)
  .header__heading-link:hover
  .h2 {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

body.template-index
  .section-header:not(.scrolled-past-header)
  .header__menu-item,
body.template-index
  .section-header:not(.scrolled-past-header)
  .header__menu-item
  span {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* Hover in transparent mode — pink color override */
body.template-index
  .section-header:not(.scrolled-past-header)
  .header__menu-item:hover,
body.template-index
  .section-header:not(.scrolled-past-header)
  .header__menu-item:hover span,
body.template-index
  .section-header:not(.scrolled-past-header)
  details[open] > .header__menu-item,
body.template-index
  .section-header:not(.scrolled-past-header)
  details[open] > .header__menu-item span {
  color: var(--ie-pink) !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}

/* Nav underline → white in transparent mode */
body.template-index
  .section-header:not(.scrolled-past-header)
  .header__menu-item::after {
  background: #ffffff;
}

/* Hover underline → pink in transparent mode */
body.template-index
  .section-header:not(.scrolled-past-header)
  .header__menu-item:hover::after,
body.template-index
  .section-header:not(.scrolled-past-header)
  details[open] > .header__menu-item::after {
  background: var(--ie-pink);
}

body.template-index .section-header:not(.scrolled-past-header) .header__icon {
  color: #ffffff !important;
}

body.template-index
  .section-header:not(.scrolled-past-header)
  .header__icon
  .icon,
body.template-index
  .section-header:not(.scrolled-past-header)
  .header__icon
  svg {
  color: #ffffff !important;
  fill: none;
  stroke: #ffffff;
}

/* Cart count bubble stays pink */
body.template-index
  .section-header:not(.scrolled-past-header)
  .cart-count-bubble {
  background-color: var(--ie-pink) !important;
  color: #ffffff !important;
}

/* Hamburger / drawer icon white */
body.template-index
  .section-header:not(.scrolled-past-header)
  header-drawer
  .icon {
  color: #ffffff !important;
  stroke: #ffffff;
}

/* Logo — keep normal in transparent state, add subtle drop shadow for visibility */
body.template-index
  .section-header:not(.scrolled-past-header)
  .header__heading-logo {
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.3));
  transition: filter 0.4s ease;
}

/* Remove backdrop blur in transparent state */
body.template-index .section-header:not(.scrolled-past-header) .header {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Scrolled state — restore solid header with transition */
body.template-index .section-header.scrolled-past-header .header-wrapper {
  transition:
    background-color 0.4s ease,
    box-shadow 0.4s ease;
}

body.template-index .section-header.scrolled-past-header .header__heading-logo {
  filter: none;
  transition: filter 0.4s ease;
}

/* Restore normal icon colors when scrolled */
body.template-index .section-header.scrolled-past-header .header__icon {
  color: rgb(var(--color-foreground)) !important;
}

body.template-index .section-header.scrolled-past-header .header__icon .icon,
body.template-index .section-header.scrolled-past-header .header__icon svg {
  color: rgb(var(--color-foreground)) !important;
  stroke: currentColor;
}

body.template-index .section-header.scrolled-past-header .header__menu-item,
body.template-index
  .section-header.scrolled-past-header
  .header__menu-item
  span {
  color: rgb(var(--color-foreground)) !important;
  text-shadow: none;
}

body.template-index
  .section-header.scrolled-past-header
  .header__menu-item::after {
  background: var(--ie-pink);
}

/* ─── Sticky Header: Logo Shifts Left on Scroll (desktop) ─── */
/* When scrolled, switch grid from center-logo to left-logo layout */
@media screen and (min-width: 990px) {
  .scrolled-past-header .header--middle-center:not(.drawer-menu) {
    grid-template-areas: "heading navigation icons" !important;
    grid-template-columns: auto 1fr auto !important;
    column-gap: 2rem;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }

  /* Move logo to left */
  .scrolled-past-header .header--middle-center .header__heading,
  .scrolled-past-header .header--middle-center .header__heading-link {
    justify-self: start !important;
    text-align: left !important;
  }

  /* Constrain logo size in scrolled state */
  .scrolled-past-header .header--middle-center .header__heading-logo-wrapper {
    width: 50px !important;
    transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }

  /* Center the nav links */
  .scrolled-past-header .header--middle-center .header__inline-menu {
    justify-content: center;
  }

  /* Tighten header padding when scrolled */
  .scrolled-past-header .header {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
    transition: padding 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }
}

/* ─── Typography Modernization ─── */

/* Larger base body text for readability */
body {
  font-size: 1.6rem;
}

@media screen and (min-width: 750px) {
  body {
    font-size: 1.8rem;
  }
}

/* Hero heading — large and impactful */
.banner__heading {
  font-size: clamp(3.6rem, 6vw, 5.8rem) !important;
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

/* Hero subtext */
.banner__text,
.banner__text p {
  font-size: 1.8rem;
  line-height: 1.65;
  letter-spacing: 0.01em;
}

/* Section headings — bigger and bolder */
h2,
.h2 {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  font-weight: 500;
  letter-spacing: -0.02em;
}

/* Section heading decorative accent line */
.section-header__title,
.title-wrapper .title,
.collection-hero__title {
  position: relative;
  padding-bottom: 0.75rem;
}

.title-wrapper .title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 2px;
  background: var(--ie-pink);
  border-radius: 2px;
}

/* Nav links — slightly larger, more weight */
.header__menu-item {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* Product card title — branded typography */
.card__heading.h5 {
  font-family: var(--ie-font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.35;
  text-transform: none !important;
  color: var(--ie-navy);
}

.card-information .price .price-item--regular {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--ie-navy);
}

/* Trust bar text */
.shopify-section .multicolumn .rte p {
  font-size: 1.5rem;
}

.shopify-section .multicolumn h3,
.shopify-section .multicolumn .multicolumn-card__info h3 {
  font-size: 1.6rem;
  font-weight: 700;
}

/* Button text */
.button,
.shopify-challenge__button,
button.shopify-payment-button__button--unbranded {
  font-size: 1.4rem;
}

/* CTA buttons — slightly bigger */
.banner__buttons .button:not(.button--secondary) {
  padding: 1.4rem 3.2rem;
  font-size: 1.5rem;
}

.banner__buttons .button--secondary {
  padding: 1.4rem 3.2rem;
  font-size: 1.5rem;
}

/* Announcement bar — slightly larger text */
.announcement-bar {
  font-size: 1.3rem;
}

/* ─── Modern Design Refinements ─── */

/* Rounded product cards */
.card-wrapper {
  border-radius: 12px;
  overflow: hidden;
}

.card {
  border-radius: 12px;
  overflow: hidden;
}

.card__media {
  border-radius: 0;
}

/* Collection card rounded corners */
.collection-card__image-wrapper,
.collection-card {
  border-radius: 12px;
  overflow: hidden;
}

/* Newsletter input refinement */
.newsletter-form__field-wrapper .field__input {
  border-radius: 8px 0 0 8px;
}

.newsletter-form__button {
  border-radius: 0 8px 8px 0;
}

/* Softer section transitions */
.shopify-section {
  position: relative;
}

/* ─── Mobile Adjustments for Phase 3 ─── */
@media screen and (max-width: 749px) {
  /* Smaller hero heading on mobile */
  .banner__heading {
    font-size: clamp(1.8rem, 7vw, 2.6rem) !important;
  }

  .banner__text,
  .banner__text p {
    font-size: 1rem;
  }

  /* Slightly smaller nav */
  .header__menu-item {
    font-size: 0.9rem;
  }

  /* Transparent header mobile — tighter padding */
  body.template-index .section-header:not(.scrolled-past-header) .header {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  /* Smaller hero overlap for mobile header height */
  body.template-index .shopify-section:first-of-type .banner,
  body.template-index .shopify-section:first-of-type .image-banner {
    margin-top: calc(-1 * var(--header-height, 60px));
    padding-top: var(--header-height, 60px);
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .banner__heading {
    font-size: clamp(2rem, 4.5vw, 3rem) !important;
  }
}

/* ============================================================
   VIDEO HERO SECTION
   ============================================================ */

/* ─── Video Hero — Full-bleed Video Background ─── */
.video-hero {
  position: relative;
  overflow: hidden;
}

/* Video fills container like an image */
.video-hero .video-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.video-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Fallback image — same positioning as video */
.video-hero__fallback-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* When video is present, hide fallback on desktop */
/* Higher specificity needed to beat base.css: .media > :not(.zoom):not(.deferred-media__poster-button) */
.media.video-hero__media > .video-hero__video ~ .video-hero__fallback-image {
  display: none !important;
}

/* ─── Social Proof Line (UCF-013) ─── */
.video-hero__social-proof {
  font-size: 1.6rem;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.06em;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  text-shadow:
    0 1px 6px rgba(0, 0, 0, 0.4),
    0 1px 2px rgba(0, 0, 0, 0.2);
}

/* (Handled in main transparent header block above) */

/* ─── Mobile: Show Image, Hide Video ─── */
@media screen and (max-width: 749px) {
  .video-hero__video {
    display: none;
  }

  /* Re-show fallback image on mobile even when video exists */
  .media.video-hero__media > .video-hero__video ~ .video-hero__fallback-image {
    display: block !important;
  }

  .video-hero__social-proof {
    font-size: 1.4rem;
    letter-spacing: 0.04em;
  }

  /* Mobile hero overlap — handled in main transparent header block */
}

/* ============================================================
   PHASE 4 — New Section Styles & Design Enhancements
   ============================================================ */

/* ─── Extended Design Tokens ─── */
:root {
  --ie-cloud: #f5f3f0;
  --ie-pink-50: #fef5f7;
  --ie-pink-100: #fde8ee;
  --ie-pink-200: #f9c5d3;
  --ie-pink-300: #f2a0b8;
  --ie-pink-400: #e8789a;
  --ie-pink-500: #d9567f;
  --ie-pink-600: #c4607e;
  --ie-section-padding-lg: clamp(4rem, 6vw, 6rem);
  --ie-section-padding-md: clamp(3rem, 4vw, 4.5rem);
}

/* ─── Testimonials Section ─── */
.testimonial-card {
  background: var(--ie-white);
  border-radius: 12px;
  padding: clamp(2rem, 3vw, 2.8rem);
  position: relative;
  box-shadow: var(--ie-shadow-sm);
  transition:
    transform var(--ie-transition-medium),
    box-shadow var(--ie-transition-medium);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.testimonial-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--ie-shadow-lg);
}

/* Decorative quotation mark */
.testimonial-card::before {
  content: "\201C";
  position: absolute;
  top: 1.2rem;
  left: 1.6rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 4.5rem;
  line-height: 1;
  color: var(--ie-pink-200);
  pointer-events: none;
  opacity: 0.6;
}

/* Star rating */
.testimonial-card__stars {
  display: flex;
  gap: 2px;
  margin-bottom: 1rem;
  color: #f5a623;
  position: relative;
  z-index: 1;
}

.testimonial-card__stars svg {
  width: 16px;
  height: 16px;
}

/* Quote text */
.testimonial-card__quote {
  font-size: 1.5rem;
  line-height: 1.7;
  color: var(--ie-navy);
  margin: 0;
  padding: 0;
  border: none;
  flex: 1;
  position: relative;
  z-index: 1;
}

.testimonial-card__quote p {
  margin: 0;
  font-style: italic;
  font-size: 1.5rem;
}

/* Author block */
.testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(26, 26, 46, 0.08);
}

.testimonial-card__author-image {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--ie-pink-100);
}

.testimonial-card__author-initial {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ie-pink-100), var(--ie-pink-200));
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.6rem;
  color: var(--ie-pink-500);
  flex-shrink: 0;
}

.testimonial-card__author-info {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.testimonial-card__author-name {
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--ie-navy);
  letter-spacing: 0.01em;
}

.testimonial-card__author-title {
  font-size: 1.25rem;
  color: var(--ie-pink);
  font-weight: 500;
}

.testimonial-card__author-location {
  font-size: 1.2rem;
  color: rgba(26, 26, 46, 0.5);
  font-weight: 400;
}

/* Testimonials grid layout */
.testimonials-grid {
  gap: 2rem;
}

@media screen and (min-width: 750px) {
  .testimonials-grid {
    gap: 2.4rem;
  }
}

/* ─── "Why Professionals Choose Us" — Dark Section Treatment ─── */
/* Must beat .shopify-section .multicolumn .multicolumn-card__info h3 (0,3,1) */
.shopify-section .multicolumn.color-scheme-3 .multicolumn-card__info h3,
.shopify-section .multicolumn.color-scheme-3 h3 {
  color: #ffffff !important;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 0.01em;
}

.shopify-section .multicolumn.color-scheme-3 .rte p,
.shopify-section .multicolumn.color-scheme-3 .multicolumn-card__info .rte p {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 1.4rem;
  line-height: 1.65;
  font-weight: 400;
}

.color-scheme-3 .title-wrapper .title {
  color: #ffffff !important;
}

/* Accent underline on dark sections uses white */
.color-scheme-3 .title-wrapper .title::after {
  background: var(--ie-pink) !important;
}

/* Column dividers on desktop for why-choose-us */
@media screen and (min-width: 750px) {
  .color-scheme-3 .multicolumn-list__item:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, 0.12);
  }

  .color-scheme-3 .multicolumn-list__item {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* ─── Sticky Mobile CTA ─── */
sticky-mobile-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99;
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

sticky-mobile-cta.is-visible {
  transform: translateY(0);
  pointer-events: all;
}

.sticky-mobile-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1.2rem;
  background: var(--ie-white);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
  border-top: 1px solid rgba(26, 26, 46, 0.06);
}

.sticky-mobile-cta__info {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  flex: 1;
  min-width: 0;
}

.sticky-mobile-cta__title {
  font-weight: 600;
  font-size: 1.3rem;
  color: var(--ie-navy);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.sticky-mobile-cta__price {
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--ie-navy);
}

.sticky-mobile-cta__button {
  background: var(--ie-pink);
  color: #ffffff;
  border: none;
  padding: 0.9rem 1.8rem;
  font-weight: 700;
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition:
    background-color var(--ie-transition-fast),
    transform var(--ie-transition-fast);
}

.sticky-mobile-cta__button:hover {
  background: var(--ie-pink-dark);
}

.sticky-mobile-cta__button:active {
  transform: scale(0.97);
}

/* Add body padding for sticky CTA */
body.template-product {
  padding-bottom: 70px;
}

/* Desktop: constrain sticky CTA width and center */
@media screen and (min-width: 750px) {
  sticky-mobile-cta {
    left: 50%;
    right: auto;
    transform: translate(-50%, 100%);
    width: 48rem;
    max-width: 90vw;
    border-radius: 10px 10px 0 0;
  }

  sticky-mobile-cta.is-visible {
    transform: translate(-50%, 0);
  }

  .sticky-mobile-cta__inner {
    border-radius: 10px 10px 0 0;
  }
}

/* ─── Free Shipping Progress Bar ─── */
.free-shipping-bar {
  padding: 1rem 1.6rem;
  text-align: center;
}

.free-shipping-bar__message {
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--ie-navy);
  margin: 0 0 0.6rem;
  line-height: 1.4;
}

.free-shipping-bar__message strong {
  font-weight: 700;
  color: var(--ie-pink);
}

.free-shipping-bar__message--achieved {
  color: #2e7d32;
  font-weight: 700;
}

.free-shipping-bar__track {
  width: 100%;
  height: 6px;
  background: rgba(26, 26, 46, 0.08);
  border-radius: 3px;
  overflow: hidden;
}

.free-shipping-bar__fill {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--ie-pink-300), var(--ie-pink));
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Achieved state — green fill */
.free-shipping-bar__message--achieved + .free-shipping-bar__track .free-shipping-bar__fill {
  background: linear-gradient(90deg, #66bb6a, #2e7d32);
}

/* ─── Product Page — Trust Badges (icon_with_text block) ─── */
.product__icon-with-text {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1.2rem;
  margin: 1rem 0;
  background: var(--ie-pink-50);
  border: 1px solid var(--ie-pink-100);
  border-radius: 8px;
}

.product__icon-with-text .icon-with-text {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 120px;
  justify-content: center;
}

.product__icon-with-text .icon-with-text .icon {
  color: var(--ie-pink);
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.product__icon-with-text .icon-with-text h3,
.product__icon-with-text .icon-with-text .heading {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--ie-navy);
  letter-spacing: 0.01em;
  margin: 0;
}

/* ─── Product Page — Collapsible Tabs ─── */
.product__accordion .accordion__content {
  font-size: 1.4rem;
  line-height: 1.7;
  color: rgba(26, 26, 46, 0.8);
}

.product__accordion summary {
  padding: 1.2rem 0;
  font-weight: 600;
  font-size: 1.4rem;
  color: var(--ie-navy);
}

.product__accordion summary .icon-accordion {
  color: var(--ie-pink);
}

/* ─── Product Page — Inventory Status ─── */
.product__inventory {
  font-size: 1.3rem;
  font-weight: 600;
}

.product__inventory .icon {
  width: 14px;
  height: 14px;
}

/* ─── Product Card — Vendor Label Enhancement ─── */
.card-information .caption-with-letter-spacing {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ie-pink) !important;
  margin-bottom: 0.25rem;
}

/* ─── Product Card — Left-Aligned Info (Modern Look) ─── */
.card__content .card__information {
  text-align: left;
  padding: 1rem 1.2rem 1.2rem;
}

.card-information .price {
  justify-content: flex-start;
}

/* ─── Quick-Add Button Enhancement ─── */
.quick-add .button {
  border-radius: 8px;
}

/* ─── Section Dividers — Subtle Gradient Lines ─── */
.shopify-section + .shopify-section::before {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 5%,
    rgba(232, 120, 154, 0.15) 30%,
    rgba(232, 120, 154, 0.15) 70%,
    transparent 95%
  );
  margin: 0 auto;
  max-width: 80%;
}

/* No divider after hero or on dark scheme sections */
.shopify-section:first-child + .shopify-section::before,
.color-scheme-3 + .shopify-section::before,
.shopify-section:has(.color-scheme-3)::before {
  display: none;
}

/* ─── Newsletter Section Enhancement ─── */
.newsletter .newsletter__wrapper {
  max-width: 580px;
  margin: 0 auto;
  text-align: center;
}

.newsletter .field__input {
  border-color: rgba(26, 26, 46, 0.15);
  font-size: 1.4rem;
}

.newsletter .newsletter-form__button {
  background: var(--ie-pink) !important;
  color: #ffffff !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 1.3rem;
  transition: background-color var(--ie-transition-fast);
}

.newsletter .newsletter-form__button:hover {
  background: var(--ie-pink-dark) !important;
}

/* ─── Image-with-Text (Brand Story) Enhancement ─── */
.image-with-text .image-with-text__content {
  padding: clamp(2rem, 4vw, 4rem);
}

.image-with-text .image-with-text__heading {
  font-weight: 400;
  letter-spacing: -0.02em;
}

.image-with-text .image-with-text__text p {
  font-size: 1.5rem;
  line-height: 1.75;
  color: rgba(26, 26, 46, 0.8);
}

/* Brand story CTA button */
.image-with-text .button {
  background: var(--ie-pink) !important;
  color: #ffffff !important;
  border-color: var(--ie-pink) !important;
  padding: 1.2rem 2.8rem;
  font-size: 1.3rem;
}

.image-with-text .button:hover {
  background: var(--ie-pink-dark) !important;
  border-color: var(--ie-pink-dark) !important;
}

/* ─── Collection List Section Enhancement ─── */
.collection-list .collection-card__image-wrapper {
  border-radius: 12px;
  overflow: hidden;
}

.collection-list .card__heading a {
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--ie-navy);
}

.collection-list .card__heading a:hover {
  color: var(--ie-pink);
}

/* ─── Rating Stars (Judge.me) Branding ─── */
.jdgm-star {
  color: #f5a623 !important;
}

/* ─── Enhanced View All Button ─── */
.collection__view-all .button,
.slider-counter + .button {
  background: transparent;
  border: 1.5px solid var(--ie-pink);
  color: var(--ie-pink);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 1.3rem;
  padding: 1rem 2.4rem;
  border-radius: 6px;
  transition: all var(--ie-transition-medium);
}

.collection__view-all .button:hover,
.slider-counter + .button:hover {
  background: var(--ie-pink);
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(232, 120, 154, 0.25);
}

/* ─── Announcement Bar — Scheme-4 Pink Styling ─── */
.color-scheme-4 .announcement-bar {
  font-weight: 600;
  letter-spacing: 0.06em;
}

.color-scheme-4 .announcement-bar a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ─── Product Page — Buy Button Branding ─── */
.product-form__submit {
  background: var(--ie-pink) !important;
  color: #ffffff !important;
  border: none !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 1.4rem 2rem;
  border-radius: 6px;
  transition: all var(--ie-transition-medium);
}

.product-form__submit:hover {
  background: var(--ie-pink-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(232, 120, 154, 0.3);
}

.product-form__submit:active {
  transform: translateY(0);
}

.product-form__submit:disabled,
.product-form__submit[disabled] {
  background: rgba(26, 26, 46, 0.12) !important;
  color: rgba(26, 26, 46, 0.4) !important;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* ─── Reduced Motion — Disable new animations ─── */
@media (prefers-reduced-motion: reduce) {
  .testimonial-card,
  sticky-mobile-cta,
  .free-shipping-bar__fill {
    transition: none !important;
  }

  .testimonial-card:hover {
    transform: none;
  }
}

/* ============================================================
   HEADER & MEGA MENU — Premium Beauty Redesign
   Full-width dropdown like Charlotte Tilbury / Sephora
   ============================================================ */

/* ─── Top Nav Bar Links ─── */
@media screen and (min-width: 990px) {
  .header__menu-item {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase;
    color: var(--ie-navy) !important;
    padding: 1rem 1.4rem !important;
    position: relative;
    transition: color 0.2s ease;
    text-decoration: none !important;
  }

  /* Kill ALL Dawn native underlines */
  .header__menu-item span,
  .header__menu-item:hover span,
  .header__active-menu-item,
  details[open] > .header__menu-item,
  details[open]:hover > .header__menu-item {
    text-decoration: none !important;
    text-decoration-line: none !important;
  }

  .header__menu-item span {
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
  }

  /* Custom pink underline via ::after */
  .header__menu-item::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 60%;
    height: 2px;
    background: var(--ie-pink);
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: center;
  }

  .header__menu-item:hover::after,
  details[open] > .header__menu-item::after {
    transform: translateX(-50%) scaleX(1);
  }

  .header__menu-item:hover,
  details[open] > .header__menu-item {
    color: var(--ie-pink) !important;
  }

  .header__menu-item .icon-caret {
    position: static !important;
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    margin-left: 5px;
    vertical-align: middle;
    opacity: 0.6;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }

  details[open] > summary .icon-caret {
    transform: rotate(180deg);
    opacity: 0.9;
  }

  .header__menu-item:hover .icon-caret {
    opacity: 0.9;
  }

  summary.list-menu__item {
    padding-right: 2.4rem;
  }
}

/* ─── Mega Menu Panel — Full Width ─── */
@media screen and (min-width: 990px) {

  /* Panel positioning & styling */
  .mega-menu__content {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    width: 100% !important;
    background: #fdfbf9 !important;
    border-top: 2px solid var(--ie-pink) !important;
    box-shadow: 0 12px 40px rgba(26, 26, 46, 0.1),
                0 2px 8px rgba(26, 26, 46, 0.04) !important;
    padding: 0 !important;
    max-height: min(520px, calc(100vh - 220px));
    overflow: hidden;
  }

  /* Overflow handling — scrollable but no visible scrollbar */
  .mega-menu__content:not(.mega-menu__content--has-promo) {
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .mega-menu__content:not(.mega-menu__content--has-promo)::-webkit-scrollbar {
    display: none;
  }

  /* Smooth entrance animation */
  .js .mega-menu__content {
    opacity: 0;
    transform: translateY(-8px);
    transition:
      opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
  }

  .mega-menu[open] .mega-menu__content {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  /* ─── Column Layout ─── */

  /* Top-center: override Dawn's fixed 16% width to flexible columns */
  .header--top-center .mega-menu__list {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    column-gap: 0 !important;
    padding: 3.6rem 5rem 4rem !important;
    align-items: flex-start;
  }

  .header--top-center .mega-menu__list > li {
    width: auto !important;
    flex: 1 1 0 !important;
    min-width: 130px;
    padding: 0 2.4rem !important;
    border-left: 1px solid rgba(26, 26, 46, 0.06);
  }

  .header--top-center .mega-menu__list > li:first-child {
    border-left: none;
    padding-left: 0 !important;
  }

  .header--top-center .mega-menu__list > li:last-child {
    padding-right: 0 !important;
  }

  /* Non-top-center: clean grid */
  .mega-menu__list {
    gap: 0 !important;
    padding: 3.6rem 5rem 4rem !important;
  }

  /* ─── Category Headings (Level 2) ─── */
  .mega-menu__link--level-2 {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase;
    color: var(--ie-navy) !important;
    padding: 0 0 0.6rem !important;
    margin-bottom: 1rem;
    border-bottom: none !important;
    display: block;
    text-decoration: none !important;
    transition: color 0.2s ease;
  }

  /* Short pink accent line under heading (Charlotte Tilbury style) */
  .mega-menu__link--level-2::after {
    content: '';
    display: block;
    width: 20px;
    height: 2px;
    background: var(--ie-pink);
    margin-top: 0.5rem;
    opacity: 0.5;
    transition: width 0.3s ease, opacity 0.3s ease;
  }

  .mega-menu__link--level-2:hover {
    color: var(--ie-pink) !important;
    text-decoration: none !important;
  }

  .mega-menu__link--level-2:hover::after {
    width: 36px;
    opacity: 1;
  }

  /* ─── Subcategory Links (Level 3) ─── */
  .mega-menu__link:not(.mega-menu__link--level-2) {
    font-size: 1.3rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em;
    color: rgba(26, 26, 46, 0.6) !important;
    padding: 0.4rem 0 !important;
    text-decoration: none !important;
    transition: color 0.2s ease, padding-left 0.2s ease;
    line-height: 1.55;
  }

  .mega-menu__link:not(.mega-menu__link--level-2):hover {
    color: var(--ie-navy) !important;
    padding-left: 4px !important;
    text-decoration: none !important;
  }

  .mega-menu__link--active:not(.mega-menu__link--level-2) {
    color: var(--ie-pink) !important;
    font-weight: 500 !important;
  }

  /* ─── Multi-column for long subcategory lists ─── */
  .mega-menu__list > li > .list-unstyled {
    column-width: 150px;
    column-gap: 2rem;
  }

  .mega-menu__list > li > .list-unstyled > li {
    break-inside: avoid;
  }

  /* ─── Condensed list (single-level menus) ─── */
  .mega-menu .mega-menu__list--condensed {
    justify-content: center;
  }

  .mega-menu__list--condensed .mega-menu__link {
    font-size: 1.35rem !important;
    font-weight: 500 !important;
    color: var(--ie-navy) !important;
  }

  .mega-menu__list--condensed .mega-menu__link:hover {
    color: var(--ie-pink) !important;
    text-decoration: none !important;
  }

  /* ─── Promotional Image Area ─── */
  .mega-menu__content--has-promo {
    display: flex !important;
    align-items: stretch;
  }

  .mega-menu__content--has-promo > .mega-menu__list {
    flex: 1 1 0;
    min-width: 0;
    max-width: none !important;
    margin: 0 !important;
    overflow-y: auto;
    scrollbar-width: none;          /* Firefox */
    -ms-overflow-style: none;       /* IE/Edge */
  }

  .mega-menu__content--has-promo > .mega-menu__list::-webkit-scrollbar {
    display: none;                  /* Chrome/Safari */
  }

  .mega-menu__promo {
    flex: 0 0 260px;
    padding: 3.2rem;
    border-left: 1px solid rgba(26, 26, 46, 0.06);
  }

  .mega-menu__promo-link {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    width: 100%;
    height: 100%;
    min-height: 260px;
    text-decoration: none !important;
  }

  .mega-menu__promo-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .mega-menu__promo-link:hover .mega-menu__promo-image {
    transform: scale(1.05);
  }

  .mega-menu__promo-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 3.5rem 1.6rem 1.6rem;
    background: linear-gradient(to top, rgba(26, 26, 46, 0.72) 0%, transparent 100%);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .mega-menu__promo-label {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ie-pink);
  }

  .mega-menu__promo-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.3;
  }

  .mega-menu__promo-cta {
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.85);
    margin-top: 0.3rem;
    transition: color 0.2s ease;
  }

  .mega-menu__promo-link:hover .mega-menu__promo-cta {
    color: #ffffff;
  }
}

/* ─── Header Bar Polish ─── */
.header-wrapper {
  border-bottom: 1px solid rgba(26, 26, 46, 0.06) !important;
  transition:
    background-color 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.scrolled-past-header .header-wrapper {
  box-shadow: 0 1px 8px rgba(26, 26, 46, 0.06);
  border-bottom-color: transparent !important;
}

/* ─── Mobile Drawer ─── */
@media screen and (max-width: 989px) {
  .menu-drawer {
    background-color: #ffffff !important;
  }

  .menu-drawer__navigation {
    padding: 0.8rem 0 2rem !important;
  }

  /* ── Top-level menu items ── */
  .menu-drawer__menu-item {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
    color: var(--ie-navy) !important;
    padding: 1.5rem 2.4rem !important;
    border-bottom: 1px solid rgba(26, 26, 46, 0.06);
    transition: background-color 0.2s ease, color 0.2s ease;
    text-decoration: none !important;
  }

  .menu-drawer summary.menu-drawer__menu-item {
    padding-right: 5.2rem !important;
  }

  .menu-drawer__menu-item:hover,
  .menu-drawer__menu-item--active {
    background-color: var(--ie-blush) !important;
    color: var(--ie-pink) !important;
  }

  /* Chevron indicator for items with submenus */
  .menu-drawer summary.menu-drawer__menu-item::after {
    content: '›';
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-52%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--ie-pink);
    color: #ffffff;
    font-size: 2rem;
    font-weight: 300;
    line-height: 32px;
    text-align: center;
    pointer-events: none;
    transition: background-color 0.2s ease, transform 0.2s ease;
  }

  .menu-drawer summary.menu-drawer__menu-item:hover::after {
    background-color: var(--ie-navy);
  }

  /* Hide Dawn's default arrow SVG since we use our own chevron */
  .menu-drawer summary.menu-drawer__menu-item > .svg-wrapper {
    display: none !important;
  }

  /* Keep arrow visible for non-summary items */
  .menu-drawer__menu-item:not(summary) > .svg-wrapper {
    right: 2.4rem;
    color: var(--ie-pink);
    opacity: 0.7;
    width: 12px !important;
  }

  /* ── Submenu panel ── */
  .menu-drawer__submenu {
    background-color: #ffffff !important;
  }

  /* Back button at top of submenu */
  .menu-drawer__close-button {
    font-size: 1.25rem !important;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #ffffff !important;
    padding: 1.4rem 2.4rem !important;
    margin-top: 0 !important;
    border-bottom: none;
    background-color: var(--ie-pink) !important;
    display: flex !important;
    align-items: center;
    gap: 0.6rem;
    cursor: pointer;
  }

  .menu-drawer__close-button .svg-wrapper {
    color: #ffffff;
    margin-right: 0.4rem;
    width: 14px !important;
    transform: rotate(180deg);
    flex-shrink: 0;
  }

  .menu-drawer__close-button:hover,
  .menu-drawer__close-button:focus {
    background-color: var(--ie-navy) !important;
    color: #ffffff !important;
  }

  /* ── Submenu items (child links) ── */
  .menu-drawer__submenu .menu-drawer__menu-item {
    font-size: 1.4rem !important;
    font-weight: 500 !important;
    text-transform: none;
    letter-spacing: 0.02em !important;
    color: var(--ie-navy) !important;
    padding: 1.3rem 2.4rem !important;
    border-bottom: 1px solid rgba(26, 26, 46, 0.04);
  }

  /* Submenu items with their own children (level 2 with arrow) */
  .menu-drawer__submenu summary.menu-drawer__menu-item {
    font-weight: 600 !important;
    color: var(--ie-navy) !important;
  }

  .menu-drawer__submenu .menu-drawer__menu-item:hover {
    color: var(--ie-pink) !important;
    background-color: var(--ie-blush) !important;
  }

  /* ── Third-level submenu items ── */
  .menu-drawer__submenu .menu-drawer__submenu .menu-drawer__menu-item {
    font-size: 1.35rem !important;
    font-weight: 400 !important;
    color: rgba(26, 26, 46, 0.7) !important;
    padding: 1.2rem 2.4rem !important;
  }

  .menu-drawer__submenu .menu-drawer__submenu .menu-drawer__menu-item:hover {
    color: var(--ie-pink) !important;
    background-color: var(--ie-blush) !important;
  }

  /* ── Utility links area (login, country) ── */
  .menu-drawer__utility-links {
    background-color: var(--ie-cream) !important;
    border-top: 1px solid rgba(26, 26, 46, 0.06);
    padding: 2rem 2.4rem !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
  }

  .menu-drawer__account {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 4.4rem;
    height: 4.4rem;
    border-radius: 50%;
    background: var(--ie-pink) !important;
    color: #fff !important;
    transition: background var(--ie-transition-fast), transform var(--ie-transition-fast);
  }

  .menu-drawer__account:hover {
    background: var(--ie-pink-dark) !important;
    transform: scale(1.05);
  }

  .menu-drawer__account .svg-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
  }

  .menu-drawer__account svg {
    width: 2rem;
    height: 2rem;
  }

  .menu-drawer__utility-links .list-social {
    display: flex;
    gap: 1.2rem;
    margin-top: 1.6rem;
    justify-content: center;
  }

  .menu-drawer__utility-links .list-social__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: var(--ie-blush);
    color: var(--ie-pink);
    transition: background var(--ie-transition-fast), color var(--ie-transition-fast), transform var(--ie-transition-fast);
  }

  .menu-drawer__utility-links .list-social__link:hover {
    background: var(--ie-pink);
    color: #fff;
    transform: translateY(-2px);
  }

  .menu-drawer__social-proof {
    border-top: 1px solid rgba(26, 26, 46, 0.08);
    padding: 1.6rem 0;
    margin-bottom: 1.2rem;
  }

  .menu-drawer__social-proof-text {
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ie-navy);
    margin: 0 0 1.2rem;
    text-align: center;
  }

  .menu-drawer__trust-badges {
    display: flex;
    justify-content: space-between;
    gap: 0.8rem;
  }

  .menu-drawer__trust-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    flex: 1;
    text-align: center;
  }

  .menu-drawer__trust-badge svg {
    color: var(--ie-pink);
    flex-shrink: 0;
  }

  .menu-drawer__trust-badge span {
    font-size: 1rem;
    font-weight: 500;
    color: rgba(26, 26, 46, 0.65);
    line-height: 1.2;
  }
}

/* ─── Header Icons ─── */
.header__icon {
  transition: color 0.2s ease;
}

.header__icon:hover {
  color: var(--ie-pink) !important;
}

.header__icon:hover svg,
.header__icon:hover .icon {
  color: var(--ie-pink) !important;
}

.cart-count-bubble {
  background-color: var(--ie-pink) !important;
  color: #ffffff !important;
  font-size: 1rem;
  font-weight: 700;
}

/* ─── Transparent Header + Mega Menu Compat ─── */
body.template-index
  .section-header:not(.scrolled-past-header)
  .mega-menu__content {
  background: #fdfbf9 !important;
}

body.template-index
  .section-header:not(.scrolled-past-header)
  .mega-menu__link,
body.template-index
  .section-header:not(.scrolled-past-header)
  .mega-menu__link--level-2 {
  color: var(--ie-navy) !important;
  text-shadow: none !important;
}

body.template-index
  .section-header:not(.scrolled-past-header)
  .mega-menu__link:not(.mega-menu__link--level-2) {
  color: rgba(26, 26, 46, 0.6) !important;
}

body.template-index
  .section-header:not(.scrolled-past-header)
  .mega-menu[open] > summary.header__menu-item {
  color: var(--ie-pink) !important;
  text-shadow: none;
}

/* ─── Cart Trust Badges ─── */
.cart-trust-badges {
  display: flex;
  justify-content: center;
  gap: 1.6rem;
  padding: 1.2rem 0;
  margin-top: 0.8rem;
  border-top: 1px solid rgba(var(--color-foreground), 0.08);
}

.cart-trust-badges__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  text-align: center;
}

.cart-trust-badges__item svg {
  color: var(--ie-pink);
  flex-shrink: 0;
}

.cart-trust-badges__item span {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(var(--color-foreground), 0.55);
  line-height: 1.2;
}

/* ─── Cart Recommendations ─── */
.cart-recommendations {
  padding: 1.6rem 2.5rem;
  border-top: 1px solid rgba(var(--color-foreground), 0.08);
  animation: cartRecFadeIn 0.2s ease-out;
}

@keyframes cartRecFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.cart-recommendations--empty {
  padding: 2rem 1.5rem;
  border-top: none;
}

.cart-recommendations__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.2rem;
}

.cart-recommendations__heading {
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0;
  color: rgba(var(--color-foreground), 0.7);
}

.cart-recommendations__arrows {
  display: flex;
  gap: 0.4rem;
}

.cart-recommendations__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  border: 1px solid rgba(var(--color-foreground), 0.15);
  background: transparent;
  color: rgb(var(--color-foreground));
  cursor: pointer;
  transition: background 0.2s ease, opacity 0.2s ease;
  padding: 0;
}

.cart-recommendations__arrow:hover:not(:disabled) {
  background: rgba(var(--color-foreground), 0.06);
}

.cart-recommendations__arrow:disabled {
  opacity: 0.3;
  cursor: default;
}

.cart-recommendations__grid {
  display: flex;
  gap: 1.2rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 0.4rem;
}

.cart-recommendations__grid::-webkit-scrollbar {
  display: none;
}

.cart-recommendations__item {
  flex: 0 0 auto;
  width: 13rem;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
}

.cart-recommendations__link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  flex: 1;
}

.cart-recommendations__image {
  width: 100%;
  height: 13rem;
  object-fit: cover;
  border-radius: 6px;
  background: #f7f5f3;
}

.cart-recommendations__image--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cart-recommendations__image--placeholder svg {
  width: 60%;
  height: 60%;
  opacity: 0.3;
}

.cart-recommendations__info {
  padding: 0.6rem 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.cart-recommendations__title {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.3;
  margin: 0;
  color: rgb(var(--color-foreground));
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 3.12rem; /* 2 lines: 1.2rem * 1.3 line-height * 2 */
}

.cart-recommendations__price {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0.2rem 0 0;
  color: rgba(var(--color-foreground), 0.7);
}

.cart-recommendations__add {
  width: 100%;
  padding: 0.6rem 0;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.cart-recommendations__add:hover {
  opacity: 0.85;
}

.cart-recommendations__form {
  margin-top: auto;
}

/* ─── Blog Page — Clean Grid Layout ─── */
.main-blog .title--primary {
  font-family: var(--font-heading-family);
  font-size: clamp(2.4rem, 4vw, 3.6rem);
  color: var(--ie-navy);
  text-align: center;
  margin-bottom: 3.2rem;
  letter-spacing: -0.01em;
}

.main-blog .blog-articles {
  gap: 2.4rem;
}

.main-blog .article-card-wrapper {
  border-radius: 8px;
  overflow: hidden;
  background: var(--ie-white);
  box-shadow: 0 1px 4px rgba(26, 26, 46, 0.06);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.main-blog .article-card-wrapper:hover {
  box-shadow: 0 4px 16px rgba(26, 26, 46, 0.1);
  transform: translateY(-2px);
}

/* Consistent image heights */
.main-blog .article-card .card__inner.ratio {
  --ratio-percent: 66% !important;
}

.main-blog .article-card__image-wrapper {
  overflow: hidden;
}

.main-blog .article-card__image-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.4s ease;
}

.main-blog .article-card-wrapper:hover .article-card__image-wrapper img {
  transform: scale(1.03);
}

.main-blog .article-card .card__content {
  padding: 1.6rem 2rem 2rem;
}

.main-blog .article-card .card__heading {
  font-size: 1.6rem;
  line-height: 1.35;
  margin-bottom: 0.6rem;
}

.main-blog .article-card .card__heading a {
  color: var(--ie-navy);
}

.main-blog .article-card__info {
  color: var(--ie-pink);
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.main-blog .article-card__excerpt {
  font-size: 1.3rem;
  line-height: 1.55;
  color: rgba(26, 26, 46, 0.65);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Pagination */
.main-blog .pagination-wrapper {
  margin-top: 4rem;
  display: flex;
  justify-content: center;
}

.main-blog .pagination__item {
  min-width: 3.6rem;
  height: 3.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--ie-navy);
  transition: background 0.2s ease, color 0.2s ease;
}

.main-blog .pagination__item:hover {
  background: var(--ie-blush);
  color: var(--ie-pink-dark);
}

.main-blog .pagination__item--current {
  background: var(--ie-pink);
  color: var(--ie-white);
}

.main-blog .pagination__item--current:hover {
  background: var(--ie-pink-dark);
  color: var(--ie-white);
}

.main-blog .pagination__item-arrow {
  color: var(--ie-pink);
}

/* Read More link */
.article-card__read-more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ie-pink);
  margin-top: 1.2rem;
  transition: color 0.2s ease, gap 0.2s ease;
}

.article-card__read-more:hover {
  color: var(--ie-pink-dark);
  gap: 0.8rem;
}

.article-card__read-more .svg-wrapper {
  display: inline-flex;
}

.article-card__read-more .icon-arrow {
  width: 1.2rem;
  height: 1.2rem;
}

/* ─── Contact Page ─── */
.contact-info__header {
  text-align: center;
  margin-bottom: 3.2rem;
}

.contact-info__title {
  font-family: var(--font-heading-family);
  font-size: clamp(2.8rem, 5vw, 4rem);
  color: var(--ie-navy);
  margin: 0 0 1rem;
  letter-spacing: -0.02em;
}

.contact-info__subtitle {
  font-size: 1.5rem;
  line-height: 1.6;
  color: rgba(26, 26, 46, 0.6);
  max-width: 50rem;
  margin: 0 auto;
}

.contact-info__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.6rem;
}

@media screen and (min-width: 750px) {
  .contact-info__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}

@media screen and (min-width: 990px) {
  .contact-info__cards {
    grid-template-columns: repeat(4, 1fr);
  }
}

.contact-info__card {
  text-align: center;
  padding: 2.4rem 1.6rem;
  background: var(--ie-cream);
  border-radius: 10px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-info__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 16px rgba(26, 26, 46, 0.08);
}

.contact-info__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: var(--ie-blush);
  color: var(--ie-pink);
  margin-bottom: 1.2rem;
}

.contact-info__icon svg {
  width: 2.2rem;
  height: 2.2rem;
}

.contact-info__card-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--ie-navy);
  margin: 0 0 0.6rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.contact-info__card-text {
  font-size: 1.3rem;
  line-height: 1.5;
  color: rgba(26, 26, 46, 0.65);
}

.contact-info__card-text a {
  color: var(--ie-pink);
  text-decoration: none;
}

.contact-info__card-text a:hover {
  color: var(--ie-pink-dark);
  text-decoration: underline;
}

/* Contact form styling */
.contact.page-width--narrow {
  max-width: 68rem;
}

.contact .contact__fields {
  gap: 1.6rem;
}

.contact .field__input {
  border-radius: 6px;
  border: 1px solid rgba(26, 26, 46, 0.15);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact .field__input:focus {
  border-color: var(--ie-pink);
  box-shadow: 0 0 0 2px rgba(232, 120, 154, 0.15);
}

.contact .text-area.field__input {
  min-height: 14rem;
}

.contact__button .button {
  background: var(--ie-pink);
  color: var(--ie-white);
  border: none;
  border-radius: 6px;
  padding: 1.2rem 3.6rem;
  font-weight: 700;
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: background 0.2s ease, transform 0.1s ease;
}

.contact__button .button:hover {
  background: var(--ie-pink-dark);
}

.contact__button .button:active {
  transform: scale(0.98);
}

/* ═══════════════════════════════════════════════════
   FOOTER REDESIGN
   ═══════════════════════════════════════════════════ */

/* ─── Reassurance Bar ─── */
.footer-reassurance {
  background: var(--ie-blush);
  padding: 2.4rem 0;
  border-bottom: 1px solid rgba(232, 120, 154, 0.15);
}

.footer-reassurance__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  text-align: center;
}

@media screen and (min-width: 750px) {
  .footer-reassurance__inner {
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
  }
}

.footer-reassurance__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
}

.footer-reassurance__item svg {
  color: var(--ie-pink);
  flex-shrink: 0;
}

.footer-reassurance__text {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.footer-reassurance__title {
  font-family: var(--font-heading-family);
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--ie-navy);
  letter-spacing: 0.02em;
}

.footer-reassurance__desc {
  font-size: 1.2rem;
  color: rgba(26, 26, 46, 0.6);
  margin-top: 0.1rem;
}

/* ─── Footer Overflow Fix ─── */
.footer {
  position: relative;
  overflow: hidden;
}

/* ─── Footer Top Divider (replace default) ─── */
.footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--ie-pink), var(--ie-rose-gold), var(--ie-pink));
}

/* ─── Footer Block Headings ─── */
.footer .footer-block__heading {
  font-family: var(--font-heading-family);
  text-transform: uppercase;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--ie-pink);
  margin-bottom: 1.6rem;
  padding-bottom: 0.8rem;
  position: relative;
}

.footer .footer-block__heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2.4rem;
  height: 2px;
  background: var(--ie-pink);
  opacity: 0.5;
}

/* ─── Footer Links ─── */
.footer .list-menu__item--link {
  font-size: 1.3rem;
  padding: 0.4rem 0;
  transition: color var(--ie-transition-fast), padding-left var(--ie-transition-fast);
}

.footer .list-menu__item--link:hover {
  color: var(--ie-pink) !important;
  padding-left: 0.4rem;
}

/* ─── Footer Contact Text ─── */
.footer .footer-block__details-content.rte {
  font-size: 1.3rem;
  line-height: 1.8;
  opacity: 0.85;
  overflow-wrap: break-word;
  word-break: break-word;
}

.footer .footer-block__details-content.rte a {
  color: inherit;
  text-decoration: none;
  transition: color var(--ie-transition-fast);
}

.footer .footer-block__details-content.rte a:hover {
  color: var(--ie-pink);
}

/* ─── Newsletter Section ─── */
.footer .footer-block__newsletter {
  max-width: 48rem;
  margin: 0 auto;
  text-align: center;
}

.footer .footer-block__newsletter .footer-block__heading {
  font-size: 2rem;
  text-transform: none;
  letter-spacing: 0;
  color: inherit;
  padding-bottom: 0;
}

.footer .footer-block__newsletter .footer-block__heading::after {
  display: none;
}

.footer-newsletter__description {
  font-size: 1.3rem;
  opacity: 0.7;
  margin: 0.4rem 0 2rem;
  line-height: 1.6;
}

.footer .newsletter-form .field__input {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
  color: inherit;
  font-size: 1.4rem;
}

.footer .newsletter-form .field__input:focus {
  border-color: var(--ie-pink);
  box-shadow: 0 0 0 2px rgba(232, 120, 154, 0.25);
}

.footer .newsletter-form .field__button {
  color: var(--ie-pink);
}

.footer .newsletter-form .field__button:hover {
  color: var(--ie-pink-light);
}

/* ─── Social Icons ─── */
.footer .list-social__link {
  transition: transform var(--ie-transition-fast), color var(--ie-transition-fast);
}

.footer .list-social__link:hover {
  transform: translateY(-2px);
  color: var(--ie-pink) !important;
}

/* ─── Payment Icons ─── */
.footer .list-payment {
  gap: 0.6rem;
  justify-content: flex-end;
}

/* ─── Copyright & Policies ─── */
.footer .footer__copyright {
  opacity: 0.5;
  font-size: 1.1rem;
}

.footer .footer__copyright a {
  transition: color var(--ie-transition-fast);
}

.footer .footer__copyright a:hover {
  color: var(--ie-pink) !important;
}

.footer .policies {
  margin-top: 0.8rem;
}

/* ─── Footer Bottom Bar Spacing ─── */
.footer .footer__content-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* ─── Mobile Footer Adjustments ─── */
@media screen and (max-width: 749px) {
  .footer-reassurance__item {
    justify-content: flex-start;
    padding: 0 2rem;
  }

  .footer .footer-block__heading::after {
    left: 50%;
    transform: translateX(-50%);
  }

  .footer .footer__content-top {
    text-align: center;
  }

  .footer .footer-block__details-content {
    text-align: center;
  }

  .footer .list-menu__item--link {
    justify-content: center;
  }

  .footer .list-payment {
    justify-content: center;
  }

  .footer .footer__copyright {
    text-align: center;
  }
}
