/* Otimizações Filó Rendeira - menu mobile e marca centralizados em arquivo externo. */
/* filo-menu-limpo-v4-css */
/* Menu limpo V4: usa IDs novos para não conflitar com . */
#navbar { z-index: 2147483000 !important; overflow: visible !important; pointer-events: auto !important; }
#navbar .filo-nav-shell {
  width: min(1280px, calc(100vw - 1.5rem)) !important;
  max-width: 1280px !important;
  min-height: 70px !important;
  padding: .82rem .92rem !important;
  border-radius: 1.65rem !important;
  background: rgba(255,255,255,.90) !important;
  border: 1px solid rgba(216,167,177,.28) !important;
  box-shadow: 0 16px 48px rgba(74,55,40,.08) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  gap: .85rem !important;
  overflow: visible !important;
}
#navbar .nav-brand {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: calc(100vw - 7.6rem) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.02 !important;
  color: var(--brand-brown) !important;
}
#navbar .nav-brand-chip {
  display: inline-flex !important;
  margin-top: .22rem !important;
  padding: .13rem .56rem !important;
  border-radius: 999px !important;
  font-family: Montserrat, sans-serif !important;
  font-size: .55rem !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--brand-pink-dark) !important;
  background: rgba(250,218,221,.55) !important;
  border: 1px solid rgba(216,167,177,.28) !important;
}
#navbar #desktop-nav { display: none !important; visibility: hidden !important; pointer-events: none !important; }
#filo-mobile-menu-toggle {
  display: inline-flex !important;
  flex: 0 0 58px !important;
  width: 58px !important;
  height: 58px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(250,218,221,.58) !important;
  border: 1px solid rgba(216,167,177,.42) !important;
  color: var(--brand-brown) !important;
  box-shadow: 0 12px 30px rgba(74,55,40,.08) !important;
  position: relative !important;
  z-index: 2147483002 !important;
  cursor: pointer !important;
}
#filo-mobile-menu-toggle svg { pointer-events: none !important; }
#filo-mobile-menu {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 2147483647 !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: calc(1.25rem + env(safe-area-inset-top)) 1rem calc(1.25rem + env(safe-area-inset-bottom)) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  background: radial-gradient(circle at 20% 12%, rgba(250,218,221,.98), transparent 18rem), linear-gradient(145deg, rgba(255,253,252,.98), rgba(250,249,246,.98)) !important;
}
#filo-mobile-menu.is-open {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
#filo-mobile-menu .filo-mobile-menu-close {
  position: fixed !important;
  top: calc(1rem + env(safe-area-inset-top)) !important;
  right: 1rem !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.95) !important;
  border: 1px solid rgba(216,167,177,.40) !important;
  box-shadow: 0 12px 30px rgba(74,55,40,.12) !important;
  color: var(--brand-brown) !important;
  font-size: 2rem !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}
#filo-mobile-menu .filo-mobile-menu-card {
  width: min(100%, 420px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: .75rem !important;
  padding: 1.35rem !important;
  border-radius: 2rem !important;
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(216,167,177,.28) !important;
  box-shadow: 0 24px 80px rgba(74,55,40,.12) !important;
}
#filo-mobile-menu .filo-mobile-menu-eyebrow {
  margin: 0 0 .25rem !important;
  text-align: center !important;
  font-size: .72rem !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--brand-pink-dark) !important;
}
#filo-mobile-menu a {
  min-height: 48px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-family: Montserrat, sans-serif !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--brand-brown) !important;
  background: rgba(250,218,221,.34) !important;
  border: 1px solid rgba(216,167,177,.20) !important;
}
#filo-mobile-menu a.filo-mobile-menu-cta {
  color: #fff !important;
  background: var(--brand-pink-dark) !important;
  border-color: var(--brand-pink-dark) !important;
  box-shadow: 0 12px 30px rgba(216,167,177,.30) !important;
}
html.filo-menu-lock, body.filo-menu-lock { overflow: hidden !important; }
@media (max-width: 420px) {
  #navbar { padding-left: .65rem !important; padding-right: .65rem !important; }
  #navbar .filo-nav-shell { width: calc(100vw - 1rem) !important; min-height: 68px !important; padding: .76rem .76rem !important; border-radius: 1.35rem !important; }
  #navbar .nav-brand { font-size: clamp(1.55rem, 7.2vw, 2.15rem) !important; max-width: calc(100vw - 7.1rem) !important; }
  #filo-mobile-menu-toggle { width: 54px !important; height: 54px !important; flex-basis: 54px !important; }
}
@media (min-width: 1280px) {
  #navbar .filo-nav-shell { padding: .75rem 1rem !important; }
  #navbar #desktop-nav {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(1.05rem, 1.15vw, 1.55rem) !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin-left: clamp(1.2rem, 2.2vw, 2.4rem) !important;
    white-space: nowrap !important;
    font-size: .68rem !important;
    letter-spacing: .16em !important;
  }
  #navbar #desktop-nav > a { white-space: nowrap !important; flex: 0 0 auto !important; }
  #navbar #desktop-nav .nav-contact-icons { display: none !important; }
  #navbar #desktop-nav .nav-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 176px !important;
    padding: .72rem 1.05rem !important;
    border-radius: 999px !important;
    background: var(--brand-pink-dark) !important;
    color: #fff !important;
    text-align: center !important;
  }
  #filo-mobile-menu-toggle { display: none !important; }
}
@media (min-width: 1536px) {
  #navbar #desktop-nav { gap: clamp(1.15rem, 1.25vw, 1.8rem) !important; font-size: .72rem !important; }
  #navbar #desktop-nav .nav-contact-icons { display: inline-flex !important; gap: .55rem !important; }
}

