@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;600&display=swap');

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

:root {
  --black:      #0A0A0A;
  --surface:    #111111;
  --card:       #1A1A1A;
  --border:     #282828;
  --white:      #FFFFFF;
  --red:        #CC2200;
  --red-hover:  #E02800;
  --gray:       #7A7A7A;
  --gray-light: #AAAAAA;
  --f-display:  'Bebas Neue', sans-serif;
  --f-body:     'Inter', sans-serif;
  --r:          4px;
  --max:        1200px;
}

html { scroll-behavior: smooth; }
body { background: var(--black); color: var(--white); font-family: var(--f-body); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
/* height:auto butinas kartu su max-width. Nuo 2026-08-25 <img> turi width ir
   height atributus (kad puslapis nesokinetu kraunantis), o jie veikia kaip
   stiliaus nuoroda: be height:auto narsykle laiko nuotrauka 1080 px auksto,
   nors aspect-ratio sako kita. Konkretesnes taisykles (.studio-photo img,
   .video-thumb img, .nav-logo img) si nugali del didesnio specifiskumo. */
img { display: block; max-width: 100%; height: auto; }
ul { list-style: none; }

.container { width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 24px; }
.section { padding: 88px 0; }
.section-sm { padding: 56px 0; }

/* ── BUTTONS ── */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 28px; font-family: var(--f-display); font-size: 18px;
  font-weight: 400; letter-spacing: 0.06em; text-transform: uppercase;
  border: none; cursor: pointer; transition: background .18s, transform .15s;
  border-radius: var(--r); white-space: nowrap;
}
.btn-red   { background: var(--red); color: var(--white); }
.btn-red:hover { background: var(--red-hover); transform: translateY(-1px); }
.btn-outline { background: transparent; color: var(--white); border: 1.5px solid var(--border); }
.btn-outline:hover { border-color: var(--white); }

/* ●REC dot */
.rec-dot {
  width: 8px; height: 8px; background: var(--white);
  border-radius: 50%; flex-shrink: 0;
  animation: rec-blink 1.4s ease-in-out infinite;
}
@keyframes rec-blink { 0%,100% { opacity:1; } 50% { opacity:0.3; } }

/* ── NAV ── */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(10,10,10,0.95); backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
}
.nav {
  display: flex; align-items: center;
  justify-content: space-between; height: 68px; gap: 32px;
}
.nav-logo img { height: 36px; width: auto; }
.nav-links { display: flex; align-items: center; gap: 28px; }
.nav-links a {
  font-family: var(--f-display); font-size: 17px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--gray-light); transition: color .15s;
}
.nav-links a:hover { color: var(--white); }
.nav-right { display: flex; align-items: center; gap: 20px; }
.nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 4px; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--white); }

/* ── LANGUAGE SWITCHER ── */
.lang-switcher { display: flex; gap: 4px; }
.lang-switcher a {
  font-family: var(--f-display); font-size: 15px; letter-spacing: 0.1em;
  padding: 4px 8px; color: var(--gray); transition: color .15s; border-radius: 2px;
}
.lang-switcher a:hover, .lang-switcher a.active { color: var(--white); }
.lang-switcher a.active { background: var(--border); }

/* ── HERO ── */
.hero {
  /* 85vh, o ne 100vh: prie pilno ekrano aukscio pirmame vaizde nesimato
     nieko kito, o dabar apacioje kyso klientu juostos krastas ir matyti,
     kad puslapis tesiasi. min-height, todel telefone, kur turinys
     aukstesnis, sekcija issipleCia savaime. */
  position: relative; min-height: 85vh;
  display: flex; align-items: center;
  overflow: hidden; padding-top: 68px;
}
/* Fonas buvo slopinamas DU kartus: brightness(0.35) visai nuotraukai plius
   gradientas virs jos. Sudejus abu, desine puse gaudavo apie 28 procentus
   ryskumo, todel nuotraukos nesimatydavo, o pusė ekrano atrodydavo tuscia.

   Dabar slopina tik gradientas: kaireje, po tekstu, jis beveik nepermatomas
   (kontrastas islieka), o desineje beveik isnyksta, todel matyti, kas
   studijoje vyksta. */
.hero-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  filter: brightness(0.7);
}
.hero-bg::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg,
    rgba(10,10,10,0.93) 0%,
    rgba(10,10,10,0.86) 34%,
    rgba(10,10,10,0.45) 62%,
    rgba(10,10,10,0.12) 100%);
}
/* Telefone teksto plotis beveik visas ekranas, tad gradientas turi eiti
   is apacios i virsu, o ne is kaires i desine. */
@media (max-width: 768px) {
  /* Siaurame ekrane is 16:9 nuotraukos matyti tik apie ketvirtadalis jos
     plocio. Per vidurį stovi augalas ir kėdė, todel iskarpa pastumiama i
     desine, kur sedi kalbantis zmogus. */
  .hero-bg { background-position: 72% center; }
  .hero-bg::after {
    background: linear-gradient(180deg,
      rgba(10,10,10,0.55) 0%,
      rgba(10,10,10,0.82) 45%,
      rgba(10,10,10,0.95) 100%);
  }
}
.hero-content { position: relative; z-index: 2; padding: 80px 0; max-width: 680px; }
.hero-eyebrow {
  font-family: var(--f-display); font-size: 14px; font-weight: 400;
  letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--red); margin-bottom: 20px;
  display: flex; align-items: center; gap: 10px;
}
.hero-eyebrow::before { content: ''; width: 32px; height: 2px; background: var(--red); }
/* font-weight: bold - tas pats storis, kuri anksciau duodavo narsykles h1
   stilius. Sukis dabar <p>, o antrastele <h1> (zr. index.php). */
.hero-title {
  font-weight: bold;
  font-family: var(--f-display); font-size: clamp(4rem, 7vw, 7rem);
  line-height: 0.92; text-transform: uppercase; letter-spacing: -0.01em;
  margin-bottom: 28px; overflow-wrap: break-word; word-break: break-word;
}
.hero-title .accent { color: var(--red); }
.hero-desc { font-size: 17px; color: var(--gray-light); line-height: 1.7; max-width: 480px; margin-bottom: 44px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ── REC BADGE ── */
.rec-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--f-display); font-size: 13px; letter-spacing: 0.2em;
  color: var(--red); margin-bottom: 16px;
}
.rec-badge .dot { width: 8px; height: 8px; background: var(--red); border-radius: 50%; animation: rec-blink 1.4s ease-in-out infinite; }

