:root{--brown:#3b2417;--brown2:#5d3925;--beige:#f7efe4;--gold:#c59a52;--soft:#fffaf3;--dark:#1f1712;--whatsapp:#25d366}*{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--dark);padding-top:76px;background:#fff}.public-navbar .navbar-brand{font-weight:800;color:var(--brown)}.nav-logo{height:48px;max-width:90px;object-fit:contain}.nav-link{font-weight:600}.nav-link:hover{color:var(--gold)}.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:700}.btn-gold:hover{background:#a77d38;border-color:#a77d38;color:#fff}.btn-dark-soft{background:var(--brown);border-color:var(--brown);color:#fff}.btn-dark-soft:hover{background:#24140d;color:#fff}.btn-whatsapp{background:var(--whatsapp);border-color:var(--whatsapp);color:#fff;font-weight:700}.btn-whatsapp:hover{background:#1fb558;color:#fff}.section-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-size:.78rem;font-weight:800}.hero{min-height:calc(100vh - 76px);display:flex;align-items:center;background:linear-gradient(135deg,rgba(59,36,23,.95),rgba(91,58,30,.85)),url('../img/hero-pattern.svg');background-size:cover;background-position:center;color:#fff}.hero-content{max-width:760px;padding:80px 0}.hero h1{font-size:clamp(2.7rem,6vw,5.5rem);font-weight:900;line-height:.95}.hero p{font-size:1.25rem;max-width:650px;margin:20px 0 32px;color:#f7e8d4}.section-soft{background:var(--soft)}h1,h2,h3,h4{font-weight:850}.image-placeholder{background:linear-gradient(135deg,#f1dfc7,#fff7ed);border:1px dashed #d8bd98;border-radius:28px;min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8b6a3e;text-align:center}.image-placeholder.large{min-height:420px}.image-placeholder i{font-size:3rem}.dish-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 14px 45px rgba(59,36,23,.1);transition:.25s}.dish-card:hover{transform:translateY(-6px)}.dish-card img,.gallery-thumb{width:100%;height:240px;object-fit:cover}.dish-no-image{height:240px;display:flex;align-items:center;justify-content:center;background:#f7efe4;color:var(--gold);font-size:3rem}.dish-body{padding:24px}.dish-body span{color:var(--gold);font-weight:800;text-transform:uppercase;font-size:.75rem}.dish-body h3{font-size:1.35rem}.dish-body p{color:#6f6258;min-height:48px}.dish-body strong{font-size:1.2rem;color:var(--brown)}.qr-section{background:linear-gradient(135deg,var(--brown),#8b5a2b);color:#fff}.page-hero,.menu-hero{padding:85px 0;background:linear-gradient(135deg,#3b2417,#7b4e2a);color:#fff}.contact-card{background:#fff;border-radius:28px;padding:32px;box-shadow:0 12px 40px rgba(59,36,23,.1)}.map-box iframe{width:100%!important;height:100%!important;min-height:360px;border:0;border-radius:28px}.min-map iframe{min-height:520px}.footer-public{background:#24160f;color:#f9ebd9}.footer-public p{color:#d9c2a5}.social-links a{display:inline-flex;width:38px;height:38px;border-radius:50%;align-items:center;justify-content:center;background:#3b2417;color:#fff;margin-right:8px;text-decoration:none}.whatsapp-float{position:fixed;right:22px;bottom:22px;width:60px;height:60px;border-radius:50%;background:var(--whatsapp);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;text-decoration:none;box-shadow:0 12px 35px rgba(37,211,102,.38);z-index:1000}.feature-box{height:100%;background:var(--soft);border-radius:24px;padding:28px}.feature-box i{font-size:2rem;color:var(--gold)}.category-pills{top:76px;z-index:10;overflow:auto;white-space:nowrap;border-bottom:1px solid #eee}.menu-category{padding:40px 0;border-bottom:1px solid #eee}.menu-category-title{margin-bottom:20px}.menu-item{display:flex;gap:16px;background:#fff;border:1px solid #eee;border-radius:22px;padding:14px;box-shadow:0 8px 30px rgba(59,36,23,.06);height:100%}.menu-item img{width:96px;height:96px;border-radius:18px;object-fit:cover;flex:0 0 96px}.menu-item-icon{width:96px;height:96px;border-radius:18px;background:#f7efe4;color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:2rem;flex:0 0 96px}.menu-item h3{font-size:1.05rem;margin:0}.menu-item strong{color:var(--brown);white-space:nowrap}.menu-item p{font-size:.92rem;margin:.35rem 0 0;color:#6f6258}.gallery-grid{columns:3 280px;column-gap:18px}.gallery-item{display:block;position:relative;margin-bottom:18px;border-radius:22px;overflow:hidden;text-decoration:none;color:#fff;break-inside:avoid;box-shadow:0 10px 35px rgba(59,36,23,.12)}.gallery-item img{width:100%;display:block}.gallery-item span{position:absolute;left:0;right:0;bottom:0;padding:18px;background:linear-gradient(transparent,rgba(0,0,0,.65));font-weight:700}.filter-buttons .btn{margin:4px}@media(max-width:767px){body{padding-top:68px}.hero{min-height:auto}.hero-content{padding:70px 0}.dish-card img,.dish-no-image{height:190px}.menu-item{gap:12px;padding:12px}.menu-item img,.menu-item-icon{width:78px;height:78px;flex-basis:78px}.category-pills{top:68px}.whatsapp-float{width:54px;height:54px;font-size:1.7rem}}

/* Mejoras de desplazamiento suave y animaciones */
html{scroll-behavior:smooth;scroll-padding-top:86px}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.reveal-on-scroll{opacity:0;transform:translateY(26px);transition:opacity .85s ease,transform .85s ease}.reveal-on-scroll.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-on-scroll,.hero-slide{transition:none!important;transform:none!important}}

