/* =========================================================
   GALLERY BASE
========================================================= */

:root {
    --gallery-bg: #f7f7f8;
    --gallery-surface: #ffffff;
    --gallery-text: #202124;
    --gallery-muted: #6f7278;
    --gallery-border: #e1e3e6;
    --gallery-accent: #6c4ea1;
    --gallery-accent-dark: #51377f;
    --gallery-header: #282828;

    --gallery-radius-small: 8px;
    --gallery-radius-medium: 12px;
    --gallery-radius-large: 18px;

    --gallery-shadow:
        0 2px 8px rgba(0, 0, 0, 0.06),
        0 8px 26px rgba(0, 0, 0, 0.05);
}

body.lightbox-open {
    overflow: hidden;
}

#gallery-content-wrapper {
    width: 100%;
}

/* =========================================================
   PAGE CONTENT
========================================================= */

/*
 * Evita acumular espacio entre la barra de navegación
 * y el banner en la página de fotografías.
 */
.gallery-page {
    padding-top: 0;
}

.gallery-page > .wp-content-container:first-child {
    padding-top: 12px;
}

.gallery-page > .wp-content-container:first-child .wp-hero {
    margin-top: 0;
}

/* =========================================================
   PROGRESS BAR
========================================================= */

.progress-bar-container {
    width: 100%;
    height: 4px;
    margin: 20px 0;

    overflow: hidden;

    background: #e5e5e5;
    border-radius: 999px;
}

.progress-bar {
    width: 36%;
    height: 100%;

    background: var(--gallery-accent);
    border-radius: inherit;

    animation: gallery-progress 1.2s ease-in-out infinite alternate;
}

@keyframes gallery-progress {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(230%);
    }
}

/* =========================================================
   GALLERY LAYOUT
========================================================= */

.gallery-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.gallery-sidebar {
    position: sticky;
    top: 88px;
    padding: 16px;
    background: var(--gallery-surface);
    border: 1px solid var(--gallery-border);
    border-radius: var(--gallery-radius-medium);
    box-shadow: var(--gallery-shadow);
}

.gallery-sidebar-header {
    margin-bottom: 14px;
}

.gallery-sidebar-header h2 {
    margin: 0;
    color: var(--gallery-text);
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
}

.gallery-date-navigation {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gallery-year-group {
    overflow: hidden;
    border: 1px solid var(--gallery-border);
    border-radius: var(--gallery-radius-small);
    background: #fff;
}

.gallery-year-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 11px 12px;
    color: var(--gallery-text);
    background: #f7f7f8;
    border: 0;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    text-align: left;
}

.gallery-year-button:hover {
    background: #f0f0f2;
}

.gallery-year-icon {
    color: var(--gallery-muted);
    font-size: 14px;
}

.gallery-year-months {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 7px;
}

.gallery-year-group.is-collapsed .gallery-year-months {
    display: none;
}

.gallery-date-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 9px 10px;
    color: var(--gallery-muted);
    background: transparent;
    border: 0;
    border-radius: 7px;
    font-size: 14px;
    line-height: 1.2;
    text-align: left;
    transition:
        color 0.16s ease,
        background-color 0.16s ease;
}

.gallery-date-button:hover {
    color: var(--gallery-text);
    background: #f3f3f5;
}

.gallery-date-button.active {
    color: #fff;
    background: var(--gallery-header);
}

.gallery-date-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gallery-date-count {
    min-width: 28px;
    padding: 2px 7px;
    color: inherit;
    background: rgba(255,255,255,.14);
    border-radius: 999px;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 700;
    text-align: center;
}

.gallery-date-button:not(.active) .gallery-date-count {
    color: var(--gallery-muted);
    background: #ececef;
}

.gallery-main {
    min-width: 0;
}

.gallery-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
    padding: 16px 20px;
    background: var(--gallery-surface);
    border: 1px solid var(--gallery-border);
    border-radius: var(--gallery-radius-medium);
    box-shadow: var(--gallery-shadow);
}

.gallery-toolbar-heading {
    min-width: 0;
}

.gallery-toolbar-heading h2 {
    margin: 0 0 5px;
    color: var(--gallery-text);
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
}

.gallery-toolbar-heading p {
    margin: 0;
    color: var(--gallery-muted);
    font-size: 14px;
}

