/* ============================================================
   arinis-v3-1-polish.css — Ariniș Colibița v3.1
   Strict visual polish only: transparent footer, no spacer bands,
   cinematic/luxury tourism layout, safer responsive framing.
   ============================================================ */

:root {
  --v31-ink: #111d18;
  --v31-gold: #d9b473;
  --v31-gold-soft: #f3ddb0;
  --v31-glass: rgba(255,255,255,.10);
  --v31-line: rgba(255,255,255,.16);
  --v31-text-soft: rgba(255,250,241,.78);
  --v31-footer-image: url('/assets/images/pages/home/hero-home.jpg');
}

.page-home { --v31-footer-image: url('/assets/images/pages/home/hero-home.jpg'); }
.page-cazare { --v31-footer-image: url('/assets/images/pages/cazare/hero-cazare.jpg'); }
.page-restaurant { --v31-footer-image: url('/assets/images/pages/restaurant/hero-restaurant.jpg'); }
.page-terasa { --v31-footer-image: url('/assets/images/pages/terasa/hero-terasa.jpg'); }
.page-meniu { --v31-footer-image: url('/assets/images/pages/meniu/hero-meniu.jpg'); }
.page-galerie { --v31-footer-image: url('/assets/images/pages/galerie/hero-galerie.jpg'); }
.page-locatie { --v31-footer-image: url('/assets/images/pages/locatie/hero-locatie.jpg'); }
.page-contact { --v31-footer-image: url('/assets/images/pages/contact/hero-contact.jpg'); }
.page-rezervare { --v31-footer-image: url('/assets/images/pages/rezervare/hero-rezervare.jpg'); }
.page-echipa { --v31-footer-image: url('/assets/images/pages/echipa/hero-echipa.jpg'); }

/* Nu mai lăsăm banda albă dintre header și imaginea principală. */
.header-spacer { display: none !important; height: 0 !important; }

.site-header {
  padding: 1.05rem 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(13,22,18,.70), rgba(13,22,18,.24)) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.site-header.transparent {
  background: linear-gradient(180deg, rgba(8,14,11,.68), rgba(8,14,11,.24) 62%, rgba(8,14,11,0)) !important;
  box-shadow: none !important;
}

.site-header.scrolled {
  padding: .7rem 0 !important;
  background: rgba(13,22,18,.90) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.22) !important;
}

.header-inner { gap: clamp(.9rem, 2vw, 1.8rem); }
.site-logo__mark {
  background: radial-gradient(circle at 35% 28%, #f5dba3, #c79a50 64%, #9c6d2e) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.35);
}
.site-nav { gap: clamp(.1rem, .5vw, .4rem); }
.site-nav a {
  letter-spacing: clamp(.08em, .55vw, .16em) !important;
  padding: .58rem clamp(.5rem, .82vw, .88rem) !important;
}
.header-cta {
  border-radius: 999px !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.38) !important;
}

/* Hero: elimină benzile laptoase/gri și păstrează doar cinema overlay controlat. */
.hero,
.page-hero {
  margin-top: 0 !important;
  background: #0e1714;
  isolation: isolate;
}

.hero--cinematic::after { display: none !important; }

.hero--cinematic::before {
  background:
    linear-gradient(90deg, rgba(7,11,10,.80) 0%, rgba(7,11,10,.48) 34%, rgba(7,11,10,.14) 64%, rgba(7,11,10,.30) 100%),
    linear-gradient(180deg, rgba(8,13,11,.56) 0%, rgba(8,13,11,.04) 30%, rgba(8,13,11,.64) 100%) !important;
}

.page-hero {
  min-height: clamp(430px, 62vh, 660px) !important;
  height: auto !important;
  align-items: flex-end !important;
}

.page-hero::before,
.page-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

.page-hero::before {
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(7,12,10,.76), rgba(7,12,10,.28) 42%, rgba(7,12,10,.22)),
    linear-gradient(180deg, rgba(7,12,10,.55), transparent 38%, rgba(7,12,10,.70)) !important;
}

