/* Scoped local planner presentation; shared KELIONIS assets remain unchanged. */
.kp-main{max-width:76.5rem;margin:auto;padding:1.5rem clamp(1rem,4vw,3rem) 4rem;color:#172f3a}
.kp-intro{max-width:46rem;margin:1.5rem 0 2rem}.kp-intro h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.12}.kp-intro p{line-height:1.6;margin-bottom:0}
#kp-configuration{max-width:46rem;padding:0;background:none;border:0;border-radius:0}
.kp-main h2{font-size:clamp(1.6rem,3vw,2.2rem)}
#kp-form{display:grid;grid-template-columns:1fr;gap:1.25rem}.kp-main fieldset{border:0;padding:0;margin:0;min-width:0}.kp-main legend{font-size:1.05rem;font-weight:700;margin-bottom:.6rem}
.kp-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.5rem}
.kp-choice{display:flex;gap:.6rem;align-items:center;border:1px solid #a6b6ba;border-radius:.4rem;padding:.75rem;min-height:56px;box-sizing:border-box;cursor:pointer;background:#fff}
.kp-choice:has(input:checked){border:2px solid #174B63;padding:calc(.75rem - 1px);background:#eff5f5}.kp-choice input{width:1.25rem;height:1.25rem;accent-color:#174B63;flex-shrink:0;margin:.1rem 0 0}.kp-choice strong{font-size:1rem;line-height:1.4}.kp-choice small{display:block;margin-top:.25rem;font-size:.875rem;line-height:1.45}
.kp-main button{font:inherit;min-height:48px;border-radius:.4rem;padding:.75rem 1.25rem;cursor:pointer;font-weight:700}.kp-primary{background:#A94724;color:white;border:2px solid #A94724;justify-self:start}.kp-primary:hover{background:#87371C}.kp-secondary{display:inline-flex;align-items:center;min-height:48px;box-sizing:border-box;padding:.6rem 1rem;border-radius:.4rem;color:#174B63;border:1px solid #174B63;background:#fff;font-weight:700}.kp-secondary:hover{background:#eff5f5;color:#10384B}.kp-main button:disabled{opacity:.65;cursor:wait}
.kp-main :focus-visible,.kp-skip:focus{outline:3px solid #174B63;outline-offset:4px}
#kp-status{margin:0;grid-column:1/-1}#kp-status:empty,#kp-error[hidden]{display:none}.kp-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.kp-result{margin-top:2rem;scroll-margin-top:1rem}.kp-result-header{border-top:3px solid #174B63;background:#eff5f5;padding:clamp(1rem,3vw,2rem);border-radius:0 0 .5rem .5rem;margin-bottom:1.5rem}.kp-result-header h2{margin:.5rem 0 .75rem;max-width:46rem}.kp-result-header .kelionis-eyebrow{margin:0}.kp-route-line{font-size:1.125rem;line-height:1.5;margin:.5rem 0 1rem;max-width:46rem}
.kp-summary{display:flex;flex-wrap:wrap;gap:.4rem .65rem;list-style:none;padding:0;margin:0 0 1rem}.kp-summary li{font-size:.9375rem;line-height:1.4;padding:.3rem .55rem;background:#fff;border:1px solid #cfdbdc;border-radius:.25rem}
.kp-route{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 0;counter-reset:route}.kp-route li{position:relative;counter-increment:route;flex:1;min-width:8rem;padding:.5rem .75rem .5rem 2.75rem;background:#fff;border:1px solid #cfdbdc;border-radius:.25rem}.kp-route li:before{content:counter(route);position:absolute;left:.75rem;top:.6rem;color:#174B63;font-weight:700}.kp-route span{display:block;margin-top:.2rem;font-size:.9375rem}
.kp-days{display:grid;gap:1rem;max-width:46rem}.kp-day{border:1px solid #cfdbdc;border-radius:.5rem;padding:clamp(1rem,2vw,1.5rem);background:#fff;overflow-wrap:anywhere}.kp-day-label{color:#174B63;font-weight:700;font-size:.9375rem;margin:0 0 .5rem}.kp-day h3{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.25;margin:.35rem 0 .75rem}.kp-day h4{font-size:1rem;margin:0 0 .35rem}.kp-day p,.kp-day li{line-height:1.55}.kp-day p{margin-top:.75rem;margin-bottom:.75rem}.kp-day-plan{font-weight:600;padding:.75rem 0;border-top:1px solid #e3e9e9;border-bottom:1px solid #e3e9e9}.kp-day-plan span{display:block;font-weight:400;font-size:.875rem;color:#174B63;margin-bottom:.25rem}
.kp-optional{padding:.75rem 0;margin:.75rem 0;border-top:1px solid #e3e9e9}.kp-optional h4{font-weight:600}.kp-warning{border-left:3px solid #A94724;background:#fcf5ef;padding:.75rem 1rem;margin:1rem 0}.kp-warning ul,.kp-optional ul{margin-top:.35rem;margin-bottom:0;padding-left:1.2rem}.kp-warning li{font-size:.9375rem}.kp-guides{list-style:none;display:flex;flex-wrap:wrap;gap:0 1.25rem;padding:0;margin:.5rem 0 0}.kp-guides a{color:#174B63;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}.kp-overnight{font-size:.9375rem;padding-top:.75rem;border-top:1px solid #e3e9e9}.kp-more-guides summary{font-size:.9375rem;color:#174B63;cursor:pointer;min-height:44px;line-height:44px}.kp-more-guides .kp-guides{margin:0}.kp-debug pre{overflow:auto;max-width:100%}#kp-error{color:#87371C;font-weight:700;margin:0;grid-column:1/-1}.kp-skip{position:absolute;left:-9999px}.kp-skip:focus{left:1rem;top:1rem;background:#fff;padding:1rem;z-index:1000}
@media(min-width:600px){.kp-field-traveller .kp-choices{grid-template-columns:repeat(4,1fr)}.kp-field-duration .kp-choices,.kp-field-interest .kp-choices,.kp-field-pace .kp-choices{grid-template-columns:repeat(3,1fr)}.kp-field-transport .kp-choices{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.kp-route{display:grid;grid-template-columns:1fr;gap:.5rem}.kp-route li{min-width:0}.kp-main{padding-left:1rem;padding-right:1rem}.kp-field-duration .kp-choices{grid-template-columns:repeat(3,1fr)}.kp-field-duration .kp-choice{padding:.6rem .4rem;gap:.4rem}.kp-field-duration .kp-choice:has(input:checked){padding:calc(.6rem - 1px) calc(.4rem - 1px)}.kp-field-duration .kp-choice strong{font-size:.9375rem}.kp-field-duration .kp-choice input{width:1rem;height:1rem}.kp-primary{width:100%}.kp-summary{gap:.35rem}.kp-result-header{padding:1rem}.kp-route-line{font-size:1rem}.kp-choice{min-height:48px}}

/* Selected contextual explanation is outside the cards; native CSS also works without JS. */
.kp-context p{display:none;font-size:.9375rem;line-height:1.5;margin:.6rem 0 0;color:#36505b}
.kp-field:has(input[value="CAR"]:checked) .kp-context-CAR,.kp-field:has(input[value="NO_CAR"]:checked) .kp-context-NO_CAR,.kp-field:has(input[value="RELAXED"]:checked) .kp-context-RELAXED,.kp-field:has(input[value="BALANCED"]:checked) .kp-context-BALANCED,.kp-field:has(input[value="ACTIVE"]:checked) .kp-context-ACTIVE{display:block}
#kp-form>.kp-primary{margin-top:.5rem}
@media(max-width:599px){.kp-field-transport .kp-choices,.kp-field-interest .kp-choices{grid-template-columns:1fr}.kp-field-traveller .kp-choices{grid-template-columns:repeat(2,1fr)}.kp-field-pace .kp-choices{grid-template-columns:1fr}.kp-choice{min-height:52px}}

/* Maps are secondary native external actions; the approved configuration is unchanged. */
.kelionis-planner-page .kp-maps{max-width:46rem;margin:1.25rem 0;padding:1rem 0;border-top:1px solid #d8e0e4}
.kelionis-planner-page .kp-maps-title{font-weight:700;margin:0 0 .5rem}
.kelionis-planner-page .kp-map-links{padding-left:1.4rem;margin:.5rem 0;display:grid;gap:.3rem}
.kelionis-planner-page .kp-map-links a{display:inline-block;padding:.4rem 0;min-height:44px;box-sizing:border-box;overflow-wrap:anywhere;color:#174b63;text-underline-offset:.2em}
.kelionis-planner-page .kp-map-single{list-style:none;padding:0}
.kelionis-planner-page .kp-map-provider summary{cursor:pointer;min-height:44px;padding:.5rem 0;box-sizing:border-box;color:#174b63;font-weight:600}
.kelionis-planner-page .kp-map-note{font-size:.875rem;line-height:1.6;color:#475569;max-width:42rem}
.kelionis-planner-page .kp-maps a:focus-visible,.kelionis-planner-page .kp-map-provider summary:focus-visible{outline:3px solid #a94724;outline-offset:3px}

/* Optional persistence controls; approved configuration/result styles are unchanged. */
.kelionis-planner-page .kp-save{max-width:46rem;margin:1.5rem 0 2rem;padding:1.25rem;border:1px solid #d6dedb;border-radius:12px}
.kelionis-planner-page .kp-save button{font:inherit;cursor:pointer;min-height:44px;background:transparent}
.kelionis-planner-page .kp-save button:disabled{cursor:default;opacity:.65}
.kelionis-planner-page .kp-save p{margin:.75rem 0 0}
.kelionis-planner-page .kp-saved-url{overflow-wrap:anywhere;font-size:.9rem}
.kelionis-planner-page .kp-save-status a{display:inline-block;min-height:44px;padding:.6rem 0}
.kelionis-planner-page .kp-save-status:focus-visible,.kelionis-planner-page .kp-save button:focus-visible{outline:3px solid #00695c;outline-offset:4px}

/* Optional transactional link delivery, below the unchanged itinerary. */
.kelionis-planner-page .kp-email{max-width:46rem;margin:1.5rem 0;padding:1.25rem;border:1px solid #d6dedb;border-radius:12px}
.kelionis-planner-page .kp-email h2{font-size:1.3rem;margin:0 0 .75rem}
.kelionis-planner-page .kp-email-local{font-size:.9rem}
.kelionis-planner-page .kp-email-form label{display:block;font-weight:600;margin:.75rem 0 .4rem}
.kelionis-planner-page .kp-email-form input[type=email]{display:block;box-sizing:border-box;width:min(100%,24rem);min-height:44px;font:inherit;padding:.6rem;border:1px solid #536e77;border-radius:6px;margin-bottom:.75rem}
.kelionis-planner-page .kp-email-form button{font:inherit;cursor:pointer;background:transparent;min-height:44px}
.kelionis-planner-page .kp-email-form button:disabled{opacity:.65;cursor:default}
.kelionis-planner-page .kp-email-error{color:#963b18;font-weight:600}
.kelionis-planner-page .kp-email-form :focus-visible{outline:3px solid #00695c;outline-offset:4px}
.kelionis-planner-page .kp-email-status,.kelionis-planner-page .kp-email-error{overflow-wrap:anywhere}

/* Secondary planning actions, separate from hero/day cards. */
.kelionis-planner-page .kp-commercial{max-width:46rem;padding:1.25rem;border:1px solid #d6dedb;border-radius:12px;margin:1.5rem 0;background:#fafcfb}
.kelionis-planner-page .kp-commercial h2{font-size:1.3rem;margin:0 0 .6rem}
.kelionis-planner-page .kp-commercial h3{font-size:1.1rem;margin:1.2rem 0 .4rem}
.kelionis-planner-page .kp-commercial-disclosure,.kelionis-planner-page .kp-commercial-group p{font-size:.9rem}
.kelionis-planner-page .kp-commercial ul{list-style:none;padding:0;margin:.4rem 0;display:flex;flex-wrap:wrap;gap:.25rem 1rem}
.kelionis-planner-page .kp-commercial li{max-width:100%}
.kelionis-planner-page .kp-commercial-link{display:inline-block;min-height:44px;padding:.6rem 0;overflow-wrap:anywhere;text-underline-offset:3px}
.kelionis-planner-page .kp-commercial-link span{font-size:.85rem}
.kelionis-planner-page .kp-commercial-link:focus-visible{outline:3px solid #00695c;outline-offset:3px}

/* Brief supporting copy, below the primary configuration action. */
.kelionis-planner-page .kp-about{max-width:46rem;margin:2rem 0;line-height:1.7}
.kelionis-planner-page .kp-about h2{font-size:1.4rem}
.kelionis-planner-page .kp-about a:focus-visible{outline:3px solid #00695c;outline-offset:3px}
