/* =========================================================
   INDEX.CSS
   Página: Inicio / Home
   Proyecto: Primera Notaría de Parral

   CONTENIDO
   1. Ajustes puntuales del home
   2. Flecha subir / compatibilidad con asistente
   3. Hero principal
   4. Bloque "El Notario"
   5. Sección "Nuestra oficina"
      5.1 Hero oscuro
      5.2 Bloque editorial
      5.3 Cards de momentos
      5.4 Frase destacada
      5.5 Servicios
      5.6 Cierre
   6. Animaciones
   7. Responsive

   NOTAS
   - Este archivo debe usarse solo en index.html
   - Aquí van exclusivamente estilos propios del home
   - Evitar mover aquí estilos globales del sitio
========================================================= */


/* =========================================================
   1. AJUSTES PUNTUALES DEL HOME
========================================================= */

/* Delay del último botón visible del hero.
   Ojo: en esta versión del home hay 7 botones visibles. */
.cid-uDabAiGHPa .text-wrapper .mbr-section-btn .animar-boton:nth-child(7) {
    animation-delay: 1.9s;
}


/* =========================================================
   2. FLECHA SUBIR / COMPATIBILIDAD CON ASISTENTE
========================================================= */

/* Estado base: la flecha inicia oculta y sin interferir visualmente.
   Esto ayuda a que no se solape con el asistente flotante. */
#scrollToTop.scrollToTop.mbr-arrow-up {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(10px) !important;
    transition:
        opacity .28s ease,
        transform .28s ease,
        visibility .28s ease !important;
}

/* Cuando Mobirise activa la flecha al hacer scroll,
   vuelve a mostrarse normalmente. */
#scrollToTop.scrollToTop.mbr-arrow-up.active,
#scrollToTop.scrollToTop.mbr-arrow-up.show,
#scrollToTop.scrollToTop.mbr-arrow-up.visible,
#scrollToTop.scrollToTop.mbr-arrow-up[style*="display: block"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}


/* =========================================================
   3. HERO PRINCIPAL
   Sección superior con nombre de la notaría, nombre del notario
   y botones principales del home.
========================================================= */

/* Contenedor principal del bloque de textos del hero */
.cid-uDabAiGHPa .text-wrapper {
    max-width: 900px;
    margin: 0 auto;
}

/* Forzar alineación centrada del contenido textual del hero */
.cid-uDabAiGHPa .mbr-section-title,
.cid-uDabAiGHPa .mbr-text {
    text-align: center;
}

/* Título superior: "Primera Notaría de Parral" */
.cid-uDabAiGHPa .hero-title-top {
    margin-bottom: .5rem !important;
}

/* Título principal: nombre del notario */
.cid-uDabAiGHPa .hero-title-main {
    margin-bottom: .55rem !important;
    animation: heroTitleReveal .9s ease both;
}

/* Contenedor de la línea decorativa */
.cid-uDabAiGHPa .hero-divider-wrap {
    display: flex;
    justify-content: center;
    animation: heroDividerReveal 1s ease both;
    animation-delay: .08s;
}

/* Línea decorativa dorada del hero */
.cid-uDabAiGHPa .hero-divider {
    width: 168px;
    height: 1px;
    margin: .2rem 0 1.15rem;
    background: linear-gradient(90deg,
            rgba(201, 169, 107, 0) 0%,
            rgba(201, 169, 107, .55) 20%,
            rgba(201, 169, 107, .95) 50%,
            rgba(201, 169, 107, .55) 80%,
            rgba(201, 169, 107, 0) 100%);
    opacity: .95;
}

/* Grilla flexible de botones del hero */
.cid-uDabAiGHPa .hero-btn-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px 24px;
    max-width: 980px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Estilo individual de cada botón del hero */
.cid-uDabAiGHPa .hero-btn-grid .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 168px;
    min-height: 42px;
    margin: 0 !important;
    padding: .6rem 1.45rem !important;
    text-align: center;
    white-space: nowrap;
    font-size: .9rem !important;
    line-height: 1 !important;
}


/* =========================================================
   4. BLOQUE "EL NOTARIO"
   Imagen a la izquierda + texto de presentación a la derecha
========================================================= */

/* Ajuste general del bloque para controlar mejor el aire vertical */
#image2-c {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
    min-height: auto !important;
}

/* Asegura que container y row no hereden alturas extrañas */
#image2-c .container,
#image2-c .row {
    min-height: auto !important;
}

/* Centra verticalmente imagen y texto */
#image2-c .row {
    align-items: center !important;
}

/* Contenedor del texto del notario */
#image2-c .text-wrapper {
    animation: opaFadeUp .9s ease both;
    padding-top: 0;
    padding-bottom: 0;
}

/* Título del bloque del notario */
#image2-c .mbr-section-title.display-7 {
    margin-bottom: .45rem !important;
}

/* Cuerpo del texto del notario */
#image2-c .mbr-text.display-7 {
    line-height: 1.28;
}

/* Línea decorativa bajo el nombre */
#image2-c .opa-divider-soft {
    width: 128px;
    height: 1px;
    margin: .45rem 0 .7rem;
    background: linear-gradient(90deg,
            rgba(201, 169, 107, 0) 0%,
            rgba(201, 169, 107, .5) 20%,
            rgba(201, 169, 107, .95) 50%,
            rgba(201, 169, 107, .5) 80%,
            rgba(201, 169, 107, 0) 100%);
    opacity: .95;
    animation: opaLineReveal .95s ease both;
}

/* Nombre del notario */
#image2-c .opa-title-main {
    animation: opaFadeUp .7s ease both;
    font-size: clamp(1.26rem, 1.08rem + .72vw, 1.72rem) !important;
    line-height: 1.08 !important;
    letter-spacing: .045em;
    text-transform: uppercase;
    font-weight: 800 !important;
    margin-bottom: .35rem !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.08);
}

/* Refuerzo de peso del strong dentro del título */
#image2-c .opa-title-main strong {
    font-weight: 800 !important;
}

/* Texto principal del bloque del notario */
#image2-c .opa-body-copy {
    animation: opaFadeUp 1s ease both;
    animation-delay: .2s;
}


/* =========================================================
   4.1 BLOQUE "ENTREVISTA CON EL NOTARIO"
   Sección editorial / institucional ubicada entre
   "El Notario" y "Nuestra oficina"
========================================================= */

#entrevista-notario-home {
    position: relative;
    padding: 1.2rem 0 4.2rem;
    background:
        radial-gradient(circle at top center, rgba(201, 169, 107, .08), transparent 34%),
        linear-gradient(180deg, #fbf8f3 0%, #f8f4ee 45%, #f6f1ea 100%);
    overflow: visible;
}

#entrevista-notario-home .enh-wrap {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
    position: relative;
}

#entrevista-notario-home .enh-shell {
    position: relative;
    padding: 2.4rem 0 0;
}

#entrevista-notario-home .enh-note {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.05rem;
    padding: .42rem .82rem;
    border-radius: 999px;
    background: rgba(60, 76, 69, .07);
    color: #55645d;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .24em;
    text-transform: uppercase;
}

#entrevista-notario-home .enh-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, .82fr);
    gap: 2rem;
    align-items: stretch;
}

#entrevista-notario-home .enh-copy {
    position: relative;
    padding: 2.2rem 2.2rem 2rem;
    border-radius: 28px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(151, 130, 110, .16);
    box-shadow:
        0 22px 54px rgba(28, 24, 20, .08),
        0 2px 0 rgba(255, 255, 255, .68) inset;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: hidden;
}

#entrevista-notario-home .enh-copy::before {
    content: "“";
    position: absolute;
    top: .7rem;
    left: 1.2rem;
    font-family: 'EB Garamond', serif;
    font-size: 5rem;
    line-height: 1;
    color: rgba(200, 143, 114, .26);
    pointer-events: none;
}

