/* Scoped reading layout for the Aviemore stay guide. */
body[data-guide-layout="aviemore-stay"] { background:#fff; color:#0f172a; }
.av-main { --av-blue:#003da5; --av-muted:#475569; --av-line:#d5deea; max-width:1180px; margin:0 auto; padding:38px 40px 72px; font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.av-main * { box-sizing:border-box; }
.av-main ::selection { background:#dbeafe; color:#0f172a; }
.av-main :is(h1,h2,h3,p,figure,ol,dl) { margin:0; }
.av-main h1 { max-width:100%; font-size:clamp(2.15rem,5.2vw,4rem); line-height:1.06; letter-spacing:-.035em; font-weight:800; text-wrap:balance; }
.av-main h2 { font-size:clamp(1.55rem,3vw,2rem); line-height:1.18; letter-spacing:-.025em; font-weight:750; text-wrap:balance; }
.av-main h3 { font-size:1.42rem; line-height:1.25; letter-spacing:-.02em; font-weight:750; text-wrap:balance; }
.av-main p,.av-main dd { font-size:1rem; line-height:1.65; color:var(--av-muted); }
.av-main p { max-width:72ch; }
.av-main .av-intro { max-width:70ch; margin-top:18px; font-size:1.125rem; line-height:1.65; }
.av-main a { color:var(--av-blue); text-underline-offset:.2em; text-decoration-thickness:1px; }
.av-main a:hover { text-decoration-thickness:2px; color:#002f85; }
.av-main :is(a,summary):focus-visible,.av-skip:focus-visible { outline:3px solid #b47500; outline-offset:4px; border-radius:3px; }
.av-main :is(section,article,nav,[id]) { scroll-margin-top:94px; }
.av-skip { position:fixed; top:8px; left:12px; z-index:10000; padding:12px 18px; color:#fff; background:#003da5; transform:translateY(-160%); border-radius:8px; }
.av-skip:focus { transform:translateY(0); }
.av-main:focus { outline:none; }
.av-heading { margin-bottom:30px; }
.av-plan { border-top:1px solid var(--av-line); padding-top:24px; }
.av-plan-heading h2 { font-size:1rem; letter-spacing:0; font-weight:750; }
.av-plan-heading p { margin-top:7px; }
.av-days { list-style:none; padding:0; margin-top:20px !important; }
.av-day { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; align-items:center; padding:8px 0; min-height:172px; }
.av-day-copy { display:grid; grid-template-columns:70px minmax(0,1fr); gap:18px; align-items:start; }
.av-day-number { font-size:2.7rem; line-height:1; font-weight:750; color:var(--av-blue); font-variant-numeric:tabular-nums; letter-spacing:-.035em; }
.av-day h3 { font-size:clamp(1.25rem,2.3vw,1.75rem); }
.av-day h3 a { display:inline-block; min-height:44px; color:inherit; text-decoration:underline; padding:2px 0 8px; }
.av-day h3 a:hover { color:var(--av-blue); text-decoration:underline; }
.av-day-copy p { line-height:1.5; }
.av-day-photo { height:155px; overflow:hidden; border-radius:12px; background:#f1f5f9; }
.av-day-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.av-day:nth-child(1) img { object-position:center 66%; }
.av-day:nth-child(2) img { object-position:center 28%; }
.av-link { display:inline-flex; gap:10px; align-items:center; min-height:44px; font-size:1rem; line-height:1.4; font-weight:650; }
.av-link svg,.av-button svg { width:22px; height:22px; flex-shrink:0; }
.av-details-link { margin-top:12px; }
.av-page-links { display:flex; flex-wrap:wrap; gap:8px 28px; padding:12px 0 22px; }
.av-page-links a { min-height:44px; display:inline-flex; align-items:center; font-size:.9375rem; }
.av-rain { background:#eff6ff; padding:30px; margin:12px -30px 0; border-radius:12px; }
.av-section-heading { padding-top:48px; padding-bottom:24px; }
.av-section-heading p { margin-top:10px; }
.av-rain .av-section-heading { padding-top:0; padding-bottom:12px; }
.av-place { display:grid; grid-template-columns:minmax(200px,.8fr) minmax(0,2fr); gap:32px; border-top:1px solid var(--av-line); padding:28px 0; }
.av-place h3 { max-width:22ch; }
.av-entry-day { color:var(--av-blue); }
.av-place-reason { margin-top:8px !important; font-size:.875rem !important; line-height:1.4 !important; }
.av-rain .av-place { border-top:0; padding:8px 0 0; }
.av-facts { margin-top:18px !important; }
.av-facts>div { display:grid; grid-template-columns:125px minmax(0,1fr); gap:16px; padding:9px 0; }
.av-facts dt { color:#0f172a; font-size:.875rem; line-height:1.65; font-weight:650; }
.av-facts dd { font-size:.9375rem; line-height:1.6; }
.av-place-links { display:flex; flex-direction:column; align-items:flex-start; gap:3px; margin-top:14px; }
.av-note { margin-top:15px !important; }
.av-map { margin-top:32px; padding-top:30px; border-top:1px solid var(--av-line); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:center; }
.av-map p { margin-top:12px; }
.av-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 20px; min-height:48px; border-radius:8px; background:var(--av-blue); color:#fff !important; font-weight:650; text-decoration:none; }
.av-button:hover { background:#002f85; }
.av-footer { padding-top:34px; margin-top:34px; border-top:1px solid var(--av-line); }
.av-footer .guide-source-check { margin-top:14px; font-size:.875rem; }
.av-footer nav { display:flex; flex-wrap:wrap; gap:8px 26px; margin-top:14px; }
.av-footer nav a { display:inline-flex; min-height:44px; align-items:center; font-size:.9375rem; }
.av-footer details { margin-top:12px; font-size:.875rem; color:var(--av-muted); }
.av-footer summary { min-height:44px; padding:12px 0; cursor:pointer; font-weight:650; }
.av-footer ul { padding-left:20px; line-height:1.7; }
@media (max-width:760px) {
 .av-main { padding:28px 22px 48px; }
 .av-heading { margin-bottom:24px; }
 .av-main .av-intro { font-size:1rem; margin-top:14px; }
 .av-day { grid-template-columns:minmax(0,1fr) 30%; gap:16px; min-height:140px; padding:10px 0; }
 .av-day-copy { grid-template-columns:36px minmax(0,1fr); gap:10px; }
 .av-day-number { font-size:1.75rem; }
 .av-day h3 { font-size:1.125rem; }
 .av-day-copy p { font-size:.9375rem; }
 .av-day-photo { height:110px; border-radius:10px; }
 .av-place { grid-template-columns:1fr; gap:14px; padding:26px 0; }
 .av-place h3 { max-width:none; }
 .av-rain { margin:0 -10px; padding:24px 18px; }
 .av-facts>div { grid-template-columns:100px minmax(0,1fr); gap:14px; }
 .av-map { grid-template-columns:1fr; gap:20px; }
 .av-button { justify-self:start; }
 .av-section-heading { padding-top:36px; }
}
@media (max-width:600px) {
 .av-facts>div { grid-template-columns:minmax(0,1fr); gap:3px; padding:11px 0; }
 .av-facts dt { line-height:1.5; }
 .av-facts dd { font-size:1rem; line-height:1.65; }
}
@media (max-width:380px) {
 .av-main { padding-left:18px; padding-right:18px; }
 .av-day { grid-template-columns:minmax(0,1fr) 80px; gap:12px; }
 .av-day-copy { grid-template-columns:28px minmax(0,1fr); gap:8px; }
 .av-day-number { font-size:1.4rem; }
 .av-page-links { gap:4px 18px; }
}
@media (prefers-reduced-motion:no-preference) { .av-main a { transition:color .15s ease,background-color .15s ease; } }
