/* Weather guide only. Paraiso's landscape-led planning, in Eagle ivory, forest and gold. */
body.page-weather { --weather-header-height:88px; background:#fffdf8; color:#45564b; }
body.page-weather main { overflow:clip; }
body.page-weather main *,body.page-weather main *::before,body.page-weather main *::after { box-sizing:border-box; }
body.page-weather main :is(h1,h2,h3,p,figure) { margin:0; }
body.page-weather main section::before,body.page-weather main section::after { display:none; }
body.page-weather .travel-wrap { width:min(1160px,calc(100% - 80px)); margin-inline:auto; }
body.page-weather .travel-skip { position:fixed; top:-100px; left:16px; z-index:2000; padding:12px 18px; background:#173b32; color:#fffdf8; }
body.page-weather .travel-skip:focus { top:12px; }
body.page-weather main :is(a,button,summary):focus-visible { outline:3px solid #9c793d; outline-offset:4px; }
body.page-weather main [hidden] { display:none!important; }
/* Shared styles already reserve 110px through html scroll-padding-top. */
body.page-weather main :is(section[id],#travel-content) { scroll-margin-top:max(0px,calc(var(--weather-header-height) + 76px - 110px)); }
body.page-weather .travel-kicker { margin-bottom:14px; color:#82632f; font:600 9px/1.7 var(--font-sans); letter-spacing:.16em; text-transform:uppercase; }
body.page-weather main h2 { color:#173b32; font:500 clamp(30px,3.1vw,43px)/1.15 var(--font-serif); letter-spacing:-.035em; text-wrap:balance; }
body.page-weather main h3 { color:#173b32; font:500 28px/1.2 var(--font-serif); letter-spacing:-.02em; }
body.page-weather .travel-btn { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:46px; padding:13px 21px; border:1px solid #173b32; border-radius:999px; color:#fffdf8; background:#173b32; font:500 11px/1.7 var(--font-sans); text-decoration:none; }
body.page-weather .travel-btn:hover { background:#285446; }
body.page-weather .travel-btn.gold { color:#173b32; border-color:#c4a56a; background:#c4a56a; }
body.page-weather .travel-btn.gold:hover { background:#d8be86; }
body.page-weather .travel-link { display:inline-flex; align-items:center; gap:16px; min-height:44px; color:#82632f; font:500 11px/1.7 var(--font-sans); text-decoration:none; }
body.page-weather .travel-link:hover { text-decoration:underline; text-underline-offset:5px; }
body.page-weather .travel-hero { position:relative; min-height:calc(100svh - 88px); display:flex; align-items:center; padding:48px clamp(24px,5vw,80px); overflow:hidden; background:#f7f3e8; isolation:isolate; }
body.page-weather .travel-hero-visual { position:absolute; inset:0; z-index:-2; }
body.page-weather .travel-hero-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:64% 50%; }
body.page-weather .travel-hero-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#f7f3e8 0%,#f7f3e8f5 28%,#f7f3e8c9 44%,#f7f3e814 76%,#173b321c); }
body.page-weather .travel-hero-inner { max-width:680px; padding:20px 0; }
body.page-weather .travel-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 11px; margin-bottom:34px; color:#68725f; font-size:9px; line-height:1.8; }
body.page-weather .travel-breadcrumb a { color:inherit; text-decoration:none; }
body.page-weather .travel-breadcrumb a:hover { text-decoration:underline; }
body.page-weather .travel-hero h1 { color:#173b32; font:600 clamp(45px,4.9vw,72px)/1.05 var(--font-serif); letter-spacing:-.045em; text-wrap:balance; }
body.page-weather .travel-hero h1 em { color:#896930; font-weight:500; }
body.page-weather .travel-hero-lead { max-width:490px; margin-top:23px; color:#526150; font-size:13px; line-height:1.9; }
body.page-weather .travel-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px 22px; margin-top:26px; }
body.page-weather .travel-reviewed { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:24px; color:#69715f; font-size:9px; }
body.page-weather .travel-reviewed i { color:#94733b; }
body.page-weather .travel-hero-caption { position:absolute; right:clamp(24px,5vw,80px); bottom:28px; display:flex; align-items:center; gap:9px; padding:10px 15px; border:1px solid #ffffff66; border-radius:999px; background:#173b32bd; color:#fffdf8; font-size:10px; }
body.page-weather .weather-nav { position:sticky; top:var(--weather-header-height); z-index:35; border-bottom:1px solid #ddd4bf; background:#fffdf8ed; backdrop-filter:blur(12px); }
body.page-weather .weather-nav > div { display:flex; align-items:center; gap:26px; overflow-x:auto; scrollbar-width:thin; }
body.page-weather .weather-nav a { display:inline-flex; flex:none; align-items:center; min-height:56px; padding-block:15px; border-bottom:2px solid transparent; color:#65715d; font-size:10px; text-decoration:none; }
body.page-weather .weather-nav a:is(:hover,[aria-current]) { color:#173b32; border-bottom-color:#b69a63; }
body.page-weather .travel-content { padding-block:58px 65px; }
body.page-weather .travel-intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; padding:0; }
body.page-weather .travel-intro > div > p:not(.travel-kicker) { font-size:13px; line-height:1.9; }
body.page-weather .travel-intro > div > p + p { margin-top:16px; }
body.page-weather .travel-note { display:flex; gap:12px; padding:15px 0 15px 16px; border-left:2px solid #b79a62; color:#69715f; font-size:11px!important; }
body.page-weather .travel-note i { flex:none; color:#92703b; }
body.page-weather .travel-section { margin-top:62px; padding:43px 0 0; border-top:1px solid #ddd4bf; }
body.page-weather .travel-heading { max-width:740px; margin-bottom:28px; }
body.page-weather .travel-heading > p:not(.travel-kicker) { max-width:610px; margin-top:16px; font-size:13px; line-height:1.85; }
body.page-weather .travel-heading.split { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:end; max-width:none; }
body.page-weather .travel-heading.split > p { margin:0; }
body.page-weather .weather-region-layout { display:grid; grid-template-columns:.85fr 1.35fr; gap:38px; align-items:start; }
body.page-weather .weather-tabs { display:grid; border-top:1px solid #d7cfbc; }
body.page-weather .weather-tabs button { position:relative; display:grid; grid-template-columns:28px 1fr; gap:5px 14px; width:100%; min-height:90px; padding:17px 15px 17px 0; border:0; border-bottom:1px solid #d7cfbc; border-radius:0; color:#173b32; background:transparent; text-align:left; cursor:pointer; }
body.page-weather .weather-tabs button > span { grid-row:span 2; padding-top:5px; color:#94733b; font-size:10px; }
body.page-weather .weather-tabs strong { font:500 24px/1.2 var(--font-serif); }
body.page-weather .weather-tabs small { color:#69715f; font-size:10px; line-height:1.7; }
body.page-weather .weather-tabs button[aria-selected=true] { border-bottom-color:#a38a56; background:#f2efe3; padding-left:13px; }
body.page-weather .weather-region-panels { min-width:0; display:grid; gap:20px; }
body.page-weather .weather-tabs[hidden] + .weather-region-panels { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); }
body.page-weather [data-region-panel] { padding:30px 32px; border:1px solid #d4dbc8; border-radius:5px 40px 5px 5px; background:#eef1e7; }
body.page-weather .region-label { display:flex; align-items:center; gap:8px; margin-bottom:16px; color:#82632f; font-size:10px; }
body.page-weather .region-label i { font-size:18px; }
body.page-weather [data-region-panel] > p:not(.region-label) { margin-top:16px; font-size:13px; line-height:1.85; }
body.page-weather [data-region-panel] dl { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin:21px 0 14px; padding-top:20px; border-top:1px solid #cdd5c0; }
body.page-weather [data-region-panel] dt { color:#82632f; font-size:9px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; }
body.page-weather [data-region-panel] dd { margin:8px 0 0; font-size:11px; line-height:1.8; }
body.page-weather .weather-months { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:7px; margin-bottom:16px; }
body.page-weather .weather-months button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:91px; padding:13px 7px; border:1px solid #ded7c4; border-radius:5px; background:#faf8f0; color:#173b32; cursor:pointer; }
body.page-weather .weather-months button strong { font:500 23px/1.15 var(--font-serif); }
body.page-weather .weather-months button span { color:#69715f; font-size:8px; line-height:1.5; text-align:center; }
body.page-weather .weather-months button[aria-pressed=true] { background:#173b32; border-color:#173b32; color:#fffdf8; }
body.page-weather .weather-months button[aria-pressed=true] span { color:#e3e6d7; }
body.page-weather .weather-month-detail { display:grid; grid-template-columns:.7fr 1.3fr; gap:14px 38px; padding:23px 27px; border-left:3px solid #b79a62; background:#f4f0e4; }
body.page-weather .weather-month-detail .travel-kicker { margin-bottom:8px; }
body.page-weather .weather-month-detail > p { font-size:12px; line-height:1.85; }
body.page-weather .weather-month-detail > a { grid-column:2; }
body.page-weather .weather-season-table { margin-top:23px; overflow-x:auto; }
body.page-weather .weather-season-table table { width:100%; min-width:560px; border-collapse:collapse; color:#45564b; font-size:12px; line-height:1.8; }
body.page-weather .weather-season-table caption { padding-bottom:13px; color:#82632f; font-size:10px; text-align:left; }
body.page-weather .weather-season-table :is(th,td) { padding:14px 16px; border:0; border-bottom:1px solid #ded6c1; text-align:left; vertical-align:top; }
body.page-weather .weather-season-table thead th { background:#eef1e7; color:#173b32; font-size:10px; font-weight:600; }
body.page-weather .weather-season-table tbody th { color:#173b32; font-weight:500; }
body.page-weather .weather-practical-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
body.page-weather .weather-practical-grid article { padding-top:23px; border-top:1px solid #d7cfbb; }
body.page-weather .weather-practical-grid i { color:#94733b; font-size:25px; }
body.page-weather .weather-practical-grid h3 { margin-top:16px; font-size:27px; }
body.page-weather .weather-practical-grid p { margin-top:15px; font-size:12px; line-height:1.85; }
body.page-weather .travel-follow { margin-top:25px; font-size:11px; line-height:1.8; }
body.page-weather .travel-follow a { color:#82632f; text-underline-offset:4px; }
body.page-weather .weather-packing { display:grid; grid-template-columns:.85fr 1.2fr; gap:60px; padding:34px; border:1px solid #d5dccb; border-radius:38px 5px 5px 5px; background:#f0f2e9; }
body.page-weather .weather-packing > div > p:not(.travel-kicker) { margin-top:16px; font-size:12px; line-height:1.85; }
body.page-weather .weather-packing .travel-link { margin-top:12px; }
body.page-weather .weather-packing-lists { display:grid; grid-template-columns:1fr 1fr; gap:26px 30px; }
body.page-weather .weather-packing-lists h3 { display:flex; align-items:start; gap:9px; font-size:20px; }
body.page-weather .weather-packing-lists i { flex:none; padding-top:3px; color:#92703b; font-size:18px; }
body.page-weather .weather-packing-lists ul { margin:13px 0 0; padding-left:17px; font-size:11px; line-height:1.85; }
body.page-weather .weather-packing-lists li { margin-top:6px; }
body.page-weather .weather-packing-lists li::marker { color:#a38753; }
body.page-weather .travel-faq { display:grid; grid-template-columns:.75fr 1.25fr; gap:65px; }
body.page-weather .travel-faq-list details { border:0; border-bottom:1px solid #d5cbb5; border-radius:0; padding:0; background:transparent; box-shadow:none; }
body.page-weather .travel-faq-list details:first-child { border-top:1px solid #d5cbb5; }
body.page-weather .travel-faq-list summary { display:flex; justify-content:space-between; align-items:start; gap:18px; min-height:54px; padding:19px 0; color:#173b32; font-size:13px; font-weight:500; line-height:1.7; list-style:none; cursor:pointer; }
body.page-weather .travel-faq-list summary::-webkit-details-marker { display:none; }
body.page-weather .travel-faq-list summary i { flex:none; color:#94733b; font-size:19px; }
body.page-weather .travel-faq-list details[open] summary i { transform:rotate(45deg); }
body.page-weather .travel-faq-list details p { padding:0 27px 20px 0; font-size:12px; line-height:1.85; }
body.page-weather .travel-sources { display:grid; grid-template-columns:.85fr 1.15fr; gap:65px; }
body.page-weather .travel-sources > div > p:not(.travel-kicker) { margin-top:18px; font-size:12px; line-height:1.85; }
body.page-weather .source-links { border-top:1px solid #d5cbb5; }
body.page-weather .source-links a { display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:80px; padding:17px 0; border-bottom:1px solid #d5cbb5; color:#173b32; text-decoration:none; }
body.page-weather .source-links strong { font:500 21px/1.3 var(--font-serif); }
body.page-weather .source-links small { display:block; margin-top:6px; color:#69715f; font-size:10px; }
body.page-weather .source-links i { flex:none; color:#94733b; }
body.page-weather .source-links a:hover strong { text-decoration:underline; text-underline-offset:4px; }
body.page-weather .travel-next { position:relative; margin-top:55px; padding:28px 32px; border:1px solid #d9cfb7; border-radius:5px 32px 5px 5px; background:#f5f0e4; }
body.page-weather .travel-next h2 { max-width:650px; font-size:32px; }
body.page-weather .travel-next .travel-btn { margin-top:22px; }
@media(max-width:1080px) { body.page-weather .travel-hero { min-height:calc(100svh - 76px); } }
@media(max-width:900px) {
 body.page-weather .travel-wrap { width:calc(100% - 48px); }
 body.page-weather .travel-hero { padding:32px 24px 180px; align-items:start; }
 body.page-weather .travel-hero-visual img { object-position:68% bottom; }
 body.page-weather .travel-hero-visual::after { background:linear-gradient(180deg,#f7f3e8 0%,#f7f3e8f7 35%,#f7f3e8d6 56%,#f7f3e821 82%,#173b321c); }
 body.page-weather .travel-hero-inner { max-width:650px; }
 body.page-weather .travel-intro,body.page-weather .travel-heading.split { gap:35px; }
 body.page-weather .weather-region-layout { grid-template-columns:1fr; gap:23px; }
 body.page-weather .weather-tabs { grid-template-columns:1fr 1fr; gap:0 22px; }
 body.page-weather .weather-tabs button { min-height:90px; }
 body.page-weather .weather-months { grid-template-columns:repeat(6,minmax(0,1fr)); }
 body.page-weather .weather-packing,body.page-weather .travel-faq,body.page-weather .travel-sources { gap:35px; }
}
@media(max-width:600px) {
 body.page-weather .weather-tabs[hidden] + .weather-region-panels { grid-template-columns:1fr; }
 body.page-weather .travel-wrap { width:calc(100% - 36px); }
 body.page-weather .travel-hero { padding:22px 20px 190px; }
 body.page-weather .travel-hero-inner { padding-top:0; }
 body.page-weather .travel-breadcrumb { margin-bottom:25px; font-size:8px; }
 body.page-weather .travel-hero h1 { font-size:clamp(36px,9.2vw,51px); }
 body.page-weather .travel-hero-lead { font-size:12px; margin-top:19px; line-height:1.8; }
 body.page-weather .travel-actions { gap:7px 17px; margin-top:21px; }
 body.page-weather .travel-btn { padding:12px 18px; font-size:10px; gap:15px; }
 body.page-weather .travel-reviewed { margin-top:18px; font-size:8px; }
 body.page-weather .travel-hero-caption { right:20px; bottom:20px; font-size:9px; }
 body.page-weather .weather-nav > div { gap:20px; }
 body.page-weather .weather-nav a { min-height:50px; font-size:9px; }
 body.page-weather .travel-content { padding-block:40px 45px; }
 body.page-weather .travel-intro,body.page-weather .travel-heading.split,body.page-weather .weather-packing,body.page-weather .travel-faq,body.page-weather .travel-sources { grid-template-columns:1fr; gap:24px; }
 body.page-weather main h2 { font-size:31px; }
 body.page-weather .travel-intro > div > p:not(.travel-kicker) { font-size:12px; }
 body.page-weather .travel-section { margin-top:42px; padding-top:31px; }
 body.page-weather .travel-heading { margin-bottom:24px; }
 body.page-weather .travel-heading > p:not(.travel-kicker) { font-size:12px; }
 body.page-weather .weather-tabs { gap:0 13px; }
 body.page-weather .weather-tabs button { grid-template-columns:18px 1fr; gap:5px 7px; min-height:112px; padding:16px 0; }
 body.page-weather .weather-tabs button[aria-selected=true] { padding-left:7px; }
 body.page-weather .weather-tabs strong { font-size:20px; }
 body.page-weather .weather-tabs small { font-size:9px; }
 body.page-weather [data-region-panel] { padding:24px 22px; border-top-right-radius:32px; }
 body.page-weather main h3 { font-size:26px; }
 body.page-weather [data-region-panel] > p:not(.region-label) { font-size:12px; }
 body.page-weather [data-region-panel] dl { gap:20px; }
 body.page-weather .weather-months { grid-template-columns:repeat(4,minmax(0,1fr)); }
 body.page-weather .weather-months button { min-height:84px; padding:12px 5px; }
 body.page-weather .weather-months button strong { font-size:22px; }
 body.page-weather .weather-month-detail { grid-template-columns:1fr; gap:13px; padding:22px; }
 body.page-weather .weather-month-detail > a { grid-column:auto; }
 body.page-weather .weather-practical-grid { grid-template-columns:1fr; gap:26px; }
 body.page-weather .weather-practical-grid h3 { font-size:27px; }
 body.page-weather .weather-packing { padding:25px 21px; }
 body.page-weather .weather-packing-lists { gap:23px 20px; }
 body.page-weather .weather-packing-lists h3 { font-size:20px; }
 body.page-weather .travel-faq .travel-heading { margin-bottom:0; }
 body.page-weather .travel-next { padding:25px 22px; }
}
@media(max-width:360px) {
 body.page-weather .weather-tabs { grid-template-columns:1fr; }
 body.page-weather .weather-tabs button { min-height:80px; }
 body.page-weather .weather-packing-lists,body.page-weather [data-region-panel] dl { grid-template-columns:1fr; gap:19px; }
 body.page-weather .travel-hero h1 { font-size:35px; }
}
@media(prefers-reduced-motion:reduce) { html:has(body.page-weather) { scroll-behavior:auto; } body.page-weather main *,body.page-weather main *::before,body.page-weather main *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print {
 body.page-weather { padding:0; background:#fff; }
 body.page-weather :is(header[data-include],header.eo-navbar,.weather-nav,.weather-tabs,.weather-months,.travel-hero,footer,.travel-next,.eo-mobile-drawer,.eo-mobile-backdrop,.eo-search-dialog) { display:none!important; }
 body.page-weather main [data-region-panel][hidden] { display:block!important; }
 body.page-weather .travel-wrap { width:100%; }
 body.page-weather .weather-region-layout,body.page-weather .travel-intro,body.page-weather .travel-faq,body.page-weather .weather-packing,body.page-weather .travel-sources { display:block; }
 body.page-weather [data-region-panel] { margin-bottom:16px; break-inside:avoid; }
 body.page-weather .travel-section { margin-top:25px; padding-top:20px; }
 body.page-weather .travel-content { padding:0; }
}

/* Clear feedback for the interactive annual calendar. */
body.page-weather .weather-months button { transition:background-color .18s ease,border-color .18s ease,color .18s ease; touch-action:manipulation; }
body.page-weather .weather-months button:hover:not([aria-pressed=true]) { background:#ece3d1; border-color:#b79a62; }
body.page-weather .weather-months button[aria-pressed=true] { box-shadow:inset 0 -3px 0 #c4a56a; }