#entrevista-notario-home .enh-copy::after {
    content: "";
    position: absolute;
    left: 0;
    top: 22px;
    bottom: 22px;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(200, 143, 114, .92), rgba(201, 169, 107, .55));
}

#entrevista-notario-home .enh-intro {
    margin: 0 0 .8rem;
    font-size: .98rem;
    line-height: 1.7;
    color: rgba(31, 26, 23, .66);
    letter-spacing: .02em;
}

#entrevista-notario-home .enh-title {
    margin: 0;
    font-family: 'EB Garamond', serif !important;
    font-size: clamp(2.1rem, 1.8rem + 1.15vw, 3.4rem);
    line-height: 1.02;
    letter-spacing: -.02em;
    color: #17130f;
}

#entrevista-notario-home .enh-divider {
    width: 158px;
    height: 1px;
    margin: 1rem 0 1.2rem;
    background: linear-gradient(90deg,
            rgba(201, 169, 107, 0) 0%,
            rgba(201, 169, 107, .55) 22%,
            rgba(201, 169, 107, .95) 50%,
            rgba(201, 169, 107, .55) 78%,
            rgba(201, 169, 107, 0) 100%);
}

#entrevista-notario-home .enh-text {
    margin: 0 0 1rem;
    color: rgba(31, 26, 23, .84);
    font-size: 1.05rem;
    line-height: 1.92;
}

#entrevista-notario-home .enh-text-script {
    font-family: 'EB Garamond', serif !important;
    font-style: italic;
    font-size: clamp(1.18rem, 1.06rem + .35vw, 1.4rem);
    line-height: 1.78;
    color: #7d5a49;
}

#entrevista-notario-home .enh-signature {
    margin: 1.35rem 0 .1rem;
    font-family: 'EB Garamond', serif !important;
    font-size: 1.35rem;
    font-style: italic;
    color: #2b231d;
}

#entrevista-notario-home .enh-role {
    margin: 0;
    font-size: .9rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(31, 26, 23, .48);
}

#entrevista-notario-home .enh-aside {
    display: flex;
    align-items: stretch;
}

#entrevista-notario-home .enh-card {
    width: 100%;
    padding: 1.95rem 1.65rem 1.5rem;
    border-radius: 24px;
    color: #fff;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(17, 20, 29, .90) 0%, rgba(26, 18, 20, .86) 100%),
        linear-gradient(135deg, #10131c 0%, #1a1418 100%);
    box-shadow: 0 28px 60px rgba(19, 16, 25, .14);
    border: 1px solid rgba(255, 255, 255, .06);

    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 100%;
    gap: .9rem;
}

#entrevista-notario-home .enh-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 22% 18%, rgba(255, 255, 255, .08), transparent 18%),
        radial-gradient(circle at 78% 26%, rgba(201, 169, 107, .14), transparent 22%);
    pointer-events: none;
}

#entrevista-notario-home .enh-card-kicker {
    position: relative;
    z-index: 1;
    display: inline-block;
    margin: 0;
    font-size: .74rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, .82);
}

#entrevista-notario-home .enh-card-title {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: 'EB Garamond', serif !important;
    font-size: clamp(1.9rem, 1.65rem + .45vw, 2.2rem);
    line-height: 1.12;
    letter-spacing: -.01em;
    color: #fff;
    max-width: 11ch;
}

#entrevista-notario-home .enh-card-text {
    position: relative;
    z-index: 1;
    margin: 0;
    font-size: 1rem;
    line-height: 1.82;
    color: rgba(255, 255, 255, .88);
    max-width: 34ch;
}

#entrevista-notario-home .enh-actions {
    position: relative;
    z-index: 1;
    margin: .2rem 0 0;
}

/* Pantalla 1: centrar botón principal */
#entrevista-notario-home .enh-step-intro .enh-actions {
    display: flex;
    justify-content: center;
    align-items: center;
}

#entrevista-notario-home .enh-step-intro .enh-actions .btn {
    margin-left: auto !important;
    margin-right: auto !important;
}

#entrevista-notario-home .enh-actions .btn {
    min-width: 100%;
    min-height: 52px;
    border-radius: 999px;
    padding: .88rem 1.15rem !important;
    font-size: .88rem !important;
    letter-spacing: .08em;
    font-weight: 700 !important;
}

#entrevista-notario-home .enh-footnote {
    position: relative;
    z-index: 1;
    margin: .15rem 0 0;
    font-size: .86rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, .68);
    margin-top: auto;
}

/* Movimiento sutil elegante */
#entrevista-notario-home .enh-copy,
#entrevista-notario-home .enh-card {
    transform: translateY(0) scale(1);
    transition:
        transform .42s cubic-bezier(.22, .61, .36, 1),
        box-shadow .42s cubic-bezier(.22, .61, .36, 1),
        border-color .28s ease,
        filter .32s ease;
    will-change: transform, box-shadow;
}

#entrevista-notario-home .enh-copy:hover {
    transform: translateY(-10px) scale(1.015);
    box-shadow:
        0 32px 72px rgba(28, 24, 20, .14),
        0 10px 22px rgba(28, 24, 20, .06);
    border-color: rgba(151, 130, 110, .22);
}

#entrevista-notario-home .enh-card:hover {
    transform: translateY(-14px) scale(1.025);
    box-shadow:
        0 38px 84px rgba(19, 16, 25, .24),
        0 14px 30px rgba(19, 16, 25, .12);
    filter: saturate(1.03) brightness(1.02);
}

/* =========================================================
   4.2 AGENDA / FLUJO ENTREVISTA CON EL NOTARIO
========================================================= */

#entrevista-notario-home .enh-card-flow {
    justify-content: flex-start;
    padding: 1.95rem 1.65rem 1.5rem;
    min-height: 100%;
    overflow: visible;
}

#entrevista-notario-home .enh-step {
    display: none;
    position: relative;
    z-index: 1;
}

#entrevista-notario-home .enh-step.is-active {
    display: flex;
    flex-direction: column;
    gap: .58rem;
    min-height: 100%;
}

#entrevista-notario-home .enh-step-intro {
    gap: .9rem;
}

#entrevista-notario-home .enh-card-title-intro {
    max-width: 12ch;
    font-size: clamp(1.85rem, 1.62rem + .45vw, 2.2rem);
    line-height: 1.1;
}

#entrevista-notario-home .enh-card-text-intro {
    max-width: 34ch;
    font-size: 1rem;
    line-height: 1.78;
}

#entrevista-notario-home .enh-open-calendar {
    position: relative;
    overflow: hidden;
}

#entrevista-notario-home .enh-open-calendar::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, .20) 48%,
            rgba(255, 255, 255, 0) 100%);
    transform: translateX(-130%);
    transition: transform .7s ease;
    pointer-events: none;
}

#entrevista-notario-home .enh-open-calendar:hover::after {
    transform: translateX(130%);
}

#entrevista-notario-home .enh-step-topbar {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin: 0;
}

#entrevista-notario-home .enh-back-btn,
#entrevista-notario-home .enh-month-nav,
#entrevista-notario-home .enh-week-nav {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .06);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    transition:
        transform .22s ease,
        background-color .22s ease,
        border-color .22s ease,
        opacity .22s ease;
}

#entrevista-notario-home .enh-back-btn:hover,
#entrevista-notario-home .enh-month-nav:hover,
#entrevista-notario-home .enh-week-nav:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, .10);
    border-color: rgba(255, 255, 255, .18);
}

#entrevista-notario-home .enh-week-nav:disabled {
    opacity: .35;
    cursor: not-allowed;
    transform: none;
}

#entrevista-notario-home .enh-step-topbar-copy {
    min-width: 0;
}

#entrevista-notario-home .enh-step-kicker {
    display: block;
    margin: 0 0 .08rem;
    font-size: .56rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .54);
    font-weight: 700;
}

#entrevista-notario-home .enh-step-heading {
    margin: 0;
    font-family: 'EB Garamond', serif !important;
    font-size: 1.12rem;
    line-height: 1.02;
    color: #fff;
}

