/* Festival preparation and annual browsing, coordinated with Modern Saffron Glass. */
:is(#festival-planner,html) body #festival-guide-main{max-width:1180px;margin:auto;padding:0 28px 40px}
:is(#festival-planner,html) body #festival-guide-main .resource-hero{padding:38px 0 26px;max-width:none}
:is(#festival-planner,html) body #festival-guide-main h1{font-size:clamp(30px,3.6vw,44px)!important;line-height:1.2!important;max-width:780px;letter-spacing:-.04em}
:is(#festival-planner,html) body #festival-guide-main .resource-hero>p{max-width:760px;font-size:16px!important;line-height:1.8}
:is(#festival-planner,html) body #festival-guide-main .eyebrow{font-size:11px!important;color:#95520d!important;letter-spacing:.12em}
:is(#festival-planner,html) body #festival-guide-main .guide-planner{padding:24px;border:1px solid #e1dbea;border-radius:18px;background:linear-gradient(115deg,#ffffffd9,#f0ecf9bd);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
:is(#festival-planner,html) body #festival-guide-main .guide-planner h2{font-size:23px!important;margin:0 0 8px}
:is(#festival-planner,html) body #festival-guide-main .guide-planner p{font-size:14px!important;line-height:1.75;max-width:850px;margin:0 0 18px}
:is(#festival-planner,html) body #festival-guide-main .guide-controls{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;margin:22px 0 14px}
:is(#festival-planner,html) body #festival-guide-main .guide-controls label{display:grid;gap:8px;font-size:13px;font-weight:600;min-width:0}
:is(#festival-planner,html) body #festival-guide-main input:not([type=checkbox]){width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #dcd7e3;border-radius:10px;background:#fff;font:inherit;color:#292b38;box-sizing:border-box}
:is(#festival-planner,html) body #festival-guide-main .guide-year-step{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}
:is(#festival-planner,html) body #festival-guide-main :is(button,.guide-actions a,#guide-year-calendar,.resource-actions a){font:500 13px/1.6 'Plus Jakarta Sans',Inter,Arial,sans-serif;min-height:44px;padding:10px 14px;border:1px solid #dcd7e3;border-radius:10px;background:#fff;color:#5d3912;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}
:is(#festival-planner,html) body #festival-guide-main button:disabled{opacity:.45;cursor:default}
:is(#festival-planner,html) body #festival-guide-main .guide-year-step button{padding:6px}
:is(#festival-planner,html) body #festival-guide-main .guide-year-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
:is(#festival-planner,html) body #festival-guide-main #guide-months{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
:is(#festival-planner,html) body #festival-guide-main #guide-months button{padding:9px 5px;overflow-wrap:anywhere;font-size:12px}
:is(#festival-planner,html) body #festival-guide-main #guide-months button[aria-pressed=true]{background:#fff0d5;border-color:#c59551;color:#6b3c08}
:is(#festival-planner,html) body #festival-guide-main #guide-year-calendar{background:#e8a52e;border-color:#e8a52e;color:#28200f;font-weight:600}
:is(#festival-planner,html) body #festival-guide-main .guide-results-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:32px 0 16px}
:is(#festival-planner,html) body #festival-guide-main .guide-results-heading h2{font-size:24px!important;margin:0}
:is(#festival-planner,html) body #festival-guide-main #guide-status{font-size:14px!important;line-height:1.7;min-height:24px;margin:18px 0}
:is(#festival-planner,html) body #festival-guide-main #guide-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
:is(#festival-planner,html) body #festival-guide-main .guide-card{min-width:0;padding:26px;border:1px solid #e7e3e9;border-radius:16px;background:#fffefc;box-shadow:0 4px 18px #2f213705;scroll-margin-top:125px}
:is(#festival-planner,html) body #festival-guide-main .guide-card:only-child{grid-column:1/-1;max-width:860px;width:100%;justify-self:center;box-sizing:border-box}
:is(#festival-planner,html) body #festival-guide-main .guide-card h2{font-size:21px!important;line-height:1.5!important;margin:10px 0 12px}
:is(#festival-planner,html) body #festival-guide-main .guide-card h3{font-size:16px!important;line-height:1.5!important;margin:24px 0 10px}
:is(#festival-planner,html) body #festival-guide-main .guide-season{font-size:11px!important;letter-spacing:.04em;color:#95520d!important;margin:0}
:is(#festival-planner,html) body #festival-guide-main .guide-card :is(p,li,label){font-size:14px!important;line-height:1.85!important}
:is(#festival-planner,html) body #festival-guide-main .guide-card :is(ul,ol){padding-left:22px}
:is(#festival-planner,html) body #festival-guide-main .guide-card li{padding-left:4px;margin:8px 0}
:is(#festival-planner,html) body #festival-guide-main .guide-card .guide-small{font-size:12px!important;line-height:1.8!important;color:#676272!important}
:is(#festival-planner,html) body #festival-guide-main .guide-detail summary{cursor:pointer;font-size:13px;font-weight:600;color:#95520d;line-height:1.7;padding:12px 0;min-height:44px;list-style-position:inside}
:is(#festival-planner,html) body #festival-guide-main .guide-detail[open]>summary{border-bottom:1px solid #eee8ef;margin-bottom:12px}
:is(#festival-planner,html) body #festival-guide-main fieldset{border:1px solid #e6dfeb;border-radius:12px;padding:16px;margin:24px 0 18px;min-width:0;background:#faf8fc}
:is(#festival-planner,html) body #festival-guide-main legend{font-size:14px;font-weight:600;padding:0 6px}
:is(#festival-planner,html) body #festival-guide-main .guide-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0}
:is(#festival-planner,html) body #festival-guide-main input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px;flex:0 0 20px;margin:4px 0 0;accent-color:#8b571b}
:is(#festival-planner,html) body #festival-guide-main .guide-progress{font-size:12px!important;font-weight:600;margin:16px 0 0}
:is(#festival-planner,html) body #festival-guide-main .guide-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
:is(#festival-planner,html) body #festival-guide-main .guide-empty{grid-column:1/-1;padding:26px;background:#fff;border:1px solid #e7e3e9;border-radius:16px}
:is(#festival-planner,html) body #festival-guide-main .guide-method{margin-top:30px;padding:22px;border-top:1px solid #e7e3e9;font-size:13px;line-height:1.8}
:is(#festival-planner,html) body #festival-guide-main .guide-method h2{font-size:19px!important}
:is(#festival-planner,html) body #festival-guide-main .guide-method a{color:#95520d;text-decoration:underline}
:is(#festival-planner,html) body .engage-controls [hidden]{display:none!important}
:is(#festival-planner,html) body .festival-month-heading{grid-column:1/-1;font-size:24px!important;margin:24px 0 0!important;padding-top:20px;border-top:1px solid #e5dfea}
:is(#festival-planner,html) body .festival-card h3{font-size:21px!important;line-height:1.4!important;margin:0}
@media(max-width:900px){:is(#festival-planner,html) body #festival-guide-main #guide-months{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){
 :is(#festival-planner,html) body #festival-guide-main{padding:0 20px 30px}
 :is(#festival-planner,html) body #festival-guide-main .resource-hero{padding-top:24px}
 :is(#festival-planner,html) body #festival-guide-main h1{font-size:31px!important}
 :is(#festival-planner,html) body #festival-guide-main .guide-planner{padding:18px}
 :is(#festival-planner,html) body #festival-guide-main .guide-controls{grid-template-columns:1fr;gap:16px}
 :is(#festival-planner,html) body #festival-guide-main #guide-months{grid-template-columns:repeat(3,minmax(0,1fr))}
 :is(#festival-planner,html) body #festival-guide-main #guide-results{grid-template-columns:1fr}
 :is(#festival-planner,html) body #festival-guide-main .guide-card{padding:20px}
 :is(#festival-planner,html) body #festival-guide-main .guide-card h2{font-size:20px!important}
 :is(#festival-planner,html) body #festival-guide-main .guide-results-heading{flex-wrap:wrap}
}
@media print{
 html body{padding:0!important;background:white!important}
 html body :is(.site-header,.site-footer,.mobile-quick-actions,.chat-widget,.guide-controls,.guide-year-shortcuts,#guide-months,.guide-method,.guide-results-heading button,.guide-actions,.resource-actions){display:none!important}
 html body #festival-guide-main{padding:0!important;max-width:none!important}
 html body #festival-guide-main #guide-results{display:block!important}
 html body #festival-guide-main .guide-card{break-inside:avoid;box-shadow:none;padding:12px;margin-bottom:18px}
 html body.printing-one-guide #guide-results>.guide-card:not(.guide-print-target){display:none!important}
 html body #festival-guide-main .guide-detail summary{display:none!important}
}
