/* v3.71 — User supplied Premium Design Pass
   ===================================================================
   Original supplied CSS follows.
   ===================================================================

/* ===================================================================
   Marrakech Trip Planner — Premium Design Pass
   Visual refresh only. Every class name, state class ([hidden],
   is-active, is-selected, is-current, is-good/is-over, within/over,
   mtp-is-hidden, is-saved, is-accepted/is-skipped, aria-expanded) and
   structural display/print rule is preserved so the existing
   JavaScript/PHP behaviour is untouched.
   =================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,440;9..144,560;9..144,650&family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ---------- Design tokens ---------- */
.mtp-app{
  --mtp-ink:#1a140e;
  --mtp-ink-soft:#3a3126;
  --mtp-muted:#7c7264;
  --mtp-muted-soft:#a89c8a;
  --mtp-line:#e9dfcd;
  --mtp-line-soft:#f1e9da;
  --mtp-paper:#fff;
  --mtp-soft:#f8f2e7;
  --mtp-cream:#fdfaf4;
  --mtp-gold:#af8149;
  --mtp-gold-deep:#8a5f2d;
  --mtp-gold-light:#e7c184;
  --mtp-teal:#1f4d47;
  --mtp-teal-soft:#e8f2ef;
  --mtp-terracotta:#af5230;
  --mtp-terracotta-soft:#fbeade;
  --mtp-rust:#9c3626;
  --mtp-rust-soft:#fdecec;
  --mtp-r-xl:28px;--mtp-r-lg:22px;--mtp-r-md:16px;--mtp-r-sm:12px;--mtp-r-pill:999px;
  --mtp-shadow-sm:0 3px 12px rgba(38,26,12,.06);
  --mtp-shadow-md:0 16px 38px rgba(38,26,12,.09);
  --mtp-shadow-lg:0 30px 74px rgba(28,19,9,.15);
  --mtp-shadow-gold:0 14px 32px rgba(175,129,73,.28);
  --mtp-shadow:var(--mtp-shadow-lg);
  --mtp-ease:cubic-bezier(.22,1,.36,1);
  --mtp-font-display:"Fraunces",Georgia,"Times New Roman",serif;
  max-width:1040px;margin:30px auto;color:var(--mtp-ink);
  font-family:inherit;-webkit-font-smoothing:antialiased;
}

/* ---------- Hero / result header ---------- */
.mtp-hero{position:relative;overflow:hidden;padding:56px 38px;background:radial-gradient(circle at 92% 8%,rgba(175,129,73,.16),transparent 34%),linear-gradient(150deg,#fdf9f1,#fff 60%);border:1px solid var(--mtp-line);border-radius:var(--mtp-r-xl) var(--mtp-r-xl) 0 0}
.mtp-hero:after{content:"MARRAKECH";position:absolute;right:-22px;bottom:-30px;font-family:var(--mtp-font-display);font-size:78px;font-weight:600;letter-spacing:.05em;color:rgba(175,129,73,.06);pointer-events:none}
.mtp-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:800;color:var(--mtp-gold-deep)}
.mtp-hero h2,.mtp-result-header h2{font-family:var(--mtp-font-display);font-weight:560;font-size:clamp(32px,5vw,54px);line-height:1.03;margin:12px 0 12px;letter-spacing:-.03em;color:var(--mtp-ink)}
.mtp-hero p,.mtp-result-header p{color:var(--mtp-muted);font-size:16.5px;line-height:1.7;max-width:720px}
.mtp-card{background:var(--mtp-paper);border:1px solid var(--mtp-line);border-top:0;border-radius:0 0 var(--mtp-r-xl) var(--mtp-r-xl);padding:32px;box-shadow:var(--mtp-shadow)}

/* ---------- Progress ---------- */
.mtp-progress{height:6px;background:var(--mtp-line-soft);border-radius:var(--mtp-r-pill);margin-bottom:38px;overflow:hidden}
.mtp-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--mtp-gold-deep),var(--mtp-gold),var(--mtp-gold-light));transition:width .4s var(--mtp-ease);width:20%}