#entrevista-notario-home .enh-calendar-toolbar {
    display: grid;
    grid-template-columns: 36px 1fr 36px;
    gap: .45rem;
    align-items: center;
    padding: .5rem .62rem;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .08) 0%, rgba(255, 255, 255, .04) 100%);
    border: 1px solid rgba(255, 255, 255, .10);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .05),
        0 8px 18px rgba(0, 0, 0, .07);
}

#entrevista-notario-home .enh-calendar-toolbar-copy {
    text-align: center;
}

#entrevista-notario-home .enh-calendar-toolbar-mini {
    display: block;
    margin: 0 0 .06rem;
    font-size: .52rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .52);
    font-weight: 700;
}

#entrevista-notario-home .enh-calendar-toolbar-title {
    margin: 0;
    font-family: 'EB Garamond', serif !important;
    font-size: .96rem;
    line-height: 1;
    color: #fff;
}

#entrevista-notario-home .enh-week-toolbar {
    display: grid;
    grid-template-columns: 32px 1fr 32px;
    gap: .38rem;
    align-items: center;
    margin-top: -.14rem;
    padding: .42rem .54rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .08);
}

#entrevista-notario-home .enh-week-toolbar-copy {
    text-align: center;
}

#entrevista-notario-home .enh-week-toolbar-mini {
    display: block;
    margin: 0 0 .06rem;
    font-size: .52rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .52);
    font-weight: 700;
}

#entrevista-notario-home .enh-week-toolbar-title {
    margin: 0;
    font-family: 'EB Garamond', serif !important;
    font-size: .96rem;
    line-height: 1;
    color: #fff;
}

#entrevista-notario-home .enh-availability-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .62rem;
    margin-top: .22rem;
    margin-bottom: .18rem;
}

#entrevista-notario-home .enh-day-card {
    position: relative;
    min-height: 126px;
    padding: .72rem .72rem .7rem;
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .04);
    color: #fff;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition:
        transform .25s ease,
        border-color .25s ease,
        background-color .25s ease,
        box-shadow .25s ease,
        opacity .25s ease;
}

#entrevista-notario-home .enh-day-card.is-clickable {
    cursor: pointer;
}

#entrevista-notario-home .enh-day-card.is-clickable:hover {
    transform: translateY(-3px);
    border-color: rgba(201, 169, 107, .38);
    background: rgba(255, 255, 255, .07);
    box-shadow: 0 12px 22px rgba(0, 0, 0, .12);
}

#entrevista-notario-home .enh-day-card.is-enabled::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 2px;
    border-radius: 15px 15px 0 0;
    background: linear-gradient(90deg,
            rgba(201, 169, 107, .15),
            rgba(216, 160, 127, .95),
            rgba(201, 169, 107, .15));
}

#entrevista-notario-home .enh-day-card.is-disabled {
    opacity: .72;
}

#entrevista-notario-home .enh-day-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .35rem;
    margin-bottom: .28rem;
}

#entrevista-notario-home .enh-day-name {
    display: block;
    font-size: .56rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .6);
    font-weight: 700;
    margin-bottom: .08rem;
}

#entrevista-notario-home .enh-day-number {
    display: block;
    font-family: 'EB Garamond', serif !important;
    font-size: 1.34rem;
    line-height: 1;
    color: #fff;
}

#entrevista-notario-home .enh-day-month {
    font-size: .58rem;
    color: rgba(255, 255, 255, .5);
    letter-spacing: .05em;
    text-transform: uppercase;
}

#entrevista-notario-home .enh-day-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: .2rem .4rem;
    border-radius: 999px;
    font-size: .54rem;
    line-height: 1;
    letter-spacing: .05em;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: .22rem;
    white-space: nowrap;
}

#entrevista-notario-home .enh-day-card.is-enabled .enh-day-state {
    background: rgba(216, 160, 127, .14);
    color: #f5dccd;
    border: 1px solid rgba(216, 160, 127, .26);
}

#entrevista-notario-home .enh-day-card.is-disabled .enh-day-state {
    background: rgba(255, 255, 255, .06);
    color: rgba(255, 255, 255, .74);
    border: 1px solid rgba(255, 255, 255, .08);
}

#entrevista-notario-home .enh-day-state-note {
    display: block;
    font-size: .72rem;
    line-height: 1.24;
    color: rgba(255, 255, 255, .74);
    max-width: none;
}

#entrevista-notario-home .enh-calendar-help,
#entrevista-notario-home .enh-detail-help {
    margin: .08rem 0 .12rem;
    padding-top: 0;
    font-size: .76rem;
    line-height: 1.32;
    color: rgba(255, 255, 255, .7);
}

#entrevista-notario-home .enh-slot-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .62rem;
    margin-top: .22rem;
    margin-bottom: .18rem;
}

#entrevista-notario-home .enh-slot-card {
    position: relative;
    min-height: 126px;
    padding: .72rem .72rem .7rem;
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .04);
    color: #fff;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition:
        transform .25s ease,
        border-color .25s ease,
        background-color .25s ease,
        box-shadow .25s ease,
        opacity .25s ease;
    box-shadow: none;
}

#entrevista-notario-home .enh-slot-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 2px;
    border-radius: 15px 15px 0 0;
    background: linear-gradient(90deg,
            rgba(201, 169, 107, .15),
            rgba(216, 160, 127, .95),
            rgba(201, 169, 107, .15));
}

#entrevista-notario-home .enh-slot-card.is-unavailable {
    opacity: .72;
}

#entrevista-notario-home .enh-slot-card.is-unavailable::before {
    background: linear-gradient(90deg,
            rgba(255, 255, 255, .08),
            rgba(255, 255, 255, .18),
            rgba(255, 255, 255, .08));
}

#entrevista-notario-home .enh-slot-label {
    display: block;
    font-size: .56rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .6);
    font-weight: 700;
    margin-bottom: .18rem;
}

#entrevista-notario-home .enh-slot-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: .2rem .4rem;
    border-radius: 999px;
    font-size: .54rem;
    line-height: 1;
    letter-spacing: .05em;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: .28rem;
    white-space: nowrap;
    font-family: inherit !important;
    background: rgba(216, 160, 127, .14);
    color: #f5dccd;
    border: 1px solid rgba(216, 160, 127, .26);
}

#entrevista-notario-home .enh-slot-card.is-unavailable .enh-slot-value {
    background: rgba(255, 255, 255, .06);
    color: rgba(255, 255, 255, .74);
    border: 1px solid rgba(255, 255, 255, .08);
}

#entrevista-notario-home .enh-slot-meta {
    display: block;
    font-size: .72rem;
    line-height: 1.24;
    color: rgba(255, 255, 255, .74);
    max-width: none;
}

#entrevista-notario-home .enh-day-detail-actions {
    margin-top: auto;
    padding-top: .65rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

#entrevista-notario-home .enh-day-detail-actions .btn,
#entrevista-notario-home .enh-continue-btn {
    min-width: 100%;
    min-height: 52px;
    border-radius: 999px;
    padding: .88rem 1.15rem !important;
    font-size: .88rem !important;
    letter-spacing: .08em;
    font-weight: 700 !important;
}

#entrevista-notario-home .enh-form-selected-date {
    padding: .88rem .95rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .08);
    font-size: .92rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, .84);
}

#entrevista-notario-home .enh-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem .85rem;
}

#entrevista-notario-home .enh-field {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

#entrevista-notario-home .enh-field-full {
    grid-column: 1 / -1;
}

#entrevista-notario-home .enh-field label {
    font-size: .72rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, .62);
}

#entrevista-notario-home .enh-field input,
#entrevista-notario-home .enh-field textarea {
    width: 100%;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, .10);
    background: rgba(255, 255, 255, .05);
    color: #fff;
    padding: .92rem .95rem;
    font-size: .95rem;
    line-height: 1.45;
    outline: none;
    box-shadow: none;
    resize: vertical;
}