/* filo-logo-single-atelier-final */
/* Correção final da marca: evita corte no nome e garante apenas um selo Atelier. */
#navbar .nav-brand,
#navbar a.nav-brand,
#navbar > .max-w-7xl > a.nav-brand,
#navbar .filo-nav-shell > a.nav-brand {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0 !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  line-height: 1.02 !important;
  padding-right: .35rem !important;
  flex: 0 0 auto !important;
}
#navbar .nav-brand::before,
#navbar .nav-brand::after {
  content: none !important;
  display: none !important;
}
#navbar .nav-brand .nav-brand-chip {
  display: inline-flex !important;
  width: fit-content !important;
  margin-top: .2rem !important;
  padding: .13rem .56rem !important;
  border-radius: 999px !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: .55rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: var(--brand-pink-dark) !important;
  border: 1px solid var(--brand-pink-dark) !important;
  box-shadow: 0 10px 24px rgba(216,167,177,.24) !important;
}
#navbar .nav-brand .nav-brand-chip ~ .nav-brand-chip,
#navbar .nav-brand span:not(.nav-brand-chip) {
  display: none !important;
}
@media (max-width: 560px) {
  #navbar .nav-brand,
  #navbar a.nav-brand,
  #navbar > .max-w-7xl > a.nav-brand,
  #navbar .filo-nav-shell > a.nav-brand {
    min-width: 0 !important;
    max-width: calc(100vw - 6.7rem) !important;
    font-size: clamp(1.38rem, 6.4vw, 1.82rem) !important;
    overflow: visible !important;
    white-space: nowrap !important;
  }
  #navbar .nav-brand .nav-brand-chip {
    font-size: .46rem !important;
    padding: .1rem .42rem !important;
    margin-top: .16rem !important;
  }
}
@media (max-width: 360px) {
  #navbar .nav-brand,
  #navbar a.nav-brand {
    font-size: clamp(1.24rem, 6vw, 1.6rem) !important;
    max-width: calc(100vw - 6.4rem) !important;
  }
}



/* FILÓ RENDEIRA — AJUSTE V37: HERO AUTOMÁTICO E PROPORÇÕES REFINADAS */
.fr-zara-hero {
  min-height: auto !important;
  padding-top: clamp(6rem, 7.2vw, 7rem) !important;
  padding-bottom: clamp(1.8rem, 3.2vw, 3rem) !important;
}

.fr-zara-hero .max-w-7xl {
  max-width: 1480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1.4rem, 3vw, 3rem) !important;
  padding-right: clamp(1.4rem, 3vw, 3rem) !important;
  align-items: end !important;
}

@media (min-width: 1024px) {
  .fr-zara-hero .max-w-7xl {
    grid-template-columns: minmax(390px, .92fr) minmax(520px, 1.08fr) !important;
    gap: clamp(2.25rem, 4vw, 4.5rem) !important;
  }
}

.fr-zara-hero .fr-model-copy {
  padding-bottom: clamp(2rem, 5.4vh, 4rem) !important;
}

.fr-zara-hero .fr-model-title {
  max-width: 640px !important;
  font-size: clamp(3.05rem, 4.35vw, 5.35rem) !important;
  line-height: .965 !important;
}

.fr-zara-hero .fr-model-subtitle {
  max-width: 31rem !important;
  font-size: .93rem !important;
  line-height: 1.78 !important;
}

.fr-zara-hero .fr-hero-visual {
  width: 100% !important;
  max-width: min(56vw, 800px) !important;
  justify-self: end !important;
}

.fr-zara-hero .fr-hero-frame {
  height: clamp(430px, 62vh, 590px) !important;
  min-height: 0 !important;
  max-height: 590px !important;
  padding: 0 !important;
  border-radius: 1.9rem !important;
  overflow: hidden !important;
}