.page-hero::after {
  z-index: 2 !important;
  background: radial-gradient(circle at 18% 25%, rgba(217,180,115,.18), transparent 28%) !important;
}

.page-hero__bg {
  transform: scale(1.035) !important;
  filter: saturate(1.14) contrast(1.06) brightness(.94) !important;
}

.page-hero__content {
  z-index: 3 !important;
  width: min(1320px, 100% - 2rem) !important;
  margin-inline: auto !important;
  padding: clamp(7.5rem, 18vh, 11rem) 1rem clamp(3.2rem, 7vh, 5.5rem) !important;
}

.page-hero .label,
.hero__eyebrow {
  color: var(--v31-gold-soft) !important;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  padding: .48rem .84rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: inline-flex;
  width: fit-content;
}

.page-hero h1,
.hero__title {
  color: #fffaf0 !important;
  text-wrap: balance;
  text-shadow: 0 18px 54px rgba(0,0,0,.42) !important;
}

.page-hero p,
.hero__subtitle,
.hero__subtitle--wide {
  color: rgba(255,250,241,.90) !important;
  max-width: 760px;
}

/* Homepage cinematic framing. */
.hero--cinematic {
  min-height: 100svh !important;
  align-items: center !important;
}

.hero__shell {
  align-items: center !important;
  padding-top: clamp(7.8rem, 17vh, 12rem) !important;
  padding-bottom: clamp(7rem, 11vh, 9.5rem) !important;
}

.hero__title {
  max-width: 12ch;
  font-size: clamp(3.2rem, 6.2vw, 6.35rem) !important;
  line-height: .92 !important;
}

.hero__floating-card {
  background: rgba(255,252,246,.86) !important;
  border: 1px solid rgba(255,255,255,.68) !important;
  border-radius: 34px !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.72) !important;
}

.hero__floating-meta div,
.feature-item,
.home-story-card,
.info-card,
.room-card,
.menu-card,
.form-card,
.contact-form-wrap,
.reservation-card,
.direction-step,
.detail-card,
.page-card,
.offer-card,
.facility-item,
.amenity-item {
  border-radius: 22px;
}

.hero__bottom-band {
  background: rgba(8,13,11,.28) !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* Secțiuni mai aerisite, fără suprapuneri și cu vibe boutique/hospitality. */
.section { padding-block: clamp(4.2rem, 7vw, 7rem); }
.section-title,
.section-title--left { margin-bottom: clamp(2rem, 4vw, 3.25rem) !important; }
.section-title h2 { text-wrap: balance; }
.section-title p,
.lead { text-wrap: pretty; }

.card,
.room-card,
.menu-card,
.service-card,
.home-category-card,
.home-emotion__scenic,
.home-intro__media img,
.map-container,
.gallery-item,
.gal-item .gal-inner {
  box-shadow: 0 28px 70px rgba(12,20,16,.12) !important;
}

.home-category-grid { gap: clamp(1rem, 2vw, 1.45rem) !important; }
.home-category-card,
.home-category-card--large { min-height: clamp(470px, 52vw, 650px) !important; }
.home-category-card__overlay {
  background:
    linear-gradient(180deg, rgba(8,12,10,.02) 0%, rgba(8,12,10,.20) 34%, rgba(8,12,10,.84) 100%),
    radial-gradient(circle at 80% 15%, rgba(217,180,115,.20), transparent 28%) !important;
}

/* Footer transparent, cu fotografia principală a paginii vizibilă sub conținut. */
.site-footer {
  position: relative !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
  margin-top: 0 !important;
  padding-top: clamp(4rem, 8vw, 6rem) !important;
  color: rgba(255,250,241,.82) !important;
  isolation: isolate;
}

.site-footer::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  background-image: var(--v31-footer-image) !important;
  background-size: cover !important;
  background-position: center !important;
  filter: saturate(1.08) contrast(1.08) brightness(.54) !important;
  transform: scale(1.04);
}

