:root{
  --bg:#f4f7ea;
  --text:#1a1a1a;
  --muted:#6b6b6b;

  --arabe:#b97b4e;
  --cafe:#6a7152;
  --sushi:#c14235;

  --card:#ffffff;
  --shadow: 0 18px 60px rgba(0,0,0,.20);
  --shadow-soft: 0 12px 34px rgba(0,0,0,.14);

  --radius-xl: 32px;
  --radius-2xl: 44px;

  --container: 1200px;

  --ease: cubic-bezier(.2,.8,.2,1);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow-x:hidden;
}
h1,h2,h3,h4{ font-family:"Playfair Display", serif; margin:0; }
a{ color:inherit; text-decoration:none; }
button, input, select, textarea{ font:inherit; }
::selection{ background: var(--arabe); color:#fff; }

.container{
  width: min(var(--container), calc(100% - 48px));
  margin: 0 auto;
}

/* Ambient background shapes */
.ambient{
  position:fixed; inset:0;
  z-index: 1;
  pointer-events:none;
  opacity:.75;
  filter: blur(0px);
}
.blob{
  position:absolute;
  border-radius: 999px;
  filter: blur(40px);
  opacity:.40;
  transform: translate3d(0,0,0);
  animation: floaty 14s var(--ease) infinite alternate;
}
.blob.a{ width:520px; height:520px; background: rgba(185,123,78,.35); left:-160px; top: 20vh; animation-duration: 16s; }
.blob.b{ width:520px; height:520px; background: rgba(106,113,82,.30); right:-200px; top: 10vh; animation-duration: 19s; }
.blob.c{ width:480px; height:480px; background: rgba(193,66,53,.25); left: 20vw; bottom: -220px; animation-duration: 17s; }
@keyframes floaty{
  from{ transform: translate3d(0,0,0) scale(1); }
  to{ transform: translate3d(30px,-22px,0) scale(1.06); }
}

/* Grain overlay */
.grain{
  position:fixed; inset:0;
  pointer-events:none;
  z-index: 3;
  opacity:.32;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}

/* Reveal */
.reveal{
  opacity:0;
  transform: translateY(60px);
  transition: opacity 900ms var(--ease), transform 900ms var(--ease);
  will-change: opacity, transform;
}
.reveal.is-visible{ opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
  .kb img{ animation:none !important; }
  .bounce{ animation:none !important; }
  .blob{ animation:none !important; }
}

/* Loader */
.loader{
  position:fixed; inset:0;
  z-index: 999;
  display:flex; align-items:center; justify-content:center;
  background: var(--bg);
  transition: opacity 400ms ease;
}
.loader.is-hidden{ opacity:0; pointer-events:none; }
.loader__panelWrap{ position:absolute; inset:0; display:flex; }
.loader__panel{ width:50%; height:100%; background: var(--text); }
.loader__panel.left{ animation: slideLeft 1500ms var(--ease) 1200ms forwards; }
.loader__panel.right{ animation: slideRight 1500ms var(--ease) 1200ms forwards; }
.loader__content{
  position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:center;
  animation: fadeOut 500ms ease-out 900ms forwards;
}
.loader__logo{ width:168px; height:168px; object-fit:contain; filter: brightness(0) invert(1); }
.loader__dots{ display:flex; gap:10px; margin-top:14px; }
.dot{ width:10px; height:10px; border-radius:999px; animation: dotBounce 700ms ease-in-out infinite; }
.dot:nth-child(1){ background:#e37635; animation-delay:0ms; }
.dot:nth-child(2){ background:var(--arabe); animation-delay:90ms; }
.dot:nth-child(3){ background:var(--cafe); animation-delay:180ms; }
@keyframes slideLeft{ to{ transform: translateX(-100%);} }
@keyframes slideRight{ to{ transform: translateX(100%);} }
@keyframes fadeOut{ to{ opacity:0;} }
@keyframes dotBounce{ 50%{ transform: translateY(-6px);} }

/* Navbar */
.nav{
  position:fixed; top:0; left:0; width:100%;
  z-index: 60;
  padding: 26px 0;
  transition: all 380ms ease;
}
.nav.is-scrolled{
  padding: 14px 0;
  background: rgba(244,247,234,.90);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(26,26,26,.06);
}
.nav__row{
  display:flex; align-items:center; justify-content:space-between;
  position:relative;
  z-index: 10;
}
.brand{ display:flex; align-items:center; gap:10px; position:relative; z-index:70; }
.brand img{ height:46px; width:auto; transition: filter 300ms ease; filter: brightness(0) invert(1); }
.nav.is-scrolled .brand img{ filter: brightness(0); }

.nav__linksWrap{
  display:flex; align-items:center; gap:22px;
  color: rgba(255,255,255,.92);
}
.nav.is-scrolled .nav__linksWrap{ color: var(--text); }
.nav__links{
  display:flex; align-items:center; gap:28px;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:11px;
}
.nav__links a, .nav__links button{
  background:none; border:none; color:inherit; cursor:pointer;
  position:relative; padding:6px 0;
}
.nav__links a::after, .nav__links button::after{
  content:""; position:absolute; left:0; bottom:-2px;
  height:1px; width:0; background: currentColor;
  transition: width 250ms ease;
  opacity:.9;
}
.nav__links a:hover::after, .nav__links button:hover::after{ width:100%; }

.cta{
  display:inline-flex; align-items:center; gap:10px;
  padding: 12px 18px;
  border-radius:999px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.10);
  color: #fff;
  box-shadow: 0 16px 50px rgba(0,0,0,.22);
  transition: transform 250ms ease, background 250ms ease, border-color 250ms ease;
  cursor:pointer;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:11px;
  position:relative;
  overflow:hidden;
}
.cta::before{
  content:"";
  position:absolute;
  inset:-60px;
  background: radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.22), transparent 55%);
  opacity:0;
  transition: opacity 200ms ease;
}
.cta:hover{ transform: translateY(-2px); background: rgba(255,255,255,.16); }
.cta:hover::before{ opacity:1; }

