/* Public interface refresh: comfortable, responsive controls and account dialogs. */
.home-hero h1{margin-bottom:28px}.hero-tags{gap:10px;row-gap:10px;min-height:36px}.hero-tag{padding:8px 13px!important;line-height:1.4}.hero-suggestions-label{font-size:11px;color:rgba(255,255,255,.65);margin-right:4px}
.hero-form{position:relative}.hero-search-results{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:30;background:#fff;color:var(--tx);box-shadow:var(--sh-md);border:1px solid var(--bd-lt);border-radius:18px;padding:8px;text-align:left;max-height:330px;overflow-y:auto}.hero-search-results button{width:100%;display:flex;gap:12px;justify-content:space-between;align-items:center;text-align:left;background:transparent;border:0;border-radius:10px;padding:12px;font:inherit;font-size:13px;color:var(--tx);cursor:pointer}.hero-search-results button:hover,.hero-search-results button:focus{background:var(--red-lt)}.hero-search-results small{color:var(--tx2);white-space:nowrap}.hero-search-results[hidden]{display:none}
.det-actions{display:flex!important;flex-wrap:wrap;gap:10px!important}.det-actions .btn-alert,.best-price-card .bpc-cta{width:auto!important;flex:0 0 auto!important;min-width:0!important;max-width:100%;padding:11px 16px!important;white-space:normal}.best-price-card{flex-wrap:wrap;gap:18px}.det-grid>*{min-width:0}
.comparison-offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:14px;padding:20px}.comparison-offer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 12px;align-items:center;border:1px solid var(--bd);border-radius:16px;padding:20px;min-width:0;background:#fff}.comparison-offer.is-best{border-color:var(--gr-bd);background:linear-gradient(135deg,var(--gr-bg),#fff 70%)}.comparison-store{min-width:0}.comparison-store strong{font-size:15px;overflow-wrap:anywhere;display:block}.comparison-store .best-tag{display:inline-flex;margin-top:5px}.comparison-price{text-align:right}.comparison-price strong{display:block;font-size:25px;letter-spacing:-.7px;font-weight:800;color:var(--gr);white-space:nowrap}.comparison-price small{font-size:11px;color:var(--tx2);display:block}.comparison-meta{display:flex;gap:7px;flex-wrap:wrap;align-items:center;font-size:11px;color:var(--tx2);grid-column:1/-1}.comparison-offer .go-btn{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 16px;width:auto}.comparison-offer .go-btn[disabled]{opacity:.55}.comparison-updated{border-left:1px solid var(--bd);padding-left:8px}.search-more-wrap{text-align:center;padding:24px}.search-more-wrap button{padding:12px 20px;border-radius:12px;border:1px solid var(--bd);background:#fff;color:var(--tx);font:inherit;cursor:pointer}
.account-dialog{border:1px solid var(--bd-lt,#e5ddd5);border-radius:24px;background:#fff;color:var(--tx,#241c16);padding:34px;max-width:540px;width:calc(100% - 32px);max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 28px 90px #221b1640;margin:auto;font-family:'DM Sans',system-ui,sans-serif;position:fixed}.account-dialog::backdrop{background:#19171088;backdrop-filter:blur(5px)}.account-dialog h2{font-size:27px;line-height:1.18;letter-spacing:-.7px;margin:10px 0 14px;max-width:390px}.account-dialog p{font-size:14px;line-height:1.7;color:var(--tx2,#6b5b4e);margin-bottom:18px}.account-eyebrow{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red,#e8341a)}.account-close{position:absolute;right:15px;top:12px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--bg,#f7f4ef);font-size:24px;color:var(--tx2);cursor:pointer}.account-benefits{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.account-benefits span{font-size:12px;font-weight:650;border:1px solid var(--bd-lt);background:var(--bg);padding:9px 12px;border-radius:10px}.account-dialog .account-fine{font-size:11px;line-height:1.6;margin:16px 0 0}.account-fine a,.cookie-banner a{color:var(--red)}.account-dialog .account-message{color:var(--red);font-size:13px;margin:12px 0;min-height:0}.account-form{display:grid;gap:19px}.account-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.account-form label{font-size:12px;font-weight:650;display:grid;gap:7px;min-width:0}.account-form input:not([type=checkbox]){width:100%;border:1px solid var(--bd);border-radius:10px;padding:12px;font:inherit;font-size:15px;background:#fff;color:var(--tx)}.account-form input:focus{outline:2px solid var(--red);outline-offset:2px}.account-form fieldset{border:0;min-width:0}.account-form legend{font-size:14px;font-weight:750;margin-bottom:3px}.account-form fieldset .account-fine{margin:3px 0 12px}.account-interests{display:flex;gap:8px;flex-wrap:wrap;max-height:235px;overflow:auto;padding:3px}.account-interests label{position:relative;cursor:pointer}.account-interests input{position:absolute;opacity:0;width:1px;height:1px}.account-interests span{display:block;padding:8px 10px;border:1px solid var(--bd);border-radius:999px;font-size:11px;font-weight:600}.account-interests input:checked+span{background:var(--red-lt);color:var(--red);border-color:var(--red)}.account-interests input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}.account-primary,.account-secondary{border-radius:12px;padding:12px 17px;min-height:44px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;border:1px solid var(--bd);display:inline-flex;justify-content:center;align-items:center;gap:7px;width:fit-content}.account-primary{background:var(--red);border-color:var(--red);color:#fff}.account-secondary{background:#fff;color:var(--tx)}.account-primary:disabled{opacity:.6;cursor:wait}.account-tools{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--bd-lt);padding-top:22px;margin-top:24px}.account-tools button{background:none;border:0;text-decoration:underline;color:var(--tx2);font-size:12px;cursor:pointer}.account-tools .account-danger{color:var(--red)}.account-gate{padding:60px 24px;text-align:center;max-width:500px;margin:auto}.account-gate h2{font-size:26px;margin-bottom:12px}.account-gate p{color:var(--tx2);margin-bottom:22px}.account-gate button{margin:auto}
.cookie-banner{position:fixed;bottom:22px;left:24px;right:24px;z-index:650;margin:auto;max-width:990px;background:#fff;border:1px solid var(--bd);border-radius:18px;padding:20px 22px;box-shadow:0 10px 50px #261d1730;display:flex;gap:22px;align-items:center}.cookie-banner strong{font-size:14px}.cookie-banner p{font-size:12px;color:var(--tx2);margin-top:4px;line-height:1.6}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.cookie-actions button{background:#fff;border:1px solid var(--bd);color:var(--tx);border-radius:10px;min-height:40px;padding:9px 13px;font-size:12px;font-weight:650;cursor:pointer}.cookie-options{display:grid;gap:15px;margin:22px 0}.cookie-options label{display:flex;align-items:center;gap:10px;font-size:14px}.cookie-options small{margin-left:auto;color:var(--tx2);font-size:11px}.cookie-options input{accent-color:var(--red);width:18px;height:18px}.mobile-sheet-link{text-decoration:none}.mobile-more-backdrop.open{display:flex}.mobile-more-sheet{max-height:85dvh;overflow:auto}
.voice-assistant{max-width:500px;text-align:center}.voice-assistant .voice-eyebrow{display:flex;justify-content:center;gap:7px;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--tx2)}.voice-orb{width:112px;height:112px;display:grid;place-items:center;margin:30px auto 26px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#ffb6a1 0%,#fa6247 35%,#df2610 76%,#a92d30 100%);box-shadow:0 0 0 14px #e8341a0a,0 12px 38px #e8341a33;color:#fff}.voice-orb svg{width:34px;height:34px}.voice-assistant[data-state=listening] .voice-orb{animation:assistantPulse 1.8s ease-in-out infinite}.voice-assistant[data-state=error] .voice-orb{opacity:.5;animation:none}.voice-assistant h2{margin-left:auto;margin-right:auto;font-size:25px}.voice-transcript{min-height:58px;font-size:19px!important;line-height:1.5!important;color:var(--tx)!important;overflow-wrap:anywhere}.voice-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.voice-footnote{font-size:11px!important;margin:22px auto 0!important;max-width:340px}.voice-suggestions{font-size:12px;color:var(--tx2);background:var(--bg);padding:11px 14px;border-radius:12px;margin:16px 0 22px}@keyframes assistantPulse{0%,100%{transform:scale(.96);box-shadow:0 0 0 12px #e8341a0a,0 12px 38px #e8341a33}50%{transform:scale(1.04);box-shadow:0 0 0 22px #e8341a06,0 12px 46px #e8341a44}}
@media(min-width:769px){.mobile-more-backdrop{align-items:center;justify-content:center}.mobile-more-sheet{max-width:600px;border-radius:24px;margin:24px}.mobile-sheet-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.comparison-offers{padding:12px;gap:12px;grid-template-columns:1fr}.comparison-offer{padding:16px;gap:12px}.comparison-price strong{font-size:23px}.account-dialog{padding:28px 22px;border-radius:20px}.account-dialog h2{font-size:24px}.account-form-row{gap:12px}.account-form-row:has(input[name=municipality]){grid-template-columns:90px 1fr}.cookie-banner{bottom:calc(88px + env(safe-area-inset-bottom));left:10px;right:10px;padding:15px;display:block}.cookie-banner .cookie-actions{margin-top:12px;gap:7px}.cookie-banner .cookie-actions button{flex:1;padding:9px 7px;font-size:11px}.hero-search-results small{display:none}.det-actions .btn-alert{font-size:12px}}
@media(prefers-reduced-motion:reduce){.voice-assistant .voice-orb{animation:none!important}}
.account-form .account-consent{display:flex;gap:10px;align-items:flex-start;font-size:11px;font-weight:400;line-height:1.6}.account-consent input{width:17px;height:17px;accent-color:var(--red);flex:0 0 auto;margin-top:2px}.account-consent a{color:var(--red)}
.mobile-more-backdrop{position:fixed;inset:0;z-index:700;background:#1a100866;backdrop-filter:blur(3px);align-items:flex-end;opacity:0;pointer-events:none}.mobile-more-backdrop.open{opacity:1;pointer-events:auto}.mobile-more-sheet{width:100%;background:#fff;padding:24px;box-shadow:0 20px 70px #1a100830}.mobile-sheet-title{font-size:20px;font-weight:800;margin-bottom:5px}.mobile-sheet-sub{font-size:12px;color:var(--tx2);margin-bottom:20px}.mobile-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-sheet-link{border:1px solid var(--bd-lt);background:var(--bg);border-radius:13px;padding:14px;text-align:left;color:var(--tx);font-size:12px;font-weight:650;display:flex;align-items:center;gap:9px;cursor:pointer}.mobile-sheet-link svg{color:var(--red)}
@media(min-width:769px){.mobile-more-backdrop{align-items:center;justify-content:center}}
.home-hero:has(.hero-search-results:not([hidden])){overflow:visible;z-index:220}.home-hero:has(.hero-search-results:not([hidden])) .hero-blob{display:none}

/* Account windows keep the page still and their controls within reach. */
#consumer-dialog,.account-profile-body{scrollbar-width:none;overscroll-behavior:contain}
#consumer-dialog::-webkit-scrollbar,.account-profile-body::-webkit-scrollbar{display:none;width:0;height:0}
#consumer-dialog[data-view=signin]{text-align:center;padding-top:42px}
#consumer-dialog[data-view=signin] h2{margin-left:auto;margin-right:auto}
#consumer-dialog[data-view=signin] .account-benefits{justify-content:center}
#consumer-google-button{display:flex;justify-content:center;align-items:center;min-width:0;width:100%}
#consumer-dialog[data-view=signin]>.account-primary,#consumer-dialog[data-view=signin]>.account-secondary{margin:4px}
#consumer-dialog .account-message:empty{display:none}
#consumer-dialog[data-view=profile]{max-width:620px;padding:0;overflow:hidden}
#consumer-dialog[data-view=profile][open]{display:flex;flex-direction:column}
.account-profile-header{flex:none;padding:30px 40px 22px;text-align:center}
.account-profile-header h2{max-width:none;margin-left:auto;margin-right:auto}
.account-profile-header p{margin-bottom:0;overflow-wrap:anywhere}
#consumer-dialog[data-view=profile] .account-form{display:flex;flex-direction:column;flex:1;min-height:0;gap:0;overflow:hidden}
.account-profile-body{display:grid;gap:20px;min-height:0;overflow-y:auto;padding:0 32px 24px}
.account-profile-body:focus-visible{outline:2px solid var(--red);outline-offset:-4px}
.account-profile-body .account-interests{max-height:none;overflow:visible;padding:3px}
.account-profile-body fieldset{margin:0;padding:0}
.account-profile-footer{flex:none;display:grid;justify-items:center;gap:12px;padding:18px 32px 22px;border-top:1px solid var(--bd-lt);background:#fff}
.account-profile-footer .account-message{margin:0;text-align:center}
.account-profile-footer .account-primary{max-width:100%;text-align:center}
.account-profile-footer .account-tools{justify-content:center;width:100%;margin:0;padding-top:14px;gap:12px 18px}
@media(max-width:600px){
  .account-profile-header{padding:32px 40px 18px}
  .account-profile-body{padding:0 22px 20px;gap:18px}
  .account-profile-footer{padding:15px 22px 18px}
  .account-form input:not([type=checkbox]){font-size:16px}
}
@media(max-width:380px){.account-profile-body .account-form-row:first-child{grid-template-columns:1fr}}
@media(max-height:540px){
  #consumer-dialog{max-height:calc(100dvh - 24px)}
  .account-profile-header{padding-top:18px;padding-bottom:14px}
  .account-profile-header h2{font-size:22px;margin-top:6px;margin-bottom:8px}
  .account-profile-footer{padding-top:12px;padding-bottom:12px}
}