.site-footer::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(8,13,11,.08) 0%, rgba(8,13,11,.56) 30%, rgba(8,13,11,.82) 100%),
    radial-gradient(circle at 18% 0%, rgba(217,180,115,.18), transparent 34%) !important;
}

.footer-grid {
  gap: clamp(1.6rem, 4vw, 3.5rem) !important;
  border-bottom-color: rgba(255,255,255,.12) !important;
}

.footer-brand__desc,
.footer-col ul a,
.footer-contact-item p,
.footer-contact-item a {
  color: rgba(255,250,241,.74) !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.35);
}

.footer-col h4,
.footer-brand .site-logo__sub { color: var(--v31-gold-soft) !important; }
.footer-legal { border-color: rgba(255,255,255,.14) !important; }
.footer-bottom p,
.footer-bottom a,
.footer-legal__label,
.footer-legal__badge { color: rgba(255,250,241,.58) !important; }
.footer-social a,
.footer-legal__badge {
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Responsive: păstrează toate informațiile încadrate, fără suprapuneri. */
@media (max-width: 1180px) {
  .site-logo__sub { letter-spacing: .12em !important; }
  .site-nav a { font-size: .70rem !important; }
  .hero__shell { grid-template-columns: 1fr minmax(300px, 420px) !important; }
}

@media (max-width: 1040px) {
  .hero__shell { grid-template-columns: 1fr !important; align-items: end !important; }
  .hero__title { max-width: 13ch; }
  .hero__floating-card { justify-self: start !important; max-width: 520px !important; }
}

@media (max-width: 900px) {
  .site-header { padding: .78rem 0 !important; }
  .site-logo__mark { width: 42px; height: 42px; }
  .site-logo__name { font-size: 1rem !important; }
  .hero--cinematic { min-height: auto !important; }
  .hero__shell {
    padding-top: clamp(6.8rem, 16vh, 8.5rem) !important;
    padding-bottom: clamp(7rem, 12vh, 8rem) !important;
  }
  .page-hero { min-height: clamp(390px, 62vh, 560px) !important; }
  .page-hero__content { padding-top: 6.5rem !important; }
  .footer-grid { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 680px) {
  .container { width: min(100% - 1.15rem, 1320px) !important; padding-inline: .55rem !important; }
  .hero__shell {
    padding-top: 6.6rem !important;
    padding-bottom: 10.5rem !important;
  }
  .hero__title { font-size: clamp(2.55rem, 14vw, 4.15rem) !important; line-height: .96 !important; }
  .hero__subtitle--wide { font-size: 1rem !important; line-height: 1.72 !important; }
  .hero__floating-card { padding: 1.1rem !important; border-radius: 26px !important; }
  .hero__floating-meta div { align-items: flex-start !important; flex-direction: column !important; gap: .2rem !important; }
  .hero__floating-meta span { text-align: left !important; }
  .hero__bottom-band { background: rgba(8,13,11,.44) !important; }
  .hero__bottom-band-inner { padding: .75rem 0 !important; }
  .page-hero { min-height: 430px !important; }
  .page-hero__content { padding: 6.2rem .55rem 2.6rem !important; }
  .page-hero h1 { font-size: clamp(2.15rem, 12vw, 3.4rem) !important; }
  .btn { width: 100%; justify-content: center; white-space: normal !important; text-align: center; }
  .home-category-card,
  .home-category-card--large { min-height: 430px !important; }
  .home-emotion__scenic { min-height: 440px !important; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .footer-bottom-links { flex-wrap: wrap; justify-content: center; gap: .9rem 1.2rem !important; }
  .site-footer { padding-top: 3.5rem !important; }
}

@media (max-width: 420px) {
  .hero__chips { gap: .45rem !important; }
  .hero__chips span { width: 100%; justify-content: center; }
  .hero__floating-card { max-width: 100% !important; }
  .footer-legal__badges { justify-content: stretch !important; }
  .footer-legal__badge { justify-content: center; flex: 1 1 130px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero__bg,
  .page-hero__bg { animation: none !important; transform: none !important; }
}
