/* Villa Dari — Modern Visual Polish v8
 * Premium hospitality aesthetic: trust, calm, sophistication
 * Soft pastels · generous rhythm · refined typography · subtle textures
 */

/* =============================================================
   REMOVE STICKY CTA BAR — user request
   ============================================================= */
#mobileCta, .mobile-cta-bar,
.vd-sticky-cta,
.lp-sticky-cta, .gr-sticky-cta, .cp-sticky-cta,
.ls-sticky-cta, .mw-sticky-cta, .ex-sticky-cta {
  display: none !important;
}

/* Body padding-bottom не e нужен ako бара го няма */
body {
  padding-bottom: 0 !important;
}

/* =============================================================
   CRITICAL — PREVENT HORIZONTAL SCROLL (mobile bug fix)
   ============================================================= */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw;
  position: relative;
}

/* =============================================================
   RADICAL FIX v11 — Hero H1 overflow, stat cuts, cookie z-index
   ============================================================= */

/* ============= 1. HERO H1 — aggressive size reduction за mobile ============= */
@media (max-width: 767px) {
  .lp-hero h1, .gr-hero h1, .cp-hero h1, .ls-hero h1,
  .mw-hero h1, .ex-hero h1,
  .hero h1, [class*="hero"] h1, #hero h1 {
    font-size: clamp(1.375rem, 5.5vw, 1.75rem) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.015em !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    hyphens: none !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }

  /* Spans в h1 (цветни highlights) — wrap правилно */
  .lp-hero h1 span, .gr-hero h1 span, .cp-hero h1 span,
  .ls-hero h1 span, .mw-hero h1 span, .ex-hero h1 span,
  .hero h1 span, [class*="hero"] h1 span {
    display: inline !important;
    word-break: keep-all;
  }

  /* Hero sub-titles — also smaller */
  .lp-hero .lp-sub, .gr-hero .gr-sub, .cp-hero .cp-sub,
  .ls-hero .ls-sub, .mw-hero .mw-sub, .ex-hero .ex-sub,
  [class*="hero"] [class*="-sub"], [class*="hero"] p {
    font-size: 0.9375rem !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 380px) {
  .lp-hero h1, .gr-hero h1, .cp-hero h1, .ls-hero h1,
  .mw-hero h1, .ex-hero h1, .hero h1, [class*="hero"] h1 {
    font-size: 1.25rem !important;
  }
}

/* Desktop heroes — leave room for long titles */
@media (min-width: 768px) and (max-width: 1023px) {
  .lp-hero h1, .gr-hero h1, .cp-hero h1, .ls-hero h1,
  .mw-hero h1, .ex-hero h1, .hero h1, [class*="hero"] h1 {
    font-size: clamp(1.875rem, 4.5vw, 2.5rem) !important;
    line-height: 1.15 !important;
  }
}

/* ============= 2. GROUPS — fix €22 stat number cut ============= */
.gr-hero-numbers {
  gap: 0.5rem !important;
}

.gr-number {
  padding: 0.875rem 0.5rem !important;
  min-width: 0;
  overflow: hidden;
}

.gr-number-value {
  font-size: clamp(1.5rem, 4vw, 2rem) !important;
  word-break: keep-all;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
}

.gr-number-label {
  font-size: 0.6875rem !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 767px) {
  .gr-hero-numbers {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0.375rem !important;
  }
  .gr-number {
    padding: 0.625rem 0.375rem !important;
  }
  .gr-number-value {
    font-size: 1.125rem !important;
  }
  .gr-number-label {
    font-size: 0.625rem !important;
  }
}

/* Same for longstay */
.ls-num {
  padding: 0.875rem 0.5rem !important;
}
.ls-num-value {
  font-size: clamp(1.375rem, 3.5vw, 1.875rem) !important;
}

/* ============= 3. GUIDE.HTML — title overflow (FIX v13 — по-агресивен) ============= */
@media (max-width: 767px) {
  .gd-hero, .guide-hero {
    padding: 1.75rem 0.875rem 2.25rem !important;
  }

  .gd-hero h1, .guide-hero h1, [class*="guide"] h1 {
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    max-width: 100% !important;
    padding: 0 0.25rem !important;
    letter-spacing: -0.015em !important;
    font-weight: 700 !important;
  }

  .gd-hero p, .guide-hero p {
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    padding: 0 0.25rem !important;
    max-width: 100% !important;
  }
}

@media (max-width: 380px) {
  .gd-hero h1, .guide-hero h1, [class*="guide"] h1 {
    font-size: 1.125rem !important;
  }
  .gd-hero p {
    font-size: 0.8125rem !important;
  }
}

/* ============= 4. INDEX HERO H1 fix ============= */
@media (max-width: 767px) {
  #hero h1, .hero h1, .hero-title {
    font-size: clamp(1.375rem, 5.5vw, 1.75rem) !important;
    line-height: 1.2 !important;
    overflow-wrap: break-word !important;
    padding-right: 0 !important;
  }
}

/* ============= 5. FAMILY-2026 DESKTOP HERO subtitle ============= */
@media (min-width: 768px) {
  .lp-hero .lp-sub {
    font-size: clamp(0.9375rem, 1.5vw, 1.125rem) !important;
    line-height: 1.55 !important;
  }
}

/* ============= 6. COOKIE BANNER z-index FIX ============= */
.cookie-banner, [class*="cookie-banner"], #cookieBanner {
  z-index: 70 !important;
}

.vd-sticky-cta, .lp-sticky-cta, #mobileCta, .mobile-cta-bar {
  z-index: 85 !important;
}

.vd-wa-float {
  z-index: 90 !important;
}

