/** Shopify CDN: Minification failed

Line 1293:19 Unexpected "*"

**/
/* ==========================================================================
   CUSTOM LUXURY THEME — Elisabetta Franchi Style
   Black & White, Minimal, Fashion-Forward
   ========================================================================== */

/* --------------------------------------------------------------------------
   Google Fonts Import
   -------------------------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&display=swap");

/* --------------------------------------------------------------------------
   CSS Custom Properties
   -------------------------------------------------------------------------- */
:root {
  --font-heading-luxury: "Cormorant Garamond", "Times New Roman", serif;
  --font-body-luxury:
    "Assistant", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif;
  --color-black: #000000;
  --color-white: #ffffff;
  --color-off-white: #f5f5f5;
  --color-gray-light: #e5e5e5;
  --color-gray: #999999;
  --color-dark: #1a1a1a;
  --transition-smooth: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --transition-fast: all 0.25s ease;
  --letter-spacing-wide: 0.15em;
  --letter-spacing-wider: 0.25em;
  --letter-spacing-widest: 0.35em;
}

/* --------------------------------------------------------------------------
   Global Reset & Base
   -------------------------------------------------------------------------- */
body {
  font-family: var(--font-body-luxury) !important;
  color: var(--color-black);
  background-color: var(--color-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5 {
  font-family: var(--font-heading-luxury) !important;
  font-weight: 400;
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
  line-height: 1.2;
}

.h0 {
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 300;
  letter-spacing: var(--letter-spacing-wider);
}

.h1 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 300;
}

.h2 {
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 400;
}

/* Paragraphs & Body Text */
p,
.rte,
.rte p {
  font-family: var(--font-body-luxury) !important;
  letter-spacing: 0.03em;
  line-height: 1.7;
}

/* Links */
a {
  transition: var(--transition-fast);
}

/* --------------------------------------------------------------------------
   HEADER — Compact, Minimal, Elisabetta Franchi Style
   -------------------------------------------------------------------------- */
.section-header {
  border-bottom: 1px solid var(--color-gray-light) !important;
  background: var(--color-white) !important;
  transition: top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  will-change: top;
}

/* Header hidden state (applied by JS on scroll down) */
.section-header.header--hidden-scroll {
  transform: translateY(-100%) !important;
  opacity: 0;
  pointer-events: none;
}

.header-wrapper {
  background: var(--color-white) !important;
  border-bottom: none !important;
}

/* Compact header — smaller padding */
.header {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

@media screen and (min-width: 990px) {
  .header {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* Ensure header icons (search, account, cart) align in a row horizontally via flexbox on all screens */
.header__icons {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

/* Force search, account, and cart visibility globally (fixes Dawn theme top-center hiding rules) */
.header__icons .header__search,
.header__icons details-modal,
.header__icons .header__icon--account,
.header__icons .header__icon--cart,
.header__icon--cart {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Header menu items — 1.25rem */
.header__inline-menu .header__menu-item,
.header__inline-menu .list-menu__item {
  font-size: 1.25rem !important;
}

/* Dropdown / Mega menu items — ultra-specific overrides */
.mega-menu__content .mega-menu__list a.mega-menu__link,
.mega-menu__content a.mega-menu__link.mega-menu__link--level-2,
.mega-menu__content .mega-menu__link.link,
.header__submenu.list-menu .list-menu__item a,
.header__submenu .list-menu__item--link,
.menu-drawer__menu .list-menu__item,
.menu-drawer__menu .menu-drawer__menu-item {
  font-size: 1.25rem !important;
  letter-spacing: 0.08em !important;
}

/* --------------------------------------------------------------------------
   MOBILE HEADER — Logo centered, hamburger+search left, account+cart right
   -------------------------------------------------------------------------- */
@media screen and (max-width: 989px) {
  /* Hide the desktop inline navigation menu completely */
  .header__inline-menu {
    display: none !important;
  }

  /* Force a clean 3-column grid: left | center | right */
  .header {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    grid-template-areas: "left-icons heading icons" !important;
    align-items: center;
    column-gap: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Left side: hamburger + search */
  .header__left-icons-mobile {
    grid-area: left-icons;
    justify-self: start;
    gap: 4px;
  }

  header-drawer {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  /* Center: logo — perfectly centered */
  .header__heading,
  .header > .header__heading-link {
    grid-area: heading;
    justify-self: center !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* Right side: icons container — account + cart + search */
  .header__icons {
    grid-area: icons;
    justify-self: end !important;
    display: flex !important;
    align-items: center;
    gap: 8px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  /* Hide localization on mobile */
  .header__icons .desktop-localization-wrapper {
    display: none !important;
  }

  /* Make sure search, account, and cart are visible */
  .header__icons .header__search,
  .header__icons details-modal,
  .header .header__icon--account,
  .header__icons .header__icon--account,
  .header__icon--cart {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Compact icon sizes on mobile */
  .header__icon .svg-wrapper {
    width: 20px;
    height: 20px;
  }

  .header__icon--menu .svg-wrapper {
    width: 22px;
    height: 22px;
  }

  /* Logo size on mobile */
  .header__heading-logo-wrapper {
    max-width: 100px !important;
  }

  .header__heading-link .h2,
  .header__heading-link span {
    font-size: 1.3rem !important;
  }
}

/* Center the header heading (logo) */
.header__heading {
  margin: 0 auto;
  text-align: center;
}

.header__heading-link {
  display: inline-block;
  padding: 0.4rem 0.75rem !important;
}

.header__heading-link .h2,
.header__heading-link span {
  font-family: var(--font-heading-luxury) !important;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 400;
  letter-spacing: var(--letter-spacing-widest);
  text-transform: uppercase;
  color: var(--color-black) !important;
}

/* Logo image styling — smaller */
.header__heading-logo-wrapper {
  display: flex;
  justify-content: center;
}

.header__heading-logo {
  max-height: 40px;
  width: auto !important;
}

/* Navigation Menu — below logo */
.header__inline-menu {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 0.2rem;
}

.header__inline-menu .list-menu {
  display: flex;
  justify-content: center;
  gap: 2rem;
}

/* Top-level menu items */
.header__inline-menu .header__menu-item,
.header__inline-menu .list-menu__item--link,
.list-menu__item--link {
  font-family: var(--font-body-luxury) !important;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: var(--letter-spacing-wider);
  text-transform: uppercase;
  color: var(--color-black) !important;
  text-decoration: none !important;
  padding: 0.6rem 0;
  position: relative;
  transition: color 0.3s ease;
}

/* ---- Smooth Sliding Underline (center-out) ---- */
.header__inline-menu .header__menu-item::after,
.header__inline-menu .list-menu__item--link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 1px;
  background: var(--color-black);
  transform: translateX(-50%);
  transition: width 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.header__inline-menu .header__menu-item:hover::after,
.header__inline-menu .list-menu__item--link:hover::after,
.header__inline-menu details[open] > .header__menu-item::after {
  width: 100%;
}

/* Remove native text-decoration underline on hover */
.header__menu-item:hover span,
.header__menu-item span,
details[open] > .header__menu-item {
  text-decoration: none !important;
}

/* --- Hide caret icon on top-level menu items --- */
.header__inline-menu .header__menu-item .icon-caret,
.header__inline-menu .header__menu-item svg {
  display: none !important;
}

/* ---- Mega Menu opens on hover (CSS) ---- */
@media screen and (min-width: 990px) {
  /* Make details open on hover */
  .header__inline-menu header-menu > details.mega-menu {
    position: static;
  }

  /* Mega menu and dropdown: hover open handled by JS */

  /* Mega menu content transitions */
  .mega-menu__content {
    transition:
      opacity 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94),
      transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94),
      visibility 0.35s;
    opacity: 0;
    transform: translateY(-8px);
    visibility: hidden;
    pointer-events: none;
  }

  .mega-menu[open] > .mega-menu__content {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
  }

  /* Standard dropdown transitions */
  .header__submenu.list-menu--disclosure {
    transition:
      opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
      transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
      visibility 0.3s;
    opacity: 0;
    transform: translateY(-8px);
    visibility: hidden;
    pointer-events: none;
  }

  details[open] > .header__submenu.list-menu--disclosure {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
  }
}

/* Header icons */
.header__icon {
  color: var(--color-black) !important;
  transition: var(--transition-fast);
}

.header__icon:hover {
  opacity: 0.6;
}

.header__icon .svg-wrapper {
  width: 38px;
  height: 38px;
}

.header__icon,
.header__icon--cart .icon {
  height: 3.8rem;
  width: 3.8rem;
}

/* Cart count bubble */
.cart-count-bubble {
  background: var(--color-black) !important;
  color: var(--color-white) !important;
  font-size: 0.6rem;
  font-weight: 600;
}

/* Account icon — luxury style */
.header__icon--account {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.header__icon--account .svg-wrapper {
  width: 22px;
  height: 22px;
}

.header__icon--account .icon {
  width: 22px;
  height: 22px;
  stroke-width: 1.5;
}

/* --------------------------------------------------------------------------
   ANNOUNCEMENT BAR
   -------------------------------------------------------------------------- */
.announcement-bar {
  background: var(--color-black) !important;
  color: var(--color-white) !important;
  font-size: 0.7rem;
  letter-spacing: var(--letter-spacing-wider);
  text-transform: uppercase;
  font-weight: 500;
}

.announcement-bar a,
.announcement-bar__link {
  color: var(--color-white) !important;
}

/* --------------------------------------------------------------------------
   HERO / IMAGE BANNER
   -------------------------------------------------------------------------- */
.banner {
  position: relative;
  overflow: hidden;
}

.banner__media {
  min-height: 90vh !important;
}

@media screen and (max-width: 749px) {
  .banner__media {
    min-height: 70vh !important;
  }
}

.banner__content {
  text-align: center;
}

.banner__heading {
  font-family: var(--font-heading-luxury) !important;
  font-size: clamp(2.5rem, 6vw, 5rem) !important;
  font-weight: 300 !important;
  letter-spacing: var(--letter-spacing-widest);
  text-transform: uppercase;
  color: var(--color-white);
  text-shadow: none;
}

.banner__text {
  font-family: var(--font-body-luxury) !important;
  font-size: 1rem;
  letter-spacing: var(--letter-spacing-wide);
  color: var(--color-white);
}

/* --------------------------------------------------------------------------
   BUTTONS — Sharp, Elegant, Uppercase
   -------------------------------------------------------------------------- */
.button,
.shopify-challenge__button,
button.button {
  font-family: var(--font-body-luxury) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: var(--letter-spacing-wider) !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 1.2rem 3rem !important;
  transition: var(--transition-smooth) !important;
}

.button--primary {
  background: var(--color-black) !important;
  color: var(--color-white) !important;
  border: 1px solid var(--color-black) !important;
}

.button--primary:hover {
  background: var(--color-white) !important;
  color: var(--color-black) !important;
  border-color: var(--color-black) !important;
}

.button--secondary {
  background: transparent !important;
  color: var(--color-white) !important;
  border: 1px solid var(--color-white) !important;
}

.button--secondary:hover {
  background: var(--color-white) !important;
  color: var(--color-black) !important;
}

/* --------------------------------------------------------------------------
   PRODUCT CARDS — Minimal, Elegant Hover
   -------------------------------------------------------------------------- */
.card-wrapper {
  position: relative;
  overflow: hidden;
}

.card {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.card__inner {
  border: none !important;
  border-radius: 0 !important;
}

.card__media {
  overflow: hidden;
  border-radius: 0 !important;
}

.card__media img {
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.card-wrapper:hover .card__media img {
  transform: scale(1.05);
}

/* Product card info */
.card__heading {
  font-family: var(--font-body-luxury) !important;
  font-size: 0.8rem !important;
  font-weight: 500;
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
  text-align: center;
  margin-top: 1rem;
}

.card__heading a {
  color: var(--color-black);
  text-decoration: none !important;
}

.card__heading a:hover {
  opacity: 0.7;
}

/* Price styling for product cards */
.card-wrapper .price-item--regular,
.card-wrapper .price-item--sale,
.card-wrapper .price {
  font-family: var(--font-body-luxury) !important;
  font-size: 0.8rem !important;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
}

.card-wrapper .price__container {
  justify-content: center;
}

/* Main product page price styling */
.product__info-container .price-item--regular,
.product__info-container .price-item--sale,
.product__info-container .price {
  font-family: var(--font-body-luxury) !important;
  font-size: 1.5rem !important;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: left;
}

.product__info-container .price__container {
  justify-content: flex-start;
}

/* Badge */
.badge {
  font-family: var(--font-body-luxury) !important;
  font-size: 0.65rem !important;
  font-weight: 600;
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
  border-radius: 0 !important;
  padding: 0.4rem 1rem;
}

/* --------------------------------------------------------------------------
   COLLECTION GRID
   -------------------------------------------------------------------------- */
.collection-product-card {
  border: none !important;
}

.collection-hero__title {
  font-family: var(--font-heading-luxury) !important;
  font-weight: 300;
  letter-spacing: var(--letter-spacing-wider);
  text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   RICH TEXT SECTION
   -------------------------------------------------------------------------- */
.rich-text__wrapper {
  max-width: 800px;
  margin: 0 auto;
}

.rich-text__heading {
  font-family: var(--font-heading-luxury) !important;
  font-weight: 300 !important;
  letter-spacing: var(--letter-spacing-wider);
}

.rich-text__text {
  font-family: var(--font-body-luxury) !important;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: var(--color-gray);
}

/* --------------------------------------------------------------------------
   IMAGE WITH TEXT SECTION
   -------------------------------------------------------------------------- */
.image-with-text__heading {
  font-family: var(--font-heading-luxury) !important;
  font-weight: 300 !important;
  letter-spacing: var(--letter-spacing-wider);
  text-transform: uppercase;
}

.image-with-text__text {
  font-family: var(--font-body-luxury) !important;
  letter-spacing: 0.03em;
  line-height: 1.8;
}

/* --------------------------------------------------------------------------
   FEATURED COLLECTION
   -------------------------------------------------------------------------- */
.collection__title {
  font-family: var(--font-heading-luxury) !important;
  font-weight: 300;
  letter-spacing: var(--letter-spacing-wider);
  text-transform: uppercase;
  text-align: center;
}

/* Section titles */
.title-wrapper {
  text-align: center;
  margin-bottom: 2rem;
}

.title-wrapper .title {
  font-family: var(--font-heading-luxury) !important;
  font-weight: 300 !important;
  letter-spacing: var(--letter-spacing-wider);
  text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   NEWSLETTER — Elegant, Compact, Minimal
   -------------------------------------------------------------------------- */
.newsletter {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.newsletter__wrapper {
  max-width: 540px !important;
  margin: 0 auto;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  background: transparent !important;
}

.newsletter__wrapper > * + * {
  margin-top: 1rem !important;
}

.newsletter__wrapper > * + .newsletter-form {
  margin-top: 1.5rem !important;
}

.newsletter__wrapper .h2,
.newsletter__wrapper .h1,
.newsletter__wrapper h2 {
  font-family: var(--font-heading-luxury) !important;
  font-weight: 300 !important;
  font-size: clamp(1.1rem, 2vw, 1.5rem) !important;
  letter-spacing: var(--letter-spacing-widest) !important;
  text-transform: uppercase;
  color: var(--color-black) !important;
}

.newsletter__wrapper .newsletter__subheading,
.newsletter__wrapper .newsletter__subheading p {
  font-family: var(--font-body-luxury) !important;
  font-size: 0.82rem !important;
  color: var(--color-gray) !important;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.newsletter__wrapper .newsletter-form__field-wrapper {
  max-width: 100% !important;
}

.newsletter__wrapper .field__input {
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.25) !important;
  font-family: var(--font-body-luxury) !important;
  font-size: 0.78rem !important;
  letter-spacing: var(--letter-spacing-wide);
  padding: 0.8rem 0 !important;
  background: transparent !important;
  transition: border-color 0.3s ease;
}

.newsletter__wrapper .field__input:focus {
  border-bottom-color: var(--color-black) !important;
  box-shadow: none !important;
}

.newsletter__wrapper .newsletter-form__button {
  border-radius: 0 !important;
  color: var(--color-black) !important;
  transition: opacity 0.3s ease;
}

.newsletter__wrapper .newsletter-form__button:hover {
  opacity: 0.5;
}

/* ==========================================================================
   FOOTER — Elisabetta Franchi Style (Complete Redesign)
   ========================================================================== */

/* ---- Base footer ---- */
.footer {
  background-color: #000 !important;
  color: #fff !important;
  border-top: none !important;
  margin-top: 0 !important;
}

.footer * {
  color: #fff !important;
}

/* ---- Top content area ---- */
.footer__content-top {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 0;
  padding-top: 60px;
  padding-bottom: 30px;
}

/* ---- Columns grid — responsive 4-col ---- */
.footer__blocks-wrapper {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 50px !important;
}

/* Each column block */
.footer-block {
  padding: 0 !important;
  margin: 0 !important;
}

/* ---- Column headings ---- */
.footer-block__heading,
.footer-block__heading.inline-richtext {
  font-family: var(--font-body-luxury) !important;
  font-size: clamp(0.68rem, 0.9vw, 0.78rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  margin-bottom: 20px !important;
  padding-bottom: 0 !important;
  border: none !important;
  line-height: 1.4 !important;
}

/* ---- Footer links ---- */
.footer-block__details-content.list-unstyled {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-block__details-content.list-unstyled li {
  margin-bottom: 8px;
}

.footer-block__details-content .list-menu__item--link,
.footer-block__details-content a,
.footer .list-menu__item--link {
  font-family: var(--font-body-luxury) !important;
  font-size: clamp(0.72rem, 0.85vw, 0.82rem) !important;
  color: rgba(255, 255, 255, 0.6) !important;
  text-decoration: none !important;
  letter-spacing: 0.04em;
  transition: color 0.25s ease !important;
  text-transform: none !important;
  line-height: 1.6 !important;
}

.footer-block__details-content .list-menu__item--link:hover,
.footer-block__details-content a:hover,
.footer .list-menu__item--link:hover {
  color: #fff !important;
}

.footer .list-menu__item--link::after {
  display: none;
}

/* ---- Footer text blocks (brand, contacts) ---- */
.footer-block__details-content.rte,
.footer-block__details-content.rte p {
  font-family: var(--font-body-luxury) !important;
  font-size: clamp(0.72rem, 0.85vw, 0.82rem) !important;
  color: rgba(255, 255, 255, 0.6) !important;
  line-height: 1.7;
  letter-spacing: 0.03em;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* ---- Newsletter in footer ---- */
.footer-block--newsletter {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 35px !important;
  margin-top: 10px !important;
}

.footer-block__newsletter .footer-block__heading {
  font-family: var(--font-body-luxury) !important;
  font-size: clamp(0.72rem, 0.85vw, 0.82rem) !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.8) !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  max-width: 600px;
  line-height: 1.7 !important;
  margin-bottom: 16px !important;
}

.footer__newsletter .field {
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
  background: transparent !important;
  max-width: 420px;
  transition: border-color 0.3s ease;
}

.footer__newsletter .field:focus-within {
  border-bottom-color: #fff !important;
}

.footer__newsletter .field__input {
  background: transparent !important;
  color: #fff !important;
  font-family: var(--font-body-luxury) !important;
  font-size: clamp(0.72rem, 0.85vw, 0.82rem) !important;
  letter-spacing: 0.06em;
  border: none !important;
  padding: 10px 0 !important;
}

.footer__newsletter .field__input::placeholder {
  color: rgba(255, 255, 255, 0.4) !important;
}

.footer__newsletter .field__label {
  color: rgba(255, 255, 255, 0.4) !important;
  font-family: var(--font-body-luxury) !important;
}

.footer__newsletter .field__button,
.footer .newsletter-form__button {
  background: transparent !important;
  color: #fff !important;
  border: none !important;
  transition: opacity 0.3s ease;
}

.footer__newsletter .field__button:hover,
.footer .newsletter-form__button:hover {
  opacity: 0.5;
}

.footer__newsletter .field__button svg,
.footer .newsletter-form__button svg {
  color: #fff !important;
  width: 18px;
  height: 18px;
}

.footer .newsletter-form__field-wrapper .field__input {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}

/* ---- Social Icons — Elisabetta Franchi style ---- */
.footer__list-social {
  display: flex;
  gap: 20px;
  margin-top: 20px;
  padding: 0;
  list-style: none;
  flex-wrap: wrap;
}

.footer__list-social .list-social__item {
  margin: 0;
}

.footer__list-social .list-social__link {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.6) !important;
  text-decoration: none !important;
  transition: color 0.25s ease;
  font-family: var(--font-body-luxury) !important;
  font-size: clamp(0.68rem, 0.8vw, 0.78rem) !important;
  letter-spacing: 0.04em;
}

.footer__list-social .list-social__link:hover {
  color: #fff !important;
}

.footer__list-social .list-social__link svg,
.footer__list-social .icon {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor;
  flex-shrink: 0;
}

/* Make social icon labels visible */
.footer__list-social .list-social__link .visually-hidden {
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: nowrap !important;
  border: 0 !important;
  font-family: var(--font-body-luxury) !important;
  font-size: clamp(0.68rem, 0.8vw, 0.78rem) !important;
  letter-spacing: 0.04em;
}

/* Follow on Shop — hide or style */
.footer__follow-on-shop {
  margin-top: 16px;
}

/* ---- Bottom bar (copyright, payment, policies) ---- */
.footer__content-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 20px 0;
}

.footer__content-bottom-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.footer__copyright,
.footer__copyright *,
.footer__copyright a,
.copyright__content,
.copyright__content a {
  font-family: var(--font-body-luxury) !important;
  font-size: clamp(0.6rem, 0.7vw, 0.7rem) !important;
  color: rgba(255, 255, 255, 0.35) !important;
  letter-spacing: 0.03em;
}

.copyright__content a:hover {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Policies links row */
.policies {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.policies a {
  color: rgba(255, 255, 255, 0.35) !important;
  font-size: clamp(0.6rem, 0.7vw, 0.7rem) !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.policies a:hover {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Payment icons */
.footer__payment .list-payment {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
}

.footer__payment .icon--full-color {
  width: 36px;
  height: auto;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

.footer__payment .icon--full-color:hover {
  opacity: 0.8;
}

/* Localization selectors */
.footer__localization .caption-large {
  color: rgba(255, 255, 255, 0.4) !important;
  font-size: clamp(0.6rem, 0.7vw, 0.7rem) !important;
}

/* ---- Tablet ---- */
@media screen and (min-width: 750px) and (max-width: 989px) {
  .footer__blocks-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 30px 40px !important;
  }
}

/* Hide accordion carets on desktop header */
@media screen and (min-width: 750px) {
  .footer-block__heading .icon-wrap {
    display: none !important;
  }
}

/* ---- Mobile footer ---- */
@media screen and (max-width: 749px) {
  /* ---- Mobile footer accordion ---- */
  .footer__blocks-wrapper {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
  }

  .footer-block {
    padding: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
    margin: 0 !important;
  }

  /* Make headings act as accordion buttons */
  .footer-block__heading,
  .footer-block.grid__item .footer-block__heading,
  .footer-block__heading.inline-richtext {
    font-size: 0.8rem !important;
    margin-bottom: 0 !important;
    padding: 16px 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    cursor: pointer;
    width: 100% !important;
  }
  
  /* Ensure icon is visible and rotates */
  .footer-block__heading .icon-wrap,
  .footer-block__heading .icon-caret {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    transition: transform 0.3s ease;
    align-items: center;
    justify-content: center;
  }

  .footer-block__details[open] .footer-block__heading .icon-caret {
    transform: rotate(180deg);
  }

  /* Space out the link list content inside the accordion */
  .footer-block__details-content {
    margin-bottom: 20px !important;
  }
  
  .footer-block__heading .inline-richtext {
    margin: 0 !important;
    padding: 0 !important;
  }

  .footer-block__details-content .list-menu__item--link,
  .footer-block__details-content a,
  .footer .list-menu__item--link,
  .footer-block__details-content.rte,
  .footer-block__details-content.rte p {
    font-size: 0.72rem !important;
  }

  .footer__content-top {
    padding-top: 40px;
    padding-bottom: 20px;
  }

  .footer-block--newsletter {
    padding-top: 24px !important;
  }

  .footer__newsletter .field {
    max-width: 100%;
  }

  .footer__list-social {
    gap: 14px;
  }

  .footer__content-bottom-wrapper {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .footer__payment .list-payment {
    justify-content: center;
  }
}

/* --------------------------------------------------------------------------
   SLIDESHOW
   -------------------------------------------------------------------------- */
.slideshow {
  border-radius: 0 !important;
}

.slideshow__text {
  text-align: center;
}

.slideshow__heading {
  font-family: var(--font-heading-luxury) !important;
  font-weight: 300 !important;
  letter-spacing: var(--letter-spacing-widest);
  text-transform: uppercase;
  font-size: clamp(2.5rem, 5vw, 5rem) !important;
}

/* --------------------------------------------------------------------------
   PREDICTIVE SEARCH
   -------------------------------------------------------------------------- */
.predictive-search {
  border-radius: 0 !important;
}

/* --------------------------------------------------------------------------
   MEGA MENU / DROPDOWN — Elisabetta Franchi Style
   -------------------------------------------------------------------------- */
.mega-menu__content,
.header__submenu {
  background: var(--color-white) !important;
  border: none !important;
  border-top: 1px solid var(--color-gray-light) !important;
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08) !important;
  border-radius: 0 !important;
}

.mega-menu__content {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

.mega-menu__link,
.header__submenu .header__menu-item {
  font-size: 0.7rem !important;
  letter-spacing: var(--letter-spacing-wide) !important;
  text-transform: uppercase !important;
  font-family: var(--font-body-luxury) !important;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.65) !important;
  transition: color 0.3s ease !important;
}

.mega-menu__link:hover,
.header__submenu .header__menu-item:hover {
  color: var(--color-black) !important;
}

.mega-menu__link--level-2 {
  font-weight: 600 !important;
  color: var(--color-black) !important;
  font-size: 0.72rem !important;
  margin-bottom: 0.3rem;
}

/* --------------------------------------------------------------------------
   MOBILE MENU DRAWER
   -------------------------------------------------------------------------- */
.menu-drawer {
  background: var(--color-white) !important;
}

.menu-drawer__menu-item {
  font-family: var(--font-body-luxury) !important;
  font-size: 0.85rem !important;
  letter-spacing: var(--letter-spacing-wider) !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

/* --------------------------------------------------------------------------
   PAGE SECTIONS — Extra Spacing
   -------------------------------------------------------------------------- */
.shopify-section {
  margin-bottom: 0;
}

.section-template--*-padding {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

/* --------------------------------------------------------------------------
   SCROLL ANIMATIONS
   -------------------------------------------------------------------------- */
@keyframes luxuryFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.scroll-trigger.animate--slide-in {
  animation: luxuryFadeIn 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* --------------------------------------------------------------------------
   MISC
   -------------------------------------------------------------------------- */

/* Remove all border-radius from theme */
* {
  --buttons-radius: 0px !important;
  --inputs-radius: 0px !important;
  --variant-pills-radius: 0px !important;
  --popup-corner-radius: 0px !important;
}

/* Selection color */
::selection {
  background: var(--color-black);
  color: var(--color-white);
}

/* Scrollbar styling (webkit) */
::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: var(--color-white);
}

::-webkit-scrollbar-thumb {
  background: var(--color-black);
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Product page */
.product__title {
  font-family: var(--font-heading-luxury) !important;
  font-weight: 400 !important;
  letter-spacing: var(--letter-spacing-wider);
  text-transform: uppercase;
}

.product__text {
  font-family: var(--font-body-luxury) !important;
  line-height: 1.8;
}

/* Collection page title */
.collection-hero__title {
  font-family: var(--font-heading-luxury) !important;
  font-size: clamp(2rem, 4vw, 3.5rem) !important;
  font-weight: 300 !important;
  letter-spacing: var(--letter-spacing-wider);
  text-transform: uppercase;
}

/* Quick add buttons */
.quick-add__submit {
  border-radius: 0 !important;
  font-family: var(--font-body-luxury) !important;
  letter-spacing: var(--letter-spacing-wide) !important;
  text-transform: uppercase !important;
  font-size: 0.7rem !important;
}

/* ==========================================================================
   POLICIES PAGES (Privacy, Terms, Shipping, ecc.)
   ========================================================================== */
.shopify-policy__container {
  max-width: 900px !important;
  margin: 4rem auto 8rem auto !important;
  padding: 0 2rem !important;
}

.shopify-policy__title {
  text-align: center !important;
  margin-bottom: 4rem !important;
}

.shopify-policy__title h1 {
  font-family: var(--font-heading-luxury) !important;
  font-size: clamp(2.5rem, 5vw, 4.5rem) !important;
  font-weight: 300 !important;
  letter-spacing: var(--letter-spacing-wider) !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

.shopify-policy__body {
  text-align: left !important;
  font-family: var(--font-body-luxury) !important;
  color: var(--color-dark) !important;
}

.shopify-policy__body h1,
.shopify-policy__body h2,
.shopify-policy__body h3,
.shopify-policy__body h4,
.shopify-policy__body h5,
.shopify-policy__body h6 {
  font-family: var(--font-heading-luxury) !important;
  font-size: clamp(1.5rem, 3vw, 2.5rem) !important;
  font-weight: 400 !important;
  letter-spacing: var(--letter-spacing-wider) !important;
  text-transform: uppercase !important;
  margin-top: 3.5rem !important;
  margin-bottom: 1.5rem !important;
  text-align: left !important;
}

.shopify-policy__body p,
.shopify-policy__body span,
.shopify-policy__body li {
  font-family: var(--font-body-luxury) !important;
  font-size: calc(var(--font-body-scale) * 1.5rem) !important;
  line-height: 1.8 !important;
  letter-spacing: 0.03em !important;
  margin-bottom: 1.5rem !important;
  text-align: justify !important; /* Elegant block text */
}

@media screen and (min-width: 750px) {
  .shopify-policy__body p,
  .shopify-policy__body span,
  .shopify-policy__body li {
    font-size: calc(var(--font-body-scale) * 1.6rem) !important;
  }
}

.shopify-policy__body ul,
.shopify-policy__body ol {
  font-family: var(--font-body-luxury) !important;
  margin-bottom: 1.5rem !important;
  padding-left: 2rem !important;
  text-align: left !important;
}

.shopify-policy__body a {
  color: var(--color-black) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
  transition: opacity 0.3s ease !important;
}

.shopify-policy__body a:hover {
  opacity: 0.6 !important;
}

