/** Shopify CDN: Minification failed

Line 97:0 All "@import" rules must come first

**/
/* =====================================================================
   MAISON SOHAN — Editorial layer over Dawn
   Direction: beige luxe editorial | dynamism: sober
   ===================================================================== */

/* =====================================================================
   >>> COULEURS DU SITE — MODIFIEZ ICI <<<
   Chaque combinaison = 1 zone du site. Les couleurs sont en R,G,B
   (rouge,vert,bleu de 0 a 255). Le code hex correspondant est en commentaire.
   Convertir un hex en RGB : https://www.rapidtables.com/convert/color/hex-to-rgb.html
   ===================================================================== */
.color-scheme-1 {   /* FOND PRINCIPAL DU SITE */
  --color-background: 247,241,230;          /* #F7F1E6 creme */
  --color-foreground: 42,36,32;             /* #2A2420 texte */
  --color-shadow: 42,36,32;
  --color-button: 26,23,18;                 /* #1A1712 boutons */
  --color-button-text: 247,241,230;         /* #F7F1E6 texte des boutons */
  --color-secondary-button: 247,241,230;
  --color-secondary-button-text: 26,23,18;
  --color-link: 26,23,18;
  --color-badge-foreground: 42,36,32;
  --color-badge-background: 247,241,230;
  --color-badge-border: 42,36,32;
}
.color-scheme-2 {   /* CARTES / BANDEAUX BEIGE */
  --color-background: 239,230,216;          /* #EFE6D8 */
  --color-foreground: 42,36,32;             /* #2A2420 */
  --color-shadow: 42,36,32;
  --color-button: 26,23,18;                 /* #1A1712 */
  --color-button-text: 239,230,216;
  --color-secondary-button: 239,230,216;
  --color-secondary-button-text: 26,23,18;
  --color-link: 26,23,18;
  --color-badge-foreground: 42,36,32;
  --color-badge-background: 239,230,216;
  --color-badge-border: 42,36,32;
}
.color-scheme-3 {   /* SECTIONS SOMBRES + FOOTER */
  --color-background: 26,23,18;             /* #1A1712 */
  --color-foreground: 247,241,230;          /* #F7F1E6 */
  --color-shadow: 0,0,0;
  --color-button: 201,164,103;              /* #C9A467 or */
  --color-button-text: 26,23,18;
  --color-secondary-button: 26,23,18;
  --color-secondary-button-text: 247,241,230;
  --color-link: 247,241,230;
  --color-badge-foreground: 247,241,230;
  --color-badge-background: 26,23,18;
  --color-badge-border: 247,241,230;
}
.color-scheme-4 {   /* BADGES / CTA FORT (noir) */
  --color-background: 18,18,18;             /* #121212 */
  --color-foreground: 255,255,255;          /* #FFFFFF */
  --color-shadow: 0,0,0;
  --color-button: 255,255,255;
  --color-button-text: 18,18,18;
  --color-secondary-button: 18,18,18;
  --color-secondary-button-text: 255,255,255;
  --color-link: 255,255,255;
  --color-badge-foreground: 255,255,255;
  --color-badge-background: 18,18,18;
  --color-badge-border: 255,255,255;
}
.color-scheme-5 {   /* ACCENTS OR / PDRN */
  --color-background: 201,164,103;          /* #C9A467 or */
  --color-foreground: 26,23,18;             /* #1A1712 */
  --color-shadow: 26,23,18;
  --color-button: 26,23,18;
  --color-button-text: 201,164,103;
  --color-secondary-button: 201,164,103;
  --color-secondary-button-text: 26,23,18;
  --color-link: 26,23,18;
  --color-badge-foreground: 26,23,18;
  --color-badge-background: 201,164,103;
  --color-badge-border: 26,23,18;
}
.color-scheme-6 {   /* CARTES PRODUIT BLANCHES */
  --color-background: 255,255,255;          /* #FFFFFF */
  --color-foreground: 42,36,32;             /* #2A2420 */
  --color-shadow: 42,36,32;
  --color-button: 26,23,18;
  --color-button-text: 255,255,255;
  --color-secondary-button: 255,255,255;
  --color-secondary-button-text: 26,23,18;
  --color-link: 26,23,18;
  --color-badge-foreground: 42,36,32;
  --color-badge-background: 255,255,255;
  --color-badge-border: 42,36,32;
}
/* ===================== FIN DU BLOC COULEURS ===================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Jost:wght@300;400;500;600&display=swap');

:root {
  --ms-serif: 'Cormorant Garamond', 'Times New Roman', serif;
  --ms-sans: 'Jost', -apple-system, 'Segoe UI', sans-serif;
  --ms-gold: 201, 164, 103;
  --ms-ink: 42, 36, 32;
  --ms-cream: 247, 241, 230;

  --font-heading-family: var(--ms-serif);
  --font-heading-weight: 500;
  --font-heading-style: normal;
  --font-body-family: var(--ms-sans);
  --font-body-weight: 300;
  --font-body-style: normal;
}

body {
  font-family: var(--ms-sans);
  font-weight: 300;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5,
.h0, .h1, .h2, .h3, .h4, .h5,
.card__heading, .card__heading a {
  font-family: var(--ms-serif);
  font-weight: 500;
  letter-spacing: 0.005em;
  line-height: 1.1;
}

.banner__heading.h1, .banner__heading.hxl, .banner__heading.hxxl {
  font-weight: 500;
  letter-spacing: 0.01em;
}

.caption-with-letter-spacing,
.rich-text__caption,
.image-with-text__text--caption {
  font-family: var(--ms-sans);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  font-size: 1.15rem;
  color: rgba(var(--ms-gold), 1);
}

.center .title::after {
  content: "";
  display: block;
  width: 54px;
  height: 1px;
  margin: 1.4rem auto 0;
  background: rgba(var(--ms-gold), 0.9);
}

.announcement-bar__message {
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 1.1rem;
  font-weight: 400;
}

.header__heading-logo { transition: opacity 0.3s ease; }
.header__menu-item {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 1.15rem;
  font-weight: 400;
}
.header__menu-item span { position: relative; }
.header__menu-item span::after {
  content: "";
  position: absolute;
  left: 0; bottom: -4px;
  width: 100%; height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}
.header__menu-item:hover span::after { transform: scaleX(1); }

.button,
.shopify-payment-button__button--unbranded {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 1.2rem;
  font-weight: 500;
  border-radius: 0;
  transition: background 0.35s ease, color 0.35s ease, letter-spacing 0.35s ease, opacity 0.3s ease;
}
.button:not([disabled]):hover { letter-spacing: 0.2em; }
.button--secondary { --alpha-button-background: 0; }

.card-wrapper { --ms-card-ease: 0.5s cubic-bezier(0.2, 0.7, 0.2, 1); }
.card__media .media img {
  transition: transform 0.7s cubic-bezier(0.2,0.7,0.2,1), opacity 0.5s ease;
}
.card-wrapper:hover .card__media .media img.motion-reduce { transform: scale(1.05); }
.card__media .media img + img { transition: opacity 0.5s ease; }

.card__inner {
  border-radius: 0;
  transition: box-shadow 0.45s ease, transform 0.45s ease;
}
.card-wrapper:hover .card__inner {
  box-shadow: 0 18px 40px -24px rgba(var(--ms-ink), 0.45);
  transform: translateY(-4px);
}

.card__heading { font-size: 1.55rem; letter-spacing: 0.02em; line-height: 1.25; }
.card-information .caption-with-letter-spacing { font-size: 1rem; letter-spacing: 0.2em; opacity: 0.7; }
.price { font-family: var(--ms-sans); font-weight: 400; letter-spacing: 0.04em; }

.badge {
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.95rem;
  font-weight: 500;
  padding: 0.5rem 1rem;
  border: none;
}

.quick-add__submit { text-transform: uppercase; letter-spacing: 0.14em; }

.multicolumn-card__info { padding: 1.6rem 1rem; }
.multicolumn-card__info h3,
.multicolumn-list__item .multicolumn-card__info .h4 {
  font-size: 1.7rem;
  text-transform: none;
  letter-spacing: 0.02em;
  margin-bottom: 0.6rem;
}
.multicolumn-card { transition: transform 0.4s ease, box-shadow 0.4s ease; }
.background-primary .multicolumn-card { background: transparent; }
.multicolumn-card:hover { transform: translateY(-4px); }
.multicolumn-card__image-wrapper .media { border-radius: 0; }

.product__title h1, .product__title h2 {
  font-size: clamp(3rem, 4vw, 4.4rem);
  line-height: 1.05;
}
.product__text.caption-with-letter-spacing { color: rgba(var(--ms-gold), 1); }
.product .icon-with-text { margin-block: 2rem; }
.product .icon-with-text .icon-with-text__item .h4 {
  font-family: var(--ms-sans);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 1.05rem;
  font-weight: 500;
}
.product__accordion .accordion__title,
.accordion summary .h4 {
  font-family: var(--ms-serif);
  font-size: 1.9rem;
  font-weight: 500;
}
.product__accordion details, .accordion details {
  border-top: 1px solid rgba(var(--ms-ink), 0.12);
}
.product__accordion .accordion__content, .accordion__content {
  font-size: 1.4rem; line-height: 1.7;
}
.product__description, .product__description.rte {
  max-width: 62ch; line-height: 1.75;
}
.product-form__input .form__label {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 1.05rem;
  font-weight: 500;
}
fieldset .product-form__input input[type='radio'] + label {
  border-radius: 0; letter-spacing: 0.06em;
}

.collapsible-content .accordion__title {
  font-family: var(--ms-serif);
  font-size: 1.9rem;
}

.newsletter-form__field-wrapper input,
.footer-block__newsletter input { border-radius: 0; }
.footer-block__heading {
  font-family: var(--ms-sans);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 1.15rem;
}
.footer .rte, .footer__content-bottom { letter-spacing: 0.02em; }

.routine-steps__title {
  font-family: var(--ms-serif) !important;
  text-transform: none !important;
  font-size: 1.9rem !important;
  letter-spacing: 0.01em !important;
}
.routine-steps__label { text-transform: uppercase; letter-spacing: 0.2em; font-size: 1.05rem; }
.routine-steps__eyebrow { color: rgba(var(--ms-gold), 1); font-weight: 500; }

.rte a, .link { text-underline-offset: 3px; }
.placeholder-svg { background: rgba(var(--ms-ink), 0.04); color: rgba(var(--ms-ink), 0.18); }

@media (prefers-reduced-motion: reduce) {
  .card-wrapper:hover .card__inner,
  .multicolumn-card:hover,
  .card-wrapper:hover .card__media .media img.motion-reduce { transform: none; }
}

/* =====================================================================
   MOBILE-FIRST / RESPONSIVE POLISH
   ===================================================================== */