/* Когато cookie banner е виден, sticky CTA се отмества нагоре */
body:has(.cookie-banner:not(.hidden), [class*="cookie-banner"]:not(.hidden), #cookieBanner:not(.hidden)) .vd-sticky-cta,
body:has(.cookie-banner:not(.hidden), [class*="cookie-banner"]:not(.hidden), #cookieBanner:not(.hidden)) .lp-sticky-cta,
body:has(.cookie-banner:not(.hidden), [class*="cookie-banner"]:not(.hidden), #cookieBanner:not(.hidden)) #mobileCta {
  bottom: calc(env(safe-area-inset-bottom, 0px) + 100px) !important;
}

/* ============= 7. TOP STICKY BAR family-2026 — намали padding ============= */
@media (max-width: 767px) {
  .lp-bar, .gr-bar, .cp-bar, .ls-bar, .mw-bar, .ex-bar {
    padding: 0.375rem 0.625rem !important;
    font-size: 0.75rem !important;
    line-height: 1.3 !important;
  }
  .lp-bar a, .gr-bar a, .cp-bar a, .ls-bar a, .mw-bar a, .ex-bar a {
    white-space: nowrap;
  }
}

/* ============= 8. COUPLES PILL CHIPS wrap fix ============= */
.cp-hero-bullets, .lp-hero-bullets, .gr-hero-bullets,
.ls-hero-bullets, .mw-hero-bullets, .ex-hero-bullets {
  gap: 0.375rem !important;
}

@media (max-width: 767px) {
  .cp-hero-bullet, .lp-hero-bullet, .gr-hero-bullet,
  .ls-hero-bullet, .mw-hero-bullet, .ex-hero-bullet {
    font-size: 0.75rem !important;
    padding: 0.375rem 0.625rem !important;
  }
}

/* ============= 9. HERO CTA BUTTONS — wrap правилно ============= */
.lp-cta-row, .gr-cta-row, .cp-cta-row,
.ls-cta-row, .mw-cta-row, .ex-cta-row {
  flex-wrap: wrap !important;
  gap: 0.625rem !important;
}

@media (max-width: 767px) {
  .lp-cta-row, .gr-cta-row, .cp-cta-row,
  .ls-cta-row, .mw-cta-row, .ex-cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  .lp-cta-primary, .gr-cta-primary, .cp-cta-primary,
  .ls-cta-primary, .mw-cta-primary, .ex-cta-primary,
  .lp-cta-secondary, .gr-cta-secondary, .cp-cta-secondary,
  .ls-cta-secondary, .mw-cta-secondary, .ex-cta-secondary {
    width: 100% !important;
    justify-content: center !important;
    padding: 0.875rem 1.25rem !important;
    font-size: 0.9375rem !important;
  }
}

/* ============= 10. SECTION HEADER decorative dot — премахни на цветни sections ============= */
[class*="hero"] .section-header::before,
.section-soft .section-header::before,
[style*="background"] .section-header::before,
.lp-mechanism .section-header::before,
.gr-compare .section-header::before {
  display: none;
}

/* ============= BONUS: Hero badge на mobile — по-малък ============= */
@media (max-width: 767px) {
  .lp-badge, .gr-badge, .cp-badge, .ls-badge, .mw-badge, .ex-badge,
  .hero-badge {
    font-size: 0.6875rem !important;
    padding: 0.3rem 0.625rem !important;
    margin-bottom: 0.875rem !important;
    letter-spacing: 0.04em !important;
  }
}

/* ============= BONUS: Hero padding mobile ============= */
@media (max-width: 767px) {
  .lp-hero, .gr-hero, .cp-hero, .ls-hero, .mw-hero, .ex-hero {
    padding: 4.5rem 1rem 2.5rem !important;
    min-height: auto !important;
  }
}

/* ============= 11. COUPLES HERO H1 — special fix v12 ============= */
/* Текстът „Свети Влас за двама — без шума, без хората, без главоболия" е твърде дълъг */
@media (max-width: 767px) {
  .cp-hero h1 {
    font-size: 1.375rem !important;
    line-height: 1.2 !important;
    letter-spacing: -0.015em !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: normal !important;
    max-width: 100% !important;
    padding: 0 0.25rem !important;
    hyphens: none !important;
  }

  /* Hero inner — give h1 more room */
  .cp-hero-inner, .lp-hero-inner, .gr-hero-inner,
  .ls-hero-inner, .mw-hero-inner, .ex-hero-inner,
  .hero-inner, [class*="hero-inner"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 380px) {
  .cp-hero h1 {
    font-size: 1.1875rem !important;
  }
}

/* ============= 12. UNIVERSAL HERO INNER SAFETY ============= */
@media (max-width: 767px) {
  /* Принудително padding на heroes — гарантира текстът не докосва краищата */
  [class*="hero-inner"], [class*="hero"] > .container,
  [class*="hero"] > [class*="container"] {
    padding-inline: 0.5rem !important;
    max-width: 100% !important;
  }

  /* Универсален fix за всеки h1 в hero — НАЙ-аgресивен */
  [class*="hero"] h1, .hero h1, section[id*="hero"] h1 {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    max-width: 100% !important;
    padding-inline: 0.25rem !important;
  }
}

/* Всички sections / heroes — clip decorative overflow */
section, .section, header, .header, footer, .footer,
[class*="hero"], [class*="section"], [class*="container"] {
  overflow-x: clip;
  max-width: 100vw;
}

/* Hero containers — force hidden overflow за orbs */
.lp-hero, .gr-hero, .cp-hero, .ls-hero, .mw-hero, .ex-hero,
.hero, [id*="hero"] {
  overflow: hidden !important;
  max-width: 100vw;
}

/* CTA banners — force hidden */
.cta-banner, [class*="cta-banner"] {
  overflow: hidden !important;
  max-width: 100vw;
}

/* =============================================================
   PREMIUM HOSPITALITY AESTHETIC LAYER
   ============================================================= */

/* ============= PAGE-WIDE TEXTURE (super subtle noise за depth) ============= */
body {
  background-image:
    radial-gradient(at 0% 0%, rgba(234, 88, 12, 0.04) 0px, transparent 50%),
    radial-gradient(at 100% 100%, rgba(3, 105, 161, 0.04) 0px, transparent 50%);
  background-attachment: fixed;
}

/* ============= SECTION RHYTHM — generous spacing ============= */
.section,
.lp-section, .gr-section, .cp-section,
.ls-section, .mw-section, .ex-section {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

@media (min-width: 1024px) {
  .section,
  .lp-section, .gr-section, .cp-section,
  .ls-section, .mw-section, .ex-section {
    padding-top: 6.5rem !important;
    padding-bottom: 6.5rem !important;
  }
}

@media (max-width: 767px) {
  .section,
  .lp-section, .gr-section, .cp-section,
  .ls-section, .mw-section, .ex-section {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
}

/* ============= PREMIUM SECTION HEADERS ============= */
.section-header,
.lp-section-narrow > .lp-section-eyebrow,
.gr-section-narrow > .gr-eyebrow {
  text-align: center;
  margin-bottom: 3rem !important;
  position: relative;
}

/* Eyebrow — soft pill instead of plain uppercase */
.section-eyebrow,
.lp-section-eyebrow, .gr-eyebrow, .cp-eyebrow,
.ls-eyebrow, .mw-eyebrow, .ex-eyebrow,
.lp-eyebrow {
  display: inline-block !important;
  padding: 0.4rem 1rem !important;
  background: linear-gradient(135deg, rgba(251, 146, 60, 0.6), rgba(253, 230, 138, 0.5)) !important;
  border: 1px solid rgba(234, 88, 12, 0.15) !important;
  color: #c2410c !important;
  border-radius: 999px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  box-shadow: 0 2px 8px rgba(234, 88, 12, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  margin-bottom: 1.25rem !important;
}

/* Section title — premium size & weight (НЕ override-ваме color — оставя оригиналния) */
.section-title,
.lp-section-title, .gr-section-title, .cp-section-title,
.ls-section-title, .mw-section-title, .ex-section-title,
.lp-title, .gr-title, .cp-title, .ls-title, .mw-title, .ex-title {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 1rem !important;
}

/* Section subtitle — italic Playfair за елегантност (НЕ override color) */
.section-subtitle,
.lp-sub-title, .gr-sub-title, .cp-sub-title,
.ls-sub-title, .mw-sub-title, .ex-sub-title {
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
  font-size: clamp(1.0625rem, 1.4vw, 1.25rem) !important;
  line-height: 1.5 !important;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

/* Section title underline — gradient bar (replaces previous) */
.section-title::after,
.lp-section-title::after, .gr-section-title::after,
.cp-section-title::after, .ls-section-title::after,
.mw-section-title::after, .ex-section-title::after {
  content: '';
  display: block;
  width: 3.5rem;
  height: 3px;
  margin: 1.25rem auto 0;
  background: linear-gradient(90deg, transparent, #ea580c 30%, #ea580c 70%, transparent);
  border-radius: 999px;
  position: relative;
  bottom: 0;
  left: 0;
  transform: none;
  box-shadow: none;
  opacity: 1;
  padding-bottom: 0;
}

.section-title, .lp-section-title, .gr-section-title,
.cp-section-title, .ls-section-title, .mw-section-title, .ex-section-title {
  padding-bottom: 0 !important;
}

/* ============= ALTERNATING SOFT PASTEL BACKGROUNDS ============= */
/* Section-soft = по-светъл pastel */
.section-soft {
  background: linear-gradient(180deg, #fafaf9 0%, #fef7ed 50%, #fafaf9 100%) !important;
  position: relative;
}

/* SVG curve divider between sections (only desktop) */
@media (min-width: 1024px) {
  .section-soft::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    height: 80px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0,40 C360,80 720,0 1440,40 L1440,0 L0,0 Z' fill='%23ffffff'/%3E%3C/svg%3E");
    background-size: cover;
    background-position: bottom;
    pointer-events: none;
    z-index: 1;
  }

  .section-soft::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 80px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0,40 C360,0 720,80 1440,40 L1440,80 L0,80 Z' fill='%23ffffff'/%3E%3C/svg%3E");
    background-size: cover;
    background-position: top;
    pointer-events: none;
    z-index: 1;
  }

  .section-soft > * { position: relative; z-index: 2; }
}

/* ============= TRUST BADGES POLISH (Rating, Reviews) ============= */
[class*="rating"], [class*="review-stars"] {
  filter: drop-shadow(0 2px 4px rgba(251, 191, 36, 0.3));
}

/* ============= CONTAINER POLISH ============= */
.container, .container-narrow {
  position: relative;
}

/* ============= PREMIUM CARD STYLING ============= */
.lp-bonus, .gr-bonus, .cp-bonus, .ls-bonus, .mw-bonus, .ex-bonus,
.lp-why-item, .lp-room, .gr-room, .room,
.offer-card, .feature-card,
.lp-faq-item, .gr-faq-item, .cp-faq-item, .ls-faq-item, .mw-faq-item {
  background: linear-gradient(160deg, #ffffff 0%, #fafaf9 100%) !important;
  border: 1px solid rgba(12, 74, 110, 0.08) !important;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 4px 12px rgba(12, 74, 110, 0.05),
    0 16px 32px rgba(15, 23, 42, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

@media (hover: hover) and (min-width: 768px) {
  .lp-bonus:hover, .gr-bonus:hover, .cp-bonus:hover, .ls-bonus:hover,
  .mw-bonus:hover, .ex-bonus:hover,
  .lp-why-item:hover, .lp-room:hover, .gr-room:hover, .room:hover,
  .offer-card:hover, .feature-card:hover {
    transform: translateY(-6px) !important;
    box-shadow:
      0 2px 4px rgba(15, 23, 42, 0.04),
      0 12px 24px rgba(12, 74, 110, 0.12),
      0 24px 48px rgba(15, 23, 42, 0.1),
      0 4px 12px rgba(234, 88, 12, 0.06),
      inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
    border-color: rgba(234, 88, 12, 0.2) !important;
  }
}

/* ============= SOFT BLOB DECORATIONS in containers ============= */
section .container::before,
section .container-narrow::before,
section .lp-section-narrow::before {
  content: '';
  position: absolute;
  top: -50px;
  right: -50px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(251, 146, 60, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

section .container > *,
section .container-narrow > *,
section .lp-section-narrow > * {
  position: relative;
  z-index: 1;
}

/* ============= DECORATIVE QUOTE MARK FOR TESTIMONIALS ============= */
[class*="testimonial"], [class*="review-card"], .review {
  position: relative;
  background: linear-gradient(135deg, #ffffff 0%, #fafaf9 100%);
  border-radius: 1.25rem;
  padding: 2rem 1.75rem;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(12, 74, 110, 0.06);
}

[class*="testimonial"]::before, [class*="review-card"]::before {
  content: '"';
  position: absolute;
  top: -10px;
  left: 20px;
  font-family: 'Playfair Display', serif;
  font-size: 4rem;
  color: rgba(234, 88, 12, 0.2);
  line-height: 1;
}

/* ============= PREMIUM PRICING NOTE ============= */
.pricing-note,
[class*="-note"] {
  font-style: italic;
  color: #78716c !important;
  background: linear-gradient(135deg, #fef3c7, #fed7aa);
  padding: 1rem 1.5rem;
  border-radius: 999px;
  display: inline-block;
  margin-top: 2rem !important;
  border: 1px solid rgba(234, 88, 12, 0.15);
  box-shadow: 0 2px 8px rgba(234, 88, 12, 0.08);
}

/* ============= SOFT SHADOW HEADER (на scroll) ============= */
header.scrolled, .scrolled.header {
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 4px 16px rgba(15, 23, 42, 0.08) !important;
}

/* ============= CTA SECTION POLISH ============= */
.cta-banner, [class*="cta-banner"] {
  position: relative;
  overflow: hidden;
}

.cta-banner::before, [class*="cta-banner"]::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* ============= FORM PREMIUM POLISH ============= */
.form-card, .lp-form, .gr-form, .cp-form, .ls-form,
[class*="form-premium"], [class*="form-section"] form {
  background: linear-gradient(160deg, #ffffff 0%, #fafaf9 100%) !important;
  border: 1px solid rgba(12, 74, 110, 0.1) !important;
  box-shadow:
    0 4px 12px rgba(15, 23, 42, 0.04),
    0 16px 40px rgba(12, 74, 110, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

/* Form labels — premium (без color override) */
.form-label, label.form-label,
[class*="form-row"] label {
  font-weight: 700 !important;
  letter-spacing: -0.005em;
}

/* ============= MICRO-DECORATIONS for sections ============= */
.section-header::before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  margin: 0 auto 1.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #ea580c, #fb923c);
  box-shadow: 0 0 0 6px rgba(234, 88, 12, 0.1), 0 0 0 12px rgba(234, 88, 12, 0.05);
}

/* ============= IMPROVED LIST STYLING ============= */
.section ul:not([class]):not(.amenity-tile-grid):not(.seasons-grid),
.section ul[class=""] {
  list-style: none;
  padding-left: 0;
}

.section ul:not([class]):not(.amenity-tile-grid):not(.seasons-grid) li,
.section ul[class=""] li {
  padding-left: 1.75rem;
  position: relative;
  margin-bottom: 0.5rem;
}

.section ul:not([class]):not(.amenity-tile-grid):not(.seasons-grid) li::before,
.section ul[class=""] li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #15803d;
  font-weight: 800;
  font-size: 1.125rem;
}

/* ============= STAGE BREAK HERO TO CONTENT TRANSITION ============= */
[class*="hero"] + .section,
[class*="hero"] + [class*="section"] {
  position: relative;
  margin-top: -1px;
}

/* ============= FOOTER POLISH ============= */
footer.footer, .footer {
  background: linear-gradient(180deg, #082f49 0%, #0c2742 100%) !important;
  position: relative;
}

footer.footer::before, .footer::before {
  height: 3px !important;
  background: linear-gradient(90deg, transparent 10%, rgba(234, 88, 12, 0.6) 30%, rgba(251, 191, 36, 0.6) 50%, rgba(234, 88, 12, 0.6) 70%, transparent 90%) !important;
}

/* ============= FAQ POLISH ============= */
[class*="faq-item"], details {
  background: white;
  border-radius: 1.25rem;
  padding: 1.5rem 1.75rem !important;
  margin-bottom: 0.875rem !important;
  border: 1px solid rgba(12, 74, 110, 0.08) !important;
  box-shadow:
    0 2px 8px rgba(15, 23, 42, 0.04),
    0 4px 16px rgba(12, 74, 110, 0.05) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

[class*="faq-item"]:hover, details:hover {
  box-shadow:
    0 4px 12px rgba(15, 23, 42, 0.06),
    0 12px 28px rgba(12, 74, 110, 0.1) !important;
  transform: translateY(-2px);
}

/* ============= FAQ QUESTION POLISH ============= */
[class*="faq-question"] {
  font-weight: 700 !important;
  font-size: 1.0625rem !important;
}

/* ============= MOBILE TYPOGRAPHY ============= */
@media (max-width: 767px) {
  .section-title,
  .lp-section-title, .gr-section-title, .cp-section-title,
  .ls-section-title, .mw-section-title, .ex-section-title {
    font-size: 1.625rem !important;
  }

  .section-subtitle,
  .lp-sub-title, .gr-sub-title, .cp-sub-title,
  .ls-sub-title, .mw-sub-title, .ex-sub-title {
    font-size: 1rem !important;
  }

  .section-header {
    margin-bottom: 2rem !important;
  }
}

/* =============================================================
   VERSUS CARDS — Premium "Problem vs Solution" battle
   ============================================================= */

.versus-card {
  background: linear-gradient(135deg, #ffffff 0%, #fafaf9 100%) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 1.75rem !important;
  padding: 2.5rem 2rem !important;
  margin-bottom: 1.5rem !important;
  box-shadow:
    0 1px 3px rgba(15, 23, 42, 0.04),
    0 8px 20px rgba(15, 23, 42, 0.06),
    0 16px 40px rgba(12, 74, 110, 0.06) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease !important;
}

@media (hover: hover) and (min-width: 768px) {
  .versus-card:hover {
    transform: translateY(-4px) !important;
    box-shadow:
      0 4px 12px rgba(15, 23, 42, 0.06),
      0 16px 40px rgba(12, 74, 110, 0.12),
      0 24px 60px rgba(15, 23, 42, 0.1) !important;
  }
}

/* Large number — modern orange gradient fill */
.versus-number {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(3rem, 7vw, 5rem) !important;
  font-weight: 800 !important;
  line-height: 0.9 !important;
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 60%, #c2410c 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-stroke: 0 !important;
  letter-spacing: -0.05em !important;
  filter: drop-shadow(0 4px 12px rgba(234, 88, 12, 0.25));
  z-index: 2;
}

@media (max-width: 767px) {
  .versus-number {
    position: absolute !important;
    top: 1rem !important;
    right: 1.25rem !important;
    font-size: 3.5rem !important;
    opacity: 0.95;
  }
}

/* =============== BAD SIDE — "ПРОБЛЕМ" =============== */
.versus-side {
  padding: 1.75rem 1.5rem !important;
  border-radius: 1.25rem !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.875rem !important;
  transition: transform 0.35s ease;
}

.versus-bad {
  background:
    linear-gradient(135deg, rgba(245, 243, 239, 0.96) 0%, rgba(235, 232, 225, 0.9) 100%) !important;
  border: 1px solid rgba(120, 113, 108, 0.16) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6),
              0 2px 8px rgba(120, 113, 108, 0.06) !important;
}

/* Decorative top accent (bad) — приглушено сиво */
.versus-bad::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(168, 162, 152, 0.6), rgba(199, 194, 185, 0.8), rgba(168, 162, 152, 0.6));
  border-radius: 1.25rem 1.25rem 0 0;
}

.versus-bad::after {
  content: '✕';
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 1.5rem;
  font-weight: 900;
  color: rgba(120, 113, 108, 0.14);
  z-index: 0;
}

/* =============== GOOD SIDE — "ВИЛА ДАРИ" =============== */
.versus-good {
  background:
    linear-gradient(135deg, rgba(255, 250, 244, 0.97) 0%, rgba(253, 238, 222, 0.9) 100%) !important;
  border: 1px solid rgba(234, 88, 12, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7),
              0 2px 8px rgba(234, 88, 12, 0.08),
              0 8px 20px rgba(234, 88, 12, 0.06) !important;
}

.versus-good::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #ea580c, #fb923c, #ea580c);
  border-radius: 1.25rem 1.25rem 0 0;
}

.versus-good::after {
  content: '✓';
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 1.75rem;
  font-weight: 900;
  color: rgba(234, 88, 12, 0.2);
  z-index: 0;
}

/* =============== ICONS — много по-богати =============== */
.versus-icon {
  font-size: 2.5rem !important;
  line-height: 1 !important;
  width: 4rem !important;
  height: 4rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.7) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08),
              inset 0 2px 4px rgba(255, 255, 255, 0.7) !important;
  position: relative !important;
  z-index: 1 !important;
}

.versus-bad .versus-icon {
  background: linear-gradient(135deg, #ffffff, #f0eee9) !important;
  filter: grayscale(0.55) opacity(0.85);
}

.versus-good .versus-icon {
  background: linear-gradient(135deg, #ffffff, #fdeede) !important;
  filter: saturate(1.15);
}

/* =============== LABELS — premium pill style =============== */
.versus-label {
  font-size: 0.6875rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 0.3rem 0.75rem !important;
  border-radius: 999px !important;
  display: inline-block !important;
  align-self: flex-start !important;
  position: relative !important;
  z-index: 1 !important;
}

.versus-bad .versus-label {
  background: rgba(120, 113, 108, 0.12) !important;
  color: #78716c !important;
  border: 1px solid rgba(120, 113, 108, 0.2);
}

.versus-good .versus-label {
  background: rgba(234, 88, 12, 0.12) !important;
  color: #c2410c !important;
  border: 1px solid rgba(234, 88, 12, 0.25);
}

/* =============== TEXT — четлив, premium =============== */
.versus-text {
  font-size: 0.9375rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 1 !important;
  font-weight: 500;
}

.versus-bad .versus-text {
  color: #857d74 !important;
  text-decoration: line-through;
  text-decoration-color: rgba(120, 113, 108, 0.28);
  text-decoration-thickness: 1px;
}

.versus-good .versus-text {
  color: #3f352c !important;
  font-weight: 600 !important;
}

/* =============== ARROW — animated pulse =============== */
.versus-arrow {
  font-size: 2rem !important;
  font-weight: 900 !important;
  color: #ea580c !important;
  text-shadow: 0 4px 12px rgba(234, 88, 12, 0.3) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  animation: vd-arrow-pulse 2s ease-in-out infinite !important;
}

@keyframes vd-arrow-pulse {
  0%, 100% { transform: translateX(0); opacity: 0.85; }
  50% { transform: translateX(6px); opacity: 1; }
}

/* На мобилно arrow да е надолу */
@media (max-width: 767px) {
  .versus-arrow {
    transform: rotate(90deg);
    margin: 0.5rem auto;
  }
  @keyframes vd-arrow-pulse {
    0%, 100% { transform: rotate(90deg) translateX(0); opacity: 0.85; }
    50% { transform: rotate(90deg) translateX(6px); opacity: 1; }
  }
}

/* Hover effect — двете страни се „отблъскват" малко */
@media (hover: hover) and (min-width: 768px) {
  .versus-card:hover .versus-bad {
    transform: translateX(-3px);
  }
  .versus-card:hover .versus-good {
    transform: translateX(3px);
  }
}

/* ============= ROOT TOKENS ============= */
:root {
  --vd-glass-bg: rgba(255, 255, 255, 0.7);
  --vd-glass-border: rgba(255, 255, 255, 0.5);
  --vd-shadow-soft: 0 1px 3px rgba(15,23,42,0.04), 0 8px 24px rgba(15,23,42,0.06);
  --vd-shadow-card: 0 2px 4px rgba(15,23,42,0.04), 0 12px 32px rgba(12,74,110,0.08), 0 4px 16px rgba(234,88,12,0.05);
  --vd-shadow-card-hover: 0 4px 8px rgba(15,23,42,0.06), 0 24px 48px rgba(12,74,110,0.18), 0 8px 24px rgba(234,88,12,0.12);
  --vd-shadow-cta: 0 4px 12px rgba(234,88,12,0.25), 0 12px 24px rgba(234,88,12,0.18);
  --vd-shadow-cta-hover: 0 8px 20px rgba(234,88,12,0.35), 0 20px 40px rgba(234,88,12,0.28);
  --vd-gradient-mesh: radial-gradient(at 20% 0%, rgba(251, 146, 60, 0.4) 0px, transparent 50%),
                     radial-gradient(at 80% 50%, rgba(3, 105, 161, 0.45) 0px, transparent 50%),
                     radial-gradient(at 0% 100%, rgba(234, 88, 12, 0.3) 0px, transparent 50%);
}

/* ============= TYPOGRAPHY UPGRADE ============= */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'kern', 'liga', 'calt';
}

/* По-широки headings с tighter spacing — модерен look */
h1, h2,
.lp-section-title, .gr-section-title, .cp-section-title,
.ls-section-title, .mw-section-title, .ex-section-title,
.section-title {
  letter-spacing: -0.025em !important;
  font-feature-settings: 'kern', 'liga', 'calt', 'ss01';
}

/* Hero h1 с soft glow shadow за depth */
[class*="hero"] h1, .hero h1, .lp-hero h1, .gr-hero h1, .cp-hero h1,
.ls-hero h1, .mw-hero h1, .ex-hero h1 {
  text-shadow: 0 2px 4px rgba(0,0,0,0.15), 0 8px 30px rgba(0,0,0,0.25);
  letter-spacing: -0.03em;
}

/* ============= MODERN BUTTONS — animated gradient + glow ============= */
.btn-primary, .lp-cta-primary, .gr-cta-primary, .cp-cta-primary,
.ls-cta-primary, .mw-cta-primary, .ex-cta-primary,
.offer-card-cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
              box-shadow 0.3s ease,
              filter 0.25s ease;
  box-shadow: var(--vd-shadow-cta) !important;
  background-size: 200% 100% !important;
  background-position: 0% 0% !important;
}

/* Shimmer overlay */
.btn-primary::after, .lp-cta-primary::after, .gr-cta-primary::after,
.cp-cta-primary::after, .ls-cta-primary::after, .mw-cta-primary::after,
.ex-cta-primary::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.4) 50%, transparent 70%);
  transform: translateX(-100%);
  transition: transform 0.8s ease;
  pointer-events: none;
  z-index: 1;
}

.btn-primary:hover, .lp-cta-primary:hover, .gr-cta-primary:hover,
.cp-cta-primary:hover, .ls-cta-primary:hover, .mw-cta-primary:hover,
.ex-cta-primary:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: var(--vd-shadow-cta-hover) !important;
  background-position: 100% 0% !important;
  filter: brightness(1.08) saturate(1.15);
}

.btn-primary:hover::after, .lp-cta-primary:hover::after, .gr-cta-primary:hover::after,
.cp-cta-primary:hover::after, .ls-cta-primary:hover::after, .mw-cta-primary:hover::after,
.ex-cta-primary:hover::after {
  transform: translateX(100%);
}

.btn-primary:active, .lp-cta-primary:active, .gr-cta-primary:active,
.cp-cta-primary:active, .ls-cta-primary:active, .mw-cta-primary:active,
.ex-cta-primary:active {
  transform: translateY(-1px) scale(1);
  transition-duration: 0.1s;
}

/* ============= GLASS CARDS — frosted, soft, modern ============= */
.lp-bonus, .gr-bonus, .cp-bonus, .ls-bonus, .mw-bonus, .ex-bonus,
.lp-why-item, .lp-room, .gr-room, .room,
.offer-card, .feature-card, .stack-card,
.lp-faq-item, .gr-faq-item, .cp-faq-item, .ls-faq-item, .mw-faq-item {
  position: relative;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease;
  box-shadow: var(--vd-shadow-card);
}

@media (hover: hover) and (min-width: 768px) {
  .lp-bonus:hover, .gr-bonus:hover, .cp-bonus:hover, .ls-bonus:hover,
  .mw-bonus:hover, .ex-bonus:hover,
  .lp-why-item:hover, .lp-room:hover, .gr-room:hover, .room:hover,
  .offer-card:hover, .feature-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--vd-shadow-card-hover);
  }
}

/* ============= GLASS PILLS (badges, chips, hero bullets) ============= */
.lp-hero-bullet, .gr-hero-bullet, .cp-hero-bullet, .ls-hero-bullet,
.mw-hero-bullet, .ex-hero-bullet,
.hero-pill, .hero-bullet {
  backdrop-filter: blur(12px) saturate(1.3);
  -webkit-backdrop-filter: blur(12px) saturate(1.3);
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.25s ease, background 0.25s ease;
}

@media (hover: hover) {
  .lp-hero-bullet:hover, .gr-hero-bullet:hover, .cp-hero-bullet:hover,
  .ls-hero-bullet:hover, .mw-hero-bullet:hover, .ex-hero-bullet:hover {
    transform: translateY(-2px) scale(1.04);
  }
}

/* Glass badges */
.lp-badge, .gr-badge, .cp-badge, .ls-badge, .mw-badge, .ex-badge {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* ============= IMAGE POLISH — zoom on hover + soft radius ============= */
@media (hover: hover) and (min-width: 768px) {
  .gallery-item, .offer-card-image, .lp-photo, .gr-photo,
  [class*="-photo"], [class*="gallery-item"] {
    overflow: hidden;
  }

  .gallery-item img, [class*="-photo"] img,
  [class*="gallery-item"] img {
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1),
                filter 0.5s ease;
  }

  .gallery-item:hover img, [class*="-photo"]:hover img,
  [class*="gallery-item"]:hover img {
    transform: scale(1.06);
    filter: brightness(1.08) saturate(1.15);
  }

  .offer-card {
    overflow: hidden;
  }
  .offer-card:hover .offer-card-image {
    transform: scale(1.05);
  }
  .offer-card-image {
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  }
}

/* ============= FORMS — modern focus state ============= */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
textarea, select {
  transition: border-color 0.25s ease, box-shadow 0.3s ease, background 0.25s ease;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):focus,
textarea:focus, select:focus {
  outline: none;
  box-shadow: 0 0 0 5px rgba(3, 105, 161, 0.15), 0 2px 8px rgba(3, 105, 161, 0.1) !important;
  background: white !important;
}

input[type="checkbox"]:active, input[type="radio"]:active {
  transform: scale(0.92);
}

/* ============= MODERN FOCUS RING ============= */
:focus-visible {
  outline: 2px solid #ea580c;
  outline-offset: 3px;
  border-radius: 6px;
}

/* ============= SCROLLBAR (desktop) ============= */
@media (hover: hover) and (min-width: 1024px) {
  ::-webkit-scrollbar { width: 12px; height: 12px; }
  ::-webkit-scrollbar-track { background: transparent; }
  ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(12,74,110,0.3), rgba(234,88,12,0.3));
    border-radius: 999px;
    border: 3px solid white;
    background-clip: padding-box;
  }
  ::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(12,74,110,0.6), rgba(234,88,12,0.6));
    background-clip: padding-box;
  }
}

/* ============= SELECTION COLOR ============= */
::selection {
  background: rgba(234, 88, 12, 0.25);
  color: #082f49;
}
::-moz-selection {
  background: rgba(234, 88, 12, 0.25);
  color: #082f49;
}

/* ============= TABULAR NUMBERS for prices/stats ============= */
[class*="-num"], [class*="-stat"], [class*="-price"], [class*="-amount"],
.lp-num, .gr-num, .cp-num, .ls-num, .mw-num, .ex-num,
.gr-number-value, .ls-num-value, .price, .price-value {
  font-feature-settings: 'tnum', 'lnum';
  font-variant-numeric: tabular-nums lining-nums;
}

/* ============= H2 ACCENT BAR — modern signature ============= */
.section-title, .lp-section-title, .gr-section-title, .cp-section-title,
.ls-section-title, .mw-section-title, .ex-section-title {
  position: relative;
  padding-bottom: 1.25rem;
}

.section-title::after, .lp-section-title::after, .gr-section-title::after,
.cp-section-title::after, .ls-section-title::after, .mw-section-title::after,
.ex-section-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 4rem;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ea580c, #fb923c, #fbbf24);
  opacity: 0.85;
  box-shadow: 0 2px 8px rgba(234, 88, 12, 0.3);
}

/* Ако заглавието е left-aligned — accent bar отляво */
.section-header[style*="text-align: left"] .section-title::after,
[style*="text-align: left"] > .section-title::after {
  left: 0;
  transform: none;
}

/* ============= LINKS — модернизация ============= */
a:not([class]):not([class=""]) {
  color: #0369a1;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(3, 105, 161, 0.4);
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

a:not([class]):not([class=""]):hover {
  color: #ea580c;
  text-decoration-color: rgba(234, 88, 12, 0.6);
}

/* ============= HERO GLOW ORBS — добавя depth без да блокира съдържание ============= */
.lp-hero::before, .gr-hero::before, .cp-hero::before,
.ls-hero::before, .mw-hero::before, .ex-hero::before {
  content: '';
  position: absolute;
  top: 10%;
  right: -20%;
  width: 50vw;
  height: 50vw;
  max-width: 600px;
  max-height: 600px;
  background: radial-gradient(circle, rgba(251, 191, 36, 0.15) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  animation: vd-orb-float 12s ease-in-out infinite;
}

.lp-hero::after, .gr-hero::after, .cp-hero::after,
.ls-hero::after, .mw-hero::after, .ex-hero::after {
  content: '';
  position: absolute;
  bottom: -10%;
  left: -10%;
  width: 40vw;
  height: 40vw;
  max-width: 500px;
  max-height: 500px;
  background: radial-gradient(circle, rgba(96, 165, 250, 0.15) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  animation: vd-orb-float 14s ease-in-out infinite reverse;
}

@keyframes vd-orb-float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(-20px, 30px) scale(1.05); }
  66% { transform: translate(20px, -20px) scale(0.95); }
}

/* Hero inner content over orbs */
.lp-hero-inner, .gr-hero-inner, .cp-hero-inner,
.ls-hero-inner, .mw-hero-inner, .ex-hero-inner {
  position: relative;
  z-index: 2;
}

/* ============= STAT NUMBERS — premium typography (solid color for reliability) ============= */
.gr-number-value, .ls-num-value,
[class*="-num-value"], [class*="-stat-value"] {
  font-weight: 900 !important;
}

/* ============= MOBILE-SPECIFIC POLISH ============= */
@media (max-width: 767px) {
  body {
    -webkit-font-smoothing: antialiased;
  }

  /* Modern tap feedback */
  .lp-bonus:active, .gr-bonus:active, .cp-bonus:active,
  .ls-bonus:active, .mw-bonus:active, .ex-bonus:active,
  .offer-card:active {
    transform: scale(0.98);
    transition: transform 0.1s ease;
  }

  /* На mobile orbs трябва да са по-малки */
  .lp-hero::before, .gr-hero::before, .cp-hero::before,
  .ls-hero::before, .mw-hero::before, .ex-hero::before,
  .lp-hero::after, .gr-hero::after, .cp-hero::after,
  .ls-hero::after, .mw-hero::after, .ex-hero::after {
    max-width: 300px;
    max-height: 300px;
    opacity: 0.7;
  }

  /* Section titles на mobile */
  .section-title::after, .lp-section-title::after, .gr-section-title::after,
  .cp-section-title::after, .ls-section-title::after, .mw-section-title::after,
  .ex-section-title::after {
    width: 3rem;
    height: 3px;
  }
}

/* ============= SECTION BACKGROUND — subtle mesh за non-hero sections ============= */
.section-soft, .lp-section.lp-bonus-section, .gr-section.gr-pricing,
.cp-section.cp-pricing, .ls-section.ls-price {
  position: relative;
  background-image: var(--vd-gradient-mesh) !important;
  background-attachment: local;
}

/* ============= FOOTER POLISH — subtle top glow ============= */
footer, .footer {
  position: relative;
}

footer::before, .footer::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 10%, rgba(234, 88, 12, 0.4) 50%, transparent 90%);
}

