/* ================================================
   BELLANOVA — CSS PRINCIPAL v2
   #002a47 azul · #b28b3d dorado · #f5f0dc perla
================================================ */
@import url('https://fonts.googleapis.com/css2?family=Gambetta:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Red+Hat+Display:wght@300;400;500;600&display=swap');

:root {
  --az:#002a47; --do:#b28b3d; --pe:#f5f0dc;
  --ro:#f9ccc7; --ve:#4f7049; --bl:#ffffff;
  --mu:rgba(0,42,71,.55);
  --g:'Gambetta',serif; --r:'Red Hat Display',sans-serif;
  --t:.38s cubic-bezier(.25,.46,.45,.94);
  --sh:0 4px 28px rgba(0,42,71,.13);
  --max:1280px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--r);font-weight:300;color:var(--az);background:var(--bl);overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit;transition:var(--t)}
ul{list-style:none}

/* ── CONTENEDOR ── */
.bel-wrap{max-width:var(--max);margin:0 auto;padding:0 2rem}

/* ── SECCIONES ── */
.bel-sec{padding:5.5rem 0;position:relative}
.bel-sec-bl{background:var(--bl)}
.bel-sec-pe{background:var(--pe)}
.bel-sec-az{background:var(--az)}

/* ── ENCABEZADOS ── */
.bel-sh{text-align:center;max-width:680px;margin:0 auto 3.5rem}
.bel-sh-l{text-align:left;margin:0 0 2.5rem}
.bel-eyebrow{font-size:.65rem;letter-spacing:.42em;text-transform:uppercase;color:var(--do);font-weight:500;display:block;margin-bottom:.8rem}
.bel-eyebrow-lt{color:rgba(178,139,61,.78)}
.bel-h2{font-family:var(--g);font-size:clamp(1.6rem,3.5vw,2.5rem);font-weight:600;color:var(--az);letter-spacing:.06em;text-transform:uppercase;line-height:1.12;margin-bottom:.4rem}
.bel-h2 em{font-style:italic;font-weight:400;color:var(--do);font-size:1.07em;text-transform:none;letter-spacing:.03em}
.bel-h2-lt{color:var(--bl)}
.bel-body{font-size:.95rem;color:var(--mu);line-height:1.82;margin-top:.7rem}
.bel-body-lt{color:rgba(255,255,255,.5)}

/* ── DIVISOR ── */
.bel-div{display:flex;align-items:center;gap:.7rem;margin:1rem 0;width:fit-content}
.bel-div.c{margin:1rem auto}
.bel-div::before{content:'';width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--do))}
.bel-div::after{content:'';width:26px;height:1px;background:linear-gradient(90deg,var(--do),transparent)}
.bel-div-d{width:5px;height:5px;background:var(--do);transform:rotate(45deg);flex-shrink:0}

/* ── BOTONES ── */
.bel-btn{display:inline-block;font-family:var(--r);font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:.85rem 2.2rem;border:2px solid transparent;cursor:pointer;transition:var(--t);line-height:1}
.bel-btn-do{background:var(--do);color:var(--bl);border-color:var(--do)}
.bel-btn-do:hover{background:transparent;color:var(--do)}
.bel-btn-az{background:var(--az);color:var(--bl);border-color:var(--az)}
.bel-btn-az:hover{background:transparent;color:var(--az)}
.bel-btn-obl{background:transparent;color:var(--bl);border-color:rgba(255,255,255,.45)}
.bel-btn-obl:hover{border-color:var(--do);color:var(--do)}
.bel-btn-odo{background:transparent;color:var(--do);border-color:var(--do)}
.bel-btn-odo:hover{background:var(--do);color:var(--bl)}

/* ── TOP BAR ── */
.bel-topbar{background:var(--az);padding:.45rem 0;border-bottom:1px solid rgba(178,139,61,.2)}
.bel-topbar-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.bel-tb-loc{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:rgba(255,255,255,.58);font-weight:300;letter-spacing:.04em}
.bel-tb-loc svg{flex-shrink:0;opacity:.7}
.bel-tb-ct{display:flex;gap:1.4rem}
.bel-tb-ct a{font-size:.7rem;color:rgba(255,255,255,.48);letter-spacing:.03em;display:flex;align-items:center;gap:.3rem}
.bel-tb-ct a:hover{color:var(--do)}

