/* ==========================================================================
   KRASTA 89 — publiskā mājaslapa
   ========================================================================== */

/* ---------- Galvene ---------- */
.site-header {
  position: sticky; top: env(safe-area-inset-top, 0px); z-index: var(--z-header);
  background: var(--c-surface); border-bottom: 1px solid var(--c-border);
}
body.site::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 10; background: var(--c-surface); }
.site-header__bar { display: flex; align-items: center; gap: var(--s-3); min-height: 4rem; }
.site-header__brand { display: flex; flex-direction: column; gap: 2px; text-decoration: none; color: var(--c-text); margin-right: auto; }
.site-header__brand small { white-space: nowrap; font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-text-muted); font-weight: var(--fw-semibold); line-height: 1; }
.site-nav { display: none; }
.site-nav ul { display: flex; gap: var(--s-1); list-style: none; padding: 0; }
.site-nav a { display: inline-flex; align-items: center; min-height: var(--tap); padding: 0 var(--s-3); color: var(--c-text); font-weight: var(--fw-semibold); text-decoration: none; border-radius: var(--r-2); }
.site-nav a:hover { background: var(--c-surface-2); }
.site-nav a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--c-accent); border-radius: 0; }
.site-header__phone { display: none; font-weight: var(--fw-bold); font-variant-numeric: tabular-nums; color: var(--c-text); text-decoration: none; white-space: nowrap; gap: var(--s-2); align-items: center; }
.site-header__phone:hover { color: var(--c-primary); }
.site-header__cta { display: none; }
.site-header .btn--icon { --btn-bd: transparent; }
@media (min-width: 64rem) {
  .site-nav { display: block; }
  .site-header__phone, .site-header__cta { display: inline-flex; }
  .site-header .menu-toggle, .site-header .call-icon { display: none; }
}

/* Mobilā izvēlne */
.mobile-menu { position: fixed; inset: 0; z-index: var(--z-menu); background: var(--c-surface); display: flex; flex-direction: column; overflow-y: auto; padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); }
.mobile-menu__top { display: flex; align-items: center; justify-content: space-between; min-height: 4rem; border-bottom: 1px solid var(--c-border); }
.mobile-menu nav ul { list-style: none; padding: 0; }
.mobile-menu nav a { display: flex; align-items: center; justify-content: space-between; min-height: 3.5rem; border-bottom: 1px solid var(--c-border); font-size: var(--fs-lg); font-weight: var(--fw-bold); font-stretch: var(--stretch-display); color: var(--c-text); text-decoration: none; }
.mobile-menu nav a[aria-current="page"] { color: var(--c-primary); }
.mobile-menu__actions { display: flex; flex-direction: column; gap: var(--s-3); padding-block: var(--s-5); }
body.menu-open { overflow: hidden; }

/* Fiksētā darbību josla telefonā */
.action-bar { position: fixed; z-index: var(--z-header); left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr; gap: var(--s-2); padding: var(--s-2) max(12px, env(safe-area-inset-right, 0px)) calc(var(--s-2) + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); background: var(--c-surface); border-top: 1px solid var(--c-border); box-shadow: 0 -4px 16px rgb(0 0 0 / 0.08); }
body.has-action-bar { padding-bottom: 5rem; }
@media (min-width: 64rem) { .action-bar { display: none; } body.has-action-bar { padding-bottom: 0; } }

