
:root {
  --ivory: #F8F4EF;
  --rose: #E7D6D6;
  --sand: #D5C7BB;
  --espresso: #493C34;
  --charcoal: #2D2B2A;
  --magenta: #A30167;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ivory);
  color: var(--espresso);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 50;
  height: 80px;
  padding: 0 4.2vw;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  color: #fff;
  transition: background .35s ease, color .35s ease, backdrop-filter .35s ease;
}
.site-header.scrolled {
  background: rgba(248,244,239,.88);
  backdrop-filter: blur(16px);
  color: var(--charcoal);
}
.brand {
  font-size: 18px;
  letter-spacing: .28em;
  font-weight: 400;
}
.desktop-nav {
  display: flex;
  gap: 34px;
  font-size: 10px;
  letter-spacing: .18em;
}
.desktop-nav a,
.header-actions button { transition: opacity .2s ease; }
.desktop-nav a:hover,
.header-actions button:hover { opacity: .58; }

.header-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 18px;
}
.text-action {
  background: none; border: 0; color: inherit;
  font-size: 10px; letter-spacing: .18em; cursor: pointer;
}
.icon-btn, .menu-btn {
  width: 28px; height: 28px; border: 0; background: transparent;
  color: inherit; cursor: pointer; position: relative;
}
.bag-icon {
  position: absolute; left: 7px; top: 9px;
  width: 14px; height: 13px;
  border: 1px solid currentColor;
}
.bag-icon:before {
  content: "";
  position: absolute; left: 3px; top: -6px;
  width: 6px; height: 6px; border: 1px solid currentColor; border-bottom: 0;
  border-radius: 5px 5px 0 0;
}
.menu-btn { display: none; }
.menu-btn span {
  position: absolute; left: 5px; width: 18px; height: 1px; background: currentColor;
}
.menu-btn span:first-child { top: 10px; }
.menu-btn span:last-child { top: 17px; }

.mobile-menu {
  display: none;
  position: fixed; inset: 0;
  z-index: 40;
  background: var(--ivory);
  padding: 110px 26px 40px;
  flex-direction: column;
  gap: 22px;
  color: var(--charcoal);
}
.mobile-menu a {
  font-family: var(--serif);
  font-size: clamp(34px, 10vw, 54px);
}
.mobile-menu.open { display: flex; }

.hero {
  min-height: 100svh;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
}
.hero-media, .collection-media {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transform: scale(1.03);
  transition: transform 1.2s ease-out;
}
.image-placeholder {
  background-color: var(--sand);
}

.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(248,244,239,.12), transparent 55%);
}
.hero-copy {
  position: relative;
  z-index: 2;
  margin-left: 4.2vw;
  margin-top: 8vh;
  max-width: 610px;
}
.eyebrow {
  display: block;
  font-size: 10px;
  letter-spacing: .32em;
  margin-bottom: 24px;
}
.hero h1, .manifesto h2, .collection h2, .club h2 {
  font-family: var(--serif);
  font-weight: 400;
  margin: 0;
}
.hero h1 {
  font-size: clamp(64px, 7.4vw, 118px);
  line-height: .82;
  letter-spacing: -.035em;
}
.film-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 34px;
  font-size: 9px;
  letter-spacing: .24em;
}
.play {
  display: inline-grid; place-items: center;
  width: 38px; height: 38px;
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 50%;
  font-size: 8px;
  padding-left: 2px;
}
.hero-note {
  position: absolute;
  right: 4.4vw;
  top: 35%;
  z-index: 2;
  font-size: 9px;
  line-height: 1.9;
  letter-spacing: .26em;
  text-align: left;
}
.scroll-cue {
  position: absolute;
  right: 4.4vw;
  bottom: 36px;
  z-index: 2;
  font-size: 8px;
  letter-spacing: .26em;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.scroll-cue span { font-size: 20px; font-weight: 200; }

.section-soft {
  background: var(--ivory);
  color: var(--espresso);
}
.manifesto {
  min-height: 76vh;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.shadow-decoration {
  position: absolute;
  left: -8vw; top: 0;
  width: 42vw; height: 100%;
  background:
    radial-gradient(ellipse at 30% 40%, rgba(73,60,52,.11) 0 11%, transparent 12%),
    radial-gradient(ellipse at 12% 53%, rgba(73,60,52,.08) 0 14%, transparent 15%);
  filter: blur(15px);
  transform: rotate(-12deg);
}
.manifesto-inner {
  text-align: center;
  padding: 80px 24px;
  position: relative;
  z-index: 2;
}
.manifesto h2 {
  font-size: clamp(56px, 6vw, 102px);
  line-height: .9;
  letter-spacing: -.02em;
}
.hairline {
  display: block;
  width: 48px; height: 1px;
  background: currentColor;
  opacity: .5;
  margin: 28px auto;
}
.manifesto p {
  font-size: 10px;
  letter-spacing: .34em;
  margin: 0;
}

.collection {
  position: relative;
  min-height: 82vh;
  display: flex;
  align-items: flex-end;
  color: #fff;
  overflow: hidden;
}
.image-pace {
  background:
    linear-gradient(90deg, rgba(48,36,30,.68), rgba(48,36,30,.06)),
    radial-gradient(circle at 74% 50%, rgba(221,195,175,.25), transparent 24%),
    linear-gradient(135deg, #5b463a 0%, #886b58 46%, #bea08a 100%);
}
.collection-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(35,28,24,.35), transparent 55%);
}
.collection-copy {
  position: relative;
  z-index: 2;
  margin: 0 0 7vh 4.2vw;
}
.collection h2 {
  font-size: clamp(86px, 10vw, 164px);
  line-height: .8;
  letter-spacing: -.035em;
}
.collection-copy p {
  font-family: var(--serif);
  font-style: italic;
  font-size: 25px;
  margin: 22px 0 34px;
}
.underline-link {
  display: inline-flex;
  align-items: center;
  gap: 26px;
  padding-bottom: 7px;
  border-bottom: 1px solid currentColor;
  font-size: 9px;
  letter-spacing: .28em;
}

.club {
  min-height: 72vh;
  display: grid;
  grid-template-columns: 62% 38%;
  background: var(--ivory);
}
.club-image {
  min-height: 72vh;
  background:
    linear-gradient(90deg, rgba(232,219,210,.15), rgba(248,244,239,.55)),
    radial-gradient(circle at 38% 45%, rgba(120,90,73,.24), transparent 25%),
    linear-gradient(135deg, #b99d8c, #e8dcd3 65%, #f4ede8);
}
.club-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 7vw 80px 3vw;
}
.club h2 {
  font-size: clamp(45px, 4.5vw, 78px);
  line-height: .88;
  letter-spacing: -.025em;
}
.hairline.left { margin: 28px 0; }
.eyebrow.dark {
  color: var(--espresso);
  margin: 0 0 24px;
}
.dark-link { width: max-content; }

.closing {
  min-height: 43vh;
  position: relative;
  display: grid;
  place-items: center;
  text-align: center;
  overflow: hidden;
}
.closing-bg {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(248,244,239,.15), rgba(248,244,239,.8)),
    linear-gradient(180deg, #f0dad1 0%, #e6d6ce 45%, #c7b1a7 100%);
}
.closing-inner { position: relative; z-index: 2; }
.closing-brand {
  font-size: clamp(27px, 3vw, 48px);
  letter-spacing: .35em;
  margin-left: .35em;
}
.closing p {
  font-size: 8px;
  letter-spacing: .34em;
  margin-top: 18px;
}

.footer {
  min-height: 86px;
  padding: 0 4.2vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--ivory);
  font-size: 8px;
  letter-spacing: .22em;
}
.footer-links { display: flex; gap: 26px; }

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1);
}
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
  .site-header {
    height: 68px;
    padding: 0 20px;
    grid-template-columns: 1fr auto;
  }
  .desktop-nav, .text-action { display: none; }
  .menu-btn { display: inline-block; }
  .brand { font-size: 14px; }

  .hero { min-height: 100svh; align-items: flex-end; }
  .hero-overlay {
    background: linear-gradient(0deg, rgba(34,27,24,.58) 0%, rgba(34,27,24,.08) 58%);
  }
  .hero-copy {
    margin: 0 20px 14vh;
    max-width: 88vw;
  }
  .hero h1 { font-size: clamp(48px, 15.2vw, 72px); line-height: .86; }
  .hero-note { display: none; }
  .scroll-cue { right: 19px; bottom: 27px; }

  .manifesto { min-height: 68vh; }
  .manifesto h2 { font-size: clamp(46px, 13vw, 65px); }
  .manifesto p { max-width: 260px; line-height: 2; margin: 0 auto; }

  .collection { min-height: 70vh; }
  .collection-copy { margin: 0 20px 9vh; }
  .collection h2 { font-size: clamp(78px, 25vw, 118px); }

  .club {
    min-height: auto;
    grid-template-columns: 1fr;
  }
  .club-image { min-height: 48vh; }
  .club-copy { padding: 56px 22px 64px; }
  .club h2 { font-size: clamp(48px, 14vw, 68px); }

  .closing { min-height: 38vh; }
  .footer {
    padding: 28px 20px;
    min-height: 110px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 22px;
  }
  .footer-links { gap: 16px; flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}

.club-tagline {
  margin: -10px 0 26px;
  font-family: var(--serif);
  font-size: 18px;
  font-style: italic;
  opacity: .82;
}