/* ── PAGE HERO ── */
.page-hero {
  padding: 140px 0 64px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  margin-bottom: 0;
}
.page-hero .section-label { font-family: var(--f-display); font-size: 13px; font-weight: 400; letter-spacing: 0.25em; text-transform: uppercase; color: var(--red); margin-bottom: 12px; display: flex; align-items: center; gap: 10px; }
.page-hero .section-label::before { content: ''; width: 28px; height: 2px; background: var(--red); }
.page-hero h1 { font-family: var(--f-display); font-size: clamp(2.5rem, 5vw, 4.5rem); text-transform: uppercase; line-height: 1.0; }
.section-label { font-family: var(--f-display); font-size: 13px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--red); margin-bottom: 12px; }
.section-title { font-family: var(--f-display); font-size: clamp(2rem, 4vw, 3.5rem); text-transform: uppercase; line-height: 1.0; }

/* ── PACKAGE / CTA BANNER ── */
.pkg-banner {
  background: var(--red); padding: 64px 0;
}
.pkg-banner-inner {
  display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center;
}
.pkg-label {
  font-family: var(--f-display); font-size: 13px; letter-spacing: 0.25em;
  text-transform: uppercase; opacity: 0.7; margin-bottom: 8px;
  display: flex; align-items: center; gap: 8px;
}
.pkg-label .dot { width: 8px; height: 8px; background: var(--white); border-radius: 50%; animation: rec-blink 1.4s ease-in-out infinite; }
.pkg-title { font-family: var(--f-display); font-size: clamp(2.5rem,4vw,4rem); text-transform: uppercase; margin-bottom: 4px; }
.pkg-price { font-family: var(--f-display); font-size: clamp(3rem,5vw,5rem); line-height: 1; margin-bottom: 24px; }
.pkg-price .vat { font-size: 1.4rem; opacity: 0.7; }
.pkg-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; margin-bottom: 32px; }
.pkg-list li { font-size: 14px; display: flex; align-items: flex-start; gap: 8px; opacity: 0.9; }
.pkg-list li::before { content: '✓'; flex-shrink: 0; font-weight: 600; margin-top: 1px; }
.pkg-cta { background: var(--black); color: var(--white); }
.pkg-cta:hover { background: #111; }

/* ── SERVICES GRID ── */
.svc-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; background: var(--border); border: 1px solid var(--border); }
.svc-card { background: var(--card); padding: 40px 32px; transition: background .2s; }
.svc-card:hover { background: #222; }
.svc-num { font-family: var(--f-display); font-size: 48px; color: var(--border); line-height: 1; margin-bottom: 20px; }
.svc-card h3 { font-family: var(--f-display); font-size: 24px; text-transform: uppercase; letter-spacing: 0.02em; margin-bottom: 12px; }
.svc-card p { font-size: 14px; color: var(--gray-light); line-height: 1.75; }

/* ── PORTFOLIO GRID ── */
.portfolio-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.client-videos-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.video-thumb {
  position: relative; aspect-ratio: 16/9; overflow: hidden;
  background: var(--card); cursor: pointer;
}
/* Buvo brightness(0.75), o uzvedus pele - 0.9, t. y. iki pilno ryskumo
   nuotrauka nepasiekdavo NIEKADA. Telefone uzvedimo nera is viso, todel ten
   kiekviena laidos nuotrauka amzinai likdavo 75 % ryskumo. Slopinimas cia
   reikalingas tik tam, kad ant nuotraukos issiskirtu grojimo mygtukas,
   todel uztenka 0.9, o uzvedus - pilnas ryskumas. */
.video-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s, filter .3s; filter: brightness(0.9); }
.video-thumb:hover img { transform: scale(1.04); filter: brightness(1); }
.video-play {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .2s;
}
.video-thumb:hover .video-play { opacity: 1; }
/* Telefone uzvedimo nera, todel grojimo mygtukas ten nebuvo rodomas is viso:
   zmogus matydavo prislopinta nuotrauka ir jokio zenklo, kad ja galima
   paspausti. Ten, kur uzvedimo nera, mygtukas rodomas visada. */
@media (hover: none) {
  .video-play { opacity: 1; }
}
.play-circle { width: 48px; height: 48px; background: var(--red); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.play-circle svg { width: 18px; height: 18px; fill: var(--white); margin-left: 3px; }

/* ── PRICING ── */
.pricing-group { margin-bottom: 48px; }
.pricing-group-title { font-family: var(--f-display); font-size: 22px; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--border); color: var(--gray-light); }
.pricing-items { display: flex; flex-direction: column; gap: 2px; }
.pricing-item { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: start; background: var(--card); padding: 20px 24px; }
.pricing-item-name { font-size: 15px; font-weight: 500; margin-bottom: 4px; }
.pricing-item-note { font-size: 13px; color: var(--gray); line-height: 1.5; }
.pricing-item-price { font-family: var(--f-display); font-size: 22px; color: var(--white); white-space: nowrap; text-align: right; }
.pricing-extras { background: var(--surface); border: 1px solid var(--border); padding: 28px 32px; margin-top: 32px; }
.pricing-extras h3 { font-family: var(--f-display); font-size: 18px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--gray-light); margin-bottom: 16px; }
.pricing-extras ul { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px 32px; }
.pricing-extras li { font-size: 14px; color: var(--gray-light); display: flex; gap: 8px; align-items: flex-start; }
.pricing-extras li::before { content: '-'; color: var(--red); flex-shrink: 0; }

/* ── STUDIO PHOTOS ── */
/* Nuotrauku krastai tamsiame fone.

   Ismatavus visas astuoniolika studijos nuotrauku paaiskejo, kad 16 is 18
   kraštinės juostos sviesumas yra toks pat tamsus kaip puslapio fonas:
   kontrastas nuo 1,00 iki 1,49 karto, o trys nuotraukos - lygiai 1,00, t. y.
   ju krasto nesimato is viso. Baltame fone tos pacios nuotraukos duotu nuo
   8 iki 20 kartu. Studijos nuotrauka yra pats produktas, o ne dekoracija,
   todel ji privalo tureti krasta.

   Sprendziama ne perdazant puslapio, o duodant nuotraukai remeli. Riba
   parinkta skaiciuojant: kad remelis ant #0A0A0A duotu bent 1,5 karto,
   jis turi buti bent #2D2D2D, todel imta rgba(255,255,255,0.18), kuri ant
   juodo fono virsta apie #363636 ir duoda 1,64.

   Slopinimas brightness(0.85) panaikintas. Jis buvo pritaikytas nuotraukoms,
   kuriu vidutinis sviesumas ir taip yra tik 51 is 255, o telefone, kur
   uzvedimo nera, jis nenusiimdavo niekada. */
