/* RM TRUST PAGES */

.rm-trust-page {
    max-width:1120px;
    margin:0 auto;
    padding:64px 0 80px;
}

.rm-trust-eyebrow {
    margin:0 0 18px;
    color:#135fa7;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.rm-trust-hero {
    max-width:820px;
    margin-bottom:56px;
}

.rm-trust-hero h1 {
    margin:0 0 20px;
    font-size:clamp(38px,5vw,58px);
    line-height:1.04;
    letter-spacing:-.045em;
}

.rm-trust-lead {
    max-width:760px;
    margin:0;
    font-size:19px;
    line-height:1.65;
    color:#536273;
}

.rm-trust-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    margin:0 0 72px;
}

.rm-trust-card {
    padding:30px;
    border:1px solid #e3e8ef;
    border-radius:18px;
    background:#fff;
}

.rm-trust-card-number {
    display:block;
    margin-bottom:22px;
    color:#135fa7;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
}

.rm-trust-card h2,
.rm-trust-card h3 {
    margin:0 0 12px;
    font-size:22px;
    line-height:1.2;
}

.rm-trust-card p {
    margin:0;
    color:#5c6875;
    line-height:1.65;
}

.rm-trust-section {
    margin:0 0 72px;
}

.rm-trust-section-head {
    max-width:720px;
    margin-bottom:32px;
}

.rm-trust-section-head h2 {
    margin:0 0 14px;
    font-size:36px;
    letter-spacing:-.035em;
}

.rm-trust-section-head p {
    margin:0;
    color:#5c6875;
    font-size:17px;
    line-height:1.65;
}

.rm-trust-service-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.rm-trust-service {
    padding:32px;
    border-radius:18px;
    background:#f5f7fa;
}

.rm-trust-service h3 {
    margin:0 0 10px;
    font-size:24px;
}

.rm-trust-service p {
    margin:0 0 20px;
    color:#5c6875;
}

.rm-trust-service a {
    font-weight:700;
    text-decoration:none;
}

.rm-trust-cta {
    padding:42px;
    border-radius:22px;
    background:#103d73;
    color:#fff;
}

.rm-trust-cta h2 {
    margin:0 0 12px;
    color:#fff;
    font-size:34px;
    letter-spacing:-.035em;
}

.rm-trust-cta p {
    max-width:680px;
    margin:0 0 26px;
    color:rgba(255,255,255,.82);
    font-size:17px;
}