.nav.is-scrolled .cta{
  background: var(--text);
  color:#fff;
  border-color: transparent;
  box-shadow: 0 18px 60px rgba(0,0,0,.20);
}
.nav.is-scrolled .cta:hover{ background: var(--arabe); }

.hamburger{
  display:none;
  background:none; border:none; cursor:pointer;
  padding:10px; border-radius:12px;
  color: rgba(255,255,255,.92);
  position:relative; z-index:70;
}
.nav.is-scrolled .hamburger{ color: var(--text); }

@media (max-width: 920px){
  .nav__linksWrap{ display:none; }
  .hamburger{ display:inline-flex; }
}

/* Mobile menu */
.mnav{
  position:fixed; inset:0;
  z-index:55;
  background: var(--bg);
  display:none;
  padding: 96px 24px 40px;
}
.mnav.is-open{ display:block; animation: fadeIn 220ms ease; }
@keyframes fadeIn{ from{opacity:0} to{opacity:1} }

.mnav__links{
  display:flex; flex-direction:column; gap:18px;
  align-items:center; text-align:center;
  font-family:"Playfair Display", serif;
  font-size: 38px;
}
.mnav__links a, .mnav__links button{
  background:none; border:none; cursor:pointer; color: var(--text);
}
.mnav__cta{ margin-top: 26px; display:flex; justify-content:center; }
.mnav__cta button{
  background:none; border:none; cursor:pointer;
  font-weight:900; letter-spacing:.22em; text-transform:uppercase;
  font-size: 12px; color: var(--arabe);
  border-bottom: 2px solid var(--arabe);
  padding-bottom:6px;
}

/* Hero */
main{ position:relative; z-index:5; }
.hero{
  position:relative;
  min-height: 760px;
  height: 100vh;
  background: var(--text);
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  padding-top: 90px;
  isolation:isolate;
}
.hero__bg{ position:absolute; inset:0; z-index:0; }
.hero__bg img{
  width:100%; height:100%;
  object-fit:cover;
  transform: scale(1.12);
  filter: saturate(1.03) contrast(1.03);
}
.kb img{ animation: kenBurns 16s ease-in-out infinite alternate; }
@keyframes kenBurns{ from{ transform: scale(1.12) translateY(0);} to{ transform: scale(1.18) translateY(-18px);} }
.hero__overlay{
  position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(0,0,0,.86), rgba(0,0,0,.42), #1a1a1a);
}
.hero__glow{
  position:absolute; inset:0;
  background: radial-gradient(circle at 50% 35%, rgba(185,123,78,.28), transparent 55%);
  mix-blend-mode: screen;
  opacity:.65;
  pointer-events:none;
}