/* Hero oficial FIORAFIT */
.hero { color: #3d3029; }
.hero .film-link { color: #3d3029; }
.hero .play { border-color: rgba(61,48,41,.55); }
.hero .scroll-cue { color: #fff; }
.hero .hero-note { color: #fff; }
@media (max-width: 760px) {
  
  .hero-overlay { background: linear-gradient(90deg, rgba(248,244,239,.42), rgba(248,244,239,.04) 78%); }
}

/* V5 — hero com imagem real, sem depender de background-image */
.hero-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: none;
  display: block;
}

@media (max-width: 760px) {
  .hero-photo {
    object-position: 72% center;
  }
}

/* V6 — hero responsivo com imagens específicas para desktop e mobile */
.hero-picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.hero-picture .hero-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* Mais contraste para a tipografia no desktop sem escurecer a fotografia */
.hero-overlay {
  background: linear-gradient(
    90deg,
    rgba(248,244,239,.90) 0%,
    rgba(248,244,239,.78) 26%,
    rgba(248,244,239,.46) 45%,
    rgba(248,244,239,.10) 62%,
    rgba(248,244,239,0) 74%
  );
}

/* Play desenhado em CSS — sem emoji */
.play {
  padding-left: 0;
  color: #3d3029;
  background: rgba(248,244,239,.10);
}
.play::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid currentColor;
  margin-left: 2px;
}

@media (min-width: 761px) {
  .site-header:not(.scrolled) {
    color: #3d3029;
  }
  .hero-copy {
    max-width: 690px;
  }
  .hero h1 {
    text-shadow: 0 1px 18px rgba(248,244,239,.18);
  }
}

@media (max-width: 760px) {
  .hero-picture .hero-photo {
    object-position: center center;
  }
  .hero-overlay {
    background: linear-gradient(
      90deg,
      rgba(248,244,239,.48) 0%,
      rgba(248,244,239,.25) 43%,
      rgba(248,244,239,.02) 72%
    );
  }
  .hero-copy {
    margin: 0 22px 14vh;
    max-width: 90vw;
  }
  .hero h1 {
    font-size: clamp(46px, 13.4vw, 66px);
    line-height: .89;
    max-width: 92vw;
  }
  .film-link {
    gap: 16px;
  }
  .play {
    width: 42px;
    height: 42px;
  }
}


/* =========================================================
   FIORAFIT V9 — somente os ajustes finais aprovados
   Base: V6 original, sem alterar estrutura, imagens ou layout.
   ========================================================= */

/* Desktop: BUSCAR + sacola com contraste delicado sobre a fotografia */
@media (min-width: 761px) {
  .site-header:not(.scrolled) .header-actions {
    background: rgba(248, 244, 239, .78);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(61, 48, 41, .10);
    border-radius: 999px;
    padding: 7px 10px 7px 15px;
    color: #3d3029;
  }
}

/* Mobile: logo Espresso + véu Ivory uniforme sobre TODO o hero */
@media (max-width: 760px) {
  .site-header:not(.scrolled) .brand {
    color: #3d3029;
  }

  .hero-overlay {
    background: rgba(248, 244, 239, .24);
  }

  .hero-copy,
  .hero-copy .film-link,
  .hero-copy .play {
    color: #3d3029;
  }

  .hero-copy .play {
    border-color: rgba(61, 48, 41, .62);
  }
}


/* =========================================================
   FIORAFIT V11 — FIX HOSTINGER + CLUB
   ========================================================= */

/* Imagem horizontal oficial do FIORAFIT CLUB */
section.club .club-image.image-club {
  background: url("../images/fiorafit-club-v11.jpg?v=11") center center / cover no-repeat !important;
}

/* Manifesto: desktop continua em uma linha */
.manifesto-subline span {
  display: inline;
}

/* Mobile: quebra EXATAMENTE em duas linhas */
@media (max-width: 760px) {
  .manifesto .manifesto-inner .manifesto-subline {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    text-align: center !important;
    font-size: 9px !important;
    line-height: 2 !important;
    letter-spacing: .28em !important;
  }

  .manifesto .manifesto-inner .manifesto-subline span {
    display: block !important;
    white-space: nowrap !important;
  }

  section.club .club-image.image-club {
    min-height: 50vh !important;
    background-position: 35% center !important;
  }
}


/* =========================================================
   FIORAFIT V12 — REFINAMENTO PREMIUM
   Base integral: V11 aprovada
   ========================================================= */

/* Ritmo editorial geral */
.collection,
.manifesto,
.club,
.closing {
  position: relative;
}

/* BASICS — mais respiro e hierarquia de campanha */
.collection-copy {
  padding-top: clamp(72px, 9vw, 150px);
  padding-bottom: clamp(72px, 9vw, 150px);
}

.collection-kicker {
  letter-spacing: .24em;
}

.collection-title {
  line-height: .86;
  letter-spacing: -.025em;
}

.collection-link {
  transition: opacity .35s ease, transform .35s ease;
}

.collection-link:hover {
  opacity: .62;
  transform: translateX(3px);
}

/* Manifesto — mais espaço, menos sensação de bloco */
.manifesto-inner {
  padding-top: clamp(110px, 14vw, 210px);
  padding-bottom: clamp(110px, 14vw, 210px);
}

.manifesto h2 {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  line-height: .94;
}

.manifesto p {
  margin-top: clamp(34px, 4vw, 58px);
}

/* CLUB — tratamento editorial de revista */
.club {
  background: var(--ivory);
  align-items: stretch;
}

.club-image {
  min-height: 720px;
}

.club-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(80px, 9vw, 150px) clamp(54px, 7vw, 120px);
  background: var(--ivory);
}

.club-copy .eyebrow,
.club-copy .kicker {
  letter-spacing: .25em;
}

.club-copy h2 {
  max-width: 520px;
  line-height: .91;
  letter-spacing: -.025em;
  margin-top: 24px;
}

.club-copy p {
  max-width: 360px;
  line-height: 1.65;
  margin-top: 30px;
}

.club-copy a {
  margin-top: 42px;
  align-self: flex-start;
  transition: opacity .35s ease, transform .35s ease;
}

.club-copy a:hover {
  opacity: .62;
  transform: translateX(3px);
}

/* Fechamento com mais impacto e silêncio visual */
.closing {
  min-height: 82vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.closing-inner {
  padding-top: 130px;
  padding-bottom: 130px;
}

.closing h2 {
  line-height: .9;
}

/* Microanimações delicadas — apenas quando JS já aplica as classes existentes */
.reveal {
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(.22, 1, .36, 1);
}

/* ---------------- MOBILE ---------------- */
@media (max-width: 760px) {
  .collection-copy {
    padding-top: 82px;
    padding-bottom: 90px;
  }

  .manifesto-inner {
    padding-top: 112px;
    padding-bottom: 118px;
  }

  .manifesto h2 {
    width: min(88%, 430px);
    line-height: .98;
  }

  .manifesto .manifesto-inner .manifesto-subline {
    margin-top: 34px !important;
    line-height: 2.15 !important;
  }

  /* CLUB vira uma sequência editorial: imagem -> texto */
  .club {
    display: flex;
    flex-direction: column;
  }

  section.club .club-image.image-club {
    width: 100%;
    min-height: 56vh !important;
    background-position: 35% center !important;
  }

  .club-copy {
    width: 100%;
    padding: 76px 28px 92px;
    align-items: flex-start;
    text-align: left;
  }

  .club-copy h2 {
    max-width: 330px;
    margin-top: 20px;
    line-height: .94;
  }

  .club-copy p {
    max-width: 310px;
    margin-top: 26px;
  }

  .club-copy a {
    margin-top: 36px;
  }

  .closing {
    min-height: 72vh;
  }

  .closing-inner {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

/* Respeita usuários que preferem menos movimento */
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .collection-link,
  .club-copy a {
    transition: none !important;
  }
}


/* =========================================================
   FIORAFIT V13 — MOBILE: NITIDEZ + FECHAMENTO COMPACTO
   Base integral: V12
   ========================================================= */

/* CLUB agora usa imagem real em vez de background ampliado */
section.club .club-image.image-club {
  display: block;
  min-height: 0 !important;
  overflow: hidden;
  background: none !important;
}

section.club .club-image.image-club img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* Header em scroll: superfície sólida para não "cortar" visualmente o conteúdo */
.site-header.scrolled {
  background: rgba(248, 244, 239, .96) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

/* ---------------- MOBILE ---------------- */
@media (max-width: 760px) {
  /* Foto do Club: asset próprio 4:3, alta resolução e sem zoom por vh */
  section.club .club-image.image-club {
    width: 100%;
    aspect-ratio: 4 / 3;
    min-height: 0 !important;
    height: auto !important;
  }

  section.club .club-image.image-club img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  /* Fechamento: mantém o silêncio visual, mas não ocupa uma tela inteira */
  .closing {
    min-height: 0 !important;
    height: auto !important;
  }

  .closing-inner {
    width: 100%;
    min-height: 46vh;
    padding: 72px 24px 68px !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .closing-brand {
    margin: 0 !important;
  }

  .closing-inner p {
    margin-top: 22px !important;
  }

  /* Footer chega mais naturalmente depois da assinatura */
  .footer {
    padding-top: 42px;
    padding-bottom: 46px;
  }

  /* Seções ancoradas não ficam escondidas sob o header fixo */
  #collections,
  #club,
  #about {
    scroll-margin-top: 84px;
  }
}


/* =========================================================
   FIORAFIT V14 — BASICS OFICIAL
   Base integral: V13 aprovada
   ========================================================= */

/* BASICS usa fotografia real responsiva */
.collection .basics-picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  transform: none;
  background: #5b4030;
}

.collection .basics-photo {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

/* Overlay mais editorial, preservando o marrom original */
.collection .collection-overlay {
  background:
    linear-gradient(
      90deg,
      rgba(54, 35, 25, .34) 0%,
      rgba(54, 35, 25, .18) 36%,
      rgba(54, 35, 25, .03) 64%,
      rgba(54, 35, 25, 0) 78%
    ),
    linear-gradient(
      0deg,
      rgba(42, 29, 22, .18) 0%,
      rgba(42, 29, 22, 0) 52%
    );
}

/* Desktop: imagem aprovada, modelo à direita e copy à esquerda */
@media (min-width: 761px) {
  .collection {
    min-height: 82vh;
  }

  .collection .basics-photo {
    object-position: center center;
  }

  .collection-copy {
    max-width: 680px;
  }
}

/* Mobile: asset próprio vertical, sem crop agressivo */
@media (max-width: 760px) {
  .collection {
    min-height: 78svh;
  }

  .collection .basics-photo {
    object-position: center center;
  }

  .collection .collection-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(54, 35, 25, .42) 0%,
        rgba(54, 35, 25, .28) 42%,
        rgba(54, 35, 25, .06) 68%,
        rgba(54, 35, 25, 0) 82%
      ),
      linear-gradient(
        0deg,
        rgba(42, 29, 22, .24) 0%,
        rgba(42, 29, 22, 0) 48%
      );
  }

  .collection-copy {
    margin: 0 22px 8.5vh;
    max-width: 84vw;
    padding-top: 0;
    padding-bottom: 0;
  }

  .collection h2 {
    font-size: clamp(72px, 23vw, 104px);
    line-height: .82;
  }

  .collection-copy p {
    font-size: 21px;
    line-height: 1.15;
    max-width: 310px;
    margin-top: 20px;
    margin-bottom: 30px;
  }
}


/* =========================================================
   FIORAFIT V15 — BASICS INVERTIDA OFICIAL
   Base integral: V14
   - Imagem oficial desktop enviada pela usuária
   - Imagem oficial mobile enviada pela usuária
   - Modelo à esquerda / texto à direita em ambos
   ========================================================= */

/* Mantém a foto sem espelhamento e sem alteração de enquadramento */
.collection .basics-photo {
  transform: none !important;
}

/* Copy do BASICS à direita no desktop */
@media (min-width: 761px) {
  .collection-copy {
    margin-left: auto !important;
    margin-right: clamp(64px, 8vw, 150px) !important;
    max-width: 560px !important;
    width: min(42vw, 560px) !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .collection .collection-overlay {
    background:
      linear-gradient(
        270deg,
        rgba(54, 35, 25, .34) 0%,
        rgba(54, 35, 25, .20) 34%,
        rgba(54, 35, 25, .05) 62%,
        rgba(54, 35, 25, 0) 78%
      ),
      linear-gradient(
        0deg,
        rgba(42, 29, 22, .16) 0%,
        rgba(42, 29, 22, 0) 52%
      ) !important;
  }
}

/* Mobile: texto também à direita, sem invadir a modelo */
@media (max-width: 760px) {
  .collection {
    min-height: 78svh;
  }

  .collection-copy {
    margin-left: auto !important;
    margin-right: 22px !important;
    width: 52vw !important;
    max-width: 245px !important;
    text-align: left !important;
    align-items: flex-start !important;
    padding: 0 !important;
    transform: translateY(2vh);
  }

  .collection h2 {
    font-size: clamp(54px, 17vw, 78px) !important;
    line-height: .84 !important;
    white-space: nowrap;
  }

  .collection-copy p {
    font-size: 18px !important;
    line-height: 1.18 !important;
    max-width: 220px !important;
    margin-top: 18px !important;
    margin-bottom: 28px !important;
  }

  .collection-kicker {
    font-size: 9px !important;
    letter-spacing: .20em !important;
    white-space: nowrap;
  }

  .collection-link {
    font-size: 9px !important;
    letter-spacing: .20em !important;
    width: 100%;
  }

  .collection .collection-overlay {
    background:
      linear-gradient(
        270deg,
        rgba(54, 35, 25, .46) 0%,
        rgba(54, 35, 25, .28) 38%,
        rgba(54, 35, 25, .06) 68%,
        rgba(54, 35, 25, 0) 82%
      ),
      linear-gradient(
        0deg,
        rgba(42, 29, 22, .20) 0%,
        rgba(42, 29, 22, 0) 46%
      ) !important;
  }
}


/* =========================================================
   V18 — correção da arquitetura de coleções
   ========================================================= */

.collection {
  position: relative;
}

.collections-top-link {
  position: absolute;
  z-index: 8;
  top: clamp(28px, 4vw, 58px);
  right: clamp(22px, 5vw, 76px);
  color: #fff;
  text-decoration: none;
  font-family: var(--sans);
  font-size: 8px;
  letter-spacing: .23em;
  opacity: .78;
  transition: opacity .2s ease;
}

.collections-top-link:hover { opacity: 1; }

/* Vitrine de coleções */
.collections-index-page,
.collection-detail-page {
  background: var(--ivory);
  color: var(--espresso);
}

.collections-index-hero {
  min-height: 46vh;
  padding: 148px 5vw 70px;
  display: flex;
  align-items: flex-end;
}

.collections-index-hero h1 {
  font-family: var(--serif);
  font-size: clamp(82px, 10vw, 150px);
  line-height: .78;
  font-weight: 400;
  letter-spacing: -.045em;
  margin: 0;
}

.collections-index-hero p {
  font-family: var(--serif);
  font-size: clamp(22px, 2.1vw, 32px);
  font-style: italic;
  line-height: 1.1;
  margin: 25px 0 0;
}

.collection-index-card {
  min-height: 72vh;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  color: #fff;
}

.collection-index-picture,
.collection-index-overlay {
  position: absolute;
  inset: 0;
}

.collection-index-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.collection-index-overlay {
  background:
    linear-gradient(270deg, rgba(43,27,18,.43), rgba(43,27,18,.20) 46%, rgba(43,27,18,.02) 74%),
    linear-gradient(0deg, rgba(25,16,12,.20), transparent 50%);
}

.collection-index-copy {
  position: relative;
  z-index: 2;
  margin-left: auto;
  margin-right: 8vw;
  width: min(43vw, 580px);
}

.collection-index-copy h2 {
  font-family: var(--serif);
  font-size: clamp(74px, 8.7vw, 138px);
  line-height: .78;
  font-weight: 400;
  letter-spacing: -.045em;
  margin: 0;
}

.collection-index-copy p {
  font-family: var(--serif);
  font-size: clamp(23px, 2.1vw, 34px);
  font-style: italic;
  line-height: 1.06;
  margin: 28px 0;
}

.light-link { color: #fff; }

.collections-index-closing {
  min-height: 46vh;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 70px 24px;
}

.collections-index-closing h2 {
  font-family: var(--serif);
  font-size: clamp(60px, 7vw, 108px);
  line-height: .84;
  font-weight: 400;
  margin: 0;
}

/* Página da coleção */
.collection-detail-hero {
  min-height: 80vh;
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #fff;
}

.collection-detail-picture,
.collection-detail-shade {
  position: absolute;
  inset: 0;
}

.collection-detail-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.collection-detail-shade {
  background: linear-gradient(270deg, rgba(45,28,19,.45), rgba(45,28,19,.15) 55%, transparent 78%);
}

.collection-detail-copy {
  position: relative;
  z-index: 2;
  width: min(45vw, 620px);
  margin: 0 7vw 9vh auto;
}

.back-collections {
  display: inline-block;
  color: inherit;
  text-decoration: none;
  font-size: 8px;
  letter-spacing: .22em;
  margin-bottom: 28px;
}

.collection-detail-copy h1 {
  font-family: var(--serif);
  font-size: clamp(82px, 9vw, 145px);
  line-height: .78;
  font-weight: 400;
  margin: 0;
}

.collection-detail-copy p {
  font-family: var(--serif);
  font-size: clamp(24px, 2.2vw, 35px);
  font-style: italic;
  margin-top: 28px;
}

.collection-products {
  padding: 82px 5vw 100px;
}

.collection-products-heading h2 {
  font-family: var(--serif);
  font-size: clamp(58px, 6vw, 88px);
  line-height: .9;
  font-weight: 400;
  margin: 0;
}

.collection-products-heading p {
  font-family: var(--serif);
  font-style: italic;
  font-size: 24px;
}

.collection-products-empty {
  min-height: 220px;
  margin-top: 45px;
  display: grid;
  place-items: center;
  border-top: 1px solid rgba(73,60,52,.16);
  border-bottom: 1px solid rgba(73,60,52,.16);
  font-size: 9px;
  letter-spacing: .25em;
  opacity: .6;
}

@media (max-width: 760px) {
  .collections-top-link {
    top: 22px;
    right: 18px;
    max-width: 120px;
    text-align: right;
    font-size: 7px;
    line-height: 1.55;
  }

  .collections-index-hero {
    min-height: 40vh;
    padding: 118px 22px 46px;
  }

  .collections-index-hero h1 {
    font-size: clamp(66px, 20vw, 94px);
  }

  .collection-index-card {
    min-height: 72svh;
    align-items: flex-end;
  }

  .collection-index-copy {
    width: 52vw;
    max-width: 245px;
    margin: 0 22px 10vh auto;
  }

  .collection-index-copy h2 {
    font-size: clamp(52px, 17vw, 76px);
  }

  .collection-index-copy p {
    font-size: 20px;
  }

  .collection-detail-hero {
    min-height: 76svh;
  }

  .collection-detail-copy {
    width: 52vw;
    max-width: 245px;
    margin: 0 22px 10vh auto;
  }

  .collection-detail-copy h1 {
    font-size: clamp(54px, 17vw, 78px);
  }

  .collection-detail-copy p {
    font-size: 20px;
  }

  .collection-products {
    padding: 54px 18px 70px;
  }
}


/* =========================================================
   V19 — HEADER INTELIGENTE / CONTRASTE AUTOMÁTICO
   ========================================================= */

/* O header nasce transparente sobre heros/imagens */
.site-header {
  transition:
    background-color .28s ease,
    color .28s ease,
    box-shadow .28s ease,
    backdrop-filter .28s ease;
}

/* Fundo suave e quase invisível para proteger a leitura no topo */
.site-header.header-over-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(22,16,13,.20) 0%,
    rgba(22,16,13,.08) 55%,
    rgba(22,16,13,0) 100%
  );
}

/* Em hero escuro: logo/menu claros */
.site-header.header-light {
  color: var(--ivory) !important;
}

.site-header.header-light .brand,
.site-header.header-light .desktop-nav a,
.site-header.header-light .text-action,
.site-header.header-light .icon-btn,
.site-header.header-light .menu-btn {
  color: var(--ivory) !important;
}

.site-header.header-light .menu-btn span,
.site-header.header-light .bag-icon,
.site-header.header-light .bag-icon::before,
.site-header.header-light .bag-icon::after {
  border-color: var(--ivory) !important;
  background-color: var(--ivory);
}

/* Em hero claro: logo/menu escuros */
.site-header.header-dark {
  color: var(--espresso) !important;
}

.site-header.header-dark .brand,
.site-header.header-dark .desktop-nav a,
.site-header.header-dark .text-action,
.site-header.header-dark .icon-btn,
.site-header.header-dark .menu-btn {
  color: var(--espresso) !important;
}

.site-header.header-dark .menu-btn span,
.site-header.header-dark .bag-icon,
.site-header.header-dark .bag-icon::before,
.site-header.header-dark .bag-icon::after {
  border-color: var(--espresso) !important;
  background-color: var(--espresso);
}

/* Ao rolar: comportamento sempre consistente em qualquer página */
.site-header.scrolled {
  background: rgba(248,244,239,.96) !important;
  color: var(--espresso) !important;
  box-shadow: 0 1px 0 rgba(73,60,52,.08);
  backdrop-filter: blur(16px);
}

.site-header.scrolled::before {
  display: none !important;
}

.site-header.scrolled .brand,
.site-header.scrolled .desktop-nav a,
.site-header.scrolled .text-action,
.site-header.scrolled .icon-btn,
.site-header.scrolled .menu-btn {
  color: var(--espresso) !important;
}

.site-header.scrolled .menu-btn span,
.site-header.scrolled .bag-icon,
.site-header.scrolled .bag-icon::before,
.site-header.scrolled .bag-icon::after {
  border-color: var(--espresso) !important;
  background-color: var(--espresso);
}

/* Proteção extra: sombra tipográfica quase invisível somente sobre imagem */
.site-header.header-light.header-over-image .brand,
.site-header.header-light.header-over-image .desktop-nav a,
.site-header.header-light.header-over-image .text-action {
  text-shadow: 0 1px 10px rgba(0,0,0,.16);
}

@media (max-width: 760px) {
  .site-header.header-over-image::before {
    background: linear-gradient(
      180deg,
      rgba(22,16,13,.24) 0%,
      rgba(22,16,13,.08) 60%,
      rgba(22,16,13,0) 100%
    );
  }
}


/* =========================================================
   V23 — FIORAFIT CLUB
   Página nova, sem alterar os layouts aprovados existentes
   ========================================================= */
.club-page {
  background: var(--ivory);
  color: var(--espresso);
}
.club-page .site-header {
  color: #fff;
}
.club-page .desktop-nav a[aria-current="page"] {
  position: relative;
}
.club-page .desktop-nav a[aria-current="page"]::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -8px;
  height: 1px;
  background: var(--magenta);
}

.club-hero {
  min-height: 100svh;
  position: relative;
  overflow: hidden;
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .72fr);
  align-items: center;
  padding: 118px 5.5vw 70px;
}
.club-hero-media,
.club-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.club-hero-media img {
  object-fit: cover;
  object-position: center;
}
.club-hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(46,27,18,.82) 0%, rgba(46,27,18,.53) 46%, rgba(46,27,18,.72) 100%),
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.18));
}
.club-hero-copy,
.club-benefits {
  position: relative;
  z-index: 2;
}
.club-hero-copy {
  max-width: 620px;
}
.club-kicker {
  display: block;
  font: 500 11px/1.3 "Montserrat", var(--sans);
  letter-spacing: .24em;
  margin-bottom: 20px;
}
.club-kicker.dark { color: var(--espresso); }
.club-hero h1,
.club-plan h2,
.club-editorial h2,
.club-details-head h2,
.club-closing h2 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 400;
}
.club-hero h1 {
  font-size: clamp(66px, 6vw, 104px);
  line-height: .86;
  letter-spacing: -.03em;
}
.club-hero-copy > p {
  max-width: 490px;
  margin: 28px 0;
  font: 400 15px/1.55 "Montserrat", var(--sans);
  color: rgba(255,255,255,.88);
}
.club-primary-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 250px;
  min-height: 52px;
  padding: 0 26px;
  border-radius: 999px;
  background: var(--magenta);
  color: #fff;
  font: 600 11px/1 "Montserrat", var(--sans);
  letter-spacing: .12em;
  transition: transform .2s ease, opacity .2s ease;
}
.club-primary-cta:hover { transform: translateY(-1px); opacity: .92; }
.club-microline {
  display: block;
  margin-top: 24px;
  font: 500 7px/1.7 "Montserrat", var(--sans);
  letter-spacing: .28em;
  color: rgba(255,255,255,.72);
}
.club-benefits {
  padding-left: 5vw;
}
.club-benefits article {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 15px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.club-benefits article:last-child { border-bottom: 0; }
.benefit-icon {
  font: 300 30px/1 "Montserrat", sans-serif;
  color: rgba(255,255,255,.95);
}
.club-benefits strong {
  display: block;
  font: 600 11px/1.3 "Montserrat", var(--sans);
  letter-spacing: .02em;
}
.club-benefits p {
  margin: 4px 0 0;
  font: 400 11px/1.45 "Montserrat", var(--sans);
  color: rgba(255,255,255,.74);
}

.club-pillars {
  min-height: 102px;
  padding: 24px 5.5vw;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--ivory);
}
.club-pillars article {
  text-align: center;
  border-right: 1px solid rgba(73,60,52,.22);
}
.club-pillars article:last-child { border-right: 0; }
.club-pillars strong,
.club-pillars span { display: block; font-family: "Montserrat", var(--sans); }
.club-pillars strong {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .04em;
}
.club-pillars span {
  margin-top: 8px;
  font-size: 9px;
  color: rgba(73,60,52,.72);
  letter-spacing: .05em;
}