.rm-trust-actions {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.rm-trust-actions a {
    display:inline-flex;
    min-height:46px;
    align-items:center;
    padding:12px 20px;
    border-radius:8px;
    background:#fff;
    color:#103d73;
    font-size:15px;
    font-weight:700;
    text-decoration:none;
}

.rm-trust-actions a.rm-trust-secondary {
    border:1px solid rgba(255,255,255,.38);
    background:transparent;
    color:#fff;
}

@media (max-width:780px) {
    .rm-trust-page {
        padding:44px 20px 64px;
    }

    .rm-trust-grid,
    .rm-trust-service-grid {
        grid-template-columns:1fr;
    }

    .rm-trust-hero {
        margin-bottom:40px;
    }

    .rm-trust-grid,
    .rm-trust-section {
        margin-bottom:52px;
    }

    .rm-trust-card,
    .rm-trust-service {
        padding:24px;
    }

    .rm-trust-cta {
        padding:30px 24px;
    }
}


/* ==================================================
   RM TRUST CTA — SECONDARY BUTTON CONTRAST
   ================================================== */

.rm-trust-cta .rm-trust-actions a.rm-trust-secondary,
.rm-trust-cta .rm-trust-actions a.rm-trust-secondary:visited {
    color:#fff !important;
    border:1px solid rgba(255,255,255,.72) !important;
    background:transparent !important;
}

.rm-trust-cta .rm-trust-actions a.rm-trust-secondary:hover,
.rm-trust-cta .rm-trust-actions a.rm-trust-secondary:focus {
    color:#103d73 !important;
    background:#fff !important;
    border-color:#fff !important;
}


/* ==================================================
   TEAM — RATIONALIZED METHOD
   ================================================== */

.rm-team-method {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:72px;
    align-items:start;
    margin:0 0 72px;
    padding:48px;
    border-radius:22px;
    background:#f5f7fa;
}

.rm-team-method-intro h2 {
    margin:0 0 16px;
    font-size:36px;
    line-height:1.12;
    letter-spacing:-.035em;
}

.rm-team-method-intro p {
    margin:0;
    color:#5c6875;
    font-size:17px;
    line-height:1.65;
}

.rm-team-method-steps {
    display:flex;
    flex-direction:column;
}

.rm-team-step {
    display:grid;
    grid-template-columns:42px 1fr;
    gap:18px;
    padding:22px 0;
    border-bottom:1px solid #dce3ea;
}

.rm-team-step:first-child {
    padding-top:0;
}

.rm-team-step:last-child {
    padding-bottom:0;
    border-bottom:0;
}

.rm-team-step > span {
    color:#135fa7;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
}

.rm-team-step h3 {
    margin:0 0 7px;
    font-size:20px;
    line-height:1.25;
}

.rm-team-step p {
    margin:0;
    color:#5c6875;
    line-height:1.6;
}


/* ==================================================
   TEAM — BLUE VISUAL BAND
   ================================================== */

.rm-team-online {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:52px;
    align-items:center;
    margin:0 0 72px;
    padding:48px;
    border-radius:22px;
    background:#103d73;
    overflow:hidden;
}

.rm-team-online-label {
    margin:0 0 16px;
    color:#a9c9ee;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
}

.rm-team-online h2 {
    max-width:600px;
    margin:0 0 16px;
    color:#fff;
    font-size:36px;
    line-height:1.12;
    letter-spacing:-.035em;
}

.rm-team-online p {
    max-width:620px;
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:17px;
    line-height:1.65;
}

.rm-team-online-visual {
    min-height:260px;
    padding:28px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:18px;
    background:rgba(255,255,255,.06);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.rm-team-online-brand {
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
}

.rm-team-online-brand span {
    display:inline-flex;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.35);
    border-radius:8px;
    font-size:12px;
    font-weight:700;
}

.rm-team-online-brand strong {
    font-size:16px;
}

.rm-team-online-lines {
    display:flex;
    flex-direction:column;
    gap:12px;
}

.rm-team-online-lines i {
    display:block;
    height:8px;
    border-radius:99px;
    background:rgba(255,255,255,.22);
}

.rm-team-online-lines i:nth-child(1) { width:88%; }
.rm-team-online-lines i:nth-child(2) { width:68%; }
.rm-team-online-lines i:nth-child(3) { width:48%; }


@media (max-width:780px) {

    .rm-team-method,
    .rm-team-online {
        grid-template-columns:1fr;
        gap:32px;
        padding:30px 24px;
        margin-bottom:52px;
    }

    .rm-team-online-visual {
        min-height:190px;
    }

}


/* ==================================================
   TEAM METHOD — DESKTOP LAYOUT FIX
   ================================================== */

.rm-team-page .rm-team-method {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
}

.rm-team-page .rm-team-method-intro,
.rm-team-page .rm-team-method-steps {
    width:100%;
    min-width:0;
}

.rm-team-page .rm-team-method-steps {
    display:block;
}

.rm-team-page .rm-team-step {
    display:flex !important;
    width:100%;
    min-width:0;
    gap:18px;
}

.rm-team-page .rm-team-step > span {
    flex:0 0 42px;
    width:42px;
}

.rm-team-page .rm-team-step > div {
    flex:1 1 auto;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
}

.rm-team-page .rm-team-step h3,
.rm-team-page .rm-team-step p {
    width:auto !important;
    max-width:none !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
    white-space:normal !important;
}

@media (max-width:780px) {

    .rm-team-page .rm-team-method {
        grid-template-columns:1fr !important;
    }

}


/* ==================================================
   TEAM — REAL OFFICE VISUAL
   ================================================== */

.rm-team-page .rm-team-online {
    grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);
    gap:48px;
    align-items:center;
}

.rm-team-page .rm-team-online-copy {
    min-width:0;
}

.rm-team-page .rm-team-office {
    position:relative;
    min-height:300px;
    margin:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.22);
    border-radius:18px;
    background:rgba(255,255,255,.08);
}

.rm-team-page .rm-team-office img {
    display:block;
    width:100%;
    height:100%;
    min-height:300px;
    aspect-ratio:4 / 3;
    object-fit:cover;
    object-position:center 56%;
}

@media (max-width:780px) {

    .rm-team-page .rm-team-online {
        grid-template-columns:1fr;
        gap:30px;
    }

    .rm-team-page .rm-team-office,
    .rm-team-page .rm-team-office img {
        min-height:240px;
    }

}