.hero__content{
  position:relative; z-index:2;
  text-align:center;
  color: #fff;
  max-width: 1020px;
  padding: 0 18px;
}
.pill{
  display:inline-flex; align-items:center; gap:10px;
  border: 1px solid rgba(255,255,255,.26);
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
  border-radius:999px;
  padding: 10px 16px;
  font-weight:900;
  letter-spacing:.30em;
  text-transform:uppercase;
  font-size:10px;
  color: rgba(255,255,255,.90);
  box-shadow: 0 16px 50px rgba(0,0,0,.18);
}
.hero h1{
  margin-top: 22px;
  font-size: clamp(52px, 6.8vw, 122px);
  line-height: .88;
  color: var(--bg);
  text-shadow: 0 26px 80px rgba(0,0,0,.55);
  letter-spacing: -0.02em;
}
.hero h1 em{ color: var(--arabe); font-style: italic; }
.hero p{
  margin: 18px auto 0;
  max-width: 760px;
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.75;
  color: rgba(255,255,255,.78);
  font-weight: 300;
}

.hero__actions{
  margin-top: 34px;
  display:flex; gap:14px; justify-content:center; flex-wrap:wrap;
}

.btn{
  border:none; cursor:pointer;
  border-radius: 999px;
  padding: 16px 22px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 12px;
  transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease, color 220ms ease, border-color 220ms ease;
  display:inline-flex; align-items:center; gap:10px;
  user-select:none;
  position:relative;
  overflow:hidden;
}
.btn::before{
  content:"";
  position:absolute;
  inset:-60px;
  background: radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.22), transparent 55%);
  opacity:0;
  transition: opacity 200ms ease;
}
.btn:hover::before{ opacity:1; }

.btn.primary{
  background: var(--arabe);
  color:#fff;
  box-shadow: 0 0 46px rgba(185,123,78,.35);
}
.btn.primary:hover{ transform: translateY(-2px) scale(1.01); background: #a06840; }
.btn.ghost{
  background: rgba(255,255,255,.08);
  color:#fff;
  border: 1px solid rgba(255,255,255,.28);
  backdrop-filter: blur(10px);
}
.btn.ghost:hover{
  background: #fff; color: var(--text);
  border-color: transparent; transform: translateY(-2px);
  box-shadow: var(--shadow-soft);
}

.scrollHint{
  position:absolute; left:50%; bottom: 22px;
  transform: translateX(-50%);
  color: rgba(255,255,255,.55);
  z-index:2;
}
.bounce{ animation: bounce 1200ms ease-in-out infinite; }
@keyframes bounce{ 50%{ transform: translateX(-50%) translateY(8px);} }

/* Sections */
.section{ padding: 110px 0; position:relative; overflow:hidden; }
.pattern{
  background-image: radial-gradient(rgba(255,255,255,0.12) 1px, transparent 1px);
  background-size: 20px 20px;
}
.split{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 64px;
  align-items:center;
}
@media (max-width: 980px){
  .section{ padding: 90px 0; }
  .split{ grid-template-columns: 1fr; gap: 38px; }
}

.tag{
  display:inline-flex; align-items:center; gap:10px;
  font-weight: 900;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:11px;
  opacity:.88;
}
.tag .line{ width:34px; height:1px; background: rgba(255,255,255,.55); }
.section h2{
  margin-top: 14px;
  font-size: clamp(44px, 4.2vw, 84px);
  line-height: .92;
}
.section p{
  margin-top: 18px;
  max-width: 580px;
  line-height:1.85;
  font-weight: 300;
  font-size: 18px;
  opacity:.88;
}

.media{
  position:relative;
  border-radius: var(--radius-2xl);
  overflow:hidden;
  box-shadow: var(--shadow);
  border: 1px solid rgba(255,255,255,.14);
  transform: translateZ(0);
  isolation:isolate;
}
.media img{
  width:100%; height: 560px;
  object-fit:cover;
  display:block;
  transition: transform 900ms var(--ease), filter 900ms var(--ease);
  filter: grayscale(.35);
}
.media::after{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.18), transparent 50%);
  opacity: .0;
  transition: opacity 300ms ease;
  pointer-events:none;
}
.media:hover img{ transform: scale(1.03); filter: grayscale(0); }
.media:hover::after{ opacity:.55; }

@media (max-width: 980px){ .media img{ height: 420px; } }

.bento{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  margin-top: 24px;
  max-width: 560px;
}
.mini{
  background: rgba(0,0,0,.10);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(8px);
  border-radius: 18px;
  padding: 16px 16px;
}
.mini h4{
  font-family: Inter, sans-serif;
  font-size: 18px;
  margin:0;
  font-weight: 900;
  letter-spacing:.02em;
}
.mini p{
  margin-top: 6px;
  font-size: 12px;
  opacity:.78;
  line-height: 1.55;
}

