/* ============================================================
   SAM MUNTANYA - CONTACTA'M
   Diseño integrado con el resto de la web
   Elementor 4.2.4 compatible
   ============================================================ */

body.page-id-37 {
    --sam-gold:#b59d62;
    --sam-gold-soft:#d5c28f;
    --sam-olive:#64643a;
    --sam-dark:#353824;
    --sam-text:#4b4a35;
    --sam-muted:#707064;
    --sam-cream:#f5f2e9;
    --sam-cream-2:#faf9f5;
    --sam-white:#fff;
    --sam-line:#e4dfd0;
}

/* ============================================================
   QUITAR LIMITACIONES DE ASTRA
   ============================================================ */

body.page-id-37 .entry-header,
body.page-id-37 .entry-title {
    display:none !important;
}

body.page-id-37 .site-content,
body.page-id-37 .site-content > .ast-container,
body.page-id-37 #primary,
body.page-id-37 .site-main,
body.page-id-37 article,
body.page-id-37 .entry-content,
body.page-id-37 .elementor {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

body.page-id-37 .site-content .ast-container,
body.page-id-37 .ast-article-single {
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
    margin:0 !important;
}

/* ============================================================
   CORRECCIÓN CLAVE ELEMENTOR 4.2.4
   ============================================================ */

body.page-id-37 .sam-contact-page {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

body.page-id-37 .sam-contact-page > .e-con-inner,
body.page-id-37 .sam-contact-hero > .e-con-inner,
body.page-id-37 .sam-contact-intro > .e-con-inner,
body.page-id-37 .sam-contact-form-section > .e-con-inner,
body.page-id-37 .sam-contact-final > .e-con-inner {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

body.page-id-37 .sam-contact-shell > .e-con-inner {
    width:min(1180px, calc(100% - 64px)) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:0 !important;
}

/* ============================================================
   HERO
   ============================================================ */

body.page-id-37 .sam-contact-hero {
    position:relative !important;
    width:100% !important;
    min-height:540px !important;
    display:flex !important;
    background-position:center 55% !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    overflow:hidden !important;
}

body.page-id-37 .sam-contact-hero::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
        linear-gradient(
            90deg,
            rgba(22,31,21,.82) 0%,
            rgba(22,31,21,.65) 40%,
            rgba(22,31,21,.25) 72%,
            rgba(22,31,21,.05) 100%
        );
}

body.page-id-37 .sam-contact-hero-content {
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
}

body.page-id-37 .sam-contact-hero-content > .e-con-inner {
    width:min(1180px, calc(100% - 64px)) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:145px 0 85px !important;
    display:block !important;
}

body.page-id-37 .sam-contact-eyebrow .elementor-heading-title {
    margin:0 0 20px !important;
    color:var(--sam-gold-soft) !important;
    font-size:17px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
}

body.page-id-37 .sam-contact-title .elementor-heading-title {
    max-width:720px !important;
    margin:0 0 25px !important;
    color:#fff !important;
    font-size:clamp(46px,5vw,67px) !important;
    line-height:1.03 !important;
    letter-spacing:-1.8px !important;
    font-weight:600 !important;
}

body.page-id-37 .sam-contact-hero-text,
body.page-id-37 .sam-contact-hero-text p {
    max-width:650px !important;
    margin:0 !important;
    color:rgba(255,255,255,.94) !important;
    font-size:17px !important;
    line-height:1.7 !important;
}

/* ============================================================
   CONTACTO
   ============================================================ */

body.page-id-37 .sam-contact-intro {
    width:100% !important;
    padding:86px 0 92px !important;
    background:#fff !important;
}

body.page-id-37 .sam-contact-intro-grid > .e-con-inner {
    width:min(1180px, calc(100% - 64px)) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:0 !important;

    display:grid !important;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
    gap:78px !important;
    align-items:center !important;
}

body.page-id-37 .sam-contact-copy,
body.page-id-37 .sam-contact-photo {
    width:100% !important;
    max-width:none !important;
}

body.page-id-37 .sam-contact-copy > .e-con-inner {
    display:block !important;
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
}

body.page-id-37 .sam-contact-kicker .elementor-heading-title {
    margin:0 0 13px !important;
    color:var(--sam-gold) !important;
    font-size:17px !important;
    font-weight:600 !important;
}

body.page-id-37 .sam-contact-section-title .elementor-heading-title {
    max-width:480px !important;
    margin:0 0 26px !important;
    color:var(--sam-dark) !important;
    font-size:clamp(39px,3.6vw,52px) !important;
    line-height:1.07 !important;
    letter-spacing:-1.2px !important;
    font-weight:600 !important;
}

body.page-id-37 .sam-contact-description,
body.page-id-37 .sam-contact-description p {
    max-width:510px !important;
    margin:0 0 31px !important;
    color:var(--sam-muted) !important;
    font-size:16px !important;
    line-height:1.75 !important;
}

/* Contactos más similares al estilo de la web */

body.page-id-37 .sam-contact-button {
    margin:0 !important;
    border-bottom:1px solid var(--sam-line) !important;
}

body.page-id-37 .sam-contact-button:first-of-type {
    border-top:1px solid var(--sam-line) !important;
}

body.page-id-37 .sam-contact-button .elementor-button {
    width:100% !important;
    min-height:auto !important;
    display:flex !important;
    justify-content:flex-start !important;
    padding:17px 4px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--sam-text) !important;
    font-size:15px !important;
    font-weight:600 !important;
    text-align:left !important;
    transition:.2s ease !important;
}

body.page-id-37 .sam-contact-button .elementor-button:hover {
    padding-left:10px !important;
    background:transparent !important;
    color:var(--sam-gold) !important;
}

/* Imagen */

body.page-id-37 .sam-contact-photo {
    position:relative !important;
    min-height:500px !important;
    display:flex !important;
    align-items:flex-end !important;
    padding:28px !important;
    overflow:hidden !important;
    border-radius:3px !important;
    background-position:center center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    box-shadow:none !important;
}

body.page-id-37 .sam-contact-photo > .e-con-inner {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:flex-end !important;
}

body.page-id-37 .sam-contact-photo::before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(
            180deg,
            transparent 48%,
            rgba(20,28,18,.74) 100%
        );
}

