@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=Montserrat:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#022753;
  --blue:#0b4388;
  --red:#ef3d33;
  --gold:#d8ab45;
  --paper:#f5efe2;
  --ink:#161616;
  --muted:#5d5b56;
  --line:rgba(2,39,83,.42);
  --shadow:0 18px 55px rgba(0,0,0,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 15% 8%, rgba(255,255,255,.92), transparent 28rem),
    linear-gradient(rgba(250,247,239,.95), rgba(244,237,223,.96)),
    repeating-linear-gradient(0deg, rgba(2,39,83,.018) 0 1px, transparent 1px 5px);
  font-family:"Montserrat",Arial,sans-serif;
  line-height:1.35;
  min-height:100vh;
}
img{max-width:100%;display:block}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;z-index:20;background:white;padding:.75rem 1rem;border-radius:.4rem}

.site-header{
  width:min(1600px,100%);
  margin:auto;
  min-height:220px;
  padding:2rem clamp(1rem,3vw,3rem) 1rem;
  display:grid;
  grid-template-columns:minmax(230px,430px) 1fr minmax(180px,310px);
  gap:2rem;
  align-items:center;
  position:relative;
}
.brand-logo{width:min(100%,420px);filter:drop-shadow(0 4px 2px rgba(0,0,0,.15))}
.brand-subtitle,.brand-tagline{text-align:center;color:var(--navy);font-family:"Caveat",cursive;margin:.1rem 0;font-size:clamp(1.25rem,2vw,2rem)}
.brand-tagline{font-size:clamp(1rem,1.5vw,1.45rem)}
.portuguese-copy{
  align-self:end;
  color:var(--red);
  font-family:"Caveat",cursive;
  display:flex;
  justify-content:space-around;
  align-items:end;
  gap:2rem;
}
.portuguese-title{font-size:clamp(2rem,3.2vw,4.4rem);line-height:.92;margin:0}
.story-line{font-size:clamp(1.35rem,2.2vw,2.6rem);line-height:1.05;margin:0}
.decor-window{justify-self:end;width:min(100%,280px)}

.menu-shell{
  width:min(1720px,calc(100% - 2rem));
  margin:0 auto 3rem;
  display:grid;
  grid-template-columns:1fr 1fr minmax(270px,.8fr);
  gap:clamp(1.25rem,2.4vw,3rem);
  align-items:start;
}
.menu-column{display:grid;gap:1.4rem}
.menu-section{
  padding:1rem clamp(.65rem,1.3vw,1.25rem);
  break-inside:avoid;
}
.menu-section h2{
  margin:0 auto 1.1rem;
  width:max-content;
  max-width:100%;
  padding:.36rem 2.6rem .45rem;
  color:white;
  background:var(--navy);
  font-family:"Caveat",cursive;
  font-size:clamp(1.65rem,2.2vw,2.35rem);
  font-weight:600;
  letter-spacing:.04em;
  line-height:1;
  transform:rotate(-.4deg);
  clip-path:polygon(3% 15%,12% 5%,25% 9%,40% 2%,55% 8%,72% 4%,95% 12%,100% 48%,96% 90%,80% 96%,62% 91%,45% 98%,27% 92%,8% 97%,0 70%);
}
.menu-section h4{
  color:var(--blue);
  text-transform:uppercase;
  font-size:clamp(1rem,1.15vw,1.22rem);
  margin:.2rem 0 .7rem;
}
.menu-item{margin:.7rem 0}
.menu-item.compact{margin:.5rem 0}
.item-line,.sub-price{
  display:flex;
  align-items:baseline;
  min-width:0;
  gap:.35rem;
}
.item-line h3{
  color:var(--blue);
  text-transform:uppercase;
  font-size:clamp(.92rem,1.02vw,1.11rem);
  line-height:1.15;
  margin:0;
  flex:0 1 auto;
}
.item-line strong,.sub-price strong{
  white-space:nowrap;
  font-size:clamp(.9rem,1vw,1.08rem);
}
.detail-inline{white-space:nowrap;font-size:.9rem}
.dots{
  flex:1 1 1rem;
  min-width:1rem;
  border-bottom:2px dotted var(--line);
  transform:translateY(-.18rem);
}
.menu-item p{
  font-size:clamp(.78rem,.9vw,.96rem);
  margin:.2rem 0 0;
  color:#222;
}
.sub-price{font-size:.92rem;margin:.18rem 0}