.club-plan-wrap { padding: 32px 4.2vw 10px; }
.club-plan {
  min-height: 205px;
  border-radius: 8px;
  padding: 38px 42px;
  color: #fff;
  background:
    linear-gradient(105deg, rgba(38,24,18,.98), rgba(73,43,33,.92)),
    var(--espresso);
  display: grid;
  grid-template-columns: 1.05fr .9fr .65fr;
  gap: 36px;
  align-items: center;
}
.club-plan-title > span {
  font: 500 10px "Montserrat", var(--sans);
  letter-spacing: .2em;
}
.club-plan h2 {
  margin-top: 12px;
  font-size: clamp(40px, 4vw, 62px);
  line-height: .92;
}
.club-plan-title p {
  margin: 15px 0 0;
  max-width: 430px;
  font: 400 11px/1.6 "Montserrat", var(--sans);
  color: rgba(255,255,255,.76);
}
.club-plan-title p strong { color: #fff; font-weight: 500; }
.club-plan-benefits {
  min-height: 130px;
  padding-left: 30px;
  border-left: 1px solid rgba(255,255,255,.25);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}
.club-plan-benefits span {
  font: 400 11px/1.35 "Montserrat", var(--sans);
}
.club-plan-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.club-plan-action .club-primary-cta { width: 100%; min-width: 0; }
.club-text-link {
  font: 500 9px "Montserrat", var(--sans);
  letter-spacing: .05em;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(255,255,255,.55);
}

.club-editorial {
  padding: 62px 5.5vw 70px;
  display: grid;
  grid-template-columns: .85fr 1.65fr;
  gap: 5vw;
  align-items: end;
}
.club-editorial-copy h2 {
  font-size: clamp(54px, 5vw, 86px);
  line-height: .87;
  letter-spacing: -.025em;
}
.club-editorial-copy p {
  max-width: 420px;
  margin: 18px 0 26px;
  font: 400 13px/1.55 "Montserrat", var(--sans);
  color: rgba(73,60,52,.76);
}
.club-magenta-link {
  display: inline-block;
  color: var(--magenta);
  font: 600 10px "Montserrat", var(--sans);
  letter-spacing: .09em;
  border-bottom: 1px solid currentColor;
  padding-bottom: 6px;
}
.club-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.club-cards article {
  min-width: 0;
}
.club-cards img {
  display: block;
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  margin-bottom: 12px;
}
.club-cards strong,
.club-cards span {
  display: block;
  font-family: "Montserrat", var(--sans);
}
.club-cards strong {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .06em;
}
.club-cards span {
  margin-top: 4px;
  font-size: 10px;
  color: rgba(73,60,52,.7);
}
.club-cards .member-card strong { color: var(--magenta); }

.club-details {
  padding: 80px 5.5vw 95px;
  background: #f2ebe5;
}
.club-details-head {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  align-items: end;
  margin-bottom: 52px;
}
.club-details-head h2 {
  font-size: clamp(60px, 6vw, 96px);
  line-height: .86;
}
.club-details-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(73,60,52,.18);
}
.club-details-grid article {
  padding: 32px 34px 36px 0;
  border-bottom: 1px solid rgba(73,60,52,.18);
}
.club-details-grid article:nth-child(3n+2),
.club-details-grid article:nth-child(3n+3) { padding-left: 34px; }
.club-details-grid article:nth-child(3n+2) { border-left: 1px solid rgba(73,60,52,.18); }
.club-details-grid article:nth-child(3n+3) { border-left: 1px solid rgba(73,60,52,.18); }
.club-details-grid span {
  font: 500 10px "Montserrat", var(--sans);
  letter-spacing: .14em;
  color: rgba(73,60,52,.5);
}
.club-details-grid h3 {
  margin: 18px 0 10px;
  font: 600 12px "Montserrat", var(--sans);
  letter-spacing: .08em;
}
.club-details-grid p {
  max-width: 320px;
  margin: 0;
  font: 400 12px/1.65 "Montserrat", var(--sans);
  color: rgba(73,60,52,.72);
}
.club-details-grid .member-detail span,
.club-details-grid .member-detail h3 { color: var(--magenta); }

