/* Stile base delle landing Edison.
   Estratto da resources/views/landings/edison.blade.php per le landing
   convertite al Visual Builder: il builder NON tocca questo file, quindi il layout
   non puo' essere rotto da un salvataggio. Le regole aggiunte dal builder
   finiscono in landings.custom_css. */
        :root{
            --green: #4F9E30;
            --green-dark: #3f8226;
            --blue: #103ffa;
            --ink:#141b22;
            --muted:#5b6572;
            --line:#e2e6ea;
            --bg:#f1f4f6;
        }
        *{box-sizing:border-box;}
        html,body{margin:0;padding:0;}
        body{
            font-family:'Helvetica Neue',Arial,'Segoe UI',sans-serif;
            color:var(--ink);
            background:var(--bg);
            line-height:1.45;
            -webkit-font-smoothing:antialiased;
        }
        img{max-width:100%;height:auto;display:block;}
        .display{font-family:'Arial Black','Helvetica Neue',Arial,sans-serif;font-weight:900;letter-spacing:-.01em;}

        /* ===== HEADER VERDE ===== */
        .ed-header{background:var(--green);width:100%;}
        .ed-header-inner{max-width:1120px;margin:0 auto;padding:22px 26px;display:flex;align-items:center;}
        .ed-header img{height:52px;width:auto;}

        /* ===== CONTENITORE / LAYOUT ===== */
        .ed-main{max-width:1120px;margin:0 auto;padding:30px 26px 56px;}

        /* Layout a flusso: l'ordine nel DOM E' l'ordine a video, cosi' gli
           elementi si possono trascinare nel Visual Builder. (La versione
           precedente usava grid-template-areas: ogni elemento aveva una
           posizione fissata dal CSS e spostarlo nell'editor non aveva effetto.)
           L'unica eccezione e' la colonna del form, portata in cima su mobile
           per tenerla nel primo scroll. */
        .ed-layout > * + *{margin-top:22px;}

        .ed-cols{display:flex;flex-direction:column;gap:22px;}
        .ed-col-main, .ed-col-form{min-width:0;}
        .ed-col-main > * + *{margin-top:22px;}

        @media (max-width:859px){
            .ed-col-form{order:-1;}
        }
        @media (min-width:860px){
            .ed-cols{flex-direction:row;align-items:flex-start;gap:44px;}
            .ed-col-main{flex:1.08 1 0;}
            .ed-col-form{flex:.92 1 0;}
        }

        .ed-eyebrow{
            display:block;width:fit-content;background:var(--green);color:#fff;
            font-size:1.35rem;line-height:1.1;padding:8px 18px;margin:0;
        }
        @media (min-width:768px){ .ed-eyebrow{font-size:1.75rem;padding:10px 22px;} }

        .ed-hero{
            font-size:1.55rem;line-height:1.14;color:var(--ink);margin:0;
        }
        @media (min-width:768px){ .ed-hero{font-size:2.25rem;} }
        .ed-hero .hl,.ed-hero b{color:var(--green);}
        .ed-hero sup{font-size:.45em;font-weight:700;vertical-align:super;line-height:0;}

        /* ===== BARRA VERDE (form title) ===== */
        .ed-bar{
            display:block;background:var(--green);color:#fff;
            font-size:1.1rem;line-height:1.2;padding:15px 22px;margin:0;
        }
        @media (min-width:768px){ .ed-bar{font-size:1.4rem;} }

        .ed-visual{display:flex;flex-direction:column;gap:18px;align-items:flex-start;margin-top:4px;}
        .ed-visual img{margin:0;}
        .ed-after-form{font-size:1.02rem;font-weight:700;color:var(--ink);line-height:1.4;}
        .ed-after-form p{margin:.4rem 0;}
        .ed-after-form .lead{color:var(--green);font-size:1.15rem;}

        /* ===== CARD FORM VERDE ===== */
        .ed-card{background:var(--green);border-radius:18px;padding:24px 22px;box-shadow:0 16px 40px -14px rgba(63,130,38,.55);}
        @media (min-width:768px){ .ed-card{padding:30px 28px;} }
        .ed-form-note{font-size:.78rem;color:rgba(255,255,255,.85);text-align:right;margin:0 0 12px;}

        /* Variante con la nota "(*) Obbligatorio" DENTRO il form, subito sopra
           il flag consensi: il markup del form e' generato da FormBuilderService,
           quindi la nota si aggiunge come pseudo-elemento della privacy section. */
        .ed-card.ed-note-inline .dynamic-form .form-privacy-section::before{
            content:"(*) Obbligatorio";display:block;text-align:right;
            font-size:.78rem;color:rgba(255,255,255,.85);margin:0 0 10px;
        }

        /* dynamic-form dentro card verde */
        .ed-card .dynamic-form .form-label{
            position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
            clip:rect(0,0,0,0);white-space:nowrap;border:0;   /* sr-only: label solo per screen reader */
        }
        .ed-card .dynamic-form .form-fields-container{gap:0 14px;}
        .ed-card .dynamic-form .form-field{margin-bottom:12px;}
        .ed-card .dynamic-form .form-control{
            width:100%;padding:14px 16px;font-size:1rem;font-family:inherit;
            border:0;border-radius:10px;background:rgba(255,255,255,.92);color:#1a1a1a;
            box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);
        }
        .ed-card .dynamic-form .form-control::placeholder{color:#5b6572;}
        .ed-card .dynamic-form .form-control:focus{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.55);}
        .ed-card .dynamic-form .form-control.is-invalid{box-shadow:0 0 0 2px #ffd5d5;}
        .ed-card .dynamic-form .invalid-feedback{color:#fff5f5;font-size:.8rem;margin-top:4px;font-weight:600;}

        .ed-card .dynamic-form .form-privacy-section{margin:6px 0 4px;}
        .ed-card .dynamic-form .form-privacy-section .form-check{
            display:flex;gap:9px;align-items:flex-start;font-size:.74rem;color:#fff;line-height:1.45;
        }
        .ed-card .dynamic-form .form-privacy-section .form-check-input{
            margin-top:3px;width:17px;height:17px;flex:0 0 17px;accent-color:#fff;
        }
        .ed-card .dynamic-form .form-privacy-section a{color:#fff;font-weight:700;text-decoration:underline;}

        .ed-card .dynamic-form .btn-submit{
            width:100%;border:0;border-radius:999px;padding:17px 22px;margin-top:6px;
            font-size:1.05rem;font-weight:900;letter-spacing:.3px;text-transform:uppercase;
            color:var(--ink);background:#fff;cursor:pointer;font-family:'Arial Black',Arial,sans-serif;
            transition:transform .05s ease, box-shadow .15s ease;box-shadow:0 6px 16px rgba(0,0,0,.15);
        }
        .ed-card .dynamic-form .btn-submit:hover{box-shadow:0 8px 22px rgba(0,0,0,.22);}
        .ed-card .dynamic-form .btn-submit:active{transform:translateY(1px);}
        .ed-card .dynamic-form .btn-submit:disabled{opacity:.75;cursor:not-allowed;}
        .ed-card .alert-success{
            background:rgba(255,255,255,.95);border:0;color:var(--green-dark);
            padding:18px;border-radius:12px;text-align:center;font-weight:700;
        }

        /* ===== FOOTER ===== */
        .ed-footer{
            max-width:1120px;margin:0 auto;padding:0 26px 50px;
            font-size:.72rem;line-height:1.55;color:var(--muted);
        }
        .ed-footer a{color:var(--blue);text-decoration:none;}
        .ed-footer p{margin:.6rem 0;}
        .ed-footer .disclaimer{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
        /* Note a pie' di pagina sopra la ragione sociale: il filetto di
           separazione passa dalla disclaimer al paragrafo che la segue. */
        .ed-footer .disclaimer:first-child{margin-top:0;padding-top:0;border-top:0;}
        .ed-footer .disclaimer + p{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}

        /* ===== BANNER PROMO (UEFA Champions League / Prime) =====
           Sta dentro .ed-main ma FUORI da .ed-layout: non tocca le grid-area
           del layout originale e non ri-applica il padding del contenitore. */
        .ed-promo{margin:0 0 24px;}
        /* banner spostato in fondo (sotto il form): il margine va sopra */
        .ed-main > .ed-promo:last-child{margin:30px 0 0;}
        .ed-promo picture{display:block;}
        .ed-promo img{width:100%;height:auto;border-radius:14px;margin:0 auto;}
        @media (max-width:859px){
            .ed-promo img{max-width:360px;}
        }
