/* The destination-local trip planner. All screen rules are scoped to its root. */
.tp{--tp-ink:#223632;--tp-teal:#123b3a;--tp-accent:#e5aa45;--tp-border:#d8e1d9;--tp-muted:#51635c;color:var(--tp-ink);font-family:inherit;line-height:1.6;margin:28px 0 64px}
.tp *{box-sizing:border-box}.tp [hidden]{display:none!important}.tp h2,.tp h3,.tp p{margin-top:0}.tp h2{font-size:1.25rem;line-height:1.35;letter-spacing:-.025em;color:var(--tp-teal);margin-bottom:.65rem}.tp h3{font-size:1.05rem;line-height:1.4;margin-bottom:.35rem}.tp p{margin-bottom:.85rem}.tp small{font-size:.81rem;line-height:1.5}.tp a{color:#175e56;text-underline-offset:3px}.tp button,.tp input,.tp select{font:inherit;line-height:1.4}.tp button,.tp select{cursor:pointer}.tp button{border:1px solid #acbeb3;background:#fff;color:var(--tp-teal);padding:.65rem .95rem;border-radius:9px;min-height:44px;font-size:.875rem;font-weight:650;transition:background .16s ease,border-color .16s ease}.tp button:hover:not(:disabled){background:#edf3ee;border-color:var(--tp-teal)}.tp button:disabled{opacity:.42;cursor:not-allowed}.tp .tp-primary{background:var(--tp-teal);border-color:var(--tp-teal);color:white}.tp .tp-primary:hover:not(:disabled){background:#235955}.tp :focus-visible{outline:3px solid #bd8522;outline-offset:3px}.tp input,.tp select{width:100%;min-width:0;min-height:46px;border:1px solid #afc1b5;border-radius:9px;background:#fff;color:var(--tp-ink);padding:.7rem .75rem;font-size:.93rem}.tp input[type=date]{appearance:none;-webkit-appearance:none;display:block;box-sizing:border-box;min-width:0;max-width:100%;inline-size:100%}.tp .tp-status{border-left:3px solid var(--tp-accent);background:#f5f4e9;padding:12px 16px;font-size:.9rem;border-radius:0 8px 8px 0;margin-bottom:20px}.tp .tp-status:empty{display:none}.tp .tp-controls{display:grid;grid-template-columns:1.55fr 1.2fr .85fr 1.1fr 1.15fr;gap:16px;padding:24px;background:#f0f5ef;border:1px solid var(--tp-border);border-radius:18px;margin-bottom:22px;align-items:start}.tp .tp-field{display:grid;gap:7px;min-width:0}.tp .tp-field>span{font-size:.82rem;font-weight:750;letter-spacing:.01em}.tp .tp-field small{color:var(--tp-muted);font-size:.74rem}.tp .tp-context{margin-bottom:30px}.tp .tp-notice{padding:17px 21px;border:1px solid #d8d9bd;background:#fcfbf1;border-radius:12px;font-size:.9rem}.tp .tp-notice strong{display:block;margin-bottom:5px;font-size:.95rem}.tp .tp-notice p:last-child{margin-bottom:0}.tp .tp-important{border-color:#d5a348;background:#fff4db}.tp .tp-context-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:30px;padding:24px 4px 0}.tp .tp-context-grid h2{font-size:1.04rem}.tp .tp-context-grid p,.tp .tp-context-grid a{font-size:.88rem}.tp .tp-context-grid small,.tp .tp-muted{color:var(--tp-muted)}.tp .tp-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px;align-items:start}.tp .tp-days{display:grid;gap:24px;min-width:0}.tp .tp-day{background:#fff;border:1px solid var(--tp-border);border-radius:18px;overflow:hidden;padding:25px}.tp .tp-day-heading{display:flex;gap:16px;align-items:center;margin-bottom:17px}.tp .tp-day-heading h2{font-size:1.28rem;margin-bottom:4px}.tp .tp-day-heading p{font-size:.83rem;color:var(--tp-muted);margin:0}.tp .tp-day-number{display:flex;align-items:center;justify-content:center;width:52px;height:56px;flex-shrink:0;background:var(--tp-teal);color:#f6e8ba;border-radius:10px;font-size:1.6rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.05em}.tp .tp-day-total{padding-bottom:18px;border-bottom:1px solid var(--tp-border);font-size:.85rem;font-weight:700}.tp .tp-day-total span{display:block;color:var(--tp-muted);font-weight:400;font-size:.8rem}.tp .tp-stop-list{counter-reset:trip-stop;list-style:none;padding:0;margin:0}.tp .tp-stop{counter-increment:trip-stop;position:relative;padding:4px 0 20px 35px;margin-bottom:18px;border-bottom:1px solid #e5ece5}.tp .tp-stop:before{content:counter(trip-stop);position:absolute;left:0;top:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eaf1e7;font-size:.78rem;font-weight:700;color:var(--tp-teal)}.tp .tp-stop-top{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.tp .tp-stop h3{font-size:1.05rem;max-width:75%}.tp .tp-stop p{font-size:.87rem;color:var(--tp-muted);margin-bottom:12px}.tp .tp-duration{font-size:.72rem;white-space:nowrap;background:#f4f5ed;color:#4d614f;border-radius:5px;padding:4px 7px;line-height:1.4}.tp .tp-stop-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.tp .tp-stop-actions button{min-height:38px;padding:.35rem .7rem}.tp .tp-stop-actions select{width:auto;max-width:160px;min-height:38px;font-size:.75rem;padding:.4rem .5rem}.tp .tp-text-button{border-color:transparent;background:transparent;text-decoration:underline;text-underline-offset:3px;font-weight:500}.tp .tp-add-stop{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:16px;background:#f7f9f4;border-radius:10px;margin-top:4px}.tp .tp-add-stop label{flex:1;min-width:160px}.tp .tp-add-stop small{width:100%;color:var(--tp-muted)}.tp .tp-map-links{display:grid;gap:9px;padding-top:20px;font-size:.84rem}.tp .tp-map-links small{color:var(--tp-muted)}.tp .tp-empty{font-size:.85rem;color:var(--tp-muted);padding:6px 0}.tp .tp-summary{display:grid;gap:20px}.tp .tp-summary-card,.tp .tp-weather,.tp .tp-save-card{border:1px solid var(--tp-border);border-radius:16px;background:#f8faf7;padding:23px}.tp .tp-summary-card{background:var(--tp-teal);border-color:var(--tp-teal);color:#fff}.tp .tp-summary-card h2{color:#fff;font-size:1.6rem;line-height:1.18;letter-spacing:-.035em}.tp .tp-summary-card p{font-size:.87rem}.tp .tp-summary-card small{display:block;color:#d0ded2;line-height:1.6}.tp .tp-summary-card .tp-eyebrow{font-size:.65rem;letter-spacing:.12em;font-weight:700;color:#e9c67a;margin-bottom:14px}.tp .tp-tool-buttons{display:grid;grid-template-columns:1fr;gap:9px;margin-top:23px}.tp .tp-summary-card button{border-color:#77958d;color:white;background:transparent}.tp .tp-summary-card button:hover{background:#285955!important}.tp .tp-summary-card .tp-primary{background:var(--tp-accent);border-color:var(--tp-accent);color:#19352e}.tp .tp-summary-card .tp-primary:hover{background:#f1bf60!important}.tp .tp-share-result{padding-top:18px;overflow-wrap:anywhere}.tp .tp-share-result p{font-size:.76rem}.tp .tp-share-result input{font-size:.76rem}.tp .tp-save-card h2,.tp .tp-weather h2{font-size:1.14rem}.tp .tp-save-card>.tp-primary{width:100%;margin-top:12px}.tp .tp-save-card>.tp-muted{font-size:.77rem;margin-top:14px}.tp .tp-weather p{font-size:.81rem}.tp .tp-weather>button{width:100%}.tp .tp-weather-day{padding:15px 0;border-bottom:1px solid var(--tp-border)}.tp .tp-weather-day h3{font-size:.8rem}.tp .tp-weather-day p{margin-bottom:5px}.tp .tp-weather-values{font-weight:700;color:var(--tp-teal)}.tp .tp-weather small{display:block;font-size:.73rem;color:var(--tp-muted)}.tp .tp-weather .tp-weather-attribution{font-size:.69rem;color:var(--tp-muted);margin:14px 0 6px}.tp .tp-weather>a{font-size:.73rem;display:inline-block;margin-bottom:10px}.tp .tp-weather .tp-notice{margin:16px 0 0;font-size:.8rem;padding:12px}.tp .tp-saved{border-top:1px solid var(--tp-border);margin-top:24px;padding-top:20px}.tp .tp-saved>h3{font-size:.95rem}.tp .tp-saved>.tp-muted{font-size:.75rem}.tp .tp-saved-item{border-top:1px solid var(--tp-border);padding:15px 0 10px}.tp .tp-saved-item strong{display:block;font-size:.88rem;overflow-wrap:anywhere}.tp .tp-saved-item small{display:block;font-size:.71rem;color:var(--tp-muted);margin-top:3px}.tp .tp-saved-actions{display:flex;gap:5px;margin-top:8px}.tp .tp-saved-actions button{min-height:36px;padding:.35rem .75rem;font-size:.78rem}.tp .tp-footer-note{font-size:.75rem;color:var(--tp-muted);padding:0 5px}.tp .tp-print-header{display:none}
@media(min-width:1280px){.tp .tp-layout{grid-template-columns:minmax(0,1fr) 350px;gap:38px}.tp .tp-day{padding:30px}.tp .tp-summary-card,.tp .tp-weather,.tp .tp-save-card{padding:26px}}
@media(max-width:1000px){.tp .tp-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.tp .tp-controls>.tp-field:first-child{grid-column:span 2}.tp .tp-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.tp .tp-stop-top{display:block}.tp .tp-stop h3{max-width:none}.tp .tp-duration{display:inline-block;margin:2px 0 8px}.tp .tp-day{padding:20px}}
@media(max-width:760px){.tp{margin-top:20px}.tp .tp-layout{grid-template-columns:1fr}.tp .tp-controls{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px;gap:16px 12px}.tp .tp-controls>.tp-field:first-child{grid-column:1/-1}.tp .tp-context-grid{grid-template-columns:1fr;gap:20px}.tp .tp-context{margin-bottom:25px}.tp .tp-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tp .tp-save-card{grid-column:1/-1}.tp .tp-footer-note{grid-column:1/-1}.tp .tp-stop-top{display:flex}.tp .tp-stop h3{max-width:74%}.tp .tp-tool-buttons{margin-top:20px}.tp .tp-status{font-size:.82rem}.tp .tp-day{padding:22px}.tp .tp-day-heading h2{font-size:1.2rem}}
@media(max-width:480px){.tp .tp-controls{grid-template-columns:minmax(0,1fr)}.tp .tp-summary{grid-template-columns:1fr}.tp .tp-controls{padding:16px;gap:15px 10px}.tp input,.tp select{font-size:16px;min-height:48px}.tp .tp-controls label>span{font-size:.76rem}.tp .tp-day{padding:18px 15px}.tp .tp-stop{padding-left:30px}.tp .tp-stop-top{display:block}.tp .tp-stop h3{max-width:none}.tp .tp-day-heading{gap:12px}.tp .tp-day-heading h2{font-size:1.12rem}.tp .tp-day-number{width:44px;height:50px}.tp .tp-add-stop{padding:12px}.tp .tp-add-stop button{width:100%}.tp .tp-stop-actions{gap:4px}.tp .tp-stop-actions select{max-width:135px;font-size:.8rem}.tp .tp-stop-actions button{min-height:42px}.tp .tp-context-grid{padding-top:20px}.tp .tp-notice{padding:15px}.tp .tp-save-card,.tp .tp-summary-card,.tp .tp-weather{padding:22px}.tp .tp-saved-actions button{min-height:42px}}
@media(prefers-reduced-motion:reduce){.tp button{transition:none}}
@media print{
  @page{size:A4;margin:16mm}
  body{background:#fff!important;color:#000!important}
  body>header,body>footer,header.site-header,footer.site-footer,nav,.p-header,.p-footer,.p-hero,.p-breadcrumbs,.p-cookie,.consent-banner{display:none!important}
  .tp-page-section>:not(#trip-planner),.tp-page-section~#saved-places{display:none!important}
  .tp-page-section{padding:0!important;width:100%!important}
  main{max-width:none!important;padding:0!important;margin:0!important}
  .tp{font-size:10pt;line-height:1.4;margin:0;color:#000}
  .tp .tp-no-print,.tp .tp-controls,.tp .tp-status,.tp .tp-save-card,.tp .tp-summary-card,.tp .tp-share-result,.tp .tp-footer-note{display:none!important}
  .tp .tp-print-header{display:block;margin-bottom:18pt}.tp .tp-print-header h1{font-size:23pt;line-height:1.1;color:#123b3a;margin:5pt 0 9pt}.tp .tp-print-header p{font-size:9pt}
  .tp .tp-layout{display:block}.tp .tp-summary{display:block}.tp .tp-days{display:block}
  .tp .tp-context{margin-bottom:14pt}.tp .tp-context-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:14pt;padding-top:10pt}.tp .tp-context-grid h2{font-size:10pt}.tp .tp-context-grid p,.tp .tp-context-grid a{font-size:8pt}
  .tp .tp-notice{background:none;padding:9pt;border:1px solid #777;font-size:9pt}.tp .tp-notice strong{font-size:10pt}
  .tp .tp-day{padding:14pt 0;border:0;border-top:1px solid #999;border-radius:0;margin-bottom:10pt;break-inside:auto;overflow:visible}
  .tp .tp-day-intro{break-inside:avoid;break-after:avoid-page}.tp .tp-stop-list{break-before:avoid-page}.tp .tp-stop-list>li:first-child{break-before:avoid-page}.tp .tp-day-heading{margin-bottom:9pt;break-inside:avoid;break-after:avoid-page}.tp .tp-day-heading h2{font-size:14pt}.tp .tp-day-heading p{font-size:9pt}.tp .tp-day-number{background:none;border:1px solid #777;color:#000;width:32pt;height:34pt;font-size:18pt}
  .tp .tp-day-total{break-after:avoid;padding-bottom:8pt;font-size:9pt}.tp .tp-day-total span{font-size:8pt}.tp .tp-stop{padding-bottom:7pt;margin-bottom:9pt;break-inside:avoid}.tp .tp-stop h3{font-size:10pt;max-width:none}.tp .tp-stop p{font-size:9pt;margin-bottom:3pt}.tp .tp-duration{font-size:8pt;background:none}.tp .tp-stop-top{display:flex}.tp .tp-map-links{padding-top:3pt;gap:4pt;font-size:8pt}.tp .tp-map-links small{font-size:7pt}
  .tp .tp-weather:not(.tp-weather-ready){display:none!important}
  .tp .tp-weather{padding:12pt 0;border:0;border-top:1px solid #999;break-inside:avoid;background:none}.tp .tp-weather h2{font-size:13pt}.tp .tp-weather p{font-size:8pt}.tp .tp-weather-day{padding:6pt 0}.tp .tp-weather-day h3{font-size:9pt}.tp .tp-weather small{font-size:7pt}
  .tp a{color:#000;text-decoration:underline}.tp a+a{margin-left:6pt}.tp a::after{content:none!important}.tp .tp-map-links a{overflow-wrap:anywhere}
}

.tp .tp-save-choice{display:grid;gap:10px;margin-top:12px}.tp .tp-save-choice p{margin-bottom:0}

.tp .tp-photo-choice{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:.85rem}.tp .tp-photo-choice input{width:20px;min-height:20px}.tp .tp-stop-photo{float:right;width:150px;margin:0 0 14px 15px}.tp .tp-stop-photo img{display:block;width:100%;height:auto}.tp .tp-stop-photo figcaption{font-size:.65rem;line-height:1.4}.tp .tp-stop::after{content:"";display:block;clear:both}@media(max-width:480px){.tp .tp-stop-photo{float:none;width:100%;max-width:240px;margin:0 0 15px}}@media print{.tp .tp-stop-photo{float:right;width:38mm;margin:0 0 3mm 4mm}.tp .tp-stop-photo figcaption{font-size:6pt}}
