
/* AutoConnect AC16 - compact wide desktop + improved mobile.
   Functional mail/SMTP/storage logic unchanged. */

.ac7-modal,.ac7-wa,.ac7-quote,.ac7-form-shell,.ac7-embed-shell,.ac7-embed-card,.wpcf7-form{
    --ac7-primary:#245f46;
    --ac7-on-primary:#ffffff;
    --ac7-photo-image:none;
    --ac7-font:inherit;
    font-family:var(--ac7-font);
    box-sizing:border-box;
}
.ac7-modal *, .ac7-embed-shell *, .ac7-wa *, .ac7-quote *{box-sizing:border-box}
body.ac7-modal-open{overflow:hidden}
.ac7-kicker{
    display:inline-flex;
    align-items:center;
    padding:5px 9px;
    border-radius:7px;
    font-size:9px;
    line-height:1;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
}

/* shared form controls */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #d0d5dd!important;
    background:#fff!important;
    color:#101828;
    font:inherit;
    outline:none;
    box-shadow:none!important;
}
.wpcf7-not-valid-tip{margin-top:3px;color:#b42318;font-size:11px;font-weight:700}
.wpcf7-response-output{margin:12px 0 0!important;padding:10px 12px!important;border-radius:9px!important;font-size:12px!important;line-height:1.45!important}
.wpcf7 form.sent .wpcf7-response-output{border:1px solid #abefc6!important;background:#ecfdf3!important;color:#067647!important}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.payment-required .wpcf7-response-output{border:1px solid #fecdca!important;background:#fef3f2!important;color:#b42318!important}

/* ================= DESKTOP ================= */
@media(min-width:821px){

    .ac7-embed-shell{max-width:1220px;margin:34px auto}
    .ac7-embed-card{
        display:grid;
        grid-template-columns:31% 69%;
        overflow:hidden;
        min-height:430px;
        background:#fff;
        border:1px solid #e5e7eb;
        border-radius:20px;
        box-shadow:0 22px 60px rgba(15,23,42,.08);
    }
    .ac7-embed-head{
        position:relative;
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
        min-height:100%;
        padding:30px 28px;
        color:#fff;
        background:
            linear-gradient(180deg,rgba(12,18,26,.10),rgba(12,18,26,.80)),
            var(--ac7-photo-image),
            linear-gradient(145deg,var(--ac7-primary),#111827);
        background-size:cover;
        background-position:center;
        border:0;
    }
    .ac7-embed-head>*{position:relative;z-index:2}
    .ac7-embed-head .ac7-kicker{align-self:flex-start;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.14)}
    .ac7-embed-head h2{margin:9px 0 7px;color:#fff;font:inherit;font-size:34px;line-height:1.03;font-weight:800;letter-spacing:-.035em}
    .ac7-embed-head p{margin:0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.55}
    .ac7-embed-card>.ac7-form-shell{padding:28px 34px 30px;align-self:center}

    .ac7-modal{position:fixed!important;inset:0!important;z-index:2147483001!important;display:none!important;align-items:center;justify-content:center;padding:24px}
    .ac7-modal.is-open{display:flex!important}
    .ac7-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.66);backdrop-filter:blur(5px)}
    .ac7-panel{
        position:relative;
        width:min(1180px,100%);
        max-height:calc(100vh - 48px);
        overflow:auto;
        background:#fff;
        border-radius:20px;
        box-shadow:0 36px 100px rgba(0,0,0,.30);
    }
    .ac7-layout{
        display:grid;
        grid-template-columns:32% 68%;
        min-height:460px;
    }
    .ac7-info-panel{
        position:relative;
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
        padding:30px 28px;
        color:#fff;
        background:
            linear-gradient(180deg,rgba(12,18,26,.08),rgba(12,18,26,.82)),
            var(--ac7-photo-image),
            linear-gradient(145deg,var(--ac7-primary),#111827);
        background-size:cover;
        background-position:center;
    }
    .ac7-info-panel .ac7-kicker{align-self:flex-start;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.14)}
    .ac7-info-panel h2{margin:9px 0 7px;color:#fff;font:inherit;font-size:34px;line-height:1.03;font-weight:800;letter-spacing:-.035em}
    .ac7-info-panel>div>p{margin:0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.55}
    .ac7-info-list{display:none!important}

    .ac7-form-panel{padding:28px 34px 30px;background:#fff}
    .ac7-form-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
    .ac7-form-title h3{margin:0;color:#101828;font:inherit;font-size:22px;font-weight:800;letter-spacing:-.02em}
    .ac7-form-title p{max-width:330px;margin:0;color:#667085;font-size:11px;line-height:1.45;text-align:right}
    .ac7-form-panel .ac7-form-shell{padding:0}

    .ac-cf7-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
    .ac-cf7-grid label,.ac-cf7-message{display:flex;flex-direction:column;gap:5px;margin:0;color:#344054;font-size:10px;font-weight:800}
    .ac7-form-panel .ac-cf7-message,.ac7-embed-card .ac-cf7-message{margin-top:12px}

    .wpcf7 input[type="text"],
    .wpcf7 input[type="email"],
    .wpcf7 input[type="tel"],
    .wpcf7 input[type="date"],
    .wpcf7 input[type="number"],
    .wpcf7 select{
        min-height:46px;
        padding:11px 13px;
        border-radius:9px!important;
        font-size:13px;
    }
    .wpcf7 textarea{
        min-height:92px;
        padding:11px 13px;
        border-radius:9px!important;
        font-size:13px;
        resize:vertical;
    }
    .wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{
        border-color:var(--ac7-primary)!important;
        box-shadow:0 0 0 3px color-mix(in srgb,var(--ac7-primary) 9%,transparent)!important;
    }
    .wpcf7 input[type="submit"]{
        min-height:48px;
        margin-top:14px;
        padding:12px 24px;
        border:0;
        border-radius:9px;
        background:var(--ac7-primary);
        color:var(--ac7-on-primary);
        font:inherit;
        font-size:13px;
        font-weight:800;
        cursor:pointer;
        box-shadow:0 10px 22px color-mix(in srgb,var(--ac7-primary) 20%,transparent);
    }
    .ac7-close{
        position:absolute;
        top:14px;
        right:14px;
        z-index:10;
        width:38px;
        height:38px;
        border:1px solid #e4e7ec;
        border-radius:9px;
        background:#fff;
        color:#344054;
        font-size:22px;
        cursor:pointer;
        box-shadow:0 4px 12px rgba(16,24,40,.06);
    }

    .ac7-wa,.ac7-quote{
        position:fixed!important;
        z-index:2147483000!important;
        display:flex!important;
        align-items:center;
        gap:9px;
        min-height:50px;
        padding:6px 13px 6px 6px;
        border:0;
        border-radius:10px;
        text-decoration:none!important;
        font:inherit;
        font-size:11px;
        font-weight:800;
        cursor:pointer;
        box-shadow:0 14px 32px rgba(16,24,40,.18);
    }
    .ac7-right{right:18px!important;left:auto!important}
    .ac7-left{left:18px!important;right:auto!important}
    .ac7-wa{bottom:18px!important;background:#111827;color:#fff!important}
    .ac7-quote{bottom:76px!important;background:var(--ac7-primary);color:var(--ac7-on-primary)}
    .ac7-float-icon,.ac7-wa-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.12)}
    .ac7-wa-icon{background:#25d366;color:#fff}
}

/* ================= MOBILE ================= */
@media(max-width:820px){

    .ac7-embed-shell{margin:10px 0}
    .ac7-embed-card{overflow:hidden;background:#fff;border:1px solid #e8ebef;border-radius:16px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
    .ac7-embed-head{
        position:relative;
        min-height:135px;
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
        padding:17px 15px;
        color:#fff;
        background:
            linear-gradient(180deg,rgba(12,18,26,.05),rgba(12,18,26,.82)),
            var(--ac7-photo-image),
            linear-gradient(145deg,var(--ac7-primary),#111827);
        background-size:cover;
        background-position:center;
    }
    .ac7-embed-head>*{position:relative;z-index:2}
    .ac7-embed-head .ac7-kicker{align-self:flex-start;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.14)}
    .ac7-embed-head h2{margin:7px 0 4px;color:#fff;font:inherit;font-size:25px;line-height:1.03;font-weight:800;letter-spacing:-.03em}
    .ac7-embed-head p{margin:0;color:rgba(255,255,255,.78);font-size:11px;line-height:1.45}
    .ac7-embed-card>.ac7-form-shell{padding:11px;background:#f6f7f9}

    .ac-cf7-grid{display:block}
    .ac-cf7-grid label,.ac-cf7-message{display:flex;flex-direction:column;gap:5px;margin:0 0 8px;padding:10px;border:1px solid #e4e7ec;border-radius:11px;background:#fff;color:#344054;font-size:10px;font-weight:800}
    .ac7-form-panel .ac-cf7-message,.ac7-embed-card .ac-cf7-message{margin-top:0}

    .wpcf7 input[type="text"],
    .wpcf7 input[type="email"],
    .wpcf7 input[type="tel"],
    .wpcf7 input[type="date"],
    .wpcf7 input[type="number"],
    .wpcf7 select{
        min-height:45px;
        padding:10px 12px;
        border-radius:9px!important;
        font-size:15px;
        background:#fafbfc!important;
    }
    .wpcf7 textarea{
        min-height:100px;
        padding:10px 12px;
        border-radius:9px!important;
        font-size:15px;
        background:#fafbfc!important;
        resize:vertical;
    }
    .wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{
        border-color:var(--ac7-primary)!important;
        box-shadow:0 0 0 3px color-mix(in srgb,var(--ac7-primary) 9%,transparent)!important;
    }
    .wpcf7 input[type="submit"]{
        width:100%;
        min-height:49px;
        margin-top:6px;
        border:0;
        border-radius:10px;
        background:var(--ac7-primary);
        color:var(--ac7-on-primary);
        font:inherit;
        font-size:13px;
        font-weight:800;
        cursor:pointer;
    }

    .ac7-modal{
        position:fixed!important;
        inset:0!important;
        z-index:2147483001!important;
        display:none!important;
        align-items:flex-end;
        justify-content:center;
        padding:0;
    }
    .ac7-modal.is-open{display:flex!important}
    .ac7-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.60);backdrop-filter:blur(4px)}
    .ac7-panel{
        position:relative;
        width:100%;
        max-height:93vh;
        overflow:auto;
        background:#f6f7f9;
        border-radius:20px 20px 0 0;
        box-shadow:0 -24px 60px rgba(0,0,0,.20);
    }
    .ac7-panel::before{
        content:"";
        display:block;
        width:42px;
        height:4px;
        margin:8px auto 0;
        border-radius:999px;
        background:#cfd4dc;
    }
    .ac7-layout{display:block}
    .ac7-info-panel{
        position:relative;
        min-height:125px;
        padding:19px 15px 14px;
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
        color:#fff;
        background:
            linear-gradient(180deg,rgba(12,18,26,.04),rgba(12,18,26,.82)),
            var(--ac7-photo-image),
            linear-gradient(145deg,var(--ac7-primary),#111827);
        background-size:cover;
        background-position:center;
    }
    .ac7-info-panel .ac7-kicker{align-self:flex-start;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.14)}
    .ac7-info-panel h2{margin:7px 42px 4px 0;color:#fff;font:inherit;font-size:24px;line-height:1.03;font-weight:800;letter-spacing:-.03em}
    .ac7-info-panel>div>p{margin:0;color:rgba(255,255,255,.78);font-size:11px;line-height:1.45}
    .ac7-info-list{display:none!important}

    .ac7-form-panel{padding:11px 10px 16px;background:#f6f7f9}
    .ac7-form-title{padding:0 3px 8px;margin:0}
    .ac7-form-title h3{margin:0 0 3px;color:#101828;font:inherit;font-size:16px;font-weight:800}
    .ac7-form-title p{margin:0;color:#667085;font-size:10px;line-height:1.4}
    .ac7-form-panel .ac7-form-shell{padding:0}

    .ac7-close{
        position:absolute;
        top:18px;
        right:10px;
        z-index:10;
        width:36px;
        height:36px;
        border:0;
        border-radius:9px;
        background:rgba(255,255,255,.94);
        color:#344054;
        font-size:21px;
        cursor:pointer;
        box-shadow:0 4px 12px rgba(16,24,40,.10);
    }

    /* Mobile buttons: show the Quotation word */
    .ac7-wa,.ac7-quote{
        position:fixed!important;
        z-index:2147483000!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:8px!important;
        min-height:46px!important;
        padding:6px 12px 6px 6px!important;
        border:0!important;
        border-radius:12px!important;
        text-decoration:none!important;
        font:inherit!important;
        font-size:11px!important;
        font-weight:800!important;
        box-shadow:0 12px 28px rgba(16,24,40,.18)!important;
        overflow:visible!important;
    }
    .ac7-right{right:10px!important;left:auto!important}
    .ac7-left{left:10px!important;right:auto!important}
    .ac7-wa{
        bottom:10px!important;
        background:#111827!important;
        color:#fff!important;
    }
    .ac7-quote{
        bottom:64px!important;
        background:var(--ac7-primary)!important;
        color:var(--ac7-on-primary)!important;
    }
    .ac7-wa>span:last-child,
    .ac7-quote>span:last-child{
        display:inline!important;
        white-space:nowrap!important;
    }
    .ac7-quote>span:last-child{
        font-size:0!important;
    }
    .ac7-quote>span:last-child::after{
        content:"Quotation";
        font-size:11px!important;
    }
    .ac7-float-icon,.ac7-wa-icon{
        width:34px!important;
        height:34px!important;
        flex:0 0 34px!important;
        display:grid!important;
        place-items:center!important;
        border-radius:9px!important;
        background:rgba(255,255,255,.12)!important;
    }
    .ac7-wa-icon{
        background:#25d366!important;
        color:#fff!important;
    }
}
