/* Personalización visual por evento. No altera el lightbox ni la lógica de la galería. */
.gallery-experience {
    --gallery-surface: #fff;
    --gallery-muted: #766d7b;
    --gallery-border: rgba(72, 55, 78, .12);
    color: var(--gallery-text);
}

.gallery-experience .gallery-main-premium,
.gallery-experience .gallery-toolbar h2,
.gallery-experience .gallery-toolbar p {
    color: inherit;
}

.gallery-event-logo {
    width: auto;
    height: clamp(58px, 9vw, 96px);
    max-width: min(280px, 72vw);
    margin: 0 auto 1rem;
    object-fit: contain;
    filter: drop-shadow(0 8px 24px rgba(0,0,0,.18));
}

.gallery-experience .event-button,
.gallery-experience .dropzone-icon,
.gallery-experience .floating-gallery-actions button {
    background: linear-gradient(135deg, var(--gallery-accent), var(--event-secondary)) !important;
}

.gallery-experience .eyebrow,
.gallery-experience .gallery-memory-line {
    color: var(--gallery-accent);
}

/* Modos de fondo */
.gallery-bg-soft { background: color-mix(in srgb, var(--gallery-accent) 5%, #fbf8fa); }
.gallery-bg-clean { background: #fff; }
.gallery-bg-dark {
    --gallery-muted: rgba(255,255,255,.65);
    --gallery-surface: #19151d;
    --gallery-border: rgba(255,255,255,.1);
    background: #0f0d12;
}
.gallery-bg-dark .gallery-main-premium,
.gallery-bg-dramatic .gallery-main-premium { color: var(--gallery-text); }
.gallery-bg-dark .gallery-toolbar p,
.gallery-bg-dramatic .gallery-toolbar p { color: var(--gallery-muted); }
.gallery-bg-dark .gallery-empty { color: var(--gallery-text); }
.gallery-bg-dramatic {
    --gallery-muted: rgba(255,255,255,.68);
    --gallery-surface: rgba(23,17,28,.92);
    --gallery-border: rgba(255,255,255,.12);
    background:
        radial-gradient(circle at 10% 0, color-mix(in srgb, var(--gallery-accent) 32%, transparent), transparent 38rem),
        linear-gradient(145deg, #0d0911, #211427 70%, #0d0911);
    background-attachment: fixed;
}

/* Familias tipográficas */
.gallery-font-modern,
.gallery-font-corporate { font-family: "DM Sans", system-ui, sans-serif; }
.gallery-font-modern .gallery-hero-content h1,
.gallery-font-modern .gallery-toolbar h2,
.gallery-font-corporate .gallery-hero-content h1,
.gallery-font-corporate .gallery-toolbar h2 { font-family: "DM Sans", system-ui, sans-serif; letter-spacing: -.04em; }
.gallery-font-romantic .gallery-hero-content h1,
.gallery-font-romantic .gallery-toolbar h2 { font-family: "Playfair Display", Georgia, serif; font-style: italic; font-weight: 600; }
.gallery-font-playful .gallery-hero-content h1,
.gallery-font-playful .gallery-toolbar h2 { font-family: "DM Sans", system-ui, sans-serif; font-weight: 800; letter-spacing: -.045em; }

/* Temas */
.gallery-theme-elegant .gallery-hero { --event-secondary: #bd8d65; }
.gallery-theme-romantic .gallery-hero { --event-secondary: #d989a4; }
.gallery-theme-romantic .gallery-hero::after { opacity: .55; }
.gallery-theme-party_neon {
    --gallery-border: rgba(160,92,255,.2);
}
.gallery-theme-party_neon .gallery-hero {
    background-color: #160e24;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.1);
}
.gallery-theme-party_neon .compact-memory-grid .memory-media {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--gallery-accent) 35%, transparent), 0 10px 28px rgba(0,0,0,.16);
}
.gallery-theme-minimal .gallery-hero::before,
.gallery-theme-minimal .gallery-hero::after { opacity: .15; }
.gallery-theme-minimal .compact-memory-grid { gap: .45rem; }
.gallery-theme-classic { --gallery-surface: #fffdf8; }
.gallery-theme-kids .compact-memory-grid .memory-media { border-radius: 22px; }
.gallery-theme-kids .gallery-toolbar h2 { color: var(--gallery-accent); }
.gallery-theme-corporate .compact-memory-grid .memory-media { border-radius: 6px; }
.gallery-theme-corporate .gallery-hero { border-radius: 0; }
.gallery-theme-luxe {
    --gallery-muted: rgba(248,242,231,.66);
    background: #0d0b0e;
}
.gallery-theme-luxe .gallery-hero { background-color: #0d0b0e; }
.gallery-theme-luxe .gallery-main-premium { color: var(--gallery-text); }
.gallery-theme-luxe .gallery-toolbar p { color: var(--gallery-muted); }
.gallery-theme-luxe .compact-memory-grid .memory-media { border: 1px solid rgba(198,161,91,.28); }

/* Layout predeterminado: conserva 6/5/3 columnas de gallery-compact.css. */
.gallery-layout-grid .compact-memory-grid .memory-item { display: block; }

/* Editorial: mosaico variable sin convertir la galería en tarjetas. */
.gallery-layout-editorial .compact-memory-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: .75rem;
}
.gallery-layout-editorial .compact-memory-grid .memory-item { grid-column: span 3; }
.gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(7n + 1),
.gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(7n + 5) { grid-column: span 6; }
.gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(7n + 1) .memory-media,
.gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(7n + 5) .memory-media { aspect-ratio: 2 / 1; }

/* Feed social: muestra autor/caption sin afectar el lightbox. */
.gallery-layout-social_feed .compact-memory-grid {
    max-width: 760px;
    margin: 0 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.gallery-layout-social_feed .compact-memory-grid .memory-item {
    overflow: hidden;
    background: var(--gallery-surface);
    border: 1px solid var(--gallery-border);
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(25,17,29,.08);
}
.gallery-layout-social_feed .compact-memory-grid .memory-media { border-radius: 0; }
.gallery-layout-social_feed .compact-memory-grid .memory-info {
    display: flex;
    min-height: 76px;
    align-items: flex-start;
    padding: .8rem;
    color: var(--gallery-text);
}
.gallery-layout-social_feed .compact-memory-grid .memory-info p {
    margin: .2rem 0 0;
    color: var(--gallery-muted);
    font-size: .82rem;
    line-height: 1.35;
}
.gallery-layout-social_feed .compact-memory-grid .memory-actions { display: none; }

@media (max-width: 760px) {
    .gallery-layout-editorial .compact-memory-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: .38rem;
    }
    .gallery-layout-editorial .compact-memory-grid .memory-item { grid-column: span 2; }
    .gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(7n + 1),
    .gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(7n + 5) { grid-column: span 4; }
    .gallery-layout-social_feed .compact-memory-grid {
        grid-template-columns: 1fr;
        gap: .8rem;
        padding: 0 .35rem;
    }
    .gallery-layout-social_feed .compact-memory-grid .memory-media { aspect-ratio: 4 / 5; }
}

/* Variables libres del editor visual */
body.gallery-experience {
    color: var(--gallery-body);
    background: var(--gallery-bg);
    font-family: var(--gallery-body-font);
    font-size: var(--gallery-text-size);
    font-weight: var(--gallery-body-weight);
}

.gallery-experience .gallery-hero {
    min-height: var(--gallery-hero-height);
}

.gallery-experience .gallery-hero::before {
    background:
        radial-gradient(circle at 78% 18%, rgba(255,255,255,.16), transparent 30%),
        linear-gradient(var(--gallery-hero-overlay-rgba), var(--gallery-hero-overlay-rgba));
}

.gallery-experience .gallery-hero-content {
    min-height: calc(var(--gallery-hero-height) - 90px);
}

.gallery-experience .gallery-hero-content h1,
.gallery-experience .gallery-toolbar h2,
.gallery-experience .gallery-empty h2,
.gallery-experience .social-post-caption strong {
    font-family: var(--gallery-heading-font);
    font-weight: var(--gallery-heading-weight);
}

.gallery-experience .gallery-hero-content h1 {
    font-size: clamp(2.4rem, 7vw, var(--gallery-title-size));
    color: var(--gallery-heading);
}

.gallery-experience .gallery-hosts,
.gallery-experience .gallery-hero blockquote { color: var(--gallery-body); }
.gallery-experience .gallery-kicker,
.gallery-experience .gallery-memory-line { color: var(--gallery-button-text); background: color-mix(in srgb, var(--gallery-button) 78%, transparent); }

.gallery-experience .gallery-toolbar h2,
.gallery-experience .gallery-empty h2 {
    color: var(--gallery-heading);
}

.gallery-experience .gallery-main-premium,
.gallery-experience .gallery-toolbar p:not(.eyebrow),
.gallery-experience .gallery-empty p {
    color: var(--gallery-body);
}

.gallery-experience .gallery-toolbar p:not(.eyebrow),
.gallery-experience .memory-date {
    color: var(--gallery-muted);
}

.gallery-experience .compact-memory-grid {
    grid-template-columns: repeat(var(--gallery-desktop-columns), minmax(0, 1fr));
    gap: var(--gallery-grid-gap);
}

.gallery-experience .compact-memory-grid .memory-item,
.gallery-experience .compact-memory-grid .memory-media,
.gallery-experience.gallery-layout-social_feed .compact-memory-grid .memory-item {
    border-radius: var(--gallery-card-radius);
}

.gallery-experience.gallery-layout-social_feed .compact-memory-grid .memory-item,
.gallery-experience .upload-drawer-panel {
    color: var(--gallery-body);
    background: var(--gallery-surface);
}

.gallery-experience .event-button,
.gallery-experience .floating-gallery-actions button,
.gallery-experience .dropzone-icon,
.gallery-experience .camera-filters button.is-active {
    color: var(--gallery-button-text) !important;
    background: var(--gallery-button) !important;
    border-radius: var(--gallery-button-radius) !important;
}

.gallery-experience .floating-camera-button::before,
.gallery-experience .compact-floating-upload::before,
.gallery-experience .compact-floating-upload::after {
    background: var(--gallery-icon);
}

.gallery-experience .social-action-button:not(.is-liked),
.gallery-experience .social-icon-button {
    color: var(--gallery-icon);
}

.gallery-shadow-none .compact-memory-grid .memory-item { box-shadow: none !important; }
.gallery-shadow-soft .compact-memory-grid .memory-item { box-shadow: 0 6px 18px rgba(25,17,29,.07) !important; }
.gallery-shadow-medium .compact-memory-grid .memory-item { box-shadow: 0 12px 32px rgba(25,17,29,.11) !important; }
.gallery-shadow-strong .compact-memory-grid .memory-item { box-shadow: 0 18px 48px rgba(25,17,29,.2) !important; }

.gallery-spacing-compact .compact-gallery-main { padding-top: 1rem; }
.gallery-spacing-compact .compact-gallery-toolbar { margin-bottom: .65rem; }
.gallery-spacing-airy .compact-gallery-main { padding-top: 4rem; }
.gallery-spacing-airy .compact-gallery-toolbar { margin-bottom: 2.2rem; }

.gallery-hero-centered .gallery-hero-content {
    justify-items: center;
    text-align: center;
}
.gallery-hero-centered .gallery-hosts,
.gallery-hero-centered .gallery-hero blockquote { margin-inline: auto; }

.gallery-hero-minimal .gallery-hero {
    min-height: min(430px, var(--gallery-hero-height));
    color: var(--gallery-heading);
    background-color: var(--gallery-bg);
    background-image: none !important;
}
.gallery-hero-minimal .gallery-hero::before { opacity: .08; }
.gallery-hero-minimal .gallery-hero-content { min-height: 300px; }
.gallery-hero-minimal .gallery-hero-content h1,
.gallery-hero-minimal .gallery-nav .brand,
.gallery-hero-minimal .gallery-hosts,
.gallery-hero-minimal .gallery-hero blockquote { color: var(--gallery-heading); text-shadow: none; }
.gallery-hero-minimal .gallery-kicker,
.gallery-hero-minimal .gallery-memory-line,
.gallery-hero-minimal .gallery-guest-chip { color: var(--gallery-body); background: var(--gallery-surface); border-color: var(--gallery-border); }
.gallery-hero-minimal .gallery-guest-chip strong { color: var(--gallery-heading); }

.gallery-hero-split .gallery-hero {
    margin: clamp(.5rem, 2vw, 1.5rem);
    min-height: var(--gallery-hero-height);
    border-radius: var(--gallery-card-radius);
}
.gallery-hero-split .gallery-hero-content { width: 55%; margin-left: max(1rem, 6vw); }

.gallery-hero-full_bleed .gallery-hero {
    min-height: max(100dvh, var(--gallery-hero-height));
}
.gallery-hero-full_bleed .gallery-hero-content {
    min-height: calc(max(100dvh, var(--gallery-hero-height)) - 90px);
}

@media (max-width: 760px) {
    .gallery-experience .compact-memory-grid {
        grid-template-columns: repeat(var(--gallery-mobile-columns), minmax(0, 1fr));
        gap: var(--gallery-grid-gap);
    }
    .gallery-experience .gallery-hero {
        min-height: min(var(--gallery-hero-height), 78dvh);
    }
    .gallery-experience .gallery-hero-content {
        min-height: auto;
    }
    .gallery-experience .gallery-hero-content h1 {
        font-size: clamp(2rem, 12vw, calc(var(--gallery-title-size) * .75));
    }
    .gallery-hero-split .gallery-hero { margin: .5rem; }
    .gallery-hero-split .gallery-hero-content { width: auto; margin: auto; }
    .gallery-hero-full_bleed .gallery-hero { min-height: 100dvh; }
    .gallery-layout-editorial .compact-memory-grid { grid-template-columns: repeat(var(--gallery-mobile-columns), minmax(0, 1fr)); }
    .gallery-layout-editorial .compact-memory-grid .memory-item { grid-column: span 1; }
    .gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(7n + 1),
    .gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(7n + 5) { grid-column: span 2; }
    .gallery-layout-social_feed .compact-memory-grid { grid-template-columns: 1fr; }
}


/* --- Ajuste móvil premium Recuerdos QR 2026-06-24 ---
   Hace que la portada respire mejor en celular: logo más visible,
   textos con más jerarquía y botones flotantes menos invasivos. */
@media (max-width: 760px) {
    body.gallery-experience {
        background: var(--gallery-bg, #f8f3ee) !important;
        overflow-x: hidden;
    }

    .gallery-experience .gallery-hero.compact-gallery-hero {
        min-height: min(94svh, 760px) !important;
        border-radius: 0 !important;
        background-position: var(--hero-focus-x, 50%) var(--hero-focus-y, 50%) !important;
        isolation: isolate;
    }

    .gallery-experience .gallery-hero.compact-gallery-hero::before {
        background:
            linear-gradient(180deg, rgba(7, 5, 10, .32) 0%, rgba(7, 5, 10, .08) 34%, rgba(7, 5, 10, .42) 66%, rgba(7, 5, 10, .82) 100%),
            linear-gradient(var(--gallery-hero-overlay-rgba), var(--gallery-hero-overlay-rgba)) !important;
        opacity: .92 !important;
    }

    .gallery-experience .gallery-hero.compact-gallery-hero::after {
        display: none !important;
    }

    .gallery-experience .gallery-nav {
        position: absolute !important;
        top: 0;
        left: 0;
        right: 0;
        z-index: 5;
        display: flex !important;
        align-items: flex-start !important;
        gap: .75rem !important;
        padding: calc(.85rem + env(safe-area-inset-top)) .95rem .75rem !important;
        max-width: none !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .gallery-experience .gallery-nav-left {
        flex: 0 1 auto !important;
        display: flex !important;
        align-items: center !important;
        min-width: 0 !important;
        max-width: 52vw !important;
        padding: .56rem .72rem !important;
        background: rgba(20, 12, 22, .30) !important;
        border: 1px solid rgba(255, 255, 255, .20) !important;
        border-radius: 22px !important;
        box-shadow: 0 12px 32px rgba(0,0,0,.24) !important;
        backdrop-filter: blur(18px) saturate(120%) !important;
        -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
    }

    .gallery-experience .gallery-nav-left:empty {
        display: none !important;
    }

    .gallery-experience .gallery-nav-event-logo {
        display: block !important;
        width: auto !important;
        height: clamp(54px, 12vw, 74px) !important;
        max-width: 44vw !important;
        object-fit: contain !important;
        filter: drop-shadow(0 10px 24px rgba(0,0,0,.42)) !important;
    }

    .gallery-experience .gallery-nav-right {
        margin-left: auto !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-end !important;
        min-width: 0 !important;
        gap: .45rem !important;
    }

    .gallery-experience .gallery-nav .brand.light {
        display: none !important;
    }

    .gallery-experience .gallery-guest-chip {
        max-width: 42vw !important;
        padding: .62rem .86rem !important;
        background: rgba(255, 255, 255, .20) !important;
        border: 1px solid rgba(255, 255, 255, .28) !important;
        box-shadow: 0 12px 28px rgba(0,0,0,.20) !important;
        border-radius: 999px !important;
        backdrop-filter: blur(18px) saturate(125%) !important;
        -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
    }

    .gallery-experience .gallery-guest-chip span {
        display: none !important;
    }

    .gallery-experience .gallery-guest-chip strong {
        display: block !important;
        overflow: hidden !important;
        max-width: 100% !important;
        color: #fff !important;
        font: 900 .94rem/1.1 var(--gallery-body-font, Arial, sans-serif) !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .gallery-experience .gallery-hero-content {
        position: absolute !important;
        inset: 0 !important;
        z-index: 3 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-end !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 0 !important;
        padding: calc(7.5rem + env(safe-area-inset-top)) 1.35rem 7.6rem !important;
        text-align: left !important;
    }

    .gallery-experience .gallery-kicker {
        display: inline-flex !important;
        align-items: center !important;
        max-width: 100% !important;
        margin: 0 0 .65rem !important;
        padding: .58rem .82rem !important;
        color: rgba(255,255,255,.94) !important;
        background: rgba(255,255,255,.17) !important;
        border: 1px solid rgba(255,255,255,.24) !important;
        border-radius: 999px !important;
        box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
        font-size: clamp(.66rem, 2.6vw, .8rem) !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        letter-spacing: .15em !important;
        text-align: left !important;
        text-transform: uppercase !important;
        backdrop-filter: blur(18px) saturate(118%) !important;
        -webkit-backdrop-filter: blur(18px) saturate(118%) !important;
    }

    .gallery-experience .gallery-hero-content h1 {
        max-width: min(10.5ch, 94vw) !important;
        margin: 0 !important;
        color: #fff !important;
        font-size: clamp(3rem, 15vw, 4.9rem) !important;
        line-height: .86 !important;
        letter-spacing: -.055em !important;
        text-align: left !important;
        text-wrap: balance !important;
        text-shadow: 0 18px 42px rgba(0,0,0,.45) !important;
    }

    .gallery-experience .gallery-hosts {
        max-width: 92vw !important;
        margin: .85rem 0 0 !important;
        color: rgba(255,255,255,.96) !important;
        font-family: var(--gallery-body-font, Arial, sans-serif) !important;
        font-size: clamp(1.05rem, 4.8vw, 1.32rem) !important;
        font-weight: 850 !important;
        line-height: 1.15 !important;
        text-align: left !important;
        text-shadow: 0 10px 26px rgba(0,0,0,.38) !important;
    }

    .gallery-experience .gallery-hero blockquote {
        max-width: 92vw !important;
        margin: .95rem 0 0 !important;
        padding: 0 !important;
        color: rgba(255,255,255,.96) !important;
        font-size: clamp(1.12rem, 5.4vw, 1.55rem) !important;
        font-weight: 760 !important;
        line-height: 1.04 !important;
        letter-spacing: -.02em !important;
        text-align: left !important;
        text-wrap: balance !important;
        text-shadow: 0 12px 34px rgba(0,0,0,.45) !important;
    }

    .gallery-experience .gallery-memory-line {
        display: inline-flex !important;
        max-width: 92vw !important;
        width: auto !important;
        margin-top: .8rem !important;
        padding: .62rem .8rem !important;
        border-radius: 999px !important;
        font-size: .85rem !important;
        line-height: 1.2 !important;
        background: rgba(255,255,255,.16) !important;
        border: 1px solid rgba(255,255,255,.22) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
    }

    .gallery-experience .gallery-main-premium.compact-gallery-main {
        position: relative !important;
        z-index: 6 !important;
        margin-top: -2.25rem !important;
        padding-top: 2.35rem !important;
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
        border-radius: 30px 30px 0 0 !important;
        background: var(--gallery-bg, #f8f3ee) !important;
        box-shadow: 0 -20px 42px rgba(0,0,0,.12) !important;
    }

    .gallery-experience .compact-gallery-toolbar .eyebrow {
        margin-bottom: .55rem !important;
        font-size: .74rem !important;
        letter-spacing: .20em !important;
    }

    .gallery-experience .compact-gallery-toolbar h2 {
        margin-bottom: .45rem !important;
        font-size: clamp(2.15rem, 11vw, 3.55rem) !important;
        line-height: .94 !important;
        letter-spacing: -.055em !important;
    }

    .gallery-experience .compact-gallery-toolbar p:not(.eyebrow) {
        max-width: 31rem !important;
        font-size: .98rem !important;
        line-height: 1.45 !important;
    }

    .gallery-experience .floating-gallery-actions {
        right: max(.76rem, env(safe-area-inset-right)) !important;
        bottom: calc(5.85rem + env(safe-area-inset-bottom)) !important;
        gap: .56rem !important;
    }

    .gallery-experience .floating-gallery-actions button,
    .gallery-experience .floating-gallery-actions .floating-custom-link,
    .gallery-experience .floating-gallery-actions .floating-camera-button,
    .gallery-experience .floating-gallery-actions .compact-floating-upload {
        width: 3.08rem !important;
        height: 3.08rem !important;
        min-width: 3.08rem !important;
        min-height: 3.08rem !important;
        max-width: 3.08rem !important;
        max-height: 3.08rem !important;
        box-shadow: 0 12px 28px rgba(18,12,24,.23) !important;
    }

    .gallery-experience .floating-camera-button::before {
        width: 1.46rem !important;
        height: 1.46rem !important;
    }

    .gallery-experience .compact-floating-upload::before {
        width: 1.48rem !important;
    }

    .gallery-experience .compact-floating-upload::after {
        height: 1.48rem !important;
    }
}

@media (max-width: 390px) {
    .gallery-experience .gallery-hero-content {
        padding-left: 1.1rem !important;
        padding-right: 1.1rem !important;
        padding-bottom: 7.25rem !important;
    }

    .gallery-experience .gallery-hero-content h1 {
        font-size: clamp(2.75rem, 14.2vw, 4.2rem) !important;
    }

    .gallery-experience .gallery-hero blockquote {
        font-size: clamp(1.02rem, 5.1vw, 1.34rem) !important;
    }
}



/* --- Corrección móvil: regresar galería a 3 columnas ---
   La versión anterior dejó algunos estilos/variables en 2 columnas. En móvil
   la galería pública debe mantener 3 cuadros por fila como estaba antes. */
@media (max-width: 760px) {
    .gallery-experience .compact-memory-grid,
    .gallery-experience.gallery-layout-grid .compact-memory-grid,
    .gallery-experience.gallery-layout-editorial .compact-memory-grid,
    .gallery-experience.gallery-layout-social_feed .compact-memory-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: .38rem !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .gallery-experience .compact-memory-grid .memory-item,
    .gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item,
    .gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(7n + 1),
    .gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(7n + 5),
    .gallery-experience.gallery-layout-social_feed .compact-memory-grid .memory-item {
        grid-column: auto !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .gallery-experience .compact-memory-grid .memory-media,
    .gallery-experience.gallery-layout-social_feed .compact-memory-grid .memory-media,
    .gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-media,
    .gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(7n + 1) .memory-media,
    .gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(7n + 5) .memory-media {
        aspect-ratio: 1 / 1 !important;
        border-radius: 13px !important;
    }

    .gallery-experience.gallery-layout-social_feed .compact-memory-grid .memory-info {
        display: none !important;
    }
}


/* --- Fix técnico 2026-06-24: galería móvil siempre fresca y 3 columnas --- */
@media (max-width: 760px) {
    body.gallery-experience .compact-memory-grid,
    body.gallery-experience.gallery-layout-grid .compact-memory-grid,
    body.gallery-experience.gallery-layout-editorial .compact-memory-grid,
    body.gallery-experience.gallery-layout-social_feed .compact-memory-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: .38rem !important;
    }
    body.gallery-experience .compact-memory-grid .memory-item,
    body.gallery-experience .compact-memory-grid .memory-item.wide,
    body.gallery-experience .compact-memory-grid .memory-item.tall,
    body.gallery-experience .compact-memory-grid .memory-item.featured,
    body.gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item:nth-child(n),
    body.gallery-experience.gallery-layout-social_feed .compact-memory-grid .memory-item {
        grid-column: auto !important;
        grid-row: auto !important;
        width: auto !important;
        min-width: 0 !important;
    }
    body.gallery-experience .compact-memory-grid .memory-media,
    body.gallery-experience .compact-memory-grid .memory-item.wide .memory-media,
    body.gallery-experience .compact-memory-grid .memory-item.tall .memory-media,
    body.gallery-experience .compact-memory-grid .memory-item.featured .memory-media,
    body.gallery-experience.gallery-layout-social_feed .compact-memory-grid .memory-media {
        aspect-ratio: 1 / 1 !important;
        border-radius: 13px !important;
    }
    body.gallery-experience.gallery-layout-social_feed .compact-memory-grid .memory-info {
        display: none !important;
    }
}


/* --- Ajuste fino de estado vacío: compacto, estético y sin cambiar la estructura --- */
.gallery-experience .gallery-empty {
    max-width: 520px;
    min-height: 0;
    margin: clamp(1.1rem, 3vw, 1.8rem) auto 0;
    padding: clamp(1.65rem, 4vw, 2.15rem) clamp(1.2rem, 4vw, 1.75rem);
    border-radius: 28px;
    gap: .45rem;
    background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.9));
    border: 1px solid rgba(35, 26, 46, .08);
    box-shadow: 0 20px 60px rgba(35, 26, 46, .10);
}
.gallery-experience .gallery-empty .gallery-empty-icon,
.gallery-experience .gallery-empty > span {
    display: inline-grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin: 0 auto .45rem;
    border-radius: 999px;
    color: color-mix(in srgb, var(--gallery-button) 72%, white);
    background: color-mix(in srgb, var(--gallery-button) 9%, white);
    border: 1px solid color-mix(in srgb, var(--gallery-button) 24%, transparent);
    font-size: 2.1rem;
    line-height: 1;
}
.gallery-experience .gallery-empty h2 {
    margin: .15rem 0 .3rem;
    font-size: clamp(1.35rem, 4vw, 1.8rem);
    line-height: 1.05;
    text-wrap: balance;
}
.gallery-experience .gallery-empty p {
    max-width: 310px;
    margin: 0 auto .95rem;
    font-size: clamp(.96rem, 2.9vw, 1.05rem);
    line-height: 1.48;
    text-wrap: balance;
}
.gallery-empty-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: .25rem;
}
.gallery-experience .gallery-empty .button {
    min-height: 0;
    min-width: 148px;
    width: auto;
    padding: .72rem 1.15rem;
    border-radius: 999px;
    font-size: .92rem;
    line-height: 1;
    margin: 0;
    box-shadow: 0 12px 26px rgba(35, 26, 46, .08);
}
.gallery-experience .gallery-empty .button.ghost {
    box-shadow: none;
    background: rgba(255,255,255,.82);
}
@media (max-width: 520px) {
    .gallery-experience .gallery-empty {
        max-width: none;
        margin-top: 1rem;
        padding: 1.45rem 1rem 1.55rem;
        border-radius: 24px;
    }
    .gallery-empty-actions {
        gap: .58rem;
    }
    .gallery-experience .gallery-empty .button {
        min-width: 156px;
        padding: .76rem 1rem;
        font-size: .92rem;
    }
}

/* Ajustes premium para videos, filtros y subida solo de fotos */
.gallery-filter-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .35rem;
    width: min(100%, 720px);
    margin: 0 auto clamp(1.2rem, 4vw, 2.2rem);
    padding: .35rem;
    background: color-mix(in srgb, var(--gallery-surface) 88%, transparent);
    border: 1px solid color-mix(in srgb, var(--gallery-muted) 16%, transparent);
    border-radius: 999px;
    box-shadow: 0 16px 40px rgba(28, 20, 33, .08);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.gallery-filter-tabs button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 48px;
    padding: .6rem .95rem;
    color: var(--gallery-muted);
    background: transparent;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font: 800 clamp(.9rem, 2vw, 1rem) var(--gallery-body-font, inherit);
    transition: transform .18s ease, color .18s ease, background .18s ease, box-shadow .18s ease;
}
.gallery-filter-tabs button span {
    display: grid;
    min-width: 1.7rem;
    height: 1.7rem;
    place-items: center;
    color: color-mix(in srgb, var(--gallery-body) 74%, transparent);
    background: color-mix(in srgb, var(--gallery-muted) 13%, transparent);
    border-radius: 999px;
    font-size: .82rem;
}
.gallery-filter-tabs button.is-active {
    color: var(--gallery-button-text);
    background: var(--gallery-button);
    box-shadow: 0 12px 30px color-mix(in srgb, var(--gallery-button) 24%, transparent);
}
.gallery-filter-tabs button.is-active span {
    color: var(--gallery-button-text);
    background: rgba(255,255,255,.18);
}
.compact-memory-grid .memory-item[hidden] { display: none !important; }
.compact-memory-grid .memory-video-button {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background:
        radial-gradient(circle at 30% 18%, color-mix(in srgb, var(--gallery-button) 28%, transparent), transparent 42%),
        linear-gradient(145deg, color-mix(in srgb, var(--gallery-surface) 88%, #111), color-mix(in srgb, var(--gallery-button) 20%, #f8f5f0));
}
.compact-memory-grid .memory-video-thumb {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .58;
    transform: scale(1.01);
    transition: opacity .25s ease, transform .25s ease;
}
.compact-memory-grid .memory-video-thumb.is-ready { opacity: 1; }
.compact-memory-grid .memory-video-button::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.26));
    pointer-events: none;
}
.memory-video-play {
    position: absolute;
    z-index: 4;
    inset: 50% auto auto 50%;
    display: grid;
    width: clamp(40px, 10vw, 58px);
    height: clamp(40px, 10vw, 58px);
    place-items: center;
    color: #fff;
    background: color-mix(in srgb, var(--gallery-button) 72%, rgba(0,0,0,.45));
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 50%;
    box-shadow: 0 18px 40px rgba(0,0,0,.26);
    transform: translate(-50%, -50%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.memory-video-play svg { width: 44%; height: 44%; fill: currentColor; transform: translateX(.5px); }
.memory-video-watermark {
    position: absolute;
    z-index: 5;
    top: .55rem;
    left: .55rem;
    width: clamp(42px, 13vw, 82px);
    max-height: 44px;
    object-fit: contain;
    opacity: .94;
    filter: drop-shadow(0 6px 16px rgba(0,0,0,.34));
    pointer-events: none;
}
.upload-drawer-brand {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin: 0 0 1rem;
    padding: .9rem;
    background: linear-gradient(135deg, color-mix(in srgb, var(--gallery-button) 12%, #fff), color-mix(in srgb, var(--gallery-surface) 88%, #fff));
    border: 1px solid color-mix(in srgb, var(--gallery-button) 20%, transparent);
    border-radius: 24px;
}
.upload-drawer-brand img,
.upload-drawer-brand-mark {
    display: grid;
    width: 58px;
    height: 58px;
    min-width: 58px;
    place-items: center;
    object-fit: contain;
    color: var(--gallery-button-text);
    background: var(--gallery-button);
    border-radius: 18px;
    box-shadow: 0 16px 34px color-mix(in srgb, var(--gallery-button) 28%, transparent);
    font-weight: 900;
}
.upload-drawer-brand .eyebrow { margin: 0 0 .2rem; }
.upload-drawer-brand h2 { margin: 0; line-height: .95; }
.upload-drawer-copy { line-height: 1.55; }
.gallery-experience .dropzone {
    border-color: color-mix(in srgb, var(--gallery-button) 22%, transparent);
    background: linear-gradient(180deg, color-mix(in srgb, var(--gallery-button) 6%, #fff), #fff);
}
.gallery-experience .dropzone-action {
    color: var(--gallery-button);
}
@media (max-width: 760px) {
    .gallery-filter-tabs {
        margin-top: .2rem;
        margin-bottom: 1.15rem;
        gap: .22rem;
    }
    .gallery-filter-tabs button {
        min-height: 44px;
        padding: .55rem .45rem;
        font-size: .88rem;
    }
    .gallery-filter-tabs button span {
        min-width: 1.45rem;
        height: 1.45rem;
        font-size: .72rem;
    }
    .memory-video-watermark { width: clamp(34px, 12vw, 56px); max-height: 32px; }
}

/* Ajuste fino: filtros elegantes, videos sin cuadro negro y subida compacta */
.gallery-experience .gallery-filter-tabs {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .42rem !important;
    width: auto !important;
    max-width: calc(100% - 1rem);
    margin: .35rem 0 clamp(1rem, 3vw, 1.6rem) !important;
    padding: .32rem !important;
    background: rgba(255,255,255,.76) !important;
    border: 1px solid rgba(42,32,47,.08) !important;
    border-radius: 999px !important;
    box-shadow: 0 14px 34px rgba(35, 27, 45, .08) !important;
    backdrop-filter: blur(18px) saturate(1.15);
    -webkit-backdrop-filter: blur(18px) saturate(1.15);
}
.gallery-experience .gallery-filter-tabs button {
    min-height: 40px !important;
    padding: .55rem .9rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: color-mix(in srgb, var(--gallery-body) 66%, #8b8491) !important;
    font-family: var(--gallery-body-font, inherit) !important;
    font-size: clamp(.88rem, 3.2vw, .98rem) !important;
    font-weight: 760 !important;
    letter-spacing: -.015em;
    line-height: 1;
    box-shadow: none !important;
}
.gallery-experience .gallery-filter-tabs button span {
    display: inline-grid !important;
    min-width: 1.36rem !important;
    height: 1.36rem !important;
    place-items: center !important;
    margin-left: .12rem;
    color: currentColor !important;
    background: rgba(38, 30, 44, .07) !important;
    border-radius: 999px !important;
    font-size: .74rem !important;
    font-weight: 850 !important;
}
.gallery-experience .gallery-filter-tabs button.is-active {
    color: var(--gallery-button-text, #fff) !important;
    background: var(--gallery-button, #b79a42) !important;
    box-shadow: 0 12px 28px color-mix(in srgb, var(--gallery-button, #b79a42) 25%, transparent) !important;
}
.gallery-experience .gallery-filter-tabs button.is-active span {
    background: rgba(255,255,255,.20) !important;
    color: inherit !important;
}

.compact-memory-grid .memory-video-button {
    isolation: isolate;
    background:
        var(--video-poster, none),
        radial-gradient(circle at 28% 18%, color-mix(in srgb, var(--gallery-button, #b79a42) 20%, transparent), transparent 42%),
        linear-gradient(145deg, color-mix(in srgb, var(--gallery-surface, #fff) 92%, #f0ece6), color-mix(in srgb, var(--gallery-button, #b79a42) 13%, #f7f2ea)) !important;
    background-size: cover, cover, cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
.compact-memory-grid .memory-video-thumb {
    opacity: 0 !important;
    background: transparent !important;
}
.compact-memory-grid .memory-video-button.has-video-preview .memory-video-thumb.is-ready {
    opacity: .96 !important;
}
.compact-memory-grid .memory-video-button.has-generated-poster .memory-video-thumb {
    opacity: 0 !important;
}
.compact-memory-grid .memory-video-button::before {
    content: 'Video';
    position: absolute;
    z-index: 4;
    left: .55rem;
    bottom: .55rem;
    padding: .28rem .48rem;
    color: #fff;
    background: rgba(0,0,0,.28);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.compact-memory-grid .memory-video-button.has-video-preview::before,
.compact-memory-grid .memory-video-button.has-generated-poster::before {
    background: rgba(0,0,0,.32);
}
.memory-video-play {
    background: color-mix(in srgb, var(--gallery-button, #b79a42) 82%, rgba(0,0,0,.26)) !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.20) !important;
}
.memory-video-watermark {
    width: clamp(46px, 12vw, 84px) !important;
    max-height: 46px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.gallery-experience .upload-drawer {
    align-items: end !important;
}
.gallery-experience .upload-drawer-panel {
    width: min(650px, calc(100% - 1rem)) !important;
    max-height: min(88svh, 720px) !important;
    margin: 0 auto calc(.5rem + env(safe-area-inset-bottom)) !important;
    padding: 1.1rem !important;
    border-radius: 28px !important;
    background: rgba(255,255,255,.96) !important;
    color: var(--gallery-body, #2b2430) !important;
    overflow: auto !important;
}
.gallery-experience .upload-drawer-brand {
    margin: 0 0 .85rem !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.gallery-experience .upload-drawer-brand img,
.gallery-experience .upload-drawer-brand-mark {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    filter: drop-shadow(0 8px 18px rgba(0,0,0,.12));
}
.gallery-experience .upload-drawer-brand .eyebrow,
.gallery-experience .upload-drawer-panel .eyebrow {
    color: var(--gallery-button, #b79a42) !important;
    letter-spacing: .20em !important;
}
.gallery-experience .upload-drawer-brand h2,
.gallery-experience .upload-drawer-panel h2 {
    margin: .1rem 0 0 !important;
    line-height: 1.05 !important;
}
.gallery-experience .upload-drawer-copy {
    margin: 0 0 .95rem !important;
    color: var(--gallery-muted, #746b78) !important;
    font-size: clamp(.98rem, 3.8vw, 1.06rem) !important;
    line-height: 1.45 !important;
}
.gallery-experience .drawer-upload-form {
    padding: .9rem !important;
    border: 1px solid rgba(39,30,45,.08) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.78) !important;
}
.gallery-experience .drawer-upload-form label {
    font-size: .95rem;
}
.gallery-experience .drawer-upload-form textarea {
    min-height: 90px !important;
    border-radius: 18px !important;
}
.gallery-experience .dropzone {
    margin-top: .8rem !important;
    padding: 1.15rem !important;
    border: 1.5px dashed color-mix(in srgb, var(--gallery-button, #b79a42) 46%, rgba(39,30,45,.10)) !important;
    border-radius: 24px !important;
    background: color-mix(in srgb, var(--gallery-button, #b79a42) 5%, #fff) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.56) !important;
}
.gallery-experience .dropzone-icon {
    width: 54px !important;
    height: 54px !important;
    font-size: 2rem !important;
    background: var(--gallery-button, #b79a42) !important;
}
.gallery-experience .dropzone-action {
    color: var(--gallery-button, #b79a42) !important;
    font-weight: 850 !important;
}
.gallery-experience .drawer-upload-form .event-button.full {
    margin-top: .9rem !important;
    min-height: 54px !important;
    border-radius: 999px !important;
}

@media (max-width: 520px) {
    .gallery-experience .gallery-filter-tabs {
        width: 100% !important;
        max-width: none !important;
        gap: .25rem !important;
        padding: .28rem !important;
    }
    .gallery-experience .gallery-filter-tabs button {
        flex: 1 1 0;
        min-height: 38px !important;
        padding: .5rem .36rem !important;
        font-size: .86rem !important;
    }
    .gallery-experience .upload-drawer-panel {
        width: calc(100% - .65rem) !important;
        max-height: 84svh !important;
        padding: 1rem !important;
        border-radius: 28px 28px 20px 20px !important;
    }
    .gallery-experience .drawer-upload-form {
        padding: .82rem !important;
    }
    .gallery-experience .dropzone {
        padding: 1rem .78rem !important;
    }
}

/* Video thumbnails sin marca encima: el logo solo vive en la portada/fotos, no en videos */
.memory-video-watermark { display: none !important; }
.compact-memory-grid .memory-video-button {
    background: var(--video-poster, linear-gradient(145deg, rgba(255,255,255,.94), color-mix(in srgb, var(--gallery-button, #b79a42) 14%, #f6f1e9))) !important;
    box-shadow: 0 16px 34px rgba(31,24,20,.10) !important;
}
.compact-memory-grid .memory-video-button::before {
    content: none !important;
}
.compact-memory-grid .memory-video-play {
    width: clamp(42px, 12vw, 58px) !important;
    height: clamp(42px, 12vw, 58px) !important;
    background: color-mix(in srgb, var(--gallery-button, #b79a42) 86%, #111 14%) !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.18) !important;
}

/* --- Fix final Recuerdos QR: filtros, video cards y subida limpia --- */
.gallery-experience .gallery-filter-tabs {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .35rem !important;
    width: min(100%, 680px) !important;
    margin: .15rem 0 1.05rem !important;
    padding: .34rem !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.82) !important;
    border: 1px solid rgba(34,26,40,.08) !important;
    box-shadow: 0 14px 34px rgba(35, 27, 45, .07) !important;
    backdrop-filter: blur(16px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
}
.gallery-experience .gallery-filter-tabs button {
    flex: 1 1 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .42rem !important;
    min-width: 0 !important;
    min-height: 2.75rem !important;
    padding: .58rem .55rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: color-mix(in srgb, var(--gallery-body, #211b27) 66%, #8d8791) !important;
    font-family: var(--gallery-body-font, inherit) !important;
    font-size: clamp(.9rem, 3.5vw, 1rem) !important;
    font-weight: 820 !important;
    letter-spacing: -.02em !important;
    line-height: 1 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}
.gallery-experience .gallery-filter-tabs button span {
    display: inline-grid !important;
    min-width: 1.35rem !important;
    height: 1.35rem !important;
    place-items: center !important;
    color: currentColor !important;
    background: rgba(36, 30, 42, .07) !important;
    border-radius: 999px !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
}
.gallery-experience .gallery-filter-tabs button.is-active {
    color: var(--gallery-button-text, #fff) !important;
    background: var(--gallery-button, #b79a42) !important;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--gallery-button, #b79a42) 24%, transparent) !important;
}
.gallery-experience .gallery-filter-tabs button.is-active span {
    background: rgba(255,255,255,.20) !important;
    color: inherit !important;
}
@media (max-width: 390px) {
    .gallery-experience .gallery-filter-tabs { gap: .24rem !important; }
    .gallery-experience .gallery-filter-tabs button { font-size: .85rem !important; padding-inline: .35rem !important; }
}

/* Miniaturas de video limpias: sin label feo, sin recuadro negro por default */
.memory-video-watermark,
.compact-memory-grid .memory-video-button::before { display: none !important; content: none !important; }
.compact-memory-grid .memory-video-button {
    position: relative !important;
    overflow: hidden !important;
    background:
        var(--video-poster, none),
        linear-gradient(135deg, color-mix(in srgb, var(--gallery-button, #b79a42) 12%, #f7f3ed), #fdfbf8) !important;
    background-size: cover, cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    box-shadow: 0 14px 30px rgba(31,24,20,.08) !important;
}
.compact-memory-grid .memory-video-thumb {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: .96 !important;
    background: transparent !important;
    filter: saturate(1.03) contrast(1.02) !important;
}
.compact-memory-grid .memory-video-button.has-generated-poster .memory-video-thumb {
    opacity: 0 !important;
}
.compact-memory-grid .memory-video-button::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.18)) !important;
    pointer-events: none !important;
}
.compact-memory-grid .memory-video-play {
    z-index: 5 !important;
    width: clamp(38px, 11vw, 54px) !important;
    height: clamp(38px, 11vw, 54px) !important;
    background: rgba(0,0,0,.34) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

/* Subir recuerdo: vuelve a modal compacto y fino, sin bloque blanco gigante */
.gallery-experience .upload-drawer {
    align-items: end !important;
    padding: 0 .45rem calc(.45rem + env(safe-area-inset-bottom)) !important;
}
.gallery-experience .upload-drawer-panel {
    width: min(620px, 100%) !important;
    max-height: min(78svh, 660px) !important;
    margin: 0 auto !important;
    padding: 1.15rem !important;
    border-radius: 30px !important;
    overflow: auto !important;
    background: rgba(255,255,255,.97) !important;
    color: var(--gallery-body, #211b27) !important;
    box-shadow: 0 24px 80px rgba(16, 10, 22, .24) !important;
}
.gallery-experience .upload-drawer-close {
    top: .85rem !important;
    right: .85rem !important;
    width: 2.45rem !important;
    height: 2.45rem !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 8px 22px rgba(18,12,24,.12) !important;
}
.gallery-experience .upload-drawer-brand {
    display: flex !important;
    align-items: center !important;
    gap: .85rem !important;
    margin: 0 2.8rem .85rem 0 !important;
}
.gallery-experience .upload-drawer-copy {
    margin: 0 0 .9rem !important;
    font-size: .98rem !important;
    line-height: 1.45 !important;
    color: var(--gallery-muted, #716873) !important;
}
.gallery-experience .drawer-upload-form {
    padding: .85rem !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.72) !important;
}
.gallery-experience .drawer-upload-form textarea {
    min-height: 82px !important;
    border-radius: 18px !important;
}
.gallery-experience .dropzone {
    margin-top: .72rem !important;
    padding: .95rem !important;
    border-radius: 22px !important;
    border: 1.5px dashed color-mix(in srgb, var(--gallery-button, #b79a42) 42%, rgba(36,28,42,.10)) !important;
    background: color-mix(in srgb, var(--gallery-button, #b79a42) 4%, #fff) !important;
}
.gallery-experience .dropzone-icon {
    width: 48px !important;
    height: 48px !important;
    font-size: 1.75rem !important;
    background: var(--gallery-button, #b79a42) !important;
}
.gallery-experience .dropzone-action { color: var(--gallery-button, #b79a42) !important; }
.gallery-experience .drawer-upload-form .event-button.full {
    margin-top: .75rem !important;
    min-height: 52px !important;
}

/* Ajuste fino 2026-06-24: upload alineado, sin resplandor morado, chip invitado no interactivo */
.gallery-experience .gallery-guest-chip {
    pointer-events: none !important;
    cursor: default !important;
    text-decoration: none !important;
}

.gallery-experience .upload-drawer-brand {
    display: block !important;
    margin: 0 3rem .8rem 0 !important;
    padding: 0 !important;
}

.gallery-experience .upload-drawer-brand img,
.gallery-experience .upload-drawer-brand-mark {
    display: none !important;
}

.gallery-experience .upload-drawer-brand h2 {
    margin: .14rem 0 0 !important;
    padding: 0 !important;
}

.gallery-experience .upload-drawer-copy {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.gallery-experience .drawer-upload-form .event-button.full {
    box-shadow: none !important;
    filter: none !important;
}

.gallery-experience .drawer-upload-form .event-button.full::before,
.gallery-experience .drawer-upload-form .event-button.full::after {
    display: none !important;
    content: none !important;
}


.gallery-experience .floating-custom-link {
    pointer-events: auto;
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.38) !important;
    border-radius: 999px !important;
    background: var(--gallery-button, #5F3BF5) !important;
    color: var(--gallery-button-text, #fff) !important;
    box-shadow: 0 16px 34px color-mix(in srgb, var(--gallery-button, #5F3BF5) 30%, transparent) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    text-decoration: none !important;
}
.gallery-experience .floating-custom-link img {
    display: block;
    width: 62%;
    height: 62%;
    object-fit: contain;
    border-radius: 0;
    filter: drop-shadow(0 2px 5px rgba(0,0,0,.16));
}
.gallery-experience .floating-custom-link svg {
    width: 45%;
    height: 45%;
    fill: currentColor;
}
.gallery-experience .floating-custom-link:active {
    transform: scale(.94);
}

/* Interacción flotante: libro de firmas / calificación */
.gallery-experience .floating-sign-button {
    background: var(--gallery-button) !important;
    color: var(--gallery-button-text) !important;
    border: 0;
    display: grid;
    place-items: center;
}
.gallery-experience .floating-sign-button svg {
    width: 47%;
    height: 47%;
    fill: currentColor;
    filter: drop-shadow(0 2px 5px rgba(0,0,0,.18));
}
body.interaction-drawer-open { overflow: hidden; }
.interaction-drawer[hidden] { display: none !important; }
.interaction-drawer {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: grid;
    align-items: end;
    pointer-events: none;
}
.interaction-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(16, 12, 20, .52);
    backdrop-filter: blur(10px);
    opacity: 0;
    transition: opacity .22s ease;
    pointer-events: auto;
}
.interaction-panel {
    position: relative;
    width: min(560px, calc(100% - 22px));
    margin: 0 auto 14px;
    padding: clamp(1.25rem, 4vw, 2rem);
    border-radius: 34px;
    background: rgba(255,255,255,.96);
    color: #241b2a;
    box-shadow: 0 28px 80px rgba(33, 22, 45, .22);
    transform: translateY(22px);
    opacity: 0;
    transition: transform .22s ease, opacity .22s ease;
    pointer-events: auto;
}
.interaction-drawer.is-open .interaction-backdrop { opacity: 1; }
.interaction-drawer.is-open .interaction-panel { transform: translateY(0); opacity: 1; }
.interaction-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(36, 27, 42, .08);
    background: rgba(255,255,255,.78);
    color: #241b2a;
    font-size: 1.65rem;
    line-height: 1;
    display: grid;
    place-items: center;
    box-shadow: 0 10px 30px rgba(33, 22, 45, .08);
}
.interaction-panel .eyebrow {
    margin: 0 0 .45rem;
    color: var(--gallery-button);
    letter-spacing: .28em;
    text-transform: uppercase;
    font-weight: 800;
    font-size: .72rem;
}
.interaction-panel h2 {
    margin: 0;
    font-family: var(--gallery-heading-font, Georgia, serif);
    font-size: clamp(2.05rem, 8vw, 3.1rem);
    line-height: .95;
}
.interaction-copy {
    margin: .85rem 0 1.25rem;
    color: var(--gallery-muted, #786B73);
    line-height: 1.45;
}
.interaction-stars {
    display: flex;
    gap: .42rem;
    margin: .35rem 0 1rem;
}
.interaction-stars button {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(36, 27, 42, .08);
    background: #F8F5F1;
    color: #C9C1C6;
    font-size: 1.35rem;
    line-height: 1;
    display: grid;
    place-items: center;
    transition: transform .18s ease, color .18s ease, background .18s ease;
}
.interaction-stars button.is-active {
    color: #fff;
    background: var(--gallery-button);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
.interaction-message { display: block; margin-bottom: 1rem; }
.interaction-message span {
    display: block;
    margin-bottom: .45rem;
    font-weight: 800;
    color: #33263C;
}
.interaction-message textarea {
    width: 100%;
    min-height: 112px;
    resize: vertical;
    border-radius: 22px;
    border: 1px solid rgba(36, 27, 42, .14);
    padding: 1rem;
    font: inherit;
    outline: none;
    background: #fff;
    color: #241b2a;
}
.interaction-message textarea:focus {
    border-color: var(--gallery-button);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--gallery-button), transparent 84%);
}
.interaction-panel .form-status { margin: .85rem 0 0; min-height: 1.2rem; }
.interaction-panel .form-status.success { color: #0f8a4c; }
.interaction-panel .form-status.error { color: #b42318; }
@media (min-width: 760px) {
    .interaction-drawer { align-items: center; }
    .interaction-panel { margin-bottom: 0; }
}


/* Ajuste fino: interacción sin resplandor morado extraño */
.gallery-experience .interaction-panel .event-button.full,
.gallery-experience .interaction-panel .button.event-button.full,
.interaction-panel .event-button.full,
.interaction-panel .button.event-button.full {
    box-shadow: none !important;
    filter: none !important;
}

.gallery-experience .interaction-panel .event-button.full::before,
.gallery-experience .interaction-panel .event-button.full::after,
.interaction-panel .event-button.full::before,
.interaction-panel .event-button.full::after {
    content: none !important;
    display: none !important;
}

.gallery-experience .interaction-message textarea:focus,
.interaction-message textarea:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--gallery-button, #b79a42) 18%, transparent) !important;
}

.gallery-experience .interaction-panel .form-status.error,
.interaction-panel .form-status.error {
    text-align: center;
    font-weight: 800;
    color: #b42318;
}


/* Boomerang en galería */
.memory-boomerang-badge,
.memory-layout-badge {
    position: absolute !important;
    left: .52rem !important;
    bottom: .52rem !important;
    z-index: 6 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: .25rem !important;
    padding: .34rem .52rem !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(0,0,0,.42) !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    font-size: .67rem !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.16) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

.compact-memory-grid .memory-boomerang-button .memory-video-thumb {
    opacity: 1 !important;
}

.compact-memory-grid .memory-boomerang-button.has-generated-poster .memory-video-thumb {
    opacity: 1 !important;
}

.compact-memory-grid .memory-boomerang-button .memory-video-play {
    width: clamp(30px, 8vw, 42px) !important;
    height: clamp(30px, 8vw, 42px) !important;
}

.compact-memory-grid .memory-boomerang-button .memory-video-play svg {
    display: none !important;
}

.compact-memory-grid .memory-boomerang-button .memory-video-play::before {
    content: '∞' !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

@media (max-width: 430px) {
    .memory-boomerang-badge,
.memory-layout-badge {
        left: .35rem !important;
        bottom: .35rem !important;
        padding: .26rem .42rem !important;
        font-size: .58rem !important;
    }
}


.memory-layout-badge {
    background: rgba(0,0,0,.42) !important;
}

.compact-memory-grid .layout-memory img {
    object-fit: cover !important;
}




/* Foto circular de perfil del evento */
.gallery-experience .gallery-hero-profile {
    position: absolute;
    z-index: 4;
    left: clamp(1rem, 3.8vw, 2rem);
    top: clamp(9.6rem, 22vh, 13.2rem);
    width: clamp(96px, 24vw, 122px);
    height: clamp(96px, 24vw, 122px);
    box-sizing: border-box;
    padding: 3px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid color-mix(in srgb, var(--gallery-button, var(--gallery-accent, #b68b5e)) 75%, white 25%);
    background: rgba(255,255,255,.10);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
    backdrop-filter: blur(8px) saturate(115%);
    -webkit-backdrop-filter: blur(8px) saturate(115%);
}

.gallery-experience .gallery-hero-profile img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
}

.gallery-experience .gallery-hero-profile::after {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
    pointer-events: none;
}

@media (max-width: 760px) {
    .gallery-experience .gallery-hero-profile {
        left: 1rem;
        top: clamp(9.65rem, 21vh, 12rem);
        width: clamp(92px, 25vw, 108px);
        height: clamp(92px, 25vw, 108px);
        padding: 2px;
        border-width: 1.5px;
        box-shadow: 0 8px 18px rgba(0, 0, 0, .16);
    }

    .gallery-experience .gallery-hero-profile::after {
        inset: 2px;
    }
}


/* Ajuste final minimalista de foto de perfil del evento - v6 */
body.gallery-experience .gallery-hero.compact-gallery-hero .gallery-hero-profile,
.gallery-experience .gallery-hero.compact-gallery-hero .gallery-hero-profile,
.gallery-experience .gallery-hero-profile {
    width: 124px !important;
    height: 124px !important;
    min-width: 124px !important;
    max-width: 124px !important;
    min-height: 124px !important;
    max-height: 124px !important;
    aspect-ratio: auto !important;
    box-sizing: border-box !important;
    padding: 2px !important;
    border-radius: 999px !important;
    border: 1px solid color-mix(in srgb, var(--gallery-button, var(--gallery-accent, #b68b5e)) 58%, rgba(255,255,255,.75) 42%) !important;
    background: rgba(255,255,255,.08) !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .14) !important;
    overflow: hidden !important;
}

body.gallery-experience .gallery-hero.compact-gallery-hero .gallery-hero-profile img,
.gallery-experience .gallery-hero.compact-gallery-hero .gallery-hero-profile img,
.gallery-experience .gallery-hero-profile img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 999px !important;
}

body.gallery-experience .gallery-hero.compact-gallery-hero .gallery-hero-profile::after,
.gallery-experience .gallery-hero.compact-gallery-hero .gallery-hero-profile::after,
.gallery-experience .gallery-hero-profile::after {
    inset: 2px !important;
    border-radius: 999px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

@media (max-width: 760px) {
    body.gallery-experience .gallery-hero.compact-gallery-hero .gallery-hero-profile,
    .gallery-experience .gallery-hero.compact-gallery-hero .gallery-hero-profile,
    .gallery-experience .gallery-hero-profile {
        width: 112px !important;
        height: 112px !important;
        min-width: 112px !important;
        max-width: 112px !important;
        min-height: 112px !important;
        max-height: 112px !important;
        left: 1rem !important;
        top: clamp(9.6rem, 21.5vh, 12.2rem) !important;
        padding: 2px !important;
        border-width: 1px !important;
        box-shadow: 0 7px 16px rgba(0, 0, 0, .13) !important;
    }
}


/* Perfil circular minimalista del evento - v7 */
body.gallery-experience .gallery-hero.compact-gallery-hero > .gallery-hero-profile,
.gallery-experience .gallery-hero.compact-gallery-hero > .gallery-hero-profile,
.gallery-experience .gallery-hero-profile {
    width: 142px !important;
    height: 142px !important;
    min-width: 142px !important;
    max-width: 142px !important;
    min-height: 142px !important;
    max-height: 142px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 1px solid color-mix(in srgb, var(--gallery-button, var(--gallery-accent, #b68b5e)) 48%, rgba(255,255,255,.70) 52%) !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.13) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.gallery-experience .gallery-hero.compact-gallery-hero > .gallery-hero-profile img,
.gallery-experience .gallery-hero.compact-gallery-hero > .gallery-hero-profile img,
.gallery-experience .gallery-hero-profile img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 50% !important;
}

body.gallery-experience .gallery-hero.compact-gallery-hero > .gallery-hero-profile::after,
.gallery-experience .gallery-hero.compact-gallery-hero > .gallery-hero-profile::after,
.gallery-experience .gallery-hero-profile::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 760px) {
    body.gallery-experience .gallery-hero.compact-gallery-hero > .gallery-hero-profile,
    .gallery-experience .gallery-hero.compact-gallery-hero > .gallery-hero-profile,
    .gallery-experience .gallery-hero-profile {
        width: 132px !important;
        height: 132px !important;
        min-width: 132px !important;
        max-width: 132px !important;
        min-height: 132px !important;
        max-height: 132px !important;
        left: 1.05rem !important;
        top: clamp(9.35rem, 20.5vh, 11.6rem) !important;
        border-width: 1px !important;
        box-shadow: 0 7px 15px rgba(0,0,0,.12) !important;
    }
}


/* Limpieza visual de la galería: sin etiquetas de Layout ni Boomerang */
.memory-boomerang-badge,
.memory-layout-badge {
    display: none !important;
}

/* Icono de video más centrado dentro del círculo */
.compact-memory-grid .memory-video-play {
    display: grid !important;
    place-items: center !important;
}

.compact-memory-grid .memory-video-play svg {
    width: 43% !important;
    height: 43% !important;
    margin: 0 !important;
    transform: translateX(.5px) !important;
    transform-origin: center center !important;
}


/* Calificación pública en portada */
.hero-rating-strip {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    width: max-content;
    max-width: min(100%, 360px);
    margin: .5rem 0 .7rem;
    padding: .48rem .68rem;
    color: rgba(255,255,255,.92);
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(0,0,0,.14);
    backdrop-filter: blur(14px) saturate(115%);
    -webkit-backdrop-filter: blur(14px) saturate(115%);
}

.hero-rating-stars {
    position: relative;
    display: inline-block;
    color: rgba(255,255,255,.32);
    font-size: .98rem;
    line-height: 1;
    letter-spacing: .06em;
}

.hero-rating-stars::before {
    content: '★★★★★';
    position: absolute;
    inset: 0 auto 0 0;
    overflow: hidden;
    width: var(--rating-percent, 0%);
    color: var(--gallery-button, var(--gallery-accent, #b89a3d));
    white-space: nowrap;
}

.hero-rating-strip strong {
    color: #fff;
    font: 900 .86rem/1 var(--gallery-body-font, Arial, sans-serif);
}

.hero-rating-strip small {
    color: rgba(255,255,255,.76);
    font: 800 .68rem/1 var(--gallery-body-font, Arial, sans-serif);
    letter-spacing: .02em;
}

/* Libro de firmas público */
.public-guestbook-section {
    width: min(100%, 1040px);
    margin: clamp(2.2rem, 6vw, 4rem) auto 0;
    padding: clamp(1.15rem, 4vw, 2rem);
    color: var(--gallery-body);
    background:
        radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--gallery-button, #b89a3d) 12%, transparent), transparent 35%),
        color-mix(in srgb, var(--gallery-surface, #fff) 96%, var(--gallery-button, #b89a3d));
    border: 1px solid color-mix(in srgb, var(--gallery-button, #b89a3d) 16%, transparent);
    border-radius: clamp(26px, 5vw, 38px);
    box-shadow: 0 18px 52px rgba(24,16,28,.08);
}

.public-guestbook-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.public-guestbook-head .eyebrow {
    margin: 0 0 .28rem;
    color: var(--gallery-button, var(--gallery-accent));
}

.public-guestbook-head h2 {
    margin: 0;
    color: var(--gallery-heading);
    font-family: var(--gallery-heading-font, Georgia, serif);
    font-size: clamp(1.9rem, 5vw, 3.15rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.public-guestbook-head p {
    max-width: 560px;
    margin: .55rem 0 0;
    color: var(--gallery-muted);
    line-height: 1.55;
}

.public-guestbook-action {
    flex: 0 0 auto;
    min-height: 2.75rem;
    padding: 0 1.05rem;
    color: var(--gallery-button-text, #fff);
    background: var(--gallery-button, var(--gallery-accent));
    border: 0;
    border-radius: 999px;
    box-shadow: 0 14px 28px color-mix(in srgb, var(--gallery-button, #b89a3d) 24%, transparent);
    cursor: pointer;
    font: 900 .9rem/1 var(--gallery-body-font, Arial, sans-serif);
}

.public-guestbook-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}

.public-guestbook-card {
    position: relative;
    overflow: hidden;
    min-height: 176px;
    padding: 1rem;
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(114,91,67,.10);
    border-radius: 24px;
    box-shadow: 0 10px 28px rgba(22,14,26,.055);
}

.public-guestbook-card::after {
    content: '”';
    position: absolute;
    right: .78rem;
    bottom: -.48rem;
    color: color-mix(in srgb, var(--gallery-button, #b89a3d) 15%, transparent);
    font: 800 4.4rem/1 Georgia, serif;
    pointer-events: none;
}

.public-guestbook-card-top {
    display: flex;
    align-items: center;
    gap: .72rem;
    margin-bottom: .8rem;
}

.public-guestbook-avatar {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: var(--gallery-button-text, #fff);
    background: var(--gallery-button, var(--gallery-accent));
    border-radius: 50%;
    font: 900 .95rem/1 var(--gallery-body-font, Arial, sans-serif);
}

.public-guestbook-card strong {
    display: block;
    color: var(--gallery-heading);
    font: 900 .94rem/1.1 var(--gallery-body-font, Arial, sans-serif);
}

.public-guestbook-card small {
    display: block;
    margin-top: .2rem;
    color: var(--gallery-muted);
    font-size: .72rem;
}

.public-guestbook-stars {
    margin: -.15rem 0 .55rem;
    color: var(--gallery-button, var(--gallery-accent));
    font-size: .76rem;
    letter-spacing: .06em;
}

.public-guestbook-stars span {
    color: color-mix(in srgb, var(--gallery-muted) 28%, transparent);
}

.public-guestbook-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: color-mix(in srgb, var(--gallery-body) 90%, #111);
    font-size: .9rem;
    line-height: 1.48;
}

.public-guestbook-empty {
    display: grid;
    place-items: center;
    min-height: 150px;
    padding: 1.2rem;
    text-align: center;
    background: rgba(255,255,255,.58);
    border: 1px dashed color-mix(in srgb, var(--gallery-button, #b89a3d) 28%, transparent);
    border-radius: 24px;
}

.public-guestbook-empty span {
    display: grid;
    width: 44px;
    height: 44px;
    margin-bottom: .65rem;
    place-items: center;
    color: var(--gallery-button-text, #fff);
    background: var(--gallery-button, var(--gallery-accent));
    border-radius: 50%;
}

.public-guestbook-empty strong {
    color: var(--gallery-heading);
    font-size: 1rem;
}

.public-guestbook-empty p {
    max-width: 360px;
    margin: .35rem 0 0;
    color: var(--gallery-muted);
}

@media (max-width: 900px) {
    .public-guestbook-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .hero-rating-strip {
        margin-top: .35rem;
        padding: .42rem .58rem;
        gap: .35rem;
    }

    .hero-rating-strip small { display: none; }
    .hero-rating-stars { font-size: .88rem; }

    .public-guestbook-section {
        margin-top: 2rem;
        padding: 1.05rem;
        border-radius: 30px;
    }

    .public-guestbook-head {
        display: block;
        margin-bottom: 1rem;
    }

    .public-guestbook-action {
        margin-top: .85rem;
        min-height: 2.55rem;
        padding-inline: 1rem;
    }

    .public-guestbook-grid { grid-template-columns: 1fr; }
    .public-guestbook-card { min-height: 150px; }
}


/* Firmas como pestaña dentro de la galería */
.gallery-signatures-panel[hidden] {
    display: none !important;
}

.gallery-signatures-panel.public-guestbook-section {
    margin: 1rem 0 0 !important;
    padding: clamp(1rem, 3.5vw, 1.45rem) !important;
    border-radius: var(--gallery-card-radius, 24px) !important;
    background: color-mix(in srgb, var(--gallery-surface, #fff) 92%, var(--gallery-button, #b79a42) 8%) !important;
    border: 1px solid color-mix(in srgb, var(--gallery-button, #b79a42) 16%, transparent) !important;
    box-shadow: 0 14px 34px rgba(25,17,29,.06) !important;
}

.gallery-signatures-panel .public-guestbook-head {
    align-items: flex-start !important;
    gap: .85rem !important;
    margin-bottom: 1rem !important;
}

.gallery-signatures-panel .public-guestbook-head h2 {
    color: var(--gallery-heading) !important;
    font-size: clamp(1.65rem, 6vw, 2.7rem) !important;
    line-height: .98 !important;
    opacity: 1 !important;
}

.gallery-signatures-panel .public-guestbook-head p:not(.eyebrow) {
    max-width: 34rem !important;
    color: color-mix(in srgb, var(--gallery-body, #2a2028) 72%, transparent) !important;
}

.gallery-signatures-panel .public-guestbook-empty {
    min-height: 190px !important;
    background: rgba(255,255,255,.54) !important;
}

.gallery-signatures-panel .public-guestbook-card {
    background: rgba(255,255,255,.72) !important;
}

@media (max-width: 760px) {
    .gallery-filter-tabs {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: .25rem !important;
    }

    .gallery-filter-tabs button {
        min-width: 0 !important;
        padding-inline: .45rem !important;
        font-size: .88rem !important;
    }

    .gallery-filter-tabs button span {
        margin-left: .18rem !important;
    }

    .gallery-signatures-panel.public-guestbook-section {
        margin-top: .8rem !important;
        padding: 1rem !important;
    }
}


/* Ajuste v4: calificación minimalista y firmas como pestaña real */
.hero-rating-strip {
    width: max-content !important;
    max-width: 100% !important;
    margin: .48rem 0 0 !important;
    padding: 0 !important;
    gap: .42rem !important;
    color: rgba(255,255,255,.94) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.hero-rating-stars {
    font-size: 1.04rem !important;
    letter-spacing: .055em !important;
    color: rgba(255,255,255,.30) !important;
    text-shadow: 0 8px 22px rgba(0,0,0,.35) !important;
}

.hero-rating-stars::before {
    color: var(--gallery-button, var(--gallery-accent, #b89a3d)) !important;
}

.hero-rating-strip strong {
    color: rgba(255,255,255,.94) !important;
    font: 850 .86rem/1 var(--gallery-body-font, Arial, sans-serif) !important;
    text-shadow: 0 8px 22px rgba(0,0,0,.35) !important;
}

.hero-rating-strip small {
    display: none !important;
}

.gallery-filter-tabs:not(:has([data-gallery-filter="signatures"])) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

[data-gallery-media-panel][hidden],
.gallery-signatures-panel[hidden] {
    display: none !important;
}

.gallery-signatures-panel.public-guestbook-section:not([hidden]) {
    display: block !important;
}

body.is-viewing-signatures .gallery-signatures-panel.public-guestbook-section {
    min-height: 260px !important;
}

body.is-viewing-signatures .gallery-signatures-panel .public-guestbook-grid,
.gallery-signatures-panel .public-guestbook-grid {
    display: grid !important;
}

@media (max-width: 760px) {
    body.has-public-rating .gallery-hero-content {
        padding-bottom: 8.45rem !important;
    }

    body.has-public-rating .gallery-kicker {
        margin-bottom: .5rem !important;
        padding: .46rem .68rem !important;
        font-size: clamp(.58rem, 2.35vw, .72rem) !important;
    }

    body.has-public-rating .gallery-hero-content h1 {
        font-size: clamp(2.55rem, 12.4vw, 4.05rem) !important;
        line-height: .9 !important;
        max-width: min(10.8ch, 92vw) !important;
    }

    body.has-public-rating .gallery-hosts {
        margin-top: .62rem !important;
        font-size: clamp(.98rem, 4.25vw, 1.18rem) !important;
        line-height: 1.13 !important;
    }

    body.has-public-rating .gallery-hero blockquote {
        margin-top: .66rem !important;
        font-size: clamp(.96rem, 4.65vw, 1.26rem) !important;
        line-height: 1.08 !important;
        max-width: 88vw !important;
    }

    body.has-public-rating .hero-rating-strip {
        margin-top: .42rem !important;
        gap: .32rem !important;
    }

    body.has-public-rating .hero-rating-stars {
        font-size: .9rem !important;
    }

    body.has-public-rating .hero-rating-strip strong {
        font-size: .78rem !important;
    }

    body.has-public-signatures .gallery-filter-tabs {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    body:not(.has-public-signatures) .gallery-filter-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .gallery-signatures-panel.public-guestbook-section {
        width: 100% !important;
        margin-top: .95rem !important;
        padding: .95rem !important;
        border-radius: 24px !important;
    }

    .gallery-signatures-panel .public-guestbook-head h2 {
        font-size: clamp(1.45rem, 7vw, 2.2rem) !important;
    }
}


/* Fix v5: la pestaña Firmas debe mostrar sus tarjetas en iPhone/Safari */
body.is-viewing-signatures [data-gallery-media-panel] {
    display: none !important;
}

body.is-viewing-signatures [data-gallery-signatures-panel] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 220px !important;
    overflow: visible !important;
}

body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-grid {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-card,
body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-empty,
body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-head {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-grid .public-guestbook-card {
    display: block !important;
}


/* Fix v6: Firmas como vista real, sin depender de que Safari quite hidden */
[data-gallery-signatures-panel] {
    display: none !important;
}

body.is-viewing-signatures [data-gallery-signatures-panel],
body.is-viewing-signatures [data-gallery-signatures-panel][hidden] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 220px !important;
    overflow: visible !important;
}

body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-head {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-grid {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-card,
body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-empty {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-empty {
    display: grid !important;
}

body.is-viewing-signatures [data-gallery-media-panel] {
    display: none !important;
}


/* Fix v7: legibilidad del libro de firmas */
.gallery-signatures-panel .public-guestbook-head h2,
body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-head h2 {
    color: color-mix(in srgb, var(--gallery-button, #b79a42) 76%, #151016 24%) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.gallery-signatures-panel .public-guestbook-head p:not(.eyebrow),
body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-head p:not(.eyebrow) {
    color: color-mix(in srgb, var(--gallery-body, #312a32) 82%, #111 18%) !important;
    opacity: 1 !important;
}

.gallery-signatures-panel .public-guestbook-card strong,
body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-card strong {
    display: block !important;
    color: color-mix(in srgb, var(--gallery-heading, #251b25) 82%, #111 18%) !important;
    opacity: 1 !important;
    font-weight: 900 !important;
}

.gallery-signatures-panel .public-guestbook-card small,
body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-card small {
    color: color-mix(in srgb, var(--gallery-muted, #6f6871) 86%, #111 14%) !important;
    opacity: 1 !important;
}

.gallery-signatures-panel .public-guestbook-card-top > div,
body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-card-top > div {
    display: block !important;
    min-width: 0 !important;
}

@media (max-width: 760px) {
    .gallery-signatures-panel .public-guestbook-head h2,
    body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-head h2 {
        font-size: clamp(1.6rem, 7vw, 2.18rem) !important;
        line-height: 1 !important;
        max-width: 10ch !important;
    }

    .gallery-signatures-panel .public-guestbook-card-top,
    body.is-viewing-signatures [data-gallery-signatures-panel] .public-guestbook-card-top {
        align-items: center !important;
    }
}


/* Firmas con audio */
.interaction-audio {
    display: grid;
    gap: .72rem;
    margin: -.25rem 0 1rem;
    padding: .9rem;
    border: 1px solid color-mix(in srgb, var(--gallery-button, #b89a3d) 18%, transparent);
    border-radius: 22px;
    background: color-mix(in srgb, var(--gallery-button, #b89a3d) 6%, #fff);
}

.interaction-audio-copy {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .7rem;
}

.interaction-audio-copy strong {
    color: #33263C;
    font: 900 .92rem/1.1 var(--gallery-body-font, Arial, sans-serif);
}

.interaction-audio-copy small,
.interaction-audio p {
    color: var(--gallery-muted, #786B73);
    font-size: .78rem;
}

.interaction-audio p {
    min-height: 1.1rem;
    margin: 0;
}

.interaction-audio p.is-recording { color: #b45309; font-weight: 800; }
.interaction-audio p.is-success { color: #15803d; font-weight: 800; }
.interaction-audio p.is-error { color: #b42318; font-weight: 800; }

.interaction-audio-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.interaction-audio-actions button {
    min-height: 2.35rem;
    padding: 0 .85rem;
    border: 0;
    border-radius: 999px;
    color: var(--gallery-button-text, #fff);
    background: var(--gallery-button, var(--gallery-accent));
    box-shadow: 0 10px 22px color-mix(in srgb, var(--gallery-button, #b89a3d) 20%, transparent);
    font: 900 .82rem/1 var(--gallery-body-font, Arial, sans-serif);
}

.interaction-audio-actions [data-audio-clear] {
    color: #33263C;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(36,27,42,.10);
    box-shadow: none;
}

.interaction-audio audio,
.public-guestbook-audio audio {
    width: 100%;
    height: 34px;
    margin-top: .35rem;
}

.public-guestbook-audio {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: .72rem;
    align-items: center;
    margin-top: .85rem;
    padding: .72rem .78rem;
    border-radius: 20px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--gallery-button, #b89a3d) 8%, #fff), rgba(255,255,255,.92));
    border: 1px solid color-mix(in srgb, var(--gallery-button, #b89a3d) 12%, rgba(36,27,42,.08));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 8px 18px rgba(43, 36, 28, .045);
}

.public-audio-toggle {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: var(--gallery-button-text, #fff);
    background: var(--gallery-button, var(--gallery-accent));
    box-shadow: 0 10px 22px color-mix(in srgb, var(--gallery-button, #b89a3d) 22%, transparent);
    font-size: .95rem;
    line-height: 1;
}

.public-guestbook-audio.is-playing .public-audio-toggle {
    transform: scale(.98);
}

.public-audio-body {
    display: grid;
    min-width: 0;
    gap: .38rem;
}

.public-audio-body strong {
    display: block;
    color: color-mix(in srgb, var(--gallery-heading, #2a2028) 80%, var(--gallery-button, #b89a3d));
    font: 900 .78rem/1.1 var(--gallery-body-font, Arial, sans-serif);
}

.public-audio-track {
    position: relative;
    overflow: hidden;
    height: 6px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--gallery-button, #b89a3d) 14%, rgba(36,27,42,.10));
}

.public-audio-track span {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0%;
    border-radius: inherit;
    background: var(--gallery-button, var(--gallery-accent));
    transition: width .16s linear;
}

.public-audio-time {
    color: var(--gallery-muted, #766a71);
    font: 900 .72rem/1 var(--gallery-body-font, Arial, sans-serif);
    min-width: 2.35rem;
    text-align: right;
}

.public-guestbook-audio audio {
    display: none !important;
}


/* Audio de firmas: preview y reproductor siempre visibles cuando hay fuente */
.interaction-audio audio:not([hidden]),
.interaction-audio audio[src] {
    display: block !important;
    width: 100% !important;
    min-height: 36px !important;
    opacity: 1 !important;
}
.public-guestbook-audio audio[data-audio-source] {
    display: none !important;
}

.interaction-audio.has-audio audio {
    margin-top: .15rem !important;
}


/* Audio minimalista en firmas públicas */
.public-guestbook-audio {
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    gap: .7rem !important;
    padding: .72rem .78rem !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.78) !important;
    border: 1px solid color-mix(in srgb, var(--gallery-button, #b89a3d) 14%, rgba(36,27,42,.08)) !important;
    box-shadow: 0 10px 24px rgba(43,36,28,.055), inset 0 1px 0 rgba(255,255,255,.72) !important;
}

.public-audio-toggle {
    position: relative !important;
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: var(--gallery-button-text, #fff) !important;
    background: var(--gallery-button, var(--gallery-accent)) !important;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--gallery-button, #b89a3d) 18%, transparent) !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

.public-audio-toggle .audio-icon {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
}

.public-audio-toggle .audio-icon-pause {
    display: none !important;
}

.public-guestbook-audio.is-playing .public-audio-toggle .audio-icon-play {
    display: none !important;
}

.public-guestbook-audio.is-playing .public-audio-toggle .audio-icon-pause {
    display: block !important;
}

.public-audio-body strong {
    color: color-mix(in srgb, var(--gallery-heading, #2a2028) 74%, var(--gallery-button, #b89a3d)) !important;
    font-size: .8rem !important;
}

.public-audio-track {
    height: 5px !important;
    background: color-mix(in srgb, var(--gallery-button, #b89a3d) 12%, rgba(36,27,42,.11)) !important;
}

.public-audio-time {
    color: color-mix(in srgb, var(--gallery-heading, #2a2028) 58%, var(--gallery-muted, #766a71)) !important;
    font-size: .72rem !important;
}


/* Eliminación propia de firmas */
.public-guestbook-card-top {
    position: relative;
}

.public-guestbook-delete {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-grid;
    place-items: center;
    width: 2.15rem;
    height: 2.15rem;
    color: color-mix(in srgb, var(--gallery-button, #b79a42) 68%, #2b2430 32%);
    background: color-mix(in srgb, var(--gallery-button, #b79a42) 10%, #fff 90%);
    border: 1px solid color-mix(in srgb, var(--gallery-button, #b79a42) 18%, transparent);
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(0,0,0,.07);
    cursor: pointer;
    transition: transform .18s ease, opacity .18s ease, background .18s ease;
}

.public-guestbook-delete svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}

.public-guestbook-delete:hover {
    transform: translateY(-1px);
    background: color-mix(in srgb, var(--gallery-button, #b79a42) 16%, #fff 84%);
}

.public-guestbook-delete.is-busy,
.public-guestbook-delete:disabled {
    opacity: .55;
    cursor: progress;
}

.public-guestbook-card[data-signature-card] {
    transition: opacity .18s ease, transform .18s ease;
}

@media (max-width: 640px) {
    .public-guestbook-delete {
        width: 2rem;
        height: 2rem;
    }
}


/* Gallery filter safety fix v2 */
[data-gallery-signatures-panel][hidden] {
    display: none !important;
}
body.is-viewing-signatures [data-gallery-signatures-panel] {
    display: block !important;
}
body.is-viewing-signatures [data-gallery-media-panel] {
    display: none !important;
}

/* --- Fix destacado sin romper grid 2026-06-29 ---
   Destacar/fijar solo cambia el orden y muestra una estrella discreta.
   No debe agrandar la tarjeta ni crear huecos en la galería. */
body.gallery-experience .compact-memory-grid .memory-item.featured,
body.gallery-experience .compact-memory-grid .memory-item.featured:first-child,
body.gallery-experience .compact-memory-grid .memory-item.featured:nth-child(n),
body.gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item.featured,
body.gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item.featured:first-child,
body.gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item.featured:nth-child(n),
body.gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item.featured:nth-child(7n + 1),
body.gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item.featured:nth-child(7n + 5) {
    grid-column: auto !important;
    grid-row: auto !important;
    width: auto !important;
    min-width: 0 !important;
    transform: none !important;
}

body.gallery-experience .compact-memory-grid .memory-item.featured .memory-media,
body.gallery-experience .compact-memory-grid .memory-item.featured:first-child .memory-media,
body.gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item.featured .memory-media,
body.gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item.featured:first-child .memory-media,
body.gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item.featured:nth-child(7n + 1) .memory-media,
body.gallery-experience.gallery-layout-editorial .compact-memory-grid .memory-item.featured:nth-child(7n + 5) .memory-media {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
}

body.gallery-experience .compact-memory-grid .memory-item.featured .memory-media img,
body.gallery-experience .compact-memory-grid .memory-item.featured .memory-media video,
body.gallery-experience .compact-memory-grid .memory-item.featured:first-child .memory-media img,
body.gallery-experience .compact-memory-grid .memory-item.featured:first-child .memory-media video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.gallery-experience .compact-memory-grid .featured-badge {
    top: .38rem !important;
    left: .38rem !important;
    right: auto !important;
    bottom: auto !important;
    width: 1.65rem !important;
    min-width: 1.65rem !important;
    height: 1.65rem !important;
    padding: 0 !important;
    color: #fff !important;
    background: color-mix(in srgb, var(--gallery-button, var(--event-primary, #5F3BF5)) 82%, rgba(22,17,28,.82)) !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 18px rgba(20,14,28,.18) !important;
    font-size: .75rem !important;
    line-height: 1 !important;
    display: inline-grid !important;
    place-items: center !important;
}


/* Override boomerang static poster clean */
.compact-memory-grid .memory-boomerang-button {
    background:
        radial-gradient(circle at 30% 18%, rgba(255,255,255,.62), rgba(255,255,255,0) 34%),
        linear-gradient(145deg, rgba(255,255,255,.92), rgba(247,238,235,.80)),
        var(--gallery-button, #e8c8c3) !important;
}
.compact-memory-grid .memory-boomerang-button::after {
    content: '' !important;
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.16));
    pointer-events: none;
}
.compact-memory-grid .memory-boomerang-button .memory-boomerang-static,
.compact-memory-grid .memory-boomerang-button .memory-video-thumb.memory-boomerang-static {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.compact-memory-grid .memory-boomerang-button .memory-video-play {
    z-index: 5 !important;
    opacity: 1 !important;
    width: clamp(28px, 7.4vw, 40px) !important;
    height: clamp(28px, 7.4vw, 40px) !important;
    background: rgba(0,0,0,.34) !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.18) !important;
}
.compact-memory-grid .memory-boomerang-button .memory-video-play::before {
    content: '∞' !important;
    display: block !important;
    color: #fff !important;
    font-size: clamp(1.05rem, 4.6vw, 1.45rem) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}
.compact-memory-grid .memory-boomerang-button .memory-video-play svg {
    display: none !important;
}



/* Boomerangs: portada estática en grilla, reproducción solo al abrir */
.compact-memory-grid .memory-boomerang-button .memory-video-thumb,
.compact-memory-grid .memory-boomerang-button .memory-boomerang-static-thumb {
    opacity: 1 !important;
}

.compact-memory-grid .memory-boomerang-button .memory-video-play,
.compact-memory-grid .memory-boomerang-button .memory-boomerang-icon {
    width: clamp(30px, 8vw, 42px) !important;
    height: clamp(30px, 8vw, 42px) !important;
}

.compact-memory-grid .memory-boomerang-button .memory-video-play svg,
.compact-memory-grid .memory-boomerang-button .memory-boomerang-icon svg {
    display: none !important;
}

.compact-memory-grid .memory-boomerang-button .memory-video-play::before,
.compact-memory-grid .memory-boomerang-button .memory-boomerang-icon::before {
    content: '∞' !important;
    display: block !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.compact-memory-grid .boomerang-memory .memory-info::before,
.compact-memory-grid .boomerang-memory .memory-info::after {
    content: none !important;
}



/* Firma premium Postealo al final de la galería */
.gallery-postealo-signature {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: clamp(3.5rem, 8vw, 6rem) auto clamp(2.5rem, 7vw, 5rem);
    padding: 0 1rem;
}

.gallery-postealo-signature a {
    display: inline-grid;
    place-items: center;
    gap: .48rem;
    min-width: min(100%, 280px);
    padding: 1.05rem 1.3rem;
    color: color-mix(in srgb, var(--gallery-text, #201735) 62%, transparent);
    background:
        radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--gallery-button, #b79a42) 10%, transparent), transparent 60%),
        color-mix(in srgb, var(--gallery-surface, #fff) 84%, transparent);
    border: 1px solid color-mix(in srgb, var(--gallery-button, #b79a42) 18%, transparent);
    border-radius: 999px;
    box-shadow: 0 18px 45px rgba(43, 29, 51, .07);
    text-align: center;
    text-decoration: none;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.gallery-postealo-signature span {
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
    opacity: .74;
}

.gallery-postealo-signature img {
    display: block;
    width: auto;
    height: 26px;
    max-width: 138px;
    object-fit: contain;
}

.gallery-postealo-signature small {
    color: color-mix(in srgb, var(--gallery-muted, #6f6680) 88%, transparent);
    font-size: .78rem;
    font-weight: 750;
}

.gallery-postealo-signature a:active {
    transform: scale(.985);
}

@media (max-width: 760px) {
    .gallery-postealo-signature {
        margin: 3.2rem auto calc(5.8rem + env(safe-area-inset-bottom));
        padding: 0 1.1rem;
    }

    .gallery-postealo-signature a {
        min-width: 0;
        width: min(100%, 270px);
        padding: .95rem 1.05rem;
    }

    .gallery-postealo-signature img {
        height: 24px;
        max-width: 128px;
    }

    .gallery-postealo-signature small {
        font-size: .74rem;
    }
}



/* Ajuste de aire inferior del sello Postealo */
.gallery-postealo-signature {
    margin-bottom: clamp(1.2rem, 3.5vw, 2.4rem) !important;
}

.gallery-experience .gallery-main-premium.compact-gallery-main {
    padding-bottom: calc(2.6rem + env(safe-area-inset-bottom)) !important;
}

@media (max-width: 760px) {
    .gallery-postealo-signature {
        margin-top: 2.6rem !important;
        margin-bottom: calc(1.35rem + env(safe-area-inset-bottom)) !important;
    }

    .gallery-experience .gallery-main-premium.compact-gallery-main {
        padding-bottom: calc(2.2rem + env(safe-area-inset-bottom)) !important;
    }
}



/* Ajuste Chrome iOS para sello Postealo */
@media (max-width: 760px) {
    .gallery-experience.is-chrome-ios .gallery-postealo-signature {
        margin-top: 2.35rem !important;
        margin-bottom: calc(.35rem + env(safe-area-inset-bottom)) !important;
    }

    .gallery-experience.is-chrome-ios .gallery-main-premium.compact-gallery-main {
        padding-bottom: calc(.8rem + env(safe-area-inset-bottom)) !important;
    }
}
