/* ===========================================================
   BCR — Baltic Conference Rental — prototype stylesheet
   =========================================================== */

:root{
  --c-black:#0B0D10;
  --c-ink:#12151A;
  --c-ink-soft:#181C22;
  --c-orange:#EA560C;
  --c-gold:#F9B700;
  --c-gradient: linear-gradient(120deg, var(--c-orange) 0%, var(--c-gold) 100%);
  --c-slate:#56616B;
  --c-slate-light:#8993A0;
  --c-paper:#F7F8F9;
  --c-paper-dim:#EFF1F3;
  --c-white:#FFFFFF;
  --c-line: rgba(20,24,29,.08);
  --c-line-dark: rgba(255,255,255,.12);

  --font-display:'Clash Display', 'General Sans', system-ui, sans-serif;
  --font-body:'General Sans', system-ui, sans-serif;

  --radius-s:10px;
  --radius-m:18px;
  --radius-l:28px;
  --shadow-s: 0 2px 10px rgba(15,18,22,.06);
  --shadow-m: 0 12px 40px rgba(15,18,22,.10);
  --shadow-glow: 0 20px 60px rgba(242,109,30,.25);

  --container: 1240px;
  --pad: clamp(20px, 5vw, 64px);
}

*,*::before,*::after{ box-sizing:border-box; }
/* Guarantee [hidden] always wins over any author `display` rule on the same selector — by
   default an author stylesheet rule (e.g. `.request-field-row{ display:grid }`) beats the
   user-agent's `[hidden]{ display:none }` regardless of specificity/order, so any element that
   both has a layout `display` rule AND gets toggled via the `hidden` attribute/property
   silently fails to hide. Bit this twice already (wizard nav buttons, then the date/venue
   block) — fixing it globally here instead of chasing each instance. */
[hidden]{ display:none !important; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--c-ink);
  background:var(--c-white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.08;
  margin:0 0 .5em;
  letter-spacing:-.01em;
}
p{ margin:0 0 1em; color:var(--c-slate); line-height:1.65; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; color:inherit; cursor:pointer; appearance:none; -webkit-appearance:none; }

.container{ max-width:var(--container); margin-inline:auto; padding-inline:var(--pad); }
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--c-orange);
}
.eyebrow::before{ content:''; width:18px; height:2px; background:var(--c-gradient); border-radius:2px; }

.section{ padding-block: clamp(64px, 9vw, 120px); position:relative; }
.section--dark{ background:var(--c-black); color:var(--c-white); }
.section--dark p{ color:rgba(255,255,255,.66); }
.section--dim{ background:var(--c-paper); }

.section-head{ max-width:640px; margin-bottom:48px; }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-head h2{ font-size:clamp(1.9rem, 3.2vw, 2.6rem); }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 28px; border-radius:999px; font-weight:600; font-size:.95rem;
  border:1px solid transparent; transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  white-space:nowrap;
}
.btn-primary{ background:var(--c-gradient); color:var(--c-black); box-shadow:var(--shadow-glow); }
.btn-primary:hover{ transform:translateY(-2px) scale(1.02); box-shadow:0 24px 70px rgba(242,109,30,.35); }
.btn-ghost{ background:transparent; border-color:var(--c-line-dark); color:var(--c-white); }
.btn-ghost:hover{ background:rgba(255,255,255,.08); transform:translateY(-2px); }
.btn-outline{ background:transparent; border-color:var(--c-line); color:var(--c-ink); }
.btn-outline:hover{ background:var(--c-ink); border-color:var(--c-ink); color:var(--c-white); transform:translateY(-2px); }
.btn-sm{ padding:10px 20px; font-size:.85rem; }

/* ---------- Header ---------- */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:14px var(--pad);
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  transition:padding .35s ease, border-color .35s ease;
  border-bottom:1px solid transparent;
}
/* The blurred background lives on its own ::before layer, not on
   .site-header itself — backdrop-filter on an element makes IT a
   containing block for any position:fixed descendants, which was
   collapsing the fullscreen mobile nav (a fixed child of this header)
   down to just the header's own ~62px strip the moment the header
   scrolled into its blurred state. Keeping backdrop-filter off the real
   header element avoids that entirely. */
.site-header::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:rgba(11,13,16,.72);
  backdrop-filter:blur(16px) saturate(140%);
  opacity:0; transition:opacity .35s ease;
}
.site-header.is-scrolled{
  border-color:var(--c-line-dark);
  padding-block:10px;
}
.site-header.is-scrolled::before{ opacity:1; }
.logo{ display:flex; align-items:center; gap:10px; }
.logo-img{ height:42px; width:auto; display:block; }
.footer-brand .logo-img{ height:38px; }

.main-nav{ display:flex; align-items:center; gap:32px; }
.main-nav a{
  color:rgba(255,255,255,.82); font-size:.92rem; font-weight:500; position:relative; padding:6px 0;
}
.main-nav a::after{ content:''; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--c-gradient); transition:width .25s ease; }
.main-nav a:hover{ color:var(--c-white); }
.main-nav a:hover::after{ width:100%; }

.header-actions{ display:flex; align-items:center; gap:18px; }
.header-phone{ color:var(--c-white); font-weight:600; font-size:.92rem; display:flex; align-items:center; gap:8px; }
.header-phone svg{ width:16px; height:16px; stroke:var(--c-gold); }

.lang-switcher{ position:relative; }
.lang-switcher-btn{
  display:flex; align-items:center; gap:6px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  border-radius:999px; padding:7px 12px; color:var(--c-white); font-size:.82rem; font-weight:700; cursor:pointer;
  transition:background .2s ease, border-color .2s ease;
}
.lang-switcher-btn:hover{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.3); }
.lang-flag{ font-size:1rem; line-height:1; }
.lang-switcher-menu{
  position:absolute; top:calc(100% + 10px); right:0; background:var(--c-white); border:1px solid var(--c-line);
  border-radius:var(--radius-s); box-shadow:0 20px 45px rgba(15,18,22,.18); padding:6px; min-width:160px;
  opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .2s ease, transform .2s ease, visibility .2s;
  z-index:120;
}
.lang-switcher.is-open .lang-switcher-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.lang-switcher-item{ display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:6px; color:var(--c-ink); font-size:.86rem; font-weight:600; }
.lang-switcher-item:hover{ background:var(--c-paper); }
.lang-switcher-item.is-active{ color:var(--c-orange); }

.nav-toggle{ display:none; background:none; border:0; width:40px; height:40px; align-items:center; justify-content:center; flex-direction:column; }
.nav-toggle span, .nav-toggle::before, .nav-toggle::after{ content:''; display:block; width:22px; height:2px; background:var(--c-white); margin:4px 0; transition:transform .3s ease, opacity .3s ease; }
.nav-toggle.is-active::before{ transform:translateY(6px) rotate(45deg); }
.nav-toggle.is-active::after{ transform:translateY(-6px) rotate(-45deg); }
.nav-toggle.is-active span{ opacity:0; }

/* ---------- Hero (edge-to-edge split: text left, video right) ---------- */
.hero{
  position:relative; min-height:min(100svh, 900px);
  display:flex; align-items:stretch;
  background:var(--c-black); color:var(--c-white); overflow:hidden;
}

