/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.5.1.1791191219
Updated: 2026-10-05 11:06:59

*/

/* ===== WEBSOLAR one page – CSS per Elementor (tutto sotto .ws) =====
   Colori e font leggono i Globali di Elementor (Impostazioni sito):
   Primario  = #55DD33 verde Websolar   | Secondario = #0B1F2A blu notte
   Testo     = #0B1F2A                  | Accento    = #1F6E10 verde scuro (testi verdi su chiaro)
   Font Primario = Sora (titoli)        | Font Testo = Manrope
   I valori dopo la virgola sono il fallback se i globali non sono impostati. */
.ws{--green:var(--e-global-color-primary,#55DD33);--green-ink:var(--e-global-color-accent,#1F6E10);--night:var(--e-global-color-secondary,#0B1F2A);--ink:var(--e-global-color-text,#0B1F2A);--f-head:var(--e-global-typography-primary-font-family,"Sora"),system-ui,sans-serif;--f-body:var(--e-global-typography-text-font-family,"Manrope"),system-ui,sans-serif;--night-2:#123444;--night-3:#1B4557;--paper:#F3F6F0;--muted:#4A5C66;--on-dark-muted:#A9BDC6;--line:#DCE4DD;--radius:22px;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.ws *{box-sizing:border-box}
.ws .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;gap:0;min-height:0}
.ws .elementor-widget:not(:last-child){margin-bottom:0;margin-block-end:0}
.ws .elementor-widget{width:100%}
.ws .elementor-widget .elementor-heading-title{font-family:var(--f-head);color:inherit;line-height:1.08;letter-spacing:-0.02em;margin:0;font-weight:700}
.ws .elementor-widget-text-editor{font-family:var(--f-body);color:inherit;font-size:inherit;line-height:1.6}
.ws .elementor-widget-text-editor p{margin:0 0 .8em}
.ws .elementor-widget-text-editor p:last-child{margin:0}
.ws a{color:inherit}
.ws img{max-width:100%;display:block}

.ws .wrap{width:100%;max-width:1240px;margin-left:auto;margin-right:auto;padding:0 24px}
.ws .dark{color:#fff}

/* eyebrow */
.ws .eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-body);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink);line-height:1.4}
.ws .eyebrow .elementor-heading-title::before{content:"";width:28px;height:2px;background:currentColor;flex:none}
.ws .dark .eyebrow .elementor-heading-title{color:var(--green)}

