/* Editorial detail and local Royal Spa photo galleries, scoped to this hotel only. */
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] { --royal-ink:#254b52; --royal-moss:#307987; --royal-line:#d7e7e8; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-heading-copy p { max-width:670px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-detail-main section { scroll-margin-top:110px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-detail-main h3 { margin:0 0 10px;color:var(--royal-ink);font-size:21px;font-weight:450;line-height:1.3;letter-spacing:-.025em; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-detail-main p { margin:0 0 15px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-detail-main a { color:#286f7d;text-underline-offset:3px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-jump { display:flex;flex-wrap:wrap;gap:9px;margin:29px 0 0; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-jump a { display:inline-flex;align-items:center;min-height:42px;padding:9px 16px;border:1px solid #bbded3;border-radius:999px;background:#fff;color:#286f7d;text-decoration:none;font-size:14px;font-weight:550;line-height:1.2; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-jump a:hover,body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-jump a:focus-visible { border-color:#72ab9c;background:#ecf6f3; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-verdict { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:38px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-verdict > div { min-width:0;padding:25px 23px;border:1px solid #d9eae2;border-radius:20px;background:#fff;box-shadow:0 12px 30px #225c510a; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-verdict span,body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-feature-grid span,body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-room-grid span,body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-timeline span { display:block;margin-bottom:13px;color:#317380;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-verdict strong { display:block;margin-bottom:9px;color:var(--royal-ink);font-size:18px;font-weight:520;line-height:1.3; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-verdict p { margin:0;color:#5a786f;font-size:14px;line-height:1.55; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-detail-main section.spah-royal-spa { padding:38px;border:0;border-radius:25px;background:#e9f3f3; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-pool-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0 30px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-pool-grid .spah-royal-photo { box-shadow:0 12px 26px rgba(26,72,48,.1); }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-pool-grid .spah-royal-photo:first-child:nth-last-child(3) { grid-column:1/-1; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-pool-grid .spah-royal-photo:first-child:nth-last-child(3) button { aspect-ratio:2.2/1; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-feature-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:27px 0 22px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-feature-grid > div { padding:24px 21px;border:1px solid #d4e7df;border-radius:17px;background:#fff; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-feature-grid p,body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-room-grid p { margin:0;color:#5d7970;font-size:15px;line-height:1.56; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-note { margin:20px 0 0;color:#4e6e64;font-size:14px;line-height:1.6; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-room-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 20px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-room-grid > div { min-width:0;padding:0;border:1px solid var(--royal-line);border-radius:20px;background:#fff;overflow:hidden; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-room-copy { padding:23px 21px 26px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-photo { position:relative;min-width:0;margin:0;overflow:hidden;border-radius:17px;background:#dceee8; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-room-card .spah-royal-photo { border-radius:0; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-photo button { display:block;width:100%;aspect-ratio:3/2;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-photo button:focus-visible { outline:3px solid #f5c68c;outline-offset:-4px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-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="velingrad-royal"] .spah-royal-photo button:hover img { transform:scale(1.035); }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-photo figcaption { position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.94);color:#285b66;font-size:12px;font-weight:600;line-height:1.3;pointer-events:none;box-shadow:0 5px 22px rgba(18,49,33,.12); }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-dining-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:27px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-dining-grid .spah-royal-photo:first-child:nth-last-child(3) { grid-column:1/-1; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-dining-grid .spah-royal-photo:first-child:nth-last-child(3) button { aspect-ratio:2.2/1; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-timeline { display:grid;gap:0;margin-top:27px;border-left:1px solid #a6cfbf; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-timeline > div { position:relative;padding:0 0 28px 29px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-timeline > div:last-child { padding-bottom:0; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-timeline > div:before { content:"";position:absolute;left:-6px;top:3px;width:11px;height:11px;border-radius:50%;background:#4d9aa7;box-shadow:0 0 0 5px #e7f2f2; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-timeline p { max-width:670px;margin:0; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-specs { margin:26px 0 31px;border-top:1px solid var(--royal-line); }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-specs > div { display:grid;grid-template-columns:150px minmax(0,1fr);gap:21px;padding:16px 0;border-bottom:1px solid var(--royal-line); }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-specs dt { color:#337583;font-size:14px;font-weight:670; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-specs dd { margin:0;color:#506e64;font-size:15px;line-height:1.58; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-faq { padding:27px 29px;border:1px solid #d8eae3;border-radius:20px;background:#fff; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-faq h3 { margin-bottom:17px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-faq details { padding:15px 0;border-top:1px solid #e1ede8; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-faq summary { color:#285b66;font-size:16px;font-weight:560;line-height:1.45;cursor:pointer; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-faq details p { margin:12px 0 0;font-size:15px; }
body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-editorial-source { margin-top:24px;color:#6b877c;font-size:13px;line-height:1.65; }
@media(max-width:1130px) {
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-verdict,body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-feature-grid,body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-room-grid { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-verdict { gap:10px;margin-top:28px; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-verdict > div { padding:21px; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-room-copy { padding:21px; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-dining-grid { grid-template-columns:1fr; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-dining-grid .spah-royal-photo:first-child:nth-last-child(3) button { aspect-ratio:3/2; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-detail-main section.spah-royal-spa { padding:27px 23px; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-pool-grid { grid-template-columns:1fr;gap:11px;margin:22px 0 27px; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-pool-grid .spah-royal-photo:first-child:nth-last-child(3) button { aspect-ratio:3/2; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-feature-grid > div { padding:20px; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-specs > div { grid-template-columns:1fr;gap:4px;padding:15px 0; }
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-faq { padding:21px; }
}
@media(prefers-reduced-motion:reduce) {
  body.spabg-hotels-page .spah-detail[data-hotel-slug="velingrad-royal"] .spah-royal-photo img { transition:none; }
}
