/* Annual almanac: real month controls around a sculpted seasonal landscape. */
body.vvt-continuidad #calendario.almanac{background:#f3efe7;padding:72px 0!important;overflow:hidden;--al-dry:#ad7b2e;--al-mid:#b4a48b;--al-wet:#52788c;--al-ink:#181410;--al-paper:#f3efe7;--al-line:#c4b69f;--al-accent:#874426;--al-duration:240ms}
.al-shell{max-width:1200px;width:calc(100% - 64px);margin:auto;display:grid;grid-template-columns:1.12fr .88fr;grid-template-areas:'instrument heading' 'instrument story';gap:24px 56px;align-items:start}
.al-heading{grid-area:heading}
body.vvt-continuidad main #calendario h2:not(#payment-title):not(#ast-title):not(#sv-title){font-family:VVTSpread,Georgia,serif!important;font-size:clamp(42px,4.3vw,62px)!important;line-height:1.04!important;letter-spacing:-.035em!important;font-weight:450!important;max-width:13ch;margin:0 0 20px;color:#181410}
#calendario .al-promise{font:600 17px/1.5 VVTCuerpo,Archivo,sans-serif;color:#493b2d;max-width:38ch;margin:0 0 12px}
#calendario .al-intro{font:400 16px/1.7 VVTCuerpo,Archivo,sans-serif;color:#6b5d4a;max-width:52ch;margin:0}
.al-instrument{grid-area:instrument;min-width:0;align-self:center;padding:12px 0 26px;position:relative}
.al-dial{position:relative;width:100%;aspect-ratio:1;isolation:isolate}
.al-orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg);pointer-events:none}
.al-orbit circle{fill:none}
.al-orbit-base{stroke:#d8cbb8;stroke-width:1.7}
.al-arc{stroke-width:.7;stroke-linecap:round}
.al-arc-dry{stroke:var(--al-dry)}
.al-arc-mid{stroke:var(--al-mid)}
.al-arc-wet{stroke:var(--al-wet)}
.al-relief{position:absolute;inset:14%;pointer-events:none}
#calendario .al-scene{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity var(--al-duration) var(--ease,cubic-bezier(.23,1,.32,1));filter:drop-shadow(0 12px 8px #39281b1a);max-width:none}
#calendario .al-scene.is-active{opacity:1}
.al-pointer{position:absolute;inset:0;transform-origin:50% 50%;transition:transform var(--al-duration) var(--ease,cubic-bezier(.23,1,.32,1));pointer-events:none;z-index:2}
.al-pointer>svg{position:absolute;width:14px;height:20px;left:calc(50% - 7px);top:10.8%;fill:#874426;stroke:#f3efe7;stroke-width:1;filter:drop-shadow(1px 2px 1px #18141030)}
#calendario .al-months{position:absolute;inset:0;display:block;list-style:none;padding:0;margin:0;z-index:3}
#calendario .al-months li{list-style:none;margin:0;padding:0}
#calendario .al-month{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;margin:0;padding:5px;border:1px solid transparent;border-radius:50%;transform:translate(-50%,-50%)!important;background:#f3efe7;color:#6b5d4a;box-shadow:none;font:600 12px/1 VVTCuerpo,Archivo,sans-serif;text-transform:uppercase;letter-spacing:.025em;cursor:pointer;transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease}
#calendario .al-month[aria-pressed=true]{background:#874426;color:#f3efe7;border-color:#874426;box-shadow:0 4px 9px -5px #39281b66;transform:translate(-50%,-50%)!important}
#calendario .al-month i{display:none;position:absolute;bottom:5px;width:3px;height:3px;border-radius:50%;background:#874426}
#calendario .al-month.is-current i{display:block}
#calendario .al-month.is-current[aria-pressed=true] i{background:#e4c17e}
#calendario .al-month:focus-visible,#calendario .al-step-controls button:focus-visible,#calendario .al-reset:focus-visible,#calendario .al-plan:focus-visible{outline:2px solid #874426;outline-offset:4px}
.al-legend{display:flex;justify-content:center;gap:24px;margin:20px 0 0;font:500 12px/1.5 VVTCuerpo,Archivo,sans-serif;color:#5c4e3d}
.al-legend>span{display:grid;grid-template-columns:6px auto;gap:0 7px;align-items:center;max-width:155px}
.al-legend i{display:block;width:6px;height:6px;border-radius:50%}
.al-legend .al-key-dry{background:var(--al-dry)}
.al-legend .al-key-mid{background:var(--al-mid)}
.al-legend .al-key-wet{background:var(--al-wet)}
.al-legend small{grid-column:2;color:#6b5d4a;font-size:11px;font-weight:400}
#calendario .al-reset{position:absolute;bottom:-13px;left:50%;transform:translateX(-50%);min-height:36px;border:0;background:none;padding:6px;font:500 12px/1.5 VVTCuerpo,Archivo,sans-serif;color:#874426;text-decoration:underline;text-underline-offset:4px;cursor:pointer;white-space:nowrap}
#calendario .al-reset[hidden]{display:none!important}
.al-story{grid-area:story;min-width:0}
.al-month-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #c4b69f;padding:24px 0 20px}
#calendario .al-season-name{font:500 13px/1.5 VVTCuerpo,Archivo,sans-serif;color:#6b5d4a;margin:0 0 5px}
#calendario #yr2Mes{font:450 48px/1.1 VVTSpread,Georgia,serif;color:#181410;letter-spacing:-.03em;margin:0}
.al-step-controls{display:flex;gap:8px;flex:none}
#calendario .al-step-controls button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;border:1px solid #c4b69f;border-radius:50%;padding:10px;background:none;color:#6b5d4a;cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease}
.al-step-controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#calendario .al-month-detail{min-height:205px;margin:0;padding:0;background:none;border:0;box-shadow:none}
#calendario #yr2T{font:600 18px/1.4 VVTCuerpo,Archivo,sans-serif;margin:0 0 10px;color:#181410}
#calendario #yr2N{font:400 16px/1.7 VVTCuerpo,Archivo,sans-serif;margin:0;color:#6b5d4a;max-width:55ch}
.al-festival{display:flex;gap:13px;align-items:start;padding-top:20px;margin:0 0 16px}
.al-festival>svg{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:#874426;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-top:3px}
#calendario .al-festival-label{display:block;font:500 11px/1.5 VVTCuerpo,Archivo,sans-serif;color:#6b5d4a;margin:0 0 4px}
#calendario .al-festival-name{font:500 15px/1.5 VVTCuerpo,Archivo,sans-serif;color:#493b2d;margin:0 0 3px}
#calendario .al-festival-place{font:400 13px/1.5 VVTCuerpo,Archivo,sans-serif;color:#6b5d4a;margin:0}
#calendario .al-plan{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:48px;padding:13px 19px;background:#874426;color:#f3efe7;border:1px solid #874426;border-radius:4px;text-decoration:none;font:600 14px/1.5 VVTCuerpo,Archivo,sans-serif;margin-top:12px}
.al-plan svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}
#calendario .al-advisory{font:400 12px/1.7 VVTCuerpo,Archivo,sans-serif;color:#6b5d4a;max-width:62ch;margin:16px 0 0}
#calendario.is-immediate .al-scene,#calendario.is-immediate .al-pointer{transition:none!important}
@media(hover:hover) and (pointer:fine){
 #calendario .al-month:hover:not([aria-pressed=true]){color:#874426;border-color:#c4b69f;background:#eae1d2}
 #calendario .al-step-controls button:hover{background:#e6ddcd;border-color:#874426}
 #calendario .al-plan:hover{background:#63331f;border-color:#63331f}
}
@media(max-width:1000px) and (min-width:701px){
 .al-shell{grid-template-columns:1fr 1fr;grid-template-areas:'heading heading' 'instrument story';gap:28px 36px}
 .al-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;align-items:end}
 #calendario .al-heading h2{grid-column:1;grid-row:1/span 2;margin-bottom:0}
 #calendario .al-promise{grid-column:2;grid-row:1}
 #calendario .al-intro{grid-column:2;grid-row:2;font-size:15px}
 .al-instrument{align-self:center}
 .al-legend{gap:12px}
 .al-legend>span{font-size:11px}
 #calendario #yr2Mes{font-size:40px}
}
@media(max-width:700px){
 body.vvt-continuidad #calendario.almanac{padding:44px 0!important}
 .al-shell{width:calc(100% - 40px);grid-template-columns:minmax(0,1fr);grid-template-areas:'heading' 'instrument' 'story';gap:24px}
 body.vvt-continuidad main #calendario h2:not(#payment-title):not(#ast-title):not(#sv-title){font-size:46px!important;max-width:14ch;margin-bottom:18px}
 #calendario .al-promise{font-size:16px;margin-bottom:12px}
 #calendario .al-intro{font-size:16px;line-height:1.7;max-width:none}
 .al-instrument{padding:0 0 25px;max-width:470px;width:100%;margin:auto}
 #calendario .al-month{width:44px;min-width:44px;height:44px;min-height:44px;font-size:11px;letter-spacing:0;padding:4px}
 .al-pointer>svg{width:11px;height:16px;left:calc(50% - 5.5px);top:12%}
 .al-legend{gap:12px;margin-top:14px;justify-content:space-between}
 .al-legend>span{font-size:11px;gap:0 5px;grid-template-columns:5px auto}
 .al-legend i{width:5px;height:5px}
 .al-legend small{font-size:10px}
 #calendario .al-reset{bottom:-13px}
 .al-month-bar{padding:20px 0 18px}
 #calendario #yr2Mes{font-size:44px}
 #calendario .al-month-detail{min-height:205px}
 #calendario .al-plan{width:100%;margin-top:8px}
 #calendario .al-advisory{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 #calendario .al-pointer{transition:none}
 #calendario .al-scene{transition:opacity 120ms linear}
 #calendario .al-month,#calendario .al-step-controls button{transition:none}
}