.studio-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.studio-photo {
  aspect-ratio: 4/3; overflow: hidden;
  background: var(--card);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.18);
}
.studio-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.studio-photo:hover img { transform: scale(1.02); }
.studio-info { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 64px; }
.equip-list { list-style: none; }
.equip-list li { display: flex; align-items: flex-start; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border); font-size: 14px; color: var(--gray-light); }
.equip-list li::before { content: '●'; color: var(--red); font-size: 10px; margin-top: 3px; flex-shrink: 0; }

/* ── CONTACT FORM ── */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.contact-form { display: flex; flex-direction: column; gap: 14px; }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-label { font-family: var(--f-display); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gray-light); }
.form-input, .form-select, .form-textarea {
  background: var(--card); border: 1.5px solid var(--border);
  border-radius: var(--r); color: var(--white);
  font-family: var(--f-body); font-size: 15px;
  padding: 12px 16px; transition: border-color .15s; width: 100%;
}
.form-input:focus, .form-select:focus, .form-textarea:focus { outline: none; border-color: var(--red); }
.form-select { cursor: pointer; }
.form-select option { background: var(--card); }
.form-textarea { min-height: 140px; resize: vertical; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-msg { padding: 14px 18px; border-radius: var(--r); font-size: 14px; }
.form-success { background: rgba(0,180,80,.1); border: 1px solid rgba(0,180,80,.3); color: #4cde90; }
.form-error   { background: rgba(200,30,30,.1); border: 1px solid rgba(200,30,30,.3); color: #f07070; }

/* ── FOOTER ── */
.site-footer { background: #060606; border-top: 1px solid var(--border); padding: 72px 0 32px; margin-top: 0; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
.footer-brand p { font-size: 14px; color: var(--gray); line-height: 1.7; margin-top: 14px; max-width: 260px; }
.footer-social { display: flex; gap: 12px; margin-top: 20px; }
.footer-social a { color: var(--gray); transition: color .15s; }
.footer-social a:hover { color: var(--white); }
.footer-col h4 { font-family: var(--f-display); font-size: 14px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gray); margin-bottom: 16px; }
.footer-col ul { display: flex; flex-direction: column; gap: 8px; }
.footer-col a { font-size: 14px; color: var(--gray-light); transition: color .15s; }
.footer-col a:hover { color: var(--white); }
.footer-col li { font-size: 14px; color: var(--gray-light); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 24px; border-top: 1px solid var(--border); font-size: 13px; color: var(--gray); }

/* ── BREADCRUMB ── */
.breadcrumb { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--gray); margin-bottom: 20px; }
.breadcrumb a { color: var(--gray); transition: color .15s; }
.breadcrumb a:hover { color: var(--white); }
.breadcrumb span { color: var(--border); }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .svc-grid { grid-template-columns: repeat(2,1fr); }
  .portfolio-grid { grid-template-columns: repeat(3,1fr); }
  .client-videos-grid { grid-template-columns: repeat(3,1fr); }
  .studio-grid { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-brand { grid-column: 1/-1; }
  .pkg-banner-inner { grid-template-columns: 1fr; gap: 40px; }
  .pkg-list { grid-template-columns: 1fr; }
  .studio-info { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .nav-toggle { display: flex; }
  .nav-links {
    display: none; position: absolute; top: 68px; left: 0; right: 0;
    background: var(--black); border-bottom: 1px solid var(--border);
    flex-direction: column; align-items: flex-start;
    padding: 20px 24px; gap: 16px;
  }
  .nav-links.open { display: flex; }
  .nav-right .btn { display: none; }
  .hero-title { font-size: 3.2rem; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .svc-grid { grid-template-columns: 1fr; }
  .portfolio-grid { grid-template-columns: repeat(2,1fr); }
  .client-videos-grid { grid-template-columns: repeat(2,1fr) !important; }
  .studio-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .form-row { grid-template-columns: 1fr; }
  .pricing-extras ul { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 12px; }
}

@media (max-width: 480px) {
  .hero-title { font-size: 2.4rem; }
  .page-hero { padding: 100px 0 40px; }
  .section { padding: 56px 0; }
}

/* Ikureju blokas studijos puslapyje. Pakeite .owner-block su nuotrauka:
   2026-08-25 nuotrauka ismesta, o ikureju tapo du. */
.owner-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  align-items: start;
  max-width: 920px;
}

.owner-card h3 {
  font-family: var(--f-display);
  font-size: 24px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom: 12px;
}

.owner-card p {
  color: var(--gray-light);
  line-height: 1.8;
  font-size: 15px;
  margin: 0;
}

.owner-links {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  font-size: 14px;
}

@media (max-width: 768px) {
  .owner-grid { grid-template-columns: 1fr; gap: 28px; }
}


/* ── Slapuku juosta ─────────────────────────────────────────────────
   Abu mygtukai identiski tycia: atsisakyti turi buti taip pat lengva,
   kaip sutikti, todel nei dydziu, nei spalva vienas kito nenustelbia. */
.cookie-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 200;
  background: var(--card); border-top: 1px solid var(--border);
  box-shadow: 0 -8px 32px rgba(0,0,0,0.4);
}
.cookie-bar[hidden] { display: none; }
.cookie-inner {
  max-width: var(--max); margin: 0 auto; padding: 20px 24px;
  display: flex; align-items: center; gap: 32px; flex-wrap: wrap;
}
.cookie-copy { flex: 1 1 320px; min-width: 0; }
.cookie-copy strong {
  display: block; font-family: var(--f-display); font-size: 20px;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--white);
  margin-bottom: 4px;
}
.cookie-copy p {
  margin: 0; font-size: 14px; line-height: 1.6; color: var(--gray-light);
  max-width: 68ch;
}
.cookie-actions { display: flex; gap: 12px; flex-shrink: 0; }
.cookie-btn {
  background: transparent; color: var(--white);
  border: 1px solid var(--gray); min-width: 148px; justify-content: center;
}
.cookie-btn:hover { border-color: var(--white); background: rgba(255,255,255,0.06); }
.cookie-btn:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }

.cookie-reopen {
  background: none; border: none; padding: 0; cursor: pointer;
  font-family: var(--f-body); font-size: inherit; color: var(--gray);
  text-decoration: underline; text-underline-offset: 2px;
}
.cookie-reopen:hover { color: var(--gray-light); }

@media (max-width: 640px) {
  .cookie-inner { gap: 18px; padding: 18px 20px; }
  .cookie-actions { width: 100%; }
  .cookie-btn { flex: 1; min-width: 0; }
}


/* ── DUK ────────────────────────────────────────────────────────────
   Sarasas be JavaScript: <details> tvarko skleidima pats, o suskleistas
   tekstas lieka DOM'e, todel ji mato ir robotai, ir ekrano skaitytuvai. */
