/* Menupolis landing overrides: solo ajustes de contenido/formulario, sin tocar scripts ni animaciones base */
   .menupolis-form-card {
       background: #ffffff;
       border: 1px solid rgba(0,0,0,.12);
       border-radius: 24px;
       padding: clamp(24px, 4vw, 40px);
       box-shadow: 0 18px 48px rgba(0,0,0,.08);
   }
   .menupolis-form-label {
       display: block;
       color: #222222;
       font-weight: 700;
       font-size: 17px;
       line-height: 1.2;
       margin-bottom: 8px;
   }
   .menupolis-phone-group {
       display: grid;
       grid-template-columns: 88px 1fr;
       gap: 10px;
   }
   .menupolis-phone-code {
       width: 100%;
       height: 56px;
       border: 1px solid rgba(0,0,0,.18);
       border-radius: 8px;
       padding: 0 12px;
       background: #fff;
       color: #333;
       font-size: 15px;
   }
   .menupolis-privacy {
       display: flex;
       align-items: center;
       gap: 10px;
       color: #444;
       font-size: 14px;
       margin: 22px 0 24px;
   }
   .menupolis-privacy input {
       width: 26px;
       height: 26px;
       flex: 0 0 26px;
       border-radius: 7px;
       accent-color: #f84d45;
   }
   .menupolis-submit.sec-4-about-form__btn {
       width: 100%;
       justify-content: center;
       background: #f84d45;
       border-color: #f84d45;
       color: #fff;
   }
   .menupolis-submit.sec-4-about-form__btn:hover {
       background: #e83f38;
       border-color: #e83f38;
   }
   .menupolis-modalidades-note {
       max-width: 720px;
   }
   @media (max-width: 575px){
       .menupolis-phone-group { grid-template-columns: 1fr; }
   }

   .menupolis-how {
       background: ;
       color: #f6f6f6;
   }
   .menupolis-how .common-black,
   .menupolis-how .common-black span,
   .menupolis-how .common-black i { color: #f6f6f6; }
   .menupolis-how__title {
       font-size: clamp(46px, 6vw, 84px);
       letter-spacing: -0.04em;
       color: #f6f6f6;
   }
   .menupolis-how__image {
       border-radius: 28px;
       overflow: hidden;
       min-height: 420px;
       background: #191919;
   }
   .menupolis-how__image img {
       width: 100%;
       height: 100%;
       min-height: 420px;
       object-fit: cover;
   }
   .menupolis-how-card {
       border: 1px solid rgba(255,255,255,.72);
       border-radius: 18px;
       padding: 28px 30px;
       min-height: 148px;
       display: grid;
       grid-template-columns: 42px 1fr;
       gap: 24px;
       align-items: start;
       color: #f6f6f6;
       background: transparent;
   }
   .menupolis-how-card.active {
       background: #f6f6f6;
       color: #111;
       border-color: #f6f6f6;
   }
   .menupolis-how-card__icon {
       width: 34px;
       height: 34px;
       display: inline-flex;
       align-items: center;
       justify-content: center;
   }
   .menupolis-how-card h3 {
       color: inherit;
       margin-bottom: 10px;
       font-size: 24px;
   }
   .menupolis-how-card p {
       color: inherit;
       margin: 0;
       font-size: 18px;
       line-height: 1.28;
   }
   .menupolis-pricing .home-2-pricing-card {
       height: 100%;
   }
   .menupolis-pricing-note {
       border-radius: 28px;
       border: 1px solid rgba(0,0,0,.08);
       background: #fff;
       padding: clamp(24px, 4vw, 42px);
   }
   .menupolis-faq .at-faq-button {
       text-align: left;
   }
   @media (max-width: 991px){
       .menupolis-how__image,
       .menupolis-how__image img { min-height: 320px; }
       .menupolis-how-card { grid-template-columns: 1fr; gap: 14px; }
   }




/* ==========================================================
   Menupolis CF7 Form
   ========================================================== */

.mp-form-card {
    width: 100%;
    background: #ffffff;
    border: 1px solid rgba(16, 16, 16, 0.08);
    border-radius: 28px;
    padding: clamp(24px, 4vw, 44px);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.10);
    position: relative;
    overflow: hidden;
}

.mp-form-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, #f84d45, #ff8a3d);
}

.mp-form-header {
    margin-bottom: 28px;
}

.mp-form-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #f84d45;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

.mp-form-eyebrow::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #f84d45;
}

.mp-form-title {
    color: #161616;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.05;
    font-weight: 800;
    margin: 0 0 12px;
    letter-spacing: -0.04em;
}

.mp-form-description {
    color: #5f5f5f;
    font-size: 16px;
    line-height: 1.55;
    margin: 0;
    max-width: 620px;
}

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

.mp-form-field {
    position: relative;
}

.mp-form-field-full {
    grid-column: 1 / -1;
}

.mp-form-label {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #1c1c1c;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 800;
    margin-bottom: 8px;
}

.mp-form-label span {
    color: #f84d45;
}

