.mv-route-choices{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.mv-route-choices .mv-route-choice{font:inherit;font-size:14px;line-height:1.3;padding:9px 12px;min-height:44px;border:1px solid #536046;border-radius:6px;background:#fffdf8;color:#29351f;cursor:pointer}
.mv-route-choices .mv-route-choice[aria-pressed="true"]{background:#29351f;color:#fff}
.mv-route-choices .mv-route-choice:focus-visible{outline:3px solid #bb563c;outline-offset:3px}
.mv-route-choices p{flex-basis:100%;font-size:14px;margin:0}

#mv-basis-planner{max-width:1200px;margin:20px auto;color:#29351f}
#mv-basis-planner .mv-basis-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#mv-basis-planner label{display:block;font-weight:700;margin-bottom:5px}
#mv-basis-planner input{box-sizing:border-box;width:100%;padding:10px;font:inherit;border:1px solid #536046;border-radius:5px}
#mv-basis-planner button{font:inherit;font-size:14px;border:1px solid #536046;border-radius:5px;padding:9px 12px;min-height:44px;background:#fffdf8;color:#29351f;cursor:pointer}
#mv-basis-planner button:disabled{opacity:.5;cursor:default}
#mv-basis-planner [data-calculate]{background:#29351f;color:white}
#mv-basis-planner .mv-basis-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
#mv-basis-planner .mv-basis-results button{display:block;width:100%;text-align:left;margin-top:4px}
#mv-basis-planner [data-map]{height:550px;min-height:350px;isolation:isolate}
#mv-basis-planner .mv-basis-privacy{font-size:13px}
#mv-basis-planner .mv-basis-stop{padding:12px 0;border-bottom:1px solid #d8d0bf}
#mv-basis-planner [data-add-stop]{margin-top:12px}
#mv-basis-planner .mv-basis-saved{margin-top:20px;padding:16px;border:1px solid #d8d0bf}
#mv-basis-planner .mv-basis-saved select{max-width:100%;width:100%;min-height:44px;font:inherit;margin-top:6px}
#mv-basis-planner .mv-basis-saved label{margin-top:12px}
#mv-basis-planner .mv-route-choice[aria-pressed="true"]{background:#29351f;color:white}
@media(max-width:650px){#mv-basis-planner .mv-basis-inputs{grid-template-columns:1fr}#mv-basis-planner [data-map]{height:440px}}

/* Isolated planner presentation; no shared theme, map or storage overrides. */
main:has(#mv-basis-planner){max-width:1440px;margin-inline:auto;padding:20px!important}
main:has(#mv-basis-planner)>.wp-block-group:has(#mv-basis-planner){padding:10px 0!important}
main:has(#mv-basis-planner) .wp-block-post-content:has(#mv-basis-planner){padding:0!important}
main:has(#mv-basis-planner) .alignfull:has(#mv-basis-planner){margin-left:0!important;margin-right:0!important;width:auto!important;max-width:100%!important}
main:has(#mv-basis-planner) .wp-block-post-title{max-width:1280px;font-family:inherit;font-size:18px;line-height:1.35;text-align:left;margin:0 auto 18px;padding:0}
#mv-basis-planner{max-width:1280px;width:100%;font-family:inherit;line-height:1.5}
#mv-basis-planner *{box-sizing:border-box}
#mv-basis-planner .mv-planner-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}
#mv-basis-planner .mv-planner-tag{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#65715c}
#mv-basis-planner h2{font-family:inherit;font-size:clamp(23px,3vw,32px);line-height:1.2;margin:8px 0}
#mv-basis-planner .mv-planner-top p{margin:0;font-size:14px;color:#596151}
#mv-basis-planner .mv-planner-tools{display:flex;align-items:center;gap:12px;flex-shrink:0}
#mv-basis-planner .mv-planner-tools nav{display:flex;gap:2px}
#mv-basis-planner .mv-planner-tools a{display:grid;place-items:center;min-width:44px;min-height:44px;text-decoration:none;border-radius:6px;color:inherit;font-size:13px}
#mv-basis-planner .mv-planner-tools a[aria-current]{background:#e7ecdf;font-weight:700}
#mv-basis-planner .mv-planner-layout{display:grid;grid-template-columns:minmax(280px,350px) minmax(0,1fr);gap:20px;align-items:start}
#mv-basis-planner .mv-planner-sidebar{min-width:0}
#mv-basis-planner .mv-planner-panel{margin:0 0 14px;padding:0;background:#fffdf8;border:1px solid #d8ded0;border-radius:12px;overflow:hidden;box-shadow:0 3px 14px #29351f06}
#mv-basis-planner .mv-planner-panel>summary{padding:16px 18px;font-size:17px;font-weight:700;cursor:pointer;min-height:48px}
#mv-basis-planner .mv-planner-panel>summary span{display:block;font-weight:400;font-size:12px;color:#65715c;margin-top:3px}
#mv-basis-planner .mv-planner-panel[open]>summary{border-bottom:1px solid #e7ebdf}
#mv-basis-planner .mv-planner-panel-body{padding:18px}
#mv-basis-planner .mv-basis-inputs{display:flex;flex-direction:column;gap:18px}
#mv-basis-planner label{font-size:13px;margin-bottom:7px}
#mv-basis-planner input,#mv-basis-planner select{font-size:16px;background:white;border:1px solid #bac4b0;border-radius:7px;min-width:0;min-height:44px}
#mv-basis-planner button{border-color:#c5cdbd;border-radius:7px;line-height:1.35;font-size:13px;max-width:100%;white-space:normal}
#mv-basis-planner button:hover:not(:disabled){border-color:#29351f;background:#eef2e8}
#mv-basis-planner :is(button,input,select,a,summary):focus-visible{outline:3px solid #bb563c;outline-offset:3px}
#mv-basis-planner [data-calculate]{width:100%;margin-top:16px;font-weight:700;background:#29351f;color:white}
#mv-basis-planner [data-calculate]:hover:not(:disabled){background:#415235;color:white}
#mv-basis-planner [data-add-stop]{width:100%;border-style:dashed;margin-top:16px}
#mv-basis-planner .mv-basis-stop{padding:16px 0}
#mv-basis-planner .mv-basis-results{max-height:230px;overflow:auto}
#mv-basis-planner .mv-basis-results button{font-size:14px}
#mv-basis-planner .mv-planner-help{margin-top:18px;font-size:12px;color:#596151}
#mv-basis-planner .mv-planner-help summary{cursor:pointer;min-height:32px;display:list-item}
#mv-basis-planner .mv-basis-saved p{font-size:12px;color:#596151}
#mv-basis-planner .mv-planner-map-panel{min-width:0;background:#fffdf8;border:1px solid #d8ded0;border-radius:12px;overflow:hidden}
#mv-basis-planner .mv-planner-map-heading{padding:18px 20px}
#mv-basis-planner h3{font-family:inherit;font-size:18px;margin:0 0 5px}
#mv-basis-planner [data-status]{font-size:13px;color:#596151;margin:0}
#mv-basis-planner .mv-route-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}
#mv-basis-planner .mv-route-choices:empty{display:none}
#mv-basis-planner .mv-route-choices p{grid-column:1/-1}
#mv-basis-planner .mv-route-choice{width:100%;text-align:left;min-height:58px;padding:12px;font-weight:600}
#mv-basis-planner .mv-route-choice[aria-pressed="true"],#mv-basis-planner .mv-route-choice[aria-pressed="true"]:hover{background:#29351f;color:white;border-color:#29351f;box-shadow:inset 4px 0 #bb563c}
#mv-basis-planner [data-map]{height:clamp(440px,65vh,720px);min-height:360px}
@media(max-width:780px){
 #mv-basis-planner .mv-planner-top{align-items:flex-start;flex-direction:column;gap:12px}
 #mv-basis-planner .mv-planner-tools{width:100%;justify-content:space-between}
 #mv-basis-planner .mv-planner-layout{grid-template-columns:minmax(0,1fr);gap:4px}
 #mv-basis-planner .mv-planner-panel-body{padding:14px}
 #mv-basis-planner [data-map]{height:55vh;min-height:330px;max-height:560px}
 #mv-basis-planner .mv-planner-map-heading{padding:14px}
 #mv-basis-planner .mv-route-choices{gap:6px}
 #mv-basis-planner .mv-route-choice{font-size:12px;padding:10px}
}
/* Own locations remain separate from route points and geometry. */
#mv-basis-planner .mv-own-toggle{display:flex;align-items:center;gap:8px}
#mv-basis-planner .mv-own-toggle input{width:18px;min-height:18px;height:18px;margin:0}
#mv-basis-planner .mv-own-marker{color:#304631;background:#fff;border:2px solid #304631;border-radius:50%;text-align:center;line-height:24px;font-size:17px;box-shadow:0 1px 4px #0005}
#mv-basis-planner .mv-own-popup{min-width:180px;max-width:240px}
#mv-basis-planner .mv-own-popup strong{font-size:16px}
#mv-basis-planner .mv-own-popup p{margin:6px 0;font-size:13px}
#mv-basis-planner .mv-own-popup button{display:block;width:100%;margin:5px 0;padding:7px 10px;min-height:44px;font-size:14px}

/* Only the separate planner shell. The WordPress map/theme is untouched. */
#mv-basis-planner [hidden]{display:none!important}
#mv-basis-planner .mv-holiday-wishes{min-width:0;padding:14px;margin:0 0 16px;border:1px solid #ccd2c4;border-radius:10px;background:#f2f4ee}
#mv-basis-planner .mv-holiday-wishes legend{font-weight:700;padding:0 6px}
#mv-basis-planner .mv-holiday-wishes p{font-size:.9rem;line-height:1.5}
#mv-basis-planner .mv-holiday-wishes>div{margin-top:10px}
#mv-basis-planner .mv-holiday-wishes input,#mv-basis-planner .mv-holiday-wishes select{width:100%;box-sizing:border-box;min-height:44px;font:inherit}
#mv-basis-planner .mv-holiday-actions{display:grid;gap:8px;margin-top:14px}
#mv-basis-planner [data-holiday-edit],#mv-basis-planner .mv-holiday-actions button{min-height:44px;font:inherit;padding:8px 12px}
#mv-basis-planner [data-holiday-generate]{background:#34452d;color:white}
#planner-root,#login-panel{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#planner-root .mv-own-popup{overflow-wrap:anywhere}
/* Shared desktop/mobile controls, scoped to this isolated planner only. */
#mv-basis-planner .mv-plan-modes,#mv-basis-planner .mv-trip-days,#mv-basis-planner .mv-trip-actions{display:flex;flex-wrap:wrap;gap:8px}
#mv-basis-planner .mv-trip-controls{margin:0 0 20px}
#mv-basis-planner .mv-trip-panel{margin-top:12px;padding:16px;border:1px solid #ccd2c4;border-radius:12px;background:#f2f4ee}
#mv-basis-planner .mv-trip-panel[hidden]{display:none}
#mv-basis-planner .mv-trip-controls button{min-height:44px;padding:8px 14px;font:inherit;border:1px solid #aeb8a4;border-radius:8px;background:#fff;color:#303d29;cursor:pointer}
#mv-basis-planner .mv-trip-controls button[aria-pressed="true"]{background:#34452d;color:#fff;border-color:#34452d}
#mv-basis-planner .mv-trip-controls button:disabled{opacity:.5;cursor:default}
#mv-basis-planner .mv-trip-controls button:focus-visible,#mv-basis-planner .mv-search-clear:focus-visible{outline:3px solid #bd563c;outline-offset:3px}
#mv-basis-planner .mv-trip-actions{margin-top:12px}
#mv-basis-planner .mv-trip-hint,#mv-day-start-note{font-size:.9rem;line-height:1.5;color:#4b5944}
#mv-basis-planner .mv-search-field{position:relative;min-width:0}
#mv-basis-planner .mv-search-field input{width:100%;padding-right:48px;box-sizing:border-box}
#mv-basis-planner .mv-search-clear{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:44px;height:44px;min-height:0;padding:0;border:0;background:transparent;color:#34452d;font-size:24px}
@media(max-width:600px){#mv-basis-planner .mv-plan-modes button{flex:1}#mv-basis-planner .mv-trip-panel{padding:12px}}