.faq { border-top: 1px solid var(--border); }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item summary {
  cursor: pointer; list-style: none; position: relative;
  padding: 20px 44px 20px 0;
  font-family: var(--f-display); font-size: 20px; letter-spacing: 0.03em;
  text-transform: uppercase; color: var(--white);
  transition: color .15s;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+'; position: absolute; right: 6px; top: 50%;
  transform: translateY(-50%);
  font-family: var(--f-body); font-size: 26px; line-height: 1; color: var(--red);
}
.faq-item[open] summary::after { content: '\2212'; }
.faq-item summary:hover { color: var(--red); }
.faq-item summary:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.faq-answer {
  padding: 0 44px 22px 0;
  color: var(--gray-light); font-size: 15px; line-height: 1.75; max-width: 72ch;
}
@media (max-width: 640px) {
  .faq-item summary { font-size: 17px; padding-right: 36px; }
  .faq-answer { padding-right: 0; }
}


/* ── Pasitikejimo juosta ir atsiliepimai ────────────────────────────
   Juosta stovi is karto po hero: tai pirmas dalykas po pazado, ir butent
   ten zmogui reikia irodymo, kad pazadas ne tuscias. */
.trust {
  background: var(--surface);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 28px 0;
}
.trust-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 32px; flex-wrap: wrap;
}
.trust-clients { flex: 1 1 460px; min-width: 0; }
.trust-label {
  font-family: var(--f-display); font-size: 12px; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--gray); margin-bottom: 10px;
}
.trust-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 10px 28px;
}
.trust-list li {
  font-family: var(--f-display); font-size: 21px; letter-spacing: 0.04em;
  text-transform: uppercase; color: var(--gray-light);
}

.trust-rating {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-areas: "score stars" "score count";
  align-items: center; gap: 0 14px;
  padding: 14px 22px; flex-shrink: 0;
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--r); text-decoration: none;
  transition: border-color .15s;
}
.trust-rating:hover { border-color: var(--red); }
.trust-rating:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.trust-score {
  grid-area: score;
  font-family: var(--f-display); font-size: 48px; line-height: 0.9;
  color: var(--white);
}
.trust-stars { grid-area: stars; color: var(--red); font-size: 15px; letter-spacing: 2px; }
.trust-count {
  grid-area: count;
  font-size: 13px; color: var(--gray); white-space: nowrap;
}

.review-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
.review-card {
  margin: 0; padding: 28px;
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--r);
  display: flex; flex-direction: column; gap: 20px;
}
/* flex:1 nustumdavo vardą i kortelės apacia. Kai vienoje eiluteje stovi
   ilgas ir trumpas atsiliepimas, tinklelis ju korteles suvienodina, ir
   trumpame tekste tarp zodziu ir vardo likdavo apie 200 px tuscios vietos.
   Dabar vardas seka is karto po tekstu, o tuscia vieta lieka kortelės
   apacioje, kur ji nekliudo skaityti. */
.review-text {
  margin: 0; color: var(--gray-light); font-size: 15px; line-height: 1.75;
}
.review-card footer { display: flex; flex-direction: column; gap: 3px; }
.review-name {
  font-family: var(--f-display); font-size: 19px; letter-spacing: 0.04em;
  text-transform: uppercase; color: var(--white); font-style: normal;
}
.review-source {
  font-size: 12px; color: var(--gray);
  font-family: var(--f-display); letter-spacing: 0.12em; text-transform: uppercase;
}

@media (max-width: 900px) {
  .review-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .trust-inner { gap: 22px; }
  .trust-rating { width: 100%; justify-content: start; }
  .trust-list { gap: 8px 20px; }
  .trust-list li { font-size: 18px; }
}


/* Sesi atsiliepimai vietoj triju: viduriniame plotyje du stulpeliai atrodo
   tvarkingiau nei trys suspausti. */
@media (max-width: 1100px) and (min-width: 901px) {
  .review-grid { grid-template-columns: repeat(2, 1fr); }
}


/* ── Apie mus ───────────────────────────────────────────────────────
   Skaiciai virsuje: zmogus, atejes i „apie mus", pirmiausia nori suprasti
   mastą, ir tik paskui skaityti. */
.about-facts {
  background: var(--surface);
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  padding: 32px 0;
}
.about-facts-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
.about-fact { display: flex; flex-direction: column; gap: 6px; }
.about-fact-nr {
  font-family: var(--f-display); font-size: 40px; line-height: 1;
  color: var(--white); letter-spacing: 0.02em;
}
.about-fact-txt { font-size: 13px; color: var(--gray); line-height: 1.5; }

.about-how { display: grid; gap: 28px; max-width: 820px; }
.about-how-item { display: grid; grid-template-columns: 56px 1fr; gap: 20px; align-items: start; }
.about-how-nr {
  font-family: var(--f-display); font-size: 26px; color: var(--red); line-height: 1.1;
}
.about-how-item h3 {
  font-family: var(--f-display); font-size: 21px; text-transform: uppercase;
  letter-spacing: 0.03em; color: var(--white); margin-bottom: 8px;
}
.about-how-item p { font-size: 15px; color: var(--gray-light); line-height: 1.75; margin: 0; }

@media (max-width: 900px) {
  .about-facts-grid { grid-template-columns: repeat(2, 1fr); gap: 22px; }
}
@media (max-width: 640px) {
  .about-fact-nr { font-size: 32px; }
  .about-how-item { grid-template-columns: 40px 1fr; gap: 14px; }
}


/* ── Tiesiogines transliacijos ──────────────────────────────────────
   Dvi kolonos: kairėje platformos, desineje tai, kas kainuoja atskirai.
   Zmogus pirmiausia klausia „ar transliuosite i mano platforma", ir tik
   paskui „kiek kainuos papildomai". */
.live-cols { display: grid; grid-template-columns: 1fr 1.4fr; gap: 48px; }
.live-where { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.live-where li {
  font-family: var(--f-display); font-size: 24px; letter-spacing: 0.03em;
  text-transform: uppercase; color: var(--white);
  padding-bottom: 10px; border-bottom: 1px solid var(--border);
}
.live-extra { display: grid; gap: 20px; }
.live-extra-row {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 24px;
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--r); padding: 22px 24px;
}
.live-extra-row h3 {
  font-family: var(--f-display); font-size: 19px; text-transform: uppercase;
  letter-spacing: 0.03em; color: var(--white); margin-bottom: 6px;
}
.live-extra-row p { font-size: 14px; color: var(--gray-light); line-height: 1.7; margin: 0; }
.live-extra-price {
  font-family: var(--f-display); font-size: 22px; color: var(--red);
  white-space: nowrap; flex-shrink: 0;
}
@media (max-width: 900px) {
  .live-cols { grid-template-columns: 1fr; gap: 40px; }
  .live-extra-row { flex-direction: column; gap: 10px; }
}