/* ==================================================
   TEAM OFFICE — IMAGE FULL FILL
   ================================================== */

.rm-team-page .rm-team-online {
    align-items:stretch;
}

.rm-team-page .rm-team-office {
    position:relative;
    height:100%;
    min-height:300px;
}

.rm-team-page .rm-team-office img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center 56%;
}

@media (max-width:780px) {

    .rm-team-page .rm-team-office {
        height:260px;
        min-height:260px;
    }

}


/* ==================================================
   TEAM — CARD + METHOD CONTRAST
   ================================================== */

/* Tre card iniziali */
.rm-team-page > .rm-trust-grid:first-of-type .rm-trust-card {
    border:1px solid rgba(16,61,115,.48);
    box-shadow:0 1px 0 rgba(16,61,115,.04);
}

/* Blocco metodo: più contrasto senza appesantirlo */
.rm-team-page .rm-team-method {
    background:#eef3f8;
    border:1px solid rgba(16,61,115,.20);
}

/* separatori leggermente più visibili */
.rm-team-page .rm-team-step {
    border-bottom-color:rgba(16,61,115,.18);
}

.rm-team-page .rm-team-step:last-child {
    border-bottom:0;
}


/* ==================================================
   TEAM — SERVICE CARDS + OFFICE BAND FINAL REFINEMENT
   ================================================== */


/* Servizi: stesso linguaggio delle card superiori */

.rm-team-page .rm-trust-service {
    background:#fff;
    border:1px solid rgba(16,61,115,.48);
    border-radius:18px;
    padding:30px;
    box-shadow:0 1px 0 rgba(16,61,115,.04);
}

.rm-team-page .rm-trust-service h3 {
    margin:0 0 12px;
    font-size:22px;
    line-height:1.2;
}

.rm-team-page .rm-trust-service p {
    margin:0 0 22px;
    line-height:1.65;
}

.rm-team-page .rm-trust-service a {
    display:inline-flex;
    align-items:center;
    font-weight:700;
}


/* Fascia blu: proporzioni e spazi più raffinati */

.rm-team-page .rm-team-online {
    grid-template-columns:minmax(0,1fr) minmax(390px,.92fr);
    gap:44px;
    padding:38px 40px;
    align-items:center;
    border-radius:22px;
}

.rm-team-page .rm-team-online-copy {
    padding:4px 0;
}

.rm-team-page .rm-team-online-label {
    margin-bottom:15px;
    color:#bed2ea;
}

.rm-team-page .rm-team-online h2 {
    max-width:520px;
    margin-bottom:15px;
    font-size:34px;
    line-height:1.08;
}

.rm-team-page .rm-team-online p {
    max-width:550px;
    line-height:1.65;
}


/* Foto più presente e pulita */

.rm-team-page .rm-team-office {
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:16 / 10;
    border:1px solid rgba(255,255,255,.28);
    border-radius:17px;
    overflow:hidden;
    box-shadow:0 12px 28px rgba(0,0,0,.10);
}

.rm-team-page .rm-team-office img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    object-fit:cover;
    object-position:center 54%;
}


/* Mobile */

@media (max-width:780px) {

    .rm-team-page .rm-trust-service {
        padding:24px;
    }

    .rm-team-page .rm-team-online {
        grid-template-columns:1fr;
        gap:28px;
        padding:30px 24px;
    }

    .rm-team-page .rm-team-online h2 {
        font-size:30px;
    }

    .rm-team-page .rm-team-office {
        height:auto;
        min-height:0;
        aspect-ratio:4 / 3;
    }

}


/* ==================================================
   TEAM — CONTEXTUAL TRUST LINK
   ================================================== */

.rm-team-context-link {
    margin-top:16px;
    font-size:15px;
    line-height:1.6;
    color:#536273;
}

.rm-team-context-link a {
    font-weight:700;
    text-decoration:none;
}


/* ==================================================
   REVIEWS PAGE
   ================================================== */

.rm-reviews-hero {
    margin-bottom:48px;
}


/* Blue introductory band */

.rm-reviews-band {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:48px;
    align-items:end;
    margin:0 0 72px;
    padding:42px;
    border-radius:22px;
    background:#103d73;
}

.rm-reviews-band-label {
    margin:0 0 14px;
    color:#bed2ea;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
}

.rm-reviews-band h2 {
    max-width:720px;
    margin:0 0 14px;
    color:#fff;
    font-size:34px;
    line-height:1.12;
    letter-spacing:-.035em;
}