#entrevista-notario-home .enh-field input::placeholder,
#entrevista-notario-home .enh-field textarea::placeholder {
    color: rgba(255, 255, 255, .38);
}

#entrevista-notario-home .enh-field input:focus,
#entrevista-notario-home .enh-field textarea:focus {
    border-color: rgba(216, 160, 127, .42);
    background: rgba(255, 255, 255, .07);
}

#entrevista-notario-home .enh-form-actions {
    margin-top: .4rem;
    padding-top: .2rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

#entrevista-notario-home .enh-form-actions .btn {
    min-width: 100%;
    width: 100%;
    min-height: 52px;
    border-radius: 999px;
    padding: .88rem 1.15rem !important;
    font-size: .88rem !important;
    letter-spacing: .08em;
    font-weight: 700 !important;
}

#entrevista-notario-home .enh-step-detail .enh-day-detail-actions .btn,
#entrevista-notario-home .enh-step-detail .enh-continue-btn {
    min-width: 100%;
    width: 100%;
}


@media (max-width: 767.98px) {

    #entrevista-notario-home .enh-slot-grid,
    #entrevista-notario-home .enh-form-grid {
        grid-template-columns: 1fr;
    }

    #entrevista-notario-home .enh-availability-grid {
        grid-template-columns: 1fr;
    }

    #entrevista-notario-home .enh-calendar-toolbar {
        grid-template-columns: 34px 1fr 34px;
        gap: .45rem;
        padding: .56rem .62rem;
    }

    #entrevista-notario-home .enh-week-toolbar {
        grid-template-columns: 32px 1fr 32px;
        gap: .4rem;
        padding: .5rem .58rem;
    }

    #entrevista-notario-home .enh-day-card {
        min-height: auto;
    }

    #entrevista-notario-home .enh-step-heading {
        font-size: 1.04rem;
    }

    #entrevista-notario-home .enh-calendar-toolbar-title {
        font-size: .9rem;
    }

    #entrevista-notario-home .enh-week-toolbar-title {
        font-size: .78rem;
    }
}

/* =========================================================
   4.2.1 PARCHE DE RENDER / REPINTADO
   Versión conservadora:
   - mantiene el flujo actual
   - elimina parches duplicados
   - evita efectos que estaban forzando repintados raros
========================================================= */

#entrevista-notario-home .enh-shell {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
}

#entrevista-notario-home .enh-card-flow {
    min-height: 100%;
    overflow: visible;
}

/* Mantener visibilidad simple y estable de pasos */
#entrevista-notario-home .enh-step {
    display: none;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    animation: none !important;
}

#entrevista-notario-home .enh-step.is-active {
    display: flex;
    flex-direction: column;
}

/* Neutralizar solo lo necesario dentro del flujo */
#entrevista-notario-home .enh-step-topbar,
#entrevista-notario-home .enh-calendar-toolbar,
#entrevista-notario-home .enh-week-toolbar,
#entrevista-notario-home .enh-availability-grid,
#entrevista-notario-home .enh-day-card,
#entrevista-notario-home .enh-slot-grid,
#entrevista-notario-home .enh-slot-card,
#entrevista-notario-home .enh-form-grid,
#entrevista-notario-home .enh-field,
#entrevista-notario-home .enh-calendar-help,
#entrevista-notario-home .enh-detail-help,
#entrevista-notario-home .enh-form-selected-date {
    transform: none !important;
    animation: none !important;
    will-change: auto !important;
    backface-visibility: visible !important;
    -webkit-backface-visibility: visible !important;
}

/* Evita microparpadeos en algunos navegadores */
#entrevista-notario-home .enh-field input,
#entrevista-notario-home .enh-field textarea {
    transform: none !important;
    -webkit-transform: none !important;
}

/* Mantener fondos y pseudo-elementos sin animaciones forzadas */
#entrevista-notario-home .enh-card,
#entrevista-notario-home .enh-copy {
    filter: none !important;
}

#entrevista-notario-home .enh-card::before,
#entrevista-notario-home .enh-open-calendar::after {
    animation: none !important;
}

/* Ajustes de ayuda y separación */
#entrevista-notario-home .enh-calendar-help {
    margin-top: auto;
    padding-top: .65rem;
    font-size: .76rem;
    line-height: 1.32;
    color: rgba(255, 255, 255, .7);
}

#entrevista-notario-home .enh-step-detail.is-active {
    gap: .08rem !important;
}

#entrevista-notario-home .enh-step-detail .enh-step-topbar {
    margin: 0 !important;
    align-items: center;
}

#entrevista-notario-home .enh-step-detail .enh-step-topbar-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#entrevista-notario-home .enh-step-detail .enh-step-kicker {
    margin: 0 0 .02rem 0 !important;
}

#entrevista-notario-home .enh-step-detail .enh-step-heading {
    margin: 0 !important;
    line-height: 1.02 !important;
}

#entrevista-notario-home .enh-step-detail .enh-detail-help {
    margin: .8rem 0 .3rem 0 !important;
    padding-top: 0 !important;
    font-size: .76rem;
    line-height: 1.32;
    color: rgba(255, 255, 255, .7);
}

/* =========================================================
   5. SECCIÓN "NUESTRA OFICINA"
========================================================= */

/* Fondo general de toda la sección */
#nuestra-oficina-home {
    position: relative;
    padding: 0 !important;
    background:
        radial-gradient(circle at top center, rgba(201, 169, 107, 0.08), transparent 32%),
        linear-gradient(180deg, #f7f4ee 0%, #f5f1ea 18%, #f6f3ed 42%, #f8f5ef 68%, #fbf9f4 100%);
    color: #1f1a17;
    overflow: hidden;
}

/* Ancho útil interno para toda la sección */
#nuestra-oficina-home .noh-wrap {
    position: relative;
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
}

/* Texto pequeño superior tipo "eyebrow" */
#nuestra-oficina-home .noh-eyebrow {
    display: inline-block;
    font-size: .78rem;
    letter-spacing: .34em;
    text-transform: uppercase;
    color: #3e4f47;
    font-weight: 700;
    margin-bottom: 1rem;
}

/* Títulos principales de esta sección */
#nuestra-oficina-home .noh-heading {
    font-family: 'EB Garamond', serif !important;
    font-size: clamp(2.25rem, 1.8rem + 2vw, 4.25rem);
    line-height: .96;
    letter-spacing: -.02em;
    color: #15120f;
    margin: 0;
}

/* Palabra en cursiva dentro de títulos */
#nuestra-oficina-home .noh-heading em {
    font-style: italic;
    color: #c88f72;
    font-weight: 500;
}

/* Texto descriptivo general */
#nuestra-oficina-home .noh-subtext {
    font-size: 1.08rem;
    line-height: 1.8;
    color: rgba(31, 26, 23, .80);
    margin: 0;
}

/* Línea divisoria decorativa */
#nuestra-oficina-home .noh-divider {
    width: 168px;
    height: 1px;
    border: 0;
    margin: 1.2rem auto 1.4rem;
    background: linear-gradient(90deg,
            rgba(201, 169, 107, 0) 0%,
            rgba(201, 169, 107, .55) 22%,
            rgba(201, 169, 107, .95) 50%,
            rgba(201, 169, 107, .55) 78%,
            rgba(201, 169, 107, 0) 100%);
}

/* =========================================================
   5. SECCIÓN "NUESTRA OFICINA"
========================================================= */

/* Fondo general de toda la sección */
#nuestra-oficina-home {
    position: relative;
    padding: 0 !important;
    background:
        radial-gradient(circle at top center, rgba(201, 169, 107, 0.08), transparent 32%),
        linear-gradient(180deg, #f7f4ee 0%, #f5f1ea 18%, #f6f3ed 42%, #f8f5ef 68%, #fbf9f4 100%);
    color: #1f1a17;
    overflow: hidden;
}

/* Ancho útil interno para toda la sección */
#nuestra-oficina-home .noh-wrap {
    position: relative;
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
}

