/* ================================================================
   Lisbeth & Carles — Hoja de estilos (visual de la invitación)
   Namespace: #lisbeth-carles
   Base global (intocable): reset.css + slider.css + pop.css + animaciones.
   Este archivo se construye por secciones.
================================================================ */

#lisbeth-carles {
    /* ── Colores ── */
    --lc-principal: #66775A;
    --lc-titulares: #646D3A;
    --lc-texto:     #1E271D;
    --lc-blanco:    #FFFFFF;
    --lc-dorado:    #C2A15A;
    --lc-bg1:       #FAF6F6;
    /* Superficie con textura: tile deco_0.png atenuado a 0.3 sobre FAF6F6 */
    --lc-deco: linear-gradient(rgba(250,246,246,.7), rgba(250,246,246,.7)), url('../media/deco_0.png');

    /* ── Fuentes ── */
    --lc-font-texto:  'Bricolage Grotesque', sans-serif;
    --lc-font-titulo: 'Inria Serif', serif;

    /* Incremento de tamaño de titulares en desktop/tablet (+6px, ver media query) */
    --lc-h-boost: 0px;

    /* ── Texto general: Bricolage Grotesque Extra Light 20px ── */
    font-family: var(--lc-font-texto);
    font-weight: 200; /* extra light */
    font-size: 20px;
    line-height: 1.5;
    color: var(--lc-texto);
    background-color: var(--lc-bg1);
    background-image: var(--lc-deco);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img { display: block; max-width: 100%; border-radius: 20px; }

/* En esta invitación el "negrita" se muestra en regular (400), no en bold */
b,
strong { font-weight: 400; }

/* ── Titulares: Inria Serif ── */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--lc-font-titulo);
    color: var(--lc-titulares);
    font-weight: 400;
    line-height: 1.2;
}
/* Prefijadas con #lisbeth-carles para ganar en especificidad/orden de carga
   a los estilos del tema padre (que en móvil achicaban los h3). Así el h3 en
   móvil queda en 20px (exactamente 6px menos que los 26px de desktop). */
#lisbeth-carles h1 { font-size: calc(40px + var(--lc-h-boost)); }
#lisbeth-carles h2 { font-size: calc(35px + var(--lc-h-boost)); }
#lisbeth-carles h3 { font-size: calc(28px + var(--lc-h-boost)); }

/* Desktop y tablet: titulares +6px (afecta a todo font-size con calc + --lc-h-boost) */
@media (min-width: 768px) {
    #lisbeth-carles { --lc-h-boost: 6px; }
}

/* ── Botones: mayúsculas, 20px, regular, Bricolage Grotesque ── */
.btn {
    font-family: var(--lc-font-texto);
    font-weight: 400;
    font-size: 18px;              /* móvil */
    text-transform: uppercase;
}
@media (min-width: 768px) {
    .btn { font-size: 20px; }     /* desktop/tablet */
}

/* ── Convención de secciones: cada <section> al 100% con un .lc-inner dentro ── */
section { width: 100%; }
.lc-inner {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding: 80px 30px;
}

/* ================================================================
   INTRO / pantalla de entrada (#introCTN)
================================================================ */
/* El contenido arranca oculto mientras el intro está visible; el JS le
   añade .is-visible al entrar. Así las animaciones de los h2 (Intersection
   Observer) recién se disparan cuando el contenido se muestra, no detrás
   del intro. */
#contenededor_principal { position: relative; display: none !important; }
#contenededor_principal.is-visible { display: block !important; }

.lc-intro {
    position: fixed;
    inset: 0;
    z-index: 200;
    background-color: var(--lc-bg1);
    background-image: var(--lc-deco);
    overflow-y: auto;
    cursor: pointer;
}
.lc-intro__inner {
    min-height: 100%;
    max-width: 440px;
    margin: 0 auto;
    padding: 48px 34px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 26px;
}
.lc-intro__lead {
    font-size: 20px;
    line-height: 1.45;
    color: var(--lc-texto);
    max-width: 340px;
}
.lc-intro__foto {
    width: 100%;
    border-radius: 20px;
    object-fit: cover;
}

