/* TravelOnTales editorial product skin.
   The planner's existing markup, IDs and JavaScript remain unchanged. */
:root{
  --ink:#18231f;
  --muted:#69736d;
  --green:#173f35;
  --green2:#e5eee7;
  --orange:#c87621;
  --cream:#f3eddc;
  --line:#d8d0bd;
  --white:#fffdf7;
  --red:#a44135;
  --amber:#a96318;
  --shadow:0 18px 55px rgba(44,51,42,.10);
  --editorial-serif:'Fraunces',Georgia,serif;
  --editorial-sans:'Karla',system-ui,sans-serif;
  --editorial-mono:'IBM Plex Mono','Courier New',monospace;
}

html{background:#f3eddc}
body{
  font-family:var(--editorial-sans);
  color:var(--ink);
  background:
    radial-gradient(circle at 82% 7%,rgba(200,118,33,.08),transparent 22rem),
    linear-gradient(180deg,#f3eddc 0,#f7f2e5 46%,#efe8d6 100%);
}
body:before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.16;
  z-index:-1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E");
}
button,input,select,textarea{font-family:var(--editorial-sans)}
.wrap{width:min(1120px,calc(100% - 32px))}

/* Navigation */
.nav{
  height:72px;
  position:sticky;
  top:0;
  z-index:70;
  padding:0 4px;
  border-bottom:1px solid rgba(58,69,60,.16);
  background:rgba(243,237,220,.92);
  backdrop-filter:blur(14px);
}
.brand-link{gap:9px}
.brand-logo{width:44px;height:44px;border-radius:9px;box-shadow:none}
.brand-word{
  color:var(--orange);
  font-family:var(--editorial-mono);
  font-size:.68rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.brand-word small{display:none}
.nav-actions{gap:9px}
.nav-note,.admin-shortcut,.account-button{
  border-radius:999px;
  font-family:var(--editorial-mono);
  font-size:.61rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.nav-note{color:var(--green);background:transparent;padding:7px 3px}
.account-button{background:var(--green);color:#fff;border:1px solid var(--green);padding:10px 15px}
.admin-shortcut{color:var(--green);border:1px solid rgba(23,63,53,.22);padding:9px 12px}

/* Editorial introduction */
.hero{
  display:block;
  min-height:0;
  max-width:760px;
  margin:0 auto;
  padding:clamp(46px,8vw,88px) 0 40px;
  border-radius:0;
  background:none;
  box-shadow:none;
  overflow:visible;
}
.hero:before,.hero:after,.hero-visual{display:none!important}
.hero-copy{max-width:720px}
.hero .eyebrow,.eyebrow{
  color:var(--orange);
  font-family:var(--editorial-mono);
  font-size:.64rem;
  letter-spacing:.2em;
  font-weight:700;
}
.hero h1{
  color:var(--green);
  max-width:11ch;
  margin:13px 0 17px;
  font-family:var(--editorial-serif);
  font-size:clamp(3.05rem,8vw,6rem);
  font-weight:900;
  line-height:.92;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.hero h1::first-line{color:var(--green)}
.hero p{
  color:#59645e;
  max-width:58ch;
  margin:0;
  font-size:1rem;
  line-height:1.65;
}
.hero-proof{margin-top:22px}
.hero-proof span{color:var(--amber);border-color:rgba(169,99,24,.28);background:rgba(255,253,247,.4);font-family:var(--editorial-mono)}

/* Main planner: narrow, calm and sequential */
.ask{
  max-width:780px;
  margin:0 auto;
  padding:clamp(20px,4vw,32px);
  border:1px solid #d7ceba;
  border-top:3px solid var(--orange);
  border-radius:20px;
  background:rgba(255,253,247,.86);
  box-shadow:0 20px 60px rgba(61,59,47,.08);
}
.ask form:before{
  content:'Build your trip';
  display:block;
  margin:0 0 4px;
  color:var(--green);
  font:700 clamp(1.5rem,4vw,2rem)/1.1 var(--editorial-serif);
}
.ask form:after{content:'';display:block;clear:both}
.profile-picker,.route-picker{
  gap:12px;
  padding:17px 0;
  margin:0;
  border-color:#ded6c3;
}
.profile-picker{grid-template-columns:1fr 1fr}
.route-picker{grid-template-columns:1fr 1fr}
.profile-picker label,.route-picker label,.quick-preferences label,.optional-label{
  color:#66716a;
  font-family:var(--editorial-mono);
  font-size:.59rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.profile-picker input,.route-picker input,.route-picker select,.quick-preferences input,.quick-preferences select,.ask textarea{
  min-height:47px;
  border:1px solid #d6cebb;
  border-radius:9px;
  color:var(--ink);
  background:#f7f1e3;
}
.ask textarea{padding:13px 14px;min-height:88px;margin-top:6px}
.profile-picker input:focus,.route-picker input:focus,.route-picker select:focus,.quick-preferences input:focus,.quick-preferences select:focus,.ask textarea:focus{
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(200,118,33,.12);
  outline:none;
}
.field-step{background:var(--orange);color:#fff}
.quick-preferences{grid-template-columns:1fr 1fr;padding:15px 0;gap:12px;border-color:#ded6c3}
.access-toggle{background:#ece5d4;border:1px solid #d8cfbb;border-radius:9px;color:var(--ink)!important}
.api-state{margin:10px 0 13px;color:#69736d}
.api-state.ok{color:#236650}
.api-state.guide{color:#9a591c}
.ask-foot{border-color:#ded6c3;margin-top:13px;padding-top:15px}
.ask-foot small{max-width:44ch}
.form-actions{gap:8px}
.primary,.surprise-button{
  min-height:48px;
  border-radius:9px;
  font-family:var(--editorial-mono);
  font-size:.66rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.primary{background:var(--orange);color:#fff;box-shadow:none}
.primary:hover{background:#a95f17}
.surprise-button{background:transparent;color:var(--green);border:1px solid rgba(23,63,53,.25)}
.primary:disabled{background:#b5afa0;color:#f7f4eb}

.route-builder{border-color:#d8cfbb;background:#f4eedf}
.route-builder-head b{color:var(--green);font-family:var(--editorial-serif);font-size:1rem}
.route-builder-head small{color:#6a746e;font-size:.72rem;line-height:1.45}
.route-count{background:#e3ece5;color:var(--green)}
.route-builder.has-stops{border:2px solid #c58b4d;background:#fff6e8;box-shadow:0 8px 24px rgba(110,78,35,.08)}
.route-builder.has-stops .route-count{background:var(--orange);color:#fff}
.route-number{background:var(--orange)}
.route-stop{border-color:#ded3bd;background:#fffdf7;box-shadow:none}
.route-stop-actions button{color:var(--green);background:#e7eee8}
.route-add-custom button{background:var(--green)}

.examples{max-width:780px;margin:14px auto 34px;justify-content:flex-start}
.chip,.style-pick{
  color:var(--amber);
  border:1px solid rgba(169,99,24,.25);
  background:rgba(255,253,247,.55);
  font-family:var(--editorial-mono);
  font-size:.61rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.chip:hover,.style-pick:hover{background:#fff4df;border-color:#c87621}
.style-pick.active{background:var(--orange);border-color:var(--orange);color:#fff}

/* Product overview and contribution callout */
.traveller-submit-banner,.product-strip{max-width:900px;margin-left:auto;margin-right:auto}
.traveller-submit-banner{
  background:var(--green);
  border:0;
  border-radius:16px;
  color:#f7f2e8;
  box-shadow:none;
}
.traveller-submit-banner span{color:#cdd9d2}
.traveller-submit-banner button{font-family:var(--editorial-mono);font-size:.61rem;text-transform:uppercase}
.traveller-submit-banner .suggest-place,.community-cta .suggest-place{background:#e4a052;color:#1c3029}
.product-strip{grid-template-columns:repeat(4,1fr);gap:1px;background:#d7cfbc;border:1px solid #d7cfbc;border-radius:15px;overflow:hidden}
.product-strip article{border:0;border-radius:0;background:#fffaf0;padding:17px}
.product-strip b{font-family:var(--editorial-serif);font-size:.98rem;color:var(--green)}

/* Discovery sections */
.journey-explorer,.destination-explorer,.nearby-explorer,.editorial-library,.birthday-finder,.companion-hub,.community-section,.smart-tools,.science-section{
  border:1px solid #d8d0bd;
  border-radius:20px;
  background:rgba(255,253,247,.74);
  box-shadow:none;
}
.journey-head h2,.nearby-head h2,.explorer-head h2,.editorial-head h2,.companion-hub h2,.community-head h2,.smart-tools h2,.science-section h2,.section-band h2{
  color:var(--green);
  font-family:var(--editorial-serif);
  font-weight:700;
  letter-spacing:-.025em;
}
.journey-head p,.nearby-head p,.explorer-head p,.editorial-head p,.companion-hub>p,.community-head p,.smart-tools>p,.science-section>div>p{color:var(--muted)}
.style-rail{padding-top:14px}
.style-destinations,.destination-rail,.editorial-rail,.nearby-results,.birthday-results{scrollbar-color:#b17a3d transparent}
.style-card,.nearby-card,.destination-card,.editorial-route,.birthday-card{
  border:1px solid #dbd2bf;
  border-radius:14px;
  background:#fffaf0;
  box-shadow:none;
}
.style-card h3,.nearby-card h3,.destination-card h4,.editorial-route h3,.birthday-card h3{font-family:var(--editorial-serif);color:var(--green)}
.style-card button,.nearby-card button,.build-destination,.nearby-button,.style-card .seo-trip-link,.destination-card .seo-trip-link,.editorial-route a,.birthday-card a{
  border-radius:8px;
  background:var(--green);
  color:#fff;
  font-family:var(--editorial-mono);
  font-size:.61rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.country-pick{background:#eee7d7;color:#52615a;border-radius:8px;font-family:var(--editorial-mono);font-size:.61rem;text-transform:uppercase}
.country-pick.active{background:var(--green);color:#fff}
.destination-mark{background:var(--orange)}
.learning-pill{background:#e4eee7;color:#235b4c}
.learning-note,.editorial-note{background:#f1eadb;color:#66716a}
.nearby-explorer{background:#e8f0e9;border-color:#cbdacd}
.nearby-button{background:var(--green)}
.nearby-rating{color:var(--orange)!important}

.birthday-finder{background:var(--green);color:#fff}
.birthday-head h2{color:#fff;font-family:var(--editorial-serif)}
.birthday-head p,.birthday-privacy{color:#d3ddd7}
.birthday-controls button{background:#e5a75e;color:#1e2c27}
.birthday-card{color:var(--ink)}

/* Generated-plan area */
.stepper{border-color:#d8d0bd;background:#fffaf0;border-radius:12px}
.step{border-color:#ded6c5;color:#727a74;font-family:var(--editorial-mono);font-size:.61rem;text-transform:uppercase}
.step.active{background:var(--green);color:#fff}
.panel,.plan{
  border-color:#d8d0bd;
  border-radius:17px;
  background:#fffdf7;
  box-shadow:none;
}
.panel h2,.section-head h2,.brief-head h2,.trip-section-title h3{font-family:var(--editorial-serif);color:var(--green)}
.fact{background:#ebe6d9}
.checklist li:before{color:var(--orange)}
.plan.best{border-color:var(--orange);box-shadow:0 13px 35px rgba(70,60,39,.09)}
.badge,.badge.recommended,.status{background:#e7eee8;color:var(--green)}
.score,.total{font-family:var(--editorial-serif);color:var(--green)}
.why{background:#f3edde}
.select,.best .select{background:var(--green);color:#fff;border-radius:8px}
.result-share{background:rgba(255,253,247,.96)}
.share-wa,.share-mail,.share-word{border-radius:8px;font-family:var(--editorial-mono);font-size:.61rem;text-transform:uppercase}
.tabs{top:8px;border:1px solid #d8d0bd;background:rgba(255,253,247,.94);border-radius:11px}
.tab{background:transparent;border-color:#d8d0bd;color:#5e6862;font-family:var(--editorial-mono);font-size:.6rem;text-transform:uppercase}
.tab.active{background:var(--green);border-color:var(--green);color:#fff}
.trip-section{border-color:#ddd5c3}
.trip-summary-strip article,.popular-card,.stay-card,.calendar-card,.knowledge article,.guide,.stop{
  border-color:#ddd4c1;
  background:#faf5e9;
  border-radius:12px;
}
.timeline{border-color:#d2b281}
.day:before{background:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.day h4,.popular-card h4,.stay-card h4,.calendar-card h4,.guide h4{color:var(--green);font-family:var(--editorial-serif)}
.stop-head b{color:var(--green)}
.stop-time{color:var(--orange)}
.stop-meta span,.popular-meta span{border-color:#ded4c0;background:#fffdf7}
.popular-card.must-see{border-left-color:var(--orange)}
.popular-card.recommended{border-left-color:#477768}
.priority,.stay-type{background:#e5eee7;color:#285e50}
.good-to-know{background:#f4e6ca!important;color:#664c2b!important}
.choice-bar.show{background:#fffaf0;border-color:var(--orange)}
.choice-bar.show button{background:var(--green)}
.booking-market{background:#f1ebdd;border-color:#d8d0bd}
.booking-links a,.provider button{background:var(--green2);color:var(--green)}
.actions .action{border-radius:8px;background:#e6e2d7;color:var(--green);font-family:var(--editorial-mono);font-size:.6rem;text-transform:uppercase}
.actions .action.wa{background:#23845d;color:#fff}
.reset-action{border:1px solid #b7ad98!important}

/* Community, tools and network */
.community-cta{background:var(--green);color:#fff;border-radius:14px}
.community-cta p{color:#cedbd4}
.community-cta button,.submit-choice-actions button{font-family:var(--editorial-mono);font-size:.6rem;text-transform:uppercase;border-radius:8px}
.community-feed,.tool-grid,.companion-grid{gap:12px}
.traveller-story,.tool-card,.companion-card{
  border:1px solid #d8d0bd;
  border-radius:14px;
  background:#fffaf0;
  box-shadow:none;
}
.traveller-story h3,.tool-card b,.companion-card h3{color:var(--green);font-family:var(--editorial-serif)}
.tool-card button{background:var(--green);color:#fff;border-radius:8px;font-family:var(--editorial-mono);font-size:.6rem;text-transform:uppercase}
.tool-status{background:#e5eee7;color:#285e50}
.tool-status.partner{background:#f4e5ca;color:#81551d}
.science-section{background:#203f36;color:#f4efe4}
.science-section h2{color:#fff}
.science-section>div>p,.science-steps p{color:#cbd9d2}
.science-steps article{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.05)}
.science-steps span{color:#e8a456}
.science-live-note{background:rgba(232,164,86,.12);color:#efbd7e}
.companion-card.tot .companion-creative{background:#f5ead4}
.companion-card.nutrition .companion-creative{background:#e5eee7}
.companion-card.vow .companion-creative{background:#f3e5e1}

.signature-card{border-radius:16px;min-height:290px}
.expert-badge{background:#f0b566;color:#2f281c}
.site-footer{background:#173f35;color:#d7e2dc;border-radius:18px}
.site-footer a{color:#eeb56f}
.mobile-dock button{background:var(--orange);font-family:var(--editorial-mono);text-transform:uppercase}

/* Dialogs */
dialog{border:1px solid #d8d0bd!important;border-radius:18px!important;background:#fffaf0!important;color:var(--ink)!important}
dialog h3{font-family:var(--editorial-serif);color:var(--green)}
dialog input,dialog select,dialog textarea{background:#f4eedf!important;border-color:#d8d0bd!important;color:var(--ink)!important}
dialog button{border-radius:8px!important}
.account-primary,.email-send,.contribution-send,.profile-save-row button{background:var(--green)!important;color:#fff!important}

/* Loading keeps the same reassuring function in the new palette. */
body.planner-is-loading:before{background:rgba(23,36,31,.64)}
.planner-loading{background:var(--green);border:1px solid rgba(255,255,255,.16)}
.loading-track span{background:#e5a75e}

@media(max-width:850px){
  .wrap{width:min(100% - 22px,720px)}
  .nav{height:64px}
  .brand-logo{width:40px;height:40px}
  .hero{padding:38px 5px 29px}
  .hero h1{font-size:clamp(2.7rem,14vw,4rem);max-width:9.5ch}
  .hero p{font-size:.92rem}
  .ask{padding:18px;border-radius:16px}
  .profile-picker,.route-picker,.quick-preferences{grid-template-columns:1fr}
  .ask-foot{align-items:stretch}
  .form-actions{display:grid;grid-template-columns:1fr 1.2fr;width:100%}
  .product-strip{grid-template-columns:1fr 1fr}
  .journey-explorer,.destination-explorer,.nearby-explorer,.editorial-library,.birthday-finder,.companion-hub,.community-section,.smart-tools,.science-section{padding:16px;border-radius:16px}
  .explorer-body{grid-template-columns:1fr}
  .country-rail{display:flex;gap:7px;max-height:none;overflow-x:auto;padding:0 0 7px}
  .country-pick{width:auto;min-width:max-content;margin:0}
  .style-destinations,.destination-rail,.editorial-rail,.nearby-results,.birthday-results{grid-auto-columns:86%}
  .plans,.knowledge,.guidance,.companion-grid,.tool-grid,.signature-grid,.difference-grid,.source-grid,.stay-grid,.calendar-grid{grid-template-columns:1fr}
  .nav-note{display:none}
  .actions .action{flex:1 1 45%}
}

@media(max-width:520px){
  .wrap{width:calc(100% - 18px)}
  .brand-word{font-size:.59rem}
  .account-button{padding:9px 11px}
  .hero h1{font-size:2.85rem}
  .product-strip{grid-template-columns:1fr}
  .form-actions{grid-template-columns:1fr}
  .primary,.surprise-button{width:100%}
  .result-share button{font-size:.57rem}
}

@media print{
  body{background:#fff!important;color:#111!important}
  body:before{display:none}
  .nav,.hero,.ask,.examples,.traveller-submit-banner,.product-strip,.journey-explorer,.destination-explorer,.nearby-explorer,.editorial-library,.birthday-finder,.companion-hub,.community-section,.smart-tools,.science-section,.site-footer,.mobile-dock{display:none!important}
  .panel,.stop,.popular-card,.stay-card,.calendar-card,.guide{background:#fff!important;border-color:#bbb!important}
}