/* ---------- Steps ---------- */
.mtp-step{display:none;min-height:285px}
.mtp-step.is-active{display:block;animation:mtpFadeUp .38s var(--mtp-ease)}
.mtp-step h3{font-family:var(--mtp-font-display);font-weight:560;font-size:clamp(24px,4vw,32px);margin:0 0 28px;letter-spacing:-.02em;color:var(--mtp-ink)}
@keyframes mtpFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ---------- Number stepper ---------- */
.mtp-number{display:flex;align-items:center;justify-content:center;gap:32px;padding:22px 0}
.mtp-number button{width:56px;height:56px;border-radius:50%;border:1px solid var(--mtp-line);background:#fff;font-size:26px;color:var(--mtp-ink);cursor:pointer;transition:transform .18s var(--mtp-ease),box-shadow .18s var(--mtp-ease),border-color .18s var(--mtp-ease)}
.mtp-number button:hover{transform:translateY(-2px);border-color:var(--mtp-gold-light);box-shadow:0 10px 22px rgba(0,0,0,.08)}
.mtp-number strong{font-family:var(--mtp-font-display);font-size:46px;font-weight:560;min-width:80px;text-align:center}

/* ---------- Budget inputs ---------- */
.mtp-budget-row{display:flex;gap:10px;max-width:560px}
.mtp-budget-row select,.mtp-budget-row input,.mtp-budget-grid input{width:100%;padding:15px 16px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-sm);background:#fff;font-size:16px;box-sizing:border-box;outline:none;transition:border-color .15s,box-shadow .15s;color:var(--mtp-ink)}
.mtp-budget-row select:focus,.mtp-budget-row input:focus,.mtp-budget-grid input:focus{border-color:var(--mtp-gold);box-shadow:0 0 0 4px rgba(175,129,73,.13)}
.mtp-budget-row select{max-width:130px}
.mtp-note{color:var(--mtp-muted);font-size:13px}
.mtp-budget-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.mtp-budget-grid label{font-size:13px;font-weight:800;color:var(--mtp-ink-soft)}
.mtp-budget-grid input{margin-top:7px}
.mtp-total-live{margin-top:18px;color:var(--mtp-muted)}

/* ---------- Interests ---------- */
.mtp-interests{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.mtp-interests label{border:1px solid var(--mtp-line);padding:16px;border-radius:var(--mtp-r-md);cursor:pointer;background:#fff;transition:border-color .18s var(--mtp-ease),transform .18s var(--mtp-ease),box-shadow .18s var(--mtp-ease)}
.mtp-interests label:hover{border-color:var(--mtp-gold-light);transform:translateY(-1px);box-shadow:var(--mtp-shadow-sm)}
.mtp-interests input{margin-right:8px;accent-color:var(--mtp-gold-deep)}

/* ---------- Actions / buttons ---------- */
.mtp-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--mtp-line);padding-top:24px}
.mtp-actions button,.mtp-restart{border:0;border-radius:var(--mtp-r-sm);padding:16px 24px;font-weight:800;letter-spacing:-.01em;cursor:pointer;transition:transform .18s var(--mtp-ease),box-shadow .18s var(--mtp-ease),opacity .18s var(--mtp-ease)}
.mtp-next,.mtp-generate{background:linear-gradient(135deg,#221a11,var(--mtp-ink));color:#fff;box-shadow:0 12px 26px rgba(20,14,7,.22)}
.mtp-next:hover,.mtp-generate:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(20,14,7,.28)}
.mtp-back{background:var(--mtp-soft);color:var(--mtp-ink)}
.mtp-back:hover{background:var(--mtp-line-soft)}
.mtp-is-hidden{display:none!important}

/* ---------- Results header / summary ---------- */
.mtp-results{margin-top:26px}
.mtp-result-header{padding:34px 4px 20px}
.mtp-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}
.mtp-summary-grid div{padding:19px;background:#fff;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-md);box-shadow:var(--mtp-shadow-sm)}
.mtp-summary-grid span{display:block;color:var(--mtp-muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.mtp-summary-grid strong{display:block;font-family:var(--mtp-font-display);font-size:22px;font-weight:560;margin-top:7px}

.mtp-budget-status{padding:18px 20px;border-radius:var(--mtp-r-md);margin:16px 0;font-weight:800}
.mtp-budget-status.within{background:var(--mtp-teal-soft);border:1px solid #cfe3de;color:var(--mtp-teal)}
.mtp-budget-status.over{background:var(--mtp-terracotta-soft);border:1px solid #ecceb8;color:var(--mtp-terracotta)}

.mtp-recommendation{background:#fff;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-lg);padding:24px;margin:20px 0;box-shadow:var(--mtp-shadow-md)}
.mtp-recommendation h3{margin-top:0;font-family:var(--mtp-font-display);font-weight:560}
.mtp-reco-row{display:flex;justify-content:space-between;gap:15px;align-items:center}
.mtp-reco-row span{display:block;color:var(--mtp-muted);margin-top:5px}
.mtp-reco-row a,.mtp-day-item a{color:var(--mtp-gold-deep);font-weight:800;text-decoration:none}
.mtp-reco-row a:hover,.mtp-day-item a:hover{text-decoration:underline}

/* ---------- Day itinerary ---------- */
.mtp-day{display:grid;grid-template-columns:100px 1fr;border:1px solid var(--mtp-line);border-radius:21px;margin:16px 0;overflow:hidden;background:#fff;box-shadow:var(--mtp-shadow-sm);transition:box-shadow .2s var(--mtp-ease)}
.mtp-day:hover{box-shadow:var(--mtp-shadow-md)}
.mtp-day-number{padding:23px 12px;background:var(--mtp-soft);font-size:11px;font-weight:800;letter-spacing:.13em;color:var(--mtp-gold-deep)}
.mtp-day-content{padding:24px}
.mtp-day-content h3{margin:0 0 18px;font-family:var(--mtp-font-display);font-weight:560;font-size:23px}
.mtp-day-item{display:grid;grid-template-columns:80px 1fr auto;gap:10px;padding:13px 0;border-top:1px solid var(--mtp-line-soft)}
.mtp-day-item span{color:var(--mtp-muted);font-size:12px}
.mtp-day-cost{margin-top:15px;padding-top:15px;border-top:1px dashed var(--mtp-line);color:var(--mtp-muted)}

.mtp-final{padding:26px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-lg);background:#fff}
.mtp-final h3{margin-top:0;font-family:var(--mtp-font-display);font-weight:560}
.mtp-final p{color:var(--mtp-muted);font-size:14px;line-height:1.65}
.mtp-small{font-size:12px!important}
.mtp-restart{background:var(--mtp-ink);color:#fff;margin-top:8px}
.mtp-restart:hover{transform:translateY(-1px)}

@media(max-width:760px){
  .mtp-app{margin:12px auto}
  .mtp-hero{padding:38px 22px;border-radius:20px 20px 0 0}
  .mtp-hero:after{font-size:46px}
  .mtp-card{padding:20px;border-radius:0 0 20px 20px}
  .mtp-step{min-height:300px}
  .mtp-budget-grid,.mtp-interests{grid-template-columns:1fr}
  .mtp-summary-grid{grid-template-columns:repeat(2,1fr)}
  .mtp-summary-grid div:last-child{grid-column:1/-1}
  .mtp-day{grid-template-columns:1fr}
  .mtp-day-number{padding:10px 15px}
  .mtp-day-item{grid-template-columns:65px 1fr}
  .mtp-day-item a{grid-column:2}
  .mtp-reco-row{align-items:flex-start;flex-direction:column}
  .mtp-budget-row{flex-direction:column}
  .mtp-budget-row select{max-width:none}
  .mtp-actions{position:sticky;bottom:8px;background:#fff;padding:14px 0 4px;z-index:3}
  .mtp-actions button{flex:1}
  .mtp-actions .mtp-back{flex:0 0 28%}
}

/* ---------- Section headings / product & mini cards ---------- */
.mtp-section-title{margin:32px 0 14px}
.mtp-section-title h3,.mtp-itinerary-intro h3{font-family:var(--mtp-font-display);font-weight:560;font-size:25px;margin:7px 0}
.mtp-hotel-grid,.mtp-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mtp-product-card,.mtp-mini-card{position:relative;border:1px solid var(--mtp-line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--mtp-shadow-sm);transition:transform .2s var(--mtp-ease),box-shadow .2s var(--mtp-ease)}
.mtp-product-card:hover{transform:translateY(-3px);box-shadow:var(--mtp-shadow-md)}
.mtp-product-card.is-recommended{border-color:var(--mtp-gold-light);box-shadow:0 0 0 2px rgba(175,129,73,.14),var(--mtp-shadow-sm)}
.mtp-product-card img,.mtp-mini-card img{width:100%;height:158px;object-fit:cover;display:block}
.mtp-card-placeholder{height:115px;display:flex;align-items:center;justify-content:center;background:var(--mtp-soft);color:rgba(175,129,73,.4);font-size:19px;font-weight:800;letter-spacing:.13em}
.mtp-product-body{padding:19px}
.mtp-product-type{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--mtp-gold-deep);font-weight:800}
.mtp-product-body h4,.mtp-mini-card h4{font-family:var(--mtp-font-display);font-weight:560;font-size:19px;margin:7px 0}
.mtp-product-body p{color:var(--mtp-muted);font-size:13px;line-height:1.55;min-height:40px}
.mtp-price{display:block;font-size:20px;font-weight:700;margin:12px 0}
.mtp-price small{font-size:11px;color:var(--mtp-muted);font-weight:600}
.mtp-cta,.mtp-mini-card a{display:inline-block;color:var(--mtp-gold-deep);text-decoration:none;font-weight:800;font-size:13px;margin-top:4px}
.mtp-cta:hover,.mtp-mini-card a:hover{text-decoration:underline}
.mtp-badge{position:absolute;z-index:2;top:12px;left:12px;background:var(--mtp-ink);color:#fff;border-radius:var(--mtp-r-pill);padding:7px 11px;font-size:10px;font-weight:800;letter-spacing:.02em}
.mtp-mini-card{display:flex;min-height:100px}
.mtp-mini-card img{width:92px;height:100%;min-height:100px}
.mtp-mini-card>div{padding:13px}
.mtp-mini-card h4{font-size:15px;margin:0 0 5px}
.mtp-mini-card span{font-size:12px;color:var(--mtp-muted);display:block}
.mtp-mini-card a{font-size:11px}
.mtp-budget-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.mtp-budget-breakdown div{background:var(--mtp-soft);border-radius:var(--mtp-r-md);padding:16px}
.mtp-budget-breakdown span{display:block;color:var(--mtp-muted);font-size:11px}
.mtp-budget-breakdown strong{display:block;margin-top:5px;font-weight:800}
.mtp-itinerary-intro{padding:22px 2px 6px}
.mtp-itinerary-intro p{color:var(--mtp-muted);font-size:14px;line-height:1.6}
.mtp-day-budget{font-size:11px;color:var(--mtp-muted)}
@media(max-width:760px){
  .mtp-hotel-grid,.mtp-mini-grid,.mtp-budget-breakdown{grid-template-columns:1fr}
  .mtp-product-card img{height:176px}
  .mtp-mini-card{min-height:100px}
  .mtp-mini-card img{width:100px}
  .mtp-product-body p{min-height:auto}
}

/* Protect the planner controls from WordPress/theme CSS */
.mtp-app [hidden],
.mtp-app .mtp-actions [hidden]{display:none !important;}
.mtp-app .mtp-step:not(.is-active){display:none !important;}
.mtp-app .mtp-step.is-active{display:block !important;}

/* ---------- Premium day layout variant ---------- */
.mtp-day-premium .mtp-day-item span{font-weight:700;color:var(--mtp-gold-deep)}
.mtp-day-premium .mtp-day-item strong{line-height:1.45}
.mtp-day-premium .mtp-day-item{padding:14px 0}
.mtp-day-premium .mtp-day-cost{font-size:13px}
.mtp-day-premium .mtp-day-cost strong{font-size:16px}
@media(max-width:760px){.mtp-day-premium .mtp-day-item{grid-template-columns:72px 1fr}.mtp-day-premium .mtp-day-item a{grid-column:2}}

/* ---------- Recommendation / food cards ---------- */
.mtp-reco-card{display:flex;margin:12px 0;border:1px solid var(--mtp-line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--mtp-shadow-sm);transition:box-shadow .2s var(--mtp-ease)}
.mtp-reco-card:hover{box-shadow:var(--mtp-shadow-md)}
.mtp-reco-card img,.mtp-reco-placeholder{width:145px;min-width:145px;height:150px;object-fit:cover}
.mtp-reco-placeholder{display:flex;align-items:center;justify-content:center;background:var(--mtp-soft);color:rgba(175,129,73,.45);font-size:13px;font-weight:800;letter-spacing:.1em}
.mtp-reco-body{padding:16px 18px;flex:1}
.mtp-reco-meta{display:flex;justify-content:space-between;gap:8px}
.mtp-reco-label,.mtp-reco-level{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.mtp-reco-label{color:var(--mtp-gold-deep)}
.mtp-reco-level{color:#83786a}
.mtp-reco-body h4{font-family:var(--mtp-font-display);font-weight:560;font-size:18px;margin:7px 0}
.mtp-reco-body p{margin:0 0 9px;color:var(--mtp-muted);font-size:12px;line-height:1.5}
.mtp-reco-details{display:flex;gap:15px;align-items:center;font-size:12px;margin:8px 0}
.mtp-reco-details strong{font-size:15px}
.mtp-reco-details span{color:var(--mtp-muted)}
.mtp-reco-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mtp-reco-actions a,.mtp-food-card a{display:inline-block;text-decoration:none;border-radius:var(--mtp-r-sm);padding:9px 12px;font-size:11px;font-weight:800;transition:transform .15s var(--mtp-ease),opacity .15s var(--mtp-ease)}
.mtp-reco-actions a:hover,.mtp-food-card a:hover{transform:translateY(-1px)}
.mtp-guide-btn{background:var(--mtp-soft);color:#6d4d2d}
.mtp-affiliate-btn{background:var(--mtp-ink);color:#fff}
.mtp-food-card{display:flex;align-items:center;gap:10px;border-top:1px solid var(--mtp-line-soft);padding:12px 0}
.mtp-food-copy{flex:1}
.mtp-food-copy span{display:block;color:var(--mtp-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.mtp-food-copy strong{display:block;font-size:13px;margin:2px 0}
.mtp-food-copy small{color:var(--mtp-gold-deep);font-weight:800}
.mtp-food-card a{color:var(--mtp-gold-deep);padding:4px 5px}
.mtp-food-card .mtp-food-affiliate{background:var(--mtp-ink);color:#fff;padding:7px 10px}
@media(max-width:600px){
  .mtp-reco-card{display:block}
  .mtp-reco-card img,.mtp-reco-placeholder{width:100%;height:170px}
  .mtp-reco-body{padding:16px}
  .mtp-reco-actions a{flex:1;text-align:center}
  .mtp-food-card{align-items:flex-start;flex-wrap:wrap}
  .mtp-food-copy{min-width:70%}
}

.mtp-section-note{margin:4px 0 12px;color:var(--mtp-muted);font-size:12px}

/* ---------- AI panel ---------- */
.mtp-ai-panel{margin:26px 0;padding:24px;border:1px solid #e4d2ac;border-radius:var(--mtp-r-lg);background:linear-gradient(135deg,#fffaf1,#fff);box-shadow:0 14px 38px rgba(80,54,25,.07)}
.mtp-ai-panel h3{margin:6px 0 7px;font-family:var(--mtp-font-display);font-weight:560;font-size:24px}
.mtp-ai-panel p{color:var(--mtp-muted);font-size:13px;line-height:1.6}
.mtp-ai-button{border:0;border-radius:var(--mtp-r-sm);padding:14px 18px;background:var(--mtp-ink);color:#fff;font-weight:800;cursor:pointer;transition:transform .18s var(--mtp-ease)}
.mtp-ai-button:hover{transform:translateY(-1px)}
.mtp-ai-button:disabled{opacity:.6;cursor:wait;transform:none}
.mtp-ai-loading{margin-top:14px;color:var(--mtp-gold-deep);font-size:13px;font-weight:800}
.mtp-ai-result{margin-top:18px;padding-top:18px;border-top:1px solid var(--mtp-line);color:#29251f;line-height:1.7}
.mtp-ai-result h3,.mtp-ai-result h4{margin:16px 0 7px;font-family:var(--mtp-font-display)}
.mtp-ai-result p{color:#49433c;margin:8px 0}
.mtp-ai-result li{margin:5px 0 5px 18px}

/* ---------- Budget summary table ---------- */
.mtp-budget-summary{margin:30px 0;padding:25px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-lg);background:#fff;box-shadow:var(--mtp-shadow-md)}
.mtp-budget-table{border:1px solid var(--mtp-line);border-radius:var(--mtp-r-md);overflow:hidden;margin-top:16px}
.mtp-budget-table-head,.mtp-budget-table-row{display:grid;grid-template-columns:1.6fr .7fr .8fr;gap:10px;align-items:center;padding:13px 16px}
.mtp-budget-table-head{background:var(--mtp-soft);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--mtp-muted)}
.mtp-budget-table-head > span:nth-child(2),
.mtp-budget-table-head > span:nth-child(3){text-align:right}
.mtp-budget-table-row{border-top:1px solid var(--mtp-line-soft);font-size:13px}
.mtp-budget-table-row strong{text-align:right}
.mtp-budget-table-row > strong:nth-child(2),
.mtp-budget-table-row > strong:nth-child(3){text-align:right;justify-self:stretch}
.mtp-budget-table-total{display:flex;justify-content:space-between;gap:15px;padding:18px 16px;background:var(--mtp-cream);font-size:15px;font-weight:800}
.mtp-budget-result{margin-top:16px;padding:18px 19px;border-radius:var(--mtp-r-md);transition:all .2s ease}
.mtp-budget-result.is-good{background:var(--mtp-teal-soft);border:1px solid #cfe3de}
.mtp-budget-result.is-over{background:var(--mtp-terracotta-soft);border:1px solid #ecceb8}
.mtp-budget-result div{display:flex;justify-content:space-between;align-items:center;gap:15px}
.mtp-budget-result div span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.mtp-budget-result div strong{font-size:24px;transition:all .2s ease}
.mtp-budget-result p{margin:8px 0 0;color:var(--mtp-muted);font-size:12px;line-height:1.5}
.mtp-budget-disclaimer{margin:13px 0 0;color:var(--mtp-muted);font-size:11px;line-height:1.5}
.mtp-day-cost strong,.mtp-budget-table-total strong{transition:all .2s ease}
@media(max-width:600px){.mtp-budget-table-head,.mtp-budget-table-row{grid-template-columns:1.4fr .6fr .7fr;font-size:12px;padding:12px 10px}.mtp-budget-table-head{font-size:9px}}

/* ---------- Trip actions toolbar ---------- */
.mtp-trip-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:24px 0;padding:15px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-md);background:#fff}
.mtp-trip-action{appearance:none;border:1px solid #e2d5c0;background:var(--mtp-cream);color:var(--mtp-ink-soft);border-radius:var(--mtp-r-sm);padding:11px 14px;font-size:12px;font-weight:800;cursor:pointer;transition:transform .15s var(--mtp-ease),background .15s var(--mtp-ease)}
.mtp-trip-action:hover{transform:translateY(-1px);background:var(--mtp-soft)}
.mtp-share-status{font-size:11px;color:var(--mtp-gold-deep);font-weight:800;display:inline-block;margin-left:8px}
.mtp-printing .mtp-trip-actions{display:none}
@media print{
  body *{visibility:hidden!important}
  .mtp-app,.mtp-app *{visibility:visible!important}
  .mtp-app{position:absolute;left:0;top:0;width:100%!important;max-width:none!important}
  .mtp-trip-actions,.mtp-progress,.mtp-footer,.mtp-final,.mtp-nav{display:none!important}
  .mtp-day,.mtp-reco-card,.mtp-budget-summary{break-inside:avoid;box-shadow:none!important}
}
@media(max-width:600px){.mtp-trip-actions{display:grid;grid-template-columns:1fr}.mtp-trip-action{width:100%}}

/* ---------- FAQ ---------- */
.mtp-planner-faq{margin:30px 0;padding:25px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-lg);background:#fff}
.mtp-planner-faq h3{margin:6px 0 16px;font-family:var(--mtp-font-display);font-weight:560;font-size:23px}
.mtp-planner-faq details{border-top:1px solid var(--mtp-line);padding:15px 0}
.mtp-planner-faq details:last-child{border-bottom:1px solid var(--mtp-line)}
.mtp-planner-faq summary{cursor:pointer;font-weight:800;font-size:14px}
.mtp-planner-faq p{margin:9px 0 0;color:var(--mtp-muted);font-size:13px;line-height:1.6}

/* ---------- Conversion summary ---------- */
.mtp-conversion-summary{margin:30px 0;padding:25px;border-radius:var(--mtp-r-xl);background:linear-gradient(135deg,#fffaf1,#fff);border:1px solid #ead7bb;box-shadow:0 14px 38px rgba(80,54,25,.07)}
.mtp-conv-heading h3{margin:6px 0;font-family:var(--mtp-font-display);font-weight:560;font-size:24px}
.mtp-conv-heading p{margin:0;color:var(--mtp-muted);font-size:12px;line-height:1.5}
.mtp-conv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.mtp-conv-card{background:#fff;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-md);overflow:hidden;transition:box-shadow .2s var(--mtp-ease)}
.mtp-conv-card:hover{box-shadow:var(--mtp-shadow-md)}
.mtp-conv-card img,.mtp-conv-placeholder{width:100%;height:145px;object-fit:cover}
.mtp-conv-placeholder{display:flex;align-items:center;justify-content:center;background:var(--mtp-soft);font-size:12px;font-weight:800;letter-spacing:.13em;color:#a98763}
.mtp-conv-card-body{padding:16px}
.mtp-conv-category{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--mtp-gold-deep)}
.mtp-conv-card h4{font-family:var(--mtp-font-display);font-weight:560;font-size:17px;margin:6px 0}
.mtp-conv-card strong{display:block;font-size:15px}
.mtp-conv-card small{display:block;margin-top:4px;color:var(--mtp-muted)}
.mtp-conv-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.mtp-conv-btn,.mtp-conv-link{display:inline-block;padding:9px 11px;border-radius:var(--mtp-r-sm);text-decoration:none;font-size:11px;font-weight:800}
.mtp-conv-btn{background:var(--mtp-ink);color:#fff}
.mtp-conv-link{background:var(--mtp-soft);color:#725231}
@media(max-width:850px){.mtp-conv-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.mtp-conv-grid{grid-template-columns:1fr}.mtp-conv-actions a{flex:1;text-align:center}}

/* ---------- Timeline ---------- */
.mtp-timeline{margin-top:16px}
.mtp-time-slot{display:grid;grid-template-columns:58px 18px 1fr;gap:10px;min-height:66px}
.mtp-time{font-size:11px;font-weight:800;color:var(--mtp-gold-deep);padding-top:2px;text-align:right}
.mtp-time-line{position:relative}
.mtp-time-line:before{content:"";position:absolute;left:8px;top:7px;bottom:-7px;width:1px;background:var(--mtp-line)}
.mtp-time-line i{position:absolute;left:4px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--mtp-gold)}
.mtp-time-content{padding:0 0 16px}
.mtp-time-content strong{display:block;font-size:13px}
.mtp-time-content span{display:block;color:var(--mtp-muted);font-size:12px;line-height:1.45;margin-top:3px}
.mtp-time-content a{display:inline-block;margin-top:5px;color:var(--mtp-gold-deep);font-size:11px;font-weight:800;text-decoration:none}
.mtp-time-content a:hover{text-decoration:underline}
.mtp-timeline-day .mtp-day-cost{margin-top:7px;padding-top:13px;border-top:1px solid var(--mtp-line)}
@media(max-width:600px){.mtp-time-slot{grid-template-columns:48px 16px 1fr}.mtp-time{font-size:10px}}

/* ---------- Choice dropdown ---------- */
.mtp-choice{position:relative;margin-top:7px;max-width:560px}
.mtp-choice-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-top:1px solid var(--mtp-line-soft);background:transparent;padding:8px 0 2px;color:var(--mtp-gold-deep);font-size:10px;font-weight:800;letter-spacing:.02em;text-align:left;cursor:pointer}
.mtp-chevron{font-size:17px;line-height:1;transition:transform .15s}
.mtp-choice-toggle[aria-expanded="true"] .mtp-chevron{transform:rotate(180deg)}
.mtp-choice-menu{position:relative;margin-top:6px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-sm);background:#fff;box-shadow:var(--mtp-shadow-md);overflow:hidden;z-index:5}
.mtp-choice-option{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;border:0;border-bottom:1px solid var(--mtp-line-soft);background:#fff;text-align:left;cursor:pointer;transition:background .15s}
.mtp-choice-option:last-child{border-bottom:0}
.mtp-choice-option:hover,.mtp-choice-option.is-current{background:var(--mtp-cream)}
.mtp-choice-option span{min-width:0}
.mtp-choice-option strong{display:block;font-size:12px;color:#26211c}
.mtp-choice-option small{display:block;margin-top:2px;color:#8b8177;font-size:10px}
.mtp-choice-option b{white-space:nowrap;font-size:11px;color:var(--mtp-gold-deep)}
.mtp-choice-option.is-current:before{content:"✓";margin-right:5px;color:var(--mtp-gold-deep);font-weight:800}

.mtp-allocation-warning{margin-top:12px;padding:14px 16px;border-radius:var(--mtp-r-sm);border:1px solid #e6bcb2;background:var(--mtp-rust-soft);color:var(--mtp-rust);font-size:12px;line-height:1.55}
.mtp-allocation-warning strong{font-size:13px}
.mtp-allocation-warning span{display:block;margin-top:2px}
.mtp-total-live{margin-top:14px}

/* ---------- Hotel picker ---------- */
.mtp-hotel-choice-note{margin-top:5px;color:var(--mtp-muted);font-size:12px}
.mtp-planning-price-note{display:block;margin-top:4px;color:var(--mtp-muted);font-size:10px;line-height:1.45;font-weight:700}
.mtp-hotel-option{cursor:pointer;transition:transform .18s var(--mtp-ease),box-shadow .18s var(--mtp-ease),border-color .18s var(--mtp-ease)}
.mtp-hotel-option:hover{transform:translateY(-3px);box-shadow:var(--mtp-shadow-md)}
.mtp-hotel-option.is-selected{border:2px solid var(--mtp-gold);box-shadow:0 14px 34px rgba(140,95,45,.14)}
.mtp-hotel-select-label{display:block;margin:9px 0 3px;color:var(--mtp-gold-deep);font-size:11px;font-weight:800}
.mtp-hotel-option:focus{outline:2px solid var(--mtp-gold);outline-offset:2px}
.mtp-hotel-option .mtp-badge[hidden]{display:none!important}

/* ---------- Flexible budget cards ---------- */
.mtp-flexible-budget-options{margin-top:28px}
.mtp-flexible-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mtp-flexible-card{position:relative;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-md);background:#fff;cursor:pointer;overflow:hidden;transition:transform .18s var(--mtp-ease),box-shadow .18s var(--mtp-ease);min-height:150px}
.mtp-flexible-card:hover{transform:translateY(-3px);box-shadow:var(--mtp-shadow-md)}
.mtp-flexible-card.is-selected{border:2px solid var(--mtp-gold);box-shadow:0 12px 30px rgba(140,95,45,.12)}
.mtp-flexible-card img{width:100%;height:100px;object-fit:cover}
.mtp-flexible-body{padding:14px}
.mtp-flexible-body h4{margin:4px 0 5px;font-family:var(--mtp-font-display)}
.mtp-flexible-body p{font-size:12px;color:#777;margin:0 0 10px}
.mtp-flexible-body strong{display:block;font-size:18px}
.mtp-flexible-body a{display:inline-block;margin-top:8px;color:var(--mtp-gold-deep);font-size:11px;font-weight:700}
.mtp-category-badge{position:absolute;top:10px;left:10px;background:var(--mtp-ink);color:#fff;border-radius:var(--mtp-r-pill);padding:5px 9px;font-size:10px;font-weight:800;z-index:2}
.mtp-category-badge[hidden]{display:none}
.mtp-category-select-label{display:block;margin-top:8px;color:var(--mtp-gold-deep);font-size:11px;font-weight:800}
@media(max-width:800px){.mtp-flexible-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.mtp-flexible-grid{grid-template-columns:1fr}}

/* ---------- Inline transport change menu ---------- */
.mtp-itinerary-transport-menu{position:relative;display:inline-block;max-width:100%}
.mtp-inline-change{border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:700;cursor:pointer;text-align:left}
.mtp-inline-change span{color:var(--mtp-gold-deep);margin-left:5px}
.mtp-inline-options{position:absolute;z-index:20;top:calc(100% + 7px);left:0;min-width:250px;background:#fff;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-sm);box-shadow:var(--mtp-shadow-md);padding:6px}
.mtp-inline-option{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;border:0;background:#fff;padding:10px 11px;border-radius:8px;cursor:pointer;text-align:left;transition:background .15s}
.mtp-inline-option:hover{background:var(--mtp-cream)}
.mtp-inline-option strong{font-size:12px}
.mtp-inline-option span{font-size:11px;color:var(--mtp-gold-deep);white-space:nowrap}

/* ---------- Activity picker ---------- */
.mtp-step-note{margin:-8px 0 20px;color:var(--mtp-muted);font-size:13px}
.mtp-activity-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mtp-activity-choice{position:relative;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-md);background:#fff;overflow:hidden;cursor:pointer;transition:transform .18s var(--mtp-ease),border-color .18s var(--mtp-ease)}
.mtp-activity-choice:hover{transform:translateY(-2px);border-color:var(--mtp-gold-light)}
.mtp-activity-choice.is-selected{border:2px solid var(--mtp-gold);box-shadow:0 8px 24px rgba(157,115,65,.12)}
.mtp-activity-choice>input{position:absolute;top:12px;left:12px;z-index:2;width:17px;height:17px;accent-color:var(--mtp-gold-deep)}
.mtp-activity-choice-content{display:block}
.mtp-activity-choice img{display:block;width:100%;height:115px;object-fit:cover}
.mtp-activity-choice-info{display:flex;flex-direction:column;gap:4px;padding:14px 14px 15px}
.mtp-activity-choice-info strong{font-size:15px}
.mtp-activity-choice-info small{color:var(--mtp-muted);font-size:11px}
.mtp-activity-choice-info b{font-size:13px;margin-top:5px}
.mtp-activity-selection-summary{margin-top:15px;padding:13px 15px;background:var(--mtp-soft);border-radius:var(--mtp-r-sm);font-size:13px}
.mtp-activity-selection-warning{margin-top:12px;padding:12px 14px;border-radius:var(--mtp-r-sm);font-size:12px;line-height:1.45}
.mtp-activity-selection-warning.is-over{background:var(--mtp-rust-soft);border:1px solid #e6bcb2;color:var(--mtp-rust)}
.mtp-activity-selection-warning.is-within{background:var(--mtp-teal-soft);border:1px solid #cfe3de;color:var(--mtp-teal)}
.mtp-activity-selection-warning span{display:inline-block;margin-top:3px}
@media(max-width:800px){.mtp-activity-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.mtp-activity-picker{grid-template-columns:1fr}}

/* ---------- Visual choice cards inside dropdown ---------- */
.mtp-choice-card-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(145px,1fr));gap:8px;padding:8px;
  min-width:360px;max-width:780px;background:#fff;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-md);
  box-shadow:var(--mtp-shadow-md);
  max-height:min(62vh,620px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;
}
.mtp-choice-card-grid::-webkit-scrollbar{width:7px}
.mtp-choice-card-grid::-webkit-scrollbar-thumb{background:var(--mtp-gold-light);border-radius:20px}
.mtp-choice-card-grid::-webkit-scrollbar-track{background:var(--mtp-cream)}
.mtp-choice-option.mtp-choice-card{display:block;width:100%;padding:0!important;border:1px solid var(--mtp-line)!important;border-radius:var(--mtp-r-sm)!important;background:#fff!important;overflow:hidden;text-align:left;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.03);transition:transform .18s var(--mtp-ease),box-shadow .18s var(--mtp-ease),border-color .18s var(--mtp-ease)}
.mtp-choice-option.mtp-choice-card:hover{transform:translateY(-2px);border-color:var(--mtp-gold)!important;box-shadow:0 8px 18px rgba(0,0,0,.09)}
.mtp-choice-option.mtp-choice-card.is-current{border-color:var(--mtp-gold)!important;box-shadow:0 0 0 2px rgba(175,129,73,.16)}
.mtp-choice-card-image,.mtp-choice-card-placeholder{display:block;width:100%;height:95px;object-fit:cover}
.mtp-choice-card-placeholder{display:flex;align-items:center;justify-content:center;background:var(--mtp-soft);color:#d7c5ac;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
.mtp-choice-card-body{display:flex!important;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 10px}
.mtp-choice-card-body strong{font-size:12px;line-height:1.25;color:#111}
.mtp-choice-card-body small{font-size:10px;color:#777}
.mtp-choice-card-body b{font-size:14px;color:#111;margin-top:2px}
.mtp-choice-card-body em{font-size:9px;font-style:normal;font-weight:400;color:#777;margin-left:3px}
@media(max-width:700px){.mtp-choice-card-grid{grid-template-columns:repeat(2,minmax(125px,1fr));min-width:280px;max-height:60vh}.mtp-choice-card-image,.mtp-choice-card-placeholder{height:78px}}
@media(max-width:430px){.mtp-choice-card-grid{grid-template-columns:1fr;min-width:230px}.mtp-choice-card-image,.mtp-choice-card-placeholder{height:105px}}

/* ---------- Selected experiences ---------- */
.mtp-selected-experiences{margin:26px 0 28px;padding:21px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-lg);background:linear-gradient(180deg,var(--mtp-cream) 0%,#fff 100%)}
.mtp-selected-experiences-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.mtp-selected-experiences-head h3{margin:4px 0 5px;font-family:var(--mtp-font-display);font-weight:560;font-size:22px}
.mtp-selected-experiences-head p{margin:0;color:#777;font-size:13px}
.mtp-selected-experiences-total{min-width:125px;padding:13px 15px;border-radius:var(--mtp-r-md);background:var(--mtp-soft);text-align:center}
.mtp-selected-experiences-total span,.mtp-selected-experiences-total small{display:block;font-size:10px;color:#806f5c}
.mtp-selected-experiences-total strong{display:block;font-size:21px;margin:2px 0;color:var(--mtp-ink)}
.mtp-selected-experiences-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mtp-selected-experience-card{overflow:hidden;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-md);background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.04);transition:box-shadow .2s var(--mtp-ease)}
.mtp-selected-experience-card:hover{box-shadow:var(--mtp-shadow-md)}
.mtp-selected-experience-card img,.mtp-selected-experience-placeholder{display:block;width:100%;height:125px;object-fit:cover}
.mtp-selected-experience-placeholder{display:flex;align-items:center;justify-content:center;background:var(--mtp-soft);color:#cbb79d;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.mtp-selected-experience-body{padding:12px 13px}
.mtp-selected-label{font-size:9px;font-weight:800;color:var(--mtp-gold-deep);text-transform:uppercase;letter-spacing:.6px}
.mtp-selected-experience-body h4{margin:5px 0 3px;font-size:14px;line-height:1.3}
.mtp-selected-experience-body p{margin:0 0 6px;font-size:10px;color:#777}
.mtp-selected-experience-body strong{font-size:16px}
.mtp-selected-experience-body small{font-size:9px;font-weight:400;color:#777}
.mtp-selected-experience-card-added{border-color:var(--mtp-gold)!important;box-shadow:0 0 0 2px rgba(175,129,73,.12)}
.mtp-selected-experience-card-added .mtp-selected-label{color:var(--mtp-gold-deep)}
@media(max-width:760px){.mtp-selected-experiences-head{align-items:flex-start;flex-direction:column}.mtp-selected-experiences-total{width:100%;box-sizing:border-box}.mtp-selected-experiences-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.mtp-selected-experiences{padding:15px}.mtp-selected-experiences-grid{grid-template-columns:1fr}.mtp-selected-experience-card img,.mtp-selected-experience-placeholder{height:150px}}

/* ---------- Optional experience proposal ---------- */
.mtp-optional-activity{margin-top:7px}
.mtp-optional-activity-card{display:flex;max-width:590px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-md);background:var(--mtp-cream);overflow:hidden}
.mtp-optional-activity-card img,.mtp-optional-placeholder{width:125px;min-width:125px;height:125px;object-fit:cover}
.mtp-optional-placeholder{display:flex;align-items:center;justify-content:center;background:var(--mtp-soft);color:#c7b298;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.mtp-optional-body{padding:11px 13px;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.mtp-optional-kicker{font-size:9px;font-weight:800;color:var(--mtp-gold-deep);text-transform:uppercase;letter-spacing:.7px}
.mtp-optional-body strong{font-size:14px;line-height:1.25}
.mtp-optional-body small{font-size:10px;color:#777}
.mtp-optional-body b{font-size:14px}
.mtp-optional-body b em{font-size:9px;color:#777;font-style:normal;font-weight:400}
.mtp-optional-actions{display:flex;gap:7px;margin-top:5px;flex-wrap:wrap}
.mtp-optional-actions button{border:1px solid #d58a62;background:#fff;color:var(--mtp-rust);border-radius:8px;padding:7px 10px;font-size:10px;cursor:pointer}
.mtp-optional-actions .mtp-optional-accept{background:var(--mtp-gold-deep);color:#fff;border-color:var(--mtp-gold-deep)}
.mtp-optional-activity.is-accepted{border-radius:var(--mtp-r-md);box-shadow:0 0 0 2px rgba(175,129,73,.12)}
.mtp-optional-activity.is-skipped{opacity:.72}
.mtp-optional-change{background:#fff!important;color:var(--mtp-gold-deep)!important;border-color:var(--mtp-gold-light)!important}
.mtp-optional-alternatives{margin-top:8px;padding:8px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-md);background:#fff}
.mtp-optional-alternatives-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px}
.mtp-optional-alt-card{display:block;padding:0!important;border:1px solid var(--mtp-line)!important;border-radius:11px!important;background:#fff!important;overflow:hidden;text-align:left;cursor:pointer;transition:box-shadow .15s,border-color .15s}
.mtp-optional-alt-card:hover{border-color:var(--mtp-gold)!important;box-shadow:0 6px 16px rgba(0,0,0,.08)}
.mtp-optional-alt-card img,.mtp-optional-alt-placeholder{display:block;width:100%;height:78px;object-fit:cover}
.mtp-optional-alt-placeholder{display:flex;align-items:center;justify-content:center;background:var(--mtp-soft);color:#c7b298;font-size:10px;font-weight:800;letter-spacing:1px}
.mtp-optional-alt-card span{display:flex;flex-direction:column;gap:2px;padding:7px 8px}
.mtp-optional-alt-card strong{font-size:11px;line-height:1.25}
.mtp-optional-alt-card small{font-size:9px;color:#777}
.mtp-optional-alt-card b{font-size:12px}
.mtp-optional-alt-card b em{font-size:8px;color:#777;font-style:normal;font-weight:400}
@media(max-width:650px){.mtp-optional-alternatives-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}}
@media(max-width:520px){.mtp-optional-activity-card{max-width:100%}.mtp-optional-activity-card img,.mtp-optional-placeholder{width:90px;min-width:90px;height:110px}.mtp-optional-body{padding:8px}.mtp-optional-actions button{padding:6px 7px}}
@media(max-width:420px){.mtp-optional-alternatives-grid{grid-template-columns:1fr}}

/* ---------- Review gate ---------- */
.mtp-review-gate{margin:26px 0 28px;padding:25px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-lg);background:linear-gradient(180deg,var(--mtp-cream) 0%,#fff 100%);box-shadow:var(--mtp-shadow-md)}
.mtp-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.mtp-review-header h3{margin:5px 0;font-family:var(--mtp-font-display);font-weight:560;font-size:25px}
.mtp-review-header p{margin:0;color:#6f6f6f;font-size:13px}
.mtp-review-budget{min-width:145px;padding:14px 16px;border-radius:var(--mtp-r-md);text-align:center;background:var(--mtp-soft)}
.mtp-review-budget span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#806f5c}
.mtp-review-budget strong{display:block;font-size:22px;margin-top:3px}
.mtp-review-budget.is-over{background:var(--mtp-rust-soft)}
.mtp-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 14px}
.mtp-review-card{position:relative;padding:14px 14px 42px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-sm);background:#fff}
.mtp-review-card span{display:block;font-size:10px;color:var(--mtp-gold-deep);margin-bottom:5px}
.mtp-review-card strong{display:block;font-size:14px}
.mtp-review-card small{display:block;margin-top:4px;color:#777;font-size:10px;line-height:1.45}
.mtp-review-change{position:absolute;left:14px;bottom:12px;appearance:none;border:1px solid var(--mtp-gold-light);background:var(--mtp-cream);color:var(--mtp-gold-deep);border-radius:8px;padding:6px 11px;font-size:10px;font-weight:800;cursor:pointer;transition:background .15s}
.mtp-review-change:hover{background:#f8eee3}
.mtp-review-total{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--mtp-line);border-bottom:1px solid var(--mtp-line);padding:14px 0;margin-top:8px;gap:20px}
.mtp-review-total span{display:block;font-size:10px;color:#777}
.mtp-review-total strong{font-size:20px}
.mtp-review-status{margin:14px 0;padding:12px 14px;border-radius:10px;font-size:12px}
.mtp-review-status.is-good{background:var(--mtp-teal-soft);color:var(--mtp-teal)}
.mtp-review-status.is-over{background:var(--mtp-rust-soft);color:var(--mtp-rust)}
.mtp-review-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.mtp-review-actions button{border-radius:9px;padding:11px 16px;font-weight:700;cursor:pointer;transition:transform .15s var(--mtp-ease)}
.mtp-review-actions button:hover{transform:translateY(-1px)}
.mtp-review-back{background:#fff;border:1px solid #d8a0a0;color:#b23f5c}
.mtp-review-create{background:var(--mtp-gold-deep);border:1px solid var(--mtp-gold-deep);color:#fff}
.mtp-generate{min-width:220px}
@media(max-width:700px){.mtp-review-header{flex-direction:column}.mtp-review-budget{width:100%;box-sizing:border-box}.mtp-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mtp-review-actions{flex-direction:column}.mtp-review-actions button{width:100%}}
@media(max-width:450px){.mtp-review-gate{padding:16px}.mtp-review-grid{grid-template-columns:1fr}.mtp-review-total{grid-template-columns:1fr}}

/* ---------- Smart daily cost ---------- */
.mtp-day-cost{margin-top:12px;padding:12px 14px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-sm);background:#fff}
.mtp-day-cost-main{font-size:12px;color:#555}
.mtp-day-cost-main strong{font-size:18px;color:var(--mtp-ink);margin-left:4px}
.mtp-day-budget-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px;padding-top:7px;border-top:1px solid var(--mtp-line-soft);font-size:10px;color:#777}
.mtp-day-budget-line strong{color:#555}
.mtp-day-status{font-weight:800}
.mtp-day.within .mtp-day-status{color:var(--mtp-teal)}
.mtp-day.over .mtp-day-status{color:var(--mtp-terracotta)}
.mtp-day.over .mtp-day-cost{border-color:#ecceb8;background:#fffaf7}
.mtp-day.within .mtp-day-cost{border-color:#d6e6e1}
@media(max-width:480px){.mtp-day-budget-line{align-items:flex-start;flex-direction:column;gap:4px}}

.mtp-day-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:9px;padding-top:8px;border-top:1px solid var(--mtp-line-soft)}
.mtp-day-breakdown span{display:flex;flex-direction:column;gap:2px;font-size:9px;color:#777}
.mtp-day-breakdown strong{font-size:11px;color:#444}
@media(max-width:650px){.mtp-day-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}}

/* ---------- Share modal ---------- */
.mtp-trip-action{cursor:pointer}
.mtp-social-share-modal{position:fixed;inset:0;z-index:99999}
.mtp-social-share-backdrop{position:absolute;inset:0;background:rgba(20,15,10,.6);backdrop-filter:blur(4px)}
.mtp-social-share-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 28px));padding:28px;border-radius:var(--mtp-r-lg);background:var(--mtp-cream);box-shadow:var(--mtp-shadow-lg)}
.mtp-social-share-dialog h3{margin:5px 0;font-family:var(--mtp-font-display)}
.mtp-social-share-dialog p{color:#777;font-size:13px}
.mtp-social-share-close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:28px;cursor:pointer;color:var(--mtp-ink-soft)}
.mtp-social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.mtp-social-grid button,.mtp-social-copy{min-height:58px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-sm);background:#fff;cursor:pointer;font-weight:800;transition:transform .15s var(--mtp-ease)}
.mtp-social-grid button:hover,.mtp-social-copy:hover{transform:translateY(-1px)}
.mtp-social-copy{width:100%;background:#fff8ef;border-color:var(--mtp-gold-light)}
.mtp-social-share-status{text-align:center;min-height:18px;margin-top:10px;color:var(--mtp-teal);font-size:11px;font-weight:800}
@media(max-width:500px){.mtp-social-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- Start a New Trip / Save / Saved trips ---------- */
.mtp-final-actions{display:flex;justify-content:center;margin:26px 0 10px}
.mtp-new-trip-btn{border:1px solid var(--mtp-gold);background:#fff8ef;color:var(--mtp-gold-deep);border-radius:var(--mtp-r-sm);padding:12px 19px;font-weight:800;cursor:pointer;transition:background .15s}
.mtp-new-trip-btn:hover{background:#f7eadb}
.mtp-save-trip-btn{border:1px solid #b99b7a;background:#fff;color:#795a3c;border-radius:var(--mtp-r-sm);padding:12px 19px;font-weight:800;cursor:pointer;transition:background .15s}
.mtp-save-trip-btn.is-saved{border-color:#9fc7aa;background:var(--mtp-teal-soft);color:var(--mtp-teal)}
.mtp-save-trip-btn:hover{background:#fff8ef}
.mtp-manage-saved-btn{border:1px solid var(--mtp-line);background:#fff;color:#76583d;border-radius:var(--mtp-r-sm);padding:12px 17px;font-weight:800;cursor:pointer;transition:background .15s}
.mtp-manage-saved-btn:hover{background:var(--mtp-cream)}
.mtp-saved-trip-modal{position:fixed;inset:0;z-index:100000}
.mtp-saved-backdrop{position:absolute;inset:0;background:rgba(20,15,10,.6);backdrop-filter:blur(4px)}
.mtp-saved-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100% - 28px));padding:28px;border-radius:var(--mtp-r-lg);background:var(--mtp-cream);box-shadow:var(--mtp-shadow-lg)}
.mtp-saved-close{position:absolute;right:13px;top:8px;border:0;background:none;font-size:28px;cursor:pointer;color:var(--mtp-ink-soft)}
.mtp-saved-dialog h3{margin:5px 0 8px;font-family:var(--mtp-font-display)}
.mtp-saved-dialog p{color:#777;font-size:13px}
.mtp-saved-actions{display:grid;gap:10px;margin-top:18px}
.mtp-saved-actions button{padding:13px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-sm);background:#fff;font-weight:800;cursor:pointer;transition:background .15s}
.mtp-saved-actions button:hover{background:var(--mtp-cream)}
.mtp-saved-actions button.danger{border-color:#e3b9b1;color:var(--mtp-rust);background:var(--mtp-rust-soft)}
@media(max-width:500px){
  .mtp-final-actions{margin-top:20px}
  .mtp-new-trip-btn{width:100%}
  .mtp-save-trip-btn{width:100%;margin-bottom:8px}
  .mtp-manage-saved-btn{width:100%;margin-bottom:8px}
}

/* ---------- Print / PDF ---------- */
.mtp-print-header{display:none}
@media print{
  @page{size:A4;margin:14mm}
  body{background:#fff!important}
  body *{visibility:hidden!important}
  .mtp-results,.mtp-results *{visibility:visible!important}
  .mtp-results{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;box-shadow:none!important}
  .mtp-print-header{display:block!important;text-align:center!important;padding-bottom:15px!important;border-bottom:2px solid var(--mtp-gold)!important;margin-bottom:18px!important}
  .mtp-print-brand{font-size:10px!important;letter-spacing:2px!important;text-transform:uppercase!important;font-weight:800!important}
  .mtp-print-header h1{margin:5px 0!important;font-size:26px!important;font-family:var(--mtp-font-display)!important}
  .mtp-print-meta{margin:0!important;font-size:11px!important;color:#666!important}
  .mtp-final-actions,.mtp-review-change,.mtp-social-share-modal,.mtp-saved-trip-modal,button,[role="button"]{display:none!important}
  .mtp-day{break-inside:avoid!important;page-break-inside:avoid!important;margin-bottom:16px!important}
  a{color:#222!important;text-decoration:none!important}
  .mtp-planner-faq,.mtp-planner-faq *,.mtp-planner-faq details,.mtp-planner-faq summary{display:none!important;visibility:hidden!important}
  .mtp-day,.mtp-day > *,.mtp-day-cost,.mtp-day-breakdown{break-inside:avoid!important;page-break-inside:avoid!important}
  .mtp-results{break-before:auto!important;page-break-before:auto!important}
  .mtp-trip-map-section{display:none!important}
}

/* ---------- Mobile-first planner UX ---------- */
@media (max-width: 700px){
  .mtp-app,.mtp-results{width:100%;max-width:100%;overflow-x:hidden}
  .mtp-card,.mtp-results{box-sizing:border-box}
  .mtp-step{padding:16px 13px}
  .mtp-step-title{font-size:20px;line-height:1.25}
  .mtp-step-subtitle{font-size:12px;line-height:1.5}
  .mtp-options-grid,.mtp-choice-grid,.mtp-card-grid{grid-template-columns:1fr!important}
  .mtp-card,.mtp-option,.mtp-choice,.mtp-review-card{min-width:0}
  .mtp-card img,.mtp-option img,.mtp-choice img{max-width:100%;height:auto}
  .mtp-step-actions{display:flex;gap:8px;flex-wrap:wrap}
  .mtp-step-actions button,.mtp-generate,.mtp-next,.mtp-continue{min-height:46px;flex:1 1 100%;width:100%}
  .mtp-back{min-height:42px}
  .mtp-budget-table{width:100%;table-layout:fixed}
  .mtp-budget-table th,.mtp-budget-table td{padding:9px 6px;font-size:11px}
  .mtp-budget-table th:nth-child(1),.mtp-budget-table td:nth-child(1){width:42%}
  .mtp-budget-table th:nth-child(2),.mtp-budget-table td:nth-child(2),
  .mtp-budget-table th:nth-child(3),.mtp-budget-table td:nth-child(3){width:29%;white-space:nowrap}
  .mtp-day-breakdown{grid-template-columns:1fr 1fr!important}
  .mtp-day-budget-line{flex-direction:column;align-items:flex-start!important;gap:5px}
  .mtp-final-actions{display:flex;flex-direction:column;gap:8px}
  .mtp-final-actions button{width:100%;min-height:45px;margin:0!important}
  .mtp-social-share-dialog{width:calc(100% - 20px);max-height:88vh;overflow:auto;padding:21px 15px}
  .mtp-social-grid{grid-template-columns:1fr 1fr!important;gap:8px}
  .mtp-social-grid button{min-height:54px}
  .mtp-saved-dialog{width:calc(100% - 20px);max-height:85vh;overflow:auto}
  .mtp-review-card{padding:14px 14px 48px}
  .mtp-review-change{min-height:36px}
  .mtp-print-header h1{font-size:23px}
}

.mtp-app,.mtp-results,.mtp-day,.mtp-review-card,.mtp-budget-table{overflow-wrap:anywhere;word-break:normal}

/* ---------- Trip dates ---------- */
.mtp-trip-date-field{margin-top:18px;text-align:left}
.mtp-trip-date-field label{display:block;font-weight:800;font-size:12px;margin-bottom:6px}
.mtp-trip-date-field input{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-sm);background:#fff;font-size:14px}
.mtp-trip-date-field small{display:block;margin-top:5px;color:#888;font-size:10px}
.mtp-day-date{display:inline-block;margin-left:8px;padding:4px 9px;border-radius:var(--mtp-r-pill);background:var(--mtp-soft);color:var(--mtp-gold-deep);font-size:10px;font-weight:800;vertical-align:middle}
.mtp-day-number .mtp-day-date{display:block;margin:7px 0 0;width:max-content;white-space:nowrap;font-size:10px;line-height:1.2}
@media(max-width:700px){.mtp-day-date{display:block;width:max-content;margin:5px 0 0}}
@media(max-width:760px){
  .mtp-day{grid-template-columns:1fr!important}
  .mtp-day-number{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .mtp-day-number .mtp-day-date{display:inline-block;margin:0!important}
  .mtp-day-content{min-width:0;width:100%;box-sizing:border-box}
  .mtp-time-content{min-width:0;overflow-wrap:anywhere}
}

/* ---------- Restaurant meal availability ---------- */
.mtp-meal-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:7px}
.mtp-meal-options label{display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:12px}

/* ---------- Trip map ---------- */
.mtp-trip-map-section{margin:24px 0;padding:20px 0;border-top:1px solid var(--mtp-line)}
.mtp-trip-map-head h2{margin:3px 0 4px;font-family:var(--mtp-font-display);font-weight:560;font-size:20px}
.mtp-trip-map-head p{margin:0;color:#777;font-size:12px}
.mtp-trip-map{width:100%;height:380px;border-radius:var(--mtp-r-md);overflow:hidden;border:1px solid var(--mtp-line);background:var(--mtp-cream)}
.mtp-trip-map-note{margin-top:7px;color:#777;font-size:11px}
.mtp-map-empty{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#777;font-size:12px}
@media(max-width:700px){.mtp-trip-map{height:300px}.mtp-trip-map-section{margin-top:16px}}

.mtp-map-popup-list{margin-top:6px;display:grid;gap:6px}
.mtp-map-popup-list>div{padding-top:5px;border-top:1px solid #eee}
.mtp-map-popup-list small{display:block;opacity:.7;margin-top:2px}

.mtp-map-custom-icon{background:transparent!important;border:0!important}
.mtp-map-photo-marker,.mtp-map-default-marker{width:54px;height:54px;border-radius:50%;position:relative;box-sizing:border-box}
.mtp-map-photo-marker{background:#fff;border:3px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.3)}
.mtp-map-photo-marker img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}
.mtp-map-photo-marker span{position:absolute;left:50%;bottom:-7px;transform:translateX(-50%) rotate(45deg);width:13px;height:13px;background:#fff;box-shadow:3px 3px 8px rgba(0,0,0,.2);z-index:-1}
.mtp-map-default-marker{background:var(--mtp-gold-deep);border:4px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.3)}
.mtp-map-default-marker span{position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%)}

.mtp-arrival-date-error{margin-top:8px;padding:11px 13px;border:1px solid #e6bcb2;border-radius:var(--mtp-r-sm);background:var(--mtp-rust-soft);color:var(--mtp-rust);font-size:13px;line-height:1.45}

/* ---------- Live Booking.com price ---------- */
.mtp-live-booking-btn{width:100%;margin-top:8px;cursor:pointer}
.mtp-booking-live-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.mtp-booking-live-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.mtp-booking-live-dialog{position:relative;width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:var(--mtp-r-lg);padding:30px;box-shadow:var(--mtp-shadow-lg);z-index:1}
.mtp-booking-live-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:var(--mtp-ink-soft)}
.mtp-booking-live-dialog h3{margin:6px 35px 8px 0;font-family:var(--mtp-font-display)}
.mtp-booking-live-dialog p{margin:0 0 18px;color:#666}
.mtp-booking-live-widget{min-height:260px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-md);padding:8px;overflow:hidden}
@media(max-width:640px){.mtp-booking-live-dialog{padding:22px 14px;border-radius:var(--mtp-r-md)}.mtp-booking-live-widget{padding:4px}}

/* ---------- Price adjustment ---------- */
.mtp-price-adjustment{margin:26px 0;padding:23px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-lg);background:var(--mtp-cream)}
.mtp-price-adjustment .mtp-section-title h3{margin:4px 0 6px}
.mtp-price-adjustment-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}
.mtp-price-adjustment-field{display:block;padding:14px;border:1px solid var(--mtp-line);border-radius:var(--mtp-r-sm);background:#fff}
.mtp-price-adjustment-field>span{display:block;font-weight:700}
.mtp-price-adjustment-field small{display:block;margin:3px 0 9px;color:#777}
.mtp-price-input-wrap{display:flex;align-items:center;border:1px solid var(--mtp-line);border-radius:9px;background:#fff;overflow:hidden}
.mtp-price-input-wrap b{padding-left:10px;color:var(--mtp-gold-deep)}
.mtp-price-input-wrap input{width:100%;border:0!important;outline:0;padding:9px 8px;background:transparent;font-weight:700}
.mtp-price-adjustment-actions{display:flex;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap}
.mtp-price-reset{border:0;background:transparent;text-decoration:underline;cursor:pointer;padding:4px 0;font-weight:600;color:var(--mtp-gold-deep)}
.mtp-price-adjustment-note{font-size:12px;color:#777}
@media(max-width:900px){.mtp-price-adjustment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.mtp-price-adjustment-grid{grid-template-columns:1fr}.mtp-price-adjustment{padding:16px}}

/* ---------- Premium Marrakech opening screen ---------- */
.mtp-step-hero-date{padding:0!important;margin:0!important}
.mtp-premium-start{position:relative;min-height:680px;overflow:hidden;border-radius:var(--mtp-r-lg);background-image:linear-gradient(180deg,rgba(8,22,18,.34),rgba(12,10,7,.8)),url("https://marrakechinmorocco.com/wp-content/uploads/2026/08/best-things-to-do-marrakech-2.png");background-size:cover;background-position:center;color:#fff;padding:36px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}
.mtp-premium-brand{position:absolute;top:28px;left:30px;display:flex;align-items:center;gap:11px;text-align:left;z-index:1}
.mtp-brand-mark{width:38px;height:38px;border:1px solid var(--mtp-gold-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--mtp-gold-light)}
.mtp-premium-brand strong{display:block;font-size:17px;letter-spacing:3px;font-weight:700}
.mtp-premium-brand small{display:block;font-size:9px;letter-spacing:2.5px;margin-top:2px;color:rgba(255,255,255,.85)}
.mtp-premium-heading{text-align:center;position:relative;z-index:1;margin-top:35px}
.mtp-premium-heading h3{margin:13px 0 10px;font-family:var(--mtp-font-display);font-size:clamp(48px,7vw,82px);line-height:.98;font-weight:560;letter-spacing:-.03em;color:#fff}
.mtp-premium-heading h3 em{font-style:normal;color:var(--mtp-gold-light)}
.mtp-premium-heading p{margin:16px 0 30px;font-size:20px;color:rgba(255,255,255,.94)}
.mtp-premium-decoration{display:flex;align-items:center;justify-content:center;gap:18px}
.mtp-premium-decoration span{width:90px;height:1px;background:linear-gradient(90deg,transparent,var(--mtp-gold-light))}
.mtp-premium-decoration span:last-child{background:linear-gradient(90deg,var(--mtp-gold-light),transparent)}
.mtp-premium-decoration b{color:var(--mtp-gold-light);font-size:20px;font-weight:400}
.mtp-premium-date-card{position:relative;z-index:1;width:min(100%,960px);margin:0 auto;padding:26px 28px;display:grid;grid-template-columns:1fr 46px 1fr;gap:12px;align-items:center;background:rgba(17,14,10,.85);border:1px solid rgba(231,193,132,.55);border-radius:19px;backdrop-filter:blur(10px);box-shadow:0 22px 58px rgba(0,0,0,.28);box-sizing:border-box}
.mtp-premium-date-field{text-align:left}
.mtp-premium-date-label{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:var(--mtp-gold-light);font-size:13px;font-weight:700;letter-spacing:1.7px}
.mtp-premium-date-label span{font-size:19px}
.mtp-premium-date-field label{position:relative;display:block}
.mtp-premium-date-field input{width:100%;height:56px;padding:0 16px;box-sizing:border-box;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:rgba(20,16,11,.82);color:#fff;font-size:16px;outline:0;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.mtp-premium-date-field input:focus{border-color:var(--mtp-gold-light);box-shadow:0 0 0 3px rgba(231,193,132,.18)}
.mtp-premium-date-field input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.85;cursor:pointer}
.mtp-premium-date-field input + span{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.68);font-size:15px;pointer-events:none}
.mtp-premium-date-field input:valid + span{display:none}
.mtp-premium-date-field input:not(:valid){color:transparent!important;caret-color:transparent}
.mtp-premium-date-field input:valid{color:#fff!important}
.mtp-premium-date-divider{height:66px;display:flex;align-items:center;justify-content:center;color:var(--mtp-gold-light);font-size:16px;position:relative;background:rgba(17,14,10,.85)}
.mtp-premium-date-divider:before{content:"";height:66px;width:1px;background:rgba(231,193,132,.35);position:absolute}
.mtp-premium-date-error{position:relative;z-index:2;max-width:960px;width:100%;margin:10px auto 0;padding:10px 14px;border-radius:9px;background:rgba(126,42,32,.85);color:#fff1f1;font-size:13px;box-sizing:border-box}
.mtp-premium-hidden-state{display:none!important}
.mtp-premium-trust{position:relative;z-index:1;max-width:850px;width:100%;margin:28px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.mtp-premium-trust>div{display:flex;align-items:center;justify-content:center;gap:10px;padding:0 20px;text-align:left}
.mtp-premium-trust>div+div{border-left:1px solid rgba(255,255,255,.25)}
.mtp-premium-trust b{color:var(--mtp-gold-light);font-size:25px}
.mtp-premium-trust strong{display:block;font-size:13px;margin-bottom:3px}
.mtp-premium-trust small{display:block;color:rgba(255,255,255,.7);font-size:10px}
.mtp-people-step{padding-top:34px!important}
@media(max-width:800px){.mtp-premium-start{min-height:720px;padding:75px 18px 28px}.mtp-premium-date-card{grid-template-columns:1fr;gap:18px;padding:20px}.mtp-premium-date-divider{display:none}.mtp-premium-trust{grid-template-columns:1fr;gap:15px}.mtp-premium-trust>div{justify-content:flex-start;padding:0}.mtp-premium-trust>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding-top:14px}}
@media(max-width:520px){.mtp-premium-start{min-height:760px;border-radius:16px;padding:74px 14px 24px;background-position:65% center}.mtp-premium-brand{top:19px;left:18px}.mtp-brand-mark{width:34px;height:34px}.mtp-premium-brand strong{font-size:14px}.mtp-premium-heading h3{font-size:48px;letter-spacing:-1px}.mtp-premium-heading p{font-size:16px}.mtp-premium-decoration span{width:42px}.mtp-premium-date-card{padding:16px;border-radius:15px}.mtp-premium-date-field input{height:54px}}

/* ---------- Start Planning button placement (first step) ---------- */
.mtp-step-hero-date ~ .mtp-nav,
.mtp-step-hero-date .mtp-nav,
.mtp-step-hero-date + .mtp-nav{justify-content:center!important}
.mtp-step-hero-date ~ .mtp-nav .mtp-next,
.mtp-step-hero-date .mtp-nav .mtp-next{margin-left:auto!important;margin-right:auto!important}

.mtp-card:has(.mtp-step-hero-date.is-active){position:relative;padding-bottom:105px}
.mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions{
  position:absolute;left:0;right:0;bottom:24px;z-index:20;
  display:flex;justify-content:center!important;align-items:center;border-top:0;padding:0;
}
.mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-back{display:none}
.mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-next{
  margin:0!important;min-width:220px;height:58px;padding:15px 30px;border-radius:14px;
  background:linear-gradient(135deg,var(--mtp-gold-deep),var(--mtp-gold-light));
  color:#21170c;font-size:18px;font-weight:800;box-shadow:0 14px 30px rgba(0,0,0,.24);
  transition:transform .18s var(--mtp-ease),box-shadow .18s var(--mtp-ease);
}
.mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-next:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(0,0,0,.3)}
@media(max-width:520px){
  .mtp-card:has(.mtp-step-hero-date.is-active){padding-bottom:95px}
  .mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions{bottom:20px}
  .mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-next{min-width:200px;height:54px;font-size:17px}
}
/* ================================================================
   v3.72 — PROFESSIONAL UI LAYER
   Visual redesign only. Targets the actual Planner markup.
   No JavaScript/PHP behavior is changed.
   ================================================================ */

.mtp-app{
  --pro-ink:#17130f;
  --pro-ink-2:#30271f;
  --pro-muted:#756b60;
  --pro-line:#e8dfd2;
  --pro-paper:#ffffff;
  --pro-cream:#fbf7f0;
  --pro-gold:#b88a4a;
  --pro-gold-2:#d7b16e;
  --pro-teal:#153f39;
  --pro-shadow:0 22px 65px rgba(30,20,10,.10);
  --pro-shadow-soft:0 10px 30px rgba(30,20,10,.07);
  max-width:1080px;
  margin:34px auto;
}

/* ---------- Overall shell ---------- */
.mtp-app .mtp-hero{
  padding:52px 48px 42px;
  background:
    radial-gradient(circle at 88% 18%,rgba(184,138,74,.18),transparent 30%),
    linear-gradient(135deg,#fffdf9 0%,#f8f1e7 100%);
  border:1px solid var(--pro-line);
  border-radius:30px 30px 0 0;
}

.mtp-app .mtp-card{
  padding:34px 40px 38px;
  border:1px solid var(--pro-line);
  border-top:0;
  border-radius:0 0 30px 30px;
  box-shadow:var(--pro-shadow);
  background:#fff;
}

/* ---------- Progress ---------- */
.mtp-app .mtp-progress{
  height:5px;
  margin:0 0 34px;
  background:#eee7dc;
  border-radius:99px;
}

.mtp-app .mtp-progress span{
  background:linear-gradient(90deg,#8e6331,#b88a4a,#dfc18a);
  box-shadow:0 0 12px rgba(184,138,74,.22);
}

/* ---------- Normal steps ---------- */
.mtp-app .mtp-step:not(.mtp-step-hero-date){
  min-height:360px;
  padding:12px 8px 4px;
}

.mtp-app .mtp-step:not(.mtp-step-hero-date) h3{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
  font-size:clamp(28px,4vw,38px);
  line-height:1.08;
  color:var(--pro-ink);
}

.mtp-app .mtp-step-note{
  max-width:760px;
  margin:-18px auto 28px;
  text-align:center;
  color:var(--pro-muted);
}

/* ---------- People / number control ---------- */
.mtp-app .mtp-number{
  max-width:420px;
  margin:42px auto;
  padding:0;
  gap:34px;
}

.mtp-app .mtp-number button{
  width:58px;
  height:58px;
  border:1px solid #ded3c3;
  background:#fff;
  color:#9a6d37;
  font-size:25px;
  box-shadow:0 5px 18px rgba(25,16,8,.06);
}

.mtp-app .mtp-number button:hover{
  border-color:var(--pro-gold);
  background:#fcf8f1;
}

.mtp-app .mtp-number strong{
  min-width:90px;
  font-size:54px;
  color:var(--pro-ink);
}

/* ---------- Budget ---------- */
.mtp-app .mtp-budget-row{
  max-width:640px;
  margin:0 auto;
}

.mtp-app .mtp-budget-grid{
  max-width:760px;
  margin:0 auto;
}

.mtp-app .mtp-budget-row select,
.mtp-app .mtp-budget-row input,
.mtp-app .mtp-budget-grid input{
  min-height:54px;
  border-color:#ddd3c5;
  background:#fffdf9;
  border-radius:12px;
}

.mtp-app .mtp-budget-row select:focus,
.mtp-app .mtp-budget-row input:focus,
.mtp-app .mtp-budget-grid input:focus{
  border-color:var(--pro-gold);
  box-shadow:0 0 0 4px rgba(184,138,74,.10);
}

/* ---------- Selection / meal cards ---------- */
.mtp-app .mtp-meal-options,
.mtp-app .mtp-interests{
  max-width:820px;
  margin:0 auto;
  gap:14px;
}

.mtp-app .mtp-meal-options label,
.mtp-app .mtp-interests label{
  min-height:72px;
  display:flex;
  align-items:center;
  gap:12px;
  box-sizing:border-box;
  padding:18px 20px;
  border:1px solid var(--pro-line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--pro-shadow-soft);
  transition:.2s ease;
}

.mtp-app .mtp-meal-options label:hover,
.mtp-app .mtp-interests label:hover{
  transform:translateY(-2px);
  border-color:#d2ad76;
  box-shadow:0 13px 30px rgba(30,20,10,.09);
}

/* ---------- Choice menus ---------- */
.mtp-app .mtp-choice-menu{
  border:1px solid var(--pro-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 48px rgba(25,16,8,.10);
  overflow:hidden;
}

.mtp-app .mtp-choice-card-grid{
  padding:16px;
  gap:14px;
  background:#fcfaf6;
}

.mtp-app .mtp-choice-card{
  border:1px solid #e6ddd0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 4px 16px rgba(25,16,8,.06)!important;
}

.mtp-app .mtp-choice-card:hover{
  transform:translateY(-3px)!important;
  border-color:#caa36b!important;
  box-shadow:0 16px 30px rgba(25,16,8,.12)!important;
}

.mtp-app .mtp-choice-card-image,
.mtp-app .mtp-choice-card-placeholder{
  height:135px;
}

.mtp-app .mtp-choice-card-body{
  padding:13px 14px 15px;
  gap:5px;
}

.mtp-app .mtp-choice-card-body strong{
  font-size:14px;
  line-height:1.35;
}

.mtp-app .mtp-choice-card-body small{
  font-size:11px;
  color:#81766a;
}

.mtp-app .mtp-choice-card-body b{
  color:#9a6a32;
  font-size:15px;
}

/* ---------- Hotels ---------- */
.mtp-app .mtp-hotel-grid{
  gap:16px;
}

.mtp-app .mtp-hotel-option{
  border:1px solid var(--pro-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 7px 22px rgba(25,16,8,.06)!important;
  transition:.2s ease;
}

.mtp-app .mtp-hotel-option:hover{
  transform:translateY(-3px);
  border-color:#caa36b!important;
  box-shadow:0 18px 35px rgba(25,16,8,.11)!important;
}

/* ---------- Activity cards ---------- */
.mtp-app .mtp-activity-choice,
.mtp-app .mtp-optional-activity-card{
  border:1px solid var(--pro-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(25,16,8,.06)!important;
}

.mtp-app .mtp-activity-choice:hover,
.mtp-app .mtp-optional-activity-card:hover{
  border-color:#caa36b!important;
  transform:translateY(-2px);
}

/* ---------- Navigation ---------- */
.mtp-app .mtp-actions{
  margin-top:18px;
  padding-top:24px;
  border-top:1px solid #eee6da;
}

.mtp-app .mtp-actions button{
  min-height:52px;
  padding:14px 24px;
  border-radius:13px;
  font-size:14px;
}

.mtp-app .mtp-actions .mtp-next,
.mtp-app .mtp-actions .mtp-generate{
  background:linear-gradient(135deg,#1b1712,#34271a);
  color:#fff;
  box-shadow:0 12px 26px rgba(25,16,8,.16);
}

.mtp-app .mtp-actions .mtp-back{
  background:#faf6ef;
  border:1px solid #e6dbcb;
}

/* ---------- Results / itinerary ---------- */
.mtp-app .mtp-results{
  margin-top:32px;
}

.mtp-app .mtp-result-header{
  padding:42px 6px 24px;
}

.mtp-app .mtp-result-header h2{
  font-size:clamp(34px,5vw,52px);
}

.mtp-app .mtp-summary-grid{
  gap:12px;
}

.mtp-app .mtp-summary-grid div{
  min-height:82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-radius:15px;
  box-shadow:0 5px 18px rgba(25,16,8,.05);
}

/* ---------- Daily itinerary ---------- */
.mtp-app .mtp-day{
  border:1px solid var(--pro-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 12px 32px rgba(25,16,8,.07)!important;
  overflow:hidden;
}

.mtp-app .mtp-day-header{
  background:linear-gradient(135deg,#fbf7ef,#fff);
  border-bottom:1px solid var(--pro-line);
}

.mtp-app .mtp-day-content{
  padding:18px;
}

.mtp-app .mtp-day-item{
  border-bottom:1px solid #eee7dd;
}

/* ---------- Final review ---------- */
.mtp-app .mtp-review-card{
  border:1px solid var(--pro-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(25,16,8,.05);
  padding:18px 18px 46px;
}

.mtp-app .mtp-review-create,
.mtp-app .mtp-generate{
  background:linear-gradient(135deg,#8d6030,#b88a4a);
  color:#fff;
}

/* ---------- Map ---------- */
.mtp-app .mtp-trip-map{
  border:1px solid var(--pro-line)!important;
  border-radius:22px!important;
  overflow:hidden;
  box-shadow:0 14px 38px rgba(25,16,8,.08);
}

.mtp-app .mtp-trip-map-head{
  padding:18px 20px;
  background:#fff;
  border-bottom:1px solid var(--pro-line);
}

/* ---------- Premium opening screen ---------- */
.mtp-app .mtp-premium-start{
  min-height:680px;
  border-radius:24px;
  background-image:
    linear-gradient(180deg,rgba(7,21,18,.24),rgba(10,10,8,.78)),
    url("https://marrakechinmorocco.com/wp-content/uploads/2026/08/best-things-to-do-marrakech-2.png");
  background-size:cover;
  background-position:center;
  box-shadow:0 20px 55px rgba(20,12,5,.16);
}

.mtp-app .mtp-premium-heading h3{
  font-size:clamp(52px,7vw,86px);
  text-shadow:0 3px 20px rgba(0,0,0,.20);
}

.mtp-app .mtp-premium-heading p{
  font-size:18px;
  letter-spacing:.02em;
}

.mtp-app .mtp-premium-date-card{
  background:rgba(17,14,10,.88);
  border-color:rgba(220,176,88,.65);
  border-radius:18px;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}

.mtp-app .mtp-premium-date-field input{
  height:58px;
  border-color:rgba(255,255,255,.28);
  border-radius:11px;
}

.mtp-app .mtp-premium-trust{
  margin-top:30px;
}

/* Start Planning: center it only on opening screen */
.mtp-app .mtp-card:has(.mtp-step-hero-date.is-active){
  position:relative;
  padding-bottom:108px;
}

.mtp-app .mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions{
  position:absolute;
  left:0;
  right:0;
  bottom:28px;
  margin:0;
  padding:0;
  border-top:0;
  justify-content:center!important;
}

.mtp-app .mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-back{
  display:none;
}

.mtp-app .mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-next{
  min-width:220px;
  height:56px;
  border-radius:14px;
  background:linear-gradient(135deg,#b17d3d,#e0b56a);
  color:#1d160e;
  font-size:17px;
  font-weight:900;
  box-shadow:0 14px 30px rgba(0,0,0,.20);
}

/* ---------- Mobile ---------- */
@media(max-width:760px){
  .mtp-app{
    margin:18px auto;
  }

  .mtp-app .mtp-hero{
    padding:38px 24px 30px;
    border-radius:22px 22px 0 0;
  }

  .mtp-app .mtp-card{
    padding:24px 18px 30px;
    border-radius:0 0 22px 22px;
  }

  .mtp-app .mtp-summary-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .mtp-app .mtp-premium-start{
    min-height:760px;
    border-radius:18px;
  }

  .mtp-app .mtp-premium-heading h3{
    font-size:50px;
  }

  .mtp-app .mtp-premium-date-card{
    grid-template-columns:1fr;
  }

  .mtp-app .mtp-premium-date-divider{
    display:none;
  }

  .mtp-app .mtp-card:has(.mtp-step-hero-date.is-active){
    padding-bottom:96px;
  }

  .mtp-app .mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions{
    bottom:20px;
  }

  .mtp-app .mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-next{
    min-width:200px;
  }
}

@media(max-width:480px){
  .mtp-app .mtp-summary-grid{
    grid-template-columns:1fr 1fr;
  }

  .mtp-app .mtp-choice-card-image,
  .mtp-app .mtp-choice-card-placeholder{
    height:105px;
  }

  .mtp-app .mtp-step:not(.mtp-step-hero-date) h3{
    font-size:27px;
  }

  .mtp-app .mtp-premium-heading h3{
    font-size:44px;
  }
}

/* ================================================================
   v3.73 — REAL OPENING SCREEN REDESIGN
   The old WordPress/form header is removed visually on step 1.
   The opening screen becomes one full premium travel hero.
   ================================================================ */

/* Remove the old generic header/progress only while the opening screen is active. */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-hero{
  display:none!important;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-card{
  max-width:none;
  padding:0!important;
  border:0!important;
  border-radius:28px!important;
  overflow:hidden;
  background:#11100d;
  box-shadow:0 30px 80px rgba(20,12,5,.18);
}

/* Full-screen hero card */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-step-hero-date{
  min-height:760px!important;
  padding:0!important;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-start{
  min-height:760px!important;
  width:100%;
  border-radius:28px!important;
  padding:40px 55px 130px!important;
  justify-content:center;
  box-sizing:border-box;
  background-image:
    linear-gradient(180deg,
      rgba(9,20,17,.18) 0%,
      rgba(8,17,14,.27) 32%,
      rgba(7,11,9,.82) 100%),
    url("https://marrakechinmorocco.com/wp-content/uploads/2026/08/best-things-to-do-marrakech-2.png");
  background-size:cover;
  background-position:center 46%;
}

/* Subtle cinematic vignette */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-start:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at center,transparent 25%,rgba(0,0,0,.20) 100%);
}

/* Brand */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-brand{
  top:34px;
  left:42px;
  z-index:5;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-brand-mark{
  width:42px;
  height:42px;
  background:rgba(12,15,12,.24);
  backdrop-filter:blur(8px);
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-brand strong{
  font-size:18px;
  letter-spacing:4px;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}

/* Main title */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-heading{
  margin-top:25px;
  z-index:4;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-heading h3{
  margin:18px 0 14px;
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(58px,8vw,104px);
  line-height:.94;
  font-weight:500;
  letter-spacing:-3px;
  text-shadow:0 4px 30px rgba(0,0,0,.35);
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-heading h3 em{
  color:#e2b665;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-heading p{
  margin:20px auto 34px;
  font-size:18px;
  letter-spacing:.04em;
  color:rgba(255,255,255,.88);
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-decoration span{
  width:105px;
}

/* Date selector — floating glass panel */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-card{
  width:min(900px,100%);
  padding:26px;
  margin:0 auto;
  background:rgba(16,14,11,.76);
  border:1px solid rgba(236,202,139,.48);
  border-radius:20px;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:
    0 24px 70px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.08);
  z-index:5;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-label{
  color:#e4bd72;
  font-size:12px;
  letter-spacing:2px;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-field input{
  height:62px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.23);
  border-radius:12px;
  font-size:16px;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-field input:focus{
  background:rgba(255,255,255,.12);
  border-color:#e0b466;
}

/* Start Planning is part of the hero, not a generic form footer. */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-actions{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:42px!important;
  z-index:20!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-next{
  min-width:245px!important;
  height:62px!important;
  padding:0 34px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:linear-gradient(135deg,#c28b45,#e5bf78)!important;
  color:#1b140c!important;
  font-size:17px!important;
  letter-spacing:.01em;
  box-shadow:0 15px 35px rgba(0,0,0,.32)!important;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-next:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 20px 42px rgba(0,0,0,.38)!important;
}

/* Trust strip becomes a discreet premium footer */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-trust{
  position:absolute;
  left:50%;
  bottom:115px;
  transform:translateX(-50%);
  width:min(800px,calc(100% - 80px));
  margin:0;
  z-index:5;
  opacity:.86;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-trust>div{
  padding:0 18px;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-trust strong{
  font-size:11px;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-trust small{
  font-size:9px;
}

/* Error stays readable over the image */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-error{
  max-width:900px;
  margin:10px auto 0;
}

/* Mobile */
@media(max-width:760px){
  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-card{
    border-radius:20px!important;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-step-hero-date,
  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-start{
    min-height:820px!important;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-start{
    padding:80px 18px 125px!important;
    background-position:64% center;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-brand{
    top:22px;
    left:20px;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-heading{
    margin-top:15px;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-heading h3{
    font-size:54px;
    letter-spacing:-2px;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-heading p{
    font-size:15px;
    margin-bottom:25px;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-decoration span{
    width:48px;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-card{
    padding:18px;
    border-radius:16px;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-field input{
    height:56px;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-trust{
    bottom:105px;
    width:calc(100% - 40px);
    grid-template-columns:1fr;
    gap:9px;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-trust>div{
    justify-content:center;
    border:0!important;
    padding:0!important;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-trust>div:not(:first-child){
    display:none;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-actions{
    bottom:27px!important;
  }

  .mtp-app:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-next{
    width:calc(100% - 40px)!important;
    min-width:0!important;
    height:58px!important;
  }
}

/* ================================================================
   v3.72 — PROFESSIONAL UI LAYER
   Visual redesign only. Targets the actual Planner markup.
   No JavaScript/PHP behavior is changed.
   ================================================================ */

.mtp-app{
  --pro-ink:#17130f;
  --pro-ink-2:#30271f;
  --pro-muted:#756b60;
  --pro-line:#e8dfd2;
  --pro-paper:#ffffff;
  --pro-cream:#fbf7f0;
  --pro-gold:#b88a4a;
  --pro-gold-2:#d7b16e;
  --pro-teal:#153f39;
  --pro-shadow:0 22px 65px rgba(30,20,10,.10);
  --pro-shadow-soft:0 10px 30px rgba(30,20,10,.07);
  max-width:1080px;
  margin:34px auto;
}

/* ---------- Overall shell ---------- */
.mtp-app .mtp-hero{
  padding:52px 48px 42px;
  background:
    radial-gradient(circle at 88% 18%,rgba(184,138,74,.18),transparent 30%),
    linear-gradient(135deg,#fffdf9 0%,#f8f1e7 100%);
  border:1px solid var(--pro-line);
  border-radius:30px 30px 0 0;
}

.mtp-app .mtp-card{
  padding:34px 40px 38px;
  border:1px solid var(--pro-line);
  border-top:0;
  border-radius:0 0 30px 30px;
  box-shadow:var(--pro-shadow);
  background:#fff;
}

/* ---------- Progress ---------- */
.mtp-app .mtp-progress{
  height:5px;
  margin:0 0 34px;
  background:#eee7dc;
  border-radius:99px;
}

.mtp-app .mtp-progress span{
  background:linear-gradient(90deg,#8e6331,#b88a4a,#dfc18a);
  box-shadow:0 0 12px rgba(184,138,74,.22);
}

/* ---------- Normal steps ---------- */
.mtp-app .mtp-step:not(.mtp-step-hero-date){
  min-height:360px;
  padding:12px 8px 4px;
}

.mtp-app .mtp-step:not(.mtp-step-hero-date) h3{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
  font-size:clamp(28px,4vw,38px);
  line-height:1.08;
  color:var(--pro-ink);
}

.mtp-app .mtp-step-note{
  max-width:760px;
  margin:-18px auto 28px;
  text-align:center;
  color:var(--pro-muted);
}

/* ---------- People / number control ---------- */
.mtp-app .mtp-number{
  max-width:420px;
  margin:42px auto;
  padding:0;
  gap:34px;
}

.mtp-app .mtp-number button{
  width:58px;
  height:58px;
  border:1px solid #ded3c3;
  background:#fff;
  color:#9a6d37;
  font-size:25px;
  box-shadow:0 5px 18px rgba(25,16,8,.06);
}

.mtp-app .mtp-number button:hover{
  border-color:var(--pro-gold);
  background:#fcf8f1;
}

.mtp-app .mtp-number strong{
  min-width:90px;
  font-size:54px;
  color:var(--pro-ink);
}

/* ---------- Budget ---------- */
.mtp-app .mtp-budget-row{
  max-width:640px;
  margin:0 auto;
}

.mtp-app .mtp-budget-grid{
  max-width:760px;
  margin:0 auto;
}

.mtp-app .mtp-budget-row select,
.mtp-app .mtp-budget-row input,
.mtp-app .mtp-budget-grid input{
  min-height:54px;
  border-color:#ddd3c5;
  background:#fffdf9;
  border-radius:12px;
}

.mtp-app .mtp-budget-row select:focus,
.mtp-app .mtp-budget-row input:focus,
.mtp-app .mtp-budget-grid input:focus{
  border-color:var(--pro-gold);
  box-shadow:0 0 0 4px rgba(184,138,74,.10);
}

/* ---------- Selection / meal cards ---------- */
.mtp-app .mtp-meal-options,
.mtp-app .mtp-interests{
  max-width:820px;
  margin:0 auto;
  gap:14px;
}

.mtp-app .mtp-meal-options label,
.mtp-app .mtp-interests label{
  min-height:72px;
  display:flex;
  align-items:center;
  gap:12px;
  box-sizing:border-box;
  padding:18px 20px;
  border:1px solid var(--pro-line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--pro-shadow-soft);
  transition:.2s ease;
}

.mtp-app .mtp-meal-options label:hover,
.mtp-app .mtp-interests label:hover{
  transform:translateY(-2px);
  border-color:#d2ad76;
  box-shadow:0 13px 30px rgba(30,20,10,.09);
}

/* ---------- Choice menus ---------- */
.mtp-app .mtp-choice-menu{
  border:1px solid var(--pro-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 48px rgba(25,16,8,.10);
  overflow:hidden;
}

.mtp-app .mtp-choice-card-grid{
  padding:16px;
  gap:14px;
  background:#fcfaf6;
}

.mtp-app .mtp-choice-card{
  border:1px solid #e6ddd0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 4px 16px rgba(25,16,8,.06)!important;
}

.mtp-app .mtp-choice-card:hover{
  transform:translateY(-3px)!important;
  border-color:#caa36b!important;
  box-shadow:0 16px 30px rgba(25,16,8,.12)!important;
}

.mtp-app .mtp-choice-card-image,
.mtp-app .mtp-choice-card-placeholder{
  height:135px;
}

.mtp-app .mtp-choice-card-body{
  padding:13px 14px 15px;
  gap:5px;
}

.mtp-app .mtp-choice-card-body strong{
  font-size:14px;
  line-height:1.35;
}

.mtp-app .mtp-choice-card-body small{
  font-size:11px;
  color:#81766a;
}

.mtp-app .mtp-choice-card-body b{
  color:#9a6a32;
  font-size:15px;
}

/* ---------- Hotels ---------- */
.mtp-app .mtp-hotel-grid{
  gap:16px;
}

.mtp-app .mtp-hotel-option{
  border:1px solid var(--pro-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 7px 22px rgba(25,16,8,.06)!important;
  transition:.2s ease;
}

.mtp-app .mtp-hotel-option:hover{
  transform:translateY(-3px);
  border-color:#caa36b!important;
  box-shadow:0 18px 35px rgba(25,16,8,.11)!important;
}

/* ---------- Activity cards ---------- */
.mtp-app .mtp-activity-choice,
.mtp-app .mtp-optional-activity-card{
  border:1px solid var(--pro-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(25,16,8,.06)!important;
}

.mtp-app .mtp-activity-choice:hover,
.mtp-app .mtp-optional-activity-card:hover{
  border-color:#caa36b!important;
  transform:translateY(-2px);
}

/* ---------- Navigation ---------- */
.mtp-app .mtp-actions{
  margin-top:18px;
  padding-top:24px;
  border-top:1px solid #eee6da;
}

.mtp-app .mtp-actions button{
  min-height:52px;
  padding:14px 24px;
  border-radius:13px;
  font-size:14px;
}

.mtp-app .mtp-actions .mtp-next,
.mtp-app .mtp-actions .mtp-generate{
  background:linear-gradient(135deg,#1b1712,#34271a);
  color:#fff;
  box-shadow:0 12px 26px rgba(25,16,8,.16);
}

.mtp-app .mtp-actions .mtp-back{
  background:#faf6ef;
  border:1px solid #e6dbcb;
}

/* ---------- Results / itinerary ---------- */
.mtp-app .mtp-results{
  margin-top:32px;
}

.mtp-app .mtp-result-header{
  padding:42px 6px 24px;
}

.mtp-app .mtp-result-header h2{
  font-size:clamp(34px,5vw,52px);
}

.mtp-app .mtp-summary-grid{
  gap:12px;
}

.mtp-app .mtp-summary-grid div{
  min-height:82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-radius:15px;
  box-shadow:0 5px 18px rgba(25,16,8,.05);
}

/* ---------- Daily itinerary ---------- */
.mtp-app .mtp-day{
  border:1px solid var(--pro-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 12px 32px rgba(25,16,8,.07)!important;
  overflow:hidden;
}

.mtp-app .mtp-day-header{
  background:linear-gradient(135deg,#fbf7ef,#fff);
  border-bottom:1px solid var(--pro-line);
}

.mtp-app .mtp-day-content{
  padding:18px;
}

.mtp-app .mtp-day-item{
  border-bottom:1px solid #eee7dd;
}

/* ---------- Final review ---------- */
.mtp-app .mtp-review-card{
  border:1px solid var(--pro-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(25,16,8,.05);
  padding:18px 18px 46px;
}

.mtp-app .mtp-review-create,
.mtp-app .mtp-generate{
  background:linear-gradient(135deg,#8d6030,#b88a4a);
  color:#fff;
}

/* ---------- Map ---------- */
.mtp-app .mtp-trip-map{
  border:1px solid var(--pro-line)!important;
  border-radius:22px!important;
  overflow:hidden;
  box-shadow:0 14px 38px rgba(25,16,8,.08);
}

.mtp-app .mtp-trip-map-head{
  padding:18px 20px;
  background:#fff;
  border-bottom:1px solid var(--pro-line);
}

/* ---------- Premium opening screen ---------- */
.mtp-app .mtp-premium-start{
  min-height:680px;
  border-radius:24px;
  background-image:
    linear-gradient(180deg,rgba(7,21,18,.24),rgba(10,10,8,.78)),
    url("https://marrakechinmorocco.com/wp-content/uploads/2026/08/best-things-to-do-marrakech-2.png");
  background-size:cover;
  background-position:center;
  box-shadow:0 20px 55px rgba(20,12,5,.16);
}

.mtp-app .mtp-premium-heading h3{
  font-size:clamp(52px,7vw,86px);
  text-shadow:0 3px 20px rgba(0,0,0,.20);
}

.mtp-app .mtp-premium-heading p{
  font-size:18px;
  letter-spacing:.02em;
}

.mtp-app .mtp-premium-date-card{
  background:rgba(17,14,10,.88);
  border-color:rgba(220,176,88,.65);
  border-radius:18px;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}

.mtp-app .mtp-premium-date-field input{
  height:58px;
  border-color:rgba(255,255,255,.28);
  border-radius:11px;
}

.mtp-app .mtp-premium-trust{
  margin-top:30px;
}

/* Start Planning: center it only on opening screen */
.mtp-app .mtp-card:has(.mtp-step-hero-date.is-active){
  position:relative;
  padding-bottom:108px;
}

.mtp-app .mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions{
  position:absolute;
  left:0;
  right:0;
  bottom:28px;
  margin:0;
  padding:0;
  border-top:0;
  justify-content:center!important;
}

.mtp-app .mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-back{
  display:none;
}

.mtp-app .mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-next{
  min-width:220px;
  height:56px;
  border-radius:14px;
  background:linear-gradient(135deg,#b17d3d,#e0b56a);
  color:#1d160e;
  font-size:17px;
  font-weight:900;
  box-shadow:0 14px 30px rgba(0,0,0,.20);
}

/* ---------- Mobile ---------- */
@media(max-width:760px){
  .mtp-app{
    margin:18px auto;
  }

  .mtp-app .mtp-hero{
    padding:38px 24px 30px;
    border-radius:22px 22px 0 0;
  }

  .mtp-app .mtp-card{
    padding:24px 18px 30px;
    border-radius:0 0 22px 22px;
  }

  .mtp-app .mtp-summary-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .mtp-app .mtp-premium-start{
    min-height:760px;
    border-radius:18px;
  }

  .mtp-app .mtp-premium-heading h3{
    font-size:50px;
  }

  .mtp-app .mtp-premium-date-card{
    grid-template-columns:1fr;
  }

  .mtp-app .mtp-premium-date-divider{
    display:none;
  }

  .mtp-app .mtp-card:has(.mtp-step-hero-date.is-active){
    padding-bottom:96px;
  }

  .mtp-app .mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions{
    bottom:20px;
  }

  .mtp-app .mtp-card:has(.mtp-step-hero-date.is-active) .mtp-actions .mtp-next{
    min-width:200px;
  }
}

@media(max-width:480px){
  .mtp-app .mtp-summary-grid{
    grid-template-columns:1fr 1fr;
  }

  .mtp-app .mtp-choice-card-image,
  .mtp-app .mtp-choice-card-placeholder{
    height:105px;
  }

  .mtp-app .mtp-step:not(.mtp-step-hero-date) h3{
    font-size:27px;
  }

  .mtp-app .mtp-premium-heading h3{
    font-size:44px;
  }
}

/* ================================================================
   v3.74 — FIX RESTAURANT/CHOICE LIST SCROLL
   ================================================================ */
.mtp-app .mtp-choice-menu{
  max-height:min(72vh,760px)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
.mtp-app .mtp-choice-card-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  padding:16px!important;
  scrollbar-width:auto!important;
  scrollbar-color:#b88a4a #f4eee5!important;
}
.mtp-app .mtp-choice-card-grid::-webkit-scrollbar{width:9px!important}
.mtp-app .mtp-choice-card-grid::-webkit-scrollbar-track{
  background:#f4eee5!important;
  border-radius:10px!important;
}
.mtp-app .mtp-choice-card-grid::-webkit-scrollbar-thumb{
  background:#b88a4a!important;
  border-radius:10px!important;
  border:2px solid #f4eee5!important;
}
@media(max-width:760px){
  .mtp-app .mtp-choice-menu{max-height:72vh!important}
  .mtp-app .mtp-choice-card-grid{
    max-height:none!important;
    overflow-y:scroll!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch!important;
  }
}

/* ================================================================
   v3.75 — RESTAURANT PICKER: COMPACT GRID + INTERNAL SCROLL
   v3.74 made the picker too tall/vertical. This restores a compact
   responsive card grid and keeps scrolling inside the picker.
   ================================================================ */

.mtp-app .mtp-choice-menu{
  width:100%!important;
  max-height:min(66vh,640px)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

.mtp-app .mtp-choice-card-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  max-height:none!important;
  min-height:0!important;
  box-sizing:border-box!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:12px!important;
  align-content:start!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
}

.mtp-app .mtp-choice-card{
  min-width:0!important;
  width:100%!important;
  height:auto!important;
  box-sizing:border-box!important;
}

.mtp-app .mtp-choice-card-image,
.mtp-app .mtp-choice-card-placeholder{
  width:100%!important;
  height:105px!important;
  object-fit:cover!important;
}

.mtp-app .mtp-choice-card-body{
  min-height:82px!important;
  padding:10px 11px 12px!important;
  box-sizing:border-box!important;
}

.mtp-app .mtp-choice-card-body strong{
  font-size:12px!important;
  line-height:1.3!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

.mtp-app .mtp-choice-card-body small{
  font-size:10px!important;
}

.mtp-app .mtp-choice-card-body b{
  font-size:14px!important;
}

@media(max-width:850px){
  .mtp-app .mtp-choice-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:480px){
  .mtp-app .mtp-choice-menu{
    max-height:68vh!important;
  }
  .mtp-app .mtp-choice-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    padding:9px!important;
  }
  .mtp-app .mtp-choice-card-image,
  .mtp-app .mtp-choice-card-placeholder{
    height:88px!important;
  }
}

@media(max-width:360px){
  .mtp-app .mtp-choice-card-grid{
    grid-template-columns:1fr!important;
  }
}

/* ================================================================
   v3.76 — DO NOT SHOW CHANGE MENUS UNTIL CLICKED
   Root cause: the compact grid uses display:grid!important, which
   overrides the browser's [hidden] { display:none } behavior.
   ================================================================ */

.mtp-app .mtp-choice-menu[hidden]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

.mtp-app .mtp-choice-menu:not([hidden]){
  display:grid!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* ================================================================
   v3.77 — MARRAKECH OPENING HERO IMAGE
   ================================================================ */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-start {
  background-image:
    linear-gradient(180deg,
      rgba(9,20,17,.18) 0%,
      rgba(8,17,14,.27) 32%,
      rgba(7,11,9,.82) 100%),
    url("https://marrakechinmorocco.com/wp-content/uploads/2026/08/best-things-to-do-marrakech-2.png") !important;
  background-size:cover !important;
  background-position:center center !important;
}

/* ================================================================
   v3.78 — MARRAKECH PLANNER NAVIGATION HIGHLIGHT
   ================================================================ */

/* Highlight only the Marrakech Planner Trip menu item.
   Works with common WordPress/Blogger-style navigation markup. */
a[href*="marrakech"][href*="planner"],
a[href*="marrakech-planner"],
a[href*="planner-trip"]{
  background:linear-gradient(135deg,#b98a4b,#d8b06b)!important;
  color:#fff!important;
  border-radius:8px!important;
  padding:10px 16px!important;
  font-weight:600!important;
  box-shadow:0 5px 14px rgba(120,82,35,.18)!important;
  transition:all .2s ease!important;
}

a[href*="marrakech"][href*="planner"]:hover,
a[href*="marrakech-planner"]:hover,
a[href*="planner-trip"]:hover{
  background:linear-gradient(135deg,#9d713b,#c99d58)!important;
  color:#fff!important;
  transform:translateY(-1px);
}

/* If the theme marks the current menu item with an active/current class. */
.current-menu-item a[href*="planner"],
.current_page_item a[href*="planner"],
.menu-item.current-menu-item a[href*="planner"]{
  background:linear-gradient(135deg,#b98a4b,#d8b06b)!important;
  color:#fff!important;
  border-radius:8px!important;
  padding:10px 16px!important;
}

/* ================================================================
   v4.0 — PUBLIC TRIP LIBRARY
   ================================================================ */
.mtp-public-library,
.mtp-public-trip-detail{
  max-width:1080px;
  margin:50px auto;
  padding:0 22px;
  color:#1a1713;
}
.mtp-library-heading{
  margin-bottom:30px;
}
.mtp-library-heading h1{
  margin:8px 0 8px;
  font-family:Fraunces,Georgia,serif;
  font-size:clamp(36px,5vw,58px);
  line-height:1;
}
.mtp-library-heading p{
  max-width:720px;
  color:#756b60;
  font-size:16px;
}
.mtp-library-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.mtp-library-card{
  overflow:hidden;
  border:1px solid #e6ddd1;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 34px rgba(31,22,12,.08);
  transition:.22s ease;
}
.mtp-library-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 44px rgba(31,22,12,.13);
}
.mtp-library-cover{
  position:relative;
  display:block;
  height:220px;
  overflow:hidden;
  background:#eee5d8;
}
.mtp-library-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .4s ease;
}
.mtp-library-card:hover .mtp-library-cover img{
  transform:scale(1.04);
}
.mtp-library-cover-placeholder{
  height:100%;
  display:grid;
  place-items:center;
  color:#b99769;
  letter-spacing:3px;
  background:linear-gradient(135deg,#f8f1e6,#eee3d2);
}
.mtp-library-badge{
  position:absolute;
  top:13px;
  left:13px;
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#0aaf70;
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.5px;
  box-shadow:0 5px 15px rgba(0,0,0,.15);
}
.mtp-library-card-body{
  padding:17px 18px 19px;
}
.mtp-library-author{
  color:#81766a;
  font-size:12px;
  margin-bottom:7px;
}
.mtp-library-card h2{
  margin:0 0 7px;
  font-family:Fraunces,Georgia,serif;
  font-size:24px;
  line-height:1.05;
}
.mtp-library-card h2 a{
  color:#17130f;
  text-decoration:none;
}
.mtp-library-card p{
  min-height:42px;
  margin:0 0 15px;
  color:#71685e;
  font-size:13px;
  line-height:1.5;
}
.mtp-library-stats{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  align-items:center;
  gap:7px;
  padding:12px 0;
  border-top:1px solid #eee7dc;
  border-bottom:1px solid #eee7dc;
  font-size:12px;
  color:#665e54;
}
.mtp-library-stats strong{
  color:#17130f;
  font-size:17px;
}
.mtp-library-stats small{
  font-size:10px;
  font-weight:400;
  color:#8b8177;
}
.mtp-library-view{
  display:inline-flex;
  margin-top:14px;
  color:#9a6a32;
  font-weight:800;
  text-decoration:none;
  font-size:13px;
}
.mtp-library-empty{
  padding:70px 25px;
  text-align:center;
  border:1px dashed #d9cbb8;
  border-radius:20px;
  background:#fbf8f3;
}
.mtp-library-empty h2{
  font-family:Fraunces,Georgia,serif;
  font-size:32px;
  margin:0 0 8px;
}
.mtp-library-empty p{
  color:#756b60;
}
.mtp-library-back{
  display:inline-flex;
  margin-bottom:20px;
  color:#896033;
  text-decoration:none;
  font-weight:700;
}
.mtp-public-trip-hero{
  position:relative;
  height:430px;
  overflow:hidden;
  border-radius:28px;
  background:#eee4d5;
}
.mtp-public-trip-hero img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.mtp-public-trip-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 25%,rgba(8,10,8,.78));
}
.mtp-public-trip-hero-overlay{
  position:absolute;
  z-index:2;
  left:34px;
  right:34px;
  bottom:30px;
  color:#fff;
}
.mtp-public-trip-hero-overlay h1{
  margin:12px 0 4px;
  font-family:Fraunces,Georgia,serif;
  font-size:clamp(40px,6vw,72px);
  line-height:.95;
}
.mtp-public-trip-hero-overlay p{
  margin:0;
  opacity:.85;
}
.mtp-public-trip-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:16px 0;
}
.mtp-public-trip-meta span,
.mtp-public-trip-meta strong{
  padding:10px 13px;
  border-radius:999px;
  background:#f8f3eb;
  color:#655d53;
  font-size:12px;
}
.mtp-public-trip-meta strong{
  color:#8d602f;
}
.mtp-public-trip-summary{
  max-width:780px;
  color:#6f665c;
  font-size:16px;
  line-height:1.65;
}
.mtp-public-trip-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:22px 0 30px;
}
.mtp-library-use-trip,
.mtp-library-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
}
.mtp-library-use-trip{
  background:linear-gradient(135deg,#b88a4a,#d6ad68);
  color:#20170d;
}
.mtp-library-secondary{
  border:1px solid #ddd2c3;
  color:#4e463d;
  background:#fff;
}
.mtp-public-trip-content{
  margin-top:10px;
}
.mtp-publish-trip-btn{
  background:linear-gradient(135deg,#0e7660,#179879)!important;
  color:#fff!important;
  border:0!important;
}
.mtp-publish-trip-btn.is-published{
  background:#0aaf70!important;
}
.mtp-publish-trip-status{
  display:block;
  width:100%;
  margin-top:5px;
  color:#756b60;
  font-size:12px;
}
.mtp-publish-trip-status a{
  color:#8d602f;
  font-weight:800;
}
@media(max-width:850px){
  .mtp-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  .mtp-public-library,.mtp-public-trip-detail{padding:0 14px;margin:32px auto;}
  .mtp-library-grid{grid-template-columns:1fr;}
  .mtp-library-cover{height:210px;}
  .mtp-public-trip-hero{height:340px;border-radius:20px;}
  .mtp-public-trip-hero-overlay{left:20px;right:20px;bottom:22px;}
  .mtp-public-trip-meta{display:grid;grid-template-columns:1fr 1fr;}
  .mtp-public-trip-meta strong{grid-column:1/-1;}
}

/* ================================================================
   v4.1 — TRIP LIBRARY DIRECTLY BELOW THE PLANNER
   ================================================================ */
.mtp-library-below-planner{
  max-width:1080px;
  margin:70px auto 20px;
  padding-top:58px;
  border-top:1px solid #e8dfd2;
}
.mtp-library-below-planner .mtp-library-heading{
  text-align:center;
  margin-bottom:30px;
}
.mtp-library-below-planner .mtp-library-heading h2{
  margin:8px 0 10px;
  font-family:Fraunces,Georgia,serif;
  font-size:clamp(34px,5vw,52px);
  line-height:1;
}
.mtp-library-below-planner .mtp-library-heading p{
  margin:0 auto;
}
@media(max-width:600px){
  .mtp-library-below-planner{
    margin-top:45px;
    padding-top:38px;
  }
}

/* v4.6 saved itinerary detail */
.mtp-saved-itinerary{
  margin-top:35px;
}
.mtp-saved-itinerary-head{
  margin-bottom:20px;
}
.mtp-saved-itinerary-head h2{
  margin:7px 0 8px;
  font-family:Fraunces,Georgia,serif;
  font-size:36px;
}
.mtp-saved-itinerary-head p{
  color:#756b60;
}
.mtp-saved-day{
  margin:18px 0;
  padding:18px;
  border:1px solid #e7ddcf;
  border-radius:18px;
  background:#fff;
}
.mtp-saved-day-title{
  margin-bottom:12px;
  font-weight:800;
  color:#9a6a32;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:12px;
}
.mtp-saved-day-items{
  display:grid;
  gap:9px;
}
.mtp-saved-item{
  display:grid;
  grid-template-columns:130px 1fr auto;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border-radius:12px;
  background:#faf7f1;
}
.mtp-saved-item-kind{
  color:#887c70;
  font-size:11px;
  text-transform:capitalize;
}
.mtp-saved-item strong{
  color:#211c17;
}
.mtp-saved-item-price{
  color:#9a6a32;
  font-weight:800;
}
@media(max-width:600px){
  .mtp-saved-item{
    grid-template-columns:1fr;
    gap:5px;
  }
}

/* ================================================================
   v4.9 — EDITABLE PUBLISHED TRIPS
   ================================================================ */
.mtp-trip-edit-settings{
  margin:0 0 24px;
  padding:22px;
  border:1px solid #e4d6c4;
  border-radius:20px;
  background:linear-gradient(135deg,#fffaf3,#f8f1e6);
  box-shadow:0 10px 28px rgba(42,29,14,.07);
}
.mtp-trip-edit-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.mtp-trip-edit-head h3{
  margin:6px 0 6px;
  font-family:Fraunces,Georgia,serif;
  font-size:30px;
  line-height:1;
}
.mtp-trip-edit-head p{
  margin:0;
  max-width:700px;
  color:#71675d;
  font-size:13px;
  line-height:1.55;
}
.mtp-trip-edit-badge{
  flex:0 0 auto;
  padding:7px 11px;
  border-radius:999px;
  background:#e8f7f0;
  color:#087a55;
  font-size:11px;
  font-weight:800;
}
.mtp-trip-edit-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.mtp-trip-edit-grid label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#544b42;
  font-size:12px;
  font-weight:700;
}
.mtp-trip-edit-grid label small{
  font-weight:500;
  color:#8a8075;
}
.mtp-trip-edit-grid input{
  width:100%;
  min-height:44px;
  box-sizing:border-box;
  padding:0 12px;
  border:1px solid #d9cdbd;
  border-radius:10px;
  background:#fff;
  color:#211b15;
  font:inherit;
}
.mtp-trip-edit-grid input:focus{
  outline:2px solid rgba(184,138,74,.22);
  border-color:#b88a4a;
}
.mtp-trip-edit-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}
.mtp-trip-apply-settings{
  min-height:46px;
  padding:0 18px;
  border:0;
  border-radius:11px;
  background:linear-gradient(135deg,#b88a4a,#d6ad68);
  color:#21170d;
  font-weight:800;
  cursor:pointer;
}
.mtp-trip-apply-settings:disabled{
  opacity:.65;
  cursor:wait;
}
.mtp-trip-edit-message{
  color:#7a6d60;
  font-size:12px;
}
@media(max-width:850px){
  .mtp-trip-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  .mtp-trip-edit-settings{padding:17px;}
  .mtp-trip-edit-head{flex-direction:column;}
  .mtp-trip-edit-grid{grid-template-columns:1fr;}
  .mtp-trip-apply-settings{width:100%;}
}

/* ================================================================
   v4.11 — PREMIUM TRAVEL PROFILE
   Inspired by the reference interface: clean cards, clear hierarchy,
   and compact traveler controls. Functionality remains unchanged.
   ================================================================ */
.mtp-profile-step{
  padding:42px 34px 36px;
  background:#fff;
}
.mtp-profile-head{
  margin-bottom:30px;
}
.mtp-profile-head h3{
  margin:0 0 8px;
  font-family:Fraunces,Georgia,serif;
  font-size:32px;
  line-height:1.08;
  color:#191612;
}
.mtp-profile-head p{
  margin:0;
  color:#81776d;
  font-size:14px;
}
.mtp-profile-section h4{
  margin:0 0 12px;
  font-size:14px;
  color:#201b17;
  font-weight:800;
}
.mtp-style-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.mtp-style-card{
  appearance:none;
  text-align:left;
  min-height:142px;
  padding:18px 15px 16px;
  border:2px solid #e8e0d6;
  border-radius:13px;
  background:#fff;
  cursor:pointer;
  color:#211b17;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.mtp-style-card:hover{
  border-color:#caa36f;
  transform:translateY(-1px);
}
.mtp-style-card.is-selected{
  border-color:#b76570;
  box-shadow:0 0 0 1px rgba(183,101,112,.08);
}
.mtp-style-card strong{
  display:block;
  margin-bottom:8px;
  font-family:Fraunces,Georgia,serif;
  font-size:18px;
  line-height:1.1;
}
.mtp-style-card span{
  display:block;
  color:#81776d;
  font-size:12px;
  line-height:1.45;
}
.mtp-style-card small{
  display:block;
  margin-top:8px;
  color:#756a60;
  font-size:11px;
}
.mtp-profile-travelers{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid #eee6dc;
}
.mtp-profile-number{
  justify-content:flex-start;
  gap:20px;
}
.mtp-profile-number button{
  width:38px;
  height:38px;
}
.mtp-profile-number strong{
  min-width:28px;
  font-size:23px;
}
.mtp-profile-number [data-travelers-label]{
  color:#8a7f74;
  font-size:12px;
  margin-left:2px;
}
@media(max-width:720px){
  .mtp-profile-step{padding:30px 20px;}
  .mtp-style-grid{grid-template-columns:1fr;}
  .mtp-style-card{min-height:auto;}
}

/* ================================================================
   v4.12 — TRAVEL STYLE CARD ALIGNMENT
   Keep each card's description inside its own column and prevent
   text from crossing into neighboring cards.
   ================================================================ */
.mtp-style-grid{
  align-items:stretch;
}
.mtp-style-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  box-sizing:border-box;
  overflow:hidden;
}
.mtp-style-card strong{
  width:100%;
  margin-bottom:10px;
  text-align:center;
}
.mtp-style-card span{
  width:100%;
  box-sizing:border-box;
  margin:0;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  text-align:left;
  line-height:1.5;
}
.mtp-style-card small{
  width:100%;
  box-sizing:border-box;
  margin-top:auto;
  padding-top:10px;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:center;
  line-height:1.35;
}
@media(max-width:720px){
  .mtp-style-card span,
  .mtp-style-card small{
    text-align:left;
  }
}

/* ================================================================
   v4.13 — BUDGET EXPLANATION & ALIGNMENT
   ================================================================ */
.mtp-budget-step{
  padding:42px 34px 36px;
}
.mtp-budget-head{
  max-width:760px;
  margin:0 auto 24px;
  text-align:center;
}
.mtp-budget-head h3{
  margin:0 0 10px;
  font-family:Fraunces,Georgia,serif;
  font-size:34px;
  line-height:1.12;
  color:#191612;
}
.mtp-budget-intro{
  max-width:680px;
  margin:0 auto;
  color:#81776d;
  font-size:14px;
  line-height:1.55;
}
.mtp-budget-row{
  max-width:640px;
  margin:0 auto;
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:10px;
  align-items:stretch;
}
.mtp-budget-row select,
.mtp-budget-row input{
  box-sizing:border-box;
  min-height:56px;
  border:1px solid #ded2c4;
  border-radius:12px;
  background:#fffdf9;
  color:#211b17;
  font:inherit;
}
.mtp-budget-row select{
  padding:0 16px;
}
.mtp-budget-row input{
  width:100%;
  padding:0 16px;
}
.mtp-budget-row select:focus,
.mtp-budget-row input:focus{
  outline:2px solid rgba(184,138,74,.20);
  border-color:#b88a4a;
}
.mtp-budget-help{
  max-width:640px;
  margin:16px auto 0;
  padding:15px 18px;
  border:1px solid #e8dfd4;
  border-radius:12px;
  background:#faf7f1;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.mtp-budget-help strong{
  color:#33291f;
  font-size:13px;
}
.mtp-budget-help span{
  color:#7b7167;
  font-size:12px;
  line-height:1.55;
}
.mtp-budget-step .mtp-note{
  max-width:640px;
  margin:10px auto 0;
  text-align:center;
  color:#8a8075;
  font-size:11px;
  line-height:1.4;
}
@media(max-width:600px){
  .mtp-budget-step{padding:30px 20px;}
  .mtp-budget-head h3{font-size:28px;}
  .mtp-budget-row{
    grid-template-columns:1fr;
  }
  .mtp-budget-help{
    padding:14px;
  }
}

/* ================================================================
   v4.14 — CENTERED LIVE BUDGET SUMMARY
   ================================================================ */
.mtp-total-live{
  width:min(640px,100%);
  box-sizing:border-box;
  margin:24px auto 0;
  padding:17px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-align:center;
  border:1px solid #e2d0b7;
  border-radius:14px;
  background:linear-gradient(135deg,#fbf4e8 0%,#f5ead9 100%);
  color:#5f5142;
  box-shadow:0 8px 20px rgba(68,48,26,.07);
  font-size:14px;
  font-weight:600;
}
.mtp-total-live strong{
  color:#9a6a32;
  font-size:18px;
  font-weight:800;
  letter-spacing:.1px;
}
@media(max-width:600px){
  .mtp-total-live{
    margin-top:20px;
    padding:15px 16px;
  }
  .mtp-total-live strong{
    font-size:17px;
  }
}

/* v4.15 — accommodation choice and budget fit */
.mtp-accommodation-choice{
  max-width:760px;
  margin:18px auto 24px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.mtp-accommodation-card{
  text-align:left;
  padding:18px;
  border:2px solid #e6ddd2;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
}
.mtp-accommodation-card.is-selected{
  border-color:#b76570;
  box-shadow:0 0 0 1px rgba(183,101,112,.08);
}
.mtp-accommodation-card strong{display:block;font-family:Fraunces,Georgia,serif;font-size:19px;margin-bottom:6px;}
.mtp-accommodation-card span{display:block;color:#7b7167;font-size:12px;line-height:1.45;}
.mtp-budget-fit{
  max-width:640px;
  margin:14px auto 0;
  padding:13px 16px;
  border-radius:12px;
  text-align:center;
  font-size:12px;
  font-weight:700;
}
.mtp-budget-fit.warning{background:#fff4e6;border:1px solid #edcfaa;color:#8a5a21;}
.mtp-budget-fit.success{background:#edf8f2;border:1px solid #c7e5d4;color:#236a45;}
.mtp-accommodation-card[aria-pressed="true"]{outline:none;}
@media(max-width:600px){
  .mtp-accommodation-choice{grid-template-columns:1fr;}
}

/* ================================================================
   v4.16 — ACCOMMODATION GUIDE ARTICLES
   ================================================================ */
.mtp-accommodation-guide{
  max-width:760px;
  margin:20px auto 22px;
  padding:20px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  box-sizing:border-box;
  border:1px solid #e5d5c1;
  border-radius:16px;
  background:linear-gradient(135deg,#fff9f0,#f6ecdc);
  box-shadow:0 8px 22px rgba(54,39,24,.06);
}
.mtp-accommodation-guide-copy{
  min-width:0;
}
.mtp-accommodation-guide-copy h3{
  margin:5px 0 7px;
  font-family:Fraunces,Georgia,serif;
  font-size:22px;
  line-height:1.15;
  color:#211b17;
}
.mtp-accommodation-guide-copy p{
  margin:0;
  color:#756b61;
  font-size:12px;
  line-height:1.5;
}
.mtp-accommodation-guide-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.mtp-guide-primary,
.mtp-guide-secondary{
  min-height:42px;
  padding:0 14px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
}
.mtp-guide-primary{
  background:#b88a4a;
  color:#fff !important;
}
.mtp-guide-secondary{
  border:1px solid #d8c6ae;
  background:#fff;
  color:#5f5142;
}
@media(max-width:700px){
  .mtp-accommodation-guide{
    flex-direction:column;
    align-items:stretch;
  }
  .mtp-accommodation-guide-actions{
    display:grid;
    grid-template-columns:1fr;
  }
}

/* v4.17 — guide belongs directly to the accommodation decision */
.mtp-step[data-step="4"] .mtp-accommodation-guide{
  margin:18px auto 24px;
}

/* v4.18 — accommodation affiliate CTA */
.mtp-guide-booking{
  min-height:42px;
  padding:0 14px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
  background:#22201d;
  color:#fff !important;
}
@media(max-width:700px){
  .mtp-guide-booking{
    width:100%;
  }
}

/* v4.19 — premium compact accommodation guide */
.mtp-step[data-step="4"] .mtp-accommodation-guide{
  width:100%;
  max-width:760px;
  margin:20px auto 22px;
  padding:24px 26px 22px;
  display:block;
  box-sizing:border-box;
  border:1px solid #e4d2b9;
  border-radius:16px;
  background:linear-gradient(135deg,#fffaf2 0%,#f7ecda 100%);
  box-shadow:0 10px 28px rgba(52,38,25,.07);
}
.mtp-step[data-step="4"] .mtp-accommodation-guide-copy{
  width:100%;
  min-width:0;
}
.mtp-step[data-step="4"] .mtp-accommodation-guide-copy h3{
  max-width:650px;
  margin:5px 0 9px;
  font-family:Fraunces,Georgia,serif;
  font-size:clamp(25px,3vw,34px);
  line-height:1.12;
  letter-spacing:-.2px;
  color:#211b17;
}
.mtp-step[data-step="4"] .mtp-accommodation-guide-copy p{
  max-width:680px;
  margin:0;
  color:#756b61;
  font-size:13px;
  line-height:1.55;
}
.mtp-step[data-step="4"] .mtp-accommodation-guide-actions{
  width:100%;
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  flex-wrap:wrap;
}
.mtp-step[data-step="4"] .mtp-guide-primary,
.mtp-step[data-step="4"] .mtp-guide-booking,
.mtp-step[data-step="4"] .mtp-guide-secondary{
  min-height:42px;
  padding:0 16px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  font-size:12px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.mtp-step[data-step="4"] .mtp-guide-primary{
  background:#b88a4a;
  color:#fff !important;
}
.mtp-step[data-step="4"] .mtp-guide-booking{
  background:#25211d;
  color:#fff !important;
}
.mtp-step[data-step="4"] .mtp-guide-secondary{
  border:1px solid #d7c3a8;
  background:#fff;
  color:#8a3650;
}
.mtp-step[data-step="4"] .mtp-guide-primary:hover,
.mtp-step[data-step="4"] .mtp-guide-booking:hover,
.mtp-step[data-step="4"] .mtp-guide-secondary:hover{
  transform:translateY(-1px);
}
@media(max-width:620px){
  .mtp-step[data-step="4"] .mtp-accommodation-guide{
    padding:20px 18px;
  }
  .mtp-step[data-step="4"] .mtp-accommodation-guide-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .mtp-step[data-step="4"] .mtp-guide-primary,
  .mtp-step[data-step="4"] .mtp-guide-booking,
  .mtp-step[data-step="4"] .mtp-guide-secondary{
    width:100%;
  }
}

/* v4.20 — restaurant review links in Change Restaurant cards */
.mtp-choice-card-wrap{
  min-width:0;
}
.mtp-restaurant-choice-wrap{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.mtp-restaurant-choice-wrap .mtp-choice-card{
  width:100%;
}
.mtp-restaurant-review-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 10px;
  box-sizing:border-box;
  border:1px solid #d4b07a;
  border-radius:8px;
  background:#fffaf2;
  color:#8a5a21 !important;
  font-size:11px;
  font-weight:800;
  text-decoration:none !important;
  transition:transform .15s ease, background .15s ease;
}
.mtp-restaurant-review-link:hover{
  background:#f6ead7;
  transform:translateY(-1px);
}

/* v4.21 — review link belongs to every restaurant card in the open selector */
.mtp-restaurant-choice-wrap .mtp-restaurant-review-link{
  position:relative;
  z-index:3;
}

/* v4.21 final — individual review CTA on every restaurant option */
.mtp-choice-card-wrap{
  min-width:0;
}
.mtp-restaurant-choice-wrap{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.mtp-restaurant-review-link{
  position:relative;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 10px;
  border:1px solid #d4b07a;
  border-radius:8px;
  background:#fffaf2;
  color:#8a5a21 !important;
  font-size:11px;
  font-weight:800;
  text-decoration:none !important;
}
.mtp-restaurant-review-link:hover{
  background:#f6ead7;
}

/* v4.22 — restaurant Menu / À la carte pricing */
.mtp-restaurant-prices{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:5px;
}
.mtp-restaurant-prices small{
  display:block;
  font-size:11px;
  line-height:1.35;
  color:#8a6a43;
}
.mtp-restaurant-prices small strong{
  color:#2a211a;
  font-weight:800;
}
.mtp-restaurant-choice-wrap .mtp-choice-card-body{
  padding-bottom:10px;
}

/* v4.23 — make restaurant Menu / À la carte prices visible in the visitor UI */
.mtp-restaurant-choice-wrap .mtp-restaurant-prices{
  display:flex !important;
  flex-direction:column;
  gap:3px;
  margin-top:5px;
  visibility:visible !important;
  opacity:1 !important;
}
.mtp-restaurant-choice-wrap .mtp-restaurant-prices small{
  display:block !important;
  font-size:11px;
  line-height:1.35;
  color:#8a6a43;
  visibility:visible !important;
}
.mtp-restaurant-choice-wrap .mtp-restaurant-prices small strong{
  color:#2a211a;
  font-weight:800;
}

/* v4.24 — visitor-facing Dinner Show badge */
.mtp-dinner-show-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:6px;
  padding:5px 9px;
  border:1px solid #d9b77b;
  border-radius:999px;
  background:#fff5df;
  color:#7a531f;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  white-space:normal;
}

/* v4.25 — aligned restaurant cards and review buttons */
.mtp-restaurant-choice-wrap{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-width:0;
}
.mtp-restaurant-choice-wrap .mtp-choice-card{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto;
  min-height:0;
}
.mtp-restaurant-choice-wrap .mtp-choice-card-body{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto;
  min-height:150px;
  padding-bottom:10px;
}
.mtp-restaurant-choice-wrap .mtp-restaurant-prices{
  margin-top:7px;
}
.mtp-restaurant-choice-wrap .mtp-dinner-show-badge{
  margin-top:7px;
}
.mtp-restaurant-choice-wrap .mtp-restaurant-review-link{
  flex:0 0 36px;
  min-height:36px;
  height:36px;
  box-sizing:border-box;
  margin-top:0;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.mtp-restaurant-choice-wrap .mtp-choice-card + .mtp-restaurant-review-link{
  margin-top:0;
}
/* Keep the grid itself visually consistent when one card has a Dinner Show badge. */
.mtp-choice-card-grid .mtp-restaurant-choice-wrap{
  align-self:stretch;
}

/* v4.30 — Area + accommodation preference controls */
.mtp-stay-preferences{margin-bottom:28px}
.mtp-stay-area-grid,.mtp-stay-type-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0 24px}
.mtp-stay-type-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.mtp-stay-option{appearance:none;border:1px solid #e5d8c7;background:#fff;border-radius:12px;padding:16px 14px;text-align:left;cursor:pointer;transition:.18s ease}
.mtp-stay-option strong{display:block;font-size:15px;margin-bottom:6px}
.mtp-stay-option span{display:block;font-size:12px;line-height:1.45;color:#806f5d}
.mtp-stay-option:hover{transform:translateY(-1px);border-color:#c59652}
.mtp-stay-option.is-selected{border-color:#c59652;box-shadow:0 0 0 2px rgba(197,150,82,.12);background:#fffaf2}
.mtp-stay-subtitle{margin-top:8px}
.mtp-hotel-meta{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.mtp-hotel-meta span{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f7f0e5;color:#765b3c;font-size:10px;font-weight:700}
@media (max-width:800px){.mtp-stay-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mtp-stay-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.mtp-stay-area-grid,.mtp-stay-type-grid{grid-template-columns:1fr}}

/* v4.31 — make accommodation preferences visible */
.mtp-stay-preferences{display:block!important;width:100%;visibility:visible!important;opacity:1!important}
.mtp-stay-area-grid,.mtp-stay-type-grid{display:grid!important;visibility:visible!important}
.mtp-stay-option{display:block!important;visibility:visible!important}

/* v4.32 — flexible final accommodation change */
.mtp-final-accommodation-choice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 18px;
  padding:16px 18px;
  border:1px solid #e8dccb;
  border-radius:14px;
  background:#fffaf3;
}
.mtp-final-accommodation-choice strong{
  display:block;
  margin-top:3px;
  font-size:16px;
}
.mtp-final-accommodation-choice small{
  display:block;
  margin-top:4px;
  color:#7f705f;
  font-size:12px;
}
.mtp-change-accommodation{
  flex:0 0 auto;
  min-height:40px;
  padding:10px 16px;
  border:0;
  border-radius:10px;
  cursor:pointer;
  font-weight:800;
}
@media(max-width:600px){
  .mtp-final-accommodation-choice{
    flex-direction:column;
    align-items:stretch;
  }
  .mtp-change-accommodation{width:100%}
}

/* v4.33 — accommodation admin fields */
.mtp-field.mtp-checkbox label{display:flex;align-items:center;gap:8px;font-weight:700}
.mtp-field.mtp-checkbox input[type="checkbox"]{width:18px;height:18px}

/* v4.34 — All Inclusive guidance */
.mtp-stay-option[data-accommodation-type="all_inclusive"] span{
  line-height:1.4;
}

/* v4.36 — accommodation compatibility warning */
.mtp-accommodation-warning{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:14px 0 20px;
  padding:16px 18px;
  border:1px solid #e5c27a;
  border-radius:12px;
  background:#fff8e8;
  color:#4d3a22;
}
.mtp-warning-icon{font-size:20px;line-height:1.2}
.mtp-warning-content{flex:1}
.mtp-warning-content strong{display:block;font-size:15px;margin-bottom:5px}
.mtp-warning-content p{margin:0 0 12px;font-size:13px;line-height:1.5}
.mtp-warning-actions{display:flex;flex-wrap:wrap;gap:8px}
.mtp-warning-actions button{
  border:1px solid #c59652;
  background:#fff;
  color:#6d4b20;
  border-radius:8px;
  padding:8px 12px;
  font-weight:700;
  cursor:pointer;
}
.mtp-warning-actions button:hover{background:#fff1d8}
@media(max-width:600px){
  .mtp-accommodation-warning{padding:14px}
  .mtp-warning-actions button{width:100%}
}

/* ================================================================
   v4.38 — MARRAKECH TRAVEL UI REDESIGN
   CSS ONLY — visual redesign of the Area / Accommodation / Booking /
   Guide / Budget section shown in the Planner.
   NO PHP / JS / logic / data changes.
   ================================================================ */

.mtp-app{
  --travel-ink:#3f2b20;
  --travel-brown:#654333;
  --travel-muted:#816b59;
  --travel-sand:#f5e7d2;
  --travel-cream:#fffaf2;
  --travel-cream-2:#fbf3e7;
  --travel-gold:#c99651;
  --travel-gold-light:#ead0a4;
  --travel-rust:#b86d4b;
  --travel-line:#e6d5bd;
}

/* Main sections become editorial travel blocks */
.mtp-app .mtp-stay-preferences{
  padding:42px 34px 46px !important;
  background:
    radial-gradient(circle at 95% 5%,rgba(201,150,81,.10),transparent 25%),
    linear-gradient(180deg,#fffdf9 0%,#fbf3e7 100%) !important;
  border-radius:0 !important;
}

.mtp-app .mtp-stay-preferences h3{
  margin:0 0 10px !important;
  text-align:center !important;
  color:var(--travel-ink) !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:clamp(31px,4vw,43px) !important;
  letter-spacing:-.035em !important;
}

.mtp-app .mtp-stay-preferences > .mtp-budget-intro{
  max-width:680px !important;
  margin:0 auto 25px !important;
  text-align:center !important;
  color:var(--travel-muted) !important;
  font-size:14px !important;
}

/* Section labels */
.mtp-app .mtp-stay-preferences h4,
.mtp-app .mtp-stay-preferences .mtp-section-title{
  color:var(--travel-brown) !important;
}

/* Area cards */
.mtp-app .mtp-stay-area-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:0 auto 34px !important;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option{
  position:relative !important;
  min-height:112px !important;
  padding:20px 14px 15px !important;
  border:1px solid var(--travel-line) !important;
  border-radius:4px !important;
  background:#fffdf9 !important;
  color:var(--travel-ink) !important;
  box-shadow:0 6px 16px rgba(83,54,35,.045) !important;
  text-align:center !important;
  transition:all .2s ease !important;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg,var(--travel-rust),var(--travel-gold));
  opacity:.25;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option strong{
  display:block !important;
  margin-bottom:9px !important;
  color:#7b4734 !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:18px !important;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option span{
  display:block !important;
  color:#7b6757 !important;
  font-size:11px !important;
  line-height:1.45 !important;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option:hover{
  transform:translateY(-3px) !important;
  border-color:var(--travel-gold) !important;
  box-shadow:0 12px 24px rgba(83,54,35,.10) !important;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option.is-selected{
  background:linear-gradient(145deg,#fff8e9,#f3dfc1) !important;
  border-color:#c58b47 !important;
  box-shadow:0 12px 26px rgba(145,91,43,.13) !important;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option.is-selected:before{
  opacity:1 !important;
}

/* Accommodation section */
.mtp-app .mtp-stay-preferences .mtp-accommodation-preferences{
  margin-top:6px !important;
}

.mtp-app .mtp-accommodation-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
}

.mtp-app .mtp-accommodation-option{
  min-height:108px !important;
  padding:19px 15px !important;
  border:1px solid var(--travel-line) !important;
  border-radius:4px !important;
  background:#fffdf9 !important;
  text-align:center !important;
  box-shadow:0 6px 16px rgba(83,54,35,.045) !important;
  transition:all .2s ease !important;
}

.mtp-app .mtp-accommodation-option strong{
  display:block !important;
  margin-bottom:8px !important;
  color:#7b4734 !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:18px !important;
}

.mtp-app .mtp-accommodation-option span{
  display:block !important;
  color:#7b6757 !important;
  font-size:11px !important;
  line-height:1.45 !important;
}

.mtp-app .mtp-accommodation-option:hover{
  transform:translateY(-3px) !important;
  border-color:var(--travel-gold) !important;
}

.mtp-app .mtp-accommodation-option.is-selected{
  background:linear-gradient(145deg,#fff8e9,#f3dfc1) !important;
  border-color:#c58b47 !important;
  box-shadow:0 12px 26px rgba(145,91,43,.13) !important;
}

/* Booking decision — make it a strong travel decision */
.mtp-app .mtp-stay-preferences .mtp-booked-section,
.mtp-app .mtp-stay-preferences .mtp-accommodation-booked{
  margin-top:36px !important;
  padding-top:30px !important;
  border-top:1px solid var(--travel-line) !important;
}

.mtp-app .mtp-stay-preferences .mtp-booked-section h3,
.mtp-app .mtp-stay-preferences .mtp-accommodation-booked h3{
  font-size:34px !important;
}

.mtp-app .mtp-booked-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
}

.mtp-app .mtp-booked-option{
  min-height:105px !important;
  padding:20px !important;
  border:1px solid var(--travel-line) !important;
  border-radius:4px !important;
  background:#fffdf9 !important;
  text-align:center !important;
  box-shadow:0 6px 16px rgba(83,54,35,.045) !important;
}

.mtp-app .mtp-booked-option strong{
  display:block !important;
  color:#7b4734 !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:20px !important;
  margin-bottom:7px !important;
}

.mtp-app .mtp-booked-option span{
  color:#7b6757 !important;
  font-size:12px !important;
  line-height:1.5 !important;
}

.mtp-app .mtp-booked-option.is-selected{
  background:#f7e6cd !important;
  border-color:#c58b47 !important;
}

/* Accommodation guide / affiliate card */
.mtp-app .mtp-accommodation-guide{
  margin:22px auto 34px !important;
  padding:28px 30px !important;
  border:1px solid #e2cda9 !important;
  border-radius:6px !important;
  background:
    linear-gradient(135deg,rgba(255,250,241,.97),rgba(246,229,201,.94)) !important;
  box-shadow:0 12px 28px rgba(83,54,35,.08) !important;
}

.mtp-app .mtp-accommodation-guide h4,
.mtp-app .mtp-accommodation-guide strong{
  color:#70412f !important;
}

.mtp-app .mtp-accommodation-guide .mtp-guide-label{
  color:#ae7135 !important;
  letter-spacing:2px !important;
  text-transform:uppercase !important;
  font-size:9px !important;
  font-weight:800 !important;
}

/* Budget section */
.mtp-app .mtp-budget-step{
  background:#fffdf9 !important;
}

.mtp-app .mtp-budget-step .mtp-budget-head h3{
  color:var(--travel-ink) !important;
}

.mtp-app .mtp-budget-step .mtp-budget-head p{
  color:var(--travel-muted) !important;
}

.mtp-app .mtp-budget-step .mtp-budget-row input,
.mtp-app .mtp-budget-step .mtp-budget-row select{
  border-color:#dec8a7 !important;
  background:#fffaf2 !important;
  color:var(--travel-ink) !important;
  border-radius:4px !important;
}

.mtp-app .mtp-budget-step .mtp-budget-grid,
.mtp-app .mtp-budget-step .mtp-allocation-grid{
  gap:12px !important;
}

.mtp-app .mtp-budget-step .mtp-budget-card,
.mtp-app .mtp-budget-step .mtp-allocation-card{
  border:1px solid var(--travel-line) !important;
  border-radius:4px !important;
  background:linear-gradient(145deg,#fffdf9,#faf0e2) !important;
  box-shadow:0 6px 16px rgba(83,54,35,.045) !important;
}

.mtp-app .mtp-budget-step .mtp-budget-card input,
.mtp-app .mtp-budget-step .mtp-allocation-card input{
  border-color:#dec8a7 !important;
  background:#fffaf2 !important;
}

.mtp-app .mtp-budget-step .mtp-allocated,
.mtp-app .mtp-budget-step .mtp-budget-total{
  max-width:550px !important;
  margin:26px auto 0 !important;
  padding:19px 24px !important;
  border:1px solid #e3cda9 !important;
  border-radius:6px !important;
  background:linear-gradient(135deg,#fff8e9,#f3e1c5) !important;
  color:#65412d !important;
  text-align:center !important;
  box-shadow:0 8px 22px rgba(83,54,35,.07) !important;
}

.mtp-app .mtp-budget-step .mtp-allocated strong,
.mtp-app .mtp-budget-step .mtp-budget-total strong{
  color:#9a602f !important;
  font-size:20px !important;
}

/* Keep all navigation controls rectangular */
.mtp-app .mtp-stay-preferences button,
.mtp-app .mtp-budget-step button{
  border-radius:4px !important;
}

/* Responsive */
@media(max-width:900px){
  .mtp-app .mtp-stay-area-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .mtp-app .mtp-accommodation-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:650px){
  .mtp-app .mtp-stay-preferences{
    padding:30px 18px 34px !important;
  }
  .mtp-app .mtp-stay-area-grid,
  .mtp-app .mtp-accommodation-grid,
  .mtp-app .mtp-booked-grid{
    grid-template-columns:1fr !important;
  }
  .mtp-app .mtp-stay-area-grid .mtp-stay-option,
  .mtp-app .mtp-accommodation-option{
    min-height:92px !important;
  }
}

/* ================================================================
   v4.38 FINAL — ACTUAL SELECTORS FOR THE STEP 4 SCREEN
   CSS ONLY. The previous rules are complemented with the real
   classes used by the Planner markup.
   ================================================================ */

/* Make the whole step feel like one editorial travel experience */
.mtp-app .mtp-step[data-step="4"]{
  background:
    radial-gradient(circle at 90% 5%,rgba(201,150,81,.08),transparent 24%),
    linear-gradient(180deg,#fffdf9 0%,#faf2e6 100%) !important;
  padding:38px 34px 42px !important;
}

/* Area + accommodation sub-sections */
.mtp-app .mtp-step[data-step="4"] .mtp-stay-preferences{
  background:transparent !important;
  padding:0 0 10px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-subtitle{
  margin:36px 0 9px !important;
  text-align:center !important;
  color:#3f2b20 !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:clamp(28px,3.5vw,38px) !important;
  letter-spacing:-.03em !important;
}

/* Actual accommodation type cards */
.mtp-app .mtp-step[data-step="4"] .mtp-stay-type-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-bottom:34px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-type-grid .mtp-stay-option{
  min-height:105px !important;
  padding:20px 14px 16px !important;
  border:1px solid #e1d0b8 !important;
  border-radius:4px !important;
  background:#fffdf9 !important;
  text-align:center !important;
  box-shadow:0 6px 16px rgba(83,54,35,.045) !important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-type-grid .mtp-stay-option strong{
  display:block !important;
  margin-bottom:8px !important;
  color:#7b4734 !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:18px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-type-grid .mtp-stay-option span{
  display:block !important;
  color:#796656 !important;
  font-size:11px !important;
  line-height:1.45 !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-type-grid .mtp-stay-option:hover{
  transform:translateY(-3px) !important;
  border-color:#c99550 !important;
  box-shadow:0 12px 24px rgba(83,54,35,.09) !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-type-grid .mtp-stay-option.is-selected{
  border-color:#b8793f !important;
  background:linear-gradient(145deg,#fff8e9,#f2dfc2) !important;
  box-shadow:0 12px 26px rgba(145,91,43,.12) !important;
}

/* Booking decision */
.mtp-app .mtp-step[data-step="4"] > h3{
  margin:30px 0 9px !important;
  text-align:center !important;
  color:#3f2b20 !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:clamp(30px,4vw,42px) !important;
  letter-spacing:-.035em !important;
}

.mtp-app .mtp-step[data-step="4"] > .mtp-budget-intro{
  max-width:700px !important;
  margin:0 auto 20px !important;
  text-align:center !important;
  color:#806b58 !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-choice{
  max-width:760px !important;
  margin:0 auto 24px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-card{
  min-height:112px !important;
  padding:22px 18px !important;
  border:1px solid #e1d0b8 !important;
  border-radius:4px !important;
  background:#fffdf9 !important;
  text-align:center !important;
  box-shadow:0 7px 18px rgba(83,54,35,.05) !important;
  transition:all .2s ease !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-card strong{
  display:block !important;
  margin-bottom:7px !important;
  color:#7b4734 !important;
  font-family:Fraunces,Georgia,serif !important;
  font-size:21px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-card span{
  display:block !important;
  color:#796656 !important;
  font-size:12px !important;
  line-height:1.5 !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-card:hover{
  transform:translateY(-3px) !important;
  border-color:#c99550 !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-card.is-selected{
  border-color:#b8793f !important;
  background:linear-gradient(145deg,#fff8e9,#f2dfc2) !important;
  box-shadow:0 12px 26px rgba(145,91,43,.12) !important;
}

/* Guide: actual dynamic class */
.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-guide{
  max-width:760px !important;
  margin:20px auto 30px !important;
  padding:25px 28px !important;
  border:1px solid #e1c9a5 !important;
  border-radius:6px !important;
  background:linear-gradient(135deg,#fff9ef,#f5e3c6) !important;
  box-shadow:0 12px 28px rgba(83,54,35,.075) !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-guide-copy h3{
  color:#4b3023 !important;
  font-size:26px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-guide-copy p{
  color:#806a56 !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-guide-primary{
  border-radius:4px !important;
  background:#b98745 !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-guide-secondary{
  border-radius:4px !important;
  border-color:#d8c2a1 !important;
  background:#fffdf9 !important;
  color:#67452f !important;
}

/* Budget allocation: make it a real visual dashboard */
.mtp-app .mtp-step[data-step="4"] .mtp-budget-grid{
  max-width:760px !important;
  margin:28px auto 0 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:15px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-budget-grid label{
  display:block !important;
  padding:16px 17px 15px !important;
  border:1px solid #e1d0b8 !important;
  border-radius:5px !important;
  background:#fffdf9 !important;
  color:#624331 !important;
  box-shadow:0 5px 15px rgba(83,54,35,.04) !important;
  font-size:12px !important;
  font-weight:800 !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-budget-grid label:last-child{
  grid-column:1 / 2 !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-budget-grid input{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin-top:8px !important;
  padding:13px 14px !important;
  border:1px solid #dfc9a8 !important;
  border-radius:4px !important;
  background:#fffaf2 !important;
  color:#4b3326 !important;
  font-size:15px !important;
  font-weight:600 !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-budget-grid input:focus{
  border-color:#c99550 !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(201,149,80,.14) !important;
}

/* Allocated total — visual centerpiece */
.mtp-app .mtp-step[data-step="4"] .mtp-total-live{
  max-width:560px !important;
  margin:26px auto 0 !important;
  padding:19px 24px !important;
  border:1px solid #dfc39a !important;
  border-radius:6px !important;
  background:linear-gradient(135deg,#fff8e9,#f2dfc2) !important;
  color:#68462f !important;
  box-shadow:0 10px 24px rgba(83,54,35,.075) !important;
  text-align:center !important;
  font-size:13px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-total-live strong{
  color:#a16530 !important;
  font-size:20px !important;
}

/* Navigation remains simple and rectangular */
.mtp-app .mtp-step[data-step="4"] + .mtp-actions button{
  border-radius:4px !important;
}

/* Mobile */
@media(max-width:900px){
  .mtp-app .mtp-step[data-step="4"] .mtp-stay-area-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:680px){
  .mtp-app .mtp-step[data-step="4"]{
    padding:28px 18px 32px !important;
  }
  .mtp-app .mtp-step[data-step="4"] .mtp-stay-area-grid,
  .mtp-app .mtp-step[data-step="4"] .mtp-stay-type-grid,
  .mtp-app .mtp-step[data-step="4"] .mtp-accommodation-choice,
  .mtp-app .mtp-step[data-step="4"] .mtp-budget-grid{
    grid-template-columns:1fr !important;
  }
  .mtp-app .mtp-step[data-step="4"] .mtp-budget-grid label:last-child{
    grid-column:auto !important;
  }
}

/* ================================================================
   v4.39 — MARRAKECH MASTER DESIGN SYSTEM
   FINAL VISUAL LAYER — CSS ONLY
   This is intentionally appended last so it becomes the permanent
   visual language of every Planner step.
   No PHP / JavaScript / data / matching / calculations changed.
   ================================================================ */

.mtp-app{
  --m39-ink:#2f2119;
  --m39-brown:#5b3b2c;
  --m39-brown-2:#76513d;
  --m39-muted:#7d6958;
  --m39-gold:#c9934d;
  --m39-gold-2:#e0b66f;
  --m39-terracotta:#b96848;
  --m39-terracotta-dark:#914b36;
  --m39-sand:#f4e4cd;
  --m39-sand-2:#fbf3e7;
  --m39-ivory:#fffdf8;
  --m39-line:#e2ceb1;
  --m39-shadow:0 14px 35px rgba(65,42,28,.08);
}

/* ---------- MASTER TYPOGRAPHY ---------- */
.mtp-app .mtp-step:not(.mtp-step-hero-date) h3,
.mtp-app .mtp-step:not(.mtp-step-hero-date) h4{
  font-family:Georgia,"Times New Roman",serif !important;
  color:var(--m39-ink) !important;
  text-align:center !important;
  letter-spacing:-.025em !important;
}

.mtp-app .mtp-step:not(.mtp-step-hero-date) h3{
  font-size:clamp(30px,3.7vw,42px) !important;
  line-height:1.12 !important;
  margin:0 0 12px !important;
}

.mtp-app .mtp-step:not(.mtp-step-hero-date) h4{
  font-size:19px !important;
  line-height:1.2 !important;
}

.mtp-app .mtp-step:not(.mtp-step-hero-date) > p,
.mtp-app .mtp-step:not(.mtp-step-hero-date) .mtp-budget-intro,
.mtp-app .mtp-step:not(.mtp-step-hero-date) .mtp-step-note{
  max-width:760px !important;
  margin:0 auto 25px !important;
  color:var(--m39-muted) !important;
  text-align:center !important;
  font-size:15px !important;
  line-height:1.65 !important;
}

/* ---------- MASTER STEP CANVAS ---------- */
.mtp-app .mtp-step:not(.mtp-step-hero-date){
  background:
    radial-gradient(circle at 92% 3%,rgba(201,147,77,.08),transparent 23%),
    linear-gradient(180deg,#fffefa 0%,#fbf3e7 100%) !important;
  border:0 !important;
  padding:42px 34px 44px !important;
}

/* Give each step a clear editorial rhythm */
.mtp-app .mtp-step:not(.mtp-step-hero-date) > *{
  box-sizing:border-box;
}

/* ---------- ALL FORM CONTROLS ---------- */
.mtp-app .mtp-step button,
.mtp-app .mtp-step select,
.mtp-app .mtp-step input{
  font-family:inherit !important;
}

.mtp-app .mtp-step button{
  border-radius:5px !important;
  border:1px solid var(--m39-line) !important;
  background:#fffdf9 !important;
  color:var(--m39-brown) !important;
  min-height:48px !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
  box-shadow:0 5px 14px rgba(65,42,28,.045) !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease !important;
}

.mtp-app .mtp-step button:hover{
  transform:translateY(-2px) !important;
  border-color:var(--m39-gold) !important;
  background:#fff7ea !important;
  color:var(--m39-terracotta-dark) !important;
  box-shadow:0 10px 22px rgba(65,42,28,.09) !important;
}

.mtp-app .mtp-step button[aria-pressed="true"],
.mtp-app .mtp-step button.is-selected{
  background:linear-gradient(145deg,#fff4df,#f1dbbb) !important;
  border-color:#c78d49 !important;
  color:#6c3d2c !important;
  box-shadow:0 11px 25px rgba(156,99,46,.13) !important;
}

.mtp-app .mtp-step input,
.mtp-app .mtp-step select{
  min-height:50px !important;
  border:1px solid #ddc7a6 !important;
  border-radius:5px !important;
  background:#fffaf2 !important;
  color:var(--m39-ink) !important;
  font-size:15px !important;
  padding:12px 15px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8) !important;
}

.mtp-app .mtp-step input:focus,
.mtp-app .mtp-step select:focus{
  outline:none !important;
  border-color:var(--m39-gold) !important;
  box-shadow:0 0 0 3px rgba(201,147,77,.14) !important;
}

/* ---------- STEP 2: YOUR PROFILE ---------- */
.mtp-app .mtp-profile-step{
  padding-top:48px !important;
}

.mtp-app .mtp-profile-head{
  text-align:center !important;
  margin:0 auto 36px !important;
}

.mtp-app .mtp-profile-head h3{
  font-size:clamp(34px,4.5vw,48px) !important;
  margin-bottom:10px !important;
}

.mtp-app .mtp-profile-head p{
  color:var(--m39-muted) !important;
  font-size:16px !important;
  text-align:center !important;
}

.mtp-app .mtp-profile-section{
  max-width:1000px !important;
  margin:0 auto !important;
}

.mtp-app .mtp-profile-section > h4{
  text-align:center !important;
  margin:0 0 17px !important;
  font-family:Arial,sans-serif !important;
  font-size:12px !important;
  text-transform:uppercase !important;
  letter-spacing:2.2px !important;
  color:#9a6436 !important;
  font-weight:800 !important;
}

.mtp-app .mtp-style-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:16px !important;
}

.mtp-app .mtp-style-card{
  position:relative !important;
  min-height:205px !important;
  padding:28px 24px 23px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  text-align:left !important;
  border:1px solid var(--m39-line) !important;
  border-radius:6px !important;
  background:linear-gradient(145deg,#fffefa,#fbf1e2) !important;
  overflow:hidden !important;
}

.mtp-app .mtp-style-card:before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:4px !important;
  background:linear-gradient(90deg,var(--m39-terracotta),var(--m39-gold-2)) !important;
  opacity:.35 !important;
}

.mtp-app .mtp-style-card strong{
  margin:0 0 13px !important;
  font-family:Georgia,serif !important;
  font-size:25px !important;
  line-height:1.1 !important;
  color:#70412f !important;
}

.mtp-app .mtp-style-card span{
  color:#766253 !important;
  font-size:14px !important;
  line-height:1.6 !important;
}

.mtp-app .mtp-style-card small{
  margin-top:auto !important;
  padding-top:18px !important;
  color:#a66331 !important;
  font-size:14px !important;
  font-weight:800 !important;
}

.mtp-app .mtp-style-card.is-selected{
  background:linear-gradient(145deg,#fff7e6,#efd7b0) !important;
  border:2px solid #c38a47 !important;
}

.mtp-app .mtp-profile-travelers{
  margin-top:36px !important;
  padding:32px 20px 18px !important;
  border-top:1px solid var(--m39-line) !important;
}

.mtp-app .mtp-profile-number{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:18px !important;
  margin:0 auto !important;
}

.mtp-app .mtp-profile-number button{
  width:52px !important;
  height:52px !important;
  min-height:52px !important;
  font-size:23px !important;
}

.mtp-app .mtp-profile-number strong{
  font-family:Georgia,serif !important;
  font-size:44px !important;
  color:var(--m39-ink) !important;
  min-width:62px !important;
  text-align:center !important;
}

/* ---------- STEP 3: TOTAL BUDGET ---------- */
.mtp-app .mtp-budget-step{
  padding-top:48px !important;
}

.mtp-app .mtp-budget-head{
  max-width:800px !important;
  margin:0 auto 28px !important;
  text-align:center !important;
}

.mtp-app .mtp-budget-head h3{
  font-size:clamp(32px,4vw,44px) !important;
}

.mtp-app .mtp-budget-row{
  max-width:620px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:150px 1fr !important;
  gap:12px !important;
}

.mtp-app .mtp-budget-row select,
.mtp-app .mtp-budget-row input{
  min-height:58px !important;
  font-size:18px !important;
  font-weight:700 !important;
}

.mtp-app .mtp-budget-help{
  max-width:700px !important;
  margin:22px auto 0 !important;
  padding:20px 24px !important;
  border:1px solid var(--m39-line) !important;
  border-left:4px solid var(--m39-gold) !important;
  border-radius:5px !important;
  background:#fff8eb !important;
  text-align:center !important;
}

.mtp-app .mtp-budget-help strong{
  display:block !important;
  margin-bottom:7px !important;
  color:#70412f !important;
  font-size:15px !important;
}

.mtp-app .mtp-budget-help span{
  color:var(--m39-muted) !important;
  font-size:14px !important;
  line-height:1.6 !important;
}

.mtp-app .mtp-note{
  text-align:center !important;
  color:#967d68 !important;
  font-size:13px !important;
  margin-top:18px !important;
}

/* ---------- STEP 4: ACCOMMODATION ---------- */
.mtp-app .mtp-stay-preferences{
  padding:0 !important;
  background:transparent !important;
}

.mtp-app .mtp-stay-subtitle{
  margin-top:40px !important;
}

.mtp-app .mtp-stay-area-grid{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:13px !important;
  max-width:1050px !important;
  margin:0 auto !important;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option,
.mtp-app .mtp-stay-type-grid .mtp-stay-option{
  min-height:128px !important;
  padding:23px 15px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  border-radius:6px !important;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option strong,
.mtp-app .mtp-stay-type-grid .mtp-stay-option strong{
  font-family:Georgia,serif !important;
  font-size:20px !important;
  margin-bottom:10px !important;
  color:#70412f !important;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option span,
.mtp-app .mtp-stay-type-grid .mtp-stay-option span{
  font-size:13px !important;
  line-height:1.55 !important;
  color:#776252 !important;
}

.mtp-app .mtp-stay-type-grid{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:13px !important;
  max-width:1050px !important;
  margin:0 auto !important;
}

.mtp-app .mtp-accommodation-choice{
  max-width:820px !important;
  margin:0 auto 28px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:15px !important;
}

.mtp-app .mtp-accommodation-card{
  min-height:130px !important;
  padding:25px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  border-radius:6px !important;
}

.mtp-app .mtp-accommodation-card strong{
  font-family:Georgia,serif !important;
  font-size:24px !important;
  margin-bottom:10px !important;
  color:#70412f !important;
}

.mtp-app .mtp-accommodation-card span{
  font-size:14px !important;
  color:#776252 !important;
}

.mtp-app .mtp-budget-grid{
  max-width:820px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:15px !important;
}

.mtp-app .mtp-budget-grid label{
  display:block !important;
  padding:17px !important;
  border:1px solid var(--m39-line) !important;
  border-radius:6px !important;
  background:#fffdf9 !important;
  color:#67452f !important;
  font-size:14px !important;
  font-weight:800 !important;
}

.mtp-app .mtp-budget-grid input{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin-top:8px !important;
  font-size:16px !important;
}

.mtp-app .mtp-total-live{
  max-width:560px !important;
  margin:27px auto 0 !important;
  padding:20px !important;
  border:1px solid #dfc39a !important;
  border-radius:7px !important;
  background:linear-gradient(135deg,#fff6e3,#efd8b3) !important;
  color:#68452f !important;
  text-align:center !important;
  font-size:15px !important;
}

.mtp-app .mtp-total-live strong{
  color:#9e602f !important;
  font-size:23px !important;
}

/* ---------- STEP 5: EXPERIENCES ---------- */
.mtp-app .mtp-step[data-step="5"]{
  padding-top:48px !important;
}

.mtp-app .mtp-activity-picker{
  max-width:1050px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:15px !important;
}

.mtp-app .mtp-activity-choice{
  position:relative !important;
  min-height:170px !important;
  display:block !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid var(--m39-line) !important;
  border-radius:6px !important;
  background:#fffdf9 !important;
  box-shadow:0 8px 20px rgba(65,42,28,.06) !important;
  cursor:pointer !important;
  transition:all .2s ease !important;
}

.mtp-app .mtp-activity-choice:hover{
  transform:translateY(-3px) !important;
  border-color:var(--m39-gold) !important;
  box-shadow:0 14px 28px rgba(65,42,28,.11) !important;
}

.mtp-app .mtp-activity-choice.is-selected{
  border:2px solid #c38a47 !important;
  background:#fff5e1 !important;
}

.mtp-app .mtp-activity-choice input{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  z-index:4 !important;
  width:20px !important;
  height:20px !important;
  min-height:20px !important;
  accent-color:#b96848 !important;
}

.mtp-app .mtp-activity-choice-content{
  display:flex !important;
  min-height:170px !important;
  flex-direction:column !important;
}

.mtp-app .mtp-activity-choice-content img{
  width:100% !important;
  height:82px !important;
  object-fit:cover !important;
}

.mtp-app .mtp-activity-choice-info{
  display:flex !important;
  flex-direction:column !important;
  padding:14px 16px 16px !important;
}

.mtp-app .mtp-activity-choice-info strong{
  color:#5d3929 !important;
  font-family:Georgia,serif !important;
  font-size:16px !important;
  line-height:1.25 !important;
}

.mtp-app .mtp-activity-choice-info small{
  margin-top:5px !important;
  color:#8b735f !important;
  font-size:11px !important;
}

.mtp-app .mtp-activity-choice-info b{
  margin-top:9px !important;
  color:#a26030 !important;
  font-size:14px !important;
}

.mtp-app .mtp-activity-selection-summary{
  max-width:650px !important;
  margin:25px auto 0 !important;
  padding:17px 20px !important;
  border:1px solid var(--m39-line) !important;
  border-radius:6px !important;
  background:#fff8eb !important;
  text-align:center !important;
  color:#72503a !important;
  font-size:14px !important;
}

/* ---------- MASTER NAVIGATION BUTTONS ---------- */
.mtp-app .mtp-actions{
  max-width:1050px !important;
  margin:30px auto 0 !important;
  padding-top:22px !important;
  border-top:1px solid var(--m39-line) !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
}

.mtp-app .mtp-actions button{
  min-width:150px !important;
  min-height:52px !important;
  padding:13px 22px !important;
  border-radius:5px !important;
  font-size:14px !important;
  font-weight:800 !important;
}

.mtp-app .mtp-actions .mtp-next,
.mtp-app .mtp-actions .mtp-generate{
  border:1px solid #b8793f !important;
  background:linear-gradient(135deg,#b86d48,#d59c55) !important;
  color:#fff9ef !important;
  box-shadow:0 10px 25px rgba(133,77,42,.20) !important;
}

.mtp-app .mtp-actions .mtp-next:hover,
.mtp-app .mtp-actions .mtp-generate:hover{
  background:linear-gradient(135deg,#a85c3e,#c58b48) !important;
  color:#fff !important;
}

.mtp-app .mtp-actions .mtp-back{
  background:#fffaf2 !important;
  border-color:#ddc7a6 !important;
  color:#8d4f38 !important;
}

/* ---------- HERO BUTTONS / DATE COLORS ---------- */
.mtp-app .mtp-premium-date-card{
  background:rgba(255,249,240,.96) !important;
  border-color:rgba(201,147,77,.65) !important;
}

.mtp-app .mtp-premium-date-label{
  color:#8e5b34 !important;
  font-size:13px !important;
}

.mtp-app .mtp-premium-date-field input{
  background:#fffdf9 !important;
  border-color:#ddc7a6 !important;
  color:#3f2b20 !important;
  font-size:15px !important;
}

.mtp-app .mtp-premium-start .mtp-next,
.mtp-app .mtp-premium-start button{
  border-radius:5px !important;
}

/* ---------- RESPONSIVE MASTER ---------- */
@media(max-width:900px){
  .mtp-app .mtp-style-grid,
  .mtp-app .mtp-activity-picker{
    grid-template-columns:repeat(2,1fr) !important;
  }
  .mtp-app .mtp-stay-area-grid{
    grid-template-columns:repeat(3,1fr) !important;
  }
  .mtp-app .mtp-stay-type-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:640px){
  .mtp-app .mtp-step:not(.mtp-step-hero-date){
    padding:32px 17px 35px !important;
  }
  .mtp-app .mtp-step:not(.mtp-step-hero-date) h3{
    font-size:30px !important;
  }
  .mtp-app .mtp-step:not(.mtp-step-hero-date) > p,
  .mtp-app .mtp-step:not(.mtp-step-hero-date) .mtp-budget-intro,
  .mtp-app .mtp-step:not(.mtp-step-hero-date) .mtp-step-note{
    font-size:14px !important;
  }
  .mtp-app .mtp-style-grid,
  .mtp-app .mtp-activity-picker,
  .mtp-app .mtp-stay-area-grid,
  .mtp-app .mtp-stay-type-grid,
  .mtp-app .mtp-accommodation-choice,
  .mtp-app .mtp-budget-grid{
    grid-template-columns:1fr !important;
  }
  .mtp-app .mtp-budget-row{
    grid-template-columns:1fr !important;
  }
  .mtp-app .mtp-actions{
    gap:10px !important;
  }
  .mtp-app .mtp-actions button{
    min-width:0 !important;
    flex:1 !important;
  }
}


/* ================================================================
   MARRAKECH TRIP PLANNER v4.40 — MASTER TRAVEL DESIGN
   VISUAL LAYER ONLY
   One consistent design language across every Planner step.
   ================================================================ */

.mtp-app{
  --mtp-ink:#3b2920;
  --mtp-ink-soft:#674a39;
  --mtp-muted:#806b59;
  --mtp-cream:#fffaf2;
  --mtp-card:#fffdf9;
  --mtp-sand:#f3e2c7;
  --mtp-sand-2:#f9eddb;
  --mtp-gold:#c9924b;
  --mtp-gold-dark:#a86d34;
  --mtp-terracotta:#b86d4b;
  --mtp-border:#e5d1b5;
  --mtp-shadow:0 12px 30px rgba(73,48,31,.075);
  color:var(--mtp-ink);
}

/* ---------- Global typography / titles ---------- */
.mtp-app .mtp-step h1,
.mtp-app .mtp-step h2,
.mtp-app .mtp-step h3,
.mtp-app .mtp-step h4{
  color:var(--mtp-ink) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  letter-spacing:-.025em !important;
}

.mtp-app .mtp-step > h1,
.mtp-app .mtp-step > h2,
.mtp-app .mtp-step > h3,
.mtp-app .mtp-step .mtp-step-title{
  text-align:center !important;
  font-size:clamp(32px,4vw,46px) !important;
  line-height:1.12 !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.mtp-app .mtp-step > p,
.mtp-app .mtp-step > .mtp-budget-intro,
.mtp-app .mtp-step .mtp-step-subtitle{
  color:var(--mtp-muted) !important;
  text-align:center !important;
  font-size:14px !important;
  line-height:1.65 !important;
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.mtp-app .mtp-step label{
  color:var(--mtp-ink-soft) !important;
}

/* ---------- Unified section surface ---------- */
.mtp-app .mtp-step{
  color:var(--mtp-ink) !important;
}

.mtp-app .mtp-step .mtp-section,
.mtp-app .mtp-step .mtp-panel,
.mtp-app .mtp-step .mtp-options,
.mtp-app .mtp-step .mtp-experiences,
.mtp-app .mtp-step .mtp-stay-preferences,
.mtp-app .mtp-step .mtp-budget-panel{
  background:linear-gradient(145deg,#fffdf9 0%,#faf1e4 100%) !important;
  border-color:var(--mtp-border) !important;
}

/* ---------- All choice cards ---------- */
.mtp-app .mtp-step button,
.mtp-app .mtp-step .mtp-option,
.mtp-app .mtp-step .mtp-choice,
.mtp-app .mtp-step .mtp-card,
.mtp-app .mtp-step .mtp-stay-option,
.mtp-app .mtp-step .mtp-accommodation-card,
.mtp-app .mtp-step .mtp-booked-option{
  border-radius:5px !important;
}

.mtp-app .mtp-step .mtp-option,
.mtp-app .mtp-step .mtp-choice,
.mtp-app .mtp-step .mtp-stay-option,
.mtp-app .mtp-step .mtp-accommodation-card,
.mtp-app .mtp-step .mtp-booked-option{
  background:var(--mtp-card) !important;
  border:1px solid var(--mtp-border) !important;
  color:var(--mtp-ink) !important;
  box-shadow:0 7px 18px rgba(73,48,31,.045) !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease !important;
}

.mtp-app .mtp-step .mtp-option:hover,
.mtp-app .mtp-step .mtp-choice:hover,
.mtp-app .mtp-step .mtp-stay-option:hover,
.mtp-app .mtp-step .mtp-accommodation-card:hover,
.mtp-app .mtp-step .mtp-booked-option:hover{
  transform:translateY(-2px) !important;
  border-color:var(--mtp-gold) !important;
  box-shadow:var(--mtp-shadow) !important;
}

.mtp-app .mtp-step .mtp-option.is-selected,
.mtp-app .mtp-step .mtp-choice.is-selected,
.mtp-app .mtp-step .mtp-stay-option.is-selected,
.mtp-app .mtp-step .mtp-accommodation-card.is-selected,
.mtp-app .mtp-step .mtp-booked-option.is-selected,
.mtp-app .mtp-step .selected,
.mtp-app .mtp-step [aria-pressed="true"]{
  background:linear-gradient(145deg,#fff5df 0%,#f2ddbb 100%) !important;
  border-color:var(--mtp-gold-dark) !important;
  box-shadow:0 12px 26px rgba(168,109,52,.14) !important;
}

/* ---------- Card typography: no tiny text ---------- */
.mtp-app .mtp-step .mtp-option strong,
.mtp-app .mtp-step .mtp-choice strong,
.mtp-app .mtp-step .mtp-stay-option strong,
.mtp-app .mtp-step .mtp-accommodation-card strong,
.mtp-app .mtp-step .mtp-booked-option strong{
  color:#70432e !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:18px !important;
  line-height:1.25 !important;
}

.mtp-app .mtp-step .mtp-option span,
.mtp-app .mtp-step .mtp-choice span,
.mtp-app .mtp-step .mtp-stay-option span,
.mtp-app .mtp-step .mtp-accommodation-card span,
.mtp-app .mtp-step .mtp-booked-option span{
  color:var(--mtp-muted) !important;
  font-size:12px !important;
  line-height:1.5 !important;
}

/* ---------- Travel style / profile ---------- */
.mtp-app .mtp-style-grid,
.mtp-app .mtp-profile-grid{
  gap:12px !important;
}

.mtp-app .mtp-style-card,
.mtp-app .mtp-profile-card{
  background:var(--mtp-card) !important;
  border:1px solid var(--mtp-border) !important;
  border-radius:5px !important;
  box-shadow:0 8px 20px rgba(73,48,31,.05) !important;
}

.mtp-app .mtp-style-card.is-selected,
.mtp-app .mtp-profile-card.is-selected{
  background:linear-gradient(145deg,#fff5df,#f2ddbb) !important;
  border-color:var(--mtp-gold-dark) !important;
}

.mtp-app .mtp-style-card h3,
.mtp-app .mtp-profile-card h3{
  color:#70432e !important;
  font-size:20px !important;
}

/* ---------- Area / accommodation ---------- */
.mtp-app .mtp-stay-area-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:10px !important;
}

.mtp-app .mtp-stay-type-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option,
.mtp-app .mtp-stay-type-grid .mtp-stay-option{
  min-height:105px !important;
  padding:19px 13px !important;
  text-align:center !important;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option strong,
.mtp-app .mtp-stay-type-grid .mtp-stay-option strong{
  display:block !important;
  margin-bottom:8px !important;
}

.mtp-app .mtp-stay-area-grid .mtp-stay-option span,
.mtp-app .mtp-stay-type-grid .mtp-stay-option span{
  display:block !important;
}

/* ---------- Booking choice ---------- */
.mtp-app .mtp-accommodation-choice{
  max-width:780px !important;
  margin:20px auto 28px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
}

.mtp-app .mtp-accommodation-card{
  min-height:110px !important;
  padding:21px 18px !important;
  text-align:center !important;
}

/* ---------- Guide / affiliate recommendation ---------- */
.mtp-app .mtp-accommodation-guide{
  max-width:780px !important;
  margin:22px auto 30px !important;
  padding:27px 29px !important;
  border:1px solid #dfc39a !important;
  border-radius:6px !important;
  background:linear-gradient(135deg,#fff8ea,#f2dfc2) !important;
  box-shadow:var(--mtp-shadow) !important;
}

.mtp-app .mtp-accommodation-guide h3,
.mtp-app .mtp-accommodation-guide h4{
  text-align:center !important;
  color:#4b3023 !important;
  font-size:25px !important;
}

.mtp-app .mtp-accommodation-guide p{
  text-align:center !important;
  color:var(--mtp-muted) !important;
  font-size:13px !important;
}

/* ---------- Budget ---------- */
.mtp-app .mtp-budget-grid,
.mtp-app .mtp-allocation-grid{
  gap:12px !important;
}

.mtp-app .mtp-budget-grid label,
.mtp-app .mtp-allocation-grid label{
  padding:16px !important;
  border:1px solid var(--mtp-border) !important;
  border-radius:5px !important;
  background:var(--mtp-card) !important;
  color:var(--mtp-ink-soft) !important;
  box-shadow:0 6px 16px rgba(73,48,31,.045) !important;
  font-size:13px !important;
  font-weight:700 !important;
}

.mtp-app input:not([type="checkbox"]):not([type="radio"]),
.mtp-app select,
.mtp-app textarea{
  border:1px solid #dfc8a8 !important;
  border-radius:5px !important;
  background:#fffaf2 !important;
  color:var(--mtp-ink) !important;
  font-size:15px !important;
}

.mtp-app input:not([type="checkbox"]):not([type="radio"]):focus,
.mtp-app select:focus,
.mtp-app textarea:focus{
  border-color:var(--mtp-gold) !important;
  box-shadow:0 0 0 3px rgba(201,146,75,.13) !important;
  outline:none !important;
}

.mtp-app .mtp-total-live,
.mtp-app .mtp-allocated,
.mtp-app .mtp-budget-total{
  max-width:570px !important;
  margin:27px auto !important;
  padding:20px 24px !important;
  border:1px solid #dfc39a !important;
  border-radius:6px !important;
  background:linear-gradient(135deg,#fff8e9,#f2dfc2) !important;
  color:#68462f !important;
  text-align:center !important;
  box-shadow:var(--mtp-shadow) !important;
}

.mtp-app .mtp-total-live strong,
.mtp-app .mtp-allocated strong,
.mtp-app .mtp-budget-total strong{
  color:#a16530 !important;
  font-size:21px !important;
}

/* ---------- Experiences: unified premium cards ---------- */
.mtp-app .mtp-experience-grid,
.mtp-app .mtp-experiences-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:15px !important;
}

.mtp-app .mtp-experience-card,
.mtp-app .mtp-experience-option,
.mtp-app .mtp-experience-item{
  position:relative !important;
  overflow:hidden !important;
  min-height:150px !important;
  padding:20px !important;
  border:1px solid var(--mtp-border) !important;
  border-radius:6px !important;
  background:var(--mtp-card) !important;
  box-shadow:0 8px 20px rgba(73,48,31,.05) !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease !important;
}

.mtp-app .mtp-experience-card:hover,
.mtp-app .mtp-experience-option:hover,
.mtp-app .mtp-experience-item:hover{
  transform:translateY(-3px) !important;
  border-color:var(--mtp-gold) !important;
  box-shadow:var(--mtp-shadow) !important;
}

.mtp-app .mtp-experience-card.is-selected,
.mtp-app .mtp-experience-option.is-selected,
.mtp-app .mtp-experience-item.is-selected{
  background:linear-gradient(145deg,#fff5df,#f2ddbb) !important;
  border-color:var(--mtp-gold-dark) !important;
}

/* Style native checkboxes without changing their behavior */
.mtp-app .mtp-experience-card input[type="checkbox"],
.mtp-app .mtp-experience-option input[type="checkbox"],
.mtp-app .mtp-experience-item input[type="checkbox"]{
  width:20px !important;
  height:20px !important;
  accent-color:var(--mtp-gold-dark) !important;
  vertical-align:middle !important;
}

.mtp-app .mtp-experience-card h3,
.mtp-app .mtp-experience-card h4,
.mtp-app .mtp-experience-option strong,
.mtp-app .mtp-experience-item strong{
  color:#70432e !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:18px !important;
  line-height:1.3 !important;
}

.mtp-app .mtp-experience-card p,
.mtp-app .mtp-experience-option span,
.mtp-app .mtp-experience-item span{
  color:var(--mtp-muted) !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

/* ---------- Restaurant / hotel cards ---------- */
.mtp-app .mtp-restaurant-card,
.mtp-app .mtp-hotel-card,
.mtp-app .mtp-riiad-card{
  border:1px solid var(--mtp-border) !important;
  border-radius:6px !important;
  background:var(--mtp-card) !important;
  box-shadow:0 8px 20px rgba(73,48,31,.05) !important;
}

.mtp-app .mtp-restaurant-card h3,
.mtp-app .mtp-hotel-card h3,
.mtp-app .mtp-riiad-card h3{
  color:#70432e !important;
  font-size:18px !important;
}

.mtp-app .mtp-restaurant-card .mtp-price,
.mtp-app .mtp-hotel-card .mtp-price,
.mtp-app .mtp-riiad-card .mtp-price{
  color:#a16530 !important;
  font-size:16px !important;
  font-weight:800 !important;
}

/* ---------- All planner buttons: one visual language ---------- */
.mtp-app .mtp-step button,
.mtp-app .mtp-step .mtp-btn,
.mtp-app .mtp-step a.mtp-btn{
  min-height:44px !important;
  padding:10px 19px !important;
  border-radius:5px !important;
  border:1px solid #d8b47d !important;
  background:#fffaf2 !important;
  color:#70432e !important;
  font-size:13px !important;
  font-weight:800 !important;
  box-shadow:none !important;
  transition:all .18s ease !important;
}

.mtp-app .mtp-step button:hover,
.mtp-app .mtp-step .mtp-btn:hover,
.mtp-app .mtp-step a.mtp-btn:hover{
  background:#f4e1c4 !important;
  border-color:var(--mtp-gold-dark) !important;
  transform:translateY(-1px) !important;
}

.mtp-app .mtp-step button[type="submit"],
.mtp-app .mtp-step .mtp-primary,
.mtp-app .mtp-step .mtp-next,
.mtp-app .mtp-step .mtp-review,
.mtp-app .mtp-step .mtp-guide-primary{
  background:linear-gradient(135deg,#c9924b,#b9783c) !important;
  border-color:#ad6d35 !important;
  color:#fffdf8 !important;
  box-shadow:0 8px 18px rgba(168,109,52,.18) !important;
}

.mtp-app .mtp-step button[type="submit"]:hover,
.mtp-app .mtp-step .mtp-primary:hover,
.mtp-app .mtp-step .mtp-next:hover,
.mtp-app .mtp-step .mtp-review:hover,
.mtp-app .mtp-step .mtp-guide-primary:hover{
  background:linear-gradient(135deg,#d3a15d,#bd7c3e) !important;
}

/* ---------- Navigation ---------- */
.mtp-app .mtp-actions,
.mtp-app .mtp-step-actions{
  border-top:1px solid var(--mtp-border) !important;
  margin-top:30px !important;
  padding-top:22px !important;
}

.mtp-app .mtp-actions button,
.mtp-app .mtp-step-actions button{
  border-radius:5px !important;
}

/* ---------- Date / hero controls ---------- */
.mtp-app input[type="date"]{
  min-height:48px !important;
  font-size:15px !important;
}

.mtp-app .mtp-date-card,
.mtp-app .mtp-dates-card{
  border:1px solid var(--mtp-border) !important;
  border-radius:6px !important;
  background:#fffaf2 !important;
}

/* ---------- Progress ---------- */
.mtp-app .mtp-progress,
.mtp-app .mtp-progress-bar{
  background:#eadfce !important;
}

.mtp-app .mtp-progress > *,
.mtp-app .mtp-progress-bar > *{
  background:linear-gradient(90deg,#a86d34,#d4a15c) !important;
}

/* ---------- Mobile ---------- */
@media(max-width:900px){
  .mtp-app .mtp-stay-area-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .mtp-app .mtp-stay-type-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .mtp-app .mtp-experience-grid,
  .mtp-app .mtp-experiences-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:650px){
  .mtp-app .mtp-step > h1,
  .mtp-app .mtp-step > h2,
  .mtp-app .mtp-step > h3,
  .mtp-app .mtp-step .mtp-step-title{
    font-size:30px !important;
  }

  .mtp-app .mtp-stay-area-grid,
  .mtp-app .mtp-stay-type-grid,
  .mtp-app .mtp-accommodation-choice,
  .mtp-app .mtp-experience-grid,
  .mtp-app .mtp-experiences-grid{
    grid-template-columns:1fr !important;
  }

  .mtp-app .mtp-step .mtp-option strong,
  .mtp-app .mtp-step .mtp-choice strong,
  .mtp-app .mtp-step .mtp-stay-option strong,
  .mtp-app .mtp-step .mtp-accommodation-card strong{
    font-size:18px !important;
  }

  .mtp-app .mtp-step .mtp-option span,
  .mtp-app .mtp-step .mtp-choice span,
  .mtp-app .mtp-step .mtp-stay-option span,
  .mtp-app .mtp-step .mtp-accommodation-card span{
    font-size:13px !important;
  }
}


/* ================================================================
   v4.41 — MASTER TRAVEL UI / REFERENCE DESIGN
   CSS ONLY — matches the approved visual reference.
   ================================================================ */

.mtp-app{
  --ref-ink:#3c261b;
  --ref-text:#5e493a;
  --ref-muted:#786555;
  --ref-orange:#d15f28;
  --ref-orange-dark:#b94f1e;
  --ref-gold:#d29a54;
  --ref-cream:#fffaf3;
  --ref-card:#fffdf9;
  --ref-peach:#fff0dc;
  --ref-line:#ead9c2;
  --ref-shadow:0 8px 24px rgba(86,52,28,.07);
}

/* STEP CONTENT */
.mtp-app .mtp-step{
  color:var(--ref-ink) !important;
  background:#fffdf9 !important;
}

/* Main step titles */
.mtp-app .mtp-step > h3,
.mtp-app .mtp-step .mtp-profile-head h3,
.mtp-app .mtp-step .mtp-budget-head h3{
  color:var(--ref-ink) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-weight:700 !important;
  letter-spacing:-.035em !important;
  line-height:1.12 !important;
}

/* All explanatory text */
.mtp-app .mtp-step > .mtp-budget-intro,
.mtp-app .mtp-step .mtp-step-note,
.mtp-app .mtp-step .mtp-profile-head p,
.mtp-app .mtp-step .mtp-budget-head p{
  color:var(--ref-text) !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

/* ================================================================
   STEP 4 — AREA / ACCOMMODATION
   ================================================================ */

.mtp-app .mtp-step[data-step="4"] .mtp-stay-preferences{
  margin:0 0 38px !important;
  padding:0 !important;
  background:transparent !important;
}

/* Section heading: centered like the reference screenshot */
.mtp-app .mtp-step[data-step="4"] .mtp-stay-preferences > h3,
.mtp-app .mtp-step[data-step="4"] .mtp-stay-subtitle{
  display:block !important;
  width:100% !important;
  margin:0 0 10px !important;
  text-align:center !important;
  color:var(--ref-ink) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:38px !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-subtitle{
  margin:34px 0 10px !important;
  font-size:34px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-preferences > .mtp-budget-intro{
  width:100% !important;
  max-width:760px !important;
  margin:0 auto 22px !important;
  text-align:center !important;
  color:var(--ref-muted) !important;
  font-size:14px !important;
}

/* EXACTLY 5 balanced cards */
.mtp-app .mtp-step[data-step="4"] .mtp-stay-area-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:12px !important;
  width:100% !important;
  margin:0 auto !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-type-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  width:100% !important;
  margin:0 auto !important;
}

/* Cards: text is centered and NEVER crosses into the next card */
.mtp-app .mtp-step[data-step="4"] .mtp-stay-area-grid .mtp-stay-option,
.mtp-app .mtp-step[data-step="4"] .mtp-stay-type-grid .mtp-stay-option{
  appearance:none !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  min-height:150px !important;
  padding:27px 15px 20px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:normal !important;
  overflow:hidden !important;
  border:1px solid var(--ref-line) !important;
  border-radius:6px !important;
  background:var(--ref-card) !important;
  color:var(--ref-ink) !important;
  box-shadow:var(--ref-shadow) !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-option strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 12px !important;
  color:#573424 !important;
  text-align:center !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:19px !important;
  line-height:1.2 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-option span{
  display:block !important;
  width:100% !important;
  max-width:190px !important;
  margin:0 auto !important;
  color:var(--ref-text) !important;
  text-align:center !important;
  font-size:13px !important;
  line-height:1.5 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

/* Selected card */
.mtp-app .mtp-step[data-step="4"] .mtp-stay-option.is-selected,
.mtp-app .mtp-step[data-step="4"] .mtp-stay-option[aria-pressed="true"]{
  background:linear-gradient(145deg,#fff2df,#f8e3c4) !important;
  border:2px solid var(--ref-orange) !important;
  box-shadow:0 10px 24px rgba(209,95,40,.11) !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-option:hover{
  border-color:var(--ref-orange) !important;
  transform:translateY(-2px) !important;
}

/* Booking title and cards */
.mtp-app .mtp-step[data-step="4"] > h3{
  max-width:850px !important;
  margin:38px auto 10px !important;
  text-align:center !important;
  color:var(--ref-ink) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:38px !important;
  line-height:1.12 !important;
}

.mtp-app .mtp-step[data-step="4"] > .mtp-budget-intro{
  max-width:760px !important;
  margin:0 auto 22px !important;
  text-align:center !important;
  font-size:14px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-choice{
  max-width:800px !important;
  margin:0 auto 26px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-card{
  min-height:115px !important;
  padding:22px 20px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  border:1px solid var(--ref-line) !important;
  border-radius:6px !important;
  background:var(--ref-card) !important;
  box-shadow:var(--ref-shadow) !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-card strong{
  margin:0 0 8px !important;
  color:#573424 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:20px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-card span{
  color:var(--ref-text) !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-card.is-selected,
.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-card[aria-pressed="true"]{
  background:linear-gradient(145deg,#fff2df,#f8e3c4) !important;
  border:2px solid var(--ref-orange) !important;
}

/* Guide */
.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-guide{
  max-width:800px !important;
  margin:22px auto 30px !important;
  border:1px solid var(--ref-line) !important;
  border-radius:6px !important;
  background:linear-gradient(135deg,#fff9ef,#f8e8cf) !important;
  box-shadow:var(--ref-shadow) !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-accommodation-guide h3{
  text-align:center !important;
  color:var(--ref-ink) !important;
  font-size:25px !important;
}

/* Budget allocation */
.mtp-app .mtp-step[data-step="4"] .mtp-budget-grid{
  max-width:800px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-budget-grid label{
  box-sizing:border-box !important;
  padding:14px !important;
  border:1px solid var(--ref-line) !important;
  border-radius:6px !important;
  background:var(--ref-card) !important;
  color:var(--ref-ink) !important;
  font-size:13px !important;
  font-weight:700 !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-budget-grid input{
  width:100% !important;
  box-sizing:border-box !important;
  margin-top:7px !important;
  min-height:43px !important;
  border:1px solid #dfc8a8 !important;
  border-radius:5px !important;
  background:#fffaf2 !important;
  font-size:14px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-total-live{
  max-width:480px !important;
  margin:26px auto 0 !important;
  padding:18px !important;
  border:1px solid #e2c69c !important;
  border-radius:6px !important;
  background:linear-gradient(135deg,#fff6e6,#f6e3c4) !important;
  text-align:center !important;
  color:#70432e !important;
}

/* ================================================================
   STEP 2 — PROFILE
   ================================================================ */

.mtp-app .mtp-profile-head{
  text-align:center !important;
}

.mtp-app .mtp-profile-head h3{
  font-size:40px !important;
  margin:0 0 10px !important;
}

.mtp-app .mtp-profile-head p{
  text-align:center !important;
  font-size:14px !important;
}

.mtp-app .mtp-profile-section h4{
  text-align:center !important;
  color:#573424 !important;
  font-size:15px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin:26px 0 16px !important;
}

.mtp-app .mtp-style-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}

.mtp-app .mtp-style-card{
  min-width:0 !important;
  min-height:155px !important;
  padding:22px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border:1px solid var(--ref-line) !important;
  border-radius:6px !important;
  background:var(--ref-card) !important;
}

.mtp-app .mtp-style-card strong{
  width:100% !important;
  color:#573424 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:21px !important;
  text-align:center !important;
}

.mtp-app .mtp-style-card span,
.mtp-app .mtp-style-card small{
  width:100% !important;
  text-align:center !important;
  font-size:13px !important;
  line-height:1.5 !important;
  color:var(--ref-text) !important;
}

.mtp-app .mtp-profile-travelers{
  text-align:center !important;
}

.mtp-app .mtp-profile-number{
  justify-content:center !important;
  align-items:center !important;
}

/* ================================================================
   STEP 3 — BUDGET
   ================================================================ */

.mtp-app .mtp-budget-head{
  max-width:850px !important;
  margin:0 auto 28px !important;
  text-align:center !important;
}

.mtp-app .mtp-budget-head h3{
  font-size:40px !important;
  text-align:center !important;
  margin:0 0 12px !important;
}

.mtp-app .mtp-budget-head .mtp-budget-intro{
  font-size:14px !important;
  text-align:center !important;
}

.mtp-app .mtp-budget-row{
  max-width:650px !important;
  margin:0 auto !important;
}

.mtp-app .mtp-budget-help{
  max-width:650px !important;
  margin:18px auto 0 !important;
  text-align:center !important;
}

/* ================================================================
   STEP 5 — EXPERIENCES
   ================================================================ */

.mtp-app .mtp-step[data-step="5"] > h3{
  max-width:850px !important;
  margin:0 auto 12px !important;
  text-align:center !important;
  color:var(--ref-ink) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:40px !important;
  line-height:1.12 !important;
}

.mtp-app .mtp-step[data-step="5"] > .mtp-step-note{
  max-width:780px !important;
  margin:0 auto 26px !important;
  text-align:center !important;
  font-size:14px !important;
  color:var(--ref-text) !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-picker{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice{
  min-width:0 !important;
  border:1px solid var(--ref-line) !important;
  border-radius:6px !important;
  background:var(--ref-card) !important;
  box-shadow:var(--ref-shadow) !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-info{
  padding:17px !important;
  text-align:left !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-info strong{
  display:block !important;
  color:#573424 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:18px !important;
  line-height:1.3 !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-info small{
  color:var(--ref-muted) !important;
  font-size:13px !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-info b{
  color:var(--ref-orange-dark) !important;
  font-size:15px !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.is-selected{
  border:2px solid var(--ref-orange) !important;
  background:linear-gradient(145deg,#fff2df,#f8e3c4) !important;
}

/* ================================================================
   GLOBAL BUTTONS
   ================================================================ */

.mtp-app .mtp-actions button,
.mtp-app .mtp-step button{
  border-radius:5px !important;
}

.mtp-app .mtp-actions .mtp-next,
.mtp-app .mtp-actions .mtp-generate{
  min-height:48px !important;
  padding:11px 24px !important;
  background:linear-gradient(135deg,#d15f28,#bd501f) !important;
  border:1px solid #ad461b !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:800 !important;
  box-shadow:0 8px 18px rgba(185,79,30,.18) !important;
}

.mtp-app .mtp-actions .mtp-back{
  min-height:46px !important;
  padding:10px 22px !important;
  background:#fffaf3 !important;
  border:1px solid #e1c8a5 !important;
  color:#70432e !important;
  font-size:13px !important;
  font-weight:800 !important;
}

/* ================================================================
   MOBILE
   ================================================================ */
@media(max-width:900px){
  .mtp-app .mtp-step[data-step="4"] .mtp-stay-area-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .mtp-app .mtp-step[data-step="4"] .mtp-stay-type-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-picker{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:650px){
  .mtp-app .mtp-step[data-step="4"] .mtp-stay-area-grid,
  .mtp-app .mtp-step[data-step="4"] .mtp-stay-type-grid,
  .mtp-app .mtp-step[data-step="4"] .mtp-accommodation-choice,
  .mtp-app .mtp-step[data-step="4"] .mtp-budget-grid,
  .mtp-app .mtp-style-grid,
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-picker{
    grid-template-columns:1fr !important;
  }

  .mtp-app .mtp-step[data-step="4"] .mtp-stay-preferences > h3,
  .mtp-app .mtp-step[data-step="4"] > h3,
  .mtp-app .mtp-step[data-step="5"] > h3{
    font-size:30px !important;
  }

  .mtp-app .mtp-step[data-step="4"] .mtp-stay-subtitle{
    font-size:28px !important;
  }

  .mtp-app .mtp-step[data-step="4"] .mtp-stay-option{
    min-height:125px !important;
  }
}


/* ================================================================
   v4.42 — PERFECT CENTER AXIS FOR ALL STEP HEADINGS
   CSS ONLY
   ================================================================ */

/* One common centered heading system */
.mtp-app .mtp-step[data-step="4"] .mtp-stay-preferences > h3,
.mtp-app .mtp-step[data-step="4"] .mtp-stay-preferences > .mtp-stay-subtitle,
.mtp-app .mtp-step[data-step="4"] > h3,
.mtp-app .mtp-step[data-step="4"] > .mtp-budget-intro,
.mtp-app .mtp-step[data-step="5"] > h3,
.mtp-app .mtp-step[data-step="5"] > .mtp-step-note,
.mtp-app .mtp-profile-head h3,
.mtp-app .mtp-profile-head p,
.mtp-app .mtp-budget-head h3,
.mtp-app .mtp-budget-head p{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  float:none !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:center !important;
}

/* Keep the visual hierarchy while forcing the same center line */
.mtp-app .mtp-step[data-step="4"] .mtp-stay-preferences > h3{
  margin-top:0 !important;
  margin-bottom:10px !important;
  font-size:38px !important;
}

.mtp-app .mtp-step[data-step="4"] .mtp-stay-preferences > .mtp-stay-subtitle{
  margin-top:34px !important;
  margin-bottom:10px !important;
  font-size:34px !important;
}

.mtp-app .mtp-step[data-step="4"] > h3{
  margin-top:38px !important;
  margin-bottom:10px !important;
  font-size:38px !important;
}

/* The text blocks beneath each heading share exactly the same axis */
.mtp-app .mtp-step[data-step="4"] .mtp-stay-preferences > .mtp-budget-intro,
.mtp-app .mtp-step[data-step="4"] > .mtp-budget-intro{
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Prevent the subtitle from inheriting old alignment rules */
.mtp-app .mtp-step[data-step="4"] h3.mtp-stay-subtitle{
  text-align:center !important;
  display:block !important;
}

/* Mobile: preserve the same exact center axis */
@media(max-width:650px){
  .mtp-app .mtp-step[data-step="4"] .mtp-stay-preferences > h3,
  .mtp-app .mtp-step[data-step="4"] .mtp-stay-preferences > .mtp-stay-subtitle,
  .mtp-app .mtp-step[data-step="4"] > h3{
    width:100% !important;
    text-align:center !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}


/* ================================================================
   v4.43 — HOME HERO FINAL POLISH
   CSS ONLY
   ================================================================ */

/* Remove the black strip / top band above the home hero */
.mtp-app .mtp-hero,
.mtp-app .mtp-home-hero,
.mtp-app .mtp-hero-shell,
.mtp-app .mtp-hero-inner {
  border-top: 0 !important;
  box-shadow: none !important;
  margin-top: 0 !important;
}

.mtp-app .mtp-hero::before,
.mtp-app .mtp-home-hero::before,
.mtp-app .mtp-hero-shell::before {
  display: none !important;
  content: none !important;
}

/* Make native date calendar icon visible */
.mtp-app input[type="date"],
.mtp-app input.mtp-date-input,
.mtp-app .mtp-date-field input[type="date"] {
  color: #3c261b !important;
  background-color: #fffaf3 !important;
  color-scheme: light !important;
  opacity: 1 !important;
}

.mtp-app input[type="date"]::-webkit-calendar-picker-indicator {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  cursor: pointer !important;
  filter: none !important;
  width: 18px !important;
  height: 18px !important;
  padding: 2px !important;
  margin-right: 2px !important;
}

.mtp-app input[type="date"]::-webkit-datetime-edit,
.mtp-app input[type="date"]::-webkit-datetime-edit-text,
.mtp-app input[type="date"]::-webkit-datetime-edit-month-field,
.mtp-app input[type="date"]::-webkit-datetime-edit-day-field,
.mtp-app input[type="date"]::-webkit-datetime-edit-year-field {
  color: #3c261b !important;
}


/* ================================================================
   v4.44 — HOME HERO: REMOVE TOP BLACK BAND + CALENDAR ICON
   CSS ONLY — no Planner logic changes
   ================================================================ */

/* The black strip is the old progress bar area shown above Step 1.
   Hide it only while the premium opening screen is active. */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-progress {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Ensure Step 1 starts directly at the top of the card. */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-step-hero-date {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Calendar icon: the date fields are now light, so the old
   white/inverted Chromium icon was invisible. Force a dark icon. */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-field input[type="date"] {
  color-scheme: light !important;
  -webkit-appearance: auto !important;
  appearance: auto !important;
}

.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-field input[type="date"]::-webkit-calendar-picker-indicator {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  filter: brightness(0) saturate(100%) !important;
  width: 18px !important;
  height: 18px !important;
  cursor: pointer !important;
  margin-right: 2px !important;
}

/* Keep the date text/placeholder readable on the light fields. */
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-field input[type="date"]::-webkit-datetime-edit,
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-field input[type="date"]::-webkit-datetime-edit-text,
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-field input[type="date"]::-webkit-datetime-edit-month-field,
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-field input[type="date"]::-webkit-datetime-edit-day-field,
.mtp-app:has(.mtp-step-hero-date.is-active) .mtp-premium-date-field input[type="date"]::-webkit-datetime-edit-year-field {
  color: #3c261b !important;
}


/* v4.45 — Travel Style budget benchmark note */
.mtp-app .mtp-style-range-note{
  max-width:780px !important;
  margin:0 auto 18px !important;
  padding:11px 16px !important;
  border:1px solid #ead9c2 !important;
  border-radius:6px !important;
  background:#fffaf3 !important;
  color:#765c49 !important;
  text-align:center !important;
  font-size:13px !important;
  line-height:1.55 !important;
}


/* v4.46 — Budget validation message: total trip minimum/maximum */
.mtp-app .mtp-budget-fit{
  max-width:760px !important;
  margin:18px auto 0 !important;
  padding:14px 18px !important;
  border:1px solid #e4c89f !important;
  border-radius:10px !important;
  background:#fff8ea !important;
  color:#6b452b !important;
  text-align:center !important;
  font-size:14px !important;
  line-height:1.55 !important;
}
.mtp-app .mtp-budget-fit[data-type="warning"]{
  border-color:#d88955 !important;
  background:#fff1e7 !important;
  color:#713b22 !important;
}
.mtp-app .mtp-budget-fit[data-type="success"]{
  border-color:#dfc69d !important;
  background:#fffaf1 !important;
}


/* v4.48 — Intelligent budget allocation note */
.mtp-app .mtp-allocation-auto-note{
  max-width:780px !important;
  margin:0 auto 18px !important;
  padding:12px 18px !important;
  border:1px solid #e5d2b8 !important;
  border-radius:10px !important;
  background:#fffaf2 !important;
  color:#76563e !important;
  text-align:center !important;
  font-size:13px !important;
  line-height:1.55 !important;
}

/* v4.50.2 — Breakfast included badge */
.mtp-app .mtp-hotel-meta span:has(+ span),
.mtp-app .mtp-hotel-meta span {
  /* Preserve existing meta layout; breakfast badge uses the same treatment. */
}


/* v4.50.5 — Food included filters: centered two-card layout */
.mtp-stay-food-grid{
  width:100%;
  max-width:760px;
  margin:16px auto 10px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
  justify-content:center;
}
.mtp-stay-food-grid .mtp-stay-option{
  width:100%;
  min-height:112px;
  box-sizing:border-box;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center!important;
  padding:18px 16px;
}
.mtp-stay-food-grid .mtp-stay-option strong{
  display:block;
  width:100%;
  text-align:center!important;
  font-size:17px;
  line-height:1.25;
  margin:0 0 10px;
}
.mtp-stay-food-grid .mtp-stay-option span{
  display:block;
  width:100%;
  max-width:250px;
  text-align:center!important;
  font-size:13px;
  line-height:1.45;
  margin:0 auto;
}
.mtp-stay-food-note{
  max-width:760px;
  margin:8px auto 0;
  text-align:center!important;
  color:#806f5d;
  font-size:13px;
  line-height:1.5;
}
@media (max-width:600px){
  .mtp-stay-food-grid{
    grid-template-columns:1fr;
    max-width:420px;
  }
}

/* v4.50.6 — Marrakech affiliate map */
.mtp-map-section{margin:42px 0 0;padding:28px;border:1px solid #e7d8c5;border-radius:22px;background:linear-gradient(180deg,#fffdf9 0%,#f8f0e4 100%);box-shadow:0 16px 40px rgba(46,31,19,.07)}
.mtp-map-heading{text-align:center;max-width:820px;margin:0 auto 18px}
.mtp-map-kicker{display:block;font-size:11px;letter-spacing:3px;font-weight:800;color:#9b642e;margin-bottom:8px}
.mtp-map-heading h2{margin:0 0 8px;font-size:34px;line-height:1.15;color:#24170f}
.mtp-map-heading p{margin:0;color:#806f5d;font-size:15px;line-height:1.6}
.mtp-map-toolbar{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:20px 0 14px}
.mtp-map-filter{appearance:none;border:1px solid #d9c3a7;background:#fff;border-radius:999px;padding:10px 18px;font-weight:700;color:#5b3c25;cursor:pointer;transition:.18s ease}
.mtp-map-filter:hover{transform:translateY(-1px);border-color:#b87936}
.mtp-map-filter.is-active{background:#2a211b;color:#fff;border-color:#2a211b;box-shadow:0 5px 15px rgba(42,33,27,.18)}
.mtp-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:14px;align-items:stretch}
.mtp-map{height:560px;min-height:360px;border-radius:16px;overflow:hidden;border:1px solid #dbc7ad;background:#eadfce;box-shadow:0 10px 24px rgba(40,28,18,.08)}
.mtp-map-side{border:1px solid #e2d2bc;border-radius:16px;background:#fffaf2;padding:18px;display:flex;flex-direction:column;justify-content:flex-start;gap:5px;text-align:center}
.mtp-map-side strong{font-size:30px;line-height:1;color:#9b642e}
.mtp-map-side span{font-weight:800;color:#3a281b}
.mtp-map-side small{margin-top:18px;color:#806f5d;font-size:11px;line-height:1.55}
.mtp-map-attribution-note{margin-top:9px;text-align:right;color:#8a7b6c;font-size:10px}
.mtp-map-empty{margin-top:15px;padding:16px;border:1px dashed #d7b88f;border-radius:12px;text-align:center;color:#765b3c;background:#fffaf2}
.mtp-map-marker-wrap{background:transparent!important;border:0!important}
.mtp-map-marker{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.28);font-size:15px;font-weight:900;color:#fff;background:#2a211b}
.mtp-map-marker.is-activity{background:#b87835}
.mtp-map-popup{min-width:220px;font-family:inherit;color:#2b1d14}
.mtp-map-popup-type{font-size:9px;letter-spacing:2px;font-weight:900;color:#9b642e;margin-bottom:5px}
.mtp-map-popup h3{margin:0 0 4px;font-size:18px;line-height:1.2}
.mtp-map-popup-area,.mtp-map-popup-tag{margin:2px 0;color:#806f5d;font-size:12px}
.mtp-map-popup-price{margin:10px 0;font-size:17px;font-weight:800;color:#2a211b}
.mtp-map-popup-price small{font-size:10px;font-weight:500;color:#806f5d}
.mtp-map-popup-badges{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}
.mtp-map-popup-badges span{font-size:10px;font-weight:800;background:#f5eadb;color:#76512f;border-radius:999px;padding:4px 7px}
.mtp-map-affiliate{display:block;text-align:center;background:#2a211b;color:#fff!important;text-decoration:none!important;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:800;margin-top:10px}
.mtp-map-affiliate:hover{background:#9b642e;color:#fff!important}
.mtp-map-no-affiliate{display:block;text-align:center;color:#9a8977;font-size:10px;margin-top:10px}
@media(max-width:800px){.mtp-map-layout{grid-template-columns:1fr}.mtp-map-side{display:grid;grid-template-columns:auto auto;justify-content:center;column-gap:8px;align-items:center}.mtp-map-side small{grid-column:1/-1;margin-top:8px}.mtp-map{height:480px}.mtp-map-heading h2{font-size:28px}}
@media(max-width:480px){.mtp-map-section{padding:18px}.mtp-map{height:400px}.mtp-map-toolbar{gap:6px}.mtp-map-filter{padding:9px 13px;font-size:12px}}

/* v4.50.7 — Show the database image inside interactive map popups */
.mtp-map-popup-photo{
  width:calc(100% + 32px);
  height:150px;
  margin:-16px -16px 14px;
  overflow:hidden;
  background:#f3eee7;
}
.mtp-map-popup-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.mtp-map-popup{
  overflow:hidden;
}
@media (max-width:600px){
  .mtp-map-popup-photo{
    height:135px;
  }
}

/* v4.50.9 — Map belongs exclusively to the Area to stay step */
.mtp-step[data-step="4"] .mtp-map-section{
  width:100%;
  margin:28px auto 8px;
}
.mtp-step:not([data-step="4"]) .mtp-map-section{
  display:none!important;
}

/* v4.53.0 — clearer actual-vs-envelope budget summary */
.mtp-summary-grid > div small{
  display:block;
  margin-top:6px;
  font-size:11px;
  line-height:1.35;
  opacity:.68;
}


/* v4.58 activity inclusion badges */
.mtp-activity-inclusion-badges{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 3px}
.mtp-activity-inclusion-badges span{display:inline-flex;align-items:center;border:1px solid rgba(15,23,42,.10);border-radius:999px;padding:4px 8px;font-size:.72rem;line-height:1.1;background:#f8fafc;color:#334155}
.mtp-selected-experience-card .mtp-activity-inclusion-badges{margin-top:8px}

/* v4.58.1 — clean activity picker cards: photo + title + price + compact inclusion badges */
.mtp-app .mtp-step[data-step="5"] .mtp-activity-picker{
  align-items:stretch !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice{
  min-height:0 !important;
  display:block !important;
  border-radius:14px !important;
  background:#fffdf9 !important;
  overflow:hidden !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-content{
  display:flex !important;
  min-height:0 !important;
  flex-direction:column !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-content img,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-image-placeholder{
  display:block !important;
  width:100% !important;
  height:150px !important;
  min-height:150px !important;
  object-fit:cover !important;
  background:#efe7da !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-image-placeholder{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#8b735f !important;
  font-size:12px !important;
  letter-spacing:.3px !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-info{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  padding:14px 16px 16px !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-info strong{
  display:block !important;
  margin:0 !important;
  color:#5d3929 !important;
  font-family:Georgia,serif !important;
  font-size:17px !important;
  line-height:1.28 !important;
  font-weight:700 !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-info b{
  display:block !important;
  margin:10px 0 0 !important;
  color:#b84d1f !important;
  font-family:inherit !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-info b em{
  font-style:normal !important;
  font-weight:600 !important;
  font-size:12px !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:6px !important;
  margin:10px 0 0 !important;
  padding:0 !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges span{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  min-height:26px !important;
  box-sizing:border-box !important;
  padding:5px 9px !important;
  border:1px solid #dfe4e7 !important;
  border-radius:999px !important;
  background:#f6f8f8 !important;
  color:#475569 !important;
  font-family:inherit !important;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:1.15 !important;
  white-space:normal !important;
}

/* Meal/pickup badges use subtle category tints while remaining compact. */
.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges span:nth-child(1){
  background:#f7f2e8 !important;
  border-color:#ead9b9 !important;
  color:#735b35 !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges span:nth-child(2){
  background:#eef6ee !important;
  border-color:#d7e8d5 !important;
  color:#4f6d4c !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges span:nth-child(3){
  background:#f8f0e8 !important;
  border-color:#ead7c4 !important;
  color:#76573d !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges span:nth-child(4){
  background:#f1f5f8 !important;
  border-color:#dbe4ea !important;
  color:#526575 !important;
}

.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges span:nth-child(5),
.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges span:nth-child(6){
  background:#eef4f7 !important;
  border-color:#d8e2e8 !important;
  color:#4e6573 !important;
}

/* Keep only the functional checkbox; no review/rating/discount/meta is rendered in activity cards. */
@media(max-width:800px){
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-content img,
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-image-placeholder{
    height:135px !important;
    min-height:135px !important;
  }
}

@media(max-width:520px){
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-picker{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-content img,
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-image-placeholder{
    height:165px !important;
    min-height:165px !important;
  }
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-info{
    padding:13px 14px 15px !important;
  }
}


/* v4.58.2 — FINAL activity-card override.
   The previous release could remain cached because the plugin version was still 4.57.0.
   These selectors are intentionally high-specificity and final in the stylesheet. */
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice{
  display:block !important;
  position:relative !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #e5d8c8 !important;
  border-radius:14px !important;
  background:#fffdf9 !important;
  box-shadow:none !important;
}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-content{
  display:block !important;
  min-height:0 !important;
  height:auto !important;
}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-content img,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-image-placeholder{
  display:block !important;
  width:100% !important;
  height:145px !important;
  min-width:0 !important;
  min-height:145px !important;
  max-height:145px !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
  border:0 !important;
  border-radius:0 !important;
}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-info{
  display:block !important;
  padding:13px 15px 15px !important;
  margin:0 !important;
  min-height:0 !important;
  height:auto !important;
}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-info strong{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#573424 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:17px !important;
  line-height:1.28 !important;
  font-weight:700 !important;
}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-info b{
  display:block !important;
  margin:8px 0 0 !important;
  padding:0 !important;
  color:#b84d1f !important;
  font-family:inherit !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  width:100% !important;
  max-width:100% !important;
  gap:6px !important;
  margin:9px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:25px !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:4px 8px !important;
  box-sizing:border-box !important;
  border:1px solid #ded7cc !important;
  border-radius:999px !important;
  background:#f7f3ed !important;
  color:#5f554c !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:11px !important;
  line-height:1.15 !important;
  font-weight:600 !important;
  white-space:nowrap !important;
  overflow:visible !important;
}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges .mtp-inclusion-breakfast,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges .mtp-inclusion-lunch,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges .mtp-inclusion-dinner,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges .mtp-inclusion-drinks{
  background:#fff8e9 !important;
  border-color:#ead9ad !important;
  color:#725b2f !important;
}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges .mtp-inclusion-pickup,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-inclusion-badges .mtp-inclusion-hotel{
  background:#eef5f8 !important;
  border-color:#d6e1e6 !important;
  color:#50636d !important;
}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice>input{
  position:absolute !important;
  top:11px !important;
  left:11px !important;
  z-index:5 !important;
  width:19px !important;
  height:19px !important;
  margin:0 !important;
  padding:0 !important;
}
@media(max-width:800px){
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-content img,
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-image-placeholder{height:130px !important;min-height:130px !important;max-height:130px !important}
}
@media(max-width:520px){
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-picker{grid-template-columns:1fr !important;gap:12px !important}
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-choice-content img,
  .mtp-app .mtp-step[data-step="5"] .mtp-activity-image-placeholder{height:155px !important;min-height:155px !important;max-height:155px !important}
}

/* v4.58.3 — definitive activity inclusion badge reset */
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v583 .mtp-activity-inclusion-badges,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges{
  display:flex !important; flex-wrap:wrap !important; align-items:center !important;
  gap:6px !important; width:100% !important; height:auto !important;
  min-height:0 !important; max-height:none !important; overflow:visible !important;
  margin:9px 0 0 !important; padding:0 !important; background:transparent !important;
}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges img,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges svg,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges video,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges canvas,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges picture{display:none !important;width:0 !important;height:0 !important;max-width:0 !important;max-height:0 !important;}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges > span,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges .mtp-inclusion-breakfast,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges .mtp-inclusion-lunch,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges .mtp-inclusion-dinner,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges .mtp-inclusion-drinks,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges .mtp-inclusion-pickup,
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-inclusion-badges .mtp-inclusion-hotel{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  width:auto !important; height:auto !important; min-width:0 !important; min-height:25px !important;
  max-width:100% !important; max-height:32px !important; margin:0 !important; padding:4px 8px !important;
  box-sizing:border-box !important; border:1px solid #ded7cc !important; border-radius:999px !important;
  background:#f7f3ed !important; background-image:none !important; color:#5f554c !important;
  font:600 11px/1.15 Arial,Helvetica,sans-serif !important; white-space:nowrap !important;
  overflow:hidden !important; vertical-align:middle !important;
}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice .mtp-activity-choice-info{height:auto !important;min-height:0 !important;}

/* v4.59.0 — Activities cards redesigned to match the premium booking-card reference. */
.mtp-app .mtp-step[data-step="5"] .mtp-activity-picker{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;max-width:1100px!important;margin:0 auto!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590{position:relative!important;display:block!important;height:334px!important;min-height:334px!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:10px!important;background:#222!important;box-shadow:0 8px 20px rgba(25,20,15,.12)!important;cursor:pointer!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590:hover{transform:translateY(-3px)!important;box-shadow:0 14px 28px rgba(25,20,15,.2)!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590.is-selected{border:3px solid #d89a4c!important;box-shadow:0 0 0 2px rgba(216,154,76,.18),0 14px 30px rgba(25,20,15,.22)!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590 .mtp-activity-choice-content{position:relative!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590 .mtp-activity-choice-content img,.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590 .mtp-activity-image-placeholder{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590 .mtp-activity-image-placeholder{display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,#b8793c,#2b211b)!important;color:#fff!important;font-weight:700!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-card-overlay{position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.02) 34%,rgba(0,0,0,.18) 52%,rgba(0,0,0,.84) 100%)!important;z-index:1!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-top-row{position:absolute!important;top:12px!important;left:12px!important;right:48px!important;z-index:5!important;display:flex!important;gap:5px!important;align-items:center!important;flex-wrap:wrap!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-top-badge{display:inline-flex!important;align-items:center!important;min-height:22px!important;padding:4px 7px!important;border-radius:4px!important;font:700 10px/1 Arial,sans-serif!important;white-space:nowrap!important;box-sizing:border-box!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-discount{background:#fff!important;color:#333!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-bestseller{background:#0753a6!important;color:#fff!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-favorite{position:absolute!important;top:10px!important;right:10px!important;z-index:6!important;width:38px!important;height:38px!important;border-radius:50%!important;background:rgba(255,255,255,.96)!important;color:#333!important;display:flex!important;align-items:center!important;justify-content:center!important;font:28px/1 Arial,sans-serif!important;box-shadow:0 2px 8px rgba(0,0,0,.14)!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590>input{position:absolute!important;top:14px!important;left:14px!important;right:auto!important;z-index:7!important;width:20px!important;height:20px!important;min-height:20px!important;margin:0!important;accent-color:#0b63ce!important;cursor:pointer!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590 .mtp-activity-choice-info{position:absolute!important;left:0!important;right:0!important;bottom:0!important;z-index:4!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;padding:0 15px 14px!important;margin:0!important;min-height:0!important;height:auto!important;box-sizing:border-box!important;color:#fff!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590 .mtp-activity-choice-info strong{display:block!important;order:2!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:15px!important;line-height:1.45!important;font-weight:800!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important;margin:0!important;padding:0!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590 .mtp-activity-choice-info b{display:block!important;order:3!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;line-height:1.25!important;font-weight:800!important;margin:6px 0 0!important;padding:0!important;text-shadow:0 1px 2px rgba(0,0,0,.4)!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590 .mtp-activity-rating{order:4!important;margin-top:6px!important;color:#ffd21c!important;font:700 12px/1.2 Arial,sans-serif!important;text-shadow:0 1px 2px rgba(0,0,0,.5)!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590 .mtp-activity-rating em{font-style:normal;color:#fff!important;font-weight:600!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590 .mtp-activity-inclusion-badges{order:1!important;display:flex!important;flex-wrap:wrap!important;gap:5px!important;width:100%!important;margin:0 0 7px!important;padding:0!important;background:transparent!important}
.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590 .mtp-activity-inclusion-badges span{display:inline-flex!important;align-items:center!important;width:auto!important;min-width:0!important;min-height:20px!important;height:auto!important;margin:0!important;padding:4px 7px!important;border:1px solid rgba(255,255,255,.5)!important;border-radius:999px!important;background:rgba(255,255,255,.92)!important;color:#4a4038!important;font:600 9px/1.1 Arial,sans-serif!important;white-space:nowrap!important;box-sizing:border-box!important}
@media(max-width:1000px){.mtp-app .mtp-step[data-step="5"] .mtp-activity-picker{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.mtp-app .mtp-step[data-step="5"] .mtp-activity-picker{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590{height:320px!important;min-height:320px!important}}
@media(max-width:520px){.mtp-app .mtp-step[data-step="5"] .mtp-activity-picker{grid-template-columns:1fr!important}.mtp-app .mtp-step[data-step="5"] .mtp-activity-choice.mtp-activity-card-v590{height:350px!important;min-height:350px!important}}


/* v4.60 — Premium restaurant selector cards, matching the activity-card visual language */
.mtp-restaurant-premium{
  position:relative!important;
  padding:0!important;
  border-radius:16px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.mtp-restaurant-premium .mtp-restaurant-premium-media{
  position:relative;
  display:block;
  height:132px;
  overflow:hidden;
  background:#eee;
}
.mtp-restaurant-premium .mtp-choice-card-image,
.mtp-restaurant-premium .mtp-choice-card-placeholder{
  width:100%;
  height:132px;
  object-fit:cover;
  display:block;
}
.mtp-restaurant-premium .mtp-restaurant-premium-media:after{
  content:"";
  position:absolute;
  inset:45% 0 0;
  background:linear-gradient(to bottom,transparent,rgba(0,0,0,.78));
  pointer-events:none;
}
.mtp-restaurant-premium-overlay{
  position:absolute;
  z-index:2;
  left:11px;
  right:10px;
  bottom:10px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  color:#fff;
  text-align:left;
}
.mtp-restaurant-premium-overlay strong{
  font-size:14px!important;
  line-height:1.2!important;
  color:#fff!important;
  text-shadow:0 1px 3px rgba(0,0,0,.45);
}
.mtp-restaurant-premium-overlay small{
  font-size:10px!important;
  line-height:1.2!important;
  color:rgba(255,255,255,.92)!important;
}
.mtp-restaurant-select-mark{
  position:absolute;
  z-index:4;
  top:9px;
  left:9px;
  width:27px;
  height:27px;
  display:none;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff;
  color:#9a6424;
  font-size:15px;
  font-weight:900;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.mtp-restaurant-premium.is-current .mtp-restaurant-select-mark{
  display:flex;
}
.mtp-restaurant-premium.is-current:before{
  display:none!important;
  content:none!important;
}
.mtp-restaurant-premium-body{
  min-height:58px;
  padding:8px 10px 10px!important;
  gap:4px!important;
  justify-content:flex-start;
}
.mtp-restaurant-premium-body .mtp-restaurant-prices{
  width:100%;
  margin:0;
  gap:2px;
}
.mtp-restaurant-premium-body .mtp-restaurant-prices small{
  font-size:11px;
  line-height:1.25;
  color:#8a6a43;
}
.mtp-restaurant-premium-body .mtp-restaurant-prices small strong{
  color:#272018;
}
.mtp-restaurant-premium-body .mtp-dinner-show-badge{
  margin-top:3px;
  font-size:9px!important;
}
.mtp-restaurant-choice-wrap .mtp-restaurant-review-link{
  min-height:28px;
  font-size:10px;
  border-radius:7px;
}
@media(max-width:700px){
  .mtp-restaurant-premium .mtp-restaurant-premium-media,
  .mtp-restaurant-premium .mtp-choice-card-image,
  .mtp-restaurant-premium .mtp-choice-card-placeholder{height:112px}
  .mtp-restaurant-premium-overlay strong{font-size:13px!important}
}
@media(max-width:430px){
  .mtp-restaurant-premium .mtp-restaurant-premium-media,
  .mtp-restaurant-premium .mtp-choice-card-image,
  .mtp-restaurant-premium .mtp-choice-card-placeholder{height:125px}
}


/* v4.61 — FINAL restaurant selector redesign */
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap{display:block!important;width:100%!important;height:auto!important;min-height:0!important;align-self:stretch!important;margin:0!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium{position:relative!important;display:block!important;width:100%!important;height:255px!important;min-height:255px!important;max-height:255px!important;margin:0!important;padding:0!important;overflow:hidden!important;box-sizing:border-box!important;border:1px solid #e3d6c7!important;border-radius:16px!important;background:#211b16!important;box-shadow:0 5px 16px rgba(25,18,12,.08)!important;text-align:left!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium:hover{transform:translateY(-2px)!important;box-shadow:0 12px 24px rgba(25,18,12,.16)!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium.is-current{border:2px solid #c88b42!important;box-shadow:0 0 0 2px rgba(200,139,66,.12),0 10px 22px rgba(25,18,12,.14)!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-media{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#30271f!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium .mtp-choice-card-image,.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium .mtp-choice-card-placeholder{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:100%!important;max-width:none!important;min-height:100%!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;object-fit:cover!important;object-position:center!important;box-sizing:border-box!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-media:after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.12) 42%,rgba(0,0,0,.82) 100%)!important;z-index:1!important;pointer-events:none!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-overlay{position:absolute!important;z-index:3!important;left:14px!important;right:12px!important;bottom:48px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important;margin:0!important;padding:0!important;color:#fff!important;text-align:left!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-overlay strong{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin:0!important;padding:0!important;color:#fff!important;font:800 16px/1.25 Arial,Helvetica,sans-serif!important;text-shadow:0 1px 4px rgba(0,0,0,.5)!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-overlay small{display:block!important;margin:0!important;color:rgba(255,255,255,.92)!important;font:600 11px/1.2 Arial,Helvetica,sans-serif!important;text-shadow:0 1px 3px rgba(0,0,0,.45)!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-select-mark{position:absolute!important;z-index:5!important;top:10px!important;left:10px!important;width:29px!important;height:29px!important;display:none!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;border-radius:50%!important;background:#fff!important;color:#9a6424!important;font:900 16px/1 Arial,sans-serif!important;box-shadow:0 2px 8px rgba(0,0,0,.2)!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium.is-current .mtp-restaurant-select-mark{display:flex!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-body{position:absolute!important;z-index:4!important;left:14px!important;right:12px!important;bottom:13px!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;background:transparent!important;color:#fff!important;box-sizing:border-box!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-body .mtp-restaurant-prices{display:flex!important;flex-direction:row!important;align-items:center!important;width:auto!important;margin:0!important;padding:0!important;gap:7px!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-body .mtp-restaurant-prices small{display:inline-flex!important;align-items:center!important;gap:3px!important;margin:0!important;padding:5px 8px!important;border-radius:7px!important;background:rgba(255,255,255,.94)!important;color:#5b4631!important;font:700 10px/1.1 Arial,sans-serif!important;white-space:nowrap!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-body .mtp-restaurant-prices small strong{color:#272018!important;font-weight:800!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-included-meal-badge,.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-dinner-show-badge{display:inline-flex!important;align-items:center!important;margin:0!important;padding:5px 8px!important;border:0!important;border-radius:7px!important;background:rgba(255,255,255,.94)!important;color:#5b4631!important;font:700 10px/1.1 Arial,sans-serif!important;white-space:nowrap!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-review-link{display:none!important}
@media(max-width:760px){.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium{height:235px!important;min-height:235px!important;max-height:235px!important}.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-overlay strong{font-size:14px!important}}
@media(max-width:480px){.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium{height:220px!important;min-height:220px!important;max-height:220px!important}.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-overlay{left:11px!important;bottom:46px!important}.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-body{left:11px!important;bottom:11px!important}}

/* v4.62.0 — Restaurant selector uses the SAME compact card layout as Activities.
   Keep the existing restaurant data/selection logic, but remove the old full-image
   premium layout that was forcing oversized cards. */
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border:1px solid #e6ddd0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 4px 16px rgba(25,16,8,.06)!important;
  text-align:left!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium:hover{
  transform:translateY(-3px)!important;
  border-color:#caa36b!important;
  box-shadow:0 16px 30px rgba(25,16,8,.12)!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium.is-current{
  border:2px solid #c88b42!important;
  box-shadow:0 0 0 2px rgba(200,139,66,.12),0 10px 22px rgba(25,16,8,.10)!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium .mtp-choice-card-image,
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium .mtp-choice-card-placeholder{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:135px!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:cover!important;
  object-position:center!important;
  box-sizing:border-box!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium .mtp-choice-card-placeholder{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f4eee5!important;
  color:#d0b999!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:1.2px!important;
  text-transform:uppercase!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:4px!important;
  min-height:82px!important;
  height:auto!important;
  margin:0!important;
  padding:10px 11px 12px!important;
  background:#fff!important;
  color:#111!important;
  box-sizing:border-box!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body strong{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  color:#111!important;
  font:700 12px/1.3 Arial,Helvetica,sans-serif!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body small{
  display:block!important;
  margin:0!important;
  color:#777!important;
  font:400 10px/1.2 Arial,Helvetica,sans-serif!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-restaurant-prices{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  width:100%!important;
  gap:2px!important;
  margin:1px 0 0!important;
  padding:0!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-restaurant-prices small{
  display:block!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:#8a6a43!important;
  font:600 10px/1.25 Arial,Helvetica,sans-serif!important;
  white-space:nowrap!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-restaurant-prices small strong{
  color:#9a6a32!important;
  font-weight:800!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-included-meal-badge,
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-dinner-show-badge{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  min-height:20px!important;
  margin:2px 0 0!important;
  padding:4px 7px!important;
  border:1px solid #ded7cc!important;
  border-radius:999px!important;
  background:#f7f3ed!important;
  color:#5f554c!important;
  font:600 9px/1.15 Arial,Helvetica,sans-serif!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-select-mark{
  position:absolute!important;
  z-index:8!important;
  top:8px!important;
  left:8px!important;
  width:25px!important;
  height:25px!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#9a6424!important;
  font:900 14px/1 Arial,sans-serif!important;
  box-shadow:0 2px 8px rgba(0,0,0,.18)!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium.is-current .mtp-restaurant-select-mark{display:flex!important}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-review-link{display:none!important}
/* Neutralize all legacy premium overlay rules. */
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-media,
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-overlay,
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium-body{position:static!important;inset:auto!important;display:none!important}
@media(max-width:700px){
  .mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium .mtp-choice-card-image,
  .mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium .mtp-choice-card-placeholder{height:110px!important}
}
@media(max-width:480px){
  .mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium .mtp-choice-card-image,
  .mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium .mtp-choice-card-placeholder{height:100px!important}
}


/* v4.62.1 — restaurant title wrapping fix */
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body{
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  hyphens:auto!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  line-height:1.3!important;
  box-sizing:border-box!important;
}


/* v4.62.2 — DEFINITIVE restaurant title wrapping fix
   The restaurant selector cards are <button> elements. Force the button,
   body and title to allow normal wrapping and prevent any inherited
   WordPress/theme nowrap rule from affecting long restaurant names. */
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium,
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium *{
  white-space:normal !important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body strong{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
  hyphens:auto !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:initial !important;
  box-sizing:border-box !important;
}
\n\n/* v4.62.3 — restaurant title: use a dedicated element, independent of theme/legacy strong rules.\n   The restaurant cards intentionally use the same compact structure as activity cards. */\n.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium {\n  display:block!important;\n  width:100%!important;\n  max-width:100%!important;\n  min-width:0!important;\n  box-sizing:border-box!important;\n  text-align:left!important;\n  text-indent:0!important;\n  direction:ltr!important;\n}\n.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium .mtp-restaurant-standard-body {\n  display:flex!important;\n  flex-direction:column!important;\n  align-items:flex-start!important;\n  justify-content:flex-start!important;\n  width:100%!important;\n  max-width:100%!important;\n  min-width:0!important;\n  height:auto!important;\n  min-height:82px!important;\n  margin:0!important;\n  padding:9px 10px 11px!important;\n  overflow:visible!important;\n  box-sizing:border-box!important;\n  position:static!important;\n  transform:none!important;\n  text-align:left!important;\n  text-indent:0!important;\n}\n.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium .mtp-restaurant-title {\n  display:block!important;\n  width:100%!important;\n  max-width:100%!important;\n  min-width:0!important;\n  margin:0!important;\n  padding:0!important;\n  color:#111!important;\n  font:700 12px/1.3 Arial,Helvetica,sans-serif!important;\n  font-style:normal!important;\n  font-weight:700!important;\n  letter-spacing:normal!important;\n  text-align:left!important;\n  text-indent:0!important;\n  white-space:normal!important;\n  word-break:break-word!important;\n  overflow-wrap:anywhere!important;\n  hyphens:auto!important;\n  overflow:visible!important;\n  text-overflow:clip!important;\n  transform:none!important;\n  position:static!important;\n  box-sizing:border-box!important;\n}\n.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-choice-card.mtp-restaurant-premium .mtp-restaurant-standard-body > small {\n  display:block!important;\n  width:100%!important;\n  max-width:100%!important;\n  min-width:0!important;\n  margin:0!important;\n  padding:0!important;\n  white-space:normal!important;\n  overflow-wrap:anywhere!important;\n}\n

/* ================================================================
   v4.63.0 — PREMIUM RESTAURANT CARDS
   Dedicated restaurant layout inspired by the approved mockup.
   The title is isolated from all legacy/theme rules and MUST wrap.
   ================================================================ */
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap{
  display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;
  height:auto!important;margin:0!important;padding:0!important;box-sizing:border-box!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium{
  position:relative!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;
  width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;
  min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;
  box-sizing:border-box!important;border:1px solid #e4d7c7!important;border-radius:18px!important;
  background:#fff!important;color:#17202b!important;text-align:left!important;text-indent:0!important;
  box-shadow:0 6px 18px rgba(35,24,14,.07)!important;transform:none!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium:hover{
  transform:translateY(-3px)!important;border-color:#c99a59!important;box-shadow:0 14px 28px rgba(35,24,14,.12)!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium.is-current{
  border:2px solid #c78b3c!important;box-shadow:0 0 0 3px rgba(199,139,60,.10),0 10px 24px rgba(35,24,14,.10)!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium .mtp-choice-card-image,
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium .mtp-choice-card-placeholder{
  position:relative!important;inset:auto!important;display:block!important;flex:0 0 auto!important;
  width:100%!important;height:145px!important;min-width:0!important;max-width:100%!important;
  min-height:145px!important;max-height:145px!important;margin:0!important;padding:0!important;border:0!important;
  border-radius:0!important;object-fit:cover!important;object-position:center!important;box-sizing:border-box!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium .mtp-choice-card-placeholder{
  display:flex!important;align-items:center!important;justify-content:center!important;background:#f5eee5!important;
  color:#9d8263!important;font-size:11px!important;font-weight:700!important;letter-spacing:1px!important;text-transform:uppercase!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body{
  position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  flex:0 0 auto!important;width:100%!important;min-width:0!important;max-width:100%!important;
  min-height:126px!important;height:auto!important;margin:0!important;padding:14px 15px 15px!important;gap:6px!important;
  background:#fff!important;color:#18202b!important;box-sizing:border-box!important;overflow:hidden!important;
}
/* DEFINITIVE TITLE RULE: no inherited nowrap, clamp, transform or width rule can break this. */
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-restaurant-title,
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-restaurant-title *{
  display:block!important;position:static!important;width:100%!important;min-width:0!important;max-width:100%!important;
  height:auto!important;min-height:0!important;max-height:4.2em!important;margin:0!important;padding:0!important;
  color:#17202b!important;font:700 14px/1.4 Arial,Helvetica,sans-serif!important;text-align:left!important;
  white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;hyphens:auto!important;
  overflow:hidden!important;text-overflow:clip!important;transform:none!important;text-indent:0!important;
  letter-spacing:0!important;box-sizing:border-box!important;float:none!important;clear:none!important;
  flex:none!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body > small{
  display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;
  color:#887b6d!important;font:400 10px/1.25 Arial,Helvetica,sans-serif!important;white-space:normal!important;
  word-break:normal!important;overflow-wrap:anywhere!important;box-sizing:border-box!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-restaurant-prices{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;width:100%!important;
  min-width:0!important;max-width:100%!important;margin:5px 0 0!important;padding:0!important;gap:3px!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-restaurant-prices small{
  display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;
  color:#2a211a!important;font:700 12px/1.25 Arial,Helvetica,sans-serif!important;white-space:normal!important;
  overflow-wrap:anywhere!important;box-sizing:border-box!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-restaurant-prices small strong{color:#a86d25!important;font-weight:800!important;}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-included-meal-badge,
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-dinner-show-badge{
  display:inline-flex!important;align-items:center!important;width:max-content!important;max-width:100%!important;
  min-height:22px!important;margin:4px 0 0!important;padding:4px 8px!important;border:1px solid #dfc18f!important;
  border-radius:999px!important;background:#fff7e8!important;color:#7c5828!important;font:700 9px/1.2 Arial,Helvetica,sans-serif!important;
  white-space:normal!important;overflow-wrap:anywhere!important;box-sizing:border-box!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-select-mark{
  position:absolute!important;z-index:10!important;top:10px!important;left:10px!important;width:29px!important;height:29px!important;
  display:none!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;border:0!important;
  border-radius:50%!important;background:#fff!important;color:#a46e29!important;font:900 15px/1 Arial,sans-serif!important;
  box-shadow:0 2px 9px rgba(0,0,0,.20)!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium.is-current .mtp-restaurant-select-mark{display:flex!important}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-favorite{
  position:absolute!important;z-index:9!important;top:10px!important;right:10px!important;width:30px!important;height:30px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;
  background:rgba(255,255,255,.96)!important;color:#6e5b48!important;font:400 21px/1 Arial,sans-serif!important;
  box-shadow:0 2px 9px rgba(0,0,0,.14)!important;pointer-events:none!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-review-link{display:none!important}
@media(max-width:850px){
 .mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium .mtp-choice-card-image,
 .mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium .mtp-choice-card-placeholder{height:125px!important;min-height:125px!important;max-height:125px!important}
}
@media(max-width:480px){
 .mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium .mtp-choice-card-image,
 .mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-premium .mtp-choice-card-placeholder{height:115px!important;min-height:115px!important;max-height:115px!important}
 .mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body{padding:12px 12px 13px!important}
 .mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-restaurant-title{font-size:13px!important}
}


/* v4.64.7 — FINAL itinerary experience cards reuse the approved restaurant cards.
   Inclusion badges are compact and never participate in title sizing. */
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-inclusion-badges{
  display:flex!important; flex-wrap:wrap!important; align-items:center!important; gap:4px!important;
  width:100%!important; min-width:0!important; max-width:100%!important; height:auto!important;
  margin:3px 0 1px!important; padding:0!important; overflow:visible!important; background:transparent!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-inclusion-badges span{
  display:inline-flex!important; align-items:center!important; width:auto!important; max-width:100%!important; min-width:0!important;
  min-height:20px!important; height:auto!important; margin:0!important; padding:4px 7px!important;
  border:1px solid #ded7cc!important; border-radius:999px!important; background:#f7f3ed!important; color:#5f554c!important;
  font:600 9px/1.15 Arial,Helvetica,sans-serif!important; white-space:normal!important; overflow-wrap:anywhere!important;
  box-sizing:border-box!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-restaurant-prices small{
  white-space:normal!important; overflow-wrap:anywhere!important;
}


/* v4.64.8 — compact activity inclusion badges.
   The approved restaurant-style card remains unchanged; only the badge
   sizing/text flow is adjusted so badges never run outside the card. */
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid
.mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-inclusion-badges{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  max-height:none!important;
  margin:4px 0 2px!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid
.mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-inclusion-badges > span{
  display:inline-flex!important;
  flex:0 1 auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:22px!important;
  margin:0!important;
  padding:4px 7px!important;
  box-sizing:border-box!important;
  border:1px solid #ded7cc!important;
  border-radius:999px!important;
  background:#f7f3ed!important;
  color:#5f554c!important;
  font:600 10px/1.15 Arial,Helvetica,sans-serif!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  overflow:visible!important;
}

/* v4.64.9 — definitive activity inclusion badge layout fix.
 * Only the experience-picker badges are changed. Restaurant cards remain untouched.
 * Two compact badges may share a row; long labels wrap inside their own badge.
 */
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid
.mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-inclusion-badges{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:4px 0 3px!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  white-space:normal!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid
.mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-inclusion-badges > span{
  display:inline-flex!important;
  flex:0 1 calc(50% - 3px)!important;
  width:auto!important;
  min-width:0!important;
  max-width:calc(50% - 3px)!important;
  height:auto!important;
  min-height:22px!important;
  max-height:none!important;
  margin:0!important;
  padding:4px 6px!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #ded7cc!important;
  border-radius:999px!important;
  background:#f7f3ed!important;
  color:#5f554c!important;
  font:600 9px/1.15 Arial,Helvetica,sans-serif!important;
  text-align:center!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  hyphens:auto!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  vertical-align:top!important;
}
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid
.mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-inclusion-badges .mtp-inclusion-pickup,
.mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid
.mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-inclusion-badges .mtp-inclusion-hotel{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
@media(max-width:480px){
  .mtp-app .mtp-step .mtp-choice-menu .mtp-choice-card-grid
  .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-inclusion-badges > span{
    flex-basis:calc(50% - 3px)!important;
    max-width:calc(50% - 3px)!important;
    font-size:9px!important;
    padding:4px 5px!important;
  }
}


/* v4.65.0 — DEFINITIVE ACTIVITY BADGE LAYOUT.
 * Uses a unique class and a two-column CSS grid. Inline styles in the
 * generated markup provide a final guard against theme/plugin overrides.
 */
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-badges-v650{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:5px 0 3px!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  white-space:normal!important;
}
.mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-badges-v650 > span{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:22px!important;
  max-height:none!important;
  margin:0!important;
  padding:4px 6px!important;
  box-sizing:border-box!important;
  border:1px solid #ded7cc!important;
  border-radius:999px!important;
  background:#f7f3ed!important;
  color:#5f554c!important;
  font:600 9px/1.15 Arial,Helvetica,sans-serif!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(max-width:480px){
 .mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-badges-v650{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important;}
 .mtp-app .mtp-choice-card-grid .mtp-restaurant-choice-wrap .mtp-restaurant-standard-body .mtp-activity-badges-v650 > span{font-size:9px!important;padding:4px 5px!important;}
}
