/* ═══════════════════════════════════════════════════════════
   AVENTURA RESTAURANT — Shared Styles v3
   Updated palette + glassmorphism
   ═══════════════════════════════════════════════════════════ */
:root {
    --c-forest:        #0E270B;
    --c-forest-light:  #163D12;
    --c-forest-mid:    #1A4A15;
    --c-forest-dark:   #091A07;
    --c-obsidian:      #091A07;
    --c-charcoal:      #1F211C;
    --c-gold:          #D18E17;
    --c-gold-light:    #E0A530;
    --c-gold-pale:     #F5D590;
    --c-sand:          #F5D590;
    --c-gold-glow:     rgba(209,142,23,0.12);
    --c-gold-glow-s:   rgba(209,142,23,0.06);
    --c-terra:         #8B6914;
    --c-espresso:      #443A31;
    --c-cream:         #FAF8F4;
    --c-ivory:         #F2EDE5;
    --c-linen:         #EAE3D7;
    --c-stone:         #8A857C;
    --c-fog:           #6B6660;
    --c-white:         #FEFCF9;
    --c-border:        #DDD6CA;
    
    --glass-bg:        rgba(14,39,11,0.55);
    --glass-bg-light:  rgba(255,255,255,0.65);
    --glass-bg-strong: rgba(255,255,255,0.88);
    --glass-border:    rgba(255,255,255,0.10);
    --glass-border-l:  rgba(255,255,255,0.35);
    --glass-blur:      blur(20px);
    --glass-blur-xl:   blur(40px);
    
    --f-display: 'Cormorant Garamond', Georgia, serif;
    --f-body:    'Outfit', system-ui, sans-serif;
    
    --max-w:    1280px;
    --max-w-n:  900px;
    --nav-h:    76px;
    
    --r-sm:  8px;
    --r-md:  14px;
    --r-lg:  20px;
    --r-xl:  32px;
    --r-full: 9999px;
    
    --sh-sm:  0 2px 12px rgba(9,26,7,0.04);
    --sh-md:  0 8px 32px rgba(9,26,7,0.06);
    --sh-lg:  0 16px 48px rgba(9,26,7,0.08);
    --sh-xl:  0 24px 80px rgba(9,26,7,0.12);
    --sh-gold: 0 8px 40px rgba(209,142,23,0.3);
    
    --ease: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: auto; font-size: 16px; -webkit-font-smoothing: antialiased; min-height:100%; background:var(--c-white); }
body { min-height:100vh; display:flex; flex-direction:column; font-family: var(--f-body); font-weight: 300; color: var(--c-fog); background: var(--c-white); line-height: 1.7; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; transition: all 0.3s var(--ease); }
button { cursor: pointer; border: none; font-family: inherit; }
.wrap { max-width: var(--max-w); margin: 0 auto; padding: 0 48px; }

/* ═══════════ ANIMATIONS ═══════════ */
@keyframes fadeUp { from { opacity:0; transform:translateY(50px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes scaleIn { from { opacity:0; transform:scale(0.9); } to { opacity:1; transform:scale(1); } }
@keyframes drift { 0%,100%{ transform:translate(0,0) scale(1.05); } 50%{ transform:translate(15px,-10px) scale(1.08); } }
@keyframes glow { 0%,100%{ opacity:0.3; } 50%{ opacity:0.8; } }
@keyframes float { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-14px); } }
@keyframes shimmer { 0%{ background-position:-200% center; } 100%{ background-position:200% center; } }
@keyframes marquee { 0%{ transform:translateX(0); } 100%{ transform:translateX(-50%); } }
@keyframes pulse { 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.05); } }
@keyframes slideInRight { from { opacity:0; transform:translateX(30px); } to { opacity:1; transform:translateX(0); } }
@keyframes rotateSlow { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes whatsappPulse { 0% { transform:scale(0.92); opacity:0.42; } 70% { transform:scale(1.16); opacity:0; } 100% { transform:scale(1.16); opacity:0; } }

.reveal { opacity:0; transform:translateY(40px); transition: opacity 0.9s var(--ease), transform 0.9s var(--ease); }
.reveal.vis { opacity:1; transform:translateY(0); }
.reveal-d1 { transition-delay:0.1s; }
.reveal-d2 { transition-delay:0.2s; }
.reveal-d3 { transition-delay:0.3s; }
.reveal-d4 { transition-delay:0.4s; }

/* ═══════════ GLASS ═══════════ */
.glass { background:var(--glass-bg); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); border:1px solid var(--glass-border); }
.glass-light { background:var(--glass-bg-light); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); border:1px solid var(--glass-border-l); }
.glass-strong { background:var(--glass-bg-strong); backdrop-filter:var(--glass-blur-xl); -webkit-backdrop-filter:var(--glass-blur-xl); border:1px solid rgba(255,255,255,0.5); }