.club-closing {
  min-height: 62vh;
  position: relative;
  overflow: hidden;
  color: #fff;
  display: flex;
  align-items: center;
}
.club-closing picture,
.club-closing picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.club-closing picture img { object-fit: cover; }
.club-closing-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(42,27,21,.72), rgba(42,27,21,.3));
}
.club-closing-copy {
  position: relative;
  z-index: 2;
  padding-left: 5.5vw;
}
.club-closing-copy > span {
  font: 500 10px "Montserrat", var(--sans);
  letter-spacing: .2em;
}
.club-closing h2 {
  margin-top: 18px;
  font-size: clamp(54px, 5.6vw, 88px);
  line-height: .9;
}
.club-closing p {
  margin: 24px 0;
  font: 500 9px "Montserrat", var(--sans);
  letter-spacing: .26em;
}

@media (max-width: 900px) {
  .club-hero {
    min-height: auto;
    grid-template-columns: 1fr;
    padding: 108px 22px 48px;
  }
  .club-hero-shade {
    background: linear-gradient(180deg, rgba(43,28,21,.48), rgba(43,28,21,.78));
  }
  .club-hero-copy { max-width: 100%; }
  .club-hero h1 { font-size: clamp(56px, 16vw, 76px); }
  .club-hero-copy > p { font-size: 13px; }
  .club-benefits {
    padding-left: 0;
    margin-top: 42px;
  }
  .club-pillars {
    grid-template-columns: 1fr 1fr;
    gap: 22px 0;
  }
  .club-pillars article:nth-child(2) { border-right: 0; }
  .club-pillars article:nth-child(3),
  .club-pillars article:nth-child(4) { padding-top: 18px; }
  .club-plan {
    grid-template-columns: 1fr;
    padding: 34px 24px;
  }
  .club-plan-benefits {
    padding: 24px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.22);
  }
  .club-editorial {
    grid-template-columns: 1fr;
    padding: 56px 22px;
  }
  .club-editorial-copy h2 { font-size: clamp(52px, 15vw, 72px); }
  .club-cards {
    grid-template-columns: 1fr 1fr;
    gap: 22px 12px;
  }
  .club-details {
    padding: 58px 22px 70px;
  }
  .club-details-head {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .club-details-head h2 { font-size: clamp(52px, 15vw, 74px); }
  .club-details-grid { grid-template-columns: 1fr; }
  .club-details-grid article,
  .club-details-grid article:nth-child(3n+2),
  .club-details-grid article:nth-child(3n+3) {
    padding: 28px 0;
    border-left: 0;
  }
  .club-closing {
    min-height: 66vh;
  }
  .club-closing-copy { padding: 0 22px; }
  .club-closing h2 { font-size: clamp(48px, 14vw, 70px); }
}

@media (max-width: 560px) {
  .club-primary-cta { width: 100%; min-width: 0; }
  .club-microline { font-size: 6px; }
  .club-cards { grid-template-columns: 1fr 1fr; }
  .club-cards strong, .club-cards span { font-size: 9px; }
}


/* =========================================================
   V24 — SOBRE FIORAFIT
   ========================================================= */
.about-page { background: var(--ivory); color: var(--espresso); }
.about-page .desktop-nav a[aria-current="page"] { position:relative; }
.about-page .desktop-nav a[aria-current="page"]::after {
  content:""; position:absolute; left:0; right:0; bottom:-8px; height:1px; background:var(--magenta);
}

.about-hero {
  position:relative; min-height:100svh; overflow:hidden; color:#fff;
  display:flex; align-items:center; padding:110px 5.5vw 70px;
}
.about-hero picture, .about-hero picture img {
  position:absolute; inset:0; width:100%; height:100%;
}
.about-hero picture img { object-fit:cover; object-position:center; }
.about-hero-shade {
  position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(40,24,17,.78),rgba(40,24,17,.22) 62%,rgba(40,24,17,.08));
}
.about-hero-copy { position:relative; z-index:2; max-width:720px; }
.about-hero-copy > span, .about-intro-label, .about-split-copy > span,
.about-values-head > span, .about-look-copy > span, .about-club-callout-copy > span,
.about-closing-copy > span {
  font:500 9px/1.4 "Montserrat",var(--sans); letter-spacing:.23em;
}
.about-hero h1 {
  margin:20px 0 22px; font:400 clamp(72px,7.4vw,124px)/.84 var(--serif); letter-spacing:-.035em;
}
.about-hero p { max-width:440px; margin:0; font:400 14px/1.6 "Montserrat",var(--sans); color:rgba(255,255,255,.86); }
.about-scroll {
  position:absolute; z-index:2; right:5.5vw; bottom:46px;
  font:500 7px "Montserrat",var(--sans); letter-spacing:.24em; color:rgba(255,255,255,.72);
}

.about-intro {
  padding:130px 7vw 145px; display:grid; grid-template-columns:.65fr 1.35fr; gap:6vw;
}
.about-intro-label { padding-top:15px; color:rgba(73,60,52,.62); }
.about-intro-copy { max-width:800px; }
.about-intro h2, .about-split h2, .about-values h2, .about-look h2,
.about-club-callout h2, .about-closing h2 {
  margin:0; font-family:var(--serif); font-weight:400; letter-spacing:-.025em;
}
.about-intro h2 { font-size:clamp(62px,6vw,100px); line-height:.88; }
.about-intro-copy p {
  max-width:600px; margin:28px 0 0; font:400 14px/1.8 "Montserrat",var(--sans); color:rgba(73,60,52,.78);
}
.about-intro-copy p:first-of-type { font-size:18px; color:var(--espresso); }

.about-statement {
  min-height:58vh; padding:80px 5vw; display:flex; align-items:center; justify-content:center;
  background:#efe6df; text-align:center;
}
.about-statement-inner > span { font:500 9px "Montserrat",var(--sans); letter-spacing:.28em; }
.about-statement h2 { margin:22px 0 18px; font:400 clamp(62px,7vw,112px)/.88 var(--serif); letter-spacing:-.03em; }
.about-statement p { margin:0; font:500 9px "Montserrat",var(--sans); letter-spacing:.24em; }

