/* Piratas da Madrugada — identidade náutica noturna. Sem imagens de fundo: só gradientes. */
:root{
  --navy-950:#06121f;
  --navy-900:#0b1d33;
  --navy-800:#122c4a;
  --navy-700:#1b3b63;
  --navy-600:#27527f;
  --blue-400:#5bb4e5;
  --blue-300:#8fd0f2;
  --amber:#e8a94f;
  --amber-soft:#f2c983;
  --parchment:#f6efe3;
  --sand:#e3d3b6;
  --ink:#111a24;
  --muted:#5c6b7a;
  --line:rgba(255,255,255,.14);
  --line-dark:rgba(11,29,51,.14);
  --radius:14px;
  --radius-lg:22px;
  --wrap:1160px;
  --shadow:0 18px 44px rgba(4,12,22,.28);
  --font-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font-body);font-size:17px;line-height:1.7;
  color:var(--ink);background:var(--parchment);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img,iframe{max-width:100%}
img{height:auto;display:block}
a{color:var(--navy-700);text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2rem,5.2vw,3.6rem)}
h2{font-size:clamp(1.55rem,3.4vw,2.4rem)}
h3{font-size:clamp(1.15rem,2vw,1.4rem)}
p{margin:0 0 1.1em}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}
.wrap.narrow{max-width:760px}
.center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;background:var(--amber);color:var(--navy-950);padding:12px 18px;z-index:200;font-weight:700}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:4px}

/* ---------------------------------------------------------------- botões */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:14px 26px;border-radius:999px;font-weight:700;font-size:.95rem;
  letter-spacing:.02em;text-decoration:none;border:2px solid transparent;
  transition:transform .18s ease,background-color .18s ease,color .18s ease;
  min-height:48px;cursor:pointer;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--amber);color:#241503;box-shadow:0 10px 26px rgba(232,169,79,.32)}
.btn-primary:hover{background:var(--amber-soft)}
.btn-ghost{border-color:currentColor;color:inherit}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-sm{padding:10px 18px;font-size:.85rem;min-height:42px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin:1.4em 0 0}
.btn-row.small{margin-top:1em}
.center .btn-row{justify-content:center}

/* ---------------------------------------------------------------- header */
.site-header{
  position:sticky;top:0;z-index:100;
  background:linear-gradient(180deg,var(--navy-950),var(--navy-900));
  border-bottom:1px solid var(--line);
  color:#fff;
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.brand img{width:46px;height:46px}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text strong{font-family:var(--font-display);font-size:1.15rem;letter-spacing:.02em}
.brand-text em{font-style:normal;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-300)}
.nav-toggle{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.nav-burger{display:none;width:46px;height:46px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;padding:10px}
.nav-burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .25s ease}
.site-nav{display:flex;align-items:center;gap:22px}
.site-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.site-nav a{color:rgba(255,255,255,.82);text-decoration:none;font-size:.88rem;font-weight:500}
.site-nav a:hover,.site-nav a.is-active{color:#fff}
.site-nav a.is-active{box-shadow:inset 0 -2px 0 var(--amber)}
.nav-cta{padding:11px 20px;min-height:42px;font-size:.85rem}
@media(max-width:1080px){
  .nav-burger{display:flex}
  .site-nav{
    position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;
    background:var(--navy-950);border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .35s ease;
  }
  .site-nav ul{flex-direction:column;gap:0;padding:8px 20px}
  .site-nav li{border-bottom:1px solid rgba(255,255,255,.07)}
  .site-nav a{display:block;padding:14px 0;font-size:1rem}
  .nav-cta{margin:16px 20px 22px;text-align:center}
  .nav-toggle:checked ~ .site-nav{max-height:640px}
  .nav-toggle:checked ~ .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle:checked ~ .nav-burger span:nth-child(2){opacity:0}
  .nav-toggle:checked ~ .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-toggle:focus-visible ~ .nav-burger{outline:3px solid var(--amber);outline-offset:2px}
}

/* ---------------------------------------------------------------- breadcrumbs */
.breadcrumbs{background:var(--navy-900);color:rgba(255,255,255,.62);font-size:.8rem;padding:9px 0;border-bottom:1px solid var(--line)}
.breadcrumbs a{color:rgba(255,255,255,.8)}
.breadcrumbs .sep{margin:0 .6em;opacity:.5}

/* ---------------------------------------------------------------- hero */
.hero{
  position:relative;color:#fff;overflow:hidden;
  background:
    radial-gradient(120% 90% at 12% 8%,rgba(232,169,79,.22),transparent 55%),
    radial-gradient(90% 70% at 88% 0%,rgba(91,180,229,.20),transparent 60%),
    linear-gradient(180deg,var(--navy-950) 0%,var(--navy-800) 55%,var(--navy-900) 100%);
  padding:clamp(56px,9vw,110px) 0 clamp(70px,10vw,130px);
}
.hero::after{
  content:"";position:absolute;inset:auto 0 -1px 0;height:90px;
  background:linear-gradient(180deg,transparent,rgba(11,29,51,.9)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 3px,transparent 3px 9px);
  pointer-events:none;
}
.hero .wrap{position:relative;z-index:1}
.eyebrow{
  display:inline-block;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--amber-soft);border:1px solid rgba(232,169,79,.42);border-radius:999px;
  padding:7px 16px;margin-bottom:22px;font-weight:600;
}
.hero h1{max-width:16ch;margin-bottom:.35em}
.hero .slogan{font-family:var(--font-display);font-style:italic;font-size:clamp(1.2rem,2.6vw,1.75rem);color:var(--blue-300);margin-bottom:.6em}
.hero p.lede{max-width:56ch;color:rgba(255,255,255,.8);font-size:1.05rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:26px;font-size:.9rem;color:rgba(255,255,255,.7)}
.hero-meta span{display:inline-flex;align-items:center;gap:8px}
.hero-meta span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);flex:none}