/* ═══════════ NAV ═══════════ */
.nav { position:fixed; top:0; left:0; right:0; z-index:1000; height:var(--nav-h); display:flex; align-items:center; transition: all 0.5s var(--ease); }
.nav.scrolled { background:rgba(14,39,11,0.8); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); box-shadow:0 1px 0 rgba(255,255,255,0.04); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; width:100%; max-width:var(--max-w); margin:0 auto; padding:0 48px; }
.nav-logo { display:flex; align-items:center; gap:8px; transition:all 0.4s var(--ease); }
.nav-logo img { height:46px; width:auto; max-width:184px; }
.nav-links { display:flex; align-items:center; gap:36px; list-style:none; }
.nav-links a { font-size:0.8rem; font-weight:400; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,255,255,0.6); transition:all 0.3s var(--ease); position:relative; }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:50%; width:0; height:1px; background:var(--c-gold); transition:all 0.3s var(--ease); transform:translateX(-50%); }
.nav-links a:hover { color:var(--c-gold); }
.nav-links a:hover::after { width:100%; }
.nav-links a.active { color:var(--c-gold); }
.nav-links a.active::after { width:100%; }
.nav-reserve { font-size:0.75rem !important; font-weight:500 !important; letter-spacing:0.14em !important; padding:10px 26px; border:1px solid rgba(209,142,23,0.4); border-radius:var(--r-full); color:var(--c-gold) !important; transition:all 0.4s var(--ease) !important; }
.nav-reserve:hover { background:var(--c-gold) !important; border-color:var(--c-gold) !important; color:var(--c-white) !important; box-shadow:var(--sh-gold); transform:translateY(-1px); }
.nav-reserve::after { display:none !important; }
.language-switcher { display:inline-flex; align-items:center; position:relative; z-index:1002; }
.language-trigger { min-width:76px; height:38px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0 14px; border:1px solid rgba(209,142,23,0.42); border-radius:var(--r-full); background:linear-gradient(135deg, rgba(9,26,7,0.72), rgba(14,39,11,0.44)); color:var(--c-gold-pale); box-shadow:inset 0 1px 0 rgba(255,255,255,0.08), 0 10px 26px rgba(0,0,0,0.12); transition:all 0.28s var(--ease); }
.language-trigger:hover, .language-trigger:focus-visible, .language-switcher.open .language-trigger { border-color:var(--c-gold); color:var(--c-white); background:linear-gradient(135deg, rgba(209,142,23,0.24), rgba(9,26,7,0.62)); box-shadow:0 10px 32px rgba(209,142,23,0.18); outline:none; }
.language-current { font-size:0.72rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; line-height:1; }
.language-chevron { width:8px; height:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform 0.28s var(--ease); }
.language-switcher.open .language-chevron { transform:translateY(2px) rotate(225deg); }
.language-menu { position:absolute; top:calc(100% + 10px); right:0; min-width:172px; padding:8px; border:1px solid rgba(209,142,23,0.22); border-radius:18px; background:rgba(250,248,244,0.96); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); box-shadow:0 18px 48px rgba(9,26,7,0.24); opacity:0; transform:translateY(-6px) scale(0.97); pointer-events:none; transition:opacity 0.22s var(--ease), transform 0.22s var(--ease); }
.language-switcher.open .language-menu { opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.language-option { width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:10px 12px; border-radius:12px; background:transparent; color:var(--c-forest); transition:all 0.22s var(--ease); }
.language-option:hover, .language-option:focus-visible { background:var(--c-gold-glow); color:var(--c-espresso); outline:none; }
.language-option[aria-selected="true"] { background:var(--c-forest); color:var(--c-gold-pale); box-shadow:inset 0 0 0 1px rgba(209,142,23,0.34); }
.language-code { font-size:0.72rem; font-weight:800; letter-spacing:0.16em; }
.language-name { font-size:0.78rem; font-weight:400; color:inherit; opacity:0.72; }
.nav-language { margin-left:-14px; }
.mobile-menu .language-switcher { margin-top:8px; }
.mobile-menu .language-trigger { min-width:124px; height:46px; }
.mobile-menu .language-menu { left:50%; right:auto; transform:translate(-50%, -6px) scale(0.97); }
.mobile-menu .language-switcher.open .language-menu { transform:translate(-50%, 0) scale(1); }
.visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.mobile-btn { display:none; position:relative; z-index:1401; align-items:center; justify-content:center; flex-direction:column; gap:5px; width:46px; height:46px; padding:0; border-radius:50%; background:linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02)); border:1px solid rgba(245,213,144,0.18); box-shadow:0 14px 32px rgba(0,0,0,0.18); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); transition:background 0.3s var(--ease), border-color 0.3s var(--ease), box-shadow 0.3s var(--ease), transform 0.3s var(--ease); }
.mobile-btn:hover,
.mobile-btn:focus-visible { border-color:rgba(245,213,144,0.38); box-shadow:0 18px 38px rgba(0,0,0,0.24); outline:none; }
.mobile-btn span { position:absolute; left:50%; top:50%; width:20px; height:1.5px; background:var(--c-white); border-radius:2px; transform-origin:center; transition:transform 0.3s var(--ease), opacity 0.24s var(--ease), background 0.3s var(--ease); }
.mobile-btn span:nth-child(1) { transform:translate(-50%, -6px); }
.mobile-btn span:nth-child(2) { transform:translate(-50%, 0); }
.mobile-btn span:nth-child(3) { transform:translate(-50%, 6px); }
.mobile-btn.active { background:linear-gradient(135deg, rgba(209,142,23,0.22), rgba(255,255,255,0.06)); border-color:rgba(245,213,144,0.42); box-shadow:0 18px 42px rgba(0,0,0,0.28); }
.mobile-btn.active span:nth-child(1) { transform:translate(-50%, 0) rotate(45deg); }
.mobile-btn.active span:nth-child(2) { opacity:0; transform:translate(-50%, 0) scaleX(0.2); }
.mobile-btn.active span:nth-child(3) { transform:translate(-50%, 0) rotate(-45deg); }
.mobile-menu { display:none; position:fixed; inset:0; z-index:1400; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:14px; padding:calc(var(--nav-h) + 24px) 24px 32px; overflow-y:auto; background:linear-gradient(180deg, rgba(9,26,7,0.98) 0%, rgba(14,39,11,0.95) 100%); backdrop-filter:blur(30px); -webkit-backdrop-filter:blur(30px); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(12px) scale(0.985); transition:opacity 0.4s var(--ease), transform 0.4s var(--ease), visibility 0.4s step-end; }
.mobile-menu::before { content:''; position:absolute; inset:0 0 auto; height:220px; background:radial-gradient(circle at top center, rgba(209,142,23,0.16), transparent 68%); pointer-events:none; }
.mobile-menu.open { opacity:1; visibility:visible; pointer-events:all; transform:translateY(0) scale(1); transition-timing-function:var(--ease), var(--ease), step-start; }
.mobile-menu a { position:relative; width:min(100%, 420px); display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 auto; padding:18px 22px; border-radius:24px; background:linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03)); border:1px solid rgba(245,213,144,0.12); box-shadow:0 18px 38px rgba(0,0,0,0.18); font-family:var(--f-display); font-size:clamp(1.45rem, 6vw, 2rem); line-height:1; color:var(--c-white); font-weight:300; transition:transform 0.3s var(--ease), border-color 0.3s var(--ease), background 0.3s var(--ease), color 0.3s var(--ease), box-shadow 0.3s var(--ease); }
.mobile-menu a::after { content:''; width:24px; height:1px; background:rgba(245,213,144,0.52); flex-shrink:0; transition:width 0.3s var(--ease), background 0.3s var(--ease); }
.mobile-menu a:hover,
.mobile-menu a:focus-visible { color:var(--c-gold-pale); border-color:rgba(245,213,144,0.34); background:linear-gradient(135deg, rgba(209,142,23,0.16), rgba(255,255,255,0.05)); box-shadow:0 20px 42px rgba(0,0,0,0.24); transform:translateY(-2px); outline:none; }
.mobile-menu a:hover::after,
.mobile-menu a:focus-visible::after { width:36px; background:var(--c-gold-pale); }