/* Nombres (SVG titulos.svg) */
.lc-intro__nombres {
    width: 100%;
    text-align: center;
}
.lc-intro__nombres-svg {
    display: inline-block;
    width: 100%;
    max-width: 277px;
    height: auto;
    border-radius: 0;
}
.lc-intro__cta {
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 20px;
    font-weight: 400;
    color: #a7a59c; /* gris del CTA */
}

/* ================================================================
   HERO — fondo responsive + texto (estilos ya existentes)
================================================================ */
.lc-hero {
    position: relative;
    isolation: isolate; /* aísla el multiply a esta sección */
    min-height: 96vh;
    background-color: var(--lc-bg1);
    background-image: var(--lc-deco); /* textura de papel detrás de la foto */
    display: flex;
    justify-content: center;
    overflow: hidden;
}
/* Capa de la foto (para poder aplicarle el multiply) */
.lc-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: url('../media/hero_mobile.png');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    pointer-events: none;
}
/* Máscara semicircular que recorta la imagen en la base */
.lc-hero::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -100px;
    transform: translateX(-50%);
    z-index: 1;
    width: 160%;
    height: 120px;
    background-color: var(--lc-bg1);
    background-image: var(--lc-deco);
    border-radius: 50%;
    pointer-events: none;
}
.lc-hero__content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 440px;
    padding: 70px 40px 0;
    text-align: center;
}
.lc-hero__texto { margin-bottom: 26px; }
.lc-hero__casamos {
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 26px;
}
.lc-hero__fecha { line-height: 1; }
.lc-hero__dia  { font-size: calc(80px + var(--lc-h-boost)); line-height: 0.9; padding-top: 80px; }
.lc-hero__mes  { margin-top: 0; line-height: 1; }
.lc-hero__anio { margin-top: -6px; line-height: 1; opacity: .5; font-family: 'Rouge Script', cursive; font-size: calc(50px + var(--lc-h-boost)); }

/* Desktop y tablet → su propia foto */
@media (min-width: 768px) {
    .lc-hero::before { background-image: url('../media/hero_desktop.png'); }
}

/* ================================================================
   BENDICIÓN — Padres y Padrinos
================================================================ */
.lc-bendicion {
    width: 100%;
    text-align: center;
}
.lc-bendicion__intro {
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.6;
    color: var(--lc-titulares);
    max-width: 300px;
    margin: 0 auto 44px;
}
.lc-bendicion__titulo { margin-bottom: 20px; }
.lc-bendicion__nombres { line-height: 1.45; }
.lc-bendicion__conector {
    height: 32px;
    width: auto;
    margin: 22px auto;
    border-radius: 0;
}
.lc-bendicion__sep {
    height: calc(46px + var(--lc-h-boost)); /* 46px mobile, +6px desktop */
    width: auto;
    margin: 46px auto;
    border-radius: 0;
}

/* Desktop: los padres van en fila (nombres · & · nombres) e intro en 2 líneas */
@media (min-width: 768px) {
    .lc-bendicion__padres {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 34px;
    }
    .lc-bendicion__padres .lc-bendicion__conector { margin: 0; }
    .lc-bendicion__intro { max-width: 480px; }
}

/* ================================================================
   DIVISIÓN DECORADA — iniciales + ramas
================================================================ */
.lc-division {
    position: relative;
    overflow: hidden;
}
.lc-division__inner {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 1;
}
.lc-division__iniciales {
    height: 130px;
    width: auto;
    border-radius: 0;
}
.lc-division__rama {
    position: absolute;
    top: 50%;
    width: 32%;
    max-width: 250px;
    height: auto;
    border-radius: 0;
    z-index: 0;
    pointer-events: none;
}
.lc-division__rama--izq { left: 0;  transform: translateY(-50%); }
.lc-division__rama--der { right: 0; transform: translateY(-50%) scaleX(-1); }