/* Texto pequeño superior tipo "eyebrow" */
#nuestra-oficina-home .noh-eyebrow {
    display: inline-block;
    font-size: .78rem;
    letter-spacing: .34em;
    text-transform: uppercase;
    color: #3e4f47;
    font-weight: 700;
    margin-bottom: 1rem;
}

/* Títulos principales de esta sección */
#nuestra-oficina-home .noh-heading {
    font-family: 'EB Garamond', serif !important;
    font-size: clamp(2.25rem, 1.8rem + 2vw, 4.25rem);
    line-height: .96;
    letter-spacing: -.02em;
    color: #15120f;
    margin: 0;
}

/* Palabra en cursiva dentro de títulos */
#nuestra-oficina-home .noh-heading em {
    font-style: italic;
    color: #c88f72;
    font-weight: 500;
}

/* Texto descriptivo general */
#nuestra-oficina-home .noh-subtext {
    font-size: 1.08rem;
    line-height: 1.8;
    color: rgba(31, 26, 23, .80);
    margin: 0;
}

/* Línea divisoria decorativa */
#nuestra-oficina-home .noh-divider {
    width: 168px;
    height: 1px;
    border: 0;
    margin: 1.2rem auto 1.4rem;
    background: linear-gradient(90deg,
            rgba(201, 169, 107, 0) 0%,
            rgba(201, 169, 107, .55) 22%,
            rgba(201, 169, 107, .95) 50%,
            rgba(201, 169, 107, .55) 78%,
            rgba(201, 169, 107, 0) 100%);
}


/* =========================================================
   5.1 HERO OSCURO DE "NUESTRA OFICINA"
========================================================= */

#nuestra-oficina-home .noh-hero {
    position: relative;
    isolation: isolate;
    padding: 6.4rem 0 5rem;
    background:
        linear-gradient(180deg, rgba(11, 17, 31, .88) 0%, rgba(11, 17, 31, .78) 100%),
        radial-gradient(circle at top center, rgba(201, 169, 107, .12), transparent 30%),
        linear-gradient(135deg, #0b1020 0%, #111726 48%, #241b1c 100%);
    overflow: hidden;
}

/* Luces suaves decorativas del fondo */
#nuestra-oficina-home .noh-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 18%, rgba(255, 255, 255, .08), transparent 18%),
        radial-gradient(circle at 80% 28%, rgba(201, 169, 107, .10), transparent 20%),
        radial-gradient(circle at 50% 70%, rgba(255, 255, 255, .05), transparent 26%);
    opacity: .9;
    z-index: -1;
}

/* Contenido centrado del hero oscuro */
#nuestra-oficina-home .noh-hero-inner {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
}

/* Ajustes del título dentro del hero oscuro */
#nuestra-oficina-home .noh-hero .noh-heading {
    color: #fff;
    text-shadow: 0 10px 28px rgba(0, 0, 0, .22);
}

/* Ajustes del subtítulo dentro del hero oscuro */
#nuestra-oficina-home .noh-hero .noh-subtext {
    max-width: 760px;
    margin: 0 auto;
    color: rgba(255, 255, 255, .90);
    font-size: clamp(1rem, .94rem + .28vw, 1.18rem);
    line-height: 1.7;
}


/* =========================================================
   5.2 BLOQUE EDITORIAL
========================================================= */

#nuestra-oficina-home .noh-editorial {
    padding: 4.5rem 0 3.4rem;
}

/* Card central de texto editorial */
#nuestra-oficina-home .noh-editorial-card {
    position: relative;
    max-width: 780px;
    margin: 0 auto;
    padding: 2.25rem 2.25rem 2rem 2.35rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, .76);
    border: 1px solid rgba(151, 130, 110, .16);
    box-shadow:
        0 22px 50px rgba(28, 24, 20, .08),
        0 2px 0 rgba(255, 255, 255, .65) inset;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transform: perspective(1400px) translateY(0) scale(1) translateZ(0);
    transform-style: preserve-3d;
    transition:
        transform .42s cubic-bezier(.22, .61, .36, 1),
        box-shadow .42s cubic-bezier(.22, .61, .36, 1),
        border-color .30s ease,
        background-color .30s ease;
    will-change: transform, box-shadow;
}

#nuestra-oficina-home .noh-editorial-card:hover {
    transform: perspective(1400px) translateY(-10px) scale(1.018);
    box-shadow:
        0 34px 74px rgba(28, 24, 20, .14),
        0 8px 20px rgba(28, 24, 20, .06);
    border-color: rgba(151, 130, 110, .24);
    background: rgba(255, 255, 255, .86);
    z-index: 3;
}

/* Comilla decorativa */
#nuestra-oficina-home .noh-editorial-card::before {
    content: "“";
    position: absolute;
    top: 1.05rem;
    left: 1.3rem;
    font-family: 'EB Garamond', serif;
    font-size: 4.5rem;
    line-height: 1;
    color: rgba(200, 143, 114, .32);
}

/* Línea vertical lateral decorativa */
#nuestra-oficina-home .noh-editorial-card::after {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    bottom: 18px;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(200, 143, 114, .90), rgba(201, 169, 107, .55));
}

/* Espaciado interno del contenido editorial */
#nuestra-oficina-home .noh-editorial-body {
    padding-left: .85rem;
}

/* Párrafos del bloque editorial */
#nuestra-oficina-home .noh-editorial-body p {
    margin: 0 0 1.35rem;
    font-size: 1.08rem;
    line-height: 1.95;
    color: rgba(31, 26, 23, .88);
}

#nuestra-oficina-home .noh-editorial-body p:last-child {
    margin-bottom: 0;
}

/* Destacados en negrita */
#nuestra-oficina-home .noh-editorial-body strong {
    color: #a56749;
    font-weight: 700;
}


/* =========================================================
   5.3 CARDS DE MOMENTOS
========================================================= */

#nuestra-oficina-home .noh-moments {
    padding: 1.1rem 0 3.6rem;
}

/* Encabezado de subsecciones */
#nuestra-oficina-home .noh-section-head {
    max-width: 520px;
    margin-bottom: 2rem;
}

/* Título de subsecciones */
#nuestra-oficina-home .noh-section-title {
    font-family: 'EB Garamond', serif !important;
    font-size: clamp(2rem, 1.72rem + 1.1vw, 3.1rem);
    line-height: 1.04;
    letter-spacing: -.02em;
    color: #16120f;
    margin: 0;
}

/* Grilla de cards */
#nuestra-oficina-home .noh-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
}

/* Card individual */
#nuestra-oficina-home .noh-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 1.55rem 1.4rem 1.4rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(42, 34, 29, .08);
    box-shadow: 0 12px 30px rgba(24, 20, 16, .05);
    transform: perspective(1200px) translateY(0) scale(1) translateZ(0);
    transform-style: preserve-3d;
    transition:
        transform .38s cubic-bezier(.22, .61, .36, 1),
        box-shadow .38s cubic-bezier(.22, .61, .36, 1),
        border-color .30s ease,
        background-color .30s ease;
    overflow: hidden;
    will-change: transform, box-shadow;
}

/* Línea superior decorativa de cada card */
#nuestra-oficina-home .noh-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 2px;
    opacity: .9;
    background: rgba(201, 169, 107, .36);
}

/* Variantes cromáticas de cards */
#nuestra-oficina-home .noh-card.noh-card-warm::before {
    background: rgba(199, 136, 112, .72);
}

#nuestra-oficina-home .noh-card.noh-card-gold::before {
    background: rgba(201, 169, 107, .76);
}

#nuestra-oficina-home .noh-card.noh-card-green::before {
    background: rgba(115, 143, 126, .78);
}

/* Efecto hover */
#nuestra-oficina-home .noh-card:hover {
    transform: perspective(1200px) translateY(-12px) scale(1.03);
    box-shadow:
        0 30px 70px rgba(24, 20, 16, .16),
        0 10px 24px rgba(24, 20, 16, .08);
    border-color: rgba(42, 34, 29, .16);
    background: rgba(255, 255, 255, .9);
    z-index: 3;
}

