/* ================================================================
   RESTORANAS „SKARDIS“ · SVETAINĖS STILIUS
   Pagrindinės spalvos keičiamos vienoje vietoje – žemiau, :root bloke.
   ================================================================ */

:root {
  --ink:    #161714;  /* tekstas, poraštė */
  --forest: #26342b;  /* tamsiai žali blokai */
  --gold:   #b99558;  /* auksinis akcentas, mygtukai */
  --cream:  #f1eadc;  /* „Erdvių“ fonas */
  --paper:  #faf7f0;  /* pagrindinis fonas */
  --line:   #cfc3ae;  /* skiriamosios linijos */
  --muted:  #5c5b55;  /* antraeilis tekstas */

  --serif: Georgia, "Times New Roman", serif;
  --sans:  Arial, Helvetica, sans-serif;
}

/* ---------- Bazė ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  max-width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.5;
  max-width: 100%;
  overflow-x: hidden;
}

main { width: 100%; max-width: 100%; overflow-x: clip; }

a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; }
ul { list-style: none; }

:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

/* Bendri užrašai virš antraščių */
.eyebrow,
.kicker {
  color: var(--gold);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}

/* Bendras sekcijos tarpas ir didelės antraštės */
.section { padding: 125px 8vw; }

.section h2,
.brandBreak h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(3.1rem, 6vw, 6.5rem);
  line-height: 1.1;
  letter-spacing: -.045em;
  margin: 20px 0;
}

/* ---------- Mygtukai ---------- */
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 25px;
  font-size: .71rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: background .2s;
}
.primary      { background: var(--gold); color: var(--ink); }
.primary:hover { background: #a9874e; }
.outlineGold  { border: 1px solid var(--gold); color: var(--ink); }
.outlineGold:hover { background: var(--cream); }
.light        { background: var(--cream); color: var(--ink); }
.line         { border: 1px solid #9daa9f; color: #fff; }
.line:hover   { background: rgba(255, 255, 255, .08); }

.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }

.textLink {
  display: inline-flex;
  gap: 18px;
  margin-top: 25px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--gold);
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.textLink:hover { color: var(--gold); }

/* ================================================================
   VIRŠUTINĖ JUOSTA IR IŠSKLEIDŽIAMAS MENIU
   ================================================================ */
/* Meniu mygtukas „plūduriuoja“ viršutiniame kairiajame kampe */
.topbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  display: flex;
  justify-content: flex-start;       /* meniu mygtukas kairėje */
  padding: 20px 3vw;
  pointer-events: none;             /* kad permatoma juosta neužstotų logotipo */
}
.topbar > * { pointer-events: auto; }

/* Trys brukšneliai */
.menuToggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 9px;
  width: 78px;
  height: 78px;
}
.menuToggle span {
  display: block;
  width: 42px;
  height: 3px;
  background: var(--ink);
  transition: transform .25s, opacity .2s;
}
.menuToggle:hover span { background: var(--gold); }

/* Atidarius – brukšneliai virsta kryžiuku */
.menuOpen .menuToggle span:nth-child(1) { transform: translateY(12px) rotate(45deg); }
.menuOpen .menuToggle span:nth-child(2) { opacity: 0; }
.menuOpen .menuToggle span:nth-child(3) { transform: translateY(-12px) rotate(-45deg); }

/* Meniu punktai stulpeliu */
.siteNav {
  position: absolute;
  top: calc(100% - 12px);
  left: 3vw;
  display: flex;
  flex-direction: column;
  width: min(300px, 90vw);
  padding: 8px 26px 12px;
  background: var(--paper);
  border: 1px solid var(--line);
  box-shadow: 0 18px 40px rgba(22, 23, 20, .12);
  visibility: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity .2s, transform .2s, visibility .2s;
}
.menuOpen .siteNav { visibility: visible; opacity: 1; transform: none; }

