/* === RESET === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#FAF4E6;--cream-dark:#F0E8D4;--orange:#E55934;--teal:#1B6A78;
  --yellow:#F5C84B;--pink:#E83A6A;--purple:#6B3FA0;--dark:#1A1F2E;
  --mid:#5A6275;--light:#8A91A3;--white:#fff;--red:#D32F2F;
  --radius:16px;--radius-sm:10px;
  --shadow:0 4px 24px rgba(0,0,0,.10);--shadow-lg:0 8px 40px rgba(0,0,0,.14);
}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--dark);line-height:1.6;font-size:16px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

/* === NAV === */
.topnav{position:sticky;top:0;z-index:100;background:rgba(250,244,230,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.07);padding:0 1rem}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:56px;max-width:1100px;margin:0 auto}
.nav-brand{display:flex;align-items:center;gap:8px;font-family:'Fraunces',serif;font-weight:700;font-size:1rem;color:var(--dark)}
.brand-dot{width:10px;height:10px;background:var(--orange);border-radius:50%;flex-shrink:0}
.nav-brand em{font-style:normal;color:var(--orange);font-weight:400}
.nav-toggle{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:6px;border-radius:8px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--dark);border-radius:2px;transition:transform .3s,opacity .3s}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-links{display:none;flex-direction:column;position:fixed;top:56px;left:0;right:0;background:var(--cream);border-bottom:1px solid rgba(0,0,0,.08);padding:1rem;gap:.25rem;list-style:none;max-height:calc(100vh - 56px);overflow-y:auto}
.nav-links.is-open{display:flex}
.nav-links a{display:block;padding:.6rem .75rem;border-radius:var(--radius-sm);font-weight:500;font-size:.95rem;color:var(--dark);transition:background .2s}
.nav-links a:hover{background:var(--cream-dark)}
@media(min-width:900px){
  .nav-toggle{display:none}
  .nav-links{display:flex;flex-direction:row;position:static;background:none;border:none;padding:0;gap:.15rem;max-height:none;overflow:visible}
  .nav-links a{font-size:.78rem;padding:.4rem .55rem}
}

/* === HERO === */
.hero{position:relative;padding:5rem 1.5rem 4rem;background:linear-gradient(145deg,#1A1F2E 0%,#2C3450 40%,#1B6A78 100%);color:var(--white);overflow:hidden;min-height:80vh;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.sun-decor{position:absolute;top:-40px;right:-40px;width:220px;height:220px;opacity:.18}
.hero-content{position:relative;z-index:2;max-width:600px;width:100%}
.hero-eyebrow{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);margin-bottom:1rem}
.dot{width:6px;height:6px;background:var(--yellow);border-radius:50%}
.hero h1{font-family:'Fraunces',serif;font-size:clamp(3rem,10vw,5.5rem);line-height:.95;letter-spacing:-.03em;margin-bottom:1.25rem}
.hero h1 em{font-style:italic;color:var(--yellow)}
.hero-subtitle{font-size:1rem;line-height:1.65;color:rgba(255,255,255,.8);margin-bottom:1.5rem;max-width:480px}
.hero-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem}
.pill{display:inline-flex;padding:.35rem .9rem;border-radius:100px;font-size:.78rem;font-weight:600;background:var(--orange);color:var(--white)}
.pill.ghost{background:rgba(255,255,255,.12);color:rgba(255,255,255,.9)}
.hero-cta{display:inline-block;background:var(--yellow);color:var(--dark);font-weight:700;padding:.75rem 1.5rem;border-radius:100px;font-size:.92rem;transition:transform .2s}
.hero-cta:hover{transform:translateY(-2px)}
.hero-wave{position:absolute;bottom:-1px;left:0;right:0;width:100%;height:80px}

/* === STATS === */
.stats-bar{background:var(--dark);padding:1.25rem 1rem}
.stats-grid{display:flex;justify-content:space-around;max-width:600px;margin:0 auto;gap:.5rem}
.stat{text-align:center;flex:1}
.stat-num{display:block;font-family:'Fraunces',serif;font-size:1.6rem;color:var(--yellow);line-height:1}
.stat-label{display:block;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:.25rem}

