/* Contact Us Form Part — Best Premium System */

.cufp-best-section{
    width:100%;
    padding:clamp(34px,4vw,64px) clamp(14px,3vw,48px);
    font-family:inherit;
}

.cufp-best-wrap{
    display:grid;
    grid-template-columns:minmax(420px,1.14fr) minmax(330px,.86fr);
    gap:clamp(22px,2.2vw,38px);
    align-items:start;
    max-width:1500px;
    margin:0 auto;
}

.cufp-best-left{
    display:flex;
    flex-direction:column;
    gap:clamp(18px,1.7vw,28px);
}

.cufp-best-panel{
    background:#fff;
    border:1px solid rgba(173,214,216,.72);
    border-radius:clamp(24px,1.8vw,36px);
    box-shadow:
        0 26px 66px rgba(13,39,63,.07),
        inset 0 1px 0 rgba(255,255,255,.95);
    padding:clamp(24px,2vw,34px);
    overflow:hidden;
}

.cufp-best-title,
.cufp-best-note-title{
    margin:0 0 18px;
    color:#132943;
    font-size:clamp(20px,1.45vw,28px);
    font-weight:850;
    line-height:1.1;
    letter-spacing:-.035em;
}

.cufp-best-detail-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.cufp-best-detail-item{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:16px;
    padding:17px 18px;
    background:#fbfdfe;
    border:1px solid rgba(219,232,236,.9);
    border-radius:20px;
    text-decoration:none !important;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

a.cufp-best-detail-item:hover{
    transform:translateY(-2px);
    background:#fff;
    border-color:rgba(0,151,140,.38);
    box-shadow:0 16px 36px rgba(13,39,63,.07);
}

.cufp-best-detail-icon{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:17px;
    background:#e9fbf8;
    color:#0aa395;
    flex:0 0 auto;
}

.cufp-best-detail-icon i{font-size:21px;}
.cufp-best-detail-icon svg{width:21px;height:21px;fill:currentColor;}

.cufp-best-detail-copy{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.cufp-best-detail-title{
    color:#132943;
    font-size:17px;
    font-weight:850;
    line-height:1.15;
    letter-spacing:-.02em;
}

.cufp-best-detail-text{
    color:#6f7e92;
    font-size:15.5px;
    font-weight:600;
    line-height:1.35;
    margin-top:3px;
}

.cufp-best-note-text{
    color:#6f7e92;
    font-size:clamp(15px,1.1vw,18px);
    font-weight:600;
    line-height:1.6;
    margin:0;
}

.cufp-best-form-panel{
    position:relative;
    padding:clamp(30px,2.7vw,52px);
}

.cufp-best-form-panel::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:8px;
    background:linear-gradient(90deg,#0aa395,#d8bd42);
}

.cufp-best-form-heading{
    margin:0 0 10px;
    color:#132943;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(42px,3.3vw,64px);
    font-weight:850;
    line-height:.98;
    letter-spacing:-.055em;
}

.cufp-best-form-intro{
    margin:0 0 26px;
    color:#6f7e92;
    font-size:clamp(16px,1.25vw,20px);
    font-weight:600;
    line-height:1.55;
    max-width:760px;
}

.cufp-best-alert{
    padding:14px 16px;
    border-radius:16px;
    font-size:15px;
    font-weight:750;
    margin-bottom:18px;
}

.cufp-best-success{
    background:#e9fbf8;
    color:#087f78;
    border:1px solid rgba(0,151,140,.22);
}

.cufp-best-error{
    background:#fff2f2;
    color:#9b1c1c;
    border:1px solid rgba(155,28,28,.16);
}

.cufp-best-form{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.cufp-best-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.cufp-best-field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.cufp-best-field label{
    color:#132943;
    font-size:15px;
    font-weight:850;
    line-height:1.15;
    letter-spacing:-.02em;
}

.cufp-best-field label span{
    color:#7a899c;
    font-size:12px;
    font-weight:700;
}

.cufp-best-field input,
.cufp-best-field select,
.cufp-best-field textarea{
    width:100%;
    min-height:56px;
    padding:0 17px;
    background:#f9fcfd;
    border:1px solid #dbe8ec;
    border-radius:18px;
    color:#132943;
    font-size:16px;
    font-weight:600;
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.cufp-best-field input[type="file"]{
    padding:15px;
    min-height:auto;
}

.cufp-best-field input::placeholder,
.cufp-best-field textarea::placeholder{
    color:rgba(19,41,67,.42);
}

.cufp-best-field input:focus,
.cufp-best-field select:focus,
.cufp-best-field textarea:focus{
    background:#fff;
    border-color:#0aa395;
    box-shadow:0 0 0 4px rgba(10,163,149,.12);
}

.cufp-best-field textarea{
    min-height:150px;
    resize:vertical;
    padding-top:16px;
    line-height:1.5;
}

.cufp-best-smart-hidden{
    display:none !important;
}

.cufp-best-submit{
    width:100%;
    min-height:62px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:0;
    border-radius:18px;
    background:linear-gradient(135deg,#3ad7b4,#0aa395);
    color:#fff;
    font-size:17px;
    font-weight:900;
    letter-spacing:-.02em;
    cursor:pointer;
    box-shadow:0 20px 42px rgba(10,163,149,.22);
    transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.cufp-best-submit:hover{
    transform:translateY(-2px);
    box-shadow:0 26px 54px rgba(10,163,149,.30);
    filter:saturate(1.06);
}

.cufp-best-dev-note{
    margin:18px 0 0;
    color:#6f7e92;
    font-size:13.5px;
    font-weight:600;
    line-height:1.45;
}

.cufp-best-hp{
    position:absolute;
    left:-9999px;
    opacity:0;
    pointer-events:none;
}

.cufp-best-sticky{
    display:none;
}

/* Tablet */
@media (max-width:1100px){
    .cufp-best-wrap{
        grid-template-columns:1fr;
    }
}

/* Mobile: conversion-first order */
@media (max-width:767px){
    .cufp-best-section{
        padding:20px 10px 82px;
    }

    .cufp-best-wrap{
        gap:14px;
    }

    .cufp-best-panel{
        border-radius:22px;
        padding:18px;
        box-shadow:
            0 16px 38px rgba(13,39,63,.075),
            inset 0 1px 0 rgba(255,255,255,.95);
    }

    .cufp-best-form-panel{
        order:1;
        padding:24px 16px 18px;
    }

    .cufp-best-left{
        order:2;
        gap:14px;
    }

    .cufp-best-form-panel::before{
        height:6px;
    }

    .cufp-best-form-heading{
        font-size:34px;
        line-height:.98;
        margin-bottom:8px;
    }

    .cufp-best-form-intro{
        font-size:13.8px;
        line-height:1.42;
        margin-bottom:16px;
    }

    .cufp-best-form{
        gap:12px;
    }

    .cufp-best-row{
        grid-template-columns:1fr;
        gap:12px;
    }

    .cufp-best-field{
        gap:6px;
    }

    .cufp-best-field label{
        font-size:13.5px;
    }

    .cufp-best-field input,
    .cufp-best-field select,
    .cufp-best-field textarea{
        min-height:51px;
        border-radius:16px;
        font-size:15px;
        padding-left:15px;
        padding-right:15px;
    }

    .cufp-best-field textarea{
        min-height:126px;
        padding-top:14px;
    }

    .cufp-best-submit{
        min-height:56px;
        border-radius:16px;
        font-size:16px;
    }

    .cufp-best-title,
    .cufp-best-note-title{
        font-size:20px;
        margin-bottom:12px;
    }

    .cufp-best-detail-list{
        gap:10px;
    }

    .cufp-best-detail-item{
        gap:12px;
        padding:12px;
        border-radius:17px;
    }

    .cufp-best-detail-icon{
        width:42px;
        height:42px;
        border-radius:14px;
    }

    .cufp-best-detail-icon i{font-size:17px;}
    .cufp-best-detail-icon svg{width:17px;height:17px;}

    .cufp-best-detail-title{
        font-size:15px;
    }

    .cufp-best-detail-text{
        font-size:13.3px;
        line-height:1.28;
    }

    .cufp-best-note-text{
        font-size:13.8px;
        line-height:1.48;
    }

    .cufp-best-dev-note{
        font-size:12.3px;
        margin-top:14px;
    }

    .cufp-best-sticky{
        position:fixed;
        left:10px;
        right:10px;
        bottom:10px;
        z-index:999;
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:8px;
        padding:8px;
        border:1px solid rgba(173,214,216,.72);
        border-radius:20px;
        background:rgba(255,255,255,.94);
        backdrop-filter:blur(16px);
        box-shadow:0 16px 44px rgba(13,39,63,.16);
    }

    .cufp-best-sticky a{
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:42px;
        border-radius:14px;
        background:#e9fbf8;
        color:#087f78;
        text-decoration:none !important;
        font-size:13px;
        font-weight:900;
    }
}

/* Small phones */
@media (max-width:390px){
    .cufp-best-section{
        padding-left:8px;
        padding-right:8px;
    }

    .cufp-best-panel{
        padding:15px;
        border-radius:19px;
    }

    .cufp-best-form-panel{
        padding:22px 14px 16px;
    }

    .cufp-best-form-heading{
        font-size:31px;
    }

    .cufp-best-form-intro{
        font-size:13px;
    }

    .cufp-best-field input,
    .cufp-best-field select,
    .cufp-best-field textarea{
        min-height:49px;
        font-size:14.5px;
    }
}