body.page-id-37 .sam-photo-card {
    position:relative !important;
    z-index:2 !important;
    width:auto !important;
    max-width:410px !important;
    padding:20px 22px !important;
    border:0 !important;
    border-left:3px solid var(--sam-gold-soft) !important;
    border-radius:0 !important;
    background:rgba(42,52,36,.90) !important;
    box-shadow:none !important;
}

body.page-id-37 .sam-photo-card > .e-con-inner {
    display:block !important;
}

body.page-id-37 .sam-photo-title .elementor-heading-title {
    margin:0 0 6px !important;
    color:#fff !important;
    font-size:19px !important;
    font-weight:600 !important;
}

body.page-id-37 .sam-photo-text,
body.page-id-37 .sam-photo-text p {
    margin:0 !important;
    color:rgba(255,255,255,.88) !important;
    font-size:14px !important;
    line-height:1.55 !important;
}

/* ============================================================
   FORMULARIO
   ============================================================ */

body.page-id-37 .sam-contact-form-section {
    width:100% !important;
    padding:82px 0 90px !important;
    background:var(--sam-cream) !important;
}

body.page-id-37 .sam-contact-form-grid > .e-con-inner {
    width:min(1180px, calc(100% - 64px)) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:0 !important;

    display:grid !important;
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr) !important;
    gap:74px !important;
    align-items:start !important;
}

body.page-id-37 .sam-contact-form-column,
body.page-id-37 .sam-contact-benefits {
    width:100% !important;
    max-width:none !important;
}

body.page-id-37 .sam-contact-form-column > .e-con-inner,
body.page-id-37 .sam-contact-benefits > .e-con-inner {
    display:block !important;
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
}

body.page-id-37 .sam-form-title .elementor-heading-title {
    margin:0 0 12px !important;
    color:var(--sam-dark) !important;
    font-size:37px !important;
    line-height:1.15 !important;
    letter-spacing:-.8px !important;
    font-weight:600 !important;
}

body.page-id-37 .sam-form-intro,
body.page-id-37 .sam-form-intro p {
    margin:0 0 30px !important;
    color:var(--sam-muted) !important;
    font-size:15px !important;
    line-height:1.7 !important;
}

/* SureForms */

body.page-id-37 .sam-sureform {
    width:100% !important;
    max-width:none !important;
}

body.page-id-37 .sam-sureform input,
body.page-id-37 .sam-sureform select,
body.page-id-37 .sam-sureform textarea {
    width:100% !important;
    border:1px solid #ded9cb !important;
    border-radius:2px !important;
    background:#fff !important;
    box-shadow:none !important;
}

body.page-id-37 .sam-sureform input,
body.page-id-37 .sam-sureform select {
    min-height:51px !important;
}