.hero-text-zone{
  flex:0 0 clamp(440px, 54%, 760px); min-width:0; position:relative; z-index:3;
  display:flex; flex-direction:column; justify-content:center;
  padding:132px clamp(28px,4vw,72px) 72px clamp(24px,6vw,80px);
}
.hero-text-zone::before{
  content:''; position:absolute; inset:0; opacity:.4; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image: linear-gradient(120deg, black, transparent 75%);
}
.hero-inner{ position:relative; z-index:2; max-width:640px; }
.hero h1{ font-size:clamp(2.3rem, 4.3vw, 3.75rem); margin-bottom:.4em; font-weight:600; }
.hero h1 .accent{ background:var(--c-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-lede{ font-size:1.1rem; color:rgba(255,255,255,.72); max-width:520px; margin-bottom:1.8em; }
.hero-cta-row{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:44px; }
.hero-stats{ display:flex; gap:clamp(20px,3vw,44px); flex-wrap:wrap; }
.hero-stat b{ display:block; font-family:var(--font-display); font-size:clamp(1.5rem,2.2vw,1.9rem); background:var(--c-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-stat span{ font-size:.8rem; color:rgba(255,255,255,.55); }

/* -- full-bleed video background (sits behind the whole hero, text zone is transparent
      on top of it — a single continuous scrim gradient handles legibility instead of a
      hard-edged split between two separately-colored zones) -- */
.hero-video-zone{ overflow:hidden; background:#15100c; display:none; }
.hero-video-media{
  position:absolute; inset:0; z-index:1;
  width:100%; height:100%; object-fit:cover;
}
.hero-video-zone::after{
  /* animated backdrop: visible for an instant before the video paints its first frame, and
     doubles as the graceful fallback (see .video-failed below) if playback fails entirely. */
  content:''; position:absolute; inset:-10%; width:120%; height:120%; z-index:0;
  background:
    radial-gradient(38% 42% at 28% 30%, rgba(234,86,12,.85), transparent 62%),
    radial-gradient(46% 50% at 78% 66%, rgba(249,183,0,.65), transparent 65%),
    radial-gradient(60% 60% at 60% 15%, rgba(234,86,12,.35), transparent 70%),
    #120d0a;
  animation:heroDrift 16s ease-in-out infinite alternate;
}
@keyframes heroDrift{
  0%{ transform:scale(1) translate(0,0); }
  100%{ transform:scale(1.08) translate(-2%, -1.5%); }
}
.hero-video-zone.video-failed .hero-video-media{ display:none; }
.hero-video-yt-wrap{ z-index:1; }
.hero-video-tint{
  position:absolute; inset:0; z-index:2;
  background:linear-gradient(155deg, rgba(234,86,12,.4), rgba(249,183,0,.22) 55%, rgba(11,13,16,.55));
  mix-blend-mode:multiply; pointer-events:none;
}
.hero-video-noise{
  position:absolute; inset:0; z-index:3; opacity:.12; pointer-events:none; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero-video-fade{
  position:absolute; inset:0; z-index:4; pointer-events:none;
  /* one continuous scrim across the FULL hero width (video-zone is full-bleed now) — dark
     enough behind the text column for legibility, then a long smooth fade with no hard stop
     so there's no visible seam between "text area" and "video area". */
  background:linear-gradient(90deg,
    rgba(11,13,16,.92) 0%, rgba(11,13,16,.86) 22%, rgba(11,13,16,.68) 38%,
    rgba(11,13,16,.42) 50%, rgba(11,13,16,.2) 62%, rgba(11,13,16,.06) 74%, rgba(11,13,16,0) 86%);
}
.hero-video-caption{
  position:absolute; left:28px; bottom:28px; z-index:5;
  font-size:.72rem; color:rgba(255,255,255,.55); letter-spacing:.04em;
  display:flex; align-items:center; gap:8px;
}
.hero-video-caption .rec{ width:7px; height:7px; border-radius:50%; background:var(--c-gold); box-shadow:0 0 0 0 rgba(249,183,0,.6); animation:recpulse 2s infinite; }
@keyframes recpulse{ 0%{box-shadow:0 0 0 0 rgba(249,183,0,.55);} 70%{box-shadow:0 0 0 8px rgba(249,183,0,0);} 100%{box-shadow:0 0 0 0 rgba(249,183,0,0);} }

.scroll-cue{ position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.7); font-size:.78rem; z-index:5; pointer-events:none; }
.scroll-cue .line{ width:1px; height:36px; background:linear-gradient(var(--c-gold), transparent); animation:scrollcue 2s ease-in-out infinite; }
@keyframes scrollcue{ 0%{transform:scaleY(0); transform-origin:top;} 50%{transform:scaleY(1); transform-origin:top;} 51%{transform-origin:bottom;} 100%{transform:scaleY(0); transform-origin:bottom;} }

@media (min-width:961px){
  .hero-video-zone{ display:block; position:absolute; inset:0; z-index:0; }
  /* extra height + negative offset gives the scroll-parallax tween (script.js) room to
     translate the video without ever exposing the zone's own edge underneath it */
  .hero-video-media{ height:130%; top:-15%; }
}
@media (max-width:960px){
  .hero{ flex-direction:column; min-height:0; }
  .hero-text-zone{ padding:118px 20px 40px; }
  .hero-video-zone{ display:block; position:relative; height:46vh; min-height:280px; }
  /* the source clip has a large dead-black band along the bottom of every frame (empty
     stage floor) — on this narrow mobile crop, cover's default center position pulls in
     a lot of that black band, so bias the crop upward to keep the actual subject in frame. */
  .hero-video-media{ object-position:center 20%; }
  .hero-video-fade{ background:linear-gradient(180deg, var(--c-black) 0%, rgba(11,13,16,.6) 22%, rgba(11,13,16,0) 60%); }
  .scroll-cue{ display:none; }
}

/* ---------- Trust bar ---------- */
.trust-bar{ padding-block:40px; border-top:1px solid var(--c-line); border-bottom:1px solid var(--c-line); }
.trust-inner{ display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.trust-badge{ display:flex; align-items:center; gap:10px; font-size:.85rem; font-weight:600; color:var(--c-slate); white-space:nowrap; }
.trust-badge .dot{ width:8px; height:8px; border-radius:50%; background:var(--c-gradient); }
/* infinite CSS-only marquee — two identical copies of the logo set back to back in one
   flex track, translated by exactly -50% of its own width so the loop point is seamless;
   pauses on hover (:hover on the viewport, not the track, so hovering one logo doesn't
   restart the pause/resume transition for its neighbors). No JS needed. */
.trust-logos-marquee{
  flex:1 1 auto; min-width:0; overflow:hidden;
  mask-image:linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image:linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
}
.trust-logos-track{
  display:flex; align-items:center; gap:clamp(20px,4vw,48px); width:max-content;
  animation:trustMarquee 26s linear infinite;
}
.trust-logos-marquee:hover .trust-logos-track{ animation-play-state:paused; }
.trust-logos-track span{ font-family:var(--font-display); font-weight:700; font-size:1.05rem; color:var(--c-slate-light); letter-spacing:.02em; transition:color .25s ease; white-space:nowrap; }
.trust-logos-track span:hover{ color:var(--c-ink); }
@keyframes trustMarquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .trust-logos-track{ animation:none; } }

/* ---------- Services ---------- */
.services-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
.service-card{
  position:relative; background:var(--c-white); border:1px solid var(--c-line); border-radius:var(--radius-m);
  padding:32px 28px; transition:box-shadow .3s ease, border-color .3s ease;
  display:flex; flex-direction:column; gap:14px; will-change:transform;
}
.service-card:hover{ box-shadow:var(--shadow-m); border-color:transparent; }
/* transform transition is added/removed by JS (script.js) only around the mouseleave
   reset — during mousemove tracking it stays untransitioned so the tilt follows the
   cursor instantly instead of feeling laggy/smoothed. */
.service-card.is-tilt-resetting{ transition:transform .35s cubic-bezier(.16,.84,.44,1), box-shadow .3s ease, border-color .3s ease; }
.service-icon{
  width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:var(--c-gradient); color:var(--c-black);
}
.service-icon svg{ width:26px; height:26px; }
.service-card h3{ font-size:1.15rem; }
.service-card p{ font-size:.92rem; margin-bottom:.4em; flex:1; }
.service-link{ font-size:.85rem; font-weight:600; color:var(--c-orange); display:inline-flex; align-items:center; gap:6px; }
/* "stretched link" — expands the link's clickable area to cover the whole card (icon,
   title, description included), so the entire card is clickable, not just this line of
   text. Can't wrap the whole card in a real <a> (nested anchors aren't valid HTML), so
   this pseudo-element does the same job without changing the markup structure. Deliberately
   NOT setting position:relative on .service-link itself — that would make the link its
   own positioning context, so `inset:0` would only fill the link's own small text-line
   box instead of stretching to the card. .service-card is already position:relative,
   so leaving .service-link as position:static lets `inset:0` resolve against the card. */
.service-link::after{ content:''; position:absolute; inset:0; z-index:1; }
.service-link svg{ width:14px; height:14px; transition:transform .25s ease; }
.service-card:hover .service-link svg{ transform:translateX(4px); }

/* ---------- Stats / why ---------- */
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.stat-card{ text-align:center; padding:28px 12px; border-radius:var(--radius-m); background:var(--c-ink-soft); border:1px solid var(--c-line-dark); transition:transform .3s cubic-bezier(.16,.84,.44,1), border-color .3s ease; }
.stat-card:hover{ transform:translateY(-4px); border-color:var(--c-orange); }
.stat-card b{ display:block; font-family:var(--font-display); font-size:clamp(2rem,3.4vw,2.8rem); background:var(--c-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat-card span{ font-size:.85rem; color:rgba(255,255,255,.6); }

/* ---------- Process ---------- */
.process-track{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; padding-top:8px; }
.process-track--3{ grid-template-columns:repeat(3,1fr); }
.process-line{ position:absolute; top:38px; left:6%; width:88%; height:2px; overflow:visible; z-index:0; }
.process-line-bg{ stroke:var(--c-line); stroke-width:2; }
.process-line-fg{
  stroke:url(#g1); stroke-width:2;
  stroke-dasharray:1000; stroke-dashoffset:1000;
}
.process-step{ position:relative; z-index:1; padding-inline:16px; }
.process-num{
  width:76px; height:76px; border-radius:50%; background:var(--c-gradient);
  display:flex; align-items:center; justify-content:center; color:var(--c-black);
  margin-bottom:22px; box-shadow:0 10px 26px rgba(234,86,12,.28);
}
.process-num svg{ width:32px; height:32px; }
.process-step-no{
  display:block; font-family:var(--font-display); font-weight:700; font-size:.78rem;
  color:var(--c-orange); letter-spacing:.06em; margin-bottom:6px;
}
.process-step h3{ font-size:1.1rem; }
.process-step p{ font-size:.9rem; }


/* ---------- Testimonials ---------- */
.testi-track{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.testi-card{ background:var(--c-paper); border-radius:var(--radius-m); padding:32px; border:1px solid var(--c-line); transition:transform .3s cubic-bezier(.16,.84,.44,1), box-shadow .3s ease; }
.testi-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-m); }
.testi-quote{ font-size:1.02rem; color:var(--c-ink); margin-bottom:20px; }
.testi-who{ display:flex; align-items:center; gap:12px; }
.testi-avatar{ width:42px; height:42px; border-radius:50%; background:var(--c-gradient); display:flex; align-items:center; justify-content:center; color:var(--c-black); font-weight:700; font-family:var(--font-display); }
.testi-name{ font-weight:600; font-size:.9rem; }
.testi-role{ font-size:.78rem; color:var(--c-slate-light); }

/* ---------- Blog (also reused as generic "photo card" grid on service pages —
      e.g. Tour Guide's usage-scenario and equipment cards — same dark-gradient
      placeholder + caption convention, just h3/p in the body instead of cat/meta) ---------- */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.blog-grid--2{ grid-template-columns:repeat(2,1fr); max-width:820px; margin-inline:auto; }
.blog-card{ border-radius:var(--radius-m); overflow:hidden; border:1px solid var(--c-line); background:var(--c-white); transition:transform .3s ease, box-shadow .3s ease; }
.blog-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-m); }
.blog-thumb{ aspect-ratio:16/10; background:linear-gradient(135deg,#20242b,#12151a); position:relative; }
.blog-thumb::after{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 30%, rgba(242,109,30,.35), transparent 60%); }
.blog-thumb .gallery-item-caption{ font-size:.68rem; }
.blog-body{ padding:22px; }
.blog-cat{ font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700; color:var(--c-orange); }
.blog-body h3{ font-size:1.02rem; margin-block:.5em; }
.blog-body p{ font-size:.88rem; margin-bottom:0; }
.blog-meta{ font-size:.78rem; color:var(--c-slate-light); }

/* ---------- Info callout (advisory note — noticeable but not alarming: gold accent,
      not a red/error warning) ---------- */
.info-callout{
  display:flex; gap:20px; align-items:flex-start; max-width:900px; margin-inline:auto;
  background:linear-gradient(135deg, rgba(249,183,0,.1), rgba(234,86,12,.04));
  border:1px solid rgba(249,183,0,.35); border-left:4px solid var(--c-gold);
  border-radius:var(--radius-l); padding:clamp(24px,3vw,36px);
}
.info-callout-icon{
  width:44px; height:44px; border-radius:50%; flex:none;
  background:var(--c-gold); color:var(--c-black);
  display:flex; align-items:center; justify-content:center;
}
.info-callout-icon svg{ width:22px; height:22px; }
.info-callout-body h3{ font-size:1.15rem; margin-bottom:.7em; }
.info-callout-points{ display:flex; flex-direction:column; gap:14px; }
.info-callout-points b{ display:block; font-size:.92rem; color:var(--c-ink); margin-bottom:.3em; }
.info-callout-points p{ font-size:.9rem; margin-bottom:0; }
@media (max-width:640px){
  .blog-grid--2{ grid-template-columns:1fr; }
  .info-callout{ flex-direction:column; }
}

/* ---------- FAQ + CTA: one horizontal block, FAQ left / CTA right ---------- */
.faq-cta-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:stretch; }
.faq-col .section-head{ margin-bottom:32px; }

.cta-col{ display:flex; }
.cta-block{
  border-radius:var(--radius-l); background:var(--c-black); color:var(--c-white);
  padding:clamp(32px,3vw,44px);
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; justify-content:center; gap:28px;
  width:100%;
  box-shadow:0 24px 60px rgba(15,18,22,.22);
}
.cta-block::before{ content:''; position:absolute; inset:0; background:radial-gradient(500px 320px at 100% 0%, rgba(234,86,12,.4), transparent 65%); }
.cta-content{ position:relative; z-index:1; display:flex; flex-direction:column; gap:24px; }
.cta-block h2{ font-size:clamp(1.5rem,2vw,1.8rem); max-width:none; margin:0; }
.cta-block .actions{ display:flex; flex-direction:column; gap:12px; }
.cta-block .actions .btn{ width:100%; }
.cta-wave{ position:absolute; right:-10px; bottom:-6px; width:220px; height:88px; opacity:.5; pointer-events:none; }

/* ---------- FAQ ---------- */
.faq-list{ display:flex; flex-direction:column; gap:12px; }
.faq-item{ border:1px solid var(--c-line); border-radius:var(--radius-m); overflow:hidden; background:var(--c-white); }
.faq-q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; background:none; border:0; text-align:left; font-family:var(--font-display); font-weight:600; font-size:1rem; }
.faq-q .plus{ width:22px; height:22px; flex:none; position:relative; }
.faq-q .plus::before, .faq-q .plus::after{ content:''; position:absolute; background:var(--c-orange); border-radius:2px; transition:transform .3s ease; }
.faq-q .plus::before{ left:0; top:50%; width:100%; height:2px; transform:translateY(-50%); }
.faq-q .plus::after{ top:0; left:50%; width:2px; height:100%; transform:translateX(-50%); }
.faq-item.open .plus::after{ transform:translateX(-50%) rotate(90deg); opacity:0; }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.faq-a-inner{ padding:0 24px 22px; font-size:.92rem; color:var(--c-slate); }

/* ---------- Footer ---------- */
.site-footer{ background:var(--c-black); color:rgba(255,255,255,.7); padding-block:64px 28px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; margin-bottom:48px; }
.footer-col h4{ color:var(--c-white); font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:18px; }
.footer-col ul{ display:flex; flex-direction:column; gap:10px; }
.footer-col a{ font-size:.88rem; color:rgba(255,255,255,.62); transition:color .2s ease; }
.footer-col a:hover{ color:var(--c-gold); }
.footer-brand p{ font-size:.88rem; max-width:280px; }
.footer-social{ display:flex; gap:10px; margin-top:16px; }
.footer-social a{ width:36px; height:36px; border-radius:50%; border:1px solid var(--c-line-dark); display:flex; align-items:center; justify-content:center; }
.footer-social svg{ width:16px; height:16px; }
.footer-bottom{ border-top:1px solid var(--c-line-dark); padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.78rem; color:rgba(255,255,255,.45); }
.footer-bottom a{ color:rgba(255,255,255,.55); }

/* ---------- Floating buttons ---------- */
.floating-stack{ position:fixed; right:24px; bottom:24px; display:flex; flex-direction:column; gap:12px; z-index:90; align-items:flex-end; }
.fab{ width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-m); transition:transform .25s ease; }
.fab:hover{ transform:translateY(-3px) scale(1.05); }
.fab-whatsapp{ background:#25D366; color:#fff; animation:pulse 2.6s ease-in-out infinite; }
.fab-whatsapp svg{ width:26px; height:26px; }
.fab-quote{ background:var(--c-gradient); color:var(--c-black); font-size:.68rem; font-weight:700; text-align:center; line-height:1.1; }
.fab-top{ width:44px; height:44px; background:var(--c-white); border:1px solid var(--c-line); opacity:0; pointer-events:none; transform:translateY(10px); }
.fab-top.show{ opacity:1; pointer-events:auto; transform:translateY(0); }
@keyframes pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(37,211,102,.5);} 50%{ box-shadow:0 0 0 10px rgba(37,211,102,0);} }

/* ---------- Cookie banner ---------- */
.cookie-banner{
  position:fixed; right:20px; bottom:96px; left:auto; width:min(360px, calc(100vw - 40px));
  background:var(--c-ink); color:#fff; border:1px solid var(--c-line-dark);
  padding:18px 20px; border-radius:14px; box-shadow:var(--shadow-m); z-index:150;
  display:none; flex-direction:column; gap:14px;
}
.cookie-banner p{ font-size:.82rem; color:rgba(255,255,255,.75); margin:0; }
.cookie-banner a{ color:#fff; text-decoration:underline; }
.cookie-actions{ display:flex; gap:8px; }
.cookie-actions .btn{ flex:1; }
@media (max-width:640px){
  .cookie-banner{ right:12px; left:12px; bottom:84px; width:auto; padding:14px 16px; gap:10px; }
  .cookie-banner p{ font-size:.78rem; }
  .footer-bottom{ padding-bottom:88px; }
}

/* ===========================================================
   Service page components (e.g. /pakalpojumi/sinhrona-tulkosana/)
   =========================================================== */

/* -- breadcrumb (sits inside hero-text-zone, above eyebrow) -- */
.breadcrumb{ display:flex; align-items:center; gap:8px; font-size:.8rem; color:rgba(255,255,255,.45); margin-bottom:28px; flex-wrap:wrap; }
.breadcrumb a{ color:rgba(255,255,255,.6); transition:color .2s ease; }
.breadcrumb a:hover{ color:var(--c-gold); }
.breadcrumb span[aria-current]{ color:rgba(255,255,255,.85); }

/* -- trust badge row in service hero -- */
.service-badges{ display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:36px; padding-top:28px; border-top:1px solid var(--c-line-dark); }
.service-badge{ display:flex; align-items:center; gap:8px; font-size:.82rem; color:rgba(255,255,255,.68); }
.service-badge svg{ width:16px; height:16px; flex:none; color:var(--c-gold); }

/* -- compact hero (service pages): boxed/contained layout, NOT full-bleed edge-to-edge
      like the homepage hero — deliberately shorter, single text column, no split image
      panel at all, so the construction itself (not just the height) reads as different
      from the homepage hero. The interactive kinetic-grid canvas is the differentiator. -- */
.hero--compact{
  position:relative; overflow:hidden; min-height:0; display:block;
  background:var(--c-black); /* fallback beneath the canvas / for reduced-motion */
  padding:132px 0 88px;
}
.kinetic-canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
.hero-compact-inner{ position:relative; z-index:2; }
.hero-compact-text{ max-width:640px; }
.breadcrumb--dark{ margin-bottom:24px; }

@media (max-width:960px){
  .hero--compact{ padding:112px 0 56px; }
}

/* ---------- Extended request wizard (replaces a price calculator — rates
      aren't fixed/publishable, so this collects everything a manager needs
      to build a real quote, one short step at a time) ---------- */
.request-section{ padding-top:0; padding-bottom:clamp(64px,9vw,120px); margin-top:-64px; position:relative; z-index:5; }
.request-widget{
  background:var(--c-white); border-radius:var(--radius-l); box-shadow:0 30px 70px rgba(15,18,22,.16);
  border:1px solid var(--c-line); padding:clamp(24px,3vw,44px); max-width:760px; margin-inline:auto;
}
.request-progress{ display:flex; justify-content:space-between; gap:8px; margin-bottom:32px; }
.request-progress-step{ display:flex; align-items:center; gap:8px; font-size:.8rem; color:var(--c-slate-light); flex:1; }
.request-progress-num{
  width:26px; height:26px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:700; font-size:.78rem; background:var(--c-paper); color:var(--c-slate-light);
  border:1px solid var(--c-line); transition:background .25s ease, color .25s ease, border-color .25s ease;
}
.request-progress-label{ display:none; }
@media (min-width:640px){ .request-progress-label{ display:inline; } }
.request-progress-step.is-active .request-progress-num{ background:var(--c-gradient); color:var(--c-black); border-color:transparent; }
.request-progress-step.is-active .request-progress-label{ color:var(--c-ink); font-weight:600; }
.request-progress-step.is-done .request-progress-num{ background:var(--c-ink); color:#fff; border-color:transparent; }

.request-step{ display:none; }
.request-step.is-active{ display:block; }
.request-step h3{ font-size:1.15rem; margin-bottom:20px; }
.request-field{ display:flex; flex-direction:column; gap:8px; margin-bottom:18px; min-width:0; }
.request-field label{ font-size:.78rem; font-weight:600; color:var(--c-slate); }
.request-field input, .request-field select, .request-field textarea{
  font-family:var(--font-body); font-size:.92rem; color:var(--c-ink); padding:12px 14px;
  border-radius:var(--radius-s); border:1px solid var(--c-line); background:var(--c-paper); width:100%;
}
.request-field textarea{ resize:vertical; }
.request-field-row{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.request-field-row .request-field{ margin-bottom:0; }
.request-field--wide{ grid-column:span 2; }
/* Plain 2-field row (e.g. the Kontakti contact form) — .request-field-row alone is
   hardcoded to 4 columns for the wizard's own layout, so 2 fields would only fill
   half the row's width instead of stretching to match the full-width fields below. */
.request-field-row--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }

.pill-group{ display:flex; gap:10px; flex-wrap:wrap; }
.pill{
  padding:10px 20px; border-radius:999px; border:1px solid var(--c-line); background:var(--c-white);
  font-size:.86rem; font-weight:600; color:var(--c-slate); transition:all .2s ease;
}
.pill.is-active{ background:var(--c-gradient); border-color:transparent; color:var(--c-black); }

.service-check-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:8px; }
.service-check-grid--sm{ margin-bottom:0; }
.service-check{
  display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:var(--radius-s);
  border:1px solid var(--c-line); font-size:.88rem; color:var(--c-ink); cursor:pointer; transition:border-color .2s ease, background .2s ease;
}
.service-check:has(input:checked){ border-color:var(--c-orange); background:rgba(234,86,12,.05); }
.service-check input{ accent-color:var(--c-orange); width:16px; height:16px; flex:none; }

.service-subpanel{
  margin:4px 0 18px; padding:18px 20px; border-radius:var(--radius-m); background:var(--c-paper); border:1px solid var(--c-line);
  transition:background .2s ease, border-color .2s ease;
}
.service-subpanel h4{ font-size:.92rem; margin-bottom:14px; }

/* Vairāku pakalpojumu aizpildīšana pa vienam: pabeigtu bloku var "aizvērt" (saīsināt līdz
   vienai rindai + LABOT), lai cilvēks neredz visu informāciju uzreiz, kad atzīmēti vairāki
   pakalpojumi. Sk. setupSubpanelCollapse() main.js. */
.subpanel-collapsed-header{
  display:none; align-items:center; justify-content:space-between; gap:12px;
}
.subpanel-collapsed-header span{ font-size:.92rem; font-weight:600; }
.subpanel-edit-btn{
  flex:none; background:none; border:none; padding:2px 0; font-size:.82rem; font-weight:700;
  color:var(--c-orange); text-transform:uppercase; letter-spacing:.03em; cursor:pointer;
}
.subpanel-edit-btn:hover{ text-decoration:underline; }
.subpanel-done-wrap{ margin-top:16px; text-align:right; }

.service-subpanel.is-done{ background:rgba(234,86,12,.06); border-color:rgba(234,86,12,.3); padding:14px 20px; }
.service-subpanel.is-done > *{ display:none; }
.service-subpanel.is-done > .subpanel-collapsed-header{ display:flex; }

.file-drop{
  display:flex; align-items:center; gap:12px; padding:15px 18px; border-radius:var(--radius-s);
  border:1.5px dashed var(--c-line); background:var(--c-paper); cursor:pointer; color:var(--c-slate);
  font-size:.86rem; transition:border-color .3s ease, background .3s ease, color .3s ease;
}
.file-drop svg{ width:20px; height:20px; flex:none; color:var(--c-orange); }
.file-drop:hover{ border-color:var(--c-orange); background:rgba(234,86,12,.05); }
.file-drop.has-file{ border-style:solid; border-color:var(--c-orange); color:var(--c-ink); font-weight:600; }

.request-error{ font-size:.82rem; color:#C3350A; margin:0; }

.request-summary{ display:flex; flex-direction:column; gap:0; border:1px solid var(--c-line); border-radius:var(--radius-m); overflow:hidden; }
.request-summary-row{ display:flex; justify-content:space-between; gap:16px; padding:14px 18px; font-size:.88rem; }
.request-summary-row:nth-child(even){ background:var(--c-paper); }
.request-summary-row span{ color:var(--c-slate-light); flex:none; }
.request-summary-row b{ text-align:right; font-weight:600; }

.request-success{ text-align:center; padding:20px 0; }
.request-success svg{ width:52px; height:52px; color:var(--c-orange); margin-bottom:16px; }
.request-success h3{ margin-bottom:8px; }
.request-success p{ max-width:400px; margin-inline:auto; }

.request-nav{ display:flex; justify-content:space-between; align-items:center; margin-top:24px; padding-top:20px; border-top:1px solid var(--c-line); }
.request-nav .btn{ margin-left:auto; }
.request-nav #reqBack{ margin-left:0; margin-right:auto; }

@media (max-width:640px){
  .request-field-row{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .request-field--wide{ grid-column:span 2; }
  .service-check-grid{ grid-template-columns:1fr; }
  .request-section{ margin-top:-40px; }
}

/* ---------- Benefit grid (4 cards) ---------- */
.benefit-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.benefit-grid--3{ grid-template-columns:repeat(3,1fr); max-width:1000px; margin-inline:auto; }
.benefit-card{ padding:8px 4px; }
.benefit-icon{
  width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:var(--c-paper-dim); color:var(--c-orange); margin-bottom:18px;
  transition:background .3s ease, color .3s ease, transform .3s cubic-bezier(.16,.84,.44,1);
}
.benefit-card:hover .benefit-icon{ background:var(--c-gradient); color:#fff; transform:translateY(-3px) scale(1.06); }
.benefit-icon svg{ width:24px; height:24px; }
.benefit-card h3{ font-size:1.05rem; }
.benefit-card p{ font-size:.9rem; }

/* ---------- Tech equipment: intro + feature list, 2-col editorial ---------- */
.tech-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:start; }
.tech-intro{ position:sticky; top:120px; }
.tech-intro .section-head, .tech-intro p{ margin-bottom:0; }
.feature-list{ display:flex; flex-direction:column; gap:28px; }
.feature-row{ display:flex; gap:18px; align-items:flex-start; }
.feature-icon{
  width:44px; height:44px; border-radius:12px; flex:none; display:flex; align-items:center; justify-content:center;
  background:var(--c-white); border:1px solid var(--c-line); color:var(--c-orange);
}
.feature-icon svg{ width:22px; height:22px; }
.feature-row h3{ font-size:1rem; margin-bottom:.3em; }
.feature-row p{ font-size:.9rem; margin-bottom:0; }

/* ---------- Audipack booth: spec table + schematic diagram ---------- */
.booth-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:start; margin-top:8px; }
.spec-table-wrap{ border:1px solid var(--c-line); border-radius:var(--radius-m); overflow:hidden; }
.spec-table{ width:100%; border-collapse:collapse; font-size:.9rem; }
.spec-table th{ text-align:left; background:var(--c-ink); color:#fff; font-family:var(--font-display); font-weight:600; font-size:.8rem; padding:14px 18px; }
.spec-table td{ padding:14px 18px; border-top:1px solid var(--c-line); vertical-align:top; }
.spec-table td:first-child{ font-weight:600; color:var(--c-ink); white-space:nowrap; }
.spec-table td:last-child{ color:var(--c-slate); }
.spec-table tr:nth-child(even) td{ background:var(--c-paper); }
.booth-diagram-wrap{ text-align:center; }
.booth-diagram{ width:100%; height:auto; background:var(--c-paper); border-radius:var(--radius-m); border:1px solid var(--c-line); }
.booth-diagram-caption{ font-size:.8rem; color:var(--c-slate-light); margin-top:14px; margin-bottom:0; }

/* ---------- Interactive booth configurator (replaces the plain spec table + static
      image): hovering/tapping a spec row highlights the matching zone on the diagram.
      Diagram sits in a double-bezel shell, matching the format-switcher on the
      online-interpretation page for a consistent premium language across service pages. ---------- */
.booth-configurator{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-top:8px; }
.booth-specs{ display:flex; flex-direction:column; gap:10px; }
.spec-row{
  display:flex; align-items:flex-start; gap:16px; text-align:left; width:100%;
  padding:16px 18px; border-radius:var(--radius-m); border:1px solid var(--c-line); background:var(--c-white);
  transition:border-color .3s cubic-bezier(.16,.84,.44,1), background .3s ease, transform .3s cubic-bezier(.16,.84,.44,1), box-shadow .3s ease;
}
.spec-row-icon{
  width:38px; height:38px; border-radius:10px; flex:none; display:flex; align-items:center; justify-content:center;
  background:var(--c-paper); color:var(--c-orange); transition:background .3s ease, color .3s ease;
}
.spec-row-icon svg{ width:19px; height:19px; }
.spec-row-label{ display:block; font-weight:600; font-size:.92rem; color:var(--c-ink); margin-bottom:2px; }
.spec-row-value{ display:block; font-size:.85rem; color:var(--c-slate); }
.spec-row:hover, .spec-row.is-active{ border-color:transparent; background:var(--c-paper); transform:translateX(4px); box-shadow:0 10px 24px rgba(15,18,22,.06); }
.spec-row.is-active .spec-row-icon{ background:var(--c-gradient); color:var(--c-black); }

.booth-diagram-shell{
  background:var(--c-paper); border-radius:calc(var(--radius-l) + 6px); padding:10px; border:1px solid var(--c-line);
}
.booth-diagram-shell .booth-diagram{ background:var(--c-white); border-radius:var(--radius-m); border:none; }
.diagram-zone{ transition:opacity .35s cubic-bezier(.16,.84,.44,1); }
.diagram-zone.is-dim{ opacity:.22; }
.diagram-zone.is-active{ opacity:1; }
.diagram-zone.is-active rect[stroke], .diagram-zone.is-active path{ filter:drop-shadow(0 0 5px rgba(234,86,12,.4)); }
.booth-diagram-caption{ text-align:center; padding-top:14px; }

@media (max-width:860px){
  .booth-configurator{ grid-template-columns:1fr; }
}

/* ---------- Interpreter sub-points ---------- */
.interpreter-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.interpreter-card{ background:var(--c-white); border:1px solid var(--c-line); border-radius:var(--radius-m); padding:30px; }
.interpreter-num{ display:block; font-family:var(--font-display); font-weight:700; font-size:1.6rem; background:var(--c-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:12px; }
.interpreter-card h3{ font-size:1.1rem; }
.interpreter-card p{ font-size:.92rem; margin-bottom:0; }

.faq-list--narrow{ max-width:760px; margin-inline:auto; }

/* ---------- Platform trust logos (thin bar under an online-service hero, reuses
      .trust-bar's spacing/border but with generic wordmark text like .trust-logos) ---------- */
.platform-bar{ padding-block:32px; border-bottom:1px solid var(--c-line); }
.platform-inner{ display:flex; align-items:center; justify-content:center; gap:clamp(28px,5vw,64px); flex-wrap:wrap; }
.platform-inner span{ font-family:var(--font-display); font-weight:700; font-size:1.05rem; color:var(--c-slate-light); letter-spacing:.02em; }

/* ---------- Interactive format switcher (Pasākumu modeļi) — double-bezel: an outer
      tinted shell holding the segmented tab row, and an inner white "core" panel with
      its own shadow, so it reads as a physical nested object rather than a flat table ---------- */
.format-switcher{
  background:var(--c-paper); border-radius:calc(var(--radius-l) + 10px);
  padding:10px; border:1px solid var(--c-line);
}
.format-tabs{ display:flex; flex-wrap:wrap; gap:6px; padding:8px; }
.format-tab{
  flex:1 1 auto; min-width:200px; padding:14px 20px; border-radius:var(--radius-m);
  background:transparent; border:1px solid transparent; color:var(--c-slate);
  font-size:.86rem; font-weight:600; text-align:left;
  transition:background .35s cubic-bezier(.16,.84,.44,1), color .3s ease, border-color .3s ease, box-shadow .35s ease;
}
.format-tab:hover{ background:rgba(255,255,255,.6); }
.format-tab.is-active{ background:var(--c-white); border-color:var(--c-line); color:var(--c-ink); box-shadow:0 10px 26px rgba(15,18,22,.07); }
.format-tab.is-active::before{ content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--c-gradient); margin-right:9px; }

.format-shell{
  background:var(--c-white); border-radius:var(--radius-l); padding:clamp(28px,3.4vw,48px);
  box-shadow:0 24px 60px rgba(15,18,22,.08);
}
.format-stack{ display:grid; }
.format-panel{
  grid-area:1/1; display:grid; grid-template-columns:150px 1fr; gap:40px; align-items:center;
  opacity:0; transform:translateY(14px); pointer-events:none;
  transition:opacity .5s cubic-bezier(.16,.84,.44,1), transform .5s cubic-bezier(.16,.84,.44,1);
}
.format-panel.is-active{ opacity:1; transform:translateY(0); pointer-events:auto; }
.format-visual{ width:150px; height:150px; }
.format-visual svg{ width:100%; height:100%; }
.format-body h3{ font-size:1.3rem; margin-bottom:.4em; }
.format-body p{ font-size:.96rem; max-width:520px; margin-bottom:0; }
.format-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.format-tags span{
  font-size:.78rem; font-weight:600; padding:7px 14px; border-radius:999px;
  background:var(--c-paper); color:var(--c-slate); border:1px solid var(--c-line);
}
@media (max-width:760px){
  .format-panel{ grid-template-columns:1fr; text-align:center; justify-items:center; }
  .format-tab{ min-width:0; text-align:center; }
  .format-tab.is-active::before{ display:none; }
}

/* -- format-panel extensions used by the audience-size selector (Apskaņošanas scenāriji):
      an inline subtitle after the heading, and a highlighted "Rezultāts" callout row -- */
.format-body h3 span{ display:block; font-family:var(--font-body); font-weight:500; font-size:.8rem; color:var(--c-slate-light); margin-top:4px; }
.format-result{
  display:flex; align-items:flex-start; gap:10px; margin-top:16px; padding:14px 16px;
  background:var(--c-paper); border-left:3px solid var(--c-orange); border-radius:0 var(--radius-s) var(--radius-s) 0;
  font-size:.9rem; font-weight:600; color:var(--c-ink);
}
.format-result svg{ width:18px; height:18px; flex:none; color:var(--c-orange); margin-top:1px; }
.format-body .btn{ margin-top:18px; }

/* ---------- Mic type cards (interactive: lift + gradient icon fill on hover;
      the discussion-system card carries a live pulsing "light indicator" dot) ---------- */
.mic-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.mic-grid--2{ grid-template-columns:repeat(2,1fr); max-width:760px; margin-inline:auto; }
.mic-grid--3{ grid-template-columns:repeat(3,1fr); }
.mic-card{
  background:var(--c-white); border:1px solid var(--c-line); border-radius:var(--radius-m);
  padding:28px 24px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:6px;
  transition:transform .35s cubic-bezier(.16,.84,.44,1), box-shadow .35s ease, border-color .35s ease;
}
.mic-card:hover{ transform:translateY(-6px); box-shadow:0 20px 44px rgba(15,18,22,.08); border-color:transparent; }
.mic-icon{
  position:relative; width:64px; height:64px; border-radius:50%; margin-bottom:12px;
  background:var(--c-paper); color:var(--c-orange);
  display:flex; align-items:center; justify-content:center;
  transition:background .35s ease, color .35s ease;
}
.mic-icon svg{ width:30px; height:30px; }
.mic-card:hover .mic-icon{ background:var(--c-gradient); color:var(--c-black); }
.mic-card h3{ font-size:1rem; margin-bottom:0; }
.mic-card p{ font-size:.86rem; margin-bottom:4px; }
.mic-tag{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--c-orange); }
.mic-pulse-dot{
  position:absolute; top:6px; right:6px; width:9px; height:9px; border-radius:50%;
  background:var(--c-gold); box-shadow:0 0 0 0 rgba(249,183,0,.6); animation:micPulse 2.2s infinite;
}
@keyframes micPulse{ 0%{box-shadow:0 0 0 0 rgba(249,183,0,.55);} 70%{box-shadow:0 0 0 9px rgba(249,183,0,0);} 100%{box-shadow:0 0 0 0 rgba(249,183,0,0);} }

/* ---------- Pirms & Pēc audio-quality comparison ---------- */
.compare-grid{ display:grid; grid-template-columns:1fr auto 1fr; gap:32px; align-items:center; max-width:960px; margin-inline:auto; }
.compare-col{ display:flex; flex-direction:column; gap:14px; padding:28px; border-radius:var(--radius-l); }
.compare-col--before{ background:var(--c-ink-soft); border:1px solid var(--c-line-dark); }
.compare-col--after{ background:linear-gradient(160deg, rgba(234,86,12,.14), rgba(249,183,0,.08)); border:1px solid rgba(249,183,0,.25); }
.compare-label{ font-family:var(--font-display); font-weight:600; font-size:.95rem; color:#fff; margin-bottom:4px; }
.compare-row{ display:flex; align-items:center; gap:10px; font-size:.9rem; color:rgba(255,255,255,.7); }
.compare-col--before .compare-row svg{ width:18px; height:18px; flex:none; color:rgba(255,255,255,.35); }
.compare-col--after .compare-row{ color:#fff; }
.compare-col--after .compare-row svg{ width:18px; height:18px; flex:none; color:var(--c-gold); }
.compare-arrow{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:var(--c-gradient); color:var(--c-black); flex:none; }
.compare-arrow svg{ width:20px; height:20px; }

@media (max-width:960px){
  .mic-grid{ grid-template-columns:repeat(2,1fr); }
  .compare-grid{ grid-template-columns:1fr; }
  .compare-arrow{ transform:rotate(90deg); margin-inline:auto; }
}
@media (max-width:640px){
  .mic-grid{ grid-template-columns:1fr; }
  .benefit-grid--3{ grid-template-columns:1fr; }
}

/* ---------- Spec list (compact labeled rows used inside a format-panel body) ---------- */
.equip-specs{ display:flex; flex-direction:column; gap:10px; margin-top:16px; }
.equip-specs li{ display:flex; gap:12px; padding:12px 14px; border-radius:var(--radius-s); background:var(--c-paper); border:1px solid var(--c-line); font-size:.86rem; color:var(--c-slate); }
.equip-specs li b{ flex:none; min-width:140px; color:var(--c-ink); font-weight:600; }
@media (max-width:640px){
  .equip-specs li{ flex-direction:column; gap:4px; }
  .equip-specs li b{ min-width:0; }
}

/* ---------- Standalone photo gallery section (NOT nested inside tabs/panels — its own
      section, own place at the bottom). script.js hides the whole #galerija section
      entirely if the grid has zero images, same "only show when populated" rule as
      before, just applied at section level now. Kept visually simple on purpose — richer
      scroll-driven effects are planned for once this is live on the WP/server, not this
      static prototype. ---------- */
.gallery-section-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.gallery-item{
  position:relative; aspect-ratio:4/3; border-radius:var(--radius-m); overflow:hidden;
  background:linear-gradient(135deg,#20242b,#12151a);
}
.gallery-item::after{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 30%, rgba(242,109,30,.32), transparent 60%); }
.gallery-item-tag{
  position:absolute; left:12px; top:12px; z-index:2;
  font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  padding:5px 11px; border-radius:999px; background:rgba(255,255,255,.1); backdrop-filter:blur(6px); color:#fff;
}
.gallery-item-caption{
  position:absolute; left:12px; bottom:12px; right:12px; z-index:2;
  font-size:.72rem; color:rgba(255,255,255,.65); display:flex; align-items:center; gap:7px;
}
.gallery-item-caption .rec{ width:6px; height:6px; border-radius:50%; background:var(--c-gold); flex:none; box-shadow:0 0 0 0 rgba(249,183,0,.6); animation:recpulse 2s infinite; }
@media (max-width:860px){ .gallery-section-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .gallery-section-grid{ grid-template-columns:1fr; } }

/* ---------- Technical readiness checklist (green checkmarks — deliberately not brand
      orange, to read as a distinct "you're covered" reassurance signal, not a CTA) ---------- */
.checklist-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.checklist-card{ display:flex; gap:14px; align-items:flex-start; padding:24px; background:var(--c-white); border:1px solid var(--c-line); border-radius:var(--radius-m); }
.checklist-icon{
  width:38px; height:38px; border-radius:50%; flex:none;
  background:rgba(22,163,74,.12); color:#16A34A;
  display:flex; align-items:center; justify-content:center;
}
.checklist-icon svg{ width:20px; height:20px; }
.checklist-card h3{ font-size:1rem; margin-bottom:.35em; }
.checklist-card p{ font-size:.88rem; margin-bottom:0; }

/* ---------- Final CTA banner (brand gradient — deliberately not black,
      so it doesn't repeat the same dark tone as the footer right below it) ---------- */
.cta-banner{ background:var(--c-gradient); padding-block:clamp(56px,7vw,88px); }
.cta-banner-inner{ text-align:center; max-width:760px; }
.cta-banner h2{ color:var(--c-black); font-size:clamp(1.5rem,2.6vw,2.1rem); margin-bottom:.7em; }
.cta-banner-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.btn-dark{ background:var(--c-black); color:#fff; }
.btn-dark:hover{ transform:translateY(-2px); box-shadow:0 16px 40px rgba(11,13,16,.35); }
.btn-dark-ghost{ background:transparent; border-color:rgba(11,13,16,.35); color:var(--c-black); }
.btn-dark-ghost:hover{ background:rgba(11,13,16,.08); }

@media (max-width:1080px){
  .tech-grid{ grid-template-columns:1fr; gap:32px; }
  .tech-intro{ position:static; }
  .booth-grid{ grid-template-columns:1fr; }
  .benefit-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:860px){
  .interpreter-grid{ grid-template-columns:1fr; }
  .checklist-grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .benefit-grid{ grid-template-columns:1fr; }
  .cta-banner-actions{ flex-direction:column; align-items:stretch; }
}

/* ---------- Reveal utility ---------- */
[data-reveal]{ opacity:0; transform:translateY(28px) scale(.98); }

/* hero-only "masked line" reveal — eyebrow/H1/lede each sit inside their own overflow-hidden
   wrapper and slide up fully from below it (not just a small offset fade like the generic
   [data-reveal] treatment elsewhere), giving the premium "line rises from behind a mask
   edge" feel specifically for the page's most prominent element. */
.hero-mask{ overflow:hidden; }
[data-reveal-mask]{ opacity:0; transform:translateY(100%); }

.scroll-progress{
  position:fixed; top:0; left:0; z-index:300; height:3px; width:0%;
  background:var(--c-gradient); pointer-events:none;
}

/* ---------- Signal meter — VU-meter-style bars reacting to scroll VELOCITY, not a
   canned trigger animation. A literal nod to BCR's own audio/broadcast equipment: the
   faster you scroll, the harder the "signal" spikes, then settles — same physics as a
   real level meter. Hidden on touch/narrow viewports (no meaningful "scroll speed" there,
   and no room for a fixed side element without crowding content). ---------- */
.signal-meter{
  position:fixed; right:22px; top:50%; z-index:250;
  display:flex; flex-direction:column; align-items:center; gap:4px;
  pointer-events:none; transform:translateY(-50%);
}
.signal-meter .bar{
  width:3px; height:6px; border-radius:2px;
  background:var(--c-gradient); opacity:.35;
}
@media (max-width:960px){ .signal-meter{ display:none; } }
.is-revealed{ opacity:1 !important; transform:none !important; transition:opacity .8s ease, transform .8s cubic-bezier(.16,.84,.44,1); }

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .testi-track, .blog-grid{ grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .faq-cta-grid{ grid-template-columns:1fr; gap:40px; }
}
@media (max-width:860px){
  .header-phone{ display:none; }
  .header-actions .btn-primary{ display:none; }
  .nav-toggle{ display:flex; position:relative; z-index:210; }
  .process-track{ grid-template-columns:1fr; gap:28px; }
  .process-line{ display:none; }

  .main-nav{
    position:fixed; inset:0; z-index:200;
    display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:6px;
    padding:0 var(--pad);
    background:var(--c-black);
    transform:translateX(100%); transition:transform .4s cubic-bezier(.16,.84,.44,1);
  }
  .main-nav.is-open{ transform:translateX(0); }
  .main-nav a{ font-size:1.6rem; font-family:var(--font-display); font-weight:600; padding:12px 0; color:#fff; }

  body.nav-open{ overflow:hidden; }
}
@media (min-width:861px){
  .main-nav{ display:flex !important; }
}
@media (max-width:640px){
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .testi-track, .blog-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:28px; }
  .hero-cta-row{ flex-direction:column; align-items:stretch; }
  .hero-cta-row .btn{ width:100%; }
  .hero{ padding-top:96px; padding-bottom:90px; min-height:0; }
  .hero .eyebrow{ margin-bottom:.6em; }
  .hero h1{ margin-bottom:.3em; }
  .hero-lede{ margin-bottom:1.1em; }
  .hero-cta-row{ margin-bottom:32px; }
  .hero-stats{ gap:20px; }
  .trust-inner{ justify-content:center; text-align:center; }
  .cta-wave{ display:none; }
}

/* ---------- Pasākumu reģistrācija / tiešraides skatīšanās (single-bcr_event.php) ---------- */
.event-panel{ max-width:640px; margin-inline:auto; background:var(--c-white); border:1px solid var(--c-line); border-radius:var(--radius-l); box-shadow:var(--shadow-m); padding:clamp(28px,4vw,48px); }
.event-intro{ margin-bottom:24px; }
.event-reg-form .request-field{ margin-bottom:16px; }
.event-consent{ display:flex; align-items:flex-start; gap:10px; font-size:.82rem; color:var(--c-slate); margin:8px 0 22px; cursor:pointer; }
/* Honeypot — reāliem apmeklētājiem neredzams un nesasniedzams ar Tab, bet
   klātesošs DOM'ā, lai vienkāršie spam-boti (kas aizpilda visus laukus) to
   aizpilda un tiek klusi atsijāti servera pusē. */
.bcr-hp-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.event-consent input{ margin-top:3px; accent-color:var(--c-orange); flex:none; }
.event-reg-form .btn{ width:100%; justify-content:center; }

.event-state{ text-align:center; padding:12px 0; }
.event-state svg{ width:44px; height:44px; color:var(--c-orange); margin-bottom:16px; }
.event-state h3{ margin-bottom:8px; }
.event-state p{ max-width:420px; margin-inline:auto; }
.event-state--locked svg{ color:#C3350A; }
.event-retry-note{ margin-top:14px; font-size:.8rem; color:var(--c-slate-light); }

.event-player-shell{ position:relative; width:100%; aspect-ratio:16/9; border-radius:var(--radius-m); overflow:hidden; background:var(--c-black); box-shadow:var(--shadow-m); }
.event-player-shell iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.event-fullscreen-btn{
  position:absolute; right:16px; bottom:16px; z-index:2; display:flex; align-items:center; gap:8px;
  padding:10px 18px; border-radius:999px; border:0; background:var(--c-gradient); color:var(--c-black);
  font-family:var(--font-body); font-weight:600; font-size:.85rem; cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.35); transition:transform .2s ease;
}
.event-fullscreen-btn:hover{ transform:translateY(-2px); }
.event-fullscreen-btn svg{ width:16px; height:16px; }
.event-player-shell:fullscreen{ aspect-ratio:auto; }
.event-player-shell:fullscreen iframe{ height:100%; }
.event-player-shell:fullscreen .event-fullscreen-btn{ display:none; }
.event-watch-note{ margin-top:16px; font-size:.85rem; color:var(--c-slate); text-align:center; }

/* ---------- Tāmes konstruktors (/pieteikties/) — nosacītie apakš-jautājumi wizard 2. solī.
      Nosaukumi apzināti NAV "data-reveal"/".reveal" — tas atribūts jau aizņemts scroll-in
      GSAP animācijai (sk. augšā [data-reveal]) un sadursme klusi salauztu abus. ---------- */
.cond-toggle{ display:flex; align-items:flex-start; gap:10px; padding:13px 14px; border-radius:var(--radius-s); border:1px solid var(--c-line); font-size:.86rem; color:var(--c-ink); cursor:pointer; transition:border-color .2s ease, background .2s ease; }
.cond-toggle:has(input:checked){ border-color:var(--c-orange); background:rgba(234,86,12,.05); }
.cond-toggle input{ accent-color:var(--c-orange); width:16px; height:16px; flex:none; margin-top:1px; }
.cond-block{ margin:4px 0 14px 26px; padding-left:14px; border-left:2px solid var(--c-line); }
.cond-block .request-field{ margin-bottom:0; }
.cond-nest{ margin:10px 0; padding:14px 16px; border-radius:var(--radius-s); background:var(--c-white); border:1px solid var(--c-line); }
.cond-nest .cond-block{ margin-left:0; padding-left:0; border-left:0; margin-top:12px; }

/* ---------- Kontakti lapa: karte + rekvizīti ----------
   Google Maps bez API atslēgas nevar krāsu-stilot no servera puses (tas
   prasītu Maps JavaScript API + Cloud projektu), tāpēc "pieder pie dizaina"
   sajūta nāk no ietvara, nevis no pašas kartes: pieklusināta karte
   (grayscale, atkrāsojas uz hover), plāns zīmola-gradienta apmalis, un
   zīmola info-josla PĒC kartes (nevis pāri tai). Info josla apzināti NAV
   novietota kā peldošs overlay virs kartes — Google pats rāda savu adreses
   info-logu tieši tur, kur nogeokodē adresi (pikseļu pozīcija nav paredzama
   un tā ir cross-origin iframe saturs, ko no ārpuses nedz stilot, nedz
   apslēpt nevar) — pārklāšanās ar pašbūvētu kartīti tur izskatījās
   nekārtīgi divkārt. Josla zem kartes ir droša un joprojām lasās kā VIENS
   kopīgs komponents (vienota apmale/ēna), tikai bez sadursmes riska. */
.map-shell{
  border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--shadow-m);
  padding:3px; background:var(--c-gradient);
}
.map-frame{
  display:block; width:100%; border-radius:calc(var(--radius-l) - 3px) calc(var(--radius-l) - 3px) 0 0;
  filter:grayscale(.6) contrast(1.05) brightness(.98);
  transition:filter .5s ease;
}
.map-shell:hover .map-frame{ filter:grayscale(.1) contrast(1.02) brightness(1); }

.map-card{
  background:var(--c-white); border-radius:0 0 calc(var(--radius-l) - 3px) calc(var(--radius-l) - 3px);
  padding:18px 22px; display:flex; flex-wrap:wrap; align-items:center; gap:14px;
}
.map-card-pin{
  width:42px; height:42px; border-radius:50%; background:var(--c-gradient); color:var(--c-black);
  display:flex; align-items:center; justify-content:center; flex:none;
}
.map-card-pin svg{ width:20px; height:20px; }
.map-card-body{ display:flex; flex-direction:column; gap:2px; flex:1 1 160px; min-width:0; }
.map-card-body b{ font-size:.92rem; }
.map-card-body span{ font-size:.8rem; color:var(--c-slate); }
.map-card-actions{ display:flex; gap:8px; flex:none; margin-left:auto; }

@media (max-width:860px){
  #sazina .container{ grid-template-columns:1fr !important; }
}
@media (max-width:520px){
  .map-card-actions{ margin-left:0; width:100%; }
  .map-card-actions .btn{ flex:1; }
}

/* ---------- Blogs arhīvs: 2-kolonnu raksti + filtru sānjosla labajā pusē ---------- */
.blog-layout{ display:grid; grid-template-columns:2fr 1fr; gap:48px; align-items:start; }
.blog-archive-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; align-content:start; }
.blog-archive-grid .blog-card{ transition:transform .3s ease, box-shadow .3s ease, opacity .25s ease; }
.blog-empty{ grid-column:1/-1; text-align:center; color:var(--c-slate-light); padding:40px 0; }

/* Filtru sānjosla — ikonu "taimlaina" paņēmiens tā vietā, lai tās būtu vienkāršas
   pogas: vertikāla gradienta līnija aiz ikonu riņķiem (tas pats motīvs, ko process-track
   izmanto sākumlapā), ikonas iekrāsojas zīmola gradientā aktīvajam/hover stāvoklim. */
.blog-filters{ position:sticky; top:100px; }
.blog-filters-head{ margin-bottom:20px; }
.blog-filters-head h3{ font-size:1.1rem; }
.blog-filter-list{ position:relative; display:flex; flex-direction:column; gap:4px; }
.blog-filter-list::before{
  content:''; position:absolute; left:23px; top:28px; bottom:28px; width:2px;
  background:linear-gradient(var(--c-orange), var(--c-gold)); opacity:.35; z-index:0;
}
.blog-filter-item{
  position:relative; z-index:1; display:flex; align-items:center; gap:14px; width:100%;
  padding:10px 12px; border-radius:var(--radius-m); border:1px solid transparent; background:transparent;
  cursor:pointer; text-align:left; font-family:var(--font-body); color:var(--c-ink);
  transition:background .2s ease, border-color .2s ease;
}
.blog-filter-item:hover{ background:var(--c-paper); }
.blog-filter-item.is-active{ background:var(--c-white); border-color:var(--c-line); box-shadow:var(--shadow-s); }
.blog-filter-icon{
  width:46px; height:46px; border-radius:50%; background:var(--c-paper); border:1px solid var(--c-line);
  display:flex; align-items:center; justify-content:center; flex:none; color:var(--c-slate);
  transition:background .25s ease, color .25s ease, transform .25s ease, border-color .25s ease;
}
.blog-filter-icon svg{ width:19px; height:19px; }
.blog-filter-item.is-active .blog-filter-icon,
.blog-filter-item:hover .blog-filter-icon{
  background:var(--c-gradient); color:var(--c-black); border-color:transparent; transform:scale(1.08);
}
.blog-filter-label{ flex:1; font-weight:600; font-size:.9rem; }
.blog-filter-count{
  font-size:.72rem; font-weight:700; color:var(--c-slate-light); background:var(--c-paper);
  padding:2px 9px; border-radius:999px; flex:none; transition:color .2s ease, background .2s ease;
}
.blog-filter-item.is-active .blog-filter-count{ color:var(--c-orange); background:rgba(234,86,12,.08); }

@media (max-width:900px){
  .blog-layout{ grid-template-columns:1fr; }
  .blog-filters{ position:static; order:-1; margin-bottom:8px; }
  .blog-filter-list{ flex-direction:row; flex-wrap:wrap; gap:10px; }
  .blog-filter-list::before{ display:none; }
  .blog-filter-item{ width:auto; }
}
@media (max-width:640px){
  .blog-archive-grid{ grid-template-columns:1fr; }
}


/* ---------- Video pakalpojuma lapa: ātrās pārejas saites, callout ikonas, piemēru video ---------- */
.hero-jump{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:-20px; margin-bottom:8px; }
.hero-jump a{ color:rgba(255,255,255,.72); font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding-bottom:3px; border-bottom:1px solid rgba(255,255,255,.28); transition:color .25s ease, border-color .25s ease; }
.hero-jump a:hover, .hero-jump a:focus-visible{ color:#fff; border-color:var(--c-gold); }
#prieksnosacijumi, #video-pakalpojumi, #video-piemeri, #faq{ scroll-margin-top:92px; }
.info-callout-points b .callout-ic{ width:18px; height:18px; vertical-align:-3px; margin-right:8px; color:var(--c-orange); }
.video-examples{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:22px; }
.video-example{ margin:0; position:relative; aspect-ratio:16/9; border-radius:var(--radius-m); overflow:hidden; background:var(--c-ink); box-shadow:var(--shadow-m); }
.video-example iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-example-play{ position:absolute; inset:0; width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:20px; color:#fff; text-align:center; background:radial-gradient(120% 120% at 20% 10%, rgba(234,86,12,.35), transparent 55%), linear-gradient(160deg,var(--c-ink-soft),var(--c-black)); cursor:pointer; border:0; }
.video-example-icon{ width:68px; height:68px; border-radius:50%; display:grid; place-items:center; background:var(--c-gradient); box-shadow:0 10px 30px rgba(234,86,12,.45); transition:transform .35s cubic-bezier(.16,.84,.44,1); }
.video-example-icon svg{ width:28px; height:28px; margin-left:3px; }
.video-example-play:hover .video-example-icon, .video-example-play:focus-visible .video-example-icon{ transform:scale(1.1); }
.video-example-label{ font-family:var(--font-display); font-weight:600; font-size:1.05rem; }


/* ---------- Teksta lapas (privātuma politika, noteikumi u.c.) ---------- */
.bcr-prose{ margin-top:0; }
.bcr-prose h2{ font-size:1.3rem; margin:2em 0 .55em; }
.bcr-prose p, .bcr-prose li{ line-height:1.75; color:var(--c-slate); }
.bcr-prose ul{ margin:0 0 1.2em 1.3em; list-style:disc; }
.bcr-prose li{ margin-bottom:.45em; }
.bcr-prose a{ color:var(--c-orange); text-decoration:underline; text-underline-offset:3px; }


/* ---------- Formu lauki: iOS ---------- */
/* iOS Safari pietuvina lapu, ja lauka burtu izmērs < 16px (tāpēc logo/virsraksts "aizbēga" aiz malas). */
.request-field input, .request-field select, .request-field textarea{ max-width:100%; box-sizing:border-box; min-width:0; }
.request-field select{
  -webkit-appearance:none; appearance:none; padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6470' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:16px;
}
@media (max-width:900px){
  .request-field input, .request-field select, .request-field textarea, .pick-btn{ font-size:16px; }
}

/* ---------- Datuma / laika izvēle (savs izskats) ---------- */
.pick{ position:relative; min-width:0; }
.pick-btn{
  display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-width:0; box-sizing:border-box;
  font-family:var(--font-body); font-size:.92rem; color:var(--c-ink); text-align:left;
  padding:12px 14px; border-radius:var(--radius-s); border:1px solid var(--c-line); background:var(--c-paper);
}
.pick-btn .pick-val{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.pick-btn.is-empty .pick-val{ color:var(--c-slate-light); }
.pick-btn svg{ flex:none; width:18px; height:18px; color:var(--c-slate); }
.pick-btn:focus-visible, .pick-btn[aria-expanded="true"]{ outline:none; border-color:var(--c-orange); box-shadow:0 0 0 3px rgba(234,86,12,.16); }
.pick-pop{
  position:absolute; top:0; left:0; z-index:2001; width:316px; max-width:calc(100vw - 24px); box-sizing:border-box;
  background:var(--c-white); border:1px solid var(--c-line); border-radius:var(--radius-m);
  box-shadow:0 24px 60px rgba(15,18,22,.22); padding:16px; font-family:var(--font-body); color:var(--c-ink);
}
.pick-pop--time{ width:300px; }
.pick-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.pick-head b{ font-size:.95rem; font-weight:700; text-align:center; flex:1; }
.pick-nav{ width:38px; height:38px; flex:none; border-radius:50%; border:1px solid var(--c-line); display:grid; place-items:center; background:var(--c-white); color:var(--c-ink); }
.pick-nav svg{ width:18px; height:18px; }
.pick-nav:hover{ background:var(--c-paper); }
.pick-dow, .pick-days{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; }
.pick-dow span{ font-size:.7rem; text-transform:uppercase; letter-spacing:.04em; color:var(--c-slate-light); text-align:center; padding:6px 0; }
.pick-day{ aspect-ratio:1; border-radius:50%; font-size:.9rem; border:1px solid transparent; background:none; display:grid; place-items:center; color:var(--c-ink); padding:0; }
.pick-day:hover{ background:var(--c-paper); }
.pick-day.is-today{ border-color:var(--c-orange); }
.pick-day.is-sel{ background:var(--c-gradient); color:var(--c-black); font-weight:700; border-color:transparent; }
.pick-foot{ display:flex; justify-content:space-between; margin-top:12px; padding-top:12px; border-top:1px solid var(--c-line); }
.pick-link{ font-size:.85rem; font-weight:600; color:var(--c-slate); padding:8px 6px; background:none; border:0; }
.pick-link:hover{ color:var(--c-orange); }
.pick-sub{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--c-slate-light); margin:2px 0 8px; }
.pick-sub + .pick-hours + .pick-sub{ margin-top:14px; }
.pick-hours{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; }
.pick-mins{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.pick-t{ padding:10px 0; border-radius:999px; border:1px solid var(--c-line); background:var(--c-white); font-size:.88rem; color:var(--c-ink); }
.pick-t:hover{ background:var(--c-paper); }
.pick-t.is-sel{ background:var(--c-gradient); color:var(--c-black); border-color:transparent; font-weight:700; }
.pick-day:focus-visible, .pick-t:focus-visible, .pick-nav:focus-visible, .pick-link:focus-visible{ outline:2px solid var(--c-orange); outline-offset:2px; }
.pick-backdrop{ display:none; }
@media (max-width:640px){
  /* apakšējā loksne: neatkarīga no kolonnu platuma, vienmēr ietilpst ekrānā */
  .pick-pop, .pick-pop--time{
    position:fixed; left:0; right:0; bottom:0; top:auto !important; width:auto; max-width:none;
    border-radius:22px 22px 0 0; padding:18px 18px calc(18px + env(safe-area-inset-bottom)); max-height:88vh; overflow:auto;
  }
  .pick-pop{ left:0 !important; }
  .pick-backdrop.is-on{ display:block; position:fixed; inset:0; background:rgba(15,18,22,.45); z-index:2000; }
  .pick-day{ font-size:1rem; }
  .pick-t{ padding:13px 0; font-size:.95rem; }
}