/* Banner slider */
.hero-slider{position:relative;display:block;overflow:hidden;min-height:calc(100vh - 76px);background:linear-gradient(135deg,rgba(59,36,23,.95),rgba(91,58,30,.85)),url('../img/hero-pattern.svg');background-size:cover;background-position:center;color:#fff}.hero-slides{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;display:flex;align-items:center;background-size:cover;background-position:center;opacity:0;transform:scale(1.045);transition:opacity 1s ease,transform 5.5s ease;z-index:0;pointer-events:none}.hero-slide.active{opacity:1;transform:scale(1);z-index:1;pointer-events:auto}.hero-slide::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 42%,rgba(197,154,82,.20),transparent 34%),linear-gradient(90deg,rgba(28,18,12,.52),rgba(28,18,12,.2) 58%,rgba(28,18,12,.58));z-index:1}.hero-slide .container{position:relative;z-index:2}.hero-slider .hero-content{position:relative;z-index:2}.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.16);backdrop-filter:blur(10px);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.45rem;z-index:5;transition:background .25s ease,transform .25s ease,opacity .25s ease}.hero-arrow:hover{background:rgba(197,154,82,.85);transform:translateY(-50%) scale(1.06)}.hero-arrow-prev{left:26px}.hero-arrow-next{right:26px}.hero-dots{position:absolute;left:0;right:0;bottom:28px;z-index:5;display:flex;align-items:center;justify-content:center;gap:10px}.hero-dot{width:12px;height:12px;border-radius:999px;border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.38);padding:0;transition:width .25s ease,background .25s ease}.hero-dot.active{width:34px;background:var(--gold);border-color:var(--gold)}

@media(max-width:767px){html{scroll-padding-top:72px}.hero-slider{min-height:calc(100vh - 68px)}.hero-slide{align-items:flex-end}.hero-arrow{width:40px;height:40px;font-size:1.1rem;top:auto;bottom:82px}.hero-arrow-prev{left:16px}.hero-arrow-next{right:16px}.hero-dots{bottom:22px}.hero-slider .hero-content{padding:90px 0 104px}.hero-slider h1{font-size:clamp(2.3rem,12vw,4rem)}}

/* Carta digital estilo carta física */
.carta-hero{position:relative;overflow:hidden}.carta-hero::after{content:"";position:absolute;inset:auto -12% -42% -12%;height:190px;background:radial-gradient(ellipse at center,rgba(255,255,255,.16),transparent 66%);pointer-events:none}.carta-elegante-section{background:linear-gradient(180deg,#fff7eb 0%,#f2dec1 100%);position:relative}.carta-elegante-section::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(92,55,28,.08) 1px,transparent 1px);background-size:18px 18px;opacity:.45;pointer-events:none}.carta-book{position:relative;z-index:1;max-width:980px;margin:0 auto;background:#fffaf0;border:1px solid rgba(92,55,28,.18);border-radius:34px;box-shadow:0 28px 70px rgba(59,36,23,.18),inset 0 0 0 10px rgba(255,255,255,.42);overflow:hidden}.carta-book::before,.carta-book::after{content:"";position:absolute;top:26px;bottom:26px;width:1px;background:linear-gradient(transparent,rgba(92,55,28,.22),transparent);opacity:.8}.carta-book::before{left:18px}.carta-book::after{right:18px}.carta-book-header{padding:46px 34px 30px;background:linear-gradient(180deg,#3b2417,#5d3925);color:#fff;position:relative}.carta-book-header::after{content:"";position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);width:90px;height:36px;background:#fffaf0;border-radius:50% 50% 0 0}.carta-small-title{display:inline-flex;align-items:center;gap:10px;color:#e5bc72;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:900}.carta-small-title::before,.carta-small-title::after{content:"";width:35px;height:1px;background:#e5bc72}.carta-book-header h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,5vw,4.2rem);line-height:.95;margin:12px 0 14px}.carta-book-header p{max-width:650px;margin:0 auto;color:#f7e4c9}.carta-category-nav{position:sticky;top:76px;z-index:9;display:flex;gap:10px;overflow-x:auto;padding:24px 26px 16px;background:rgba(255,250,240,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(92,55,28,.11);scrollbar-width:none}.carta-category-nav::-webkit-scrollbar{display:none}.carta-category-nav a{flex:0 0 auto;text-decoration:none;color:#4d3020;background:#fff;border:1px solid rgba(92,55,28,.18);padding:10px 17px;border-radius:999px;font-weight:800;font-size:.92rem;box-shadow:0 7px 22px rgba(59,36,23,.07);transition:.22s ease}.carta-category-nav a:hover{background:var(--brown);color:#fff;transform:translateY(-2px)}.carta-pages{padding:22px clamp(18px,4vw,54px) 50px}.carta-category-page{padding:34px 0;border-bottom:1px dashed rgba(92,55,28,.23);scroll-margin-top:150px}.carta-category-page:last-child{border-bottom:0}.carta-category-title{text-align:center;margin-bottom:26px}.carta-category-title span{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:900}.carta-category-title h3{font-family:Georgia,"Times New Roman",serif;color:#3b2417;font-size:clamp(1.8rem,4vw,3rem);margin:5px 0 8px}.carta-category-title p{max-width:620px;margin:0 auto;color:#7a5d49}.carta-items-list{display:grid;gap:22px}.carta-dish-item{position:relative;padding:0 0 18px}.carta-dish-item:not(:last-child){border-bottom:1px solid rgba(92,55,28,.09)}.carta-dish-line{display:flex;align-items:flex-end;gap:11px}.carta-dish-name{border:0;background:transparent;padding:0;text-align:left;color:#3b2417;font-family:Georgia,"Times New Roman",serif;font-size:1.26rem;font-weight:800;line-height:1.15;text-decoration:none}.carta-dish-name:not(.no-photo){cursor:pointer}.carta-dish-name:not(.no-photo):hover{color:#9b7134}.carta-dish-name i{font-size:.92rem;color:var(--gold);margin-left:6px}.carta-dots{height:1px;flex:1;border-bottom:2px dotted rgba(92,55,28,.28);transform:translateY(-5px);min-width:28px}.carta-dish-line strong{font-size:1.1rem;color:#5d3925;white-space:nowrap}.carta-dish-item p{margin:7px 0 0;max-width:720px;color:#735d4d;font-size:.98rem;line-height:1.55}.dish-photo-modal .modal-content,.video-modal .modal-content{background:#160e09;border:0;border-radius:24px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.45)}.dish-modal-close,.video-modal-close{position:absolute;right:14px;top:14px;z-index:3;background-color:rgba(0,0,0,.45);border-radius:50%;padding:10px}.dish-modal-image{width:100%;max-height:72vh;object-fit:cover;background:#20140d}.dish-modal-caption{padding:20px 24px;color:#fff;background:linear-gradient(180deg,rgba(22,14,9,.75),#160e09)}.dish-modal-caption h3{font-family:Georgia,"Times New Roman",serif;margin:0}.dish-modal-caption p{margin:4px 0 0;color:#d8c2a8}.carta-bottom-actions{position:relative;z-index:1}.hero-play-button{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:7px 18px 7px 7px;font-weight:800;backdrop-filter:blur(8px);box-shadow:0 18px 45px rgba(0,0,0,.22);transition:transform .22s ease,background .22s ease,border-color .22s ease}.hero-play-button span{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--gold);font-size:1.55rem;box-shadow:0 0 0 9px rgba(255,255,255,.16)}.hero-play-button em{font-style:normal}.hero-play-button:hover{transform:translateY(-2px);background:rgba(197,154,82,.82);border-color:rgba(255,255,255,.8)}.video-modal iframe{border:0;background:#000}
@media(max-width:767px){.carta-book{border-radius:25px;box-shadow:0 16px 50px rgba(59,36,23,.16);inset:auto}.carta-book::before,.carta-book::after{display:none}.carta-book-header{padding:38px 20px 26px}.carta-category-nav{top:68px;padding:18px 16px 12px}.carta-pages{padding:10px 18px 34px}.carta-category-page{padding:30px 0;scroll-margin-top:130px}.carta-dish-line{align-items:flex-start}.carta-dish-name{font-size:1.12rem}.carta-dots{margin-top:16px}.carta-dish-line strong{font-size:1rem;padding-top:1px}.carta-dish-item p{font-size:.93rem}.dish-modal-image{max-height:68vh}.hero-play-button{width:auto;padding-right:15px}.hero-play-button span{width:40px;height:40px;font-size:1.35rem}}

/* Integración logo Rústica del Valle */
.public-navbar{min-height:84px}.navbar-brand-logo{padding:.32rem 0}.navbar-brand-logo span{font-weight:900;color:var(--brown)}.nav-logo{height:68px;max-width:260px;width:auto;object-fit:contain;display:block}.footer-logo{height:90px;max-width:300px;width:auto;object-fit:contain;display:block;margin-bottom:14px}.hero-slider{min-height:calc(100vh - 84px)}html{scroll-padding-top:94px}.category-pills,.carta-category-nav{top:84px}@media(max-width:991px){.public-navbar{min-height:76px}.nav-logo{height:58px;max-width:220px}body{padding-top:76px}.hero-slider{min-height:calc(100vh - 76px)}html{scroll-padding-top:84px}.category-pills,.carta-category-nav{top:76px}}@media(max-width:575px){.public-navbar{min-height:70px}.nav-logo{height:48px;max-width:185px}body{padding-top:70px}.hero-slider{min-height:calc(100vh - 70px)}html{scroll-padding-top:78px}.category-pills,.carta-category-nav{top:70px}.footer-logo{height:74px;max-width:240px}}

/* Mejoras: logo más visible y banner con luminosidad configurable */
.public-navbar{min-height:96px}.navbar-brand-logo{min-width:170px}.nav-logo{height:86px;max-width:310px;width:auto;object-fit:contain;display:block;filter:drop-shadow(0 4px 10px rgba(59,36,23,.18))}.hero-slider{min-height:calc(100vh - 96px)}.hero-slide{background-image:none!important;overflow:hidden;transform:none!important;transition:opacity 1s ease!important}.hero-slide-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;filter:brightness(var(--banner-brightness,1.15)) saturate(1.06);transform:scale(1.065);transition:transform 5.8s ease,filter .25s ease}.hero-slide.active .hero-slide-bg{transform:scale(1)}.hero-slide::before{background:radial-gradient(circle at 18% 42%,rgba(197,154,82,.16),transparent 34%),linear-gradient(90deg,rgba(18,10,5,.42),rgba(18,10,5,.10) 58%,rgba(18,10,5,.38));z-index:1}.hero-brand-logo{width:clamp(250px,32vw,460px);max-height:260px;object-fit:contain;display:block;margin:0 0 18px;filter:drop-shadow(0 18px 34px rgba(0,0,0,.58))}.hero-slider .hero-content{text-shadow:0 4px 22px rgba(0,0,0,.36)}.hero-slider .section-kicker{color:#f4c879;text-shadow:0 3px 12px rgba(0,0,0,.35)}@media(max-width:991px){.public-navbar{min-height:84px}.nav-logo{height:72px;max-width:260px}.hero-slider{min-height:calc(100vh - 84px)}}@media(max-width:575px){.public-navbar{min-height:76px}.navbar-brand-logo{min-width:auto}.nav-logo{height:62px;max-width:220px}.hero-slider{min-height:calc(100vh - 76px)}.hero-brand-logo{width:min(84vw,340px);max-height:190px;margin:0 auto 16px}.hero-slider .hero-content{text-align:center}.hero-slider .hero-content .d-flex{justify-content:center}}
body{padding-top:96px!important}html{scroll-padding-top:106px}.category-pills,.carta-category-nav{top:96px}@media(max-width:991px){body{padding-top:84px!important}html{scroll-padding-top:94px}.category-pills,.carta-category-nav{top:84px}}@media(max-width:575px){body{padding-top:76px!important}html{scroll-padding-top:84px}.category-pills,.carta-category-nav{top:76px}}
.hero-brand-logo{background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.55);border-radius:28px;padding:10px 18px;backdrop-filter:blur(8px);box-shadow:0 18px 45px rgba(0,0,0,.24)}
.hero-slider .hero-content{margin:0 auto;text-align:center}.hero-slider .hero-content .d-flex{justify-content:center}.hero-brand-logo{margin:0 auto 20px}

/* Corrección logo transparente + banner móvil + barra horizontal */
html,
body{
    max-width:100%;
    overflow-x:hidden;
}

.public-navbar,
.hero-slider,
.footer-public,
section{
    max-width:100%;
    overflow-x:clip;
}

@supports not (overflow-x:clip){
    .public-navbar,
    .hero-slider,
    .footer-public,
    section{
        overflow-x:hidden;
    }
}

.nav-logo,
.footer-logo,
.hero-brand-logo{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    padding:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
}

.hero-brand-logo{
    max-width:min(460px, calc(100vw - 32px))!important;
    height:auto!important;
    filter:drop-shadow(0 18px 34px rgba(0,0,0,.58))!important;
}

.nav-logo{
    max-width:min(310px, calc(100vw - 96px))!important;
    height:auto;
    max-height:86px;
}

.public-navbar .container,
.hero-slider .container,
.footer-public .container{
    max-width:100%;
}

@media(max-width:767px){
    .hero-slide-bg{
        background-size:contain!important;
        background-repeat:no-repeat!important;
        background-position:center center!important;
        background-color:#1f130c;
        transform:none!important;
    }

    .hero-slide.active .hero-slide-bg{
        transform:none!important;
    }

    .hero-slide::before{
        background:linear-gradient(180deg,rgba(18,10,5,.24),rgba(18,10,5,.18) 42%,rgba(18,10,5,.86));
    }

    .hero-slider .hero-content{
        width:100%;
        max-width:100%;
        padding-left:12px;
        padding-right:12px;
    }

    .hero-slider .hero-content .d-flex{
        max-width:100%;
    }

    .hero-brand-logo{
        width:min(78vw,320px)!important;
        max-height:170px!important;
    }

    .hero-play-button,
    .hero-slider .btn{
        max-width:100%;
        white-space:normal;
    }

    .hero-arrow-prev{left:12px!important;}
    .hero-arrow-next{right:12px!important;}
}

@media(max-width:575px){
    .nav-logo{
        max-width:calc(100vw - 96px)!important;
        max-height:64px!important;
    }

    .navbar-toggler{
        margin-left:auto;
    }
}

/* Reservas públicas */
.reservation-section{background:linear-gradient(135deg,#fffaf3,#f3e4cf);position:relative;overflow:hidden}.reservation-section::before{content:"";position:absolute;inset:auto -10% -45% auto;width:520px;height:520px;border-radius:50%;background:rgba(197,154,82,.18);filter:blur(8px)}.reservation-section .container{position:relative;z-index:1}.reservation-section h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,4vw,3.6rem);color:#3b2417}.reservation-info-card{display:flex;gap:15px;align-items:flex-start;background:rgba(255,255,255,.72);border:1px solid rgba(92,55,28,.1);border-radius:22px;padding:18px;margin-top:16px;box-shadow:0 12px 36px rgba(59,36,23,.06)}.reservation-info-card i{width:46px;height:46px;border-radius:16px;background:#3b2417;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem}.reservation-info-card strong{display:block;color:#3b2417}.reservation-info-card p{margin:4px 0 0;color:#715b49}.reservation-card{background:#fff;border:1px solid rgba(92,55,28,.12);border-radius:30px;padding:28px;box-shadow:0 24px 75px rgba(59,36,23,.13)}.reservation-card-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid rgba(92,55,28,.1)}.reservation-card-header span{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:900}.reservation-card-header h3{font-family:Georgia,"Times New Roman",serif;color:#3b2417;margin:2px 0 0;font-size:1.8rem}.reservation-card-header>i{width:58px;height:58px;border-radius:20px;background:#f7efe4;color:#9b7134;display:flex;align-items:center;justify-content:center;font-size:1.8rem}.reservation-card .form-label{font-weight:800;color:#4d3020}.reservation-card .form-control,.reservation-card .input-group-text{border-radius:16px;border-color:#eadcca;padding:.78rem .95rem}.reservation-card .input-group>.form-control{border-top-left-radius:0;border-bottom-left-radius:0}.reservation-card .input-group-text{background:#fffaf3;color:#9b7134}.reservation-total-box{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#3b2417,#6c4426);color:#fff;border-radius:24px;padding:20px}.reservation-total-box span{display:block;color:#e7c999;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.reservation-total-box strong{display:block;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1}.reservation-total-box small{display:block;color:#eadccc;margin-top:4px}.reservation-total-box .btn{white-space:normal}.carta-dish-item.has-photo{cursor:pointer;border-radius:16px;padding:10px 10px 18px;margin-left:-10px;margin-right:-10px;transition:background .2s ease,transform .2s ease}.carta-dish-item.has-photo:hover{background:rgba(197,154,82,.08);transform:translateX(2px)}.carta-dish-name:not(.no-photo){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:rgba(197,154,82,.38)}

/* Admin reservas */
.admin-subcard{background:#fbf7f1;border:1px solid #efe3d4;border-radius:22px;padding:20px}.admin-subcard h5{font-weight:850;color:var(--text)}.admin-subcard h5 i{color:var(--accent);margin-right:6px}

/* Portada móvil: imagen grande como antes, manteniendo corrección de barra horizontal */
@media(max-width:767px){.hero-slide-bg{background-size:cover!important;background-repeat:no-repeat!important;background-position:center center!important;background-color:#1f130c;transform:scale(1.02)!important}.hero-slide.active .hero-slide-bg{transform:scale(1)!important}.reservation-card{padding:22px;border-radius:25px}.reservation-total-box{align-items:stretch;flex-direction:column}.reservation-total-box .btn{width:100%}.reservation-info-card{padding:16px}.carta-dish-item.has-photo{margin-left:-6px;margin-right:-6px;padding-left:6px;padding-right:6px}}


/* Corrección: abrir imagen del plato desde la carta digital */
.carta-dish-item.has-photo {
  cursor: pointer;
  border-radius: 18px;
  padding: 12px 12px 18px;
  margin-left: -12px;
  margin-right: -12px;
}
.carta-dish-item.has-photo:hover,
.carta-dish-item.has-photo:focus-within {
  background: rgba(197,154,82,.10);
}
.dish-photo-open {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.dish-photo-open i {
  font-size: .95rem;
  color: var(--gold);
}
.dish-photo-hint {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 8px;
  color: #a17942;
  font-weight: 700;
  font-size: .78rem;
}
.dish-lightbox[hidden] {
  display: none !important;
}
.dish-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(18, 11, 7, .88);
  opacity: 0;
  transition: opacity .18s ease;
}
.dish-lightbox.is-open {
  opacity: 1;
}
body.dish-lightbox-opened {
  overflow: hidden;
}
.dish-lightbox-box {
  width: min(920px, 100%);
  max-height: 92vh;
  background: #160e09;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(0,0,0,.5);
  transform: translateY(10px) scale(.98);
  transition: transform .18s ease;
}
.dish-lightbox.is-open .dish-lightbox-box {
  transform: translateY(0) scale(1);
}
.dish-lightbox-box img {
  width: 100%;
  max-height: 72vh;
  object-fit: contain;
  display: block;
  background: #21150e;
}
.dish-lightbox-caption {
  padding: 18px 22px;
  color: #fff;
  background: linear-gradient(180deg, rgba(22,14,9,.92), #160e09);
}
.dish-lightbox-caption h3 {
  font-family: Georgia, "Times New Roman", serif;
  margin: 0;
  font-size: clamp(1.35rem, 4vw, 2rem);
}
.dish-lightbox-caption p {
  margin: 4px 0 0;
  color: #d9c2a7;
}
.dish-lightbox-close {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 10000;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.95);
  color: #3b2417;
  box-shadow: 0 12px 35px rgba(0,0,0,.32);
}
@media(max-width: 575px) {
  .dish-lightbox {
    padding: 10px;
  }
  .dish-lightbox-box {
    border-radius: 20px;
  }
  .dish-lightbox-box img {
    max-height: 68vh;
  }
  .dish-photo-hint {
    font-size: .72rem;
  }
}

/* Header transparente + logo más grande */
body{
    padding-top:0!important;
}
.public-navbar{
    background:linear-gradient(180deg, rgba(18,10,5,.46), rgba(18,10,5,.08))!important;
    box-shadow:none!important;
    border-bottom:1px solid rgba(255,255,255,.10);
    min-height:104px!important;
    transition:background .28s ease, box-shadow .28s ease, min-height .28s ease, backdrop-filter .28s ease;
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
}
.public-navbar.navbar-scrolled{
    background:rgba(18,10,5,.78)!important;
    box-shadow:0 12px 32px rgba(0,0,0,.18)!important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}
.public-navbar .navbar-brand,
.public-navbar .nav-link{
    color:#fff!important;
    text-shadow:0 3px 12px rgba(0,0,0,.35);
}
.public-navbar .nav-link:hover,
.public-navbar .nav-link:focus,
.public-navbar .navbar-nav .nav-link.active{
    color:#f4c879!important;
}
.public-navbar .navbar-toggler{
    border-color:rgba(255,255,255,.45);
    box-shadow:none!important;
}
.public-navbar .navbar-toggler:focus{
    box-shadow:0 0 0 .18rem rgba(255,255,255,.18)!important;
}
.public-navbar .container{
    min-height:104px;
    transition:min-height .28s ease;
}
.nav-logo{
    height:100px!important;
    max-height:100px!important;
    max-width:360px!important;
    width:auto!important;
    object-fit:contain!important;
    filter:drop-shadow(0 6px 16px rgba(0,0,0,.36))!important;
}
.public-navbar.navbar-scrolled .container{
    min-height:88px;
}
.public-navbar.navbar-scrolled .nav-logo{
    height:84px!important;
    max-height:84px!important;
}
.category-pills,
.carta-category-nav{
    top:104px!important;
}
html{
    scroll-padding-top:112px!important;
}

@media(max-width:991px){
    .public-navbar{
        min-height:92px!important;
    }
    .public-navbar .container{
        min-height:92px;
    }
    .nav-logo{
        height:82px!important;
        max-height:82px!important;
        max-width:285px!important;
    }
    .public-navbar.navbar-scrolled .container{
        min-height:78px;
    }
    .public-navbar.navbar-scrolled .nav-logo{
        height:70px!important;
        max-height:70px!important;
    }
    .public-navbar .navbar-collapse{
        margin-top:10px;
        background:rgba(18,10,5,.88);
        border:1px solid rgba(255,255,255,.12);
        border-radius:20px;
        padding:14px 16px 16px;
        box-shadow:0 18px 45px rgba(0,0,0,.22);
        backdrop-filter:blur(14px);
        -webkit-backdrop-filter:blur(14px);
    }
    .category-pills,
    .carta-category-nav{
        top:92px!important;
    }
    html{
        scroll-padding-top:100px!important;
    }
}

@media(max-width:575px){
    .public-navbar{
        min-height:84px!important;
    }
    .public-navbar .container{
        min-height:84px;
    }
    .nav-logo{
        height:74px!important;
        max-height:74px!important;
        max-width:calc(100vw - 96px)!important;
    }
    .public-navbar.navbar-scrolled .container{
        min-height:72px;
    }
    .public-navbar.navbar-scrolled .nav-logo{
        height:64px!important;
        max-height:64px!important;
    }
    .category-pills,
    .carta-category-nav{
        top:84px!important;
    }
    html{
        scroll-padding-top:92px!important;
    }
}

/* Corrección final: header transparente + banner visible sin ocultar botones */
body{
    padding-top:0!important;
    zoom:1!important;
}

.public-navbar{
    background:linear-gradient(180deg, rgba(18,10,5,.42), rgba(18,10,5,.04))!important;
    box-shadow:none!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
}

.public-navbar.bg-white{
    background:linear-gradient(180deg, rgba(18,10,5,.42), rgba(18,10,5,.04))!important;
}

.public-navbar.navbar-scrolled,
.public-navbar.bg-white.navbar-scrolled{
    background:rgba(18,10,5,.78)!important;
    box-shadow:0 12px 32px rgba(0,0,0,.18)!important;
}

.hero-slider{
    min-height:100svh!important;
}

.hero-slide{
    align-items:center!important;
}

.hero-slide-bg{
    transform:none!important;
}

.hero-slide.active .hero-slide-bg{
    transform:none!important;
}

.hero-slider .hero-content{
    padding-top:128px!important;
    padding-bottom:76px!important;
    margin-top:18px!important;
}

.hero-brand-logo{
    width:clamp(250px,30vw,430px)!important;
    max-height:220px!important;
    margin-bottom:18px!important;
}

.hero-slider h1{
    font-size:clamp(2.25rem,5vw,4.8rem)!important;
    margin-bottom:14px!important;
}

.hero-slider p{
    margin-top:10px!important;
    margin-bottom:22px!important;
}

.hero-slider .d-flex{
    margin-top:0!important;
}

@media(max-width:991px){
    .hero-slider .hero-content{
        padding-top:118px!important;
        padding-bottom:70px!important;
        margin-top:18px!important;
    }

    .hero-brand-logo{
        width:min(72vw,340px)!important;
        max-height:170px!important;
    }
}

@media(max-width:767px){
    .hero-slider{
        min-height:100svh!important;
    }

    .hero-slide{
        align-items:center!important;
    }

    .hero-slide-bg{
        background-size:cover!important;
        background-position:center center!important;
        transform:none!important;
    }

    .hero-slider .hero-content{
        padding-top:112px!important;
        padding-bottom:58px!important;
        margin-top:18px!important;
    }

    .hero-brand-logo{
        width:min(76vw,295px)!important;
        max-height:138px!important;
        margin-bottom:12px!important;
    }

    .hero-slider h1{
        font-size:clamp(2rem,10vw,3.15rem)!important;
        line-height:.98!important;
        margin-bottom:10px!important;
    }

    .hero-slider p{
        font-size:.98rem!important;
        line-height:1.42!important;
        margin:8px auto 16px!important;
        max-width:94vw!important;
    }

    .hero-slider .d-flex{
        gap:10px!important;
    }

    .hero-slider .btn{
        padding:.68rem .9rem!important;
        font-size:.94rem!important;
    }
}

@media(max-width:420px){
    .hero-slider .hero-content{
        padding-top:104px!important;
        padding-bottom:52px!important;
    }

    .hero-brand-logo{
        width:min(72vw,260px)!important;
        max-height:118px!important;
    }

    .hero-slider h1{
        font-size:clamp(1.8rem,9vw,2.55rem)!important;
    }

    .hero-slider p{
        font-size:.9rem!important;
    }
}

/* Separación visual de Buffet y Carta */
.carta-main-nav a i{margin-right:6px}.carta-menu-chapter{scroll-margin-top:150px;padding:16px 0 24px}.carta-menu-chapter + .carta-menu-chapter{margin-top:26px;padding-top:44px;border-top:2px solid rgba(92,55,28,.14)}.carta-section-title{max-width:760px;margin:0 auto 28px;padding:28px 22px;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,246,230,.88));border:1px solid rgba(92,55,28,.12);box-shadow:0 14px 42px rgba(59,36,23,.08)}.carta-section-title span{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-size:.74rem;font-weight:900}.carta-section-title h2{font-family:Georgia,"Times New Roman",serif;color:#3b2417;font-size:clamp(2rem,5vw,3.6rem);margin:8px 0}.carta-section-title p{margin:0 auto;color:#725845;max-width:620px}.carta-menu-buffet .carta-section-title{background:linear-gradient(135deg,#3b2417,#7a4a24);color:#fff}.carta-menu-buffet .carta-section-title h2{color:#fff}.carta-menu-buffet .carta-section-title p{color:#f3dfc1}.carta-price-hidden-label{font-size:.88rem;font-weight:900;color:#8a622d;background:#fff4df;border:1px solid rgba(197,154,82,.42);border-radius:999px;padding:5px 12px;white-space:nowrap}.carta-dots-muted{opacity:.35}.price-hidden-featured{display:inline-flex;color:#8a622d;background:#fff4df;border:1px solid rgba(197,154,82,.42);border-radius:999px;padding:5px 12px;font-size:.95rem}@media(max-width:767px){.carta-menu-chapter{scroll-margin-top:125px}.carta-section-title{padding:24px 16px;border-radius:24px}.carta-price-hidden-label{font-size:.78rem;padding:4px 9px}.carta-dish-line{gap:8px}}

/* Corrección: banners internos visibles con header transparente */
.page-hero-interno,
.menu-hero.page-hero-interno{
    position:relative;
    min-height:340px;
    padding-top:160px!important;
    padding-bottom:72px!important;
    display:flex;
    align-items:center;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    overflow:hidden;
}

.page-hero-interno::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 50% 15%, rgba(197,154,82,.22), transparent 42%), linear-gradient(180deg, rgba(18,10,5,.44), rgba(18,10,5,.72));
    z-index:0;
    pointer-events:none;
}

.page-hero-interno .container{
    position:relative;
    z-index:1;
}

.page-hero-interno h1{
    color:#fff;
    text-shadow:0 5px 24px rgba(0,0,0,.55);
    font-size:clamp(2.25rem,5vw,4.6rem);
    line-height:1;
}

.page-hero-interno p{
    max-width:720px;
    margin:14px auto 0;
    color:#f7e4c9;
    font-size:1.08rem;
    text-shadow:0 4px 18px rgba(0,0,0,.38);
}

.menu-hero.page-hero-interno .btn{
    position:relative;
    z-index:2;
}

@media(max-width:991px){
    .page-hero-interno,
    .menu-hero.page-hero-interno{
        min-height:315px;
        padding-top:145px!important;
        padding-bottom:60px!important;
    }
}

@media(max-width:575px){
    .page-hero-interno,
    .menu-hero.page-hero-interno{
        min-height:300px;
        padding-top:132px!important;
        padding-bottom:52px!important;
    }
    .page-hero-interno h1{
        font-size:clamp(2rem,10vw,3rem);
    }
    .page-hero-interno p{
        font-size:.95rem;
    }
}


/* =========================================================
   CORRECCIÓN CARTA DIGITAL VISIBLE
   Evita que las animaciones globales oculten la carta.
   ========================================================= */
#cartaDigital,
#cartaDigital *,
.carta-elegante-section,
.carta-elegante-section *,
.carta-book,
.carta-book *,
.carta-pages,
.carta-pages *,
.carta-menu-chapter,
.carta-menu-chapter *,
.carta-category-page,
.carta-category-page *,
.carta-dish-item,
.carta-dish-item *,
.carta-category-title,
.carta-section-title{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
}

#cartaDigital.reveal-on-scroll,
#cartaDigital .reveal-on-scroll,
.carta-elegante-section.reveal-on-scroll,
.carta-elegante-section .reveal-on-scroll,
.carta-book.reveal-on-scroll,
.carta-book .reveal-on-scroll,
.carta-menu-chapter.reveal-on-scroll,
.carta-menu-chapter .reveal-on-scroll,
.carta-dish-item.reveal-on-scroll,
.carta-category-title.reveal-on-scroll{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    transition:none!important;
}

#cartaDigital{
    display:block!important;
    min-height:320px;
    position:relative;
    z-index:1;
}

#cartaDigital .container{
    display:block!important;
}

.carta-book{
    display:block!important;
    overflow:visible!important;
}

.carta-book-header,
.carta-category-nav,
.carta-pages,
.carta-menu-chapter,
.carta-category-page,
.carta-items-list{
    display:block!important;
}

.carta-category-nav{
    display:flex!important;
}

.carta-dish-item{
    display:block!important;
}

.carta-dish-line{
    display:flex!important;
}

/* El lightbox sí debe permanecer oculto hasta hacer clic */
.dish-lightbox[hidden]{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
}

.dish-lightbox.is-open{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
}

/* Ajuste extra para que el título del banner interno no se pierda debajo del header transparente */
.page-hero-interno,
.menu-hero.page-hero-interno{
    padding-top:185px!important;
    padding-bottom:82px!important;
}

@media(max-width:767px){
    .page-hero-interno,
    .menu-hero.page-hero-interno{
        padding-top:165px!important;
        padding-bottom:66px!important;
        min-height:330px!important;
    }

    #cartaDigital{
        min-height:420px;
    }

    .carta-book{
        border-radius:24px!important;
    }

    .carta-pages{
        padding:24px 16px!important;
    }
}


/* =========================================================
   Galería del inicio: lightbox por sección
   ========================================================= */
.home-gallery-section .row{
    align-items:stretch;
}

.home-gallery-card{
    position:relative;
    display:block;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    background:transparent;
    border-radius:22px;
    overflow:hidden;
    cursor:pointer;
    box-shadow:0 12px 34px rgba(59,36,23,.12);
    transition:transform .25s ease, box-shadow .25s ease;
}

.home-gallery-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 45px rgba(59,36,23,.18);
}

