/* =========================================================
   Tailwind local seguro - sem preflight/global reset
   Mantém o layout legado e oferece utilitários para novas views.
   ========================================================= */
:root{--assista-primary:#af2846;--assista-orange:#fd5a13;--assista-yellow:#ff9826;--assista-dark:#31213c;--assista-soft:#ff982626;}
.fixed{position:fixed}.top-0{top:0}.z-50{z-index:50}.w-full{width:100%}.w-auto{width:auto}.h-12{height:3rem}.h-24{height:6rem}.h-80{height:20rem}.h-full{height:100%}.min-h-screen{min-height:100vh}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.max-w-\[160px\]{max-width:160px}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mb-10{margin-bottom:2.5rem}.mb-20{margin-bottom:5rem}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.grid{display:grid}.flex-col{flex-direction:column}.flex-1{flex:1 1 0%}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-7{gap:1.75rem}.overflow-hidden{overflow:hidden}.relative{position:relative}.absolute{position:absolute}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.rounded-\[1\.75rem\]{border-radius:1.75rem}.border{border-width:1px;border-style:solid}.border-white\/30{border-color:rgba(255,255,255,.3)}.border-\[\#fd5a13\]\/25{border-color:rgba(253,90,19,.25)}.bg-white{background:#fff}.bg-slate-100{background:#f1f5f9}.bg-\[\#ff982626\]{background:#ff982626}.bg-\[\#af2846\]{background:#af2846}.bg-\[\#fff7ef\]{background:#fff7ef}.bg-\[\#af2846\]\/10{background:rgba(175,40,70,.1)}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-black\/45{--tw-gradient-from:rgba(0,0,0,.45);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(0,0,0,0))}.to-transparent{--tw-gradient-to:transparent}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pt-4{padding-top:1rem}.pt-28{padding-top:7rem}.pb-12{padding-bottom:3rem}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-sans{font-family:Montserrat,ui-sans-serif,system-ui,sans-serif}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.025em}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-snug{line-height:1.375}.text-white{color:#fff}.text-slate-600{color:#475569}.text-slate-800{color:#1e293b}.text-\[\#31213c\]{color:#31213c}.text-\[\#af2846\]{color:#af2846}.text-\[\#fd5a13\]{color:#fd5a13}.shadow{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(15,23,42,.1),0 8px 10px -6px rgba(15,23,42,.1)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.shadow-slate-900\/10{box-shadow:0 20px 25px -5px rgba(15,23,42,.10),0 8px 10px -6px rgba(15,23,42,.10)}.ring-1{box-shadow:0 0 0 1px rgba(0,0,0,.05),var(--tw-ring-shadow,0 0 #0000)}.ring-black\/5{--tw-ring-color:rgba(0,0,0,.05)}.object-cover{object-fit:cover}.object-contain{object-fit:contain}.object-top{object-position:top}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.no-underline{text-decoration:none}.opacity-70{opacity:.7}.cursor-not-allowed{cursor:not-allowed}.hover\:-translate-y-0\.5:hover{transform:translateY(-.125rem)}.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}.hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.hover\:bg-\[\#8d1f39\]:hover{background:#8d1f39}.hover\:bg-\[\#fd5a13\]:hover{background:#fd5a13}.hover\:text-white:hover{color:#fff}.hover\:text-\[\#fd5a13\]:hover{color:#fd5a13}.group:hover .group-hover\:scale-105{transform:scale(1.05)}
@media (min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}
@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-auto{width:auto}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:pt-0{padding-top:0}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Compatibilidade para classes Bootstrap mais usadas quando o CDN falhar */
.d-flex{display:flex!important}.justify-content-center{justify-content:center!important}.justify-content-around{justify-content:space-around!important}.justify-content-between{justify-content:space-between!important}.align-items-center{align-items:center!important}.text-white{color:#fff!important}.btn{display:inline-block;font-weight:600;text-align:center;vertical-align:middle;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.collapse:not(.show){display:none}.collapse.show{display:block}

/* Navbar Tailwind */
.site-navbar {
   min-height: 72px;
   background: rgba(49, 33, 60, .45);
   backdrop-filter: blur(14px)
}

.site-navbar.color-nav,
.site-navbar.backg-menu-in {
   background: rgba(175, 40, 70, .96)
}

.site-navbar>div {
   min-height: 48px;
   padding-top: 0 !important;
   padding-bottom: 0 !important;
   display: flex;
   align-items: center;
   /* background-color: #d88120; */
}

.site-logo-navbar {
   width: auto !important;
   height: 40px !important;
   max-width: 160px !important;
   object-fit: contain !important;
   display: block;
}

.site-menu {
   align-items: center;
}

.site-nav-link,
.site-icon-link {
   display: inline-flex;
   align-items: center;
}

.site-navbar.backg-menu-out {
   background: rgba(237, 130, 51, 1);
}
.site-navbar.backg-menu-out>div {
   /* background: rgba(216, 129, 32, 1); */
   min-height: 72px;
}

.site-nav-link {
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 9999px;
   padding: .55rem .9rem;
   color: #fff !important;
   font-size: .93rem;
   font-weight: 500;
   transition: .2s;
   text-decoration: none !important;
   letter-spacing: 1px;
}

.site-nav-link:hover,
.site-nav-link.is-active,
#selected {
   background: rgba(255, 255, 255, .18);
   color: #fff !important
}

.site-icon-link {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 2.5rem;
   height: 2.5rem;
   border-radius: 9999px;
   color: #fff !important;
   font-size: 1.45rem;
   transition: .2s;
   text-decoration: none !important
}

.site-icon-link:hover {
   background: rgba(255, 255, 255, .18);
   color: #ff9826 !important
}

.site-menu:not(.hidden) {
   display: flex
}

.site-navbar img {
   display: block;
   max-width: 100%;
   height: auto
}


/* Cards profissionais */
.module .collapse.profissional-collapse,.module .collapsing.profissional-collapse{height:6.25rem;display:block!important;overflow:hidden;text-align:justify;hyphens:auto}.module .collapse.profissional-collapse.show{height:auto}.module button .when-open{display:none}.module button:not(.collapsed) .when-collapsed{display:none}.module button:not(.collapsed) .when-open{display:inline}.module button.collapsed .when-collapsed{display:inline}.module button.collapsed .when-open{display:none}.cllpp{font-size:.875rem;line-height:1.6}.collapsing.profissional-collapse{transition:height .35s ease}

/* Estado vazio da página profissionais quando o carregamento vem somente do banco */
.profissionais-empty-state {
    max-width: 760px;
    margin: 0 auto 2rem;
    padding: 1.25rem 1.5rem;
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    text-align: center;
    color: #334155;
}

.profissionais-empty-state strong {
    display: block;
    margin-bottom: 0.35rem;
    color: #9f1239;
    font-size: 1.05rem;
}

.profissionais-empty-state span {
    display: block;
    font-size: 0.95rem;
}

/* =========================================================
   Página Profissionais - card maior no modelo do print
   ========================================================= */
.profissionais-main {
    padding-top: 7rem;
    padding-bottom: 3rem;
    background: #ff982626;
}

.profissionais-section {
    width: min(100%, 1180px);
    margin: 0 auto;
    padding: 0 1.25rem;
}

.profissionais-heading {
    max-width: 760px;
    margin: 0 auto 2.25rem;
    text-align: center;
}

.profissionais-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .55rem 1.15rem;
    border-radius: 999px;
    background: rgba(175, 40, 70, .10);
    color: #af2846;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.profissionais-heading h1 {
    margin: 1rem 0 .6rem;
    color: #31213c;
    font-size: clamp(2rem, 4vw, 2.65rem);
    font-weight: 900;
    line-height: 1.08;
}

.profissionais-heading p {
    margin: 0 auto;
    color: #5f6470;
    font-size: 1rem;
    line-height: 1.65;
}

.profissionais-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
    align-items: stretch;
}