/* ============= NAV / HEADER POLISH ============= */
.lp-nav, .gr-nav, .cp-nav, .ls-nav, .mw-nav, .ex-nav,
header.header {
  backdrop-filter: blur(16px) saturate(1.5) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.5) !important;
}

/* ============= REDUCE MOTION FOR ACCESSIBILITY ============= */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ============= PRINT POLISH ============= */
@media print {
  .vd-wa-float, .vd-sticky-cta, .vd-pwa-banner, .toast, .lp-toast,
  .mobile-cta-bar, .lp-sticky-cta, .cookie-banner {
    display: none !important;
  }
}

/* ============= GUARD — никога не нарушаваме .fade-in reveal ============= */
.fade-in.visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* =============================================================
   AMENITY TILES — премиум upgrade
   ============================================================= */

.amenity-tile {
  background: linear-gradient(155deg, #ffffff 0%, #fafaf9 100%) !important;
  border: 1px solid rgba(12, 74, 110, 0.08) !important;
  border-radius: 1.25rem !important;
  padding: 1.75rem 1rem !important;
  gap: 1rem !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04),
              0 8px 20px rgba(15, 23, 42, 0.05),
              inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.35s ease,
              border-color 0.25s ease !important;
}

/* Decorative gradient accent в долен край */
.amenity-tile::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 30%;
  height: 3px;
  background: linear-gradient(90deg, transparent, rgba(234, 88, 12, 0.25), transparent);
  border-radius: 999px;
  opacity: 0;
  transition: opacity 0.3s ease, width 0.4s ease;
}