/* Ícono del card */
#nuestra-oficina-home .noh-card-icon {
    font-size: 1.55rem;
    line-height: 1;
    margin-bottom: 1rem;
}

/* Chip superior */
#nuestra-oficina-home .noh-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-bottom: 1rem;
    padding: .42rem .78rem;
    border-radius: 999px;
    background: rgba(60, 76, 69, .07);
    color: #55645d;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .24em;
    text-transform: uppercase;
}

/* Variante cálida del chip */
#nuestra-oficina-home .noh-chip.noh-chip-warm {
    background: rgba(200, 143, 114, .10);
    color: #a1644a;
}

/* Título del card */
#nuestra-oficina-home .noh-card-title {
    font-family: 'EB Garamond', serif !important;
    font-size: 1.65rem;
    line-height: 1.08;
    color: #16120f;
    margin: 0 0 .75rem;
}

/* Texto del card */
#nuestra-oficina-home .noh-card-text {
    margin: 0;
    color: rgba(31, 26, 23, .82);
    font-size: 1.02rem;
    line-height: 1.86;
}


/* =========================================================
   5.4 FRASE DESTACADA
========================================================= */

#nuestra-oficina-home .noh-quote-band {
    padding: 1.1rem 0 3.7rem;
}

/* Caja central de cita */
#nuestra-oficina-home .noh-quote-shell {
    max-width: 880px;
    margin: 0 auto;
    padding: 3.2rem 2rem 2.8rem;
    border-radius: 26px;
    text-align: center;
    color: #fff;
    background:
        linear-gradient(180deg, rgba(19, 16, 25, .80) 0%, rgba(25, 17, 18, .82) 100%),
        linear-gradient(135deg, #10131c 0%, #1a1418 100%);
    box-shadow: 0 28px 60px rgba(19, 16, 25, .15);
    position: relative;
    overflow: hidden;
    transform: translateY(0) scale(1);
    transition:
        transform .42s cubic-bezier(.22, .61, .36, 1),
        box-shadow .42s cubic-bezier(.22, .61, .36, 1),
        filter .32s ease;
    will-change: transform, box-shadow;
}

#nuestra-oficina-home .noh-quote-shell:hover {
    transform: translateY(-18px) scale(1.04);
    box-shadow:
        0 44px 95px rgba(19, 16, 25, .30),
        0 16px 34px rgba(19, 16, 25, .16);
    filter: saturate(1.03) brightness(1.02);
    z-index: 5;
}


#nuestra-oficina-home .noh-quote-text,
#nuestra-oficina-home .noh-quote-kicker {
    transition:
        transform .42s cubic-bezier(.22, .61, .36, 1),
        opacity .32s ease;
}

#nuestra-oficina-home .noh-quote-shell:hover .noh-quote-text {
    transform: translateY(-3px);
}

#nuestra-oficina-home .noh-quote-shell:hover .noh-quote-kicker {
    transform: translateY(-2px);
}

/* Luces suaves decorativas */
#nuestra-oficina-home .noh-quote-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 25% 25%, rgba(255, 255, 255, .07), transparent 20%),
        radial-gradient(circle at 78% 35%, rgba(201, 169, 107, .12), transparent 24%);
    pointer-events: none;
}

/* Texto de la cita */
#nuestra-oficina-home .noh-quote-text {
    position: relative;
    z-index: 1;
    margin: 0 0 1rem;
    font-family: 'EB Garamond', serif !important;
    font-size: clamp(2rem, 1.7rem + 1vw, 3rem);
    line-height: 1.18;
    color: #fff;
}

/* Palabra destacada dentro de la cita */
#nuestra-oficina-home .noh-quote-text span {
    color: #d8a07f;
}

/* Subtexto bajo la cita */
#nuestra-oficina-home .noh-quote-kicker {
    position: relative;
    z-index: 1;
    margin: 0;
    font-size: .84rem;
    letter-spacing: .28em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, .88);
}


/* =========================================================
   5.5 SERVICIOS
========================================================= */

#nuestra-oficina-home .noh-services {
    padding: .25rem 0 2.8rem;
}

/* Grilla de servicios */
#nuestra-oficina-home .noh-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
}

/* Card individual de servicio */
#nuestra-oficina-home .noh-service-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    min-height: 100%;
    padding: 1.5rem 1.35rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, .70);
    border: 1px solid rgba(42, 34, 29, .08);
    box-shadow: 0 12px 30px rgba(24, 20, 16, .05);
    transform: perspective(1200px) translateY(0) scale(1) translateZ(0);
    transform-style: preserve-3d;
    transition:
        transform .36s cubic-bezier(.22, .61, .36, 1),
        box-shadow .36s cubic-bezier(.22, .61, .36, 1),
        background-color .28s ease,
        border-color .28s ease;
    will-change: transform, box-shadow;
}

/* Hover del card de servicio */
#nuestra-oficina-home .noh-service-card:hover {
    transform: perspective(1200px) translateY(-10px) scale(1.025);
    box-shadow:
        0 26px 56px rgba(24, 20, 16, .14),
        0 8px 18px rgba(24, 20, 16, .07);
    background: rgba(255, 255, 255, .9);
    border-color: rgba(42, 34, 29, .14);
    z-index: 3;
}

/* Ícono del servicio */
#nuestra-oficina-home .noh-service-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(201, 169, 107, .12);
    color: #8e6d41;
    font-size: 1.2rem;
    line-height: 1;
}

/* Título del servicio */
#nuestra-oficina-home .noh-service-title {
    margin: 0 0 .35rem;
    font-size: 1.38rem;
    line-height: 1.18;
    color: #16120f;
    font-weight: 700;
    font-family: 'EB Garamond', serif !important;
}

/* Texto del servicio */
#nuestra-oficina-home .noh-service-text {
    margin: 0;
    color: rgba(31, 26, 23, .82);
    font-size: 1rem;
    line-height: 1.8;
}


/* =========================================================
   5.6 CIERRE
========================================================= */

#nuestra-oficina-home .noh-closing {
    padding: 1.1rem 0 5rem;
}

/* Contenedor central del cierre */
#nuestra-oficina-home .noh-closing-inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

/* Título final */
#nuestra-oficina-home .noh-closing-title {
    margin: 0 0 1rem;
    font-family: 'EB Garamond', serif !important;
    font-size: clamp(2rem, 1.72rem + 1vw, 3.25rem);
    line-height: 1.12;
    color: #17130f;
}

/* Texto final */
#nuestra-oficina-home .noh-closing-text {
    max-width: 760px;
    margin: 0 auto;
    color: rgba(31, 26, 23, .80);
    font-size: 1.08rem;
    line-height: 1.95;
}

/* Destacado del texto final */
#nuestra-oficina-home .noh-closing-text strong {
    color: #a56749;
    font-weight: 700;
}

/* Firma o remate pequeño */
#nuestra-oficina-home .noh-mini-sign {
    margin-top: 2.2rem;
    font-size: .9rem;
    color: rgba(31, 26, 23, .48);
    letter-spacing: .06em;
}


/* =========================================================
   6. ANIMACIONES
========================================================= */

/* Animación general de entrada suave hacia arriba */
#nuestra-oficina-home .noh-fade-up {
    opacity: 0;
    transform: translateY(24px);
    animation: nohFadeUp .9s ease forwards;
}

/* Delays escalonados */
#nuestra-oficina-home .noh-fade-up.noh-delay-1 {
    animation-delay: .12s;
}

#nuestra-oficina-home .noh-fade-up.noh-delay-2 {
    animation-delay: .22s;
}

#nuestra-oficina-home .noh-fade-up.noh-delay-3 {
    animation-delay: .32s;
}