.profissional-card-ui {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    border-radius: 1.35rem;
    background: #fff;
    box-shadow: 0 14px 26px rgba(15, 23, 42, .18);
    transition: transform .25s ease, box-shadow .25s ease;
}

.profissional-card-ui:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 34px rgba(15, 23, 42, .22);
}

.profissional-card-photo {
    height: 440px;
    overflow: hidden;
    background: #f5eee6;
    border-radius: 1.3rem 1.3rem 0 0;
}

.profissional-card-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform .35s ease;
}

.profissional-card-ui:hover .profissional-card-photo img {
    transform: scale(1.025);
}

.profissional-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.2rem 1.2rem 1.1rem;
    text-align: center;
}

.profissional-card-title {
    margin: 0;
    color: #101820;
    font-size: 1.28rem;
    font-weight: 900;
    line-height: 1.2;
}

.profissional-card-role {
    margin: .35rem 0 1.25rem;
    color: #006b83;
    font-size: .86rem;
    font-weight: 800;
    line-height: 1.35;
}

.profissional-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
}

.module .collapse.profissional-collapse,
.module .collapsing.profissional-collapse {
    display: block !important;
    height: 5.85rem;
    overflow: hidden;
    text-align: justify;
    hyphens: auto;
}

.module .collapse.profissional-collapse.show {
    height: auto;
}