.home-gallery-card .gallery-thumb{
    display:block;
    width:100%;
    height:250px;
    object-fit:cover;
    transition:transform .45s ease, filter .25s ease;
}

.home-gallery-card:hover .gallery-thumb{
    transform:scale(1.045);
    filter:brightness(.9);
}

.home-gallery-card span{
    position:absolute;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:2;
    display:inline-flex;
    width:max-content;
    max-width:calc(100% - 24px);
    align-items:center;
    justify-content:center;
    padding:8px 13px;
    border-radius:999px;
    background:rgba(36,22,15,.86);
    color:#fff;
    font-weight:800;
    font-size:.84rem;
    backdrop-filter:blur(7px);
    box-shadow:0 8px 22px rgba(0,0,0,.22);
}

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

.home-gallery-lightbox{
    position:fixed;
    inset:0;
    z-index:10050;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:22px;
    background:rgba(18,10,5,.92);
    opacity:0;
    visibility:hidden;
    transition:opacity .2s ease, visibility .2s ease;
}

.home-gallery-lightbox.is-open{
    opacity:1;
    visibility:visible;
}

body.home-gallery-opened{
    overflow:hidden;
}

.home-gallery-lightbox-inner{
    width:min(1040px,100%);
    max-height:94vh;
    display:flex;
    flex-direction:column;
    background:#140c07;
    border:1px solid rgba(255,255,255,.12);
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 34px 95px rgba(0,0,0,.62);
    transform:translateY(10px) scale(.985);
    transition:transform .2s ease;
}