.boxed{
  border:2px solid rgba(197,147,72,.55);
  border-radius:.65rem;
  background:rgba(255,255,255,.2);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.side-column{padding-top:3rem}
.notes{
  margin:1.2rem auto 0;
  max-width:310px;
  text-align:center;
  font-family:"Caveat",cursive;
  font-size:1.25rem;
}
.vegetarian-note{display:flex;align-items:center;gap:.55rem}
.vegetarian-note span{font-family:Georgia,serif;color:#3a9c25;font-size:3.2rem;font-style:italic}

.site-footer{
  position:relative;
  min-height:210px;
  background:linear-gradient(180deg,transparent 0 20%,var(--navy) 20% 100%);
  overflow:hidden;
  padding-top:4rem;
}
.decor{pointer-events:none}
.decor-boat-left{position:absolute;left:0;bottom:70px;width:min(32vw,450px)}
.decor-lighthouse{position:absolute;left:50%;bottom:63px;transform:translateX(-50%);width:min(27vw,360px);opacity:.9}
.decor-boat-right{position:absolute;right:0;bottom:60px;width:min(18vw,230px)}
.footer-content{
  position:relative;
  z-index:2;
  color:white;
  width:min(1600px,calc(100% - 2rem));
  min-height:145px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:end;
  gap:2rem;
  padding:1.5rem 1rem;
}
.footer-content strong{color:#f4cb55;letter-spacing:.08em}
address{font-style:normal;font-size:.9rem;margin-top:.35rem}
.phone{color:white;text-decoration:none;font-family:"Caveat",cursive;font-size:clamp(1.7rem,2.2vw,2.4rem);white-space:nowrap}
.socials{justify-self:end;text-align:right;display:grid;gap:.15rem;font-size:.85rem}
.socials strong{color:white}

@media (max-width:1100px){
  .site-header{grid-template-columns:1fr auto}
  .portuguese-copy{grid-column:1 / -1;order:3;justify-content:center}
  .decor-window{grid-column:2}
  .menu-shell{grid-template-columns:1fr 1fr}
  .side-column{grid-column:1 / -1;grid-template-columns:1fr 1fr;display:grid;padding-top:0}
  .notes{grid-column:1 / -1}
}

@media (max-width:720px){
  body{background-color:var(--paper)}
  .site-header{
    min-height:unset;
    grid-template-columns:1fr 120px;
    gap:.75rem;
    padding:1.25rem 1rem .5rem;
  }
  .brand-block{min-width:0}
  .brand-logo{width:250px}
  .decor-window{width:120px}
  .portuguese-copy{
    display:block;
    text-align:center;
    padding:.75rem 0 0;
  }
  .portuguese-title{font-size:2.4rem}
  .story-line{font-size:1.55rem;margin-top:.7rem}
  .menu-shell{width:100%;grid-template-columns:1fr;gap:0;margin-bottom:0}
  .menu-column,.side-column{display:block}
  .menu-section{padding:1.15rem 1rem;border-bottom:1px solid rgba(2,39,83,.12)}
  .boxed{margin:1rem;border-bottom:2px solid rgba(197,147,72,.55)}
  .side-column .boxed{margin-top:1.1rem}
  .menu-section h2{font-size:2rem;padding-inline:2.1rem}
  .item-line h3{font-size:.97rem}
  .menu-item p{font-size:.84rem}
  .detail-inline{font-size:.82rem}
  .site-footer{min-height:310px;padding-top:8rem;background:linear-gradient(180deg,transparent 0 34%,var(--navy) 34% 100%)}
  .decor-boat-left{width:260px;bottom:155px}
  .decor-lighthouse{width:175px;bottom:148px}
  .decor-boat-right{width:125px;bottom:150px}
  .footer-content{grid-template-columns:1fr;text-align:center;align-items:center;gap:.7rem;padding-top:2.4rem}
  .socials{justify-self:center;text-align:center}
}

@media (max-width:420px){
  .site-header{grid-template-columns:1fr 90px}
  .decor-window{width:90px}
  .brand-logo{width:220px}
  .item-line{gap:.22rem}
  .item-line h3{font-size:.9rem}
  .item-line strong{font-size:.9rem}
  .menu-item p{font-size:.8rem}
}

@media print{
  @page{size:A3 landscape;margin:8mm}
  body{background:white}
  .site-header{min-height:130px;padding:.5rem 1rem}
  .menu-shell{width:100%;grid-template-columns:1fr 1fr .78fr;gap:10mm}
  .menu-column{gap:2mm}
  .menu-section{padding:2mm 1mm}
  .menu-section h2{font-size:18pt;margin-bottom:4mm}
  .item-line h3{font-size:8.3pt}
  .menu-item p,.sub-price{font-size:7.2pt}
  .site-footer{min-height:85px;padding-top:0;background:var(--navy)}
  .decor{display:none}
  .footer-content{min-height:85px;padding:.5rem}
}


/* FINAL MOBILE CORRECTIONS */
#kids{
  position:relative;
  z-index:4;
  background:rgba(250,247,239,.96);
  margin-bottom:1rem;
}
#kids .menu-item:last-child{
  margin-bottom:.25rem;
}
.site-footer{
  clear:both;
}
.brand-logo{
  background:transparent !important;
}

/* Prevent decorative crops from covering menu content */
.decor-lighthouse{
  z-index:0;
}
.footer-content{
  z-index:5;
}

@media (max-width:720px){
  #kids{
    margin:0 0 1.25rem;
    padding-bottom:1.5rem;
  }

  /* The lighthouse crop contained residual menu artwork;
     it is hidden on phones to keep the mobile layout clean. */
  .decor-lighthouse{
    display:none !important;
  }

  .site-footer{
    margin-top:0;
    min-height:285px;
    padding-top:5.5rem;
    background:linear-gradient(180deg, transparent 0 25%, var(--navy) 25% 100%);
  }

  .decor-boat-left{
    width:190px;
    bottom:166px;
    opacity:.98;
  }

  .decor-boat-right{
    width:105px;
    bottom:164px;
  }

  .footer-content{
    min-height:190px;
    padding-top:2rem;
  }
}