/* ---------------------------------------------------------------- seções */
.section{padding:clamp(48px,7vw,86px) 0}
.section.tight{padding:clamp(34px,5vw,58px) 0}
.section-dark{background:linear-gradient(180deg,var(--navy-900),var(--navy-800));color:#fff}
.section-dark a{color:var(--blue-300)}
.section-deep{background:var(--navy-950);color:#fff}
.section-deep a{color:var(--blue-300)}
.section-sand{background:linear-gradient(180deg,#efe4d1,var(--parchment))}
.lede{font-size:1.08rem;color:var(--muted);max-width:62ch}
.section-dark .lede,.section-deep .lede{color:rgba(255,255,255,.74)}
.section-head{max-width:64ch;margin-bottom:2rem}

/* ---------------------------------------------------------------- grades */
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

.card{
  background:#fff;border:1px solid var(--line-dark);border-radius:var(--radius-lg);
  padding:26px;box-shadow:0 4px 18px rgba(11,29,51,.06);
  transition:transform .2s ease,box-shadow .2s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card h3{margin-bottom:.35em}
.card p{color:var(--muted);margin-bottom:0;font-size:.96rem}
.card a.card-link{display:inline-block;margin-top:1em;font-weight:700;text-decoration:none;color:var(--navy-700)}
.card a.card-link::after{content:" →"}
.section-dark .card,.section-deep .card{background:rgba(255,255,255,.05);border-color:var(--line);color:#fff}
.section-dark .card p,.section-deep .card p{color:rgba(255,255,255,.72)}
.section-dark .card a.card-link,.section-deep .card a.card-link{color:var(--amber-soft)}

.cat-card{display:block;text-decoration:none;color:inherit}
.cat-card .kicker{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);font-weight:700}

/* ---------------------------------------------------------------- cardápio */
.menu-section{margin-bottom:clamp(38px,5vw,62px);scroll-margin-top:96px}
.menu-section > header{border-bottom:2px solid var(--line-dark);padding-bottom:14px;margin-bottom:22px}
.menu-section > header p{margin:.3em 0 0;color:var(--muted);font-size:.98rem}
.menu-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}
.menu-item{
  background:#fff;border:1px solid var(--line-dark);border-radius:var(--radius);
  padding:18px 20px;display:flex;gap:16px;justify-content:space-between;align-items:flex-start;
}
.menu-item h3{font-size:1.05rem;margin:0 0 .25em;font-family:var(--font-body);font-weight:700;letter-spacing:0}
.menu-item p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.55}
.price{font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:var(--navy-700);white-space:nowrap}
.price.consultar{font-size:.82rem;font-family:var(--font-body);color:var(--muted)}
.menu-nav{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 2.4rem;padding:0;list-style:none}
.menu-nav a{
  display:inline-block;padding:8px 15px;border-radius:999px;background:#fff;
  border:1px solid var(--line-dark);text-decoration:none;font-size:.86rem;font-weight:600;color:var(--navy-700);
}
.menu-nav a:hover{background:var(--navy-700);color:#fff;border-color:var(--navy-700)}
.addons{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.addons li{background:#fff;border:1px solid var(--line-dark);border-radius:999px;padding:7px 15px;font-size:.86rem}
.addons b{color:var(--navy-700)}

/* ---------------------------------------------------------------- horários */
.hours{border-collapse:collapse;width:100%;max-width:420px;font-size:.95rem}
.hours th,.hours td{text-align:left;padding:11px 4px;border-bottom:1px solid var(--line-dark)}
.hours th{font-weight:600}
.hours td{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.section-dark .hours th,.section-dark .hours td,.section-deep .hours th,.section-deep .hours td{border-color:var(--line)}

/* ---------------------------------------------------------------- passos */
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.steps li{counter-increment:s;position:relative;padding-left:56px}
.steps li::before{
  content:counter(s);position:absolute;left:0;top:-4px;width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;background:var(--amber);color:#241503;font-weight:800;font-family:var(--font-display);
}
.steps h3{font-size:1.05rem;margin-bottom:.25em}
.steps p{margin:0;font-size:.94rem;color:var(--muted)}
.section-dark .steps p,.section-deep .steps p{color:rgba(255,255,255,.72)}

/* ---------------------------------------------------------------- FAQ */
.faq-list{display:grid;gap:10px}
.faq details{background:#fff;border:1px solid var(--line-dark);border-radius:var(--radius);padding:0}
.faq summary{
  cursor:pointer;padding:18px 20px;font-weight:700;font-size:1rem;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:14px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--amber);font-weight:400;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .answer{padding:0 20px 18px;color:var(--muted)}
.faq .answer p:last-child{margin-bottom:0}

/* ---------------------------------------------------------------- CTA / mapa */
.cta-band{
  background:
    radial-gradient(80% 120% at 50% 0%,rgba(232,169,79,.24),transparent 60%),
    linear-gradient(180deg,var(--navy-800),var(--navy-950));
  color:#fff;
}
.cta-band p{color:rgba(255,255,255,.8)}
.map-frame{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line-dark);aspect-ratio:16/9;background:#dfd6c4}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-section .btn-row{justify-content:flex-start}

/* ---------------------------------------------------------------- NAP */
.nap{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}
.nap address{font-style:normal;line-height:1.8}
.nap h2{font-size:1.2rem}

/* ---------------------------------------------------------------- blog */
.post-card{display:flex;flex-direction:column;height:100%}
.post-card .kicker{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);font-weight:700;margin-bottom:.5em}
.post-card h3{font-size:1.12rem;margin-bottom:.4em}
.post-card h3 a{text-decoration:none;color:inherit}
.post-card h3 a:hover{color:var(--navy-600)}
.post-card p{flex:1}
.post-meta{font-size:.82rem;color:var(--muted);margin-top:1em}
.cluster{margin-bottom:44px}
.cluster h2{font-size:1.35rem;border-left:4px solid var(--amber);padding-left:14px}

.article{max-width:760px;margin:0 auto;padding:clamp(34px,5vw,64px) 20px}
.article .post-meta{margin:0 0 2em}
.article h2{margin-top:1.9em}
.article h3{margin-top:1.5em;font-family:var(--font-body);font-weight:700;font-size:1.1rem}
.article ul,.article ol{padding-left:1.25em;margin:0 0 1.2em}
.article li{margin-bottom:.5em}
.article .callout{
  background:#fff;border:1px solid var(--line-dark);border-left:4px solid var(--amber);
  border-radius:var(--radius);padding:20px 22px;margin:1.8em 0;
}
.article .callout p:last-child{margin-bottom:0}
.related{border-top:1px solid var(--line-dark);margin-top:2.5em;padding-top:1.5em}
.related ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}

/* ---------------------------------------------------------------- footer */
.site-footer{background:var(--navy-950);color:rgba(255,255,255,.74);padding:clamp(44px,6vw,70px) 0 24px;font-size:.92rem;margin-top:0}
.site-footer h2{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--amber-soft);font-family:var(--font-body);font-weight:700;margin:0 0 .9em}
.site-footer a{color:rgba(255,255,255,.82)}
.site-footer a:hover{color:#fff}
.footer-grid{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.footer-brand{font-family:var(--font-display);font-size:1.1rem;color:#fff;margin-bottom:.6em}
.site-footer address{font-style:normal;line-height:1.8;margin-bottom:.6em}
.footer-links{list-style:none;margin:0 0 1.6em;padding:0;display:grid;gap:9px}
.footer-hours{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.footer-hours li{display:flex;justify-content:space-between;gap:14px;font-variant-numeric:tabular-nums}
.footer-bottom{border-top:1px solid var(--line);margin-top:34px;padding-top:20px;font-size:.82rem;color:rgba(255,255,255,.55)}
.footer-bottom p{margin:0}

/* ---------------------------------------------------------------- CTA flutuante */
.float-cta{
  position:fixed;right:16px;bottom:16px;z-index:120;
  background:var(--amber);color:#241503;text-decoration:none;font-weight:800;font-size:.9rem;
  padding:14px 24px;border-radius:999px;box-shadow:0 12px 30px rgba(4,12,22,.4);
  min-height:48px;display:inline-flex;align-items:center;
}
.float-cta:hover{background:var(--amber-soft);color:#241503}

/* ---------------------------------------------------------------- 404 */
.err{min-height:60vh;display:grid;place-items:center;text-align:center;padding:70px 20px;
  background:linear-gradient(180deg,var(--navy-950),var(--navy-800));color:#fff}
.err h1{max-width:18ch;margin-inline:auto}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{.site-header,.float-cta,.site-footer,.breadcrumbs{display:none}}