.gallery-order-control {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 250px;
    min-width: 220px;
    margin: 0;
    color: var(--gallery-muted);
    font-size: 12px;
    font-weight: 600;
}

.gallery-order-control select {
    width: 100%;
    min-height: 40px;
    padding: 8px 34px 8px 11px;
    color: var(--gallery-text);
    background: var(--gallery-surface);
    border: 1px solid var(--gallery-border);
    border-radius: var(--gallery-radius-small);
    cursor: pointer;
}

/* =========================================================
   MONTH SECTIONS
========================================================= */

.month-section {
    scroll-margin-top: 100px;

    margin: 0 0 30px;
    padding: 0 0 28px;

    border-bottom: 1px solid var(--gallery-border);
}

.month-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.month-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    margin-bottom: 16px;
}

.month-heading-wrapper {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
}

.month-title {
    margin: 0;
    padding: 0;

    color: var(--gallery-text);
    font-size: 27px;
    line-height: 1.2;
    font-weight: 700;

    text-align: left;
    border: 0;
}

.month-photo-count {
    color: var(--gallery-muted);
    font-size: 14px;
    font-weight: 500;
}

.month-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;
    padding: 0;

    color: var(--gallery-text);
    font-size: 22px;
    line-height: 1;

    background: transparent;
    border: 1px solid transparent;
    border-radius: 50%;

    cursor: pointer;

    transition:
        background-color 0.16s ease,
        border-color 0.16s ease;
}

.month-toggle-btn:hover {
    background: #f1f1f3;
    border-color: var(--gallery-border);
}

.month-section.is-collapsed .gallery-grid {
    display: none;
}

/* =========================================================
   GALLERY GRID
========================================================= */

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.gallery-item {
    min-width: 0;
    overflow: hidden;

    background: var(--gallery-surface);
    border: 1px solid var(--gallery-border);
    border-radius: var(--gallery-radius-medium);

    box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.05),
        0 8px 22px rgba(0, 0, 0, 0.04);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gallery-item:hover {
    transform: translateY(-3px);

    box-shadow:
        0 5px 12px rgba(0, 0, 0, 0.08),
        0 14px 30px rgba(0, 0, 0, 0.07);
}

.gallery-image-wrapper {
    position: relative;

    width: 100%;
    aspect-ratio: 16 / 11;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #f5f5f6,
            #ebebed
        );
}

.gallery-image-wrapper img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: 0;

    cursor: zoom-in;

    transition:
        transform 0.35s ease,
        filter 0.25s ease;
}

.gallery-item:hover .gallery-image-wrapper img {
    transform: scale(1.035);
}

.gallery-image-wrapper img.private-image-error {
    display: none;
}

.gallery-item-footer {
    display: flex;
    align-items: center;

    min-height: 40px;
    padding: 8px 11px;

    background: #ffffff;
    border-top: 1px solid #eeeeef;
}

.gallery-item-date {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: #4f5359;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 500;
}

.gallery-item-date::before {
    content: none;
}

/* =========================================================
   IMAGE PLACEHOLDER
========================================================= */

.gallery-image-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;

    width: 100%;
    height: 100%;
    padding: 18px;

    color: #a1a4aa;
    text-align: center;
}

.gallery-placeholder-icon {
    font-size: 38px;
    line-height: 1;
    opacity: 0.7;
}

/* =========================================================
   EMPTY AND ERROR STATES
========================================================= */

.gallery-empty-message,
.gallery-error-message {
    margin: 30px 0;
    padding: 28px;

    color: var(--gallery-muted);
    text-align: center;

    background: var(--gallery-surface);
    border: 1px solid var(--gallery-border);
    border-radius: var(--gallery-radius-medium);
}

.gallery-error-message {
    color: #a52828;
}

/* =========================================================
   LIGHTBOX
========================================================= */

.lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;

    display: none;
    align-items: center;
    justify-content: center;

    width: 100vw;
    height: 100vh;
    padding: 34px;

    overflow: hidden;

    background: rgba(8, 8, 10, 0.94);

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.lightbox-content {
    position: static;

    display: block;

    width: auto;
    max-width: min(92vw, 1500px);
    height: auto;
    max-height: 88vh;
    margin: 0;

    object-fit: contain;

    border-radius: 8px;

    transform: none;

    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.55);
}