.about-split { display:grid; grid-template-columns:1.18fr .82fr; min-height:760px; }
.about-split-media { overflow:hidden; }
.about-split-media img { width:100%; height:100%; object-fit:cover; }
.about-split-copy {
  padding:90px 7vw; background:#3f3029; color:#fff; display:flex; flex-direction:column; justify-content:center;
}
.about-split-copy > span { color:rgba(255,255,255,.68); }
.about-split h2 { margin-top:24px; font-size:clamp(64px,6vw,96px); line-height:.86; }
.about-split p { max-width:430px; margin:24px 0 0; font:400 13px/1.75 "Montserrat",var(--sans); color:rgba(255,255,255,.76); }
.about-split a, .about-look-copy a {
  align-self:flex-start; margin-top:34px; padding-bottom:6px; border-bottom:1px solid currentColor;
  font:600 9px "Montserrat",var(--sans); letter-spacing:.1em;
}

.about-values { padding:120px 6vw 135px; }
.about-values-head { display:grid; grid-template-columns:.65fr 1.35fr; align-items:end; margin-bottom:72px; }
.about-values-head > span { color:rgba(73,60,52,.58); }
.about-values h2 { font-size:clamp(58px,5.5vw,92px); line-height:.88; }
.about-values-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(73,60,52,.2); }
.about-values-grid article { padding:30px 28px 12px 0; }
.about-values-grid article+article { border-left:1px solid rgba(73,60,52,.2); padding-left:28px; }
.about-values-grid span { font:500 9px "Montserrat",var(--sans); color:rgba(73,60,52,.48); }
.about-values-grid h3 { margin:22px 0 12px; font:600 11px "Montserrat",var(--sans); letter-spacing:.1em; }
.about-values-grid p { margin:0; font:400 12px/1.7 "Montserrat",var(--sans); color:rgba(73,60,52,.72); }

