/*
 * Regimeminimi.com — Contact Page V2
 */

.page-id-2078 .site-inner {
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:64px 30px 90px;
    box-sizing:border-box;
}

.page-id-2078 .content,
.page-id-2078.full-width-content .content,
.page-id-2078 .entry,
.page-id-2078 .entry-content {
    float:none;
    width:100%;
    max-width:none;
    margin:0;
}

.page-id-2078 .entry-header,
.page-id-2078 .entry-footer {
    display:none;
}

.page-id-2078 .rm-contact-page,
.page-id-2078 .rm-contact-page * {
    box-sizing:border-box;
}


/* INTRO */

.rm-contact-intro {
    max-width:800px;
    margin-bottom:54px;
}

.rm-contact-kicker,
.rm-contact-side-label {
    margin:0 0 14px !important;
    color:var(--rm-color-primary);
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
}

.rm-contact-intro h1 {
    margin:0 0 20px;
    max-width:760px;
    font-size:clamp(48px,5.7vw,68px);
    line-height:.98;
    letter-spacing:-.05em;
}

.rm-contact-lead {
    max-width:720px;
    margin:0 !important;
    color:#536071;
    font-size:19px;
    line-height:1.6;
}


/* GRID */

.rm-contact-grid {
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
    gap:56px;
    align-items:start;
}


/* FORM */

.rm-contact-form {
    padding-top:8px;
}

.rm-contact-form > h2 {
    margin:0 0 10px;
    font-size:30px;
}

.rm-contact-form > p {
    max-width:680px;
    margin:0 0 30px;
    color:#667085;
    font-size:16px;
}

.rm-contact-form .wpcf7-form > p:first-of-type {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
    row-gap:16px;
    margin:0 0 20px;
}

.rm-contact-form .wpcf7-form > p:first-of-type > br {
    display:none;
}

.rm-contact-form .wpcf7-form > p:first-of-type > label {
    display:block;
    margin:0;
    color:#20262e;
    font-size:14px;
    line-height:1.4;
}

.rm-contact-form .wpcf7-form > p:first-of-type > label:nth-of-type(5) {
    grid-column:1 / -1;
}

.rm-contact-form .wpcf7-form-control-wrap {
    display:block;
    margin-top:7px;
}

.rm-contact-form input[type="text"],
.rm-contact-form input[type="email"],
.rm-contact-form select,
.rm-contact-form textarea {
    width:100%;
    min-height:46px;
    margin:0;
    padding:11px 13px;
    border:1px solid #d2d8e0;
    border-radius:8px;
    background:#fff;
    color:#20262e;
    font-family:var(--rm-font-sans);
    font-size:15px;
    box-shadow:none;
}

.rm-contact-form textarea {
    height:150px;
    min-height:150px;
    resize:vertical;
}

.rm-contact-form input:focus,
.rm-contact-form select:focus,
.rm-contact-form textarea:focus {
    border-color:var(--rm-color-primary);
    outline:2px solid rgba(24,89,217,.10);
}

.rm-contact-form .wpcf7-form > p:nth-of-type(2) {
    max-width:300px;
    margin:0 0 20px;
    font-size:14px;
}

.rm-contact-form .wpcf7-quiz-label {
    display:block;
    margin-bottom:7px;
}

.rm-contact-form .wpcf7-form > p:nth-of-type(3) {
    margin:0;
    color:#536071;
    font-size:13px;
    line-height:1.5;
}

.rm-contact-form .wpcf7-form > p:nth-of-type(3) > br {
    display:none;
}

.rm-contact-form .wpcf7-acceptance {
    display:inline-block;
    margin-right:4px;
}

.rm-contact-form .wpcf7-submit {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:155px;
    min-height:46px;
    margin:17px 0 0 !important;
    padding:11px 20px;
    border:0;
    border-radius:8px;
    background:var(--rm-color-primary);
    color:#fff;
    font-family:var(--rm-font-sans);
    font-size:15px;
    font-weight:650;
    cursor:pointer;
}

.rm-contact-form .wpcf7-submit:hover {
    background:var(--rm-color-primary-hover);
}

.rm-contact-form .wpcf7-submit:disabled {
    background:#dfe4ea;
    color:#667085;
}

.rm-contact-form .wpcf7-response-output {
    margin:20px 0 0 !important;
}


/* PANEL */

.rm-contact-side {
    position:sticky;
    top:108px;
    padding:38px 36px;
    border-radius:18px;
    background:#0a3267;
    color:#fff;
}

.rm-contact-side .rm-contact-side-label {
    color:#9ec2ff;
}

.rm-contact-side > h2 {
    margin:0 0 30px;
    color:#fff;
    font-size:31px;
    line-height:1.08;
    letter-spacing:-.035em;
}

.rm-contact-reasons {
    border-top:1px solid rgba(255,255,255,.18);
}

.rm-contact-reasons > div {
    display:grid;
    grid-template-columns:32px 1fr;
    gap:12px;
    align-items:start;
    padding:16px 0;
    border-bottom:1px solid rgba(255,255,255,.18);
}