.close-lightbox {
    position: fixed;
    top: 18px;
    right: 24px;
    z-index: 10001;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    color: #ffffff;
    font-size: 36px;
    line-height: 1;
    font-weight: 300;

    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;

    cursor: pointer;

    transition:
        background-color 0.18s ease,
        transform 0.18s ease;
}

.close-lightbox:hover,
.close-lightbox:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.16);
    transform: scale(1.05);
}

/* =========================================================
   BACK TO TOP
========================================================= */

.gallery-back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 300;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;
    padding: 0;

    color: var(--gallery-accent-dark);

    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--gallery-border);
    border-radius: 50%;

    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.12);

    cursor: pointer;

    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.gallery-back-to-top span {
    font-size: 19px;
    line-height: 1;
}

.gallery-back-to-top small {
    margin-top: 1px;
    font-size: 9px;
    line-height: 1;
}

.gallery-back-to-top:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1250px) {
    .gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1000px) {
    .content {
        width: min(100% - 28px, 1500px);
    }

    .gallery-layout {
        grid-template-columns: 210px minmax(0, 1fr);
        gap: 18px;
    }

    .gallery-sidebar {
        top: 76px;
        padding: 16px;
    }

    .gallery-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .gallery-order-control {
        width: min(100%, 320px);
        min-width: 0;
    }

    .gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }
}

@media (max-width: 760px) {
    .content {
        width: min(100% - 20px, 1500px);
        padding-top: 14px;
    }

    .gallery-layout {
        grid-template-columns: 1fr;
    }

    .gallery-sidebar {
        position: static;
    }

    .gallery-year-months {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gallery-toolbar {
        padding: 18px;
    }

    .month-section {
        margin-bottom: 34px;
        padding-bottom: 28px;
    }

    .month-title {
        font-size: 23px;
    }

    .gallery-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
        gap: 12px;
    }

    .gallery-item-footer {
        padding: 9px 10px;
    }

    .gallery-item-date {
        font-size: 12px;
    }

    .lightbox {
        padding: 18px;
    }

    .gallery-back-to-top {
        right: 14px;
        bottom: 14px;
    }
}

@media (max-width: 460px) {
    .gallery-year-months,
    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .gallery-order-control {
        width: 100%;
        min-width: 0;
    }
}