/* Keyframes hero principal */
@keyframes heroTitleReveal {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes heroDividerReveal {
    from {
        opacity: 0;
        transform: translateY(10px) scaleX(.78);
    }

    to {
        opacity: 1;
        transform: translateY(0) scaleX(1);
    }
}

/* Keyframes bloque del notario */
@keyframes opaFadeUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes opaLineReveal {
    from {
        opacity: 0;
        transform: scaleX(.7);
        transform-origin: left center;
    }

    to {
        opacity: .9;
        transform: scaleX(1);
        transform-origin: left center;
    }
}

/* Keyframes sección "Nuestra oficina" */
@keyframes nohFadeUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   7. RESPONSIVE
========================================================= */

/* -------- Hasta 1199.98px -------- */
@media (max-width: 1199.98px) {
    #nuestra-oficina-home .noh-wrap {
        width: min(1120px, calc(100% - 40px));
    }
}

/* -------- Hasta 991.98px -------- */
@media (max-width: 991.98px) {

    /* Bloque del notario */
    #image2-c {
        padding-top: 2.4rem !important;
        padding-bottom: 2.4rem !important;
    }

    #image2-c .text-wrapper {
        animation-duration: .75s;
    }

    #image2-c .mbr-text.display-7 {
        line-height: 1.5;
    }

    #image2-c .opa-divider-soft {
        width: 120px;
        margin: .45rem 0 .7rem;
    }

    #image2-c .opa-title-main {
        font-size: clamp(1.18rem, 1.04rem + .68vw, 1.5rem) !important;
        letter-spacing: .04em;
    }

    /* Hero principal */
    .cid-uDabAiGHPa .hero-divider {
        width: 128px;
        margin: .15rem 0 1rem;
    }

    .cid-uDabAiGHPa .hero-btn-grid {
        gap: 14px 16px;
        max-width: 760px;
    }

    .cid-uDabAiGHPa .hero-btn-grid .btn {
        min-width: 160px;
        min-height: 40px;
        padding: .58rem 1.15rem !important;
        font-size: .86rem !important;
    }

    /* Nuestra oficina */
    #nuestra-oficina-home .noh-hero {
        padding: 5.6rem 0 4.2rem;
    }

    #nuestra-oficina-home .noh-editorial {
        padding: 3.8rem 0 3rem;
    }

    #nuestra-oficina-home .noh-cards-grid,
    #nuestra-oficina-home .noh-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #nuestra-oficina-home .noh-closing {
        padding-bottom: 4.25rem;
    }
}

/* -------- Hasta 767.98px -------- */
@media (max-width: 767.98px) {
    #nuestra-oficina-home .noh-wrap {
        width: min(100%, calc(100% - 28px));
    }

    #nuestra-oficina-home .noh-hero {
        padding: 4.9rem 0 3.7rem;
    }

    #nuestra-oficina-home .noh-divider {
        width: 124px;
        margin: 1rem auto 1.2rem;
    }

    #nuestra-oficina-home .noh-editorial-card {
        padding: 1.8rem 1.15rem 1.55rem 1.2rem;
        border-radius: 18px;
    }

    #nuestra-oficina-home .noh-editorial-card::before {
        top: .65rem;
        left: .78rem;
        font-size: 3.4rem;
    }

    #nuestra-oficina-home .noh-editorial-body {
        padding-left: .45rem;
    }

    #nuestra-oficina-home .noh-editorial-body p,
    #nuestra-oficina-home .noh-card-text,
    #nuestra-oficina-home .noh-service-text,
    #nuestra-oficina-home .noh-closing-text {
        font-size: .98rem;
        line-height: 1.8;
    }

    #nuestra-oficina-home .noh-cards-grid,
    #nuestra-oficina-home .noh-services-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    #nuestra-oficina-home .noh-quote-shell {
        padding: 2.45rem 1.15rem 2.2rem;
        border-radius: 22px;
    }

    #nuestra-oficina-home .noh-service-card,
    #nuestra-oficina-home .noh-card {
        border-radius: 18px;
    }
}

/* -------- Hasta 575px -------- */
@media (max-width: 575px) {
    .cid-uDabAiGHPa .hero-btn-grid {
        gap: 12px;
        max-width: 340px;
    }

    .cid-uDabAiGHPa .hero-btn-grid .btn {
        width: 100%;
        min-width: 0;
        white-space: normal;
        line-height: 1.15 !important;
        padding: .62rem .95rem !important;
    }
}

/* -------- Evitar hover artificial en móviles/tablets -------- */
@media (hover: none),
(pointer: coarse) {

    #nuestra-oficina-home .noh-card:hover,
    #nuestra-oficina-home .noh-service-card:hover,
    #nuestra-oficina-home .noh-editorial-card:hover {
        transform: none;
        box-shadow: inherit;
    }
}

@media (max-width: 991.98px) {
    #entrevista-notario-home .enh-grid {
        grid-template-columns: 1fr;
        gap: 1.35rem;
    }

    #entrevista-notario-home .enh-card {
        padding: 1.7rem 1.35rem 1.3rem;
        gap: .8rem;
    }

    #entrevista-notario-home .enh-card-title {
        max-width: none;
        font-size: clamp(1.7rem, 1.48rem + .75vw, 2rem);
    }

    #entrevista-notario-home .enh-card-text {
        max-width: none;
    }
}

@media (max-width: 575px) {
    #entrevista-notario-home .enh-card {
        padding: 1.45rem 1.1rem 1.15rem;
        border-radius: 20px;
    }

    #entrevista-notario-home .enh-card-kicker {
        font-size: .68rem;
        letter-spacing: .18em;
    }

    #entrevista-notario-home .enh-card-title {
        font-size: 1.55rem;
        line-height: 1.1;
    }

    #entrevista-notario-home .enh-card-text {
        font-size: .95rem;
        line-height: 1.72;
    }

    #entrevista-notario-home .enh-actions .btn {
        min-height: 48px;
        padding: .8rem 1rem !important;
    }

    #entrevista-notario-home .enh-footnote {
        font-size: .82rem;
    }
}

/* =========================================================
   ENTRADA IGUAL PARA MES/AÑO Y SEMANA
========================================================= */

#entrevista-notario-home .enh-step-calendar .enh-calendar-toolbar,
#entrevista-notario-home .enh-step-calendar .enh-week-toolbar {
    opacity: 0;
    transform: translateY(12px);
    transition:
        opacity .28s ease,
        transform .28s ease;
}

#entrevista-notario-home .enh-step-calendar.is-active .enh-calendar-toolbar,
#entrevista-notario-home .enh-step-calendar.is-active .enh-week-toolbar {
    opacity: 1;
    transform: translateY(0);
}

/* =========================================================
   ANIMACIÓN SINCRONIZADA PARA "SEMANA 1"
========================================================= */

#entrevista-notario-home .enh-step-calendar .enh-week-toolbar-title {
    opacity: 0;
    transform: translateY(10px);
}

#entrevista-notario-home .enh-step-calendar.is-active .enh-week-toolbar-title {
    animation: enhWeekTitleReveal .28s ease forwards;
    animation-delay: .12s;
}

@keyframes enhWeekTitleReveal {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#entrevista-notario-home .enh-step-detail.is-active {
    gap: .08rem !important;
}

#entrevista-notario-home .enh-step-detail .enh-step-topbar {
    margin: 0 !important;
    align-items: center;
}

#entrevista-notario-home .enh-step-detail .enh-step-topbar-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#entrevista-notario-home .enh-step-detail .enh-step-kicker {
    margin: 0 0 .02rem 0 !important;
}

#entrevista-notario-home .enh-step-detail .enh-step-heading {
    margin: 0 !important;
    line-height: 1.02 !important;
}

#entrevista-notario-home .enh-step-detail .enh-detail-help {
    margin: .8rem 0 .3rem 0 !important;
    padding-top: 0 !important;
}

#entrevista-notario-home .enh-step-detail .enh-slot-grid {
    margin-top: .12rem !important;
    margin-bottom: 0 !important;
}

