*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4efe7;color:#171613;font-family:Arial,Helvetica,sans-serif}a{color:inherit}.topbar{height:72px;display:flex;align-items:center;gap:26px;padding:0 4vw;position:fixed;top:0;z-index:80;width:100%;background:rgba(18,17,15,.94);backdrop-filter:blur(14px);color:#fff}.brand{font-size:12px;letter-spacing:.14em;text-decoration:none;white-space:nowrap}.topbar nav{display:flex;gap:22px;margin-left:auto}.topbar nav a{font-size:11px;text-decoration:none;opacity:.78}.langs{display:flex;gap:2px}.langs button{border:0;background:transparent;color:#fff;opacity:.45;font-size:9px;padding:5px;cursor:pointer}.langs button.active{opacity:1;text-decoration:underline;text-underline-offset:5px}.mini-cta{font-size:10px;text-decoration:none;border:1px solid #ffffff55;padding:9px 14px;border-radius:99px}.hero{height:100vh;min-height:730px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('/assets/lanzarote-hero.jpg') center/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,8,.86),rgba(10,9,8,.53) 48%,rgba(10,9,8,.08) 77%),linear-gradient(0deg,rgba(10,9,8,.38),transparent 50%)}.hero-content{position:relative;z-index:2;width:min(720px,76vw);margin-left:7vw;padding-top:50px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.19em;margin:0 0 17px}.light{color:#eadfd5}.hero h1,.section-title h2,.how h2,.builder h2,.sport-copy h2,.smart-route h2,.about h2{font-family:Georgia,serif;letter-spacing:-.045em}.hero h1{font-size:clamp(4rem,7vw,7.2rem);line-height:.89;margin:0}.hero h1 em{font-weight:400}.lead{font-size:17px;line-height:1.7;max-width:650px;margin:25px 0}.hero-actions{display:flex;align-items:center;gap:20px}.btn{border:0;border-radius:999px;padding:14px 21px;font-weight:800;text-decoration:none;cursor:pointer;display:inline-block}.hot{background:#c95f3d;color:#fff}.dark{background:#171613;color:#fff}.ghost{color:inherit;font-size:11px}.micro{font-size:9px;opacity:.72;margin-top:14px}.hero-card{position:absolute;right:5vw;bottom:7vh;z-index:2;width:315px;padding:25px;border:1px solid #ffffff32;background:#1a1410aa;backdrop-filter:blur(12px);border-radius:20px}.hero-card span,.hero-card small{display:block;font-size:9px;letter-spacing:.1em;opacity:.7}.hero-card b{display:block;font:28px/1.07 Georgia,serif;margin:11px 0 18px}.trustline{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;background:#171613;color:#fff;padding:18px 4vw;font-size:10px}.profiles,.builder,.about{padding:105px 6vw}.section-title{max-width:900px}.section-title h2{font-size:clamp(3.2rem,5.5vw,5.8rem);line-height:.95;margin:0}.section-title>p:last-child{max-width:620px;line-height:1.7}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px}.profile-grid button{text-align:left;border:1px solid #d7cec2;background:#fbf8f3;padding:25px;border-radius:16px;cursor:pointer;transition:.2s;position:relative}.profile-grid button:hover,.profile-grid button.active{background:#171613;color:#fff;transform:translateY(-2px)}.profile-grid button.active:after{content:"✓";position:absolute;right:16px;top:14px;color:#e1a38a;font-weight:900}.profile-grid i{font-style:normal;font-size:28px}.profile-grid b,.profile-grid span{display:block}.profile-grid b{font:24px Georgia,serif;margin:14px 0 7px}.profile-grid span{font-size:11px;line-height:1.5;opacity:.7}.how{background:#171613;color:#fff;padding:95px 6vw}.how h2{font-size:clamp(3rem,5vw,5.4rem);line-height:.98;margin:0}.how-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#3a3935;margin-top:45px}.how-steps>div{background:#171613;padding:28px}.how-steps b{color:#c95f3d}.how-steps h3{font:23px Georgia,serif}.how-steps p{font-size:11px;line-height:1.65;opacity:.7}.builder{background:#f9f6f0}.builder-head{display:flex;justify-content:space-between;align-items:end}.builder h2{font-size:clamp(3rem,5vw,5.4rem);margin:0}.demo-meter{width:230px;font-size:10px;font-weight:800}.demo-meter>div{height:5px;background:#ddd5c8;border-radius:10px;margin-top:8px;overflow:hidden}.demo-meter i{display:block;height:100%;width:0;background:#c95f3d;transition:.25s}.stay-setup{display:grid;grid-template-columns:1fr 1fr 1.45fr auto;gap:9px;margin:35px 0 16px;padding:14px;background:#ebe3d7;border-radius:15px}.stay-setup label{background:#fff;padding:9px 11px;border-radius:9px}.stay-setup label>span{display:block;font-size:9px;font-weight:900;letter-spacing:.07em;margin-bottom:4px}.stay-setup input{border:0;outline:0;width:100%;font-size:14px}.placefield{position:relative}#placeSuggestions{display:none;position:absolute;top:100%;left:0;right:0;z-index:100;background:#fff;border-radius:0 0 10px 10px;box-shadow:0 12px 25px #0002;overflow:hidden}#placeSuggestions.show{display:block}#placeSuggestions button{border:0;background:#fff;width:100%;text-align:left;padding:9px 11px;cursor:pointer}.trip-events{border-radius:19px;background:#171613;color:#fff;padding:24px;margin-bottom:18px}.trip-events-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.trip-events-head h3{font:34px Georgia,serif;margin:0}.hottext{color:#e3a78e}.trip-events-head>span{font-size:10px;opacity:.6}.event-teaser{font-size:12px;opacity:.65;margin-top:14px}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.event-card{background:#2a2824;border:1px solid #ffffff15;border-radius:12px;padding:15px;position:relative}.event-card.featured{border-color:#c95f3d}.event-card small,.event-card b,.event-card span{display:block}.event-card small{font-size:8px;color:#e3a78e}.event-card b{font:18px/1.1 Georgia,serif;margin:7px 0}.event-card span{font-size:10px;opacity:.58}.event-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.event-links a,.event-links button{border:1px solid #ffffff26;background:transparent;color:#fff;border-radius:99px;padding:6px 8px;font-size:8px;text-decoration:none;cursor:pointer}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;align-items:start}.catalog-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:18px 0}.catalog-top b{display:block;font:24px Georgia,serif}.catalog-top span{display:block;font-size:10px;opacity:.55;margin-top:4px}.filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.filters button{border:1px solid #d6cec1;background:transparent;padding:7px 9px;border-radius:99px;font-size:9px;cursor:pointer}.filters button.active{background:#171613;color:#fff}.capsules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cap-card{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 6px 24px #0000000b;display:flex;flex-direction:column}.cap-photo{position:relative;overflow:hidden;background:#ddd;aspect-ratio:16/10}.cap-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}.cap-card:hover img{transform:scale(1.025)}.cap-badge{position:absolute;left:10px;top:10px;background:#171613dd;color:#fff;padding:5px 7px;border-radius:99px;font-size:8px;font-weight:900;letter-spacing:.07em}.cap-body{padding:15px;display:flex;flex-direction:column;flex:1}.cap-card h3{font:23px/1.06 Georgia,serif;margin:8px 0}.cap-meta{font-size:9px;opacity:.5}.cap-body p{font-size:11px;line-height:1.55;flex:1}.cap-actions{display:flex;gap:5px}.cap-actions button{flex:1;border:0;border-radius:8px;padding:9px 6px;font-size:9px;font-weight:800;cursor:pointer}.add-cap{background:#171613;color:#fff}.combine-cap{background:#ede7de}.pairs{font-size:9px;margin-top:7px}.pairs button{border:0;background:#eee7dd;border-radius:99px;padding:5px 7px;margin:2px;cursor:pointer}.agenda{position:sticky;top:88px;background:#171613;color:#fff;border-radius:18px;overflow:hidden;max-height:calc(100vh - 105px);display:flex;flex-direction:column}.agenda-head{padding:21px;border-bottom:1px solid #ffffff16;display:flex;justify-content:space-between}.agenda-head h3{font:29px Georgia,serif;margin:0}.agenda-head span{font-size:9px;opacity:.5}.agenda-days{padding:9px 17px;overflow:auto;flex:1}.day{border-bottom:1px solid #ffffff15;padding:12px 0}.day-head{display:flex;justify-content:space-between}.day-head b{font:18px Georgia,serif}.day-head span{font-size:8px;opacity:.45}.plan-item{position:relative;background:#292823;border-left:3px solid #c95f3d;border-radius:7px;padding:9px;margin-top:6px}.plan-item small,.plan-item b{display:block}.plan-item small{font-size:7px;color:#e3a78e}.plan-item b{font-size:10px;margin-top:3px;padding-right:20px}.plan-item button{position:absolute;right:5px;top:5px;border:0;background:transparent;color:#fff;cursor:pointer}.empty{font-size:10px;opacity:.45}.agenda-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:9px 17px}.agenda-actions button{border:1px solid #ffffff25;background:transparent;color:#fff;border-radius:8px;padding:9px;font-size:9px;cursor:pointer}.agenda-actions button:disabled{opacity:.28}.lock-panel{background:#24231f;padding:16px 19px}.lock-panel span,.lock-panel b,.lock-panel small{display:block}.lock-panel span{font-size:8px;color:#e3a78e;letter-spacing:.1em}.lock-panel b{font:16px Georgia,serif;margin:5px 0}.lock-panel small{font-size:8px;opacity:.55}.sport-feature{position:relative;display:grid;grid-template-columns:1fr;min-height:720px;color:#fff;overflow:hidden;background:#1d2626}.sport-feature:before{content:"";position:absolute;inset:0;background:url('/assets/capsules/surf-a-famara.jpg') center/cover no-repeat;transform:scale(1.02)}.sport-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,10,.20) 0%,rgba(8,10,10,.35) 26%,rgba(8,10,10,.62) 54%,rgba(8,10,10,.84) 100%),linear-gradient(180deg,rgba(8,10,10,.08) 0%,rgba(8,10,10,.28) 100%)}.sport-photo{display:none}.sport-copy{position:relative;z-index:2;padding:90px 7vw;display:flex;flex-direction:column;justify-content:center;max-width:640px;margin-left:auto}.sport-copy h2{font-size:clamp(3rem,5vw,5.5rem);line-height:.98;margin:0}.sport-copy>p{line-height:1.8;text-shadow:0 2px 12px rgba(0,0,0,.15)}.sport-tags{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}.sport-tags span{border:1px solid #ffffff45;border-radius:99px;padding:7px 9px;font-size:8px;background:rgba(255,255,255,.06);backdrop-filter:blur(4px)}.wikiloc{border-top:1px solid #ffffff30;margin-top:18px;padding-top:18px;background:rgba(16,17,16,.28);backdrop-filter:blur(7px);border-radius:16px;padding:18px 18px 0 18px}.wikiloc p{font-size:11px;line-height:1.6;opacity:.82}.smart-route{padding:100px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.smart-route h2{font-size:clamp(3rem,5vw,5.5rem);line-height:.98;margin:0}.smart-route p{line-height:1.7}.route-stack article{display:grid;grid-template-columns:.7fr 1.4fr 1fr;gap:12px;padding:18px;border-bottom:1px solid #d4cbbf;align-items:center}.route-stack small{font-size:9px;color:#b45134}.route-stack b{font:22px Georgia,serif}.route-stack span{font-size:10px;opacity:.55}.price{padding:95px 6vw;background:#c95f3d}.price-card{max-width:930px;margin:auto;background:#171613;color:#fff;border-radius:22px;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:18px 45px;align-items:center}.price-card h2{font:75px Georgia,serif;margin:0}.price-card span,.price-card small{font-size:9px;opacity:.55}.price-card ul{font-size:12px;line-height:1.9}.price-card .btn{justify-self:start}.about{text-align:center}.about h2{font-size:clamp(3rem,5vw,5.4rem);margin:0}.about p:last-child{max-width:650px;margin:22px auto;line-height:1.7}footer{background:#171613;color:#fff;padding:33px 5vw;display:flex;justify-content:space-between;gap:24px;font-size:9px}footer div{display:flex;gap:14px}.modal{display:none;position:fixed;inset:0;z-index:200;background:#0009;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modal-box{width:min(510px,95vw);background:#f8f5ef;color:#171613;border-radius:18px;padding:29px;position:relative}.modal-box h3{font:31px Georgia,serif}.modal-x{position:absolute;right:13px;top:10px;border:0;background:none;font-size:25px;cursor:pointer}.modal-box label{font-size:10px}.modal-box select{width:100%;padding:10px;margin-top:5px}.periods{display:flex;gap:7px;margin:14px 0}.periods label{background:#e8e0d4;padding:9px;border-radius:8px}.paywall-box{background:#171613;color:#fff;text-align:center}.paywall-icon{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#c95f3d;font:30px Georgia,serif}.paywall-box .btn{display:block;margin:18px 0}.paywall-box small{opacity:.5}
@media(max-width:1050px){.topbar nav{display:none}.hero-card{display:none}.capsules-grid{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:1fr 340px}.event-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.langs{position:absolute;top:72px;right:10px;background:#171613;padding:6px;border-radius:0 0 8px 8px}.hero{min-height:760px}.hero-content{width:auto;margin:0 22px}.hero h1{font-size:4rem}.hero-actions{align-items:flex-start;flex-direction:column}.profiles,.builder,.about{padding:75px 20px}.profile-grid{grid-template-columns:1fr}.how{padding:75px 20px}.how-steps{grid-template-columns:1fr 1fr}.builder-head{display:block}.demo-meter{margin-top:22px}.stay-setup{grid-template-columns:1fr}.trip-events-head{display:block}.event-grid{grid-template-columns:1fr}.workspace{display:block}.catalog-top{display:block}.filters{justify-content:flex-start;margin-top:12px}.capsules-grid{grid-template-columns:1fr}.agenda{position:relative;top:auto;max-height:none;margin-top:18px}.sport-feature{grid-template-columns:1fr;min-height:640px}.sport-photo{display:none;min-height:0}.sport-copy{padding:70px 22px;margin-left:0;max-width:none}.smart-route{grid-template-columns:1fr;padding:75px 22px}.route-stack article{grid-template-columns:1fr}.price{padding:60px 20px}.price-card{grid-template-columns:1fr;padding:28px}.price-card h2{font-size:58px}footer{flex-direction:column}.topbar{padding:0 18px}.mini-cta{margin-left:auto}}
@media print{.topbar,.hero,.trustline,.profiles,.how,.catalog,.trip-events,.sport-feature,.smart-route,.price,.about,footer,.stay-setup,.builder-head,.lock-panel,.agenda-actions{display:none!important}.builder{padding:0}.workspace{display:block}.agenda{position:static;max-height:none;background:#fff;color:#111}.agenda-days{overflow:visible}.plan-item{background:#eee;color:#111}.agenda-head{color:#111}.day{break-inside:avoid}}

/* V12 — multi-select travel interests */
.profile-grid button{position:relative}
.profile-grid button.active{box-shadow:inset 0 0 0 2px #c95f3d}
.profile-grid button.active:after{content:"✓";position:absolute;right:14px;top:12px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#c95f3d;color:#fff;font-weight:900}

/* Local planning guides and weather */
.guide-links,.weather-feature{padding:76px max(5vw,28px);background:#f2eee7;color:#23201d}
.guide-links h2,.weather-feature h2{font:clamp(2.6rem,5vw,4.6rem)/1 Georgia,serif;margin:12px 0 18px}
.guide-links>p,.weather-feature p{max-width:750px;line-height:1.6}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:30px}
.guide-card{display:flex;gap:14px;align-items:center;min-height:98px;padding:20px 24px;background:#fff;border-radius:12px;color:#23201d;text-decoration:none;box-shadow:0 4px 18px #00000008}
.guide-card:hover,.guide-card:focus-visible{outline:2px solid #c95f3d}.guide-card span{color:#b85f40}.guide-card strong{flex:1}.guide-card b{color:#b85f40}
.weather-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:30px;background:#e2e9e5}
.weather-box{background:#fff;padding:24px;border-radius:14px;min-height:140px;line-height:1.6}
.weather-box strong{display:block;font-size:1.18rem}.weather-box small{display:block;color:#625e57;margin:10px 0}.weather-box a{color:#87452f;text-decoration:underline}.weather-box .weather-stats{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.weather-stats span{background:#f2eee7;border-radius:10px;padding:8px 13px}
.trust-proof{max-width:760px;font-size:1.05rem;line-height:1.75;margin:28px auto 0}
.more-guide{max-width:1030px;margin:70px auto 0}.more-guide>p{font-size:1.15rem;line-height:1.8;max-width:780px}.more-guide h2{font:clamp(2rem,4vw,3rem) Georgia,serif;margin:48px 0 20px}
.place-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.place-links article{display:flex;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 25px #00000012}.place-links img{width:42%;height:190px;object-fit:cover}.place-links article>div{padding:17px}.place-links h3{margin:0 0 6px}.place-links p{font-size:.94rem;line-height:1.5;margin:0 0 10px}.place-links a,.related-links a{color:#87452f;text-decoration:underline}.related-links{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 28px}.related-links a{padding:8px 12px;background:#fff;border-radius:8px}
@media(max-width:800px){.guide-grid{grid-template-columns:1fr 1fr}.weather-feature{grid-template-columns:1fr}.place-links{grid-template-columns:1fr}}
@media(max-width:510px){.guide-grid{grid-template-columns:1fr}.place-links img{width:37%;height:205px}}

.photo-attribution{font-size:.8rem;line-height:1.5;color:#6b625a;margin:16px 0}.photo-attribution a{color:#87452f;text-decoration:underline}
.cap-card.favourite{box-shadow:0 8px 28px #a55b3029}.fav-label{color:#a44b2f;font-size:10px;letter-spacing:.04em;margin:0 0 8px}.visual-note{position:absolute;right:10px;bottom:10px;background:#171613b8;color:#fff;padding:4px 7px;border-radius:6px;font-size:9px}

/* Date-bound event suggestions in each day's itinerary */
.day-event{padding:10px 12px;margin-top:9px;border:1px solid #d4c8b6;border-radius:8px;background:#f6f1e7;color:#29251f}
.day-event small{display:block;color:#75604b;font-size:.72rem;line-height:1.4;text-transform:uppercase;letter-spacing:.06em}
.day-event b{display:block;font-size:.95rem;margin:4px 0 8px}
.day-event button{border:1px solid #b8754c;background:#fff;border-radius:6px;color:#7d4028;padding:6px 10px;cursor:pointer}
.event-card select{display:block;width:100%;margin:8px 0;padding:8px;border:1px solid #c6b7a4;border-radius:6px;background:#fff;color:#29251f}
/* V17: visible outcome, automated itinerary and travel constraints */
.sample-day{display:grid;grid-template-columns:.85fr 1.15fr;background:#e7ded1}.sample-photo{min-height:520px}.sample-photo img{width:100%;height:100%;object-fit:cover;display:block}.sample-copy{padding:70px max(5vw,28px)}.sample-copy h2{font:clamp(2.6rem,4.6vw,4.8rem)/1 Georgia,serif;margin:0 0 20px}.sample-copy p{line-height:1.65}.sample-copy ol{padding-left:20px;line-height:1.65}.sample-copy li{margin:12px 0}.sample-flow{font-weight:700;color:#834a34}.sample-official{margin-left:18px;font-size:12px;color:#834a34}.auto-planner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:0 10px 23px}.auto-planner p{margin:0;max-width:570px;font-size:11px;line-height:1.55;color:#625b53}#autoStatus{flex-basis:100%;font-weight:700;color:#87452f}.booking-hint{font-size:10px;color:#87452f;margin:4px 0 11px}.route-leg{padding:5px 8px 3px 10px;font-size:9px;line-height:1.5;color:#dac9ba}.route-leg a,.plan-item a,.ferry-detail a{color:#efad8e}.ticket-slot{display:flex;gap:7px;align-items:center;font-size:9px;margin-top:9px}.ticket-slot input{width:100px;font-size:12px;border-radius:5px;padding:5px}.plan-item a{display:inline-block;margin-top:6px;font-size:9px}.ferry-detail{padding:10px;background:#34302b;border-radius:7px;margin:5px 0 12px;font-size:10px;line-height:1.6}.ferry-detail b,.ferry-detail span,.ferry-detail small{display:block}.ferry-detail small{opacity:.76}.practical-guide{max-width:860px;margin:55px 0;padding:30px;background:#fff;border-radius:15px;line-height:1.8}.practical-guide h2{font:clamp(2rem,4vw,3rem) Georgia,serif;line-height:1.1}.practical-guide a{color:#87452f}
@media(max-width:760px){.sample-day{grid-template-columns:1fr}.sample-photo{min-height:280px;height:280px}.sample-copy{padding:42px 22px}.auto-planner{padding:0 0 22px}}
@media print{.sample-day,.auto-planner{display:none!important}.route-leg{color:#333}.ferry-detail{background:#eee;color:#111}}
.modal-timing{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 20px}.modal-timing label{display:block;font-size:11px;font-weight:700}.modal-timing span{display:block;margin-bottom:5px}.modal-timing input,.modal-timing select{width:100%;min-height:42px;padding:8px;border:1px solid #cfc5b8;border-radius:8px;background:#fff;font-size:15px}
#addModal .periods{display:none}
.time-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.time-controls label{font-size:9px;color:#e8d8c8;line-height:1.4}.time-controls input,.time-controls select{display:block;width:100%;min-height:36px;margin-top:4px;padding:5px 7px;border:1px solid #a79587;border-radius:6px;background:#f8f4ed;color:#171613;font-size:12px}.plan-item small{font-size:10px;font-weight:700}.plan-item b{font-size:12px}.hours-note{font-size:9px;line-height:1.5;color:#ead8c6;margin:7px 0}.time-warning{font-size:9px;line-height:1.45;color:#2b1c14;background:#f7d8b0;border-left:3px solid #de7f40;border-radius:4px;padding:7px;margin:7px 0}.timeline-disclaimer{font-size:8px;line-height:1.5;color:#c5b8ab;margin:10px 8px}.route-leg strong{color:#fff}.return-leg{margin-top:8px;border-top:1px solid #ffffff30;padding-top:10px}
@media(max-width:480px){.modal-timing,.time-controls{grid-template-columns:1fr 1fr}.agenda{margin-top:22px}.plan-item{padding:12px}.time-controls input,.time-controls select{font-size:16px}}
@media print{.time-controls{display:none}.time-warning{color:#6d2c0c;background:#fff0d9;border-color:#9b4a16}.hours-note{color:#333}.route-leg strong,.timeline-disclaimer{color:#333}}
/* V33: short mobile catalogue and persistent app navigation. */
.catalog-more{margin:22px 0 0}.catalog-more:empty{display:none}.catalog-more-link{display:inline-block;padding:14px 18px;border:0;border-radius:999px;background:#c95f3d;color:#fff;text-decoration:none;font-weight:800;font-size:.86rem;cursor:pointer}.mobile-app-nav{display:none}
@media(max-width:760px){body{padding-bottom:66px}.mobile-app-nav{position:fixed;bottom:0;left:0;right:0;z-index:70;display:grid;grid-template-columns:repeat(3,1fr);background:#171613;color:#fff;border-top:1px solid #ffffff30;padding:7px 0 max(7px,env(safe-area-inset-bottom));box-shadow:0 -8px 30px #17161333}.mobile-app-nav a{text-decoration:none;text-align:center;font-size:10px;font-weight:800;padding:3px 0}.mobile-app-nav span{display:block;font-size:20px;line-height:1.15;color:#df8a62;margin-bottom:2px}#builder,#explore,#tripEvents{scroll-margin-top:85px}}
@media print{.mobile-app-nav,.catalog-more{display:none!important}}
/* V21 restaurant picks */
.restaurant-picks{padding:76px max(5vw,28px);background:#eee5d8;color:#23201d}
.restaurant-picks h2{font:clamp(2.6rem,5vw,4.6rem)/1 Georgia,serif;margin:12px 0 18px}
.restaurant-picks>p{max-width:760px;line-height:1.65}
.restaurant-picks .place-links{margin-top:26px;max-width:1100px}
.restaurant-picks .place-links article{border:1px solid #d8c9b7}
.restaurant-picks .place-links img{background:#c6b39a}
.restaurant-picks .place-links button{display:block;margin-top:12px;padding:8px 13px;border:0;border-radius:18px;background:#c95f3d;color:#fff;font-weight:700;cursor:pointer}
/* V22 volcano trails and teleclubs */
.hike-meta{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 2px}
.hike-meta>*{padding:5px 7px;background:#f1ebe2;border-radius:6px;color:#554239;font-size:.74rem;line-height:1.35}
.hike-meta b{background:#bd6950;color:white}
.cap-body p{font-size:.9rem;line-height:1.5}
.cap-meta{font-size:.76rem;line-height:1.45}
.volcano-picks{padding:78px max(5vw,28px);background:#242626;color:#faf5eb}
.volcano-picks h2{font:clamp(2.5rem,5vw,4.6rem)/1 Georgia,serif;margin:10px 0 18px;max-width:850px}
.volcano-picks>p{max-width:800px;line-height:1.65}
.volcano-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0}
.volcano-levels article{padding:24px;border:1px solid #ffffff3d;border-radius:14px;background:#ffffff0d}
.volcano-levels small{color:#df9d76;font-weight:800}.volcano-levels h3{font:1.65rem Georgia,serif;margin:10px 0}
.volcano-levels p{line-height:1.6;margin-bottom:0}
.volcano-footer{display:flex;gap:30px;align-items:center;justify-content:space-between}
.volcano-footer p{line-height:1.6;max-width:740px}.volcano-footer a{color:#ffc5a4}
.volcano-footer button{flex:none;border:0;border-radius:99px;padding:14px 18px;background:#ce6b4b;color:#fff;font-weight:800;cursor:pointer}
.restaurant-picks .place-links{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
.restaurant-picks .place-links article{display:block}.restaurant-picks .place-links img{width:100%;height:170px;display:block}
.restaurant-picks .place-links article>div{display:flex;flex-direction:column;min-height:255px}
.restaurant-picks .place-links a{margin-top:auto}.restaurant-picks .place-links button{align-self:flex-start}
.teleclub-note{margin-top:35px;padding:24px 28px;background:#fff;border-left:5px solid #bd6950;border-radius:12px;display:flex;align-items:center;gap:30px;justify-content:space-between}
.teleclub-note h3{font:2rem Georgia,serif;margin:3px 0 10px}.teleclub-note p:last-child{max-width:800px;line-height:1.6;margin:0}
.teleclub-note>a{color:#87452f;white-space:nowrap}
@media(max-width:1050px){.restaurant-picks .place-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.volcano-levels{grid-template-columns:1fr}.volcano-footer,.teleclub-note{display:block}.volcano-footer button{margin-top:15px}.teleclub-note>a{display:inline-block;margin-top:16px;white-space:normal}.restaurant-picks .place-links{grid-template-columns:1fr}.restaurant-picks .place-links article{display:flex}.restaurant-picks .place-links img{width:36%;height:auto;min-height:210px}.restaurant-picks .place-links article>div{min-height:0}}
@media(max-width:510px){.restaurant-picks .place-links article{display:block}.restaurant-picks .place-links img{width:100%;height:170px;min-height:0}}
@media print{.volcano-picks,.restaurant-picks{display:none!important}}

/* Short, place-specific advice; visible only on expanded Capsules. */
.cap-practical{border-top:1px solid #e5ddd2;margin:12px 0 14px;padding-top:11px}
.cap-practical summary{color:#87452f;font-size:12px;font-weight:800;cursor:pointer;list-style-position:inside}
.cap-practical summary:focus-visible{outline:2px solid #c95f3d;outline-offset:3px}
.cap-practical-content{margin-top:12px;font-size:11px;line-height:1.55}
.cap-practical-row{margin:0 0 10px}.cap-practical-row b{display:block;color:#171613;margin-bottom:2px}.cap-practical-row span{display:block;color:#4d453d}
.cap-practical-links{display:flex;gap:8px 14px;flex-wrap:wrap;margin:13px 0 3px}.cap-practical-links a{color:#87452f;text-decoration:underline;font-weight:700}
.cap-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:14px}.cap-gallery a{display:block;overflow:hidden;border-radius:8px}.cap-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.cap-gallery a:focus-visible{outline:2px solid #c95f3d;outline-offset:2px}.cap-gallery-credit{display:inline-block;margin-top:6px;color:#755b4d;font-size:10px}
.guide-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0 35px}.guide-gallery figure{margin:0}.guide-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:13px}.guide-gallery figcaption{font-size:12px;line-height:1.5;margin-top:8px;color:#554b42}.guide-gallery figcaption a{color:#87452f}
@media(max-width:600px){.guide-gallery{grid-template-columns:1fr}.guide-gallery img{aspect-ratio:16/10}}

/* Dated editorial calendar and visible trial outline. */
.editorial-calendar{margin:64px 0;padding:clamp(22px,4vw,40px);background:#f5eee4;border-radius:20px}
.editorial-calendar h2{font:clamp(2rem,4vw,3rem)/1.1 Georgia,serif;margin:12px 0}
.editorial-calendar>p{max-width:780px;line-height:1.7}
.event-calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:26px 0}
.editorial-event{padding:20px;background:white;border:1px solid #ded5c9;border-radius:13px}
.editorial-event[hidden]{display:none}
.editorial-event time{font-weight:800;color:#9c4c35}.editorial-event h3{font:1.4rem Georgia,serif;margin:12px 0}
.editorial-event p{line-height:1.55}.editorial-event .event-venue{font-weight:700;font-size:.85rem}
.editorial-event>div{display:flex;gap:8px 15px;flex-wrap:wrap}.editorial-event a{color:#89452f;font-weight:700}
.locked-day{margin:12px 0 3px;padding:13px;background:#f0e9df;border:1px solid #c7b8a4;border-radius:10px;color:#292724}
.locked-day small{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.locked-day-items{display:grid;gap:7px;margin:10px 0}.locked-day-items span{opacity:.7;filter:blur(1.5px)}
.locked-day a{display:inline-block;padding:9px 12px;border-radius:8px;background:#c95f3d;color:#fff;text-decoration:none;font-weight:800;font-size:.85rem}
.route-pause{padding:9px 13px;margin:8px 0;background:#f8efe1;border-left:3px solid #c95f3d;border-radius:5px;font-size:.85rem}
.route-pause span{display:block;margin-top:3px}.sync-status{padding:0 16px;font-size:.75rem;line-height:1.5}
@media print{.locked-day,.sync-status{display:none!important}}

/* V34 app install */
.install-hero-link{font-weight:700;text-decoration:underline;text-underline-offset:4px}
.install-app{scroll-margin-top:80px;display:flex;align-items:center;justify-content:space-between;gap:38px;padding:45px max(5vw,28px);background:#e9e0d3;border-bottom:1px solid #d3c6b4}
.install-app-copy{max-width:760px}.install-app h2{font:clamp(2rem,4vw,3.4rem)/1.08 Georgia,serif;margin:0 0 12px}.install-app p{line-height:1.55}.install-app .eyebrow{color:#994e34}.install-app .install-help{font-size:.92rem;margin:16px 0}.install-app small{display:block;color:#62584e}.install-app img{border-radius:24px;box-shadow:0 10px 30px #0002;flex:none}.install-app button{margin-top:8px}.install-app button[hidden]{display:none}
@media(max-width:760px){.install-app{padding:35px 22px;align-items:flex-start}.install-app img{width:68px;height:68px;border-radius:16px}.hero-actions{gap:14px}}
@media(max-width:420px){.install-app img{display:none}}
@media print{.install-app{display:none!important}}

/* V36 app mode: the installed PWA opens as a trip workspace. The public site stays unchanged. */
.app-home,.app-tabbar{display:none}
html.app-mode body{padding:0 0 calc(80px + env(safe-area-inset-bottom));background:#f4efe7}
html.app-mode .topbar,html.app-mode .hero,html.app-mode .trustline,html.app-mode .install-app,
html.app-mode .profiles,html.app-mode .how,html.app-mode .sample-day,html.app-mode .sport-feature,
html.app-mode .smart-route,html.app-mode .volcano-picks,html.app-mode .restaurant-picks,
html.app-mode .guide-links,html.app-mode .weather-feature,html.app-mode .about,
html.app-mode footer,html.app-mode .mobile-app-nav{display:none!important}
html.app-mode .app-home{display:block;background:linear-gradient(140deg,#171613,#4a2d22 68%,#ab6140);color:#fff;padding:calc(34px + env(safe-area-inset-top)) 20px 31px}
.app-home-inner{max-width:790px;margin:auto}.app-brand{font-size:.72rem;letter-spacing:.18em;font-weight:800;color:#efc2a7;margin:0 0 25px}
.app-home h1{font:clamp(2.6rem,7vw,4.6rem)/1 Georgia,serif;letter-spacing:-.04em;margin:0 0 17px}
#appTripSummary{font-size:1rem;line-height:1.55;color:#f2e7dc;max-width:600px;margin:0 0 25px}
.app-primary{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#dc7651;color:#fff;border-radius:16px;padding:18px 20px;text-decoration:none;font-weight:800;font-size:1.05rem}
.app-primary span{font-size:1.4rem}.app-edit{display:inline-block;color:#f2c7ad;text-decoration:underline;text-underline-offset:4px;margin:17px 0 27px;font-size:.92rem}
.app-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.app-tiles a{background:#ffffff17;border:1px solid #ffffff3d;border-radius:13px;min-height:88px;padding:12px;color:#fff;text-decoration:none;font-size:.8rem;font-weight:700;line-height:1.3}.app-tiles span{display:block;color:#f1b492;font-size:1.5rem;margin-bottom:6px}
html.app-mode .builder{max-width:920px;margin:auto;padding:28px 16px 55px}.app-mode .builder-head h2{font-size:clamp(2rem,6vw,3rem)}
html.app-mode .workspace{display:flex;flex-direction:column;gap:28px}.app-mode .catalog,.app-mode .agenda{width:100%}
html.app-mode .agenda{position:relative;top:auto;max-height:none;order:-1;margin:0}.app-mode .agenda-days{max-height:none;overflow:visible}
html.app-mode .price{padding:35px 16px 70px}.app-mode .price-card{max-width:920px}
html.app-mode #builder,html.app-mode #tripEvents,html.app-mode #catalog,html.app-mode #agendaView,html.app-mode #price{scroll-margin-top:16px}
html.app-mode .app-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:90;background:#171613;border-top:1px solid #ffffff30;padding:7px 0 calc(7px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #0003}
.app-tabbar a{text-align:center;color:#ede4db;text-decoration:none;font-size:.72rem;font-weight:700;padding:3px 0}.app-tabbar span{display:block;font-size:1.35rem;line-height:1.1;margin-bottom:3px;color:#dc8c6a}.app-tabbar a[aria-current="page"]{color:#fff}.app-tabbar a[aria-current="page"] span{color:#ffb18a}
@media(max-width:420px){.app-tiles a{font-size:.72rem;min-height:92px;padding:10px}.app-home h1{font-size:2.5rem}}
@media print{html.app-mode .app-home,html.app-mode .app-tabbar{display:none!important}}

.restaurant-picks .place-links article>div .restaurant-brand{display:flex;align-items:center;justify-content:center;width:144px;height:56px;margin:2px 0 10px;padding:8px 12px;border-radius:10px;box-sizing:border-box}.restaurant-brand.is-dark{background:#30322c}.restaurant-brand.is-light{background:#f2eee6;border:1px solid #ded5ca}.restaurant-picks .place-links article>div .restaurant-brand img{width:100%;max-width:118px;height:38px;min-height:0;object-fit:contain;background:transparent;display:block}.restaurant-picks .place-links article>div .restaurant-brand.is-light img{height:42px}

.restaurant-discovery{margin-top:40px}.restaurant-discovery>h3{font:clamp(1.7rem,3vw,2.4rem)/1.1 Georgia,serif;margin:0 0 10px}.restaurant-discovery>p{max-width:750px;line-height:1.6}.restaurant-discovery .place-links img{object-fit:cover}

.price-card .price-access-note{max-width:36rem;margin:16px 0 0;font-size:13px;line-height:1.55;color:#f6ddd1}

/* V46: authentic preview cards; only anonymous placeholders are blurred. */
.cap-actions .trial-cap{background:#eee2d3;color:#533b30}.cap-actions .trial-cap:hover{background:#e4d4bf}
.event-card.event-locked{border-color:#dd957060}.event-preview-label{font-size:11px;color:#edd0bc}
.football-schedule-note{font-size:11px;line-height:1.4;color:#edd0bc;margin:8px 0 2px}
.blurred-preview{display:grid;gap:8px;margin:14px 0;filter:blur(5px);pointer-events:none}
.blurred-preview i{display:block;width:85%;height:12px;border-radius:8px;background:#b5a69a}
.blurred-preview i:last-child{width:58%}.section-unlock button,.detail-route{border:0;border-radius:30px;background:#c95f3d;color:#fff;font-weight:800;padding:12px 20px;cursor:pointer}
.events-legend{font-size:12px;line-height:1.55;color:#e9cbbd;margin:14px 0 0;max-width:720px}
.preview-legend{font-size:12px;line-height:1.55;color:#64564c;margin:12px 0 18px;max-width:720px}
.cap-preview-state{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.035em;color:#a94f35;margin:1px 0 8px}
.cap-card.cap-locked .cap-photo img{filter:blur(2.5px) brightness(.89)}
.cap-blurred-preview{display:grid;gap:9px;margin:12px 0 16px;filter:blur(5px);pointer-events:none}
.cap-blurred-preview i{display:block;width:95%;height:13px;background:#d2c1ae;border-radius:8px}
.cap-blurred-preview i:nth-child(2){width:84%}.cap-blurred-preview i:last-child{width:55%}
.unlock-benefits,.paywall-benefits{padding-left:21px;line-height:1.55}
.unlock-benefits li,.paywall-benefits li{margin:5px 0}
.paywall-box{max-height:calc(100dvh - 32px);overflow-y:auto}
.paywall-box .modal-x{top:14px;right:18px;width:36px;height:36px;display:grid;place-items:center;color:#fff;background:#ffffff20;border-radius:50%;font-size:28px;font-weight:700;line-height:1;z-index:2}
.paywall-box .modal-x:hover{background:#ffffff38}
.paywall-box .modal-x:focus-visible{outline:2px solid #fff;outline-offset:2px}
.paywall-benefits{text-align:left;font-size:12px;color:#f4ded2;margin:18px auto;max-width:390px}
.section-unlock{margin-top:28px}.smart-route .detail-route{margin-top:16px}

/* V52: dates and local car links remain available beside the itinerary. */
.agenda-trip-tools{padding:11px 18px;border-bottom:1px solid #ffffff20;background:#201e1a}
.agenda-date-range{display:block;font-size:11px;line-height:1.45;color:#f0ded0;margin-bottom:7px}
.agenda-date-range[hidden]{display:none}
.agenda-date-editor summary{width:max-content;cursor:pointer;color:#f0af8b;text-decoration:underline;text-underline-offset:3px;font-size:11px;font-weight:700}
.agenda-date-editor summary:focus-visible,.agenda-car-tip a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.agenda-date-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0 2px}
.agenda-date-form label{min-width:0;color:#eee0d5;font-size:10px}
.agenda-date-form label span{display:block;margin-bottom:5px}
.agenda-date-form input{width:100%;min-width:0;background:#f7f0e8;color:#171613;border:1px solid #d6c4b1;border-radius:7px;padding:7px 4px;font-size:12px;color-scheme:light}
.agenda-date-form button{grid-column:1/-1;border:0;border-radius:8px;background:#c95f3d;color:#fff;padding:10px;font-size:11px;font-weight:800;cursor:pointer}
.agenda-car-tip{padding:12px 18px 14px;border-top:1px solid #ffffff20;background:#24231f}
.agenda-car-tip b{font-size:12px;color:#fff}
.agenda-car-tip p{font-size:10px;line-height:1.4;color:#d7cabe;margin:5px 0 9px}
.agenda-car-tip div{display:flex;gap:7px;flex-wrap:wrap}
.agenda-car-tip a{border:1px solid #cda080;border-radius:999px;padding:6px 9px;color:#f3c2a5;text-decoration:none;font-size:10px;font-weight:700}
@media(max-width:420px){.agenda-date-form{grid-template-columns:1fr}}
@media print{.agenda-trip-tools,.agenda-car-tip{display:none!important}}