.about-look { display:grid; grid-template-columns:.8fr 1.2fr; min-height:720px; background:#e8ddd4; }
.about-look-copy { padding:90px 7vw; display:flex; flex-direction:column; justify-content:center; }
.about-look-copy > span { color:rgba(73,60,52,.58); }
.about-look h2 { margin-top:22px; font-size:clamp(62px,5.7vw,94px); line-height:.87; }
.about-look p { max-width:430px; margin:25px 0 0; font:400 13px/1.75 "Montserrat",var(--sans); color:rgba(73,60,52,.76); }
.about-look-media, .about-look-media img { width:100%; height:100%; }
.about-look-media { overflow:hidden; }
.about-look-media img { object-fit:cover; object-position:left center; }

.about-club-callout {
  min-height:570px; padding:90px 7vw; color:#fff; display:flex; align-items:center;
  background:linear-gradient(115deg,#2f211b,#54382e);
}
.about-club-callout-copy { max-width:850px; }
.about-club-callout h2 { margin:20px 0; font-size:clamp(70px,7vw,112px); line-height:.86; }
.about-club-callout p { max-width:650px; margin:0 0 30px; font:400 14px/1.7 "Montserrat",var(--sans); color:rgba(255,255,255,.8); }
.about-club-callout p strong { color:#fff; font-weight:500; }

.about-closing {
  min-height:62vh; padding:80px 5vw; display:flex; align-items:center; justify-content:center; text-align:center;
  background:var(--ivory);
}
.about-closing h2 { margin:20px 0; font-size:clamp(72px,8vw,128px); line-height:.84; }
.about-closing p { margin:0; font:500 8px "Montserrat",var(--sans); letter-spacing:.28em; color:rgba(73,60,52,.68); }

@media(max-width:760px){
  .about-hero { min-height:88svh; padding:100px 22px 48px; align-items:flex-end; }
  .about-hero picture img { object-position:left center; }
  .about-hero-shade { background:linear-gradient(180deg,rgba(40,24,17,.12),rgba(40,24,17,.72)); }
  .about-hero h1 { font-size:clamp(58px,17vw,78px); }
  .about-hero p { font-size:12px; }
  .about-scroll { display:none; }

  .about-intro { grid-template-columns:1fr; padding:78px 22px 88px; gap:32px; }
  .about-intro h2 { font-size:clamp(52px,15vw,70px); }
  .about-intro-copy p { font-size:13px; }
  .about-intro-copy p:first-of-type { font-size:16px; }

  .about-statement { min-height:48vh; padding:70px 22px; }
  .about-statement h2 { font-size:clamp(50px,15vw,70px); }

  .about-split { grid-template-columns:1fr; min-height:0; }
  .about-split-media { height:55vh; }
  .about-split-copy { padding:68px 22px 74px; }
  .about-split h2 { font-size:clamp(54px,16vw,72px); }

  .about-values { padding:78px 22px 88px; }
  .about-values-head { grid-template-columns:1fr; gap:20px; margin-bottom:44px; }
  .about-values h2 { font-size:clamp(50px,14vw,68px); }
  .about-values-grid { grid-template-columns:1fr; }
  .about-values-grid article, .about-values-grid article+article {
    padding:28px 0; border-left:0; border-bottom:1px solid rgba(73,60,52,.18);
  }

  .about-look { grid-template-columns:1fr; min-height:0; }
  .about-look-copy { padding:70px 22px; }
  .about-look h2 { font-size:clamp(52px,15vw,70px); }
  .about-look-media { height:60vh; order:-1; }

  .about-club-callout { min-height:540px; padding:72px 22px; }
  .about-club-callout h2 { font-size:clamp(58px,17vw,76px); }
  .about-club-callout .club-primary-cta { width:100%; }

  .about-closing { min-height:48vh; padding:70px 22px; }
  .about-closing h2 { font-size:clamp(58px,17vw,78px); }
}

/* V25 — BUSCA */
.search-page{background:var(--ivory);color:var(--espresso)}.search-page .search-header{color:var(--espresso)}.search-current{color:var(--magenta)!important}.search-main{padding-top:82px}.search-intro{padding:90px 7vw 82px;text-align:center;border-bottom:1px solid rgba(73,60,52,.14)}.search-kicker,.search-results-head span,.search-discover span,.search-member span{font:500 9px/1.4 Montserrat,sans-serif;letter-spacing:.23em}.search-kicker{color:rgba(73,60,52,.58)}.search-intro h1{margin:24px 0 18px;font:400 clamp(68px,7vw,112px)/.84 var(--serif);letter-spacing:-.035em}.search-intro>p{font:400 13px/1.6 Montserrat,sans-serif;color:rgba(73,60,52,.72)}.search-form{max-width:880px;margin:58px auto 0;display:flex;border-bottom:1px solid var(--espresso)}.search-form input{flex:1;min-width:0;padding:17px 4px;border:0;outline:0;background:transparent;color:var(--espresso);font:400 15px Montserrat,sans-serif;letter-spacing:.06em}.search-form input::placeholder{color:rgba(73,60,52,.48)}.search-form button{width:56px;border:0;background:transparent;color:var(--espresso);font:300 30px Montserrat;cursor:pointer}.search-suggestions{margin-top:24px;display:flex;justify-content:center;gap:22px;align-items:center}.search-suggestions span{font:500 8px Montserrat;letter-spacing:.16em;color:rgba(73,60,52,.45)}.search-suggestions a,.search-empty a,.search-discover a,.search-member a{font:600 9px Montserrat;letter-spacing:.1em;border-bottom:1px solid currentColor;padding-bottom:5px}.search-results{padding:70px 5.5vw 110px}.search-results-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:26px;border-bottom:1px solid rgba(73,60,52,.18)}.search-results-head span{color:rgba(73,60,52,.52)}.search-results-head h2{margin:10px 0 0;font:400 clamp(42px,4vw,62px) var(--serif)}.search-results-head p{font:500 9px Montserrat;letter-spacing:.12em;color:rgba(73,60,52,.58)}.search-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 18px;padding-top:38px}.search-product-image{display:block;position:relative;overflow:hidden;background:#eee5de}.search-product-image img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}.search-product-image:hover img{transform:scale(1.015)}.search-product-image span{position:absolute;top:14px;left:14px;padding:7px 10px;background:rgba(248,244,239,.9);font:600 8px Montserrat;letter-spacing:.13em}.search-product-info{padding-top:15px}.search-product-info h3{margin:0;font:500 12px Montserrat;letter-spacing:.06em}.search-product-info p{margin:7px 0 14px;font:400 11px/1.5 Montserrat;color:rgba(73,60,52,.72)}.search-product-info strong,.search-product-info>div{display:block;font:500 12px Montserrat;margin-top:6px}.search-product-info strong{color:var(--magenta)}.search-product-info small{margin-left:7px;font-size:8px;letter-spacing:.08em}.search-empty{text-align:center;padding:100px 20px}.search-empty>span{font:500 9px Montserrat;letter-spacing:.2em;color:rgba(73,60,52,.48)}.search-empty h2{margin:18px 0;font:400 clamp(58px,6vw,88px)/.86 var(--serif)}.search-empty p{max-width:480px;margin:0 auto 26px;font:400 12px/1.7 Montserrat;color:rgba(73,60,52,.7)}.search-discover{min-height:650px;display:grid;grid-template-columns:.72fr 1.28fr;background:#e9ded5}.search-discover>div{padding:80px 6vw;display:flex;flex-direction:column;justify-content:center}.search-discover span{color:rgba(73,60,52,.55)}.search-discover h2{margin:20px 0;font:400 clamp(56px,5vw,82px)/.87 var(--serif)}.search-discover p{font:400 12px Montserrat;color:rgba(73,60,52,.7);margin:0 0 28px}.search-discover a{align-self:flex-start}.search-discover picture,.search-discover img{width:100%;height:100%}.search-discover img{display:block;object-fit:cover;object-position:left center}.search-member{padding:76px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:#3b2c26;color:#fff}.search-member span{color:rgba(255,255,255,.65)}.search-member h2{margin:18px 0 0;font:400 clamp(52px,5vw,80px)/.87 var(--serif)}.search-member p{max-width:520px;margin:0 0 25px;font:400 13px/1.7 Montserrat;color:rgba(255,255,255,.78)}
@media(max-width:760px){.search-main{padding-top:70px}.search-intro{padding:70px 22px 60px}.search-intro h1{font-size:clamp(52px,15vw,70px)}.search-form{margin-top:42px}.search-form input{font-size:11px}.search-suggestions{gap:16px;flex-wrap:wrap}.search-results{padding:52px 18px 80px}.search-results-head{align-items:flex-start}.search-product-grid{grid-template-columns:1fr 1fr;gap:30px 10px}.search-product-info h3{font-size:10px}.search-product-info p{font-size:9px}.search-product-info strong,.search-product-info>div{font-size:10px}.search-product-info small{display:block;margin:4px 0 0;font-size:7px}.search-discover{grid-template-columns:1fr;min-height:0}.search-discover picture{height:58vh;order:-1}.search-discover>div{padding:62px 22px 70px}.search-discover h2{font-size:clamp(50px,14vw,66px)}.search-member{grid-template-columns:1fr;padding:62px 22px;gap:32px}.search-member h2{font-size:clamp(50px,14vw,66px)}}


/* =========================================================
   V26 — SACOLA FIORAFIT
   ========================================================= */
.bag-page { background:var(--ivory); color:var(--espresso); }
.bag-page .bag-header { color:var(--espresso); }
.bag-active { position:relative; }
.bag-count {
  position:absolute; top:-5px; right:-7px; width:16px; height:16px;
  border-radius:50%; display:grid; place-items:center;
  background:var(--magenta); color:#fff;
  font:600 7px "Montserrat",var(--sans);
}
.bag-main { padding-top:82px; }
.bag-title {
  padding:76px 5.5vw 42px;
  border-bottom:1px solid rgba(73,60,52,.15);
}
.bag-title > span, .bag-summary-kicker, .bag-collection,
.bag-closing > span {
  font:500 9px/1.4 "Montserrat",var(--sans); letter-spacing:.22em;
}
.bag-title > span { color:rgba(73,60,52,.54); }
.bag-title h1 {
  margin:16px 0 12px; font:400 clamp(64px,6vw,98px)/.88 var(--serif);
  letter-spacing:-.03em;
}
.bag-title p {
  margin:0; font:500 9px "Montserrat",var(--sans);
  letter-spacing:.12em; color:rgba(73,60,52,.58);
}

.bag-layout {
  padding:44px 5.5vw 100px;
  display:grid; grid-template-columns:minmax(0,1.55fr) minmax(340px,.72fr);
  gap:5vw; align-items:start;
}
.bag-items-head {
  display:grid; grid-template-columns:180px 1fr 145px; gap:24px;
  padding:0 0 13px; border-bottom:1px solid rgba(73,60,52,.18);
  font:500 8px "Montserrat",var(--sans); letter-spacing:.14em; color:rgba(73,60,52,.5);
}
.bag-items-head span:last-child { text-align:right; }
.bag-item {
  display:grid; grid-template-columns:180px 1fr 145px; gap:24px;
  padding:28px 0; border-bottom:1px solid rgba(73,60,52,.18);
}
.bag-item-image { display:block; background:#eee5de; overflow:hidden; }
.bag-item-image img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; }
.bag-item-details { padding:4px 0; }
.bag-collection { color:rgba(73,60,52,.5); }
.bag-item-details h2 {
  margin:10px 0 25px; font:500 17px "Montserrat",var(--sans); letter-spacing:.04em;
}
.bag-meta { display:flex; gap:36px; margin-bottom:23px; }
.bag-meta div > span, .bag-quantity > span {
  display:block; margin-bottom:5px;
  font:500 8px "Montserrat",var(--sans); letter-spacing:.12em; color:rgba(73,60,52,.5);
}
.bag-meta strong { font:500 10px "Montserrat",var(--sans); }
.bag-quantity { display:flex; align-items:center; gap:18px; }
.bag-quantity > span { margin:0; }
.bag-qty-control {
  display:flex; align-items:center; border:1px solid rgba(73,60,52,.22); min-height:34px;
}
.bag-qty-control button {
  width:34px; height:32px; border:0; background:transparent; cursor:pointer;
  color:var(--espresso); font:400 15px "Montserrat",sans-serif;
}
.bag-qty-control span {
  min-width:28px; text-align:center; font:500 10px "Montserrat",var(--sans);
}
.bag-remove {
  margin-top:22px; padding:0 0 4px; border:0; border-bottom:1px solid rgba(73,60,52,.4);
  background:transparent; color:rgba(73,60,52,.6); cursor:pointer;
  font:500 8px "Montserrat",var(--sans); letter-spacing:.1em;
}
.bag-item-price { text-align:right; padding-top:4px; }
.bag-item-price > strong {
  display:block; font:500 13px "Montserrat",var(--sans);
}
.bag-item-price > span {
  display:block; margin-top:5px; font:500 7px "Montserrat",var(--sans);
  letter-spacing:.1em; color:rgba(73,60,52,.48);
}
.bag-member-price {
  margin-top:18px; padding-top:16px; border-top:1px solid rgba(163,1,103,.18);
}
.bag-member-price b {
  display:block; color:var(--magenta); font:600 13px "Montserrat",var(--sans);
}
.bag-member-price small {
  display:block; margin-top:5px; color:var(--magenta);
  font:600 7px "Montserrat",var(--sans); letter-spacing:.1em;
}
.bag-continue {
  display:inline-block; margin-top:24px; padding-bottom:5px;
  border-bottom:1px solid currentColor;
  font:600 8px "Montserrat",var(--sans); letter-spacing:.1em;
}

.bag-summary { position:sticky; top:105px; }
.bag-summary-card { padding:30px; background:#efe6df; }
.bag-summary-kicker { color:rgba(73,60,52,.5); }
.bag-summary-card h2 {
  margin:12px 0 28px; font:400 42px/.9 var(--serif);
}
.bag-summary-line {
  padding:13px 0; display:flex; justify-content:space-between; gap:20px;
  border-bottom:1px solid rgba(73,60,52,.16);
}
.bag-summary-line span, .bag-summary-line strong {
  font:500 9px "Montserrat",var(--sans); letter-spacing:.05em;
}
.bag-summary-line.muted strong { font-size:7px; color:rgba(73,60,52,.55); }
.bag-coupon { padding:20px 0; border-bottom:1px solid rgba(73,60,52,.16); }
.bag-coupon label {
  display:block; margin-bottom:9px; font:500 8px "Montserrat",var(--sans); letter-spacing:.12em;
}
.bag-coupon > div { display:flex; border-bottom:1px solid rgba(73,60,52,.5); }
.bag-coupon input {
  min-width:0; flex:1; padding:10px 0; border:0; outline:0; background:transparent;
  font:500 9px "Montserrat",var(--sans); letter-spacing:.06em;
}
.bag-coupon button {
  border:0; background:transparent; cursor:pointer;
  font:600 8px "Montserrat",var(--sans); letter-spacing:.08em;
}
.bag-total {
  padding:22px 0; display:flex; justify-content:space-between; align-items:end;
}
.bag-total span { font:600 10px "Montserrat",var(--sans); letter-spacing:.1em; }
.bag-total strong { font:500 20px "Montserrat",var(--sans); }
.bag-checkout {
  min-height:54px; width:100%; display:flex; align-items:center; justify-content:center;
  background:var(--espresso); color:#fff;
  font:600 10px "Montserrat",var(--sans); letter-spacing:.12em;
}
.bag-secure {
  display:flex; justify-content:center; gap:18px; margin-top:16px;
  font:500 7px "Montserrat",var(--sans); letter-spacing:.06em; color:rgba(73,60,52,.55);
}
.bag-member-card {
  margin-top:16px; padding:25px 26px; display:grid; grid-template-columns:35px 1fr; gap:12px;
  border:1px solid rgba(163,1,103,.22); background:#fffaf7;
}
.bag-heart { color:var(--magenta); font:400 26px/1 "Montserrat",sans-serif; }
.bag-member-card > div > span {
  font:600 8px "Montserrat",var(--sans); letter-spacing:.14em; color:var(--magenta);
}
.bag-member-card h3 {
  margin:9px 0; font:500 13px/1.45 "Montserrat",var(--sans);
}
.bag-member-card h3 strong { color:var(--magenta); }
.bag-member-card p {
  margin:0 0 15px; font:400 10px/1.6 "Montserrat",var(--sans); color:rgba(73,60,52,.75);
}
.bag-member-card p b { color:var(--magenta); font-weight:600; }
.bag-member-card p strong { color:var(--espresso); font-weight:500; }
.bag-member-card a {
  color:var(--magenta); font:600 8px "Montserrat",var(--sans);
  letter-spacing:.08em; border-bottom:1px solid currentColor; padding-bottom:4px;
}

.bag-empty { padding:120px 22px; text-align:center; }
.bag-empty > span { font:500 9px "Montserrat",var(--sans); letter-spacing:.2em; color:rgba(73,60,52,.5); }
.bag-empty h2 { margin:20px 0 30px; font:400 clamp(62px,7vw,100px)/.85 var(--serif); }
.bag-empty a {
  display:inline-block; padding-bottom:6px; border-bottom:1px solid currentColor;
  font:600 9px "Montserrat",var(--sans); letter-spacing:.1em;
}
.bag-closing {
  padding:90px 22px; text-align:center; background:#3c2d27; color:#fff;
}
.bag-closing > span { color:rgba(255,255,255,.62); }
.bag-closing h2 {
  margin:20px 0; font:400 clamp(62px,7vw,104px)/.84 var(--serif);
}
.bag-closing p {
  margin:0; font:500 8px "Montserrat",var(--sans); letter-spacing:.24em; color:rgba(255,255,255,.68);
}

@media(max-width:900px) {
  .bag-layout { grid-template-columns:1fr; padding:32px 22px 75px; }
  .bag-summary { position:static; }
}
@media(max-width:620px) {
  .bag-main { padding-top:70px; }
  .bag-title { padding:58px 22px 30px; }
  .bag-title h1 { font-size:58px; }
  .bag-items-head { display:none; }
  .bag-item {
    grid-template-columns:110px 1fr; gap:16px; padding:22px 0;
  }
  .bag-item-price {
    grid-column:2; text-align:left; display:flex; gap:20px; align-items:flex-end;
    padding-top:0;
  }
  .bag-member-price {
    margin:0; padding:0 0 0 20px; border-top:0; border-left:1px solid rgba(163,1,103,.18);
  }
  .bag-item-details h2 { font-size:13px; margin-bottom:18px; }
  .bag-meta { gap:24px; margin-bottom:18px; }
  .bag-quantity { display:block; }
  .bag-quantity > span { margin-bottom:7px; }
  .bag-summary-card { padding:26px 20px; }
  .bag-summary-card h2 { font-size:38px; }
  .bag-member-card { padding:22px 18px; }
  .bag-closing { padding:72px 22px; }
  .bag-closing h2 { font-size:clamp(56px,17vw,74px); }
}


/* =========================================================
   V27 — CHECKOUT FIORAFIT
   ========================================================= */
.checkout-page { margin:0; background:var(--ivory); color:var(--espresso); }
.checkout-header {
  height:82px; padding:0 4.5vw; display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; border-bottom:1px solid rgba(73,60,52,.15); background:var(--ivory);
  position:relative; z-index:5;
}
.checkout-logo { font:500 22px "Montserrat",var(--sans); letter-spacing:.12em; }
.checkout-security, .checkout-back {
  font:500 8px "Montserrat",var(--sans); letter-spacing:.12em; color:rgba(73,60,52,.62);
}
.checkout-back { justify-self:end; border-bottom:1px solid rgba(73,60,52,.35); padding-bottom:4px; }

.checkout-layout { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr); min-height:calc(100vh - 82px); }
.checkout-form-side { padding:45px 7vw 100px; }
.checkout-summary-side { background:#efe6df; border-left:1px solid rgba(73,60,52,.14); }
.checkout-summary-inner { position:sticky; top:0; padding:55px 5vw 70px; }

.checkout-progress { display:flex; align-items:center; max-width:520px; gap:13px; }
.checkout-progress span { white-space:nowrap; font:600 7px "Montserrat",var(--sans); letter-spacing:.12em; color:rgba(73,60,52,.38); }
.checkout-progress span.active { color:var(--espresso); }
.checkout-progress i { width:46px; height:1px; background:rgba(73,60,52,.2); }

.checkout-intro { padding:62px 0 58px; }
.checkout-intro > span { font:500 9px "Montserrat",var(--sans); letter-spacing:.22em; color:rgba(73,60,52,.52); }
.checkout-intro h1 { margin:18px 0 0; font:400 clamp(62px,5.8vw,96px)/.85 var(--serif); letter-spacing:-.03em; }

.checkout-step { padding:34px 0 45px; border-top:1px solid rgba(73,60,52,.2); }
.checkout-step-title { display:grid; grid-template-columns:40px 1fr; gap:12px; margin-bottom:28px; }
.checkout-step-title > span { font:500 9px "Montserrat",var(--sans); color:rgba(73,60,52,.42); }
.checkout-step-title h2 { margin:0; font:600 11px "Montserrat",var(--sans); letter-spacing:.11em; }
.checkout-step-title p { margin:6px 0 0; font:400 10px/1.5 "Montserrat",var(--sans); color:rgba(73,60,52,.64); }

.checkout-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px 14px; }
.checkout-fields label { display:block; }
.checkout-fields label.full { grid-column:1/-1; }
.checkout-fields label > span, .field-caption {
  display:block; margin-bottom:8px; font:600 8px "Montserrat",var(--sans); letter-spacing:.1em; color:rgba(73,60,52,.62);
}
.checkout-fields input, .checkout-fields select {
  width:100%; box-sizing:border-box; border:1px solid rgba(73,60,52,.24); border-radius:0;
  background:rgba(255,255,255,.28); color:var(--espresso); outline:0;
  padding:15px 13px; min-height:49px; font:400 11px "Montserrat",var(--sans);
}
.checkout-fields input:focus, .checkout-fields select:focus { border-color:var(--espresso); }
.checkout-fields input::placeholder { color:rgba(73,60,52,.38); }
.checkout-cep-help { display:flex; align-items:end; padding-bottom:15px; }
.checkout-cep-help a { font:500 7px "Montserrat",var(--sans); letter-spacing:.08em; border-bottom:1px solid currentColor; }

.shipping-options { margin-top:28px; }
.shipping-option {
  display:grid; grid-template-columns:20px 1fr auto; gap:12px; align-items:center;
  padding:17px; border:1px solid rgba(73,60,52,.22); cursor:pointer;
}
.shipping-option.selected { border-color:var(--espresso); }
.shipping-option input { position:absolute; opacity:0; pointer-events:none; }
.radio-dot { width:11px; height:11px; border:1px solid var(--espresso); border-radius:50%; position:relative; }
.shipping-option.selected .radio-dot::after {
  content:""; position:absolute; inset:2px; border-radius:50%; background:var(--espresso);
}
.shipping-option strong { display:block; font:600 9px "Montserrat",var(--sans); letter-spacing:.05em; }
.shipping-option small { display:block; margin-top:4px; font:400 8px/1.45 "Montserrat",var(--sans); color:rgba(73,60,52,.58); }
.shipping-option b { font:600 8px "Montserrat",var(--sans); }

.payment-tabs { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid rgba(73,60,52,.2); margin-bottom:26px; }
.payment-tabs button {
  padding:15px; border:0; border-bottom:2px solid transparent; background:transparent; cursor:pointer;
  color:rgba(73,60,52,.48); font:600 9px "Montserrat",var(--sans); letter-spacing:.1em;
}
.payment-tabs button.active { color:var(--espresso); border-bottom-color:var(--magenta); }
.payment-panel { display:none; }
.payment-panel.active { display:block; }
.pix-box { padding:30px; border:1px solid rgba(73,60,52,.2); }
.pix-box > span { color:var(--magenta); font:600 9px "Montserrat",var(--sans); letter-spacing:.12em; }
.pix-box h3 { margin:14px 0 9px; font:500 20px "Montserrat",var(--sans); }
.pix-box p { margin:0; max-width:500px; font:400 10px/1.65 "Montserrat",var(--sans); color:rgba(73,60,52,.65); }

.checkout-consent { display:flex; gap:10px; align-items:flex-start; margin:25px 0; }
.checkout-consent input { margin-top:2px; accent-color:var(--magenta); }
.checkout-consent span { font:400 9px/1.5 "Montserrat",var(--sans); color:rgba(73,60,52,.68); }
.checkout-submit {
  width:100%; min-height:57px; border:0; background:var(--espresso); color:#fff; cursor:pointer;
  font:600 10px "Montserrat",var(--sans); letter-spacing:.13em;
}
.checkout-submit-note { text-align:center; margin:15px 0 0; font:500 7px "Montserrat",var(--sans); letter-spacing:.1em; color:rgba(73,60,52,.48); }

.checkout-summary-heading { display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid rgba(73,60,52,.18); }
.checkout-summary-heading span { font:600 10px "Montserrat",var(--sans); letter-spacing:.12em; }
.checkout-summary-heading a { font:500 8px "Montserrat",var(--sans); border-bottom:1px solid currentColor; padding-bottom:3px; }
.checkout-product { display:grid; grid-template-columns:86px 1fr auto; gap:15px; align-items:center; padding:25px 0; border-bottom:1px solid rgba(73,60,52,.18); }
.checkout-product-image { position:relative; }
.checkout-product-image img { display:block; width:86px; aspect-ratio:4/5; object-fit:cover; }
.checkout-product-image > span {
  position:absolute; right:-7px; top:-7px; width:20px; height:20px; display:grid; place-items:center;
  border-radius:50%; background:var(--espresso); color:#fff; font:600 8px "Montserrat",var(--sans);
}
.checkout-product-copy small { font:500 7px "Montserrat",var(--sans); letter-spacing:.12em; color:rgba(73,60,52,.48); }
.checkout-product-copy h2 { margin:7px 0; font:600 10px "Montserrat",var(--sans); letter-spacing:.05em; }
.checkout-product-copy p { margin:0; font:400 9px "Montserrat",var(--sans); color:rgba(73,60,52,.62); }
.checkout-product > strong { font:500 11px "Montserrat",var(--sans); }

.checkout-coupon { display:flex; gap:8px; padding:22px 0; border-bottom:1px solid rgba(73,60,52,.18); }
.checkout-coupon input {
  min-width:0; flex:1; padding:13px; border:1px solid rgba(73,60,52,.22); background:rgba(255,255,255,.28);
  outline:0; font:500 9px "Montserrat",var(--sans);
}
.checkout-coupon button {
  padding:0 16px; border:1px solid var(--espresso); background:transparent; cursor:pointer;
  font:600 8px "Montserrat",var(--sans); letter-spacing:.08em;
}
.checkout-totals { padding:18px 0; }
.checkout-totals > div { display:flex; justify-content:space-between; padding:8px 0; }
.checkout-totals span, .checkout-totals strong { font:500 9px "Montserrat",var(--sans); }
.checkout-totals .checkout-total { margin-top:8px; padding-top:18px; border-top:1px solid rgba(73,60,52,.18); }
.checkout-totals .checkout-total span { font-weight:600; letter-spacing:.1em; }
.checkout-totals .checkout-total strong { font-size:19px; }

.checkout-member {
  display:grid; grid-template-columns:34px 1fr; gap:12px; margin-top:16px; padding:22px;
  border:1px solid rgba(163,1,103,.22); background:#fffaf7;
}
.member-heart { color:var(--magenta); font:400 25px/1 "Montserrat",sans-serif; }
.checkout-member small { color:var(--magenta); font:600 7px "Montserrat",var(--sans); letter-spacing:.13em; }
.checkout-member h3 { margin:8px 0; font:500 11px/1.5 "Montserrat",var(--sans); }
.checkout-member h3 strong { color:var(--magenta); }
.checkout-member p { margin:0 0 12px; font:400 9px/1.55 "Montserrat",var(--sans); color:rgba(73,60,52,.7); }
.checkout-member p b { color:var(--magenta); }
.checkout-member a { color:var(--magenta); font:600 7px "Montserrat",var(--sans); letter-spacing:.08em; border-bottom:1px solid currentColor; padding-bottom:3px; }
.checkout-trust { display:flex; justify-content:space-between; gap:10px; margin-top:25px; font:500 6.5px "Montserrat",var(--sans); letter-spacing:.06em; color:rgba(73,60,52,.48); }

.checkout-demo-message {
  position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px;
  background:rgba(45,43,42,.7); backdrop-filter:blur(6px);
}
.checkout-demo-message[hidden] { display:none; }
.checkout-demo-message > div { max-width:520px; padding:50px 40px; text-align:center; background:var(--ivory); }
.checkout-demo-message span { font:500 8px "Montserrat",var(--sans); letter-spacing:.2em; }
.checkout-demo-message h2 { margin:15px 0; font:400 62px/.9 var(--serif); }
.checkout-demo-message p { font:400 10px/1.7 "Montserrat",var(--sans); color:rgba(73,60,52,.68); }
.checkout-demo-message button {
  margin-top:15px; padding:14px 20px; border:0; background:var(--espresso); color:#fff; cursor:pointer;
  font:600 8px "Montserrat",var(--sans); letter-spacing:.1em;
}

@media(max-width:900px) {
  .checkout-layout { grid-template-columns:1fr; }
  .checkout-summary-side { grid-row:1; border-left:0; border-bottom:1px solid rgba(73,60,52,.15); }
  .checkout-summary-inner { position:static; padding:35px 22px; }
  .checkout-form-side { padding:45px 22px 80px; }
}
@media(max-width:600px) {
  .checkout-header { height:70px; padding:0 18px; grid-template-columns:1fr auto; }
  .checkout-security { display:none; }
  .checkout-logo { font-size:18px; }
  .checkout-back { font-size:7px; }
  .checkout-progress { gap:7px; }
  .checkout-progress i { width:20px; }
  .checkout-progress span { font-size:6px; }
  .checkout-intro { padding:48px 0 45px; }
  .checkout-intro h1 { font-size:clamp(54px,16vw,70px); }
  .checkout-fields { grid-template-columns:1fr; }
  .checkout-fields label.full { grid-column:auto; }
  .checkout-cep-help { padding-bottom:0; }
  .checkout-product { grid-template-columns:72px 1fr; }
  .checkout-product-image img { width:72px; }
  .checkout-product > strong { grid-column:2; }
  .shipping-option { grid-template-columns:18px 1fr; }
  .shipping-option > b { grid-column:2; }
  .checkout-trust { flex-direction:column; }
}

/* V28 — CONTA / AREA DA CLIENTE */
.account-page{background:var(--ivory);color:var(--espresso)}.account-main{padding-top:82px}.account-header{color:var(--espresso)}.account-link{font:500 9px "Montserrat",var(--sans);letter-spacing:.1em;margin-left:18px}.account-current{color:var(--magenta)}
.account-hero{padding:90px 7vw 75px;text-align:center;border-bottom:1px solid rgba(73,60,52,.15)}.account-hero>span,.auth-panel>span,.account-club-teaser span,.member-dashboard-head span,.member-status small,.dash-section-head>span{font:500 9px "Montserrat",var(--sans);letter-spacing:.22em;color:rgba(73,60,52,.52)}.account-hero h1{margin:22px 0 18px;font:400 clamp(66px,7vw,108px)/.84 var(--serif);letter-spacing:-.035em}.account-hero p{margin:0;font:400 12px/1.7 "Montserrat",var(--sans);color:rgba(73,60,52,.7)}
.auth-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1120px;margin:0 auto;padding:80px 5vw 110px;gap:0}.auth-panel{padding:10px 7vw 20px 0}.auth-panel+.auth-panel{padding-left:7vw;padding-right:0;border-left:1px solid rgba(73,60,52,.18)}.auth-panel h2{margin:14px 0 30px;font:400 55px/.9 var(--serif)}.auth-panel>p{font:400 11px/1.7 "Montserrat",var(--sans);color:rgba(73,60,52,.68);margin:-12px 0 25px}.auth-panel label{display:block;margin-bottom:18px;font:600 8px "Montserrat",var(--sans);letter-spacing:.1em}.auth-panel input[type=email],.auth-panel input[type=password],.auth-panel input[type=text]{width:100%;box-sizing:border-box;margin-top:8px;padding:15px 12px;border:1px solid rgba(73,60,52,.23);background:transparent;outline:0;font:400 11px "Montserrat",var(--sans)}.auth-panel input:focus{border-color:var(--espresso)}.auth-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-help{display:flex;justify-content:space-between;align-items:center;margin:-3px 0 22px}.auth-help .remember{margin:0;font-size:7px;color:rgba(73,60,52,.6)}.auth-help a{font:500 7px "Montserrat",var(--sans);border-bottom:1px solid currentColor;padding-bottom:3px}.auth-panel form>button{width:100%;min-height:52px;border:0;background:var(--espresso);color:#fff;cursor:pointer;font:600 9px "Montserrat",var(--sans);letter-spacing:.12em}.auth-demo{margin:12px 0 0!important;font-size:8px!important}.account-club-teaser{padding:75px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:#3b2c26;color:#fff}.account-club-teaser span{color:rgba(255,255,255,.62)}.account-club-teaser h2{margin:17px 0 0;font:400 clamp(54px,5vw,78px)/.86 var(--serif)}.account-club-teaser p{font:400 12px/1.7 "Montserrat",var(--sans);color:rgba(255,255,255,.75)}.account-club-teaser a{display:inline-block;margin-top:12px;padding-bottom:5px;border-bottom:1px solid;font:600 8px "Montserrat",var(--sans);letter-spacing:.1em}
.member-dashboard-head{padding:75px 5.5vw 48px;display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(73,60,52,.15)}.member-dashboard-head h1{margin:14px 0 10px;font:400 clamp(64px,6vw,96px)/.86 var(--serif)}.member-dashboard-head p{margin:0;font:400 11px "Montserrat",var(--sans);color:rgba(73,60,52,.65)}.member-dashboard-head>a{font:500 7px "Montserrat",var(--sans);letter-spacing:.08em;border-bottom:1px solid;padding-bottom:4px}.member-status{margin:32px 5.5vw 0;padding:26px 30px;display:grid;grid-template-columns:40px 1fr auto;gap:16px;align-items:center;border:1px solid rgba(163,1,103,.24);background:#fffaf7}.member-status-heart{font:400 30px "Montserrat";color:var(--magenta)}.member-status small{color:var(--magenta)}.member-status h2{margin:7px 0;font:600 13px "Montserrat",var(--sans);letter-spacing:.04em;color:var(--magenta)}.member-status p{margin:0;font:400 10px/1.5 "Montserrat",var(--sans);color:rgba(73,60,52,.7)}.member-status>a{font:600 8px "Montserrat",var(--sans);letter-spacing:.08em;color:var(--magenta);border-bottom:1px solid;padding-bottom:4px}
.dashboard-layout{padding:55px 5.5vw 110px;display:grid;grid-template-columns:190px 1fr;gap:6vw}.dashboard-nav{display:flex;flex-direction:column;align-items:flex-start;gap:20px;position:sticky;top:110px;align-self:start}.dashboard-nav a{font:600 8px "Montserrat",var(--sans);letter-spacing:.1em;color:rgba(73,60,52,.52)}.dashboard-nav a.active{color:var(--espresso);border-bottom:1px solid;padding-bottom:4px}.dashboard-nav .club-nav{color:var(--magenta);margin-top:10px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dashboard-grid article{min-height:235px;padding:25px;display:flex;flex-direction:column;border:1px solid rgba(73,60,52,.16)}.dashboard-grid article>span{font:500 8px "Montserrat";color:rgba(73,60,52,.4)}.dashboard-grid h3{margin:20px 0 9px;font:600 11px "Montserrat";letter-spacing:.08em}.dashboard-grid p{margin:0;font:400 9px/1.6 "Montserrat";color:rgba(73,60,52,.62)}.dashboard-grid b{margin-top:auto;font:500 9px "Montserrat"}.dashboard-grid a{margin-top:12px;align-self:flex-start;font:600 7px "Montserrat";letter-spacing:.08em;border-bottom:1px solid;padding-bottom:3px}.dash-section-head{padding:85px 0 25px}.dash-section-head h2{margin:14px 0 0;font:400 clamp(48px,4.5vw,70px)/.87 var(--serif)}.order-card{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:20px;align-items:center;padding:24px;border-top:1px solid rgba(73,60,52,.18);border-bottom:1px solid rgba(73,60,52,.18)}.order-card small{display:block;margin-bottom:6px;font:500 7px "Montserrat";letter-spacing:.1em;color:rgba(73,60,52,.5)}.order-card strong{font:500 9px "Montserrat"}.order-status{color:var(--magenta)}.order-card>a{font:600 7px "Montserrat";border-bottom:1px solid;padding-bottom:3px}.favorite-card{display:grid;grid-template-columns:180px 1fr;gap:25px;max-width:600px}.favorite-card img{width:180px;aspect-ratio:4/5;object-fit:cover}.favorite-card>div{padding-top:8px}.favorite-card small{font:500 7px "Montserrat";letter-spacing:.12em;color:rgba(73,60,52,.5)}.favorite-card h3{margin:10px 0 20px;font:600 13px "Montserrat"}.favorite-card strong{display:block;color:var(--magenta);font:600 11px "Montserrat"}.favorite-card strong em{font-style:normal;font-size:7px;letter-spacing:.08em}.favorite-card>div>span{display:block;margin:7px 0 22px;font:500 9px "Montserrat";color:rgba(73,60,52,.7)}.favorite-card>div>a{font:600 7px "Montserrat";letter-spacing:.08em;border-bottom:1px solid;padding-bottom:3px}.profile-lines{max-width:650px;border-top:1px solid rgba(73,60,52,.18)}.profile-lines>div{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid rgba(73,60,52,.18)}.profile-lines span{font:500 8px "Montserrat";letter-spacing:.1em;color:rgba(73,60,52,.5)}.profile-lines strong{font:500 9px "Montserrat"}.profile-lines button{margin-top:22px;padding:12px 18px;border:1px solid var(--espresso);background:transparent;font:600 8px "Montserrat";letter-spacing:.08em}
@media(max-width:800px){.account-main{padding-top:70px}.account-link{display:none}.account-hero{padding:70px 22px 58px}.account-hero h1{font-size:clamp(54px,15vw,72px)}.auth-layout{grid-template-columns:1fr;padding:55px 22px 75px}.auth-panel,.auth-panel+.auth-panel{padding:20px 0 50px;border-left:0}.auth-panel+.auth-panel{padding-top:50px;border-top:1px solid rgba(73,60,52,.18)}.account-club-teaser{grid-template-columns:1fr;padding:62px 22px;gap:25px}.member-dashboard-head{padding:58px 22px 35px;display:block}.member-dashboard-head>a{display:inline-block;margin-top:25px}.member-status{margin:22px;padding:22px;grid-template-columns:32px 1fr}.member-status>a{grid-column:2}.dashboard-layout{padding:45px 22px 80px;grid-template-columns:1fr}.dashboard-nav{position:static;flex-direction:row;overflow:auto;white-space:nowrap;padding-bottom:15px}.dashboard-grid{grid-template-columns:1fr}.order-card{grid-template-columns:1fr 1fr}.order-card>a{grid-column:1/-1;justify-self:start}.favorite-card{grid-template-columns:120px 1fr}.favorite-card img{width:120px}.auth-two{grid-template-columns:1fr}}

/* =========================================================
   V30 — PRIMEIRA COMPRA / LEAD POP-UP
   ========================================================= */
.first-purchase-footer{border:0;background:transparent;color:inherit;font:500 8px/1.4 var(--sans);letter-spacing:.12em;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.first-purchase-open{overflow:hidden}
.first-purchase-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px}
.first-purchase-modal[hidden]{display:none}
.first-purchase-backdrop{position:absolute;inset:0;border:0;background:rgba(45,43,42,.52);backdrop-filter:blur(4px);cursor:pointer}
.first-purchase-card{position:relative;width:min(92vw,620px);min-height:560px;padding:44px 54px 48px;background:#F8F4EF;color:#493C34;box-shadow:0 25px 80px rgba(45,43,42,.18);display:flex;flex-direction:column;justify-content:center}
.first-purchase-card:before{content:"";position:absolute;inset:13px;border:1px solid rgba(73,60,52,.12);pointer-events:none}
.first-purchase-close{position:absolute;right:25px;top:20px;z-index:2;border:0;background:transparent;color:#493C34;font:300 28px/1 Arial;cursor:pointer}
.first-purchase-mark{position:absolute;top:28px;left:32px;font:600 7px/1.4 var(--sans);letter-spacing:.2em;color:rgba(73,60,52,.48)}
.first-purchase-content,.first-purchase-success{text-align:center;position:relative;z-index:1}
.first-purchase-kicker{margin:0 0 12px;font:600 9px/1.4 var(--sans);letter-spacing:.18em;color:#A30167}
.first-purchase-content h2{margin:0;font:400 clamp(76px,9vw,112px)/.78 var(--serif);letter-spacing:-.04em}
.first-purchase-copy{max-width:390px;margin:25px auto 30px;font:400 12px/1.7 var(--sans);color:rgba(73,60,52,.76)}
.first-purchase-form{text-align:left;max-width:420px;margin:0 auto}
.first-purchase-email span{display:block;margin-bottom:8px;font:600 8px var(--sans);letter-spacing:.12em}
.first-purchase-email input{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid rgba(73,60,52,.48);background:transparent;padding:12px 0 13px;outline:0;color:#493C34;font:400 12px var(--sans)}
.first-purchase-email input:focus{border-color:#493C34}
.first-purchase-consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0 22px;cursor:pointer}
.first-purchase-consent input{margin-top:2px;accent-color:#A30167}
.first-purchase-consent span{font:400 9px/1.55 var(--sans);color:rgba(73,60,52,.72)}
.first-purchase-form button{width:100%;min-height:52px;border:0;background:#493C34;color:#fff;cursor:pointer;font:600 9px var(--sans);letter-spacing:.12em}
.first-purchase-form button:disabled{opacity:.6;cursor:wait}
.first-purchase-error{min-height:16px;margin:10px 0 0;text-align:center;color:#A30167;font:500 9px/1.4 var(--sans)}
.first-purchase-legal{max-width:390px;margin:13px auto 0;font:400 7.5px/1.5 var(--sans);color:rgba(73,60,52,.48)}
.first-purchase-success h2{margin:12px 0 22px;font:400 clamp(48px,6vw,72px)/.88 var(--serif);letter-spacing:-.03em}
.first-purchase-success>p:not(.first-purchase-kicker){max-width:390px;margin:0 auto 22px;font:400 11px/1.65 var(--sans);color:rgba(73,60,52,.72)}
.first-purchase-code{display:block;margin:0 auto 25px;padding:14px 18px;border:1px solid rgba(163,1,103,.3);color:#A30167;font:600 10px var(--sans);letter-spacing:.15em}
.first-purchase-success button{border:0;border-bottom:1px solid currentColor;background:transparent;color:#493C34;padding:0 0 5px;cursor:pointer;font:600 8px var(--sans);letter-spacing:.1em}
@media(max-width:620px){.first-purchase-modal{padding:14px}.first-purchase-card{width:100%;min-height:520px;padding:50px 28px 38px}.first-purchase-mark{left:25px;top:24px}.first-purchase-content h2{font-size:76px}.first-purchase-copy{font-size:11px}.first-purchase-footer{width:100%;margin-top:18px;text-align:left}}
