/* Itinerary Planner styles. Every rule is scoped to #pt-root and every class starts with pt-, so your site's own CSS cannot clash with it. */
:root{--pt-navy:#1a3c6e;--pt-navy2:#12305a;--pt-ink:#10243f;--pt-mut:#586a80;--pt-line:#d3dce8;--pt-fog:#eef3f8;--pt-sun:#f59d0e;--pt-sun2:#e08a00;--pt-ok:#146c2e;--pt-bad:#a31d1d;--pt-r:14px}
#pt-root{font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--pt-ink);background:var(--pt-fog);padding-bottom:40px}
#pt-root *,#pt-root *::before,#pt-root *::after{box-sizing:border-box}
#pt-root h1,#pt-root h2,#pt-root h3,#pt-root h4,#pt-root p,#pt-root ul,#pt-root ol,#pt-root figure{margin:0;padding:0}
#pt-root ul,#pt-root ol{list-style:none}
#pt-root button,#pt-root input,#pt-root select,#pt-root textarea{font:inherit;color:inherit}
#pt-root a{color:var(--pt-navy)}
#pt-root [hidden]{display:none!important}
#pt-root .pt-wrap{max-width:1200px;margin:0 auto;padding:0 16px}
#pt-root .pt-crumbs{max-width:1200px;margin:0 auto;padding:14px 16px 0;font-size:14px;color:var(--pt-mut)}
#pt-root .pt-crumbs span{margin:0 8px}
#pt-root .pt-crumbs a{text-decoration:none}
#pt-root .pt-intro{padding:14px 0 18px}
#pt-root .pt-intro h1{font-size:clamp(26px,4vw,38px);line-height:1.15;color:var(--pt-navy);margin-bottom:10px}
#pt-root .pt-lead{max-width:860px;color:var(--pt-mut);font-size:17px}
#pt-root .pt-notice{background:#fff6dc;border:1px solid #f1d98c;border-radius:10px;padding:12px 14px;margin:0 0 14px}
#pt-root .pt-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:22px;align-items:start}
#pt-root .pt-main{min-width:0}
#pt-root .pt-card{background:#fff;border:1px solid var(--pt-line);border-radius:var(--pt-r);padding:22px;margin-bottom:18px;box-shadow:0 1px 2px rgba(16,36,63,.04)}
#pt-root .pt-card h2{font-size:21px;color:var(--pt-navy);margin-bottom:14px;display:flex;align-items:center;gap:10px}
#pt-root .pt-num{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--pt-navy);color:#fff;font-size:15px;font-weight:700;flex:none}
#pt-root .pt-hint{color:var(--pt-mut);font-size:14px}
#pt-root .pt-field{margin-bottom:16px}
#pt-root .pt-field label,#pt-root .pt-lab{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--pt-ink)}
#pt-root .pt-input{width:100%;padding:11px 13px;border:1.5px solid var(--pt-line);border-radius:10px;background:#fff;min-height:46px}
#pt-root .pt-input:focus,#pt-root .pt-stepper button:focus-visible,#pt-root .pt-btn:focus-visible,#pt-root .pt-tile:focus-visible{outline:3px solid rgba(245,157,14,.55);outline-offset:1px}
#pt-root .pt-input-lg{min-height:58px;font-size:17px;padding:14px 46px 14px 50px;border-width:2px;border-radius:16px}
#pt-root textarea.pt-input{min-height:84px}
#pt-root .pt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 16px}
#pt-root .pt-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
#pt-root /* search box and dropdown */
.pt-combo{position:relative}
#pt-root .pt-combo-ico{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:var(--pt-mut);pointer-events:none}
#pt-root .pt-combo .pt-input:not(.pt-input-lg){padding-left:48px}
#pt-root .pt-combo .pt-input-lg:focus,#pt-root .pt-combo .pt-input:focus{border-color:var(--pt-navy);box-shadow:0 0 0 4px rgba(26,60,110,.12);outline:0}
#pt-root .pt-combo-x{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:var(--pt-fog);color:var(--pt-mut);font-size:22px;line-height:1;cursor:pointer}
#pt-root .pt-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--pt-line);border-radius:16px;box-shadow:0 18px 40px rgba(16,36,63,.18);max-height:min(420px,60vh);overflow:auto;padding:6px}
#pt-root .pt-grp{font-size:12.5px;font-weight:700;color:var(--pt-mut);padding:10px 12px 4px;letter-spacing:.2px}
#pt-root .pt-opt{display:flex;gap:12px;align-items:center;padding:9px 12px;border-radius:11px;cursor:pointer}
#pt-root .pt-opt[aria-selected="true"],#pt-root .pt-opt:hover{background:var(--pt-fog)}
#pt-root .pt-opt[aria-selected="true"]{box-shadow:inset 3px 0 0 var(--pt-sun)}
#pt-root .pt-opt-ico{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e6edf7;color:var(--pt-navy)}
#pt-root .pt-opt-ico.t-region{background:#fff0cf;color:#8a5a00}
#pt-root .pt-opt-ico.t-dest{background:#dff3e5;color:var(--pt-ok)}
#pt-root .pt-opt-ico.t-sight{background:#f3e8ff;color:#5b21b6}
#pt-root .pt-opt-ico.t-plan{background:#fde2e2;color:var(--pt-bad)}
#pt-root .pt-opt-t{display:block;font-weight:600;line-height:1.25}
#pt-root .pt-opt-t mark{background:none;color:var(--pt-navy);font-weight:800;text-decoration:underline;text-decoration-color:var(--pt-sun);text-underline-offset:3px}
#pt-root .pt-opt-s{display:block;font-size:13px;color:var(--pt-mut)}
#pt-root .pt-empty{padding:16px;color:var(--pt-mut)}
#pt-root /* region tiles and picked destination */
.pt-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:8px 0 16px}
#pt-root .pt-tile{text-align:left;border:1.5px solid var(--pt-line);background:#fff;border-radius:12px;padding:12px 14px;cursor:pointer}
#pt-root .pt-tile:hover{border-color:var(--pt-navy);background:var(--pt-fog)}
#pt-root .pt-tile strong{display:block;color:var(--pt-navy)}
#pt-root .pt-tile span{font-size:13px;color:var(--pt-mut)}
#pt-root .pt-picked{display:flex;justify-content:space-between;gap:12px;align-items:center;background:linear-gradient(135deg,#eef3f8,#fff);border:1.5px solid var(--pt-navy);border-radius:14px;padding:12px 16px;margin-bottom:16px;flex-wrap:wrap}
#pt-root .pt-picked-label{display:block;font-size:12.5px;color:var(--pt-mut)}
#pt-root .pt-picked strong{font-size:19px;color:var(--pt-navy)}
#pt-root .pt-picked .pt-hint{display:block}
#pt-root /* stepper */
.pt-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--pt-line);border-radius:10px;overflow:hidden;background:#fff}
#pt-root .pt-stepper button{width:44px;height:44px;border:0;background:var(--pt-fog);font-size:20px;cursor:pointer}
#pt-root .pt-stepper button:disabled{opacity:.35;cursor:not-allowed}
#pt-root .pt-stepper output{min-width:46px;text-align:center;font-weight:700}
#pt-root /* places */
#pt-route-strip{margin-bottom:12px}
#pt-root .pt-strip{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px;color:var(--pt-mut)}
#pt-root .pt-strip b{background:var(--pt-navy);color:#fff;border-radius:20px;padding:3px 11px;font-weight:600}
#pt-root .pt-stop{border:1.5px solid var(--pt-line);border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden}
#pt-root .pt-stop.on{border-color:var(--pt-navy);box-shadow:0 2px 10px rgba(26,60,110,.1)}
#pt-root .pt-stop.focus{outline:3px solid rgba(245,157,14,.6)}
#pt-root .pt-stop-hd{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:14px 16px;flex-wrap:wrap}
#pt-root .pt-stop-hd h3{font-size:17px;color:var(--pt-ink)}
#pt-root .pt-stop-hd p{font-size:14px;color:var(--pt-mut)}
#pt-root .pt-stop-body{border-top:1px dashed var(--pt-line);padding:14px 16px;background:#fbfdff}
#pt-root .pt-sub{font-size:14px;font-weight:700;margin:2px 0 8px;color:var(--pt-navy);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
#pt-root .pt-sights{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}
#pt-root .pt-check-item{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--pt-line);border-radius:10px;padding:9px 11px;cursor:pointer;background:#fff;font-size:14.5px}
#pt-root .pt-check-item:has(input:checked){border-color:var(--pt-navy);background:#eef3fb}
#pt-root .pt-check-item input{margin-top:3px;width:18px;height:18px;accent-color:var(--pt-navy);flex:none}
#pt-root .pt-check-item small{display:block;color:var(--pt-mut)}
#pt-root .pt-more{margin-top:14px}
#pt-root /* categories,#pt-root meals,#pt-root vehicles */
.pt-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
#pt-root .pt-cat{position:relative}
#pt-root .pt-cat input,#pt-root .pt-seg input,#pt-root .pt-veh input{position:absolute;opacity:0;pointer-events:none}
#pt-root .pt-cat span{display:block;border:2px solid var(--pt-line);border-radius:14px;padding:13px 14px;cursor:pointer;background:#fff;height:100%}
#pt-root .pt-cat strong{display:block;color:var(--pt-navy);font-size:17px}
#pt-root .pt-cat em{font-style:normal;font-size:13.5px;color:var(--pt-mut)}
#pt-root .pt-cat input:checked+span{border-color:var(--pt-navy);background:#eef3fb;box-shadow:0 0 0 3px rgba(26,60,110,.12)}
#pt-root .pt-cat input:focus-visible+span,#pt-root .pt-seg input:focus-visible+span,#pt-root .pt-veh input:focus-visible+span{outline:3px solid rgba(245,157,14,.55)}
#pt-root .pt-seg{display:flex;gap:8px;flex-wrap:wrap}
#pt-root .pt-seg span,#pt-root .pt-veh span{display:block;border:2px solid var(--pt-line);border-radius:12px;padding:10px 14px;cursor:pointer;background:#fff;font-weight:600}
#pt-root .pt-seg input:checked+span,#pt-root .pt-veh input:checked+span{border-color:var(--pt-navy);background:#eef3fb;color:var(--pt-navy)}
#pt-root .pt-vehicles{display:grid;gap:8px}
#pt-root .pt-veh span small{display:block;font-weight:400;color:var(--pt-mut)}
#pt-root /* day plan */
.pt-days{display:grid;gap:14px;counter-reset:d}
#pt-root .pt-day{border:1.5px solid var(--pt-line);border-radius:14px;overflow:hidden;background:#fff}
#pt-root .pt-day-hd{display:flex;gap:12px;align-items:center;background:var(--pt-navy);color:#fff;padding:10px 14px}
#pt-root .pt-day-n{background:var(--pt-sun);color:var(--pt-ink);font-weight:800;border-radius:8px;padding:2px 10px;white-space:nowrap}
#pt-root .pt-day-hd h3{font-size:16px;line-height:1.3}
#pt-root .pt-day-hd small{display:block;opacity:.8;font-weight:400}
#pt-root .pt-day-body{padding:12px 16px;font-size:15px}
#pt-root .pt-day-body p{margin-bottom:6px}
#pt-root .pt-day-sights{margin:6px 0 8px;display:grid;gap:4px}
#pt-root .pt-day-sights li{padding-left:22px;position:relative}
#pt-root .pt-day-sights li::before{content:"";position:absolute;left:4px;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--pt-sun)}
#pt-root .pt-day-sights small{color:var(--pt-mut)}
#pt-root .pt-day-extra{color:#9c5c00;font-weight:600}
#pt-root .pt-day-meta{font-size:13.5px;color:var(--pt-mut);margin-top:8px;border-top:1px dashed var(--pt-line);padding-top:8px}
#pt-root .pt-day-meta b{color:var(--pt-ink)}
#pt-root .pt-inex{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:18px}
#pt-root .pt-inex h3{font-size:16px;margin-bottom:6px}
#pt-root .pt-inex li{padding-left:18px;position:relative;font-size:14.5px;margin-bottom:4px}
#pt-root .pt-inex li::before{content:"";position:absolute;left:3px;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--pt-ok)}
#pt-root .pt-inex .no li::before{background:var(--pt-bad)}
#pt-root .pt-notes{margin-top:14px;font-size:13.5px;color:var(--pt-mut);display:grid;gap:5px}
#pt-root .pt-notes li{padding-left:16px;position:relative}
#pt-root .pt-notes li::before{content:"\2022";position:absolute;left:3px}
#pt-root /* buttons */
.pt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 20px;border-radius:12px;border:2px solid transparent;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.2}
#pt-root .pt-btn:disabled{opacity:.5;cursor:not-allowed}
#pt-root .pt-btn-primary{background:var(--pt-sun);color:var(--pt-ink)}
#pt-root .pt-btn-primary:hover:not(:disabled){background:var(--pt-sun2)}
#pt-root .pt-btn-ghost{background:#fff;border-color:var(--pt-navy);color:var(--pt-navy)}
#pt-root .pt-btn-ghost:hover:not(:disabled){background:var(--pt-fog)}
#pt-root .pt-btn-wa{background:#1fa855;color:#fff}
#pt-root .pt-btn-wa:hover{background:#188a45}
#pt-root .pt-btn-block{display:flex;width:100%}
#pt-root .pt-btn-sm{min-height:38px;padding:6px 14px;font-size:14px}
#pt-root .pt-add{background:var(--pt-navy);color:#fff;border-color:var(--pt-navy)}
#pt-root /* ticket */
.pt-ticket{position:sticky;top:14px;background:#fff;border:1px solid var(--pt-line);border-radius:18px;box-shadow:0 10px 30px rgba(16,36,63,.12);overflow:hidden}
#pt-root .pt-t-top{background:linear-gradient(160deg,var(--pt-navy),var(--pt-navy2));color:#fff;padding:20px}
#pt-root .pt-t-dest{font-size:14px;opacity:.85}
#pt-root .pt-t-when{font-size:13px;opacity:.75;min-height:20px}
#pt-root .pt-t-label{font-size:13px;opacity:.85;margin-top:8px}
#pt-root .pt-t-total{font-size:36px;font-weight:800;line-height:1.15}
#pt-root .pt-t-total.flash{animation:pt-fl .6s}
#pt-root .pt-t-pp{opacity:.9;font-size:14px}
@keyframes pt-fl{0%{color:var(--pt-sun)}100%{color:#fff}}#pt-root .pt-t-perf{height:14px;background:radial-gradient(circle at 7px -1px,var(--pt-fog) 7px,transparent 8px) repeat-x;background-size:20px 14px;margin-top:-7px}
#pt-root .pt-t-empty{padding:22px 20px 26px;color:var(--pt-mut)}
#pt-root .pt-t-body{padding:6px 20px 20px}
#pt-root .pt-lines h4{font-size:12.5px;color:var(--pt-mut);margin:12px 0 4px;font-weight:700}
#pt-root .pt-line{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;padding:4px 0}
#pt-root .pt-line b{white-space:nowrap}
#pt-root .pt-line-h{font-size:12.8px;color:var(--pt-mut);margin:-1px 0 6px;font-style:italic}
#pt-root .pt-line.sum{border-top:1px solid var(--pt-line);margin-top:6px;padding-top:8px}
#pt-root .pt-line.tot{font-size:16px;font-weight:800}
#pt-root .pt-advance{margin:12px 0;font-size:14.5px;background:#fff7e0;border-radius:10px;padding:9px 12px}
#pt-root .pt-t-actions{display:grid;gap:8px;margin-top:10px}
#pt-root .pt-fine{font-size:12.5px;color:var(--pt-mut);margin-top:10px}
#pt-root .pt-error{background:#fde8e8;border:1px solid #f3b8b8;color:var(--pt-bad);border-radius:10px;padding:10px 12px;margin-bottom:10px;font-size:14.5px}
#pt-root .pt-warn{background:#fff6dc;border:1px solid #f1d98c;color:#5c3a00;border-radius:10px;padding:10px 12px;margin-bottom:10px;font-size:14.5px}
#pt-root .pt-warn p+p{margin-top:6px}
#pt-root /* mobile bar */
.pt-mbar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--pt-line);padding:10px 14px;display:none;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 -6px 20px rgba(16,36,63,.12)}
#pt-root .pt-mbar-l{display:block;font-size:12px;color:var(--pt-mut)}
#pt-root .pt-mbar strong{font-size:20px;color:var(--pt-navy)}
#pt-root /* modal */
.pt-modal{position:fixed;inset:0;z-index:80;background:rgba(16,36,63,.62);display:grid;place-items:center;padding:16px;overflow:auto}
#pt-root .pt-modal-card{position:relative;background:#fff;border-radius:18px;max-width:520px;width:100%;padding:26px;max-height:94vh;overflow:auto}
#pt-root .pt-modal-x{position:absolute;right:12px;top:12px;width:38px;height:38px;border-radius:50%;border:0;background:var(--pt-fog);font-size:24px;cursor:pointer}
#pt-root .pt-modal h2{font-size:22px;color:var(--pt-navy);margin-bottom:6px}
#pt-root .pt-check{display:flex;gap:10px;align-items:flex-start;margin:6px 0 14px;font-size:14.5px}
#pt-root .pt-check input{margin-top:4px;width:18px;height:18px}
#pt-root .pt-trap{position:absolute;left:-9999px;height:0;overflow:hidden}
#pt-root .pt-done-ref{font-size:28px;font-weight:800;color:var(--pt-navy);letter-spacing:1px;margin:2px 0 12px}
#pt-root .pt-done-list{margin:10px 0 14px 20px;list-style:decimal}
#pt-root .pt-stack{display:grid;gap:10px}
#pt-root .pt-pay-box{border:1.5px solid var(--pt-line);border-radius:12px;padding:12px 14px;font-size:14.5px}
#pt-root .pt-pay-box pre{white-space:pre-wrap;font:inherit;margin:6px 0}
#pt-root /* SEO text */
.pt-seo{background:#fff;border:1px solid var(--pt-line);border-radius:var(--pt-r);padding:28px;margin-top:10px}
#pt-root .pt-seo h2{font-size:26px;color:var(--pt-navy);margin:30px 0 10px;line-height:1.25}
#pt-root .pt-seo h2:first-child{margin-top:0}
#pt-root .pt-seo h3{font-size:19px;margin:20px 0 6px}
#pt-root .pt-seo p{margin-bottom:12px;max-width:900px}
#pt-root .pt-seo ul{list-style:disc;margin:0 0 12px 22px}
#pt-root .pt-seo li{margin-bottom:5px}
#pt-root .pt-faq h3{font-size:17px}
#pt-root .pt-links ul{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:0}
#pt-root .pt-links li{margin:0}
#pt-root /* fallback header and footer (only when your site's own files are not found) */
.pt-fallback-top{background:#1a3c6e;display:flex;justify-content:space-between;gap:12px;padding:12px 18px}
.pt-fallback-top a,.pt-fallback-foot a{color:#fff;font-weight:700;text-decoration:none;font:700 16px system-ui,Arial,sans-serif}
.pt-fallback-foot{background:#10243f;color:#cfd9e8;padding:18px;text-align:center;font:14px system-ui,Arial,sans-serif}
@media(max-width:980px){#pt-root .pt-layout{grid-template-columns:1fr}
#pt-root .pt-ticket{position:static}
#pt-root .pt-mbar{display:flex}
#pt-root{padding-bottom:90px}
}@media(max-width:560px){#pt-root .pt-card{padding:16px}
#pt-root .pt-seo{padding:18px}
#pt-root .pt-stop-hd{padding:12px}
}@media(prefers-reduced-motion:reduce){#pt-root .pt-t-total.flash{animation:none}
}

/* plain header (logo and call) - used above the planner */
.pt-top{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 18px;background:#fff;border-bottom:1px solid #d3dce8;box-shadow:0 1px 6px rgba(16,36,63,.06)}
.pt-top-logo{display:inline-flex;align-items:center}.pt-top-logo img{height:46px;width:auto;display:block}
.pt-top-call{background:#f59d0e;color:#10243f;font:700 15px/1 system-ui,Arial,sans-serif;text-decoration:none;padding:11px 16px;border-radius:10px;white-space:nowrap}
/* step 4: sightseeing blocks */
#pt-root .pt-sblock{border:1.5px solid var(--pt-line);border-radius:14px;padding:14px 16px;margin-bottom:12px;background:#fbfdff}
#pt-root .pt-sblock h3{font-size:16px;color:var(--pt-navy);margin-bottom:8px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:baseline}
#pt-root .pt-stop-count{font-size:13px;color:var(--pt-mut);margin-top:4px}
#pt-root .pt-internal{background:#eef6ee;border:1px dashed #8bc59a;border-radius:10px;padding:10px 12px;margin:12px 0;font-size:14px}
#pt-root .pt-internal b{color:#146c2e}
#pt-root .pt-sights-empty{color:var(--pt-mut);font-size:14.5px}