.siteNav a {
  padding: 15px 0;
  border-top: 1px solid #ded6c7;
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: color .2s;
}
.siteNav a:first-child { border-top: 0; }
.siteNav a:hover { color: var(--gold); }

/* ================================================================
   PRADŽIA
   ================================================================ */
.hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
  background: var(--paper);
}

.heroContent {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 48px 6vw 64px 8vw;
}

/* Logotipas: aukštis 176 px kompiuteryje, 144 px planšetėje, 126 px telefone.
   Centruojamas per vidurį tarp kairio ekrano krašto ir nuotraukos
   (left: -1vw išlygina nevienodus kairės 8vw ir dešinės 6vw tarpus). */
.brand {
  display: flex;
  align-self: center;
  position: relative;
  left: -1vw;
  margin-bottom: 50px;
}
.brandLogo { width: auto; height: 176px; object-fit: contain; }

.hero h1 {
  max-width: 780px;
  margin: 25px 0 28px;
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(3.5rem, 5.8vw, 6.7rem);
  line-height: 1.1;
  letter-spacing: -.045em;
}

.heroLead {
  max-width: 560px;
  color: #55564f;
  font-family: var(--serif);
  font-size: 1.15rem;
  line-height: 1.7;
}

.heroPhoto { position: relative; min-height: 650px; overflow: hidden; }

