/* styles.css — estilos personalizados para 17 BARBER STUDIO */

/* Navbar personalizado similar a la imagen */
.navbar-custom { background: #0e0e0e; border-bottom: 1px solid rgba(255,255,255,0.03); }
.navbar-custom .navbar-brand img { object-fit: cover; border-radius: 50%; border: 2px solid rgba(255,255,255,0.12); }
.navbar-custom .nav-link { color: #ddd; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.navbar-custom .nav-link.active, .navbar-custom .nav-link:hover { color: var(--brand-gold) !important; }
.navbar-custom .navbar-nav.mx-auto { gap: 2rem; }
.navbar-custom .contact-link { color: #ddd; font-weight: 700; }
@media (max-width: 991px) {
    .navbar-custom .navbar-nav.mx-auto { margin-top: 0.5rem; gap: 1rem; }
}

/* Hero (full-bleed background + overlay) */
.hero { position: relative; color: #fff; padding: 8rem 0; min-height: 72vh; background-image: url('../img/Screenshot 2026-01-08 222132.png'); background-size: cover; background-position: center right; background-repeat: no-repeat; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,11,11,0.55), rgba(11,11,11,0.55)); z-index: 0; }
.hero .container { position: relative; z-index: 1; }
.hero .hero-title { font-size: 3.5rem; font-weight: 800; line-height: 1; text-transform: uppercase; margin-bottom: .6rem; color: #fff; }
.hero .hero-sub { font-size: 1.1rem; color: #d1d1d1; margin-bottom: 1.5rem; }
.btn-cta { background: var(--brand-gold) !important; border-color: var(--brand-gold) !important; color: #111; padding: .7rem 1.1rem; font-weight: 700; border-radius: .4rem; }
.btn-cta:hover { background: var(--brand-gold-dark) !important; border-color: var(--brand-gold-dark) !important; color: #fff; }
@media (min-width: 1200px) {
    .hero { padding: 10rem 0; }
    .hero .hero-title { font-size: 4.2rem; }
}
@media (max-width: 991px) {
    .hero { padding: 4rem 0; background-position: center; }
    .hero .hero-title { font-size: 2rem; }
    .hero .hero-sub { font-size: 1rem; }
}
/* keep hero-img in case it is used elsewhere */
.hero-img { display: none; }

/* Services section */
.services-section { background: #f7f8f9; }
.section-title { font-size: 1.75rem; font-weight: 800; color: #0f1720; margin-bottom: .25rem; }
.section-sub { color: #6b6b6b; margin-bottom: 1.75rem; }
.service-col { padding: 0 1.25rem; }
@media (min-width: 768px) {
    .service-col:not(:last-child) { border-right: 1px solid rgba(15,23,32,0.06); }
}
.service-card { padding: 1.25rem; background: transparent; border-radius: .6rem; transition: transform .22s, box-shadow .22s; }
.service-icon { width:84px; height:84px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; background:#fff; border:1px solid rgba(0,0,0,0.06); color:#0f1720; box-shadow: 0 8px 22px rgba(10,10,10,0.06); }
.service-icon svg { width:40px; height:40px; display:block; }
.service-icon .icon-fill { fill:var(--brand-gold) !important; stroke:none; }
.service-icon .icon-stroke { stroke:var(--brand-gold) !important; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.service-card h3 { margin-bottom:.5rem; font-weight:700; color:#111; }
.service-card p { color:#6b6b6b; }
.service-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(10,10,10,0.06); }




/* Page header for reservas */
.page-header { margin-top: 1rem; }
.page-title { font-size: 2rem; font-weight: 800; text-transform: none; letter-spacing: 0.04em; color: #fff; }
.page-title .text-gold { color: var(--brand-gold) !important; font-weight: 900; }
@media (min-width: 992px) {
    .page-title { font-size: 2.6rem; }
}

/* Reservas page visual refresh */
.reservas-page { background: linear-gradient(180deg,#fbfaf8,#f3efe8); min-height: 100vh; color: #222; }
.reservas-card { background: linear-gradient(180deg,#fff,#fcfbf9); border-radius: .9rem; padding: 1.75rem; box-shadow: 0 20px 50px rgba(16,20,24,0.08), inset 0 1px 0 rgba(255,255,255,0.6); border: 1px solid rgba(198,170,110,0.12); position: relative; overflow: hidden; }
.reservas-card::before { content: ""; position: absolute; left: 0; top: 0; height: 6px; width: 100%; background: linear-gradient(90deg,var(--brand-gold),var(--brand-gold-dark)) !important; z-index: 2; }
.reservas-card .page-title { color: #0f1720; }
.reservas-card .page-title .text-gold { color: #b57f25; text-shadow: 0 1px 0 rgba(255,255,255,0.4); }
.reservas-card .lead { color: #6b6b6b; margin-bottom: 1rem; }
.reservas-card .decor-sub { display:inline-block; padding: .25rem .6rem; background: rgba(var(--brand-gold-rgb),0.08); border-radius: .4rem; color:var(--brand-gold-dark); font-weight:600; margin-bottom: .8rem; font-size:.9rem; }
/* larger, full-width calendly inside card */
.calendly-widget { width: 100%; height: 920px; max-width: 100%; min-width: 300px; border-radius: .5rem; overflow: hidden; border: 1px solid rgba(0,0,0,0.04); box-shadow: 0 8px 30px rgba(18,18,18,0.06); }
@media (max-width: 767px) {
    .calendly-widget { height: 700px; }
    .reservas-card { padding: 1rem; }
}

/* Galería - Próximamente */
:root { --gold: var(--brand-gold); --gold-dark: var(--brand-gold-dark); --bg:#0e0e0e; --soft:#d1d1d1; }
.gallery-page { min-height:100vh; display:flex; flex-direction:column; background: radial-gradient(1200px 600px at 15% 20%, rgba(var(--brand-gold-rgb),0.04), transparent), var(--bg); color:#fff; font-family: "Helvetica Neue", Arial, sans-serif; }
.gallery-page main { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.25rem; padding:2.5rem 0; }
.gallery-page .card-sign{ margin:0 auto; display:flex; align-items:center; justify-content:center; width:min(760px,92vw); padding:2.25rem 1.6rem; border-radius:1rem; background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01)); border: 1px solid rgba(var(--brand-gold-rgb),0.12); box-shadow: 0 18px 60px rgba(8,8,8,0.6), 0 0 50px rgba(var(--brand-gold-rgb),0.04) inset; text-align:center;} 
.gallery-page .sign-text{
  font-size: clamp(2rem,6vw,3.6rem);
  font-weight: 900;
  letter-spacing: 0.02em;
  color: #171717 !important; /* negro grafito */
  text-transform: uppercase;
  display: inline-block;
  padding: 0.35rem 0.9rem;
  border-radius: 0.6rem;
  background: transparent;
  text-shadow: none;
  -webkit-text-stroke: 0.2px rgba(0,0,0,0.06);
}
.gallery-page .sign-text .dots{color:var(--brand-gold-dark); margin-left:.35rem; font-weight:900}
@keyframes glow { 0% { box-shadow: 0 6px 30px rgba(var(--brand-gold-rgb),0.06); } 50% { box-shadow: 0 14px 40px rgba(var(--brand-gold-rgb),0.09); } 100% { box-shadow: 0 6px 30px rgba(var(--brand-gold-rgb),0.06); } }
.gallery-page .card-sign{ animation: glow 4s ease-in-out infinite; }
.gallery-page .hint{display:block;margin-top:1.05rem;color:var(--soft);font-weight:600;letter-spacing:0.02em;font-size:.95rem}
@media (max-width:992px){
  .gallery-page main { padding:1.6rem 0; }
  .gallery-page .card-sign{ width:min(640px,94vw); padding:1.5rem 1rem }
  .gallery-page .sign-text{font-size:clamp(1.6rem,6vw,2.6rem)}
}
@media (max-width:420px){ .gallery-page .card-sign{padding:1.2rem .8rem} }

/* Gallery grid (rediseño adaptado al nuevo color) */
.gallery-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap:1rem; max-width:1200px; margin:2rem auto; padding:0 1rem; }
.gallery-item { border-radius:.8rem; overflow:hidden; position:relative; border:1px solid rgba(var(--brand-gold-rgb),0.10); box-shadow: 0 10px 30px rgba(0,0,0,0.45); background:#0b0b0b; }
.gallery-item img { width:100%; height:260px; object-fit:cover; display:block; }
.gallery-item .overlay { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0), rgba(var(--brand-gold-rgb),0.12)); opacity:0; transition: opacity .18s ease; }
.gallery-item:hover .overlay { opacity:1; }
.gallery-item .caption { position:absolute; left:1rem; bottom:1rem; color:#fff; font-weight:800; text-shadow: 0 2px 6px rgba(0,0,0,0.6); }

/* Secondary button matching palette */
.btn-secondary-ghost { background: transparent; border: 1px solid var(--brand-gold); color: var(--brand-gold); font-weight: 700; padding: .55rem .9rem; border-radius: .4rem; display: inline-block; }
.btn-secondary-ghost:hover, .btn-secondary-ghost:focus { background: var(--brand-gold); color: #111; text-decoration: none; }
.btn-secondary-ghost + .btn-ghost-space { margin-left: .5rem; }

/* Theme variables (graphite background + brand color) */
:root{ --gold: var(--brand-gold); --gold-dark: var(--brand-gold-dark); --bg: #171717; --bg-dark:#121212; --muted: rgba(255,255,255,0.65); }

/* Footer styles */
.site-footer { background: var(--bg-dark); color: #fff; }
.site-footer .footer-brand { font-weight: 800; letter-spacing: 0.04em; color: #fff; }
.site-footer .footer-brand-link img { border: 2px solid rgba(255,255,255,0.06); }
.site-footer .socials a { color: var(--gold); opacity: 1; transition: color .18s, transform .18s; display:inline-block; }
.site-footer .socials a .social-icon-svg { width: 22px; height: 22px; display:block; }
.site-footer .socials a:hover { color: #e0b65a; transform: translateY(-4px) scale(1.05); }
.site-footer .socials a:focus { outline: 3px solid rgba(197,158,64,0.14); outline-offset: 4px; border-radius: 6px; }
.site-footer .footer-contact { color: #ffffff; font-weight: 700; }
.site-footer .footer-hours { color: rgba(255,255,255,0.88); }
.site-footer .small { color: rgba(255,255,255,0.88); }
.site-footer a { color: #fff; text-decoration: none; opacity: 0.95; }
.site-footer a:hover { color: #e0b65a; opacity: 1; }

/* Small embedded map for footer */
.site-footer .footer-map { width: 220px; height: 140px; overflow:hidden; border-radius: .6rem; border:1px solid rgba(255,255,255,0.04); box-shadow: 0 8px 30px rgba(0,0,0,0.45); }
.site-footer .footer-map iframe { width:100%; height:100%; border:0; filter: grayscale(0.4) contrast(0.95) brightness(0.95); display:block; }
.site-footer .map-link a { color: rgba(255,255,255,0.9); text-decoration: none; }
.site-footer .footer-address { color: rgba(255,255,255,0.92); margin-top: .45rem; line-height:1.2; max-width:220px; }
@media (max-width: 767.98px) {
  .site-footer .footer-map { width:100%; height:160px; margin-top: .6rem; }
  .site-footer .map-link { text-align:left; }
  .site-footer .footer-address { max-width:100%; text-align:left; }
}
@media (max-width: 767px) {
    .site-footer .footer-contact, .site-footer .footer-hours { text-align: center; }
    .site-footer .text-md-end { text-align: center !important; }
}

/* Footer small text: force high contrast and better legibility */
.site-footer small,
.site-footer .small,
.site-footer .text-muted,
.site-footer .footer-contact,
.site-footer .footer-hours {
    color: rgba(255,255,255,0.96) !important;
    font-weight: 700;
    font-size: 0.98rem;
    letter-spacing: 0.01em;
}

@media (max-width: 420px) {
    .site-footer small,
    .site-footer .small {
        font-size: 1rem;
    }
}

/* Keep small text readable in lighter sections */
.services-section small, .services-section .small,
.reservas-card small, .reservas-card .small {
    color: #6b6b6b;
    font-weight: 600;
}

/* Saber Más page styles */
.saber-mas-page { min-height: 72vh; padding: 1.25rem 0; background: radial-gradient(1200px 600px at 15% 20%, rgba(197,158,64,0.03), transparent), var(--bg); color: #fff; }
.saber-mas-card { max-width: 1300px; margin: 0 auto; background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.005)); border: 1px solid rgba(197,158,64,0.12); border-radius: 1rem; padding: 2.5rem; display:flex; gap:2.5rem; align-items:stretch; }
.saber-mas-content { flex: 1 1 44%; padding-right: .5rem; }
.saber-mas-title { font-size: 2.4rem; font-weight: 900; color: #fff; text-transform:uppercase; margin-bottom: .6rem; letter-spacing: .02em; }
.saber-mas-subtitle { color: #d1d1d1; margin-bottom: 1rem; font-size:1.05rem }
.saber-m-section { font-size: 1.05rem; font-weight: 800; margin-top: .6rem; color:#fff }
.saber-m-contacts { margin-top: 1.2rem; }
.saber-m-contacts .contact-pill { display:inline-flex; align-items:center; gap:.6rem; margin-right:.6rem; margin-bottom:.5rem; background: rgba(255,255,255,0.02); padding:.45rem .6rem; border-radius:.5rem; border:1px solid rgba(255,255,255,0.03); }

/* Map layout */
.saber-mas-map { flex: 1 1 56%; display:flex; flex-direction:column; gap:1rem; }
.map-embed-wrap { flex: 1; border-radius: .8rem; overflow:hidden; box-shadow: 0 20px 60px rgba(10,10,10,0.6); border:1px solid rgba(255,255,255,0.03); }
.map-embed-wrap iframe { width:100%; height:520px; border:0; display:block; }
.btn-map { display:inline-flex; align-items:center; gap:.8rem; background: rgba(197,158,64,0.06); color: #fff; padding:.6rem .9rem; border-radius:.6rem; font-weight:800; text-decoration:none; border:1px solid rgba(197,158,64,0.12); align-self:flex-start; }
.map-pin { font-size:1.6rem; color: var(--gold); }
.map-address { font-size:.95rem; color:#d1d1d1 }

@media (max-width: 900px) {
    .saber-mas-card { flex-direction: column; }
    .map-embed-wrap iframe { height: 420px; }
    .saber-mas-map { width: 100%; }
    .saber-mas-content { padding-right: 0; }
}

@media (max-width: 420px) {
    .map-embed-wrap iframe { height: 360px; }
}

/* End Saber Más page styles */

/* Contact / icon tweaks for Saber Más */
.saber-m-contacts .contact-pill { color: #fff; background: rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.03); padding:.5rem .7rem; border-radius:.55rem; display:inline-flex; align-items:center; gap:.6rem; transition: transform .16s, box-shadow .16s; }
.saber-m-contacts .contact-pill:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,0.5); }
.saber-m-contacts .contact-icon-svg { color: var(--gold); }
.map-pin-svg { color: var(--gold); display:inline-block; }
.map-link .map-address { color: #d1d1d1; }

/* Ensure iframe is responsive */
.map-embed-wrap iframe { width: 100%; height: 520px; }

/* Legacy / mockup styles */
.legacy-section { padding: 3.5rem 0; }
/* Aclarar "LEGADO" y aplicar dorado exacto del index */
.legacy-eyebrow { color: var(--brand-gold) !important; font-size:5.2rem; font-weight:900; letter-spacing:0.06em; margin:0; }
@media (max-width: 767.98px) {
  /* Hide the oversized eyebrow on small screens and reduce vertical padding */
  .legacy-eyebrow { display: none; }
  .legacy-section { padding: 2rem 0; }
}
.legacy-title { font-size:1.65rem; font-weight:900; margin:0 0 .6rem; }
.legacy-lead { color:#d1d1d1; max-width:640px; }
.legacy-hexagons { gap: .9rem; }
.hex { width:120px; height:104px; background-size:cover; background-position:center; clip-path: polygon(25% 6.7%, 75% 6.7%, 100% 50%, 75% 93.3%, 25% 93.3%, 0% 50%); border:6px solid rgba(var(--brand-gold-rgb),0.14); box-shadow: 0 14px 40px rgba(10,10,10,0.6); }
.hex-lg { width:180px; height:156px; transform: translateY(-10px); }

.map-section { position:relative; margin-top:1.5rem; }
.map-dark { background:#0c0c0c; border-radius: .9rem; overflow:hidden; border:1px solid rgba(255,255,255,0.03); box-shadow: 0 30px 80px rgba(6,6,6,0.6) inset; }
.map-dark iframe { width:100%; height:420px; border:0; filter: grayscale(0.6) contrast(0.9) brightness(0.9); }
.map-overlay { position:absolute; left:3%; bottom:8%; }
.overlay-card { background: linear-gradient(180deg, rgba(11,11,11,0.8), rgba(11,11,11,0.6)); padding:1rem 1.1rem; border-radius:.75rem; border:1px solid rgba(197,158,64,0.12); color:#fff; max-width:380px; box-shadow: 0 6px 30px rgba(10,10,10,0.6); }
.overlay-card h4 { font-size:1rem; font-weight:800; margin:0 0 .25rem; color:#fff }
.overlay-card p { color:#d1d1d1; margin-bottom:.6rem; }

.contact-tiles .tile { border-radius:.9rem; overflow:hidden; min-height:220px; position:relative; border:1px solid rgba(255,255,255,0.02); box-shadow: 0 12px 30px rgba(0,0,0,0.5); }
.tile.modern { display:flex; align-items:center; justify-content:center; }
.tile-inner { padding:1.6rem; text-align:center; color:#fff; }
.tile-logo { margin-bottom: .6rem; }
.tile-sub { color: rgba(255,255,255,0.8); margin: .35rem 0 0.9rem; font-size: .95rem; }
.tile-overlay { padding:1.6rem; text-align:left; color:#fff; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:.6rem; }
.tile h5 { margin:0; font-weight:800; color:#fff; }
.tile .btn { margin-top:.6rem; }

/* Subtle overlay used when tiles used with background images */
.tile::after { content: ""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.22)); pointer-events:none; }

/* individual tile themes */
.tile-cta { background: linear-gradient(135deg, rgba(37,211,102,0.08), rgba(11,11,11,0.02)); }
.tile-gallery { background: linear-gradient(135deg, rgba(245,133,41,0.06), rgba(131,52,175,0.06)); }
.tile-hours { background: linear-gradient(135deg, rgba(255,255,255,0.02), rgba(10,10,10,0.06)); }

/* Hover and interaction */
.tile { transition: transform 220ms cubic-bezier(.2,.9,.2,1), box-shadow 220ms ease; }
.tile:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(0,0,0,0.45); }
.tile .btn { transition: background 160ms ease, color 160ms ease; }

/* Modern glassmorphism + glow tiles */
.tile-glow {
  border-radius: 1rem;
  position: relative;
  background: linear-gradient(180deg, rgba(7,40,20,0.38), rgba(7,40,20,0.22));
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(37,211,102,0.12);
  overflow: visible;
}
.tile-glow .tile-logo { filter: drop-shadow(0 6px 18px rgba(37,211,102,0.35)); }
.tile-glow::before {
  content: ""; position:absolute; inset:-8px; z-index:0; border-radius:1.2rem; background: radial-gradient(ellipse at center, rgba(37,211,102,0.12), transparent 30%); filter: blur(10px); pointer-events:none; opacity:0.95;
}

.tile-ig {
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(245,133,41,0.06), rgba(131,52,175,0.06));
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.04);
}
.tile-ig .tile-logo svg { transform: scale(1.02); }

.tile-hours-minimal {
  border-radius: 0.8rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(10,10,10,0.06));
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,0.03);
}

.open-dot { width:10px; height:10px; border-radius:50%; background:#27d364; box-shadow: 0 0 8px rgba(39,211,100,0.9); display:inline-block; }
@keyframes pulse { 0% { transform: scale(0.9); opacity:0.9 } 50% { transform: scale(1.18); opacity:0.7 } 100% { transform: scale(0.9); opacity:0.9 } }
.open-dot { animation: pulse 1.8s infinite ease-in-out; }

/* Ghost button for tiles */
.btn-ghost { background: transparent; border: 1px solid rgba(255,255,255,0.08); color: #fff; padding: .325rem .7rem; border-radius: .45rem; font-weight:600; }
.btn-ghost:hover { background: rgba(255,255,255,0.03); color: #fff; }

/* small adjustments */
.tile-inner { position: relative; z-index:2; }
.tile { overflow: visible; }



/* Asignar imágenes genéricas modernas a cada tile */
.tile-cta { background-image: none; background: linear-gradient(180deg, rgba(37,211,102,0.08), rgba(11,11,11,0.04)); background-size: cover; background-position: center; }
.tile-gallery { background-image: none; background: linear-gradient(180deg, rgba(221,110,130,0.04), rgba(11,11,11,0.03)); }

/* Brand logo presentation */
.tile-brand { display:flex; align-items:center; justify-content:flex-start; gap:1rem; padding:1.25rem; }
.tile-brand-logo { flex:0 0 96px; display:flex; align-items:center; justify-content:center; }
.brand-logo { border-radius: 22px; box-shadow: 0 10px 30px rgba(10,10,10,0.5); }
.brand-logo-whatsapp { background: transparent; border-radius: 22px; }
.brand-logo-instagram { border-radius: 22px; }
.tile-brand .tile-overlay { padding:0; background:transparent; }
.tile-brand h5 { margin:0 0 .4rem; font-weight:800; }
.tile-brand .btn-secondary-ghost { margin-top:.25rem; }

.tile-gallery { background-image: url('https://images.unsplash.com/photo-1496284045406-d8a90b22c0b1?auto=format&fit=crop&w=1200&q=60'); }
.tile-hours { background-image: url('https://images.unsplash.com/photo-1509475826633-fed577a2c71b?auto=format&fit=crop&w=1200&q=60'); background-size:cover; background-position:center; }

@media (max-width: 900px){
  .legacy-eyebrow { display:none; }
  .legacy-section { padding:2rem 0; }
  .hex { display:none; }
  .map-dark iframe { height:360px; }
  .overlay-card { position:static; margin-top:-3rem; transform:translateY(0); }
}

/* Reduce spacing between header and content, and content and footer for Saber Más */
header.mb-4 { margin-bottom: 0; }
.site-footer.mt-5 { margin-top: 0 !important; }
.saber-mas-page { padding-top: 0.5rem; padding-bottom: 0.75rem; }

/* Calendar styles */
.booking-calendar { padding-bottom: 2rem; }
.calendar-card { background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); border:1px solid rgba(197,158,64,0.08); border-radius: .9rem; padding: 1rem; }
.calendar-ui { flex: 1 1 55%; }
.calendar-header { padding: .45rem .6rem; display:flex; align-items:center; justify-content:space-between; }
.cal-nav { color: #ddd; font-size:1.6rem; border:0; background:transparent; }
.cal-month-year { text-transform:capitalize; font-weight:800; margin:0; color:#fff; }
.calendar-grid { width:100%; border-collapse: collapse; margin-top:.6rem; }
.calendar-grid th { color: rgba(255,255,255,0.6); font-weight:700; padding:.5rem; text-align:center; font-size:.9rem; }
.calendar-grid td { width:14.28%; height:54px; text-align:center; vertical-align:middle; cursor:pointer; padding:.4rem; border-radius:.45rem; }
.calendar-grid td:hover { background: rgba(197,158,64,0.06); }
.calendar-grid td.today { box-shadow: inset 0 0 0 2px rgba(var(--brand-gold-rgb),0.12); }
.calendar-grid td.selected { background: var(--gold); color: #111; font-weight:800; }
.calendar-side { flex: 0 0 40%; padding:.6rem; }
.calendar-side h5 { margin-top:0; font-weight:900; }
@media (max-width: 900px){ .calendar-card{ flex-direction:column; } .calendar-side{ width:100%; }}

/* End contact tweaks */

/* ----------------------------------------------------------------------- */
/* Nuevo color dorado centralizado para todos los botones/interacciones     */
/* Cambia aquí el valor si quieres otro tono (se usará en todo el sitio).   */
:root {
  --brand-gold: #b48ef0; /* más púrpura y más claro (ajustable) */
  --brand-gold-dark: #9f6fe0; /* variante más oscura para hover */
  --brand-gold-rgb: 180,142,240; /* RGB para usar en rgba(...) */
}

/* Botones y CTAs que antes usaban dorado */
.btn-cta,
.btn-secondary-ghost,
.btn-warning,
.btn.btn-gold,
.btn-gold,
.btn-map {
  background-color: var(--brand-gold) !important;
  border-color: var(--brand-gold) !important;
  color: #111 !important;
}
.btn-cta:hover,
.btn-secondary-ghost:hover,
.btn-warning:hover,
.btn-map:hover {
  background-color: var(--brand-gold-dark) !important;
  border-color: var(--brand-gold-dark) !important;
  color: #fff !important;
}

/* Textos, iconos y acentos dorados */
.navbar-custom .nav-link.active,
.navbar-custom .nav-link:hover,
.page-title .text-gold,
.gallery-page .sign-text,
.map-pin,
.map-pin-svg,
.service-icon .icon-fill,
.service-icon .icon-stroke,
.saber-m-contacts .contact-icon-svg,
.decor-sub,
.site-footer .socials a {
  color: var(--brand-gold) !important;
}

/* Bordes, pequeños fondos y decoraciones que usan dorado */
.reservas-card::before,
.tile .border-gold,
.saber-mas-card,
.gallery-page .card-sign,
.calendar-grid td.today {
  background: linear-gradient(90deg, var(--brand-gold), var(--brand-gold-dark)) !important;
  border-color: rgba(212,175,55,0.12) !important;
}

.calendar-grid td.selected {
  background: var(--brand-gold) !important;
  color: #111 !important;
  font-weight: 800 !important;
}

.site-footer .socials a:hover { color: var(--brand-gold-dark) !important; transform: translateY(-4px) scale(1.05); }

/* Asegura contraste en textos pequeños que antes eran dorados */
.gallery-page .card-sign .sign-text { color: #171717 !important; }
.btn-secondary-ghost,
.btn-ghost.gold,
.tile .decor-sub { color: var(--brand-gold) !important; }

/* Notas:
 - Si quieres que use una imagen/textura en vez de color sólido, dímelo
 - Puedo ajustar el valor de `--brand-gold` al código hexadecimal exacto
   que prefieras (o extraerlo de la imagen adjunta si me confirmas).
*/