.mp-form-control,
.mp-form-card .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
    width: 100%;
    min-height: 56px;
    border: 1px solid rgba(20, 20, 20, 0.14);
    border-radius: 14px;
    background: #fafafa;
    color: #171717;
    font-size: 15px;
    line-height: 1.4;
    padding: 15px 16px;
    outline: none;
    box-shadow: none;
    transition: border-color .22s ease, background-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.mp-form-control::placeholder,
.mp-form-card .wpcf7-form-control::placeholder {
    color: #9a9a9a;
}

.mp-form-control:hover,
.mp-form-card .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):hover {
    border-color: rgba(20, 20, 20, 0.28);
    background: #ffffff;
}

.mp-form-control:focus,
.mp-form-card .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):focus {
    border-color: #f84d45;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(248, 77, 69, 0.12);
}

.mp-form-textarea,
.mp-form-card textarea.wpcf7-form-control {
    min-height: 130px;
    resize: vertical;
}

.mp-form-select {
    cursor: pointer;
    appearance: auto;
}

.mp-phone-group {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 10px;
}

.mp-form-help {
    display: block;
    color: #777;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 7px;
}

/* CF7 wrappers */
.mp-form-card .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* Acceptance */
.mp-form-acceptance {
    border: 1px solid rgba(20, 20, 20, 0.10);
    background: #fafafa;
    border-radius: 16px;
    padding: 16px;
}

.mp-form-acceptance .wpcf7-list-item {
    margin: 0;
}

.mp-form-acceptance label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    cursor: pointer;
}

.mp-form-acceptance input[type="checkbox"] {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    margin-top: 1px;
    accent-color: #f84d45;
    cursor: pointer;
}

.mp-form-acceptance span {
    color: #4a4a4a;
    font-size: 14px;
    line-height: 1.45;
}

/* Submit */
.mp-form-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mp-form-submit,
.mp-form-card input[type="submit"].wpcf7-submit {
    width: 100%;
    min-height: 60px;
    border: 0;
    border-radius: 999px;
    background: #f84d45;
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
    padding: 18px 26px;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(248, 77, 69, 0.28);
    transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, opacity .22s ease;
}

.mp-form-submit:hover,
.mp-form-card input[type="submit"].wpcf7-submit:hover {
    background: #e83f38;
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(248, 77, 69, 0.34);
}

.mp-form-submit:active,
.mp-form-card input[type="submit"].wpcf7-submit:active {
    transform: translateY(0);
    box-shadow: 0 10px 22px rgba(248, 77, 69, 0.24);
}

.mp-form-card form.submitting .mp-form-submit,
.mp-form-card form.submitting input[type="submit"].wpcf7-submit {
    pointer-events: none;
    opacity: 0.72;
}

.mp-form-secure {
    color: #777;
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
    margin: 0;
}

/* Error states */
.mp-form-card .wpcf7-not-valid,
.mp-form-card .wpcf7-not-valid:focus {
    border-color: #dc2626 !important;
    background: #fff7f7 !important;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.10) !important;
}

.mp-form-card .wpcf7-not-valid-tip {
    color: #dc2626;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
        display: none;
    margin-top: 7px;
}

.mp-form-card .wpcf7-response-output {
    border: 0 !important;
    border-radius: 16px;
    padding: 14px 16px !important;
    margin: 22px 0 0 !important;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 700;
}

.mp-form-card form.invalid .wpcf7-response-output,
.mp-form-card form.unaccepted .wpcf7-response-output,
.mp-form-card form.spam .wpcf7-response-output {
    background: #fff7ed;
    color: #9a3412;
}

.mp-form-card form.sent .wpcf7-response-output {
    background: #ecfdf5;
    color: #047857;
}

.mp-form-card form.failed .wpcf7-response-output,
.mp-form-card form.aborted .wpcf7-response-output {
    background: #fef2f2;
    color: #b91c1c;
}

/* Field active state added by JS */
.mp-form-field.is-focused .mp-form-label {
    color: #f84d45;
}

.mp-form-field.has-value .mp-form-label {
    color: #161616;
}

/* Loading feedback */
.mp-form-card .wpcf7-spinner {
    display: none;
}

.mp-form-card form.submitting .mp-form-actions {
    position: relative;
}

.mp-form-card form.submitting .mp-form-actions::after {
    content: "Enviando solicitud...";
    display: block;
    color: #f84d45;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

/* Responsive */
@media (max-width: 767px) {
    .mp-form-card {
        border-radius: 22px;
        padding: 24px;
    }

    .mp-form-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .mp-phone-group {
        grid-template-columns: 1fr;
    }

    .mp-form-title {
        letter-spacing: -0.03em;
    }
}

@media (max-width: 420px) {
    .mp-form-card {
        padding: 22px 18px;
    }

    .mp-form-control,
    .mp-form-card .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
        min-height: 54px;
        border-radius: 12px;
    }

    .mp-form-submit,
    .mp-form-card input[type="submit"].wpcf7-submit {
        min-height: 56px;
    }
}