/* ── NAVBAR ── */
.bel-nav{background:var(--bl);position:sticky;top:0;z-index:9999;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid rgba(0,42,71,.09);transition:box-shadow var(--t)}
.bel-nav.scrolled{box-shadow:var(--sh)}
.bel-logo img{height:44px;width:auto}
.bel-nav-links{display:flex;gap:2px}
.bel-nav-links a{font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--az);padding:.5rem .7rem;position:relative}
.bel-nav-links a::after{content:'';position:absolute;bottom:0;left:.7rem;right:.7rem;height:1.5px;background:var(--do);transform:scaleX(0);transition:transform .3s ease}
.bel-nav-links a:hover::after,.bel-nav-links a.active::after{transform:scaleX(1)}
.bel-nav-links a:hover,.bel-nav-links a.active{color:var(--do)}
.bel-nav-cta{background:var(--do);color:var(--bl);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:.7rem 1.5rem;border:none;cursor:pointer;transition:var(--t)}
.bel-nav-cta:hover{background:var(--az)}
.bel-ham{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.3rem}
.bel-ham span{width:24px;height:1.5px;background:var(--az);display:block;transition:var(--t);border-radius:1px}
.bel-nav-deco{height:2px;background:linear-gradient(90deg,transparent 4%,var(--do) 28%,var(--do) 72%,transparent 96%);opacity:.48}

/* ── HERO ── */
.bel-hero{height:100vh;min-height:620px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.bel-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.bel-hero-ov{position:absolute;inset:0;background:linear-gradient(150deg,rgba(0,42,71,.9) 0%,rgba(0,42,71,.62) 55%,rgba(0,42,71,.88) 100%)}
.bel-hero-c{position:relative;z-index:2;text-align:center;padding:0 2rem;animation:heroIn 1.2s ease forwards}
@keyframes heroIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.bel-hero-eyebrow{font-size:.68rem;letter-spacing:.44em;text-transform:uppercase;color:rgba(178,139,61,.82);font-weight:300;display:block;margin-bottom:1.2rem}
.bel-hero-logo{height:80px;width:auto;display:block;margin:0 auto 1.2rem}
.bel-hero-tag{font-family:var(--g);font-style:italic;font-size:clamp(1.2rem,3vw,2rem);font-weight:300;color:rgba(255,255,255,.86);line-height:1.45}
.bel-hero-tag em{color:rgba(178,139,61,.92)}
.bel-hero-btns{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}
.bel-hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.4rem;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.38);animation:pulse 2s ease-in-out infinite}
.bel-hero-scroll-l{width:1px;height:34px;background:linear-gradient(to bottom,var(--do),transparent)}
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:.9}}

/* ── ICON BAR ── */
.bel-ibar{background:var(--bl);border-bottom:1px solid rgba(0,42,71,.08);padding:1rem 0}
.bel-ibar-in{display:flex;justify-content:center}
.bel-ib{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:0 1.8rem;border-right:1px solid rgba(0,42,71,.08);cursor:pointer;transition:var(--t);text-decoration:none}
.bel-ib:last-child{border-right:none}
.bel-ib img{width:30px;height:30px;object-fit:contain;transition:transform var(--t)}
.bel-ib:hover img{transform:translateY(-2px)}
.bel-ib span{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(0,42,71,.48);font-weight:500;transition:var(--t)}
.bel-ib:hover span{color:var(--do)}