/* === BLOCKS === */
.block{padding:3.5rem 1.25rem}
.bg-cream-dark{background:var(--cream-dark)}
.container{max-width:960px;margin:0 auto}
.section-header{margin-bottom:2rem}
.section-header.center{text-align:center}
.section-eyebrow{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:.5rem}
.section-header h2{font-family:'Fraunces',serif;font-size:clamp(1.65rem,5vw,2.4rem);line-height:1.1;letter-spacing:-.02em;margin-bottom:.6rem}
.section-header p{color:var(--mid);font-size:.92rem;max-width:560px;line-height:1.6}
.section-header.center p{margin:0 auto}

/* === PHASES === */
.phases{display:grid;gap:.85rem;grid-template-columns:1fr;margin-bottom:2rem}
@media(min-width:600px){.phases{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.phases{grid-template-columns:repeat(5,1fr)}}
.phase{padding:1.1rem;border-radius:var(--radius);border-left:4px solid var(--orange)}
.p-travel,.p-return{background:rgba(26,31,46,.06);border-color:var(--mid)}
.p1{background:rgba(27,106,120,.08);border-color:var(--teal)}
.p2{background:rgba(107,63,160,.08);border-color:var(--purple)}
.p3{background:rgba(232,58,106,.08);border-color:var(--pink)}
.phase-num{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);display:block;margin-bottom:.3rem}
.phase h3{font-family:'Fraunces',serif;font-size:.95rem;margin-bottom:.3rem}
.phase p{font-size:.78rem;color:var(--mid);line-height:1.45}
.phase-days{margin-top:.6rem;font-size:.72rem;font-weight:600;color:var(--orange)}

/* === FAMILY === */
.family-card{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}
.family-header{margin-bottom:1rem}
.family-header h3{font-family:'Fraunces',serif;font-size:1.15rem}
.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media(min-width:500px){.family-grid{grid-template-columns:repeat(4,1fr)}}
.family-member{display:flex;align-items:center;gap:.5rem}
.member-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--yellow));display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:.95rem;color:var(--white);flex-shrink:0}
.member-info strong{display:block;font-size:.88rem}
.member-info small{display:block;font-size:.7rem;color:var(--mid)}

