/*
Theme Name: Estudio One
Archivo: website.css
Descripción: Estilos exclusivos del sitio web público.
*/

/* =========================================================
   VARIABLES GENERALES
========================================================= */

.eo-site {
    --eo-bg: #0f0f10;
    --eo-bg-soft: #171719;
    --eo-bg-card: #1d1d20;
    --eo-bg-elevated: #252529;

    --eo-text: #ffffff;
    --eo-text-soft: #c4c4c8;
    --eo-text-muted: #929298;

    --eo-primary: #c9a46a;
    --eo-primary-hover: #dfbd85;
    --eo-primary-text: #111111;

    --eo-border: rgba(255, 255, 255, 0.11);
    --eo-border-strong: rgba(255, 255, 255, 0.2);

    --eo-overlay: rgba(8, 8, 10, 0.63);
    --eo-header-bg: rgba(15, 15, 16, 0.88);

    --eo-shadow:
        0 22px 60px rgba(0, 0, 0, 0.28);

    --eo-radius-sm: 10px;
    --eo-radius-md: 18px;
    --eo-radius-lg: 28px;

    background: var(--eo-bg);
    color: var(--eo-text);
    min-height: 100vh;
    overflow: hidden;
    transition:
        background-color 0.3s ease,
        color 0.3s ease;
}

.eo-site[data-theme="light"] {
    --eo-bg: #f8f6f2;
    --eo-bg-soft: #f0ece5;
    --eo-bg-card: #ffffff;
    --eo-bg-elevated: #e7e1d8;

    --eo-text: #171717;
    --eo-text-soft: #4e4e52;
    --eo-text-muted: #737378;

    --eo-primary: #a77c40;
    --eo-primary-hover: #8f672f;
    --eo-primary-text: #ffffff;

    --eo-border: rgba(20, 20, 20, 0.1);
    --eo-border-strong: rgba(20, 20, 20, 0.2);

    --eo-overlay: rgba(10, 10, 10, 0.46);
    --eo-header-bg: rgba(248, 246, 242, 0.9);

    --eo-shadow:
        0 22px 60px rgba(48, 39, 28, 0.12);
}


/* =========================================================
   NORMALIZACIÓN DEL SITIO PÚBLICO
========================================================= */

body.eo-website {
    margin: 0;
    background: #0f0f10;
}

body.eo-website,
body.eo-website button,
body.eo-website input,
body.eo-website textarea,
body.eo-website select {
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

body.eo-website * {
    box-sizing: border-box;
}

body.eo-website img {
    display: block;
    max-width: 100%;
}

body.eo-website a {
    color: inherit;
    text-decoration: none;
}

body.eo-website button,
body.eo-website a {
    -webkit-tap-highlight-color: transparent;
}

body.eo-website button {
    font: inherit;
}

html {
    scroll-behavior: smooth;
}

.eo-container {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

.eo-main {
    display: block;
}


/* =========================================================
   BOTONES
========================================================= */

.eo-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.91rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
    cursor: pointer;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease;
}

.eo-button:hover {
    transform: translateY(-2px);
}

.eo-button:focus-visible {
    outline: 3px solid rgba(201, 164, 106, 0.35);
    outline-offset: 3px;
}

.eo-button--primary {
    background: var(--eo-primary);
    color: var(--eo-primary-text);
    box-shadow: 0 12px 26px rgba(169, 126, 65, 0.22);
}

.eo-button--primary:hover {
    background: var(--eo-primary-hover);
    color: var(--eo-primary-text);
}

.eo-button--secondary {
    background: transparent;
    color: var(--eo-text);
    border-color: var(--eo-border-strong);
}

.eo-button--secondary:hover {
    background: var(--eo-bg-elevated);
    border-color: var(--eo-primary);
}


/* =========================================================
   TÍTULOS DE SECCIÓN
========================================================= */

.eo-section-header {
    max-width: 760px;
    margin: 0 auto 54px;
    text-align: center;
}

.eo-section-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    color: var(--eo-primary);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.eo-section-tag::before {
    width: 30px;
    height: 1px;
    background: currentColor;
    content: "";
}

.eo-section-title {
    max-width: 820px;
    margin: 0;
    color: var(--eo-text);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 3.55rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.eo-section-description {
    max-width: 650px;
    margin: 22px auto 0;
    color: var(--eo-text-soft);
    font-size: 1rem;
    line-height: 1.75;
}


/* =========================================================
   ENCABEZADO
========================================================= */

.eo-header {
    position: fixed;
    z-index: 1000;
    top: 0;
    right: 0;
    left: 0;
    height: 82px;
    border-bottom: 1px solid transparent;
    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        height 0.3s ease;
}

.eo-header.is-scrolled {
    height: 72px;
    background: var(--eo-header-bg);
    border-bottom-color: var(--eo-border);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.eo-header__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(1320px, calc(100% - 48px));
    height: 100%;
    margin-inline: auto;
    gap: 32px;
}

.eo-header__logo {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.eo-header__logo img {
    width: auto;
    height: 42px;
    object-fit: contain;
}

.eo-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 31px;
    margin-left: auto;
}

.eo-navigation__link {
    position: relative;
    padding: 8px 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.87rem;
    font-weight: 600;
    transition: color 0.2s ease;
}

.eo-site[data-theme="light"] .eo-header.is-scrolled .eo-navigation__link {
    color: var(--eo-text-soft);
}

.eo-navigation__link::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: var(--eo-primary);
    content: "";
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.25s ease;
}

.eo-navigation__link:hover,
.eo-navigation__link.is-active {
    color: #ffffff;
}

.eo-site[data-theme="light"] .eo-header.is-scrolled .eo-navigation__link:hover,
.eo-site[data-theme="light"] .eo-header.is-scrolled .eo-navigation__link.is-active {
    color: var(--eo-text);
}

.eo-navigation__link:hover::after,
.eo-navigation__link.is-active::after {
    transform: scaleX(1);
    transform-origin: left;
}

.eo-header__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.eo-button--header {
    min-height: 43px;
    padding-inline: 19px;
    font-size: 0.82rem;
}

.eo-client-access {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.84rem;
    font-weight: 700;
    transition: color 0.2s ease;
}

.eo-site[data-theme="light"] .eo-header.is-scrolled .eo-client-access {
    color: var(--eo-text-soft);
}

.eo-client-access:hover {
    color: var(--eo-primary);
}

.eo-client-access__icon {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 0.65rem;
}

.eo-theme-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 58px;
    height: 31px;
    padding: 3px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.13);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    cursor: pointer;
}

.eo-site[data-theme="light"] .eo-header.is-scrolled .eo-theme-toggle {
    background: rgba(20, 20, 20, 0.06);
    color: var(--eo-text);
    border-color: var(--eo-border);
}

.eo-theme-toggle::before {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 23px;
    height: 23px;
    background: var(--eo-primary);
    border-radius: 50%;
    content: "";
    transition: transform 0.3s ease;
}

.eo-site[data-theme="light"] .eo-theme-toggle::before {
    transform: translateX(27px);
}

.eo-theme-toggle__sun,
.eo-theme-toggle__moon {
    position: relative;
    z-index: 1;
    display: grid;
    width: 23px;
    height: 23px;
    place-items: center;
    font-size: 0.72rem;
}

.eo-mobile-menu {
    display: none;
    width: 42px;
    height: 42px;
    padding: 9px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    cursor: pointer;
}

.eo-mobile-menu span {
    display: block;
    width: 100%;
    height: 2px;
    margin: 4px 0;
    background: #ffffff;
    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

.eo-site[data-theme="light"] .eo-header.is-scrolled .eo-mobile-menu {
    border-color: var(--eo-border-strong);
}

.eo-site[data-theme="light"] .eo-header.is-scrolled .eo-mobile-menu span {
    background: var(--eo-text);
}

.eo-mobile-menu.is-active span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.eo-mobile-menu.is-active span:nth-child(2) {
    opacity: 0;
}

.eo-mobile-menu.is-active span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

.eo-mobile-navigation {
    display: none;
}


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

.eo-hero {
    position: relative;
    min-height: 100vh;
    background: radial-gradient(circle at 20% 20%, #1a1a1d 0%, #101012 55%, #09090a 100%);
}

.eo-hero__slider {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
}

.eo-hero__slide {
    position: absolute;
    inset: 0;
    z-index: 0;
    visibility: hidden;
    opacity: 0;
    transition:
        opacity 0.8s ease,
        visibility 0.8s ease;
}

.eo-hero__slide.is-active {
    z-index: 1;
    visibility: visible;
    opacity: 1;
}

.eo-hero__background {
    position: absolute;
    inset: 0;
}

.eo-hero__background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.08); filter: saturate(1.08) contrast(1.04);
    transition: transform 12s ease, filter 0.8s ease;
}

.eo-hero__slide.is-active .eo-hero__background img {
    transform: scale(1);
}

.eo-hero__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(7, 7, 9, 0.85) 0%,
            rgba(7, 7, 9, 0.58) 42%,
            rgba(7, 7, 9, 0.15) 78%,
            rgba(7, 7, 9, 0.14) 100%
        ),
        linear-gradient(
            0deg,
            rgba(7, 7, 9, 0.45) 0%,
            transparent 40%
        );
}

.eo-hero__container {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    width: min(1180px, calc(100% - 48px));
    min-height: 100vh;
    margin-inline: auto;
    padding: 130px 0 110px;
}

.eo-hero__content {
    max-width: 690px;
    color: #ffffff;
}

.eo-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: #e3bd81;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.eo-hero__eyebrow::before {
    width: 38px;
    height: 1px;
    background: currentColor;
    content: "";
}

.eo-hero__title {
    max-width: 760px;
    margin: 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 6.2vw, 5.6rem);
    font-weight: 500;
    line-height: 0.99;
    letter-spacing: -0.052em;
    text-wrap: balance;
}

.eo-hero__description {
    max-width: 585px;
    margin: 27px 0 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: clamp(1rem, 1.45vw, 1.16rem);
    line-height: 1.75;
}

.eo-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.eo-hero .eo-button--secondary {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.35);
}

.eo-hero .eo-button--secondary:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.65);
}

.eo-hero__arrow {
    position: absolute;
    z-index: 4;
    top: 50%;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    background: rgba(15,15,18,.34);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    backdrop-filter: blur(8px);
    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.eo-hero__arrow:hover {
    background: rgba(12, 12, 14, 0.58);
}

.eo-hero__arrow--previous {
    left: 24px;
}

.eo-hero__arrow--next {
    right: 24px;
}

.eo-hero__pagination {
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: 38px;
    left: 0;
    display: flex;
    justify-content: center;
    gap: 9px;
}

.eo-hero__dot {
    width: 8px;
    height: 8px;
    padding: 0;
    background: rgba(255, 255, 255, 0.42);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition:
        width 0.3s ease,
        background-color 0.3s ease;
}

.eo-hero__dot.is-active {
    width: 30px;
    background: var(--eo-primary);
}

.eo-hero__scroll {
    position: absolute;
    z-index: 4;
    bottom: 28px;
    left: 38px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}


/* =========================================================
   NOSOTROS
========================================================= */

.eo-about {
    padding: 120px 0;
    background: var(--eo-bg);
}

.eo-about__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    align-items: center;
    gap: 88px;
}

.eo-about__image {
    position: relative;
    min-height: 670px;
}

.eo-about__image::before {
    position: absolute;
    top: -22px;
    left: -22px;
    width: 58%;
    height: 58%;
    border: 1px solid var(--eo-primary);
    border-radius: var(--eo-radius-lg);
    content: "";
    opacity: 0.46;
}

.eo-about__image::after {
    position: absolute;
    right: -24px;
    bottom: -24px;
    width: 130px;
    height: 130px;
    background:
        radial-gradient(
            circle,
            var(--eo-primary) 1.5px,
            transparent 1.5px
        );
    background-size: 13px 13px;
    content: "";
    opacity: 0.32;
}

.eo-about__image img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 670px;
    object-fit: cover;
    border-radius: var(--eo-radius-lg);
    box-shadow: var(--eo-shadow);
}

.eo-about__content > p {
    max-width: 680px;
    margin: 23px 0 0;
    color: var(--eo-text-soft);
    font-size: 1rem;
    line-height: 1.82;
}

.eo-about__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 38px 0;
}

.eo-stat {
    padding: 20px 17px;
    background: var(--eo-bg-soft);
    border: 1px solid var(--eo-border);
    border-radius: var(--eo-radius-md);
}

.eo-stat strong {
    display: block;
    margin-bottom: 7px;
    color: var(--eo-primary);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.82rem;
    font-weight: 500;
}

.eo-stat span {
    color: var(--eo-text-soft);
    font-size: 0.8rem;
    line-height: 1.45;
}


/* =========================================================
   SERVICIOS
========================================================= */

.eo-services {
    padding: 120px 0;
    background: var(--eo-bg-soft);
}

.eo-services__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 22px;
}

.eo-service-card {
    position: relative;
    grid-column: span 4;
    min-height: 520px;
    overflow: hidden;
    background: var(--eo-bg-card);
    border-radius: var(--eo-radius-lg);
    box-shadow: var(--eo-shadow);
}

.eo-service-card:nth-child(4),
.eo-service-card:nth-child(5) {
    grid-column: span 6;
    min-height: 480px;
}

.eo-service-card__image {
    position: absolute;
    inset: 0;
}

.eo-service-card__image::after {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            0deg,
            rgba(7, 7, 9, 0.92) 0%,
            rgba(7, 7, 9, 0.48) 42%,
            rgba(7, 7, 9, 0.04) 75%
        );
    content: "";
}

.eo-service-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.eo-service-card:hover .eo-service-card__image img {
    transform: scale(1.055);
}

.eo-service-card__content {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 35px;
    color: #ffffff;
}

.eo-service-card__content h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 500;
}

.eo-service-card__content p {
    max-width: 460px;
    margin: 13px 0 19px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.91rem;
    line-height: 1.65;
}

.eo-service-card__link {
    display: inline-flex;
    align-items: center;
    color: #e4bd80;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.eo-service-card__link:hover {
    color: #ffffff;
    transform: translateX(4px);
}


/* =========================================================
   MI ESPACIO
========================================================= */

.eo-client-space {
    padding: 120px 0;
    background:
        radial-gradient(
            circle at 85% 30%,
            rgba(201, 164, 106, 0.11),
            transparent 34%
        ),
        var(--eo-bg);
}

.eo-client-space__wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(390px, 0.94fr);
    align-items: center;
    gap: 90px;
}

.eo-client-space__description {
    max-width: 660px;
    margin: 24px 0 0;
    color: var(--eo-text-soft);
    font-size: 1rem;
    line-height: 1.8;
}

.eo-client-space__features {
    display: grid;
    gap: 14px;
    margin: 31px 0 36px;
    padding: 0;
    list-style: none;
}

.eo-client-space__features li {
    position: relative;
    padding-left: 31px;
    color: var(--eo-text-soft);
    font-size: 0.95rem;
    line-height: 1.55;
}