/* ================================================================
   RSVP — confirmación de asistencia
================================================================ */
.lc-rsvp { width: 100%; text-align: center; overflow: hidden; }
.lc-rsvp .lc-inner { padding-bottom: 40px; }
.lc-rsvp__intro {
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.5;
    margin-bottom: 24px;
}
.lc-rsvp__nombre { margin-bottom: 10px; }
.lc-rsvp__pases {
    color: var(--lc-principal);
    margin-bottom: 34px;
}
/* Contenido del post (the_content), debajo de la cantidad de pases */
.lc-rsvp__mensaje { line-height: 1.5; margin-bottom: 34px; }
.lc-rsvp__mensaje p { margin-bottom: 10px; }
.lc-rsvp__mensaje p:last-child { margin-bottom: 0; }

/* Card blanco exterior */
.lc-rsvp__cardwrap {
    background: var(--lc-blanco);
    border-radius: 0;
    padding: 14px;
    box-shadow: 0 6px 20px rgba(30, 39, 29, 0.06);
}
/* Tarjeta con borde dorado */
.lc-rsvp__card {
    border: 1px solid var(--lc-dorado);
    border-radius: 0;
    padding: 32px 24px;
    text-align: center;
}
.lc-rsvp__card-titulo {
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1.5;
    color: var(--lc-texto);
    margin-bottom: 20px;
}
.lc-rsvp__line {
    border: none;
    border-top: 1px solid rgba(102,119,90,.3);
    margin: 0 0 22px;
}
.lc-rsvp__hint {
    text-align: left;
    color: #8a8a80;
    font-size: 18px;
    margin-bottom: 12px;
}
.lc-rsvp__hint span { opacity: .8; }

/* Opciones (radios) */
.lc-rsvp__opt {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #F8F8F8;
    border-radius: 8px;
    padding: 13px 18px;
    margin-bottom: 12px;
    cursor: pointer;
    text-align: left;
    transition: background .15s ease;
}
.lc-rsvp__opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.lc-rsvp__mark {
    width: 16px;
    height: 16px;
    border: 1.5px solid var(--lc-principal);
    border-radius: 4px;
    flex: 0 0 auto;
    position: relative;
}
.lc-rsvp__opt input:checked ~ .lc-rsvp__mark { background: var(--lc-principal); }
.lc-rsvp__opt input:checked ~ .lc-rsvp__mark::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 2px;
    background: #fff;
}
.lc-rsvp__opt:has(input:checked) {
    background: rgba(102,119,90,.10);
}

/* Mensaje de confirmación del RSVP: la línea "Tu respuesta" en bloque */
.ly-rsvp-conf--detalle b { display: block; margin-bottom: 10px; }

/* Campos condicionales (aparecen al elegir "Sí" / "No") */
.lc-rsvp__si-fields,
.lc-rsvp__no-fields { display: none; margin-top: 4px; }
.lc-rsvp__si-fields.is-visible,
.lc-rsvp__no-fields.is-visible { display: block; }
.lc-rsvp__input,
.lc-rsvp__textarea {
    width: 100%;
    border: 1px solid rgba(102,119,90,.35);
    border-radius: 8px;
    padding: 12px 14px;
    font-family: var(--lc-font-texto);
    font-size: 18px;
    color: var(--lc-texto);
    background: #fff;
    margin-bottom: 14px;
}
.lc-rsvp__textarea { min-height: 84px; resize: vertical; }

/* Botón (specificity sobre reset.css) */
.lc-rsvp .lc-rsvp__btn {
    background: var(--lc-principal);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 14px 26px;
    margin-top: 8px;
    cursor: pointer;
}
.lc-rsvp .lc-rsvp__btn:disabled { opacity: .5; cursor: default; }

/* Foto con máscara semicircular detrás (color secundario) */
.lc-rsvp__foto-wrap,
.lc-regalos__foto-wrap {
    position: relative;
    margin-top: 50px;
}
.lc-rsvp__foto-wrap::after,
.lc-regalos__foto-wrap::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -80px;
    transform: translateX(-50%);
    width: 110vw; /* abarca todo el ancho de la pantalla */
    height: 120px;
    background: var(--lc-principal);
    border-radius: 50% 50% 0 0;
    z-index: 0;
}
.lc-rsvp__foto,
.lc-regalos__foto {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
}