/* === ALERTAS === */
.alertas-section{background:linear-gradient(135deg,#fff8f5 0%,var(--cream) 100%)}
.alertas-grid{display:grid;gap:.85rem;grid-template-columns:1fr}
@media(min-width:700px){.alertas-grid{grid-template-columns:1fr 1fr}}
.alerta-card{display:flex;gap:.85rem;padding:1.1rem;border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);border-left:4px solid var(--orange)}
.alerta-vermelho{border-color:var(--red);background:#fff5f5}
.alerta-laranja{border-color:#F57C00;background:#fff9f0}
.alerta-azul{border-color:var(--teal);background:#f0f9fb}
.alerta-icon{font-size:1.6rem;flex-shrink:0;line-height:1}
.alerta-body h4{font-family:'Fraunces',serif;font-size:.98rem;margin-bottom:.4rem}
.alerta-body p{font-size:.85rem;color:var(--mid);line-height:1.55}
.alerta-list{list-style:none;margin:.5rem 0;display:flex;flex-direction:column;gap:.3rem}
.alerta-list li{font-size:.82rem;color:var(--mid);line-height:1.45}
.alerta-rec{font-size:.82rem;margin-top:.5rem;padding:.6rem;background:rgba(245,200,75,.18);border-radius:var(--radius-sm);color:var(--dark)!important}

/* === IMIGRAÇÃO FLOW === */
.imig-flow{display:flex;flex-direction:column;gap:0;position:relative;margin-bottom:1.75rem}
.imig-step{display:flex;gap:.85rem;padding:.9rem 0}
.imig-step-final .imig-num{background:linear-gradient(135deg,var(--teal),var(--purple))}
.imig-num{width:38px;height:38px;border-radius:50%;background:var(--teal);color:var(--white);font-family:'Fraunces',serif;font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 0 4px var(--cream-dark)}
.imig-content{flex:1}
.imig-content h4{font-family:'Fraunces',serif;font-size:.98rem;margin-bottom:.3rem}
.imig-content p{font-size:.85rem;color:var(--mid);line-height:1.5}
.imig-tip{margin-top:.45rem;font-size:.78rem;padding:.45rem .65rem;background:rgba(245,200,75,.18);border-radius:var(--radius-sm);color:var(--dark)}

/* === COLA === */
.cola-section{background:linear-gradient(180deg,#fff5f5 0%,var(--cream) 100%)}
.cola-rules{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);margin-bottom:1.5rem;border-left:4px solid var(--red)}
.cola-rules h3{font-family:'Fraunces',serif;font-size:1.05rem;margin-bottom:.6rem;color:var(--red)}
.cola-rules ul{list-style:none;display:flex;flex-direction:column;gap:.35rem}
.cola-rules ul li{font-size:.84rem;color:var(--mid);padding-left:1rem;position:relative;line-height:1.5}
.cola-rules ul li::before{content:'•';position:absolute;left:0;color:var(--red);font-weight:700}
.cola-h3{font-family:'Fraunces',serif;font-size:1.2rem;margin:1.5rem 0 1rem;color:var(--dark)}
.qa-grid{display:grid;gap:.85rem;grid-template-columns:1fr;margin-bottom:1.5rem}
@media(min-width:600px){.qa-grid{grid-template-columns:1fr 1fr}}
.qa-card{background:var(--white);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);border-top:3px solid var(--teal)}
.qa-q{font-size:.9rem;font-weight:600;color:var(--dark);font-style:italic;margin-bottom:.15rem}
.qa-q-pt{font-size:.74rem;color:var(--light);margin-bottom:.6rem}
.qa-a{font-size:.92rem;color:var(--dark);background:rgba(27,106,120,.07);padding:.55rem .7rem;border-radius:var(--radius-sm);margin-bottom:.25rem}
.qa-a strong{color:var(--teal)}
.qa-a-pt{font-size:.76rem;color:var(--mid);font-style:italic}
.cola-warnings{background:#fff5f5;border-left:4px solid var(--red);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow);margin-bottom:1.25rem}
.cola-warnings h3{font-family:'Fraunces',serif;font-size:1.05rem;margin-bottom:.6rem;color:var(--red)}
.cola-warnings ul{list-style:none;display:flex;flex-direction:column;gap:.3rem}
.cola-warnings li{font-size:.84rem;color:var(--mid);line-height:1.45}
.cola-secondary{background:#f0f9fb;border-left:4px solid var(--teal);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow);margin-bottom:1.5rem}
.cola-secondary h3{font-family:'Fraunces',serif;font-size:1.05rem;margin-bottom:.5rem;color:var(--teal)}
.cola-secondary p{font-size:.85rem;color:var(--mid);margin-bottom:.5rem}
.cola-secondary ul{list-style:none;display:flex;flex-direction:column;gap:.3rem}
.cola-secondary li{font-size:.83rem;color:var(--mid);padding-left:1rem;position:relative;line-height:1.45}
.cola-secondary li::before{content:'›';position:absolute;left:0;color:var(--teal);font-weight:700}
.cola-download{background:var(--white);border-radius:var(--radius);padding:1.25rem;text-align:center;box-shadow:var(--shadow);border:2px dashed var(--orange)}
.cola-download-btn{display:inline-block;background:var(--orange);color:var(--white);font-weight:700;padding:.85rem 1.5rem;border-radius:100px;font-size:.95rem;margin-bottom:.5rem;transition:transform .2s}
.cola-download-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(229,89,52,.4)}
.cola-download p{font-size:.78rem;color:var(--mid)}

/* === FINANCEIRO === */
.financeiro-section{background:linear-gradient(180deg,var(--cream) 0%,#f0f9fb 100%)}
.fin-veredito{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);border-left:4px solid #2E7D32;display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}
.fin-vd-icon{font-size:2.5rem;flex-shrink:0;line-height:1}
.fin-vd-body h3{font-family:'Fraunces',serif;font-size:1.1rem;color:#2E7D32;margin-bottom:.3rem}
.fin-vd-body p{font-size:.85rem;color:var(--mid);line-height:1.55}
.fin-grid{display:grid;gap:.85rem;grid-template-columns:1fr;margin-bottom:1.5rem}
@media(min-width:700px){.fin-grid{grid-template-columns:1fr 1fr}}
.fin-card{background:var(--white);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow)}
.fin-card-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-family:'Fraunces',serif;font-size:.98rem}
.fin-emoji{font-size:1.3rem}
.fin-vals{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--cream-dark)}
.fin-val{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.fin-label{font-size:.78rem;color:var(--mid)}
.fin-num{font-family:'Fraunces',serif;font-weight:700;font-size:.95rem;color:var(--dark);text-align:right}
.fin-note{font-size:.78rem;color:var(--mid);line-height:1.5;margin-bottom:.75rem}
.fin-btn{display:inline-block;background:var(--teal);color:var(--white);font-size:.78rem;font-weight:600;padding:.4rem .8rem;border-radius:100px;margin-right:.4rem;margin-top:.3rem}
.fin-btn.ghost{background:transparent;color:var(--teal);border:1.5px solid var(--teal)}
.fin-btn:hover{opacity:.9}

.fin-totais{background:linear-gradient(135deg,#1B6A78 0%,#2C3450 100%);border-radius:var(--radius);padding:1.5rem;color:var(--white);margin-bottom:1.5rem}
.fin-totais h3{font-family:'Fraunces',serif;font-size:1.1rem;margin-bottom:1rem;color:var(--yellow)}
.fin-total-grid{display:flex;flex-direction:column;gap:.6rem}
.fin-total{display:flex;justify-content:space-between;align-items:baseline;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.15)}
.fin-total span{font-size:.85rem;color:rgba(255,255,255,.8)}
.fin-total strong{font-family:'Fraunces',serif;font-size:1rem}
.fin-total-sum{border-top:2px solid var(--yellow);border-bottom:none;padding-top:.85rem;margin-top:.4rem}
.fin-total-sum span{color:var(--yellow);font-weight:700;letter-spacing:.05em}
.fin-total-sum strong{font-size:1.4rem;color:var(--yellow)}

.fin-orcamento{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);margin-bottom:1.5rem;overflow-x:auto}
.fin-orcamento h3{font-family:'Fraunces',serif;font-size:1.1rem;margin-bottom:.85rem}
.fin-table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:480px}
.fin-table th,.fin-table td{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--cream-dark)}
.fin-table th{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mid);background:var(--cream)}
.fin-table th:nth-child(2),.fin-table th:nth-child(3){text-align:right}
.fin-table td:nth-child(2),.fin-table td:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}
.fin-table-total td{font-weight:700;background:rgba(245,200,75,.15);border-bottom:none}
.fin-table-total td:first-child{color:var(--orange)}

.fin-recomendacoes{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}
.fin-recomendacoes h3{font-family:'Fraunces',serif;font-size:1.1rem;margin-bottom:.85rem}
.fin-recomendacoes ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.fin-recomendacoes li{font-size:.85rem;color:var(--mid);padding-left:1.2rem;position:relative;line-height:1.55}
.fin-recomendacoes li::before{content:'✓';position:absolute;left:0;color:#2E7D32;font-weight:700}

/* === TIMELINE WITH DATE COLUMN === */
.timeline-section{background:var(--cream)}
.timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:0}

/* State classes */
.tl-day.day-past .tl-dot{background:var(--light);border-color:var(--light)}
.tl-day.day-past .tl-date-num{color:var(--light)}
.tl-day.day-past .tl-date-day{color:var(--light)}
.tl-day.day-past .tl-card{background:rgba(255,255,255,.5);box-shadow:none;border:1px solid rgba(0,0,0,.06);opacity:.55}
.tl-day.day-past .tl-card h3{color:var(--mid)}
.tl-day.day-past .tl-tagline{color:var(--light)}

.tl-day.day-today .tl-dot{background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 4px rgba(229,89,52,.25);transform:scale(1.25)}
.tl-day.day-today .tl-card{border:2px solid var(--orange);box-shadow:0 4px 24px rgba(229,89,52,.18)}
.tl-day.day-today .tl-date-num{color:var(--orange);font-weight:900}
.tl-day.day-today .tl-date-day{color:var(--orange);font-weight:700}

.tl-day.day-future .tl-dot{background:var(--teal)}
.tl-day.day-future .tl-card{background:var(--white);box-shadow:var(--shadow)}

.tl-day{display:grid;grid-template-columns:48px 32px 1fr;gap:.5rem;position:relative;padding-bottom:.6rem}
@media(min-width:500px){.tl-day{grid-template-columns:60px 36px 1fr;gap:.75rem}}

/* DATE COLUMN */
.tl-date{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:.85rem;line-height:1}
.tl-date-day{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mid);margin-bottom:.15rem}
.tl-date-num{font-family:'Fraunces',serif;font-weight:700;font-size:1.5rem;color:var(--dark);line-height:1}
@media(min-width:500px){.tl-date-num{font-size:1.8rem}}
.tl-date-month{font-size:.6rem;font-weight:600;color:var(--mid);text-transform:uppercase;letter-spacing:.05em;margin-top:.1rem}

/* RAIL COLUMN */
.tl-rail{display:flex;flex-direction:column;align-items:center;padding-top:1rem;position:relative}
.tl-rail::before{content:'';position:absolute;top:0;bottom:-.6rem;left:50%;width:2px;background:linear-gradient(to bottom,var(--teal),var(--purple) 60%,var(--mid));opacity:.2;transform:translateX(-50%);z-index:0}
.tl-day:last-child .tl-rail::before{height:1.4rem}
.tl-dot{width:14px;height:14px;border-radius:50%;background:var(--teal);border:2px solid var(--white);position:relative;z-index:2;transition:transform .3s}

/* CARD */
.tl-body{padding-top:.6rem}
.tl-card{background:var(--white);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:box-shadow .2s,transform .1s;position:relative}
.tl-card:active{transform:scale(.99)}
.tl-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}
.tl-card-icon{font-size:1.4rem;flex-shrink:0;line-height:1}
.tl-card-titles{flex:1}
.tl-card h3{font-family:'Fraunces',serif;font-size:1rem;line-height:1.2}
.tl-tagline{font-size:.78rem;color:var(--mid);margin-top:.2rem;line-height:1.4}
.tl-card-toggle{width:26px;height:26px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:transform .3s,background .2s;flex-shrink:0;color:var(--mid)}
.tl-card.is-open .tl-card-toggle{transform:rotate(180deg);background:var(--orange);color:var(--white)}
.tl-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.6rem}
.tl-chip{font-size:.65rem;font-weight:600;padding:.18rem .5rem;border-radius:100px;background:var(--cream-dark);color:var(--mid)}
.tl-expandable{display:none;padding-top:.7rem;border-top:1px solid var(--cream-dark)}
.tl-card.is-open .tl-expandable{display:block}
.tl-schedule{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin-bottom:.85rem}
.tl-schedule li{display:flex;gap:.6rem;align-items:flex-start}
.tl-time{font-size:.7rem;font-weight:700;color:var(--teal);white-space:nowrap;min-width:36px;padding-top:.1rem}
.tl-sched-content strong{display:block;font-size:.83rem;line-height:1.3}
.tl-sched-content small{display:block;font-size:.76rem;color:var(--mid);line-height:1.4;margin-top:.15rem}
.tl-tips-row{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.6rem}
.tl-tip-box{padding:.65rem;background:var(--cream);border-radius:var(--radius-sm);border-left:3px solid var(--yellow)}
.tl-tip-box h5{font-size:.78rem;font-weight:700;margin-bottom:.2rem;display:flex;align-items:center;gap:.4rem}
.tl-tip-box p{font-size:.76rem;color:var(--mid);line-height:1.45}
.tl-route{font-size:.72rem;color:var(--mid);font-style:italic;margin-top:.4rem}
.today-badge{display:inline-block;background:var(--orange);color:var(--white);font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.12rem .45rem;border-radius:100px;margin-left:.4rem;vertical-align:middle}

