:root{--ink:#171717;--muted:#6f6f73;--line:#ebe7e3;--red:#F36B5D;--bg:#F8F6F3;--green:#2e8f6f;--purple:#635b73;--blue:#202020;--gold:#c99531;--cream:#fff9f3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}button,input,select{font:inherit}.app{max-width:720px;min-height:100vh;margin:auto;background:#fff;box-shadow:0 0 32px #0000000d;padding-bottom:88px}
header{height:64px;position:sticky;top:0;z-index:20;background:#fffffff2;backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--line)}.brand{font-size:21px;font-weight:950}.brand span{color:var(--red)}.header-actions{display:flex;align-items:center;gap:7px}.header-actions button,header>button{border:0;background:none;color:var(--muted);font-weight:750}.header-actions #savedTop{font-size:24px;color:var(--ink)}.round{width:36px;height:36px;border-radius:50%;background:#f1f2f5!important;font-size:25px!important;color:var(--ink)!important}.hidden{visibility:hidden}
.screen{display:none;padding:32px 24px 105px;min-height:calc(100vh - 64px)}.active{display:block}.hero{text-align:center;padding-top:72px;background:linear-gradient(180deg,#e8f7ff 0,#fff 46%)}.spark{font-size:52px}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:950;color:var(--red);margin-bottom:6px}h1{font-size:46px;line-height:.98;margin:10px 0 16px;letter-spacing:-.04em}h2{font-size:34px;line-height:1.05;margin:8px 0 12px;letter-spacing:-.025em}.lead{color:var(--muted);line-height:1.55}.lead small{color:inherit}.primary,.secondary,.dark-btn{width:100%;padding:16px;border-radius:18px;border:0;margin-top:12px;font-weight:900;cursor:pointer}.primary{background:var(--red);color:#fff;box-shadow:0 8px 22px #F36B5D30}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.dark-btn{background:var(--ink);color:#fff}.callout{margin-top:30px;text-align:left;padding:18px;border:1px solid var(--line);border-radius:20px;display:grid;gap:5px;background:#fff}.callout span{font-size:14px;color:var(--muted);line-height:1.45}
.occasion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:22px}.occasion-grid button{min-height:120px;border:1px solid var(--line);background:#fff;border-radius:20px;padding:16px;text-align:left;font-size:24px;cursor:pointer;transition:.18s}.occasion-grid button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0000000c}.occasion-grid b,.occasion-grid small{display:block;font-size:14px;margin-top:7px}.occasion-grid small{font-weight:500;color:var(--muted);line-height:1.3}
.counter{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:18px;padding:16px;margin:14px 0}.counter>div:first-child{display:grid}.counter small{color:var(--muted)}.counter b{font-size:28px}.counter button{width:42px;height:42px;border:0;border-radius:13px;margin-left:7px;font-size:22px;cursor:pointer}label{display:block;font-weight:850;margin:21px 0 8px}input,select{width:100%;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:16px}.stick{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);width:min(calc(100% - 48px),672px);z-index:15}
.date-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 10px;width:100%}.date-shortcuts button{min-width:0;width:100%;padding:11px 8px;border:1px solid var(--line);border-radius:14px;background:#fff;font-weight:800;font-size:clamp(13px,2.2vw,16px);white-space:normal;line-height:1.2}.date-shortcuts button.selected{border:2px solid var(--red);background:#FFF2EE;color:var(--red)}.location-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.location-actions .secondary{margin-top:12px;min-width:0}.surprise-location{background:#fff8f1!important;border-color:#f2d9c3!important}.location-hint{margin:8px 2px 0;color:var(--muted);font-size:12px;line-height:1.45}
.stack{display:grid;gap:10px;margin-top:18px}.stack button{display:flex;gap:12px;text-align:left;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;cursor:pointer}.stack span{display:grid}.stack small{color:var(--muted);margin-top:3px}.stack .selected,.tags .selected,.transport-pick.selected{border:2px solid var(--red);background:#FFF2EE}.filter-section{margin-top:24px}.filter-section h3{margin:0 0 3px}.filter-help{font-size:12px;color:var(--muted);margin:0 0 10px}.tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:8px}.tags button{padding:14px 10px;border:1px solid var(--line);background:#fff;border-radius:15px;text-align:left;cursor:pointer}
.transport-box{border:1px solid var(--line);border-radius:20px;padding:16px;margin-top:22px;background:#fafbfc}.transport-box h3{margin:0 0 4px}.transport-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.transport-pick{padding:13px 8px;border:1px solid var(--line);border-radius:14px;background:#fff;font-weight:850}.hotel-toggle{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:18px;padding:16px;margin-top:22px}.hotel-toggle>div{display:grid;gap:4px}.hotel-toggle small{color:var(--muted)}.switch{margin:0}.switch input{display:none}.switch span{display:block;width:50px;height:29px;border-radius:999px;background:#d9dde3;position:relative}.switch span:after{content:"";position:absolute;width:23px;height:23px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+span{background:var(--red)}.switch input:checked+span:after{transform:translateX(21px)}
.loading{text-align:center;padding-top:29vh;background:linear-gradient(#def9f2,#fff)}.pulse{animation:p 1s alternate infinite}@keyframes p{to{transform:scale(1.18) rotate(9deg)}}
.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0}.tabs{display:flex;gap:7px;flex-wrap:wrap}.tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px}.tab.active{background:var(--ink);color:#fff}.results-toolbar select{width:auto;min-width:135px;padding:10px 12px}
.plan{border:1px solid var(--line);border-radius:22px;overflow:hidden;margin:16px 0;background:#fff;box-shadow:0 8px 24px #00000008}.thumb{height:220px;background:#eef1f5;overflow:hidden;position:relative}.thumb img{width:100%;height:100%;object-fit:cover}.no-photo{height:150px;background:linear-gradient(135deg,#f0efed,#faf8f6);display:flex;align-items:center;justify-content:center;color:#a0a3ad;font-weight:800}.heart{position:absolute;right:12px;top:12px;width:42px;height:42px;border:0;border-radius:50%;background:#fffffff2;font-size:23px;box-shadow:0 5px 14px #0002}.banner{color:#fff;padding:9px 15px;font-weight:900;background:var(--green)}.event .banner{background:var(--purple)}.hotel .banner{background:var(--blue)}.body{padding:17px}.body h3{margin:0 0 8px;font-size:22px}.meta{display:flex;gap:7px;flex-wrap:wrap}.meta span{background:#f3f5f7;border-radius:999px;padding:7px 9px;font-size:12px;color:#525b6d}.why{background:#f8f6f3;border-radius:14px;padding:12px;margin:13px 0;color:#535b6b;font-size:14px;line-height:1.45}.actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.book,.map{display:block;text-decoration:none;text-align:center;padding:14px 8px;border-radius:14px;font-weight:900}.book{background:var(--red);color:#fff}.map{background:#fff;color:var(--ink);border:1px solid var(--line)}.error{background:#fff3e8;border:1px solid #ffd6ae;padding:14px;border-radius:14px;color:#7a4a1d;line-height:1.45}.open{color:#258149}.closed{color:#b64848}
.weather-card{margin:8px 0 15px;padding:18px;border-radius:22px;background:#f4f8fb;border:1px solid #dde9f1}.weather-top{display:flex;justify-content:space-between;gap:15px}.weather-title{font-size:21px;font-weight:950}.weather-icon{font-size:42px}.weather-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.weather-stat{background:#fff;border:1px solid #e6edf2;border-radius:14px;padding:11px}.weather-stat b{font-size:21px}.weather-stat small{display:block;color:var(--muted);margin-top:2px}.wear-box{background:#fff;border:1px solid #e6edf2;border-radius:15px;padding:13px;margin-top:12px}.wear-box strong{font-size:10px;letter-spacing:.11em;color:var(--gold)}.wear-box ul{padding-left:18px;margin:8px 0 0;color:#4f5563;line-height:1.55}.weather-nudge{margin-top:12px;padding:13px;border-radius:15px;background:#eaf3f9;border:0;width:100%;text-align:left}.weather-nudge b{display:block}.weather-nudge span{font-size:12px;color:var(--muted)}
.plan-cta{width:100%;border:0;border-radius:22px;padding:19px;background:var(--ink);color:#fff;text-align:left;margin:12px 0;cursor:pointer}.plan-cta small{display:block;color:#f2a9b5;font-weight:900;letter-spacing:.11em}.plan-cta b{display:block;font-size:19px;margin-top:5px}.plan-cta span{display:block;color:#c9cbd4;margin-top:5px;font-size:13px}.itinerary{display:grid;grid-template-columns:64px 1fr;gap:10px;margin-top:8px}.time-rail{padding-top:18px;text-align:center}.time-rail b{font-size:12px}.dot{width:10px;height:10px;border-radius:50%;background:var(--red);margin:7px auto}.stop-label{font-size:10px;font-weight:950;letter-spacing:.12em;color:var(--red);margin:14px 0 -4px}.swap{border:0;border-radius:12px;background:#FFF2EE;color:var(--red);padding:9px 12px;font-weight:900;margin-top:-3px;margin-bottom:8px}.surprise-box{margin-top:20px;padding:22px;border-radius:24px;background:var(--ink);color:#fff}.surprise-box small{color:#f2a9b5;font-weight:900;letter-spacing:.12em}.surprise-box h3{font-size:26px;margin:6px 0}.surprise-box p{color:#c9cbd4}.success-orb{width:56px;height:56px;border-radius:50%;background:#eaf7f0;display:grid;place-items:center;color:var(--green);font-size:28px;font-weight:950}.upsell-card{display:flex;gap:13px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:17px;margin-top:12px;text-decoration:none;color:var(--ink);background:#fff}.upsell-card .ico{width:46px;height:46px;border-radius:14px;background:#f3f5f7;display:grid;place-items:center;font-size:23px}.upsell-card span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,720px);z-index:30;background:#fffffff5;backdrop-filter:blur(18px);border-top:1px solid var(--line);height:78px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:7px 6px max(7px,env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:none;color:#8a8e9b;font-size:23px;font-weight:850;min-width:0;padding:3px 1px;white-space:nowrap;line-height:1}.bottom-nav button span{display:block;font-size:10.5px;line-height:1.15;margin-top:5px;overflow:hidden;text-overflow:ellipsis}.bottom-nav .active{color:var(--ink)}.bottom-nav .center-nav{color:var(--red)}
@media(min-width:760px){.app{margin:20px auto;border-radius:26px;overflow:hidden;min-height:calc(100vh - 40px)}.bottom-nav{bottom:20px;border-radius:0 0 26px 26px}.occasion-grid{grid-template-columns:repeat(3,1fr)}.tags{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){h1{font-size:42px}.location-actions{grid-template-columns:1fr}.location-actions .secondary+ .secondary{margin-top:0}.date-shortcuts{gap:6px}.date-shortcuts button{padding:10px 5px;font-size:13px}.results-toolbar{display:block}.results-toolbar select{width:100%;margin-top:10px}.thumb{height:190px}}
.upsell-heading{margin:24px 2px 4px}.upsell-heading b{display:block;font-size:18px}.upsell-heading span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.own-transport{width:100%;display:flex;gap:13px;align-items:center;border:1px dashed #cfd4db;border-radius:20px;padding:17px;margin-top:12px;text-align:left;background:#fafbfc;color:var(--ink);cursor:pointer}.own-transport-icon{width:46px;height:46px;border-radius:14px;background:#eef7f1;display:grid;place-items:center;font-size:23px;flex:0 0 46px}.own-transport b{display:block;font-size:15px}.own-transport small{display:block;color:var(--muted);font-size:13px;margin-top:3px}.transport-sorted{margin-top:14px;padding:18px;border-radius:20px;background:#eef7f1;border:1px solid #d6ebdd}.transport-sorted b{display:block;font-size:17px}.transport-sorted span{display:block;color:#557061;font-size:13px;line-height:1.45;margin-top:4px}.transport-change{border:0;background:transparent;color:var(--green);font-weight:900;padding:10px 0 0;cursor:pointer}

.memory-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.memory-stats>div,.year-card,.memory-form,.memory-card{background:#fff;border:1px solid rgba(20,30,45,.1);border-radius:20px;padding:16px;box-shadow:0 10px 30px rgba(20,30,45,.06)}.memory-stats b{display:block;font-size:24px}.memory-stats span{font-size:12px;opacity:.65}.memory-form{margin:16px 0}.memory-form label{display:block;font-weight:700;margin:12px 0}.memory-form input,.memory-form select,.memory-form textarea{width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #d8dde5;border-radius:12px;font:inherit}.memory-card{padding:0;overflow:hidden;margin:18px 0}.memory-copy{padding:18px}.memory-collage{display:grid;grid-template-columns:repeat(2,1fr);max-height:360px;overflow:hidden}.memory-collage img{width:100%;height:180px;object-fit:cover}.memory-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.stars{letter-spacing:2px;margin:5px 0}.year-card{margin:20px 0;background:linear-gradient(135deg,#fff,#f4f0ff)}.muted{opacity:.65}.text-button{border:0;background:transparent;text-decoration:underline;cursor:pointer}.hidden{display:none!important}@media(max-width:600px){.memory-stats{grid-template-columns:1fr 1fr 1fr}.memory-stats>div{padding:10px}.memory-stats b{font-size:20px}.memory-stats span{font-size:10px}.bottom-nav button{font-size:22px}.bottom-nav button span{font-size:10px}}

.no-photo{position:relative;min-height:130px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f4f5f8,#eceef3);color:var(--muted);font-weight:750}.no-photo .heart{position:absolute;top:12px;right:12px}.bottom-nav button:focus-visible,.heart:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid rgba(255,90,95,.35);outline-offset:2px}

/* Viator experiences */
.plan.experience .banner{color:#0b6b55}.results-toolbar .tabs{max-width:100%}
@media(max-width:600px){
 .results-toolbar{align-items:stretch;flex-direction:column}
 .results-toolbar .tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 1px 7px;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}
 .results-toolbar .tabs::-webkit-scrollbar{display:none}
 .results-toolbar .tab{flex:0 0 auto;padding:11px 15px;font-size:14px;font-weight:800;white-space:nowrap;min-height:44px}
 .results-toolbar select{width:100%}
}

/* Specific activity search */
.specific-search-box{margin:22px 0 4px;padding:16px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fffaf8,#fff)}
.specific-search-box label{margin:0 0 4px;font-size:18px}.specific-search-box input{margin-top:8px;font-size:17px;padding:16px}.specific-examples{margin-top:9px;color:var(--muted);font-size:12px;line-height:1.45}


/* On-demand reviews: keep cards clean, load the expensive review data only when asked for. */
.actions.has-reviews{grid-template-columns:repeat(3,minmax(0,1fr))}.reviews-btn,.reviews-link{border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;text-align:center;padding:14px 8px;border-radius:14px;font-weight:900;cursor:pointer}.reviews-modal{position:fixed;inset:0;background:#10131b80;z-index:100;display:none;align-items:flex-end;justify-content:center;padding:16px}.reviews-modal.open{display:flex}.modal-open{overflow:hidden}.reviews-sheet{width:min(680px,100%);max-height:min(82vh,760px);overflow:auto;background:#fff;border-radius:26px 26px 18px 18px;padding:20px;box-shadow:0 24px 80px #0004}.reviews-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;position:sticky;top:-20px;background:#fff;padding:10px 0 12px;z-index:2}.reviews-sheet-head small{font-size:10px;letter-spacing:.12em;font-weight:950;color:var(--red)}.reviews-sheet-head h2{font-size:28px;margin:5px 0 0}.reviews-close{width:42px;height:42px;border:0;border-radius:50%;background:#f2f3f5;font-size:30px;line-height:1;cursor:pointer}.reviews-loading,.reviews-empty{padding:24px 4px;color:var(--muted);font-weight:750}.reviews-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;background:#f8f6f3;border-radius:16px;margin-bottom:12px}.reviews-summary>div{display:grid;gap:3px}.reviews-summary b{font-size:22px}.reviews-summary span{font-size:12px;color:var(--muted)}.reviews-summary a,.review-author{font-size:12px;font-weight:850;color:var(--blue);text-decoration:none}.review-card{border:1px solid var(--line);border-radius:16px;padding:15px;margin:10px 0}.review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.review-head>div{display:grid;gap:3px}.review-head span{color:#e0a21a;font-size:13px;letter-spacing:.04em}.review-head small{color:var(--muted)}.review-card p{line-height:1.5;color:#4f5665;margin:10px 0}.reviews-source{font-size:11px;color:var(--muted);text-align:center;margin:18px 0 4px}@media(max-width:520px){.actions.has-reviews{grid-template-columns:1fr 1fr}.actions.has-reviews .map{grid-column:1/-1}.reviews-modal{padding:0}.reviews-sheet{border-radius:24px 24px 0 0;max-height:86vh}.reviews-summary{align-items:flex-start;flex-direction:column}}


/* Smart planning modes */
.smart-launch{margin-top:22px;text-align:left}.smart-launch-head{padding:4px 2px 10px}.smart-launch-head small{font-size:10px;letter-spacing:.12em;font-weight:950;color:var(--red)}.smart-launch-head h3{font-size:27px;margin:5px 0}.smart-launch-head p{color:var(--muted);margin:0}.smart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.smart-grid button{border:1px solid var(--line);background:#fff;border-radius:18px;padding:15px;text-align:left;font-size:22px;min-height:118px;cursor:pointer}.smart-grid b,.smart-grid span{display:block}.smart-grid b{font-size:14px;margin-top:8px}.smart-grid span{font-size:11px;color:var(--muted);line-height:1.35;margin-top:4px}.distance-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.distance-modes button,.choice-row button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;font-weight:850}.distance-modes .selected,.choice-row .selected{border:2px solid var(--red);background:#FFF2EE;color:var(--red)}.distance-modes button:last-child{grid-column:1/-1}.distance-help{margin-top:8px}.transport-picks{grid-template-columns:repeat(4,minmax(0,1fr))}.transport-pick{min-width:0}.inline-actions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.inline-actions .secondary{width:auto;margin:0;padding:14px}.choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.choice-row button{min-width:0;font-size:13px}.anchor-card,.jar-picked,.share-card,.taste-summary{border-radius:20px;padding:18px;margin:12px 0;background:linear-gradient(135deg,#FFF4F0,#fff);border:1px solid #EED8D2}.anchor-card small,.jar-picked small{font-size:10px;font-weight:950;letter-spacing:.12em;color:var(--red)}.anchor-card h3,.jar-picked h3{font-size:22px;margin:5px 0}.anchor-card p,.jar-picked p,.share-card p{color:var(--muted);line-height:1.45}.anchor-card span{font-size:13px;font-weight:800}.rescue-plan{margin-top:18px}.taste-profile h3{margin:22px 0 10px}.taste-summary{display:grid}.taste-summary b{font-size:38px}.taste-summary span{color:var(--muted)}.taste-chips{display:flex;gap:8px;flex-wrap:wrap}.taste-chips span{background:#f3f5f7;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800;text-transform:capitalize}.vote-options{display:grid;gap:10px;margin:16px 0}.vote-option{margin:0!important;display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:14px;border-radius:16px;background:#fff}.vote-option input{width:22px;height:22px;flex:0 0 22px}.vote-option span{display:grid;gap:3px}.vote-option small{color:var(--muted);font-weight:500}.share-card input{margin:8px 0}.share-card .secondary{margin-top:6px}@media(max-width:520px){.smart-grid{grid-template-columns:1fr 1fr}.smart-grid button{min-height:112px;padding:13px}.transport-picks{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-row{grid-template-columns:1fr}.distance-modes{grid-template-columns:1fr 1fr}}

/* Surprise destination/date + form alignment pass */
.location-choice-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:stretch}.location-choice-row input{height:100%;min-width:0}.location-choice-row .secondary{width:auto;min-width:155px;margin:0;padding:14px 16px}.surprise-location.selected,#surpriseDate.selected{border:2px solid var(--red)!important;background:#FFF2EE!important;color:var(--red)}#location:disabled,#date:disabled{opacity:1;color:var(--ink);background:#faf7f5;-webkit-text-fill-color:var(--ink)}.date-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}.screen>input,.screen>select,.transport-box>input,.transport-box>select,.inline-actions input{display:block;width:100%;max-width:100%;min-width:0}.screen input[type=date],.screen input[type=time]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.anchor-card input,#anchor input{width:100%;max-width:100%;min-width:0}.surprise-date-help{margin-top:7px}.stack button{width:100%;min-width:0}
@media(max-width:620px){.date-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.location-choice-row{grid-template-columns:1fr}.location-choice-row .secondary{width:100%;min-width:0;margin-top:0}}

.holiday-notice{margin:10px 0 4px;padding:13px 14px;border-radius:15px;border:1px solid #ead8bd;background:#fff9ed;font-size:13px;line-height:1.45}.holiday-notice b{display:block;margin-bottom:2px}.holiday-notice .holiday-row+.holiday-row{margin-top:8px;padding-top:8px;border-top:1px solid #efdfc7}.holiday-notice small{color:var(--muted);display:block;margin-top:2px}.holiday-notice.hidden{display:none}.seasonal-pulse{box-shadow:0 0 0 3px #F36B5D16}


/* Results search reminder */
.results-search-summary{position:sticky;top:76px;z-index:10;margin:14px 0 10px;padding:13px 14px;border:1px solid var(--line);border-radius:18px;background:#fffffff5;backdrop-filter:blur(12px);box-shadow:0 8px 24px #0000000a}.results-search-summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.results-search-summary-main{display:flex;gap:8px;flex-wrap:wrap;min-width:0}.search-pill{display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border-radius:999px;background:#f4f5f7;color:#42495a;font-size:12px;font-weight:850;max-width:100%}.search-pill.date{background:#FFF2EE;color:#B94A40}.search-pill strong{font-weight:950}.edit-search-btn{border:0;background:transparent;color:var(--red);font-weight:950;padding:7px 2px;white-space:nowrap;cursor:pointer}.results-search-summary-extra{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.45}.results-search-summary-extra b{color:var(--ink)}@media(max-width:520px){.results-search-summary{top:70px;padding:12px}.results-search-summary-top{align-items:stretch;flex-direction:column}.edit-search-btn{text-align:left;padding:2px 0}.search-pill{font-size:11px;padding:7px 9px}}

/* Unified choice controls + cleaner location/date hierarchy */
.mode-toggle{display:grid;gap:8px;margin:8px 0 10px;width:100%}
.location-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.date-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mode-toggle button,.surprise-scope-grid button{min-width:0;width:100%;padding:12px 10px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--blue);font-weight:850;cursor:pointer;line-height:1.2}
.mode-toggle button.selected,.surprise-scope-grid button.selected{border:2px solid var(--red);background:#FFF2EE;color:var(--red)}
.surprise-scope-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#manualLocationPanel{margin-top:8px}
#manualLocationPanel input{margin-top:0}
.hidden-panel{display:none!important}

/* One PlanMyDay date treatment everywhere instead of browser-looking full-width boxes */
.date-field-card{display:flex;align-items:center;gap:9px;width:100%;min-height:52px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:0 13px;box-sizing:border-box;margin-top:8px}
.date-field-card:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(243,107,93,.12)}
.date-field-card>span{flex:0 0 auto;font-size:17px}
.date-field-card input[type=date]{flex:1;min-width:0;width:100%;border:0!important;background:transparent!important;padding:13px 0!important;margin:0!important;box-shadow:none!important;border-radius:0!important;color:var(--ink);font:inherit;font-weight:750}
.date-field-card input[type=date]:focus{outline:0}
.transport-box .date-field-card{margin-bottom:2px}

@media(max-width:620px){
  .location-mode-grid{grid-template-columns:1fr}
  .date-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .surprise-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Compact reminder action — matches PlanMyDay pill controls */
.remind-strip-btn{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;margin:8px 0 10px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--blue);font-weight:850;font-size:13px;line-height:1.2;cursor:pointer;box-shadow:none}
.remind-strip-btn:hover,.remind-strip-btn:focus-visible{border-color:var(--red);color:var(--red);background:#FFF4F0;outline:none}

/* Product-shape cleanup */
.filter-accordion{border:1px solid var(--line);border-radius:18px;padding:0 14px;background:#fff}.filter-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:15px 2px;list-style:none}.filter-accordion summary::-webkit-details-marker{display:none}.filter-accordion summary span:first-child{display:grid;gap:3px}.filter-accordion summary b{font-size:16px}.filter-accordion summary small{font-size:11px;color:var(--muted);font-weight:600}.filter-accordion[open] summary>span:last-child{transform:rotate(45deg)}.filter-accordion .tags{padding-bottom:14px}.site-footer{max-width:720px;margin:-74px auto 88px;padding:14px 24px 20px;display:flex;justify-content:center;gap:10px;align-items:center;color:var(--muted);font-size:11px}.site-footer button{border:0;background:transparent;color:var(--blue);font-weight:850;text-decoration:underline;cursor:pointer}.legal-screen{padding-bottom:130px}.legal-card{border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0;background:#fff}.legal-card h3{margin:0 0 7px;font-size:17px}.legal-card p{margin:0;color:var(--muted);line-height:1.55;font-size:14px}.legal-card.warning{background:#fff8e9;border-color:#f0dfb8}.legal-updated{color:var(--muted);font-size:12px;margin-top:18px}.memory-form input[type=file]{padding:12px}.location-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:520px){.location-mode-grid{grid-template-columns:1fr 1fr}.location-mode-grid button:last-child{grid-column:1/-1}.site-footer{margin-top:-68px}}

.privacy-choice{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);z-index:120;width:min(640px,calc(100% - 28px));background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 18px 50px #0003}.privacy-choice>div:first-child{display:grid;gap:5px}.privacy-choice b{font-size:15px}.privacy-choice span{font-size:12px;color:var(--muted);line-height:1.45}.privacy-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.privacy-choice-actions button{border:1px solid var(--line);border-radius:13px;padding:11px;background:#fff;font-weight:850;color:var(--blue)}.privacy-choice-actions button:last-child{background:var(--red);color:#fff;border-color:var(--red)}.privacy-more{border:0;background:transparent;color:var(--muted);font-size:11px;text-decoration:underline;margin-top:9px;padding:0}.privacy-choice.hidden{display:none!important}@media(max-width:520px){.privacy-choice{bottom:84px}.privacy-choice-actions{grid-template-columns:1fr}}


/* Mobile footer/CTA safety pass — fixed actions never cover form fields */
.screen{padding-bottom:calc(220px + env(safe-area-inset-bottom))}
.stick{bottom:calc(94px + env(safe-area-inset-bottom));width:min(calc(100% - 64px),640px);border-radius:17px}
@media(max-width:520px){
  .screen{padding-left:20px;padding-right:20px;padding-bottom:calc(230px + env(safe-area-inset-bottom))}
  .stick{width:calc(100% - 48px);bottom:calc(92px + env(safe-area-inset-bottom));padding:15px}
  .filter-section{margin-top:18px}
  .filter-accordion{margin-top:10px}
  .transport-box{margin-top:18px}
  .hotel-toggle{margin-top:16px}
}

/* Coral + black interaction system */
.mode-toggle button,.surprise-scope-grid button,.remind-strip-btn,.privacy-choice-actions button,.site-footer button{color:var(--ink)}
.mode-toggle button.selected,.surprise-scope-grid button.selected,.date-shortcuts button.selected,.stack .selected,.tags .selected,.transport-pick.selected,.distance-modes .selected,.choice-row .selected{color:var(--red);border-color:var(--red);background:#FFF2EE}
.date-shortcuts button:not(.selected),.transport-pick:not(.selected),.tags button:not(.selected),.choice-row button:not(.selected){color:var(--ink)}
.primary{background:var(--red);color:#fff;box-shadow:0 8px 22px #F36B5D30}
.brand span,.eyebrow,.edit-search-btn,.reviews-sheet-head small{color:var(--red)}
.search-pill.date{background:#FFF2EE;color:#A9453C}
/* Consistent preference accordions + visually separate direct search controls */
#vibe .filter-accordion{margin-top:10px}
#vibe .filter-accordion summary{min-height:70px}
#vibe .filter-accordion summary b{font-size:18px;color:var(--ink)}
#vibe .filter-accordion summary small{font-size:12px;line-height:1.35}
#vibe .filter-accordion[open]{background:#fff}
#vibe .filter-accordion[open] summary{border-bottom:1px solid var(--line)}
#vibe .direct-search-box{margin:14px 0 0;padding:17px 16px;border:1px solid #d8d3cf;border-radius:20px;background:#f1efed}
#vibe .direct-search-box label{display:block;margin:0 0 4px;font-size:18px;font-weight:900;color:var(--ink)}
#vibe .direct-search-box .filter-help{margin:0 0 10px;color:#5d5a58}
#vibe .direct-search-box input{margin:0;background:#fff;border-color:#d1cbc7}
#vibe .direct-search-box .specific-examples{color:#66615e}
#vibe .avoid-search-box{background:#e9e6e3}
@media(max-width:520px){
  #vibe .filter-accordion summary{min-height:64px;padding:13px 2px}
  #vibe .direct-search-box{margin-top:12px;padding:15px 14px}
}

/* Results polish: keep the summary in normal document flow so it never covers weather/content. */
.results-search-summary{position:relative!important;top:auto!important;z-index:1!important;margin:14px 0 14px!important;backdrop-filter:none!important;background:#fff!important}
#resultsHolidayNotice+.weather-card,#weather{position:relative;z-index:0}
.results-search-summary-extra{display:grid;gap:7px;margin-top:10px!important}
.summary-row{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;color:var(--muted)}
.summary-row>b{min-width:54px;color:var(--ink);font-size:12px;line-height:28px}
.summary-chip-list{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.summary-chip{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#f3f3f2;color:#363638;font-size:11px;font-weight:800;line-height:1.2}
.summary-chip.strong{background:#fff1ed;color:#b84a3d}
.summary-chip.more{background:#171717;color:#fff}
.plan-cta small{color:#f6b7ad!important}
@media(max-width:520px){.results-search-summary{position:relative!important;top:auto!important}.summary-row>b{width:100%;line-height:1.2;margin-bottom:1px}.results-search-summary-main{gap:6px}.search-pill{font-size:11px}}