/* ================================================================
   LOCALES — fondo verde, dos lugares
================================================================ */
.lc-locales {
    position: relative;
    overflow: hidden;
    background: var(--lc-principal);
    color: #fff;
    text-align: center;
}
.lc-locales .lc-inner { position: relative; z-index: 2; padding: 40px 30px 120px; }

.lc-locales__intro {
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.5;
    margin-bottom: 30px;
}
.lc-locales__icono {
    height: 70px;
    width: auto;
    margin: 0 auto 8px;
    border-radius: 0;
}
.lc-locales__tipo {
    color: rgba(255, 255, 255, .55);
    margin-bottom: 8px;
}
.lc-locales .lc-locales__nombre {
    color: #fff;
    margin-bottom: 14px;
}
.lc-locales__dir {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .85);
    max-width: 320px;
    margin: 0 auto 14px;
}
.lc-locales__ciudad {
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 22px;
}
.lc-locales .lc-locales__btn {
    display: inline-block;
    border: 1px solid rgba(255, 255, 255, .7);
    color: #fff;
    background: transparent;
    padding: 12px 26px;
    text-decoration: none;
}

/* Divisor con texto y líneas doradas */
.lc-locales__divisor {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 46px 0;
}
.lc-locales__divisor-line {
    flex: 1;
    height: 1px;
    background: var(--lc-dorado);
}
.lc-locales__divisor-txt {
    flex: 0 0 auto;
    max-width: 62%;
    line-height: 1.5;
}

/* Transición curva al fondo claro (bg1 con textura) */
.lc-locales::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -80px;
    transform: translateX(-50%);
    width: 120vw;
    height: 120px;
    background-color: var(--lc-bg1);
    background-image: var(--lc-deco);
    border-radius: 50%;
    z-index: 1;
}

/* ================================================================
   ITINERARIO — línea de tiempo horizontal (scroll cuando no entra)
================================================================ */
.lc-itinerario { width: 100%; text-align: center; }
.lc-itinerario__intro {
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.5;
    margin-bottom: 24px;
}
.lc-itinerario__titulo { margin-bottom: 30px; }

/* Línea de tiempo: fuera del inner, siempre horizontal, con scroll */
.lc-timeline {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    scrollbar-width: thin;
    scrollbar-color: #fff transparent; /* thumb blanco, track transparente */
}
.lc-timeline::-webkit-scrollbar { height: 6px; background: transparent; }
.lc-timeline::-webkit-scrollbar-track { background: transparent; }
.lc-timeline::-webkit-scrollbar-thumb { background: #fff; border-radius: 3px; }
.lc-timeline__track {
    display: flex;
    width: max-content;      /* los items no se encogen */
    margin: 0 auto;          /* centrado si caben; scroll desde el inicio si no */
    padding: 0 30px;
}
.lc-timeline__item {
    flex: 0 0 auto;
    width: 190px;
    text-align: center;
}
.lc-timeline__img {
    height: 110px;
    width: auto;
    margin: 0 auto 12px;
    border-radius: 0;
}
.lc-timeline__hora {
    color: var(--lc-principal);
    margin-bottom: 12px;
}
.lc-timeline__mid {
    display: flex;
    align-items: center;
}
.lc-timeline__line {
    flex: 1;
    height: 1px;
    background: rgba(30, 39, 29, .18);
}
.lc-timeline__dot {
    flex: 0 0 auto;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--lc-principal);
}
.lc-timeline__label {
    margin-top: 14px;
    line-height: 1.4;
    padding: 0 12px;
}

.lc-itinerario__foto {
    display: block;
    width: 100%;
    margin-top: 40px;
}

/* ================================================================
   CÓDIGO DE VESTIMENTA
================================================================ */
.lc-vestimenta { width: 100%; text-align: center; }
.lc-vestimenta__titulo { margin-bottom: 10px; }
.lc-vestimenta__tipo {
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--lc-texto);
    margin-bottom: 26px;
}
.lc-vestimenta__img {
    width: auto;
    max-height: 360px;
    margin: 0 auto 26px;
    border-radius: 0;
}
.lc-vestimenta__texto {
    max-width: 100%;
    line-height: 1.5;
    margin: 0 auto;
}