/* ── PVM zymos ──────────────────────────────────────────────────────
   Pastaba po antraste buvo, bet kol zmogus nuslenka iki lenteles, jos
   nebematyti. Todel „+ PVM" kartojamas prie kiekvienos kainos. */
.vat-tag {
  display: block; margin-top: 2px;
  font-family: var(--f-body); font-size: 11px; font-weight: 400;
  letter-spacing: 0.06em; color: var(--gray); text-transform: uppercase;
}
.vat-note {
  margin: 0 0 28px; padding: 12px 18px;
  background: var(--card); border-left: 3px solid var(--red);
  border-radius: var(--r);
  font-size: 14px; color: var(--gray-light);
}
.live-extra-price .vat-tag { text-align: right; }

/* ── Spastai formoje ────────────────────────────────────────────────
   Ne display:none: dalis robotu ta atpazista ir lauka praleidzia. Iskelta
   uz ekrano ribu, o tabindex="-1" neleidzia i ji patekti klaviatura. */
.hp-field {
  position: absolute !important;
  left: -9999px !important; top: auto !important;
  width: 1px !important; height: 1px !important;
  overflow: hidden !important;
}

/* ── Mobili CTA juosta ──────────────────────────────────────────────
   Telefone antrastes „Rezervuoti" mygtukas paslėptas, tad nuslinkus zemiau
   hero nebelieka ne vieno matomo mygtuko. Juosta ta spraga uzdaro.
   z-index 150 < slapuku juostos 200, o kol ta matoma, si slepiama visai. */
.mobile-cta { display: none; }
@media (max-width: 768px) {
  .mobile-cta {
    display: flex; gap: 10px; align-items: stretch;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 150;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(10,10,10,0.96); backdrop-filter: blur(12px);
    border-top: 1px solid var(--border);
  }
  body.cookie-open .mobile-cta { display: none; }
  /* Vietos, kad juosta neuzdengtu footerio pabaigos. */
  body { padding-bottom: 76px; }
  .mobile-cta-tel {
    display: flex; align-items: center; justify-content: center;
    width: 52px; flex-shrink: 0;
    border: 1px solid var(--border); border-radius: var(--r);
    color: var(--gray-light); background: var(--card);
  }
  .mobile-cta-tel:hover, .mobile-cta-tel:focus-visible { color: var(--white); border-color: var(--red); }
  .mobile-cta-book { flex: 1; justify-content: center; }
}


/* <picture> yra inline elementas be savo matmenu, todel jo viduje esantis
   <img> nepaveldi placio is konteinerio taip, kaip paveldedavo pats <img>. */
picture { display: contents; }
.studio-photo picture { display: contents; }


/* ══════════════════════════════════════════════════════════════════
   DIZAINO AUDITAS 2026-08-25
   ══════════════════════════════════════════════════════════════════ */

/* 1. REGRESIJA. Footerio logotipas remesi height="40" atributu, o kai
      prie img pridejau height:auto (kad nuotraukos nustotu tempti savo
      1080 px auksti), atributas nustojo veikti ir logotipas isaugo nuo
      124x40 iki 342x111. Antrastes logotipa isgelbejo .nav-logo img
      taisykle; footerio tokios neturejo. */
.footer-brand img { height: 40px; width: auto; }

/* 2. Atsiliepimai telefone. Sesios kortelės viena po kita uzeme 2119 px,
      t. y. 2,5 ekrano - zmogus tiesiog nustoja slinkti. Horizontali eile
      su fiksavimu: matomas vienas atsiliepimas, is uz krasto kyso kitas,
      todel matyti, kad ju daugiau. */
@media (max-width: 900px) {
  .review-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 84%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 12px;
    scrollbar-width: none;
  }
  .review-grid::-webkit-scrollbar { display: none; }
  .review-card { scroll-snap-align: start; }
  /* Tekstas ir vardas lieka kortelės virsuje, netempiami per visa auksti:
     tarpas tarp citatos ir parazo atrodytu kaip klaida. */
  .review-text { flex: 0 1 auto; }
}

/* 3. Footeris telefone. Dvidesimt eiluciu vienoje kolonoje davė 1375 px.
      Navigacija ir paslaugos telpa greta, o prekes zenklas ir kontaktai
      lieka per visa ploti. */
@media (max-width: 768px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-col:last-child { grid-column: 1 / -1; }
  .site-footer { padding-top: 48px; }
  .footer-col li { line-height: 1.5; }
}

/* 4. Paslaugu korteles telefone: 40 px uzpildas is visu pusiu keturiose
      kortelese davė 1329 px. Turinys tas pats, oro maziau. */
@media (max-width: 768px) {
  .svc-card { padding: 28px 22px; }
  .svc-num { font-size: 34px; margin-bottom: 12px; }
  .svc-card h3 { font-size: 21px; }
}

/* 5. Klientu juosta telefone: astuoni vardai per 21 px sriftą issisklaide
      i keturias eilutes. */
@media (max-width: 640px) {
  .trust-list { gap: 6px 16px; }
  .trust-list li { font-size: 16px; }
  .trust { padding: 22px 0; }
}

/* 6. Lietimo taikiniai telefone.
      Kalbu jungiklis buvo 28x32, mesainis 32x24, socialines ikonos 20x28.
      Rekomenduojama riba 44x44: mazesnius pirstu pataikoma tik is antro
      karto, o kalbu jungiklis stovi salia mesainio, tad prasilenkimas
      atidaro meniu vietoj kalbos.

      Didinamas tik lietimo plotas, ne pats piesinys: vaizdas nesikeicia. */
@media (pointer: coarse), (max-width: 768px) {
  .lang-switcher { gap: 2px; }
  .lang-switcher a {
    min-width: 44px; min-height: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 4px 8px;
  }
  .nav-toggle {
    width: 44px; height: 44px;
    align-items: center; justify-content: center;
    padding: 0; margin-right: -8px;
  }
  .footer-social { gap: 4px; margin-left: -10px; }
  .footer-social a {
    width: 44px; height: 44px;
    display: inline-flex; align-items: center; justify-content: center;
  }
  .breadcrumb { gap: 4px; }
  .breadcrumb a { padding: 10px 6px; margin: -10px -6px; }
  .footer-col a { display: inline-block; padding: 4px 0; }
  .cookie-reopen { padding: 8px 0; }
}

/* 7. Telefonas, el. pastas ir socialiniai profiliai telefone.
      Butent sitie taikiniai yra konversija: zmogus juos spaudzia noredamas
      susisiekti. 19 px aukscio eilute pirstu pataikoma sunkiai.
      Mobili CTA juosta isskiriama - ji jau turi 44 px ir papildomas
      uzpildas ja isteptu. */