.profissional-card-content .cllpp {
    margin: 0;
    color: #111827;
    font-size: .9rem;
    line-height: 1.5;
    text-align: justify;
}

.profissional-link-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    margin-top: .75rem;
    color: #31213c;
    font-size: .88rem;
    font-weight: 700;
}

.profissional-link-row i {
    color: #af2846;
    font-size: 1rem;
}

.profissional-link-row a {
    color: inherit;
    text-decoration: none;
}

.profissional-link-row a:hover {
    color: #fd5a13;
}

.profissional-instagram i,
.profissional-instagram a:hover {
    color: #fd5a13;
}

.profissional-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 94%;
    min-height: 34px;
    margin: 1rem auto 0;
    padding: .35rem 1rem;
    border: 0;
    border-radius: 999px;
    background: #fffaf6;
    color: #fd5a13;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
    font-size: .86rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.profissional-toggle-btn:hover {
    background: #fd5a13;
    color: #fff;
    box-shadow: 0 10px 22px rgba(253, 90, 19, .24);
    transform: translateY(-1px);
}

.module button .when-open {
    display: none;
}

.module button:not(.collapsed) .when-collapsed {
    display: none;
}

.module button:not(.collapsed) .when-open {
    display: inline;
}

.module button.collapsed .when-collapsed {
    display: inline;
}

.module button.collapsed .when-open {
    display: none;
}

.profissionais-cta {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
}

.profissionais-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #af2846;
    padding: .95rem 2rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 25px rgba(175, 40, 70, .24);
    transition: transform .2s ease, background .2s ease;
}

.profissionais-cta a:hover {
    transform: translateY(-2px);
    background: #8d1f39;
    color: #fff;
    text-decoration: none;
}

@media (max-width: 1100px) {
    .profissionais-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 760px;
        margin: 0 auto;
    }

    .profissional-card-photo {
        height: 410px;
    }
}

@media (max-width: 720px) {
    .profissionais-main {
        padding-top: 6.25rem;
    }

    .profissionais-section {
        padding: 0 1rem;
    }

    .profissionais-grid {
        grid-template-columns: 1fr;
        max-width: 380px;
        gap: 1.25rem;
    }

    .profissional-card-photo {
        height: 385px;
    }

    .profissional-card-body {
        padding: 1.05rem 1rem 1rem;
    }
}

@media (max-width: 420px) {
    .profissional-card-photo {
        height: 340px;
    }

    .profissional-card-title {
        font-size: 1.15rem;
    }

    .profissional-toggle-btn {
        width: 96%;
    }
}

/* =========================================================
   Profissionais - collapse flutuante independente
   O conteúdo expandido passa a flutuar sobre a grade, sem alterar
   a altura dos outros cards da mesma linha.
   ========================================================= */
.profissionais-grid {
    align-items: start;
}

.profissional-card-ui {
    position: relative;
    overflow: visible;
    isolation: isolate;
    z-index: 1;
}

.profissional-card-ui.is-expanded {
    z-index: 80;
}

.profissional-card-content {
    position: relative;
    display: flex;
    flex: none;
    flex-direction: column;
    min-height: 9.7rem;
}

.profissional-preview-text {
    display: block;
    height: 5.85rem;
    overflow: hidden;
    text-align: justify;
    hyphens: auto;
}

.profissional-preview-text .cllpp {
    margin: 0;
    color: #111827;
    font-size: .9rem;
    line-height: 1.5;
    text-align: justify;
}

.profissional-toggle-btn::after,
.profissional-close-btn::after {
    content: none !important;
    display: none !important;
}

.profissional-card-ui.is-expanded .profissional-toggle-btn {
    opacity: 0;
    pointer-events: none;
}