@media (max-width:420px){
  .site-footer{
    min-height:275px;
    padding-top:5rem;
  }

  .decor-boat-left{
    width:170px;
    bottom:168px;
  }

  .decor-boat-right{
    width:92px;
    bottom:166px;
  }
}


/* =========================================================
   UNIFORM BACKGROUND — FINAL
   Keep one coherent background tone across the entire menu.
   ========================================================= */
html,
body{
  background:#f5efe2 !important;
}

body{
  background-image:none !important;
}

.site-header,
.menu-shell,
.menu-column,
.menu-section,
.side-column,
.boxed,
#kids,
.notes{
  background:transparent !important;
}

.boxed{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42) !important;
}

@media (max-width:720px){
  body,
  .site-header,
  .menu-shell,
  .menu-column,
  .menu-section,
  .side-column,
  .boxed,
  #kids,
  .notes{
    background:#f5efe2 !important;
    background-image:none !important;
  }

  .menu-section{
    border-bottom:1px solid rgba(2,39,83,.10) !important;
  }

  .boxed{
    background:#f5efe2 !important;
  }
}


/* =========================================================
   FOOTER DECORATIONS — CLEAN CUTOUT INTEGRATION
   ========================================================= */
.site-footer{
  overflow:visible !important;
  background:linear-gradient(180deg, transparent 0 30%, var(--navy) 30% 100%) !important;
}

.decor-boat-left,
.decor-boat-right,
.decor-lighthouse{
  object-fit:contain !important;
  background:transparent !important;
  filter:drop-shadow(0 8px 12px rgba(2,39,83,.14));
  opacity:.98;
  z-index:1;
}