body.page-id-37 .sam-sureform textarea {
    min-height:145px !important;
}

body.page-id-37 .sam-sureform button,
body.page-id-37 .sam-sureform [type="submit"] {
    min-height:48px !important;
    padding:13px 24px !important;
    border-radius:2px !important;
    background:var(--sam-gold) !important;
    color:#fff !important;
}

/* Ventajas: sin aspecto de tarjetas de app */

body.page-id-37 .sam-benefit {
    width:100% !important;
    margin:0 !important;
    padding:23px 0 !important;
    border:0 !important;
    border-bottom:1px solid #ded9ca !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

body.page-id-37 .sam-benefit:first-child {
    border-top:1px solid #ded9ca !important;
}

body.page-id-37 .sam-benefit > .e-con-inner {
    display:block !important;
    padding:0 !important;
}

body.page-id-37 .sam-benefit-title .elementor-heading-title {
    margin:0 0 8px !important;
    color:var(--sam-dark) !important;
    font-size:18px !important;
    font-weight:600 !important;
}

body.page-id-37 .sam-benefit-text,
body.page-id-37 .sam-benefit-text p {
    margin:0 !important;
    color:var(--sam-muted) !important;
    font-size:14px !important;
    line-height:1.6 !important;
}

/* ============================================================
   FRANJA FINAL
   ============================================================ */

body.page-id-37 .sam-contact-final {
    width:100% !important;
    padding:35px 0 !important;
    background:var(--sam-gold-soft) !important;
}

body.page-id-37 .sam-contact-final-grid > .e-con-inner {
    width:min(1180px, calc(100% - 64px)) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:0 !important;

    display:flex !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:35px !important;
}

body.page-id-37 .sam-final-text,
body.page-id-37 .sam-final-text p {
    margin:0 !important;
    color:var(--sam-dark) !important;
    font-size:16px !important;
    line-height:1.55 !important;
}

body.page-id-37 .sam-final-button .elementor-button {
    padding:12px 22px !important;
    border:1px solid var(--sam-dark) !important;
    border-radius:2px !important;
    background:transparent !important;
    color:var(--sam-dark) !important;
    box-shadow:none !important;
    font-weight:600 !important;
}

body.page-id-37 .sam-final-button .elementor-button:hover {
    background:var(--sam-dark) !important;
    color:#fff !important;
}

/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:1024px) {

    body.page-id-37 .sam-contact-hero-content > .e-con-inner,
    body.page-id-37 .sam-contact-intro-grid > .e-con-inner,
    body.page-id-37 .sam-contact-form-grid > .e-con-inner,
    body.page-id-37 .sam-contact-final-grid > .e-con-inner {
        width:calc(100% - 48px) !important;
    }

    body.page-id-37 .sam-contact-intro-grid > .e-con-inner,
    body.page-id-37 .sam-contact-form-grid > .e-con-inner {
        gap:48px !important;
    }
}

/* ============================================================
   MÓVIL
   ============================================================ */

@media(max-width:767px) {

    body.page-id-37 .sam-contact-hero {
        min-height:500px !important;
    }

    body.page-id-37 .sam-contact-hero::before {
        background:rgba(24,32,21,.65);
    }

    body.page-id-37 .sam-contact-hero-content > .e-con-inner {
        width:calc(100% - 34px) !important;
        padding:105px 0 58px !important;
    }

    body.page-id-37 .sam-contact-title .elementor-heading-title {
        font-size:42px !important;
        line-height:1.05 !important;
        letter-spacing:-1px !important;
    }

    body.page-id-37 .sam-contact-hero-text,
    body.page-id-37 .sam-contact-hero-text p {
        font-size:16px !important;
    }

    body.page-id-37 .sam-contact-intro,
    body.page-id-37 .sam-contact-form-section {
        padding:54px 0 60px !important;
    }

    body.page-id-37 .sam-contact-intro-grid > .e-con-inner,
    body.page-id-37 .sam-contact-form-grid > .e-con-inner {
        width:calc(100% - 34px) !important;
        display:block !important;
    }

    body.page-id-37 .sam-contact-section-title .elementor-heading-title {
        font-size:38px !important;
    }

    body.page-id-37 .sam-contact-photo {
        min-height:390px !important;
        margin-top:40px !important;
        padding:20px !important;
    }

    body.page-id-37 .sam-contact-form-column {
        margin-bottom:42px !important;
    }

    body.page-id-37 .sam-contact-final-grid > .e-con-inner {
        width:calc(100% - 34px) !important;
        display:block !important;
    }

    body.page-id-37 .sam-final-button {
        margin-top:20px !important;
    }
}