.fr-zara-hero .fr-hero-carousel {
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  border-radius: 1.9rem !important;
  cursor: default !important;
  touch-action: pan-y !important;
}

.fr-zara-hero .fr-hero-carousel:active,
.fr-zara-hero .fr-hero-carousel.is-dragging {
  cursor: default !important;
}

.fr-zara-hero .hero-slide,
.fr-zara-hero .fr-hero-carousel img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  border-radius: 1.9rem !important;
  object-fit: cover !important;
  object-position: center !important;
}

.fr-zara-hero .hero-carousel.is-dragging .hero-slide.active {
  transform: scale(1) !important;
}

.fr-zara-hero .fr-hero-badge {
  left: 1.1rem !important;
  bottom: 1.1rem !important;
  max-width: min(19rem, calc(100% - 2.2rem)) !important;
  border-radius: 1.15rem !important;
  padding: .95rem 1.05rem 1rem !important;
}

.fr-zara-hero .fr-hero-badge strong {
  font-size: clamp(1.28rem, 1.7vw, 1.85rem) !important;
  line-height: .98 !important;
}

.fr-zara-hero .fr-hero-drag-hint {
  display: none !important;
}

.fr-zara-hero .hero-nav {
  position: absolute;
  top: 50%;
  z-index: 7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.65rem;
  height: 2.65rem;
  transform: translateY(-50%);
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.68);
  background: rgba(255,255,255,.78);
  color: #5b4039;
  box-shadow: 0 14px 34px rgba(58,41,36,.12);
  backdrop-filter: blur(14px);
  transition: transform .22s ease, background .22s ease, opacity .22s ease;
}

.fr-zara-hero .hero-nav span {
  display: block;
  margin-top: -.08rem;
  font-size: 1.9rem;
  line-height: 1;
  font-family: Georgia, serif;
}

.fr-zara-hero .hero-nav-prev { left: 1.05rem; }
.fr-zara-hero .hero-nav-next { right: 1.05rem; }

.fr-zara-hero .hero-nav:hover,
.fr-zara-hero .hero-nav:focus-visible {
  background: rgba(255,255,255,.94);
  transform: translateY(-50%) scale(1.04);
  outline: none;
}

.fr-zara-hero .hero-dots {
  top: 1rem !important;
  right: 1rem !important;
}

@media (hover: hover) and (pointer: fine) {
  .fr-zara-hero .hero-nav { opacity: .72; }
  .fr-zara-hero .fr-hero-carousel:hover .hero-nav { opacity: 1; }
}

@media (max-width: 1023px) {
  .fr-zara-hero {
    padding-top: 6.45rem !important;
    padding-bottom: 1.2rem !important;
  }

  .fr-zara-hero .max-w-7xl {
    gap: 1.6rem !important;
  }

  .fr-zara-hero .fr-model-copy {
    padding-bottom: 0 !important;
  }

  .fr-zara-hero .fr-model-title {
    font-size: clamp(2.85rem, 12vw, 4.25rem) !important;
  }

  .fr-zara-hero .fr-hero-visual {
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  .fr-zara-hero .fr-hero-frame {
    height: clamp(395px, 57vh, 545px) !important;
    max-height: 545px !important;
    border-radius: 1.45rem !important;
  }

  .fr-zara-hero .fr-hero-carousel,
  .fr-zara-hero .hero-slide,
  .fr-zara-hero .fr-hero-carousel img {
    border-radius: 1.45rem !important;
  }

  .fr-zara-hero .hero-nav {
    width: 2.45rem;
    height: 2.45rem;
  }

  .fr-zara-hero .hero-nav-prev { left: .75rem; }
  .fr-zara-hero .hero-nav-next { right: .75rem; }
}

@media (max-width: 640px) {
  .fr-zara-hero .fr-hero-frame {
    height: clamp(360px, 52vh, 470px) !important;
    max-height: 470px !important;
  }

  .fr-zara-hero .fr-hero-badge {
    left: .8rem !important;
    bottom: .8rem !important;
    max-width: min(17.5rem, calc(100% - 1.6rem)) !important;
    padding: .85rem .9rem .9rem !important;
  }

  .fr-zara-hero .fr-hero-badge strong {
    font-size: 1.22rem !important;
  }

  .fr-zara-hero .hero-dots {
    top: .75rem !important;
    right: .75rem !important;
  }

  .fr-zara-hero .hero-nav {
    width: 2.25rem;
    height: 2.25rem;
  }

  .fr-zara-hero .hero-nav span {
    font-size: 1.65rem;
  }
}
/* FIM — AJUSTE V37 */