.home-gallery-lightbox.is-open .home-gallery-lightbox-inner{
    transform:translateY(0) scale(1);
}

.home-gallery-lightbox-image{
    background:#21140d;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:320px;
    max-height:68vh;
}

.home-gallery-lightbox-image img{
    width:100%;
    max-height:68vh;
    object-fit:contain;
    display:block;
}

.home-gallery-lightbox-info{
    padding:16px 22px 12px;
    color:#fff;
    border-top:1px solid rgba(255,255,255,.08);
}

.home-gallery-lightbox-info span{
    display:block;
    color:#e2b56c;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:.72rem;
    font-weight:900;
}

.home-gallery-lightbox-info h3{
    margin:3px 0 0;
    font-size:1.25rem;
}

.home-gallery-lightbox-info p{
    margin:4px 0 0;
    color:#d8c0a8;
}

.home-gallery-close{
    position:fixed;
    top:18px;
    right:18px;
    z-index:10060;
    width:46px;
    height:46px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.14);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    backdrop-filter:blur(8px);
}

.home-gallery-close:hover,
.home-gallery-nav:hover{
    background:rgba(197,154,82,.95);
}

.home-gallery-nav{
    position:fixed;
    top:50%;
    z-index:10055;
    width:52px;
    height:52px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.13);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
    transform:translateY(-50%);
    backdrop-filter:blur(8px);
}