/* ═══════════ SHARED ELEMENTS ═══════════ */
.hero-overline { font-size:0.68rem; font-weight:500; letter-spacing:0.35em; text-transform:uppercase; color:var(--c-gold); margin-bottom:32px; display:flex; align-items:center; gap:16px; }
.hero-overline::before { content:''; width:40px; height:1px; background:var(--c-gold); }
.btn-gold { display:inline-flex; align-items:center; gap:12px; background:var(--c-gold); color:var(--c-white); padding:15px 38px; border-radius:var(--r-full); font-size:0.8rem; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; transition:all 0.4s var(--ease); position:relative; overflow:hidden; }
.btn-gold::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); background-size:200% 100%; animation:shimmer 3s ease-in-out infinite; }
.btn-gold:hover { background:var(--c-gold-light); transform:translateY(-3px); box-shadow:var(--sh-gold); }
.btn-gold svg { width:16px; height:16px; position:relative; z-index:1; }
.btn-gold span { position:relative; z-index:1; }
.btn-ghost { display:inline-flex; align-items:center; gap:10px; color:rgba(255,255,255,0.45); padding:15px 28px; font-size:0.8rem; font-weight:400; letter-spacing:0.1em; text-transform:uppercase; transition:all 0.3s var(--ease); border-radius:var(--r-full); }
.btn-ghost:hover { color:var(--c-white); background:rgba(255,255,255,0.06); }
.btn-ghost svg { width:16px; height:16px; }
.whatsapp-widget { position:fixed; right:24px; right:max(24px, env(safe-area-inset-right)); bottom:24px; bottom:max(24px, env(safe-area-inset-bottom)); z-index:1105; display:inline-flex; align-items:center; gap:12px; padding:14px 18px 14px 14px; border-radius:var(--r-full); background:linear-gradient(135deg, #25D366 0%, #128C7E 100%); color:var(--c-white); border:1px solid rgba(255,255,255,0.18); box-shadow:0 18px 42px rgba(18,140,126,0.34); transition:transform 0.3s var(--ease), box-shadow 0.3s var(--ease), filter 0.3s var(--ease); animation:slideInRight 0.65s var(--ease-out) both; isolation:isolate; will-change:transform; }
.whatsapp-widget::before { content:''; position:absolute; inset:-8px; border-radius:inherit; background:rgba(37,211,102,0.2); z-index:-1; animation:whatsappPulse 2.5s ease-out infinite; }
.whatsapp-widget:hover { transform:translateY(-3px) scale(1.01); box-shadow:0 22px 54px rgba(18,140,126,0.42); filter:saturate(1.05); }
.whatsapp-widget:focus-visible { outline:none; box-shadow:0 0 0 4px rgba(37,211,102,0.18), 0 18px 42px rgba(18,140,126,0.34); }
.whatsapp-widget-icon { width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,0.18); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.whatsapp-widget-icon svg { width:16px; height:16px; }
.whatsapp-widget-label { font-size:0.76rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; line-height:1; }
.section-label { font-size:0.68rem; font-weight:500; letter-spacing:0.3em; text-transform:uppercase; color:var(--c-gold); margin-bottom:18px; }
.section-title { font-family:var(--f-display); font-size:clamp(2.2rem,4vw,3.2rem); font-weight:400; color:var(--c-forest); line-height:1.15; }
.section-subtitle { font-size:1rem; color:var(--c-stone); max-width:500px; margin:16px auto 0; line-height:1.7; }
.dishes-header { text-align:center; margin-bottom:72px; }
.phil-label { font-size:0.68rem; font-weight:500; letter-spacing:0.3em; text-transform:uppercase; color:var(--c-gold); margin-bottom:24px; display:flex; align-items:center; gap:12px; }
.phil-label::before { content:''; width:32px; height:1px; background:var(--c-gold); }
.phil-text { font-size:1rem; color:var(--c-fog); line-height:1.9; margin-bottom:16px; }

/* ═══════════ LOCAL SEO CONTENT ═══════════ */
.local-seo { padding:104px 0; background:linear-gradient(180deg, var(--c-cream), var(--c-white)); position:relative; overflow:hidden; }
.local-seo::before { content:''; position:absolute; top:-180px; left:-160px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(209,142,23,0.08), transparent 70%); }
.local-seo-grid { display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); gap:58px; align-items:start; position:relative; z-index:1; }
.local-seo-copy p { font-size:1rem; color:var(--c-fog); line-height:1.85; margin-top:22px; max-width:620px; }
.local-facts { display:grid; grid-template-columns:1fr; gap:16px; }
.local-fact { padding:24px 26px; border-radius:var(--r-lg); background:var(--c-white); border:1px solid var(--c-border); box-shadow:var(--sh-sm); }
.local-fact h3 { font-family:var(--f-display); font-size:1.25rem; font-weight:500; color:var(--c-forest); margin-bottom:8px; }
.local-fact p { font-size:0.92rem; color:var(--c-fog); line-height:1.7; }