.list{ margin-top: 22px; display:flex; flex-direction:column; gap: 12px; max-width: 580px; }
.li{ display:flex; align-items:center; gap:10px; opacity:.88; font-weight: 400; }
.li svg{ width:18px; height:18px; }

/* Extra sections */
.alt{
  background: linear-gradient(180deg, rgba(26,26,26,0.04), transparent);
}
.headline{
  text-align:center;
  margin-bottom: 34px;
}
.headline h2{
  font-size: clamp(34px, 3.6vw, 64px);
  line-height:1.0;
}
.headline p{ margin: 12px auto 0; max-width: 720px; color: var(--muted); }

/* Bento big */
.bentoBig{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 14px;
  align-items:stretch;
}
@media (max-width: 980px){
  .bentoBig{ grid-template-columns: 1fr; }
}
.tile{
  background: #fff;
  border: 1px solid rgba(26,26,26,.08);
  border-radius: 26px;
  padding: 22px;
  box-shadow: 0 12px 34px rgba(0,0,0,.08);
  position:relative;
  overflow:hidden;
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.tile:hover{ transform: translateY(-2px); box-shadow: 0 18px 60px rgba(0,0,0,.12); }
.tile .k{
  display:inline-flex; align-items:center; gap:8px;
  font-weight: 900;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size: 11px;
  color:#7c7c7c;
}
.tile h3{
  margin-top: 10px;
  font-size: 28px;
  line-height:1.05;
}
.tile p{
  margin-top: 10px;
  color:#666;
  line-height:1.75;
  font-weight:300;
  font-size: 15px;
}
.tile .chipRow{
  margin-top: 14px;
  display:flex; flex-wrap:wrap;
  gap: 8px;
}
.chip{
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing:.12em;
  text-transform:uppercase;
  border: 1px solid rgba(26,26,26,.10);
  color:#222;
  background: rgba(244,247,234,.55);
}
.tileGlow{
  position:absolute; inset:-80px;
  background: radial-gradient(circle at 35% 25%, rgba(185,123,78,.22), transparent 55%);
  opacity:.8;
  pointer-events:none;
  transform: rotate(12deg);
}

/* Popular items cards */
.cards3{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
@media (max-width: 980px){ .cards3{ grid-template-columns: 1fr; } }
.foodCard{
  background:#fff;
  border: 1px solid rgba(26,26,26,.08);
  border-radius: 28px;
  overflow:hidden;
  box-shadow: 0 12px 34px rgba(0,0,0,.08);
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.foodCard:hover{ transform: translateY(-2px); box-shadow: 0 18px 60px rgba(0,0,0,.12); }
.foodImg{
  height: 210px;
  background:#eee;
  position:relative;
  overflow:hidden;
}
.foodImg img{ width:100%; height:100%; object-fit:cover; display:block; transform: scale(1.04); transition: transform 500ms var(--ease); }
.foodCard:hover .foodImg img{ transform: scale(1.09); }
.badge{
  position:absolute;
  top: 12px; left: 12px;
  background: rgba(26,26,26,.78);
  color:#fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing:.22em;
  text-transform:uppercase;
  padding: 8px 10px;
  border-radius: 999px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.16);
}
.foodBody{ padding: 18px 18px 16px; }
.foodBody h4{
  font-family: Inter, sans-serif;
  font-weight: 900;
  font-size: 16px;
  letter-spacing:.01em;
  margin:0;
}
.foodBody p{
  margin-top: 8px;
  color:#666;
  font-weight: 300;
  line-height:1.6;
  font-size: 14px;
}
.foodMeta{
  margin-top: 12px;
  display:flex; gap: 10px; flex-wrap:wrap;
}
.pill2{
  display:inline-flex; align-items:center; gap:8px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(26,26,26,.10);
  font-size: 11px;
  font-weight: 900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#222;
  background: rgba(244,247,234,.70);
}
.pill2 i{ width:14px; height:14px; }

/* Testimonials slider */
.slider{
  position:relative;
  overflow:hidden;
  border-radius: 30px;
  border: 1px solid rgba(26,26,26,.08);
  background: #fff;
  box-shadow: 0 12px 34px rgba(0,0,0,.08);
}
.track{
  display:flex;
  transition: transform 550ms var(--ease);
}
.tcard{
  min-width: 100%;
  padding: 26px 24px;
  display:grid;
  gap: 12px;
}
.tquote{
  font-size: 18px;
  line-height:1.75;
  font-weight: 300;
  color:#333;
}
.tby{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  color:#666;
  font-size: 13px;
}
.stars{ display:inline-flex; gap:3px; }
.stars i{ width:16px; height:16px; color: #d4a373; }
.sliderNav{
  margin-top: 12px;
  display:flex; gap:10px; justify-content:center; align-items:center;
}
.dotBtn{
  width:10px; height:10px;
  border-radius:999px;
  border:none;
  background: rgba(26,26,26,.18);
  cursor:pointer;
  transition: transform 200ms ease, background 200ms ease;
}
.dotBtn.is-on{ background: rgba(26,26,26,.70); transform: scale(1.2); }

/* FAQ — escopado (não quebra os mapas) */
/* FAQ — escopado (não quebra os mapas) */
.faq {
  display: flex;
  flex-direction: column;
  gap: 16px; /* Essa é a mágica que descola as perguntas */
}

.faq details {
  background: #fff;
  border: 1px solid rgba(26, 26, 26, .08);
  border-radius: 22px;
  padding: 18px 24px; /* Dei um respiro interno um pouco maior pra ficar mais premium */
  box-shadow: 0 12px 34px rgba(0, 0, 0, .06);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.faq details:hover { 
  transform: translateY(-1px); 
  box-shadow: 0 18px 60px rgba(0, 0, 0, .10); 
}

.faq summary {
  cursor: pointer;
  list-style: none;
  display: flex; 
  align-items: center; 
  justify-content: space-between;
  gap: 12px;
  font-weight: 900;
  letter-spacing: .02em;
  font-size: 15px; /* Deixei a fonte levemente maior para leitura rápida */
}

.faq summary::-webkit-details-marker { display: none; }

.faq details p {
  margin-top: 14px;
  color: #666;
  line-height: 1.75;
  font-weight: 300;
  font-size: 15px;
}

/* Maps section */
.maps{
  background: #1a1a1a;
  color: var(--bg);
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: 90px 0;
}
.maps h2{ font-size: clamp(34px, 3.2vw, 58px); }
.maps p{ margin-top: 10px; color: rgba(255,255,255,.60); font-weight:300; }
.maps__grid{
  margin-top: 42px;
  display:grid;
  grid-template-columns: 1fr 2fr;
  gap: 18px;
  align-items:stretch;
}
@media (max-width: 980px){ .maps__grid{ grid-template-columns: 1fr; } }
.tab{
  width:100%;
  text-align:left;
  border-radius: 22px;
  padding: 18px 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.65);
  cursor:pointer;
  transition: transform 220ms ease, background 220ms ease, color 220ms ease, border-color 220ms ease;
}
.tab:hover{ background: rgba(255,255,255,.08); color: rgba(255,255,255,.88); }
.tab.is-active{
  background: var(--bg);
  color: var(--text);
  border-color: transparent;
  transform: scale(1.02);
  box-shadow: var(--shadow-soft);
}
.tab__top{ display:flex; justify-content:space-between; align-items:center; gap: 12px; }
.tab__top strong{
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
  font-family: Inter, sans-serif;
}
.tab__desc{ margin-top: 6px; font-size: 12px; opacity:.78; }

.mapCard{
  position:relative;
  border-radius: var(--radius-2xl);
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  min-height: 420px;
}
.mapCard iframe{
  width:100%; height:100%;
  border:0;
  filter: grayscale(1) invert(.92) contrast(.83);
}
.mapBadge{
  position:absolute;
  left:16px; bottom:16px;
  background:#fff;
  color:#000;
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 900;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size: 10px;
  display:flex; align-items:center; gap:8px;
  box-shadow: var(--shadow-soft);
}
.mapActions{
  position:absolute;
  right: 16px;
  bottom: 16px;
  display:flex;
  gap: 8px;
  flex-wrap:wrap;
}
.miniBtn{
  border:none;
  cursor:pointer;
  border-radius: 999px;
  padding: 10px 12px;
  font-weight: 900;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size: 10px;
  background: rgba(255,255,255,.12);
  color:#fff;
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
  transition: transform 200ms ease, background 200ms ease;
}
.miniBtn:hover{ transform: translateY(-2px); background: rgba(255,255,255,.18); }

/* Contact */
.contact{
  background: #e8ebd9;
  padding: 90px 0;
}
.contactCard{
  background: var(--card);
  border-radius: 48px;
  padding: 42px;
  box-shadow: var(--shadow);
  border: 1px solid rgba(26,26,26,.08);
}
@media (max-width: 720px){ .contactCard{ padding: 26px; border-radius: 34px; } }
.contactHead{ text-align:center; }
.contactHead .kicker{
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 11px;
  color: var(--cafe);
}
.contactHead h2{ margin-top: 10px; font-size: clamp(28px, 3vw, 52px); color: var(--text); }
.contactHead p{ margin-top: 10px; color: #6b6b6b; font-weight: 300; line-height:1.7; }

form{ margin-top: 26px; }
.grid2{ display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 760px){ .grid2{ grid-template-columns: 1fr; } }

label{
  display:block; margin: 0 0 6px 10px;
  font-size: 11px; font-weight: 900;
  letter-spacing: .18em; text-transform: uppercase;
  color: #9a9a9a;
}
input, select, textarea{
  width:100%;
  padding: 14px 14px;
  border-radius: 16px;
  border: 1px solid transparent;
  background: #f8f8f8;
  outline:none;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
input:focus, select:focus, textarea:focus{
  background:#fff;
  border-color: var(--arabe);
  box-shadow: 0 12px 30px rgba(185,123,78,.18);
}
textarea{ resize: vertical; min-height: 130px; }

.send{
  width:100%;
  margin-top: 12px;
  padding: 16px 18px;
  border-radius: 16px;
  background: var(--text);
  color:#fff;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  border:none;
  cursor:pointer;
  transition: transform 200ms ease, background 200ms ease, box-shadow 200ms ease;
  box-shadow: var(--shadow-soft);
}
.send:hover{ background: var(--arabe); transform: translateY(-2px); }
.contactFoot{
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,.07);
  display:flex; flex-wrap:wrap;
  gap: 14px;
  justify-content:space-between;
  color: #6b6b6b;
  font-size: 14px;
}
.contactFoot a{ display:inline-flex; align-items:center; gap:8px; color:#6b6b6b; transition: color 180ms ease; }
.contactFoot a:hover{ color: var(--arabe); }

/* Footer */
footer{
  background:#0a0a0a;
  color:#888;
  padding: 90px 0 40px;
  position:relative;
  overflow:hidden;
}
.footerTex{
  position:absolute; inset:0;
  opacity:.10;
  background-image: url('https://www.transparenttextures.com/patterns/black-scales.png');
}
.fgrid{
  position:relative;
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 28px;
  padding-bottom: 44px;
  margin-bottom: 22px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
@media (max-width: 980px){ .fgrid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .fgrid{ grid-template-columns: 1fr; } }
.flogo{ height: 60px; filter: brightness(0) invert(1); opacity:.85; }
.fgrid h4{
  font-family: Inter, sans-serif;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 11px;
  color:#fff;
  margin-bottom: 14px;
}
.fgrid ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.fgrid a, .fgrid button{
  background:none; border:none; padding:0;
  color:#888;
  cursor:pointer;
  text-align:left;
  transition: color 180ms ease;
  font-size: 14px;
}
.fgrid a:hover{ color: var(--arabe); }
.social{ display:flex; gap:10px; }
.iconBtn{
  width:42px; height:42px;
  border-radius:999px;
  background:#151515;
  border: 1px solid rgba(255,255,255,.10);
  color:#ccc;
  display:flex; align-items:center; justify-content:center;
  transition: transform 200ms ease, background 200ms ease, color 200ms ease;
}
.iconBtn:hover{ background: var(--arabe); color:#fff; transform: translateY(-2px); }
.fineprint{
  position:relative;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap: 10px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 10px;
  color:#888;
}
.fineprint strong{ color:#fff; letter-spacing:.08em; text-transform:none; font-weight:800; }
.made{ display:flex; align-items:center; gap:8px; }
.made svg{ width:12px; height:12px; }
.heart{ color: #ff4d6d; fill: #ff4d6d; }

/* Cookie */
.cookie{
  position:fixed; left:0; right:0; bottom:0;
  z-index: 90;
  background:#fff;
  padding: 18px 18px;
  box-shadow: 0 -18px 60px rgba(0,0,0,.18);
  display:none;
}
.cookie.is-visible{ display:block; animation: slideUp 240ms ease; }
@keyframes slideUp{ from{ transform: translateY(16px); opacity:0; } to{ transform:none; opacity:1; } }
.cookie__row{
  display:flex; align-items:center; justify-content:space-between;
  gap: 14px; flex-wrap:wrap;
}
.cookie__txt{ max-width: 760px; color:#666; font-size: 14px; line-height:1.5; }
.cookie__txt strong{ color: var(--text); display:block; margin-bottom:4px; }
.cookie__actions{ display:flex; gap:10px; flex-wrap:wrap; }
.cookie__actions button{
  border:none; cursor:pointer;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 11px;
}
.cookie__actions .link{
  background: none;
  color:#777;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.cookie__actions .ok{ background: var(--text); color:#fff; }
.cookie__actions .ok:hover{ background: var(--arabe); }

/* Modals */
.modalRoot{
  position:fixed; inset:0;
  z-index: 120;
  display:none;
  padding: 18px;
  place-items:center;
}
.modalRoot.is-open{ display:grid; }
.backdrop{
  position:absolute; inset:0;
  background: rgba(26,26,26,.92);
  backdrop-filter: blur(12px);
}
.dialog{
  position:relative;
  width: min(980px, calc(100% - 12px));
  border-radius: 44px;
  background: var(--bg);
  box-shadow: var(--shadow);
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.08);
  transform: translateY(6px);
  animation: dialogIn 220ms ease forwards;
}
@keyframes dialogIn{ to{ transform:none; } }
.dialog__close{
  position:absolute;
  top: 16px; right: 16px;
  width:44px; height:44px;
  border-radius:999px;
  border:none;
  background: rgba(0,0,0,.05);
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.dialog__close:hover{ background: rgba(0,0,0,.08); }

.flow{
  display:grid;
  grid-template-columns: 320px 1fr;
  min-height: 520px;
}
@media (max-width: 860px){ .flow{ grid-template-columns: 1fr; } .flow__left{ display:none; } }
.flow__left{
  background: #e8ebd9;
  border-right: 1px solid rgba(0,0,0,.08);
  padding: 32px 26px;
  display:flex; flex-direction:column; justify-content:space-between;
}
.flow__left h3{ font-size: 30px; }
.steps{
  margin-top: 22px;
  position:relative;
  display:flex; flex-direction:column; gap:18px;
}
.steps::before{
  content:"";
  position:absolute;
  left: 16px; top: 6px; bottom: 6px;
  width:1px; background: rgba(0,0,0,.18);
}
.step{
  position:relative;
  display:flex; align-items:center; gap:12px;
  opacity:.45;
}
.step.is-on{ opacity:1; }
.bubble{
  width:34px; height:34px;
  border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  border:2px solid rgba(0,0,0,.35);
  color: rgba(0,0,0,.55);
  font-weight:900;
  background: transparent;
}
.step.is-on .bubble{
  background: var(--text);
  border-color: var(--text);
  color:#fff;
}
.stepLabel{
  font-family: Inter, sans-serif;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform:uppercase;
  font-size: 11px;
  color: rgba(0,0,0,.75);
}

.flow__right{
  padding: 34px 30px;
  display:flex; flex-direction:column; justify-content:center;
}
@media (max-width: 560px){ .flow__right{ padding: 28px 20px; } }
.back{
  align-self:flex-start;
  background:none; border:none;
  cursor:pointer;
  color:#9b9b9b;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 11px;
  padding: 6px 0;
}
.back:hover{ color: var(--text); }
.flowTitle{
  font-size: 34px;
  margin-top: 8px;
  letter-spacing: -.01em;
}
.cards{ margin-top: 16px; display:grid; gap: 12px; }
.cardBtn{
  width:100%;
  text-align:left;
  background:#fff;
  border: 2px solid transparent;
  border-radius: 22px;
  padding: 18px 18px;
  cursor:pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,.07);
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.cardBtn:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 42px rgba(0,0,0,.10);
  border-color: rgba(26,26,26,.90);
}
.cardBtn strong{ font-family: Inter, sans-serif; font-size: 18px; font-weight: 900; }
.cardBtn small{ display:block; margin-top: 4px; font-size: 12px; color:#7a7a7a; }
.emoji{ font-size: 26px; filter: grayscale(.8); transition: filter 220ms ease; }
.cardBtn:hover .emoji{ filter: grayscale(0); }

.airportBtn{
  display:block;
  background:#fff;
  border-radius: 22px;
  padding: 18px 18px;
  cursor:pointer;
  border: 1px solid rgba(0,0,0,.08);
  transition: background 200ms ease, transform 200ms ease, color 200ms ease;
}
.airportBtn:hover{ background: var(--text); color:#fff; transform: translateY(-2px); }
.airportBtn h4{
  font-family: Inter, sans-serif;
  font-weight: 900;
  margin:0;
  font-size: 18px;
}
.airportBtn p{ margin-top: 6px; font-size: 12px; color: #7a7a7a; }
.airportBtn:hover p{ color: rgba(255,255,255,.75); }

.storeGrid{
  margin-top: 12px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}
@media (max-width: 520px){ .storeGrid{ grid-template-columns: 1fr; } }
.storeBtn{
  background:#fff;
  border-radius: 22px;
  border: 2px solid transparent;
  padding: 18px 14px;
  cursor:pointer;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap: 10px;
  box-shadow: 0 10px 24px rgba(0,0,0,.07);
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}
.storeBtn:hover{ transform: translateY(-2px); box-shadow: 0 18px 42px rgba(0,0,0,.10); }
.storeBtn span{
  font-family: Inter, sans-serif;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 11px;
  color: var(--text);
}
.storeBtn[data-color="arabe"]{ color: var(--arabe); }
.storeBtn[data-color="cafe"]{ color: var(--cafe); }
.storeBtn[data-color="sushi"]{ color: var(--sushi); }
.storeBtn:hover{ border-color: currentColor; }

.legalDialog{
  width: min(760px, calc(100% - 12px));
  max-height: 80vh;
  overflow:auto;
  padding: 26px 24px;
  border-radius: 34px;
  background: var(--bg);
}
.legalDialog h3{ font-size: 30px; }
.legalDialog .prose{
  margin-top: 10px;
  color:#666;
  line-height:1.75;
  font-size: 14px;
}
.prose h4{
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 900;
  color: var(--text);
  margin-top: 14px;
}
.prose ul{ padding-left: 18px; }
.prose li{ margin: 8px 0; }

/* Back to top */
.toTop{
  position:fixed;
  right: 16px;
  bottom: 18px;
  z-index: 70;
  width: 50px; height: 50px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(26,26,26,.62);
  color:#fff;
  display:none;
  align-items:center; justify-content:center;
  cursor:pointer;
  box-shadow: 0 18px 60px rgba(0,0,0,.22);
  backdrop-filter: blur(12px);
  transition: transform 200ms ease, background 200ms ease;
}
.toTop:hover{ transform: translateY(-2px); background: rgba(26,26,26,.78); }
.toTop.is-visible{ display:flex; animation: fadeIn2 220ms ease; }
@keyframes fadeIn2{ from{opacity:0} to{opacity:1} }

/* Organização dos Grupos de Mapas */
.mapGroup {
  border-bottom: 1px solid rgba(255,255,255,0.1);
  margin-bottom: 10px;
}
.mapGroup summary {
  padding: 15px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  color: #fff;
  font-family: 'Inter', sans-serif;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
}
.mapGroup summary::-webkit-details-marker { display: none; }

/* Container dos botões do mapa */
.mapUnitsList {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 15px 20px; /* Ajuste para não colar na borda */
}

/* Botão da Unidade Individual */
.mapUnitBtn {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 14px;
    border-radius: 16px;
    color: #fff;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s var(--ease);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Estado Ativo do Botão */
.mapUnitBtn.is-active {
    background: var(--bg); /* A cor bege do seu site */
    color: var(--text); /* Preto */
    border-color: transparent;
    transform: scale(1.02);
    box-shadow: var(--shadow-soft);
}

.mapUnitBtn.is-active .unitDesc {
    color: rgba(0, 0, 0, 0.6);
}

.unitName { font-weight: 800; font-size: 14px; letter-spacing: 0.02em; }
.unitDesc { font-size: 11px; opacity: 0.7; }

/* Remove a setinha padrão do navegador no summary */
.mapGroup summary::-webkit-details-marker { display: none; }
.mapGroup summary { list-style: none; outline: none; }

/* FIX: botões da lista de unidades no mapa */
.maps #tabsWrap .mapUnitBtn{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
}

.maps #tabsWrap .mapUnitBtn .unitName{
  color: inherit;
}

.maps #tabsWrap .mapUnitBtn .unitDesc{
  color: rgba(255,255,255,.65);
  opacity: 1; /* evita ficar “apagado” */
}

.maps #tabsWrap .mapUnitBtn.is-active{
  background: var(--bg);
  color: var(--text);
  border-color: transparent;
  box-shadow: var(--shadow-soft);
}
/* MAPAS — garante que <details> do mapa não herde o FAQ */
.maps .mapGroup{
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.maps .mapGroup summary{
  padding: 15px;
  color: rgba(255,255,255,.92);
  font-family: 'Inter', sans-serif;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
}

.maps .mapUnitsList{
  padding: 10px 15px 20px;
}

.maps .mapUnitBtn{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
}
