/* CDF/Tastavents composition with LOV photography and restrained branded detail. */
.lov-tastavents { --mobile-nav-height: calc(96px + env(safe-area-inset-bottom)); background:var(--lov-surface); color: var(--lov-cream); padding-bottom: 96px; }
.lov-tastavents .page-progress { display: none; }
.lov-tastavents .hero--identity { display: block; position: relative; height: 100svh; min-height: 240px; padding: 0; border: 0; background: #5c0a13 var(--lov-red-texture) center/cover; isolation: isolate; overflow: hidden; }
.lov-tastavents .hero--identity::before { content: ''; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(180deg,rgba(0,0,0,.25),transparent 35%,rgba(0,0,0,.22) 80%,rgba(0,0,0,.35)); }
.lov-tastavents .brand-hero-photo { position: absolute; inset: 0; min-height: 0; width: 100%; height: 100%; }
.lov-tastavents .brand-hero-photo::after { content: none; }
.lov-tastavents .brand-hero-photo img { object-fit: cover; object-position: 50% 48%; filter: none; opacity: 1; }
.lov-tastavents .hero-film { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 48%; opacity: 0; transition: opacity 180ms ease; }
.lov-tastavents .hero-film.is-media-ready { opacity: 1; }

.lov-tastavents .hero-composition { position: absolute; z-index: 2; inset: 19% 0 auto; display: flex; flex-direction: column; align-items: center; }
.lov-tastavents .hero-portrait { position: relative; width: clamp(200px,18vw,260px); height: clamp(190px,38svh,350px); }
.lov-tastavents .hero-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; filter: none; }
.lov-tastavents .hero-headline { position: relative; margin: -62px 0 0; padding: 0 12px 8px; color: #fff; text-align: center; font: 300 clamp(68px,9.5vw,148px)/.93 var(--font-display); letter-spacing: -.045em; text-transform: uppercase; text-shadow: 0 2px 24px rgba(0,0,0,.4); }
.lov-tastavents .hero-headline span { display: block; }
.lov-tastavents .hero-film-toggle { display: none; position: absolute; z-index: 4; bottom: 18px; left: 18px; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(251,247,234,.65); border-radius: 50%; background: rgba(0,0,0,.58); color: #FBF7EA; font-size: 16px; cursor: pointer; }
.js .lov-tastavents .hero-film-toggle { display: grid; }
.lov-tastavents .site-header { display: flex; justify-content: space-between; min-height: 76px; padding: 14px 32px; border: 0; background: transparent; }
.lov-tastavents .site-header .desktop-nav, .lov-tastavents .site-header .language-switcher { display: none; }
.lov-tastavents .header-actions { margin-left: auto; }
.lov-tastavents .menu-toggle { width: 48px; height: 48px; border: 1px solid rgba(247,240,223,.55); border-radius: 50%; }
.lov-tastavents .section { padding-block: clamp(24px, 3.2vw, 48px); background: transparent; }
.lov-tastavents .section-number { display: none; }
.lov-tastavents h2 { font-weight: 400; font-size: clamp(34px, 4.4vw, 68px); line-height: 1.12; letter-spacing: -.02em; color: var(--lov-gold-bright); }
.lov-tastavents h2 em { line-height: 1.18; }

.lov-tastavents .button { border-radius: 999px; min-height: 48px; padding: 13px 26px; color: var(--lov-gold-bright); border-color: var(--lov-gold-bright); background: transparent; white-space: nowrap; }
.lov-tastavents .button--whatsapp { color:#fff; background:#882E28; }
.lov-tastavents .artist-card { background: transparent; box-shadow: none; }
.lov-tastavents .artists, .lov-tastavents .lineup, .lov-tastavents .reviews, .lov-tastavents .faq { background: transparent; }
.lov-tastavents .artist-card img, .lov-tastavents .gallery img { filter: none; }
.lov-tastavents .reviews { display: block; min-height: 0; padding-block: clamp(24px,3.2vw,48px); }

.lov-tastavents .site-footer { background: #420810; }

.lov-tastavents .footer-languages { gap: 6px; }
.lov-tastavents .footer-languages button { min-width: 44px; min-height: 44px; color: var(--lov-cream); }
.lov-tastavents .footer-languages button[aria-pressed="true"] { color: var(--lov-gold-bright); }
@media (max-width: 760px) {
 .lov-tastavents { --mobile-nav-height: calc(96px + env(safe-area-inset-bottom)); }
 .lov-tastavents .site-header { display: none; }
 .lov-tastavents .hero--identity { height: 100svh; }

 .lov-tastavents .footer-languages { justify-content: flex-start; }
}

.lov-tastavents .home-actions { position: fixed; z-index: 2400; inset: auto auto 24px 50%; transform: translateX(-50%); display: grid; width: 420px; height: var(--mobile-nav-height); grid-template-columns: 1fr 1.16fr 1fr; gap: 8px; align-items: center; padding: 12px 16px calc(18px + env(safe-area-inset-bottom)); border: 0; background: #5c0a13; color: var(--lov-gold-bright); }
.lov-tastavents .home-actions > a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-width: 44px; height: 50px; min-height: 50px; border:1px solid currentColor; border-radius: 999px; color: inherit; font: 600 9px/1 var(--font-body); letter-spacing: .15em; text-transform: uppercase; }
.lov-tastavents .home-actions svg { display: none; }
.lov-tastavents .home-actions .mobile-nav-book { height: 54px; background: #882E28; color: #fff; }
.lov-tastavents .home-actions.on-hero { background: transparent; color: #fff; }
.lov-tastavents .home-actions.on-hero a { border-color: rgba(255,255,255,.65); background: rgba(0,0,0,.58); }
.lov-tastavents .home-actions.on-hero .mobile-nav-book { background: #882E28; color: #fff; border-color: var(--lov-gold-bright); }
.lov-tastavents .home-actions a:focus-visible { outline: 2px solid currentColor; outline-offset: -4px; }

@media (max-width: 760px) {
 .lov-tastavents .hero-composition { inset: auto 0 calc(var(--mobile-nav-height) + 26px); }
 .lov-tastavents .hero-portrait { width: clamp(174px,53vw,230px); height: clamp(170px,39svh,330px); }
 .lov-tastavents .hero-headline { margin-top: -40px; font-size: clamp(38px,11.8vw,80px); }
 .lov-tastavents .hero-film-toggle { bottom: calc(var(--mobile-nav-height) + 110px); }
 .lov-tastavents .home-actions { inset: auto 0 0; width: 100%; transform: none; background-image: var(--lov-red-texture); }
 .lov-tastavents .home-actions.on-hero { background-image: none; }
}
@media (max-height: 500px) and (max-width: 980px) {
 .lov-tastavents .site-header { display: none; }

 .lov-tastavents .hero-composition { inset: auto 0 calc(var(--mobile-nav-height) + 16px); }
 .lov-tastavents .hero-portrait { width: 80px; height: 100px; }
 .lov-tastavents .hero-headline { margin-top: -28px; font-size: 38px; }
 .lov-tastavents .hero-film-toggle { bottom: calc(var(--mobile-nav-height) + 90px); }
 .lov-tastavents .home-actions { inset: auto 0 0; width: 100%; transform: none; }
}
@media (prefers-reduced-motion: reduce) { .lov-tastavents .hero-film { transition: none; } }

.lov-tastavents .mobile-menu { bottom:calc(var(--mobile-nav-height) + 24px); }
@media (max-width:760px) {

 .lov-tastavents .mobile-menu { bottom:var(--mobile-nav-height); }
}

.lov-tastavents .artist-card--motion { margin-top:0; }

.lov-tastavents .rating-strip a { min-height:88px; padding-block:14px; gap:12px; }
.lov-tastavents .rating-strip strong { font-size:clamp(40px,4vw,58px); }
.lov-tastavents .review-stack blockquote { padding-block:18px; }
.lov-tastavents .review-stack blockquote p { font-size:clamp(24px,2.2vw,32px); line-height:1.15; }

@media (max-width:760px) {
 .lov-tastavents .home-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .lov-tastavents .rating-strip a { grid-template-columns:minmax(0,1fr); gap:8px; padding-block:12px; }
 .lov-tastavents .rating-strip strong { white-space:nowrap; overflow-wrap:normal; }
 .lov-tastavents .rating-strip span { letter-spacing:0; }
 .lov-tastavents .review-stack blockquote { padding-block:8px; }
 .lov-tastavents .review-stack footer { margin-top:8px; letter-spacing:0; text-transform:none; }
}
.lov-tastavents .faq { gap:24px 32px; }
.lov-tastavents .faq-intro .eyebrow { display:none; }
.lov-tastavents .faq summary { min-height:64px; }
.lov-tastavents .visit { min-height:560px; }

.lov-tastavents .site-footer { padding-block:32px 24px; gap:24px; }
.lov-tastavents .footer-note { padding-top:20px; }
@media (min-width:1101px) {

 .lov-tastavents .rating-strip { grid-column:2 / -1; grid-row:1; align-self:center; }
 .lov-tastavents .review-stack { grid-column:1 / -1; grid-row:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
 .lov-tastavents .review-stack blockquote { border-bottom:0; }

}

/* Desktop reverses the same two assets; mobile retains its full-screen film. */
@media (min-width:761px) and (min-height:501px) {
 .lov-tastavents .hero--identity { --hero-inset-width:clamp(200px,18vw,260px); --hero-inset-height:clamp(190px,38svh,350px); }
 .lov-tastavents .hero-composition { display:contents; }
 .lov-tastavents .hero-portrait { position:absolute; z-index:0; inset:0; width:100%; height:100%; }
 .lov-tastavents .hero-portrait img { object-position:50% 46%; }
 .lov-tastavents .brand-hero-photo, .lov-tastavents .hero-film { z-index:2; inset:19% auto auto 50%; width:var(--hero-inset-width); height:var(--hero-inset-height); transform:translateX(-50%); }
 .lov-tastavents .hero-headline { position:absolute; z-index:3; inset:calc(19% + var(--hero-inset-height) - 62px) 0 auto; margin:0; }
 .lov-tastavents .hero-film-toggle { inset:calc(19% + 12px) auto auto calc(50% + var(--hero-inset-width)/2 + 12px); }
}
