/* Landscape desktop artwork with original portrait posters on mobile. */
.voovu-whatsapp { position: fixed; right: 10px; bottom: 75px; z-index: 5; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: #25d366; color: #fff; font-size: 27px; text-decoration: none; box-shadow: 0 3px 12px rgba(0,0,0,.24); }
.voovu-whatsapp:hover, .voovu-whatsapp:focus-visible { background: #128c48; color: #fff; }
.voovu-whatsapp:focus-visible { outline: 3px solid #8e3f2e; outline-offset: 3px; }
.voovu-location { padding: 54px 0 64px; background: #fffaf5; color: #423329; }
.voovu-location-heading { text-align: center; margin-bottom: 24px; }
.voovu-location-heading h2 { margin: 6px 0 12px; color: #8e3f2e; font-size: clamp(28px, 4vw, 40px); }
.voovu-location-heading p { margin: 0 0 12px; }
.voovu-location-heading a { color: #8e3f2e; font-weight: 700; text-underline-offset: 3px; }
.voovu-location iframe { display: block; border: 0; border-radius: 12px; }
.image-slider-section { width: 100%; }
.slider-container { position: relative; width: 100%; height: clamp(460px, 57vw, 820px); overflow: hidden; background: #3c271c; }
.slider-wrapper, .slide { width: 100%; height: 100%; }
.slider-wrapper { position: relative; }
.slide { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .5s ease; overflow: hidden; }
.slider-container .slide::before { content: none; }
.slide.active { opacity: 1; }
.slider-container .slide .welcome-backdrop { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; filter: blur(24px) brightness(.62); transform: scale(1.08); pointer-events: none; }
.slider-container .slide .welcome-foreground { position: relative; display: block; width: 100%; height: 100%; object-fit: contain; }
.slider-container .slide--wide .welcome-foreground { object-fit: cover; object-position: center 49%; }

.welcome-artwork { position: relative; display: block; width: 100%; height: 100%; }
.welcome-arrow, .welcome-pause, .slider-dots .dot { border: 1px solid rgba(255,255,255,.5); background: rgba(44,25,15,.75); color: #fff; cursor: pointer; }
.welcome-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 44px; height: 44px; border-radius: 50%; font-size: 18px; }
.welcome-prev { left: 18px; }
.welcome-next { right: 18px; }
.slider-dots { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); display: flex; gap: 2px; padding: 0 8px; background: rgba(44,25,15,.65); border-radius: 24px; }
.slider-dots .dot { position: relative; width: 36px; height: 36px; padding: 0; border: 0; background: transparent; }
.slider-dots .dot::after { content: ''; position: absolute; top: 13px; left: 13px; width: 10px; height: 10px; border-radius: 50%; background: #fff; opacity: .5; }
.slider-dots .dot.active::after { opacity: 1; background: #f0b875; }
.welcome-pause { position: absolute; right: 16px; bottom: 16px; min-height: 36px; padding: 5px 12px; border-radius: 20px; font: inherit; font-size: 13px; }
.slider-container:focus-visible, .welcome-arrow:focus-visible, .welcome-pause:focus-visible, .slider-dots .dot:focus-visible, .voovu-action:focus-visible, .instagram-follow:focus-visible { outline: 3px solid #efb775; outline-offset: 3px; }
.voovu-google-reviews { padding: 58px 0; background: #fffaf5; color: #423329; }
.google-reviews-heading { text-align: center; margin-bottom: 32px; }
.google-reviews-heading h2 { color: #8e3f2e; margin: 6px 0 12px; font-size: clamp(28px, 4vw, 40px); }
.reviews-eyebrow { color: #a94f25; text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 700; }
.google-rating { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; margin: 18px 0 8px; color: #423329; text-decoration: none; }
.google-rating strong { font-size: 24px; }
.google-rating > span:first-of-type, .review-stars { color: #a8631f; letter-spacing: 2px; }
.reviews-date { color: #786a61; font-size: 12px; }
.google-reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.google-review-card { display: flex; flex-direction: column; align-items: flex-start; background: #fff; border: 1px solid #e8d9c9; border-radius: 12px; padding: 28px; }
.review-author { display: flex; align-items: center; gap: 12px; }
.review-initials { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; flex-shrink: 0; border-radius: 50%; background: #f4e6d6; color: #8e3f2e; font-weight: 700; font-size: 15px; }
.review-author h3 { margin: 0; font-size: 16px; color: #423329; }
.review-author p { margin: 3px 0 0; color: #786a61; font-size: 12px; }
.review-stars { margin-top: 20px; font-size: 17px; }
.google-review-card blockquote { margin: 14px 0 24px; font-size: 16px; line-height: 1.65; font-style: normal; padding: 0; border: 0; }
.google-review-card > a { color: #8e3f2e; font-size: 13px; font-weight: 700; margin-top: auto; text-underline-offset: 4px; }
.google-review-invitation { margin-top: 28px; padding: 30px; border: 1px solid #e8d9c9; border-radius: 12px; display: flex; align-items: center; justify-content: space-between; gap: 32px; background: #f6eade; }
.google-review-invitation h3 { margin: 0 0 12px; color: #8e3f2e; font-size: 25px; }
.google-review-invitation p { margin: 0 0 24px; }
.review-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.voovu-action { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; border-radius: 6px; border: 1px solid #8e3f2e; background: #8e3f2e; color: #fff; text-decoration: none; font-size: 14px; font-weight: 700; }
.voovu-action:hover { background: #723124; color: #fff; }
.voovu-action-outline { background: transparent; color: #8e3f2e; }
.review-qr { display: flex; flex-direction: column; align-items: center; gap: 8px; flex-shrink: 0; color: #423329; font-size: 12px; text-decoration: none; }
.review-qr img { display: block; width: 160px; height: 160px; background: #fff; }
.instagram-follow { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; font-weight: 700; }
.instagram-follow[hidden] { display: none !important; }
@media (min-width: 769px) {
 .slider-container { height: auto; padding-bottom: 52px; }
 .slider-wrapper { height: auto; aspect-ratio: 16 / 9; }
 .slider-container .slide--landscape .welcome-backdrop { display: none; }
 .slider-container .slide--landscape .welcome-foreground { object-fit: cover; object-position: center; }
 .slider-dots, .welcome-pause { bottom: 8px; }
 .welcome-arrow { top: calc(50% - 26px); }
}
@media (max-width: 768px) {
 .slider-container { height: clamp(400px, 125vw, 680px); }
 .welcome-prev { left: 8px; }
 .welcome-next { right: 8px; }
 .welcome-arrow { width: 36px; height: 36px; font-size: 14px; }
 .voovu-google-reviews { padding: 40px 0; }
 .google-reviews-grid { grid-template-columns: 1fr; }
 .google-review-invitation { padding: 24px; flex-direction: column; text-align: center; gap: 24px; }
 .review-actions { justify-content: center; }
 .google-review-card { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) { .slide { transition: none; } }

.welcome-follow { display: flex; justify-content: center; padding: 18px 20px; background: #fffaf5; }
.welcome-follow .instagram-follow { border: 1px solid #8e3f2e; color: #8e3f2e; border-radius: 6px; padding: 10px 18px; min-height: 44px; font-size: 14px; }
