/* ==========================================================================
   Marionnaud replica — base tokens, fonts, resets, shared components
   ========================================================================== */

@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/montserrat-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/montserrat-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/montserrat-800-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/montserrat-800-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/montserrat-900-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/montserrat-900-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --mn-black:#151515;
  --mn-white:#fff;
  --mn-purple:#702082;
  --mn-lavender:#c3b1f2;
  --mn-border:#e8e8e8;
  --mn-grey:#484848;
  --mn-cream:#faf9f6;
  --mn-soft:#faf9ff;
  --mn-cart-bg:#f4f2ff;
  --mn-container:1200px;
  --mn-font:Montserrat,"Helvetica Neue",helvetica,arial,sans-serif;
  --mn-radius:8px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--mn-font);font-size:14px;line-height:21px;font-weight:400;color:var(--mn-black);background:var(--mn-white)}
img,svg{max-width:100%;vertical-align:middle}
img{border:0;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}
.mn-icon{width:20px;height:20px;flex:none}
.mn-icon.is-filled{fill:currentColor;stroke:none}
.mn-skip{position:absolute;left:-9999px;top:0;background:#fff;padding:10px 16px;z-index:999}
.mn-skip:focus{left:8px;top:8px}
.mn-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.mn-container{width:100%;max-width:var(--mn-container);margin:0 auto;padding:0}
@media (max-width:1279px){.mn-container{padding:0 16px}}

/* Buttons ------------------------------------------------------------------ */
.mn-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 24px;font-size:13px;line-height:14px;font-weight:700;letter-spacing:.52px;text-transform:uppercase;transition:background-color .2s,color .2s,border-color .2s}
.mn-btn--primary{background:var(--mn-black);color:#fff;border:1px solid var(--mn-black)}
.mn-btn--primary:hover{background:var(--mn-purple);border-color:var(--mn-purple)}
.mn-btn--ghost{background:transparent;color:var(--mn-black);border:1px solid var(--mn-black)}
.mn-btn--ghost:hover{background:var(--mn-black);color:#fff}
.mn-btn--outline-light{background:transparent;color:#fff;border:1px solid #fff}
.mn-btn--outline-light:hover{background:#fff;color:var(--mn-black)}

/* Headings ---------------------------------------------------------------- */
.mn-h1{font-size:28px;line-height:28px;font-weight:700;letter-spacing:2.8px;text-transform:uppercase}
.mn-h2{font-size:22px;line-height:34px;font-weight:900;letter-spacing:2.2px;text-transform:uppercase}
.mn-section-heading{font-size:28px;line-height:36px;font-weight:900;letter-spacing:2.8px;text-transform:uppercase;text-align:center;margin:0 0 40px}
@media (max-width:1023px){
  .mn-h1{font-size:22px;line-height:22px;font-weight:900;letter-spacing:2.2px}
  .mn-section-heading{font-size:20px;line-height:26px;letter-spacing:2px;margin-bottom:24px}
}

/* Breadcrumb -------------------------------------------------------------- */
.mn-breadcrumb{margin:0}
.mn-breadcrumb ol{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:14px;line-height:20px}
.mn-breadcrumb li{display:flex;align-items:center;gap:4px}
.mn-breadcrumb li + li::before{content:"/";margin:0 4px;color:var(--mn-black)}
.mn-breadcrumb a{text-decoration:underline;text-underline-offset:2px}
.mn-breadcrumb__home{display:inline-flex;align-items:center}
.mn-breadcrumb__home .mn-icon{width:20px;height:20px}

/* Price ------------------------------------------------------------------- */
.mn-price{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:14px;line-height:21px}
.mn-price__old{font-size:14px;color:var(--mn-black);text-decoration:line-through}
.mn-price__now{font-size:18px;line-height:22px;font-weight:500}

/* Countdown chip ----------------------------------------------------------- */
.mn-countdown{display:inline-flex;align-items:center;gap:8px;background:var(--mn-cream);padding:6px 10px;font-size:12px;line-height:16px;font-weight:500}
.mn-countdown strong{font-variant-numeric:tabular-nums;font-weight:700}

/* Star rating -------------------------------------------------------------- */
.mn-card__rating{display:inline-flex;align-items:center;gap:4px;font-size:13px;line-height:16px}
.mn-card__rating .mn-icon{width:12px;height:12px;color:var(--mn-black)}
.mn-card__reviews{color:var(--mn-black)}

/* Product card ------------------------------------------------------------- */
.mn-card{position:relative;display:flex;flex-direction:column;width:240px;background:#fff;border:1px solid var(--mn-border);padding:16px;min-height:468px}
.mn-card__promo{min-height:14px;font-size:14px;line-height:14px;font-weight:700;padding-top:25px}
.mn-card__wish{position:absolute;top:19px;right:19px;width:20px;height:20px;color:var(--mn-black);display:flex;align-items:center;justify-content:center}
.mn-card__wish .mn-icon{width:20px;height:20px}
.mn-card__image{display:flex;align-items:center;justify-content:center;height:208px;margin:12px 0 0}
.mn-card__image img{max-width:208px;max-height:208px;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.mn-card__placeholder{display:block;width:208px;height:208px;background:var(--mn-cream)}
.mn-card__body{display:flex;flex-direction:column;padding-top:24px;min-height:0}
.mn-card__brand{font-size:14px;line-height:14px;font-weight:700;text-transform:uppercase;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mn-card__name{font-size:14px;line-height:21px;color:var(--mn-black);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}
.mn-card__variant{display:none}
.mn-card__price{margin-top:8px}
.mn-card__meta{margin-top:10px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}
.mn-card__swatches{display:inline-flex;align-items:center;gap:4px}
.mn-card__swatch{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(21,21,21,.25)}
.mn-card__swatch-more{font-size:11px;line-height:12px;color:#6b6b6b}
.mn-price--from{display:inline-flex;align-items:baseline;gap:4px}
.mn-price__from{font-size:12px;line-height:16px;color:var(--mn-black)}
.mn-card__price .mn-price__now{font-size:16px;line-height:20px;font-weight:500}
.mn-card__stock{display:none}
.mn-card__add{position:absolute;left:0;right:0;bottom:0;height:45px;background:var(--mn-black);color:#fff;font-size:14px;line-height:45px;font-weight:700;text-transform:uppercase;opacity:0;visibility:hidden;transition:opacity .18s}
.mn-card:hover .mn-card__add,.mn-card__add:focus-visible{opacity:1;visibility:visible}
.mn-card:hover{border-color:#cfcfcf}

/* Carousel shell ----------------------------------------------------------- */
.mn-carousel{position:relative}
.mn-carousel__viewport{overflow:hidden}
.mn-carousel__track{display:flex;gap:23px;transition:transform .35s ease;will-change:transform}
.mn-carousel__track > *{flex:0 0 240px}
.mn-carousel__arrow{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--mn-black)}
.mn-carousel__arrow .mn-icon{width:20px;height:20px}
.mn-carousel__arrow[disabled]{opacity:.3}

/* Shared modal ------------------------------------------------------------- */
.mn-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center}
.mn-modal[hidden]{display:none}
.mn-modal__backdrop{position:absolute;inset:0;background:rgba(21,21,21,.45)}
.mn-modal__dialog{position:relative;width:440px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);overflow:auto;background:#fff;padding:32px;box-shadow:0 8px 40px rgba(0,0,0,.25)}
.mn-modal__close{position:absolute;top:14px;right:14px;width:32px;height:32px;display:flex;align-items:center;justify-content:center}
.mn-modal__title{font-size:18px;line-height:24px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:20px}
.mn-modal__product{display:flex;gap:16px;align-items:center;border-top:1px solid var(--mn-border);border-bottom:1px solid var(--mn-border);padding:16px 0}
.mn-modal__image{width:88px;height:88px;object-fit:contain;background:var(--mn-cream)}
.mn-modal__brand{font-size:12px;line-height:16px;font-weight:700;text-transform:uppercase}
.mn-modal__name{font-size:14px;line-height:21px}
.mn-modal__price{font-size:16px;line-height:22px;font-weight:600;margin-top:4px}
.mn-modal__cart{display:flex;justify-content:space-between;font-size:14px;line-height:21px;padding:16px 0}
.mn-modal__cta{width:100%}
.mn-modal__continue{width:100%;margin-top:8px}
/* ==========================================================================
   Footer
   ========================================================================== */
.mn-footer{background:var(--mn-black);color:#fff}
.mn-footer__trust{padding:15px 0 53px}
.mn-footer__trust-inner{display:flex;justify-content:center;align-items:center;gap:85px}
.mn-trust img{display:block;width:80px;height:80px;object-fit:contain}
.mn-footer__top{display:flex;justify-content:space-between;padding:0 40px}
.mn-footer__col{width:509px;flex:none}
.mn-footer__col--service{width:560px}
.mn-footer__h3{font-size:18px;line-height:27px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}
.mn-footer__text{font-size:14px;line-height:21px;margin-top:8px}
.mn-footer__text--small{margin-top:14px;font-size:14px;line-height:21px}
.mn-footer__btn{display:inline-flex;align-items:center;justify-content:center;width:250px;height:46px;margin-top:52px;border:1px solid #fff;color:#fff;font-size:13px;line-height:14px;font-weight:700;letter-spacing:.52px;text-transform:uppercase;transition:background .2s,color .2s}
.mn-footer__btn:hover{background:#fff;color:var(--mn-black)}
.mn-footer__h3--app{display:none}
.mn-footer__apps{display:none}
.mn-footer__apps img{display:none}
.mn-footer__links{display:flex;gap:30px;padding:61px 40px 0}
.mn-footer__linkgroup{width:250px;flex:none}
.mn-footer__linkgroup-title{font-size:18px;line-height:27px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;padding-bottom:20px}
.mn-footer__linkgroup li{margin-bottom:0}
.mn-footer__linkgroup a{display:inline-block;font-size:14px;line-height:21px;color:#fff}
.mn-footer__linkgroup a:hover{text-decoration:underline}
.mn-footer__pay{display:flex;gap:40px;padding:40px 40px 0}
.mn-footer__pay-col{width:509px;flex:none}
.mn-footer__pay-col--rewards{width:560px}
.mn-footer__h2{font-size:18px;line-height:27px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;margin-bottom:0}
.mn-payments__row{display:flex;align-items:center;gap:18px;margin-bottom:26px;flex-wrap:wrap}
.mn-payments__row:last-child{margin-bottom:0}
.mn-payments img{height:42px;width:auto;display:block}
.mn-payments__klarna{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 8px;background:#ffb3c7;border-radius:4px;font-size:12px;line-height:26px;font-weight:700;color:#17120f}
.mn-footer__about{font-size:14px;line-height:21px;margin-top:24px}
.mn-footer__awards{display:flex;gap:35px;margin-top:16px}
.mn-footer__awards img{width:100px;height:100px;object-fit:contain;display:block}
.mn-footer__rating{margin-top:24px}
.mn-footer__rating-title{font-size:14px;line-height:21px}
.mn-footer__rating-score{display:flex;align-items:center;gap:10px;font-size:30px;line-height:32px;font-weight:700;margin-top:4px}
.mn-footer__rating-score > span:first-of-type{font-size:16px;font-weight:400;margin-left:-6px}
.mn-stars{display:inline-flex;gap:2px}
.mn-stars .mn-icon{width:22px;height:22px;color:inherit}
.mn-footer .mn-stars .mn-icon{color:#fff}
.mn-footer__rating-note{font-size:12px;line-height:16px;margin-top:4px;color:#cfcfcf}
.mn-footer__bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:96px 40px 12px}
.mn-footer__copy{grid-column:1;justify-self:start}
.mn-footer__ckhh{grid-column:2;justify-self:center}
.mn-footer__copy{font-size:14px;line-height:21px}
.mn-footer__copy a{text-decoration:underline}
.mn-footer__ckhh img{display:block;height:32px;width:auto;filter:none}

@media (max-width:1023px){
  .mn-footer__trust{padding:12px 0 22px}
  .mn-footer__trust-inner{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:0 8px}
  .mn-trust img{width:100%;height:auto;max-width:70px;margin:0 auto}
  .mn-footer__top{flex-direction:column;gap:28px;padding:0 16px}
  .mn-footer__col,.mn-footer__col--service{width:100%}
  .mn-footer__h3{font-size:16px;line-height:22px}
  .mn-footer__btn{width:100%;max-width:358px}
  .mn-footer__h3--app{margin-top:28px}
  .mn-footer__apps img{width:136px;height:43px}
  .mn-footer__links{display:grid;grid-template-columns:1fr 1fr;gap:24px 16px;padding:40px 16px 0}
  .mn-footer__linkgroup{width:auto}
  .mn-footer__linkgroup-title{font-size:15px;line-height:20px;padding-bottom:10px}
  .mn-footer__pay{flex-direction:column;gap:32px;padding:40px 16px 0}
  .mn-footer__pay-col,.mn-footer__pay-col--rewards{width:100%}
  .mn-footer__h2{font-size:15px;line-height:20px}
  .mn-payments__row{gap:12px;margin-bottom:18px}
  .mn-payments img{height:34px}
  .mn-footer__awards img{width:84px;height:84px}
  .mn-footer__rating-score{font-size:26px}
  .mn-footer__bottom{display:grid;grid-template-columns:1fr;gap:16px;padding:32px 16px 24px}
  .mn-footer__copy,.mn-footer__ckhh{grid-column:1;justify-self:start}
  .mn-footer__ckhh img{height:26px}
  body{padding-bottom:0}
}
/* Footer: two remaining link columns spread across the row */
.mn-footer__links .mn-footer__linkgroup{flex:1 1 0;width:auto;min-width:0}
@media (max-width:749px){.mn-footer__links .mn-footer__linkgroup{flex:none;width:auto}}