.rm-contact-reasons span {
    color:#9ec2ff;
    font-size:12px;
    font-weight:700;
}

.rm-contact-reasons strong {
    color:#fff;
    font-size:15px;
    font-weight:600;
}

.rm-contact-details {
    display:grid;
    gap:26px;
    margin-top:34px;
}

.rm-contact-details > div > span {
    display:block;
    margin-bottom:8px;
    color:#9ec2ff;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
}

.rm-contact-details strong {
    display:block;
    margin-bottom:5px;
    color:#fff;
    font-size:15px;
}

.rm-contact-details p {
    margin:0;
    color:#d8e4f5;
    font-size:14px;
    line-height:1.55;
}

.rm-contact-details a {
    display:inline-block;
    margin-top:8px;
    color:#fff;
    font-size:14px;
    font-weight:650;
    text-decoration:none;
}


/* MOBILE */

@media(max-width:850px) {

    .page-id-2078 .site-inner {
        padding-top:46px;
    }

    .rm-contact-grid {
        grid-template-columns:1fr;
        gap:46px;
    }

    .rm-contact-side {
        position:static;
    }
}

@media(max-width:640px) {

    .page-id-2078 .site-inner {
        padding:38px 20px 65px;
    }

    .rm-contact-intro {
        margin-bottom:40px;
    }

    .rm-contact-intro h1 {
        font-size:43px;
    }

    .rm-contact-lead {
        font-size:17px;
    }

    .rm-contact-form .wpcf7-form > p:first-of-type {
        grid-template-columns:1fr;
    }

    .rm-contact-form .wpcf7-form > p:first-of-type > label:nth-of-type(5) {
        grid-column:auto;
    }

    .rm-contact-form .wpcf7-submit {
        width:100%;
    }

    .rm-contact-side {
        padding:30px 24px;
    }
}


/* ==================================================
   CONTATTI V2.1 — GUTENBERG GRID FIX
   ================================================== */

/* Contenimento generale */
body.page-id-2078 .site-inner {
    width:100% !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:30px !important;
    padding-right:30px !important;
}

body.page-id-2078 .content,
body.page-id-2078 .entry,
body.page-id-2078 .entry-content,
body.page-id-2078 .rm-contact-page,
body.page-id-2078 .rm-contact-page > .wp-block-group__inner-container {
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    min-width:0 !important;
}

/* Gutenberg mette i due blocchi dentro questo wrapper */
body.page-id-2078 .rm-contact-grid {
    display:block !important;
    width:100%;
}

body.page-id-2078 .rm-contact-grid > .wp-block-group__inner-container {
    display:grid !important;
    grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr) !important;
    gap:56px !important;
    align-items:start !important;
    width:100% !important;
    max-width:100% !important;
}

/* Impedisce ai campi form di allargare la griglia */
body.page-id-2078 .rm-contact-form,
body.page-id-2078 .rm-contact-side,
body.page-id-2078 .rm-contact-form > .wp-block-group__inner-container,
body.page-id-2078 .rm-contact-side > .wp-block-group__inner-container,
body.page-id-2078 .wpcf7,
body.page-id-2078 .wpcf7-form {
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
}

body.page-id-2078 .rm-contact-form input,
body.page-id-2078 .rm-contact-form select,
body.page-id-2078 .rm-contact-form textarea {
    max-width:100% !important;
    box-sizing:border-box !important;
}


/* TABLET / MOBILE */

@media(max-width:850px) {

    body.page-id-2078 .rm-contact-grid > .wp-block-group__inner-container {
        grid-template-columns:1fr !important;
        gap:42px !important;
    }

    body.page-id-2078 .rm-contact-side {
        position:static !important;
    }
}

@media(max-width:640px) {

    body.page-id-2078 .site-inner {
        padding-left:20px !important;
        padding-right:20px !important;
    }
}


/* ==================================================
   CONTATTI V2.2 — PANEL CONTRAST FIX
   ================================================== */

body.page-id-2078 .rm-contact-side h2,
body.page-id-2078 .rm-contact-side .wp-block-heading {
    color:#fff !important;
}

body.page-id-2078 .rm-contact-side .rm-contact-reasons strong {
    color:#fff !important;
}

body.page-id-2078 .rm-contact-details strong {
    color:#fff !important;
}

body.page-id-2078 .rm-contact-details p {
    color:#d8e4f5 !important;
}

body.page-id-2078 .rm-contact-details a {
    color:#9ec2ff !important;
}

body.page-id-2078 .rm-contact-details a:hover {
    color:#fff !important;
}


/* CONTATTI V2.3 — label sotto titolo */
body.page-id-2078 .rm-contact-side > .wp-block-group__inner-container > h2 {
    margin-bottom:14px !important;
}

body.page-id-2078 .rm-contact-side .rm-contact-side-label {
    margin:0 0 22px !important;
}