.eo-client-space__features li::before {
    position: absolute;
    top: 2px;
    left: 0;
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    background: rgba(201, 164, 106, 0.14);
    color: var(--eo-primary);
    border-radius: 50%;
    content: "✓";
    font-size: 0.69rem;
    font-weight: 900;
}

.eo-client-space__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
}

.eo-client-space__preview {
    position: relative;
}

.eo-client-space__preview::before {
    position: absolute;
    inset: -35px;
    background: var(--eo-primary);
    border-radius: 50%;
    content: "";
    filter: blur(80px);
    opacity: 0.11;
}

.eo-client-card {
    position: relative;
    padding: 30px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.065),
            rgba(255, 255, 255, 0.018)
        ),
        var(--eo-bg-card);
    border: 1px solid var(--eo-border);
    border-radius: 30px;
    box-shadow: var(--eo-shadow);
}

.eo-client-card__header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--eo-border);
}

.eo-client-card__avatar {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    background: var(--eo-primary);
    color: var(--eo-primary-text);
    border-radius: 18px;
    font-size: 0.91rem;
    font-weight: 900;
}

.eo-client-card__header strong {
    display: block;
    margin-bottom: 4px;
    color: var(--eo-text);
    font-size: 1rem;
}

.eo-client-card__header p {
    margin: 0;
    color: var(--eo-text-muted);
    font-size: 0.82rem;
}

.eo-client-card__body {
    display: grid;
    gap: 13px;
    padding: 24px 0;
}

.eo-client-card__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px;
    background: var(--eo-bg-soft);
    border: 1px solid var(--eo-border);
    border-radius: var(--eo-radius-md);
}

.eo-client-card__item strong {
    color: var(--eo-text);
    font-size: 0.92rem;
}

.eo-client-card__item span {
    color: var(--eo-primary);
    font-size: 0.77rem;
    font-weight: 700;
}

.eo-client-card__footer {
    padding-top: 2px;
    text-align: right;
}

.eo-client-card__footer a {
    color: var(--eo-primary);
    font-size: 0.84rem;
    font-weight: 800;
}


/* =========================================================
   RESERVA
========================================================= */

.eo-reservation {
    padding: 110px 0;
    background: var(--eo-bg-soft);
}

.eo-reservation__wrapper {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
    align-items: center;
    min-height: 480px;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            var(--eo-bg-card),
            var(--eo-bg-elevated)
        );
    border: 1px solid var(--eo-border);
    border-radius: 34px;
    box-shadow: var(--eo-shadow);
}

.eo-reservation__content {
    position: relative;
    z-index: 2;
    padding: 65px;
}

.eo-reservation__content p {
    max-width: 610px;
    margin: 23px 0 0;
    color: var(--eo-text-soft);
    font-size: 1rem;
    line-height: 1.75;
}

.eo-reservation__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.eo-reservation__image {
    position: relative;
    align-self: stretch;
    min-height: 480px;
}

.eo-reservation__image::before {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            circle,
            rgba(201, 164, 106, 0.3),
            transparent 64%
        );
    content: "";
}

.eo-reservation__image img {
    position: absolute;
    z-index: 1;
    right: -10%;
    bottom: -3%;
    width: 115%;
    height: 94%;
    object-fit: contain;
    object-position: center bottom;
    filter: drop-shadow(0 28px 35px rgba(0, 0, 0, 0.32));
}


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

.eo-contact {
    padding: 120px 0;
    background: var(--eo-bg);
}

.eo-contact__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
}

.eo-contact__card {
    padding: 38px;
    background: var(--eo-bg-card);
    border: 1px solid var(--eo-border);
    border-radius: var(--eo-radius-lg);
    box-shadow: var(--eo-shadow);
}

.eo-contact__card h3 {
    margin: 0 0 27px;
    color: var(--eo-text);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.62rem;
    font-weight: 500;
}

.eo-contact__item {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 15px;
    padding: 17px 0;
    border-bottom: 1px solid var(--eo-border);
}

.eo-contact__item:last-child {
    border-bottom: 0;
}

.eo-contact__item strong {
    color: var(--eo-text);
    font-size: 0.85rem;
}

.eo-contact__item a {
    color: var(--eo-text-soft);
    font-size: 0.9rem;
    transition: color 0.2s ease;
}

.eo-contact__item a:hover {
    color: var(--eo-primary);
}

.eo-contact__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
}

.eo-contact__buttons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    background: var(--eo-bg-soft);
    color: var(--eo-text-soft);
    border: 1px solid var(--eo-border);
    border-radius: 999px;
    font-size: 0.84rem;
    font-weight: 700;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.eo-contact__buttons a:hover {
    background: var(--eo-primary);
    color: var(--eo-primary-text);
    border-color: var(--eo-primary);
}


/* =========================================================
   PIE DE PÁGINA
========================================================= */

.eo-footer {
    padding: 78px 0 25px;
    background: #09090a;
    color: #ffffff;
}

.eo-footer__top {
    display: grid;
    grid-template-columns: 1.55fr repeat(3, minmax(0, 0.72fr));
    gap: 55px;
    padding-bottom: 56px;
}

.eo-footer__brand {
    max-width: 330px;
}

.eo-footer__logo {
    display: inline-flex;
    margin-bottom: 23px;
}

.eo-footer__logo img {
    width: auto;
    height: 55px;
    object-fit: contain;
}

.eo-footer__brand p {
    margin: 0;
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.88rem;
    line-height: 1.75;
}

.eo-footer__column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
}

.eo-footer__column h3 {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eo-footer__column a,
.eo-footer__column span {
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.84rem;
    line-height: 1.45;
}

.eo-footer__column a {
    transition: color 0.2s ease;
}

.eo-footer__column a:hover {
    color: var(--eo-primary);
}

.eo-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.eo-footer__bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.42);
    font-size: 0.76rem;
}


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

@media (max-width: 1100px) {

    .eo-navigation {
        gap: 19px;
    }

    .eo-navigation__link {
        font-size: 0.8rem;
    }

    .eo-client-access span:last-child {
        display: none;
    }

    .eo-about__grid,
    .eo-client-space__wrapper {
        gap: 55px;
    }

    .eo-about__image,
    .eo-about__image img {
        min-height: 590px;
        height: 590px;
    }

    .eo-reservation__content {
        padding: 50px;
    }

    .eo-footer__top {
        grid-template-columns: 1.25fr repeat(3, minmax(0, 0.75fr));
        gap: 32px;
    }

}


/* =========================================================
   MENÚ MÓVIL Y TABLET PEQUEÑA
========================================================= */