/* ═══════════ FOOTER ═══════════ */
/* GOOGLE REVIEWS */
.google-reviews-section { padding:0 0 92px; background:linear-gradient(180deg, var(--c-white), #f6f2eb); position:relative; }
.google-reviews-shell { position:relative; display:grid; grid-template-columns:minmax(280px, 340px) minmax(0, 1fr); gap:28px; padding:34px; border-radius:var(--r-xl); background:linear-gradient(135deg, rgba(255,255,255,0.96), rgba(242,237,229,0.94)); border:1px solid rgba(209,142,23,0.18); box-shadow:var(--sh-lg); overflow:hidden; }
.google-reviews-shell::before { content:''; position:absolute; inset:auto auto -180px -120px; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle, rgba(209,142,23,0.12), transparent 72%); pointer-events:none; }
.google-reviews-summary,
.google-reviews-feed { position:relative; z-index:1; }
.google-reviews-summary { display:flex; flex-direction:column; gap:20px; padding:8px 4px 8px 2px; }
.google-reviews-brand { display:flex; align-items:center; gap:16px; }
.google-reviews-brand-logo { width:76px; height:76px; border-radius:22px; background:#163D12; border:1px solid rgba(209,142,23,0.16); box-shadow:0 16px 34px rgba(9,26,7,0.08); display:flex; align-items:center; justify-content:center; padding:12px; flex-shrink:0; }
.google-reviews-brand-logo img { width:100%; height:auto; object-fit:contain; }
.google-reviews-kicker { font-size:0.72rem; letter-spacing:0.22em; text-transform:uppercase; font-weight:600; color:var(--c-gold); margin-bottom:4px; }
.google-reviews-business { font-family:var(--f-display); font-size:2rem; line-height:1.02; font-weight:500; color:var(--c-forest); max-width:10ch; }
.google-reviews-rating-wrap { display:flex; align-items:flex-end; gap:14px; }
.google-reviews-stars { font-size:1.18rem; line-height:1; color:var(--c-gold); letter-spacing:0.14em; }
.google-reviews-score { font-size:2.7rem; line-height:0.85; font-weight:600; color:var(--c-charcoal); }
.google-reviews-count { font-size:0.98rem; color:var(--c-fog); }
.google-reviews-actions { display:flex; flex-direction:column; gap:12px; margin-top:6px; }
.google-reviews-actions .btn-gold.is-disabled,
.google-reviews-link.is-disabled { pointer-events:none; opacity:0.45; filter:grayscale(0.3); }
.google-reviews-link { display:inline-flex; align-items:center; justify-content:flex-start; gap:10px; width:max-content; font-size:0.82rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--c-forest); }
.google-reviews-link:hover { color:var(--c-gold); }
.gm-attribution { font-family:Roboto, "Helvetica Neue", Arial, sans-serif; font-size:0.78rem; font-weight:400; color:#5e5e5e; letter-spacing:normal; white-space:nowrap; }
.google-reviews-feed { display:flex; flex-direction:column; gap:18px; min-width:0; }
.google-reviews-feed-top { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.google-reviews-feed-title { display:flex; flex-direction:column; gap:8px; }
.google-reviews-status { font-size:0.88rem; color:var(--c-stone); }
.google-reviews-controls { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.google-reviews-nav { width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.9); color:var(--c-forest); border:1px solid rgba(209,142,23,0.18); box-shadow:0 14px 28px rgba(9,26,7,0.08); display:inline-flex; align-items:center; justify-content:center; transition:transform 0.28s var(--ease), box-shadow 0.28s var(--ease), border-color 0.28s var(--ease), color 0.28s var(--ease); }
.google-reviews-nav:hover:not(:disabled),
.google-reviews-nav:focus-visible:not(:disabled) { transform:translateY(-2px); border-color:var(--c-gold); color:var(--c-gold); box-shadow:0 16px 34px rgba(209,142,23,0.18); outline:none; }
.google-reviews-nav:disabled { opacity:0.35; cursor:default; box-shadow:none; }
.google-reviews-nav svg { width:18px; height:18px; }
.google-reviews-track { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(260px, 1fr); gap:18px; overflow-x:auto; padding:4px 2px 10px; scrollbar-width:none; scroll-snap-type:x proximity; }
.google-reviews-track::-webkit-scrollbar { display:none; }
.google-review-card,
.google-review-state-card { min-height:250px; border-radius:24px; background:rgba(255,255,255,0.9); border:1px solid rgba(209,142,23,0.12); box-shadow:0 18px 40px rgba(9,26,7,0.06); padding:20px; scroll-snap-align:start; }
.google-review-card { display:flex; flex-direction:column; gap:16px; }
.google-review-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.google-review-author { display:flex; align-items:center; gap:12px; min-width:0; }
.google-review-avatar { width:50px; height:50px; border-radius:50%; overflow:hidden; background:linear-gradient(135deg, rgba(209,142,23,0.2), rgba(14,39,11,0.18)); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.google-review-avatar img { width:100%; height:100%; object-fit:cover; }
.google-review-avatar-fallback { font-size:0.88rem; font-weight:700; letter-spacing:0.08em; color:var(--c-forest); }
.google-review-author-meta { display:flex; flex-direction:column; gap:2px; min-width:0; }
.google-review-author-name { font-size:0.98rem; font-weight:600; color:var(--c-charcoal); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.google-review-date { font-size:0.82rem; color:var(--c-stone); }
.google-review-origin { margin-left:10px; flex-shrink:0; }
.google-review-card-stars { font-size:1rem; line-height:1; color:var(--c-gold); letter-spacing:0.13em; }
.google-review-text { font-size:0.95rem; line-height:1.75; color:var(--c-fog); display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.google-review-card-footer { margin-top:auto; display:flex; align-items:center; justify-content:flex-start; }
.google-review-more { font-size:0.78rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--c-forest); }
.google-review-more:hover { color:var(--c-gold); }
.google-review-state-card { display:flex; flex-direction:column; justify-content:center; gap:10px; }
.google-review-state-card h3 { font-family:var(--f-display); font-size:1.7rem; line-height:1.05; color:var(--c-forest); font-weight:500; max-width:12ch; }
.google-review-state-card p { font-size:0.96rem; color:var(--c-fog); line-height:1.75; max-width:42ch; }
.google-review-card.is-skeleton { pointer-events:none; gap:14px; }
.google-review-skeleton { border-radius:999px; background:linear-gradient(90deg, rgba(234,227,215,0.72) 0%, rgba(255,255,255,0.98) 50%, rgba(234,227,215,0.72) 100%); background-size:200% 100%; animation:shimmer 1.8s linear infinite; }
.google-review-skeleton-avatar { width:52px; height:52px; border-radius:50%; }
.google-review-skeleton-line { height:12px; }
.google-review-skeleton-line.short { width:34%; }
.google-review-skeleton-line.medium { width:58%; }
.google-review-skeleton-line.long { width:92%; }
.footer { background:var(--c-forest-dark); padding:72px 0 0; color:rgba(255,255,255,0.3); margin-top:auto; flex-shrink:0; }
.footer-grid { display:grid; grid-template-columns:1.45fr 1fr 1.2fr 1.3fr; gap:40px; padding-bottom:52px; border-bottom:1px solid rgba(255,255,255,0.05); }
.footer-brand-logo { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.footer-brand-logo img { height:40px; width:auto; max-width:170px; }
.footer-brand p { font-size:0.85rem; line-height:1.7; max-width:240px; }
.footer-social { display:flex; gap:10px; margin-top:22px; }
.footer-social a { width:38px; height:38px; border-radius:var(--r-sm); border:1px solid rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; transition:all 0.3s var(--ease); }
.footer-social a:hover { background:var(--c-gold); border-color:var(--c-gold); transform:translateY(-2px); }
.footer-social a svg { width:16px; height:16px; color:var(--c-white); }
.footer-col h4 { font-size:0.68rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--c-white); margin-bottom:18px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-col a { font-size:0.85rem; transition:all 0.3s var(--ease); }
.footer-col a:hover { color:var(--c-gold); padding-left:4px; }
.footer-hours-block { margin-bottom:14px; }
.footer-hours-block h5 { font-size:0.65rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--c-gold); margin-bottom:4px; }
.footer-hours-block p { font-size:0.82rem; }
.footer-bottom { padding:22px 0; display:flex; justify-content:space-between; align-items:center; font-size:0.75rem; }
.footer-brand,
.footer-col { min-width:0; }
.legal-link { display:inline-flex; align-items:center; justify-content:center; padding:10px 16px; border-radius:var(--r-full); border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.03); transition:all 0.3s var(--ease); }
.legal-link:hover { border-color:rgba(245,213,144,0.24); background:rgba(245,213,144,0.08); }
.footer-credit-link { color:var(--c-gold-pale); font-weight:500; }
.footer-credit-link:hover { color:var(--c-gold); }
.footer-bottom a:hover { color:var(--c-gold); }

/* ═══════════ RESPONSIVE ═══════════ */
@media (prefers-reduced-motion: reduce) {
    body { animation:none; transition:none !important; }
}

@media(max-width:1024px){
    .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
    .local-seo-grid{grid-template-columns:1fr;gap:34px;}
    .google-reviews-shell{grid-template-columns:1fr;gap:26px;padding:30px;}
    .google-reviews-business{max-width:none;}
}
@media(max-width:768px){
    .wrap{padding:0 20px;}
    .nav-inner{padding:0 20px;}
    .nav-logo img{height:40px;max-width:160px;}
    .nav-links{display:none;}
    .nav-language{margin-left:auto;margin-right:10px;}
    .nav-language .language-trigger{min-width:64px;height:36px;padding:0 12px;}
    .language-menu{right:-8px;}
    .mobile-btn{display:flex;}
    .mobile-menu{display:flex;}
    .whatsapp-widget{right:16px;right:max(16px, env(safe-area-inset-right));bottom:16px;bottom:max(16px, env(safe-area-inset-bottom));z-index:1105;padding:14px;box-shadow:0 14px 32px rgba(18,140,126,0.3);}
    .whatsapp-widget-label{display:none;}
    .google-reviews-section{padding:0 0 76px;}
    .google-reviews-shell{padding:24px;}
    .google-reviews-brand{align-items:flex-start;}
    .google-reviews-brand-logo{width:68px;height:68px;border-radius:20px;}
    .google-reviews-business{font-size:1.75rem;}
    .google-reviews-feed-top{flex-direction:column;align-items:flex-start;}
    .google-reviews-controls{width:100%;justify-content:flex-end;}
    .google-reviews-track{grid-auto-columns:minmax(88%, 1fr);}
    .google-review-card,
    .google-review-state-card{min-height:232px;padding:18px;}
    .footer{padding:54px 0 0;}
    .footer-grid{grid-template-columns:1fr;gap:16px;padding-bottom:28px;}
    .footer-grid > *{padding:22px 20px;border-radius:24px;background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.025));border:1px solid rgba(255,255,255,0.08);box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);}
    .footer-brand p{max-width:none;font-size:0.92rem;line-height:1.8;}
    .footer-social{margin-top:18px;}
    .footer-col h4{margin-bottom:14px;}
    .footer-col ul{gap:12px;}
    .footer-col a{font-size:0.92rem;}
    .footer-hours-block:last-child{margin-bottom:0;}
    .footer-bottom{flex-direction:column;gap:12px;text-align:center;padding:18px 0 28px;}
    .credit-line{line-height:1.8;}
}