#entrevista-notario-home .enh-step-detail .enh-day-detail-actions {
    padding-top: .5rem;
}

#entrevista-notario-home .enh-slot-card {
    appearance: none;
    -webkit-appearance: none;
    cursor: default;
}

#entrevista-notario-home .enh-slot-card.is-selectable {
    cursor: pointer;
}

#entrevista-notario-home .enh-slot-card.is-selectable:hover {
    transform: translateY(-3px);
    border-color: rgba(201, 169, 107, .38);
    background: rgba(255, 255, 255, .07);
    box-shadow: 0 12px 22px rgba(0, 0, 0, .12);
}

#entrevista-notario-home .enh-slot-card.is-selected {
    border-color: rgba(216, 160, 127, .52);
    background: rgba(255, 255, 255, .09);
    box-shadow:
        0 14px 26px rgba(0, 0, 0, .14),
        inset 0 0 0 1px rgba(216, 160, 127, .22);
}

#entrevista-notario-home .enh-slot-card.is-selected::before {
    background: linear-gradient(90deg,
            rgba(216, 160, 127, .22),
            rgba(216, 160, 127, 1),
            rgba(216, 160, 127, .22));
}

#entrevista-notario-home .enh-slot-card.is-unavailable {
    cursor: not-allowed;
}

#entrevista-notario-home .enh-slot-card:disabled {
    pointer-events: none;
}

/* =========================================================
   AJUSTES VISUALES DISPONIBILIDAD PANTALLA 3
========================================================= */

#entrevista-notario-home .enh-slot-empty-note {
    grid-column: 1 / -1;
    margin-top: .25rem;
    padding: .9rem 1rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .84);
    font-size: .86rem;
    line-height: 1.5;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .04),
        0 8px 18px rgba(0, 0, 0, .08);
}

#entrevista-notario-home .enh-slot-empty-note strong {
    color: #fff;
    font-weight: 700;
}

#entrevista-notario-home .enh-continue-btn:disabled,
#entrevista-notario-home .enh-day-detail-actions .btn:disabled {
    opacity: .48;
    cursor: not-allowed;
    pointer-events: none;
    filter: grayscale(.08);
    box-shadow: none !important;
    transform: none !important;
}

#entrevista-notario-home .enh-continue-btn:disabled:hover,
#entrevista-notario-home .enh-day-detail-actions .btn:disabled:hover {
    transform: none !important;
    box-shadow: none !important;
}

#entrevista-notario-home .enh-slot-card.is-unavailable {
    opacity: .66;
    background: rgba(255, 255, 255, .035);
}

#entrevista-notario-home .enh-slot-card.is-unavailable .enh-slot-meta {
    color: rgba(255, 255, 255, .62);
}

#entrevista-notario-home .enh-day-card.is-disabled .enh-day-state {
    background: rgba(255, 255, 255, .06);
    color: rgba(255, 255, 255, .74);
    border: 1px solid rgba(255, 255, 255, .08);
}

#entrevista-notario-home .enh-day-card.is-disabled .enh-day-state-note {
    color: rgba(255, 255, 255, .62);
}

/* =========================================================
   PANTALLA 4 · AJUSTE VISUAL FINAL DEL FORMULARIO
========================================================= */

#entrevista-notario-home .enh-step-form.is-active {
    gap: .72rem !important;
}

#entrevista-notario-home .enh-step-form .enh-step-topbar {
    margin: 0 0 .1rem 0 !important;
    align-items: center;
}

#entrevista-notario-home .enh-step-form .enh-step-topbar-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#entrevista-notario-home .enh-step-form .enh-step-kicker {
    margin: 0 0 .02rem 0 !important;
}

#entrevista-notario-home .enh-step-form .enh-step-heading {
    margin: 0 !important;
    line-height: 1.02 !important;
}

#entrevista-notario-home .enh-form-selected-date {
    padding: 1rem 1.05rem;
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .07) 0%, rgba(255, 255, 255, .045) 100%);
    border: 1px solid rgba(216, 160, 127, .18);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .04),
        0 10px 22px rgba(0, 0, 0, .08);
    font-size: .94rem;
    line-height: 1.58;
    color: rgba(255, 255, 255, .88);
}

#entrevista-notario-home .enh-step-form .enh-form-grid {
    margin-top: .2rem;
    gap: 1rem .9rem;
}

#entrevista-notario-home .enh-field {
    gap: .42rem;
}

#entrevista-notario-home .enh-field label {
    font-size: .7rem;
    letter-spacing: .16em;
    color: rgba(255, 255, 255, .64);
}

#entrevista-notario-home .enh-field input,
#entrevista-notario-home .enh-field textarea {
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, .11);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .055) 0%, rgba(255, 255, 255, .04) 100%);
    color: #fff;
    padding: .95rem 1rem;
    font-size: .95rem;
    line-height: 1.45;
    transition:
        border-color .22s ease,
        background-color .22s ease,
        box-shadow .22s ease,
        transform .22s ease;
}

#entrevista-notario-home .enh-field textarea {
    min-height: 118px;
}

#entrevista-notario-home .enh-field input::placeholder,
#entrevista-notario-home .enh-field textarea::placeholder {
    color: rgba(255, 255, 255, .34);
}

#entrevista-notario-home .enh-field input:focus,
#entrevista-notario-home .enh-field textarea:focus {
    border-color: rgba(216, 160, 127, .42);
    background: rgba(255, 255, 255, .075);
    box-shadow:
        0 0 0 1px rgba(216, 160, 127, .12),
        0 10px 24px rgba(0, 0, 0, .10);
}

#entrevista-notario-home .enh-form-actions {
    margin-top: .4rem;
    padding-top: .2rem;
}

#entrevista-notario-home .enh-step-form .enh-form-actions .btn {
    min-width: 100%;
}

@media (max-width: 767.98px) {
    #entrevista-notario-home .enh-form-selected-date {
        padding: .95rem .95rem;
        font-size: .9rem;
    }

    #entrevista-notario-home .enh-step-form .enh-form-grid {
        gap: .9rem;
    }

    #entrevista-notario-home .enh-field textarea {
        min-height: 108px;
    }
}

#entrevista-notario-home .enh-field-rut {
    position: relative;
}

#entrevista-notario-home .enh-rut-msg {
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    display: none;
    padding: .42rem .7rem;
    border-radius: 10px;
    background: rgba(140, 28, 28, 0.96);
    color: #fff;
    font-size: .76rem;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
    z-index: 5;
}

#entrevista-notario-home .enh-rut-msg.is-visible {
    display: inline-block;
}

/* =========================================================
   AVISO TEMPORAL AL LADO DE "ATENCIÓN PERSONAL"

   CUANDO YA NO LO NECESITES:
   - borra todo este bloque completo
   - y en el HTML vuelve a dejar solo:
     <div class="enh-note">Atención personal</div>
   ========================================================= */

.enh-note-wrap {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    flex-wrap: wrap;
}

.enh-note-mini-status {
    display: inline-flex;
    align-items: center;
    padding: .34rem .7rem;
    border-radius: 999px;
    font-size: .75rem;
    line-height: 1;
    letter-spacing: .04em;
    color: rgba(255, 255, 255, .92);
    background: rgba(212, 175, 55, .16);
    border: 1px solid rgba(212, 175, 55, .32);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

/* =========================================================
   ESTILO TEMPORAL DEL BOTÓN DESHABILITADO

   CUANDO QUIERAS REACTIVAR EL BOTÓN:
   - borra este bloque si quieres
   - o deja este CSS y simplemente vuelve al botón original
   ========================================================= */

.enh-open-calendar-disabled,
.enh-open-calendar[disabled] {
    opacity: .62;
    cursor: not-allowed;
    pointer-events: none;
}

.enh-open-calendar-disabled:hover,
.enh-open-calendar[disabled]:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* =========================================================
HASTA AQUI ES EL BLOQUE DEL CSS DEL BOTON DESHABILITADO TEMPORAL
   ========================================================= */