.profissional-float-panel {
    position: absolute;
    top: -0.15rem;
    left: -0.25rem;
    right: -0.25rem;
    z-index: 90;
    display: flex;
    flex-direction: column;
    max-height: min(64vh, 520px);
    padding: 1rem .95rem .85rem;
    border-radius: 1rem 1rem 1.35rem 1.35rem;
    background: #fff;
    box-shadow: 0 22px 45px rgba(15, 23, 42, .22);
    text-align: justify;
}

.profissional-float-panel[hidden] {
    display: none !important;
}

.profissional-float-scroll {
    overflow-y: auto;
    padding-right: .35rem;
}

.profissional-float-scroll::-webkit-scrollbar {
    width: 6px;
}

.profissional-float-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(175, 40, 70, .28);
}

.profissional-float-panel .cllpp {
    margin: 0;
    color: #111827;
    font-size: .9rem;
    line-height: 1.5;
    text-align: justify;
}

.profissional-close-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 94%;
    min-height: 32px;
    margin: .85rem auto 0;
    padding: .32rem 1rem;
    border: 0;
    border-radius: 999px;
    background: #fffaf6;
    color: #af2846;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
    font-size: .86rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.profissional-close-btn:hover {
    background: #af2846;
    color: #fff;
    box-shadow: 0 10px 22px rgba(175, 40, 70, .24);
    transform: translateY(-1px);
}

@media (max-width: 720px) {
    .profissional-card-content {
        min-height: 9.2rem;
    }

    .profissional-float-panel {
        max-height: 58vh;
        left: -.1rem;
        right: -.1rem;
    }
}

/* =========================================================
   Galeria / Espaço Físico - visual moderno com lightbox
   ========================================================= */
.galeria-body {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 10% 8%, rgba(255, 152, 38, .18), transparent 28rem),
        linear-gradient(180deg, #fff7ed 0%, #fffaf5 46%, #fff 100%);
    color: #31213c;
    font-family: Montserrat, ui-sans-serif, system-ui, sans-serif;
}

.galeria-no-scroll {
    overflow: hidden;
}

.galeria-page {
    overflow: hidden;
}

.galeria-container {
    width: min(100% - 2rem, 1180px);
    margin: 0 auto;
}

.galeria-hero {
    position: relative;
    padding: 8.8rem 0 4.5rem;
    background:
        linear-gradient(135deg, rgba(49, 33, 60, .92), rgba(175, 40, 70, .82)),
        radial-gradient(circle at top right, rgba(255, 152, 38, .9), transparent 28rem);
    color: #fff;
}

.galeria-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 80px;
    background: linear-gradient(180deg, transparent, #fff7ed);
    pointer-events: none;
}

.galeria-hero-decor {
    position: absolute;
    width: 18rem;
    height: 18rem;
    border-radius: 999px;
    filter: blur(4px);
    opacity: .22;
    pointer-events: none;
}

.galeria-hero-decor-one {
    left: -6rem;
    top: 7rem;
    background: #ff9826;
}

.galeria-hero-decor-two {
    right: -4rem;
    top: 4rem;
    background: #fd5a13;
}

.galeria-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    gap: 3rem;
    align-items: center;
}

.galeria-eyebrow,
.galeria-section-heading span,
.galeria-cta-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: .48rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    color: #ffcd8a;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.galeria-hero-content h1 {
    max-width: 720px;
    margin: 1rem 0 1rem;
    color: #fff;
    font-size: clamp(2.35rem, 5vw, 4.25rem);
    font-weight: 900;
    line-height: 1.02;
}

.galeria-hero-content p {
    max-width: 620px;
    margin: 0;
    padding: 0;
    color: rgba(255, 255, 255, .84);
    font-size: 1.08rem;
    line-height: 1.75;
}

.galeria-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
    margin-top: 2rem;
}

.galeria-primary-btn,
.galeria-secondary-btn,
.galeria-cta-card a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 46px;
    padding: .8rem 1.2rem;
    border-radius: 999px;
    font-size: .95rem;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.galeria-primary-btn,
.galeria-cta-card a {
    background: linear-gradient(135deg, #ff9826, #fd5a13);
    color: #fff !important;
    box-shadow: 0 14px 28px rgba(253, 90, 19, .28);
}

.galeria-secondary-btn {
    border: 1px solid rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .08);
    color: #fff !important;
}