@media (pointer: coarse), (max-width: 768px) {
  a[href^="tel:"]:not(.mobile-cta-tel),
  a[href^="mailto:"],
  a[href*="instagram.com"]:not(.footer-social a) {
    display: inline-block; padding: 9px 0;
  }
  /* Eilutes vienodos abiejose kolonose. Uzpildas dedamas ant <li>, o
     nuoroda ji perdengia neigiama parastė, todel lietimo plotas lieka
     visos eilutes, o navigacija ir paslaugos atrodo vienodai isdestytos. */
  .footer-col ul { gap: 0; }
  .footer-col li { padding: 6px 0; }
  .footer-col li a { display: block; padding: 6px 0; margin: -6px 0; }
}

/* 8. Kainu puslapio pakete telefone antra nuotrauka slepiama.
      Dvi nuotraukos viena po kita prideda 384 px ir rodo ta pati dalyka.
      Stalinėje versijoje jos stovi salia ir uzpildo desine kolona, todel
      ten abi lieka. */
@media (max-width: 768px) {
  .pkg-banner-inner > div:last-child picture:nth-of-type(2) { display: none; }
}

/* 9. Paslaugu ir portfolio tinkleliai buvo vieninteliai blokai, isspruko is
      konteinerio: 1425 px per visa ekrana, kai antrastes, atsiliepimai ir
      footeris lygiuojasi ties 1152 px. Del to korteles prasidedavo 137 px
      kairiau uz antraste virs ju, ir puslapis atrode „per platus".

      Kalkuliacija atitinka .container: 1200 px minus 24 px uzpildas is
      abieju pusiu. */
.svc-grid,
.portfolio-grid {
  max-width: calc(var(--max) - 48px);
  margin-left: auto;
  margin-right: auto;
}

/* 10. REGRESIJA. Padidinus lietimo taikinius kalbu jungiklis isaugo iki
       136 px, ir antrastes juostoje nebeliko vietos: 111 + 136 + 34 plius
       du 32 px tarpai = 345 px, kai nav plotis telefone 312. Flex suspaude
       logotipa iki 86x36, t. y. iskraipė ji.

       Logotipas nebesitraukia, o vietos atlaisvina mazesnis tarpas. */
.nav-logo { flex-shrink: 0; }
.nav-logo img { flex-shrink: 0; }

@media (max-width: 768px) {
  .nav { gap: 12px; }
  .nav-right { gap: 10px; }
}

/* Labai siauruose telefonuose (nuo 320 px) net ir to neuztenka, todel
   logotipas ir jungiklis dar susitraukia, taciau lietimo plotas islieka
   virs 38 px. */
@media (max-width: 380px) {
  .nav-logo img { height: 30px; }
  .lang-switcher a { min-width: 38px; padding: 4px 5px; }
}

/* 11. Studijos puslapyje ikureju nuorodos buvo 27 px aukscio. */
@media (pointer: coarse), (max-width: 768px) {
  .owner-links a { display: inline-block; padding: 8px 0; }
}


/* ── Atsiliepimu juosta ─────────────────────────────────────────────
   Devynios kortelės tinklelyje uzeme 1315 px, t. y. 1,5 ekrano. Juostoje
   telpa i vienos kortelės auksti, o visos devynios lieka pasiekiamos.

   Staliniame matomi keturi, o penktas kyso is uz krasto: be jo niekas
   nesuprastu, kad juosta stumdoma. Telefone taisykle jau buvo ir lieka. */
.review-grid {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 3 * 20px) / 4 - 14px);
  /* Kortelės sulyginamos iki aukščiausios. Tinklelyje buvo atvirksciai
     (align-items: start), nes trys skirtingo ilgio korteles greta atrode
     nelygiai. Juostoje tai neveikia: kai matomas vienas trumpas
     atsiliepimas, po juo lieka 330 px juodo puslapio fono - tiesiog skyle.
     Sulygintos kortelės ta pacia tuscia vieta laiko kortelės viduje, uz
     remelio, ir stalinėje versijoje keturios korteles baigiasi vienoje
     linijoje. */
  align-items: stretch;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 0;
  /* scroll-behavior: smooth cia NENAUDOJAMAS samoningai. Su juo scrollLeft
     priskyrimas virsta animacija, o scroll-snap-type: x mandatory tokia
     animacija kiekviename kadre tempia atgal i artimiausia fiksavimo taska,
     ir juosta nepajuda. Tiesioginis suolis veikia visada. */
  -webkit-overflow-scrolling: touch;
  padding-bottom: 14px;
  scrollbar-width: none;
}
.review-grid::-webkit-scrollbar { display: none; }
.review-grid:focus-visible { outline: 2px solid var(--red); outline-offset: 6px; }
.review-card { scroll-snap-align: start; }

/* Ilgiausias atsiliepimas telefone uzeme 577 px, trumpiausias - 262 px, o
   juosta visada lygi aukščiausiai kortelei. Vadinasi, prie trumpiausio
   likdavo 315 px tuscios vietos: is pradziu kaip juoda skyle puslapyje, po
   sulyginimo - kaip tuscia dezė. Nei vienas variantas neatrodo tvarkingas.

   Todel juostoje rodoma tik teksto pradzia, o visas tekstas lieka uz
   „Skaityti visus Google" mygtuko. Tai ne savivale: pati Google savo
   kortelėje daro lygiai taip pat ir kerpa ties „…More". Citata nekeiciama,
   tik neisskleidziama.

   Riba dvylika eiluciu, ir ji parinkta ne is akies. Prie astuoniu Roman,
   Gintaras ir Aida netekdavo lygiai vienos paskutinės eilutės, o joje
   parasyta „Rekomenduoju" - t. y. nukirsdavo butent ta sakini, del kurio
   visas atsiliepimas cia ir yra. Prie desimties tas pats nutikdavo Simonai.
   Riba, kuri nukerta viena eilute, yra grynas nuostolis: aukscio ji beveik
   nesutaupo, o mintį sugadina. Prie dvylikos apkerpami tik trys tikrai ilgi
   atsiliepimai, ir kiekvienas ju netenka keturiu ar sesiu eiluciu, todel
   matyti, kad teksto tikrai yra daugiau. Kiti astuoni matomi istisai. */
.review-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 12;
  line-clamp: 12;
  overflow: hidden;
}

