/* V31.0.105: isolated overrides for all legacy seasonal hero styles. */
html body .hero.premium-hero{display:block!important;position:relative!important;width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;aspect-ratio:1920/500!important;padding:0!important;margin:0!important;border:0!important;border-radius:16px!important;overflow:hidden!important;background:#e7e6df!important;box-shadow:none!important;isolation:isolate}
html body .hero.premium-hero:before,html body .hero.premium-hero:after,html body .premium-hero>.hero-overlay,html body .premium-hero>.hero-content,html body .premium-hero>#heroOffer{display:none!important}
html body .hero.premium-hero.premium-empty{display:none!important}
.premium-carousel{position:absolute;inset:0;touch-action:pan-y pinch-zoom;outline-offset:-4px}
.premium-frames,.premium-frame{position:absolute;inset:0}
.premium-frame{opacity:0;transition:opacity 600ms ease-in-out;pointer-events:none;overflow:hidden}
.premium-frame.is-active{opacity:1}
.premium-photo,.premium-fill{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;object-fit:contain!important;transform:none!important}
.premium-fill{object-fit:cover!important;filter:blur(24px);transform:scale(1.08)!important;pointer-events:none}
.premium-photo{z-index:1}
.premium-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid #ffffffb3;border-radius:50%;background:#ffffffd6;color:#173e14;font:32px/1 Georgia,serif;cursor:pointer;box-shadow:0 2px 10px #11281715}
.premium-prev{left:18px}.premium-next{right:18px}
.premium-controls{position:absolute;z-index:3;bottom:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;background:#12342299;border-radius:24px;padding:0 8px;backdrop-filter:blur(8px)}
#heroCarouselDots{display:flex;align-items:center;gap:0;position:static!important;transform:none!important;background:none!important;padding:0!important}
#heroCarouselDots button{display:grid;place-items:center;width:26px;height:30px;padding:0;border:0;background:transparent;cursor:pointer}
#heroCarouselDots button:after{content:'';width:5px;height:5px;border-radius:100%;background:#ffffff80;transition:background .2s,width .2s}
#heroCarouselDots button[aria-current=true]:after{width:15px;border-radius:6px;background:#fff}
.premium-pause{border:0;border-left:1px solid #ffffff40;color:#fff;background:transparent;width:32px;height:30px;cursor:pointer;font-size:15px}
.premium-carousel button:focus-visible{outline:3px solid #e7bc59;outline-offset:2px}
.premium-carousel [hidden]{display:none!important}
@media(max-width:600px){.premium-arrow{width:30px;height:30px;font-size:25px}.premium-prev{left:8px}.premium-next{right:8px}.premium-controls{bottom:3px;padding:0 4px}#heroCarouselDots button{width:23px;height:24px}.premium-pause{height:24px;width:27px}}
@media(prefers-reduced-motion:reduce){.premium-frame{transition:none}}
#premiumBannerAdmin{--premium-green:#193e2c;color:#243b2e}
#premiumBannerAdmin .premium-format{display:flex;flex-wrap:wrap;gap:10px 24px;padding:16px 20px;border-radius:12px;background:#edf4ef;margin:15px 0;font-size:14px}
.premium-admin-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:24px;align-items:start}
.premium-list-row{display:flex;align-items:center;border:1px solid #dce5de;border-radius:12px;margin-bottom:8px;overflow:hidden;background:#fff}
.premium-list-row.selected{border-color:#22563b;box-shadow:0 0 0 1px #22563b}
.premium-select{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;padding:10px;cursor:pointer;color:inherit}
.premium-select img{width:72px;height:46px;object-fit:cover;border-radius:6px}
.premium-select strong{display:block;font-size:14px;line-height:1.3}.premium-select small{display:block;font-size:12px;color:#617267;margin-top:4px}
.premium-reorder{display:grid;padding:3px;gap:3px}.premium-reorder button{width:30px;height:28px;border:0;background:#f0f4f1;border-radius:5px;cursor:pointer}.premium-reorder button:disabled{opacity:.25;cursor:default}
#premiumBannerForm{display:grid;gap:14px;min-width:0;background:#fafcf9;border:1px solid #dee7dd;border-radius:14px;padding:20px}
.premium-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.premium-editor-heading h3{margin:0;font-size:20px}
#premiumBannerForm .premium-enabled{display:flex;align-items:center;gap:8px;white-space:nowrap}.premium-enabled input{width:18px!important;height:18px}
.premium-view-switch{display:flex;gap:8px}.premium-view-switch button{border:1px solid #c8d9ce;border-radius:8px;padding:8px 14px;background:#fff;color:#21432e;cursor:pointer;font-size:14px}.premium-view-switch button[aria-pressed=true]{background:#193e2c;color:#fff;border-color:#193e2c}
.premium-preview{position:relative;width:100%;aspect-ratio:1920/500;border-radius:16px;overflow:hidden;background:#e7e6df;cursor:crosshair;margin:0 auto}
.premium-preview.mobile{max-width:390px}
.premium-focal{position:absolute;z-index:3;width:22px;height:22px;border:2px solid white;border-radius:50%;transform:translate(-50%,-50%);background:#173e1440;box-shadow:0 0 0 2px #193e2c;pointer-events:none}
.premium-focal:before,.premium-focal:after{content:'';position:absolute;left:50%;top:50%;background:#fff;transform:translate(-50%,-50%)}.premium-focal:before{width:12px;height:2px}.premium-focal:after{height:12px;width:2px}
.premium-focal-inputs,.premium-dates{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#premiumBannerForm label{font-size:14px;display:grid;gap:7px}#premiumBannerForm small{font-size:12px;color:#607065;line-height:1.5}#premiumBannerForm .hint{margin:0;font-size:14px;line-height:1.5}
#premiumBannerForm input[type=range]{padding:0;accent-color:#193e2c;min-height:24px}
.premium-upload{padding:15px;border:1px dashed #9bb7a5;border-radius:10px;background:#fff}
.premium-image-status{font-size:14px;margin:0;color:#395942}
.premium-save-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid #dce5dd}.premium-save-bar p{font-size:14px;margin:0}
@media(max-width:1000px){.premium-admin-layout{grid-template-columns:1fr}.premium-focal-inputs,.premium-dates{grid-template-columns:1fr}.premium-editor-heading{flex-wrap:wrap}}