.galeria-primary-btn:hover,
.galeria-secondary-btn:hover,
.galeria-cta-card a:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(253, 90, 19, .34);
    color: #fff !important;
}

.galeria-featured-card {
    position: relative;
    display: block;
    min-height: 420px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 2rem;
    background: #fff;
    box-shadow: 0 24px 50px rgba(15, 23, 42, .30);
    cursor: pointer;
}

.galeria-featured-card img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    transition: transform .5s ease;
}

.galeria-featured-card:hover img {
    transform: scale(1.04);
}

.galeria-featured-label {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 145px;
    padding: .85rem 1rem;
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, .9);
    color: #31213c;
    text-align: left;
    box-shadow: 0 12px 25px rgba(15, 23, 42, .18);
    backdrop-filter: blur(10px);
}

.galeria-featured-label strong {
    font-size: 1rem;
    line-height: 1;
}

.galeria-featured-label small {
    color: #af2846;
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.galeria-highlights {
    position: relative;
    z-index: 2;
    margin-top: -1.85rem;
    padding-bottom: 2.5rem;
}

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

.galeria-highlight-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .9rem;
    align-items: start;
    min-height: 132px;
    padding: 1.15rem;
    border: 1px solid rgba(175, 40, 70, .08);
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 16px 32px rgba(15, 23, 42, .10);
    backdrop-filter: blur(12px);
}

.galeria-highlight-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 1rem;
    background: #fff2e1;
    color: #fd5a13;
    font-size: 1.15rem;
}

.galeria-highlight-card h2 {
    margin: 0 0 .35rem;
    color: #31213c;
    font-size: 1.05rem;
    font-weight: 900;
}

.galeria-highlight-card p {
    grid-column: 2;
    margin: 0;
    padding: 0;
    color: #59606d;
    font-size: .9rem;
    line-height: 1.55;
}

.galeria-showcase {
    padding: 2rem 0 3rem;
}

.galeria-section-heading {
    max-width: 760px;
    margin: 0 auto 1.8rem;
    text-align: center;
}

.galeria-section-heading span {
    background: rgba(175, 40, 70, .10);
    color: #af2846;
}

.galeria-section-heading h2 {
    margin: .9rem 0 .65rem;
    color: #31213c;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
    line-height: 1.08;
}

.galeria-section-heading p {
    max-width: 650px;
    margin: 0 auto;
    padding: 0;
    color: #646b78;
    font-size: 1rem;
    line-height: 1.65;
}

.galeria-filter-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .65rem;
    margin: 0 auto 1.6rem;
}

.galeria-filter-btn {
    min-height: 40px;
    padding: .55rem 1rem;
    border: 1px solid rgba(175, 40, 70, .14);
    border-radius: 999px;
    background: rgba(255, 255, 255, .78);
    color: #7a5060;
    font-size: .88rem;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.galeria-filter-btn:hover,
.galeria-filter-btn.is-active {
    transform: translateY(-1px);
    background: #af2846;
    color: #fff;
    box-shadow: 0 12px 22px rgba(175, 40, 70, .22);
}

.galeria-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: 1rem;
}

.galeria-card {
    position: relative;
    display: block;
    min-height: 260px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 1.35rem;
    background: #f8ead9;
    box-shadow: 0 14px 28px rgba(15, 23, 42, .14);
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease, opacity .2s ease;
}

.galeria-card-large {
    grid-column: span 2;
    grid-row: span 2;
    min-height: 536px;
}

.galeria-card.is-hidden {
    display: none;
}

.galeria-card img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: transform .45s ease, filter .45s ease;
}

.galeria-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, .68));
    opacity: .86;
    transition: opacity .25s ease;
}

.galeria-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 38px rgba(15, 23, 42, .20);
}

.galeria-card:hover img {
    transform: scale(1.045);
    filter: saturate(1.05);
}

.galeria-card:hover::after {
    opacity: 1;
}

.galeria-card-overlay {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .32rem;
    color: #fff;
    text-align: left;
}

.galeria-card-tag {
    display: inline-flex;
    width: fit-content;
    padding: .25rem .55rem;
    border-radius: 999px;
    background: rgba(255, 152, 38, .95);
    color: #fff;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.galeria-card-overlay strong {
    font-size: 1.02rem;
    font-weight: 900;
    line-height: 1.1;
}