/* Nuotraukų koliažas: 1 plati nuotrauka viršuje + 2 × 2 apačioje, tarpai – fono spalvos */
.heroCollage {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1.15fr 1fr 1fr;
  gap: 6px;
  background: var(--paper);
}
.heroCollage .tile { position: relative; min-height: 0; overflow: hidden; }
.heroCollage .tileWide { grid-column: 1 / -1; }
.heroCollage img { width: 100%; height: 100%; object-fit: cover; }
.heroPhoto p {
  position: absolute;
  left: 28px;
  bottom: 24px;
  padding: 12px 16px;
  background: rgba(250, 247, 240, .92);
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* ================================================================
   APIE
   ================================================================ */
.intro { display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; }
.introCopy { max-width: 570px; padding-top: 36px; }
.introCopy p {
  color: #53544f;
  font-family: var(--serif);
  font-size: 1.23rem;
  line-height: 1.8;
}

/* ================================================================
   PASIŪLYMAI (žalias blokas)
   ================================================================ */
.brandBreak {
  width: 100%;
  min-height: 600px;
  padding: 8vw;
  background: var(--forest);
  color: #fff;
}
.brandBreak .kicker { color: #d4b77f; }

.sectionHead { text-align: center; }

.offerGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 80px;
  border-top: 1px solid rgba(255, 255, 255, .25);
}
.offerGrid article {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;      /* numeris, pavadinimas ir aprašymas lygiuojami eilėje */
  row-gap: 0;
  padding: 36px 40px 25px;
  border-right: 1px solid rgba(255, 255, 255, .25);
}
.offerGrid article:last-child { border-right: 0; }
.offerGrid span { color: var(--gold); font-size: .68rem; }
.offerGrid h3 { align-self: end; margin: 45px 0 20px; font-family: var(--serif); font-size: 2.15rem; font-weight: 400; line-height: 1.15; }
.offerGrid p { color: #d7d5cc; font-size: .95rem; line-height: 1.75; }

/* ================================================================
   MENIU
   ================================================================ */
.menuSection { background: var(--paper); scroll-margin-top: 30px; }

.menuIntro {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  align-items: end;
  gap: 8vw;
}
.menuIntro > p {
  max-width: 520px;
  padding-bottom: 18px;
  color: var(--muted);
  font-family: var(--serif);
  font-size: 1.12rem;
  line-height: 1.75;
}

.menuGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 65px;
  background: var(--line);
  border: 1px solid var(--line);
}
.menuGrid article { padding: 45px 4vw; background: var(--paper); }
.menuGrid .menuWide { grid-column: 1 / -1; }

.menuNumber { color: var(--gold); font-size: .66rem; letter-spacing: .16em; }

.menuGrid h3,
.spacesGrid h3 {
  margin: 24px 0 30px;
  font-family: var(--serif);
  font-size: 2.25rem;
  font-weight: 400;
}

.menuGrid li {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 14px 0;
  border-top: 1px solid #ded6c7;
}
.menuGrid li span { font-family: var(--serif); font-size: 1.05rem; line-height: 1.4; }
.menuGrid li small { color: #6b6a63; font-size: .72rem; line-height: 1.45; }

.menuColumns { columns: 2; column-gap: 6vw; }
.menuColumns li { break-inside: avoid; }

.menuBottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  margin-top: 34px;
}
.menuBottom p { color: #65645e; font-size: .86rem; }

/* ================================================================
   ERDVĖS
   ================================================================ */
.spaces { background: var(--cream); scroll-margin-top: 30px; }

.spacesGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;                         /* 1 px tarpai – tai skiriamosios linijos */
  margin-top: 70px;
  background: var(--line);
  border-top: 1px solid var(--line);
}
.spacesGrid article { padding: 36px 28px; background: var(--cream); }
.spacesGrid article > span { color: var(--gold); font-size: .68rem; }
.spacesGrid p { color: var(--muted); font-size: .9rem; line-height: 1.7; }

/* Nuoroda kiekvienos erdvės apačioje (lygiuojama vienoje linijoje eilutėje) */
.spacesGrid article {
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;      /* numeris, pavadinimas, aprašymas ir nuoroda lygiuojami eilėje */
  row-gap: 0;
}
.spacesGrid article h3 { align-self: end; line-height: 1.15; }
.spacesGrid article p { margin-bottom: 24px; }
.spaceLink {
  align-self: end;
  justify-self: start;               /* pabraukimas tik po užrašu, ne per visą plotį */
  padding-bottom: 5px;
  border-bottom: 1px solid var(--gold);
  color: var(--gold);               /* ta pati spalva kaip erdvės numerio */
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: color .2s, border-color .2s;
}
.spaceLink:hover { color: #8a6d3b; border-bottom-color: #8a6d3b; }

/* Prieinamumo pastaba po erdvių kortelėmis */
.spacesNote { max-width: 640px; margin: 45px auto 0; text-align: center; }
.spacesNote small {
  color: var(--gold);
  font-size: .66rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.spacesNote p { margin-top: 8px; color: var(--muted); font-size: .95rem; line-height: 1.7; }

.spacesActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 45px;
}

/* ================================================================
   ŠVENTĖMS
   ================================================================ */
.events {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  width: 100%;
  min-height: 760px;
  background: var(--forest);
  color: #fff;
}

.eventsTitle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 105px 5vw 90px 8vw;
  border-right: 1px solid rgba(255, 255, 255, .18);
}
.eventTitle {
  margin: 0 0 40px;
  color: var(--gold);
  font-family: var(--serif);
  font-size: clamp(3.2rem, 6vw, 6.5rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}
.eventsLink {
  align-self: flex-start;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--gold);
  color: var(--gold);
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: color .2s, border-color .2s;
}
.eventsLink:hover { color: #d4b77f; border-bottom-color: #d4b77f; }

.eventsCopy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 105px 8vw 90px 7vw;
}
.events h2 {
  margin: 22px 0 30px;
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(3rem, 5vw, 5.8rem);
  line-height: 1.1;
  letter-spacing: -.04em;
}
.eventsCopy > p {
  max-width: 550px;
  color: #d7d5cc;
  font-size: 1rem;
  line-height: 1.8;
}

/* ================================================================
   KONTAKTAI
   ================================================================ */
.contact { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; }

/* „Užsukite į „Skardį“.“ – 1,5 karto mažesnė už kitas skyrių antraštes */
.contact h2 { font-size: clamp(2.07rem, 4vw, 4.33rem); }

.contactGrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 55px;
  padding-top: 25px;
}
.contactGrid small {
  color: var(--gold);
  font-size: .66rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.contactGrid p { font-family: var(--serif); font-size: 1.14rem; line-height: 1.75; }
.contactGrid p a:hover { color: var(--gold); }
.contactGrid .secondAddress { margin-top: 26px; }
/* Kompiuteryje: kairėje adresai ir socialiniai tinklai, dešinėje kontaktai ir iškart po jais prieinamumas */
.contactGrid { grid-template-rows: auto 1fr auto; }
.contactAddress { grid-column: 1; grid-row: 1 / span 2; }
.contactPhone   { grid-column: 2; grid-row: 1; }
.contactHours   { grid-column: 2; grid-row: 2; align-self: start; }
.contactAccess  { grid-column: 2; grid-row: 3; align-self: start; }
.contactSocial  { grid-column: 1; grid-row: 3; }
.contactGrid .accessNote { font-size: 1rem; line-height: 1.65; color: var(--muted); }
.contactGrid > div > a {
  padding-bottom: 5px;
  border-bottom: 1px solid var(--gold);
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Darbo laikas */
.hoursTable { margin-top: 6px; border-collapse: collapse; font-family: var(--serif); font-size: 1.05rem; line-height: 1.75; }
.hoursTable th { padding-right: 22px; font-weight: 400; text-align: left; vertical-align: top; }
.hoursTable td { white-space: nowrap; vertical-align: top; }
.hoursTable .closed td { color: var(--muted); }

/* ================================================================
   DUK – DAŽNAI UŽDUODAMI KLAUSIMAI
   ================================================================ */
.faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; background: var(--cream); scroll-margin-top: 30px; }
.faq h2 { font-size: clamp(2.07rem, 4vw, 4.33rem); }
.faqLead { max-width: 360px; color: var(--muted); font-size: 1rem; line-height: 1.7; }
.faqLead a, .faqList p a { border-bottom: 1px solid var(--gold); }
.faqLead a:hover, .faqList p a:hover { color: var(--gold); }
.faqList { padding-top: 25px; }
.faq a[href^="tel:"], .faq .nw { white-space: nowrap; }
.faqList details { border-bottom: 1px solid var(--line); }
.faqList details:first-child { border-top: 1px solid var(--line); }
.faqList summary {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  padding: 22px 0;
  cursor: pointer;
  list-style: none;
  font-family: var(--serif);
  font-size: 1.2rem;
  line-height: 1.4;
}
.faqList summary::-webkit-details-marker { display: none; }
.faqList summary::after {
  content: "+";
  flex-shrink: 0;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 1.5rem;
  line-height: 1;
  transition: transform .2s;
}
.faqList details[open] summary::after { transform: rotate(45deg); }
.faqList summary:hover { color: #6f5a35; }
.faqList details p { max-width: 640px; padding: 0 0 24px; color: #53544f; font-size: 1rem; line-height: 1.75; }

@media (max-width: 820px) {
  .faq { grid-template-columns: 1fr; gap: 20px; }
  .faqList { padding-top: 0; }
  .faqList summary { font-size: 1.1rem; padding: 18px 0; }
}

/* ================================================================
   PORAŠTĖ
   ================================================================ */
footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  width: 100%;
  min-height: 210px;
  padding: 55px 5vw;
  background: var(--ink);
  color: #e9e2d5;
}
footer p { color: #aaa99f; font-size: .7rem; letter-spacing: .08em; }

.footerBrand { display: block; width: 110px; height: 110px; flex-shrink: 0; }
.footerLogo { width: 110px; height: 110px; padding: 8px; object-fit: contain; background: #fff; }

/* Atsiliepimas Google poraštėje */
.footerReview { display: flex; align-items: center; gap: 18px; }
.reviewQr { width: 104px; height: 104px; flex-shrink: 0; border-radius: 4px; }
.footerReview small {
  display: block;
  margin-bottom: 6px;
  color: var(--gold);
  font-size: .66rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.footerReview a {
  padding-bottom: 4px;
  border-bottom: 1px solid var(--gold);
  color: #e9e2d5;
  font-size: .78rem;
  letter-spacing: .06em;
  transition: color .2s;
}
.footerReview a:hover { color: var(--gold); }

.backToTop {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 11px 0;
  border-bottom: 1px solid var(--gold);
  font-size: .68rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  transition: color .2s;
}
.backToTop strong {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--gold);
  font-size: 1rem;
  transition: transform .2s, background .2s;
}
.backToTop:hover { color: var(--gold); }
.backToTop:hover strong { background: rgba(185, 149, 88, .12); transform: translateY(-3px); }

/* ================================================================
   UŽKLAUSOS FORMA (iššokantis langas)
   ================================================================ */
.inquiryDialog {
  width: min(672px, calc(100% - 32px));
  max-height: 92svh;
  margin: auto;
  padding: 38px;
  overflow-y: auto;
  background: var(--paper);
  color: var(--ink);
  border: 0;
}
.inquiryDialog::backdrop { background: rgba(0, 0, 0, .5); }

.dialogClose {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 36px;
  height: 36px;
  font-size: 1.6rem;
  line-height: 1;
  color: #686860;
}
.dialogClose:hover { color: var(--ink); }

.dialogTitle {
  margin: 10px 0 8px;
  font-family: var(--serif);
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 1.08;
}
.dialogDescription { color: #686860; font-size: .94rem; line-height: 1.6; }

.inquiryForm { margin-top: 24px; }

.formGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.formGrid label { display: flex; flex-direction: column; gap: 8px; }
.formGrid label > span { font-size: .66rem; font-weight: 700; letter-spacing: .12em; }
.formFull { grid-column: 1 / -1; }

.inquiryForm input:not([type="checkbox"]),
.inquiryForm select,
.inquiryForm textarea {
  width: 100%;
  min-height: 46px;
  padding: 0 12px;
  background: #fffdf8;
  border: 1px solid #c9c1b1;
  border-radius: 0;
  font-size: 1rem; /* 16px – kad telefonas nepriartintų vaizdo */
}
.inquiryForm textarea { min-height: 105px; padding: 10px 12px; resize: vertical; }
.inquiryForm select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23686860' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
}
.inquiryForm select:invalid,
.inquiryForm select:has(option[value=""]:checked) { color: #8a897f; }   /* „Pasirinkite“ – pilka */
.inquiryForm option { color: var(--ink); }

.inquiryForm .invalid,
.inquiryForm .formGrid .invalid { border-color: #7a2c20; }   /* raudonas rėmelis neteisingam laukui */

/* Klaidos tekstas po lauku */
.fieldError {
  color: #7a2c20;
  font-size: .74rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
}
.fieldError:empty { display: none; }
.consent + .fieldError { display: block; margin: -12px 0 16px 27px; }
.consent + .fieldError:empty { display: none; }

.honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

.consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 20px 0;
  color: #595951;
  font-size: .75rem;
  line-height: 1.5;
}
.consent input { width: 17px; height: 17px; margin-top: 2px; flex-shrink: 0; accent-color: var(--gold); }
.consent.invalid { color: #7a2c20; }

.submitButton {
  width: 100%;
  min-height: 52px;
  background: var(--gold);
  color: var(--ink);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.submitButton:hover { background: #a9874e; }
.submitButton:disabled { opacity: .6; cursor: wait; }

.formNote { margin-top: 12px; color: #77766e; font-size: .68rem; text-align: center; }

.formError {
  margin-bottom: 14px;
  padding: 12px 14px;
  background: #f2dfdb;
  color: #7a2c20;
  font-size: .78rem;
  line-height: 1.5;
}

.formSuccess {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 16px;
  min-height: 340px;
}
.formSuccess[hidden], .inquiryFormView[hidden] { display: none; }
.formSuccess .dialogTitle { font-size: 2.8rem; }

/* ================================================================
   PLANŠETĖS IR TELEFONAI
   ================================================================ */
@media (max-width: 980px) {
  .brandBreak { padding: 12vw 7vw; }
  .offerGrid { grid-template-columns: 1fr 1fr; }
  .offerGrid article { border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .25); }
  .offerGrid article:nth-child(odd) { border-right: 1px solid rgba(255, 255, 255, .25); }

  .spacesGrid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
  .topbar { padding: 16px 5vw; }
  .brandLogo { height: 144px; }
  .brand { left: 0; margin-bottom: 38px; }

  .hero { grid-template-columns: 1fr; min-height: 0; }
  .heroContent { padding: 20px 7vw 48px; }
  .heroPhoto { min-height: 0; }
  .heroCollage { position: static; grid-template-rows: none; }
  .heroCollage .tile { aspect-ratio: 1 / 1; }
  .heroCollage .tileWide { aspect-ratio: 16 / 9; }
  .hero h1 { font-size: clamp(3rem, 13.5vw, 5rem); }
  .heroLead { font-size: 1.03rem; }

  .section { padding: 85px 7vw; }
  .intro, .contact, .menuIntro { grid-template-columns: 1fr; gap: 20px; }
  .introCopy { padding-top: 0; }

  .brandBreak { min-height: 520px; }
  .offerGrid { grid-template-columns: 1fr; margin-top: 50px; }
  .offerGrid article { padding: 30px 8px; }
  .offerGrid article:nth-child(odd) { border-right: 0; }

  .menuGrid { grid-template-columns: 1fr; margin-top: 45px; }
  .menuGrid .menuWide { grid-column: auto; }
  .menuGrid article { padding: 36px 6vw; }
  .menuColumns { columns: 1; }
  .menuBottom { flex-direction: column; align-items: flex-start; }

  .events { grid-template-columns: 1fr; }
  .eventsTitle {
    min-height: 0;
    padding: 75px 7vw;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
  }
  .eventTitle { margin-bottom: 30px; font-size: clamp(3.2rem, 15vw, 5rem); }
  .eventsCopy { padding: 80px 7vw; }

  .contactGrid { grid-template-columns: 1fr; grid-template-rows: none; gap: 40px; }
  .contactAddress, .contactPhone, .contactHours, .contactAccess, .contactSocial { grid-column: auto; grid-row: auto; }

  footer { flex-direction: column; align-items: flex-start; padding: 50px 7vw; }
  .reviewQr { display: none; }      /* telefone QR nereikalingas – užtenka nuorodos */
}

@media (max-width: 620px) {
  .inquiryDialog { padding: 30px 20px; }
  .dialogTitle { font-size: 1.9rem; }
  .formGrid { grid-template-columns: 1fr; gap: 15px; }
  .formFull { grid-column: auto; }
}

@media (max-width: 560px) {
  .topbar { padding: 14px 4vw; }
  .brandLogo { height: 126px; }
  .brand { margin-bottom: 26px; }
  .siteNav {
    top: 100%;
    left: 0;
    right: 0;
    width: auto;
    padding: 4px 7vw 14px;
    border-left: 0;
    border-right: 0;
  }
  .siteNav a { padding: 16px 0; font-size: .9rem; }

  .brandBreak { min-height: 0; padding: 85px 7vw; }

  .spacesGrid { grid-template-columns: 1fr; }

  .button { width: 100%; }
  .actions { gap: 9px; }
  .heroCollage { gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}


/* ================================================================
   ŽIEŽMARIŲ SALĖS PUSLAPIS (ziezmariai/index.html)
   ================================================================ */
.hallHero { min-height: 90vh; }
.hallMap { position: relative; min-height: 560px; background: var(--cream); }
.hallMap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.spacesGrid.grid4 { grid-template-columns: repeat(4, 1fr); }
.offerGrid.grid3 { grid-template-columns: repeat(3, 1fr); }

.hallPhotos { display: flex; justify-content: center; margin-top: 40px; }

/* Kortelės pavadinimas – nuoroda į kitą puslapį */
.cardLink { color: inherit; border-bottom: 1px solid transparent; transition: color .2s, border-color .2s; }
.cardLink:hover { color: var(--gold); border-bottom-color: var(--gold); }

@media (max-width: 980px) {
  .spacesGrid.grid4 { grid-template-columns: 1fr 1fr; }
  .offerGrid.grid3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .hallHero { min-height: 0; }
  .hallMap { min-height: 380px; }
  .offerGrid.grid3 { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .spacesGrid.grid4 { grid-template-columns: 1fr; }
  .hallMap { min-height: 320px; }
}

/* ================================================================
   „PUSLAPIS NERASTAS“ (404.html)
   ================================================================ */
.notFound { display: flex; flex-direction: column; align-items: center; min-height: 100vh; justify-content: center; text-align: center; }
.notFound .brand { left: 0; align-self: center; }
.notFound h1 { margin: 16px 0 18px; font-family: var(--serif); font-weight: 400; font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1.1; letter-spacing: -.04em; }
.notFound > p:not(.kicker) { max-width: 520px; color: var(--muted); font-family: var(--serif); font-size: 1.1rem; line-height: 1.7; }
.notFound .actions { justify-content: center; }

/* ================================================================
   NUOTRAUKŲ GALERIJA (iššokantis langas)
   ================================================================ */
button.spaceLink { cursor: pointer; text-align: left; }

html.galleryOpen { overflow: hidden; }

.galleryDialog {
  width: min(1100px, 100vw);
  max-width: 100vw;
  height: min(92svh, 900px);
  max-height: 100svh;
  margin: auto;
  padding: 0;
  border: 0;
  background: var(--ink);
  color: var(--cream);
}
.galleryDialog[open] { display: flex; flex-direction: column; }
.galleryDialog::backdrop { background: rgba(10, 10, 9, .86); }

.galleryTop { display: flex; align-items: center; gap: 16px; padding: 12px 10px 8px 22px; }
.galleryTitle { flex: 1; font-family: var(--serif); font-size: 1.3rem; line-height: 1.2; }
.galleryCount { color: #aaa99f; font-size: .78rem; letter-spacing: .1em; }
.galleryClose { width: 48px; height: 48px; color: var(--cream); font-size: 2.1rem; line-height: 1; }
.galleryClose:hover { color: var(--gold); }

.galleryStage {
  position: relative;
  flex: 1;
  min-height: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.galleryStage img { width: 100%; height: 100%; object-fit: contain; }

.galleryPrev,
.galleryNext {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 72px;
  background: rgba(22, 23, 20, .6);
  color: #fff;
  font-size: 2.4rem;
  line-height: 1;
  transition: background .2s, color .2s;
}
.galleryPrev { left: 10px; }
.galleryNext { right: 10px; }
.galleryPrev:hover, .galleryNext:hover { background: rgba(22, 23, 20, .85); color: var(--gold); }
.galleryPrev[hidden], .galleryNext[hidden], .galleryFb[hidden] { display: none; }

.galleryFoot { display: flex; justify-content: flex-end; padding: 10px 22px 16px; }
.galleryFb {
  padding-bottom: 4px;
  border-bottom: 1px solid var(--gold);
  color: var(--gold);
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.galleryFb:hover { color: #d4b77f; }

@media (max-width: 620px) {
  .galleryDialog { width: 100vw; height: 100svh; max-height: 100svh; }
  .galleryTop { padding-left: 16px; }
  .galleryTitle { font-size: 1.1rem; }
  .galleryPrev, .galleryNext { width: 44px; height: 60px; font-size: 2rem; }
  .galleryPrev { left: 4px; }
  .galleryNext { right: 4px; }
  .galleryFoot { justify-content: flex-start; padding: 10px 16px 18px; }
}