.rm-reviews-band p {
    max-width:720px;
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:16px;
    line-height:1.65;
}

.rm-reviews-band-links {
    display:flex;
    flex-direction:column;
    gap:10px;
    min-width:160px;
}

.rm-reviews-band-links a {
    display:flex;
    min-height:44px;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    border:1px solid rgba(255,255,255,.45);
    border-radius:8px;
    color:#fff !important;
    font-size:14px;
    font-weight:700;
    text-decoration:none !important;
}

.rm-reviews-band-links a:first-child {
    border-color:#fff;
    background:#fff;
    color:#103d73 !important;
}


/* Reviews */

.rm-reviews-section {
    margin:0 0 76px;
}

.rm-reviews-heading {
    max-width:720px;
    margin:0 0 30px;
}

.rm-reviews-heading h2 {
    margin:0;
    font-size:36px;
    line-height:1.12;
    letter-spacing:-.035em;
}

.rm-reviews-grid {
    columns:2;
    column-gap:20px;
}

.rm-review-card {
    position:relative;
    display:inline-block;
    width:100%;
    margin:0 0 20px;
    padding:30px;
    overflow:hidden;
    break-inside:avoid;
    border:1px solid rgba(16,61,115,.28);
    border-radius:18px;
    background:#fff;
}

.rm-review-quote {
    position:absolute;
    top:14px;
    right:22px;
    color:rgba(16,61,115,.10);
    font-family:Georgia,serif;
    font-size:72px;
    font-weight:700;
    line-height:1;
}

.rm-review-text {
    position:relative;
    z-index:1;
    margin:0 0 24px;
    color:#465565;
    font-size:16px;
    line-height:1.7;
}

.rm-review-author {
    display:flex;
    flex-direction:column;
    gap:3px;
    padding-top:18px;
    border-top:1px solid #e3e8ef;
}

.rm-review-author strong {
    color:#172033;
    font-size:15px;
}

.rm-review-author span {
    color:#135fa7;
    font-size:13px;
    font-weight:650;
}


/* Review submission */

.rm-reviews-form-section {
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:52px;
    align-items:start;
    margin:0 0 72px;
    padding:46px;
    border:1px solid rgba(16,61,115,.18);
    border-radius:22px;
    background:#eef3f8;
}

.rm-reviews-form-copy h2 {
    margin:0 0 16px;
    font-size:36px;
    line-height:1.12;
    letter-spacing:-.035em;
}

.rm-reviews-form-copy > p {
    margin:0 0 16px;
    color:#536273;
    font-size:16px;
    line-height:1.65;
}

.rm-reviews-moderation {
    font-size:14px !important;
    font-weight:650;
}

.rm-reviews-form-card {
    padding:30px;
    border:1px solid rgba(16,61,115,.24);
    border-radius:18px;
    background:#fff;
}

.rm-review-form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.rm-review-form-grid label {
    display:block;
    margin:0;
    color:#172033;
    font-size:14px;
    font-weight:650;
}

.rm-review-form-grid label > span:first-child {
    display:block;
    margin-bottom:8px;
}

.rm-review-form-full {
    grid-column:1 / -1;
}

.rm-review-form-grid input[type="text"],
.rm-review-form-grid input[type="email"],
.rm-review-form-grid textarea {
    width:100%;
    margin:0;
    padding:12px 14px;
    border:1px solid #cbd5df;
    border-radius:8px;
    background:#fff;
    color:#172033;
    font:inherit;
    box-shadow:none;
}

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

.rm-review-form-grid input:focus,
.rm-review-form-grid textarea:focus {
    outline:2px solid rgba(19,95,167,.16);
    border-color:#135fa7;
}

.rm-review-form-grid small {
    display:block;
    margin-top:6px;
    color:#667585;
    font-size:12px;
    font-weight:400;
}

.rm-review-privacy {
    color:#536273;
    font-size:13px;
    font-weight:400;
    line-height:1.5;
}

.rm-review-form-grid input[type="submit"] {
    min-height:46px;
    padding:12px 20px;
    border:0;
    border-radius:8px;
    background:#135fa7;
    color:#fff;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
}

.rm-review-form-grid input[type="submit"]:hover {
    background:#103d73;
}


/* CTA */

.rm-reviews-cta {
    margin-bottom:0;
}