.review-tools { display: flex; align-items: center; gap: 10px; }
.review-nav {
  width: 44px; height: 44px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--card); color: var(--gray-light);
  border: 1px solid var(--border); border-radius: var(--r);
  font-size: 18px; cursor: pointer;
  transition: border-color .15s, color .15s, opacity .15s;
}
.review-nav:hover:not(:disabled) { border-color: var(--red); color: var(--white); }
.review-nav:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
.review-nav:disabled { opacity: 0.3; cursor: default; }

@media (max-width: 900px) {
  /* Telefone viena kortele, is uz krasto kyso kita. */
  .review-grid { grid-auto-columns: 84%; }
  .review-nav { display: none; }
}


/* Roman savo atsiliepima parase keturiomis eilutemis, ir jos issaugotos
   pazodziui, kaip ir pats tekstas. pre-line jas parodo, o visus kitus
   atsiliepimus palieka nepaliesta: ju tekste eilutes lauzimu tiesiog nera. */
.review-text { white-space: pre-line; }


/* ── /studija: faktu juosta ir nuomos salygos ───────────────────────
   Faktu juosta stovi tarp antrastes ir pirmos nuotraukos. Ten ji todel,
   kad nuomos uzklausai skaiciai svarbesni uz vaizda: zmogus pirmiausia
   tikrina, ar apskritai tinka, ir tik paskui ziuri, ar grazu. */
.studio-facts {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  padding: 26px 0;
}
.facts-list {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.facts-list li { display: flex; flex-direction: column; gap: 5px; }
.fact-n {
  font-family: var(--f-display); font-size: 38px; line-height: 1;
  color: var(--white); letter-spacing: 0.01em;
}
.fact-u { font-size: 17px; color: var(--gray-light); margin-left: 7px; }
.fact-l { font-size: 13px; color: var(--gray); line-height: 1.5; }

/* Nuomos ir erdves punktai. Ta pati dviju kolonu tinklelis kaip iranga ir
   paslaugos zemiau, kad puslapis neatrodytu susiutas is skirtingu daliu. */
.term { margin-bottom: 22px; padding-bottom: 22px; border-bottom: 1px solid var(--border); }
.term:last-of-type { border-bottom: none; }
.term h3 {
  font-family: var(--f-display); font-size: 19px; letter-spacing: 0.02em;
  text-transform: uppercase; color: var(--white); margin-bottom: 7px;
}
.term p { font-size: 14px; color: var(--gray-light); line-height: 1.7; margin: 0; }

@media (max-width: 768px) {
  /* Keturi faktai viena eilute telefone susispaustu iki 70 px kolonos ir
     skaiciai taptu neiskaitomi. Du po du telpa be lauzymo. */
  .facts-list { grid-template-columns: 1fr 1fr; gap: 18px 16px; }
  .fact-n { font-size: 32px; }
}


/* ── Studijos galerija telefone ─────────────────────────────────────
   Septyniolika nuotrauku viena po kita telefone uzeme 4297 px, t. y.
   penkis su puse ekrano, ir buvo 37 % viso puslapio. Iki apacios ju
   niekas nenuslenka.

   Sprendimas toks pat kaip atsiliepimu juostoje, ir cia jis dar
   paprastesnis: visos plyteles jau turi aspect-ratio 4/3 ir object-fit:
   cover, todel juostoje jos savaime vienodo auksčio, be jokiu papildomu
   taisykliu.

   Plotis 86 %, o ne 100 %: is uz krasto turi kysoti kita nuotrauka, kitaip
   niekas nesupras, kad ju daugiau. Procentas skaiciuojamas nuo konteinerio
   vidaus, ne nuo ekrano - 375 px ekrane vidus yra 335 px, todel plytele
   iseina apie 280 px. Tiek dar galima ziureti. Dvi kolonos butu davusios
   183 px plyteles, o tokiame dydyje studijos erdves neivertinsi, nes
   padidinimo cia nera. */
@media (max-width: 768px) {
  .studio-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 86%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 10px;
    scrollbar-width: none;
  }
  .studio-grid::-webkit-scrollbar { display: none; }
  .studio-photo { scroll-snap-align: start; }
}


/* Vidines nuorodos i studijos puslapi. Sakinys, ne mygtukas: mygtukas
   skaitomas kaip reklama ir praleidziamas, o sakinys perskaitomas kartu su
   likusiu tekstu. Nuoroda pabraukta, kad ji nesusiplaktu su tekstu. */
.inline-studio {
  max-width: 640px; margin: 0;
  font-size: 15px; line-height: 1.75; color: var(--gray-light);
}
.inline-studio a {
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: var(--red);
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.inline-studio a:hover { color: var(--red); }


/* ── Zemelapis kontaktu puslapyje ───────────────────────────────────
   Kol remelis neijungtas, blokas nera tuscias: jame stovi tai, del ko
   zmogus i zemelapi ir ziuretu - kaip patekti ir kur pasistatyti masina.
   Todel aukstis fiksuotas ir ijungus remeli puslapis nesokteli. */
.map-block {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--r);
  overflow: hidden;
}
.map-inner {
  height: 100%;
  display: flex; flex-direction: column; justify-content: center;
  gap: 22px; padding: 40px;
}
.map-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.map-facts li {
  position: relative; padding-left: 18px;
  font-size: 15px; line-height: 1.7; color: var(--gray-light);
}
.map-facts li::before {
  content: ''; position: absolute; left: 0; top: 11px;
  width: 6px; height: 6px; border-radius: 50%; background: var(--red);
}
.map-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.map-note { margin: 0; font-size: 12px; color: var(--gray); line-height: 1.6; max-width: 460px; }

/* Ijungus remeli jis uzima visa bloka. */
.map-block.map-live iframe { display: block; width: 100%; height: 100%; border: 0; }

@media (max-width: 768px) {
  /* 16/9 telefone paliktu apie 210 px auksčio, o ten netilptu nei faktai,
     nei mygtukai. Todel telefone aukstis nustatomas pagal turini. */
  .map-block { aspect-ratio: auto; min-height: 320px; }
  .map-inner { padding: 28px 22px; gap: 18px; }
  .map-block.map-live { aspect-ratio: 4 / 3; }
}


/* ── Kontaktu kortelės ir zemelapis ─────────────────────────────────
   Iki 2026-08-27 korteliu isvaizda buvo surasyta tiesiai kontaktai.php
   viduje, style atributais. Iskėlus jas i bendra faila, stiliams reikia
   vardu - kartu dingo penki kartus pakartotas tas pats ilgas style. */
.contact-cards { display: flex; flex-direction: column; gap: 16px; }
.contact-card {
  background: var(--card); border: 1px solid var(--border);
  padding: 20px 24px; border-radius: var(--r);
}
.cc-label {
  font-family: var(--f-display); font-size: 12px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--red); margin-bottom: 4px;
}
.contact-card a, .contact-card span { display: block; font-size: 15px; color: var(--gray-light); }
.contact-card a:hover { color: var(--white); }