.galeria-card-overlay small {
    color: rgba(255, 255, 255, .86);
    font-size: .78rem;
    line-height: 1.35;
}

.galeria-cta {
    padding: 1rem 0 4rem;
}

.galeria-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.5rem;
    border-radius: 1.7rem;
    background:
        linear-gradient(135deg, rgba(49, 33, 60, .96), rgba(175, 40, 70, .90)),
        radial-gradient(circle at right, rgba(255, 152, 38, .7), transparent 22rem);
    color: #fff;
    box-shadow: 0 20px 38px rgba(15, 23, 42, .18);
}

.galeria-cta-card span {
    background: rgba(255, 255, 255, .10);
}

.galeria-cta-card h2 {
    max-width: 720px;
    margin: .65rem 0 0;
    color: #fff;
    font-size: clamp(1.35rem, 3vw, 2.15rem);
    font-weight: 900;
    line-height: 1.14;
}

.galeria-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgba(12, 10, 18, .88);
    backdrop-filter: blur(12px);
}

.galeria-lightbox[hidden] {
    display: none !important;
}

.galeria-lightbox-frame {
    position: relative;
    width: min(100%, 1080px);
    margin: 0;
}

.galeria-lightbox-frame img {
    display: block;
    width: 100%;
    max-height: 78vh;
    object-fit: contain;
    border-radius: 1.35rem;
    box-shadow: 0 28px 60px rgba(0, 0, 0, .42);
}

.galeria-lightbox-frame figcaption {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem 1rem;
    margin-top: .85rem;
    color: #fff;
}

.galeria-lightbox-frame strong {
    font-size: 1.05rem;
    font-weight: 900;
}

.galeria-lightbox-frame span {
    flex: 1 1 360px;
    color: rgba(255, 255, 255, .76);
    font-size: .9rem;
}

.galeria-lightbox-frame small {
    color: #ffcd8a;
    font-size: .86rem;
    font-weight: 900;
}

.galeria-lightbox-close,
.galeria-lightbox-nav {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(8px);
    transition: background .2s ease, transform .2s ease;
}

.galeria-lightbox-close:hover,
.galeria-lightbox-nav:hover {
    transform: scale(1.04);
    background: rgba(255, 152, 38, .9);
}

.galeria-lightbox-close {
    top: 1rem;
    right: 1rem;
    width: 44px;
    height: 44px;
}

.galeria-lightbox-nav {
    top: 50%;
    width: 48px;
    height: 48px;
    transform: translateY(-50%);
}

.galeria-lightbox-nav:hover {
    transform: translateY(-50%) scale(1.04);
}

.galeria-lightbox-prev {
    left: 1rem;
}

.galeria-lightbox-next {
    right: 1rem;
}

@media (max-width: 1024px) {
    .galeria-hero-grid {
        grid-template-columns: 1fr;
    }

    .galeria-featured-card,
    .galeria-featured-card img {
        min-height: 380px;
    }

    .galeria-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .galeria-highlights-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .galeria-container {
        width: min(100% - 1.25rem, 1180px);
    }

    .galeria-hero {
        padding: 7.5rem 0 3.7rem;
    }

    .galeria-hero-content h1 {
        font-size: clamp(2rem, 12vw, 3rem);
    }

    .galeria-hero-content p {
        font-size: .98rem;
    }

    .galeria-hero-actions {
        flex-direction: column;
    }

    .galeria-primary-btn,
    .galeria-secondary-btn,
    .galeria-cta-card a {
        width: 100%;
    }

    .galeria-featured-card,
    .galeria-featured-card img {
        min-height: 315px;
    }

    .galeria-grid {
        grid-template-columns: 1fr;
    }

    .galeria-card,
    .galeria-card-large {
        grid-column: auto;
        grid-row: auto;
        min-height: 295px;
    }

    .galeria-cta-card {
        flex-direction: column;
        align-items: stretch;
    }

    .galeria-lightbox {
        padding: .85rem;
    }

    .galeria-lightbox-nav {
        width: 42px;
        height: 42px;
    }

    .galeria-lightbox-prev {
        left: .45rem;
    }

    .galeria-lightbox-next {
        right: .45rem;
    }

    .galeria-lightbox-frame img {
        max-height: 70vh;
        border-radius: 1rem;
    }
}

.galeria-body,
.galeria-body * {
    font-family: Montserrat, ui-sans-serif, system-ui, sans-serif;
}