/* Bigger tap targets everywhere on mobile */
@media (max-width: 749px) {
  .button, .shopify-payment-button__button--unbranded, .quick-add__submit {
    min-height: 50px;
    font-size: 1.25rem;
  }
  .header__icon { min-width: 44px; min-height: 44px; }
}

/* ---------- Mobile menu drawer — refined & premium ---------- */
.menu-drawer {
  background: rgb(var(--color-background));
}
.menu-drawer__inner-container { padding-top: 1rem; }
.menu-drawer__menu-item {
  font-family: var(--ms-serif);
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding: 1.5rem 3rem;
  transition: background 0.25s ease, padding-left 0.25s ease;
}
.menu-drawer__menu-item:hover,
.menu-drawer__menu-item:focus {
  background: rgba(var(--ms-gold), 0.10);
  padding-left: 3.6rem;
}
.menu-drawer__menu-item--active,
.menu-drawer__menu-item[aria-expanded="true"] {
  background: rgba(var(--ms-gold), 0.08);
}
.menu-drawer .menu-drawer__menu-item .svg-wrapper { color: rgba(var(--ms-gold), 1); }

/* Staggered entrance of menu links when drawer opens */
.menu-drawer__navigation .menu-drawer__menu-item {
  opacity: 0;
  transform: translateX(-14px);
}
details[open] > .menu-drawer .menu-drawer__navigation > ul > li,
.menu-drawer[open] .menu-drawer__navigation > ul > li {
  animation: ms-menu-in 0.5s cubic-bezier(0.16,1,0.3,1) forwards;
}
.header__icon--menu[aria-expanded="true"] ~ * .menu-drawer__menu-item { opacity: 1; transform: none; }
/* fallback: ensure visible if JS/animation misses */
.menu-drawer__navigation .menu-drawer__menu-item { opacity: 1; transform: none; }

