/* SPA.BG 1.18.0: locally hosted Roboto throughout Newspaper and plugin layouts. */
@font-face {
  font-family: "SPA Roboto";
  src: url("fonts/Roboto-variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
body.sbb-theme {
  --spa-canvas: #fafaf7;
  --spa-surface: #ffffff;
  --spa-mist: #edf5f0;
  --spa-cream: #f5f1e9;
  --spa-forest: #263f39;
  --spa-quiet: #546b64;
  --spa-jade: #326e61;
  --spa-hairline: #e1e9e2;
  --spa-glow: 0 18px 48px rgba(42,71,61,.075);
  --spa-font: "SPA Roboto", Roboto, Arial, sans-serif;
  background: var(--spa-canvas);
  color: var(--spa-forest);
  font-family: var(--spa-font);
  font-weight: 350;
}
body.sbb-theme :is(.spa-site-header,.spa-site-footer,.spa-editorial,.spabg-destination-rollout,.spabg-sandanski,.td-header-wrap,.td-main-content-wrap,.td-footer-wrapper) { font-family: var(--spa-font); }
body.sbb-theme :is(a,button,input,summary,select,textarea):focus-visible {
  outline: 3px solid #aa805e;
  outline-offset: 3px;
}
/* Keep the native Newspaper navigation, categories and theme templates. */
body.sbb-theme:not(.spabg-editorial-page) .td-header-wrap {
  background: var(--spa-canvas);
  color: var(--spa-forest);
  box-shadow: none;
}
body.sbb-theme:not(.spabg-editorial-page) .td-header-top-menu-full {
  background: var(--spa-forest);
  color: #f6fbf7;
}
body.sbb-theme:not(.spabg-editorial-page) .td-header-menu-wrap-full {
  background: rgba(250,250,247,.97);
  box-shadow: 0 1px 0 var(--spa-hairline);
  border-bottom: 1px solid var(--spa-hairline);
}
body.sbb-theme:not(.spabg-editorial-page) .td-header-menu-wrap,
body.sbb-theme:not(.spabg-editorial-page) .td-header-main-menu { background: transparent; }
body.sbb-theme:not(.spabg-editorial-page) #td-header-menu .td-main-menu-logo {
  display: flex;
  align-items: center;
  min-width: 113px;
  margin-right: 18px;
  color: var(--spa-forest);
  font: 600 25px/1 var(--spa-font);
  letter-spacing: -.055em;
  white-space: nowrap;
}
body.sbb-theme:not(.spabg-editorial-page) #td-header-menu .td-main-menu-logo:empty::before { content: "СПА.БГ"; }
body.sbb-theme:not(.spabg-editorial-page) #td-header-menu .spa-global-brand { color: var(--spa-forest); font: inherit; }
body.sbb-theme:not(.spabg-editorial-page) #td-header-menu .spa-global-brand span { color: var(--spa-jade); }
body.sbb-theme:not(.spabg-editorial-page) #td-header-menu .sf-menu > li > a {
  color: var(--spa-forest);
  font: 500 16px/1.4 var(--spa-font);
  letter-spacing: .005em;
}
body.sbb-theme:not(.spabg-editorial-page) #td-header-menu .sf-menu > li > a:hover,
body.sbb-theme:not(.spabg-editorial-page) #td-header-menu .sf-menu > li.current-menu-item > a,
body.sbb-theme:not(.spabg-editorial-page) #td-header-menu .sf-menu > li.current-menu-ancestor > a { color: var(--spa-jade); }
body.sbb-theme:not(.spabg-editorial-page) #td-header-menu .sub-menu {
  background: var(--spa-surface);
  border: 1px solid var(--spa-hairline);
  border-radius: 0 0 18px 18px;
  box-shadow: var(--spa-glow);
}
body.sbb-theme:not(.spabg-editorial-page) #td-header-menu .sub-menu a {
  color: var(--spa-forest);
  font: 400 16px/1.5 var(--spa-font);
}
body.sbb-theme:not(.spabg-editorial-page) .td-header-header {
  background: var(--spa-canvas);
  min-height: 0;
  padding-block: 0;
}
body.sbb-theme:not(.spabg-editorial-page) .td-header-sp-recs,
body.sbb-theme:not(.spabg-editorial-page) .td-header-rec-wrap { min-height: 0; }
body.sbb-theme:not(.spabg-editorial-page) .td-mobile-nav-wrap,
body.sbb-theme:not(.spabg-editorial-page) .td-mobile-container { background: var(--spa-canvas); }
body.sbb-theme:not(.spabg-editorial-page) .td-mobile-nav-wrap a { color: var(--spa-forest); }
body.sbb-theme .td-main-content-wrap { background: var(--spa-canvas); }
body.sbb-theme:not(.spabg-editorial-page) .td-page-title,
body.sbb-theme:not(.spabg-editorial-page) .td-post-title .entry-title {
  color: var(--spa-forest);
  font-family: var(--spa-font);
  font-size: clamp(36px,4.1vw,56px);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1.14;
}
body.sbb-theme:not(.spabg-editorial-page) .td-block-title {
  border-color: var(--spa-hairline);
  color: var(--spa-forest);
  font-family: var(--spa-font);
  font-weight: 500;
  letter-spacing: -.025em;
}
body.sbb-theme:not(.spabg-editorial-page) .td-module-title,
body.sbb-theme:not(.spabg-editorial-page) .td-module-title a {
  color: var(--spa-forest);
  font-family: var(--spa-font);
  font-weight: 500;
  letter-spacing: -.018em;
  line-height: 1.37;
}
body.sbb-theme:not(.spabg-editorial-page) .td-module-title a:hover { color: var(--spa-jade); }
body.sbb-theme:not(.spabg-editorial-page) .td_module_wrap .entry-thumb { border-radius: 17px; }
body.sbb-theme.archive .td-main-content-wrap .td_module_wrap {
  border: 1px solid var(--spa-hairline);
  border-radius: 20px;
  background: var(--spa-surface);
  box-shadow: var(--spa-glow);
  padding: 16px;
}
body.sbb-theme.archive .td-main-content-wrap .td_module_wrap .entry-thumb { width: 100%; }
body.sbb-theme.archive .td-main-content-wrap .td_module_wrap :is(.td-module-title,.td-excerpt) { margin-top: 11px; }
body.sbb-theme:not(.spabg-editorial-page) :is(.td-excerpt,.td-post-content,.td-page-content) {
  color: var(--spa-forest);
  font-family: var(--spa-font);
  font-size: 17px;
  font-weight: 350;
  line-height: 1.78;
}
body.sbb-theme:not(.spabg-editorial-page) :is(.td-post-content,.td-page-content) :is(p,li) { font-size: max(16px,1em); }
body.sbb-theme:not(.spabg-editorial-page) :is(.td-post-content,.td-page-content) a { color: var(--spa-jade); text-underline-offset: 3px; }
body.sbb-theme:not(.spabg-editorial-page) :is(.td-module-meta-info,.td-post-author-name,.td-post-date) { color: var(--spa-quiet); font-family: var(--spa-font); font-size: 16px; }
body.sbb-theme:not(.spabg-editorial-page) .td-footer-wrapper {
  background: var(--spa-forest);
  color: #e8f3ec;
}
body.sbb-theme:not(.spabg-editorial-page) .td-footer-wrapper a { color: #e8f3ec; }
body.sbb-theme:not(.spabg-editorial-page) .td-footer-wrapper .footer-logo-wrap a { color: #fff; font: 500 27px/1.2 var(--spa-font); letter-spacing: -.055em; }
body.sbb-theme:not(.spabg-editorial-page) .td-footer-wrapper .footer-logo-wrap a.spa-logo-replaced img { display: none; }
body.sbb-theme:not(.spabg-editorial-page) .td-footer-wrapper .footer-logo-wrap a.spa-logo-replaced::before { content: "СПА.БГ"; }
body.sbb-theme #spabg-legal-nav {
  background: var(--spa-forest);
  border-top: 1px solid rgba(235,247,238,.18);
  color: #eaf2ec;
}
body.sbb-theme #spabg-legal-nav :is(a,#spabg-consent-settings) { color: #eaf2ec; }
/* The two editorial templates share the same muted palette and lighter type. */
body.sbb-theme.spabg-editorial-page :is(.spa-site-header,.spa-site-footer,.spa-editorial) {
  --spa-bg: var(--spa-canvas);
  --spa-white: var(--spa-surface);
  --spa-soft: var(--spa-mist);
  --spa-text: var(--spa-forest);
  --spa-muted: var(--spa-quiet);
  --spa-teal: var(--spa-jade);
  --spa-line: var(--spa-hairline);
  background-color: var(--spa-canvas);
  color: var(--spa-forest);
  font-family: var(--spa-font);
  font-weight: 350;
}
body.sbb-theme.spabg-editorial-page .spa-site-header {
  background: rgba(250,250,247,.98);
  border-bottom-color: var(--spa-hairline);
}
body.sbb-theme.spabg-editorial-page .spa-header-inner { min-height: 78px; }
body.sbb-theme.spabg-editorial-page .spa-logo { font-weight: 550; letter-spacing: -.055em; }
body.sbb-theme.spabg-editorial-page .spa-logo small { font-size: 12px; font-weight: 400; letter-spacing: .11em; }
body.sbb-theme.spabg-editorial-page .spa-header-nav a { font-weight: 470; }
body.sbb-theme.spabg-editorial-page .spa-header-cta {
  border: 1px solid #c9d9ce;
  border-radius: 999px;
  background: transparent;
  color: var(--spa-jade);
  font-weight: 550;
}
body.sbb-theme.spabg-editorial-page .spa-header-cta:hover { background: var(--spa-mist); }
body.sbb-theme.spabg-editorial-page .spa-home-hero,
body.sbb-theme.spabg-editorial-page .spa-post-header {
  background: radial-gradient(ellipse at 78% 2%,rgba(222,238,226,.78),transparent 45%),
              linear-gradient(114deg,#f7f9f4,#f3f7f2 46%,#f9f8f2 100%);
}
body.sbb-theme.spabg-editorial-page .spa-home-hero-inner { min-height: 515px; padding-block: 70px 78px; gap: 44px; }
body.sbb-theme.spabg-editorial-page .spa-home-hero h1,
body.sbb-theme.spabg-editorial-page .spa-post-header h1 {
  color: var(--spa-forest);
  font-family: var(--spa-font);
  font-weight: 380;
  letter-spacing: -.052em;
  line-height: 1.13;
}
body.sbb-theme.spabg-editorial-page .spa-home-hero h1 { font-size: clamp(44px,5vw,66px); }
body.sbb-theme.spabg-editorial-page .spa-post-header h1 { font-size: clamp(40px,4.4vw,61px); }
body.sbb-theme.spabg-editorial-page :is(.spa-eyebrow,.spa-kicker) {
  color: var(--spa-jade);
  font-size: 16px;
  font-weight: 580;
  letter-spacing: .125em;
}
body.sbb-theme.spabg-editorial-page :is(.spa-hero-copy > p,.spa-post-intro) { font-size: 18px; font-weight: 350; line-height: 1.68; }
body.sbb-theme.spabg-editorial-page .spa-hero-note {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-top: 31px;
  color: var(--spa-quiet);
  font-size: 16px;
  letter-spacing: .01em;
}
body.sbb-theme.spabg-editorial-page .spa-hero-note span + span::before { content: "·"; margin-right: 18px; color: var(--spa-jade); }
body.sbb-theme.spabg-editorial-page .spa-hero-figure,
body.sbb-theme.spabg-editorial-page .spa-post-hero {
  border-radius: 27px 27px 76px 27px;
  box-shadow: 0 26px 60px rgba(28,68,53,.13);
}
body.sbb-theme.spabg-editorial-page .spa-hero-figure { height: 420px; }
body.sbb-theme.spabg-editorial-page .spa-hero-figure figcaption { border-radius: 13px; background: rgba(26,59,48,.84); }
body.sbb-theme.spabg-editorial-page .spa-button { border-radius: 999px; padding-inline: 23px; font-weight: 550; }
body.sbb-theme.spabg-editorial-page .spa-button-primary { background: var(--spa-jade); }
body.sbb-theme.spabg-editorial-page .spa-button-light { border-color: #cdded2; background: rgba(255,255,255,.77); }
body.sbb-theme.spabg-editorial-page .spa-section { padding-block: 83px; }
body.sbb-theme.spabg-editorial-page .spa-section-title { margin-bottom: 31px; }
body.sbb-theme.spabg-editorial-page .spa-section-title h2 {
  font-size: clamp(33px,3.5vw,45px);
  font-weight: 390;
  letter-spacing: -.043em;
  line-height: 1.2;
}
body.sbb-theme.spabg-editorial-page :is(.spa-articles,.spa-topics,.spa-post-related) { background: #f4f7f2; }
body.sbb-theme.spabg-editorial-page :is(.spa-place,.spa-article-card,.spa-hotel-card,.spa-topic) {
  border-color: var(--spa-hairline);
  border-radius: 21px;
  background: var(--spa-surface);
  box-shadow: var(--spa-glow);
}
body.sbb-theme.spabg-editorial-page .spa-place-photo { height: 180px; background: var(--spa-mist); }
body.sbb-theme.spabg-editorial-page .spa-place h3,
body.sbb-theme.spabg-editorial-page .spa-article-text h3,
body.sbb-theme.spabg-editorial-page .spa-hotel-body h3,
body.sbb-theme.spabg-editorial-page .spa-topic h3 {
  font-weight: 490;
  letter-spacing: -.02em;
  line-height: 1.38;
}
body.sbb-theme.spabg-editorial-page .spa-home .spa-article-feature h3 { font-weight: 450; }
body.sbb-theme.spabg-editorial-page .spa-topic { padding: 25px 23px; border: 1px solid var(--spa-hairline); }
body.sbb-theme.spabg-editorial-page .spa-topic-list a { background: var(--spa-surface); border: 1px solid var(--spa-hairline); font-weight: 500; }
body.sbb-theme.spabg-editorial-page .spa-hotel-image { background: #f2f5f1; }
body.sbb-theme.spabg-editorial-page .spa-hotel-image img { object-fit: contain; }
body.sbb-theme.spabg-editorial-page :is(.spa-hotel-body small,.spa-article-text small) { font-weight: 540; }
body.sbb-theme.spabg-editorial-page .spa-article-content { font-size: 18px; font-weight: 350; line-height: 1.84; }
body.sbb-theme.spabg-editorial-page .spa-article-content :is(h2,h3,h4) { font-weight: 470; letter-spacing: -.03em; }
body.sbb-theme.spabg-editorial-page .spa-article-content h2 { margin-top: 53px; }
body.sbb-theme.spabg-editorial-page .spa-post-layout { gap: 66px; padding-block: 68px 94px; }
body.sbb-theme.spabg-editorial-page .spa-post-toc,
body.sbb-theme.spabg-editorial-page .spa-aside-note { border-radius: 21px; box-shadow: var(--spa-glow); }
body.sbb-theme.spabg-editorial-page .spa-post-toc summary,
body.sbb-theme.spabg-editorial-page .spa-aside-note strong { font-weight: 520; }
body.sbb-theme.spabg-editorial-page .spa-site-footer { background: var(--spa-forest); color: #eaf2ec; }
body.sbb-theme.spabg-editorial-page .spa-site-footer .spa-footer-row strong { color: #fff; font-weight: 460; }
/* Hotel-first destination templates retain all original hotel photographs. */
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) {
  --ink: var(--spa-forest); --muted: var(--spa-quiet);
  --teal: var(--spa-jade); --teal-dark: #285a50;
  --sand: var(--spa-cream); --mint: var(--spa-mist);
  --border: var(--spa-hairline);
  background: var(--spa-canvas);
  color: var(--spa-forest);
  font-family: var(--spa-font);
  font-size: 17px;
  font-weight: 350;
  line-height: 1.75;
}
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) :is(h1,h2,h3) { font-family: var(--spa-font); letter-spacing: -.045em; line-height: 1.18; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) h1 { font-size: clamp(39px,4.4vw,61px); font-weight: 390; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) h2 { font-size: clamp(32px,3.2vw,43px); font-weight: 400; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) h3 { font-weight: 500; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .destination { max-width: 1240px; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .destination-nav {
  margin-block: 13px 12px;
  border-bottom: 1px solid var(--spa-hairline);
}
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .destination-nav a { color: var(--spa-quiet); font-weight: 500; border-radius: 999px; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .destination-nav a:first-child { background: var(--spa-mist); color: var(--spa-jade); }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .destination-nav a:hover { background: var(--spa-mist); color: var(--spa-jade); }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .hero {
  padding-block: 54px 63px;
  background: radial-gradient(ellipse at 94% 4%,rgba(224,239,227,.6),transparent 49%),#f8f9f4;
  border-radius: 27px;
}
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .hero .lead { color: var(--spa-quiet); font-size: 18px; font-weight: 350; line-height: 1.68; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .eyebrow { color: var(--spa-jade); font-weight: 550; letter-spacing: .1em; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) :is(.hero-photo,.explore-photo) { border-radius: 22px 22px 59px 22px; overflow: hidden; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) :is(.primary-action,.hotel-action) { background: var(--spa-jade); color: #fff; border-radius: 999px; font-weight: 560; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .secondary-action { border-color: #cadbd0; border-radius: 999px; font-weight: 520; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) :is(.stay-card,.guide-grid article,.hotel-comparison,.faq-section details,.quick) {
  border-color: var(--spa-hairline);
  border-radius: 21px;
  background: var(--spa-surface);
  box-shadow: var(--spa-glow);
}
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .quick {
  border: 0;
  border-bottom: 1px solid var(--spa-hairline);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 15px 0;
}
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .quick span { background: var(--spa-mist); color: var(--spa-forest); }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) #stay { background: linear-gradient(180deg,#f1f7f2,#fafaf7 58%); border-radius: 23px; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .stay-card > img { object-fit: contain; background: #eff4ef; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .hotel-content { padding: 24px; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .hotel-tag { background: var(--spa-cream); color: #755b44; font-weight: 550; border-radius: 999px; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .hotel-fit { color: var(--spa-jade); font-weight: 540; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .hotel-facts dt { font-weight: 550; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .guide-grid article:nth-child(2) { background: #edf5f0; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .guide-grid article:nth-child(3) { background: #f5f1e9; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .park-section { background: var(--spa-mist); border-radius: 22px; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .park-plan { border-radius: 17px; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .water-section { background: #315c52; border-radius: 22px; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .water-section .eyebrow { color: #dfdbc4; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .note-section { background: var(--spa-cream); border-color: #bca088; border-radius: 17px; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .length-grid .recommended { background: var(--spa-mist); }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .faq-section details { margin-bottom: 11px; padding: 19px 23px; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .faq-section summary { font-weight: 530; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .verdict-section { background: #315c52; border-radius: 23px; }
body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .filter-bar button { border-radius: 999px; font-weight: 530; }
@media (max-width: 1050px) {
  body.sbb-theme:not(.spabg-editorial-page) #td-header-menu .td-main-menu-logo { min-width: 90px; margin-right: 8px; font-size: 21px; }
  body.sbb-theme:not(.spabg-editorial-page) #td-header-menu .sf-menu > li > a { font-size: 16px; padding-inline: 8px; }
}
@media (max-width: 660px) {
  body.sbb-theme.spabg-editorial-page .spa-home-hero-inner { min-height: 0; padding-block: 51px 53px; }
  body.sbb-theme.spabg-editorial-page .spa-home-hero h1 { font-size: clamp(39px,10vw,51px); }
  body.sbb-theme.spabg-editorial-page .spa-hero-figure { height: 260px; }
  body.sbb-theme.spabg-editorial-page .spa-post-header h1 { font-size: clamp(36px,9vw,48px); }
  body.sbb-theme.spabg-editorial-page .spa-section { padding-block: 58px; }
  body.sbb-theme.spabg-editorial-page .spa-place-photo { height: 135px; }
  body.sbb-theme.spabg-editorial-page .spa-post-layout { gap: 22px; padding-block: 34px 60px; }
  body.sbb-theme.spabg-editorial-page .spa-article-content { font-size: 17px; }
  body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .hero { padding-block: 34px 45px; }
  body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .hotel-content { padding: 20px; }
}
@media (prefers-reduced-motion: no-preference) {
  body.sbb-theme .spa-editorial :is(.spa-place,.spa-article-card,.spa-hotel-card),
  body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .stay-card { transition: transform .25s ease,box-shadow .25s ease; }
  body.sbb-theme .spa-editorial :is(.spa-place,.spa-article-card,.spa-hotel-card):hover,
  body.sbb-theme :is(.spabg-destination-rollout,.spabg-sandanski) .stay-card:hover { transform: translateY(-3px); box-shadow: 0 23px 50px rgba(42,71,61,.11); }
}