/* ================================================================
   REGALOS
================================================================ */
.lc-regalos { width: 100%; text-align: center; overflow: hidden; }
.lc-regalos__titulo { margin-bottom: 20px; }
.lc-regalos__texto {
    max-width: 100%;
    line-height: 1.5;
    margin: 0 auto 18px;
}
.lc-regalos__botones {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin: 26px 0 40px;
}
/* Botón outline reutilizable (specificity sobre reset.css) */
.lc-regalos .lc-btn-outline,
.lc-info .lc-btn-outline {
    display: inline-block;
    background: transparent;
    border: 1px solid rgba(102, 119, 90, .6);
    color: var(--lc-texto);
    padding: 12px 22px;
    cursor: pointer;
    text-decoration: none;
}
.lc-regalos .lc-btn-outline:hover,
.lc-info .lc-btn-outline:hover {
    color: var(--lc-texto);
    background: rgba(102, 119, 90, .06);
}

/* ================================================================
   LA PLAYLIST (canción) — fondo verde
================================================================ */
.lc-cancion {
    width: 100%;
    text-align: center;
    background: var(--lc-principal);
    color: #fff;
}
.lc-cancion .lc-inner { padding-bottom: 40px; }
.lc-cancion .lc-cancion__titulo { color: #fff; margin-bottom: 24px; }
.lc-cancion__texto { line-height: 1.5; margin-bottom: 22px; }
.lc-cancion__pregunta { margin-bottom: 24px; }
.lc-cancion__form {
    display: flex;
    align-items: stretch;
    border: 1px solid rgba(255, 255, 255, .5);
}
.lc-cancion__input {
    flex: 1 1 auto;
    min-width: 0;
    background: transparent;
    border: none;
    color: #fff;
    padding: 16px 18px;
    font-family: var(--lc-font-texto);
    font-size: 18px;
    text-align: left;
    outline: none;
}
.lc-cancion__input::placeholder { color: rgba(255, 255, 255, .6); }
.lc-cancion .lc-cancion__btn {
    flex: 0 0 auto;
    background: #fff;
    color: var(--lc-texto);
    border: none;
    padding: 0 24px;
    margin: 8px;
    cursor: pointer;
}
.lc-cancion__conf { color: #fff; padding: 12px; }

/* ================================================================
   BUENOS DESEOS — fondo verde
================================================================ */
.lc-deseos {
    position: relative;
    overflow: hidden;
    width: 100%;
    text-align: center;
    background: var(--lc-principal);
    color: #fff;
}
.lc-deseos .lc-inner { position: relative; z-index: 2; padding-top: 40px; }
.lc-deseos .lc-deseos__titulo { color: #fff; margin-bottom: 18px; }
.lc-deseos__texto { line-height: 1.5; margin-bottom: 28px; }
.lc-deseos__primero { margin-bottom: 24px; }

.lc-deseo-card { background: #fff; padding: 12px; }
.lc-deseo-card__frame {
    border: 1px solid var(--lc-dorado);
    padding: 30px 22px;
    color: var(--lc-texto);
}
.lc-deseo-card__quote {
    line-height: 1.5;
    margin-bottom: 22px;
}
.lc-deseo-card__autor {
    font-family: var(--lc-font-titulo);
    font-size: 22px;
}

/* Flechas circulares verdes del slider — sobresalen 50% sin cortarse.
   Solo el contenedor va visible (el __track sigue hidden para mostrar 1 slide). */
#lisbeth-carles .lc-deseos-slider { overflow: visible; }
.lc-deseos-slider .grph-slider__prev,
.lc-deseos-slider .grph-slider__next {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 6px solid var(--lc-principal);
    background: var(--lc-bg1);
    color: var(--lc-principal);
    cursor: pointer;
}
.lc-deseos-slider .grph-slider__prev { left: -22px; }
.lc-deseos-slider .grph-slider__next { right: -22px; }
.lc-deseos-slider .grph-slider__prev::before,
.lc-deseos-slider .grph-slider__next::before { display: none; }

.lc-deseos .lc-deseos__btn {
    margin-top: 26px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .7);
    color: #fff;
    padding: 14px 26px;
    cursor: pointer;
}

/* Transición curva al fondo claro */
.lc-deseos::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -80px;
    transform: translateX(-50%);
    width: 120vw;
    height: 120px;
    background-color: var(--lc-bg1);
    background-image: var(--lc-deco);
    border-radius: 50%;
    z-index: 1;
}

/* ================================================================
   NOS VEMOS EN — countdown + footer_img
================================================================ */
.lc-countdown { width: 100%; text-align: center; border-bottom: 5px solid var(--lc-principal); }
.lc-countdown__content { padding: 50px 24px 40px; }
.lc-countdown__intro {
    text-transform: uppercase;
    letter-spacing: 4px;
    margin-bottom: 30px;
}
.lc-countdown__timer {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
}
.lc-countdown__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 62px;
}
.lc-countdown__num {
    font-family: var(--lc-font-titulo);
    color: var(--lc-titulares);
    font-size: calc(48px + var(--lc-h-boost));
    line-height: 1;
}
.lc-countdown__lab {
    color: var(--lc-texto);
    opacity: .7;
    font-size: 15px;
    margin-top: 6px;
}
.lc-countdown__sep {
    font-family: var(--lc-font-titulo);
    color: var(--lc-titulares);
    font-size: calc(36px + var(--lc-h-boost));
    line-height: 1;
    margin-top: 4px;
}
.lc-countdown__foto { position: relative; }
.lc-countdown__img {
    display: block;
    width: 100%;
    border-radius: 0;
}
.lc-countdown__credito,
.lc-hero__credito {
    position: absolute;
    left: 5px;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0;
    color: #fff;
    opacity: 1;
    pointer-events: none;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .9);
}
.lc-countdown__credito { bottom: 10px; }
.lc-hero__credito { bottom: 4%; z-index: 3; }

