/* =========================================================
   Guías de My Orlando Guide · estilos
   Misma paleta y tipografías que la web (styles.css).
   ========================================================= */
:root{
  --lav:#7083DF; --lav-2:#8C9BE8; --lav-soft:#E9ECFB; --deep:#443E96;
  --ink:#24255A; --ink-soft:#5B5E8C; --coral:#F94F4F; --butter:#FFE7A0;
  --pink:#F9C9DC; --cream:#FBF8F4; --green:#1E9E6A; --white:#fff;
  --accent:#7083DF; --accent2:#E9ECFB;
  --r:20px; --shadow:0 18px 44px -22px rgba(36,37,90,.45);
  --ease:cubic-bezier(.2,.8,.2,1);
  --slab:'Roboto Slab', Georgia, serif;
  --sans:'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --script:'Caveat', cursive;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-padding-top:70px;}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);font-size:16px;line-height:1.55;overflow-x:clip;-webkit-tap-highlight-color:transparent;}
img{max-width:100%;display:block;}
a{color:inherit;}
button{font:inherit;color:inherit;cursor:pointer;}
h1,h2,h3{font-family:var(--slab);line-height:1.1;margin:0 0 .35em;letter-spacing:-.01em;}
h3{font-size:1.12rem;}
p{margin:0 0 .7em;}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px 40px;}
.muted{color:var(--ink-soft);}
.tiny{font-size:.82rem;color:var(--ink-soft);margin:.4em 0;}
.script{font-family:var(--script);color:var(--coral);font-weight:700;}
.kicker{font-family:var(--script);font-size:1.6rem;color:var(--butter);margin:0;line-height:1;}
.spark{display:inline-block;animation:spin 6s linear infinite;}
.hl{color:var(--butter);}
.note{background:var(--butter);border-radius:14px;padding:10px 14px;font-size:.93rem;margin:12px 0;}
.hint{font-size:.92rem;color:var(--ink-soft);margin:6px 0 14px;}
.empty{grid-column:1/-1;text-align:center;color:var(--ink-soft);padding:30px;}
.linkbtn{background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;color:var(--deep);font-weight:700;font-size:inherit;}
.linkbtn.danger{color:var(--coral);margin-top:10px;display:inline-block;font-size:.88rem;}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;border:2px solid transparent;border-radius:999px;padding:.7em 1.25em;font-weight:700;text-decoration:none;transition:transform .2s var(--ease),box-shadow .2s,background .2s;white-space:nowrap;min-height:44px;}
.btn:active{transform:scale(.97);}
.btn:focus-visible,.chip:focus-visible,.tabs a:focus-visible,.seg button:focus-visible{outline:3px solid var(--butter);outline-offset:2px;}
.btn-sm{font-size:.88rem;padding:.5em 1em;min-height:40px;}
.btn-xs{font-size:.8rem;padding:.3em .8em;min-height:34px;}
.btn-accent{background:var(--accent);color:#fff;box-shadow:0 10px 22px -12px var(--accent);}
.btn-butter{background:var(--butter);color:var(--deep);}
.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.08);}
.btn-line{border-color:var(--lav-soft);background:#fff;color:var(--ink);}
.btn-done{background:var(--green);color:#fff;}
.btn-wa{background:#25D366;color:#fff;}

/* ---------- héroes ---------- */
.hhero,.ihero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(900px 500px at 0% 100%,#6474D4,var(--lav) 70%);padding:22px 16px 46px;}
.ihero{background:radial-gradient(800px 400px at 0% 100%,color-mix(in srgb,var(--accent) 80%,#000),var(--accent) 75%);padding-bottom:34px;}
.hhero > *:not(.sky),.ihero > *:not(.sky){position:relative;max-width:1100px;margin-left:auto;margin-right:auto;}
.hhero h1{font-size:clamp(2.2rem,8vw,3.8rem);font-weight:800;margin:.15em auto .3em;}
.ihero h1{font-size:clamp(1.9rem,7vw,3rem);margin:.15em auto .25em;}
.lead{font-size:1.05rem;opacity:.95;max-width:36em;}
.logo{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--slab);font-weight:800;font-size:1.05rem;margin-bottom:26px !important;}
.logo svg{width:22px;height:22px;fill:var(--butter);animation:spin 10s linear infinite;}
.logo em{font-style:normal;color:var(--butter);}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px !important;}
.sky{position:absolute;inset:0;pointer-events:none;}
.twinkle{position:absolute;left:var(--x);top:var(--y);width:12px;height:12px;background:var(--butter);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:twinkle 3.2s ease-in-out infinite var(--d);}
.twinkle.big{width:22px;height:22px;background:#fff;}
.back{display:inline-block;text-decoration:none;font-weight:700;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 14px;border-radius:999px;margin-bottom:18px !important;font-size:.92rem;}

/* parque */
.phero{position:relative;color:#fff;min-height:330px;display:flex;align-items:flex-end;overflow:hidden;background:var(--accent);}
.phero-img{position:absolute;inset:0;}
.phero-img img,.phero-img .ph{width:100%;height:100%;object-fit:cover;}
.phero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,60,.25) 0%,rgba(20,18,60,.15) 35%,color-mix(in srgb,var(--accent) 70%,#120f3a) 100%);}
.phero-in{position:relative;width:100%;max-width:1100px;margin:0 auto;padding:18px 16px 22px;}
.phero > .back{position:absolute;top:calc(14px + env(safe-area-inset-top));left:16px;margin:0 !important;z-index:2;color:#fff;}
.phero h1{font-size:clamp(2.1rem,9vw,3.6rem);font-weight:800;margin:.1em 0 .15em;text-shadow:0 2px 18px rgba(0,0,0,.25);}
.phero .lead{text-shadow:0 1px 10px rgba(0,0,0,.3);}
.pstats{display:flex;align-items:center;gap:12px;margin-top:10px;font-weight:700;}
.ring{--p:0;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--butter) calc(var(--p)*1%),rgba(255,255,255,.25) 0);position:relative;flex:none;}
.ring::before{content:"";position:absolute;inset:6px;border-radius:50%;background:color-mix(in srgb,var(--accent) 85%,#000);}
.ring b,.ring small{position:relative;line-height:1;}
.ring b{font-family:var(--slab);font-size:1.15rem;}
.ring small{font-size:.7rem;opacity:.8;margin-top:-14px;}
.ring{grid-template-rows:1fr;}
.ring b{grid-area:1/1;transform:translateY(-3px);} .ring small{grid-area:1/1;transform:translateY(12px);margin:0;}

/* ---------- pestañas ---------- */
.tabs{position:sticky;top:0;z-index:20;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 12px;background:rgba(251,248,244,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #ece7f5;}
.tabs::-webkit-scrollbar{display:none;}
.tabs a{flex:none;display:inline-flex;align-items:center;gap:6px;text-decoration:none;padding:9px 14px;border-radius:999px;font-weight:700;font-size:.92rem;color:var(--ink-soft);background:#fff;border:1.5px solid #ece7f5;min-height:42px;}
.tabs a.on{background:var(--accent);color:#fff;border-color:var(--accent);}
.tabs .dot{font-style:normal;background:var(--coral);color:#fff;border-radius:999px;font-size:.72rem;padding:1px 7px;}
@media (min-width:900px){.tabs{justify-content:center;}}

/* ---------- inicio ---------- */
.sec-t{font-size:clamp(1.5rem,5vw,2.1rem);margin:34px 0 14px;}
.sec-t .script{display:block;font-size:1.25rem;font-weight:700;margin-bottom:2px;}
.igrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.icard{display:flex;flex-direction:column;gap:4px;text-decoration:none;background:#fff;border-radius:var(--r);padding:16px;box-shadow:var(--shadow);border-top:5px solid var(--accent);transition:transform .25s var(--ease);}
.icard:hover{transform:translateY(-3px);}
.icard span{font-size:1.7rem;}
.icard b{font-family:var(--slab);font-size:1.02rem;line-height:1.2;}
.icard small{color:var(--ink-soft);font-size:.84rem;line-height:1.35;}
.pgrid{display:grid;grid-template-columns:1fr;gap:16px;}
.pcard{display:grid;grid-template-columns:120px 1fr;text-decoration:none;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s var(--ease);}
.pcard:hover{transform:translateY(-3px);}
.pcard-img{position:relative;min-height:150px;background:var(--accent);}
.pcard-img img,.pcard-img .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pcard-body{padding:14px 16px;position:relative;}
.pcard-emoji{position:absolute;right:12px;top:10px;font-size:1.4rem;}
.pcard h3{font-size:1.25rem;margin-right:28px;color:var(--accent);}
.pcard p{font-size:.88rem;color:var(--ink-soft);margin-bottom:10px;line-height:1.35;}
.pcard small{font-size:.8rem;font-weight:700;color:var(--ink-soft);}
.bar{height:8px;background:var(--lav-soft);border-radius:99px;overflow:hidden;margin-bottom:6px;}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--coral));border-radius:99px;transition:width .6s var(--ease);}
@media (min-width:640px){.igrid{grid-template-columns:repeat(4,1fr);}.pgrid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1000px){.pgrid{grid-template-columns:repeat(2,1fr);}.pcard{grid-template-columns:170px 1fr;}}
.ph{display:grid;place-items:center;font-size:2.4rem;background:linear-gradient(135deg,var(--accent),var(--accent2));width:100%;height:100%;}

/* ---------- plan ---------- */
.seg{display:flex;gap:4px;background:#fff;border-radius:999px;padding:4px;box-shadow:0 6px 20px -14px rgba(36,37,90,.5);margin:18px 0 10px;overflow-x:auto;scrollbar-width:none;}
.seg button{flex:1 1 0;min-width:0;border:0;background:none;border-radius:999px;padding:10px 8px;font-weight:700;font-size:.88rem;white-space:nowrap;color:var(--ink-soft);min-height:42px;}
@media (max-width:420px){.seg button span{display:none;}.seg button{font-size:.84rem;padding:10px 4px;}}
.seg button[aria-selected="true"]{background:var(--accent);color:#fff;}
.seg.sm{margin:0;box-shadow:none;background:var(--lav-soft);}
.seg.sm button{font-size:.84rem;padding:7px 12px;min-height:36px;}
.entry{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:6px 0 10px;font-weight:700;font-size:.92rem;}
.plan-intro{font-family:var(--script);font-size:1.4rem;line-height:1.2;color:var(--deep);margin:12px 0 4px;}
.mini-check{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--green);color:#fff;font-size:.7rem;}
.timeline{list-style:none;margin:0;padding:0 0 0 4px;position:relative;}
.timeline::before{content:"";position:absolute;left:21px;top:16px;bottom:16px;width:3px;background:repeating-linear-gradient(var(--accent2) 0 8px,transparent 8px 14px);border-radius:2px;}
.step{position:relative;display:grid;grid-template-columns:38px 1fr;gap:10px;margin-bottom:14px;}
.step-dot{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--slab);font-weight:800;box-shadow:0 0 0 4px var(--cream);transition:background .3s;}
.step.all .step-dot{background:var(--green);}
.step-card{background:#fff;border-radius:var(--r);padding:14px 16px;box-shadow:0 12px 30px -24px rgba(36,37,90,.6);}
.step.all .step-card{background:color-mix(in srgb,var(--green) 6%,#fff);}
.when{display:inline-block;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent2);padding:3px 10px;border-radius:999px;margin-bottom:6px;}
.step-card p{font-size:.95rem;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 6px;}
.chip{position:relative;display:inline-flex;align-items:center;gap:8px;border:1.5px solid #e3def0;background:var(--cream);border-radius:999px;padding:4px 32px 4px 4px;font-size:.88rem;font-weight:700;text-align:left;min-height:44px;transition:background .2s,border-color .2s,transform .15s;}
.chip:active{transform:scale(.97);}
.chip img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;}
.chip:not(:has(img)){padding-left:14px;}
.chip .ck{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:2px solid #cfc8e4;display:grid;place-items:center;font-style:normal;font-size:.72rem;color:transparent;transition:all .2s;}
.chip.done{background:color-mix(in srgb,var(--green) 12%,#fff);border-color:var(--green);}
.chip.done span{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--green);opacity:.75;}
.chip.done .ck{background:var(--green);border-color:var(--green);color:#fff;}
.chip.short{border-style:dashed;}
.chip em{font-style:normal;font-size:.72rem;padding:2px 7px;border-radius:999px;}
.llb{background:var(--butter);color:var(--deep);}
.shortb{background:#FFE1E1;color:#B3261E;}
.fchip{display:inline-flex;align-items:center;text-decoration:none;font-size:.85rem;font-weight:700;padding:8px 12px;border-radius:999px;background:var(--butter);color:var(--deep);min-height:40px;}

/* world showcase */
.countries{list-style:none;padding:0;margin:0;display:grid;gap:12px;}
.country{display:grid;grid-template-columns:96px 1fr;gap:12px;background:#fff;border-radius:var(--r);padding:10px;box-shadow:0 12px 30px -24px rgba(36,37,90,.6);}
.country.done{background:color-mix(in srgb,var(--green) 7%,#fff);}
.country-img{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:1;}
.country-img img,.country-img .ph{width:100%;height:100%;object-fit:cover;font-size:1.6rem;}
.country .num{position:absolute;top:6px;left:6px;background:var(--butter);color:var(--deep);font-family:var(--slab);font-weight:800;font-size:.8rem;border-radius:99px;padding:1px 8px;}
.country h3{margin-bottom:.2em;}
.country p{font-size:.9rem;}
@media (min-width:760px){.countries{grid-template-columns:repeat(2,1fr);}}

/* ---------- atracciones ---------- */
.filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:18px -16px 4px;padding:0 16px 4px;}
.filters::-webkit-scrollbar{display:none;}
.filters button{flex:none;border:1.5px solid #e3def0;background:#fff;border-radius:999px;padding:8px 14px;font-weight:700;font-size:.86rem;color:var(--ink-soft);min-height:40px;}
.filters button.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.rgrid{display:grid;grid-template-columns:1fr;gap:16px;}
@media (min-width:700px){.rgrid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1050px){.rgrid{grid-template-columns:repeat(3,1fr);}}
.rcard{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .3s var(--ease);}
.rcard.flash{animation:flash 1.4s var(--ease);}
.rcard-img{position:relative;aspect-ratio:16/8.5;background:var(--accent2);}
.rcard-img img,.rcard-img .ph{width:100%;height:100%;object-fit:cover;}
.rcard.done .rcard-img img{filter:saturate(.55) brightness(.9);}
.stamp{position:absolute;right:12px;bottom:12px;background:var(--green);color:#fff;font-family:var(--slab);font-weight:800;padding:6px 14px;border-radius:12px;transform:rotate(-5deg);box-shadow:0 8px 20px -8px rgba(0,0,0,.5);display:flex;flex-direction:column;align-items:center;line-height:1.1;animation:pop .45s var(--ease);}
.stamp small{font-family:var(--sans);font-size:.72rem;opacity:.9;}
.stamp.sm{right:8px;bottom:8px;width:34px;height:34px;padding:0;border-radius:50%;display:grid;place-items:center;transform:none;}
.rcard-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;}
.rcard-body p{font-size:.93rem;color:var(--ink-soft);flex:1;}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 10px;}
.b{display:inline-block;font-size:.74rem;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--lav-soft);color:var(--deep);}
.b-red{background:#FFE1E1;color:#B3261E;}
.b-g1{background:var(--coral);color:#fff;}
.b-g2{background:var(--butter);color:#6a4b00;}
.b-sp{background:var(--deep);color:#fff;}
.ractions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.lltime{position:relative;display:inline-flex;align-items:center;gap:6px;border:1.5px dashed #d8d1ea;border-radius:999px;padding:3px 6px 3px 12px;font-size:.84rem;font-weight:700;color:var(--ink-soft);min-height:42px;}
.lltime.on{border-style:solid;border-color:#E8C55A;background:var(--butter);color:var(--deep);}
.lltime input{border:0;background:#fff;border-radius:999px;padding:5px 8px;font:inherit;color:var(--ink);min-width:92px;}
.lltime .x,.lllist .x{border:0;background:none;font-size:1.3rem;line-height:1;padding:4px 8px;color:var(--ink-soft);}

/* ---------- mi día ---------- */
.daygrid{display:grid;gap:16px;margin-top:18px;}
@media (min-width:860px){.daygrid{grid-template-columns:1.1fr .9fr;align-items:start;}}
.card{background:#fff;border-radius:var(--r);padding:16px;box-shadow:0 12px 30px -24px rgba(36,37,90,.6);margin-bottom:16px;}
.nextll{display:grid;grid-template-columns:1fr;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#120f3a));color:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);margin-bottom:16px;}
.nextll-img{aspect-ratio:16/7;}
.nextll-img img,.nextll-img .ph{width:100%;height:100%;object-fit:cover;}
.nextll > div:last-child{padding:16px;}
.nextll .when{background:rgba(255,255,255,.2);color:#fff;}
.big-time{font-family:var(--slab);font-size:2.6rem;font-weight:800;line-height:1;margin:.1em 0 .3em;}
.big-time small{font-family:var(--sans);font-size:1rem;font-weight:700;background:var(--butter);color:var(--deep);padding:4px 10px;border-radius:999px;vertical-align:middle;}
.nextll .tiny{color:rgba(255,255,255,.85);}
.nextll .btn-accent{background:#fff;color:var(--accent);}
.empty-ll{text-align:center;}
.empty-ll .big{font-size:2.4rem;margin:0;}
.addll summary{font-weight:700;cursor:pointer;min-height:32px;}
.addll-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.addll-form select,.addll-form input{font:inherit;border:1.5px solid #e3def0;border-radius:12px;padding:9px 10px;background:#fff;min-height:44px;}
.addll-form select{flex:1 1 200px;min-width:0;}
.lllist,.donelist,.sug-list{list-style:none;margin:8px 0 0;padding:0;}
.lllist li,.donelist li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed #ece7f5;}
.lllist .t,.donelist .t{font-family:var(--slab);font-weight:800;min-width:52px;color:var(--accent);}
.lllist .n,.donelist .n{flex:1;font-weight:500;}
.lllist li.used{opacity:.55;}
.lllist li.used .n{text-decoration:line-through;}
.lllist li.next{background:var(--butter);border-radius:12px;padding-left:8px;border-bottom-color:transparent;}
.lllist .tag{font-size:.78rem;color:var(--green);font-weight:700;}
.sug-list li{padding:7px 0;display:flex;align-items:flex-start;gap:10px;}
.sug-list li > span .b{margin-left:2px;vertical-align:1px;}
.sug-list a{font-weight:700;color:var(--deep);}
ol.sug-list{counter-reset:s;}
ol.sug-list li::before{counter-increment:s;content:counter(s);width:22px;height:22px;border-radius:50%;background:var(--lav-soft);display:inline-grid;place-items:center;font-size:.75rem;font-weight:800;color:var(--deep);flex:none;margin-top:1px;}
.sug{border:2px solid var(--butter);}

/* ---------- personajes y comida ---------- */
.cgrid,.sgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:6px;}
@media (min-width:640px){.cgrid,.sgrid{grid-template-columns:repeat(3,1fr);}}
@media (min-width:960px){.cgrid,.sgrid{grid-template-columns:repeat(4,1fr);}}
.ccard,.scard{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#fff;border:0;border-radius:var(--r);padding:8px 8px 12px;box-shadow:0 12px 30px -24px rgba(36,37,90,.6);gap:3px;transition:transform .2s;}
.ccard:active,.scard:active{transform:scale(.98);}
.ccard-img,.scard-img{position:relative;width:100%;aspect-ratio:1;border-radius:14px;overflow:hidden;margin-bottom:6px;}
.ccard-img img,.scard-img img,.ccard-img .ph,.scard-img .ph{width:100%;height:100%;object-fit:cover;object-position:50% 20%;}
.ccard b,.scard b{font-family:var(--slab);font-size:.98rem;line-height:1.2;padding:0 4px;}
.ccard small,.scard small{font-size:.78rem;color:var(--ink-soft);padding:0 4px;line-height:1.3;}
.ccard.done,.scard.done{outline:2.5px solid var(--green);}
.fgrid{display:grid;gap:14px;}
@media (min-width:760px){.fgrid{grid-template-columns:repeat(3,1fr);}}
.fcard{display:grid;grid-template-columns:110px 1fr;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 12px 30px -24px rgba(36,37,90,.6);}
@media (min-width:760px){.fcard{grid-template-columns:1fr;}.fcard-img{aspect-ratio:16/10;}}
.fcard-img img,.fcard-img .ph{width:100%;height:100%;object-fit:cover;}
.fcard-body{padding:12px 14px;}
.fcard-body h3{margin-bottom:.1em;}
.fcard-body small{color:var(--ink-soft);font-weight:700;font-size:.8rem;}
.fcard-body p{font-size:.9rem;margin:.4em 0 .7em;}
.fcard.done{outline:2.5px solid var(--green);}

/* ---------- info ---------- */
.prose p{font-size:.97rem;}
.mpgrid{display:grid;gap:12px;}
@media (min-width:760px){.mpgrid{grid-template-columns:repeat(3,1fr);}}
.info .mpgrid{grid-template-columns:1fr;}
@media (min-width:760px){.info .mpgrid{grid-template-columns:repeat(2,1fr);}}
.mpg{border-top:5px solid var(--accent);box-shadow:none;background:var(--cream);margin:0;}
.mpg h3{color:var(--accent);}
.mpg .lbl{font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:.7em 0 .2em;}
.mpg ol,.mpg ul{margin:0;padding-left:1.2em;font-size:.92rem;}
.tips{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:8px;}
.tips li{position:relative;padding:10px 12px 10px 36px;background:#fff;border-radius:14px;font-size:.95rem;box-shadow:0 8px 20px -18px rgba(36,37,90,.6);}
.tips li::before{content:"✦";position:absolute;left:13px;top:10px;color:var(--coral);}
.isec .tips li{background:var(--cream);box-shadow:none;}
.toc{position:sticky;top:0;z-index:20;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 12px;background:rgba(251,248,244,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #ece7f5;}
.toc::-webkit-scrollbar{display:none;}
.toc a{flex:none;text-decoration:none;font-size:.85rem;font-weight:700;padding:8px 12px;border-radius:999px;background:#fff;border:1.5px solid #ece7f5;white-space:nowrap;}
.info{padding-top:18px;}
.isec{scroll-margin-top:70px;}
.isec h2{font-size:1.35rem;}
.isec h4{font-family:var(--slab);margin:.8em 0 .4em;}
.facts{display:grid;gap:8px;margin:0 0 10px;}
.facts div{background:var(--accent2,var(--lav-soft));background:var(--lav-soft);border-radius:14px;padding:10px 12px;}
.facts dt{font-weight:800;font-family:var(--slab);}
.facts dd{margin:0;font-size:.93rem;}
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:6px;}
@media (min-width:700px){.checklist{grid-template-columns:repeat(2,1fr);}}
.checklist button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1.5px solid #ece7f5;background:var(--cream);border-radius:14px;padding:10px 12px;font-size:.95rem;min-height:46px;}
.checklist i{flex:none;width:24px;height:24px;border-radius:7px;border:2px solid #cfc8e4;display:grid;place-items:center;font-style:normal;font-size:.8rem;color:transparent;transition:all .2s;}
.checklist .done{border-color:var(--green);background:color-mix(in srgb,var(--green) 8%,#fff);}
.checklist .done i{background:var(--green);border-color:var(--green);color:#fff;}
.shots{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 10px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:thin;}
.shot{position:relative;flex:none;width:min(46vw,190px);scroll-snap-align:start;border:0;padding:0;background:none;}
.shot img{width:100%;border-radius:16px;box-shadow:0 10px 26px -16px rgba(36,37,90,.6);}
.shot span{position:absolute;top:-4px;left:-4px;width:28px;height:28px;border-radius:50%;background:var(--coral);color:#fff;font-family:var(--slab);font-weight:800;display:grid;place-items:center;font-size:.9rem;box-shadow:0 0 0 3px #fff;}

/* ---------- sin link de cliente ---------- */
.hhero.locked{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-bottom:60px;}
.hhero.locked .logo{position:absolute;top:22px;left:16px;margin:0 !important;}

/* ---------- guía a medida ---------- */
.center{text-align:center;}
.trip-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px !important;}
.trip-chips .b{background:rgba(255,255,255,.18);color:#fff;font-size:.8rem;padding:5px 11px;}
.preview-flag{display:inline-block;background:var(--coral);color:#fff;font-weight:700;font-size:.82rem;padding:4px 12px;border-radius:999px;margin-bottom:10px !important;}
.cami-note{border-left:5px solid var(--coral);margin-top:22px;}
.cami-note .script{font-size:1.5rem;display:block;}
.cami-note p{margin:0;white-space:pre-line;}
.dgrid{display:grid;gap:12px;}
@media (min-width:700px){.dgrid{grid-template-columns:repeat(2,1fr);}}
.dcard{display:grid;grid-template-columns:96px 1fr;text-decoration:none;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s var(--ease);border-left:5px solid var(--accent);}
.dcard:hover{transform:translateY(-2px);}
.dcard.today{box-shadow:0 0 0 3px var(--butter),var(--shadow);}
.dcard-img{position:relative;min-height:96px;}
.dcard-img img,.dcard-img .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;font-size:1.6rem;}
.dcard-body{padding:12px 14px;display:flex;flex-direction:column;gap:2px;}
.dcard .dnum{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--coral);}
.dcard b{font-family:var(--slab);font-size:1.05rem;line-height:1.2;}
.dcard small{color:var(--ink-soft);font-size:.82rem;}
.dcard.rest{display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:var(--lav-soft);box-shadow:none;border-left-color:var(--lav-2);}
.phero.day h1 small{font-size:.6em;opacity:.8;}
.daynav{display:flex;justify-content:space-between;margin-top:12px;}
.daynav a{text-decoration:none;font-weight:700;font-size:.88rem;background:rgba(255,255,255,.18);padding:6px 12px;border-radius:999px;}
.step.k-ll .step-dot{background:var(--butter);color:var(--deep);}
.step.k-ll .step-card{border:2px solid var(--butter);}
.step.k-switch .step-dot,.step.k-rest .step-dot{background:var(--deep);}
.step.k-pref .step-dot{background:var(--coral);}
.step.k-pref .step-card{background:color-mix(in srgb,var(--coral) 5%,#fff);}
.step.note .step-dot{background:var(--coral);}
.step.note .step-card{background:var(--butter);}
.chip.love{border-color:var(--coral);}
.b-love{background:color-mix(in srgb,var(--coral) 14%,#fff);color:#B3261E;}

/* ---------- footer, toast, sheet, lightbox ---------- */
.foot{text-align:center;margin-top:40px;padding:26px 16px;border-top:2px dashed #e6e0f2;}
.foot .big{font-size:1.7rem;margin-bottom:10px;}
.foot-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:10px;}
#toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%,140%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:16px;font-weight:700;font-size:.92rem;z-index:80;max-width:calc(100vw - 32px);text-align:center;transition:transform .35s var(--ease),visibility .35s;box-shadow:var(--shadow);visibility:hidden;}
#toast.on{transform:translate(-50%,0);visibility:visible;}
.sheet{position:fixed;inset:0;z-index:90;display:grid;align-items:end;}
.sheet[hidden],.lightbox[hidden]{display:none;}
.sheet-bg{position:absolute;inset:0;background:rgba(20,18,60,.45);}
.sheet-in{position:relative;background:#fff;border-radius:24px 24px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));max-width:560px;width:100%;margin:0 auto;animation:up .3s var(--ease);}
.sheet-in label{display:block;font-weight:700;margin-bottom:12px;}
.sheet-in input{display:block;width:100%;margin-top:6px;font:inherit;font-size:16px;border:1.5px solid #e3def0;border-radius:12px;padding:11px 12px;}
.sheet-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px;}
.lightbox{position:fixed;inset:0;z-index:95;background:rgba(15,13,40,.92);display:grid;place-items:center;padding:20px;}
.lightbox img{max-height:90vh;width:auto;border-radius:18px;}
.lb-close{position:absolute;top:12px;right:14px;background:#fff;border:0;width:42px;height:42px;border-radius:50%;font-size:1.5rem;}
.spark-p{position:fixed;width:9px;height:9px;z-index:99;pointer-events:none;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:sparkp .7s var(--ease) forwards;}

@keyframes spin{to{transform:rotate(360deg);}}
@keyframes twinkle{0%,100%{transform:scale(.6) rotate(0);opacity:.5;}50%{transform:scale(1) rotate(45deg);opacity:1;}}
@keyframes pop{0%{transform:scale(.3) rotate(-20deg);opacity:0;}70%{transform:scale(1.1) rotate(-5deg);}100%{transform:scale(1) rotate(-5deg);opacity:1;}}
@keyframes sparkp{to{transform:translate(var(--dx),var(--dy)) scale(.3);opacity:0;}}
@keyframes up{from{transform:translateY(40px);opacity:0;}}
@keyframes flash{0%,100%{box-shadow:var(--shadow);}30%{box-shadow:0 0 0 4px var(--butter),var(--shadow);}}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important;}}

/* ---------- imprimir / PDF ---------- */
@media print{
  body{background:#fff;font-size:12px;}
  .tabs,.toc,.foot,.hero-actions,.back,#toast,.ractions,.filters,.hint,.seg,.entry,.sky,.addll,.linkbtn{display:none !important;}
  .phero{min-height:0;color:var(--ink);background:none;}
  .phero-img{display:none;}
  .hhero,.ihero{color:var(--ink);background:none;}
  .card,.rcard,.step-card,.country,.fcard{box-shadow:none;border:1px solid #ddd;break-inside:avoid;}
  .rgrid{grid-template-columns:repeat(2,1fr);}
  .shots{flex-wrap:wrap;overflow:visible;}
}