.decor-boat-left{
  left:1.5% !important;
  bottom:92px !important;
  width:min(24vw,340px) !important;
}

.decor-lighthouse{
  left:50% !important;
  bottom:84px !important;
  width:min(18vw,250px) !important;
  transform:translateX(-50%) !important;
}

.decor-boat-right{
  right:1.5% !important;
  bottom:90px !important;
  width:min(15vw,190px) !important;
}

.footer-content{
  position:relative !important;
  z-index:3 !important;
}

@media (max-width:720px){
  .site-footer{
    min-height:250px !important;
    padding-top:4.4rem !important;
    background:linear-gradient(180deg, transparent 0 36%, var(--navy) 36% 100%) !important;
  }

  .decor-boat-left{
    display:block !important;
    width:138px !important;
    left:10px !important;
    bottom:160px !important;
  }

  .decor-lighthouse{
    display:block !important;
    width:105px !important;
    left:50% !important;
    bottom:155px !important;
  }

  .decor-boat-right{
    display:block !important;
    width:105px !important;
    right:10px !important;
    bottom:160px !important;
  }

  .footer-content{
    min-height:155px !important;
    padding-top:1.2rem !important;
  }
}

@media (max-width:420px){
  .site-footer{
    min-height:238px !important;
    padding-top:4rem !important;
  }

  .decor-boat-left{
    width:122px !important;
    bottom:158px !important;
  }

  .decor-lighthouse{
    width:92px !important;
    bottom:153px !important;
  }

  .decor-boat-right{
    width:92px !important;
    bottom:158px !important;
  }
}

/* =========================================================
   BOUTON RETOUR LANGUES — INTÉGRÉ PRÈS DE LA PORTE
   ========================================================= */
.site-header{
  position:relative;
}