/* =========================================================
   ACCESSIBILITY
========================================================= */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
/* =========================================================
   FOTOGRAFIAS PREMIUM v6.0
========================================================= */
:root{--photo-navy:#0c2e4c;--photo-blue:#174f79;--photo-gold:#b88a3b;--photo-green:#2f7d62;--photo-bg:#f6f3ed}
.gallery-page{background:var(--photo-bg)}
.gallery-page .content{width:min(100% - 48px,1280px);margin:0 auto;padding:34px 0 64px}
.gallery-premium-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.72fr);gap:28px;margin-bottom:18px;padding:34px;background:radial-gradient(circle at 8% 8%,rgba(184,138,59,.13),transparent 28%),linear-gradient(135deg,#fff 0%,#fbfcfd 58%,#eef5f9 100%);border:1px solid #dfe5e9;border-radius:22px;box-shadow:0 18px 44px rgba(24,48,68,.075)}
.gallery-premium-copy{display:flex;flex-direction:column;justify-content:center;min-height:245px;padding:6px 12px 6px 4px}
.gallery-eyebrow{margin:0 0 8px;color:var(--photo-gold);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.gallery-premium-copy h1{margin:0;color:var(--photo-navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,5vw,4.6rem);line-height:.98;letter-spacing:-.045em}
.gallery-premium-copy>p:not(.gallery-eyebrow){max-width:700px;margin:20px 0 0;color:#6d7a85;font-size:1.02rem;line-height:1.72}
.gallery-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.gallery-primary-action,.gallery-secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border-radius:10px;font-size:.84rem;font-weight:800;transition:.16s ease}.gallery-primary-action{color:#fff;background:var(--photo-blue);border:0;box-shadow:0 10px 22px rgba(18,63,103,.18)}.gallery-secondary-action{color:var(--photo-navy);background:#fff;border:1px solid #dfe5e9}.gallery-primary-action:hover,.gallery-secondary-action:hover{transform:translateY(-2px)}
.gallery-hero-summary{display:flex;flex-direction:column;padding:22px;color:#fff;background:linear-gradient(160deg,rgba(255,255,255,.07),transparent 42%),linear-gradient(145deg,var(--photo-navy),var(--photo-blue));border-radius:18px;box-shadow:0 18px 42px rgba(12,46,76,.24)}
.gallery-hero-summary .gallery-eyebrow{color:#e0bd78}.gallery-hero-summary-heading{display:flex;justify-content:space-between;gap:14px}.gallery-hero-summary h2{margin:2px 0 0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.45rem}.gallery-live-status{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:7px 10px;color:#e7faef;background:rgba(63,180,119,.15);border:1px solid rgba(126,222,169,.26);border-radius:999px;font-size:.72rem;font-weight:800}.gallery-live-status span{width:7px;height:7px;border-radius:50%;background:#76dfa7;box-shadow:0 0 0 4px rgba(118,223,167,.12)}
.gallery-hero-primary-stat{margin:26px 0 18px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.gallery-hero-primary-stat strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,5vw,4.4rem);line-height:.86}.gallery-hero-primary-stat span{display:block;margin-top:10px;color:rgba(255,255,255,.72);font-size:.8rem;font-weight:700}.gallery-hero-facts{margin:0}.gallery-hero-facts>div{display:grid;grid-template-columns:1fr auto;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.09)}.gallery-hero-facts>div:last-child{border-bottom:0}.gallery-hero-facts dt{color:rgba(255,255,255,.64);font-size:.74rem}.gallery-hero-facts dd{margin:0;font-size:.76rem;font-weight:800;text-align:right}
.gallery-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.gallery-kpis article{position:relative;min-height:136px;padding:20px;overflow:hidden;background:#fff;border:1px solid #dfe5e9;border-radius:16px;box-shadow:0 10px 30px rgba(24,48,68,.055)}.gallery-kpis article:after{content:"";position:absolute;right:-24px;bottom:-34px;width:96px;height:96px;border-radius:50%;background:#edf3f7}.gallery-kpis article>*{position:relative;z-index:1;display:block}.gallery-kpi-icon{display:flex!important;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:14px;color:var(--photo-blue);background:#eaf1f7;border-radius:11px}.gallery-kpis strong{color:var(--photo-navy);font-size:1.9rem;line-height:1}.gallery-kpis article>span:nth-of-type(2){margin-top:5px;color:#526170;font-size:.82rem;font-weight:750}.gallery-kpis small{margin-top:9px;color:#98a4ad;font-size:.68rem;font-weight:700}
.gallery-layout{grid-template-columns:230px minmax(0,1fr)}.gallery-sidebar,.gallery-toolbar,.gallery-item{border-color:#dfe5e9;box-shadow:0 10px 30px rgba(24,48,68,.05)}.gallery-sidebar{top:88px;border-radius:16px}.gallery-year-button{color:var(--photo-navy);background:#f4f7f9}.gallery-date-button.active{background:var(--photo-navy)}
.gallery-toolbar-premium{align-items:flex-end}.gallery-toolbar-controls{display:flex;align-items:flex-end;gap:12px}.gallery-search-control,.gallery-order-control{display:flex;flex-direction:column;gap:6px;color:#6d7a85;font-size:12px;font-weight:700}.gallery-search-control{width:min(320px,34vw)}.gallery-search-control input{min-height:40px;padding:8px 12px;border:1px solid #dfe5e9;border-radius:8px;background:#fff;color:#202124}.gallery-search-control input:focus,.gallery-order-control select:focus{outline:2px solid rgba(23,79,121,.18);border-color:#7ea2bd}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-item{border-radius:15px}.gallery-image-wrapper{aspect-ratio:4/3}.gallery-item-footer{display:grid;gap:3px;min-height:62px;padding:11px 13px}.gallery-item-date{font-weight:750;color:#334453}.gallery-item-location{color:#7b8791;font-size:.7rem}.gallery-item:hover{transform:translateY(-4px)}
.lightbox{padding:26px;background:rgba(6,18,30,.96)}.lightbox-stage{display:grid;grid-template-columns:minmax(0,1fr) 280px;width:min(92vw,1500px);max-height:88vh;overflow:hidden;background:#0b1722;border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.6)}.lightbox-content{width:100%;max-width:none;height:100%;max-height:88vh;min-height:420px;object-fit:contain;border-radius:0;box-shadow:none}.lightbox-details{padding:24px;color:#fff;background:#102a3e;overflow:auto}.lightbox-details h2{margin:4px 0 24px;font-family:Georgia,"Times New Roman",serif}.lightbox-details dl{margin:0}.lightbox-details dl>div{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.lightbox-details dt{color:rgba(255,255,255,.58);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.lightbox-details dd{margin:6px 0 0;font-size:.84rem;font-weight:750}.lightbox-nav{position:fixed;top:50%;z-index:10001;width:48px;height:48px;margin-top:-24px;color:#fff;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);border-radius:50%;font-size:34px;cursor:pointer}.lightbox-prev{left:18px}.lightbox-next{right:18px}.lightbox-nav:hover{background:rgba(255,255,255,.18)}
.gallery-back-to-top{opacity:0;pointer-events:none;transform:translateY(10px)}.gallery-back-to-top.is-visible{opacity:1;pointer-events:auto;transform:none}
@media(max-width:1100px){.gallery-premium-hero{grid-template-columns:1fr}.gallery-premium-copy{min-height:auto}.gallery-kpis{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-toolbar-controls{width:100%}.gallery-search-control{width:100%}.lightbox-stage{grid-template-columns:1fr}.lightbox-details{display:none}}
@media(max-width:760px){.gallery-page .content{width:min(100% - 24px,1280px)}.gallery-premium-hero{padding:22px}.gallery-kpis{grid-template-columns:1fr}.gallery-toolbar-controls{flex-direction:column;align-items:stretch}.gallery-search-control,.gallery-order-control{width:100%}.gallery-grid{grid-template-columns:1fr}.lightbox-nav{display:none}}
/* =========================================================
   DESIGN SYSTEM v2 MIGRATION — PHOTOS v6.1
========================================================= */

.gallery-page.mtv-page {
    background: var(--mtv-color-bg);
}

.gallery-page .mtv-content {
    width: min(100% - 48px, var(--mtv-content-max));
    margin-inline: auto;
    padding-block: 30px 60px;
}

.gallery-hero-premium.mtv-card {
    border-color: var(--mtv-color-border);
    border-radius: var(--mtv-radius-xl);
    box-shadow: var(--mtv-shadow-lg);
}

.gallery-eyebrow.mtv-eyebrow {
    color: var(--mtv-color-gold-500);
}

.gallery-metrics.mtv-grid {
    gap: 14px;
}

.gallery-metric.mtv-metric {
    min-height: 126px;
    border-color: var(--mtv-color-border);
    border-radius: var(--mtv-radius-lg);
    box-shadow: var(--mtv-shadow-sm);
}

.gallery-sidebar.mtv-panel,
.gallery-toolbar.mtv-panel {
    border-color: var(--mtv-color-border);
    border-radius: var(--mtv-radius-lg);
    box-shadow: var(--mtv-shadow-sm);
}

.gallery-item.mtv-card {
    padding: 0;
    overflow: hidden;
    border-color: var(--mtv-color-border);
    border-radius: var(--mtv-radius-md);
}

.gallery-item.mtv-card:hover {
    border-color: var(--mtv-color-border-strong);
}

.gallery-date-button.active {
    background: var(--mtv-color-navy-950);
}

.gallery-year-button,
.gallery-date-button,
.gallery-order-control select,
.gallery-search-control input {
    font-family: var(--mtv-font-sans);
}

.gallery-order-control select,
.gallery-search-control input {
    border-color: var(--mtv-color-border-strong);
    border-radius: var(--mtv-radius-sm);
}

.gallery-item-footer {
    border-color: var(--mtv-color-border);
}

.gallery-empty-message.mtv-empty,
.gallery-error-message.mtv-empty {
    color: var(--mtv-color-text-muted);
    background: var(--mtv-color-surface-soft);
    border-color: var(--mtv-color-border-strong);
}

.gallery-back-to-top {
    color: var(--mtv-color-navy-900);
    border-color: var(--mtv-color-border);
    box-shadow: var(--mtv-shadow-sm);
}

@media (max-width: 700px) {
    .gallery-page .mtv-content {
        width: min(100% - 24px, var(--mtv-content-max));
    }
}
