/* ==========================================================================
   MAUVIEL SOUTH AFRICA — HOME PAGE
   Full-bleed sections inside Divi's container. No rounded corners, no drop
   shadows, no decorative sparkles. Type carries the page.
   ========================================================================== */

.mv-home{font-family:var(--mv-font-body);color:var(--mv-ink)}
.mv-home *,.mv-home *::before,.mv-home *::after{box-sizing:border-box}

/* break out of Divi's padded container */
.mv-home>section{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}

/* ---- hero ---------------------------------------------------------------- */
.mv-hero{position:relative;min-height:min(78vh,720px);display:flex;align-items:flex-end;overflow:hidden}
.mv-hero__img{position:absolute;inset:0;
  background-image:url('https://mauviel.co.za/wp-content/uploads/2023/11/Mauviel-Cookware.jpg');
  background-size:cover;background-position:center 42%;transform:scale(1.02)}
.mv-hero__scrim{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(35,31,32,.82) 0%,rgba(35,31,32,.62) 42%,rgba(35,31,32,.18) 78%,rgba(35,31,32,.06) 100%)}
.mv-hero__inner{position:relative;width:100%;max-width:var(--mv-content-max);margin:0 auto;
  padding:var(--mv-space-12) var(--mv-margin-outer) var(--mv-space-8)}
.mv-hero__eyebrow{font-family:var(--mv-font-display);font-size:.6875rem;font-weight:400;
  letter-spacing:.28em;text-transform:uppercase;color:var(--mv-brass-light);margin:0 0 var(--mv-space-2)}
.mv-hero__title{font-family:var(--mv-font-display);font-weight:200;color:#fff;
  font-size:clamp(2.4rem,6.4vw,5rem);letter-spacing:-.02em;line-height:.98;margin:0 0 var(--mv-space-3);max-width:14ch}
.mv-hero__lead{font-size:var(--mv-size-lead);line-height:1.6;color:rgba(255,255,255,.9);
  max-width:46ch;margin:0 0 var(--mv-space-4);font-weight:300}
.mv-hero__actions{display:flex;flex-wrap:wrap;gap:var(--mv-space-2);margin:0}
.mv-btn--onimg{border-color:#fff!important;color:#fff!important;background:transparent!important}
.mv-btn--onimg:hover{background:#fff!important;color:var(--mv-ink)!important}
.mv-btn--ghost{border-color:rgba(255,255,255,.4)!important;color:rgba(255,255,255,.85)!important;background:transparent!important}
.mv-btn--ghost:hover{border-color:var(--mv-brass)!important;color:var(--mv-brass)!important}
.mv-btn--onink{border-color:var(--mv-brass)!important;color:var(--mv-brass)!important;background:transparent!important}
.mv-btn--onink:hover{background:var(--mv-brass)!important;color:var(--mv-ink)!important}

/* ---- figures band -------------------------------------------------------- */
.mv-band{background:var(--mv-ink);color:#fff}
.mv-band__inner{max-width:var(--mv-content-max);margin:0 auto;padding:var(--mv-space-4) var(--mv-margin-outer);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--mv-space-3)}
.mv-band__inner>div{border-left:.5px solid rgba(255,255,255,.22);padding-left:var(--mv-space-2)}
.mv-band__inner>div:first-child{border-left:0;padding-left:0}
.mv-band__n{display:block;font-family:var(--mv-font-display);font-weight:200;font-size:clamp(1.5rem,3vw,2.25rem);
  letter-spacing:-.01em;color:var(--mv-brass-light);line-height:1.1}
.mv-band__t{display:block;font-family:var(--mv-font-data);font-size:.6875rem;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.65);margin-top:.35rem}
@media (max-width:760px){.mv-band__inner{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--mv-space-3)}}

/* ---- generic section ----------------------------------------------------- */
.mv-sec{padding:var(--mv-space-12) 0}
.mv-sec>*{max-width:var(--mv-content-max);margin-left:auto;margin-right:auto;
  padding-left:var(--mv-margin-outer);padding-right:var(--mv-margin-outer)}
.mv-sec--warm{background:var(--mv-paper-warm)}
.mv-sec--ink{background:var(--mv-ink)}
.mv-home .mv-eyebrow{margin:0 0 .4rem}
.mv-eyebrow--light{color:var(--mv-brass-light)}
.mv-home .mv-display{margin:0 0 var(--mv-space-6);max-width:24ch}
.mv-display--light{color:#fff}
.mv-body--light{color:rgba(255,255,255,.82)}
.mv-h3{font-family:var(--mv-font-display);font-weight:400;font-size:var(--mv-size-small);
  letter-spacing:var(--mv-track-caps-tight);text-transform:uppercase;margin:0 0 .7rem;
  padding-bottom:.6rem;border-bottom:var(--mv-rule)}
.mv-textlink{font-family:var(--mv-font-display);font-size:var(--mv-size-small);
  letter-spacing:var(--mv-track-caps-tight);text-transform:uppercase;color:var(--mv-ink);
  text-decoration:none;border-bottom:var(--mv-rule-brass);padding-bottom:2px}
.mv-textlink:hover{color:var(--mv-brass)}

/* ---- material grid ------------------------------------------------------- */
.mv-mat{list-style:none;margin:0;padding-left:var(--mv-margin-outer);padding-right:var(--mv-margin-outer);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--mv-ink-25);
  border:.5px solid var(--mv-ink-25);max-width:var(--mv-content-max)}
