/* ---- the trip state (audit 18.10): the date chooser, the first and the last day, the budget estimate and the "Transport & Travel
   Essentials" section. Same palette, radii and type as the rest. ---- */

.nm-fp-muted{margin:0;font-size:12.5px;color:var(--nm-muted)}
.nm-fp-tag{font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:#fdecdf;color:#9a4518;border-radius:999px;padding:2px 8px}

/* ---------- flexible dates with a known length: the dates first (nm-flight-pick.js chooser) ---------- */
.nm-dc{display:grid;gap:10px}
.nm-dc-head{display:grid;gap:2px}
.nm-dc-head b{display:inline-flex;gap:7px;align-items:center;font-size:15px;color:var(--nm-ink)}
.nm-dc-head b .nm-ic{color:var(--nm-teal-d)}
.nm-dc-head small{font-size:12.5px;color:var(--nm-muted)}
.nm-dc-list{display:flex;flex-wrap:wrap;gap:8px}
.nm-dc-pick{display:grid;gap:1px;text-align:left;border:1px solid var(--nm-line);background:#fff;border-radius:12px;padding:8px 12px;font:inherit;cursor:pointer;min-height:50px;min-width:112px}
.nm-dc-pick b{font-size:14px;color:var(--nm-ink)}
.nm-dc-pick small{font-size:11.5px;color:var(--nm-muted)}
.nm-dc-pick:hover,.nm-dc-pick:focus-visible{border-color:var(--nm-teal);background:var(--nm-teal-soft)}
.nm-dc-pick.is-best{border-color:var(--nm-teal)}
.nm-dc-pick.is-best small{color:var(--nm-teal-d);font-weight:700}
.nm-dc-more{border:1px dashed var(--nm-teal-d);background:none;color:var(--nm-teal-d);border-radius:12px;padding:8px 12px;font:inherit;font-weight:700;font-size:13px;cursor:pointer;min-height:50px}
.nm-dc-note{margin:0;font-size:12px;color:var(--nm-muted);line-height:1.5}
.nm-dc-unfit summary{cursor:pointer;font-size:12.5px;color:#8a4b12;font-weight:700}
.nm-dc-unfit ul{margin:6px 0 0;padding-left:18px;display:grid;gap:4px;font-size:12.5px;color:var(--nm-ink)}
.nm-dc-unfit li span{margin-right:6px}

/* ---------- the day boxes: day 1 and the last day start with their fixed part; the planner's ideas for them are optional ---------- */
.nm-d-row.is-fixed dd{font-weight:600}
.nm-d-row.is-optional dd{color:#3d5560}
.nm-d-opt{display:inline-block;font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--nm-teal-d);background:var(--nm-teal-soft);border-radius:999px;padding:1px 8px;margin-right:7px;vertical-align:1px}
/* the request the page sent for the person (the flight they chose moved the first and the last day) */
.msg.me.nm-auto .bubble{background:var(--nm-teal-soft);color:var(--nm-ink);border:1px dashed #9fcdc8}

/* ---------- budget: the loader inside the card, the sources folded ---------- */
.nm-bg-calc.is-busy{opacity:.85;cursor:progress}
.nm-bg-spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:nmspin .8s linear infinite;vertical-align:-2px}
@keyframes nmspin{to{transform:rotate(360deg)}}
.nm-budget.is-busy .nm-bg-list{opacity:.6;transition:opacity .2s}
.nm-bg-err{margin:6px 0 0;font-size:12.5px;color:#b3261e}
.nm-bg-src{margin-top:8px}
.nm-bg-srcbtn{border:0;background:none;padding:0;color:var(--nm-teal-d);font:inherit;font-size:12.5px;font-weight:700;text-decoration:underline;cursor:pointer;min-height:30px}
.nm-bg-srcbody{margin-top:4px;border-left:3px solid var(--nm-teal-soft);padding:2px 0 2px 10px;font-size:12px;line-height:1.5;color:var(--nm-muted);display:grid;gap:4px}
.nm-bg-srcbody ul{margin:0;padding-left:16px;display:grid;gap:3px}
.nm-bg-srcbody p{margin:0}
.nm-bg-srcres{justify-self:start;border:0;background:none;padding:0;color:var(--nm-teal-d);font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-decoration:underline;min-height:28px}

/* ---------- Transport & Travel Essentials (nm-essentials.js): compact cards with the app's own icons, the first one the main need ---------- */
.nm-es{container-type:inline-size}
.nm-es .nm-head h3{display:flex;align-items:center;gap:8px}
.nm-es-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:6px}
.nm-es-both{grid-column:1/-1;margin:0 0 -4px;font-size:12.5px;font-weight:700;color:var(--nm-muted,#5d6b78)}      /* an open circuit: car and buses side by side, nothing called recommended */
.nm-es-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--nm-line);border-radius:16px;background:#fff;padding:12px 14px;min-width:0}
.nm-es-card.is-main{border-color:#9fcdc8;background:linear-gradient(180deg,#f4faf9,#fff 70%)}
.nm-es-top{display:flex;align-items:center;gap:10px;min-width:0}
.nm-es-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--nm-teal-soft);color:var(--nm-teal-d);flex:none}
.nm-es-ico .nm-ic{width:19px;height:19px}
.nm-es-hd{display:grid;gap:1px;min-width:0}
.nm-es-hd h4{margin:0;font:600 16px/1.2 Georgia,serif;color:var(--nm-ink)}
.nm-es-main{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--nm-teal-d)}
.nm-es-body{display:grid;gap:5px;flex:1;align-content:start}
.nm-es-text{margin:0;font-size:13px;line-height:1.45;color:var(--nm-ink)}
.nm-es-line{margin:0;display:flex;gap:7px;align-items:flex-start;font-size:12.5px;color:var(--nm-ink);line-height:1.4}
.nm-es-line .nm-ic{flex:none;width:15px;height:15px;color:var(--nm-teal-d);margin-top:1px}
.nm-es-line.is-muted{color:var(--nm-muted);font-size:12px}
.nm-es-acts{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.nm-es-btn{display:inline-flex;justify-content:center;align-items:center;border:1.5px solid var(--nm-teal-d);background:#fff;color:var(--nm-teal-d);border-radius:11px;padding:7px 12px;font-size:13px;font-weight:800;text-decoration:none;min-height:38px;box-sizing:border-box}
.nm-es-btn:hover{background:var(--nm-teal-soft)}
.nm-es-btn[data-affiliate="1"]{background:var(--nm-coral);border-color:var(--nm-coral);color:#fff}
.nm-es-link{font-size:12.5px;font-weight:700;color:var(--nm-teal-d);text-decoration:none;padding:4px 2px;min-height:28px;display:inline-flex;align-items:center}
.nm-es-link:hover{text-decoration:underline}
.nm-es-cmp{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;font-weight:700;color:var(--nm-muted)}
.nm-es-cmp span{flex-basis:100%}
.nm-es-cmp .nm-es-half{flex:1 1 90px}
.nm-es-help{display:grid;gap:6px;margin-top:12px;border-top:1px dashed var(--nm-line);padding-top:10px}
.nm-es-helpt{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--nm-ink)}
.nm-es-helpt .nm-ic{width:15px;height:15px;color:var(--nm-teal-d)}
.nm-es-hrow{margin:0;font-size:12.5px;line-height:1.5;color:var(--nm-ink)}
.nm-es-hrow small{color:var(--nm-muted);font-size:11.5px}
.nm-es-mlink{font-size:12.5px;font-weight:800;color:var(--nm-teal-d);text-decoration:none;white-space:nowrap}
.nm-es-mlink:hover{text-decoration:underline}
.nm-es-mlink[data-affiliate="1"]{color:var(--nm-coral-d)}
.nm-es-foot{margin:10px 2px 0;font-size:12px;color:var(--nm-muted);line-height:1.5}
.nm-es-foot.is-loading::before{content:'';display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-2px;border-radius:50%;border:2px solid var(--nm-teal);border-right-color:transparent;animation:nmspin .8s linear infinite}
.nm-es-retry{border:0;background:none;color:var(--nm-teal-d);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;min-height:28px}
@container (max-width:460px){ .nm-es-grid{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){.nm-bg-spin,.nm-es-foot.is-loading::before{animation:none}}
/* the partner buttons: the app's own outline style until monetised (layla-ui.css styles .nm-j-* links too: these stay compact here) */
.nm-es .nm-es-acts .nm-es-btn,.nm-es .nm-es-cmp .nm-es-btn{margin:0;width:auto}
.nm-es .nm-es-hrow .nm-es-mlink{border:0;background:none;padding:0;box-shadow:none;border-radius:0;margin:0}
.nm-es .nm-es-hrow .nm-es-mlink[data-affiliate="1"]{background:none;color:var(--nm-coral-d)}

/* travellers: the assistant's number is only a proposal until the person taps it */
.nm-pax-prop{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;background:#fff8e9;border:1px solid #f1dcb0;border-radius:12px;padding:4px 10px;color:var(--nm-ink)}
.nm-pax-prop .nm-pax-use{height:28px;border-color:var(--nm-teal-d);color:var(--nm-teal-d)}
.nm-pax-prop .nm-pax-keep{min-height:0;padding:2px 4px}
.nm-pax-ask{margin:-4px 0 14px 44px;max-width:520px;background:#fff8e9;border:1px solid #f1dcb0;border-radius:14px;padding:10px 12px;font-size:13.5px;color:var(--nm-ink)}
.nm-pax-ask p{margin:0 0 8px;line-height:1.45}
.nm-pax-ask-acts{display:flex;flex-wrap:wrap;gap:8px}
.nm-pax-ask-acts button{min-height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--nm-line);background:#fff;font:700 13px/1 inherit;font-family:inherit;color:var(--nm-ink);cursor:pointer}
.nm-pax-ask-acts .nm-pax-ask-yes{border-color:var(--nm-teal-d);color:var(--nm-teal-d)}
@media (max-width:600px){.nm-pax-ask{margin-left:0}}

/* ---------- Essentials, minimal (18.10, evening): one wide car-hire row first, then slim rows — icon · title and one line · the link ---------- */
.nm-es .nm-es-grid{display:flex;flex-direction:column;gap:0;margin-top:8px;border:1px solid var(--nm-line);border-radius:16px;background:#fff;overflow:hidden}
.nm-es .nm-es-both{margin:0;padding:10px 16px 0;font-size:12px}
.nm-es .nm-es-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;column-gap:12px;row-gap:2px;align-items:center;border:0;border-top:1px solid var(--nm-line);border-radius:0;background:none;padding:12px 16px}
.nm-es .nm-es-grid>.nm-es-card:first-of-type{border-top:0}
.nm-es .nm-es-top{display:contents}
.nm-es .nm-es-ico{grid-column:1;grid-row:1/span 2;width:34px;height:34px;border-radius:10px}
.nm-es .nm-es-hd{grid-column:2;grid-row:1;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.nm-es .nm-es-hd h4{font:700 14.5px/1.25 inherit;font-family:inherit}
.nm-es .nm-es-main{order:2;font-size:10px;padding:2px 7px;border-radius:999px;background:var(--nm-teal-soft)}
.nm-es .nm-es-body{grid-column:2;grid-row:2;gap:2px}
.nm-es .nm-es-text{font-size:12.5px;line-height:1.4;color:var(--nm-muted)}
.nm-es .nm-es-line{font-size:11.5px}
.nm-es .nm-es-acts{grid-column:3;grid-row:1/span 2;justify-content:flex-end;flex-wrap:nowrap;gap:8px}
.nm-es .nm-es-acts .nm-es-btn{min-height:34px;padding:6px 12px;font-size:12.5px;border-radius:999px;white-space:nowrap}
.nm-es .nm-es-cmp{flex-wrap:nowrap;gap:6px}
.nm-es .nm-es-cmp span{display:none}
.nm-es .nm-es-cmp .nm-es-half{flex:none}
.nm-es .nm-es-card.is-main{background:none}
/* the car hire, wide and first */
.nm-es .nm-es-card.is-feature{background:linear-gradient(120deg,var(--nm-teal-soft),#fff 75%);padding:16px;grid-template-columns:46px minmax(0,1fr) auto}
.nm-es .nm-es-card.is-feature .nm-es-ico{width:46px;height:46px;border-radius:14px;background:var(--nm-teal-d);color:#fff}
.nm-es .nm-es-card.is-feature .nm-es-ico .nm-ic{width:24px;height:24px}
.nm-es .nm-es-card.is-feature .nm-es-hd h4{font:600 17px/1.2 Georgia,serif}
.nm-es .nm-es-card.is-feature .nm-es-text{color:var(--nm-ink);font-size:13px}
.nm-es .nm-es-card.is-feature .nm-es-btn{background:#fff;color:var(--nm-teal-d);border:2px solid var(--nm-teal-d);min-height:40px;padding:8px 18px;font-size:13.5px}      /* filled only when it is a tracked affiliate link */
.nm-es .nm-es-card.is-feature .nm-es-btn:hover{background:var(--nm-teal-soft)}
.nm-es .nm-es-card.is-feature .nm-es-btn[data-affiliate="1"]{background:var(--nm-coral);border-color:var(--nm-coral)}
/* assistance: two quiet lines */
.nm-es .nm-es-help{margin-top:10px;border-top:0;padding:0 4px;gap:4px}
.nm-es .nm-es-helpt{font-size:12px;color:var(--nm-muted)}
.nm-es .nm-es-hrow{font-size:12px;color:var(--nm-muted)}
@container (max-width:560px){
  .nm-es .nm-es-card{grid-template-columns:34px minmax(0,1fr);row-gap:6px}
  .nm-es .nm-es-acts{grid-column:2;grid-row:3;justify-content:flex-start;flex-wrap:wrap}
  .nm-es .nm-es-card.is-feature{grid-template-columns:46px minmax(0,1fr)}
}