.header-language-return{
  justify-self:end;
  align-self:start;
  margin-top:.45rem;
  min-height:44px;
  padding:9px 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:10px;
  background:#022753;
  border:1.5px solid #d8ab45;
  color:#fff;
  text-decoration:none;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
  box-shadow:0 6px 16px rgba(2,39,83,.16);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.header-language-return:hover,
.header-language-return:focus-visible{
  background:#06376d;
  transform:translateY(-2px);
  box-shadow:0 9px 20px rgba(2,39,83,.22);
  outline:none;
}

.header-language-icon{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}

.header-language-icon svg{
  width:22px;
  height:22px;
}

.header-language-icon circle,
.header-language-icon path{
  fill:none;
  stroke:#d8ab45;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Keep door and return button visually grouped on desktop */
@media (min-width:1101px){
  .decor-window{
    grid-column:3;
    grid-row:1;
    align-self:center;
  }

  .header-language-return{
    grid-column:3;
    grid-row:1;
    align-self:end;
    margin:0 0 .15rem 0;
  }
}

@media (max-width:1100px){
  .header-language-return{
    grid-column:2;
    justify-self:center;
    margin-top:.4rem;
    font-size:.73rem;
    padding:8px 11px;
  }
}

@media (max-width:720px){
  .header-language-return{
    grid-column:2;
    width:118px;
    min-height:40px;
    padding:7px 8px;
    font-size:.62rem;
    line-height:1.12;
    text-align:center;
    border-radius:8px;
    margin-top:.35rem;
  }

  .header-language-icon{
    width:19px;
    height:19px;
  }

  .header-language-icon svg{
    width:19px;
    height:19px;
  }
}

@media (max-width:420px){
  .header-language-return{
    width:92px;
    min-height:38px;
    padding:6px 6px;
    font-size:.55rem;
    gap:5px;
  }

  .header-language-icon{
    width:17px;
    height:17px;
  }

  .header-language-icon svg{
    width:17px;
    height:17px;
  }
}


/* =========================================================
   CORRECTION PORTUGAIS V7 — BOUTON RETOUR ROBUSTE
   Suppression totale du SVG pour éviter le cercle noir Safari.
   ========================================================= */
.header-language-return,
.header-language-return:link,
.header-language-return:visited,
.header-language-return:hover,
.header-language-return:active{
  color:#ffffff !important;
  text-decoration:none !important;
  -webkit-text-decoration:none !important;
}

.header-language-return{
  background:#022753 !important;
  border:1.5px solid #d8ab45 !important;
  border-radius:9px !important;
  box-shadow:0 6px 16px rgba(2,39,83,.16) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:40px !important;
  padding:7px 10px !important;
  line-height:1.05 !important;
  font-family:"Montserrat",Arial,sans-serif !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
}

.header-language-icon{
  width:auto !important;
  height:auto !important;
  display:inline-block !important;
  flex:0 0 auto !important;
  font-size:20px !important;
  line-height:1 !important;
  background:transparent !important;
  color:#d8ab45 !important;
}

.header-language-label{
  display:inline-block !important;
  color:#ffffff !important;
  font-size:.64rem !important;
  line-height:1.08 !important;
  text-align:center !important;
  letter-spacing:.025em !important;
}

.header-language-return svg,
.header-language-return circle,
.header-language-return path{
  display:none !important;
}

@media (max-width:720px){
  .header-language-return{
    grid-column:2 !important;
    width:118px !important;
    min-height:42px !important;
    padding:7px 8px !important;
    margin-top:.35rem !important;
    justify-self:center !important;
  }

  .header-language-icon{
    font-size:18px !important;
  }

  .header-language-label{
    font-size:.60rem !important;
  }
}

@media (max-width:420px){
  .header-language-return{
    width:96px !important;
    min-height:40px !important;
    padding:6px !important;
    gap:5px !important;
  }

  .header-language-icon{
    font-size:16px !important;
  }

  .header-language-label{
    font-size:.54rem !important;
  }
}


/* =========================================================
   BOUTON RETOUR LANGUES — POSITION UNIFIÉE
   ========================================================= */
.header-language-return,
.back-languages{
  display:none !important;
}

.brand-block{
  text-align:center !important;
}

.unified-language-return{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-height:34px !important;
  margin:10px auto 0 !important;
  padding:7px 12px !important;
  border:1.3px solid #d8ab45 !important;
  border-radius:8px !important;
  background:#022753 !important;
  color:#ffffff !important;
  text-decoration:none !important;
  font-family:Arial,sans-serif !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.025em !important;
  white-space:nowrap !important;
  box-shadow:0 4px 11px rgba(2,39,83,.14) !important;
}

.unified-language-return:visited,
.unified-language-return:hover,
.unified-language-return:active{
  color:#ffffff !important;
  text-decoration:none !important;
}

@media(max-width:720px){
  .unified-language-return{
    min-height:32px !important;
    margin-top:8px !important;
    padding:6px 10px !important;
    font-size:.66rem !important;
    border-radius:7px !important;
  }
}

/* FINAL HEADER OVERRIDE — centered logo, no window, real return button */
.site-header{display:block !important;min-height:0 !important;padding:1.6rem 1rem 1rem !important;text-align:center !important;}
.brand-block{width:min(560px,100%) !important;margin:0 auto !important;text-align:center !important;display:flex !important;flex-direction:column !important;align-items:center !important;}
.brand-logo{width:min(520px,88vw) !important;margin:0 auto !important;}
.brand-subtitle,.brand-tagline{text-align:center !important;}
.decor-window{display:none !important;}
.unified-language-return{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:auto !important;min-height:32px !important;margin:9px auto 0 !important;padding:7px 12px !important;background:#062d5b !important;color:#fff !important;border:1.5px solid #d8ab45 !important;border-radius:8px !important;text-decoration:none !important;font-family:Arial,sans-serif !important;font-size:.68rem !important;font-weight:800 !important;line-height:1 !important;letter-spacing:.02em !important;box-shadow:0 3px 9px rgba(2,39,83,.16) !important;white-space:nowrap !important;}
.unified-language-return:visited,.unified-language-return:hover,.unified-language-return:active{color:#fff !important;text-decoration:none !important;background:#062d5b !important;}
.portuguese-copy{margin:2.1rem auto 0 !important;max-width:900px !important;justify-content:center !important;gap:clamp(2rem,8vw,7rem) !important;}
@media(max-width:720px){.site-header{padding-top:1.35rem !important}.brand-logo{width:min(500px,88vw) !important}.unified-language-return{font-size:.64rem !important;padding:6px 10px !important;min-height:30px !important;margin-top:8px !important}.portuguese-copy{margin-top:2rem !important;display:block !important}.story-line{margin-top:1.2rem !important}}


/* =========================================================
   FINAL FIX V2 — CENTRAGE BOUTON + FOOTER NETTOYÉ
   ========================================================= */
.brand-block{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  width:100% !important;
}

.unified-language-return{
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  transform:none !important;
  position:static !important;
  left:auto !important;
  right:auto !important;
  float:none !important;
}

/* Remove only the decorative footer imagery, NOT the actual kids menu section */
.decor-boat-left,
.decor-boat-right,
.decor-lighthouse{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

/* Hide the duplicate footer/menu-child decorative panel if it exists */
.footer-kids-preview,
.footer-menu-kids,
.kids-preview,
.menu-kids-preview,
.footer-preview,
.footer-art-panel{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
}

/* Keep footer clean and compact after removing decorative assets */
.site-footer{
  background:#022753 !important;
  padding-top:18px !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.footer-content{
  position:relative !important;
  z-index:2 !important;
  padding-top:0 !important;
}


/* =========================================================
   Ô CAP — NAVIGATION SITE RESPONSIVE
   Desktop : barre horizontale
   Mobile  : menu hamburger dépliant
   ========================================================= */
.ocap-site-nav{
  --ocap-nav-navy:#022753;
  --ocap-nav-cream:#fae4c5;
  position:relative;
  z-index:9999;
  width:100%;
  background:var(--ocap-nav-navy);
  color:#fff;
  box-shadow:0 3px 16px rgba(0,0,0,.14);
}

.ocap-nav-inner{
  width:min(1600px,100%);
  min-height:92px;
  margin:0 auto;
  padding:8px clamp(18px,3vw,48px) 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  position:relative;
  z-index:2;
}

.ocap-nav-logo-link{
  flex:0 0 auto;
  display:block;
  width:clamp(190px,22vw,330px);
  line-height:0;
  text-decoration:none;
  background:transparent!important;
}

.ocap-nav-logo{
  display:block;
  width:100%;
  height:auto;
  max-height:74px;
  object-fit:contain;
  object-position:left center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.ocap-nav-links{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:clamp(12px,2.2vw,38px);
  margin-left:auto;
}

.ocap-nav-links a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 2px;
  color:#fff!important;
  text-decoration:none!important;
  font-family:Arial,sans-serif;
  font-size:clamp(.76rem,1vw,.95rem);
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  text-transform:uppercase;
}

.ocap-nav-links a::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:4px;
  height:3px;
  background:var(--ocap-nav-cream);
  transition:left .18s ease,right .18s ease;
}

.ocap-nav-links a:hover::after,
.ocap-nav-links a:focus-visible::after,
.ocap-nav-links a[href="/carte/"]::after{
  left:0;
  right:0;
}

.ocap-nav-toggle{
  display:none;
  width:54px;
  height:50px;
  padding:8px;
  border:0;
  border-radius:8px;
  background:transparent;
  cursor:pointer;
}

.ocap-nav-toggle span{
  display:block;
  width:100%;
  height:5px;
  margin:6px 0;
  border-radius:999px;
  background:var(--ocap-nav-cream);
  transition:transform .22s ease,opacity .18s ease;
}

.ocap-nav-brush{
  display:block;
  position:absolute;
  z-index:1;
  left:0;
  bottom:-18px;
  width:100%;
  height:28px;
  object-fit:cover;
  object-position:center bottom;
  pointer-events:none;
}

@media(max-width:820px){
  .ocap-site-nav{
    margin-bottom:14px;
  }

  .ocap-nav-inner{
    min-height:84px;
    padding:8px 18px 12px;
    gap:12px;
  }

  .ocap-nav-logo-link{
    width:min(52vw,250px);
  }

  .ocap-nav-logo{
    max-height:61px;
  }

  .ocap-nav-toggle{
    display:block;
    flex:0 0 54px;
  }

  .ocap-nav-links{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:100;
    width:100%;
    margin:0;
    padding:15px 0 0;
    flex-direction:column;
    gap:0;
    background:var(--ocap-nav-navy);
    border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 14px 28px rgba(0,0,0,.20);
  }

  .ocap-site-nav.is-open .ocap-nav-links{
    display:flex;
  }

  .ocap-nav-links a{
    width:100%;
    min-height:60px;
    padding:0 20px;
    font-size:1rem;
    letter-spacing:.01em;
  }

  .ocap-nav-links a::after{
    display:none;
  }

  .ocap-nav-links .ocap-reservation-link{
    background:var(--ocap-nav-cream);
    color:var(--ocap-nav-navy)!important;
  }

  .ocap-site-nav.is-open .ocap-nav-toggle span:nth-child(1){
    transform:translateY(11px) rotate(45deg);
  }
  .ocap-site-nav.is-open .ocap-nav-toggle span:nth-child(2){
    opacity:0;
  }
  .ocap-site-nav.is-open .ocap-nav-toggle span:nth-child(3){
    transform:translateY(-11px) rotate(-45deg);
  }

  .ocap-nav-brush{
    bottom:-13px;
    height:21px;
  }
}

@media(max-width:420px){
  .ocap-nav-inner{
    min-height:78px;
    padding-left:14px;
    padding-right:12px;
  }
  .ocap-nav-logo-link{
    width:min(58vw,220px);
  }
  .ocap-nav-toggle{
    width:50px;
    height:48px;
    flex-basis:50px;
  }
}


/* === OCAP FINAL HEADER GAP / ACTIVE NAV FIX === */
html,body{margin:0!important;padding:0!important}
body{padding-top:0!important}
.ocap-site-nav{margin-bottom:0!important}
.ocap-nav-brush{bottom:-12px!important}
.page,.landing-page,main,.wrap{margin-top:0!important}
body>.page,body>.landing-page{position:relative!important;top:-1px!important}

@media(max-width:820px){
  .ocap-site-nav{margin-bottom:0!important}
  .ocap-nav-brush{bottom:-10px!important;height:20px!important}
  body>.page,body>.landing-page{margin-top:-1px!important;padding-top:1px!important}
}

/* hide duplicate hero/body logos only */
.logo-link,.logo-main,.official-logo-link,.official-logo{display:none!important}
.ocap-nav-logo-link,.ocap-nav-logo{display:block!important}

/* no permanent beige item */
.ocap-nav-links a,
.ocap-nav-links .ocap-reservation-link{
  background:transparent!important;
  color:#fff!important;
}

/* hover only */
.ocap-nav-links a:hover,
.ocap-nav-links a:focus-visible{
  background:#fae4c5!important;
  color:#022753!important;
}

/* active state only when explicitly marked */
.ocap-nav-links a.active{
  background:#fae4c5!important;
  color:#022753!important;
}

@media(max-width:820px){
  .ocap-nav-links a,
  .ocap-nav-links .ocap-reservation-link{
    background:transparent!important;
    color:#fff!important;
  }
  .ocap-nav-links a:hover,
  .ocap-nav-links a:focus-visible,
  .ocap-nav-links a.active{
    background:#fae4c5!important;
    color:#022753!important;
  }
}


/* === REMOVE BODY DUPLICATE LOGO FINAL V2 === */
.site-header .brand-logo,
.brand-block .brand-logo,
img.brand-logo{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  max-width:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  opacity:0 !important;
}

/* Keep only the logo in the blue navigation header */
.ocap-site-nav .ocap-nav-logo,
.ocap-site-nav .ocap-nav-logo-link{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* After removing the duplicate logo, keep subtitle/button centered and compact */
.brand-block{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding-top:1rem !important;
}

.brand-subtitle,
.brand-tagline,
.unified-language-return{
  margin-left:auto !important;
  margin-right:auto !important;
}