.mv-mat{padding:0;margin:0 auto;width:calc(100% - 2*var(--mv-margin-outer))}
.mv-mat__i{background:var(--mv-paper);min-width:0}
.mv-mat__i a{display:flex;flex-direction:column;height:100%;padding:var(--mv-space-3);
  text-decoration:none;color:inherit;transition:background-color var(--mv-dur) var(--mv-ease)}
.mv-mat__i a:hover{background:var(--mv-paper-cool)}
.mv-mat__img{display:block;aspect-ratio:1;overflow:hidden;margin-bottom:var(--mv-space-2)}
.mv-mat__img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;
  transition:transform var(--mv-dur) var(--mv-ease)}
.mv-mat__i a:hover .mv-mat__img img{transform:scale(1.04)}
.mv-mat__h{display:block;font-family:var(--mv-font-display);font-weight:300;font-size:1.375rem;
  letter-spacing:.03em;margin-bottom:.45rem}
.mv-mat__w{display:block;font-size:var(--mv-size-small);line-height:1.55;color:var(--mv-ink-70)}
.mv-mat__n{display:block;margin-top:auto;padding-top:var(--mv-space-2);font-family:var(--mv-font-data);
  font-size:var(--mv-size-micro);letter-spacing:var(--mv-track-data);text-transform:uppercase;color:var(--mv-brass)}
@media (max-width:900px){.mv-mat{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- two and three column blocks ---------------------------------------- */
.mv-two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--mv-space-8);align-items:start}
.mv-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--mv-space-6)}
.mv-home .mv-two .mv-display{margin-bottom:0}
.mv-home .mv-body{max-width:58ch;margin:0 0 var(--mv-space-2)}
@media (max-width:900px){.mv-two,.mv-three{grid-template-columns:minmax(0,1fr);gap:var(--mv-space-4)}}

.mv-home .mv-tiles{max-width:var(--mv-content-max);margin:0 auto;width:calc(100% - 2*var(--mv-margin-outer));
  grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.mv-home .mv-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media (prefers-reduced-motion:reduce){
  .mv-mat__img img{transition:none}
}

/* ==========================================================================
   FIX 1 — the grey bars were scrollbars.
   100vw includes the vertical scrollbar, so a full-bleed section is about
   17px wider than the viewport and the page gains a horizontal scrollbar.
   overflow-x:clip contains it without creating a scroll container, so
   position:sticky elsewhere still works.
   ========================================================================== */
.mv-home{overflow-x:clip}
html,body{overflow-x:clip}
.mv-home>section{max-width:100vw}

/* FIX 2 — Divi puts a bullet on every li in content. Not on ours. */
.mv-home ul,.mv-home ol,.mv-mat,.mv-tiles,.mv-picks,.mv-grid,.mv-facet__list,.mv-care,.mv-rules,.mv-timeline{list-style:none!important}
.mv-home li,.mv-mat li,.mv-tiles li,.mv-picks li,.mv-grid li,.mv-facet__list li,.mv-rules li,.mv-timeline li{list-style:none!important}
.mv-home li::before,.mv-home li::marker,.mv-mat li::before,.mv-mat li::marker,.mv-tiles li::before,.mv-tiles li::marker,.mv-picks li::marker,.mv-grid li::before,.mv-grid li::marker,.mv-facet__list li::before,.mv-facet__list li::marker,.mv-timeline li::before,.mv-timeline li::marker,.mv-care li::marker,.mv-spec li::marker{content:none!important;display:none!important}
.mv-rules li::marker{content:none!important}

/* FIX 3 — one purposeful horizontal element: a snap-scrolling product rail */
.mv-rail__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--mv-space-3);max-width:var(--mv-content-max);margin:0 auto var(--mv-space-3);padding:0 var(--mv-margin-outer)}
.mv-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(238px,1fr);gap:1px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--mv-margin-outer);padding:0 var(--mv-margin-outer) var(--mv-space-2);margin:0;list-style:none;background:linear-gradient(var(--mv-ink-25),var(--mv-ink-25)) no-repeat;background-size:100% 1px;background-position:0 0}
@media (min-width:1100px){.mv-rail{grid-auto-columns:minmax(280px,1fr)}}
.mv-rail>li{scroll-snap-align:start;background:var(--mv-paper);border-right:.5px solid var(--mv-ink-25);min-width:0}
.mv-rail>li:first-child{border-left:.5px solid var(--mv-ink-25)}
.mv-rail a{display:flex;flex-direction:column;height:100%;padding:var(--mv-space-3);text-decoration:none;color:inherit}
.mv-rail a:hover{background:var(--mv-paper-cool)}
.mv-rail__img{display:block;aspect-ratio:1;margin-bottom:var(--mv-space-2)}
.mv-rail__img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.mv-rail__c{font-family:var(--mv-font-display);font-size:var(--mv-size-micro);letter-spacing:var(--mv-track-caps-tight);text-transform:uppercase;color:var(--mv-brass);margin-bottom:.25rem}
.mv-rail__t{font-family:var(--mv-font-display);font-weight:300;font-size:.9375rem;line-height:1.3;margin-bottom:.4rem}
.mv-rail__p{margin-top:auto;font-family:var(--mv-font-data);font-size:var(--mv-size-data);letter-spacing:var(--mv-track-data)}
.mv-rail::-webkit-scrollbar{height:2px}
.mv-rail::-webkit-scrollbar-thumb{background:var(--mv-brass)}
.mv-rail::-webkit-scrollbar-track{background:var(--mv-ink-25)}
.mv-rail__hint{font-family:var(--mv-font-data);font-size:var(--mv-size-micro);letter-spacing:var(--mv-track-data);text-transform:uppercase;color:var(--mv-ink-45);white-space:nowrap}
