/* ============================================================
   arinis-v3-1-1-fix.css — Ariniș Colibița v3.1.1
   Corecții stricte: header truly over hero, fără benzi albe/gri,
   hero mai cinematic, polish responsive, footer contact stack.
   ============================================================ */

:root {
  --v311-glass-dark: rgba(8, 14, 12, .30);
  --v311-glass-dark-strong: rgba(8, 14, 12, .46);
  --v311-line: rgba(255,255,255,.14);
  --v311-shadow: 0 24px 70px rgba(4, 8, 7, .22);
}

/* Header: integrat peste imagine, fără separare vizibilă. */
body .site-header,
body .site-header.transparent {
  background: linear-gradient(180deg, rgba(8,14,12,.58) 0%, rgba(8,14,12,.30) 54%, rgba(8,14,12,0) 100%) !important;
  border-bottom-color: rgba(255,255,255,.05) !important;
  box-shadow: none !important;
}

body .site-header::after {
  opacity: .38;
}

body .site-header.scrolled {
  background: rgba(10,16,14,.84) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.18) !important;
}

body .header-spacer {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

main#main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Hero start lipit de partea de sus a paginii. */
main#main-content > .hero:first-child,
main#main-content > .page-hero:first-child,
body .hero,
body .page-hero {
  margin-top: 0 !important;
}

/* Eliminare completă a benzilor / overlay-urilor late nedorite. */
body .hero::after,
body .page-hero::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body .hero::before,
body .page-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(8,14,12,.42) 0%, rgba(8,14,12,.18) 26%, rgba(8,14,12,.20) 58%, rgba(8,14,12,.48) 100%),
    linear-gradient(90deg, rgba(8,14,12,.62) 0%, rgba(8,14,12,.24) 34%, rgba(8,14,12,.08) 58%, rgba(8,14,12,.22) 100%) !important;
}

body .hero__bg,
body .page-hero__bg {
  transform: scale(1.02) !important;
  filter: saturate(1.08) contrast(1.04) brightness(.94) !important;
}