@media (max-width:780px) {

    .rm-reviews-band {
        grid-template-columns:1fr;
        gap:28px;
        padding:30px 24px;
        margin-bottom:52px;
    }

    .rm-reviews-band-links {
        flex-direction:row;
        flex-wrap:wrap;
    }

    .rm-reviews-grid {
        columns:1;
    }

    .rm-review-card {
        padding:24px;
    }

    .rm-reviews-form-section {
        grid-template-columns:1fr;
        gap:30px;
        padding:30px 24px;
        margin-bottom:52px;
    }

    .rm-reviews-form-card {
        padding:24px;
    }

    .rm-review-form-grid {
        grid-template-columns:1fr;
    }

    .rm-review-form-full {
        grid-column:auto;
    }

}


/* ==================================================
   REVIEWS — TOP SPACING
   ================================================== */

.page-id-1734 .site-inner {
    padding-top:0 !important;
}

.page-id-1734 .rm-reviews-page {
    padding-top:48px !important;
}

@media (max-width:780px) {

    .page-id-1734 .rm-reviews-page {
        padding-top:32px !important;
    }

}


/* ==================================================
   REVIEWS — FORM FINAL REFINEMENT
   ================================================== */

.rm-reviews-page .rm-reviews-form-card {
    padding:34px;
    border-color:rgba(16,61,115,.32);
}

.rm-reviews-page .rm-review-form-grid {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:20px;
    row-gap:22px;
}

.rm-reviews-page .rm-review-form-grid > label {
    min-width:0;
}

.rm-reviews-page .rm-review-form-grid > label:nth-of-type(3),
.rm-reviews-page .rm-review-form-grid > label:nth-of-type(4) {
    grid-column:1 / -1 !important;
}

.rm-reviews-page .wpcf7-form-control-wrap {
    display:block;
    width:100%;
}

.rm-reviews-page .rm-review-form-grid input[type="text"],
.rm-reviews-page .rm-review-form-grid input[type="email"] {
    display:block;
    width:100%;
    min-height:46px;
    box-sizing:border-box;
}

.rm-reviews-page .rm-review-form-grid textarea {
    display:block;
    width:100%;
    min-height:170px;
    box-sizing:border-box;
}

.rm-reviews-page .rm-review-privacy {
    padding-top:2px;
    color:#465565;
    line-height:1.55;
}

.rm-reviews-page .wpcf7-list-item {
    margin:0;
}

.rm-reviews-page .wpcf7-list-item label {
    display:flex;
    gap:9px;
    align-items:flex-start;
}

.rm-reviews-page .wpcf7-list-item input[type="checkbox"] {
    flex:0 0 auto;
    margin-top:3px;
}

.rm-reviews-page .rm-review-form-grid input[type="submit"] {
    min-width:176px;
    min-height:46px;
    transition:background-color .18s ease, opacity .18s ease;
}

.rm-reviews-page .rm-review-form-grid input[type="submit"]:disabled {
    background:#135fa7 !important;
    color:#fff !important;
    opacity:.38;
    cursor:not-allowed;
}

.rm-reviews-page .rm-review-form-grid input[type="submit"]:not(:disabled) {
    background:#135fa7 !important;
    color:#fff !important;
    opacity:1;
}

.rm-reviews-page .rm-review-form-grid input[type="submit"]:not(:disabled):hover {
    background:#103d73 !important;
}

@media (max-width:780px) {

    .rm-reviews-page .rm-review-form-grid {
        grid-template-columns:1fr;
    }

    .rm-reviews-page .rm-review-form-grid > label:nth-of-type(3),
    .rm-reviews-page .rm-review-form-grid > label:nth-of-type(4) {
        grid-column:auto !important;
    }

    .rm-reviews-page .rm-reviews-form-card {
        padding:24px;
    }

}


/* ==================================================
   REVIEWS — GRID FIX + QUIZ
   ================================================== */

.rm-reviews-page .rm-review-form-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:22px 20px;
}

.rm-reviews-page .rm-review-field {
    min-width:0;
}

.rm-reviews-page .rm-review-field-full {
    grid-column:1 / -1;
}

.rm-reviews-page .rm-review-field > label {
    display:block;
    margin:0 0 8px;
    color:#172033;
    font-size:14px;
    font-weight:650;
}

.rm-reviews-page .rm-review-field input[type="text"],
.rm-reviews-page .rm-review-field input[type="email"],
.rm-reviews-page .rm-review-field textarea {
    display:block;
    width:100%;
    box-sizing:border-box;
}

.rm-reviews-page .rm-review-field textarea {
    min-height:170px;
}