@media (max-width: 930px) {

    .eo-header {
        height: 72px;
    }

    .eo-header__container {
        width: min(100% - 32px, 1180px);
    }

    .eo-navigation,
    .eo-client-access,
    .eo-button--header {
        display: none;
    }

    .eo-mobile-menu {
        display: block;
    }

    .eo-mobile-navigation {
        position: absolute;
        top: 72px;
        right: 16px;
        left: 16px;
        display: flex;
        flex-direction: column;
        visibility: hidden;
        padding: 18px;
        background: var(--eo-bg-card);
        border: 1px solid var(--eo-border);
        border-radius: 21px;
        box-shadow: var(--eo-shadow);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-10px);
        transition:
            opacity 0.25s ease,
            visibility 0.25s ease,
            transform 0.25s ease;
    }

    .eo-mobile-navigation.is-open {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    .eo-mobile-navigation > a:not(.eo-button) {
        padding: 13px 10px;
        color: var(--eo-text);
        border-bottom: 1px solid var(--eo-border);
        font-size: 0.91rem;
        font-weight: 700;
    }

    .eo-mobile-navigation .eo-button {
        margin-top: 15px;
    }

    .eo-about__grid,
    .eo-client-space__wrapper {
        grid-template-columns: 1fr;
    }

    .eo-about__image {
        max-width: 620px;
    }

    .eo-client-space__preview {
        width: min(100%, 580px);
        margin-inline: auto;
    }

    .eo-services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .eo-service-card,
    .eo-service-card:nth-child(4),
    .eo-service-card:nth-child(5) {
        grid-column: auto;
        min-height: 500px;
    }

    .eo-service-card:last-child {
        grid-column: 1 / -1;
    }

    .eo-reservation__wrapper {
        grid-template-columns: 1fr;
    }

    .eo-reservation__image {
        min-height: 360px;
    }

    .eo-reservation__image img {
        right: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin-inline: auto;
    }

    .eo-footer__top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


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

@media (max-width: 680px) {

    .eo-container {
        width: min(100% - 32px, 1180px);
    }

    .eo-section-header {
        margin-bottom: 38px;
        text-align: left;
    }

    .eo-section-description {
        margin-inline: 0;
    }

    .eo-header__logo img {
        height: 35px;
    }

    .eo-theme-toggle {
        width: 55px;
    }

    .eo-hero__container {
        width: min(100% - 40px, 1180px);
        align-items: flex-end;
        padding: 125px 0 120px;
    }

    .eo-hero__overlay {
        background:
            linear-gradient(
                0deg,
                rgba(7, 7, 9, 0.92) 0%,
                rgba(7, 7, 9, 0.64) 52%,
                rgba(7, 7, 9, 0.2) 100%
            );
    }

    .eo-hero__title {
        font-size: clamp(2.65rem, 13vw, 4rem);
        line-height: 1.01;
    }

    .eo-hero__description {
        margin-top: 21px;
        font-size: 0.95rem;
        line-height: 1.65;
    }

    .eo-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        margin-top: 27px;
    }

    .eo-hero__actions .eo-button {
        width: 100%;
    }

    .eo-hero__arrow {
        top: auto;
        bottom: 25px;
        width: 41px;
        height: 41px;
        font-size: 1.6rem;
        transform: none;
    }

    .eo-hero__arrow--previous {
        left: 20px;
    }

    .eo-hero__arrow--next {
        right: 20px;
    }

    .eo-hero__pagination {
        bottom: 41px;
    }

    .eo-hero__scroll {
        display: none;
    }

    .eo-about,
    .eo-services,
    .eo-client-space,
    .eo-contact {
        padding: 82px 0;
    }

    .eo-reservation {
        padding: 75px 0;
    }

    .eo-about__grid {
        gap: 52px;
    }

    .eo-about__image,
    .eo-about__image img {
        min-height: 490px;
        height: 490px;
    }

    .eo-about__image::before {
        top: -12px;
        left: -12px;
    }

    .eo-about__image::after {
        right: -10px;
        bottom: -16px;
        width: 95px;
        height: 95px;
    }

    .eo-about__stats {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .eo-stat {
        display: flex;
        align-items: center;
        gap: 17px;
    }

    .eo-stat strong {
        min-width: 70px;
        margin: 0;
    }

    .eo-services__grid {
        grid-template-columns: 1fr;
    }

    .eo-service-card,
    .eo-service-card:nth-child(4),
    .eo-service-card:nth-child(5),
    .eo-service-card:last-child {
        grid-column: auto;
        min-height: 480px;
    }

    .eo-service-card__content {
        padding: 27px;
    }

    .eo-client-space__wrapper {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .eo-client-space__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .eo-client-space__actions .eo-button {
        width: 100%;
    }

    .eo-client-card {
        padding: 21px;
        border-radius: 24px;
    }

    .eo-client-card__item {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .eo-reservation__wrapper {
        border-radius: 25px;
    }

    .eo-reservation__content {
        padding: 38px 25px 20px;
    }

    .eo-reservation__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .eo-reservation__actions .eo-button {
        width: 100%;
    }

    .eo-reservation__image {
        min-height: 280px;
    }

    .eo-contact__grid {
        grid-template-columns: 1fr;
    }

    .eo-contact__card {
        padding: 28px 23px;
    }

    .eo-contact__item {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .eo-footer {
        padding-top: 62px;
    }

    .eo-footer__top {
        grid-template-columns: 1fr;
        gap: 37px;
    }

    .eo-footer__brand {
        max-width: none;
    }

    .eo-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
    }

}


/* =========================================================
   PANTALLAS MUY PEQUEÑAS
========================================================= */

@media (max-width: 420px) {

    .eo-header__container {
        width: calc(100% - 24px);
        gap: 8px;
    }

    .eo-header__logo img {
        height: 31px;
    }

    .eo-theme-toggle {
        width: 51px;
        height: 29px;
    }

    .eo-theme-toggle::before {
        width: 21px;
        height: 21px;
    }

    .eo-site[data-theme="light"] .eo-theme-toggle::before {
        transform: translateX(24px);
    }

    .eo-mobile-menu {
        width: 39px;
        height: 39px;
    }

    .eo-mobile-navigation {
        right: 12px;
        left: 12px;
    }

    .eo-hero__eyebrow {
        font-size: 0.69rem;
        letter-spacing: 0.12em;
    }

    .eo-hero__title {
        font-size: 2.48rem;
    }

    .eo-service-card,
    .eo-service-card:nth-child(4),
    .eo-service-card:nth-child(5) {
        min-height: 435px;
    }

}


/* =========================================================
   ACCESIBILIDAD Y REDUCCIÓN DE MOVIMIENTO
========================================================= */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    .eo-site *,
    .eo-site *::before,
    .eo-site *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

}

/* =========================================================
   CORRECCIÓN DEL ENCABEZADO CON WORDPRESS
========================================================= */

body.admin-bar .eo-header {
    top: 32px;
}

.eo-header__logo img {
    width: auto;
    height: 62px;
    object-fit: contain;
}

.eo-header__logo {
    min-width: 150px;
}

.eo-hero__title {
    line-height: 1.06;
    letter-spacing: -0.035em;
}

@media (max-width: 782px) {

    body.admin-bar .eo-header {
        top: 46px;
    }

}

@media (max-width: 680px) {

    .eo-header__logo img {
        height: 48px;
    }

    .eo-header__logo {
        min-width: 115px;
    }

}
/* Public inner pages */
.eo-public-page{background:#fbf8f4;min-height:75vh}.eo-public-hero{padding:150px 7vw 70px;text-align:center;background:linear-gradient(135deg,#f8f2ec,#fff)}.eo-public-hero span{color:#e84f0e;font-weight:700;letter-spacing:.14em}.eo-public-hero h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,76px);margin:16px 0}.eo-public-hero p{max-width:760px;margin:auto;font-size:18px}.eo-public-content{max-width:1240px;margin:auto;padding:70px 30px}.eo-public-two{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.eo-public-two img{width:100%;border-radius:18px}.eo-session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.eo-session-card{background:#fff;border:1px solid #eadfd5;border-radius:16px;overflow:hidden}.eo-session-card img{width:100%;height:300px;object-fit:cover}.eo-session-card div{padding:24px}.eo-session-card a{color:#e84f0e;font-weight:700}.eo-contact-panel,.eo-reserve-steps{background:#fff;border:1px solid #eadfd5;border-radius:18px;padding:40px;display:flex;justify-content:space-between;gap:30px}.eo-reserve-steps>div{flex:1}.eo-reserve-steps strong{font-size:36px;color:#e84f0e}.eo-login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.eo-login-photo{position:relative}.eo-login-photo img{width:100%;height:100%;object-fit:cover}.eo-login-photo>div{position:absolute;left:7%;bottom:8%;color:#fff}.eo-login-panel{padding:8vh 10%;display:flex;flex-direction:column;justify-content:center}.eo-login-logo{width:320px;max-width:90%;margin-bottom:35px}.eo-login-panel h1{font-family:Georgia,serif;font-size:52px;margin:0}.eo-login-panel form{display:grid;gap:18px;margin-top:25px}.eo-login-panel label{display:grid;gap:8px}.eo-login-panel input{padding:15px;border:1px solid #d8d0ca;border-radius:10px}.eo-check{display:flex!important;grid-auto-flow:column;justify-content:start}.eo-register{margin-top:30px}.eo-register summary{cursor:pointer;color:#e84f0e;font-weight:700}.eo-auth-error{padding:12px;background:#fff1ed;color:#a72800;border-radius:8px;margin-top:18px}@media(max-width:800px){.eo-public-two,.eo-login-page{grid-template-columns:1fr}.eo-session-grid{grid-template-columns:1fr}.eo-login-photo{display:none}.eo-contact-panel,.eo-reserve-steps{flex-direction:column}.eo-public-hero{padding-top:110px}}


/* Ajustes integrales del sitio público */
.eo-theme-toggle{width:42px;height:42px;border:1px solid rgba(25,20,17,.18);border-radius:50%;background:rgba(255,255,255,.55);display:grid;place-items:center;cursor:pointer;font-size:18px}.eo-theme-toggle__moon{display:none}.eo-site[data-theme="dark"] .eo-theme-toggle__sun{display:none}.eo-site[data-theme="dark"] .eo-theme-toggle__moon{display:inline}.eo-site[data-theme="light"] .eo-header{background:#e8ded3!important;border-bottom-color:rgba(35,27,22,.14)!important}.eo-site[data-theme="light"] .eo-header__logo img{filter:brightness(.28) contrast(1.35)}.eo-site[data-theme="dark"] .eo-header{background:rgba(16,13,11,.92)!important}.eo-site[data-theme="dark"] .eo-header__logo img{filter:none}.eo-header__actions{gap:12px}.eo-catalog-content{padding-top:60px}.eo-catalog-group{margin-bottom:80px}.eo-catalog-heading span,.eo-section-title span,.eo-service-hero span,.eo-about-story span,.eo-contact-info>span{color:#ef5b18;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eo-catalog-heading h2,.eo-section-title h2{font:500 clamp(34px,4vw,56px) Georgia,serif;margin:8px 0 26px}.eo-session-card h3{font-size:24px;margin:0 0 6px}.eo-service-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:560px;background:var(--eo-bg,#f7f2ec)}.eo-service-hero img{width:100%;height:100%;object-fit:cover}.eo-service-hero>div{padding:10vw 8vw;display:flex;flex-direction:column;justify-content:center}.eo-service-hero h1{font:500 clamp(48px,6vw,86px) Georgia,serif;margin:12px 0 20px}.eo-service-hero p{font-size:18px;line-height:1.7;max-width:620px}.eo-section-title{text-align:center;max-width:820px;margin:0 auto 38px}.eo-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.eo-package-card{position:relative;border:1px solid rgba(70,54,44,.16);border-radius:20px;padding:36px;background:rgba(255,255,255,.68)}.eo-package-card.is-featured{transform:translateY(-12px);box-shadow:0 25px 65px rgba(45,31,23,.12)}.eo-package-card>b{position:absolute;top:0;right:24px;transform:translateY(-50%);background:#ef5b18;color:#fff;padding:7px 13px;border-radius:20px;font-size:11px;text-transform:uppercase}.eo-package-card h3{font:500 34px Georgia,serif}.eo-package-card ul{padding-left:20px;line-height:2;margin:24px 0}.eo-gallery-title{margin-top:90px}.eo-work-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.eo-work-gallery figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:16px}.eo-work-gallery img{width:100%;height:100%;object-fit:cover}.eo-booking-flow{display:grid;grid-template-columns:1fr 380px;gap:34px;align-items:start}.eo-booking-main{display:grid;gap:20px}.eo-booking-main>section,.eo-booking-summary{border:1px solid rgba(70,54,44,.16);border-radius:20px;padding:30px;background:rgba(255,255,255,.72)}.eo-step-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ef5b18;color:#fff;font-weight:800}.eo-booking-main input[type=date],.eo-form-grid input,.eo-form-grid textarea{width:100%;border:1px solid #d9cfc5;border-radius:10px;padding:14px;background:#fff}.eo-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.eo-time-grid input{position:absolute;opacity:0}.eo-time-grid span{display:block;text-align:center;border:1px solid #d9cfc5;border-radius:10px;padding:14px;cursor:pointer}.eo-time-grid input:checked+span{background:#ef5b18;color:#fff;border-color:#ef5b18}.eo-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.eo-form-grid label{font-weight:700}.eo-form-grid textarea{display:block;margin-top:8px}.eo-booking-summary{position:sticky;top:110px}.eo-booking-summary img{width:100%;height:220px;object-fit:cover;border-radius:14px;margin-bottom:20px}.eo-auth-actions{display:flex;gap:12px;flex-wrap:wrap}.eo-about-story,.eo-contact-showcase{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.eo-about-story h2,.eo-contact-info h2{font:500 clamp(38px,5vw,64px) Georgia,serif}.eo-studio-photo-placeholder,.eo-facade-placeholder{min-height:520px;border-radius:22px;background:linear-gradient(135deg,#d7c3af,#8d7666);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px;color:#fff}.eo-studio-photo-placeholder small,.eo-facade-placeholder small{max-width:360px;margin-top:10px}.eo-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:70px}.eo-values-grid article{padding:34px;border:1px solid rgba(70,54,44,.16);border-radius:18px}.eo-values-grid article span{color:#ef5b18;font-weight:800}.eo-values-grid h3{font:500 30px Georgia,serif}.eo-contact-items{display:grid;gap:12px;margin:30px 0}.eo-contact-items>a,.eo-contact-items>div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid rgba(70,54,44,.15);color:inherit;text-decoration:none}.eo-map-card{margin-top:50px;border-radius:22px;overflow:hidden;box-shadow:0 20px 60px rgba(45,31,23,.12)}.eo-map-card iframe{width:100%;height:480px;border:0}.eo-site[data-theme="dark"] .eo-public-page,.eo-site[data-theme="dark"] .eo-public-content,.eo-site[data-theme="dark"] .eo-public-hero{background:#171310;color:#f7efe8}.eo-site[data-theme="dark"] .eo-package-card,.eo-site[data-theme="dark"] .eo-booking-main>section,.eo-site[data-theme="dark"] .eo-booking-summary,.eo-site[data-theme="dark"] .eo-values-grid article{background:#211b17;border-color:#3b3029}.eo-site[data-theme="dark"] .eo-service-hero{background:#171310;color:#fff}.eo-site[data-theme="dark"] .eo-form-grid input,.eo-site[data-theme="dark"] .eo-form-grid textarea,.eo-site[data-theme="dark"] .eo-booking-main input[type=date]{background:#2a231e;color:#fff;border-color:#4a3c34}
@media(max-width:900px){.eo-service-hero,.eo-about-story,.eo-contact-showcase,.eo-booking-flow{grid-template-columns:1fr}.eo-package-grid,.eo-values-grid{grid-template-columns:1fr}.eo-work-gallery{grid-template-columns:1fr 1fr}.eo-booking-summary{position:static}.eo-time-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.eo-work-gallery,.eo-form-grid{grid-template-columns:1fr}.eo-theme-toggle{width:38px;height:38px}.eo-service-hero>div{padding:60px 24px}.eo-service-hero{min-height:auto}.eo-service-hero img{height:340px}}

/* Refinamientos julio 2026 */
.eo-theme-toggle{width:92px!important;height:42px!important;border-radius:24px!important;display:flex!important;align-items:center;justify-content:center;gap:8px;padding:0 13px!important;color:#33271f}.eo-theme-toggle__label{font-size:12px;font-weight:700}.eo-site[data-theme="dark"] .eo-theme-toggle__label{font-size:0}.eo-site[data-theme="dark"] .eo-theme-toggle__label:after{content:"Oscuro";font-size:12px}.eo-site[data-theme="dark"] .eo-theme-toggle{color:#fff;background:#2d2520}.eo-services__grid{grid-template-columns:repeat(3,1fr)!important}.eo-service-card,.eo-service-card:nth-child(4),.eo-service-card:nth-child(5){min-height:500px!important}.eo-service-card-more{background:linear-gradient(135deg,#201915,#8e6947)!important;color:#fff;display:flex;align-items:flex-end}.eo-service-card-more .eo-service-card__content{padding:42px}.eo-service-card-more h3{font:500 38px Georgia,serif}.eo-service-card-more .eo-section-tag{color:#ff8a4c}.eo-card-action{display:inline-flex!important;align-items:center;justify-content:center;margin-top:18px;padding:12px 18px;border:1px solid #e84f0e;border-radius:999px;color:#e84f0e!important;text-decoration:none;transition:.2s}.eo-card-action:hover{background:#e84f0e;color:#fff!important}.eo-service-intro{padding-bottom:60px}.eo-service-content{padding-top:55px}.eo-package-price{font:600 42px Georgia,serif;margin:12px 0 18px;color:#e84f0e}.eo-package-card p{min-height:72px;line-height:1.6}.eo-booking-flow-wide{grid-template-columns:minmax(0,1fr) 420px;gap:55px}.eo-booking-main>section{padding:40px}.eo-calendar-step input[type=date]{font-size:20px;min-height:68px;padding:18px}.eo-booking-summary{padding:34px}.eo-booking-summary img{height:280px}.eo-values-grid-premium{gap:30px;margin-top:90px}.eo-values-grid-premium article{display:grid;grid-template-columns:70px 1fr;gap:22px;padding:42px;min-height:250px;background:linear-gradient(145deg,#fff,#f5ece4);box-shadow:0 20px 50px rgba(52,37,27,.08)}.eo-value-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e84f0e;color:#fff;font-weight:800}.eo-values-grid-premium h3{margin-top:0}.eo-values-grid-premium p{line-height:1.75}.eo-about-story{gap:85px}.eo-about-story p{line-height:1.75;margin-bottom:18px}.eo-contact-info p{line-height:1.7;font-size:18px}.eo-site[data-theme="dark"] .eo-values-grid-premium article{background:#211b17}.eo-site[data-theme="dark"] .eo-card-action{color:#ff7b3b!important}.eo-site[data-theme="dark"] .eo-theme-toggle__label{color:#fff}@media(max-width:1000px){.eo-services__grid{grid-template-columns:repeat(2,1fr)!important}.eo-booking-flow-wide{grid-template-columns:1fr}.eo-booking-summary{position:static}}@media(max-width:680px){.eo-services__grid{grid-template-columns:1fr!important}.eo-theme-toggle{width:44px!important}.eo-theme-toggle__label{display:none}.eo-values-grid-premium article{grid-template-columns:1fr}}

/* ===== Correcciones V4 ===== */
.eo-theme-toggle{
    width:128px!important;height:44px!important;min-width:128px!important;padding:0 16px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
    border:1px solid rgba(55,43,34,.22)!important;border-radius:999px!important;
    background:#f7f2ec!important;color:#2a211b!important;box-shadow:0 5px 16px rgba(43,31,23,.08)!important;
    font-weight:800!important;overflow:visible!important;
}
.eo-theme-toggle__icon{display:inline-flex!important;align-items:center;justify-content:center;width:20px;height:20px;font-size:17px;line-height:1;color:#9a6a28!important}
.eo-theme-toggle__label{display:inline!important;font-size:13px!important;line-height:1!important;color:inherit!important}
.eo-site[data-theme="dark"] .eo-theme-toggle{background:#2b241f!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}
.eo-site[data-theme="dark"] .eo-theme-toggle__icon{color:#f4d39f!important}
.eo-theme-toggle::before{display:none!important}
.eo-theme-toggle__sun[hidden],.eo-theme-toggle__moon[hidden]{display:none!important}

.eo-services__grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}
.eo-service-card,.eo-service-card:nth-child(4),.eo-service-card:nth-child(5),.eo-service-card-more{min-height:470px!important;height:470px!important;border-radius:22px!important;overflow:hidden!important}
.eo-service-card__image{height:100%!important}
.eo-service-card__content{padding:30px!important}
.eo-service-card-more{display:flex!important;align-items:flex-end!important;background:linear-gradient(145deg,#241b16,#a57547)!important}
.eo-service-card-more .eo-service-card__content{width:100%!important}
.eo-service-card-more h3{font-size:34px!important}

.eo-values-grid-premium{gap:28px!important;margin-top:95px!important}
.eo-values-grid-premium article{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:24px!important;padding:38px!important;min-height:315px!important}
.eo-value-icon{width:64px!important;height:64px!important;font-size:28px!important;background:linear-gradient(135deg,#ff6a21,#d94608)!important;box-shadow:0 14px 30px rgba(232,79,14,.2)!important}
.eo-values-grid-premium h3{font-size:34px!important;margin:0 0 10px!important}
.eo-values-grid-premium p{font-size:16px!important;line-height:1.7!important;margin:0!important}

.eo-session-image-placeholder,.eo-gallery-placeholder,.eo-booking-image-placeholder{
    background:linear-gradient(135deg,#e7ddd4,#c8b5a5);color:#5f4c40;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.eo-session-image-placeholder{height:300px;padding:24px;font-weight:700}
.eo-session-image-placeholder small,.eo-gallery-placeholder small{margin-top:7px;font-weight:500;opacity:.75}
.eo-site[data-theme="dark"] .eo-session-image-placeholder,.eo-site[data-theme="dark"] .eo-gallery-placeholder,.eo-site[data-theme="dark"] .eo-booking-image-placeholder{background:linear-gradient(135deg,#382e28,#241d19);color:#eadfd6}
.eo-work-gallery-empty figure{background:transparent!important}
.eo-gallery-placeholder{width:100%;height:100%;min-height:235px;border:1px dashed rgba(90,68,54,.28);border-radius:16px}
.eo-package-card p{min-height:auto!important}
.eo-package-card ul{margin:24px 0 28px!important;padding-left:20px!important;line-height:1.65!important}
.eo-package-card li+li{margin-top:9px!important}
.eo-package-card .eo-button{margin-top:auto!important}
.eo-package-card{display:flex!important;flex-direction:column!important}

.eo-booking-flow-wide{grid-template-columns:minmax(0,1fr) 360px!important;gap:42px!important}
.eo-booking-main>section{padding:42px!important}
.eo-calendar-step input[type=date]{min-height:76px!important;font-size:22px!important}
.eo-time-grid{grid-template-columns:repeat(4,1fr)!important;gap:12px!important}
.eo-time-grid span{padding:16px 10px!important}
.eo-booking-summary{padding:28px!important}
.eo-booking-summary img,.eo-booking-image-placeholder{height:210px!important;border-radius:15px!important;margin-bottom:20px!important}
.eo-booking-image-placeholder{font-weight:700}

@media(max-width:1050px){
 .eo-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .eo-booking-flow-wide{grid-template-columns:1fr!important}
 .eo-booking-summary{position:static!important}
}
@media(max-width:700px){
 .eo-theme-toggle{width:46px!important;min-width:46px!important;padding:0!important}
 .eo-theme-toggle__label{display:none!important}
 .eo-services__grid{grid-template-columns:1fr!important}
 .eo-service-card,.eo-service-card:nth-child(4),.eo-service-card:nth-child(5),.eo-service-card-more{height:auto!important;min-height:440px!important}
 .eo-time-grid{grid-template-columns:repeat(2,1fr)!important}
}

/* FIX V5: Inicio — 3 tarjetas arriba y 3 abajo */
.eo-services__grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:22px!important;
}
.eo-services__grid > .eo-service-card,
.eo-services__grid > .eo-service-card:nth-child(4),
.eo-services__grid > .eo-service-card:nth-child(5),
.eo-services__grid > .eo-service-card:last-child,
.eo-services__grid > .eo-service-card-more{
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
    height:470px!important;
    min-height:470px!important;
}
@media (max-width:760px){
    .eo-services__grid{grid-template-columns:1fr!important}
    .eo-services__grid > .eo-service-card,
    .eo-services__grid > .eo-service-card:nth-child(4),
    .eo-services__grid > .eo-service-card:nth-child(5),
    .eo-services__grid > .eo-service-card:last-child,
    .eo-services__grid > .eo-service-card-more{
        height:auto!important;
        min-height:440px!important;
    }
}

/* FIX V6: calendario fijo, intervalos de 30 minutos y espaciado de reserva */
.eo-booking-main{gap:28px!important}
.eo-booking-main>section{padding:44px!important}
.eo-step-heading{display:flex;align-items:flex-start;gap:18px;margin-bottom:28px}
.eo-step-heading .eo-step-number{flex:0 0 36px;margin-top:2px}
.eo-step-heading h2{margin:0 0 8px!important;font-size:30px;line-height:1.15}
.eo-step-heading p{margin:0!important;line-height:1.65;color:rgba(38,29,24,.72)}
.eo-site[data-theme="dark"] .eo-step-heading p{color:rgba(255,255,255,.72)}

.eo-fixed-calendar{border:1px solid #ded3c8;border-radius:18px;padding:24px;background:#fff}
.eo-site[data-theme="dark"] .eo-fixed-calendar{background:#2a231e;border-color:#4a3c34}
.eo-fixed-calendar__header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;margin-bottom:20px}
.eo-fixed-calendar__header h3{text-align:center;margin:0;font-size:24px;text-transform:capitalize}
.eo-calendar-nav{width:44px;height:44px;border:1px solid #d9cfc5;border-radius:50%;background:#fff;color:#2a211b;font-size:30px;line-height:1;cursor:pointer}
.eo-calendar-nav:hover{border-color:#ef5b18;color:#ef5b18}
.eo-site[data-theme="dark"] .eo-calendar-nav{background:#211b17;color:#fff;border-color:#4a3c34}
.eo-fixed-calendar__weekdays,.eo-fixed-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.eo-fixed-calendar__weekdays{margin-bottom:10px}
.eo-fixed-calendar__weekdays span{text-align:center;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#7c6c60}
.eo-calendar-day{aspect-ratio:1/1;min-height:58px;border:1px solid #e1d7ce;border-radius:12px;background:#fff;color:#2a211b;font-weight:700;cursor:pointer;transition:.18s}
.eo-calendar-day:hover:not(:disabled){border-color:#ef5b18;color:#ef5b18;transform:translateY(-1px)}
.eo-calendar-day.is-selected{background:#ef5b18;color:#fff;border-color:#ef5b18;box-shadow:0 10px 24px rgba(239,91,24,.22)}
.eo-calendar-day.is-today:not(.is-selected){border-color:#b9883b;box-shadow:inset 0 0 0 1px #b9883b}
.eo-calendar-day:disabled{opacity:.32;cursor:not-allowed;background:#f5f1ed}
.eo-calendar-day.is-empty{visibility:hidden}
.eo-site[data-theme="dark"] .eo-calendar-day{background:#211b17;color:#fff;border-color:#4a3c34}
.eo-site[data-theme="dark"] .eo-calendar-day:disabled{background:#181411}
.eo-selected-date{margin:18px 0 0!important;padding:13px 16px;border-radius:10px;background:#f7f1eb;color:#5d493c;font-weight:700;text-align:center}
.eo-site[data-theme="dark"] .eo-selected-date{background:#211b17;color:#f3e7dd}

.eo-time-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:13px!important}
.eo-time-grid span{padding:16px 8px!important;min-height:54px;display:flex!important;align-items:center;justify-content:center}
.eo-form-grid{gap:22px!important}
.eo-form-grid label{display:block;line-height:1.4}
.eo-form-grid input,.eo-form-grid textarea{margin-top:9px!important}
.eo-booking-register .eo-auth-actions{margin-top:26px!important}
.eo-auth-actions .eo-button{min-width:160px;justify-content:center}
.eo-button--secondary{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#ef5b18!important;border:2px solid #ef5b18!important;box-shadow:0 10px 24px rgba(239,91,24,.1)}
.eo-button--secondary:hover{background:#ef5b18;color:#fff!important}
.eo-site[data-theme="dark"] .eo-button--secondary{background:transparent;color:#ff8b55!important;border-color:#ff8b55!important}
.eo-site[data-theme="dark"] .eo-button--secondary:hover{background:#ff8b55;color:#171310!important}
.eo-booking-summary h2{margin:8px 0 6px!important;line-height:1.15}
.eo-booking-summary h3{margin:0 0 12px!important;line-height:1.3}
.eo-booking-summary p{line-height:1.6;margin:0 0 22px!important}

@media(max-width:900px){
 .eo-fixed-calendar{padding:18px}
 .eo-calendar-day{min-height:48px}
 .eo-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:560px){
 .eo-booking-main>section{padding:26px!important}
 .eo-step-heading{gap:13px}
 .eo-step-heading h2{font-size:25px}
 .eo-fixed-calendar__weekdays,.eo-fixed-calendar__days{gap:5px}
 .eo-calendar-day{min-height:40px;border-radius:9px;font-size:13px}
 .eo-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .eo-form-grid{grid-template-columns:1fr!important}
}

.eo-booking-account-note {
    margin: 18px 0 0;
    max-width: 640px;
    color: var(--eo-muted, #6b625c);
    line-height: 1.65;
}

.eo-booking-error {
    max-width: 1180px;
    margin: 0 auto 28px;
    padding: 16px 20px;
    border: 1px solid #e4a08c;
    border-radius: 14px;
    background: #fff4ef;
    color: #8a2f18;
    font-weight: 700;
}

/* =========================================================
   NAVEGACIÓN PREMIUM, TEMA Y ACCESOS RÁPIDOS
========================================================= */
html[data-eo-theme-preload="dark"] body { background: #11100f; }

.eo-header__actions .eo-theme-toggle { display: none !important; }

.eo-theme-control {
    position: fixed;
    z-index: 1100;
    left: 22px;
    bottom: 22px;
}

.eo-theme-control__button {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 8px 13px;
    color: var(--eo-text);
    background: color-mix(in srgb, var(--eo-bg-card) 86%, transparent);
    border: 1px solid var(--eo-border);
    border-radius: 999px;
    box-shadow: 0 12px 34px rgba(20, 15, 12, 0.12);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    cursor: pointer;
    font: inherit;
    font-size: 0.76rem;
    font-weight: 700;
}

.eo-theme-control__icon {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    color: var(--eo-primary);
    font-size: 1rem;
}

.eo-theme-control__menu {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 0;
    display: grid;
    width: 164px;
    padding: 7px;
    visibility: hidden;
    opacity: 0;
    background: color-mix(in srgb, var(--eo-bg-card) 94%, transparent);
    border: 1px solid var(--eo-border);
    border-radius: 15px;
    box-shadow: 0 18px 46px rgba(20, 15, 12, 0.16);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.eo-theme-control__menu.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.eo-theme-control__menu button {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 11px;
    color: var(--eo-text-soft);
    background: transparent;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    font: inherit;
    font-size: .79rem;
    text-align: left;
}

.eo-theme-control__menu button:hover,
.eo-theme-control__menu button.is-active {
    color: var(--eo-text);
    background: var(--eo-bg-soft);
}

.eo-theme-control__menu button.is-active::after {
    margin-left: auto;
    color: var(--eo-primary);
    content: "✓";
}

.eo-quick-actions {
    position: fixed;
    z-index: 900;
    top: 50%;
    right: 18px;
    display: flex;
    flex-direction: column;
    width: 54px;
    overflow: hidden;
    background: rgba(21, 18, 16, .58);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 17px;
    box-shadow: 0 18px 48px rgba(0,0,0,.2);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transform: translateY(-50%);
    transition: width .28s ease, background-color .28s ease;
}

.eo-quick-actions:hover,
.eo-quick-actions:focus-within {
    width: 174px;
    background: rgba(21, 18, 16, .78);
}

.eo-quick-actions a {
    display: flex;
    align-items: center;
    width: 174px;
    min-height: 58px;
    color: rgba(255,255,255,.92);
    border-bottom: 1px solid rgba(255,255,255,.12);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .02em;
    white-space: nowrap;
    transition: background-color .2s ease, color .2s ease;
}

.eo-quick-actions a:last-child { border-bottom: 0; }
.eo-quick-actions a:hover { color: #fff; background: rgba(239,91,24,.84); }

.eo-quick-actions__icon {
    display: grid;
    flex: 0 0 54px;
    width: 54px;
    place-items: center;
    font-size: 1.25rem;
}

.eo-account-menu { position: relative; }
.eo-account-menu__trigger { display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; cursor: pointer; font: inherit; }
.eo-account-menu__panel {
    position: absolute;
    top: calc(100% + 14px);
    right: -16px;
    display: grid;
    width: 184px;
    padding: 8px;
    visibility: hidden;
    opacity: 0;
    background: color-mix(in srgb, var(--eo-bg-card) 96%, transparent);
    border: 1px solid var(--eo-border);
    border-radius: 15px;
    box-shadow: 0 18px 46px rgba(20,15,12,.18);
    transform: translateY(7px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.eo-account-menu.is-open .eo-account-menu__panel { visibility: visible; opacity: 1; transform: translateY(0); }
.eo-account-menu__panel a { padding: 10px 11px; color: var(--eo-text-soft); border-radius: 9px; font-size: .79rem; }
.eo-account-menu__panel a:hover { color: var(--eo-text); background: var(--eo-bg-soft); }
.eo-account-menu__panel .eo-account-menu__logout { margin-top: 4px; color: #b73d28; border-top: 1px solid var(--eo-border); border-radius: 0 0 9px 9px; }

/* La primera diapositiva también inicia con un movimiento cinematográfico. */
.eo-hero[data-hero-intro] .eo-hero__slide:first-child .eo-hero__background img {
    transform: scale(1.105) translate3d(0, 0, 0);
}
.eo-hero[data-hero-intro].is-ready .eo-hero__slide:first-child.is-active .eo-hero__background img {
    transform: scale(1) translate3d(0, 0, 0);
    transition-duration: 11s;
}
.eo-hero[data-hero-intro] .eo-hero__slide:first-child .eo-hero__content {
    opacity: 0;
    transform: translateY(24px);
}
.eo-hero[data-hero-intro].is-ready .eo-hero__slide:first-child.is-active .eo-hero__content {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .9s ease .16s, transform .9s ease .16s;
}

@media (max-width: 930px) {
    .eo-quick-actions {
        top: auto;
        right: 14px;
        bottom: 14px;
        width: auto;
        flex-direction: row;
        border-radius: 999px;
        transform: none;
    }
    .eo-quick-actions:hover,
    .eo-quick-actions:focus-within { width: auto; }
    .eo-quick-actions a { width: 48px; min-height: 48px; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 0; }
    .eo-quick-actions a span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    .eo-quick-actions__icon { flex-basis: 48px; width: 48px; }
    .eo-theme-control { left: 14px; bottom: 14px; }
    .eo-theme-control__text { display: none; }
    .eo-theme-control__button { width: 48px; min-height: 48px; justify-content: center; padding: 0; }
    .eo-theme-control__menu { bottom: calc(100% + 9px); }
}

@media (prefers-reduced-motion: reduce) {
    .eo-hero[data-hero-intro] .eo-hero__slide:first-child .eo-hero__background img,
    .eo-hero[data-hero-intro].is-ready .eo-hero__slide:first-child.is-active .eo-hero__background img,
    .eo-hero[data-hero-intro] .eo-hero__slide:first-child .eo-hero__content,
    .eo-hero[data-hero-intro].is-ready .eo-hero__slide:first-child.is-active .eo-hero__content {
        transition: none;
        transform: none;
        opacity: 1;
    }
}


/* Correcciones de contraste y contenido de la página de inicio */
.eo-quick-actions,
.eo-quick-actions:hover,
.eo-quick-actions:focus-within {
    background: rgba(24, 20, 18, .88) !important;
}
.eo-quick-actions a,
.eo-quick-actions a:visited,
.eo-quick-actions a span {
    color: #fff !important;
}
.eo-quick-actions a:hover,
.eo-quick-actions a:focus-visible {
    color: #fff !important;
    background: #ef5b18 !important;
}
.eo-quick-actions__icon {
    color: #fff !important;
}
.eo-contact__item--address { align-items: flex-start; }
.eo-contact__item--address a { max-width: 340px; line-height: 1.55; text-align: right; }
.eo-contact__buttons .eo-contact__explore {
    color: #fff !important;
    background: #ef5b18;
    border-color: #ef5b18;
}
.eo-contact__buttons .eo-contact__explore:hover {
    color: #fff !important;
    filter: brightness(.94);
}
@media (max-width: 700px) {
    .eo-contact__item--address { display: grid; }
    .eo-contact__item--address a { max-width: none; text-align: left; }
}

/* =========================================================
   CORRECCIÓN DEL INICIO EN MODO CLARO + IDENTIDAD FOTOGRÁFICA
   ========================================================= */
.eo-site[data-theme="light"] .eo-about{
    background:var(--eo-bg)!important;
    color:var(--eo-text)!important;
}
.eo-site[data-theme="light"] .eo-about :is(h1,h2,h3,h4,h5,h6,strong,b){
    color:var(--eo-text)!important;
}
.eo-site[data-theme="light"] .eo-about :is(p,small){
    color:var(--eo-text-soft)!important;
}
.eo-site[data-theme="light"] .eo-about .eo-section-tag{
    color:var(--eo-primary)!important;
}

/* Sustituye la línea y los puntos genéricos por marcas de encuadre fotográfico. */
.eo-about__image::before{
    inset:-18px!important;
    width:auto!important;
    height:auto!important;
    border:0!important;
    border-radius:calc(var(--eo-radius-lg) + 12px)!important;
    opacity:.72!important;
    pointer-events:none;
    background:
        linear-gradient(var(--eo-primary),var(--eo-primary)) left top/54px 2px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left top/2px 54px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right top/54px 2px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right top/2px 54px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/54px 2px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/2px 54px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/54px 2px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/2px 54px no-repeat!important;
}
.eo-about__image::after{
    right:-33px!important;
    bottom:38px!important;
    width:62px!important;
    height:62px!important;
    border-radius:0!important;
    opacity:.82!important;
    pointer-events:none;
    background:
        linear-gradient(var(--eo-primary),var(--eo-primary)) left top/22px 2px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left top/2px 22px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right top/22px 2px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right top/2px 22px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/22px 2px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/2px 22px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/22px 2px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/2px 22px no-repeat!important;
}
.eo-about__image img{
    outline:1px solid color-mix(in srgb,var(--eo-primary) 34%,transparent);
    outline-offset:7px;
}
@media (max-width:700px){
    .eo-about__image::before{inset:-10px!important}
    .eo-about__image::after{right:-12px!important;bottom:24px!important;width:46px!important;height:46px!important}
    .eo-about__image img{outline-offset:4px}
}

/* =========================================================
   AJUSTE FINAL — ENCUADRE PRINCIPAL + HISTORIA DEL ESTUDIO
   ========================================================= */
/* Un solo detalle de encuadre, limpio y exclusivo para la imagen principal. */
.eo-about__image::before{
    content:""!important;
    position:absolute!important;
    inset:-14px!important;
    width:auto!important;
    height:auto!important;
    border:0!important;
    border-radius:0!important;
    opacity:.72!important;
    pointer-events:none!important;
    background:
        linear-gradient(var(--eo-primary),var(--eo-primary)) left top/34px 1px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left top/1px 34px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right top/34px 1px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right top/1px 34px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/34px 1px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/1px 34px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/34px 1px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/1px 34px no-repeat!important;
}
.eo-about__image::after{display:none!important;content:none!important}
.eo-about__image img{outline:0!important;box-shadow:0 26px 70px rgba(55,39,29,.16)}

/* Historia en dos bloques: texto + evolución visual vertical de tres fotografías. */
.eo-about-story--history{
    grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);
    gap:clamp(48px,6vw,90px);
    align-items:start;
}
.eo-about-story__copy{max-width:620px}
.eo-studio-evolution{
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    gap:22px;
    padding-left:54px;
}
.eo-studio-evolution::before{
    content:"";
    position:absolute;
    top:24px;
    bottom:24px;
    left:18px;
    width:1px;
    background:linear-gradient(180deg,transparent,var(--eo-border) 8%,var(--eo-primary) 50%,var(--eo-border) 92%,transparent);
}
.eo-studio-evolution__item{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);
    gap:22px;
    align-items:center;
    padding:14px;
    border:1px solid color-mix(in srgb,var(--eo-text) 11%,transparent);
    border-radius:24px;
    background:color-mix(in srgb,var(--eo-surface) 86%,transparent);
    box-shadow:0 18px 48px rgba(61,43,31,.08);
}
.eo-studio-evolution__item::before{
    content:"";
    position:absolute;
    top:50%;
    left:-42px;
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--eo-primary);
    border:4px solid var(--eo-bg);
    box-shadow:0 0 0 1px color-mix(in srgb,var(--eo-primary) 38%,transparent);
    transform:translateY(-50%);
    z-index:2;
}
.eo-studio-evolution__photo{
    position:relative;
    min-height:250px;
    overflow:hidden;
    border:1px solid color-mix(in srgb,var(--eo-text) 13%,transparent);
    border-radius:18px;
    background:linear-gradient(145deg,#d8c5b2 0%,#b19680 55%,#856c5a 100%);
}
.eo-studio-evolution__photo::after{
    content:"";
    position:absolute;
    inset:14px;
    border:1px solid rgba(255,255,255,.34);
    border-radius:12px;
    pointer-events:none;
}
.eo-studio-evolution__number{
    position:absolute;
    top:20px;
    left:20px;
    z-index:2;
    color:rgba(255,255,255,.78);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.16em;
}
.eo-studio-evolution__placeholder{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:28px;
    text-align:center;
    color:#fff;
}
.eo-studio-evolution__placeholder strong{font:500 1.35rem Georgia,serif;color:#fff!important}
.eo-studio-evolution__placeholder small{margin-top:8px;color:rgba(255,255,255,.82)!important;line-height:1.45}
.eo-studio-evolution__caption{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:8px;
    padding:10px 12px 10px 2px;
}
.eo-studio-evolution__caption span{
    color:var(--eo-primary)!important;
    font-size:.69rem!important;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.eo-studio-evolution__caption strong{
    font:500 1.45rem Georgia,serif;
    color:var(--eo-text)!important;
    text-align:left;
}
.eo-site[data-theme="dark"] .eo-studio-evolution__item{
    background:#211b17;
    border-color:var(--eo-dark-line);
    box-shadow:none;
}
.eo-site[data-theme="dark"] .eo-studio-evolution__item::before{border-color:var(--eo-dark-bg)}
.eo-site[data-theme="dark"] .eo-studio-evolution__photo{
    border-color:var(--eo-dark-line);
    background:linear-gradient(145deg,#43372f 0%,#302720 55%,#211b17 100%);
}

@media (max-width:1100px){
    .eo-about-story--history{grid-template-columns:1fr;gap:48px}
    .eo-about-story__copy{max-width:760px}
}
@media (max-width:760px){
    .eo-studio-evolution{padding-left:0;gap:24px}
    .eo-studio-evolution::before,.eo-studio-evolution__item::before{display:none}
    .eo-studio-evolution__item{grid-template-columns:1fr;padding:12px}
    .eo-studio-evolution__photo{min-height:340px}
    .eo-studio-evolution__caption{padding:8px 8px 12px}
    .eo-about__image::before{inset:-8px!important;background-size:24px 1px,1px 24px,24px 1px,1px 24px,24px 1px,1px 24px,24px 1px,1px 24px!important}
}

/* Sesión de embarazo: opciones breves de vestuario y extras */
.eo-maternity-options{display:grid;gap:26px}
.eo-maternity-block{display:grid;gap:12px}
.eo-maternity-block h3{margin:0;font-size:20px}
.eo-option-help,.eo-maternity-note{margin:0;color:#75675e;line-height:1.55}
.eo-dress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.eo-dress-card{position:relative;cursor:pointer}
.eo-dress-card input,.eo-extra-card input{position:absolute;opacity:0;pointer-events:none}
.eo-dress-card>span{display:flex;flex-direction:column;height:100%;border:2px solid transparent;border-radius:15px;overflow:hidden;background:#f6f0ea;box-shadow:0 8px 22px rgba(42,31,24,.08);transition:.2s}
.eo-dress-card img{width:100%;aspect-ratio:4/5;object-fit:cover}
.eo-dress-card b{padding:12px;text-align:center}
.eo-dress-card input:checked+span{border-color:#ef5b18;box-shadow:0 0 0 3px rgba(239,91,24,.14)}
.eo-dress-card input:checked+span:after{content:'✓';position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ef5b18;color:#fff;font-weight:800}
.eo-dress-card--text>span{min-height:132px;align-items:center;justify-content:center;padding:18px;text-align:center}
.eo-dress-card--text small{display:block;margin-top:5px;color:#75675e;line-height:1.35}
.eo-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.eo-extra-card{position:relative;cursor:pointer}
.eo-extra-card>span{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:2px solid #ddd1c7;border-radius:14px;background:#fff;transition:.2s}
.eo-extra-card strong{color:#ef5b18}
.eo-extra-card input:checked+span{border-color:#ef5b18;background:#fff6f1;box-shadow:0 0 0 3px rgba(239,91,24,.12)}
.eo-maternity-note--props{padding:16px 18px;border-radius:12px;background:#f7efe8;color:#5f5148}
.eo-maternity-summary{margin:18px 0;padding:14px 16px;border-radius:12px;background:#fff4ed}
.eo-maternity-summary small{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#ef5b18}
.eo-maternity-summary p{margin:6px 0 0!important}
.eo-site[data-theme="dark"] .eo-option-help,.eo-site[data-theme="dark"] .eo-maternity-note,.eo-site[data-theme="dark"] .eo-dress-card--text small{color:#c9bcb2}
.eo-site[data-theme="dark"] .eo-dress-card>span,.eo-site[data-theme="dark"] .eo-extra-card>span{background:#2a231e;border-color:#4a3c34;color:#fff}
.eo-site[data-theme="dark"] .eo-extra-card input:checked+span{background:#34251d;border-color:#ef5b18}
.eo-site[data-theme="dark"] .eo-maternity-note--props,.eo-site[data-theme="dark"] .eo-maternity-summary{background:#2c241f;color:#f5ece5}
@media(max-width:850px){.eo-dress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.eo-dress-grid,.eo-extra-grid{grid-template-columns:1fr 1fr}.eo-dress-card--text>span{min-height:112px;padding:12px}.eo-maternity-options{gap:20px}}


/* Sesión Newborn: validación breve de edad y recomendaciones */
.eo-newborn-options{display:grid;gap:22px}.eo-newborn-birthdate{display:grid;gap:10px;max-width:520px}.eo-newborn-birthdate label{display:grid;gap:8px;font-weight:700}.eo-newborn-birthdate input{width:100%;padding:14px 16px;border:1px solid #ddd3cb;border-radius:12px;background:#fff;font:inherit}.eo-newborn-age-message{min-height:24px;padding:0 2px;color:#6f665f;font-size:.94rem}.eo-newborn-age-message.is-valid{color:#187548;font-weight:700}.eo-newborn-age-message.is-invalid{padding:13px 15px;border:1px solid #f2c4bd;border-radius:12px;background:#fff3f1;color:#a22c20}.eo-newborn-age-message a{color:inherit;font-weight:800;text-decoration:underline}.eo-newborn-guidance{padding:20px 22px;border:1px solid #eadfd7;border-radius:18px;background:#fffaf7}.eo-newborn-guidance h3{margin:0 0 12px}.eo-newborn-guidance ul{margin:0;padding-left:20px;display:grid;gap:8px;color:#635952}.eo-booking-flow button:disabled{cursor:not-allowed;opacity:.45}


/* Sesión Mes a Mes: campos compactos y selector visual de temáticas */
.eo-monthly-options{display:grid;gap:24px}.eo-monthly-month-field{max-width:520px}.eo-monthly-month-field label{display:grid;gap:9px;font-weight:700}.eo-monthly-month-field select{width:100%;padding:14px 16px;border:1px solid #ddd3cb;border-radius:12px;background:#fff;font:inherit;color:#2b2724}.eo-monthly-theme-block{display:grid;gap:12px}.eo-monthly-theme-block h3{margin:0}.eo-monthly-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.eo-monthly-theme-card{cursor:pointer}.eo-monthly-theme-card input{position:absolute;opacity:0;pointer-events:none}.eo-monthly-theme-card span{position:relative;display:grid;overflow:hidden;border:2px solid transparent;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(47,35,29,.08);transition:.2s ease}.eo-monthly-theme-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.eo-monthly-theme-card b{padding:13px 14px;text-align:center}.eo-monthly-theme-card input:checked+span{border-color:#f05a1f;box-shadow:0 0 0 4px rgba(240,90,31,.13)}.eo-monthly-theme-card input:checked+span:after{content:'✓';position:absolute;top:10px;right:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f05a1f;color:#fff;font-weight:900}@media(max-width:760px){.eo-monthly-theme-grid{grid-template-columns:1fr}.eo-monthly-theme-card img{aspect-ratio:16/10}}


/* Sesión Smash Cake: temática breve e información esencial */
.eo-smash-options{display:grid;gap:22px}.eo-smash-theme-field{display:grid;gap:9px;max-width:760px}.eo-smash-theme-field label{display:grid;gap:8px;font-weight:700}.eo-smash-theme-field textarea{width:100%;min-height:104px;padding:14px 16px;border:1px solid #ddd3cb;border-radius:12px;background:#fff;font:inherit;resize:vertical}.eo-smash-theme-field textarea:focus{outline:2px solid rgba(239,91,28,.18);border-color:#ef5b1c}.eo-smash-guidance{max-width:860px}

/* Sesiones infantiles: personalización por temática o globos */
.eo-infantile-options{display:grid;gap:22px}
.eo-infantile-options .eo-smash-theme-field small{font-weight:400;color:#756a63;line-height:1.5}


/* Cumpleaños de adultos: selección visual de fondos y globos */
.eo-adult-options{display:grid;gap:26px}
.eo-adult-color-block{display:grid;gap:14px}
.eo-adult-color-block h3{margin:0;font-size:22px}
.eo-color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.eo-color-card{cursor:pointer}
.eo-color-card input{position:absolute;opacity:0;pointer-events:none}
.eo-color-card span{display:flex;align-items:center;gap:12px;min-height:66px;padding:12px 14px;border:1px solid #ded7d1;border-radius:16px;background:#fff;transition:.2s ease}
.eo-color-card i{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--eo-swatch);border:1px solid rgba(0,0,0,.18);box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
.eo-color-card input:checked+span{border-color:#e84f0e;box-shadow:0 0 0 2px rgba(232,79,14,.14);transform:translateY(-1px)}
.eo-color-card input:checked+span:after{content:'✓';margin-left:auto;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e84f0e;color:#fff;font-weight:800}
.eo-color-card input:disabled+span{opacity:.42;cursor:not-allowed}
.eo-selection-counter{margin:0;color:#6f625a;font-weight:700}
.eo-site[data-theme="dark"] .eo-color-card span{background:#211b17;border-color:#493b32;color:#fff}
.eo-site[data-theme="dark"] .eo-selection-counter{color:#cdbfb5}
@media(max-width:760px){.eo-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Bodas civiles: centrar los dos paquetes disponibles */
.eo-package-grid--centered{grid-template-columns:repeat(2,minmax(0,378px));justify-content:center}
@media(max-width:900px){.eo-package-grid--centered{grid-template-columns:minmax(0,520px)}}

/* Estudio One: consistencia visual del formulario de reservas en modo claro y oscuro */
.eo-site{
    --eo-booking-panel:#fffaf7;
    --eo-booking-panel-border:#eadfd7;
    --eo-booking-title:#241c17;
    --eo-booking-text:#635952;
    --eo-booking-muted:#756a63;
    --eo-booking-field:#ffffff;
    --eo-booking-field-border:#ddd3cb;
}
.eo-site .eo-newborn-guidance,
.eo-site .eo-smash-guidance{
    background:var(--eo-booking-panel)!important;
    border-color:var(--eo-booking-panel-border)!important;
    color:var(--eo-booking-text)!important;
}
.eo-site .eo-newborn-guidance h3,
.eo-site .eo-smash-guidance h3{
    color:var(--eo-booking-title)!important;
}
.eo-site .eo-newborn-guidance ul,
.eo-site .eo-smash-guidance ul,
.eo-site .eo-newborn-guidance li,
.eo-site .eo-smash-guidance li{
    color:var(--eo-booking-text)!important;
}
.eo-site .eo-smash-theme-field small,
.eo-site .eo-option-help{
    color:var(--eo-booking-muted)!important;
}
.eo-site .eo-smash-theme-field textarea,
.eo-site .eo-newborn-birthdate input{
    background:var(--eo-booking-field)!important;
    color:var(--eo-booking-title)!important;
    border-color:var(--eo-booking-field-border)!important;
}
.eo-site .eo-smash-theme-field textarea::placeholder,
.eo-site .eo-newborn-birthdate input::placeholder{
    color:#8b7d74!important;
    opacity:1;
}
.eo-site[data-theme="dark"]{
    --eo-booking-panel:#2a231e;
    --eo-booking-panel-border:#4a3c34;
    --eo-booking-title:#fff8f2;
    --eo-booking-text:#e4d8cf;
    --eo-booking-muted:#c9bcb2;
    --eo-booking-field:#2a231e;
    --eo-booking-field-border:#4a3c34;
}
.eo-site[data-theme="dark"] .eo-smash-theme-field textarea::placeholder,
.eo-site[data-theme="dark"] .eo-newborn-birthdate input::placeholder{
    color:#ab9d93!important;
}

/* =========================================================
   CORRECCIÓN GLOBAL DEFINITIVA DEL MODO CLARO
   Mantiene intacto el modo oscuro y elimina fondos/textos oscuros residuales.
========================================================= */
body.eo-website:has(.eo-site[data-theme="light"]){background:#f8f6f2!important;color:#171717!important}
.eo-site[data-theme="light"]{background:#f8f6f2!important;color:#171717!important}
.eo-site[data-theme="light"] .eo-main,
.eo-site[data-theme="light"] .eo-public-page,
.eo-site[data-theme="light"] .eo-public-content,
.eo-site[data-theme="light"] .eo-public-hero,
.eo-site[data-theme="light"] .eo-services,
.eo-site[data-theme="light"] .eo-services-intro,
.eo-site[data-theme="light"] .eo-service-intro,
.eo-site[data-theme="light"] .eo-service-content,
.eo-site[data-theme="light"] .eo-about-page,
.eo-site[data-theme="light"] .eo-about-hero,
.eo-site[data-theme="light"] .eo-about-content,
.eo-site[data-theme="light"] .eo-about-story,
.eo-site[data-theme="light"] .eo-contact-page,
.eo-site[data-theme="light"] .eo-contact-content,
.eo-site[data-theme="light"] .eo-client-home,
.eo-site[data-theme="light"] .eo-client-intro,
.eo-site[data-theme="light"] .eo-catalog-content,
.eo-site[data-theme="light"] section:not(.eo-service-card):not(.eo-session-card){background-color:#f8f6f2;color:#171717}

.eo-site[data-theme="light"] h1,
.eo-site[data-theme="light"] h2,
.eo-site[data-theme="light"] h3,
.eo-site[data-theme="light"] h4,
.eo-site[data-theme="light"] h5,
.eo-site[data-theme="light"] h6{color:#241c17!important}
.eo-site[data-theme="light"] p,
.eo-site[data-theme="light"] li,
.eo-site[data-theme="light"] small,
.eo-site[data-theme="light"] label{color:#554a43}
.eo-site[data-theme="light"] .eo-section-tag,
.eo-site[data-theme="light"] .eo-catalog-heading span,
.eo-site[data-theme="light"] .eo-section-title span,
.eo-site[data-theme="light"] .eo-service-hero span,
.eo-site[data-theme="light"] .eo-about-story span,
.eo-site[data-theme="light"] .eo-contact-info>span{color:#c67922!important}

.eo-site[data-theme="light"] .eo-package-card,
.eo-site[data-theme="light"] .eo-booking-main>section,
.eo-site[data-theme="light"] .eo-booking-summary,
.eo-site[data-theme="light"] .eo-values-grid article,
.eo-site[data-theme="light"] .eo-studio-evolution__item,
.eo-site[data-theme="light"] .eo-client-card,
.eo-site[data-theme="light"] .eo-portal-preview,
.eo-site[data-theme="light"] .eo-newborn-guidance,
.eo-site[data-theme="light"] .eo-smash-guidance{background:#fffaf7!important;color:#241c17!important;border-color:#ded3c9!important}

.eo-site[data-theme="light"] .eo-session-card__content,
.eo-site[data-theme="light"] .eo-service-card__content{background:#fff!important;color:#241c17!important}
.eo-site[data-theme="light"] .eo-session-card__content h3,
.eo-site[data-theme="light"] .eo-service-card__content h3{color:#241c17!important}
.eo-site[data-theme="light"] .eo-session-card__content p,
.eo-site[data-theme="light"] .eo-service-card__content p{color:#5d5149!important}

.eo-site[data-theme="light"] input,
.eo-site[data-theme="light"] textarea,
.eo-site[data-theme="light"] select,
.eo-site[data-theme="light"] .eo-time-grid span{background:#fff!important;color:#241c17!important;border-color:#d9cfc5!important}
.eo-site[data-theme="light"] input::placeholder,
.eo-site[data-theme="light"] textarea::placeholder{color:#8b7d74!important;opacity:1}

.eo-site[data-theme="light"] .eo-studio-evolution__caption strong,
.eo-site[data-theme="light"] .eo-about-story__copy,
.eo-site[data-theme="light"] .eo-about-story__copy p,
.eo-site[data-theme="light"] .eo-contact-info,
.eo-site[data-theme="light"] .eo-contact-info p{color:#241c17!important}

.eo-site[data-theme="light"] .eo-navigation__link,
.eo-site[data-theme="light"] .eo-client-access,
.eo-site[data-theme="light"] .eo-theme-toggle{color:#2a211c!important}

/* Corrección puntual: tarjetas de "Lo que hacemos" en modo oscuro */
.eo-site[data-theme="dark"] .eo-session-card{
    background:#211b17!important;
    border-color:#3b3029!important;
}
.eo-site[data-theme="dark"] .eo-session-card > div:not(.eo-session-image-placeholder){
    background:#211b17!important;
    color:#f7efe8!important;
}
.eo-site[data-theme="dark"] .eo-session-card h3{
    color:#fff8f2!important;
}
.eo-site[data-theme="dark"] .eo-session-card p{
    color:#cfc2b8!important;
}
.eo-site[data-theme="dark"] .eo-session-image-placeholder{
    background:#2a231e!important;
    color:#fff8f2!important;
}
.eo-site[data-theme="dark"] .eo-session-image-placeholder small{
    color:#cfc2b8!important;
}

/* =========================================================
   SLIDER DE INICIO: LEGIBILIDAD EN MODO CLARO
   Conserva el aspecto del modo oscuro y evita que las reglas
   globales del tema claro oscurezcan el contenido del hero.
========================================================= */
.eo-site[data-theme="light"] .eo-hero,
.eo-site[data-theme="light"] .eo-hero__slider,
.eo-site[data-theme="light"] .eo-hero__slide {
    background-color: #11100f !important;
}
.eo-site[data-theme="light"] .eo-hero__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(14, 10, 8, 0.86) 0%,
            rgba(14, 10, 8, 0.66) 43%,
            rgba(14, 10, 8, 0.28) 76%,
            rgba(14, 10, 8, 0.20) 100%
        ),
        linear-gradient(
            0deg,
            rgba(14, 10, 8, 0.48) 0%,
            rgba(14, 10, 8, 0.04) 48%
        ) !important;
}
.eo-site[data-theme="light"] .eo-hero__content,
.eo-site[data-theme="light"] .eo-hero__title,
.eo-site[data-theme="light"] .eo-hero__content h1 {
    color: #ffffff !important;
}
.eo-site[data-theme="light"] .eo-hero__description,
.eo-site[data-theme="light"] .eo-hero__content p {
    color: rgba(255, 255, 255, 0.88) !important;
}
.eo-site[data-theme="light"] .eo-hero__eyebrow {
    color: #f0ca8b !important;
}
.eo-site[data-theme="light"] .eo-hero .eo-button--secondary {
    background: rgba(255, 255, 255, 0.96) !important;
    color: #ef5b18 !important;
    border-color: #ef5b18 !important;
}
.eo-site[data-theme="light"] .eo-hero .eo-button--secondary:hover {
    background: #ffffff !important;
    color: #c9470d !important;
    border-color: #c9470d !important;
}
.eo-site[data-theme="light"] .eo-hero__scroll {
    color: rgba(255, 255, 255, 0.78) !important;
}


/* =========================================================
   HOME — AJUSTES FINALES DE IDENTIDAD Y CONTENIDO
   Cambios aislados para no alterar los modos claro/oscuro/automático.
========================================================= */

/* Marcas de encuadre más firmes, inspiradas en el isotipo del logo. */
.eo-about__image::before{
    inset:-16px!important;
    opacity:.92!important;
    background:
        linear-gradient(var(--eo-primary),var(--eo-primary)) left top/40px 3px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left top/3px 40px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right top/40px 3px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right top/3px 40px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/40px 3px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/3px 40px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/40px 3px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/3px 40px no-repeat!important;
}

/* Da más aire entre el texto de Nosotros y el CTA. */
.eo-about__content > .eo-button{
    margin-top:34px!important;
}

/* La tarjeta "Descubre todas nuestras sesiones" vuelve a tener fotografía. */
.eo-service-card-more{
    background:var(--eo-bg-card)!important;
}
.eo-service-card-more .eo-service-card__image{
    display:block!important;
}
.eo-service-card-more .eo-service-card__image::after{
    background:linear-gradient(0deg,rgba(8,7,7,.90) 0%,rgba(8,7,7,.54) 48%,rgba(8,7,7,.10) 82%)!important;
}
.eo-service-card-more .eo-service-card__content{
    z-index:3!important;
}
.eo-site[data-theme="dark"] .eo-service-card-more .eo-service-card__content{
    background:transparent!important;
    color:#fff!important;
}
.eo-site[data-theme="dark"] .eo-service-card-more .eo-service-card__content h3{
    color:#fff!important;
}
.eo-site[data-theme="dark"] .eo-service-card-more .eo-service-card__content p{
    color:rgba(255,255,255,.80)!important;
}

@media(max-width:700px){
    .eo-about__image::before{
        inset:-10px!important;
        background:
            linear-gradient(var(--eo-primary),var(--eo-primary)) left top/28px 3px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) left top/3px 28px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) right top/28px 3px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) right top/3px 28px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/28px 3px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/3px 28px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/28px 3px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/3px 28px no-repeat!important;
    }
}

/* =========================================================
   HOME — AJUSTE SOLICITADO 28-08-2026
   Solo corrige la imagen de Nosotros y el bloque final de reserva.
   No altera los modos claro, oscuro ni automático.
========================================================= */

/* Imagen principal de Nosotros: esquinas rectas para que combine con las marcas de enfoque. */
.eo-about__image img{
    border-radius:0!important;
}

/* Marcas de enfoque un poco más gruesas. */
.eo-about__image::before{
    background:
        linear-gradient(var(--eo-primary),var(--eo-primary)) left top/40px 4px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left top/4px 40px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right top/40px 4px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right top/4px 40px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/40px 4px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/4px 40px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/40px 4px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/4px 40px no-repeat!important;
}

/* Imagen del CTA de reserva centrada dentro de su columna, sin tocar el borde inferior. */
.eo-reservation__image img{
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    width:90%!important;
    height:86%!important;
    transform:translate(-50%,-50%)!important;
    object-fit:contain!important;
    object-position:center center!important;
}

/* NOSOTROS · ajustes 2026-08-28: fotografías de historia, respiración del texto y valores premium */
.eo-about-story--history .eo-about-story__copy h2{
    margin-bottom:34px!important;
}
.eo-about-story--history .eo-about-story__copy h2 + p{
    margin-top:0!important;
}
.eo-studio-evolution__image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}
.eo-studio-evolution__photo::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(180deg,rgba(15,10,7,.08),rgba(15,10,7,.24));
    pointer-events:none;
}
.eo-studio-evolution__photo::after{z-index:2}
.eo-studio-evolution__number{
    z-index:3!important;
    text-shadow:0 1px 9px rgba(0,0,0,.38);
}

/* Misión, visión y valores: composición editorial con más identidad visual. */
.eo-values-grid-premium{
    position:relative;
    gap:26px!important;
    margin-top:105px!important;
}
.eo-values-grid-premium .eo-value-card{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:22px!important;
    min-height:350px!important;
    padding:44px 40px 40px!important;
    border-radius:24px!important;
    border:1px solid color-mix(in srgb,var(--eo-text) 12%,transparent)!important;
    background:
        radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--eo-primary) 12%,transparent),transparent 43%),
        linear-gradient(150deg,color-mix(in srgb,var(--eo-surface) 97%,white 3%),var(--eo-surface))!important;
    box-shadow:0 22px 56px rgba(45,31,23,.09)!important;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.eo-values-grid-premium .eo-value-card::before{
    content:"";
    position:absolute;
    top:0;
    left:40px;
    width:64px;
    height:3px;
    background:var(--eo-primary);
    border-radius:0 0 4px 4px;
}
.eo-values-grid-premium .eo-value-card::after{
    content:"";
    position:absolute;
    right:-65px;
    bottom:-85px;
    width:210px;
    height:210px;
    border:1px solid color-mix(in srgb,var(--eo-primary) 18%,transparent);
    border-radius:50%;
    z-index:-1;
}
.eo-values-grid-premium .eo-value-card:hover{
    transform:translateY(-6px);
    border-color:color-mix(in srgb,var(--eo-primary) 36%,transparent)!important;
    box-shadow:0 30px 70px rgba(45,31,23,.13)!important;
}
.eo-values-grid-premium .eo-value-card__number{
    position:absolute;
    top:24px;
    right:28px;
    font:500 64px/1 Georgia,serif;
    letter-spacing:-.06em;
    color:color-mix(in srgb,var(--eo-text) 7%,transparent);
    pointer-events:none;
}
.eo-values-grid-premium .eo-value-icon{
    width:64px!important;
    height:64px!important;
    margin-top:10px;
    border:1px solid color-mix(in srgb,var(--eo-primary) 42%,transparent);
    background:color-mix(in srgb,var(--eo-primary) 10%,transparent)!important;
    color:var(--eo-primary)!important;
    box-shadow:inset 0 0 0 8px color-mix(in srgb,var(--eo-primary) 5%,transparent);
    font-size:23px;
}
.eo-values-grid-premium .eo-value-card__content{position:relative;z-index:1}
.eo-values-grid-premium .eo-value-card__eyebrow{
    display:block;
    margin-bottom:10px;
    color:var(--eo-primary)!important;
    font-size:11px!important;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.eo-values-grid-premium .eo-value-card h3{
    font-size:38px!important;
    margin:0 0 16px!important;
}
.eo-values-grid-premium .eo-value-card p{
    max-width:30ch;
    font-size:16px!important;
    line-height:1.78!important;
    margin:0!important;
}
.eo-site[data-theme="dark"] .eo-values-grid-premium .eo-value-card{
    background:
        radial-gradient(circle at 100% 0%,rgba(205,164,103,.12),transparent 43%),
        linear-gradient(150deg,#251e19,#1d1814)!important;
    border-color:#3b3029!important;
    box-shadow:none!important;
}
.eo-site[data-theme="dark"] .eo-values-grid-premium .eo-value-card__number{
    color:rgba(255,255,255,.055);
}
.eo-site[data-theme="dark"] .eo-values-grid-premium .eo-value-icon{
    background:rgba(205,164,103,.08)!important;
    border-color:rgba(205,164,103,.34)!important;
}
@media(max-width:900px){
    .eo-about-story--history .eo-about-story__copy h2{margin-bottom:26px!important}
    .eo-values-grid-premium{margin-top:72px!important}
    .eo-values-grid-premium .eo-value-card{min-height:auto!important;padding:36px 32px!important}
    .eo-values-grid-premium .eo-value-card p{max-width:none}
}


/* =========================================================
   NOSOTROS · IDENTIDAD ESTUDIO ONE — 2026-08-28
   Fotografías con marcas de encuadre + valores sin números/círculos
   ========================================================= */

/* Evolución: la fotografía queda limpia, sin marcos redondeados ni recuadro interior. */
.eo-studio-evolution__photo{
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.eo-studio-evolution__image{
    border-radius:0!important;
    box-shadow:0 18px 42px rgba(45,31,23,.10)!important;
}
.eo-studio-evolution__photo::before{
    inset:0!important;
    border-radius:0!important;
}
/* Esquinas inspiradas en el encuadre del logo de Estudio One. */
.eo-studio-evolution__photo::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:4!important;
    inset:-10px!important;
    border:0!important;
    border-radius:0!important;
    pointer-events:none!important;
    background:
        linear-gradient(var(--eo-primary),var(--eo-primary)) left top/34px 3px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left top/3px 34px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right top/34px 3px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right top/3px 34px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/34px 3px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/3px 34px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/34px 3px no-repeat,
        linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/3px 34px no-repeat!important;
    opacity:.95!important;
}
.eo-site[data-theme="dark"] .eo-studio-evolution__photo{
    border:0!important;
    background:transparent!important;
}

/* Misión, visión y valores: quitar números, círculos y símbolos genéricos. */
.eo-values-grid-premium .eo-value-card__number,
.eo-values-grid-premium .eo-value-icon{
    display:none!important;
}
.eo-values-grid-premium .eo-value-card{
    gap:18px!important;
    padding:50px 40px 42px!important;
}
/* Marca de encuadre inspirada en el isotipo, sin convertirla en un adorno ajeno a la marca. */
.eo-values-grid-premium .eo-value-card__brandmark{
    position:relative;
    width:58px;
    height:42px;
    margin-bottom:8px;
    flex:0 0 auto;
}
.eo-values-grid-premium .eo-value-card__brandmark::before,
.eo-values-grid-premium .eo-value-card__brandmark::after{
    content:"";
    position:absolute;
    width:24px;
    height:24px;
    pointer-events:none;
}
.eo-values-grid-premium .eo-value-card__brandmark::before{
    left:0;
    top:0;
    border-left:3px solid var(--eo-primary);
    border-top:3px solid var(--eo-primary);
}
.eo-values-grid-premium .eo-value-card__brandmark::after{
    right:0;
    bottom:0;
    border-right:3px solid var(--eo-primary);
    border-bottom:3px solid var(--eo-primary);
}
/* Limpiar el círculo decorativo anterior y dejar una composición más fotográfica/editorial. */
.eo-values-grid-premium .eo-value-card::after{
    width:86px!important;
    height:86px!important;
    right:28px!important;
    bottom:26px!important;
    border:0!important;
    border-radius:0!important;
    background:
        linear-gradient(color-mix(in srgb,var(--eo-primary) 22%,transparent),color-mix(in srgb,var(--eo-primary) 22%,transparent)) right bottom/28px 1px no-repeat,
        linear-gradient(color-mix(in srgb,var(--eo-primary) 22%,transparent),color-mix(in srgb,var(--eo-primary) 22%,transparent)) right bottom/1px 28px no-repeat!important;
    opacity:.8;
}
.eo-values-grid-premium .eo-value-card::before{
    left:40px!important;
    width:54px!important;
    height:3px!important;
    border-radius:0!important;
}
.eo-values-grid-premium .eo-value-card h3{
    margin-top:0!important;
}

@media(max-width:760px){
    .eo-studio-evolution__photo::after{
        inset:-7px!important;
        background:
            linear-gradient(var(--eo-primary),var(--eo-primary)) left top/26px 2px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) left top/2px 26px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) right top/26px 2px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) right top/2px 26px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/26px 2px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) left bottom/2px 26px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/26px 2px no-repeat,
            linear-gradient(var(--eo-primary),var(--eo-primary)) right bottom/2px 26px no-repeat!important;
    }
    .eo-values-grid-premium .eo-value-card{padding:40px 30px 36px!important}
}

/* =========================================================
   NOSOTROS · REFINAMIENTO DE IDENTIDAD — 2026-08-28
   Historia sin tarjetas exteriores + iconos de marca en valores
   ========================================================= */

/* La evolución deja de verse como tres tarjetas independientes encerradas.
   Cada etapa respira y se separa con una línea editorial sutil. */
.eo-studio-evolution{
    gap:0!important;
}
.eo-studio-evolution__item,
.eo-site[data-theme="dark"] .eo-studio-evolution__item,
.eo-site[data-theme="light"] .eo-studio-evolution__item{
    padding:20px 4px 30px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.eo-studio-evolution__item:not(:last-child){
    margin-bottom:24px!important;
}
.eo-studio-evolution__item:not(:last-child)::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:linear-gradient(90deg,
        color-mix(in srgb,var(--eo-primary) 72%,transparent),
        color-mix(in srgb,var(--eo-text) 14%,transparent) 34%,
        color-mix(in srgb,var(--eo-text) 8%,transparent) 78%,
        transparent);
    pointer-events:none;
}
.eo-studio-evolution__caption{
    padding-left:12px!important;
    padding-right:4px!important;
}

/* El símbolo de encuadre ahora contiene un icono relacionado con cada concepto.
   Cámara = propósito, enfoque = visión, corazón = valores. */
.eo-values-grid-premium .eo-value-card__brandmark{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:var(--eo-primary)!important;
}
.eo-values-grid-premium .eo-value-card__brandmark svg{
    width:22px;
    height:22px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    position:relative;
    z-index:2;
}
.eo-values-grid-premium .eo-value-card--vision .eo-value-card__brandmark svg{
    width:21px;
    height:21px;
}
.eo-values-grid-premium .eo-value-card--values .eo-value-card__brandmark svg{
    width:20px;
    height:20px;
}

@media(max-width:760px){
    .eo-studio-evolution__item,
    .eo-site[data-theme="dark"] .eo-studio-evolution__item,
    .eo-site[data-theme="light"] .eo-studio-evolution__item{
        padding:12px 2px 28px!important;
    }
    .eo-studio-evolution__item:not(:last-child){margin-bottom:22px!important}
}


/* =========================================================
   LO QUE HACEMOS · ESPACIADO + ARCHIVOS DE IMAGEN — 2026-08-28
   ========================================================= */
.eo-catalog-group{
    margin-bottom:80px!important;
    padding:38px 34px 42px!important;
    border-radius:22px!important;
}
.eo-catalog-heading{
    padding:0 2px!important;
}
.eo-catalog-heading h2{
    margin:10px 0 30px!important;
}
.eo-session-card img{
    display:block!important;
    width:100%!important;
    height:300px!important;
    object-fit:cover!important;
}
.eo-work-gallery img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}
.eo-site[data-theme="dark"] .eo-catalog-group{
    background:#211b17!important;
}
.eo-site[data-theme="light"] .eo-catalog-group{
    background:#fff!important;
    box-shadow:0 14px 40px rgba(55,39,29,.055)!important;
}
@media(max-width:800px){
    .eo-catalog-group{padding:28px 18px 30px!important;border-radius:18px!important}
    .eo-catalog-heading h2{margin-bottom:24px!important}
}

/* GALERÍAS PÚBLICAS · LIGHTBOX — 2026-08-28 */
.eo-work-gallery img[data-eo-gallery-open]{cursor:zoom-in;transition:transform .22s ease,filter .22s ease}
.eo-work-gallery figure:hover img[data-eo-gallery-open]{transform:scale(1.015);filter:brightness(.94)}
.eo-public-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(8,7,6,.92);display:flex;align-items:center;justify-content:center;padding:38px}
.eo-public-lightbox[hidden]{display:none!important}
.eo-public-lightbox img{display:block;max-width:min(1200px,92vw);max-height:88vh;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 70px rgba(0,0,0,.45)}
.eo-public-lightbox__close{position:fixed;top:18px;right:25px;border:0;background:transparent;color:#fff;font:300 44px/1 Arial,sans-serif;cursor:pointer;padding:8px;z-index:2}
body.eo-lightbox-open{overflow:hidden}
.eo-facade-placeholder.eo-facade-photo{padding:0!important;overflow:hidden;background:none!important}
.eo-facade-placeholder.eo-facade-photo img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover}
@media(max-width:700px){.eo-public-lightbox{padding:20px}.eo-public-lightbox img{max-width:94vw;max-height:82vh}}


/* =========================================================
   HOME — TARJETAS EN MODO CLARO 28-08-2026
   Suaviza la transición entre fotografía y texto para evitar
   el corte blanco brusco. Solo afecta el Home en modo claro.
========================================================= */
.eo-site[data-theme="light"] .eo-services .eo-service-card__content{
    background:linear-gradient(
        to bottom,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.72) 18%,
        rgba(255,255,255,.96) 38%,
        #fff 58%
    )!important;
    padding-top:72px!important;
}
.eo-site[data-theme="light"] .eo-services .eo-service-card__image::after{
    background:linear-gradient(
        0deg,
        rgba(255,255,255,.16) 0%,
        rgba(7,7,9,.10) 40%,
        rgba(7,7,9,0) 76%
    )!important;
}
.eo-site[data-theme="light"] .eo-services .eo-service-card-more .eo-service-card__content{
    background:linear-gradient(
        to bottom,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.76) 18%,
        rgba(255,255,255,.97) 38%,
        #fff 58%
    )!important;
}

/* RESERVA: creación de cuenta solo al finalizar */
.eo-auth-actions--booking-choice{align-items:center;gap:14px!important;margin-top:28px!important}
.eo-booking-account-panel{margin-top:30px;padding:30px;border:1px solid var(--eo-booking-panel-border,#eadfd7);border-radius:18px;background:rgba(184,135,56,.055);opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}
.eo-booking-account-panel.is-visible{opacity:1;transform:none}
.eo-booking-account-panel__heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}
.eo-booking-account-panel__heading h3{margin:0 0 6px;font:600 28px Georgia,serif;color:var(--eo-booking-title,#241c17)}
.eo-booking-account-panel__heading p{margin:0!important;color:var(--eo-booking-text,#635952)}
.eo-account-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border:2px solid #c99a54;color:#c99a54;font-size:24px;line-height:1;position:relative}
.eo-account-icon:before,.eo-account-icon:after{content:"";position:absolute;background:var(--eo-booking-panel,#fffaf7)}
.eo-account-icon:before{width:18px;height:calc(100% + 4px);left:10px;top:-2px}
.eo-account-icon:after{height:18px;width:calc(100% + 4px);top:10px;left:-2px}
.eo-account-icon{z-index:0}.eo-account-icon::first-letter{position:relative;z-index:2}
.eo-account-notes{grid-column:1/-1}
.eo-account-submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:24px}
.eo-account-submit-row small{max-width:390px;color:var(--eo-booking-muted,#756a63);line-height:1.5}
.eo-site[data-theme="dark"] .eo-booking-account-panel{background:rgba(201,154,84,.06)}
@media(max-width:680px){.eo-booking-account-panel{padding:22px}.eo-auth-actions--booking-choice .eo-button{width:100%}.eo-account-submit-row .eo-button{width:100%}}

/* RESERVAS: selección y disponibilidad real de horarios */
.eo-time-grid label{position:relative;display:block;cursor:pointer}
.eo-time-grid input{pointer-events:none}
.eo-time-grid label.is-selected span,
.eo-time-grid input:checked + span{background:#ef5b18!important;color:#fff!important;border-color:#ef5b18!important;box-shadow:0 8px 22px rgba(239,91,24,.18)}
.eo-time-grid label.is-occupied{cursor:not-allowed}
.eo-time-grid label.is-occupied span{background:rgba(120,110,102,.10)!important;color:#9b918a!important;border-color:rgba(120,110,102,.16)!important;text-decoration:none;opacity:.72}
.eo-time-grid label.is-occupied span::after{content:""}
.eo-time-occupied-label{display:none;margin-left:7px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.eo-time-grid label.is-occupied .eo-time-occupied-label{display:inline}
.eo-time-status{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--eo-muted,#75695f)}
.eo-time-status.is-loading{opacity:.75}
.eo-time-status.is-error{color:#b9472c;font-weight:700}
.eo-time-status.is-ready{color:var(--eo-muted,#75695f)}
.eo-site[data-theme="dark"] .eo-time-grid label.is-occupied span{background:#26211d!important;color:#746b64!important;border-color:#3a332e!important}
.eo-site[data-theme="dark"] .eo-time-status{color:#b9aea5}
.eo-site[data-theme="dark"] .eo-time-status.is-error{color:#ff8a68}

/* RESERVA: hora seleccionada visible también en modo claro */
.eo-site[data-theme="light"] .eo-time-grid label.is-selected span,
.eo-site[data-theme="light"] .eo-time-grid input:checked + span{
    background:#ef5b18!important;
    color:#fff!important;
    border-color:#ef5b18!important;
    box-shadow:0 8px 22px rgba(239,91,24,.20)!important;
}


/* MI ESPACIO: logo legible en modo claro + acceso visible para crear cuenta */
.eo-site[data-theme="light"] .eo-login-logo{
    filter: brightness(.24) contrast(1.45);
}
.eo-site[data-theme="dark"] .eo-login-logo{
    filter: none;
}
.eo-register-prompt{
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid rgba(70,54,44,.14);
}
.eo-register-prompt > p{
    margin: 0 0 12px;
    text-align: center;
    font-size: 14px;
    opacity: .78;
}
.eo-register{
    margin-top: 0;
}
.eo-register summary{
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    width: 100%;
    border: 1.5px solid #b8873d;
    border-radius: 999px;
    color: #6f4a18;
    background: transparent;
    font-weight: 700;
    transition: background .2s ease,color .2s ease,border-color .2s ease;
}
.eo-register summary::-webkit-details-marker{display:none}
.eo-register summary:hover{
    background:#b8873d;
    color:#fff;
}
.eo-register[open] summary{
    margin-bottom: 18px;
}
.eo-site[data-theme="dark"] .eo-register-prompt{
    border-top-color: rgba(255,255,255,.12);
}
.eo-site[data-theme="dark"] .eo-register summary{
    color:#e8bd77;
    border-color:#d5a85f;
}
.eo-site[data-theme="dark"] .eo-register summary:hover{
    color:#171310;
    background:#d5a85f;
}


/* Mostrar/ocultar contraseña en Mi espacio */
.eo-password-field{position:relative;display:block;width:100%;}
.eo-password-field input{padding-right:52px!important;width:100%;}
.eo-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer;border-radius:50%;font-size:19px;line-height:1;opacity:.68;}
.eo-password-toggle:hover,.eo-password-toggle:focus-visible{opacity:1;background:rgba(120,90,50,.10);outline:none;}
.eo-password-toggle.is-visible{opacity:1;}
.eo-site[data-theme="dark"] .eo-password-toggle:hover,.eo-site[data-theme="dark"] .eo-password-toggle:focus-visible{background:rgba(255,255,255,.10);}

/* =========================================================
   HOME · FOTOGRAFÍAS NATURALES EN MODO CLARO — 2026-08-29
   Mantiene la fotografía visible hasta el fondo de la tarjeta,
   evita el bloque blanco que parecía cortar la imagen y no
   altera color/brillo de los archivos originales.
========================================================= */
.eo-site[data-theme="light"] .eo-services .eo-service-card__image::after{
    background:none!important;
}
.eo-site[data-theme="light"] .eo-services .eo-service-card__image img{
    opacity:1!important;
    filter:none!important;
}
.eo-site[data-theme="light"] .eo-services .eo-service-card__content,
.eo-site[data-theme="light"] .eo-services .eo-service-card-more .eo-service-card__content{
    background:linear-gradient(
        to bottom,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.18) 15%,
        rgba(255,255,255,.68) 38%,
        rgba(255,255,255,.88) 62%,
        rgba(255,255,255,.94) 100%
    )!important;
    padding-top:82px!important;
}
.eo-site[data-theme="light"] .eo-services .eo-service-card__content h3,
.eo-site[data-theme="light"] .eo-services .eo-service-card__content p,
.eo-site[data-theme="light"] .eo-services .eo-service-card__content a{
    position:relative;
    z-index:2;
}


/* MI ESPACIO: ajuste de composición del login */
.eo-login-panel{
    padding-top:clamp(72px,10vh,120px);
    padding-bottom:clamp(48px,7vh,90px);
}
.eo-login-logo{
    margin-top:18px;
    margin-bottom:30px;
}
@media(max-height:780px) and (min-width:801px){
    .eo-login-panel{padding-top:68px;padding-bottom:44px;}
    .eo-login-logo{width:280px;margin-top:12px;margin-bottom:24px;}
}

/* =========================================================
   NAVEGACIÓN INFERIOR MÓVIL · EXPERIENCIA TIPO APP
   Solo afecta teléfonos. Escritorio/tablet conservan su diseño.
========================================================= */
.eo-mobile-bottom-nav { display: none; }

@media (max-width: 680px) {
    .eo-mobile-menu,
    .eo-mobile-navigation,
    .eo-quick-actions {
        display: none !important;
    }

    .eo-site {
        padding-bottom: calc(82px + env(safe-area-inset-bottom));
    }

    .eo-mobile-bottom-nav {
        position: fixed;
        z-index: 9997;
        right: 10px;
        bottom: max(8px, env(safe-area-inset-bottom));
        left: 10px;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: end;
        min-height: 68px;
        padding: 7px 6px 6px;
        background: rgba(19, 17, 16, .94);
        border: 1px solid rgba(255,255,255,.11);
        border-radius: 22px;
        box-shadow: 0 12px 35px rgba(0,0,0,.28);
        backdrop-filter: blur(18px) saturate(135%);
        -webkit-backdrop-filter: blur(18px) saturate(135%);
    }

    .eo-mobile-bottom-nav__item {
        position: relative;
        display: flex;
        min-width: 0;
        min-height: 54px;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 3px;
        padding: 5px 2px;
        color: rgba(255,255,255,.66);
        border-radius: 14px;
        font-size: 10px;
        font-weight: 700;
        line-height: 1.05;
        text-align: center;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
    }

    .eo-mobile-bottom-nav__item:visited { color: rgba(255,255,255,.66); }
    .eo-mobile-bottom-nav__item:hover,
    .eo-mobile-bottom-nav__item:focus-visible,
    .eo-mobile-bottom-nav__item.is-active { color: #fff; }

    .eo-mobile-bottom-nav__icon {
        display: grid;
        width: 22px;
        height: 22px;
        place-items: center;
    }

    .eo-mobile-bottom-nav__icon svg {
        width: 21px;
        height: 21px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .eo-mobile-bottom-nav__item.is-active::after {
        position: absolute;
        right: 28%;
        bottom: 1px;
        left: 28%;
        height: 2px;
        background: var(--eo-primary);
        border-radius: 999px;
        content: "";
    }

    .eo-mobile-bottom-nav__item--reserve {
        margin-top: -17px;
        color: #fff !important;
    }

    .eo-mobile-bottom-nav__item--reserve .eo-mobile-bottom-nav__icon {
        width: 47px;
        height: 47px;
        margin-bottom: 1px;
        color: #fff;
        background: var(--eo-primary);
        border: 4px solid #171412;
        border-radius: 50%;
        box-shadow: 0 8px 20px rgba(239,91,24,.28);
    }

    .eo-mobile-bottom-nav__item--reserve .eo-mobile-bottom-nav__icon svg {
        width: 21px;
        height: 21px;
    }

    .eo-mobile-bottom-nav__item--reserve::after { display: none; }

    .eo-theme-control {
        left: 14px;
        bottom: calc(92px + env(safe-area-inset-bottom));
    }

    .eo-theme-control__menu {
        bottom: calc(100% + 9px);
    }

    .eo-site[data-theme="light"] .eo-mobile-bottom-nav {
        background: rgba(255, 253, 250, .95);
        border-color: rgba(55,45,38,.12);
        box-shadow: 0 12px 34px rgba(55,45,38,.16);
    }

    .eo-site[data-theme="light"] .eo-mobile-bottom-nav__item,
    .eo-site[data-theme="light"] .eo-mobile-bottom-nav__item:visited {
        color: #77706b;
    }

    .eo-site[data-theme="light"] .eo-mobile-bottom-nav__item:hover,
    .eo-site[data-theme="light"] .eo-mobile-bottom-nav__item:focus-visible,
    .eo-site[data-theme="light"] .eo-mobile-bottom-nav__item.is-active {
        color: #211d1a;
    }

    .eo-site[data-theme="light"] .eo-mobile-bottom-nav__item--reserve {
        color: #211d1a !important;
    }

    .eo-site[data-theme="light"] .eo-mobile-bottom-nav__item--reserve .eo-mobile-bottom-nav__icon {
        color: #fff;
        border-color: #fffdfa;
    }
}

/* =========================================================
   HOTFIX 2026-08-31 — Home hero
   Solo limita la escala del titular principal del carrusel.
   ========================================================= */
.eo-site .eo-hero__title,
.eo-site .eo-hero__content h1{
  font-size:clamp(2.75rem,4.8vw,4.75rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.035em !important;
  max-width:720px !important;
}
@media (max-width:900px){
  .eo-site .eo-hero__title,
  .eo-site .eo-hero__content h1{font-size:clamp(2.35rem,7vw,3.8rem) !important;max-width:650px !important;}
}
@media (max-width:600px){
  .eo-site .eo-hero__title,
  .eo-site .eo-hero__content h1{font-size:clamp(2.15rem,10.5vw,3.15rem) !important;line-height:1.02 !important;}
}


/* =========================================================
   CORRECCIÓN VISUAL 2026-08-31 · LOGIN + CATÁLOGO + RESERVA
   Reglas acotadas para no alterar el resto del sitio.
========================================================= */
.eo-login-page{min-height:100vh;grid-template-columns:minmax(420px,50%) minmax(480px,50%)!important;}
.eo-login-panel{
    width:100%;
    max-width:720px;
    margin:0 auto;
    padding:clamp(54px,7vh,86px) clamp(42px,6vw,92px)!important;
    justify-content:center;
    color:#211d1a;
    background:#fff;
}
.eo-login-logo{
    width:220px!important;
    max-width:58%!important;
    height:auto!important;
    margin:0 auto 26px!important;
    filter:none!important;
}
.eo-login-panel h1{font-size:clamp(38px,3.2vw,50px)!important;line-height:1.05;text-align:center;color:#211d1a!important;}
.eo-login-panel>p{text-align:center;color:#6f665f!important;margin:10px 0 8px;font-size:16px!important;}
.eo-login-panel form{width:100%;max-width:620px;margin:24px auto 0!important;gap:16px!important;}
.eo-login-panel label{font-size:14px;font-weight:700;color:#2d2723;}
.eo-login-panel input{min-height:52px;padding:13px 16px!important;font-size:16px!important;background:#fff!important;color:#211d1a!important;border:1px solid #d8d0ca!important;}
.eo-login-panel .eo-button{min-height:52px;font-size:16px!important;font-weight:700;}
.eo-login-panel .eo-register-prompt{width:100%;max-width:620px;margin-left:auto;margin-right:auto;}

.eo-catalog-heading h2{
    font-size:clamp(32px,3vw,46px)!important;
    line-height:1.08!important;
    margin:8px 0 24px!important;
}
.eo-session-card h3{font-size:20px!important;line-height:1.2!important;margin:0 0 8px!important;}
.eo-session-card p{font-size:15.5px!important;line-height:1.55!important;margin:0 0 18px!important;}
.eo-session-card .eo-card-action{font-size:15px!important;line-height:1.2!important;padding:11px 18px!important;}
.eo-session-card div{padding:20px!important;}

.eo-booking-error--inline{position:sticky;top:86px;z-index:30;margin:0 0 18px!important;}

@media(max-width:800px){
    .eo-login-page{grid-template-columns:1fr!important;}
    .eo-login-panel{max-width:none;padding:48px 24px 90px!important;}
    .eo-login-logo{width:190px!important;max-width:62%!important;}
    .eo-catalog-heading h2{font-size:clamp(30px,9vw,40px)!important;}
    .eo-session-card h3{font-size:19px!important;}
}

/* 2026-09-01: tamaño compacto del selector Claro/Oscuro/Automático */
.eo-theme-control__button{min-height:42px!important;padding:8px 13px!important;font-size:13px!important;line-height:1!important;font-family:inherit!important;font-weight:600!important}
.eo-theme-control__button .eo-theme-control__text{font-size:13px!important;line-height:1!important;font-weight:600!important}
.eo-theme-control__button .eo-theme-control__icon{width:22px!important;height:22px!important;font-size:16px!important;line-height:1!important}
.eo-theme-control__menu{width:164px!important;padding:7px!important}
.eo-theme-control__menu button{min-height:0!important;padding:9px 10px!important;font-size:13px!important;line-height:1.15!important;font-family:inherit!important;font-weight:500!important}
.eo-theme-control__menu button span{font-size:15px!important;line-height:1!important}
@media(max-width:680px){.eo-theme-control__button{width:48px!important;min-width:48px!important;height:48px!important;padding:0!important}.eo-theme-control__button .eo-theme-control__text{display:none!important}}


/* =========================================================
   2026-09-01 · MI ESPACIO EN MODO OSCURO
   Corrige únicamente el panel de acceso cuando el sitio está oscuro.
========================================================= */
.eo-site[data-theme="dark"] .eo-login-page{
    background:#171310!important;
}
.eo-site[data-theme="dark"] .eo-login-panel{
    background:#1f1a16!important;
    color:#f7f1eb!important;
}
.eo-site[data-theme="dark"] .eo-login-panel h1{
    color:#fffaf5!important;
}
.eo-site[data-theme="dark"] .eo-login-panel>p,
.eo-site[data-theme="dark"] .eo-login-panel>a,
.eo-site[data-theme="dark"] .eo-login-panel form>a,
.eo-site[data-theme="dark"] .eo-register-prompt>p{
    color:#c9bdb4!important;
}
.eo-site[data-theme="dark"] .eo-login-panel label{
    color:#eee5de!important;
}
.eo-site[data-theme="dark"] .eo-login-panel input{
    background:#2a231e!important;
    color:#fff!important;
    border-color:#504239!important;
    box-shadow:none!important;
}
.eo-site[data-theme="dark"] .eo-login-panel input::placeholder{
    color:#9f938a!important;
}
.eo-site[data-theme="dark"] .eo-login-panel .eo-check{
    color:#d8cec7!important;
}
.eo-site[data-theme="dark"] .eo-login-panel .eo-button--primary{
    background:#d4ad68!important;
    border-color:#d4ad68!important;
    color:#171310!important;
}
.eo-site[data-theme="dark"] .eo-login-logo{
    filter:none!important;
}
.eo-site[data-theme="dark"] .eo-register-prompt{
    border-top-color:rgba(255,255,255,.12)!important;
}

/* 2026-09-02 · Ajuste final del acceso en modo oscuro */
.eo-site[data-theme="dark"] .eo-login-panel,
.eo-site[data-theme="dark"] .eo-login-page{background:#1f1a16!important;color:#f7f1eb!important}
.eo-site[data-theme="dark"] .eo-login-panel h1{color:#fffaf5!important}
.eo-site[data-theme="dark"] .eo-login-panel>p,
.eo-site[data-theme="dark"] .eo-login-panel form>a,
.eo-site[data-theme="dark"] .eo-register-prompt>p{color:#cfc2b8!important}
.eo-site[data-theme="dark"] .eo-login-panel label{color:#f4ece5!important}
.eo-site[data-theme="dark"] .eo-login-panel input{background:#2a231e!important;color:#fff!important;border-color:#59493e!important;-webkit-text-fill-color:#fff!important}
.eo-site[data-theme="dark"] .eo-login-panel input:-webkit-autofill,
.eo-site[data-theme="dark"] .eo-login-panel input:-webkit-autofill:hover,
.eo-site[data-theme="dark"] .eo-login-panel input:-webkit-autofill:focus{-webkit-text-fill-color:#fff!important;-webkit-box-shadow:0 0 0 1000px #2a231e inset!important;box-shadow:0 0 0 1000px #2a231e inset!important;border-color:#59493e!important}
.eo-site[data-theme="dark"] .eo-login-panel .eo-button--primary{background:#d4ad68!important;color:#171310!important;border-color:#d4ad68!important}
.eo-calendar-day.is-closed{opacity:.28!important;cursor:not-allowed!important}

/* Corrección puntual logo login oscuro */
.eo-login-logo,.eo-site[data-theme="dark"] .eo-login-logo{filter:none!important;opacity:1!important;}

/* 2026-09-02: logo login correcto en ambos temas */
.eo-site[data-theme="light"] .eo-login-logo{filter:none!important;opacity:1!important;}
.eo-site[data-theme="dark"] .eo-login-logo{filter:invert(1) grayscale(1) brightness(2)!important;opacity:1!important;}
