/* the map + budget row and the "stays in the plan" strip (nm-budget.js, nm-stays.js), in the journey's own look */
.nm-toprow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:16px;align-items:stretch;margin:19px 0 24px;order:3}
.nm-toprow>.nm-card{margin:0;min-width:0}
.nm-toprow>#tripMapCard.nm-full{position:fixed}
@media (max-width:1100px){.nm-toprow{grid-template-columns:1fr}}
#planContent>#nmStays,#planContent>#nmBudget{order:3}

/* budget */
.nm-budget .nm-head h3{display:flex;align-items:center;gap:8px}
.nm-bg-total{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.nm-bg-total strong{font:600 clamp(26px,3vw,34px)/1.1 Georgia,serif;color:var(--nm-ink);letter-spacing:-.5px}
.nm-bg-of{color:var(--nm-muted);font-size:16px}
.nm-bg-bar{height:8px;border-radius:4px;background:var(--nm-line);overflow:hidden;margin:2px 0 8px}
.nm-bg-bar i{display:block;height:100%;background:var(--nm-teal);transition:width .4s}
.nm-bg-bar.is-over i{background:var(--nm-coral-d)}
.nm-bg-verdict{margin:0 0 10px;font-size:13.5px;color:var(--nm-ink)}
.nm-bg-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.nm-bg-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:9px 0;border-top:1px solid var(--nm-line);font-size:14px}
.nm-bg-cat{display:inline-flex;align-items:center;gap:8px;color:var(--nm-ink)}
.nm-bg-cat svg{color:var(--nm-teal-d);font-size:18px;flex:none}
.nm-bg-val{text-align:right;display:grid;justify-items:end;gap:2px}
.nm-bg-val b{color:var(--nm-ink);font-weight:700;white-space:nowrap}
.nm-bg-val small{color:var(--nm-muted);font-size:11.5px}
.nm-bg-tag{font-style:normal;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--nm-muted);background:var(--nm-sand);border-radius:999px;padding:2px 8px;font-weight:700}
.nm-bg-tag.is-found{background:#e5f4e8;color:#1f6b3a}
.nm-bg-foot{margin:12px 0 0;font-size:12px;color:var(--nm-muted);line-height:1.5}

/* stays strip */
.nm-st-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.nm-st{display:grid;grid-template-columns:120px 1fr;gap:12px;border:1px solid var(--nm-line);border-radius:18px;background:#fff;overflow:hidden;min-width:0}
.nm-st-ph{position:relative;min-height:150px;background:linear-gradient(160deg,#e6efe9,#cfe0f2)}
.nm-st-ph img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.nm-st-no{position:absolute;top:8px;left:8px;min-width:22px;height:22px;border-radius:11px;background:var(--nm-ink);color:#fff;font-size:11.5px;font-weight:800;display:grid;place-items:center;padding:0 6px;z-index:1}
.nm-st-body{padding:12px 12px 12px 0;display:grid;gap:5px;align-content:start;min-width:0}
.nm-st-body h4{margin:0;font:600 17px Georgia,serif;color:var(--nm-ink)}
.nm-st-when{margin:0;font-size:13px;color:var(--nm-muted)}
.nm-st-tag{display:inline-flex;align-items:center;gap:4px;justify-self:start;background:var(--nm-teal-soft);color:var(--nm-teal-d);border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700}
.nm-st-note{font-size:11.5px;color:var(--nm-muted)}
.nm-st-btn{justify-self:start;margin-top:4px;min-height:34px;display:inline-flex;align-items:center}
.nm-st-jump{justify-self:start;border:0;background:none;padding:0;color:var(--nm-muted);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer;min-height:28px}
.nm-st-foot{margin:12px 0 0;font-size:12px;color:var(--nm-muted)}
.nm-d.flash{outline:2px solid var(--nm-teal);outline-offset:4px;border-radius:18px}
@media (max-width:640px){.nm-st{grid-template-columns:100px 1fr}.nm-st-ph{min-height:130px}}

/* stop chips with their dates */
.nm-city small{display:block;font-weight:500;font-size:11px;color:var(--nm-muted);line-height:1.1}
.nm-city .nm-city-txt{display:grid;gap:1px;text-align:left}

/* ---- audit 2026-10-17: proportions and order ---- */
/* readable secondary text (the muted grey measured 4.4:1 on white; this one passes 4.5:1 for small text) */
:root{--nm-muted:#5b6870}
.nm-head small,.nm-foot{color:var(--nm-muted)}
/* the stop chips are a plain row under the summary, not a sticky bar sliding over the cards */
#nmCities,.app.has-plan #nmCities{position:static;top:auto;z-index:auto;margin:14px 0 0;padding:0;background:none;mask:none;-webkit-mask:none}
.nm-city.is-selected,.nm-city.on{border-color:var(--nm-teal);background:var(--nm-teal-soft)}
/* anchors scrolled into view stop under the sticky panel header */
.nm-card,.nm-d,#nmCities{scroll-margin-top:calc(var(--nm-top) + 70px)}
/* compact map by default; full screen on demand; the budget card keeps the height of its content */
.nm-canvas{height:300px}
.nm-toprow{align-items:start}
@media (max-width:640px){.nm-canvas{height:240px}}
/* the fare line: a quiet band inside the flights card (or at the top of the journey), never fixed over the content */
.nm-bar,.app.has-plan .trip-side.nm-ready .nm-bar{position:static;display:flex;z-index:auto;padding:8px 12px;margin:0;border:1px solid var(--nm-line);border-radius:14px;background:var(--nm-sand);box-shadow:none;backdrop-filter:none;flex:1 1 260px;max-width:100%}
.nm-bar[hidden],.app.has-plan .trip-side.nm-ready .nm-bar[hidden]{display:none}      /* hidden wins over the ready layout's display:flex (the band said "Flights · live prices" under the Flights title) */
.nm-bar-total{display:grid;grid-template-columns:auto auto;gap:0 10px;align-items:baseline}
.nm-bar-total small{font-size:10.5px}
.nm-bar-total strong{font-size:15px}
.nm-bar-total span{grid-column:1/-1;font-size:11.5px;color:var(--nm-muted)}
.nm-flightscard .nm-head{align-items:center}
.nm-flightscard .nm-head>div:first-child{flex:1 1 220px}
.nm-flightscard .nm-fc-route{display:block;margin-top:2px;font-size:13px;color:var(--nm-ink)}
/* the Kiwi widget on the full width of the card: title and route above it, no label column beside it */
.nm-fc-body .nm-j-flight{margin:0}
.nm-fc-body .nm-j-widget{width:100%}
#planContent>#nmFlightsCard{order:3}
/* budget: incomplete state */
.nm-budget.is-incomplete .nm-head h3{color:var(--nm-ink)}
.nm-bg-missing{color:var(--nm-muted);font-weight:600}
.nm-bg-ident{margin:0 0 6px;font-size:14px;color:var(--nm-ink)}
.nm-bg-calc{display:inline-flex;align-items:center;gap:8px;margin-top:4px;border:2px solid var(--nm-teal-d);background:#fff;color:var(--nm-teal-d);border-radius:14px;padding:10px 16px;font:inherit;font-weight:800;font-size:14px;cursor:pointer;min-height:42px}
.nm-bg-calc:hover{background:var(--nm-teal-soft)}.nm-bg-calc:disabled{opacity:.6}
/* chat: one line per stop, the question that waits for an answer stands out */
.msg.ai .bubble .report-item{position:relative;padding:4px 0 4px 14px;border-left:2px solid var(--nm-teal-soft);margin:2px 0}
.msg.ai .bubble .report-ask{margin-top:8px;padding:8px 12px;border-radius:12px;background:var(--nm-teal-soft);color:var(--nm-teal-d);font-weight:600}

/* the web-research block: one folded "Sources and details" section after the plan; the chat answer and the budget card carry the substance */
.research-toggle{margin-left:auto}.research-head .research-toggle+button{margin-left:8px}
.research-body[hidden]{display:none}
#liveResearch.research-panel{margin-top:22px}
/* the budget lines under the assistant's reply: the same rows as the card, in the chat column's width */
@media(max-width:720px){.nm-bg-chat{margin-left:0;max-width:none}}
@media(min-width:901px) and (max-width:1380px){.nm-bg-chat{margin-left:0}}
/* the top bar on a narrow phone (≤ 420 px): brand, language, account and "new trip" must fit in one row — no horizontal page scroll */
@media(max-width:420px){
  .topbar{gap:6px;padding:0 10px}
  .brand{font-size:19px}.brand-mark{width:24px;height:24px}
  .language-picker{padding:4px 6px;gap:0}.language-picker>span[aria-hidden]{display:none}.language-picker select{width:86px;min-width:86px;font-size:12px}
  .account-btn{padding:6px 8px}
  .new-btn{flex:none;padding:7px 8px}
}

/* ======================= audit 18.10: compact days, quieter buttons, fewer frames, quick access ======================= */
/* finer shadows and one frame per section */
.nm-card{box-shadow:0 1px 2px #0e22300a,0 6px 18px #0e223008;border-radius:20px;margin:12px 0 4px;padding:14px 16px}
.nm-toprow{margin:12px 0 8px;gap:12px}
.nm-canvas{height:270px}
/* the trip's introduction: smaller picture, tighter text, so the flights, the stays and the days come sooner */
#planContent>.hero-card{grid-template-columns:32% 1fr;gap:18px;padding:10px;border-radius:20px;box-shadow:0 1px 2px #0e22300a,0 6px 18px #0e223008}
#planContent>.hero-card .hero-media{min-height:172px;border-radius:14px}
#planContent>.hero-card .hero-info{padding:10px 10px 6px 0}
#planContent>.hero-card .hero-info h2{font-size:clamp(22px,2vw,30px);margin-bottom:6px;letter-spacing:-.6px}
#planContent>.hero-card .hero-info p{margin-bottom:6px}
#planContent>.hero-card .nm-th{margin:8px 0 2px}
#planContent>.hero-card .nm-th-pill{padding:6px 11px;font-size:13px}
/* the status line says whether the itinerary is complete */
#panelStatus.is-draft{background:#fff8e9;border-color:#f1dcb0;color:#7a5a12}
/* quick access in the sticky panel head */
.nm-qnav{display:flex;align-items:center;gap:2px;margin:0 auto;padding:3px;border:1px solid var(--nm-line);background:#fff;border-radius:999px;overflow-x:auto;scrollbar-width:none;min-width:0}
.nm-qnav::-webkit-scrollbar{display:none}.nm-qnav[hidden]{display:none}
.nm-qn{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;border-radius:999px;padding:6px 12px;font:600 13px/1 inherit;font-family:inherit;color:var(--nm-muted);cursor:pointer;white-space:nowrap;min-height:30px}
.nm-qn .nm-ic{width:14px;height:14px}
.nm-qn:hover{color:var(--nm-ink);background:var(--nm-sand)}
.nm-qn.is-active{background:var(--nm-ink);color:#fff}
.nm-qn:focus-visible{outline:2px solid var(--nm-teal);outline-offset:1px}
#nmFlightsCard.flash,#nmStays.flash,#nmBudget.flash,#nmJourney.flash{outline:2px solid #b7dcd9;outline-offset:4px;border-radius:20px}
/* one language on the page */
.nm-langnote{order:1;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin:10px 0 0;padding:8px 12px;border:1px solid #f1dcb0;background:#fff8e9;border-radius:12px;font-size:13px;color:var(--nm-ink)}
.nm-langnote .nm-ic{color:#9a7413;width:16px;height:16px}.nm-langnote .nm-j-link{min-height:0;padding:2px 0;text-decoration:underline}
/* the travellers next to the flight results */
.nm-pax{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:2px 0 10px;font-size:13.5px;color:var(--nm-ink)}
.nm-pax>.nm-ic{width:16px;height:16px;color:var(--nm-teal-d)}
.nm-pax.is-assumed{background:#fff8e9;border:1px solid #f1dcb0;border-radius:12px;padding:8px 12px}
.nm-pax-pick{display:inline-flex;flex-wrap:wrap;gap:6px}
.nm-pax-n{min-width:36px;height:32px;padding:0 10px;border:1px solid var(--nm-line);background:#fff;border-radius:999px;font:700 13px/1 inherit;font-family:inherit;color:var(--nm-ink);cursor:pointer}
.nm-pax-n:hover{border-color:var(--nm-teal);color:var(--nm-teal-d)}
.nm-pax-change{min-height:0;padding:2px 4px}

/* day boxes: lighter frame, a quiet "Details" button, the same picture slot on every day */
.nm-d-sechead{margin:18px 0 8px}
.nm-d-list{gap:10px}
.nm-d{box-shadow:0 1px 2px #0e22300d,0 4px 14px #0e22300a;border-radius:16px}
.nm-d.is-open{border-color:#cfe4e1;box-shadow:0 1px 2px #0e22300d,0 8px 22px #0e22300f}
.nm-d-head{padding:12px 14px;gap:14px;border-radius:16px}
.nm-d-title{font-size:18px}
.nm-d-photo{width:160px;height:92px;border-radius:12px;background:linear-gradient(135deg,#efe7da,#e3efed)}
.nm-d-toggle{border:1px solid var(--nm-line);color:var(--nm-ink);font-weight:600;font-size:13px;padding:7px 12px;min-height:34px;background:#fff}
.nm-d-toggle:hover{border-color:#b7dcd9;color:var(--nm-teal-d);background:#fff}
.nm-d.is-open .nm-d-toggle{background:var(--nm-teal-soft);border-color:#cfe4e1;color:var(--nm-teal-d)}
.nm-d-body{padding:2px 18px 14px;border-top:1px solid #efe8dc}
/* the day by its parts: one row each, label on the left */
.nm-d-sched{margin:0;display:grid}
.nm-d-row{display:grid;grid-template-columns:168px minmax(0,1fr);gap:4px 14px;padding:10px 0;border-bottom:1px solid #f2ece2}
.nm-d-row:last-child{border-bottom:0}
.nm-d-row dt{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--nm-teal-d);margin:0}
.nm-d-row dt .nm-ic{width:15px;height:15px;flex:none}
.nm-d-evening dt{color:#3f4f8a}.nm-d-afternoon dt{color:#9a5a1d}
.nm-d-row dd{margin:0;font-size:14.5px;line-height:1.5;color:var(--nm-ink)}
.nm-d-tip{display:flex;gap:6px;align-items:baseline;margin:6px 0 0;padding:8px 10px;border-radius:10px;background:#fbf7ef;font-size:13px;line-height:1.45;color:var(--nm-muted)}
.nm-d-tip .nm-ic{flex:none;width:14px;height:14px;color:#b88a1f;align-self:center}.nm-d-tip b{color:var(--nm-ink);font-weight:700;white-space:nowrap}
/* the places of the day */
.nm-d-places{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 0}
.nm-d-placeslbl{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--nm-muted);margin-right:2px}
.nm-d-place{display:inline-flex;align-items:center;border:1px solid var(--nm-line);background:#fff;border-radius:999px;max-width:100%}
.nm-d-place.is-selected{border-color:var(--nm-teal);background:var(--nm-teal-soft)}
.nm-d-placebtn{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:5px 6px 5px 10px;font:600 13px/1.2 inherit;font-family:inherit;color:var(--nm-ink);cursor:pointer;min-height:30px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nm-d-placebtn .nm-ic{width:13px;height:13px;color:var(--nm-teal-d);flex:none}
.nm-d-place .nm-j-x{position:static;opacity:.55;width:24px;height:24px;border:0;background:transparent;margin-right:3px;font-size:15px}
.nm-d-place .nm-j-x:hover,.nm-d-place .nm-j-x:focus-visible{opacity:1;color:var(--nm-coral-d)}
/* the facts: arrival, transfer, stay, departure — one line each, no card inside the card */
.nm-d-facts{display:grid;margin:12px 0 0}
.nm-d-fact{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:4px 10px;align-items:start;padding:10px 0;border-top:1px solid #f2ece2}
.nm-d-fico{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--nm-teal-soft);color:var(--nm-teal-d)}
.nm-d-fico .nm-ic{width:15px;height:15px}
.nm-d-ftxt{min-width:0;font-size:14px;line-height:1.45;color:var(--nm-ink);padding-top:4px}
.nm-d-ftxt>b{font-weight:700;margin-right:8px}
.nm-d-ftxt .nm-d-route{font-weight:600;margin-right:6px}
.nm-d-ftxt .nm-j-flight,.nm-d-ftxt .nm-j-flight>p{display:inline}
.nm-d-ftxt .nm-j-flight .nm-j-muted,.nm-d-ftxt .nm-j-flight .nm-j-lead{margin:0;font-size:14px;color:var(--nm-ink);font-weight:400}
.nm-d-ftxt .nm-j-flight .nm-j-acts,.nm-d-ftxt .nm-j-fl{display:flex;margin-top:6px}
.nm-d-ftxt .nm-j-fl{display:block}
.nm-d-fnote{display:block;margin-top:2px;font-size:12.5px;color:var(--nm-muted)}
.nm-d-facts-acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center;padding-top:1px}
/* the day on the map and the tours: small, side by side */
.nm-d-acts{margin:10px 0 0;gap:8px;align-items:center}
.nm-d .nm-j-chipbtn{padding:6px 11px;font-size:12.5px;background:#fff;border-color:var(--nm-line);color:var(--nm-teal-d);min-height:32px}
.nm-d .nm-j-chipbtn:hover{background:var(--nm-teal-soft)}
/* secondary partner links: small and quiet; filled only for a tracked affiliate link (the owner's rule) */
.nm-d-link,.nm-j-btn.nm-d-link,.nm-d .nm-j-tours{margin:0;display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;padding:6px 11px;border:1px solid var(--nm-line);border-radius:999px;background:#fff;color:var(--nm-teal-d);box-shadow:none;white-space:nowrap;min-height:32px}
.nm-d-link:hover{background:var(--nm-sand)}
.nm-j-btn.nm-d-link[data-affiliate="1"]{background:var(--nm-coral);border-color:var(--nm-coral);color:#fff}
.nm-j-tours::before{content:none}
/* services: a compact list, secondary */
.nm-services{background:var(--nm-paper);box-shadow:none}
.nm-services .nm-head h3{font-size:17px}
.nm-sv-list{display:grid}
.nm-sv{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 0;border-top:1px solid #f2ece2}
.nm-sv:first-child{border-top:0}
.nm-sv-ico{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--nm-sand);color:var(--nm-ink)}
.nm-sv-ico .nm-ic{width:16px;height:16px}
.nm-sv-txt{display:grid;gap:1px;min-width:0}.nm-sv-txt b{font-size:14px;color:var(--nm-ink)}.nm-sv-txt small{font-size:12.5px;color:var(--nm-muted);line-height:1.4}
.nm-sv-acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
/* the consultant: one compact offer */
.nm-consult{padding:14px 18px;border-radius:18px;margin-top:10px}
.nm-consult .nm-cs-h{margin-bottom:4px}
.nm-consult .nm-cs-h h3{font-size:18px}
.nm-consult .nm-cs-ico{width:30px;height:30px}
.nm-consult .nm-cs-lead{font-size:13.5px;margin:0 0 10px}
.nm-consult .nm-cs-go{padding:8px 14px;font-size:13.5px;min-height:36px;border-width:1.5px;border-radius:999px}
.nm-consult .nm-cs-save{padding:8px 14px;font-size:13px;min-height:36px;border-radius:999px;font-weight:600}
.nm-consult .nm-cs-muted{font-size:12px;margin-top:6px}
@media(max-width:900px){
  /* the section buttons stay in reach on a phone: the panel head sticks under the Chat | Trip tabs */
  .app.has-plan .panel-head{top:calc(var(--nm-top) + var(--nm-tabs, 63px));height:50px;padding:0 10px;z-index:9;gap:8px}
  .nm-qnav{margin:0 0 0 auto;flex:0 1 auto}
  .panel-head .panel-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-width:720px){
  #planContent>.hero-card{grid-template-columns:1fr;gap:0}
  #planContent>.hero-card .hero-media{min-height:140px}
  #planContent>.hero-card .hero-info{padding:10px 4px 4px}
  .panel-head .panel-title{display:none}
  .nm-qnav{margin:0;flex:1 1 auto}
  .nm-qn{padding:6px 9px;font-size:12.5px}
  .panel-head-right .status[data-short]{font-size:0;padding:4px 9px}.panel-head-right .status[data-short]::after{content:attr(data-short);font-size:11.5px;font-weight:700}
  .nm-d-photo{width:100%;height:124px}
  .nm-d-row{grid-template-columns:1fr;gap:2px;padding:9px 0}
  .nm-d-fact{grid-template-columns:28px minmax(0,1fr)}
  .nm-d-facts-acts{grid-column:2;justify-content:flex-start}
  .nm-d-body{padding:2px 12px 12px}
  .nm-sv{grid-template-columns:32px minmax(0,1fr)}
  .nm-sv-acts{grid-column:2;justify-content:flex-start}
}
@media(max-width:420px){.nm-qn .nm-ic{display:none}.nm-qn{padding:6px 8px}}
/* a head too narrow for the five tabs and the status (layla-ui.js fitNav): the tabs drop their icons, then the status says its short word */
.panel-head.nm-qn-tight .nm-qn .nm-ic{display:none}
.panel-head.nm-qn-tight .nm-qn{padding:6px 10px}
.panel-head.nm-qn-tighter .panel-head-right .status[data-short]{font-size:0;padding:4px 9px}
.panel-head.nm-qn-tighter .panel-head-right .status[data-short]::after{content:attr(data-short);font-size:11.5px;font-weight:700}
.panel-head.nm-qn-tighter .nm-qn{padding:6px 8px}
.panel-head.nm-qn-tightest .panel-title{display:none}
.nm-d-tip .nm-ic{align-self:flex-start;margin-top:3px}
/* the introduction a little shorter still: no kicker over the title, smaller buttons */
#planContent>.hero-card .kicker{display:none}
#planContent>.hero-card .hero-buttons{margin-top:10px;gap:8px}
#planContent>.hero-card .hero-buttons button{padding:8px 13px;font-size:13px;min-height:36px;border-radius:999px}
/* the budget card beside the map: quieter rows and button, so the map row is not taller than it needs to be */
.nm-budget .nm-bg-list li{padding:7px 0;font-size:13.5px}
.nm-budget .nm-bg-foot{font-size:11.5px;margin-top:8px}
.nm-bg-calc{border-width:1.5px;padding:8px 14px;font-size:13.5px;font-weight:700;min-height:38px;border-radius:999px}

/* stays: the Booking.com search of each stay (nm-stays.js) — travellers, dates, "I booked here", in the journey's own look */
.nm-st-party{margin:0 0 12px;padding:10px 12px;border:1px solid var(--nm-line);border-radius:14px;background:var(--nm-paper)}
.nm-st-partyline{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;margin:0;font-size:13.5px;color:var(--nm-ink)}
.nm-st-partyline svg{color:var(--nm-teal-d)}
.nm-st-partyline b{font-weight:700}
.nm-st-link{border:0;background:none;padding:0 2px;min-height:32px;color:var(--nm-teal-d);font:inherit;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.nm-st-link:hover{color:var(--nm-ink)}
.nm-st-partybtn{margin-left:auto}
.nm-st-partyedit{margin-top:10px;display:grid;gap:10px}
.nm-st-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.nm-st-stepf{display:grid;gap:4px}
.nm-st-lbl{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--nm-muted);margin:0}
.nm-st-step{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--nm-line);border-radius:12px;min-height:42px;padding:0 5px;background:#fff}
.nm-st-step output{font-weight:700;font-size:15px;min-width:20px;text-align:center}
.nm-st-step button{width:32px;height:32px;border-radius:50%;border:1px solid var(--nm-line);background:#fff;color:var(--nm-teal-d);font-size:17px;line-height:1;cursor:pointer}
.nm-st-step button:disabled{opacity:.35;cursor:default}
.nm-st-ages{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.nm-st-field{display:grid;gap:4px;font-size:12px;color:var(--nm-muted);font-weight:700}
.nm-st-field input,.nm-st-field select{min-height:42px;border:1px solid var(--nm-line);border-radius:12px;padding:8px 10px;font:inherit;font-size:14px;font-weight:500;color:var(--nm-ink);background:#fff;width:100%;box-sizing:border-box}
.nm-st-field input:focus-visible,.nm-st-field select:focus-visible,.nm-st-step button:focus-visible,.nm-st-link:focus-visible,.nm-st-primary:focus-visible{outline:2px solid var(--nm-teal);outline-offset:2px}
.nm-st-edacts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.nm-st-primary{border:0;border-radius:12px;background:var(--nm-teal-d);color:#fff;font:inherit;font-size:13.5px;font-weight:700;padding:9px 14px;min-height:40px;cursor:pointer}
.nm-st-primary:disabled{background:#a9bfc1;cursor:not-allowed}
.nm-st-hint{margin:0;font-size:12px;color:var(--nm-muted);line-height:1.45}
.nm-st-err{margin:0;font-size:12.5px;color:#a83a22;line-height:1.4}
.nm-st-flash{margin:0 0 10px;padding:8px 12px;border-radius:12px;background:var(--nm-teal-soft);color:var(--nm-teal-d);font-size:13px;font-weight:600}
/* a campervan trip: the nights in the vehicle have no hotel here, said in one quiet line (21.10) */
.nm-st-vannote{margin:0 0 10px;color:var(--nm-muted,#5f6b78);font-size:12.5px;display:flex;align-items:center;gap:6px}.nm-st-vannote .nm-ic{width:15px;height:15px;color:var(--nm-teal-d);flex:none}
.nm-st-acts{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px}
.nm-st-acts .nm-st-btn{margin:0;white-space:nowrap}
.nm-st-area{color:var(--nm-teal-d)}
.nm-st-booked{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin:4px 0 0;padding:7px 10px;border-radius:12px;background:#e5f4e8;color:#1f6b3a;font-size:12.5px}
.nm-st-booked b{display:inline-flex;align-items:center;gap:5px;font-weight:700}
.nm-st-booked small{flex-basis:100%;color:#7a5b19}
.nm-st-booked.is-off{background:#fbf1de;color:#7a5b19}
.nm-st-bprice{font-weight:700}
.nm-st-bacts{display:inline-flex;gap:10px;margin-left:auto}
.nm-st-bacts .nm-st-link{min-height:26px;font-size:12px}
.nm-st-more{grid-column:1/-1;padding:0 12px 14px;border-top:1px solid var(--nm-line)}
.nm-st-edit,.nm-st-book{display:grid;gap:10px;padding-top:12px}
.nm-st-book{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
.nm-st-book .nm-st-wide,.nm-st-book .nm-st-err,.nm-st-book .nm-st-hint,.nm-st-book .nm-st-edacts{grid-column:1/-1}
.nm-st-cal .nm-cal{margin:0}
.nm-st-prevlist{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:2px;font-size:13px;color:var(--nm-ink)}
.nm-st-prevlist li.is-this{color:var(--nm-teal-d)}
.nm-st-row>.nm-st.is-editing{grid-column:1/-1}
.nm-st-orphans{margin:12px 0 0;display:grid;gap:6px}
.nm-d-booked{display:block;margin-top:3px;color:#1f6b3a;font-size:12px;font-weight:700}
@media (max-width:560px){.nm-st-steps{grid-template-columns:1fr}.nm-st-book{grid-template-columns:1fr 1fr}.nm-st-book .nm-st-wide{grid-column:1/-1}.nm-st-partybtn{margin-left:0}}
/* the Stay22 hotel map inside the stays card: Ask then Go's frame and colours around the partner's map */
.nm-st-map{margin:14px 0 0;padding:12px;border:1px solid var(--nm-line);border-radius:16px;background:var(--nm-paper)}
.nm-st-maphead{display:grid;gap:6px;margin:0 0 10px}
.nm-st-maphead h4{margin:0;font:700 15px/1.25 Georgia,serif;color:var(--nm-ink);display:flex;align-items:center;gap:6px}
.nm-st-mapwhat{margin:0;font-size:13px;color:var(--nm-muted);line-height:1.4}
.nm-st-mapwhat b{color:var(--nm-ink)}
.nm-st-mapchips{display:flex;flex-wrap:wrap;gap:6px}
.nm-st-mapchip{border:1px solid var(--nm-line);background:#fff;border-radius:999px;padding:6px 12px;min-height:32px;font:inherit;font-size:13px;font-weight:600;color:var(--nm-ink);cursor:pointer}
.nm-st-mapchip.is-on{background:var(--nm-teal-d);border-color:var(--nm-teal-d);color:#fff}
.nm-st-mapchip:focus-visible,.nm-st-mapbtn:focus-visible{outline:2px solid var(--nm-teal);outline-offset:2px}
.nm-st-mapframe{position:relative;border-radius:14px;overflow:hidden;background:var(--nm-sand);border:1px solid var(--nm-line)}
.nm-st-mapiframe{display:block;width:100%;height:460px;border:0}
.nm-st-mapph{margin:0;padding:18px 16px;display:grid;gap:10px;font-size:13.5px;line-height:1.45;color:var(--nm-ink)}
.nm-st-mapph p{margin:0}
.nm-st-maploading{color:var(--nm-muted);min-height:120px;align-content:center;justify-items:center}
.nm-st-mapcap{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--nm-muted)}
.nm-st-mapbtn{display:inline-flex;align-items:center;gap:4px}
.nm-st-mapbtn.is-on{color:var(--nm-ink);text-decoration:none}
@media (max-width:560px){.nm-st-map{margin:14px -6px 0;padding:12px 0 0;border:0;border-top:1px solid var(--nm-line);border-radius:0;background:transparent}.nm-st-maphead{padding:0 6px}.nm-st-mapcap{padding:0 6px}.nm-st-mapiframe{height:420px}}

/* ---- audit 2026-10-18: one stays selector instead of a card per stay (nm-stays.js) ---- */
.nm-st-sel{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.nm-st-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1px solid var(--nm-line);background:#fff;border-radius:999px;padding:6px 13px;min-height:36px;font:inherit;font-size:13.5px;color:var(--nm-ink);cursor:pointer;text-align:left}
.nm-st-chip b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nm-st-chipsep{color:var(--nm-muted);opacity:.65}
.nm-st-chipdates{color:var(--nm-muted);white-space:nowrap;font-size:12.5px}
.nm-st-chip svg{color:var(--nm-teal-d);flex:none}
.nm-st-chip:hover:not(.is-on){border-color:var(--nm-teal)}
.nm-st-chip.is-on{background:var(--nm-teal-d);border-color:var(--nm-teal-d);color:#fff}
.nm-st-chip.is-on .nm-st-chipsep,.nm-st-chip.is-on .nm-st-chipdates,.nm-st-chip.is-on svg{color:#fff;opacity:1}
.nm-st-chip:focus-visible{outline:2px solid var(--nm-teal);outline-offset:2px}
.nm-st-cur{display:grid;gap:4px;padding:11px 14px;border:1px solid var(--nm-line);border-radius:16px;background:#fff;min-width:0}
.nm-st-cur .nm-st-when{font-size:14px;color:var(--nm-ink)}
.nm-st-cur .nm-st-when b{font-weight:700}
.nm-st-cur .nm-st-acts{margin-top:6px}
.nm-st-cur .nm-st-more{padding:0;margin-top:6px}

/* ---- audit 2026-10-18: "AI-estimated budget" head, the "How we estimate costs" tooltip, the currency picker (nm-budget.js, nm-currency.js) ---- */
.nm-bg-head{align-items:flex-start;flex-wrap:wrap}
.nm-bg-hd{display:grid;gap:6px;flex:1 1 220px;min-width:0}
.nm-budget .nm-bg-head h3{flex-wrap:wrap}
.nm-bg-inc{font-family:inherit;font-size:10.5px;font-weight:700;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:#7a5b19;background:#fbf1de;border-radius:999px;padding:2px 8px}
/* a partial total (a campervan's rental is checked with the provider): the tag and one line under the amount */
.nm-bg-part{color:var(--nm-teal-d);background:var(--nm-teal-soft)}.nm-bg-partial{margin:4px 0 8px;font-size:12px;line-height:1.45;color:var(--nm-muted,#5f6b78)}
.nm-bg-note{margin:0;font-size:12.5px;line-height:1.45;color:var(--nm-muted)}
.nm-bg-howwrap{position:relative;justify-self:start}
.nm-bg-how{display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:0;min-height:28px;font:inherit;font-size:12.5px;font-weight:700;color:var(--nm-teal-d);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.nm-bg-how:hover{color:var(--nm-ink)}
.nm-bg-how:focus-visible{outline:2px solid var(--nm-teal);outline-offset:2px;border-radius:6px}
.nm-bg-tip{position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:min(360px,calc(100vw - 48px));padding:10px 12px;border-radius:12px;background:var(--nm-ink);color:#fff;font-size:12.5px;font-weight:500;line-height:1.5;box-shadow:0 10px 30px #0e22302e;opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .15s,transform .15s,visibility .15s;pointer-events:none}
.nm-bg-howwrap:hover .nm-bg-tip,.nm-bg-how:focus-visible+.nm-bg-tip,.nm-bg-howwrap.is-open .nm-bg-tip{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.nm-bg-tip::before{content:'';position:absolute;left:0;right:0;top:-8px;height:8px}
.nm-bg-howwrap.is-hush .nm-bg-tip{opacity:0;visibility:hidden;pointer-events:none}
@media (hover:none),(max-width:640px){
  /* on a phone the explanation opens in place under the link (a tap), it never floats over the card */
  .nm-bg-tip{position:static;width:auto;margin-top:4px;display:none;transform:none;opacity:1;visibility:visible;transition:none}
  .nm-bg-howwrap:hover .nm-bg-tip{display:none}
  .nm-bg-howwrap.is-open .nm-bg-tip{display:block}
}
@media (prefers-reduced-motion:reduce){.nm-bg-tip{transition:none}}
.nm-cur{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--nm-line);border-radius:999px;background:#fff;flex:none}
.nm-cur-b{border:0;background:none;border-radius:999px;padding:4px 10px;min-height:30px;font:inherit;font-size:12px;font-weight:700;letter-spacing:.03em;color:var(--nm-muted);cursor:pointer}
.nm-cur-b:hover:not(.is-on){color:var(--nm-ink)}
.nm-cur-b.is-on{background:var(--nm-teal-d);color:#fff}
.nm-cur-b:focus-visible{outline:2px solid var(--nm-teal);outline-offset:1px}

/* ---- audit 18.10, second round: on a desktop the map and the budget start at the same top and each keeps its own height — opening the
   budget's calculation makes only the budget longer, the map never grows with it (it did: "Harta se înalță excesiv"); on a phone and a
   tablet the two cards are stacked, as before ---- */
@media (min-width:1101px){
  .nm-toprow{align-items:start}
  .nm-toprow>#tripMapCard:not(.nm-full) .nm-canvas{height:360px}
}
/* the budget: the amount and the split first, then one quiet line "Estimare · Cum estimăm · Vezi calculul →" (the explanation in the tooltip) */
.nm-bg-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin:8px 0 0;font-size:12.5px;color:var(--nm-muted)}
.nm-bg-kind{font-weight:700;letter-spacing:.02em}
.nm-bg-dot{color:#c9bfae;font-weight:700}
.nm-bg-meta .nm-bg-srcbtn{min-height:28px;font-size:12.5px}
.nm-bg-meta .nm-bg-tip{top:auto;bottom:calc(100% + 6px)}
.nm-bg-meta .nm-bg-tip::before{top:auto;bottom:-8px}
.nm-bg-src:empty{display:none}
.nm-budget .nm-bg-total{margin:2px 0 6px}
@media (hover:none),(max-width:640px){ .nm-bg-meta .nm-bg-howwrap.is-open{flex-basis:100%} }

/* ---- audit 2026-10-18: the photo credits folded behind one small link (nm-photos.js) ---- */
details.nm-credit{margin:10px 2px 0;font-size:12px;line-height:1.5;color:var(--nm-muted)}
.nm-credit-sum{display:inline-flex;align-items:center;gap:4px;min-height:28px;cursor:pointer;color:var(--nm-teal-d);font-weight:600;text-decoration:underline;text-underline-offset:2px;list-style:none}
.nm-credit-sum::-webkit-details-marker{display:none}
.nm-credit-sum::after{content:'▾';font-size:10px;text-decoration:none;display:inline-block;transition:transform .15s}
details.nm-credit[open] .nm-credit-sum::after{transform:rotate(180deg)}
.nm-credit-sum:focus-visible{outline:2px solid var(--nm-teal);outline-offset:2px;border-radius:4px}
.nm-credit-list{margin:6px 0 0;padding:0 0 0 16px;display:grid;gap:2px}
.nm-credit-list a{color:var(--nm-teal-d);display:inline;padding:0}
.nm-credit-via{margin:6px 0 0;font-size:11.5px}

/* ---- audit 18.10, second round: the stay's Booking search is one clear button on a row of its own (explicit colours, never only an
   inherited link style), "Change dates" and "I booked here" under it as plain links ---- */
.nm-st-bookrow{margin-top:8px}
.nm-st-cur .nm-st-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin:0;padding:8px 16px;border:1.5px solid var(--nm-teal-d);border-radius:12px;background:#fff;color:var(--nm-teal-d);-webkit-text-fill-color:currentColor;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap}
.nm-st-cur .nm-st-btn:not([data-affiliate="1"]):hover{background:var(--nm-teal-soft)}
.nm-st-cur .nm-st-btn[data-affiliate="1"]{background:var(--nm-coral);border-color:var(--nm-coral);color:#fff}
.nm-st-cur .nm-st-btn[data-affiliate="1"]:hover{background:var(--nm-coral-d);border-color:var(--nm-coral-d)}
.nm-st-cur .nm-st-btn svg{font-size:17px;flex:none}
.nm-st-cur .nm-st-btn:focus-visible{outline:2px solid var(--nm-teal);outline-offset:2px}
.nm-st-cur .nm-st-acts{margin-top:4px}
.nm-st-acts:empty{display:none}
@media (max-width:640px){ .nm-st-cur .nm-st-btn{width:100%;justify-content:center} }

/* ---- 18.10 (Octavian): the stays as small tiles with a picture of the town and the dates; a tap shows that stay's hotels in the map ---- */
.nm-st-sel.nm-st-tiles{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;padding:2px 2px 8px;margin:0 0 10px;scroll-snap-type:x proximity;scrollbar-width:thin}
.nm-st-chip.nm-st-tile{position:relative;flex:0 0 168px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;min-height:0;border:1.5px solid var(--nm-line);border-radius:14px;background:#fff;color:var(--nm-ink);overflow:hidden;text-align:left;cursor:pointer;scroll-snap-align:start;transition:border-color .15s,box-shadow .15s,transform .15s}
.nm-st-tile .nm-st-tph{display:block;height:88px;background:linear-gradient(135deg,var(--nm-teal-soft),#f3ead9)}
.nm-st-tile .nm-st-tph img{display:block;width:100%;height:100%;object-fit:cover}
.nm-st-tile .nm-st-ttxt{display:flex;flex-direction:column;gap:1px;padding:7px 10px 9px;min-width:0}
.nm-st-tile .nm-st-ttxt b{font-size:14px;line-height:1.25;color:var(--nm-ink)}
.nm-st-tile .nm-st-chipsep{display:none}
.nm-st-tile .nm-st-chipdates{font-size:12.5px;color:var(--nm-muted)}
.nm-st-chip.nm-st-tile:hover:not(.is-on){border-color:var(--nm-teal);transform:translateY(-1px)}
.nm-st-chip.nm-st-tile.is-on{background:#fff;color:var(--nm-ink);border-color:var(--nm-teal-d);box-shadow:0 0 0 3px var(--nm-teal-soft)}
.nm-st-chip.nm-st-tile.is-on .nm-st-ttxt b{color:var(--nm-teal-d)}
.nm-st-chip.nm-st-tile.is-on .nm-st-chipdates{color:var(--nm-muted)}
.nm-st-chip.nm-st-tile > svg{position:absolute;top:6px;right:6px;width:20px;height:20px;padding:3px;border-radius:50%;background:#fff;color:var(--nm-teal-d)}
@media (max-width:640px){ .nm-st-chip.nm-st-tile{flex-basis:146px} .nm-st-tile .nm-st-tph{height:76px} }
/* with the partner map under the tiles: the stay is one slim line, no box and no Booking button (the map shows the hotels) */
.nm-st-cur.is-slim{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;border:0;background:none;padding:2px 2px 0;border-radius:0}
.nm-st-cur.is-slim>.nm-st-note{display:none}
.nm-st-cur.is-slim .nm-st-when{font-size:13px;margin:0}
.nm-st-cur.is-slim .nm-st-acts{margin:0;margin-left:auto}
.nm-st-cur.is-slim .nm-st-booked,.nm-st-cur.is-slim .nm-st-more,.nm-st-cur.is-slim .nm-st-err{flex-basis:100%}
.nm-st-cur.is-slim.is-editing{border:1px solid var(--nm-line);border-radius:16px;background:#fff;padding:11px 14px}
/* ---------- the phone's chrome (audit 21.10: the top bar, the Chat | Trip switch and the section row took 176 px of an 844 px screen, and
   Safari cut "Itinerar"): the top bar scrolls away with the page, the switch and the section row stay, both slimmer; the line "the plan is
   ready" goes once it is; the section row scrolls when it has to, with a fade on the side that has more ---------- */
.nm-qnav{position:relative}
.nm-qnav.is-scroll:not(.at-end){-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent)}
.nm-qnav.is-scroll:not(.at-start):not(.at-end){-webkit-mask-image:linear-gradient(90deg,transparent,#000 30px,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,transparent,#000 30px,#000 calc(100% - 30px),transparent)}
.nm-qnav.is-scroll.at-end:not(.at-start){-webkit-mask-image:linear-gradient(90deg,transparent,#000 30px);mask-image:linear-gradient(90deg,transparent,#000 30px)}
@media(max-width:700px){
  body.nm-planning{--nm-top:0px}
  body.nm-planning .topbar{position:relative;top:auto;height:54px}
  .nm-tabs{padding:5px 12px}
  .nm-tab{padding:7px 10px;font-size:13.5px}
  .app.has-plan .panel-head{height:46px;padding:0 8px;gap:6px}
  .nm-qn{padding:6px 8px;font-size:12.5px;min-height:28px}
  .trip-side:has(#planContent:not(.hide)) #stage:not(:has(#nmResJump)){display:none}
  .nm-card,.nm-d,#nmCities{scroll-margin-top:calc(var(--nm-tabs, 48px) + 56px)}
  #nmCities{top:calc(var(--nm-tabs, 48px) + 46px)}
  .nm-gen-in{top:calc(var(--nm-tabs, 48px) + 46px);min-height:calc(100dvh - var(--nm-tabs, 48px) - 46px)}
}
@media(max-width:420px){.nm-qn{padding:6px 7px;font-size:12px}}
/* the legal links on the dark landing (audit 21.10: grey on dark blue): light and underlined; a phone gives them their own line and drops the
   "Enter to send" hint (it sends with the button) */
body:not(.nm-planning) .hero-composer .nm-legal-links a,body:not(.nm-planning) .hero-composer .nm-legal-links button{color:#eef5f6;text-decoration-color:#eef5f699;text-underline-offset:2px}
body:not(.nm-planning) .hero-composer .nm-legal-links a:hover,body:not(.nm-planning) .hero-composer .nm-legal-links button:hover{color:#fff;text-decoration-color:#fff}
body:not(.nm-planning) .hero-composer .nm-legal-links a:focus-visible,body:not(.nm-planning) .hero-composer .nm-legal-links button:focus-visible{outline:2px solid #ffd9a0;outline-offset:2px;border-radius:3px}
@media(max-width:700px){
  .hero-composer .composer-foot{flex-wrap:wrap;justify-content:center;text-align:center;gap:6px 12px}
  .hero-composer .composer-foot>span:nth-child(2){display:none}
  .hero-composer .nm-legal-links{margin-left:0;flex-basis:100%;justify-content:center;gap:14px}
}
/* 28.10 rebrand: "ASK THEN GO" is wider than the old name: on the trip page of a phone the name gives way to the mark (still the link
   home, its name read out by screen readers), so language, account and "+ Plan nou" stay on one row without sideways scrolling */
@media(max-width:420px){body.nm-planning .brand{font-size:15px;letter-spacing:-.5px}}
@media(max-width:400px){body.nm-planning .brand-name{display:none}}