@keyframes ms-menu-in {
  from { opacity: 0; transform: translateX(-14px); }
  to   { opacity: 1; transform: none; }
}

/* Announcement bar readable on small screens */
@media (max-width: 749px) {
  .announcement-bar__message { font-size: 0.95rem; letter-spacing: 0.14em; padding: 0.9rem 1rem; }
}

/* Header logo sizing on mobile */
@media (max-width: 749px) {
  .header__heading-logo { max-width: 150px; }
}

/* ---------- Section rhythm on mobile ---------- */
@media (max-width: 749px) {
  .product__title h1, .product__title h2 { font-size: clamp(2.4rem, 8vw, 3.2rem); }
  .banner__heading { font-size: clamp(3rem, 13vw, 5rem) !important; }
  .multicolumn-card__info h3,
  .multicolumn-list__item .multicolumn-card__info .h4 { font-size: 1.6rem; }
  .ms-marquee__item { font-size: 1.7rem; gap: 2.2rem; }
  .ms-marquee__track { gap: 2.2rem; }
}

/* Prevent horizontal overflow site-wide */
html, body { overflow-x: hidden; }

/* Cart drawer polish */
.cart-drawer { background: rgb(var(--color-background)); }

/* Sticky header safe spacing so sticky ATC never hides footer content */
@media (max-width: 749px) {
  .shopify-section-group-footer-group { padding-bottom: 70px; }
}
