/* Aqua Viva Spa Hotel editorial layout; intentionally scoped to the stable catalogue slug. */
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] { --aquaviva-ink:#164e5c; --aquaviva-accent:#16827c; --aquaviva-line:#d3e7e5; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-detail-main section { scroll-margin-top:110px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-detail-main h3 { margin:0 0 10px;color:var(--aquaviva-ink);font-size:21px;font-weight:460;line-height:1.28;letter-spacing:-.02em; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-detail-main p { margin:0 0 15px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-detail-main a { color:var(--aquaviva-accent);text-underline-offset:3px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-jump { display:flex;flex-wrap:wrap;gap:9px;margin:27px 0 0; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-jump a { display:inline-flex;align-items:center;min-height:42px;padding:9px 16px;border:1px solid #c5ddcf;border-radius:999px;background:#fff;text-decoration:none;font-size:14px;font-weight:550;line-height:1.2; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-jump a:hover,body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-jump a:focus-visible { border-color:#80b6a4;background:#eff8f2; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-verdict { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:36px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-verdict > div { min-width:0;padding:24px 22px;border:1px solid var(--aquaviva-line);border-radius:19px;background:#fff;box-shadow:0 12px 30px rgba(23,69,59,.06); }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-verdict span,body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-feature-grid span,body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-room-copy span,body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-timeline span { display:block;margin-bottom:12px;color:#487b68;font-size:12px;font-weight:700;letter-spacing:.085em;text-transform:uppercase; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-verdict strong { display:block;margin-bottom:9px;color:var(--aquaviva-ink);font-size:18px;font-weight:580;line-height:1.3; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-verdict p { margin:0;color:#526e64;font-size:14px;line-height:1.57; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-detail-main section.spah-aquaviva-spa { padding:38px;border:0;border-radius:25px;background:#e8f5f3; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-pool-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0 30px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-photo { position:relative;min-width:0;margin:0;overflow:hidden;border-radius:17px;background:#dbece6; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-photo button { display:block;width:100%;aspect-ratio:1/1;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-photo button:focus-visible { outline:3px solid #e7b578;outline-offset:-4px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-photo img { display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .3s ease; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-photo button:hover img { transform:scale(1.035); }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-photo figcaption { position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.95);color:#285d52;font-size:12px;font-weight:650;line-height:1.3;pointer-events:none;box-shadow:0 5px 21px rgba(22,54,39,.13); }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-feature-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:27px 0 0; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-feature-grid > div { padding:23px 21px;border:1px solid #d5e7db;border-radius:17px;background:#fff; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-feature-grid p,body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-room-copy p { margin:0;color:#536f62;font-size:15px;line-height:1.56; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-room-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 20px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-room-card { min-width:0;border:1px solid var(--aquaviva-line);border-radius:20px;background:#fff;overflow:hidden; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-room-card .spah-aquaviva-photo { border-radius:0; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-room-card .spah-aquaviva-photo button { aspect-ratio:1.7/1; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-room-copy { padding:23px 22px 26px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-note { margin:19px 0 0;color:#557267;font-size:14px;line-height:1.6; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-dining-photo { margin:26px 0; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-dining-photo button { aspect-ratio:2/1; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-callout { margin:25px 0 2px;padding:24px 27px;border-left:3px solid #8bbf9c;border-radius:0 17px 17px 0;background:#f0f5e9; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-callout strong { display:block;margin-bottom:8px;color:var(--aquaviva-ink);font-size:17px;font-weight:580; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-callout p { margin:0;color:#526c5a;line-height:1.58; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-timeline { display:grid;gap:0;margin-top:27px;border-left:1px solid #a5cbb8; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-timeline > div { position:relative;padding:0 0 28px 29px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-timeline > div:last-child { padding-bottom:0; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-timeline > div:before { content:"";position:absolute;left:-6px;top:3px;width:11px;height:11px;border-radius:50%;background:#5c9e88;box-shadow:0 0 0 5px #eaf4ed; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-timeline p { max-width:680px;margin:0; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-specs { margin:26px 0 31px;border-top:1px solid var(--aquaviva-line); }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-specs > div { display:grid;grid-template-columns:150px minmax(0,1fr);gap:21px;padding:16px 0;border-bottom:1px solid var(--aquaviva-line); }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-specs dt { color:#417769;font-size:14px;font-weight:670; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-specs dd { margin:0;color:#516c64;font-size:15px;line-height:1.58; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-faq { padding:27px 29px;border:1px solid #d7e7da;border-radius:20px;background:#fff; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-faq h3 { margin-bottom:17px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-faq details { padding:15px 0;border-top:1px solid #e1ede8; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-faq summary { color:#2b6256;font-size:16px;font-weight:560;line-height:1.45;cursor:pointer; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-faq details p { margin:12px 0 0;font-size:15px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-editorial-source { margin-top:24px;color:#6c867c;font-size:13px;line-height:1.65; }
@media(max-width:1130px) {
  body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-verdict,body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-feature-grid { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-verdict { margin-top:28px;gap:10px; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-verdict > div { padding:21px; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-detail-main section.spah-aquaviva-spa { padding:27px 23px; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-pool-grid,body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-room-grid { grid-template-columns:1fr;gap:11px; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-feature-grid > div { padding:20px; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-dining-photo button { aspect-ratio:1.3/1; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-callout { padding:22px; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-specs > div { grid-template-columns:1fr;gap:4px;padding:15px 0; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-faq { padding:21px; }
}
@media(prefers-reduced-motion:reduce) { body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-photo img { transition:none; } }

/* Aqua Viva: compact itinerary and two-area dining gallery. */
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-dining-grid { display:grid;grid-template-columns:1.25fr .75fr;gap:12px;margin:26px 0 18px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-dining-grid .spah-aquaviva-photo button { aspect-ratio:1.33/1; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-dining-grid .spah-aquaviva-photo:last-child button { aspect-ratio:1/1; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-tips { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-tips div { padding:24px;border:1px solid #d9e7dc;border-radius:17px;background:#f8fbf8; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-tips strong { display:block;margin-bottom:9px;color:#164e5c;font-size:17px;font-weight:570; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-tips p { margin:0;font-size:15px;line-height:1.56; }
@media(max-width:700px){
 body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-dining-grid,body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-tips { grid-template-columns:1fr; }
 body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-dining-grid .spah-aquaviva-photo button,body.spabg-hotels-page .spah-detail[data-hotel-slug="aqua-viva-spa"] .spah-aquaviva-dining-grid .spah-aquaviva-photo:last-child button { aspect-ratio:1.4/1; }
}