/* ---------- Varonis (hero) ---------- */
.hero { background: var(--c-surface-inverse); color: #FFFFFF; position: relative; overflow: hidden; }
.hero::after { /* ūdenslīnija — horizonts zem virsraksta */
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px;
  background: repeating-linear-gradient(90deg, var(--brand-signal-500) 0 48px, transparent 48px 56px);
}
.hero__inner { display: grid; gap: var(--s-6); padding-block: var(--s-7) var(--s-8); }
@media (min-width: 60rem) { .hero__inner { grid-template-columns: 1.25fr 1fr; align-items: center; padding-block: var(--s-8) var(--s-9); } }
.hero h1 { font-size: var(--fs-3xl); text-transform: uppercase; font-stretch: 72%; line-height: 0.98; letter-spacing: 0; }
.hero h1 em { font-style: normal; color: var(--brand-signal-400); }
.hero .lead { color: #C9D6E1; }
.hero .eyebrow { color: var(--brand-signal-400); }
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--s-3); }
.hero .btn--outline { --btn-bg: transparent; --btn-fg: #FFFFFF; --btn-bd: rgb(255 255 255 / 0.5); }
.hero .btn--outline:hover { --btn-bd: #FFFFFF; color: #FFFFFF; }
.hero .btn:focus-visible { outline-color: var(--brand-signal-400); }

/* ---------- Tipa plāksnīte — zīmola motīvs (dzinēja datu plāksne) ---------- */
.plate {
  --plate-bg: #E3E8EC; --plate-fg: #16202A; --plate-line: #9AA6B1;
  position: relative; background: var(--plate-bg); color: var(--plate-fg);
  border-radius: var(--r-2); padding: var(--s-5) var(--s-5) var(--s-4);
  box-shadow: inset 0 0 0 1px var(--plate-line), inset 0 0 0 5px var(--plate-bg), inset 0 0 0 6px var(--plate-line), var(--shadow-2);
  font-size: var(--fs-sm);
}
.plate::before, .plate::after { /* kniedes */
  content: ""; position: absolute; top: 12px; width: 9px; height: 9px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #FFFFFF, #8A96A1 70%);
}
.plate::before { left: 12px; } .plate::after { right: 12px; }
.plate__title { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-3); padding: 0 var(--s-4) var(--s-3); border-bottom: 2px solid var(--plate-fg); font-weight: var(--fw-black); font-stretch: 72%; text-transform: uppercase; letter-spacing: 0.04em; font-size: var(--fs-md); }
.plate__rows { display: grid; grid-template-columns: max-content 1fr; }
.plate__rows > * { padding: var(--s-2) 0; border-bottom: 1px solid var(--plate-line); }
.plate__rows dt { padding-right: var(--s-4); font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: var(--tracking-caps); font-weight: var(--fw-semibold); color: #4B5866; }
.plate__rows dd { margin: 0; font-weight: var(--fw-semibold); min-width: 0; }
.plate__rows .mono { font-size: var(--fs-sm); }
.plate__foot { display: flex; justify-content: space-between; gap: var(--s-3); padding-top: var(--s-3); font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: var(--tracking-caps); color: #4B5866; }

/* ---------- Ātrās darbības zem hero ---------- */
.quick { margin-top: calc(-1 * var(--s-6)); position: relative; z-index: 1; }
.quick__grid { display: grid; gap: var(--s-3); grid-template-columns: 1fr; }
@media (min-width: 40rem) { .quick__grid { grid-template-columns: repeat(3, 1fr); } }
.quick__item { display: grid; grid-template-columns: auto 1fr auto; gap: var(--s-3); align-items: center; padding: var(--s-4) var(--s-5); min-height: 5rem; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--r-3); box-shadow: var(--shadow-2); color: var(--c-text); text-decoration: none; }
.quick__item:hover { border-color: var(--c-primary); color: var(--c-text); }
.quick__item strong { display: block; font-size: var(--fs-md); font-stretch: 85%; }
.quick__item span { font-size: var(--fs-sm); color: var(--c-text-muted); }
.quick__item > .icon:first-child { width: 2rem; height: 2rem; color: var(--c-primary); }
.quick__item--accent { background: var(--c-accent); border-color: var(--c-accent); }
.quick__item--accent, .quick__item--accent span { color: var(--c-on-accent); }
.quick__item--accent > .icon:first-child { color: var(--c-on-accent); }
.quick__item--accent:hover { border-color: var(--c-text); }

/* ---------- Sekcijas galva ---------- */
.section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: var(--s-3) var(--s-5); margin-bottom: var(--s-5); }
.section-head > div { display: flex; flex-direction: column; gap: var(--s-2); max-width: var(--measure); }

/* ---------- Pakalpojumu kartītes ---------- */
.service-card { padding: 0; overflow: hidden; }
.service-card .ph { border-radius: 0; --ar: 16 / 10; }
.service-card .card__body { gap: var(--s-2); }
.service-card ul { padding-left: 1.1em; font-size: var(--fs-sm); color: var(--c-text-muted); }

/* ---------- Oficiālais serviss (zīmolu bloks) ---------- */
.official { background: var(--c-surface); border-block: 1px solid var(--c-border); }
.official__grid { display: grid; gap: var(--s-5); }
@media (min-width: 60rem) { .official__grid { grid-template-columns: 1fr 1.6fr; align-items: center; } }
.brands { display: grid; gap: var(--s-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
.brand-tile { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-4); border: 1px solid var(--c-border); border-radius: var(--r-3); background: var(--c-bg); }
/* Ražotāju logo vienmēr uz balta laukuma (arī tumšajā režīmā), oriģinālajās krāsās */
.brand-tile__logo { display: grid; place-items: center; height: 5rem; border-radius: var(--r-2); background: #FFFFFF; border: 1px solid var(--c-border); padding: var(--s-3) var(--s-4); }
.brand-tile__logo img { max-height: 2.25rem; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.brand-tile strong { font-size: var(--fs-md); }
.brand-tile span { font-size: var(--fs-sm); color: var(--c-text-muted); }

/* ---------- Sertifikātu josla ---------- */
.cert-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(9rem, 1fr); gap: var(--s-3); overflow-x: auto; padding-bottom: var(--s-2); scroll-snap-type: x mandatory; }
.cert-strip > * { scroll-snap-align: start; }
.cert-thumb { text-decoration: none; cursor: pointer; display: flex; flex-direction: column; gap: var(--s-2); background: none; border: 0; padding: 0; text-align: left; color: var(--c-text); }
.cert-thumb .ph { --ar: 3 / 4; border: 1px solid var(--c-border); transition: border-color var(--dur-fast) var(--ease); }
.cert-thumb:hover .ph { border-color: var(--c-primary); }
.cert-thumb strong { font-size: var(--fs-sm); line-height: var(--lh-snug); }
.cert-thumb span { font-size: var(--fs-xs); color: var(--c-text-muted); }

/* ---------- Bloga kartītes ---------- */
.post-card { padding: 0; overflow: hidden; }
.post-card .ph { border-radius: 0; --ar: 16 / 9; }
.post-card .card__title { font-size: var(--fs-md); line-height: var(--lh-snug); }
.post-card p { font-size: var(--fs-sm); color: var(--c-text-muted); }

/* ---------- Kontakti + karte ---------- */
.contact-grid { display: grid; gap: var(--s-5); }
@media (min-width: 60rem) { .contact-grid { grid-template-columns: 1fr 1.3fr; } }
.contact-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: var(--s-3); }
.contact-list li { display: grid; grid-template-columns: 2.5rem 1fr; gap: var(--s-3); align-items: start; }
.contact-list .icon { width: 2.5rem; height: 2.5rem; padding: 0.55rem; border-radius: var(--r-2); background: var(--c-primary-soft); color: var(--c-primary); }
.contact-list a.big { font-size: var(--fs-lg); font-weight: var(--fw-bold); font-variant-numeric: tabular-nums; text-decoration: none; color: var(--c-text); }
.contact-list small { display: block; color: var(--c-text-muted); }
.hours { width: 100%; font-size: var(--fs-sm); border-collapse: collapse; }
.hours th, .hours td { padding: var(--s-1) 0; text-align: left; border-bottom: 1px solid var(--c-border); }
.hours td { text-align: right; font-variant-numeric: tabular-nums; }

/* ---------- „Zvani pirms brauc” — pieteikšanās tikai pa tālruni ---------- */
.call-first { display: grid; gap: var(--s-6); padding: var(--s-6) var(--s-5); border-radius: var(--r-3); background: var(--c-surface); border: 2px solid var(--c-accent); box-shadow: var(--shadow-2); }
@media (min-width: 60rem) { .call-first { grid-template-columns: 1.2fr 1fr; align-items: center; padding: var(--s-7) var(--s-7); } }
.call-first > * { min-width: 0; }
.call-first h2 { font-size: var(--fs-2xl); text-transform: uppercase; font-stretch: 72%; }
.call-first__number { display: inline-flex; align-items: center; gap: var(--s-3); align-self: flex-start; max-width: 100%; min-height: 4rem; padding: var(--s-3) var(--s-5); border-radius: var(--r-2); background: var(--c-accent); color: var(--c-on-accent); text-decoration: none; font-size: var(--fs-xl); font-weight: var(--fw-black); font-stretch: 78%; font-variant-numeric: tabular-nums; white-space: nowrap; }
.call-first__number:hover { background: var(--c-accent-hover); color: var(--c-on-accent); }
.call-first__number .icon { width: 1.75rem; height: 1.75rem; }
.call-first__meta { font-size: var(--fs-sm); color: var(--c-text-muted); }
.call-note { font-size: var(--fs-sm); color: var(--c-text-muted); }

/* ---------- Kājene ---------- */
.site-footer { background: var(--brand-graphite-900); color: #C4CED7; padding-block: var(--s-7) var(--s-5); font-size: var(--fs-sm); }
.site-footer a { color: #FFFFFF; }
.site-footer h2 { font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: var(--tracking-caps); color: #FFFFFF; font-stretch: 100%; font-weight: var(--fw-semibold); margin-bottom: var(--s-3); }
.site-footer__grid { display: grid; gap: var(--s-6); grid-template-columns: 1fr; }
@media (min-width: 48rem) { .site-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; } }
.site-footer ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: var(--s-1); }
.site-footer ul a { display: inline-flex; min-height: 32px; align-items: center; text-decoration: none; }
.site-footer ul a:hover { text-decoration: underline; }
.site-footer__legal { margin-top: var(--s-6); padding-top: var(--s-4); border-top: 1px solid #2A3642; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); justify-content: space-between; color: #9AA8B5; }
.site-footer :focus-visible { outline-color: var(--brand-signal-400); }

/* ---------- Lapas galva (iekšlapas) ---------- */
.page-head { background: var(--c-surface); border-bottom: 1px solid var(--c-border); padding-block: var(--s-5) var(--s-6); }
.page-head .container { display: flex; flex-direction: column; gap: var(--s-3); }

/* ---------- Apkopes cenas ---------- */
.price-filter { background: var(--c-bg); padding-block: var(--s-4); border-bottom: 1px solid var(--c-border); }
.price-filter__inner { display: grid; gap: var(--s-3); grid-template-columns: 1fr; align-items: end; }
.price-filter .chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.price-filter .chips .chip { flex: none; }
.price-filter__meta { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); }
@media (min-width: 48rem) {
  .price-filter { position: sticky; top: calc(4rem + env(safe-area-inset-top, 0px)); z-index: 5; }
  .price-filter__inner { grid-template-columns: auto minmax(14rem, 22rem) auto; justify-content: start; gap: var(--s-5); }
  .price-filter .chips .chip { min-height: var(--control-h); }
}
.price-results { display: grid; gap: var(--s-5); padding-block: var(--s-5) var(--s-7); grid-template-columns: repeat(auto-fill, minmax(min(100%, 34rem), 1fr)); align-items: start; }
.price-results > :not(.model-card) { grid-column: 1 / -1; }
.model-card { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--r-3); overflow: hidden; }
.model-card__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-2) var(--s-4); padding: var(--s-4) var(--s-5); background: var(--c-surface-2); border-bottom: 1px solid var(--c-border); }
.model-card__head h2 { font-size: var(--fs-lg); }
.model-card__specs { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-4); font-size: var(--fs-sm); color: var(--c-text-muted); }
.svc-list { list-style: none; padding: 0; }
.svc { display: grid; gap: var(--s-2) var(--s-5); padding: var(--s-4) var(--s-5); border-bottom: 1px solid var(--c-border); grid-template-columns: 1fr auto; }
.svc:last-child { border-bottom: 0; }
.svc__name { font-weight: var(--fw-bold); font-size: var(--fs-md); }
.svc__when { font-size: var(--fs-sm); color: var(--c-text-muted); }
.svc__price { text-align: right; white-space: nowrap; }
.svc__price b { display: block; font-size: var(--fs-xl); font-weight: var(--fw-black); font-stretch: 78%; font-variant-numeric: tabular-nums; line-height: 1; }
.svc__price small { font-size: var(--fs-xs); color: var(--c-text-muted); text-transform: uppercase; letter-spacing: var(--tracking-caps); }
.svc details { grid-column: 1 / -1; }
.svc summary { display: inline-flex; align-items: center; gap: var(--s-2); min-height: var(--tap); cursor: pointer; color: var(--c-primary); font-weight: var(--fw-semibold); font-size: var(--fs-sm); list-style: none; }
.svc summary::-webkit-details-marker { display: none; }
.svc summary .icon { transition: rotate var(--dur) var(--ease); width: 1rem; height: 1rem; }
.svc details[open] summary .icon { rotate: 180deg; }
.svc details ul { columns: 1; padding-left: 1.1em; font-size: var(--fs-sm); display: flex; flex-direction: column; gap: 2px; }
@media (min-width: 48rem) { .svc details ul { display: block; columns: 2; column-gap: var(--s-6); } }
.svc__cta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--s-2); }
.price-note { font-size: var(--fs-sm); color: var(--c-text-muted); }