.rm-reviews-page .rm-review-quiz {
    max-width:360px;
}

.rm-reviews-page .rm-review-quiz input {
    width:100% !important;
    min-height:46px;
    box-sizing:border-box;
}

.rm-reviews-page .rm-review-field small {
    display:block;
    margin-top:6px;
    color:#667585;
    font-size:12px;
    font-weight:400;
}

.rm-reviews-page .rm-review-submit {
    margin-top:2px;
}

@media (max-width:780px) {

    .rm-reviews-page .rm-review-form-grid {
        grid-template-columns:1fr;
    }

    .rm-reviews-page .rm-review-field-full {
        grid-column:auto;
    }

    .rm-reviews-page .rm-review-quiz {
        max-width:none;
    }

}


/* ==================================================
   REVIEWS — COMPACT FORM
   ================================================== */

.rm-reviews-page .rm-reviews-form-section {
    gap:40px;
    padding:36px;
    align-items:start;
}

.rm-reviews-page .rm-reviews-form-card {
    padding:26px;
}

.rm-reviews-page .rm-review-form-grid {
    gap:16px 18px;
}

.rm-reviews-page .rm-review-field > label {
    margin-bottom:6px;
}

.rm-reviews-page .rm-review-form-grid input[type="text"],
.rm-reviews-page .rm-review-form-grid input[type="email"],
.rm-reviews-page .rm-review-quiz input {
    min-height:42px;
    padding:10px 12px;
}

.rm-reviews-page .rm-review-form-grid textarea {
    min-height:110px;
    max-height:180px;
    padding:10px 12px;
}

.rm-reviews-page .rm-review-field small {
    margin-top:4px;
}

.rm-reviews-page .rm-review-quiz {
    max-width:290px;
}

.rm-reviews-page .rm-review-privacy {
    padding-top:0;
    margin-top:0;
}

.rm-reviews-page .rm-review-submit {
    margin-top:0;
}

.rm-reviews-page .rm-review-form-grid input[type="submit"] {
    min-height:42px;
    padding:10px 18px;
}

@media (max-width:780px) {

    .rm-reviews-page .rm-reviews-form-section {
        gap:26px;
        padding:26px 20px;
    }

    .rm-reviews-page .rm-reviews-form-card {
        padding:20px;
    }

}


/* ==================================================
   REVIEWS — REAL COMPACT FORM FIX
   ================================================== */

.page-id-1734 .rm-reviews-form-section {
    grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
    gap:34px;
    padding:32px;
}

.page-id-1734 .rm-reviews-form-card {
    padding:24px 26px !important;
}

/* CF7 può generare paragrafi/margini propri */
.page-id-1734 .rm-reviews-form-card .wpcf7-form p {
    margin:0 !important;
    padding:0 !important;
}

.page-id-1734 .rm-reviews-form-card .wpcf7-form br {
    display:none !important;
}

.page-id-1734 .rm-review-form-grid {
    gap:12px 18px !important;
}

.page-id-1734 .rm-review-field {
    margin:0 !important;
    padding:0 !important;
}

.page-id-1734 .rm-review-field > label {
    margin:0 0 5px !important;
}

.page-id-1734 .rm-review-form-grid input[type="text"],
.page-id-1734 .rm-review-form-grid input[type="email"],
.page-id-1734 .rm-review-quiz input {
    min-height:40px !important;
    height:40px !important;
    padding:8px 11px !important;
}

.page-id-1734 .rm-review-form-grid textarea {
    min-height:95px !important;
    height:95px !important;
    max-height:140px !important;
    padding:9px 11px !important;
}

.page-id-1734 .rm-review-field small {
    margin-top:3px !important;
    line-height:1.25;
}

.page-id-1734 .rm-review-quiz {
    max-width:250px !important;
}

.page-id-1734 .rm-review-privacy {
    margin-top:2px !important;
    line-height:1.4 !important;
}

.page-id-1734 .rm-review-submit {
    margin-top:0 !important;
}

.page-id-1734 .rm-review-form-grid input[type="submit"] {
    min-height:40px !important;
    height:40px;
    padding:8px 16px !important;
}

.page-id-1734 .wpcf7-spinner {
    margin:0 0 0 10px !important;
}

@media (max-width:780px) {

    .page-id-1734 .rm-reviews-form-section {
        grid-template-columns:1fr;
        gap:24px;
        padding:24px 20px;
    }

    .page-id-1734 .rm-reviews-form-card {
        padding:20px !important;
    }

}