.home-gallery-prev{left:22px;}
.home-gallery-next{right:22px;}

.home-gallery-thumbs{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:0 22px 18px;
    scrollbar-width:thin;
}

.home-gallery-thumb{
    width:74px;
    height:56px;
    flex:0 0 74px;
    border:2px solid transparent;
    border-radius:12px;
    overflow:hidden;
    padding:0;
    background:transparent;
    opacity:.62;
    cursor:pointer;
}

.home-gallery-thumb.active{
    border-color:var(--gold);
    opacity:1;
}

.home-gallery-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

@media(max-width:767px){
    .home-gallery-card .gallery-thumb{
        height:185px;
    }

    .home-gallery-lightbox{
        padding:12px;
    }

    .home-gallery-lightbox-inner{
        border-radius:22px;
    }

    .home-gallery-lightbox-image{
        min-height:260px;
    }

    .home-gallery-nav{
        width:42px;
        height:42px;
        top:auto;
        bottom:24px;
        transform:none;
    }

    .home-gallery-prev{left:18px;}
    .home-gallery-next{right:18px;}

    .home-gallery-close{
        top:12px;
        right:12px;
    }

    .home-gallery-thumbs{
        padding:0 14px 16px;
    }
}

/* Admin: vista previa múltiple de imágenes */
.multiple-preview-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(86px,1fr));
    gap:10px;
}