body .hero__content,
body .page-hero__content {
  position: relative !important;
  z-index: 2 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .page-hero {
  min-height: clamp(420px, 58vh, 620px) !important;
  align-items: end !important;
}

body .page-hero__content {
  width: min(1320px, 100% - 2rem) !important;
  margin-inline: auto !important;
  padding: clamp(7.2rem, 14vh, 9.5rem) 1rem clamp(3.2rem, 8vh, 4.8rem) !important;
}

body .page-hero h1 {
  max-width: 13ch;
  font-size: clamp(2.9rem, 5.6vw, 5rem) !important;
  line-height: .98 !important;
  letter-spacing: -.028em !important;
}

body .page-hero p {
  max-width: 44rem !important;
  color: rgba(255,250,241,.92) !important;
}

/* Home hero: păstrăm conținutul, dar facem banda de jos flotantă, nu lată peste poză. */
body .hero--cinematic {
  min-height: 100svh !important;
}

body .hero__shell {
  padding-top: clamp(8rem, 16vh, 11rem) !important;
  padding-bottom: clamp(7.8rem, 18vh, 10rem) !important;
}

body .hero__title {
  max-width: 11ch !important;
  font-size: clamp(3rem, 6vw, 6rem) !important;
}

body .hero__subtitle--wide {
  max-width: 40rem !important;
}

body .hero__floating-card {
  max-width: 395px !important;
  justify-self: end !important;
}

body .hero__bottom-band {
  left: 0 !important;
  right: 0 !important;
  bottom: 1.1rem !important;
  background: transparent !important;
  border: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body .hero__bottom-band-inner {
  width: min(1120px, calc(100% - 1.5rem)) !important;
  margin-inline: auto !important;
  padding: 1rem 1.25rem !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: linear-gradient(180deg, rgba(11,18,15,.38), rgba(11,18,15,.54)) !important;
  box-shadow: var(--v311-shadow) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

/* Cadre și spacing mai elegante. */
body .hero__floating-card,
body .room-card,
body .menu-card,
body .home-category-card,
body .service-card,
body .info-card,
body .contact-form-wrap,
body .reservation-card,
body .page-card,
body .detail-card {
  box-shadow: 0 26px 70px rgba(12, 18, 16, .14) !important;
}

body .section {
  padding-block: clamp(4rem, 7vw, 6.8rem) !important;
}

/* Footer: transparent mai coerent + emails / phones one-below-another. */
body .site-footer {
  background: transparent !important;
}

body .footer-contact-item--stacked {
  align-items: flex-start !important;
}

body .footer-contact-lines {
  display: grid !important;
  gap: .32rem !important;
}

body .footer-contact-lines p {
  margin: 0 !important;
}

body .footer-contact-lines a {
  display: inline-block;
}

/* Responsive polish. */
@media (max-width: 1040px) {
  body .hero__shell {
    grid-template-columns: 1fr !important;
    align-items: end !important;
    gap: 1.25rem !important;
  }

  body .hero__floating-card {
    justify-self: start !important;
    max-width: 520px !important;
  }
}

@media (max-width: 900px) {
  body .page-hero__content {
    padding-top: 6.6rem !important;
  }

  body .hero__shell {
    padding-top: 6.8rem !important;
    padding-bottom: 8.8rem !important;
  }

  body .hero__bottom-band {
    bottom: .85rem !important;
  }

  body .hero__bottom-band-inner {
    padding: .9rem 1rem !important;
  }
}

@media (max-width: 680px) {
  body .page-hero {
    min-height: 400px !important;
  }

  body .page-hero__content {
    width: min(100% - 1rem, 1320px) !important;
    padding: 6.2rem .4rem 2.5rem !important;
  }

  body .page-hero h1 {
    max-width: 10.5ch;
    font-size: clamp(2.2rem, 11vw, 3.5rem) !important;
  }

  body .hero__title {
    font-size: clamp(2.5rem, 13vw, 4.3rem) !important;
    max-width: 10ch !important;
  }

  body .hero__subtitle--wide,
  body .page-hero p {
    font-size: 1rem !important;
    line-height: 1.72 !important;
  }

  body .hero__bottom-band-inner {
    width: min(100% - 1rem, 1120px) !important;
    border-radius: 20px !important;
  }

  body .footer-contact-lines {
    gap: .22rem !important;
  }
}

/* ============================================================
   v3.1.2 emergency hard-fix — header must be OVER hero.
   Previous visual layer from tourism-ultra-cinematic.css reset
   header to position:relative; this forces the correct behavior.
   ============================================================ */
html, body {
  margin: 0 !important;
  padding: 0 !important;
}

body .site-header,
body header.site-header,
body .site-header.transparent,
body .site-header.scrolled {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 5000 !important;
  margin: 0 !important;
  padding: clamp(.68rem, 1.2vw, .95rem) 0 !important;
  background: linear-gradient(180deg, rgba(7,11,10,.48) 0%, rgba(7,11,10,.20) 62%, rgba(7,11,10,0) 100%) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body .site-header.scrolled {
  background: rgba(9,15,13,.78) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.18) !important;
}

body .site-header .header-inner {
  min-height: auto !important;
}

body main#main-content {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body main#main-content > .hero:first-child,
body main#main-content > .page-hero:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body .hero--cinematic {
  min-height: 100svh !important;
}

body .page-hero {
  min-height: clamp(480px, 66svh, 680px) !important;
}

body .hero__shell {
  padding-top: clamp(6.5rem, 12vh, 8.5rem) !important;
  padding-bottom: clamp(8.5rem, 14vh, 10.5rem) !important;
  align-items: center !important;
}

body .hero__title {
  font-size: clamp(2.85rem, 5.25vw, 5.4rem) !important;
  line-height: .95 !important;
  max-width: 12.2ch !important;
}

body .hero__floating-card {
  transform: translateY(1.2rem);
}

body .page-hero__content {
  padding-top: clamp(7rem, 13vh, 9rem) !important;
  padding-bottom: clamp(3rem, 7vh, 5rem) !important;
}

/* no horizontal gray/white band over photos */
body .hero::after,
body .page-hero::after,
body .hero--cinematic::after,
body .page-hero:after {
  display: none !important;
  opacity: 0 !important;
  background: transparent !important;
}

body .hero::before,
body .page-hero::before {
  background:
    linear-gradient(180deg, rgba(7,11,10,.30) 0%, rgba(7,11,10,.08) 22%, rgba(7,11,10,.18) 62%, rgba(7,11,10,.52) 100%),
    linear-gradient(90deg, rgba(7,11,10,.58) 0%, rgba(7,11,10,.23) 34%, rgba(7,11,10,.05) 64%, rgba(7,11,10,.18) 100%) !important;
}

@media (max-width: 900px) {
  body .site-header,
  body header.site-header,
  body .site-header.transparent,
  body .site-header.scrolled {
    padding: .62rem 0 !important;
  }
  body .hero__shell {
    padding-top: 5.9rem !important;
    padding-bottom: 8.2rem !important;
  }
  body .hero__title {
    font-size: clamp(2.4rem, 11.5vw, 4.1rem) !important;
    max-width: 10.5ch !important;
  }
  body .hero__floating-card {
    transform: none;
  }
}