/* ================================================================
   INFORMACIÓN PARA VIAJEROS
================================================================ */
.lc-info { width: 100%; text-align: center; }
.lc-info__titulo { margin-bottom: 22px; }
.lc-info__intro { line-height: 1.5; }
.lc-info__bloque { margin-top: 80px; }
.lc-info__tipo {
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--lc-texto);
    opacity: .5;
    margin-bottom: 14px;
}
.lc-info__nombre { margin-bottom: 16px; }
.lc-info__texto { line-height: 1.5; margin-bottom: 14px; }
.lc-info__foto {
    display: block;
    width: 100%;
    margin-top: 50px;
}

/* ================================================================
   HISTORIA — texto + galería (reusa grph-slider center-mode)
================================================================ */
.lc-historia { width: 100%; text-align: center; overflow: hidden; }
.lc-historia__foto {
    display: block;
    width: 100%;
    margin-bottom: 40px;
}
.lc-historia__texto { line-height: 1.5; margin-bottom: 45px; }
.lc-historia__destacado {
    text-transform: uppercase;
    letter-spacing: 1.5px;
    line-height: 1.5;
    margin-bottom: 24px;
}
.lc-historia-slider .grph-slider__prev,
.lc-historia-slider .grph-slider__next {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 6px solid var(--lc-bg1);   /* colores invertidos: borde claro */
    background: var(--lc-principal);    /* fondo verde */
    color: var(--lc-bg1);               /* chevron claro */
    cursor: pointer;
}
.lc-historia-slider .grph-slider__prev::before,
.lc-historia-slider .grph-slider__next::before { display: none; }
.lc-historia-slider .grph-slider__slide { border-radius: 14px; }
.lc-historia-slider .grph-slider__slide img {
    width: 100%;
    height: auto;
    display: block;
}

