/* Public travel information, scoped to preserve the existing site. */
.travel-section { max-width:1200px; margin:auto; padding:3.5rem 1.5rem; color:#243d30; }
.travel-section h2,.travel-section h3,.trip-facts h2 { font-family:Montserrat,sans-serif; color:#003b1f; font-weight:800; line-height:1.25; }
.travel-section h2 { font-size:clamp(1.7rem,3vw,2.5rem); margin:0 0 1rem; }
.travel-section h3 { font-size:1.15rem; margin:0 0 .6rem; }
.travel-section p { line-height:1.7; margin:.5rem 0 1rem; }
.travel-kicker { font-size:.8rem; letter-spacing:.13em; text-transform:uppercase; color:#4d644d; font-weight:700; }
.travel-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; }
.travel-card { display:block; background:#fffdf8; color:#243d30; border:1px solid #cdd5c8; border-radius:1rem; padding:1.5rem; text-decoration:none; }
a.travel-card:hover { border-color:#376a47; box-shadow:0 6px 20px #003b1f0d; }
.travel-card small { display:block; color:#4d644d; line-height:1.6; }
.travel-link { color:#00552d; font-weight:700; text-decoration:underline; text-underline-offset:.2em; }
.travel-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin-top:1.5rem; }
.travel-button { display:inline-block; background:#003b1f; color:#fff; border:1px solid #003b1f; padding:.85rem 1.3rem; border-radius:2rem; font-weight:700; cursor:pointer; text-decoration:none; }
.travel-button.secondary { background:#fffdf8; color:#003b1f; }
.travel-section a:focus-visible,.travel-section button:focus-visible,.travel-section input:focus-visible,.travel-section select:focus-visible { outline:3px solid #ae7419; outline-offset:4px; }
.trip-facts { margin:0 0 3rem; padding:2rem; background:#fffdf8; border:1px solid #dce3d7; border-radius:1.5rem; color:#243d30; box-shadow:0 10px 32px #173f2408; }
.trip-facts h2 { font-size:1.35rem; margin:0 0 1.5rem; }
.trip-facts dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 2rem; margin:0; }
.trip-facts dl > div { padding:1.25rem 0; border-top:1px solid #e1e6da; }
.trip-facts dt { display:flex; align-items:center; gap:.65rem; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:#42634e; font-weight:700; }
.trip-facts dt i { font-size:1rem; width:1.25rem; text-align:center; color:#437652; }
.trip-facts dd { margin:.7rem 0 0; font-size:1rem; line-height:1.65; }
.trip-facts > p { margin:1rem 0 0; padding:1rem 1.25rem; background:#f0f3e9; border-radius:.75rem; color:#52634f; font-size:.88rem; line-height:1.6; }
.route-mini-facts { margin:1.25rem 0 1.5rem; padding:0; color:#243d30; font-size:.94rem; line-height:1.6; }
.route-mini-facts p { position:relative; margin:0; padding:.8rem 0 .8rem 2.8rem; border-top:1px solid #ccd8c5; }
.route-mini-facts p:last-child { border-bottom:1px solid #ccd8c5; }
.route-mini-facts strong { display:block; margin:0 0 .2rem; color:#36553e; font-size:.72rem; letter-spacing:.075em; text-transform:uppercase; }
.route-mini-facts i { position:absolute; left:0; top:.9rem; width:1.9rem; height:1.9rem; display:grid; place-items:center; border-radius:50%; background:#e0e9d9; color:#3e684b; font-size:.9rem; }
.trip-helper { max-width:1000px; margin:0 auto 2rem; padding:1.5rem; background:#fbf8ef; color:#243d30; border:1px solid #cdd5c8; border-radius:1rem; }
.trip-helper legend { color:#003b1f; font-weight:700; margin-bottom:.6rem; }
.trip-helper fieldset { margin:0 0 1.25rem; min-width:0; }
.trip-helper .choices { display:flex; flex-wrap:wrap; gap:.6rem; }
.trip-helper .choice { display:flex; gap:.5rem; align-items:center; padding:.65rem .85rem; border:1px solid #b7c6b4; border-radius:.6rem; cursor:pointer; background:white; }
.trip-helper input { accent-color:#0e6b38; min-width:18px; min-height:18px; }
.trip-helper h3 { color:#003b1f; font-size:1.25rem; font-weight:700; }
.trip-helper .travel-card { padding:1rem; }
.trip-helper .travel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.trip-helper .travel-card h4 { font-size:1rem; font-weight:700; color:#003b1f; }
.trip-helper .travel-card button { margin-top:.8rem; }
.trip-helper p,.trip-helper small { line-height:1.6; }
.trip-helper a { text-decoration:underline; }
.trip-helper [hidden] { display:none!important; }
#trip-selection-note { padding:1rem; margin:1rem 0; border-left:3px solid #ae7419; background:#fff5de; }
.guide-content .travel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.guide-content .travel-card h3 { font-family:Montserrat,sans-serif; font-size:1.15rem; font-weight:700; line-height:1.4; margin:0 0 .6rem; }
.guide-content .travel-card p { margin:0; }
.guide-content ul.planning-list { padding-left:1.3rem; list-style:disc; }
.guide-content ul.planning-list li { margin:.6rem 0; }
.guide-content .source-note { font-size:.9rem; border-top:1px solid #cdd5c8; padding-top:1rem; }
.season-card { border-left:4px solid #708557; padding:1rem 1.3rem; margin:1rem 0; background:#fffdf8; }
.season-card h3 { font-weight:700; color:#003b1f; margin:0 0 .5rem; }
.travel-guide-hero { max-width:850px; margin:1rem auto 2.5rem; padding:2.5rem 0; }
.travel-guide-hero h1 { max-width:22ch; }
@media(max-width:760px) {
  .travel-grid,.trip-helper .travel-grid,.guide-content .travel-grid { grid-template-columns:1fr; }
  .trip-facts dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.5rem; }
  .travel-section { padding:2.5rem 1.25rem; }
  .trip-helper,.trip-facts { padding:1.15rem; }
  .trip-helper .choice { flex:1 1 45%; }
  .travel-guide-hero { padding:1rem 0; }
}
@media(max-width:540px) { .trip-facts dl { grid-template-columns:1fr; } }
