/* MPG Richiedi Disegno 3D – style.css */

/* ── Isolamento dal tema ─────────────────────────────────── */
.mpg-d3d-wrap { all: revert; }
.mpg-d3d-wrap,
.mpg-d3d-wrap * {
    box-sizing: border-box;
    background-color: transparent;
}
.mpg-d3d-wrap .mpg-row,
.mpg-d3d-wrap [class^="mpg-col-"] {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

/* ── Notices ─────────────────────────────────────────────── */
.mpg-d3d-notice {
    padding: 14px 18px;
    margin-bottom: 24px;
    font-size: 15px;
    font-family: inherit;
}
.mpg-d3d-success {
    background: #e8f5e9 !important;
    border-left: 4px solid #388e3c;
    color: #1b5e20;
}
.mpg-d3d-error {
    background: #fdecea !important;
    border-left: 4px solid #c62828;
    color: #b71c1c;
}

/* ── Section titles ──────────────────────────────────────── */
.mpg-section-title {
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .07em;
    color: #1a2e4a;
    background: #e8eaed !important;
    padding: 9px 14px !important;
    margin: 28px 0 14px !important;
    text-transform: uppercase;
}

/* ── Larghezza form (centrato) ───────────────────────────── */
.mpg-d3d-wrap {
    max-width: 881px;
    margin-left: auto !important;
    margin-right: auto !important;
}
.mpg-d3d-form {
    width: 100%;
    max-width: 881px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ── Grid ────────────────────────────────────────────────── */
.mpg-d3d-form .mpg-row {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0 24px;
}
.mpg-d3d-form [class^="mpg-col-"] {
    margin-bottom: 14px !important;
}
.mpg-d3d-form .mpg-col-12 { width: 100%; }
.mpg-d3d-form .mpg-col-6  { width: calc(50% - 12px); }
.mpg-d3d-form .mpg-col-4  { width: calc(33.333% - 16px); }

@media (max-width: 680px) {
    .mpg-d3d-form .mpg-col-6,
    .mpg-d3d-form .mpg-col-4 { width: 100%; }
}

/* ── Labels ──────────────────────────────────────────────── */
.mpg-d3d-form label {
    display: block !important;
    font-size: 13px !important;
    color: #c8932a !important;
    margin-bottom: 3px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}
.mpg-req {
    color: #c8932a;
    margin-left: 2px;
}

/* ── Inputs ──────────────────────────────────────────────── */
.mpg-d3d-form input[type="text"],
.mpg-d3d-form input[type="email"],
.mpg-d3d-form input[type="tel"],
.mpg-d3d-form input[type="number"],
.mpg-d3d-form select,
.mpg-d3d-form textarea {
    display: block !important;
    width: 100% !important;
    padding: 11px 14px !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    font-size: 14px !important;
    color: #333 !important;
    outline: none !important;
    transition: border-color .15s;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}
.mpg-d3d-form input[readonly] {
    background: #f5f5f5 !important;
    color: #555 !important;
    cursor: default;
}
.mpg-d3d-form input:focus,
.mpg-d3d-form select:focus,
.mpg-d3d-form textarea:focus {
    border-color: #c8932a !important;
}
.mpg-d3d-form textarea {
    resize: vertical;
    min-height: 110px;
}

/* ── Select wrapper ──────────────────────────────────────── */
.mpg-select-wrap {
    position: relative;
}
.mpg-select-wrap::after {
    content: '';
    pointer-events: none;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    border: 5px solid transparent;
    border-top-color: #c8932a;
    border-bottom: none;
    margin-top: 3px;
}
.mpg-select-wrap select {
    padding-right: 36px !important;
    cursor: pointer;
}

/* ── Errors ──────────────────────────────────────────────── */
.mpg-has-error input,
.mpg-has-error select,
.mpg-has-error textarea {
    border-color: #c62828 !important;
}
.mpg-field-error {
    display: block;
    font-size: 12px;
    color: #c62828;
    margin-top: 4px;
}

/* ── Privacy ─────────────────────────────────────────────── */
.mpg-privacy-label {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px !important;
    color: #444 !important;
    cursor: pointer;
    font-weight: normal !important;
}
.mpg-privacy-label input[type="checkbox"] {
    width: auto !important;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: #c8932a;
    padding: 0 !important;
}

/* ── Submit ──────────────────────────────────────────────── */
.mpg-submit {
    display: inline-block !important;
    padding: 13px 40px !important;
    background: #c8932a !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .07em !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer;
    transition: background .2s;
    text-transform: uppercase;
    box-shadow: none !important;
}
.mpg-submit:hover {
    background: #a87522 !important;
}
.mpg-submit:disabled {
    opacity: .6;
    cursor: not-allowed;
}

/* ── Extra specificity per Avada ─────────────────────────── */
body .mpg-d3d-wrap input[type="text"],
body .mpg-d3d-wrap input[type="email"],
body .mpg-d3d-wrap input[type="tel"],
body .mpg-d3d-wrap input[type="number"],
body .mpg-d3d-wrap select,
body .mpg-d3d-wrap textarea {
    padding: 11px 14px !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.4 !important;
}
body .mpg-d3d-wrap .mpg-select-wrap select {
    padding-right: 36px !important;
}
