/* ELFIX 5.4.0 — public/shared stylesheet; administration-only rules removed. */
/* ELFIX 1.9.1: hidden atributas visada paslepia elementą. */
[hidden]{ display: none !important; }

:root{
  --primary: #00e5ff;
  --primary-dark: #00bfd4;
  --bg: #060b19;
  --bg-deep: #040814;
  --bg-soft: #0b1329;
  --card: #111a36;
  --card-2: #151f3d;
  --text: #f8fafc;
  --muted: #9fb0c9;
  --border: #243456;
  --success: #10b981;
  --danger: #ef4444;
  --warning: #f59e0b;
  --radius: 14px;
  --shadow: 0 14px 42px rgba(0,0,0,.34);
  --content: 1120px;
  --header-content: 1320px;
}

*{ box-sizing: border-box; }
html{
  min-height: 100%;
  scroll-behavior: smooth;
  background: var(--bg-deep);
  color-scheme: dark;
  overflow-x: hidden;
}
body{
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: hidden;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: radial-gradient(circle at top, #142044 0, var(--bg) 52rem);
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}
main{ min-width: 0; }
img{ display: block; max-width: 100%; }
a{ color: var(--primary); }
button, input, select, textarea{ font: inherit; }
button{ cursor: pointer; }
a, button, input, select, textarea{ -webkit-tap-highlight-color: transparent; }
p, li, h1, h2, h3, strong, span, a{ overflow-wrap: break-word; }

.skip-link{
  position: fixed;
  left: 1rem;
  top: -10rem;
  z-index: 9999;
  padding: .75rem 1rem;
  border-radius: 8px;
  background: #fff;
  color: #000;
}
.skip-link:focus{ top: 1rem; }

.sr-only{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Header and navigation */
.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(4,8,20,.95);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(0,229,255,.12);
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.header-inner{
  position: relative;
  width: min(var(--header-content), calc(100% - 2rem));
  min-height: 118px;
  margin: 0 auto;
  padding: .5rem 0 .45rem;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  justify-items: center;
  align-content: center;
  gap: .25rem;
}
.brand{
  display: flex;
  justify-self: center;
  align-items: center;
  flex: 0 0 auto;
  line-height: 0;
}
.brand img{
  width: clamp(178px, 15vw, 210px);
  height: auto;
  aspect-ratio: 3 / 1;
  object-fit: contain;
  border-radius: 8px;
  filter: drop-shadow(0 0 12px rgba(0,229,255,.18));
}
.main-nav{
  min-width: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .1rem;
  flex: 1 1 auto;
}
.main-nav a{
  color: var(--text);
  text-decoration: none;
  padding: .56rem .54rem;
  border-radius: 8px;
  font-size: clamp(.77rem, .82vw, .88rem);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
.main-nav a:hover,
.main-nav a.active{ color: var(--primary); background: rgba(0,229,255,.07); }
.main-nav .cta-small{ background: var(--primary); color: #04101b; }
.main-nav .cta-small:hover,
.main-nav .cta-small.active{ background: #fff; color: #04101b; }
.menu-toggle{
  display: none;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-width: 48px;
  min-height: 46px;
  color: var(--text);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: .65rem .8rem;
}
.menu-icon{
  width: 22px;
  height: 16px;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
}
.menu-icon span{
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform .18s ease, opacity .18s ease;
}
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(2){ opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

/* Shared layout */
.container{ width: min(var(--content), calc(100% - 2rem)); margin: 0 auto; }
.section{ padding: clamp(3rem, 6vw, 4.5rem) 0; }
.section-tight{ padding: clamp(1.5rem, 4vw, 2.75rem) 0; }
.eyebrow{
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: .13em;
  font-weight: 850;
  font-size: .82rem;
}
.page-title,
.hero h1{
  margin: .4rem 0 1rem;
  line-height: 1.08;
  font-size: clamp(2.15rem, 5vw, 4.5rem);
  letter-spacing: -.04em;
}
.lead{
  max-width: 760px;
  color: #c9d4e5;
  font-size: clamp(1.03rem, 1.8vw, 1.24rem);
}
.muted{ color: var(--muted); }

/* Hero */
.hero{
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(0,229,255,.12);
}
.hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 78% 18%, rgba(0,229,255,.13), transparent 32%),
    linear-gradient(145deg, rgba(8,16,36,.98), rgba(4,8,20,.99));
}
.hero-inner{
  position: relative;
  z-index: 1;
  min-height: 550px;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3rem);
  padding: clamp(3.5rem, 7vw, 5rem) 0;
}
.hero-copy{ min-width: 0; max-width: 920px; }
.hero-copy p{ max-width: 750px; color: #d4deeb; font-size: 1.14rem; }
.actions{ display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.6rem; }
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 48px;
  padding: .75rem 1.1rem;
  border: 1px solid transparent;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 850;
  line-height: 1.25;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.btn-primary{ color: #04101b; background: var(--primary); box-shadow: 0 0 24px rgba(0,229,255,.25); }
.btn-primary:hover{ background: #fff; transform: translateY(-2px); }
.btn-secondary{ color: var(--text); border-color: var(--border); background: rgba(17,26,54,.8); }
.btn-secondary:hover{ color: var(--primary); border-color: var(--primary); transform: translateY(-2px); }
.btn-danger{ color: #fff; background: var(--danger); }
.btn-small{ min-height: 38px; padding: .45rem .7rem; font-size: .88rem; }

.hero-panel,
.panel,
.form-card,
.tracking-card,
.admin-card{
  min-width: 0;
  background: linear-gradient(145deg, rgba(20,31,64,.94), rgba(10,18,40,.96));
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.hero-panel{ padding: 1.5rem; }
.hero-panel h2{ margin-top: 0; font-size: 1.28rem; }
.quick-list{ display: grid; gap: .7rem; }
.quick-list a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  color: var(--text);
  text-decoration: none;
  padding: .85rem 1rem;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(4,8,20,.45);
}
.quick-list a:hover{ color: var(--primary); border-color: var(--primary); }

.status-pill{
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .42rem .78rem;
  border-radius: 999px;
  font-size: .85rem;
  font-weight: 850;
  background: rgba(16,185,129,.14);
  border: 1px solid rgba(16,185,129,.5);
  color: #6ee7b7;
}
.status-pill.closed{ color: #fda4af; border-color: rgba(239,68,68,.6); background: rgba(239,68,68,.12); }

/* Cards and content */
.stats-grid{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.stat{
  min-width: 0;
  padding: 1.2rem;
  text-align: center;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
}
.stat strong{ display: block; color: var(--primary); font-size: 1.8rem; line-height: 1.2; }
.stat span{ display: block; margin-top: .3rem; }

.card-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1.35rem;
  margin-top: 2rem;
}
.service-card,
.product-card{
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 13px;
  box-shadow: 0 8px 26px rgba(0,0,0,.25);
  transition: transform .22s ease, border-color .22s ease;
}
.service-card:hover,
.product-card:hover{ transform: translateY(-4px); border-color: rgba(0,229,255,.72); }
.service-card > img,
.product-card > img{ width: 100%; height: 220px; object-fit: cover; background: var(--bg-soft); }
.card-body{ min-width: 0; padding: 1.35rem; display: flex; flex-direction: column; flex: 1; }
.card-body h2,
.card-body h3{ margin: 0 0 .7rem; font-size: 1.28rem; line-height: 1.25; }
.card-body p{ color: var(--muted); }
.card-body ul{ padding-left: 1.15rem; }
.card-body li{ margin: .45rem 0; }
.price-note{ margin-top: auto; color: #d9faff !important; font-weight: 750; }
.text-link{ font-weight: 850; text-decoration: none; }
.category-label{ color: var(--primary); text-transform: uppercase; letter-spacing: .08em; font-weight: 850; font-size: .78rem; }
.product-price{ color: var(--primary); font-size: 1.5rem; font-weight: 900; margin-top: auto; }
.empty-state{ padding: 1rem; border: 1px dashed var(--border); border-radius: 10px; color: var(--muted); }

.content-grid{
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(280px,.6fr);
  gap: 2rem;
  align-items: start;
}
.content-grid > *{ min-width: 0; }
.panel{ padding: 1.6rem; }
.panel h2,
.panel h3{ margin-top: 0; }
.feature-list{ display: grid; gap: 1rem; }
.feature{ min-width: 0; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: .8rem; }
.feature-icon{
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(0,229,255,.1);
  color: var(--primary);
}

/* Forms */
.form-card{ padding: 1.55rem; max-width: 850px; margin: 2rem auto 0; }
.form-grid{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.form-group{ min-width: 0; display: grid; align-content: start; gap: .42rem; }
.form-group.full{ grid-column: 1 / -1; }
label{ color: #dce7f7; font-weight: 750; }
input,
select,
textarea{
  width: 100%;
  min-width: 0;
  color: var(--text);
  background: #0b1329;
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: .78rem .85rem;
  outline: none;
}
input::placeholder,
textarea::placeholder{ color: #7183a1; opacity: 1; }
input:focus,
select:focus,
textarea:focus{ border-color: var(--primary); box-shadow: 0 0 0 3px rgba(0,229,255,.1); }
textarea{ min-height: 125px; resize: vertical; }
input[type="file"]{ overflow: hidden; }
.help{ color: var(--muted); font-size: .88rem; }
.checkbox-row{ display: flex; align-items: flex-start; gap: .65rem; }
.checkbox-row input{ width: auto; flex: 0 0 auto; margin-top: .25rem; }
.form-message{ display: none; margin-top: 1rem; padding: 1rem; border-radius: 10px; }
.form-message.success{ display: block; background: rgba(16,185,129,.12); border: 1px solid rgba(16,185,129,.45); color: #a7f3d0; }
.form-message.error{ display: block; background: rgba(239,68,68,.12); border: 1px solid rgba(239,68,68,.45); color: #fecaca; }
.honeypot{ position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.phone-input-wrap{
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: #071027;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.phone-input-wrap:focus-within{ border-color: var(--primary); box-shadow: 0 0 0 3px rgba(0,229,255,.12); }
.phone-prefix{
  display: grid;
  place-items: center;
  min-width: 44px;
  padding: 0 .8rem;
  border-right: 1px solid var(--border);
  color: var(--primary);
  background: rgba(0,229,255,.06);
  font-size: 1.12rem;
  font-weight: 900;
}
.phone-input-wrap input{
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.required-note{ max-width: 850px; margin: .85rem auto 0; color: var(--muted); font-size: .92rem; }
.required-mark{ color: #fb7185; font-weight: 900; }
.field-error{ display: block; color: #fda4af; font-size: .86rem; line-height: 1.4; font-weight: 750; }
.form-group.has-error input,
.form-group.has-error select,
.form-group.has-error textarea,
.form-group.has-error .phone-input-wrap{
  border-color: #fb7185 !important;
  box-shadow: 0 0 0 3px rgba(251,113,133,.12);
}
.form-group.has-error .phone-input-wrap input{ border-color: transparent !important; box-shadow: none !important; }
.checkbox-row.has-error{
  flex-wrap: wrap;
  padding: .7rem;
  border: 1px solid #fb7185;
  border-radius: 9px;
  background: rgba(251,113,133,.07);
}
.checkbox-row.has-error .field-error{ flex: 0 0 100%; }

/* Tracking */
.tracking-card{ max-width: 720px; margin: 2rem auto 0; padding: 1.6rem; text-align: center; }
.track-form{ display: flex; justify-content: center; gap: .65rem; flex-wrap: wrap; }
.track-form input{ max-width: 300px; text-transform: uppercase; letter-spacing: .12em; text-align: center; }
.timeline{ margin-top: 2rem; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .4rem; }
.timeline-step{ min-width: 0; position: relative; color: var(--muted); font-size: .76rem; }
.timeline-step::before{
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin: 0 auto .55rem;
  border-radius: 50%;
  background: var(--bg-soft);
  border: 2px solid var(--border);
}
.timeline-step.done{ color: var(--text); }
.timeline-step.done::before{ background: var(--primary); border-color: var(--primary); box-shadow: 0 0 18px rgba(0,229,255,.3); }
.track-result{ margin-top: 1.3rem; text-align: left; padding: 1rem; background: rgba(4,8,20,.45); border-radius: 10px; }

.faq{ display: grid; gap: .8rem; margin-top: 2rem; }
details{ background: var(--card); border: 1px solid var(--border); border-radius: 10px; padding: 1rem; }
summary{ cursor: pointer; font-weight: 850; }

/* Footer */
.site-footer{
  border-top: 1px solid var(--border);
  background: var(--bg-deep);
  margin-top: 3rem;
  padding-bottom: env(safe-area-inset-bottom);
}
.footer-grid{
  width: min(var(--content), calc(100% - 2rem));
  margin: auto;
  padding: 2.5rem 0;
  display: grid;
  grid-template-columns: 1.5fr repeat(3,minmax(0,1fr));
  gap: 1.4rem;
}
.footer-grid > div{ min-width: 0; }
.footer-grid p{ color: var(--muted); margin: .55rem 0 0; }
.footer-grid a{ color: var(--muted); text-decoration: none; }
.footer-grid a:hover{ color: var(--primary); }
.footer-bottom{ border-top: 1px solid rgba(255,255,255,.06); text-align: center; padding: 1rem; color: var(--muted); }
.toast{
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 3000;
  max-width: 360px;
  padding: .9rem 1rem;
  border-radius: 10px;
  background: #fff;
  color: #111827;
  box-shadow: var(--shadow);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(calc(100% + 2rem));
  transition: transform .25s ease, opacity .2s ease, visibility 0s linear .25s;
}
.toast.show{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}
.mobile-actions{ display: none !important; }

/* Admin */














.booking-meta{ display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .6rem; font-size: .9rem; color: var(--muted); }

/* Image thumbnails and gallery */
.upload-preview-grid,
.private-images{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(112px,1fr));
  gap: .7rem;
  margin-top: .65rem;
}
.upload-preview-button,
.booking-photo-button{
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 10px;
  color: var(--text);
  background: var(--bg-soft);
}
.upload-preview-button img,
.booking-photo-button img{ width: 100%; height: 100%; object-fit: cover; }
.upload-preview-button span,
.booking-photo-button span{
  position: absolute;
  left: .35rem;
  right: .35rem;
  bottom: .35rem;
  padding: .3rem .4rem;
  border-radius: 7px;
  color: #fff;
  background: rgba(0,0,0,.72);
  font-size: .72rem;
  font-weight: 850;
  text-align: center;
}
.booking-photo-button.is-loading::after,
.booking-photo-button.is-error::after{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: .4rem;
  text-align: center;
  font-size: .8rem;
}
.booking-photo-button.is-loading::after{ content: "Kraunama…"; color: var(--muted); background: var(--bg-soft); }
.booking-photo-button.is-error::after{ content: "Nepavyko parodyti"; color: #fecaca; background: rgba(127,29,29,.7); }

.image-lightbox{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  grid-template-rows: auto minmax(0,1fr);
  background: rgba(0,0,0,.94);
}
.image-lightbox.open{ display: grid; }
.image-lightbox-toolbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .55rem;
  padding: max(.65rem, env(safe-area-inset-top)) max(.65rem, env(safe-area-inset-right)) .65rem max(.65rem, env(safe-area-inset-left));
}
.image-lightbox-toolbar a,
.image-lightbox-toolbar button{
  min-height: 42px;
  padding: .55rem .75rem;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 9px;
  color: #fff;
  background: rgba(17,24,39,.92);
  text-decoration: none;
  font-weight: 850;
}
.image-lightbox-counter{ margin-right: auto; color: #fff; font-weight: 900; font-variant-numeric: tabular-nums; }
.image-lightbox-stage{
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: 0 max(.25rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.25rem, env(safe-area-inset-left));
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}
.image-lightbox-media{
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  display: grid;
  place-items: center;
  overflow: auto;
  padding: .5rem 3.25rem;
  -webkit-overflow-scrolling: touch;
}
.image-lightbox-media img{ max-width: 100%; max-height: 100%; object-fit: contain; transform-origin: center center; transition: transform .15s ease; }
.image-lightbox-nav{
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 48px;
  height: 58px;
  padding: 0;
  transform: translateY(-50%);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 12px;
  color: #fff;
  background: rgba(5,10,23,.78);
  font-size: 2.25rem;
  line-height: 1;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
}
.image-lightbox-nav:hover,
.image-lightbox-nav:focus-visible{ background: rgba(0,229,255,.22); border-color: var(--primary); }
.image-lightbox-prev{ left: max(.35rem, env(safe-area-inset-left)); }
.image-lightbox-next{ right: max(.35rem, env(safe-area-inset-right)); }
.image-lightbox-nav[hidden]{ display: none !important; }
.image-lightbox.zoomed .image-lightbox-media{ place-items: start center; }
.image-lightbox.zoomed img{ max-width: none; max-height: none; transform: scale(1.65); margin: 18vh 20vw; }
body.lightbox-open{ overflow: hidden; touch-action: none; }

/* Laptop and narrow desktop */
@media (max-width: 1180px){
  .header-inner{
    width: min(var(--content), calc(100% - 2rem));
    min-height: 82px;
    padding: .45rem 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .brand{
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
  }
  .brand img{ width: 164px; height: auto; }
  .menu-toggle{ display: inline-flex; margin-left: auto; position: relative; z-index: 2; }
  .main-nav{
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    z-index: 1200;
    width: auto;
    max-height: min(72vh, 610px);
    overflow-y: auto;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: .25rem;
    padding: .65rem;
    border: 1px solid var(--border);
    border-top: 2px solid var(--primary);
    border-radius: 0 0 14px 14px;
    background: rgba(6,11,25,.99);
    box-shadow: 0 24px 50px rgba(0,0,0,.55);
    -webkit-overflow-scrolling: touch;
  }
  .main-nav.open{ display: flex; animation: menu-in .18s ease-out; }
  .main-nav a{ display: flex; align-items: center; min-height: 46px; width: 100%; padding: .7rem .85rem; font-size: .96rem; text-align: left; }
  .main-nav .cta-small{ justify-content: center; margin-top: .25rem; }
  @keyframes menu-in{ from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
}

/* Tablet */
@media (max-width: 960px){
  .hero-inner{ grid-template-columns: minmax(0,1fr); min-height: auto; padding: 4rem 0; }
  .hero-panel{ max-width: 700px; width: 100%; }
  .content-grid{ grid-template-columns: 1fr; gap: 1.35rem; }
  .card-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-grid > div:first-child{ grid-column: 1 / -1; }
  
  .booking-meta{ grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px){
  .header-inner{ min-height: 72px; width: min(100% - 1.25rem, var(--content)); gap: .55rem; }
  .brand img{ width: 146px; height: auto; border-radius: 6px; }
  .menu-toggle{ min-width: 46px; width: 46px; min-height: 44px; padding: .65rem .7rem; }
  .menu-label{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .main-nav{ left: -.1rem; right: -.1rem; max-height: calc(100svh - 76px); }

  .container,
  .footer-grid,
  .admin-shell{ width: min(100% - 1.25rem, var(--content)); }
  body{ font-size: 16px; line-height: 1.55; }
  .section{ padding: 2.7rem 0; }
  .section-tight{ padding: 1.35rem 0; }
  .hero::before{
    background:
      radial-gradient(circle at 85% 10%, rgba(0,229,255,.16), transparent 36%),
      linear-gradient(180deg, rgba(6,11,25,.90), rgba(6,11,25,.99));
  }
  .hero-inner{ padding: 2.25rem 0 2.5rem; gap: 1.25rem; }
  .hero h1,
  .page-title{ margin: .35rem 0 .8rem; font-size: clamp(1.9rem, 8.2vw, 2.65rem); line-height: 1.06; }
  .hero-copy > p:not(.eyebrow){ font-size: 1rem; margin: .8rem 0; }
  .eyebrow{ font-size: .72rem; letter-spacing: .1em; }
  .lead{ font-size: 1rem; }
  .status-pill{ padding: .35rem .6rem; font-size: .76rem; }
  .actions{ gap: .6rem; margin-top: 1.15rem; }
  .actions .btn{ width: 100%; min-height: 50px; }
  .hero-panel,
  .panel,
  .form-card,
  .tracking-card,
  .admin-card{ padding: 1rem; border-radius: 12px; }
  .hero-panel h2{ font-size: 1.08rem; }
  .quick-list{ gap: .45rem; }
  .quick-list a{ min-height: 48px; padding: .7rem .8rem; font-size: .93rem; }

  .stats-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; }
  .stat{ padding: .85rem .55rem; }
  .stat strong{ font-size: 1.4rem; }
  .stat span{ font-size: .8rem; line-height: 1.3; }

  .card-grid{ grid-template-columns: 1fr; gap: .9rem; margin-top: 1.25rem; }
  .service-card:hover,
  .product-card:hover{ transform: none; }
  .service-card > img,
  .product-card > img{ height: 180px; }
  .card-body{ padding: 1rem; }
  .card-body h2,
  .card-body h3{ font-size: 1.16rem; margin-bottom: .45rem; }
  .card-body p{ margin: .45rem 0; }
  .card-body ul{ margin: .55rem 0; }
  .card-body li{ margin: .3rem 0; }
  .text-link{ display: inline-flex; align-items: center; min-height: 44px; margin-top: .35rem; }

  .feature-list{ gap: .7rem; }
  .feature{ grid-template-columns: 36px minmax(0,1fr); gap: .65rem; }
  .feature-icon{ width: 36px; height: 36px; border-radius: 9px; }
  .feature h3{ margin: 0 0 .25rem; font-size: 1.04rem; }
  .feature p{ margin: 0; }

  .form-card{ margin-top: 1.1rem; }
  .form-grid,
  .admin-grid{ grid-template-columns: 1fr; gap: .78rem; }
  .form-group.full{ grid-column: auto; }
  input,
  select,
  textarea{ min-height: 48px; padding: .72rem .75rem; font-size: 16px; }
  textarea{ min-height: 112px; }
  input[type="file"]{ min-height: auto; padding: .65rem; }
  .checkbox-row input{ min-height: auto; }
  .help{ font-size: .81rem; line-height: 1.4; }
  .required-note{ margin-top: .7rem; font-size: .84rem; }
  .field-error{ font-size: .82rem; }

  .tracking-card{ margin-top: 1rem; text-align: left; }
  .track-form{ display: grid; grid-template-columns: 1fr; gap: .55rem; }
  .track-form input{ max-width: none; }
  .track-form .btn{ width: 100%; }
  .timeline{ grid-template-columns: 1fr; gap: .5rem; margin-top: 1rem; }
  .timeline-step{ display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: center; gap: .6rem; text-align: left; font-size: .82rem; }
  .timeline-step::before{ width: 18px; height: 18px; margin: 0; }
  .track-result{ margin-top: .9rem; padding: .85rem; }

  .footer-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem .8rem; padding: 1.75rem 0; }
  .footer-grid > div:first-child{ grid-column: 1 / -1; }
  .footer-grid p{ font-size: .9rem; line-height: 1.5; }
  .footer-bottom{ padding: .8rem .6rem; font-size: .8rem; }
  .toast{ left: .65rem; right: .65rem; bottom: max(.65rem, env(safe-area-inset-bottom)); max-width: none; }

  
  
  
  
  
  
  
  
  
  
  .booking-meta{ grid-template-columns: 1fr; }

  .upload-preview-grid,
  .private-images{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .image-lightbox-toolbar{
    gap: .35rem;
    padding: max(.5rem, env(safe-area-inset-top)) max(.45rem, env(safe-area-inset-right)) .5rem max(.45rem, env(safe-area-inset-left));
  }
  .image-lightbox-toolbar a,
  .image-lightbox-toolbar button{ min-height: 40px; padding: .48rem .58rem; font-size: .82rem; }
  .image-lightbox-counter{ flex: 1 0 100%; }
  .image-lightbox-media{ padding: .35rem 2.8rem; }
  .image-lightbox-nav{ width: 42px; height: 54px; font-size: 2rem; }
  .image-lightbox.zoomed img{ transform: scale(1.85); margin: 22vh 32vw; }
}

@media (max-width: 430px){
  .container,
  .footer-grid,
  .admin-shell{ width: min(100% - 1rem, var(--content)); }
  .header-inner{ width: min(100% - .9rem, var(--content)); min-height: 70px; }
  .brand img{ width: 136px; }
  .hero h1,
  .page-title{ font-size: 1.84rem; }
  .stats-grid{ gap: .45rem; }
  .stat{ padding: .72rem .4rem; }
  .footer-grid{ grid-template-columns: 1fr; }
  .footer-grid > div:first-child{ grid-column: auto; }
  .upload-preview-grid,
  .private-images{ gap: .5rem; }
}

@media (min-width: 1440px){
  .header-inner{ min-height: 126px; }
  .brand img{ width: 220px; height: auto; }
  .hero-inner{ min-height: 590px; }
}

@media (hover: none){
  .btn-primary:hover,
  .btn-secondary:hover,
  .service-card:hover,
  .product-card:hover{ transform: none; }
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ELFIX 1.6.0 — subtle motion and interaction */
.site-header{
  --scroll-progress: 0;
  transition: background-color .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.site-header.is-scrolled{
  background: rgba(4,8,20,.985);
  border-bottom-color: rgba(0,229,255,.24);
  box-shadow: 0 12px 34px rgba(0,0,0,.46);
}
.scroll-progress{
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  z-index: 2;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, var(--primary), #78f4ff);
  box-shadow: 0 0 12px rgba(0,229,255,.55);
  transform: scaleX(var(--scroll-progress));
  transform-origin: left center;
  transition: transform .08s linear;
}
.brand img{
  transition: transform .24s ease, filter .24s ease;
}
.brand:hover img,
.brand:focus-visible img{
  transform: translateY(-1px) scale(1.018);
  filter: drop-shadow(0 0 18px rgba(0,229,255,.3));
}

.hero::after{
  content: "";
  position: absolute;
  width: min(38vw, 520px);
  aspect-ratio: 1;
  right: -12vw;
  top: -16vw;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(0,229,255,.13), rgba(0,229,255,0) 68%);
  filter: blur(4px);
  animation: hero-glow-drift 11s ease-in-out infinite alternate;
}
@keyframes hero-glow-drift{
  from { transform: translate3d(-1.5rem, .5rem, 0) scale(.96); opacity: .65; }
  to { transform: translate3d(1.5rem, 2rem, 0) scale(1.08); opacity: 1; }
}

.btn,
.main-nav a,
.quick-list a,
.text-link{
  position: relative;
}
.btn{ overflow: hidden; isolation: isolate; }
.btn::after{
  content: "";
  position: absolute;
  inset: -40% auto -40% -45%;
  width: 34%;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
  transform: skewX(-18deg) translateX(-220%);
  transition: transform .55s ease;
}
.btn:hover::after,
.btn:focus-visible::after{ transform: skewX(-18deg) translateX(510%); }
.btn:active{ transform: translateY(0) scale(.985); }
.quick-list a > span:last-child,
.text-link{
  transition: color .2s ease, transform .2s ease;
}
.quick-list a:hover > span:last-child,
.quick-list a:focus-visible > span:last-child{ transform: translateX(4px); }
.text-link:hover,
.text-link:focus-visible{ transform: translateX(3px); }

.service-card,
.product-card,
.hero-panel,
.panel,
.stat,
.form-card,
.tracking-card{
  position: relative;
  isolation: isolate;
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.service-card::before,
.product-card::before,
.hero-panel::before,
.panel::before,
.stat::before,
.form-card::before,
.tracking-card::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(260px circle at var(--glow-x, 50%) var(--glow-y, 50%), rgba(0,229,255,.11), transparent 70%);
  transition: opacity .24s ease;
}
.interactive-surface:hover::before,
.interactive-surface:focus-within::before{ opacity: 1; }
.service-card:hover,
.product-card:hover,
.hero-panel:hover,
.panel:hover,
.stat:hover{
  box-shadow: 0 18px 46px rgba(0,0,0,.4), 0 0 0 1px rgba(0,229,255,.07);
}
.service-card > img,
.product-card > img{
  transition: transform .48s cubic-bezier(.2,.7,.2,1), filter .3s ease;
}
.service-card:hover > img,
.product-card:hover > img{
  transform: scale(1.035);
  filter: saturate(1.06) contrast(1.03);
}

.motion-ready .reveal-item{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .56s ease, transform .56s cubic-bezier(.2,.72,.2,1);
  transition-delay: var(--reveal-delay, 0ms);
}
.motion-ready .reveal-item.reveal-from-left{ transform: translateX(-18px); }
.motion-ready .reveal-item.reveal-from-right{ transform: translateX(18px); }
.motion-ready .reveal-item.is-visible{
  opacity: 1;
  transform: translate3d(0,0,0);
}

.status-pill:not(.closed)::first-letter{
  animation: status-soft-pulse 1.8s ease-in-out infinite;
}
@keyframes status-soft-pulse{
  0%, 100% { opacity: .58; }
  50% { opacity: 1; }
}

details{
  transition: border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}
details[open]{
  border-color: rgba(0,229,255,.48);
  background: linear-gradient(145deg, rgba(20,31,64,.94), rgba(10,18,40,.96));
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
details summary{ cursor: pointer; }
details summary::marker{ color: var(--primary); }

.back-to-top{
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 980;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(0,229,255,.42);
  border-radius: 999px;
  color: var(--text);
  background: rgba(9,18,39,.94);
  box-shadow: 0 10px 30px rgba(0,0,0,.4);
  font-size: 1.2rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px) scale(.92);
  transition: opacity .22s ease, visibility 0s linear .22s, transform .22s ease, border-color .2s ease, background .2s ease;
}
.back-to-top.is-visible{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  transition-delay: 0s;
}
.back-to-top:hover,
.back-to-top:focus-visible{
  color: #04101b;
  background: var(--primary);
  border-color: var(--primary);
}

@media (max-width: 760px){
  .hero::after{ width: 80vw; right: -38vw; top: -24vw; opacity: .55; }
  .back-to-top{ width: 44px; height: 44px; right: max(.75rem, env(safe-area-inset-right)); bottom: max(.75rem, env(safe-area-inset-bottom)); }
  .service-card:hover > img,
  .product-card:hover > img{ transform: none; filter: none; }
}

@media (hover: none), (pointer: coarse){
  .interactive-surface::before{ display: none; }
  .brand:hover img{ transform: none; }
  .btn:hover::after{ transform: skewX(-18deg) translateX(-220%); }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .motion-ready .reveal-item{ opacity: 1; transform: none; }
  .scroll-progress{ transition: none; }
}

/* ELFIX 1.7.0 — admin paieška, filtrai ir būsenų istorija */


.booking-result-count{
  flex: 0 0 auto;
  padding: .45rem .7rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(4,8,20,.55);
  font-size: .85rem;
  font-weight: 800;
  white-space: nowrap;
}
.booking-filters{
  display: grid;
  grid-template-columns: minmax(230px, 1.5fr) repeat(3, minmax(150px, .7fr)) auto;
  align-items: end;
  gap: .75rem;
  margin-bottom: 1rem;
  padding: .9rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(4,8,20,.38);
}
.booking-filter-actions{ justify-content: end; }
.booking-filter-actions .btn{ min-height: 48px; white-space: nowrap; }
.booking-current-status{
  display: inline-flex;
  margin-top: .4rem;
  padding: .25rem .55rem;
  border: 1px solid rgba(0,229,255,.28);
  border-radius: 999px;
  color: var(--primary);
  background: rgba(0,229,255,.08);
  font-size: .78rem;
  font-weight: 850;
}
.booking-call{ text-decoration: none; }
.booking-history{
  margin-top: 1rem;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(6,11,25,.45);
}
.booking-history summary{
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: .7rem .85rem;
  color: var(--text);
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}
.booking-history summary::-webkit-details-marker{ display: none; }
.booking-history summary::after{
  content: "⌄";
  margin-left: auto;
  color: var(--primary);
  font-size: 1.15rem;
  transition: transform .2s ease;
}
.booking-history[open] summary::after{ transform: rotate(180deg); }
.booking-history ol{
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0 .85rem .85rem;
  list-style: none;
}
.booking-history li{
  position: relative;
  display: grid;
  grid-template-columns: 18px minmax(0,1fr);
  gap: .6rem;
  min-height: 52px;
  padding: .25rem 0 .65rem;
}
.booking-history li:not(:last-child)::before{
  content: "";
  position: absolute;
  left: 6px;
  top: 17px;
  bottom: -3px;
  width: 2px;
  background: var(--border);
}
.booking-history-dot{
  position: relative;
  z-index: 1;
  width: 14px;
  height: 14px;
  margin-top: .25rem;
  border: 3px solid rgba(0,229,255,.2);
  border-radius: 50%;
  background: var(--primary);
  box-shadow: 0 0 0 2px rgba(0,229,255,.08);
}
.booking-history strong,
.booking-history time,
.booking-history small{ display: block; }
.booking-history time{
  margin-top: .12rem;
  color: var(--muted);
  font-size: .78rem;
  font-variant-numeric: tabular-nums;
}
.booking-history small{ margin-top: .15rem; color: var(--muted); }

@media (max-width: 1100px){
  .booking-filters{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .booking-search-field{ grid-column: 1 / -1; }
  .booking-filter-actions{ justify-content: stretch; }
  .booking-filter-actions .btn{ width: 100%; }
}

@media (max-width: 600px){
  
  .booking-result-count{ align-self: flex-start; }
  .booking-filters{ grid-template-columns: 1fr; padding: .75rem; }
  .booking-search-field{ grid-column: auto; }
  .booking-filter-actions .btn{ width: 100%; }
  .booking-history summary{ padding: .7rem .75rem; }
  .booking-history ol{ padding: 0 .75rem .75rem; }
}

/* ELFIX 1.8.0 — meistro kuriamos remonto registracijos */






.tracking-code-display{
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: .65rem .85rem;
  border: 1px dashed rgba(0,229,255,.55);
  border-radius: 10px;
  color: var(--primary);
  background: rgba(0,229,255,.07);
  font-size: clamp(1.15rem, 3vw, 1.55rem);
  letter-spacing: .09em;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.booking-label-row{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .4rem;
}
.booking-label-row .booking-current-status{ margin-top: 0; }
.booking-source-badge{
  display: inline-flex;
  padding: .25rem .55rem;
  border: 1px solid rgba(167,139,250,.35);
  border-radius: 999px;
  color: #ddd6fe;
  background: rgba(124,58,237,.12);
  font-size: .76rem;
  font-weight: 850;
}
.booking-source-badge.client{
  border-color: rgba(148,163,184,.28);
  color: var(--muted);
  background: rgba(148,163,184,.08);
}

@media (max-width: 600px){
  
  
  .tracking-code-display{ width: 100%; justify-content: center; text-align: center; }
}

/* ELFIX 1.9.0 — pertvarkytas administravimo UI */



































@keyframes adminPanelIn{ from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }

















































































/* ELFIX 1.9.2 — momentinis atsijungimas ir vienodas administravimo logotipas */











/* ELFIX 2.0 — pasirenkami kainos ir priėmimo kvito moduliai */


















.booking-print-receipt{ width: fit-content; }
.track-extra-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.track-extra-card{
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 14px;
  background: rgba(8, 15, 30, .74);
}
.track-extra-card h3{ margin: .25rem 0 .6rem; font-size: clamp(1.35rem, 4vw, 2rem); color: #f8fafc; }
.track-extra-card p{ margin: .45rem 0; }
.track-price-actions{ display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .85rem; }
.track-approval-status{
  padding: .62rem .72rem;
  border-radius: 9px;
  background: rgba(245, 158, 11, .08);
  border: 1px solid rgba(245, 158, 11, .2);
  color: #facc6b;
}
.track-approval-status[data-approval-status="approved"]{
  background: rgba(52, 211, 153, .08);
  border-color: rgba(52, 211, 153, .22);
  color: #86efac;
}
.track-approval-status[data-approval-status="declined"]{
  background: rgba(248, 113, 113, .08);
  border-color: rgba(248, 113, 113, .22);
  color: #fda4af;
}
@media (max-width: 850px){
  .admin-optional-tools-grid, .track-extra-grid{ grid-template-columns: 1fr; }
  
  
}
@media (max-width: 560px){
  
  
  
  .track-price-actions{ display: grid; grid-template-columns: 1fr; }
  .track-price-actions .btn, .track-extra-card .btn{ width: 100%; }
}

/* ELFIX 2.1.0 — slaptažodžio matomumas ir prisijungimo bandymų apsauga */

















/* ELFIX 2.1.1 — modernesnė registracijos data, laikai ir nuotraukų valdymas */
.booking-scheduler{
  grid-column: 1 / -1;
  padding: 1.1rem;
  border: 1px solid rgba(0, 229, 255, .17);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0, rgba(0, 229, 255, .09), transparent 34%),
    linear-gradient(145deg, rgba(11, 19, 41, .95), rgba(5, 11, 25, .96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}
.booking-scheduler-title-row{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.booking-scheduler-kicker{
  display: block;
  margin-bottom: .2rem;
  color: var(--primary);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.booking-scheduler-title-row h2{
  margin: 0;
  color: #f8fafc;
  font-size: clamp(1.12rem, 2.2vw, 1.42rem);
}
.booking-scheduler-hint{
  max-width: 320px;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.45;
  text-align: right;
}
.booking-scheduler-grid{
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(360px, 1.15fr);
  gap: 1rem;
  align-items: stretch;
}
.booking-date-group,
.booking-time-group{
  padding: .9rem;
  border: 1px solid rgba(148, 163, 184, .13);
  border-radius: 13px;
  background: rgba(3, 8, 20, .55);
}
.booking-date-quick{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
}
.booking-date-chip{
  min-width: 0;
  min-height: 62px;
  display: grid;
  place-items: center;
  gap: .12rem;
  padding: .45rem .3rem;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 10px;
  color: #cbd5e1;
  background: rgba(15, 23, 42, .72);
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.booking-date-chip span{
  max-width: 100%;
  overflow: hidden;
  color: #8391a8;
  font-size: .67rem;
  font-weight: 800;
  line-height: 1;
  text-overflow: ellipsis;
  text-transform: capitalize;
  white-space: nowrap;
}
.booking-date-chip strong{
  color: inherit;
  font-size: .88rem;
  font-variant-numeric: tabular-nums;
}
.booking-date-chip:hover,
.booking-date-chip:focus-visible{
  border-color: rgba(0, 229, 255, .48);
  color: #fff;
  background: rgba(0, 229, 255, .09);
  transform: translateY(-1px);
}
.booking-date-chip.is-selected{
  border-color: var(--primary);
  color: #04101b;
  background: var(--primary);
  box-shadow: 0 8px 24px rgba(0, 229, 255, .18);
}
.booking-date-chip.is-selected span{ color: rgba(4, 16, 27, .7); }
.booking-date-input-wrap{
  position: relative;
  margin-top: .55rem;
}
.booking-date-icon{
  position: absolute;
  top: 50%;
  left: .8rem;
  z-index: 1;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  color: var(--primary);
  pointer-events: none;
}
.booking-date-icon svg{
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.booking-date-input-wrap input[type="date"]{
  min-height: 50px;
  padding-left: 2.65rem;
  color-scheme: dark;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
}
.booking-date-input-wrap input[type="date"]::-webkit-calendar-picker-indicator{
  width: 22px;
  height: 22px;
  opacity: .72;
  cursor: pointer;
  filter: invert(79%) sepia(95%) saturate(2335%) hue-rotate(135deg) brightness(103%);
}
.booking-time-heading{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .35rem .75rem;
}
.booking-time-date-label{
  color: var(--muted);
  font-size: .8rem;
  text-transform: capitalize;
}
.booking-time-native{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.booking-time-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .5rem;
  min-height: 154px;
  margin-top: .1rem;
  padding: .12rem;
  border-radius: 11px;
  outline: none;
}
.booking-time-grid[aria-invalid="true"]{
  box-shadow: 0 0 0 3px rgba(251, 113, 133, .12);
}
.booking-time-slot{
  min-width: 0;
  min-height: 58px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .12rem;
  padding: .45rem .2rem;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 10px;
  color: #dce7f7;
  background: rgba(15, 23, 42, .78);
  font-variant-numeric: tabular-nums;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.booking-time-slot strong{ font-size: .95rem; }
.booking-time-slot small{ color: #8fa0b8; font-size: .65rem; font-weight: 750; }
.booking-time-slot.is-available{ cursor: pointer; }
.booking-time-slot.is-available:hover,
.booking-time-slot.is-available:focus-visible{
  border-color: rgba(0, 229, 255, .5);
  color: #fff;
  background: rgba(0, 229, 255, .1);
  transform: translateY(-1px);
}
.booking-time-slot.is-selected{
  border-color: var(--primary);
  color: #04101b;
  background: var(--primary);
  box-shadow: 0 8px 22px rgba(0, 229, 255, .18);
}
.booking-time-slot.is-selected small{ color: rgba(4, 16, 27, .7); }
.booking-time-slot:disabled{
  cursor: not-allowed;
  opacity: .62;
}
.booking-time-slot.is-busy{
  color: #fda4af;
  border-color: rgba(251, 113, 133, .17);
  background: rgba(127, 29, 29, .12);
}
.booking-time-slot.is-past{
  color: #8190a6;
  background: rgba(15, 23, 42, .38);
}
.booking-time-slot.is-busy strong,
.booking-time-slot.is-past strong{
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}
.booking-time-slot.is-busy small{ color: #fda4af; }
.booking-time-slot.is-past small{ color: #718096; }
.booking-time-empty,
.booking-time-no-free{
  grid-column: 1 / -1;
  align-self: center;
  margin: 0;
  padding: 1rem;
  border: 1px dashed rgba(148, 163, 184, .18);
  border-radius: 10px;
  color: var(--muted);
  text-align: center;
}
.booking-time-empty.is-error{ color: #fda4af; border-color: rgba(251, 113, 133, .28); }
.booking-time-no-free{ align-self: auto; padding: .65rem; color: #fbbf24; font-size: .8rem; }
.booking-time-loading{
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .5rem;
}
.booking-time-loading i{
  min-height: 58px;
  border-radius: 10px;
  background: linear-gradient(100deg, rgba(148, 163, 184, .06) 25%, rgba(148, 163, 184, .14) 45%, rgba(148, 163, 184, .06) 65%);
  background-size: 220% 100%;
  animation: booking-loading 1.25s ease-in-out infinite;
}
@keyframes booking-loading{ to { background-position-x: -220%; } }
.booking-time-legend{
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1rem;
  margin-top: .65rem;
  color: var(--muted);
  font-size: .72rem;
}
.booking-time-legend span{ display: inline-flex; align-items: center; gap: .35rem; }
.booking-time-legend i{
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(148, 163, 184, .35);
}
.booking-time-legend .is-free{ background: var(--primary); }
.booking-time-legend .is-busy{ background: #fb7185; }
.booking-time-legend .is-past{ background: #64748b; }
.booking-time-group.has-error .booking-time-grid,
.booking-date-group.has-error .booking-date-input-wrap input{
  border-color: #fb7185 !important;
  box-shadow: 0 0 0 3px rgba(251, 113, 133, .12);
}
.upload-field-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
}
.optional-label{
  margin-left: .3rem;
  color: var(--muted);
  font-size: .73rem;
  font-weight: 700;
}
.upload-count{
  flex: 0 0 auto;
  padding: .24rem .52rem;
  border: 1px solid rgba(0, 229, 255, .17);
  border-radius: 999px;
  color: var(--primary);
  background: rgba(0, 229, 255, .06);
  font-size: .75rem;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}
.upload-preview-item{
  position: relative;
  min-width: 0;
  aspect-ratio: 4 / 3;
}
.upload-preview-item .upload-preview-button{ height: 100%; }
.upload-preview-remove{
  position: absolute;
  top: .38rem;
  right: .38rem;
  z-index: 2;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 50%;
  color: #fff;
  background: rgba(127, 29, 29, .92);
  box-shadow: 0 5px 15px rgba(0, 0, 0, .34);
  cursor: pointer;
  transition: transform .16s ease, background .16s ease;
}
.upload-preview-remove span{ font-size: 1.35rem; line-height: 1; transform: translateY(-1px); }
.upload-preview-remove:hover,
.upload-preview-remove:focus-visible{ background: #ef4444; transform: scale(1.06); }

@media (max-width: 900px){
  .booking-scheduler-grid{ grid-template-columns: 1fr; }
  .booking-time-grid{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .booking-scheduler{ padding: .75rem; border-radius: 13px; }
  .booking-scheduler-title-row{ display: grid; gap: .35rem; margin-bottom: .75rem; }
  .booking-scheduler-hint{ max-width: none; text-align: left; font-size: .76rem; }
  .booking-date-group,
  .booking-time-group{ padding: .72rem; }
  .booking-date-quick{
    display: flex;
    overflow-x: auto;
    gap: .42rem;
    padding: .1rem .05rem .35rem;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }
  .booking-date-chip{ flex: 0 0 76px; min-height: 60px; scroll-snap-align: start; }
  .booking-time-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .42rem; }
  .booking-time-slot{ min-height: 56px; }
  .booking-time-loading{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .42rem; }
  .booking-time-legend{ gap: .45rem .75rem; }
  .upload-preview-remove{ width: 36px; height: 36px; top: .3rem; right: .3rem; }
}
@media (max-width: 390px){
  .booking-time-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .booking-time-loading{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce){
  .booking-date-chip,
  .booking-time-slot,
  .upload-preview-remove{ transition: none; }
  .booking-time-loading i{ animation: none; }
}

/* ===== ELFIX 2.2.0: registracija, archyvas, kalendorius ir sesijos UI ===== */
.contact-method-fieldset{ border: 0; padding: 0; margin: 0; min-width: 0; }
.contact-method-fieldset legend{ font-weight: 800; margin-bottom: .7rem; }
.contact-method-options{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.contact-method-card{ position: relative; display: flex; min-width: 0; cursor: pointer; }
.contact-method-card input{ position: absolute; opacity: 0; pointer-events: none; }
.contact-method-card span{ display: grid; gap: .24rem; width: 100%; min-height: 84px; padding: .9rem 1rem; border: 1px solid rgba(148,163,184,.24); border-radius: 15px; background: rgba(15,23,42,.72); transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease; }
.contact-method-card strong{ color: #f8fafc; font-size: .98rem; }
.contact-method-card small{ color: #94a3b8; line-height: 1.35; }
.contact-method-card:hover span{ border-color: rgba(96,165,250,.52); transform: translateY(-1px); }
.contact-method-card input:checked + span{ border-color: #60a5fa; background: linear-gradient(145deg, rgba(30,64,175,.32), rgba(15,23,42,.88)); box-shadow: 0 0 0 3px rgba(59,130,246,.13); }
.contact-method-card input:focus-visible + span{ outline: 3px solid rgba(96,165,250,.3); outline-offset: 2px; }
.booking-time-slot.is-blocked{ opacity: .67; border-color: rgba(251,191,36,.32); background: repeating-linear-gradient(135deg, rgba(120,53,15,.18), rgba(120,53,15,.18) 7px, rgba(15,23,42,.74) 7px, rgba(15,23,42,.74) 14px); color: #fbbf24; text-decoration: line-through; }
.booking-success-card{ max-width: 820px; margin: 1.5rem auto 0; padding: clamp(1.25rem, 3vw, 2.25rem); border: 1px solid rgba(74,222,128,.28); border-radius: 24px; background: radial-gradient(circle at top right, rgba(34,197,94,.14), transparent 38%), linear-gradient(155deg, rgba(15,23,42,.97), rgba(2,6,23,.98)); box-shadow: 0 24px 70px rgba(2,6,23,.42); text-align: center; }
.booking-success-icon{ display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 1rem; border-radius: 50%; background: rgba(34,197,94,.16); border: 1px solid rgba(74,222,128,.4); color: #86efac; font-size: 1.8rem; font-weight: 900; }
.booking-success-card h2{ margin: .2rem 0 .55rem; }
.booking-success-code{ display: grid; gap: .3rem; max-width: 420px; margin: 1.25rem auto; padding: 1rem; border-radius: 16px; background: rgba(15,23,42,.8); border: 1px solid rgba(96,165,250,.28); }
.booking-success-code span{ color: #94a3b8; font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }
.booking-success-code strong{ color: #f8fafc; font-size: clamp(1.35rem, 5vw, 2rem); letter-spacing: .08em; overflow-wrap: anywhere; }
.booking-success-summary{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem; margin: 1rem 0 1.25rem; text-align: left; }
.booking-success-summary div{ padding: .85rem 1rem; border: 1px solid rgba(148,163,184,.18); border-radius: 14px; background: rgba(15,23,42,.55); }
.booking-success-summary dt{ color: #94a3b8; font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.booking-success-summary dd{ margin: .28rem 0 0; color: #f8fafc; font-weight: 750; overflow-wrap: anywhere; }
.booking-success-actions{ display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }


.booking-source-badge.archive{ background: rgba(100,116,139,.18); color: #cbd5e1; border-color: rgba(148,163,184,.25); }


.booking-activity-history [data-activity-type="status"] .booking-history-dot{ background: #60a5fa; }
.booking-activity-history [data-activity-type="archive"] .booking-history-dot{ background: #94a3b8; }
.booking-activity-history [data-activity-type="notification"] .booking-history-dot{ background: #4ade80; }
.booking-activity-history [data-activity-type="notification_error"] .booking-history-dot{ background: #f87171; }











































@media (max-width: 900px){
  .contact-method-options{ grid-template-columns: 1fr; }
  .contact-method-card span{ min-height: 70px; }
  .booking-success-summary{ grid-template-columns: 1fr; }
  
  
}
@media (max-width: 640px){
  .booking-success-card{ border-radius: 18px; padding: 1rem; }
  .booking-success-actions{ display: grid; grid-template-columns: 1fr; }
  .booking-success-actions .btn{ width: 100%; }
  
  
  
  
  
}
@media (prefers-reduced-motion: reduce){
  .contact-method-card span,
  .admin-calendar-slot{ transition: none; }
}

/* ===== ELFIX 2.2.1: lietuviškas datos pasirinkimas ir privalomas el. paštas ===== */
.booking-date-selector{
  position: relative;
  margin-top: .6rem;
}
.booking-calendar-toggle{
  position: relative;
  width: 100%;
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .65rem 2.9rem .65rem 3rem;
  border: 1px solid rgba(96, 165, 250, .28);
  border-radius: 13px;
  color: #f8fafc;
  background: linear-gradient(145deg, rgba(15, 23, 42, .92), rgba(8, 15, 32, .96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.booking-calendar-toggle:hover,
.booking-calendar-toggle:focus-visible,
.booking-calendar-toggle.is-open{
  border-color: rgba(0, 229, 255, .68);
  background: linear-gradient(145deg, rgba(15, 34, 55, .96), rgba(8, 15, 32, .98));
  box-shadow: 0 0 0 3px rgba(0, 229, 255, .09), inset 0 1px 0 rgba(255, 255, 255, .05);
}
.booking-calendar-toggle:hover{ transform: translateY(-1px); }
.booking-calendar-toggle .booking-date-icon{
  position: absolute;
  left: .9rem;
  top: 50%;
  transform: translateY(-50%);
}
.booking-calendar-toggle-copy{
  min-width: 0;
  display: grid;
  gap: .08rem;
}
.booking-calendar-toggle-copy small{
  color: #7dd3fc;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.booking-calendar-toggle-copy strong{
  max-width: 100%;
  overflow: hidden;
  color: #f8fafc;
  font-size: .94rem;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}
.booking-calendar-toggle-arrow{
  position: absolute;
  right: 1rem;
  top: 50%;
  color: #7dd3fc;
  font-size: 1.15rem;
  transform: translateY(-52%);
  transition: transform .18s ease;
}
.booking-calendar-toggle.is-open .booking-calendar-toggle-arrow{ transform: translateY(-42%) rotate(180deg); }
.booking-calendar-panel{
  position: relative;
  z-index: 4;
  margin-top: .5rem;
  padding: .75rem;
  border: 1px solid rgba(96, 165, 250, .34);
  border-radius: 16px;
  background: rgba(4, 10, 24, .985);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .035);
  backdrop-filter: blur(16px);
}
.booking-calendar-head{
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: .5rem;
  margin-bottom: .55rem;
}
.booking-calendar-head > strong{
  color: #f8fafc;
  font-size: .98rem;
  text-align: center;
  text-transform: capitalize;
}
.booking-calendar-nav{
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 11px;
  color: #e2e8f0;
  background: rgba(15, 23, 42, .8);
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, color .16s ease;
}
.booking-calendar-nav:hover:not(:disabled),
.booking-calendar-nav:focus-visible:not(:disabled){
  border-color: rgba(0, 229, 255, .55);
  color: var(--primary);
  background: rgba(0, 229, 255, .08);
}
.booking-calendar-nav:disabled{ opacity: .28; cursor: not-allowed; }
.booking-calendar-weekdays,
.booking-calendar-days{
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .3rem;
}
.booking-calendar-weekdays{
  margin-bottom: .3rem;
  color: #64748b;
  font-size: .68rem;
  font-weight: 850;
  text-align: center;
  text-transform: uppercase;
}
.booking-calendar-weekdays span{ padding: .3rem 0; }
.booking-calendar-empty{ min-height: 38px; }
.booking-calendar-day{
  min-width: 0;
  min-height: 40px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #dbeafe;
  background: rgba(15, 23, 42, .58);
  font-size: .86rem;
  font-weight: 780;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
}
.booking-calendar-day:hover:not(:disabled),
.booking-calendar-day:focus-visible:not(:disabled){
  border-color: rgba(0, 229, 255, .52);
  color: #fff;
  background: rgba(0, 229, 255, .1);
  transform: translateY(-1px);
}
.booking-calendar-day.is-today:not(.is-selected){
  border-color: rgba(96, 165, 250, .48);
  color: #7dd3fc;
}
.booking-calendar-day.is-selected{
  border-color: var(--primary);
  color: #03111c;
  background: var(--primary);
  box-shadow: 0 7px 18px rgba(0, 229, 255, .22);
}
.booking-calendar-day:disabled{
  color: #475569;
  background: rgba(15, 23, 42, .25);
  text-decoration: line-through;
  cursor: not-allowed;
}
.booking-date-group.has-error .booking-calendar-toggle,
.booking-calendar-toggle[aria-invalid="true"]{
  border-color: #fb7185 !important;
  box-shadow: 0 0 0 3px rgba(251, 113, 133, .12) !important;
}


@media (max-width: 640px){
  .booking-calendar-panel{
    padding: .65rem;
    box-shadow: 0 16px 38px rgba(0, 0, 0, .35);
  }
  .booking-calendar-toggle-copy strong{ font-size: .88rem; }
  .booking-calendar-weekdays,
  .booking-calendar-days{ gap: .22rem; }
  .booking-calendar-day{ min-height: 39px; border-radius: 9px; }
}
@media (max-width: 370px){
  .booking-calendar-panel{ padding: .5rem; }
  .booking-calendar-day{ min-height: 36px; font-size: .8rem; }
  .booking-calendar-empty{ min-height: 36px; }
}
@media (prefers-reduced-motion: reduce){
  .booking-calendar-toggle,
  .booking-calendar-toggle-arrow,
  .booking-calendar-nav,
  .booking-calendar-day{ transition: none; }
}

/* ===== ELFIX 2.3.0: keli pranešimų adresai ir atvykimo kainos modulis ===== */
.travel-booking-card{
  position: relative;
  overflow: hidden;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(34,211,238,.24);
  border-radius: 20px;
  background:
    radial-gradient(circle at 90% 0%, rgba(34,211,238,.13), transparent 34%),
    linear-gradient(145deg, rgba(15,23,42,.92), rgba(3,7,18,.82));
  box-shadow: 0 18px 44px rgba(2,6,23,.24);
}
.travel-booking-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.travel-booking-head h2{ margin: .15rem 0 0; font-size: clamp(1.12rem, 2vw, 1.42rem); }
.travel-origin-badge{
  display: inline-flex;
  align-items: center;
  max-width: 320px;
  padding: .48rem .7rem;
  border: 1px solid rgba(34,211,238,.2);
  border-radius: 999px;
  background: rgba(8,47,73,.38);
  color: #cffafe;
  font-size: .76rem;
  font-weight: 800;
  text-align: center;
}
.travel-booking-grid{ gap: 1rem; }
.travel-zone-fieldset{ margin: 0; padding: 0; border: 0; }
.travel-zone-fieldset legend{ margin-bottom: .55rem; font-weight: 850; color: #f8fafc; }
.travel-zone-options{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.travel-zone-card{ position: relative; cursor: pointer; }
.travel-zone-card input{ position: absolute; opacity: 0; pointer-events: none; }
.travel-zone-card span{
  display: grid;
  gap: .25rem;
  min-height: 116px;
  padding: .9rem;
  border: 1px solid rgba(148,163,184,.2);
  border-radius: 15px;
  background: rgba(2,6,23,.48);
  transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.travel-zone-card strong{ color: #f8fafc; font-size: .95rem; }
.travel-zone-card small{ color: #94a3b8; line-height: 1.4; }
.travel-zone-card b{ margin-top: auto; color: #22d3ee; font-size: 1rem; }
.travel-zone-card:hover span{ transform: translateY(-1px); border-color: rgba(34,211,238,.46); }
.travel-zone-card input:checked + span{
  border-color: #22d3ee;
  background: linear-gradient(145deg, rgba(8,145,178,.2), rgba(8,47,73,.18));
  box-shadow: 0 0 0 2px rgba(34,211,238,.1), 0 14px 30px rgba(8,145,178,.1);
}
.travel-zone-card input:focus-visible + span{ outline: 3px solid rgba(34,211,238,.28); outline-offset: 2px; }
.travel-price-preview{
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .25rem 1rem;
  padding: .85rem 1rem;
  border: 1px solid rgba(34,197,94,.2);
  border-radius: 14px;
  background: rgba(20,83,45,.18);
}
.travel-price-preview span{ color: #bbf7d0; font-size: .8rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.travel-price-preview strong{ grid-row: span 2; color: #86efac; font-size: clamp(1.15rem, 3vw, 1.55rem); }
.travel-price-preview small{ color: #a7f3d0; line-height: 1.45; }
.track-travel-card{ border-color: rgba(34,211,238,.28); background: linear-gradient(145deg, rgba(8,47,73,.2), rgba(15,23,42,.75)); }
.track-travel-card h3{ color: #67e8f9; }
.notification-email-list{ display: grid; gap: .8rem; }
.notification-email-list .form-group{ margin: 0; }

.travel-admin-origin{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .85rem;
  padding: .7rem .8rem;
  border: 1px solid rgba(34,211,238,.18);
  border-radius: 12px;
  background: rgba(8,47,73,.2);
}
.travel-admin-origin span{ color: #94a3b8; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.travel-admin-origin strong{ color: #cffafe; text-align: right; }
.travel-admin-actions{ display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; }

.booking-travel-fields .help{ margin-top: .25rem; }

@media (max-width: 760px){
  .travel-booking-head{ display: grid; }
  .travel-origin-badge{ max-width: none; justify-content: center; border-radius: 12px; }
  .travel-zone-options{ grid-template-columns: 1fr; }
  .travel-zone-card span{ min-height: 96px; }
  .travel-price-preview{ grid-template-columns: 1fr; }
  .travel-price-preview strong{ grid-row: auto; }
  .travel-admin-origin{ display: grid; }
  .travel-admin-origin strong{ text-align: left; }
  .travel-admin-actions .btn{ width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce){
  .travel-zone-card span{ transition: none; }
}

/* ELFIX 2.3.0 – Waze atstumo paaiškinimas */
.travel-waze-guide{
  display: flex;
  gap: .45rem;
  align-items: flex-start;
  padding: .75rem .85rem;
  border: 1px solid rgba(34,211,238,.18);
  border-radius: 12px;
  background: rgba(8,47,73,.22);
  color: #bae6fd;
  font-size: .82rem;
  line-height: 1.5;
}
.travel-waze-guide strong, .travel-waze-guide b{ color: #ecfeff; }
@media (max-width: 640px){
  .travel-waze-guide{ display: block; padding: .72rem; }
  .travel-waze-guide strong{ display: block; margin-bottom: .2rem; }
}


/* ===== ELFIX 2.3.1: automatinė preliminari atvykimo kaina ===== */
.travel-booking-grid{
  display: grid;
  gap: 1rem;
}
.travel-address-control{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .7rem;
  align-items: stretch;
}
.travel-address-control input{ min-width: 0; }
.travel-quote-button{
  min-height: 48px;
  padding-inline: 1rem;
  white-space: nowrap;
  border-color: rgba(34, 211, 238, .44);
  background: linear-gradient(135deg, rgba(8, 145, 178, .20), rgba(14, 116, 144, .12));
}
.travel-quote-button svg{
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.travel-quote-button.is-loading svg{ animation: travelPinPulse 1s ease-in-out infinite; }
@keyframes travelPinPulse{ 50% { transform: translateY(-2px); opacity: .65; } }
.travel-price-preview{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  min-height: 94px;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(51, 65, 85, .9);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(15, 23, 42, .92), rgba(6, 78, 99, .12));
  box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}
.travel-price-preview-copy{
  display: grid;
  gap: .26rem;
  min-width: 0;
}
.travel-price-preview span{
  color: #cbd5e1;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.travel-price-preview small{
  color: #94a3b8;
  line-height: 1.4;
}
.travel-price-preview strong{
  flex: 0 0 auto;
  color: #f8fafc;
  font-size: clamp(1.7rem, 4vw, 2.35rem);
  line-height: 1;
  letter-spacing: -.035em;
}
.travel-price-preview[data-state="loading"]{
  border-color: rgba(34, 211, 238, .38);
}
.travel-price-preview[data-state="loading"] strong{ color: #67e8f9; }
.travel-price-preview[data-state="success"]{
  border-color: rgba(52, 211, 153, .42);
  background: linear-gradient(135deg, rgba(6, 78, 59, .28), rgba(15, 23, 42, .94));
}
.travel-price-preview[data-state="success"] span,
.travel-price-preview[data-state="success"] strong{ color: #86efac; }
.travel-price-preview[data-state="error"]{
  border-color: rgba(248, 113, 113, .42);
  background: linear-gradient(135deg, rgba(127, 29, 29, .20), rgba(15, 23, 42, .94));
}
.travel-price-preview[data-state="error"] strong{ color: #fca5a5; }
@media (max-width: 680px){
  .travel-address-control{ grid-template-columns: 1fr; }
  .travel-quote-button{ width: 100%; justify-content: center; }
  .travel-price-preview{ align-items: flex-start; min-height: 0; }
  .travel-price-preview strong{ padding-top: .1rem; }
}
@media (max-width: 420px){
  .travel-price-preview{ display: grid; gap: .65rem; }
  .travel-price-preview strong{ font-size: 2rem; }
}
@media (prefers-reduced-motion: reduce){
  .travel-quote-button.is-loading svg{ animation: none; }
}
.travel-booking-card.full{ grid-column: 1 / -1; }


/* ===== ELFIX 2.3.2: aiškus Vilniaus miesto ribos kainos paaiškinimas ===== */
.travel-price-preview[data-state="success"] .travel-price-preview-copy small{
  display: block;
  max-width: 46rem;
  color: rgba(196, 255, 223, .92);
  line-height: 1.5;
}
@media (max-width: 640px){
  .travel-price-preview[data-state="success"]{
    align-items: flex-start;
  }
  .travel-price-preview[data-state="success"] strong{
    white-space: nowrap;
  }
}

/* ===== ELFIX 2.3.3: atskiri adreso ir miesto laukai ===== */
.travel-booking-grid{
  grid-template-columns: minmax(0, 1.65fr) minmax(180px, .85fr);
  align-items: start;
}
.travel-address-field,
.travel-city-field{ min-width: 0; }
.travel-quote-action{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem 1rem;
}
.travel-quote-action .travel-quote-button{
  flex: 0 0 auto;
}
.travel-quote-action .help{
  flex: 1 1 360px;
  margin: 0;
}
@media (max-width: 680px){
  .travel-booking-grid{ grid-template-columns: 1fr; }
  .travel-quote-action{ display: grid; }
  .travel-quote-action .travel-quote-button{ width: 100%; justify-content: center; }
}

/* ===== ELFIX 2.3.5: pagrindinio puslapio remonto eigos UI ===== */
.process-section{
  position: relative;
  overflow: clip;
  padding-top: clamp(3rem, 6vw, 5.2rem);
}
.process-section::before{
  content: "";
  position: absolute;
  inset: 12% auto auto 50%;
  width: min(760px, 80vw);
  height: 260px;
  transform: translateX(-50%);
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(0,229,255,.08), transparent 70%);
  filter: blur(18px);
}
.process-heading{
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin: 0 auto 2.1rem;
  text-align: center;
}
.process-title{
  margin: .35rem auto .8rem;
  font-size: clamp(2rem, 4vw, 3.15rem);
}
.process-lead{
  max-width: 680px;
  margin: 0 auto;
}
.process-grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.process-step{
  position: relative;
  min-width: 0;
  min-height: 220px;
  overflow: hidden;
  padding: 1.4rem;
  border: 1px solid rgba(91,130,190,.42);
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(17,31,65,.96), rgba(8,17,37,.98));
  box-shadow: 0 14px 36px rgba(0,0,0,.24);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.process-step::before{
  content: "";
  position: absolute;
  top: -70px;
  right: -60px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(0,229,255,.14), transparent 68%);
}
.process-step:hover{
  transform: translateY(-4px);
  border-color: rgba(0,229,255,.72);
  box-shadow: 0 18px 42px rgba(0,0,0,.32);
}
.process-step-top{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: 1.25rem;
}
.process-number{
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(0,229,255,.38);
  border-radius: 13px;
  color: var(--primary);
  background: rgba(0,229,255,.09);
  font-size: 1rem;
  font-weight: 950;
  letter-spacing: .04em;
}
.process-label{
  color: #91a4c5;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.process-step h3{
  position: relative;
  margin: 0 0 .65rem;
  font-size: clamp(1.12rem, 1.6vw, 1.32rem);
  line-height: 1.25;
}
.process-step p{
  position: relative;
  margin: 0;
  color: var(--muted);
}

@media (max-width: 960px){
  .process-heading{ margin-bottom: 1.5rem; }
  .process-grid{
    max-width: 720px;
    margin: 0 auto;
    grid-template-columns: 1fr;
  }
  .process-step{ min-height: 0; }
}

@media (max-width: 760px){
  .process-section{ padding-top: 3rem; }
  .process-heading{ text-align: left; margin-bottom: 1.25rem; }
  .process-title{ font-size: clamp(1.9rem, 8.2vw, 2.55rem); }
  .process-lead{ margin-left: 0; font-size: .98rem; }
  .process-grid{ gap: .75rem; }
  .process-step{ padding: 1.05rem; border-radius: 13px; }
  .process-step:hover{ transform: none; }
  .process-step-top{ margin-bottom: .9rem; }
  .process-number{ width: 43px; height: 43px; border-radius: 11px; }
}

@media (prefers-reduced-motion: reduce){
  .process-step{ transition: none; }
}


/* ===== ELFIX 2.3.6: aiški atvykimo kainos rezultato kortelė ===== */
.travel-price-preview{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: .62rem;
  min-height: 0;
  overflow: hidden;
  padding: clamp(1.05rem, 2.2vw, 1.4rem);
  border: 1px solid rgba(96, 165, 250, .24);
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 8%, rgba(34, 211, 238, .10), transparent 32%),
    linear-gradient(145deg, rgba(15, 23, 42, .96), rgba(3, 9, 24, .98));
  box-shadow: 0 18px 45px rgba(2, 6, 23, .22), inset 0 1px 0 rgba(255, 255, 255, .03);
}
.travel-price-preview::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #475569;
  opacity: .75;
}
.travel-price-preview-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-width: 0;
}
.travel-price-preview .travel-price-preview-label{
  color: #cbd5e1;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .075em;
  line-height: 1.3;
  text-transform: uppercase;
}
.travel-price-preview .travel-price-preview-status{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: .3rem .62rem;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 999px;
  color: #94a3b8;
  background: rgba(15, 23, 42, .72);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: none;
}
.travel-price-preview .travel-price-preview-amount{
  display: block;
  margin: .06rem 0 0;
  color: #f8fafc;
  font-size: clamp(2.5rem, 7vw, 4.15rem);
  font-weight: 950;
  letter-spacing: -.06em;
  line-height: .98;
  white-space: nowrap;
}
.travel-price-preview .travel-price-preview-note{
  display: block;
  max-width: 55rem;
  color: #94a3b8;
  font-size: .9rem;
  line-height: 1.55;
}
.travel-price-breakdown{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin-top: .25rem;
  padding-top: .82rem;
  border-top: 1px solid rgba(148, 163, 184, .16);
}
.travel-price-breakdown[hidden],
.travel-price-breakdown-row[hidden]{
  display: none !important;
}
.travel-price-breakdown-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-width: 0;
  padding: .7rem .78rem;
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: 12px;
  background: rgba(15, 23, 42, .48);
}
.travel-price-breakdown-row span{
  min-width: 0;
  color: #94a3b8 !important;
  font-size: .76rem !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  line-height: 1.35;
  text-transform: none !important;
}
.travel-price-breakdown-row b{
  flex: 0 0 auto;
  color: #e2e8f0;
  font-size: .82rem;
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}
.travel-price-preview[data-state="loading"]{
  border-color: rgba(34, 211, 238, .46);
}
.travel-price-preview[data-state="loading"]::before{
  background: #22d3ee;
  animation: travelResultPulse 1.2s ease-in-out infinite;
}
.travel-price-preview[data-state="loading"] .travel-price-preview-status{
  border-color: rgba(34, 211, 238, .28);
  color: #67e8f9;
  background: rgba(8, 145, 178, .12);
}
.travel-price-preview[data-state="loading"] .travel-price-preview-amount{
  color: #67e8f9;
}
.travel-price-preview[data-state="success"]{
  border-color: rgba(52, 211, 153, .38);
  background:
    radial-gradient(circle at 92% 8%, rgba(52, 211, 153, .14), transparent 34%),
    linear-gradient(145deg, rgba(5, 46, 36, .42), rgba(3, 9, 24, .98));
}
.travel-price-preview[data-state="success"]::before{
  background: linear-gradient(#34d399, #22d3ee);
  opacity: 1;
}
.travel-price-preview[data-state="success"] .travel-price-preview-label{
  color: #bbf7d0;
}
.travel-price-preview[data-state="success"] .travel-price-preview-status{
  border-color: rgba(52, 211, 153, .28);
  color: #86efac;
  background: rgba(6, 95, 70, .22);
}
.travel-price-preview[data-state="success"] .travel-price-preview-amount{
  color: #86efac;
  text-shadow: 0 0 28px rgba(52, 211, 153, .12);
}
.travel-price-preview[data-state="success"] .travel-price-preview-note{
  color: #c4ffdf;
}
.travel-price-preview[data-state="error"]{
  border-color: rgba(248, 113, 113, .4);
  background:
    radial-gradient(circle at 92% 8%, rgba(248, 113, 113, .10), transparent 34%),
    linear-gradient(145deg, rgba(69, 10, 10, .30), rgba(3, 9, 24, .98));
}
.travel-price-preview[data-state="error"]::before{ background: #f87171; opacity: 1; }
.travel-price-preview[data-state="error"] .travel-price-preview-status{
  border-color: rgba(248, 113, 113, .25);
  color: #fca5a5;
  background: rgba(127, 29, 29, .18);
}
.travel-price-preview[data-state="error"] .travel-price-preview-amount{ color: #fca5a5; }

@keyframes travelResultPulse{
  50% { opacity: .35; }
}

@media (max-width: 680px){
  .travel-price-preview{
    gap: .55rem;
    padding: 1rem;
    border-radius: 16px;
  }
  .travel-price-preview-head{ align-items: flex-start; }
  .travel-price-preview .travel-price-preview-label{ max-width: 65%; }
  .travel-price-preview .travel-price-preview-amount{
    font-size: clamp(2.35rem, 13vw, 3.35rem);
  }
  .travel-price-breakdown{ grid-template-columns: 1fr; }
  .travel-price-breakdown-row{ align-items: flex-start; }
  .travel-price-breakdown-row b{
    max-width: 58%;
    white-space: normal;
  }
}

@media (max-width: 380px){
  .travel-price-preview-head{ display: grid; justify-items: start; }
  .travel-price-preview .travel-price-preview-label{ max-width: none; }
  .travel-price-preview .travel-price-preview-status{ min-height: 25px; }
}

@media (prefers-reduced-motion: reduce){
  .travel-price-preview[data-state="loading"]::before{ animation: none; }
}
.travel-price-preview.full{ grid-column: 1 / -1; }


/* ELFIX 2.3.7 — kompaktiški tamsūs pranešimai */
.toast{
  width: min(360px, calc(100% - 2rem));
  background: linear-gradient(145deg, #111b31, #08111f);
  color: #f8fafc;
  border: 1px solid rgba(34, 211, 238, .28);
  border-left: 4px solid var(--primary);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .42);
}
@media (max-width: 700px){
  .toast{
    left: auto;
    right: max(.75rem, env(safe-area-inset-right));
    bottom: max(.75rem, env(safe-area-inset-bottom));
    width: min(330px, calc(100% - 1.5rem));
    max-width: 330px;
  }
}


/* ELFIX 2.4: kategorijų ir nuotraukų valdymas */

























/* ELFIX 2.6 — patikimesnis kategorijų redagavimas */


























#category-slug[readonly]{
  color: #a8b7c9;
  background: rgba(148, 163, 184, .08);
  cursor: not-allowed;
}
#category-message:empty{ display: none; }





/* ===== ELFIX 2.9.0: galutinis pagrindinio puslapio ir navigacijos sutvarkymas ===== */
#paslaugos{ scroll-margin-top: 96px; }

@media (min-width: 1181px){
  .site-header .header-inner{
    min-height: 84px;
    padding: .55rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
  }
  .site-header .brand{ justify-self: auto; }
  .site-header .brand img{ width: 168px; }
  .site-header .main-nav{
    width: auto;
    flex: 0 1 auto;
    justify-content: flex-end;
    gap: .22rem;
  }
  .site-header .main-nav a{
    padding: .66rem .72rem;
    font-size: .9rem;
  }
}

.hero::before{
  background:
    radial-gradient(circle at 75% 18%, rgba(0,229,255,.14), transparent 34%),
    radial-gradient(circle at 15% 82%, rgba(35,80,170,.14), transparent 38%),
    linear-gradient(145deg, rgba(8,16,36,.985), rgba(4,8,20,.995));
}
.hero-inner{
  min-height: 570px;
  grid-template-columns: minmax(0,1.04fr) minmax(380px,.76fr);
  gap: clamp(2rem, 5vw, 4.5rem);
}
.hero-copy{ max-width: 720px; }
.hero-copy h1{ font-size: clamp(2.7rem, 4.8vw, 4.8rem); }
.hero-showcase{
  position: relative;
  min-width: 0;
  display: grid;
  gap: .8rem;
  padding: .85rem;
  border: 1px solid rgba(74,113,173,.48);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(18,31,65,.94), rgba(7,15,34,.98));
  box-shadow: 0 28px 70px rgba(0,0,0,.42), 0 0 0 1px rgba(0,229,255,.04);
}
.hero-showcase figure{
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(99,132,184,.32);
  border-radius: 14px;
  background: var(--bg-soft);
}
.hero-showcase img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-showcase-main{ aspect-ratio: 16 / 8.8; }
.hero-showcase-row{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .8rem;
}
.hero-showcase-row figure{ aspect-ratio: 16 / 9; }
.hero-showcase-note{
  display: grid;
  gap: .12rem;
  padding: .15rem .2rem .05rem;
}
.hero-showcase-note strong{ color: #fff; font-size: 1.02rem; }
.hero-showcase-note span{ color: var(--muted); font-size: .88rem; line-height: 1.45; }

.home-trust{
  border-bottom: 1px solid rgba(0,229,255,.08);
  background: rgba(4,8,20,.45);
}
.home-trust .stat{
  display: grid;
  align-content: center;
  min-height: 112px;
  padding: 1rem;
}
.home-trust .stat strong{
  font-size: clamp(1.1rem, 1.8vw, 1.55rem);
  line-height: 1.22;
}
.home-trust .stat span{ color: #aebbd0; line-height: 1.4; }

.services-section{ background: linear-gradient(180deg, rgba(7,13,28,.35), rgba(4,8,20,.08)); }
.services-title{ font-size: clamp(2rem,4vw,3.2rem); }
.category-card-grid{ align-items: stretch; }
.service-card-link{
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.service-card-link:focus-visible{
  outline: 3px solid rgba(0,229,255,.8);
  outline-offset: 3px;
}
.category-card-grid .service-card > img{
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.category-card-grid .card-body{ min-height: 235px; }
.category-card-grid .card-body p{ margin: .35rem 0 1rem; }
.category-card-grid .text-link{
  margin-top: auto;
  color: var(--primary);
}
.service-card-link:hover .text-link,
.service-card-link:focus-visible .text-link{ transform: translateX(4px); }

.footer-grid{
  grid-template-columns: minmax(220px,1.25fr) repeat(4,minmax(140px,.75fr));
  gap: 1.5rem;
}
.mobile-action-bar{ display: none; }

@media (max-width: 1180px){
  .hero-inner{
    grid-template-columns: minmax(0,1fr) minmax(320px,.72fr);
    min-height: 540px;
  }
  .hero-copy h1{ font-size: clamp(2.45rem, 5.8vw, 4rem); }
}

@media (max-width: 960px){
  .hero-inner{
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 3.5rem 0;
  }
  .hero-copy{ max-width: 780px; }
  .hero-showcase{ max-width: 760px; width: 100%; }
  .footer-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-grid > div:first-child{ grid-column: 1 / -1; }
}

@media (max-width: 760px){
  body{ padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  #paslaugos{ scroll-margin-top: 78px; }
  .hero-inner{ padding: 2.15rem 0 2.4rem; }
  .hero-copy h1{ font-size: clamp(2rem, 10vw, 2.75rem); }
  .hero-showcase{ padding: .55rem; gap: .55rem; border-radius: 16px; }
  .hero-showcase-main{ aspect-ratio: 16 / 9; }
  .hero-showcase-row{ gap: .55rem; }
  .hero-showcase figure{ border-radius: 10px; }
  .hero-showcase-note{ padding: .08rem .15rem .05rem; }
  .hero-showcase-note strong{ font-size: .95rem; }
  .hero-showcase-note span{ font-size: .8rem; }

  .home-trust .stats-grid{ grid-template-columns: 1fr 1fr; }
  .home-trust .stat{ min-height: 96px; padding: .8rem .55rem; }
  .home-trust .stat strong{ font-size: 1rem; }
  .home-trust .stat span{ font-size: .78rem; }

  .category-card-grid .service-card > img{ height: auto; }
  .category-card-grid .card-body{ min-height: 0; padding: 1.05rem; }
  .category-card-grid .card-body h2{ font-size: 1.18rem; }
  .category-card-grid .card-body p{ font-size: 1rem; line-height: 1.55; }

  .mobile-action-bar{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1700;
    display: grid;
    grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr);
    gap: .55rem;
    padding: .58rem max(.65rem, env(safe-area-inset-right)) calc(.58rem + env(safe-area-inset-bottom)) max(.65rem, env(safe-area-inset-left));
    border-top: 1px solid rgba(0,229,255,.26);
    background: rgba(4,8,20,.96);
    backdrop-filter: blur(18px);
    box-shadow: 0 -12px 30px rgba(0,0,0,.42);
  }
  .mobile-action-bar a{
    min-width: 0;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .65rem .75rem;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
  }
  .mobile-action-call{
    color: var(--text);
    border: 1px solid var(--border);
    background: var(--card);
  }
  .mobile-action-book{ color: #04101b; background: var(--primary); }
  .mobile-action-book{ font-size: .84rem; }
  .toast{ bottom: calc(5rem + env(safe-area-inset-bottom)); }
  .back-to-top{ bottom: calc(5.25rem + env(safe-area-inset-bottom)); }
}

@media (max-width: 430px){
  .hero-showcase-row{ grid-template-columns: 1fr 1fr; }
  .home-trust .stats-grid{ gap: .5rem; }
  .footer-grid{ grid-template-columns: 1fr; }
  .footer-grid > div:first-child{ grid-column: auto; }
  .mobile-action-bar a{ font-size: .86rem; }
  .mobile-action-book{ font-size: .78rem; }
}

/* ===== ELFIX 3.0.0: suderintas logotipo dydis po pagrindinio puslapio pataisymo ===== */
@media (min-width: 1181px){
  .site-header .header-inner{ min-height: 96px; }
  .site-header .brand img{ width: clamp(202px, 15vw, 232px); }
}

@media (min-width: 1440px){
  .site-header .header-inner{ min-height: 104px; }
  .site-header .brand img{ width: 232px; }
}

@media (min-width: 761px) and (max-width: 1180px){
  .site-header .header-inner{ min-height: 90px; }
  .site-header .brand img{ width: 182px; }
}

@media (max-width: 760px){
  .site-header .header-inner{ min-height: 80px; }
  .site-header .brand img{ width: 166px; }
}

@media (max-width: 430px){
  .site-header .header-inner{ min-height: 78px; }
  .site-header .brand img{ width: 156px; }
}

/* ELFIX 4.3 — patikimas parduotuvės ir nuotraukų valdymas */















/* ELFIX 4.7 shop management */
.product-image-tile{border:1px solid var(--border);border-radius:14px;padding:8px;background:rgba(4,14,30,.55)}.product-image-tile img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.product-image-tile>div{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:7px}.product-image-view{border:0;padding:0;background:none;cursor:zoom-in;width:100%}.shop-category-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.shop-category-manager{margin-bottom:18px}.store-category-filter{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.store-category-filter button{border:1px solid var(--border);background:var(--bg-soft);color:var(--text);border-radius:999px;padding:9px 14px;cursor:pointer}.store-category-filter button.is-active{border-color:var(--primary);color:var(--primary)}.product-gallery{padding:12px}.product-main-image{display:block;border:0;background:none;padding:0;width:100%;cursor:zoom-in}.product-main-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.product-thumbnails{display:flex;gap:7px;overflow:auto;margin-top:8px}.product-thumbnails button{flex:0 0 66px;border:2px solid transparent;background:none;padding:0;border-radius:8px}.product-thumbnails button.is-active{border-color:var(--primary)}.product-thumbnails img{width:100%;height:52px;object-fit:cover;border-radius:6px}.product-uploaded{font-size:.86rem;color:var(--muted)}

/* ELFIX 4.8 – parduotuvės prekės peržiūra ir didelių galerijų palaikymas */
.store-product-card{
  position: relative;
  overflow: hidden;
  cursor: pointer;
  outline: none;
}
.store-product-card:focus-visible{
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(0, 229, 255, .2), 0 18px 44px rgba(0, 0, 0, .22);
}
.store-product-cover{
  position: relative;
  overflow: hidden;
  background: var(--bg-soft);
  aspect-ratio: 4 / 3;
}
.store-product-cover img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease, filter .25s ease;
}
.store-product-card:hover .store-product-cover img,
.store-product-card:focus-visible .store-product-cover img{
  transform: scale(1.025);
  filter: brightness(1.04);
}
.store-photo-count{
  position: absolute;
  right: .75rem;
  bottom: .75rem;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: .35rem .65rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(2, 8, 23, .82);
  color: #fff;
  font-size: .82rem;
  font-weight: 900;
  backdrop-filter: blur(8px);
}
.store-product-excerpt{
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  min-height: 4.5em;
  color: var(--muted);
}
.store-product-card-footer{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-top: auto;
}
.store-product-open-label{
  color: var(--primary);
  font-size: .9rem;
  font-weight: 900;
  white-space: nowrap;
}

.product-detail-modal{
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: clamp(.65rem, 2vw, 1.5rem);
}
.product-detail-modal[hidden]{ display: none !important; }
.product-detail-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0, 4, 15, .88);
  backdrop-filter: blur(12px);
}
.product-detail-dialog{
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  border: 1px solid rgba(0, 229, 255, .42);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(9, 24, 48, .99), rgba(3, 11, 27, .99));
  box-shadow: 0 32px 100px rgba(0, 0, 0, .62);
}
.product-detail-close{
  position: absolute;
  top: .8rem;
  right: .8rem;
  z-index: 5;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 50%;
  background: rgba(2, 8, 23, .88);
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}
.product-detail-close:hover,
.product-detail-close:focus-visible{
  border-color: var(--primary);
  background: rgba(0, 229, 255, .18);
  outline: none;
}
.product-detail-layout{
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  min-height: min(720px, calc(100dvh - 2rem));
}
.product-detail-gallery{
  min-width: 0;
  padding: clamp(.75rem, 2vw, 1.25rem);
  border-right: 1px solid rgba(148,163,184,.18);
}
.product-detail-stage{
  position: relative;
  display: grid;
  place-items: center;
  min-height: min(610px, 66dvh);
  overflow: hidden;
  border-radius: 18px;
  background: #020817;
}
.product-detail-stage > img{
  display: block;
  width: 100%;
  height: min(610px, 66dvh);
  object-fit: contain;
  background: #020817;
}
.product-detail-arrow{
  position: absolute;
  top: 50%;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 50px;
  height: 66px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 14px;
  background: rgba(2, 8, 23, .78);
  color: #fff;
  font-size: 2.4rem;
  line-height: 1;
  transform: translateY(-50%);
  cursor: pointer;
  backdrop-filter: blur(8px);
}
.product-detail-arrow:hover,
.product-detail-arrow:focus-visible{
  border-color: var(--primary);
  background: rgba(0,229,255,.2);
  outline: none;
}
.product-detail-prev{ left: .65rem; }
.product-detail-next{ right: .65rem; }
.product-detail-arrow[hidden]{ display: none !important; }
.product-detail-counter{
  position: absolute;
  right: .75rem;
  bottom: .75rem;
  z-index: 2;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: rgba(2, 8, 23, .82);
  color: #fff;
  font-size: .85rem;
  font-weight: 900;
}
.product-detail-thumbnails{
  display: flex;
  gap: .6rem;
  overflow-x: auto;
  padding: .75rem .1rem .15rem;
  scrollbar-width: thin;
}
.product-detail-thumbnails:empty{ display: none; }
.product-detail-thumbnails button{
  flex: 0 0 92px;
  padding: 3px;
  border: 2px solid transparent;
  border-radius: 11px;
  background: transparent;
  cursor: pointer;
}
.product-detail-thumbnails button.is-active{
  border-color: var(--primary);
  background: rgba(0,229,255,.1);
}
.product-detail-thumbnails img{
  display: block;
  width: 100%;
  height: 68px;
  object-fit: cover;
  border-radius: 7px;
}
.product-detail-content{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .8rem;
  padding: clamp(1.25rem, 3vw, 2.2rem);
  padding-top: 4.8rem;
}
.product-detail-content h2{
  margin: 0;
  color: var(--text);
  font-size: clamp(1.65rem, 3vw, 2.55rem);
  line-height: 1.12;
}
.product-detail-price{
  color: var(--primary);
  font-size: clamp(1.65rem, 3vw, 2.15rem);
  font-weight: 950;
}
.product-detail-description{
  width: 100%;
  color: var(--text-soft, var(--text));
  line-height: 1.72;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.product-detail-call{ margin-top: auto; }
body.product-modal-open{
  overflow: hidden;
  touch-action: none;
}

@media (max-width: 850px){
  .product-detail-modal{ padding: 0; }
  .product-detail-dialog{
    width: 100%;
    max-height: 100dvh;
    min-height: 100dvh;
    border: 0;
    border-radius: 0;
  }
  .product-detail-layout{
    grid-template-columns: 1fr;
    min-height: 100dvh;
  }
  .product-detail-gallery{
    padding: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(148,163,184,.18);
  }
  .product-detail-stage,
  .product-detail-stage > img{
    min-height: 48dvh;
    height: 48dvh;
    border-radius: 0;
  }
  .product-detail-thumbnails{ padding: .6rem .75rem; }
  .product-detail-content{ padding: 1.25rem; padding-bottom: 2rem; }
  .product-detail-close{ position: fixed; top: max(.7rem, env(safe-area-inset-top)); right: .7rem; }
}

@media (max-width: 520px){
  .store-product-card-footer{ align-items: flex-start; flex-direction: column; gap: .45rem; }
  .store-product-excerpt{ min-height: 0; }
  .product-detail-arrow{ width: 42px; height: 58px; font-size: 2rem; }
  .product-detail-prev{ left: .35rem; }
  .product-detail-next{ right: .35rem; }
  .product-detail-thumbnails button{ flex-basis: 78px; }
  .product-detail-thumbnails img{ height: 58px; }
}

@media (prefers-reduced-motion: reduce){
  .store-product-cover img{ transition: none; }
}

/* ELFIX 4.9 — modernesnis administravimo skydelis ir nuotraukų sekos valdymas */





















































.product-image-tile{
  position: relative;
  min-width: 0;
  padding: .55rem;
  border: 1px solid rgba(148, 163, 184, .17);
  border-radius: 15px;
  background: rgba(3, 11, 25, .67);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
  transition: border-color .18s ease, transform .18s ease, opacity .18s ease, box-shadow .18s ease;
}
.product-image-tile:hover{ border-color: rgba(34, 211, 238, .35); transform: translateY(-1px); }
.product-image-tile.is-primary{ border-color: rgba(34, 211, 238, .5); box-shadow: 0 0 0 1px rgba(34,211,238,.08), 0 14px 34px rgba(0,0,0,.16); }
.product-image-tile.is-dragging{ opacity: .45; transform: scale(.97); }
.product-image-tile.is-drag-target{ border-color: #67e8f9; box-shadow: 0 0 0 3px rgba(34, 211, 238, .13); }
.product-image-tile.has-error{ border-color: rgba(248, 113, 113, .55); }
.product-image-order{
  position: absolute;
  z-index: 2;
  top: .85rem;
  left: .85rem;
  display: flex;
  align-items: center;
  gap: .35rem;
  pointer-events: none;
}
.product-image-order > span{
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #06101f;
  border-radius: 9px;
  background: #67e8f9;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .3);
  font-size: .74rem;
  font-weight: 950;
}
.product-image-order b,
.product-image-order small{
  padding: .23rem .45rem;
  color: #f7fdff;
  border-radius: 999px;
  background: rgba(3, 9, 22, .82);
  box-shadow: 0 4px 14px rgba(0,0,0,.25);
  font-size: .65rem;
}
.product-image-order b{ color: #90f4ff; }
.product-image-view{
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 11px;
  background: #020713;
  cursor: zoom-in;
}
.product-image-tile .product-image-view img{
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0;
  transition: transform .22s ease;
}
.product-image-view:hover img{ transform: scale(1.025); }
.product-image-copy{ display: grid; gap: .05rem; min-width: 0; padding: .58rem .15rem .42rem; }
.product-image-copy strong{ overflow: hidden; color: #dfeaf6; font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.product-image-copy small{ color: #71839b; font-size: .66rem; }
.product-image-actions{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px 34px 34px;
  gap: .35rem;
}




















.shop-category-manager{ margin-bottom: 0; }

.shop-categories-list{ display: grid; max-height: 250px; overflow: auto; padding-right: .2rem; }
.shop-category-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-height: 52px;
  padding: .55rem .15rem;
  border-bottom: 1px solid rgba(148, 163, 184, .12);
}
.shop-category-row > span{ display: grid; gap: .05rem; min-width: 0; }
.shop-category-row strong{ overflow-wrap: anywhere; color: #dce8f4; font-size: .82rem; }
.shop-category-row small{ color: #718299; font-size: .67rem; }





























@media (max-width: 760px){
  
  
  
  
  
  
  
  
  .product-image-tile{ padding: .4rem; }
  .product-image-actions{ grid-template-columns: 1fr 31px 31px 31px; gap: .25rem; }
  
  
  
  
  
  
  
  
  
}
@media (max-width: 560px){
  
  
  
  
  .product-image-tile .product-image-view img{ aspect-ratio: 16 / 10; }
  
  
  
  
  
  
  
}
@media (prefers-reduced-motion: reduce){
  .product-image-tile,
  .product-image-view img,
  .admin-product-item,
  .admin-product-upload-zone{ transition: none; }
}

/* ELFIX 4.9.1 — patogesnis išdėstymas įprastuose nešiojamųjų kompiuterių ekranuose */



/* ELFIX 5.0 — kompiuterių specifikacijos parduotuvėje */
.admin-computer-specs[hidden],
.admin-product-form [data-spec-for][hidden],
#product-form [data-spec-for][hidden]{
  display: none !important;
}







.store-product-labels{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem;
}
.store-condition-label{
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: .25rem .58rem;
  border: 1px solid rgba(52, 211, 153, .28);
  border-radius: 999px;
  background: rgba(52, 211, 153, .1);
  color: #a7f3d0;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .025em;
}
.store-product-spec-chips{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
  margin: .15rem 0 .25rem;
}
.store-product-spec-chips > span{
  display: grid;
  min-width: 0;
  gap: .08rem;
  padding: .55rem .62rem;
  border: 1px solid rgba(0, 229, 255, .13);
  border-radius: 10px;
  background: rgba(0, 229, 255, .045);
}
.store-product-spec-chips small{
  color: var(--muted, #8492a6);
  font-size: .63rem;
  font-weight: 750;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.store-product-spec-chips strong{
  overflow: hidden;
  color: var(--text, #f4f7fb);
  font-size: .76rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-detail-specs{
  display: grid;
  width: 100%;
  gap: .75rem;
}
.product-detail-specs[hidden]{
  display: none !important;
}
.product-detail-spec-group{
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .15);
  border-radius: 14px;
  background: rgba(15, 23, 42, .44);
}
.product-detail-spec-group h3,
.product-detail-description-block h3{
  margin: 0;
  color: var(--text, #f4f7fb);
  font-size: .9rem;
  line-height: 1.35;
}
.product-detail-spec-group h3{
  padding: .72rem .85rem;
  border-bottom: 1px solid rgba(148, 163, 184, .12);
  background: rgba(255, 255, 255, .025);
}
.product-detail-spec-group dl{
  display: grid;
  margin: 0;
}
.product-detail-spec-group dl > div{
  display: grid;
  grid-template-columns: minmax(125px, .8fr) minmax(0, 1.2fr);
  gap: .75rem;
  padding: .63rem .85rem;
  border-bottom: 1px solid rgba(148, 163, 184, .09);
}
.product-detail-spec-group dl > div:last-child{
  border-bottom: 0;
}
.product-detail-spec-group dt{
  color: #8da0b8;
  font-size: .75rem;
  font-weight: 750;
  line-height: 1.45;
}
.product-detail-spec-group dd{
  min-width: 0;
  margin: 0;
  color: #e5f5fa;
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.5;
  overflow-wrap: anywhere;
  white-space: pre-line;
}
.product-detail-description-block{
  display: grid;
  width: 100%;
  gap: .55rem;
  padding-top: .15rem;
}

@media (max-width: 680px){
  
  .store-product-spec-chips{
    grid-template-columns: 1fr;
  }
  .product-detail-spec-group dl > div{
    grid-template-columns: 1fr;
    gap: .18rem;
    padding: .68rem .78rem;
  }
  .product-detail-spec-group dt{
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .035em;
  }
}

/* ELFIX 5.1 — paprastesnis parduotuvės administravimas */





























































/* ELFIX 5.1.1 — dar mažiau triukšmo prekės redaktoriuje */





/* ELFIX 5.2 — patogi pagrindinių remonto kategorijų administravimo skiltis */

















































#category-list-message:empty{ display: none; }
























































/* ELFIX 5.3 – patikimas kategorijų nuotraukų ir tekstų valdymas */






















/* ELFIX 5.3.1 – mobiliojo kategorijų redaktoriaus pataisymai */

/* ELFIX 5.5 — kainos skaičiuoklės saugus fallback */
.travel-price-preview[data-state="warning"]{
  border-color:rgba(34,211,238,.38);
  background:linear-gradient(135deg,rgba(8,47,73,.42),rgba(6,11,25,.72));
}
.travel-price-preview[data-state="warning"] .travel-price-preview-status,
.travel-price-preview[data-state="warning"] .travel-price-preview-amount{color:#67e8f9;}