/* bottoni Elementor */
.ws .btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font-family:var(--f-body);font-weight:700;font-size:16px;line-height:1;transition:transform .2s ease,background .2s ease;border:2px solid transparent;box-shadow:none}
.ws .btn .elementor-button:hover{transform:translateY(-2px)}
.ws .btn .elementor-button-content-wrapper{gap:10px;align-items:center}
.ws .btn-green .elementor-button{background:var(--green);color:var(--night)}
.ws .btn-green .elementor-button:hover{background:#6BEA4B;color:var(--night)}
.ws .btn-ghost .elementor-button{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.ws .btn-ghost .elementor-button:hover{border-color:#fff;color:#fff}
.ws .btn .elementor-button svg{width:16px;height:16px;fill:currentColor}
.ws .hero-ctas .elementor-widget{width:auto}
/* bottoni HTML (header) */
.ws a.btn-html{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;background:var(--green);color:var(--night);transition:background .2s ease}
.ws a.btn-html:hover{background:#6BEA4B}

/* header */
.ws .site-header{position:sticky;top:0;z-index:50;background:rgba(11,31,42,.94);backdrop-filter:blur(10px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-bar .ws .site-header{top:32px}
.ws .nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.ws .logo{display:block;color:#fff;width:150px}
.ws .logo svg{width:100%;height:auto;display:block}
.ws .menu{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}
.ws .menu a{text-decoration:none;font-weight:600;font-size:15px;color:#DCE8EC}
.ws .menu a:hover{color:var(--green)}
.ws .mobile-menu{display:none}

/* hero */
.ws .hero{background:var(--night);position:relative;overflow:hidden}
.ws .hero::after{content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(85,221,51,.18);box-shadow:0 0 0 70px rgba(85,221,51,.04),0 0 0 140px rgba(85,221,51,.03);pointer-events:none}
.ws .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-top:88px;padding-bottom:110px;position:relative;z-index:1}
.ws .hero-copy{display:flex;flex-direction:column;gap:24px}
.ws .ws-h1 .elementor-heading-title{font-size:clamp(40px,5.4vw,72px)}
.ws .ws-h1 .elementor-heading-title em{font-style:normal;color:var(--green)}
.ws .lead{font-size:clamp(17px,1.5vw,20px);color:var(--on-dark-muted);max-width:560px}
.ws .hero-ctas{display:flex;flex-direction:row;flex-wrap:wrap;gap:14px;margin-top:12px}
.ws .hero-media{position:relative;background:var(--night-2);border-radius:28px}
.ws .hero-media img{width:100%;aspect-ratio:4/4.6;object-fit:cover;border-radius:28px;height:auto}
.ws .chip{position:absolute !important;top:28px;right:28px;width:auto !important;z-index:2}
.ws .chip-in{display:flex;align-items:center;gap:10px;background:rgba(11,31,42,.82);backdrop-filter:blur(6px);padding:10px 16px;border-radius:999px;font-size:14px;font-weight:600;color:#fff}
.ws .chip-in i{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(85,221,51,.25)}
.ws .stat-card{position:absolute !important;left:-36px;bottom:36px;width:auto !important;max-width:250px;z-index:2;background:var(--green);color:var(--night);padding:22px 26px;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.ws .stat-card strong{display:block;font-family:var(--f-head);font-size:44px;line-height:1;letter-spacing:-0.03em}
.ws .stat-card span{display:block;font-size:14px;font-weight:600;margin-top:8px;line-height:1.4}

/* manifesto */
.ws .manifesto{padding-top:110px;padding-bottom:40px}
.ws .manifesto .wrap{display:flex;flex-direction:column;gap:22px}
.ws .quote .elementor-heading-title{font-weight:600;font-size:clamp(28px,3.6vw,48px);line-height:1.18;max-width:1050px}
.ws .quote mark{background:linear-gradient(transparent 62%,rgba(85,221,51,.55) 62%);color:inherit;padding:0 4px}

/* sezioni generiche */
.ws .section{padding-top:100px;padding-bottom:100px}
.ws .section-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:56px}
.ws .head-col{display:flex;flex-direction:column;gap:16px}
.ws .ws-h2 .elementor-heading-title{font-size:clamp(32px,3.8vw,52px)}
.ws .head-text{color:var(--muted);font-size:18px}
.ws .dark .head-text{color:var(--on-dark-muted)}

/* pilastri */
.ws .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ws .pillar{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;display:flex;flex-direction:column;gap:10px}
.ws .ico{margin-bottom:16px;width:auto}
.ws .ico .elementor-icon-wrapper{text-align:left;line-height:0}
.ws .ico .elementor-icon{width:56px;height:56px;border-radius:16px;background:var(--night);color:var(--green);fill:var(--green);display:inline-grid;place-items:center;font-size:24px}
.ws .ico .elementor-icon svg{width:24px;height:24px;fill:var(--green)}
.ws .ico .elementor-icon i{color:var(--green)}
.ws .ws-h3 .elementor-heading-title{font-size:22px}
.ws .muted{color:var(--muted)}

/* soluzioni */
.ws .solutions{background:var(--night);border-radius:40px;margin-left:16px;margin-right:16px;width:auto}
.ws .sol-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}
.ws .sol-feature{border-radius:var(--radius);overflow:hidden;position:relative;min-height:520px;background:var(--night-2)}
.ws .sol-feature .feat-img{position:absolute !important;inset:0;height:100%}
.ws .sol-feature .feat-img img{width:100%;height:100%;object-fit:cover}
.ws .sol-feature .over{position:absolute;left:0;right:0;bottom:0;padding:32px;background:linear-gradient(transparent,rgba(11,31,42,.95));display:flex;flex-direction:column;gap:10px;z-index:1}
.ws .over .ws-h3 .elementor-heading-title{font-size:28px}
.ws .over .elementor-widget-text-editor{color:#D6E2E7}
.ws .sol-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ws .sol{background:var(--night-2);border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:8px;transition:background .2s ease,border-color .2s ease}
.ws .sol:hover{background:var(--night-3);border-color:rgba(85,221,51,.45)}
.ws .sol-n .elementor-heading-title{font-size:13px;font-weight:600;color:var(--green);letter-spacing:.08em}
.ws .sol .ws-h3 .elementor-heading-title{font-size:18px;line-height:1.25}
.ws .sol .elementor-widget-text-editor{font-size:15px;color:var(--on-dark-muted);line-height:1.5}

/* caso */
.ws .case-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ws .case-media{position:relative;background:var(--night-2);border-radius:28px}
.ws .case-media img{border-radius:28px;width:100%;aspect-ratio:5/4;object-fit:cover;height:auto}
.ws .case-badge{position:absolute !important;right:-20px;top:-20px;width:150px !important;height:150px;z-index:2}
.ws .case-badge-in{width:150px;height:150px;border-radius:50%;background:var(--night);color:#fff;display:grid;place-items:center;text-align:center;padding:18px}
.ws .case-badge-in strong{display:block;font-family:var(--f-head);font-size:36px;color:var(--green);line-height:1}
.ws .case-badge-in span{font-size:12px;font-weight:600;line-height:1.3;color:#D6E2E7}
.ws .case-copy{display:flex;flex-direction:column;gap:18px}
.ws .case-copy .head-text{margin-bottom:18px}
.ws .steps{display:flex;flex-direction:column}
.ws .step{display:grid;grid-template-columns:56px 1fr;gap:20px;padding-top:22px;padding-bottom:22px;border-top:1px solid var(--line)}
.ws .step:last-child{border-bottom:1px solid var(--line)}
.ws .dot{width:56px}
.ws .dot .elementor-heading-title{width:56px;height:56px;border-radius:50%;border:2px solid var(--night);display:grid;place-items:center;font-size:17px;letter-spacing:0}
.ws .step.on .dot .elementor-heading-title{background:var(--green);border-color:var(--green)}
.ws .step-body{display:flex;flex-direction:column;gap:6px;padding-top:4px}
.ws .step .ws-h3 .elementor-heading-title{font-size:20px}
.ws .step .elementor-widget-text-editor{font-size:16px;color:var(--muted)}

/* video */
.ws .video{background:linear-gradient(180deg,var(--paper) 0 30%,var(--night) 30% 100%);padding-top:40px;padding-bottom:110px}
.ws .video-frame{border-radius:30px;overflow:hidden;box-shadow:0 40px 90px rgba(11,31,42,.35);background:#000}
.ws .video-frame .elementor-wrapper{border-radius:30px;overflow:hidden}
.ws .video-caption{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;color:#fff;margin-top:48px}
.ws .video-caption .elementor-widget{width:auto}
.ws .video-caption .ws-h2 .elementor-heading-title{font-size:clamp(28px,3.2vw,44px);max-width:640px}
.ws .video-caption .elementor-widget-text-editor{color:var(--on-dark-muted);max-width:420px}

/* formula */
.ws .formula{background:var(--night);padding-top:20px;padding-bottom:120px}
.ws .formula .eyebrow{margin-bottom:28px}
.ws .formula-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:24px;text-align:center;border-top:1px solid rgba(255,255,255,.12);padding-top:72px}
.ws .w{display:flex;flex-direction:column;gap:10px;align-items:center}
.ws .w .elementor-heading-title{font-size:clamp(26px,3.4vw,46px)}
.ws .w.hl .elementor-heading-title{color:var(--green)}
.ws .w .elementor-widget-text-editor{font-size:15px;color:var(--on-dark-muted)}
.ws .plus{width:52px}
.ws .plus .elementor-heading-title{width:52px;height:52px;border-radius:50%;background:var(--green);color:var(--night);display:grid;place-items:center;font-size:28px}

/* contatti */
.ws .contact{padding-top:110px;padding-bottom:110px}
.ws .contact-card{display:grid;grid-template-columns:1fr 1fr;border-radius:36px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.ws .contact-info{padding:56px;display:flex;flex-direction:column;gap:24px}
.ws .contact-info .ws-h2 .elementor-heading-title{font-size:clamp(32px,3.6vw,48px)}
.ws .info-list .elementor-icon-list-item{align-items:flex-start;padding-bottom:12px}
.ws .info-list .elementor-icon-list-icon{color:var(--green-ink);padding-top:3px}
.ws .info-list .elementor-icon-list-icon svg{fill:var(--green-ink);width:18px;height:18px}
.ws .info-list .elementor-icon-list-icon i{color:var(--green-ink);font-size:18px}
.ws .info-list .elementor-icon-list-text{color:var(--night);font-weight:600;font-size:17px;padding-left:10px}
.ws .info-list a:hover .elementor-icon-list-text{color:var(--green-ink)}
.ws .contact-form{background:var(--night);color:#fff;padding:56px;display:flex;flex-direction:column;gap:16px}
.ws .contact-form .ws-h3 .elementor-heading-title{font-size:24px}
.ws .contact-form .elementor-field-group{margin-bottom:14px}
.ws .contact-form .elementor-field-label{color:#D6E2E7;font-size:14px;font-weight:600;font-family:var(--f-body);margin-bottom:6px}
.ws .contact-form .elementor-field-group .elementor-field-textual{font-family:var(--f-body);font-size:16px;color:#fff;background:var(--night-2);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px;min-height:52px}
.ws .contact-form .elementor-field-group textarea.elementor-field-textual{min-height:130px}
.ws .contact-form .elementor-field-textual:focus{outline:2px solid var(--green);outline-offset:1px;border-color:transparent;box-shadow:none}
.ws .contact-form .elementor-field-type-acceptance label,.ws .contact-form .elementor-field-option label{color:#D6E2E7;font-size:14px}
.ws .contact-form .elementor-field-option a{color:var(--green)}
.ws .contact-form .elementor-button{background:var(--green);color:var(--night);border-radius:999px;min-height:52px;font-family:var(--f-body);font-weight:700;font-size:16px;border:0}
.ws .contact-form .elementor-button:hover{background:#6BEA4B;color:var(--night)}
.ws .contact-form .elementor-message{color:#fff}

/* footer */
.ws .site-footer{background:var(--night);color:var(--on-dark-muted);padding:56px 0 40px;font-size:14px}
.ws .foot{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:center}
.ws .foot .logo{width:170px}
.ws .foot a{text-decoration:none}
.ws .foot a:hover{color:var(--green)}
.ws .foot-legal{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ws .credits{font-size:12px;opacity:.8}

/* responsive */
@media (max-width:1024px){
  .ws .hero-grid,.ws .case-grid,.ws .sol-layout,.ws .section-head,.ws .contact-card{grid-template-columns:1fr}
  .ws .hero-grid{padding-top:56px;padding-bottom:80px;gap:44px}
  .ws .stat-card{left:16px;bottom:16px}
  .ws .pillars{grid-template-columns:1fr}
  .ws .sol-feature{min-height:380px}
  .ws .case-badge{right:12px;top:12px;width:120px !important;height:120px}
  .ws .case-badge-in{width:120px;height:120px}
  .ws .case-badge-in strong{font-size:28px}
  .ws .formula-row{grid-template-columns:1fr;gap:18px}
  .ws .plus{margin:0 auto}
}
@media (max-width:860px){
  .ws .menu,.ws .nav > .btn-html{display:none}
  .ws .mobile-menu{display:block;position:relative}
  .ws .mobile-menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:1px solid rgba(255,255,255,.2)}
  .ws .mobile-menu summary::-webkit-details-marker{display:none}
  .ws .mobile-menu ul{position:absolute;right:0;top:56px;background:var(--night);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:12px;list-style:none;margin:0;min-width:220px;display:grid;gap:2px}
  .ws .mobile-menu a{display:block;padding:12px 14px;border-radius:10px;text-decoration:none;font-weight:600;color:#fff}
  .ws .mobile-menu a:hover{background:var(--night-2);color:var(--green)}
}
@media (max-width:767px){
  .ws{font-size:16px}
  .ws .wrap{padding:0 16px}
  .admin-bar .ws .site-header{top:0}
  .ws .section,.ws .contact{padding-top:72px;padding-bottom:72px}
  .ws .manifesto{padding-top:72px;padding-bottom:24px}
  .ws .solutions{margin-left:8px;margin-right:8px;border-radius:28px}
  .ws .sol-grid{grid-template-columns:1fr}
  .ws .contact-info,.ws .contact-form{padding:32px 24px}
  .ws .hero-media img{aspect-ratio:4/4}
  .ws .stat-card strong{font-size:36px}
  .ws .video-frame,.ws .video-frame .elementor-wrapper{border-radius:18px}
}
.ws .sol-feature .feat-img .elementor-widget-container{height:100%}