/* ================================================================
   MODALES — Cuentas y Regalos
================================================================ */
.lc-modal__card { text-align: center; background: #F9F6F6; }
.lc-modal__titulo { margin-bottom: 16px; line-height: 1.15; }
.lc-modal__intro {
    line-height: 1.5;
    margin-bottom: 22px;
}
.lc-modal__vacio { color: var(--lc-texto); opacity: .7; }

/* Cuentas de banco */
.lc-cuentas { line-height: 1.7; }
.lc-cuentas__label { color: var(--lc-titulares); margin-top: 12px; }
.lc-cuentas__num { color: var(--lc-texto); }

/* Lista de regalos */
.lc-regalos-lista {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
    text-align: left;
}
.lc-regalo-card {
    background: #fff;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 2px 12px rgba(30, 39, 29, .07);
}
.lc-regalo-card__top {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 16px;
}
.lc-regalo-card__img {
    flex: 0 0 auto;
    width: 120px;
    height: 96px;
    object-fit: cover;
    border-radius: 12px;
}
.lc-regalo-card__nombre {
    font-family: var(--lc-font-titulo);
    color: var(--lc-titulares);
    font-size: 24px;
    line-height: 1.15;
}
.lc-regalo-card__foot {
    display: flex;
    align-items: center;
    gap: 16px;
}
.lc-regalo-card__dispo { color: var(--lc-texto); }
.lc-regalo-card__precio {
    color: var(--lc-texto);
    font-size: 20px;
    padding-left: 16px;
    border-left: 1px solid rgba(30, 39, 29, .2);
}
.lc-modal .lc-regalo-card__btn {
    margin-left: auto;
    background: var(--lc-principal);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 12px 22px;
    cursor: pointer;
}
.lc-modal .lc-regalo-card__btn:disabled { opacity: .45; cursor: default; }
.lc-regalo-card--tomado { opacity: .6; }

/* Detalle: card seleccionado (fila con check) */
.lc-detalle__label { text-align: left; margin-bottom: 8px; opacity: .8; }
.lc-regalo-card--sel {
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative;
}
.lc-regalo-card--sel .lc-regalo-card__img { width: 72px; height: 72px; }
.lc-regalo-card__body { flex: 1 1 auto; min-width: 0; }
.lc-regalo-card__check { position: absolute; top: 10px; right: 10px; }
.lc-detalle__paso { text-align: left; margin: 18px 0 8px; }
.lc-detalle__cuentas { text-align: left; line-height: 1.6; padding-left: 4px; }
.lc-detalle__cuentas .lc-cuentas__label { margin-top: 10px; opacity: .8; }
.lc-modal .lc-detalle__enviar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    background: var(--lc-principal);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 14px;
    margin-top: 20px;
    cursor: pointer;
}
.lc-detalle__volver {
    display: inline-block;
    margin-top: 16px;
    color: var(--lc-texto);
    text-decoration: underline;
    text-underline-offset: 4px;
    font-size: 16px;
}

/* Modal Buenos Deseos */
.lc-deseos-modal { text-align: left; }
.lc-deseos-modal .lc-modal__titulo { text-align: center; margin-bottom: 26px; }
.lc-modal__label { color: var(--lc-texto); opacity: .75; margin-bottom: 4px; }
.lc-modal__nombre {
    font-family: var(--lc-font-titulo);
    color: var(--lc-texto);
    font-size: 28px;
    font-variant: small-caps;
    line-height: 1.1;
    margin-bottom: 22px;
}
.lc-modal__textarea {
    width: 100%;
    min-height: 120px;
    border: 1px solid rgba(102, 119, 90, .35);
    border-radius: 4px;
    padding: 12px 14px;
    font-family: var(--lc-font-texto);
    font-size: 18px;
    color: var(--lc-texto);
    background: #fff;
    margin: 8px 0 22px;
    resize: vertical;
    outline: none;
}
.lc-modal .lc-deseos-modal__btn {
    display: block;
    margin: 0 auto;
    background: var(--lc-principal);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 14px 32px;
    cursor: pointer;
}
.lc-modal .lc-deseos-modal__btn:disabled { opacity: .5; cursor: default; }

/* ================================================================
   SECCIONES — se irán agregando por partes:
   [x] Portada / intro
   [x] Hero (fecha)
   [x] Bendición (padres/padrinos)
   [x] División decorada (iniciales + ramas)
   [x] RSVP
   [x] Locales
   [x] Itinerario
   [x] Código de vestimenta
   [x] Regalos (+ modales Cuentas y Regalos)
   [ ] Acompañantes
   [ ] Celebración / lugar
   [ ] Asistencia (RSVP)
   [ ] Itinerario
   [ ] Dress code
   [ ] Regalos
   [ ] Buenos deseos
   [ ] Countdown
================================================================ */