/* Zemelapis. Abu sluoksniai lieka vietoje, keiciasi tik matomumas:
   pirmoji versija faktus istrindavo ir grizti nebuvo kaip. */
.map-block { position: relative; }
.map-block .map-inner {
  background: var(--card); border: 1px solid var(--border); border-radius: var(--r);
  display: flex; flex-direction: column; justify-content: center;
  gap: 22px; padding: 40px;
}
.map-block.map-live .map-inner { display: none; }
.map-frame { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r); overflow: hidden; background: var(--card); }
.map-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.map-close {
  position: absolute; top: 12px; right: 12px; z-index: 2;
  background: var(--black); color: var(--white);
  border: 1px solid var(--border); border-radius: var(--r);
  padding: 10px 16px; min-height: 44px;
  font-family: var(--f-display); font-size: 13px; letter-spacing: 0.1em;
  text-transform: uppercase; cursor: pointer;
}
.map-close:hover { border-color: var(--red); }
.map-close:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }

.map-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.map-facts li { position: relative; padding-left: 18px; font-size: 15px; line-height: 1.7; color: var(--gray-light); }
.map-facts li::before { content: ''; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; border-radius: 50%; background: var(--red); }
.map-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.map-note { margin: 0; font-size: 12px; color: var(--gray); line-height: 1.6; max-width: 460px; }

/* „Apie" puslapyje kortelės ir zemelapis stovi greta. */
.about-contact { display: grid; grid-template-columns: 340px 1fr; gap: 24px; align-items: start; }

@media (max-width: 900px) {
  .about-contact { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .map-block .map-inner { padding: 28px 22px; gap: 18px; }
  .map-frame { aspect-ratio: 4 / 3; }
}


/* ── Rezervacijos pasirinkimas ──────────────────────────────────────
   Trys korteles, kiekviena veda i Cal.com jau su konkrecia paslauga.
   Visa kortele yra nuoroda, ne vien mygtukas apacioje: telefone taikinys
   tada yra visas staciakampis, o ne 44 px juostele. */
.booking-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--border); border: 1px solid var(--border); }
.booking-card {
  display: flex; flex-direction: column; gap: 10px;
  background: var(--card); padding: 32px 28px;
  transition: background .2s;
}
.booking-card:hover { background: #222; }
.booking-card:focus-visible { outline: 2px solid var(--red); outline-offset: -2px; }
.bc-time {
  font-family: var(--f-mono, var(--f-body)); font-size: 12px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--red);
}
.booking-card h3 {
  font-family: var(--f-display); font-size: 23px; letter-spacing: 0.02em;
  text-transform: uppercase; color: var(--white); margin: 0;
}
.booking-card p { font-size: 14px; color: var(--gray-light); line-height: 1.7; margin: 0; flex: 1 0 auto; }
.bc-price { font-family: var(--f-display); font-size: 30px; color: var(--white); }
.bc-cta {
  font-family: var(--f-display); font-size: 14px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--red);
}
.booking-other { margin: 28px 0 0; font-size: 14px; color: var(--gray); line-height: 1.7; max-width: 620px; }

@media (max-width: 900px) { .booking-grid { grid-template-columns: 1fr; } }


/* Kainos juosta be nuotraukos: isvaziuojamu filmavimu puslapyje studijos
   nuotrauka butu melas, o savo nuotrauku dar nera. Vietoj dvieju kolonu -
   viena, kad neliktu tuscios pusės. */
.pkg-banner-solo { grid-template-columns: 1fr; max-width: 720px; }


/* Isvaziuojamu filmavimu galerija: dvi nuotraukos, todel ne trys kolonos
   kaip studijoje. Plytelės tos pacios .studio-photo - 4:3, object-fit
   cover ir remelis, kad tamsiame fone matytusi krastas. */
.lauke-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
@media (max-width: 700px) { .lauke-grid { grid-template-columns: 1fr; } }


/* ── Du praleisti lietimo taikiniai ─────────────────────────────────
   Rasta 2026-08-27 tikrinant veikima, ne koda. G8 taisymas 2026-08-25
   apemė kalbu jungikli, mesaini ir socialinius zenkliukus, bet siedu
   liko: footerio „Rezervuoti" atrode kaip mygtukas, taciau footerio
   taisykle nuėmė jam uzpilda ir liko 75x30, o antrastes logotipas -
   93x30. Riba 44x44 yra ne grozio klausimas: mazesniuose pirstu
   pataikoma tik is antro karto.

   Trecias radinys - nuoroda sakinio viduryje (.inline-studio a, 233x19) -
   SAMONINGAI paliekama. WCAG 2.5.8 tokias nuorodas is reikalavimo isskiria,
   o istempus ja iki 44 px issikreiptu pati pastraipa. */
@media (pointer: coarse), (max-width: 768px) {
  .footer-col .btn {
    min-height: 44px;
    padding-top: 10px; padding-bottom: 10px;
    align-items: center;
  }
  .nav-logo {
    min-height: 44px;
    display: inline-flex; align-items: center;
  }
}

/* Gidai (/gidai/<slug>). Ilgas tekstas skaitomas kitaip nei paslaugu
   puslapis: eilute iki ~70 zenklu, didesnis tarpas tarp pastraipu, lentele
   su savo slinktimi, kad telefone puslapis nesislinktu i sona. */
.guide { font-size: 17px; line-height: 1.8; color: var(--gray-light); }
.guide p, .guide ul { max-width: 68ch; margin: 0 0 18px; }
.guide ul { padding-left: 20px; }
.guide li { margin-bottom: 8px; }
.guide h2 { font-family: var(--f-display); font-size: clamp(1.6rem, 3vw, 2.3rem); text-transform: uppercase; line-height: 1.05; color: var(--white); margin: 48px 0 18px; }
.guide a { color: var(--white); text-decoration: underline; text-underline-offset: 3px; }
.guide-lead { font-size: 19px; color: var(--white); }
.guide-note { font-size: 14px; color: var(--gray); border-left: 2px solid var(--red); padding-left: 14px; }
.guide-table { overflow-x: auto; margin: 8px 0 14px; border: 1px solid var(--border); border-radius: var(--r); }
.guide-table table { border-collapse: collapse; width: 100%; min-width: 640px; font-size: 15px; line-height: 1.55; }
.guide-table th, .guide-table td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--border); }
.guide-table th { font-family: var(--f-display); font-weight: 400; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray); background: var(--surface); }
.guide-table tr:last-child td { border-bottom: none; }
.guide-table td:first-child { color: var(--white); }
.guide-sources { font-size: 15px; }

