/* Premium multi-page sites: 2026 refresh, loaded after site-premium.css.
   Same navy and gold, brought in line with the rest of Adenta: Inter text,
   a floating header, rounder cards, hover lifts and gentle scroll entrances. */
body.sp { font-family: 'Inter', system-ui, -apple-system, sans-serif; -webkit-font-smoothing: antialiased; }
.sp :focus-visible { outline: 3px solid var(--sp-gold); outline-offset: 3px; border-radius: 8px; }

/* Floating header: a rounded bar that turns solid navy once you scroll */
.sp .site-header { top: 12px !important; left: 12px; right: 12px; width: auto; background: rgba(11, 15, 25, .35); backdrop-filter: blur(14px) saturate(1.4); -webkit-backdrop-filter: blur(14px) saturate(1.4); border: 1px solid rgba(255, 255, 255, .1); border-radius: 18px; transition: background .3s, box-shadow .3s, border-color .3s; }
.sp .site-header.is-solid { background: rgba(11, 15, 25, .94); border-color: rgba(197, 168, 128, .25); box-shadow: 0 16px 36px rgba(11, 15, 25, .25); }
.sp .site-header-inner { padding-left: 18px; padding-right: 10px; }
.sp .site-brand img { border-radius: 12px; }
.sp .lux-navlinks a { border-radius: 10px; transition: background .2s, color .2s; }
.sp .lux-nav-wa a { background: #16A34A !important; color: #fff !important; border-radius: 10px; }
.sp .lux-nav-wa a:hover { background: #15803D !important; }

/* Banner: a slow zoom on the photo */
.sp-hero-bg, .sp-pagehead-bg { animation: sp-kenburns 20s ease-in-out infinite alternate; transform-origin: center; }
@keyframes sp-kenburns { from { transform: scale(1.02); } to { transform: scale(1.1); } }
.sp-hero-title, .sp-pagehead h1 { letter-spacing: -.01em; }

/* Buttons */
.sp-btn { border-radius: 14px; min-height: 48px; transition: transform .15s cubic-bezier(.22, .8, .24, 1), box-shadow .3s, background .2s, border-color .2s, color .2s; }
.sp-btn:active { transform: scale(.97); }
.sp-btn-gold:hover { box-shadow: 0 12px 28px rgba(197, 168, 128, .35); }

/* Facts strip, cards, gallery, panels: softer and livelier */
.sp-facts { border-radius: 22px; }
.sp-fact { transition: background .25s; }
.sp-fact-icon { border-radius: 12px; transition: transform .3s cubic-bezier(.22, .8, .24, 1); }
.sp-fact:hover .sp-fact-icon { transform: rotate(-8deg) scale(1.06); }
.sp-card { border-radius: 22px; overflow: hidden; transition: transform .35s cubic-bezier(.22, .8, .24, 1), box-shadow .35s; }
.sp-card:hover { transform: translateY(-6px); }
.sp-gallery-item { border-radius: 18px; overflow: hidden; }
.sp-gallery-item img { transition: transform .6s cubic-bezier(.22, .8, .24, 1); }
.sp-gallery-item:hover img { transform: scale(1.06); }
.sp-panel, .sp-book { border-radius: 22px; }
.sp-split-photo img { border-radius: 22px; }
.sp-cta { border-radius: 28px; margin-left: auto; margin-right: auto; max-width: 1180px; }
.sp .lux-faq details { border-radius: 14px; }

/* Gentle entrances as you scroll (off for "reduce motion") */
.sp-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.22, .8, .24, 1), transform .7s cubic-bezier(.22, .8, .24, 1); }
.sp-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    .sp *, .sp *::before, .sp *::after { animation: none !important; transition: none !important; }
    .sp-reveal { opacity: 1; transform: none; }
}

/* Phones: WhatsApp / Call bar at the bottom instead of the round button */
.sp-dock { display: none; }
@media (max-width: 768px) {
    .sp .site-header { top: 8px !important; left: 8px; right: 8px; border-radius: 16px; }
    .sp-cta { border-radius: 0; }
    .sp-wa-float { display: none !important; }
    .sp-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; display: flex; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid rgba(27, 38, 59, .1); transform: translateY(110%); transition: transform .35s cubic-bezier(.22, .8, .24, 1); }
    .sp-dock.is-shown { transform: none; }
    .sp-dock a { flex: 1; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 14px; font-weight: 600; }
    .sp-dock .is-wa { background: #16A34A; color: #fff; }
    .sp-dock .is-call { border: 1px solid rgba(27, 38, 59, .15); color: var(--sp-ink); background: #fff; }
    .sp-has-dock .sp-footer { padding-bottom: 96px; }
}
