/* Nút shortcode và popup liên hệ dùng chung. */
.dmax-quote-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    height:var(--button-height,46px);
    padding:0 8px 0 22px;
    border:1px solid var(--accent);
    border-radius:30px;
    background:var(--accent);
    color:var(--primary);
    font-family:var(--font-main);
    font-size:16px;
    font-weight:800;
    line-height:1.3;
    cursor:pointer;
    transition:background-color .2s ease,box-shadow .2s ease;
    margin: 20px 0 0;
}
.dmax-quote-button:hover,
.dmax-quote-button:focus-visible {
    background:#ffe64d;
    color:var(--primary);
    box-shadow:0 4px 16px rgba(0,16,98,.16);
}
.dmax-quote-button .quote-button-arrow {
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    font-size:22px;
}
.dmax-quote-popup[hidden] { display:none; }
.dmax-quote-popup {
    position:fixed;
    inset:0;
    z-index:100000;
    display:grid;
    place-items:center;
    padding:24px;
    padding: max(24px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));
    background:rgba(0,10,45,.65);
    opacity:0;
    transition:opacity .2s ease;
}
.dmax-quote-popup.is-open { opacity:1; }
.dmax-quote-popup .quote-dialog {
    position:relative;
    width:100%;
    max-width:720px;
    max-height:100%;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:36px;
    border-radius:20px;
    background:#fff;
    color:var(--primary);
    box-shadow:0 16px 60px rgba(0,0,0,.25);
    transform:translateY(12px);
    transition:transform .2s ease;
}
.dmax-quote-popup.is-open .quote-dialog { transform:translateY(0); }
.dmax-quote-popup .quote-close {
    position:sticky;
    top:0;
    z-index:2;
    display:block;
    width:46px;
    height:46px;
    margin:-20px -20px 0 auto;
    padding:0;
    border:0;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    font-size:30px;
    line-height:1;
    cursor:pointer;
}
.dmax-quote-popup h2 {
    margin:0 30px 12px 0;
    color:var(--primary);
    font-size:28px;
    line-height:1.3;
}
.dmax-quote-popup .quote-description { margin:0 0 24px; color:#5b6479; font-size:16px; }
.dmax-quote-popup .caldera-grid { margin:0; }
.dmax-quote-popup .caldera-grid .row { margin-right:-8px; margin-left:-8px; }
.dmax-quote-popup .caldera-grid [class*="col-sm-"] { padding-right:8px; padding-left:8px; min-width:0; }
.dmax-quote-popup .caldera-grid .form-group { margin-bottom:16px; }
.dmax-quote-popup .caldera-grid .form-control {
    width:100%;
    height:48px;
    padding:10px 14px;
    border:1px solid #d0dcf1;
    border-radius:10px;
    background:#f5f8ff;
    color:var(--primary);
    box-shadow:none;
    font-family:var(--font-main);
    font-size:16px;
    line-height:1.6;
}
.dmax-quote-popup .caldera-grid textarea.form-control { height:auto; min-height:120px; }
.dmax-quote-popup .caldera-grid .form-control:focus { outline:2px solid var(--primary); outline-offset:1px; }
.dmax-quote-popup .caldera-grid input[type="submit"],
.dmax-quote-popup .caldera-grid button[type="submit"] {
    height:var(--button-height,46px);
    padding:0 28px;
    border:0;
    border-radius:30px;
    background:var(--accent);
    color:var(--primary);
    font-family:var(--font-main);
    font-size:16px;
    font-weight:800;
}
@media (max-width: 768px) {
    .dmax-quote-popup .quote-dialog { padding:24px; }
    .dmax-quote-popup h2 { font-size:24px; }
    .dmax-quote-popup .quote-close { margin:-12px -12px 0 auto; }
    .dmax-quote-popup .caldera-grid .col-sm-6 { width:100%; float:none; }
}
@media (prefers-reduced-motion: reduce) {
    .dmax-quote-popup,
    .dmax-quote-popup .quote-dialog { transition:none; }
}