.multiple-preview-grid img{
    width:100%;
    height:86px;
    object-fit:cover;
    border-radius:16px;
    border:1px solid #eadfce;
    box-shadow:0 8px 18px rgba(61,38,24,.08);
    background:#fff;
}


/* Galería: evita que textos alternativos se vean pegados si una imagen falta */
.home-gallery-card img,
.gallery-thumb{
    background:#eadcc8;
    color:transparent;
}

.home-gallery-card{
    min-height:185px;
}


/* =========================================================
   Index: galería agrupada por categoría
   ========================================================= */
.home-gallery-category-nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}

.home-gallery-category-nav a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 15px;
    border-radius:999px;
    background:#fff;
    color:var(--brown);
    text-decoration:none;
    font-weight:850;
    box-shadow:0 10px 25px rgba(59,36,23,.08);
    border:1px solid rgba(92,55,28,.12);
    transition:transform .2s ease, background .2s ease, color .2s ease;
}

.home-gallery-category-nav a:hover{
    transform:translateY(-2px);
    background:var(--brown);
    color:#fff;
}

.home-gallery-category-nav span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:26px;
    height:26px;
    padding:0 8px;
    border-radius:999px;
    background:var(--gold);
    color:#fff;
    font-size:.78rem;
}

.home-gallery-categories{
    display:grid;
    gap:34px;
}