/* === SAM FORM REFINEMENT START === */

/* bloque general formulario */
body.page-id-37 .sam-contact-form-section {
    padding: 92px 0 96px !important;
    background: linear-gradient(180deg, #f6f3ea 0%, #f2efe4 100%) !important;
}

body.page-id-37 .sam-contact-form-grid > .e-con-inner {
    grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr) !important;
    gap: 62px !important;
    align-items: start !important;
}

/* columna izquierda: tarjeta del formulario */
body.page-id-37 .sam-contact-form-column {
    background: #ffffff !important;
    border: 1px solid #e6dfd0 !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 30px rgba(40,40,20,.05) !important;
}

body.page-id-37 .sam-contact-form-column > .e-con-inner {
    padding: 34px 34px 30px !important;
}

body.page-id-37 .sam-form-title .elementor-heading-title {
    font-size: 40px !important;
    margin-bottom: 10px !important;
    color: #3d4028 !important;
}

body.page-id-37 .sam-form-intro,
body.page-id-37 .sam-form-intro p {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #6f6d62 !important;
    margin-bottom: 26px !important;
    max-width: 760px !important;
}

/* ocultar botón interno edit form del frontal */
body.page-id-37 .sam-sureform a[href*="post.php"],
body.page-id-37 .sam-sureform .srfm-form-edit,
body.page-id-37 .sam-sureform .edit-form,
body.page-id-37 .sam-sureform .components-button {
    display: none !important;
}

/* labels */
body.page-id-37 .sam-sureform label {
    color: #7f7447 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .2px !important;
    margin-bottom: 6px !important;
}

/* inputs */
body.page-id-37 .sam-sureform input,
body.page-id-37 .sam-sureform select,
body.page-id-37 .sam-sureform textarea {
    width: 100% !important;
    border: 1px solid #ddd6c5 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #37372d !important;
    font-size: 15px !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

body.page-id-37 .sam-sureform input,
body.page-id-37 .sam-sureform select {
    min-height: 52px !important;
    padding: 0 14px !important;
}

body.page-id-37 .sam-sureform textarea {
    min-height: 170px !important;
    padding: 14px !important;
    resize: vertical !important;
}

body.page-id-37 .sam-sureform input::placeholder,
body.page-id-37 .sam-sureform textarea::placeholder {
    color: #aaa48f !important;
}

body.page-id-37 .sam-sureform input:focus,
body.page-id-37 .sam-sureform select:focus,
body.page-id-37 .sam-sureform textarea:focus {
    border-color: #b59d62 !important;
    box-shadow: 0 0 0 4px rgba(181,157,98,.12) !important;
    outline: none !important;
    background: #fff !important;
}

/* espaciados internos sureforms */
body.page-id-37 .sam-sureform .wp-block-srfm-form,
body.page-id-37 .sam-sureform form {
    margin: 0 !important;
}

body.page-id-37 .sam-sureform .srfm-form-container,
body.page-id-37 .sam-sureform .srfm-form {
    gap: 14px !important;
}

/* botón submit */
body.page-id-37 .sam-sureform button,
body.page-id-37 .sam-sureform [type="submit"],
body.page-id-37 .sam-sureform .srfm-submit-button {
    min-height: 50px !important;
    padding: 0 26px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #b59d62 !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .7px !important;
    text-transform: none !important;
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}

body.page-id-37 .sam-sureform button:hover,
body.page-id-37 .sam-sureform [type="submit"]:hover,
body.page-id-37 .sam-sureform .srfm-submit-button:hover {
    background: #8a7747 !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(120,100,50,.16) !important;
}

/* mensaje legal / texto pequeño */
body.page-id-37 .sam-contact-form-column .elementor-widget-text-editor:last-child,
body.page-id-37 .sam-contact-form-column .elementor-widget-text-editor:last-child p {
    font-size: 13px !important;
    color: #7b796b !important;
}

/* columna derecha de ventajas */
body.page-id-37 .sam-contact-benefits > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

body.page-id-37 .sam-benefit {
    padding: 22px 22px 18px !important;
    border: 1px solid #e2dccd !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.72) !important;
    backdrop-filter: blur(4px);
}

body.page-id-37 .sam-benefit:first-child {
    border-top: 1px solid #e2dccd !important;
}

body.page-id-37 .sam-benefit-title .elementor-heading-title {
    font-size: 20px !important;
    color: #3f412a !important;
    margin-bottom: 8px !important;
}

body.page-id-37 .sam-benefit-text,
body.page-id-37 .sam-benefit-text p {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #6a685d !important;
}

/* responsive */
@media (max-width: 1024px) {
    body.page-id-37 .sam-contact-form-grid > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }
}