/* === DOCS === */
.docs-tabs{display:flex;overflow-x:auto;gap:.4rem;padding-bottom:.5rem;margin-bottom:1.25rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.docs-tabs::-webkit-scrollbar{display:none}
.doc-tab{flex-shrink:0;padding:.5rem 1rem;border-radius:100px;border:1.5px solid rgba(0,0,0,.12);background:var(--white);font-size:.78rem;font-weight:600;color:var(--mid);cursor:pointer;transition:all .2s;white-space:nowrap}
.doc-tab.active,.doc-tab:hover{background:var(--orange);border-color:var(--orange);color:var(--white)}
.docs-contents{background:var(--white);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}
.docs-content{display:none}
.docs-content.active{display:block}
.doc-list{display:flex;flex-direction:column;gap:.45rem}
.doc-item{display:flex;align-items:center;gap:.7rem;padding:.7rem;border-radius:var(--radius-sm);background:var(--cream);transition:background .2s;cursor:pointer}
.doc-item:hover{background:var(--cream-dark)}
.doc-info-only{cursor:default}
.doc-emoji{font-size:1.2rem;flex-shrink:0}
.doc-info{flex:1;min-width:0}
.doc-info strong{display:block;font-size:.86rem}
.doc-info small{display:block;font-size:.72rem;color:var(--mid)}
.doc-arrow{color:var(--teal);font-weight:700;font-size:1rem;flex-shrink:0}
.doc-info-box{margin-top:1rem;padding:.85rem;background:rgba(245,200,75,.18);border-radius:var(--radius-sm);font-size:.82rem;color:var(--dark);line-height:1.55}

/* === MAP === */
.map-legend{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:.75rem}
.legend-item{display:flex;align-items:center;gap:.35rem;font-size:.74rem;color:var(--mid);font-weight:500}
.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.map-container{width:100%;height:380px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
@media(min-width:600px){.map-container{height:500px}}
.custom-marker{border:none;background:none}
.map-marker{width:24px;height:24px;border-radius:50%;border:3px solid var(--white);box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:pointer}
.leaflet-popup-content-wrapper{border-radius:12px}
.leaflet-popup-content{margin:12px 14px}
.popup-title{font-family:'Fraunces',serif;font-size:.92rem;font-weight:700;margin-bottom:2px}
.popup-meta{font-size:.7rem;color:var(--mid);margin-bottom:6px}
.popup-tag{display:inline-block;font-size:.66rem;font-weight:700;padding:.15rem .5rem;border-radius:100px;color:var(--white)}

/* === SHOP === */
.shop-grid{display:grid;gap:.85rem;grid-template-columns:1fr}
@media(min-width:500px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
.shop-card{background:var(--white);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow)}
.shop-icon{font-size:1.6rem;margin-bottom:.5rem}
.shop-card h4{font-family:'Fraunces',serif;font-size:.98rem;margin-bottom:.25rem}
.shop-card p{font-size:.78rem;color:var(--mid);margin-bottom:.65rem;line-height:1.45}
.shop-list{list-style:none;display:flex;flex-direction:column;gap:.35rem}
.shop-list li{display:flex;justify-content:space-between;font-size:.78rem;gap:.5rem}
.place{font-weight:600;color:var(--dark)}
.where{color:var(--mid);text-align:right;font-size:.72rem}
.compras-obs{margin-top:1.25rem;background:var(--white);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.45rem}
.compras-obs p{font-size:.83rem;color:var(--mid);line-height:1.5}

/* === TIPS === */
.dicas-section{background:linear-gradient(135deg,var(--cream) 0%,#e8f4f7 100%)}
.tips-grid{display:grid;gap:.75rem;grid-template-columns:1fr}
@media(min-width:500px){.tips-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.tips-grid{grid-template-columns:repeat(4,1fr)}}
.tip-card{background:var(--white);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);position:relative}
.tip-num{display:block;font-family:'Fraunces',serif;font-size:1.4rem;color:var(--cream-dark);position:absolute;top:.7rem;right:.75rem;line-height:1}
.tip-card h4{font-size:.88rem;font-weight:700;margin-bottom:.3rem;padding-right:1.8rem}
.tip-card p{font-size:.78rem;color:var(--mid);line-height:1.5}

/* === INFOGRÁFICOS === */
.infografico-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:600px){.infografico-grid{grid-template-columns:repeat(3,1fr)}}
.infografico-link{display:block;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s}
.infografico-link:hover{transform:translateY(-3px)}
.infografico-link img{width:100%;aspect-ratio:4/3;object-fit:cover}
.infografico-caption{display:block;padding:.55rem .75rem;background:var(--white);font-size:.76rem;font-weight:600;color:var(--mid)}

/* === FOOTER === */
footer{background:var(--dark);color:rgba(255,255,255,.6);text-align:center;padding:2.25rem 1.25rem;font-size:.8rem;line-height:1.6}
footer p:first-child{font-family:'Fraunces',serif;font-size:1rem;color:var(--white);margin-bottom:.25rem}
.foot-emergency{margin-top:.5rem;color:rgba(255,255,255,.8);font-size:.74rem}
.foot-emergency strong{color:var(--yellow)}

/* === PRINT === */
@media print{
  .topnav,.nav-toggle,.hero-cta,.cola-download{display:none}
  .tl-expandable{display:block!important}
  .block{padding:1rem .5rem;page-break-inside:avoid}
  .qa-card{page-break-inside:avoid}
}