.home-gallery-category-block{
    background:rgba(255,255,255,.72);
    border:1px solid rgba(92,55,28,.11);
    border-radius:30px;
    padding:24px;
    box-shadow:0 18px 48px rgba(59,36,23,.08);
    scroll-margin-top:120px;
}

.home-gallery-category-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
    padding-bottom:16px;
    border-bottom:1px solid rgba(92,55,28,.10);
}

.home-gallery-category-header h3{
    margin:3px 0 0;
    color:var(--brown);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.65rem,3vw,2.55rem);
}

.home-gallery-category-header strong{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:9px 14px;
    background:#f7efe4;
    color:#8a6530;
    font-weight:900;
}

.home-gallery-category-block .home-gallery-card .gallery-thumb{
    height:220px;
}

.home-gallery-category-block .home-gallery-card span{
    width:auto;
    text-align:left;
}

@media(max-width:767px){
    .home-gallery-category-block{
        padding:18px;
        border-radius:24px;
    }

    .home-gallery-category-header{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }

    .home-gallery-category-nav{
        justify-content:flex-start;
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:8px;
        scrollbar-width:thin;
    }

    .home-gallery-category-nav a{
        flex:0 0 auto;
    }

    .home-gallery-category-block .home-gallery-card .gallery-thumb{
        height:170px;
    }
}