@media (max-width: 767px) {
    body.page-id-37 .sam-contact-form-section {
        padding: 58px 0 62px !important;
    }

    body.page-id-37 .sam-contact-form-grid > .e-con-inner {
        width: calc(100% - 34px) !important;
        display: block !important;
    }

    body.page-id-37 .sam-contact-form-column > .e-con-inner {
        padding: 24px 18px 22px !important;
    }

    body.page-id-37 .sam-form-title .elementor-heading-title {
        font-size: 34px !important;
    }

    body.page-id-37 .sam-contact-benefits {
        margin-top: 24px !important;
    }
}

/* === SAM FORM REFINEMENT END === */

/* ============================================================
   SAM CONTACT - REFINADO FINAL
   ============================================================ */

body.page-id-37 .sam-contact-form-grid > .e-con-inner {
    grid-template-columns:minmax(0,1.55fr) minmax(270px,.45fr) !important;
    gap:54px !important;
}

/* Tarjeta más sobria y más integrada con la web */
body.page-id-37 .sam-contact-form-column {
    border-radius:5px !important;
    border-color:#e1dac9 !important;
    box-shadow:0 8px 26px rgba(50,48,28,.045) !important;
}

body.page-id-37 .sam-contact-form-column > .e-con-inner {
    padding:40px 40px 36px !important;
}

/* Título */
body.page-id-37 .sam-form-title .elementor-heading-title {
    font-size:39px !important;
    letter-spacing:-1px !important;
}

/* Más aire entre campos */
body.page-id-37 .sam-sureform .srfm-block {
    margin-bottom:17px !important;
}

/* Campos */
body.page-id-37 .sam-sureform input,
body.page-id-37 .sam-sureform select {
    min-height:54px !important;
}

body.page-id-37 .sam-sureform textarea {
    min-height:180px !important;
}

/* Botón algo más contundente */
body.page-id-37 .sam-sureform button[type="submit"],
body.page-id-37 .sam-sureform input[type="submit"],
body.page-id-37 .sam-sureform .srfm-submit-button {
    min-width:180px !important;
    min-height:52px !important;
    padding:0 30px !important;
    background:#b59d62 !important;
    border-radius:3px !important;
}

body.page-id-37 .sam-sureform button[type="submit"]:hover,
body.page-id-37 .sam-sureform input[type="submit"]:hover,
body.page-id-37 .sam-sureform .srfm-submit-button:hover {
    background:#67643d !important;
}

/* Ventajas más elegantes */
body.page-id-37 .sam-contact-benefits > .e-con-inner {
    gap:13px !important;
}

body.page-id-37 .sam-benefit {
    min-height:116px !important;
    display:flex !important;
    align-items:center !important;
    padding:22px 24px !important;
    border-radius:5px !important;
    background:rgba(255,255,255,.68) !important;
    box-shadow:none !important;
}

body.page-id-37 .sam-benefit > .e-con-inner {
    width:100% !important;
}

body.page-id-37 .sam-benefit-title .elementor-heading-title {
    font-size:19px !important;
    margin-bottom:7px !important;
}

body.page-id-37 .sam-benefit-text,
body.page-id-37 .sam-benefit-text p {
    line-height:1.6 !important;
}

/* Móvil */
@media(max-width:767px) {

    body.page-id-37 .sam-contact-form-column > .e-con-inner {
        padding:27px 20px 25px !important;
    }

    body.page-id-37 .sam-sureform button[type="submit"],
    body.page-id-37 .sam-sureform input[type="submit"],
    body.page-id-37 .sam-sureform .srfm-submit-button {
        width:100% !important;
    }

    body.page-id-37 .sam-benefit {
        min-height:auto !important;
    }
}


/* ============================================================
   SAM CONTACT - BAJAR UN POCO MÁS EL TITULO HERO
   ============================================================ */

body.page-id-37 .sam-contact-hero-content > .e-con-inner {
    padding-top: 175px !important;
}

@media(max-width:767px) {
    body.page-id-37 .sam-contact-hero-content > .e-con-inner {
        padding-top: 125px !important;
    }
}