/* ── NOSOTROS ── */
.bel-about-g{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.bel-ai{position:relative;height:380px}
.bel-ai-main{position:absolute;top:0;left:0;right:48px;bottom:48px;overflow:hidden}
.bel-ai-main img{width:100%;height:100%;object-fit:cover}
.bel-ai-acc{position:absolute;bottom:0;right:0;width:48%;height:48%;overflow:hidden;border:6px solid var(--pe);box-shadow:var(--sh)}
.bel-ai-acc img{width:100%;height:100%;object-fit:cover}
.bel-ai-fr{position:absolute;top:-12px;left:-12px;width:44%;height:44%;border:1px solid rgba(178,139,61,.42)}
.bel-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.bel-stat{padding:1.1rem 1rem;border-top:2px solid var(--do);background:rgba(255,255,255,.7)}
.bel-stat-n{font-family:var(--g);font-size:2rem;font-weight:600;color:var(--az);line-height:1}
.bel-stat-l{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(0,42,71,.42);margin-top:.3rem}

/* ── EVENTOS ── */
.bel-ev-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.bel-evc{border:1px solid rgba(0,42,71,.09);overflow:hidden;background:var(--bl);transition:var(--t)}
.bel-evc:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.bel-evc-img{position:relative;overflow:hidden;aspect-ratio:4/3}
.bel-evc-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.bel-evc:hover .bel-evc-img img{transform:scale(1.05)}
.bel-evc-badge{position:absolute;bottom:10px;right:10px;width:38px;height:38px;background:rgba(255,255,255,.92);border-radius:50%;display:flex;align-items:center;justify-content:center}
.bel-evc-badge img{width:22px;height:22px;object-fit:contain}
.bel-evc-body{padding:1.2rem;border-top:2px solid var(--do)}
.bel-evc-tag{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--do);font-weight:500;display:block;margin-bottom:.3rem}
.bel-evc-h{font-family:var(--g);font-size:1rem;font-weight:600;color:var(--az);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.4rem}
.bel-evc-p{font-size:.85rem;color:var(--mu);line-height:1.65}

/* ── GALERÍA MASONRY ── */
.bel-gal-g{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:220px 220px;gap:10px;margin-top:2.5rem}
.bel-gi{overflow:hidden;position:relative;cursor:pointer}
.bel-gi.w{grid-column:span 2}
.bel-gi.t{grid-row:span 2}
.bel-gi img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.bel-gi:hover img{transform:scale(1.05)}
.bel-gi-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,42,71,.88) 0%,transparent 55%);opacity:0;transition:opacity .35s ease;display:flex;flex-direction:column;justify-content:flex-end;padding:1.2rem}
.bel-gi:hover .bel-gi-ov{opacity:1}
.bel-gi-ov h3{font-family:var(--g);font-size:.95rem;font-weight:600;color:var(--bl);letter-spacing:.06em;text-transform:uppercase}
.bel-gi-ov span{font-size:.65rem;letter-spacing:.13em;color:rgba(178,139,61,.9);text-transform:uppercase}

/* ── SALONES ── */
.bel-sal-g{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.5rem}
.bel-sc{border:1px solid rgba(0,42,71,.09);overflow:hidden;background:var(--bl);transition:var(--t)}
.bel-sc:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.bel-sc.full{grid-column:span 2}
/* IMÁGENES CORREGIDAS — aspect-ratio en lugar de height fija */
.bel-sc-img{aspect-ratio:16/9;overflow:hidden;display:block;width:100%}
.bel-sc.full .bel-sc-img{aspect-ratio:21/9}
.bel-sc-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .55s ease}
.bel-sc:hover .bel-sc-img img{transform:scale(1.04)}
.bel-sc-body{padding:1.2rem;border-top:2px solid var(--do)}
.bel-sc-badge{display:inline-block;background:var(--do);color:var(--bl);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:.25rem .7rem;font-weight:600;margin-bottom:.5rem}
.bel-sc-name{font-family:var(--g);font-size:1.1rem;font-weight:600;color:var(--az);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.5rem}
.bel-sc-info{display:flex;flex-direction:column;gap:.25rem}
.bel-sc-info span{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;color:var(--mu);line-height:1.5}
.bel-sc-info span::before{content:'';width:4px;height:4px;background:var(--do);transform:rotate(45deg);flex-shrink:0;margin-top:.4rem}