/* Galería del index igual a la página Galería: filtros por botón y sin títulos en las fotos */
.home-gallery-filter-buttons{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
}

.home-gallery-filter-buttons .btn{
    border-radius:999px;
    padding:.48rem .95rem;
    font-weight:800;
}

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

.home-gallery-filter-item{
    display:block;
}

.home-gallery-card.no-caption{
    border-radius:22px;
    overflow:hidden;
    width:100%;
    height:100%;
    min-height:0;
    box-shadow:0 12px 34px rgba(59,36,23,.12);
}

.home-gallery-card.no-caption .gallery-thumb{
    width:100%;
    height:250px;
    object-fit:cover;
    display:block;
}

.home-gallery-card.no-caption span,
.home-gallery-card.no-caption::after,
.home-gallery-card.no-caption::before{
    display:none!important;
    content:none!important;
}

.home-gallery-card.no-caption:hover .gallery-thumb{
    transform:scale(1.045);
    filter:brightness(.92);
}

.home-gallery-lightbox-info h3{
    display:none!important;
}

.home-gallery-lightbox-info{
    text-align:center;
}

@media(max-width:991px){
    .home-gallery-filter-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:14px;
    }

    .home-gallery-card.no-caption .gallery-thumb{
        height:220px;
    }
}

@media(max-width:575px){
    .home-gallery-filter-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:10px;
    }

    .home-gallery-card.no-caption{
        border-radius:16px;
    }

    .home-gallery-card.no-caption .gallery-thumb{
        height:155px;
    }
}


/* =========================================================
   Sección pública de testimonios
   ========================================================= */
.testimonials-section{
    position:relative;
    background:
        radial-gradient(circle at 8% 15%, rgba(197,154,82,.14), transparent 28%),
        linear-gradient(180deg,#fffaf3 0%,#fff 100%);
    overflow:hidden;
}

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

.testimonial-card{
    position:relative;
    height:100%;
    background:#fff;
    border:1px solid rgba(92,55,28,.10);
    border-radius:28px;
    padding:28px;
    box-shadow:0 18px 50px rgba(59,36,23,.09);
    transition:transform .25s ease, box-shadow .25s ease;
}

.testimonial-card:hover{
    transform:translateY(-5px);
    box-shadow:0 24px 60px rgba(59,36,23,.14);
}

.testimonial-card::before{
    content:"“";
    position:absolute;
    top:12px;
    right:24px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:6rem;
    line-height:1;
    color:rgba(197,154,82,.16);
    pointer-events:none;
}

.testimonial-stars{
    display:flex;
    gap:4px;
    color:var(--gold);
    margin-bottom:18px;
}

.testimonial-card blockquote{
    position:relative;
    z-index:1;
    margin:0 0 24px;
    color:#5f5147;
    font-size:1rem;
    line-height:1.65;
}

.testimonial-person{
    display:flex;
    align-items:center;
    gap:14px;
}

.testimonial-person img,
.testimonial-avatar{
    width:58px;
    height:58px;
    border-radius:50%;
    flex:0 0 58px;
}

.testimonial-person img{
    object-fit:cover;
    border:3px solid #f1dfc7;
}

.testimonial-avatar{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f7efe4;
    color:var(--gold);
    font-size:1.45rem;
}

.testimonial-person strong{
    display:block;
    color:var(--brown);
    font-weight:900;
}

.testimonial-person small{
    display:block;
    color:#8a7869;
}

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

@media(max-width:575px){
    .testimonials-grid{
        grid-template-columns:1fr;
    }

    .testimonial-card{
        padding:24px;
        border-radius:24px;
    }
}