@media (hover: hover) and (min-width: 768px) {
  .amenity-tile:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06),
                0 20px 40px rgba(12, 74, 110, 0.15),
                0 6px 16px rgba(234, 88, 12, 0.08),
                inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
    border-color: rgba(234, 88, 12, 0.25) !important;
  }

  .amenity-tile:hover::after {
    opacity: 1;
    width: 60%;
  }
}

.amenity-icon-circle {
  width: 4rem !important;
  height: 4rem !important;
  background: linear-gradient(135deg, #dbeafe 0%, #fef3c7 100%) !important;
  font-size: 2rem !important;
  box-shadow: 0 6px 16px rgba(12, 74, 110, 0.12),
              inset 0 2px 4px rgba(255, 255, 255, 0.6),
              inset 0 -2px 4px rgba(12, 74, 110, 0.06) !important;
  border: 2px solid rgba(255, 255, 255, 0.8) !important;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
              background 0.35s ease !important;
}

.amenity-tile:hover .amenity-icon-circle {
  transform: scale(1.12) rotate(-4deg) !important;
  background: linear-gradient(135deg, #fed7aa 0%, #fef3c7 50%, #fde68a 100%) !important;
  box-shadow: 0 8px 20px rgba(234, 88, 12, 0.2),
              inset 0 2px 4px rgba(255, 255, 255, 0.6) !important;
}

.amenity-name {
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #0c4a6e !important;
  letter-spacing: -0.005em;
}

/* Category title polish — премахваме горизонтална линия, добавяме accent */
.amenity-category-header::before {
  background: linear-gradient(90deg, transparent, rgba(234, 88, 12, 0.2), transparent) !important;
  height: 2px !important;
}

.amenity-category-header h3 {
  background: linear-gradient(135deg, #fafaf9, #fff) !important;
  padding: 0 1.5rem !important;
  letter-spacing: -0.02em !important;
}

/* Mobile amenity tiles */
@media (max-width: 767px) {
  .amenity-tile {
    padding: 1.25rem 0.75rem !important;
    gap: 0.75rem !important;
  }
  .amenity-icon-circle {
    width: 3rem !important;
    height: 3rem !important;
    font-size: 1.5rem !important;
  }
  .amenity-name {
    font-size: 0.8125rem !important;
  }
}

/* =============================================================
   SEASON CARDS — премиум, лента отляво (не отгоре)
   ============================================================= */

.season-card {
  padding: 1.75rem 1.5rem 1.5rem 2rem !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-left: 5px solid var(--season-color, #94a3b8) !important;
  border-radius: 0.5rem 1.25rem 1.25rem 0.5rem !important;
  background: linear-gradient(135deg, #ffffff 0%, #fafaf9 100%) !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04),
              0 8px 24px rgba(15, 23, 42, 0.06) !important;
  position: relative;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s ease,
              border-color 0.3s ease !important;
  overflow: visible !important;
}

/* Премахваме горната цветна линия */
.season-card::before {
  display: none !important;
}

/* Glow на левия акцент */
.season-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: -5px;
  width: 5px;
  height: 100%;
  background: var(--season-color, #94a3b8);
  filter: blur(8px);
  opacity: 0.5;
  border-radius: 999px;
  z-index: -1;
  transition: opacity 0.3s ease, filter 0.3s ease;
}

@media (hover: hover) and (min-width: 768px) {
  .season-card:hover {
    transform: translateY(-6px) translateX(4px) !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06),
                0 24px 48px rgba(15, 23, 42, 0.12) !important;
  }

  .season-card:hover::after {
    opacity: 0.7;
    filter: blur(12px);
  }
}

/* Peak season (август) — orange gradient look */
.season-card.season-peak {
  background: linear-gradient(135deg, #fff7ed 0%, #fef3c7 50%, #fed7aa 100%) !important;
  border-left-color: #ea580c !important;
  border-color: rgba(234, 88, 12, 0.25) !important;
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.1),
              0 12px 32px rgba(234, 88, 12, 0.18) !important;
}

.season-card.season-peak::after {
  background: linear-gradient(180deg, #f59e0b, #ea580c, #c2410c) !important;
  opacity: 0.6 !important;
}

/* Pill tag за сезона — по-богата */
.season-tag {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5),
              0 2px 6px rgba(15, 23, 42, 0.06);
  padding: 0.375rem 0.875rem !important;
  font-size: 0.75rem !important;
}

/* Peak badge — премиум */
.season-peak-badge {
  background: linear-gradient(135deg, #ea580c, #fb923c) !important;
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.4),
              inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

/* Цени по-крупни и по-bold */
.season-price-row .amount {
  font-size: 1.875rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
}

.season-card.season-peak .season-price-row .amount {
  font-size: 2.125rem !important;
  color: #c2410c !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 2px rgba(234, 88, 12, 0.15);
}

.season-price-row .label {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #57534e !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.season-dates {
  font-size: 1.125rem !important;
  color: #0c4a6e !important;
  letter-spacing: -0.015em !important;
}

/* Mobile season cards */
@media (max-width: 767px) {
  .season-card {
    padding: 1.25rem 1rem 1.25rem 1.5rem !important;
    border-left-width: 4px !important;
  }
  .season-price-row .amount {
    font-size: 1.5rem !important;
  }
  .season-card.season-peak .season-price-row .amount {
    font-size: 1.625rem !important;
  }
  .season-dates {
    font-size: 1rem !important;
  }
}

/* ===== HERO URGENCY БАНЕР (спешност за свободни дати) ===== */
.hero-urgency {
  display: inline-block;
  margin: 0.25rem auto 1.5rem;
  padding: 0.7rem 1.4rem;
  background: var(--color-accent, #ea580c);
  color: #fff;
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1.35;
  border-radius: 999px;
  text-decoration: none;
  max-width: 92%;
  box-shadow: 0 6px 22px rgba(234, 88, 12, 0.45);
  animation: heroUrgencyPulse 2.4s ease-in-out infinite;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.hero-urgency:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 10px 30px rgba(234, 88, 12, 0.6);
}
@keyframes heroUrgencyPulse {
  0%, 100% { box-shadow: 0 6px 22px rgba(234, 88, 12, 0.45); }
  50% { box-shadow: 0 6px 30px rgba(234, 88, 12, 0.75); }
}
@media (max-width: 600px) {
  .hero-urgency {
    font-size: 0.8125rem;
    padding: 0.6rem 1.1rem;
    margin-bottom: 1.25rem;
  }
}
