/* ==========================================================================
   Solarmon.it — foglio di stile condiviso
   Ricostruzione statica del sito solarmon.eu (versione italiana)
   Identità: blu + giallo/oro, intestazioni in maiuscoletto blu.
   ========================================================================== */

:root{
  --blue:        #1c75bc;
  --blue-dark:   #12578f;
  --blue-nav1:   #2f8bd0;
  --blue-nav2:   #145f9f;
  --yellow:      #ffcb05;
  --yellow-ban:  #ffd200;
  --gold:        #f0a200;
  --ink:         #454b4f;
  --slogan:      #6b7c88;
  --muted:       #7a828a;
  --bg:          #ffffff;
  --bg-soft:     #eef4f9;
  --line:        #dfe6ec;
  --dark-box:    rgba(24,46,66,.58);
  --maxw:        1200px;
  --radius:      5px;
  --shadow:      0 3px 14px rgba(20,50,80,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Titillium Web","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);font-size:16px;line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* maiuscoletto blu per intestazioni/nav (stile originale) */
h1,h2,h3,h4,.smallcaps{
  font-family:"PT Serif",Georgia,"Times New Roman",serif;
  font-variant:small-caps;letter-spacing:.02em;color:var(--blue);
  line-height:1.2;margin:0 0 .5em;font-weight:700;
}

/* ---------- top navigation (blu) ---------- */
.topnav{background:linear-gradient(180deg,var(--blue-nav1),var(--blue-nav2));box-shadow:0 2px 6px rgba(0,0,0,.15);position:relative;z-index:30}
.topnav .wrap{display:flex;align-items:stretch;gap:0;flex-wrap:wrap}
.topnav ul{margin:0;padding:0;list-style:none}
.topnav > .wrap > ul{display:flex;flex-wrap:wrap}
.topnav li{position:relative}
.topnav > .wrap > ul > li > a{
  color:#fff;font-family:"PT Serif",Georgia,serif;font-variant:small-caps;
  font-weight:700;letter-spacing:.03em;font-size:1.06rem;
  padding:16px 26px;display:flex;align-items:center;gap:8px;
}
.topnav a:hover{background:rgba(255,255,255,.14);text-decoration:none}
.topnav .home-ico{font-size:1.2rem;line-height:1}
.has-sub > a::after{content:"\25be";margin-left:8px;font-size:.7em;opacity:.9}
.subnav{position:absolute;top:100%;left:0;min-width:270px;background:#fff;box-shadow:var(--shadow);border-top:3px solid var(--yellow);margin:0;padding:6px 0;display:none;z-index:40}
.has-sub.open > .subnav{display:block}
@media (hover:hover){.has-sub:hover > .subnav{display:block}}
.subnav li{display:block}
.subnav a{color:var(--ink);font-family:inherit;font-variant:normal;letter-spacing:0;
  font-weight:500;font-size:.95rem;padding:10px 20px;display:block}
.subnav a:hover{background:var(--bg-soft);color:var(--blue)}

/* ---------- hero ---------- */
.hero{
  position:relative;color:#fff;
  /* segnaposto fotografico: cielo azzurro -> prato verde.
     Sostituire con la foto originale del prato con i pannelli. */
  background:
    radial-gradient(120% 90% at 78% 12%,rgba(255,255,255,.55),rgba(255,255,255,0) 42%),
    linear-gradient(180deg,#8fcdf1 0%,#bfe0f4 34%,#d7ecc4 58%,#9ec95a 78%,#7cb43e 100%);
  min-height:520px;
}
.hero .wrap{position:relative;padding:26px 22px 40px;min-height:520px}
.hero-lang{position:absolute;top:16px;right:22px;display:flex;flex-direction:column;gap:2px;z-index:6;text-align:center}
.hero-lang a{color:#12456b;font-weight:700;text-transform:uppercase;font-size:.8rem;padding:3px 9px;border-radius:3px;background:rgba(255,255,255,.55)}
.hero-lang a.active{background:var(--yellow);color:#3a2c00}
.hero-lang a:hover{text-decoration:none;background:#fff}

.hero-grid{display:grid;grid-template-columns:1fr 360px;gap:30px;align-items:start;padding-top:8px}
.hero-brand img.logo{width:300px;max-width:78%;filter:drop-shadow(0 2px 6px rgba(0,0,0,.15))}
.iso-badge{display:inline-flex;align-items:center;gap:8px;background:var(--yellow);color:#3a2c00;
  font-weight:700;font-size:.9rem;border-radius:22px;padding:6px 16px;margin:16px 0 22px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.iso-badge .chk{display:inline-flex;width:18px;height:18px;border-radius:50%;background:#3aa93a;color:#fff;align-items:center;justify-content:center;font-size:.7rem}

.fve-box{background:var(--dark-box);backdrop-filter:blur(1px);border-radius:6px;padding:16px 20px;max-width:520px}
.fve-box .fve-title{font-family:"PT Serif",Georgia,serif;font-variant:small-caps;color:#fff;
  font-size:1.35rem;font-weight:700;letter-spacing:.02em;margin:0 0 12px}
.fve-box .fve-title b{color:var(--yellow)}
.fve-icons{display:flex;gap:18px;flex-wrap:wrap}
.fve-icons a{display:block}
.fve-icons img{height:44px;width:auto;filter:brightness(0) invert(1)}
.fve-icons a:hover img{filter:none;opacity:1}

/* hero info panel (carosello) */
.hero-panel{background:rgba(255,255,255,.92);border-radius:6px;box-shadow:0 6px 22px rgba(0,0,0,.18);padding:22px 24px;min-height:250px;position:relative}
.hero-panel .slide{display:none}
.hero-panel .slide.on{display:block}
.hero-panel h3{font-size:1.35rem;margin-bottom:.6em}
.hero-panel ul{margin:0;padding:0;list-style:none}
.hero-panel li{padding:5px 0 5px 20px;position:relative;font-size:.95rem;color:var(--ink);
  font-family:"Titillium Web",Arial,sans-serif}
.hero-panel li::before{content:"\25b8";color:var(--gold);position:absolute;left:0;top:5px}
.hero-panel .p-img{margin-top:10px}
.hero-panel .p-more{display:inline-block;margin-top:10px;color:var(--gold);font-weight:600;
  font-family:"Titillium Web",Arial,sans-serif}
.dots{display:flex;gap:7px;justify-content:center;margin-top:16px}
.dots button{width:10px;height:10px;border-radius:50%;border:none;background:#c7d2da;cursor:pointer;padding:0}
.dots button.on{background:var(--blue)}

.scrivici{position:absolute;right:0;top:300px;background:linear-gradient(180deg,var(--blue-nav1),var(--blue-nav2));
  color:#fff;writing-mode:vertical-rl;text-orientation:mixed;padding:16px 10px;border-radius:6px 0 0 6px;
  font-weight:600;box-shadow:var(--shadow);z-index:6}
.scrivici:hover{text-decoration:none;filter:brightness(1.08)}
@media (max-width:760px){.scrivici{display:none}}

/* ---------- slogans strip ---------- */
.slogans{background:#fff;border-bottom:1px solid var(--line)}
.slogans .wrap{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;
  padding:26px 22px}
.slogans span{font-family:"PT Serif",Georgia,serif;color:var(--slogan);font-size:1.7rem;font-weight:400}
.slogans .sep{color:var(--yellow);font-size:2rem;font-weight:700}
@media (max-width:760px){.slogans span{font-size:1.25rem}.slogans .sep{display:none}}

/* ---------- promo banner ---------- */
.banner{background:var(--bg-soft);padding:30px 0}
.banner .frame{max-width:1000px;margin:0 auto;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);position:relative}
.banner .slide{display:none}
.banner .slide.on{display:block}
.banner img{width:100%;height:auto;display:block}

/* ---------- intro + news ---------- */
.section{padding:44px 0}
.intro h1{font-size:2.2rem;margin-bottom:.35em}
.intro p{margin:0 0 1em;font-family:"Titillium Web",Arial,sans-serif}
.intro strong{color:var(--blue-dark)}

.news{margin-top:8px;border-top:2px solid var(--line);padding-top:26px}
.news h2{font-size:1.6rem;margin-bottom:.7em}
.news-item{padding:16px 0;border-bottom:1px solid var(--line)}
.news-item h3{font-size:1.12rem;margin-bottom:.35em;display:flex;flex-wrap:wrap;gap:10px;
  align-items:baseline;justify-content:space-between}
.news-item .date{font-size:.8rem;color:var(--muted);font-weight:600;white-space:nowrap;
  font-family:"Titillium Web",Arial,sans-serif;font-variant:normal}
.news-item p{margin:0;font-size:.95rem;color:#4d545a;font-family:"Titillium Web",Arial,sans-serif}
.news-item .more{color:var(--gold);font-weight:600}

/* ---------- generic content pages ---------- */
.breadcrumb{font-size:.85rem;color:var(--muted);padding:14px 0 0;font-family:"Titillium Web",Arial,sans-serif}
.breadcrumb a{color:var(--muted)}
.page-body{padding:34px 0 50px}
.page-body h1{font-size:2.2rem;margin-bottom:.5em}
.page-body h2{font-size:1.45rem;margin:1.5em 0 .5em}
.page-body p,.page-body li{font-family:"Titillium Web",Arial,sans-serif}
.page-body ul{padding-left:20px}
.page-body li{margin-bottom:6px}

/* ---------- footer ---------- */
.site-footer{background:linear-gradient(180deg,var(--blue),var(--blue-dark));color:#d8e8f5;margin-top:0}
.site-footer a{color:#d8e8f5}
.site-footer a:hover{color:#fff}
.footer-cols{display:grid;grid-template-columns:1.1fr 1.2fr 1fr 1.1fr;gap:30px;padding:42px 0}
@media (max-width:900px){.footer-cols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-cols{grid-template-columns:1fr}}
.site-footer h4{color:#fff;font-size:1.05rem;margin-bottom:.9em;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:.45em}
.site-footer ul{list-style:none;margin:0;padding:0;font-family:"Titillium Web",Arial,sans-serif}
.site-footer li{margin-bottom:8px;font-size:.93rem}
.site-footer .addr{font-size:.93rem;line-height:1.75;font-family:"Titillium Web",Arial,sans-serif}
.partners{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:4px}
.partners img{height:44px;width:auto;opacity:.95}
.foot-bar{background:var(--blue-dark);font-size:.82rem;color:#bcd6ec;font-family:"Titillium Web",Arial,sans-serif}
.foot-bar .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 22px}

@media (max-width:820px){
  .hero-grid{grid-template-columns:1fr}
  .hero-panel{max-width:520px}
}

/* ==== inner-page header band ==== */
.page-head{background:var(--bg-soft);border-bottom:3px solid var(--yellow)}
.page-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:16px 22px;flex-wrap:wrap}
.page-head .ph-brand{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.page-head .ph-brand img.logo{height:48px;width:auto}
.page-head .iso-badge{margin:0}
.ph-icons{display:flex;gap:6px;flex-wrap:wrap}
.ph-icons a{display:flex;flex-direction:column;align-items:center;gap:5px;width:88px;padding:9px 4px;
  border-radius:var(--radius);color:var(--blue-dark);font-size:.74rem;font-weight:700;text-align:center;
  background:#fff;border:1px solid var(--line);font-family:"Titillium Web",Arial,sans-serif}
.ph-icons a:hover{background:var(--blue);color:#fff;border-color:var(--blue);text-decoration:none}
.ph-icons a:hover img{filter:brightness(0) invert(1)}
.ph-icons img{height:34px;width:auto}
@media (max-width:700px){.ph-icons{display:none}}

/* ==== tables ==== */
.tbl-note{font-size:.82rem;color:#a06a00;background:#fff8e1;border:1px solid #ffe08a;
  border-radius:5px;padding:8px 12px;margin:0 0 12px;font-family:"Titillium Web",Arial,sans-serif}
table.data{width:100%;border-collapse:collapse;margin:0 0 22px;font-family:"Titillium Web",Arial,sans-serif;font-size:.92rem}
table.data th,table.data td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}
table.data thead th,table.data .thead{background:var(--blue);color:#fff;font-weight:700;font-variant:normal}
table.data tbody tr:nth-child(even){background:var(--bg-soft)}
table.data td .ok{color:#2f9e2f;font-weight:700}
table.data td .no{color:#b23b3b;font-weight:700}
.subhead td{background:#e5eef6 !important;font-weight:700;color:var(--blue-dark)}

/* ==== feature list ==== */
.features{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}
@media (max-width:640px){.features{grid-template-columns:1fr}}
.features li{padding:6px 0 6px 22px;position:relative;font-family:"Titillium Web",Arial,sans-serif}
.features li::before{content:"\25b8";color:var(--gold);position:absolute;left:0;top:6px}
.svc-figure{float:right;margin:0 0 16px 22px;max-width:150px}
@media (max-width:640px){.svc-figure{float:none;margin:0 auto 16px}}

/* ==== benefits / cards ==== */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin:20px 0}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 20px;box-shadow:var(--shadow)}
.card h3{font-size:1.1rem;margin-bottom:.4em}
.card p{margin:0;font-size:.92rem;color:#4d545a;font-family:"Titillium Web",Arial,sans-serif}
.highlight-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:18px 0}
.hl{background:var(--blue);color:#fff;border-radius:8px;padding:16px 18px;text-align:center}
.hl b{display:block;font-size:1.3rem;font-family:"PT Serif",Georgia,serif}
.hl span{font-size:.86rem;font-family:"Titillium Web",Arial,sans-serif;opacity:.95}

/* ==== technologies / partner logo grid ==== */
.logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:22px 0}
.logo-grid a,.logo-grid .cell{background:#fff;border:1px solid var(--line);border-radius:8px;
  display:flex;align-items:center;justify-content:center;padding:18px;min-height:96px}
.logo-grid img{max-height:56px;width:auto}

/* ==== damage gallery ==== */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:18px 0}
.gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.gallery img{width:100%;height:200px;object-fit:cover}
.gallery figcaption{padding:8px 12px;font-size:.85rem;color:#4d545a;font-family:"Titillium Web",Arial,sans-serif}

/* ==== estimate / calc box ==== */
.estimate{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:22px 24px;margin:22px 0}
.estimate .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:14px}
.estimate .stat b{display:block;font-size:1.5rem;color:var(--blue);font-family:"PT Serif",Georgia,serif}
.estimate .stat span{font-size:.85rem;color:var(--muted);font-family:"Titillium Web",Arial,sans-serif}

/* ==== article list ==== */
.articles{list-style:none;padding:0;margin:16px 0;font-family:"Titillium Web",Arial,sans-serif}
.articles li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.92rem}

/* ==== contact form / blocks ==== */
.form-grid{display:grid;grid-template-columns:1fr;gap:12px;max-width:560px;font-family:"Titillium Web",Arial,sans-serif}
.form-grid label{display:block;font-size:.88rem;font-weight:600;margin-bottom:4px;color:var(--blue-dark)}
.form-grid input,.form-grid textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:5px;font:inherit}
.form-note{font-size:.8rem;color:var(--muted);margin-top:4px}
.btn{display:inline-block;background:var(--blue);color:#fff;border:none;border-radius:6px;
  padding:11px 22px;font-weight:600;cursor:pointer;font-family:"Titillium Web",Arial,sans-serif}
.btn:hover{filter:brightness(1.08);text-decoration:none;color:#fff}
.contact-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin:16px 0}
.contact-block{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 20px;font-family:"Titillium Web",Arial,sans-serif}
.contact-block h3{font-size:1.1rem;margin-bottom:.5em}
.video-wrap{position:relative;padding-bottom:56.25%;height:0;margin:20px 0;border-radius:8px;overflow:hidden}
.video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

/* language switch on inner pages */
.ph-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.page-head .lang{display:flex;gap:5px}
.page-head .lang a{color:var(--blue-dark);font-weight:700;text-transform:uppercase;font-size:.78rem;
  padding:3px 9px;border-radius:4px;background:#fff;border:1px solid var(--line);
  font-family:"Titillium Web",Arial,sans-serif}
.page-head .lang a.active{background:var(--yellow);color:#3a2c00;border-color:var(--yellow)}
.page-head .lang a:hover{text-decoration:none;border-color:var(--blue)}

/* YouTube facade (click-to-play) */
.yt-facade{position:absolute;inset:0;background-size:cover;background-position:center;cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.yt-facade::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12)}
.yt-play{position:relative;width:70px;height:50px;background:#f00;border-radius:12px;opacity:.92;transition:opacity .15s,transform .15s}
.yt-facade:hover .yt-play{opacity:1;transform:scale(1.06)}
.yt-play::after{content:"";position:absolute;top:50%;left:52%;transform:translate(-50%,-50%);
  border-style:solid;border-width:11px 0 11px 19px;border-color:transparent transparent transparent #fff}

/* certificate download boxes */
.cert-downloads{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}
@media (max-width:640px){.cert-downloads{grid-template-columns:1fr}}
.cert-box{display:flex;align-items:center;gap:14px;background:var(--bg-soft);
  border-left:4px solid var(--yellow);border-radius:6px;padding:14px 16px}
.cert-box .file{width:46px;height:46px;flex:0 0 auto;background:var(--blue);border-radius:5px;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:.72rem;font-weight:700}
.cert-box .meta{flex:1;line-height:1.4}
.cert-box .meta strong{display:block;color:var(--blue-dark);font-family:"Titillium Web",Arial,sans-serif;font-size:.95rem}
.cert-box .meta span{font-size:.8rem;color:var(--muted);font-family:"Titillium Web",Arial,sans-serif}
.cert-box .btn{white-space:nowrap;padding:9px 16px;font-size:.9rem}

/* ==== promo banners built in HTML (translatable, sharp on retina) ==== */
.pbanner{position:relative;width:100%;aspect-ratio:1000/340;min-height:245px;background:#fff;overflow:hidden;
  font-family:"Titillium Web",Arial,sans-serif;color:#3a3a3a}
.pbanner .band-top{position:absolute;inset:0;background:var(--yellow-ban);
  clip-path:polygon(0 0,100% 0,100% 56%,0 62%)}
.pbanner .band-bot{position:absolute;inset:0;background:var(--yellow-ban);
  clip-path:polygon(0 98%,100% 92%,100% 100%,0 100%)}
.pbanner .inner{position:absolute;inset:0;padding:3.5% 5%;display:block;z-index:2}
.pbanner .b-title{font-family:"PT Serif",Georgia,serif;font-variant:small-caps;color:#3a3a3a;
  font-size:clamp(1rem,3.2vw,2.35rem);line-height:1.05;margin:0;max-width:70%;letter-spacing:.01em}
.pbanner .b-sub{margin:.5em 0 0;max-width:52%;font-size:clamp(.55rem,1.35vw,.95rem);
  font-variant:small-caps;letter-spacing:.03em;line-height:1.3}
.pbanner .b-list{list-style:none;margin:0;padding:0;max-width:60%;
  position:absolute;left:5%;bottom:12%;z-index:3}
.pbanner .b-list li{padding-left:1.7em;position:relative;margin-bottom:.4em;
  font-size:clamp(.55rem,1.3vw,.92rem);font-weight:600;letter-spacing:.02em;line-height:1.3}
.pbanner .b-list li::before{content:"";position:absolute;left:.2em;top:.3em;border-style:solid;
  border-width:.34em 0 .34em .55em;border-color:transparent transparent transparent var(--blue)}
/* price block */
.pbanner .b-price{position:absolute;right:0;top:22%;z-index:4;text-align:right}
.pbanner .p-new{padding-right:5%;font-size:clamp(.62rem,1.7vw,1.25rem);color:#3a3a3a;white-space:nowrap}
.pbanner .p-new b{font-size:1.2em;font-weight:700}
.pbanner .p-old{position:relative;display:inline-block;overflow:hidden;margin-top:.45em;background:var(--blue);color:#fff;
  padding:.42em 3em .42em 1.4em;font-size:clamp(.55rem,1.45vw,1.05rem);white-space:nowrap}
.pbanner .p-old::after{content:"";position:absolute;left:8%;right:8%;top:52%;height:2px;
  background:#e02b2b;transform:rotate(-6deg)}
/* artwork on the right */
.pbanner .b-art{position:absolute;right:5%;bottom:14%;width:15%;max-width:120px;height:auto;z-index:3}
.pbanner .b-art--wide{width:24%;max-width:215px;bottom:13%}
.banner .pbanner img{width:auto}
@media (max-width:560px){
  .pbanner .b-title{max-width:60%}
  .pbanner .b-list{max-width:60%}
  .pbanner .b-list li:nth-child(n+3){display:none}
}