/* ── JARDÍN ── */
.bel-jd-g{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.bel-jd-cap{background:rgba(178,139,61,.12);border:1px solid rgba(178,139,61,.28);padding:.9rem 1.2rem;margin:1rem 0}
.bel-jd-cap p{font-size:1rem;color:var(--do);font-weight:600;letter-spacing:.05em}
.bel-jd-cap span{font-size:.82rem;color:rgba(255,255,255,.45);margin-top:.2rem;display:block}
.bel-jd-imgs{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:180px 180px;gap:8px}
.bel-jd-im{overflow:hidden}
.bel-jd-im img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.bel-jd-im:hover img{transform:scale(1.05)}
.bel-jd-im.tall{grid-row:span 2}

/* ── SERVICIOS ── */
.bel-srv-g{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:2.5rem}
.bel-srv-lst{display:flex;flex-direction:column}
.bel-srv-it{display:flex;align-items:flex-start;gap:.8rem;padding:.75rem 0;border-bottom:1px solid rgba(0,42,71,.07);font-size:.9rem;color:var(--mu);line-height:1.5}
.bel-srv-it::before{content:'';width:4px;height:4px;background:var(--do);transform:rotate(45deg);flex-shrink:0;margin-top:.4rem}
.bel-srv-note{background:var(--az);padding:1rem 1.2rem;margin-top:1rem}
.bel-srv-note p{font-family:var(--g);font-style:italic;font-size:.92rem;color:rgba(178,139,61,.9);line-height:1.6}
.bel-srv-imgs{display:flex;flex-direction:column;gap:8px}
.bel-srv-img-m{aspect-ratio:4/3;overflow:hidden}
.bel-srv-img-m img{width:100%;height:100%;object-fit:cover}
.bel-srv-img-r{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bel-srv-img-r div{aspect-ratio:1;overflow:hidden}
.bel-srv-img-r div img{width:100%;height:100%;object-fit:cover}

/* ── MENÚS ── */
.bel-menu-g{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;margin-top:2.5rem}
.bel-mc{background:var(--bl);overflow:hidden;box-shadow:var(--sh)}
.bel-mc-top{padding:2rem 1.8rem 1.6rem;text-align:center;border-bottom:2px solid var(--do)}
.bel-mc-iso{width:52px;height:52px;border:1px solid rgba(178,139,61,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;position:relative}
.bel-mc-iso::before{content:'';position:absolute;inset:3px;border:1px solid rgba(178,139,61,.18);border-radius:50%}
.bel-mc-iso img{width:28px;height:28px;object-fit:contain}
.bel-mc-tag{display:inline-block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;padding:.25rem .9rem;margin-bottom:.8rem}
.bel-mc-tag.p{background:var(--az);color:var(--do)}
.bel-mc-tag.c{background:var(--do);color:var(--bl)}
.bel-mc-name{font-family:var(--g);font-size:1.5rem;font-weight:600;color:var(--az);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.3rem}
.bel-mc-sub{font-size:.88rem;color:rgba(0,42,71,.48);font-style:italic;line-height:1.55}
.bel-mc-body{padding:1.5rem 1.8rem}
.bel-mc-lst{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}
.bel-mc-li{display:flex;align-items:flex-start;gap:.7rem;font-size:.9rem;color:var(--mu);line-height:1.45}
.bel-mc-li::before{content:'';width:4px;height:4px;background:var(--do);transform:rotate(45deg);flex-shrink:0;margin-top:.4rem}
.bel-mc-dl{display:flex;align-items:center;justify-content:center;gap:.6rem;color:var(--bl);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:1rem 0;width:100%;border:none;cursor:pointer;font-family:var(--r);transition:var(--t);text-decoration:none}
.bel-mc-dl.p{background:var(--az)}
.bel-mc-dl.p:hover{background:#001d30}
.bel-mc-dl.c{background:var(--do)}
.bel-mc-dl.c:hover{background:var(--ve)}
.bel-mc-dl svg{flex-shrink:0}

/* ── RESERVAS ── */
.bel-res-g{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:2.5rem}
.bel-pasos{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.5rem}
.bel-paso{display:flex;gap:1rem;align-items:flex-start}
.bel-paso-n{width:30px;height:30px;border:1px solid var(--do);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--g);font-size:.85rem;font-weight:600;color:var(--do);flex-shrink:0}
.bel-paso h4{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--az);font-weight:600;margin-bottom:.2rem}
.bel-paso p{font-size:.85rem;color:var(--mu);line-height:1.5}

/* ── FORMULARIOS ── */
.bel-form-box{background:var(--bl);border:1px solid rgba(0,42,71,.1);padding:2.2rem;box-shadow:var(--sh)}
.bel-form-box-pe{background:var(--pe)}
.bel-form-h{font-family:var(--g);font-size:1.2rem;font-weight:600;color:var(--az);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.3rem}
.bel-form-deco{width:24px;height:2px;background:var(--do);margin-bottom:1.4rem}
.bel-fg{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}
.bel-fg label{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--az);font-weight:500}
.bel-fg input,.bel-fg select,.bel-fg textarea{background:#f8f6f2;border:none;border-bottom:2px solid #e0ddd5;padding:.7rem .9rem;font-family:var(--r);font-size:.9rem;color:var(--az);width:100%;transition:border-color var(--t);-webkit-appearance:none;border-radius:0;outline:none}
.bel-fg input:focus,.bel-fg select:focus,.bel-fg textarea:focus{border-bottom-color:var(--do);background:var(--bl)}
.bel-fg textarea{min-height:100px;resize:vertical}
.bel-fg input::placeholder,.bel-fg textarea::placeholder{color:rgba(0,42,71,.35)}
.bel-fg-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.bel-form-sub{background:var(--do);color:var(--bl);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:1rem 0;width:100%;border:none;margin-top:.5rem;cursor:pointer;font-family:var(--r);transition:var(--t)}
.bel-form-sub:hover{background:var(--az)}

/* ── CONTACTO ── */
.bel-ct-g{display:grid;grid-template-columns:1fr 1.3fr;gap:4rem;align-items:start}
.bel-ct-lst{display:flex;flex-direction:column;gap:1.3rem;margin-top:1.8rem}
.bel-ci{display:flex;gap:.9rem;align-items:flex-start}
.bel-ci-ic{width:38px;height:38px;border:1px solid rgba(178,139,61,.38);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bel-ci-ic img{width:18px;height:18px;object-fit:contain}
.bel-ci h4{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--do);margin-bottom:.2rem;font-weight:600}
.bel-ci p{font-size:.88rem;color:rgba(0,42,71,.55);line-height:1.55}
.bel-wa-bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:rgba(37,211,102,.08);border:1px solid rgba(37,211,102,.28);padding:1rem 1.2rem;margin-top:1rem}
.bel-wa-bar h5{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--az);font-weight:600;margin-bottom:.2rem}
.bel-wa-bar p{font-size:.82rem;color:var(--mu)}
.bel-wa-btn{background:#25d366;color:var(--bl);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.7rem 1.2rem;border:none;cursor:pointer;white-space:nowrap;font-family:var(--r);flex-shrink:0;transition:var(--t)}
.bel-wa-btn:hover{background:#1daa53}

/* ── CTA ── */
.bel-cta{background:var(--do);padding:3.5rem 0;text-align:center}
.bel-cta h2{font-family:var(--g);font-size:clamp(1.4rem,3vw,2.2rem);font-weight:600;color:var(--az);letter-spacing:.11em;text-transform:uppercase;margin-bottom:.3rem}
.bel-cta h2 em{font-style:italic;font-weight:400}
.bel-cta p{font-size:.9rem;color:rgba(0,42,71,.6);margin-bottom:1.8rem;line-height:1.7}
.bel-cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ── FOOTER ── */
.bel-footer{background:var(--az);padding:3.5rem 0 0}
.bel-ft-g{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(178,139,61,.16)}
.bel-ft-logo img{height:36px;width:auto;margin-bottom:.9rem}
.bel-ft-desc{font-size:.85rem;color:rgba(255,255,255,.36);line-height:1.75;margin-bottom:1rem}
.bel-ft-soc{display:flex;gap:.5rem}
.bel-ft-si{width:28px;height:28px;border:1px solid rgba(178,139,61,.28);display:flex;align-items:center;justify-content:center;color:rgba(178,139,61,.48);font-size:.8rem;cursor:pointer;transition:var(--t)}
.bel-ft-si:hover{background:var(--do);border-color:var(--do);color:var(--bl)}
.bel-ft-col h4{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--do);margin-bottom:1rem;padding-bottom:.7rem;position:relative;font-weight:500}
.bel-ft-col h4::after{content:'';position:absolute;bottom:0;left:0;width:16px;height:1px;background:var(--do);opacity:.48}
.bel-ft-col li{margin-bottom:.55rem;font-size:.85rem;color:rgba(255,255,255,.36);cursor:pointer;transition:var(--t)}
.bel-ft-col li:hover{color:var(--do)}
.bel-ft-addr{font-size:.85rem;color:rgba(255,255,255,.36);line-height:1.82;font-style:normal}
.bel-ft-bot{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;flex-wrap:wrap;gap:.5rem}
.bel-ft-bot p{font-size:.7rem;color:rgba(255,255,255,.18);letter-spacing:.04em}
.bel-ft-bot-l{display:flex;gap:1.2rem}
.bel-ft-bot-l a{font-size:.7rem;color:rgba(255,255,255,.18);transition:var(--t)}
.bel-ft-bot-l a:hover{color:var(--do)}
.bel-ft-deco{height:3px;background:linear-gradient(90deg,transparent 4%,var(--do) 28%,var(--do) 72%,transparent 96%);opacity:.42}

/* ── TOAST ── */
.bel-toast{position:fixed;bottom:2rem;right:2rem;z-index:99999;background:var(--az);border-left:4px solid var(--do);padding:1rem 1.5rem;color:var(--bl);font-size:.88rem;box-shadow:var(--sh);max-width:340px;transform:translateY(100px);opacity:0;transition:var(--t)}
.bel-toast.show{transform:translateY(0);opacity:1}
.bel-toast.error{border-left-color:#e74c3c}

/* ── SCROLL REVEAL ── */
[data-rev]{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
[data-rev].on{opacity:1;transform:translateY(0)}

/* ══════════════════════════════════════════
   PATRONES DE MARCA COMO FONDOS
   URLs corregidas con -scaled
══════════════════════════════════════════ */
.bel-pat{position:relative;overflow:hidden}
.bel-pat::before{content:'';position:absolute;inset:0;background-repeat:repeat;background-size:280px auto;pointer-events:none;z-index:0}
.bel-pat > *{position:relative;z-index:1}

/* Patrón 05 — dorado con B (menús, reservas) */
.bel-pat-05::before{
  background-image:url('Bellanova_Patrones-05.jpg');
  opacity:.08;
}
/* Patrón 06 — crema/verde jardín (nosotros, salones) */
.bel-pat-06::before{
  background-image:url('Bellanova_Patrones-06.jpg');
  opacity:.10;
}
/* Patrón 07 — verde/rosa (contacto, eventos) */
.bel-pat-07::before{
  background-image:url('Bellanova_Patrones-07.jpg');
  opacity:.07;
}
/* Patrón 08 — rosa/azul (galería, quinceañeras) */
.bel-pat-08::before{
  background-image:url('Bellanova_Patrones-08.jpg');
  opacity:.07;
}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .bel-about-g{grid-template-columns:1fr;gap:3.5rem}
  .bel-ai-acc{right:0}
  .bel-jd-g{grid-template-columns:1fr}
  .bel-srv-g{grid-template-columns:1fr}
  .bel-ct-g{grid-template-columns:1fr;gap:3rem}
  .bel-ft-g{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:768px){
  .bel-nav-links,.bel-nav-cta{display:none}
  .bel-ham{display:flex}
  .bel-nav-links.open{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;inset:0;background:var(--az);z-index:9998;gap:2rem}
  .bel-nav-links.open a{font-size:.9rem;color:var(--bl);letter-spacing:.2em}
  .bel-nav-links.open a:hover{color:var(--do)}
  .bel-ev-g{grid-template-columns:1fr}
  .bel-gal-g{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .bel-gi.w,.bel-gi.t{grid-column:auto;grid-row:auto}
  .bel-gi{height:200px}
  .bel-sal-g{grid-template-columns:1fr}
  .bel-sc.full{grid-column:auto}
  .bel-menu-g{grid-template-columns:1fr}
  .bel-res-g{grid-template-columns:1fr}
  .bel-fg-2{grid-template-columns:1fr}
  .bel-ft-g{grid-template-columns:1fr}
  .bel-ft-bot{flex-direction:column;text-align:center}
  .bel-ibar-in{flex-wrap:wrap;justify-content:center}
  .bel-ib{padding:.5rem 1.2rem;width:33%;border-right:none;border-bottom:1px solid rgba(0,42,71,.08)}
  .bel-stats{grid-template-columns:1fr 1fr}
  .bel-tb-ct{display:none}
}
@media(max-width:480px){
  .bel-gal-g{grid-template-columns:1fr}
  .bel-hero-btns{flex-direction:column;align-items:center}
  .bel-stats{grid-template-columns:1fr}
  .bel-jd-imgs{grid-template-columns:1fr;grid-template-rows:160px 160px 160px}
  .bel-jd-im.tall{grid-row:auto}
  .bel-ib{width:50%}
}
