/* Alba Energia: shared daylight palette. Service scenes retain their own lighting. */
:root{--alba-green:#087c44;--alba-leaf:#00a651;--alba-sun:#e2c91e;--alba-ink:#194b32;--alba-text:#395647;--alba-mist:#edf8ef;--alba-paper:#fffef8;--alba-line:#cce4ce;--alba-shadow:0 14px 40px #17773d0d;--ink:var(--alba-ink);--text:var(--alba-text);--paper:var(--alba-paper);--line:var(--alba-line);--green:var(--alba-green)}
body.ae{background:var(--alba-paper);color:var(--alba-text)}
body.ae h1,body.ae h2,body.ae h3{color:var(--alba-ink)}
body .ae-header{background:#fffffff2;border-bottom-color:#cfe6d4;box-shadow:0 3px 20px #14783c05}
body .ae-nav a[aria-current=page]{color:var(--alba-green);box-shadow:0 2px var(--alba-leaf)}
body.ae .ae-kicker{color:#267641}
body.ae .ae-hero{background:radial-gradient(ellipse at 90% 10%,#f6f3c9 0,transparent 44%),linear-gradient(120deg,#fffef8,#f1faf1)}
body.ae .ae-section.tinted{background:linear-gradient(125deg,#f1faec,#edf8f0)}
body.ae .ae-section.dark{background:linear-gradient(115deg,#eef9e6,#e0f4e7);color:var(--alba-text);border-block:1px solid #d3e9cb}
body.ae .ae-section.dark h2,body.ae .ae-section.dark h3{color:var(--alba-ink)}
body.ae .ae-section.dark .ae-kicker,body.ae .ae-section.dark .ae-lead,body.ae .ae-section.dark .ae-cta-note{color:#41644a}
body.ae .ae-button,body .ae-header .ae-button,body .lead-form .ae-button,body.ae .svc-actions a{background:linear-gradient(135deg,#08834b,#076c3c);border:1px solid #06713f;color:#fff;box-shadow:0 4px 0 #075b3512,0 10px 25px #07804516;transition:transform .22s,box-shadow .22s,background .22s}
body.ae .ae-button.light{background:#fffef8;border-color:#a7d5ac;color:#126f3b;box-shadow:var(--alba-shadow)}
body.ae .ae-button.secondary{background:#eff9e7;border-color:#b5d6ae;color:#195d34;box-shadow:none}
body.ae .ae-button:hover,body.ae .svc-actions a:hover{transform:translateY(-3px);box-shadow:0 8px 0 #0b743b0a,0 15px 28px #0b773b22}
body.ae .ae-button:active,body.ae .svc-actions a:active{transform:translateY(1px);box-shadow:0 2px 8px #0b773b18}
body.ae .ae-button>span[aria-hidden]{transition:transform .25s}body.ae .ae-button:hover>span[aria-hidden]{transform:translate(3px,-2px)}
body.ae .ae-panel,body.ae .svc-card{border-color:var(--alba-line);background:#fffffc;box-shadow:var(--alba-shadow)}
body.ae .svc-card:not(.svc-repair) .svc-stage{background:linear-gradient(150deg,#f4f8dc,#dff2e2)}
body.ae .svc-card.svc-energy .svc-stage{background:#251f1a}
body.ae .svc-toggle{background:#f1f9e9;border-color:#c9e1bd;color:#1c6537}
body.ae .svc-card.is-active{border-color:#63bb79;box-shadow:0 16px 45px #0e82331c}
body .lead-form input,body .lead-form select{border-color:#b7d2b9;background:#fff;transition:border-color .2s,box-shadow .2s}
body .lead-form input:focus,body .lead-form select:focus{border-color:#178b49;box-shadow:0 0 0 4px #c5efca70}
body .lead-form input:disabled{background:#f0f7ed;color:#507359}
body.ae :focus-visible{outline:3px solid #a97709;outline-offset:4px}
/* The same footer on every Alba Energia page. */
body footer.ae-footer{background:radial-gradient(ellipse at 95% 100%,#18342b 0,transparent 54%),linear-gradient(125deg,#101917,#080e0c);color:#d4dfd9;border-top:1px solid #293d33}
body footer.ae-footer p{color:#c9d6ce}body footer.ae-footer a{color:#f1f7f3}
body footer.ae-footer .ae-footer-grid h3{color:#b9dca8}
body footer.ae-footer p.ae-legal{color:#a8beb0;border-top-color:#ffffff25}
body footer.ae-footer .ae-preview{color:#d0e6bc;border-color:#ffffff30;background:#ffffff0b}
/* Crop only the decorative background: exclude the nearby lettering fragment. */
body footer.ae-footer::before{opacity:.16;clip-path:polygon(0 0,100% 0,100% 70%,67% 86%,58% 100%,0 100%)}
/* Solar keeps its scene, but the page is open and bright. */
.solar-page{--sun:var(--alba-sun);--forest:var(--alba-ink);--sage:var(--alba-mist);color:var(--alba-ink)}
body.ae .solar-page h1 em,body.ae .solar-page h2 em{color:#188244}
.solar-hero{overflow:hidden;background:radial-gradient(ellipse at 75% 28%,#fff6bd 0,transparent 49%),linear-gradient(120deg,#fffef9 20%,#eef9e8)}
.solar-hero-grid{position:relative;z-index:1}.solar-world{filter:drop-shadow(0 18px 24px #19894c0c)}
.solar-stage{background:#ecf8dc;box-shadow:inset 0 0 0 1px #cfdfb2,0 20px 50px #477d3110}
.solar-dot{background:var(--alba-leaf);box-shadow:0 0 0 4px #00a65115}
.solar-lead,.solar-promise{color:#47654b}
body.ae .solar-bonus-teaser{background:linear-gradient(125deg,#fff8c4,#eff8da);border-color:#dece72;color:#365528;box-shadow:0 8px 25px #c6b32a0c;transition:transform .25s,box-shadow .25s}
.solar-bonus-teaser:hover{transform:translateY(-3px);box-shadow:0 12px 28px #99b42e20}
.solar-proof{background:#fffef9;border-color:#d8eacd}.solar-proof .ae-container>div{border-color:#cae1bb}.solar-proof strong{color:#1c733c}
.solar-tabs{position:relative;isolation:isolate;background:#ffffffed;border-color:#d7e8c9;box-shadow:0 8px 25px #4c8e2810;--solar-step:0}
.solar-tabs::before{content:'';position:absolute;z-index:-1;left:6px;top:6px;bottom:6px;width:calc((100% - 22px)/3);border-radius:27px;background:linear-gradient(140deg,#0b9952,#0a793e);box-shadow:0 4px 12px #098a4226;transform:translateX(calc(var(--solar-step) * (100% + 5px)));transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.solar-tabs [aria-pressed=true]{background:transparent;box-shadow:none}.solar-tabs button{color:#3b6745;transition:color .25s}.solar-tabs button[aria-pressed=true]{color:#fff}
.solar-bonus{background:radial-gradient(ellipse at 80% 60%,#f9f2b5,transparent 60%),#f4faea}
.solar-bonus-card{background:#fffef9;border-color:#e8dda4;box-shadow:0 14px 0 -8px #e5e9b2,0 30px 50px #adb52313}
.solar-bonus-rate{color:#168345}.solar-bonus-facts{border-color:#dce7bd}
.solar-contact{background:radial-gradient(ellipse at 10% 10%,#fff8c7,transparent 48%),linear-gradient(125deg,#f1fae9,#e4f6eb);color:var(--alba-text);border-block:1px solid #d3e8c7}
body.ae .solar-contact-copy h2{color:var(--alba-ink)!important}body.ae .solar-contact-copy h2 em{color:#118749}
body.ae .solar-contact-copy>.ae-kicker{color:#267c42}.solar-contact-copy>p{color:#44664c}.solar-contact-copy li p{color:#52715a}.solar-contact-copy .solar-contact-local{color:#507359}
.solar-contact-copy li>span{background:#fffff8;border-color:#b9dcae;color:#168544;box-shadow:0 5px 10px #73a4430c}
.solar-contact .lead-form{background:#fffffc;border:1px solid #cbe4c6;box-shadow:0 22px 55px #1f803912}
.solar-contact::before{opacity:.06;clip-path:polygon(0 0,100% 0,100% 70%,67% 86%,58% 100%,0 100%)}
.solar-products article{background:linear-gradient(135deg,#fffef7,#edf8e8);border-color:#d0e5c3;box-shadow:var(--alba-shadow);transition:box-shadow .3s,border-color .3s}
.solar-products article:hover{border-color:#80ba75;box-shadow:0 20px 45px #25843d17}
.solar-panel-art{transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s}
.solar-products article:hover .solar-panel-art,.solar-products article:focus-within .solar-panel-art{transform:perspective(300px) rotateX(15deg) rotateY(-8deg) translateY(-7px);box-shadow:7px 17px 0 #83b57d24,15px 23px 25px #39804625}
.solar-products article:hover .solar-panel-art.executive,.solar-products article:focus-within .solar-panel-art.executive{transform:perspective(300px) rotateX(15deg) rotateY(8deg) translateY(-7px)}
.solar-tool{border-color:#cfe4c3}.solar-tool summary{transition:color .25s,background .25s}.solar-tool summary:hover{background:#f1f9e970}.solar-tool summary b{color:#168647;transition:transform .3s}.solar-tool details[open]>summary b,details.solar-tool[open]>summary b{transform:rotate(45deg)}
body.ae .ae-summary{background:linear-gradient(140deg,#eff9e5,#dcf2e2);color:#244f34;border:1px solid #bbdcac;box-shadow:var(--alba-shadow)}
body.ae .ae-summary h3{color:#1b6b37!important}body.ae .ae-summary p,body.ae .ae-summary .ae-small,body.ae .ae-summary .ae-summary-calc{color:#46684b}.ae-summary dl>div{border-top-color:#bfd8b8}
.solar-toscana{background:linear-gradient(120deg,#f5fbe9,#eaf7ec)}.solar-last{background:radial-gradient(ellipse at 50% 100%,#fff4a5,transparent 65%),#f1f9e6}
.solar-sticky{border-color:#bedeac;box-shadow:0 12px 40px #198a3324;background:#fffffff5}
/* Three direct routes, without another copy of the house animation. */
.solar-decisions{padding:48px 0 54px;background:#fffef8}.solar-decisions-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
body.ae .solar-decisions-head h2{font-size:clamp(30px,3vw,42px);margin:0}.solar-decisions-head p{font-size:14px;color:#597259;margin:0;max-width:310px}
.ae-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;perspective:1000px}
body.ae .ae-choice-link{display:grid;grid-template-columns:70px 1fr 20px;align-items:center;gap:15px;padding:24px 20px;border:1px solid #d4e6c6;border-radius:22px;color:#244e33;background:linear-gradient(135deg,#fffefb,#f1f9ea);text-decoration:none;box-shadow:0 5px 0 #ddedcf65,0 12px 25px #287f3409;transition:transform .25s,border-color .25s,box-shadow .25s;transform:perspective(900px) rotateX(var(--choice-rx,0deg)) rotateY(var(--choice-ry,0deg))}
.ae-choice-link strong{font:600 14px/1.4 system-ui;display:block;margin-bottom:5px}.ae-choice-link small{display:block;font:400 11px/1.5 system-ui;color:#5d785f}.choice-arrow{font:500 20px system-ui;color:#18834b;transition:transform .25s}
body.ae .ae-choice-link:hover,body.ae .ae-choice-link:focus-visible{border-color:#80c17b;box-shadow:0 8px 0 #d9edca80,0 18px 30px #287f3415}.ae-choice-link:hover .choice-arrow{transform:translate(3px,-3px)}.ae-choice-link:active{scale:.98}
.choice-object{width:64px;height:64px;display:grid;place-items:center;position:relative;isolation:isolate;filter:drop-shadow(0 8px 7px #44923a18);transition:transform .5s}
.choice-object::after{content:'';position:absolute;left:10px;right:8px;bottom:-4px;height:8px;border-radius:50%;background:#418a3530;filter:blur(4px);z-index:-1;transition:transform .5s}
.choice-object svg{width:64px;height:64px;overflow:visible}.ae-choice-link:hover .choice-object,.ae-choice-link:focus-visible .choice-object{transform:translateY(-5px) rotate(-4deg)}.ae-choice-link:hover .choice-object::after{transform:translateY(5px) scale(.9)}
.choice-spark{position:absolute;width:7px;height:7px;border-radius:50%;background:#ebcd21;right:0;top:3px;box-shadow:0 0 0 5px #e9cf2320}
@media(max-width:1050px){.ae-choice-link{grid-template-columns:54px 1fr 15px!important;padding:20px 15px!important;gap:11px!important}.choice-object,.choice-object svg{width:50px;height:50px}}
@media(max-width:760px){.solar-decisions{padding:32px 0 38px}.solar-decisions-head{display:block;margin-bottom:20px}.solar-decisions-head p{margin-top:12px}.ae-choice-grid{grid-template-columns:1fr;gap:12px}.ae-choice-link{transform:none!important;padding:18px 20px!important;grid-template-columns:58px 1fr 20px!important}.ae-choice-link strong{font-size:14px}.solar-contact-copy ol{display:block;margin:24px 0}.solar-contact-copy li{margin-bottom:16px}.solar-contact-copy li p{font-size:12px}.solar-tabs::before{border-radius:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body.ae .ae-button,body.ae .svc-actions a,.solar-bonus-teaser,.solar-tabs::before,.solar-products article,.solar-panel-art,.solar-tool summary b,.ae-choice-link,.choice-object,.choice-arrow{transition:none!important;transform:none!important}.solar-tabs::before{transform:translateX(calc(var(--solar-step) * (100% + 5px)))!important}.ae-choice-link:active{scale:1}}

/* Final polish: compact service cards, light refracted surfaces, distinct page chapters. */
body footer.ae-footer .ae-footer-grid>div:first-child>a{display:inline-flex;padding:11px 16px;border:1px solid transparent;border-radius:16px;background:transparent;margin-bottom:22px;box-shadow:none}
body footer.ae-footer .ae-footer-grid>div:first-child>a img{margin:0;width:150px}
body footer.ae-footer .consent-settings{color:#d1e4d6;border-color:#799787}
body footer.ae-footer a:hover{color:#e2efb4}
body.ae #servizi{background:radial-gradient(ellipse at 8% 44%,#e5eedc,transparent 50%),radial-gradient(ellipse at 98% 12%,#faf0bf,transparent 48%),#f7f9f3}
body.ae .svc-grid--glass .svc-card{position:relative;isolation:isolate;background:linear-gradient(145deg,#ffffffef,#ffffff9c);border-color:#ffffff;box-shadow:inset 0 1px 0 #fff,0 2px 5px #29463506,0 16px 34px #2946350c;backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}
.svc-grid--glass .svc-card::after{content:'';position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff70;background:radial-gradient(ellipse at var(--svc-shine-x,25%) var(--svc-shine-y,0%),#ffffff21,transparent 62%);opacity:.6;transition:opacity .35s}
body.ae .svc-grid--glass .svc-card:is(:hover,:focus-within,.is-active){border-color:#b9d9b8;box-shadow:inset 0 1px 0 #fff,0 22px 40px #2946351c}
.svc-grid--glass .svc-card:is(:hover,:focus-within)::after{opacity:1}
.svc-grid--glass .svc-stage{height:264px}
.svc-grid--glass .svc-copy{padding:24px}
.svc-grid--glass .svc-copy>p:not(.svc-category){min-height:80px;margin-bottom:18px}
.svc-grid--glass .svc-actions{display:flex}
.svc-grid--glass .svc-actions a{min-height:46px}
body.ae .svc-grid--glass .svc-toggle{position:absolute;right:16px;bottom:16px;z-index:4;width:46px;height:46px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid #ffffffdd;background:linear-gradient(135deg,#ffffffea,#ffffffa6);color:#174f37;box-shadow:inset 0 1px 0 #fff,0 6px 18px #102c2a30;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);cursor:pointer;transition:transform .25s,box-shadow .25s}
.svc-grid--glass .svc-toggle:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 10px 20px #102c2a38}
.svc-grid--glass .svc-toggle:active{transform:scale(.94)}
.svc-grid--glass .svc-toggle:focus-visible{outline:3px solid #e8c945;outline-offset:3px}
.svc-play-icon{display:block;width:0;height:0;border-block:6px solid transparent;border-left:9px solid currentColor;margin-left:3px}
.svc-toggle[aria-expanded=true] .svc-play-icon{width:10px;height:13px;border:0;border-inline:3px solid currentColor;margin-left:0}
.svc-grid--glass .svc-badge{background:linear-gradient(140deg,#ffffffed,#ffffffac);box-shadow:inset 0 1px #ffffff,0 4px 12px #172e2410;-webkit-backdrop-filter:blur(12px)}
.svc-grid--glass .svc-hold{left:14px;bottom:21px;transform:none;font-size:9px;padding:8px 10px;max-width:calc(100% - 82px)}
body.ae .solar-page .solar-proof{background:#e0ebdf;border-color:#bfcebb}
body.ae .solar-page .solar-decisions{background:linear-gradient(160deg,#fffef9 25%,#f4f5ec)}
body.ae .solar-page .solar-bonus{background:radial-gradient(ellipse at 85% 25%,#f1d66866,transparent 55%),linear-gradient(125deg,#faf1d4,#f2e4b7);border-block:1px solid #dfcd92}
body.ae .solar-page .solar-contact{background:radial-gradient(ellipse at 10% 0%,#eff5d7,transparent 48%),linear-gradient(125deg,#deeddb,#b9d8c5);border-block:1px solid #afcbb6}
body.ae .solar-page .solar-options{background:linear-gradient(180deg,#fffefa,#f5f3ec)}
body.ae .solar-page .solar-products article{background:linear-gradient(135deg,#ffffffef,#fafcf6);border-color:#ced8c7}
body.ae .solar-page .solar-toscana{background:radial-gradient(ellipse at 12% 90%,#c0d5bd,transparent 60%),linear-gradient(110deg,#e5eddc,#d6e4d8);border-block:1px solid #b9cfb5}
body.ae .solar-page .solar-extras{background:linear-gradient(130deg,#f3eee1,#f9f7ef)}
body.ae .solar-page #domande{background:#fffefa}
body.ae .solar-page .solar-last{background:radial-gradient(ellipse at 50% 100%,#eed45a66,transparent 65%),linear-gradient(115deg,#eef0cd,#e0edce);border-top:1px solid #d3deaf}
body.ae .ae-choice-link{background:linear-gradient(135deg,#ffffffee,#f1f7eaa6);box-shadow:inset 0 1px 0 #fff,0 5px 0 #ddedcf65,0 12px 25px #287f3410;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@media(max-width:1050px) and (min-width:761px){.svc-grid--glass .svc-stage{height:220px}.svc-grid--glass .svc-copy{padding:20px 18px}.svc-grid--glass .svc-copy>p:not(.svc-category){min-height:112px}}
@media(max-width:760px){.svc-grid--glass .svc-stage{height:272px}.svc-grid--glass .svc-copy{padding:23px}.svc-grid--glass .svc-copy h3{font-size:31px!important}.svc-grid--glass .svc-copy>p:not(.svc-category){min-height:0;margin-bottom:19px}.svc-grid--glass .svc-actions a{font-size:12px;padding-inline:14px}.svc-grid--glass .svc-card{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.svc-grid--glass .svc-toggle,.svc-grid--glass .svc-card::after{transition:none!important;transform:none!important}}