/* ---------- Pakalpojuma lapa ---------- */
.split { display: grid; gap: var(--s-6); }
@media (min-width: 60rem) { .split { grid-template-columns: 1.6fr 1fr; align-items: start; } .split__aside { position: sticky; top: 5.5rem; } }
.checklist { list-style: none; padding: 0; display: grid; gap: var(--s-2); grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
.checklist li { display: flex; gap: var(--s-2); align-items: flex-start; }
.checklist .icon { color: var(--c-success); margin-top: 0.2rem; }

/* ---------- Bloga raksts (prose) ---------- */
.prose { max-width: var(--measure); display: flex; flex-direction: column; gap: var(--s-4); font-size: var(--fs-md); line-height: 1.65; }
.prose > * { min-width: 0; }
.prose h2 { font-size: var(--fs-xl); margin-top: var(--s-5); scroll-margin-top: 6rem; }
.prose h3 { font-size: var(--fs-lg); margin-top: var(--s-3); }
.prose ul, .prose ol:not(.steps) { padding-left: 1.3em; display: flex; flex-direction: column; gap: var(--s-1); }
.prose li ul { margin-top: var(--s-2); list-style: circle; }
.prose figure { display: flex; flex-direction: column; gap: var(--s-2); }
.prose figcaption { font-size: var(--fs-sm); color: var(--c-text-muted); }
.prose .table-wrap { font-size: var(--fs-sm); }
.prose blockquote { border-left: 4px solid var(--c-accent); padding: var(--s-2) var(--s-4); background: var(--c-surface); font-style: normal; }
.prose .steps { font-size: var(--fs-base); }
.prose .wide { max-width: none; }
.article-meta { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-4); font-size: var(--fs-sm); color: var(--c-text-muted); align-items: center; }
.toc { border: 1px solid var(--c-border); border-radius: var(--r-3); background: var(--c-surface); padding: var(--s-4) var(--s-5); font-size: var(--fs-sm); }
.toc ol { padding-left: 1.2em; display: flex; flex-direction: column; gap: var(--s-1); }
.article-layout { display: grid; gap: var(--s-6); }
@media (min-width: 64rem) { .article-layout { grid-template-columns: minmax(0, 1fr) 16rem; } .article-layout aside { position: sticky; top: 5.5rem; align-self: start; } }

/* ---------- Sertifikātu galerija ---------- */
.gallery { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 10rem), 1fr)); list-style: none; padding: 0; }
@media (min-width: 48rem) { .gallery { grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); } }
.lightbox__img .ph { --ar: 3 / 4; max-height: 75dvh; width: auto; margin-inline: auto; border-radius: var(--r-2); }
.lightbox__nav { display: flex; justify-content: space-between; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-5) var(--s-5); color: #C4CED7; font-size: var(--fs-sm); }

/* ---------- 404 ---------- */
.error-page { padding-block: var(--s-8); }
.error-page__code { font-size: clamp(6rem, 4rem + 12vw, 12rem); font-weight: var(--fw-black); font-stretch: 62%; line-height: 0.85; color: var(--c-primary); font-variant-numeric: tabular-nums; }
.hero__note b { color: #FFFFFF; }
