/* ==========================================================
   DAPAL — formularz krok po kroku (spójny, jeden arkusz)
   ========================================================== */

/* ---------- Zmienne UI ---------- */
:root{
  --brand:   #0f766e;
  --brand-2: #14b8a6;
  --bg:      #f7fafc;
  --card:    #ffffff;
  --text:    #0f172a;
  --muted:   #64748b;
  --danger:  #dc2626; 
  --ring:    #22d3ee;

  --radius-s: 10px;
  --radius-m: 14px;

  --shadow-1: 0 6px 24px rgba(0,0,0,.08);
  --shadow-2: 0 10px 36px rgba(0,0,0,.12);
}


/* ---------- Reset / baza ---------- */
*{ box-sizing: border-box; }

html, body{
  height: 100%;
}

body{
  margin: 0;
  font-family: ui-sans-serif,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  color: var(--text);
  background: var(--bg);
  line-height: 1.5;
}

/* Error wygląd */
.error{ color:var(--danger); font-size:.875rem; margin-top:6px; }

/* Pola tekstowe/select/textarea */
.invalid .form-control,
.invalid select,
.invalid textarea{
  border-color: var(--danger) !important;
  box-shadow: 0 0 0 4px rgba(220,38,38,.12) !important;
}
.invalid .form-control:focus,
.invalid select:focus,
.invalid textarea:focus{
  border-color: var(--danger) !important;
  box-shadow: 0 0 0 4px rgba(220,38,38,.20) !important;
}

/* Kafelek pytania (działa też dla radio/checkbox, pól zależnych itp.) */
.form-group.invalid{
  border-color: var(--danger) !important;
  background: #fef2f2; /* delikatne tło */
}

/* Gdy to „dziecko” w grupie (miało dashed/zieleń) — wymuś solid czerwony */
.form-group.child-of.invalid{
  border-style: solid !important;
  border-color: var(--danger) !important;
  background: #fef2f2;
}

/* Nagłówek pytania */
.form-group.invalid > label,
.form-group.invalid legend{
  color: var(--danger);
}

/* Radio/checkbox – wyraźna sygnalizacja */
.form-group.invalid .option-label{
  outline: 2px solid rgba(220,38,38,.28);
  border-radius: 8px;
  padding: 2px 4px;
}
.form-group.invalid input[type="radio"],
.form-group.invalid input[type="checkbox"]{
  outline: 2px solid rgba(220,38,38,.28);
  outline-offset: 2px;
}

/* ---------- Layout ---------- */
.container{ max-width: 960px; margin: 24px auto; padding: 16px; }
.card{
  background: var(--card);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(2,6,23,.06);
  padding: 24px;
   position: relative;
}

h1{ font-size: 1.75rem; margin: 0 0 8px; }
.subtle{ color: var(--muted); margin-bottom: 22px; }
.badge{
  display: inline-flex; align-items:center; gap:8px;
  padding: 6px 10px; border-radius: 999px;
  background: #ecfeff; color: #0e7490; font-weight: 600; font-size: .875rem;
}

/* ---------- Pasek postępu ---------- */
.progress-wrap{ margin: 16px 0 24px; }
.progress-bar{
  height: 8px; background: #e2e8f0; border-radius: 999px; overflow: hidden;
}
.progress-bar>span{
  display:block; height:100%; width:0%;
  background: linear-gradient(90deg,var(--brand),var(--brand-2));
  transition: width .25s ease;
}

/* ---------- Kroki ---------- */
.step{ display:none; animation: fade .25s ease; }
.step.active{ display:block; }
@keyframes fade{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }

/* Rytm nagłówków kroków */
.step>h2{ margin: 8px 0 14px; }
.step>.grid{ margin-top: 6px; }

/* ---------- Siatki ---------- */
.grid{ display:grid; grid-template-columns: 1fr; gap: 20px; }
.grid.grid-2{ grid-template-columns: 1fr; }
@media (min-width:720px){
  .grid.grid-2{ grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* ---------- Kafle pytań ---------- */
/* zero „starych” separatorów */
.form-group{ margin:0; padding:0; border:0; }

/* kafel bazowy */
.form-group:not(.child-of){
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:14px 14px 12px;
  box-shadow: 0 1px 2px rgba(2,6,23,.03);
}

/* label/legend — spójne pogrubienie */
.form-group>label,
.form-group legend{
  display:block;
  font-weight:700 !important;
  line-height:1.3;
  margin:0 0 8px;
}

/* pola zależne (showIf) — w tej samej karcie, subtelne wyróżnienie */
.form-group.child-of{
  background:#f6fff8;
  border:1px dashed #86efac;
  border-left:3px solid #16a34a;
  border-radius:10px;
  padding:10px 12px;
  margin-top:8px;
}

/* jawne ukrywanie (JS) */
.form-group.hidden{ display:none !important; visibility:hidden !important; opacity:0 !important; max-height:0 !important; overflow:hidden !important; }

/* ---------- Pola formularza ---------- */
.form-control,
select, textarea,
input[type="date"], input[type="time"], input[type="range"]{
  width:100%;
  padding:10px 12px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  outline:none;
  transition: border-color .15s, box-shadow .15s;
}
.form-control:focus,
select:focus, textarea:focus,
input[type="date"]:focus, input[type="time"]:focus, input[type="range"]:focus{
  border-color: var(--ring);
  box-shadow: 0 0 0 4px rgba(34,211,238,.18);
}

/* fieldset defaulty */
.form-group fieldset{ border:0; margin:0; padding:0; }
.form-group fieldset>div>label{ display:flex; align-items:center; gap:8px; margin:6px 0; }

/* helper/errory */
.helper{ font-size:.875rem; color:var(--muted); margin-top:6px; }
.error{ color:var(--danger); font-size:.875rem; margin-top:6px; }
.invalid .form-control, .invalid select, .invalid textarea{
  border-color: var(--danger);
  box-shadow: 0 0 0 4px rgba(220,38,38,.12);
}

/* ---------- Tooltips ---------- */
.tooltip-icon{ margin-left:8px; font-size:.95rem; line-height:1; background:transparent; border:0; cursor:pointer; display:inline-flex; align-items:center; gap:6px; color:#0f766e; font-weight:700; padding:0; }
.tooltip-icon__text{ font-size:.9rem; line-height:1.2; }
.tooltip-bubble{ position:relative; display:none; margin-top:6px; background:#0f172a; color:#fff; padding:8px 10px; border-radius:8px; font-size:.875rem; }
.tooltip-bubble.open{ display:block; }

/* (opcjonalnie) plakietka kontekstu */
.context-badge{
  display:inline-block; margin:4px 0 6px; font-size:12px;
  color:#065f46; background:#d1fae5; border:1px solid #a7f3d0;
  border-radius:9999px; padding:2px 10px;
}

/* ---------- SUWAKI (range) ---------- */
/* wartość wyświetlana POD suwakiem */
.range-output{
  margin-top:8px;
  padding:10px 12px;
  border-radius:12px;
  background:#f0fdfa;
  border:1px solid #99f6e4;
  font-size:.98rem;
  color:#0f172a;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.range-output::before{
  content:"↔";
  color:#0f766e;
  font-weight:800;
  font-size:1rem;
}

/* ---------- RANGE-GROUP (jedna kafelka: długość/szerokość/wysokość) ---------- */
.dimensions-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
}
@media (min-width:720px){
  .dimensions-grid{ grid-template-columns: repeat(3,minmax(0,1fr)); }
}
.dimension{
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:10px 12px;
}
.dimension>label{
  display:block;
  font-weight:700;
  margin:0 0 6px;
}

/* mała notka/zakres obok (jeśli dodasz <small> w labelu) */
.dimension small{
  font-weight:400;
  color:#6b7280;
  margin-left:6px;
}

/* ---------- Przyciski / akcje ---------- */
.actions{
  position: sticky;
  bottom: 0;
  background: linear-gradient(180deg, rgba(248,250,252,0) 0%, rgba(248,250,252,1) 18%);
  padding-top:12px;
  margin-top:24px;
  display:flex; gap:12px; justify-content:space-between;
  z-index:5;
}
.btn{
  appearance:none; border:0; padding:12px 16px;
  border-radius:12px; cursor:pointer; font-weight:600;
  box-shadow: 0 6px 16px rgba(2,6,23,.08);
}
.btn-primary{ background: var(--brand); color:#fff; }
.btn-secondary{ background:#e2e8f0; color:#0f172a; }

/* ---------- Drobiazgi ---------- */
hr.separator{ margin:16px 0; border:0; height:1px; background:#e2e8f0; }
.small{ font-size:.875rem; color:var(--muted); }
.success{ color:#166534; }
.hidden{ display:none !important; }

/* ---------- Mobile ergonomia ---------- */
@media (max-width:640px){
  .btn{ width:100%; padding:14px 16px; }
  .actions{
    display:flex;
    flex-direction: column-reverse; /* Wstecz na dole, Dalej/ Wyślij nad nim */
    gap:8px;
  }
  #btn-next, #btn-submit{ order:-1; } /* podbij „Dalej”/„Wyślij” */
}

/* ---------- Twarde „safety” widoczności (gdy motyw/akordeon miesza) ---------- */
.step .form-group{ display:block; visibility:visible; opacity:1; max-height:none; overflow:visible; }


.ceiling-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
@media (min-width: 720px) {
  .ceiling-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}
.ceiling-grid .ceiling-item {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px 12px;
}
.ceiling-grid .ceiling-item > label {
  display: block;
  font-weight: 700;
  margin: 0 0 6px;
}

/* Uniwersalne grupy pól (group) — dwie kolumny desktop, jedna na mobile */
.group-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
}
@media (min-width:720px){
  .group-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.group-item{
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:10px 12px;
}
.group-item>label{
  display:block;
  font-weight:700;
  margin:0 0 6px;
}

/* Uniwersalne grupy pól (group) */
.group-grid{
  display: grid;
  grid-template-columns: 1fr;  /* 1 kolumna na mobile */
  gap: 14px;
}

/* 2 kolumny TYLKO gdy nie wymuszono układu pionowego */
@media (min-width: 720px){
  .group-grid:not(.group-grid--vertical){
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

/* Wymuszenie układu pionowego (jeden pod drugim) na wszystkich szerokościach */
.group-grid.group-grid--vertical{
  grid-template-columns: 1fr !important;
}

/* label + wartość po prawej */
.label-with-value{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.value-inline{
  display:inline-block;
  padding:2px 8px;
  border-radius:9999px;
  font-weight:700;
  background:#ecfeff;
  color:#0369a1;
  font-size:.9rem;
}
/* Karta grupy */
.group-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 1px 2px rgba(2,6,23,0.03);
}

.group-title {
  display:block;
  font-weight:700;
  margin-bottom: 10px;
}

/* Kontener dzieci – domyślnie pionowo */
.group-ctr {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Dziecko (wiersz) w karcie */
.group-child label{
  display:block;
  font-weight:600;
  margin-bottom:6px;
}

/* Warianty layoutu */
.group-card[data-layout="grid-3"] .group-ctr{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}
@media (max-width: 720px){
  .group-card[data-layout="grid-3"] .group-ctr{
    grid-template-columns: 1fr; /* na mobile pion */
  }
}

/* Chip z wartością suwaka obok etykiety */
.label-with-value{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap: wrap;
}
.value-inline{
  display:inline-block;
  padding:2px 8px;
  border-radius:9999px;
  background:#ecfeff;
  color:#0369a1;
  font-weight:700;
  font-size:.9rem;
}
/* Czerwona gwiazdka przy wymaganych */
.req-asterisk {
  color: var(--danger);
  margin-left: 6px;
  font-weight: 700;
}

/* Miniatura/rysunek przy pytaniu */
.question-illustration {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 8px 0 0 0;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 2px rgba(2,6,23,.05);
}

/* Obrazek w dymku tooltipa */
.tooltip-bubble img.tooltip-image {
  display: block;
  max-width: 280px;
  width: 100%;
  height: auto;
  margin-top: 8px;
  border-radius: 8px;
  border: 1px solid #0f172a;
}

.helper a { text-decoration: underline; color: var(--brand); }
.helper a:hover { text-decoration: none; }

.form-group input[type="checkbox"] + label a {
  color: var(--brand);
  text-decoration: underline;
}
.form-group input[type="checkbox"] + label a:hover {
  text-decoration: none;
}

.option-label a { color: var(--brand); text-decoration: underline; }
.option-label a:hover { text-decoration: none; }


.form-switcher {
  text-align: center;
  margin: 24px 0;
}
.form-switcher h2 {
  font-size: 1.25rem;
  margin-bottom: 12px;
}
.form-switcher .buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.form-switcher .btn {
  padding: 12px 18px;
  font-weight: 600;
  border-radius: 10px;
  cursor: pointer;
}

/* ==============================
   FOOTER (wycentrowany + nowoczesny)
============================== */
.site-footer{
  margin-top: 40px;
  padding: 28px 20px 34px;
  border-top: 1px solid rgba(2,6,23,.06);
  background: #fff;
}
.footer-inner{
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.footer-brand{ margin: 0 0 6px; color: #0b1220; }
.footer-row{
  margin: 0;
  color: var(--muted);
  display: inline-flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.footer-row a{
  color: var(--brand);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: .2s ease;
}
.footer-row a:hover{ border-bottom-color: currentColor; }
.footer-row .dot{ opacity: .4; }

/* ==============================
   CARD HEAD (tytuł + podtytuł + meta)
============================== */
.card-head{
  display:flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 10px;
}
.card-title{
  margin: 8px 0 4px;
  font-size: clamp(22px, 2.6vw, 28px);
  color: var(--brand); /* np. zielony firmowy */
}

.card-subtitle{
  margin: 0;
  font-size: clamp(18px, 2.2vw, 22px); /* trochę mniejsze niż h1 */
  font-weight: 500;
  color: #000; /* czarny */
}

/* meta po prawej */
.card-meta{
  list-style: none;
  padding: 0;
  margin: 0;
  display:grid;
  grid-auto-flow: column;
  gap: 18px;
}
.card-meta li{
  background: #f8fafc;
  border: 1px dashed rgba(2,6,23,.08);
  padding: 10px 14px;
  border-radius: var(--radius-s);
  min-width: 210px;
}
.meta-label{
  display:block;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 2px;
}
.meta-value{
  font-weight: 600;
}

/* stackowanie na mobile */
@media (max-width: 820px){
  .card-head{
    flex-direction: column;
    align-items: flex-start;
  }
  .card-meta{
    grid-auto-flow: row;
    width: 100%;
  }
  .card-meta li{
    width: 100%;
  }
}

/* ==============================
   HEADER (mniejsze logo + link wstecz)
============================== */
.form-header{
  max-width: 1100px;
  margin: 44px auto 0;      /* odsunięcie w dół, by pod przyciskiem było osobno */
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.back-home-subtle{
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;
}

.logo-header img{
  height: 40px;              /* mniejsze logo */
  width: auto;
  display:block;
}

@media (max-width:560px){
  .logo-header img{ height: 30px; } /* na małych wraca do 30px */
}


.btn-back-home-subtle{
  display:inline-block;
  font-size: 14px;
  text-decoration:none;
  color: var(--brand);
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(15,118,110,.15);
  background:#fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  transition: .2s ease;
}
.btn-back-home-subtle:hover{
  border-color: rgba(15,118,110,.25);
  transform: translateY(-1px);
}


@media (max-width: 820px){
  .step { scroll-margin-top: 12px; } /* działa z scrollIntoView */
}



/* MOBILE: pionowy układ przycisków, Dalej/Wyślij nad Wstecz + większy odstęp */
@media (max-width: 820px){
  .actions{
    flex-direction: column;        /* zamiast column-reverse */
    align-items: stretch;
    gap: 14px;                     /* odstęp między przyciskami */
    padding-bottom: max(12px, env(safe-area-inset-bottom)); /* iPhone safe area */
  }
  .btn{ 
    width: 100%; 
    padding: 14px 16px; 
  }
  /* Kolejność – Next/Submit na górze, Back na dole */
  #btn-next, #btn-submit{ order: 1; }
  #btn-back{ 
    order: 2; 
    margin-top: 6px;               /* dodatkowe „odsunięcie” od Dalej */
  }
}


/* zamiast content:"Wybrano: "; */
.range-output::before { content: ""; }


.brand-wrap{
  display:flex;
  align-items:center;
  gap: 14px;
  min-width: 0;              /* lepsze zawijanie na wąskich */
}

.brand-tagline{
  margin:0;
  font-weight:600;
  color:#0b1220;
  font-size: clamp(13px, 2.1vw, 16px); /* było max 14px */
  line-height: 1.35;
  white-space: normal;
}

/* Układ mobilny – hasło pod logo */
@media (max-width:700px){
  .form-header{ align-items:flex-start; }
  .brand-wrap{
    flex-direction: column;
    align-items:flex-start;
    gap:6px;
  }
}



@media (max-width:560px){
  .form-header{ margin-top: 52px; }  /* było 44px */
}

.card-title .title-lead{ display:block; }
.card-title .title-rest{ display:block; }

.brand-tagline{
  margin:0;
  font-weight:600;
  color:#0b1220;
  font-size: clamp(13px, 2.1vw, 16px);
  line-height: 1.35;
  white-space: normal;
}

/* obok logo – dwa poziomy tekstu */
.brand-wrap{ display:flex; align-items:center; gap:14px; min-width:0; }

.brand-text{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}

.brand-headline{
  font-weight:700;
  font-size: clamp(14px, 2.2vw, 18px);
  color:#0b1220;
  line-height:1.25;
}

.brand-subline{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color: var(--muted);
  font-size: clamp(12px, 1.8vw, 14px);
  line-height:1.3;
}

/* badge zgodności z normą */
.compliance-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:2px 8px;
  border-radius:9999px;
  background:#ecfeff;
  color:#0e7490;
  border:1px solid rgba(14,116,144,.25);
  font-weight:600;
  font-size:12px;
  white-space:nowrap;
}
.compliance-badge svg{ fill: currentColor; }

/* mobile – slogan pod logo */
@media (max-width:700px){
  .brand-wrap{ flex-direction:column; align-items:flex-start; gap:6px; }
}


/* Druga linia – kapsułki w obwódce */
.brand-subline{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:2px;
  color: var(--muted);
  font-size: clamp(12px, 1.8vw, 14px);
  line-height:1.3;
}

.chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:2px 10px;
  border-radius:9999px;
  background:#ecfeff;               /* delikatne tło jak wcześniej */
  border:1px solid rgba(14,116,144,.25);
  color:#0e7490;
  font-weight:600;
  white-space:nowrap;
}
.chip svg{ fill: currentColor; }

/* ciaśniej na bardzo wąskich */
@media (max-width:480px){
  .chip{ padding:2px 8px; font-size:12px; }
}


/* ---------- Helper intro wewnątrz grupy ---------- */
.helper-intro{
  margin: 0 0 10px;
}

/* ---------- Modal dokumentów ---------- */
body.modal-open{
  overflow:hidden;
}
.modal{
  position:fixed;
  inset:0;
  z-index:1000;
}
.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.55);
}
.modal-dialog{
  position:relative;
  z-index:1;
  width:min(960px, calc(100vw - 24px));
  margin:24px auto;
  background:#fff;
  border-radius:16px;
  box-shadow:0 20px 60px rgba(2,6,23,.28);
  overflow:hidden;
}
.modal-dialog--legal{
  height:min(88vh, 900px);
  display:flex;
  flex-direction:column;
}
.modal-head,
.modal-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid #e5e7eb;
  background:#fff;
}
.modal-foot{
  border-bottom:0;
  border-top:1px solid #e5e7eb;
}
.modal-body{
  padding:0;
  flex:1 1 auto;
  min-height:0;
  background:#f8fafc;
}
.modal-close{
  appearance:none;
  border:0;
  background:transparent;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  color:#0f172a;
}
.legal-doc-frame{
  width:100%;
  height:100%;
  min-height:60vh;
  border:0;
  background:#fff;
}
@media (max-width:640px){
  .modal-dialog{
    width:calc(100vw - 12px);
    margin:6px auto;
    border-radius:12px;
  }
  .modal-head,
  .modal-foot{
    padding:12px;
  }
  .modal-foot{
    flex-direction:column-reverse;
    align-items:stretch;
  }
}


/* ==========================================================
   v3.3 — porządkowanie całego dokumentu (wszystkie kroki)
   ========================================================== */

/* Spójniejsze karty grup w całym formularzu */
.form-group[data-type="group"]{
  background:#f8fffb;
  border:1px solid #86efac;
  border-left:4px solid #16a34a;
  border-radius:14px;
  padding:14px;
  box-shadow:none;
}

.form-group[data-type="group"] > label,
.form-group[data-type="group"] > .group-title,
.form-group[data-type="group"] > legend{
  margin-bottom:10px;
}

.form-group[data-type="group"] > .helper{
  margin:4px 0 12px;
  padding:8px 10px;
  background:#ffffff;
  border:1px dashed #cbd5e1;
  border-radius:10px;
}

/* Dzieci grup nie powinny wyglądać jak przypadkowe małe kafelki */
.form-group[data-type="group"] .form-group.child-of{
  background:#ffffff;
  border:1px solid #d9f99d;
  border-left:3px solid #22c55e;
  margin-top:10px;
}

/* Spójny odstęp między elementami grupy */
.form-group[data-type="group"] .grid,
.form-group[data-type="group"] .group-grid,
.form-group[data-type="group"] .group-ctr{
  gap:12px;
}

/* Checkboxy i radio czytelniejsze w całym dokumencie */
.option-label{
  display:inline-block;
  padding:2px 6px;
  border-radius:8px;
}
.form-group fieldset > div > label{
  padding:2px 0;
}

/* Lepsze osadzenie helperów i opisów przy pytaniach */
.form-group > .helper:first-of-type{
  margin-top:0;
}

/* Kroki z dużą liczbą pól: ciaśniej ale czytelnie */
.step > .grid{
  gap:16px;
}

/* Sekcje techniczne i logistyczne – mniej pustej przestrzeni */
.form-group[data-type="group"] .form-control,
.form-group[data-type="group"] select,
.form-group[data-type="group"] textarea,
.form-group[data-type="group"] input[type="date"],
.form-group[data-type="group"] input[type="time"],
.form-group[data-type="group"] input[type="range"]{
  margin-top:2px;
}

/* Mobile: wszystkie grupy bardziej zwarte w całym formularzu */
@media (max-width: 820px){
  .step > .grid{ gap:14px; }

  .form-group:not(.child-of){
    padding:12px;
    border-radius:12px;
  }

  .form-group[data-type="group"]{
    padding:12px;
  }

  .form-group[data-type="group"] .form-group.child-of{
    padding:10px;
    margin-top:8px;
  }

  .form-group > label,
  .form-group legend{
    font-size:1rem;
  }

  .helper{
    font-size:.92rem;
    line-height:1.45;
  }
}


/* v3.4 additions: attachment summary, estimate box, autosave note, denser visual groups */
.autosave-note{
  margin: 10px 0 18px;
  padding: 10px 12px;
  border: 1px solid #dbeafe;
  background: #f8fbff;
  border-radius: 10px;
  color: #334155;
}

#area-box{
  margin-top: 12px;
}
.estimate-box{
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #dbeafe;
  background: #f8fbff;
  border-radius: 10px;
}
.estimate-title{
  font-weight: 700;
  margin-bottom: 4px;
}
.estimate-value{
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f766e;
}
.estimate-sub{
  margin-top: 4px;
}

.attachments-summary-box{
  margin-top: 12px;
  background: #fff;
}
.attachments-summary-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding: 6px 0 10px;
  color:#0f172a;
}
.attachments-summary-list{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
}
.attachments-summary-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#f8fafc;
}
.attachments-summary-item .icon{
  font-size: 20px;
  line-height: 1;
}
.attachments-summary-item .meta{
  min-width:0;
}
.attachments-summary-item .name{
  font-weight:600;
  word-break: break-word;
}
.attachments-summary-item .src{
  color:#64748b;
  font-size:.875rem;
  margin-top:2px;
}

/* 2-column option grids for richer checklists */
.form-group[data-qid="desired-elements"] fieldset > div,
.form-group[data-qid="decorative-elements-options"] fieldset > div,
.form-group[data-qid="additional-equipment"] fieldset > div {
  display:grid;
  grid-template-columns: 1fr;
  gap:8px 14px;
}
@media (min-width:720px){
  .form-group[data-qid="desired-elements"] fieldset > div,
  .form-group[data-qid="decorative-elements-options"] fieldset > div,
  .form-group[data-qid="additional-equipment"] fieldset > div {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

/* Materiały do udostępnienia - delikatne wyróżnienie */
.form-group[data-qid="building-resources-group"] > label,
.form-group[data-qid="upload-photos-quick"] > label,
.form-group[data-qid="final-attachments"] > label{
  letter-spacing: .1px;
}


/* v3.5 compact stepper / single-column checkboxes / better alignment */
#autosave-note,.autosave-note{display:none !important;}
.helper-intro{margin:6px 0 12px; padding:8px 10px; background:#ffffff; border:1px dashed #cbd5e1; border-radius:10px;}
.form-group[data-qid="dimensions"] .helper-intro{margin-top:0;}
.form-group[data-qid="dimensions"] > label + .helper-intro{margin-bottom:12px;}
.form-group[data-qid="dimensions"] .grid{margin-top:0;}
.form-group fieldset > div{display:block !important;}
.form-group fieldset > div > label{display:flex !important; align-items:flex-start; gap:8px;}
.form-group[data-qid="desired-elements"] fieldset > div,
.form-group[data-qid="decorative-elements-options"] fieldset > div,
.form-group[data-qid="additional-equipment"] fieldset > div,
.form-group[data-qid="installation-media"] fieldset > div,
.form-group[data-qid="contact-preference-time"] fieldset > div{display:block !important; grid-template-columns:1fr !important;}
.form-group[data-qid="contact-group"] .form-group.child-of{background:#fff; border:0; border-left:0; padding:0; margin-top:10px; box-shadow:none;}
.form-group[data-qid="contact-group"] .form-group.child-of select,
.form-group[data-qid="contact-group"] .form-group.child-of .form-control{margin-top:6px;}
#progress-step-counter,.progress-step-counter{display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:#ecfeff; color:#0e7490; font-weight:800;}
#progress-percent,.progress-percent{display:inline-block; margin-left:8px; font-weight:800; color:#0f766e;}
#progress-step-title,.progress-step-title{display:block; margin-top:8px; font-size:1.35rem; font-weight:800; color:#0f172a;}
.actions .btn{min-height:48px; display:inline-flex; align-items:center; justify-content:center;}
.form-group > label strong, .form-group legend{line-height:1.35;}
#area-box,.area-box{margin-top:14px; padding:14px 16px; border:2px solid #99f6e4; border-radius:12px; background:#f0fdfa;}
#area-box .area-title,.area-box .area-title{font-weight:800; color:#0f172a; text-transform:uppercase; letter-spacing:.3px; font-size:.85rem;}
#area-box .area-value,.area-box .area-value{font-size:2rem; line-height:1.1; font-weight:900; color:#0f766e; margin-top:6px;}
#area-box .area-sub,.area-box .area-sub{margin-top:4px; color:#64748b;}
.file-ui{margin-top:10px;}
.file-top{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:10px;}
.file-upload,.file-add,.file-remove{appearance:none; border:1px solid #cbd5e1; background:#fff; border-radius:10px; padding:9px 12px; cursor:pointer; font-weight:600;}
.file-upload{background:#0f766e; border-color:#0f766e; color:#fff;}
.file-add:hover,.file-remove:hover{border-color:#94a3b8;}
.file-list,.file-server{display:grid; gap:10px; margin-top:10px;}
.file-row{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid #e5e7eb; border-radius:10px; background:#fff;}
.file-left{display:flex; align-items:center; gap:10px; min-width:0;}
.file-thumb{width:52px; height:52px; border-radius:10px; background:#f8fafc; border:1px solid #e5e7eb; display:flex; align-items:center; justify-content:center; overflow:hidden; font-size:.75rem; font-weight:700; color:#64748b;}
.file-thumb img{width:100%; height:100%; object-fit:cover;}
.file-meta{min-width:0;}
.file-name{font-weight:700; word-break:break-word;}
.file-size,.file-link,.file-empty,.file-hint,.file-upload-status{color:#64748b;}
.file-server-title{font-weight:800; margin-top:4px;}
#stepper,.stepper{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; width:100%;}
.stepper-item,.step-pill{min-width:0;}
.stepper-name,.step-pill .label{font-size:.82rem; line-height:1.2; text-align:center;}
@media (max-width:980px){#stepper,.stepper{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:680px){#stepper,.stepper{grid-template-columns:repeat(3,minmax(0,1fr));}}


/* v2.25 progress/stepper cleanup */
#stepper,.stepper{
  list-style:none !important;
  padding:0 !important;
  margin:0 auto 12px !important;
  width:100%;
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px;
}
#stepper li,.stepper li,.stepper-item,.step-pill{
  list-style:none !important;
}
.stepper-item,.step-pill{
  background:#f8fffb;
  border:1.5px solid #86efac;
  border-radius:14px;
  padding:10px 8px;
  min-height:84px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-sizing:border-box;
}
.stepper-item.active,.step-pill.active,.step-pill.is-active{border-color:#0f766e; box-shadow:0 0 0 2px rgba(15,118,110,.08) inset;}
.stepper-item.done,.step-pill.done{background:#ecfdf5;}
.stepper-btn,.step-pill .num{
  width:34px; height:34px; border-radius:999px; border:0;
  background:#0f766e; color:#fff; font-weight:800; display:inline-flex;
  align-items:center; justify-content:center; box-shadow:none; margin:0;
}
.stepper-name,.step-pill .label{font-size:.82rem; line-height:1.2; text-align:center; font-weight:700; color:#0f172a;}
#progress-step-counter,.progress-step-counter{display:flex !important; justify-content:center; margin:0 auto 8px !important; text-align:center; width:max-content;}
#progress-step-title,.progress-step-title{text-align:center !important; margin:0 auto 10px !important;}
@media (max-width:980px){#stepper,.stepper{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:680px){#stepper,.stepper{grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px;} .stepper-item,.step-pill{min-height:74px; padding:8px 6px;} .stepper-btn,.step-pill .num{width:30px;height:30px;} .stepper-name,.step-pill .label{font-size:.74rem;}}

/* v2.25 mobile file previews + reminder */
.file-reminder{margin-top:8px; padding:8px 10px; border:1px solid #fbbf24; background:#fffbeb; color:#92400e; border-radius:10px; font-weight:700;}
@media (max-width:680px){
  .file-thumb{display:none !important;}
  .file-row{padding:8px 10px;}
  .file-meta{min-width:0;}
  .file-name{font-size:.92rem; word-break:break-word;}
}


/* v2.26 overrides */
#form-helper{display:none !important;}
.progress-top{display:flex;justify-content:center;align-items:center;margin:4px 0 14px;}
.progress-top-left{text-align:center;width:100%;}
.progress-meta{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 auto 10px;}
#progress-step-counter,.progress-step-counter{background:#ecfeff;color:#0e7490;border:1px solid #bae6fd;padding:10px 16px;border-radius:999px;font-weight:800;}
#progress-percent,.progress-percent{background:#f8fafc;color:#0f766e;border:1px solid #cbd5e1;padding:8px 12px;border-radius:999px;font-weight:900;min-width:74px;text-align:center;}
.progress-dot{display:none !important;}
#progress-step-title,.progress-step-title{font-size:2rem;line-height:1.1;font-weight:900;color:#0f172a;margin:0 auto 12px !important;text-align:center;}
#stepper,.stepper{margin:0 auto 16px !important;align-items:stretch;}
.stepper-item{background:#f8fafc;border:1.5px solid #d1d5db;min-height:92px;transition:.2s ease;}
.stepper-item .stepper-btn{background:#94a3b8;color:#fff;}
.stepper-item .stepper-name{color:#475569;display:flex;align-items:center;justify-content:center;min-height:38px;}
.stepper-item.done{background:#f0fdf4;border-color:#bbf7d0;}
.stepper-item.done .stepper-btn{background:#10b981;}
.stepper-item.done .stepper-name{color:#166534;}
.stepper-item.active{background:#ffffff;border-color:#0f766e;box-shadow:0 0 0 2px rgba(15,118,110,.08) inset,0 6px 16px rgba(15,118,110,.08);}
.stepper-item.active .stepper-btn{background:#0f766e;}
.stepper-item.active .stepper-name{color:#0f172a;}
.stepper-item.locked{background:#f8fafc;border-color:#e5e7eb;opacity:1;}
.stepper-item.locked .stepper-btn{background:#cbd5e1;color:#334155;}
.stepper-item.locked .stepper-name{color:#64748b;}
.progress-wrap{margin-top:10px;}
.progress-bar{height:10px;background:#e2e8f0;}
.progress-bar>span{background:linear-gradient(90deg,#0f766e,#14b8a6);}

/* landing */
#form-intro{padding:8px 0 4px;}
.intro{display:grid;gap:28px;}
.intro-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px;align-items:start;}
.intro-copy{background:linear-gradient(180deg,#ffffff 0%,#f8fffb 100%);border:1px solid #d1fae5;border-radius:18px;padding:24px 24px 22px;box-shadow:0 12px 28px rgba(15,118,110,.05);}
.intro-title{margin:0 0 12px;font-size:clamp(30px,4vw,42px);line-height:1.05;font-weight:900;color:#0f172a;}
.intro-lead{font-size:1.08rem;line-height:1.65;color:#334155;max-width:62ch;}
.intro-points{margin:18px 0 0;padding-left:0;list-style:none;display:grid;gap:10px;}
.intro-points li{display:flex;align-items:center;gap:10px;font-weight:600;color:#0f172a;}
.dot-ok{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#ecfdf5;color:#059669;font-weight:900;}
.intro-cta{margin-top:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.btn-accent,.btn-start{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;border:0;border-radius:16px;padding:16px 24px;font-size:1.08rem;font-weight:900;box-shadow:0 12px 28px rgba(15,118,110,.22);}
.btn-accent:hover,.btn-start:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(15,118,110,.28);}
.intro-hint{color:#475569;font-weight:600;}
.mini-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.mini-step{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 2px rgba(2,6,23,.04);}
.mini-step-num{display:inline-flex;width:30px;height:30px;border-radius:999px;align-items:center;justify-content:center;background:#ecfeff;color:#0e7490;font-weight:900;}
.mini-step-txt{font-weight:700;color:#0f172a;line-height:1.2;}
.realizations{margin-top:8px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:20px;}
.realizations-head{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.realizations-title{margin:0;font-size:1.4rem;font-weight:900;color:#0f172a;}
.realizations-sub{margin:0;color:#475569;}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.gallery-item{appearance:none;border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:0;overflow:hidden;cursor:pointer;box-shadow:0 4px 12px rgba(2,6,23,.05);min-height:160px;position:relative;}
.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;}
.gallery-ph{position:absolute;left:12px;bottom:12px;background:rgba(15,23,42,.72);color:#fff;padding:6px 10px;border-radius:999px;font-size:.85rem;font-weight:800;z-index:2;}

/* upload tweaks */
.file-reminder{display:block;margin-top:8px;padding:10px 12px;border:1px solid #fbbf24;background:#fffbeb;color:#92400e;border-radius:12px;font-weight:800;}
.file-reminder.hidden{display:none !important;}
@media (max-width:680px){
  .file-thumb{width:18px;height:18px;border-radius:999px;}
  .file-thumb img{display:none !important;}
  .file-row{padding:8px 10px;align-items:flex-start;}
  .file-remove,.file-add,.file-upload{padding:8px 10px;font-size:.9rem;}
}
@media (max-width:980px){
  .intro-hero{grid-template-columns:1fr;}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:680px){
  #progress-step-title,.progress-step-title{font-size:1.55rem;}
  #stepper,.stepper{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stepper-item{min-height:82px;}
  .gallery{grid-template-columns:1fr;}
  .intro-copy{padding:18px;}
  .mini-steps{grid-template-columns:1fr;}
}


/* v2.27 landing + progress tuning */
#landing-steps,.mini-steps{display:none !important;}
.card-title{font-size:clamp(28px,4.1vw,44px) !important; line-height:1.06;}
.card-head{align-items:flex-start;}
.card-meta li{min-width:240px;}
.progress-meta{margin:0 auto 8px !important;}
#progress-step-counter,.progress-step-counter{background:#f8fafc !important; color:#0f172a !important; border:1px solid #dbe4ea !important; font-size:1rem !important; font-weight:700 !important;}
#progress-percent,.progress-percent{display:none !important;}
#progress-step-title,.progress-step-title{font-size:1.85rem !important; font-weight:800 !important; margin-bottom:14px !important;}
.stepper-item{background:#f8fafc !important; border-color:#e5e7eb !important;}
.stepper-item .stepper-btn{background:#cbd5e1 !important; color:#334155 !important;}
.stepper-item .stepper-name{color:#64748b !important; font-weight:700;}
.stepper-item.done{background:#f0fdf4 !important; border-color:#bbf7d0 !important;}
.stepper-item.done .stepper-btn{background:#10b981 !important; color:#fff !important;}
.stepper-item.done .stepper-name{color:#166534 !important;}
.stepper-item.active{background:#ffffff !important; border-color:#0f766e !important; box-shadow:0 0 0 2px rgba(15,118,110,.06) inset, 0 8px 18px rgba(15,118,110,.08) !important;}
.stepper-item.active .stepper-btn{background:#0f766e !important; color:#fff !important;}
.stepper-item.active .stepper-name{color:#0f172a !important;}
@media (max-width:980px){
  .card-meta{grid-auto-flow:row; width:100%;}
  .card-meta li{width:100%;}
}


/* v84: intro layout, active form header, stepper weight, auto-upload */
#form-intro .intro-badges:empty{display:none !important;}
#form-intro .intro-hero{grid-template-columns:minmax(0,1fr) !important;}
#form-intro .intro-copy{width:100%;max-width:none;min-height:100%;}
#form-intro .intro-title{max-width:16ch;}
.form-started .card-head{display:none !important;}
.form-started #form-intro{display:none !important;}

.stepper-item .stepper-name,
.step-pill .label,
.stepper-name{
  font-weight:400 !important;
}
.stepper-item.done .stepper-name,
.stepper-item.active .stepper-name{
  font-weight:400 !important;
}
.stepper-item.locked .stepper-name{
  font-weight:400 !important;
  color:#7b8794 !important;
}

.file-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.file-auto-info{color:#0f766e;font-weight:600;}
.file-upload-status.is-ok{color:#166534;}
.file-upload-status.is-warn{color:#9a3412;}
.file-upload-status.is-error{color:#b91c1c;}
.file-upload-status.is-busy{color:#0f172a;}
.file-list{margin-top:8px;}
.file-server{margin-top:12px;}
.file-server .file-row{background:#fff;}

@media (max-width: 980px){
  #form-intro .intro-title{max-width:none;font-size:clamp(2.1rem,7.8vw,3.2rem);}
  #form-intro .intro-copy{padding:20px 18px 18px;}
}

@media (max-width: 680px){
  .back-home-subtle,
  .btn-back-home-subtle{width:100%;}
  .btn-back-home-subtle{display:flex;justify-content:center;}
  #form-intro .intro-hero{gap:18px !important;}
  #form-intro .intro-copy{padding:18px 16px !important;border-radius:16px;}
  #form-intro .intro-title{font-size:clamp(1.9rem,10.2vw,2.8rem);line-height:1.04;}
  #form-intro .intro-points{gap:12px;}
  .stepper-item .stepper-name,.step-pill .label,.stepper-name{font-size:.72rem !important;font-weight:400 !important;}
}


/* v88: cleaned intro after removing empty intro-badges */
#form-intro .intro-hero{display:block !important;}
#form-intro .intro-copy{max-width:100% !important;}
#form-intro .intro-title{max-width:13ch !important;font-size:clamp(2.65rem,4.8vw,4.3rem);line-height:.97;}
#form-intro .intro-lead{max-width:62ch;}
#form-intro .intro-copy{padding:28px 28px 24px !important;}
#form-intro .intro-cta{align-items:center;gap:16px;flex-wrap:wrap;}
#form-intro .intro-hint{max-width:34ch;}
#form-intro .realizations{margin-top:22px;}
.card-head{align-items:flex-start;gap:24px;}
.card-head-text{flex:1 1 48%;min-width:280px;}
.card-meta{flex:1 1 360px;}
@media (max-width:980px){
  .card-head{gap:18px;}
  #form-intro .intro-title{max-width:none !important;font-size:clamp(2.2rem,8vw,3.2rem);}
  #form-intro .intro-copy{padding:22px 20px 18px !important;}
}
@media (max-width:680px){
  #form-intro .intro-copy{padding:18px 16px 16px !important;}
  #form-intro .intro-title{font-size:clamp(1.95rem,11vw,2.75rem);line-height:1.02;}
  #form-intro .intro-lead{font-size:1rem;line-height:1.6;}
  #form-intro .intro-cta{align-items:stretch;}
  #form-intro .intro-hint{max-width:none;}
}


/* v90: landing polish based on v88 */
#form-intro{
  overflow:hidden;
}
#form-intro .intro,
#form-intro .intro-hero,
#form-intro .realizations,
#form-intro .gallery{
  max-width:100%;
}
#form-intro .intro-copy{
  max-width:100%;
  margin:0 auto;
  text-align:center;
}
#form-intro .intro-title{
  max-width:16ch !important;
  margin:0 auto 14px;
  text-align:center;
}
#form-intro .intro-lead{
  max-width:64ch;
  margin:0 auto;
  text-align:center;
}
#form-intro .intro-points{
  max-width:420px;
  margin:20px auto 0;
}
#form-intro .intro-points li{
  justify-content:flex-start;
}
#form-intro .intro-cta{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
}
#form-intro .btn-start{
  min-width:min(100%, 320px);
  justify-content:center;
  margin:0 auto;
}
#form-intro .intro-hint{
  display:block;
  max-width:40ch;
  margin:0 auto;
  text-align:center;
}
#form-intro .realizations{
  width:100%;
  overflow:hidden;
}
#form-intro .gallery{
  width:100%;
}
#form-intro .gallery-item{
  min-width:0;
}
@media (max-width: 980px){
  #form-intro .intro-title{
    max-width:none !important;
  }
}
@media (max-width: 680px){
  #form-intro .intro-copy{
    padding:18px 14px 16px !important;
  }
  #form-intro .intro-points{
    max-width:none;
  }
  #form-intro .btn-start{
    width:100%;
    min-width:0;
  }
  #form-intro .intro-hint{
    max-width:none;
  }
}


/* v92: mocniejszy status auto-uploadu + tooltipy opcji */
.file-top{align-items:center;}
.file-upload-status{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:8px 14px;
  border-radius:999px;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.01em;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
}
.file-upload-status:empty{display:none;}
.file-upload-status.is-busy{
  background:#ecfeff;
  color:#0f766e;
  box-shadow:0 0 0 1px rgba(15,118,110,.12) inset;
  animation:fileUploadPulse 1s ease-in-out infinite;
}
.file-upload-status.is-ok{
  background:#ecfdf5;
  color:#166534;
  box-shadow:0 10px 24px rgba(22,101,52,.14);
  transform:scale(1.03);
}
.file-upload-status.is-warn{
  background:#fff7ed;
  color:#9a3412;
  box-shadow:0 10px 24px rgba(154,52,18,.12);
}
.file-upload-status.is-error{
  background:#fef2f2;
  color:#b91c1c;
  box-shadow:0 10px 24px rgba(185,28,28,.12);
}
@keyframes fileUploadPulse{
  0%,100%{transform:scale(1); box-shadow:0 0 0 0 rgba(15,118,110,.14);} 
  50%{transform:scale(1.04); box-shadow:0 0 0 10px rgba(15,118,110,0);} 
}
.tooltip-icon-inline{margin-left:6px; vertical-align:middle; position:relative; top:-1px;}
.option-label{display:inline-flex; align-items:center; gap:4px; flex-wrap:wrap;}
.tooltip-bubble-inline{max-width:320px; margin-top:8px;}
@media (max-width:980px){
  .file-upload-status{width:100%; justify-content:center; font-size:1rem; min-height:44px;}
  .tooltip-bubble-inline{max-width:100%;}
}


/* v93: większy checkbox zgody + lepsze wyrównanie */
.form-group[data-qid="consent"] fieldset.fieldset-no-legend,
.form-group-consent fieldset.fieldset-no-legend{margin-top:0;}
.form-group[data-qid="consent"] fieldset > div > label,
.form-group-consent fieldset > div > label{
  align-items:flex-start !important;
  gap:14px !important;
  margin:0 !important;
}
.form-group[data-qid="consent"] input[type="checkbox"],
.form-group-consent input[type="checkbox"]{
  width:22px;
  height:22px;
  min-width:22px;
  margin-top:2px;
  accent-color: var(--brand);
}
.form-group[data-qid="consent"] .option-label,
.form-group-consent .option-label{
  font-size:1.04rem;
  line-height:1.55;
}
.form-group[data-qid="consent"] .req-star,
.form-group-consent .req-star{display:none !important;}
@media (max-width: 768px){
  .form-group[data-qid="consent"] input[type="checkbox"],
  .form-group-consent input[type="checkbox"]{width:24px;height:24px;min-width:24px;}
  .form-group[data-qid="consent"] .option-label,
  .form-group-consent .option-label{font-size:1rem;}
}


/* v94: uproszczenie grup i uploadu */
.form-group > label.label-hidden{display:none !important;}
.form-group[data-qid="client-type-group"] > .grid > .form-group.child-of > label,
.form-group[data-qid="contact-group"] > .grid > .form-group.child-of > label{display:none !important;}
.form-group[data-qid="client-type-group"],
.form-group[data-qid="contact-group"]{padding:16px 16px 14px;}
.form-group[data-qid="client-type-group"] > label,
.form-group[data-qid="contact-group"] > label{margin-bottom:10px;}

.form-group[data-qid="room-details-timing"],
.form-group[data-qid="local-technical-details-group"]{grid-column:1 / -1;}
.form-group[data-qid="room-details-timing"]{margin-bottom:0;}
.form-group[data-qid="local-technical-details-group"]{margin-top:-6px;}
.form-group[data-qid="local-technical-details-group"] > label{margin-bottom:10px;}
.form-group[data-qid="local-technical-details-group"] .form-group.child-of{
  border:1px solid rgba(148,163,184,.22);
  background:#fff;
  border-radius:16px;
  padding:16px;
  box-shadow:none;
}
.form-group[data-qid="local-technical-details-group"] .form-group.child-of[data-type="group"]{
  background:#f8fbfc;
  border-color:rgba(148,163,184,.28);
}
.form-group[data-qid="local-technical-details-group"] .form-group.child-of[data-type="group"] > .grid > .form-group.child-of{
  background:#fff;
  border:0;
  padding:0;
  border-radius:0;
}
.form-group[data-qid="local-technical-details-group"] .form-group.child-of[data-type="group"] > .grid{gap:14px;}
.form-group[data-qid="local-technical-details-group"] .form-group.child-of legend,
.form-group[data-qid="local-technical-details-group"] .form-group.child-of > label strong{font-weight:700;}

.file-auto-info{margin:0 0 8px;}
.file-info{color:#64748b;}
.file-upload-status{font-weight:700; font-size:13px; min-height:20px; padding:0; margin-top:8px;}
.file-upload-status.is-busy, .file-upload-status.pulse{color:#0f766e; animation:uploadPulse 1.2s ease-in-out infinite;}
.file-upload-status.is-ok{color:#0f766e; background:rgba(20,184,166,.08); border:1px solid rgba(20,184,166,.18); padding:8px 10px; border-radius:12px;}
.file-upload-status.is-warn{color:#b45309; background:rgba(245,158,11,.08); border:1px solid rgba(245,158,11,.18); padding:8px 10px; border-radius:12px;}
.file-upload-status.is-error{color:#b91c1c; background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.18); padding:8px 10px; border-radius:12px;}
@keyframes uploadPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.7;transform:scale(1.02);}}

.attachments-summary-item{align-items:center; gap:12px;}
.attachments-summary-item .meta{min-width:0; flex:1;}
.attachments-summary-item .summary-remove{margin-left:auto; white-space:nowrap;}

.form-group[data-qid="final-attachments"] .helper{margin-top:10px;}

@media (max-width: 820px){
  .form-group[data-qid="local-technical-details-group"] .form-group.child-of{padding:14px;}
  .form-group[data-qid="local-technical-details-group"] .form-group.child-of[data-type="group"]{padding:14px;}
  .form-group[data-qid="local-technical-details-group"] .form-group.child-of[data-type="group"] > .grid > .form-group.child-of{padding:0;}
}


/* v95: lepszy NIP, suwak, upload i lżejsze grupy */
.form-group[data-qid="client-type-group"] > .grid > .form-group.child-of[data-qid="nip"] > label{
  display:block !important;
  margin-bottom:8px;
}
.form-group[data-qid="client-type-group"] > .grid > .form-group.child-of[data-qid="nip"] .form-control{
  margin-top:0;
}
.form-group[data-qid="client-type-group"] > .grid > .form-group.child-of[data-qid="nip"]{
  padding-top:2px;
}
.range-output.is-pristine{
  background:#fff7ed;
  border-color:#fdba74;
  color:#9a3412;
  box-shadow:0 0 0 3px rgba(251,146,60,.12);
  animation:rangePulse 1.8s ease-in-out infinite;
}
@keyframes rangePulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(251,146,60,.10); }
  50%{ box-shadow:0 0 0 6px rgba(251,146,60,.06); }
}
.file-upload-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid transparent;
  font-weight:700;
}
.file-upload-status.is-busy{
  background:#eff6ff;
  color:#1d4ed8;
  border-color:#bfdbfe;
}
.file-upload-status.is-ok{
  background:#ecfdf5;
  color:#166534;
  border-color:#86efac;
}
.file-upload-status.is-warn{
  background:#fff7ed;
  color:#9a3412;
  border-color:#fdba74;
}
.file-upload-status.is-error{
  background:#fef2f2;
  color:#b91c1c;
  border-color:#fecaca;
}
.file-upload-status.pulse{
  animation:fileStatusPulse 1.2s ease-in-out infinite;
}
@keyframes fileStatusPulse{
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.02); }
}
.file-hint.small{
  color:#64748b;
  line-height:1.45;
}
.file-empty.small{
  color:#64748b;
}
.attachments-summary-note.helper{
  margin-top:6px;
}
.form-group[data-qid="local-technical-details-group"]{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
  margin-top:8px;
}
.form-group[data-qid="local-technical-details-group"] > label{
  display:none !important;
}
.form-group[data-qid="local-technical-details-group"] > .grid{
  gap:12px;
}
.form-group[data-qid="local-technical-details-group"] .form-group.child-of{
  border:1px solid rgba(148,163,184,.18);
  background:#fff;
  border-radius:14px;
  padding:14px;
}
.form-group[data-qid="local-technical-details-group"] .form-group.child-of[data-type="group"]{
  background:#fff;
  border-color:rgba(148,163,184,.22);
}
.form-group[data-qid="local-technical-details-group"] .form-group.child-of[data-type="group"] > .group-title{
  margin-bottom:10px;
}
.form-group[data-qid="local-technical-details-group"] .form-group.child-of[data-type="group"] > .grid > .form-group.child-of{
  border:0;
  background:transparent;
  padding:0;
}
@media (max-width: 767px){
  .range-output{
    display:flex;
    width:100%;
  }
  .form-group[data-qid="local-technical-details-group"] .form-group.child-of{
    padding:12px;
    border-radius:12px;
  }
}


/* v96: lżejsze pola zależne + subtelne oznaczenie wymaganych */
.form-group.child-of{
  background:#f8fafc;
  border:1px solid rgba(148,163,184,.28);
  border-left:3px solid #cbd5e1;
  border-radius:12px;
  padding:12px 14px;
}
.form-group.child-of.invalid{border-left-color:var(--danger) !important;}
.req-hint{
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:2px 7px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.01em;
  vertical-align:middle;
}
.form-group.invalid .req-hint{background:#fef2f2;color:#b91c1c;}
.form-group[data-type="group"] .form-group.child-of{
  background:#f8fafc;
  border-color:rgba(148,163,184,.24);
  border-left-color:#cbd5e1;
}
.form-group[data-type="group"] .form-group.child-of[data-type="group"]{background:#f8fafc;}
.form-group[data-qid="local-technical-details-group"] .form-group.child-of,
.form-group[data-qid="local-technical-details-group"] .form-group.child-of[data-type="group"]{
  background:#f8fafc;
  border-color:rgba(148,163,184,.24);
}
.realization-time-note{
  margin-top:10px;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  color:#1e3a8a;
}
@media (max-width:767px){
  .req-hint{font-size:.7rem; padding:2px 6px;}
  .form-group.child-of{padding:12px;}
}

/* v96: mocniejszy komunikat przy suwaku */
.range-help, .range-prompt, .range-output.is-pristine{font-weight:700;}
.range-help, .range-prompt{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff7ed;
  color:#9a3412;
  border:1px solid #fdba74;
  box-shadow:0 0 0 3px rgba(251,146,60,.08);
}


/* v97: mobile selects, range value above slider, lepsze pola czasu */
@media (max-width: 767px){
  select,
  .form-control,
  input[type="date"],
  input[type="time"]{
    min-height: 50px;
    font-size: 16px;
    line-height: 1.3;
  }

  select{
    padding-right: 40px;
    background-position: right 12px center;
    background-size: 14px;
  }

  select option{
    font-size: 16px;
    line-height: 1.4;
  }

  .form-group[data-type="range"]{
    display:flex;
    flex-direction:column;
  }
  .form-group[data-type="range"] > label{order:0;}
  .form-group[data-type="range"] > input[type="range"]{order:1;}
  .form-group[data-type="range"] > .range-output{
    order:2;
    width:100%;
    margin-top:8px;
    margin-bottom:0;
  }
  .form-group[data-type="range"] > .range-conditional-note{order:3;}
  .form-group[data-type="range"] > .helper{order:4;}
  .form-group[data-type="range"] > .error{order:5;}

  input[type="time"]{
    letter-spacing:.02em;
  }
}

/* Ustaw helper dla czasu montażu stabilniej */
.form-group[data-qid="installation-start-time"],
.form-group[data-qid="installation-end-time"]{
  overflow:visible;
}


/* v98 overrides */
@media (max-width: 768px){
  body.form-started .brand-wrap{justify-content:center !important; width:100% !important; flex-direction:column !important; align-items:center !important;}
  body.form-started .brand-text,
  body.form-started .back-home-subtle,
  body.form-started .card-head{display:none !important;}
  body.form-started .form-header{justify-content:center !important; align-items:center !important; margin-top:8px !important; padding-top:0 !important;}
  body.form-started .logo-header{margin:0 auto !important; display:block !important;}
  body.form-started .logo-header img{display:block; margin:0 auto; max-height:38px; width:auto;}
  body.form-started #stepper,
  body.form-started .stepper{display:none !important;}
  body.form-started #progress-step-counter,
  body.form-started .progress-step-counter,
  body.form-started #progress-percent{display:inline-flex !important;}
}

/* calmer neutral cards instead of green */
.form-group:not(.invalid),
.attachments-summary-box,
.file-ui-wrap,
.group-card,
fieldset.form-group{
  border-color:#dbe3ea !important;
  background:#fafbfc !important;
  box-shadow:none !important;
}
.form-group.child-of,
.form-group[data-show-if],
.form-group .form-group,
.form-group fieldset{
  border-color:#e3e8ee !important;
  background:#f8fafc !important;
}
.form-group > label,
.form-group legend{color:#0f172a !important;}
.form-group.required > label::after,
.form-group.required legend::after,
.form-group[data-required="1"] > label::after,
.form-group[data-required="1"] legend::after{content:' wymagane'; font-weight:500; font-size:.72rem; color:#64748b; margin-left:6px;}
.file-reminder{display:none !important;}
.attachments-summary-note.helper{color:#64748b !important;}


.modal-dialog--gallery{
  width:min(1100px, calc(100vw - 24px));
  background:#0f172a;
}
.modal-body--gallery{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:#020617;
}
.gallery-modal-img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:min(82vh, 900px);
  margin:0 auto;
  border-radius:14px;
  box-shadow:0 18px 48px rgba(0,0,0,.35);
  background:#fff;
}
.realization-time-note{
  margin-top:10px;
  padding:12px 14px;
  border:1px solid #dbe1e7;
  border-radius:12px;
  background:#f8fafc;
  color:#0f172a;
}
.realization-time-note strong{
  display:block;
  font-size:1.02rem;
  line-height:1.3;
}
.realization-time-note-label{
  display:block;
  margin-bottom:4px;
  color:#64748b;
  font-size:.86rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
}


/* v103.1 / v106 contact dependent groups + mobile refinement */
.form-group[data-type="group"]{
  background:#f8fafc;
  border:1px solid #dbe1ea;
  border-left:3px solid #cbd5e1;
  border-radius:14px;
  padding:14px;
}
.form-group[data-type="group"] > .group-title,
.form-group[data-type="group"] > label,
.form-group[data-type="group"] > legend{ color:#0f172a; }
.form-group[data-type="group"] > .helper{
  background:#fff;
  border:1px dashed #d7dee8;
}
.form-group[data-type="group"] .form-group.child-of{
  background:#f8fafc;
  border:1px solid #dde4ec;
  border-left:3px solid #cbd5e1;
}
.form-group[data-qid="client-type-group"],
.form-group[data-qid="contact-group"]{
  background:#f8fafc;
  border:1px solid #dbe1ea;
  border-left:3px solid #cbd5e1;
}
.form-group[data-qid="client-type-group"] > .group-title,
.form-group[data-qid="contact-group"] > .group-title{ margin-bottom:10px; }
.form-group[data-qid="client-type-group"] .child-of,
.form-group[data-qid="contact-group"] .child-of{ margin-top:10px; }

/* height range helper */
.range-conditional-note{
  margin-top:10px;
  padding:10px 12px;
  border-radius:10px;
  background:#f8fafc;
  border:1px solid #dbe1ea;
  color:#334155;
  font-size:.95rem;
  font-weight:600;
}
.range-conditional-note strong{ color:#0f172a; }

.range-output.is-editable{ cursor:text; }
.range-output-display{ display:block; width:100%; }
.range-output-editor{
  width:100%;
  border:1px solid #99f6e4;
  border-radius:10px;
  padding:10px 12px;
  background:#fff;
  font:inherit;
  color:#0f172a;
}
.range-output.is-editing{
  background:#ecfeff;
  border-color:#67e8f9;
}


/* submit status stronger */
#submit-status{
  margin-top:10px;
  padding:12px 14px;
  border-radius:12px;
  background:#ecfeff;
  border:1px solid #a5f3fc;
  color:#0f766e;
  font-weight:700;
  min-height:48px;
}
#submit-status.is-error{
  background:#fef2f2;
  border-color:#fecaca;
  color:#b91c1c;
}
#submit-status.is-busy{
  background:#eff6ff;
  border-color:#bfdbfe;
  color:#1d4ed8;
  animation:dapalPulse 1.15s ease-in-out infinite;
}
@keyframes dapalPulse{0%,100%{box-shadow:0 0 0 0 rgba(29,78,216,.10)}50%{box-shadow:0 0 0 6px rgba(29,78,216,.08)}}

/* mobile header / progress */
@media (max-width:700px){
  .logo-header img{ height:38px !important; }
  #progress-step-counter,.progress-step-counter{
    background:#f0fdfa;
    color:#0f766e;
    border:1px solid #99f6e4;
    font-weight:900;
    box-shadow:0 4px 12px rgba(15,118,110,.08);
  }
  #progress-percent,.progress-percent,
  #progress-step-title,.progress-step-title,
  .progress-dot{ display:none !important; }
  .progress-top{ margin:0 0 10px; }
  .step > h2{ margin-top:0; }
  .form-header .brand-headline,
  .form-header .brand-subline,
  .back-home-subtle{ display:none !important; }
  .form-header{ justify-content:center; margin-top:24px; }
  .brand-wrap{ align-items:center; }
  .logo-header img{ margin:0 auto; }
}

/* attractions layout cleanup */
.form-group[data-qid="desired-elements-external"] fieldset > div > label,
.form-group[data-qid="desired-elements"] fieldset > div > label{
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr);
  column-gap:10px;
  row-gap:2px;
  align-items:start;
  padding:6px 0;
}
.form-group[data-qid="desired-elements-external"] .option-label,
.form-group[data-qid="desired-elements"] .option-label{
  display:inline-flex;
  align-items:flex-start;
  gap:8px;
  padding:0;
}
.form-group[data-qid="desired-elements-external"] .tooltip-icon-inline,
.form-group[data-qid="desired-elements"] .tooltip-icon-inline{
  margin-left:4px;
  transform:translateY(1px);
}
@media (max-width:700px){
  .form-group[data-qid="desired-elements-external"],
  .form-group[data-qid="desired-elements"]{ padding:12px; }
  .form-group[data-qid="desired-elements-external"] fieldset > div > label,
  .form-group[data-qid="desired-elements"] fieldset > div > label{
    grid-template-columns:20px minmax(0,1fr);
  }
}



/* v105: contact groups without visible card title + calmer gray dependent styling */
.form-group[data-qid="client-type-group"] > .group-title,
.form-group[data-qid="contact-group"] > .group-title,
.form-group[data-qid="client-type-group"] > label,
.form-group[data-qid="contact-group"] > label,
.form-group[data-qid="client-type-group"] > legend,
.form-group[data-qid="contact-group"] > legend{
  display:none !important;
}
.form-group[data-qid="client-type-group"],
.form-group[data-qid="contact-group"]{
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.form-group[data-qid="client-type-group"] > .grid,
.form-group[data-qid="contact-group"] > .grid{
  display:grid !important;
  gap:12px !important;
}
.form-group[data-qid="client-type-group"] > .grid > .form-group,
.form-group[data-qid="contact-group"] > .grid > .form-group{
  margin:0 !important;
}
.form-group[data-qid="client-type-group"] .form-group.child-of,
.form-group[data-qid="contact-group"] .form-group.child-of{
  background:#f8fafc !important;
  border:1px solid #dbe1ea !important;
  border-left:3px solid #cbd5e1 !important;
  border-radius:12px !important;
  padding:12px !important;
  margin-top:8px !important;
  box-shadow:none !important;
}
.form-group[data-qid="client-type-group"] .form-group.child-of > label,
.form-group[data-qid="contact-group"] .form-group.child-of > label{
  display:block !important;
}
.form-group[data-qid="client-type-group"] .form-group:not(.child-of),
.form-group[data-qid="contact-group"] .form-group:not(.child-of){
  background:#fafbfc !important;
  border:1px solid #dbe3ea !important;
  border-radius:14px !important;
  padding:14px !important;
  box-shadow:none !important;
}

/* global dependent blocks toned fully to gray */
.form-group.child-of{
  background:#f8fafc !important;
  border:1px solid #dbe1ea !important;
  border-left:3px solid #cbd5e1 !important;
  box-shadow:none !important;
}
.form-group.child-of.invalid{
  border-left-color:var(--danger) !important;
}

/* mobile refinements verified */
@media (max-width:700px){
  .logo-header img{ height:42px !important; }
  #progress-step-counter,.progress-step-counter{
    padding:8px 12px !important;
    border-radius:999px !important;
    font-size:.94rem !important;
  }
  #progress-percent,.progress-percent,
  #progress-step-title,.progress-step-title,
  .progress-dot{ display:none !important; }
  .form-group[data-qid="desired-elements-external"] fieldset > div > label,
  .form-group[data-qid="desired-elements"] fieldset > div > label{
    grid-template-columns:24px minmax(0,1fr) !important;
    column-gap:12px !important;
    padding:8px 0 !important;
  }
  .form-group[data-qid="desired-elements-external"] .tooltip-trigger,
  .form-group[data-qid="desired-elements"] .tooltip-trigger{
    transform:translateY(2px);
  }
  #submit-status{
    font-size:1rem !important;
    line-height:1.4 !important;
    padding:14px 16px !important;
  }
}


/* v107: krok 1 etykiety widoczne, neutralne grupy, mobile cleanup */
.form-group[data-qid="client-type-group"] > .group-title,
.form-group[data-qid="contact-group"] > .group-title,
.form-group[data-qid="client-type-group"] > label,
.form-group[data-qid="contact-group"] > label{
  display:none !important;
}
.form-group[data-qid="client-type-group"] > .grid > .form-group.child-of > label,
.form-group[data-qid="contact-group"] > .grid > .form-group.child-of > label{
  display:block !important;
  margin-bottom:8px !important;
}
.form-group[data-qid="client-type-group"],
.form-group[data-qid="contact-group"]{
  background:#f8fafc !important;
  border:1px solid #dbe3ea !important;
  box-shadow:none !important;
  padding:14px !important;
}
.form-group[data-qid="client-type-group"] > .grid,
.form-group[data-qid="contact-group"] > .grid{gap:10px !important;}
.form-group[data-qid="client-type-group"] .child-of,
.form-group[data-qid="contact-group"] .child-of{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin-top:0 !important;
  box-shadow:none !important;
}
.realization-time-note{ margin-top:14px !important; }
.attachments-summary-box .attachments-summary-note{ display:none !important; }
.attachments-summary-box > label{ margin-bottom:8px !important; }
.form-group[data-qid="final-attachments"]{ margin-top:12px !important; }
.form-group[data-qid="final-attachments"] > label{ margin-bottom:8px !important; }
.form-group[data-qid="investment-level"] .helper{ display:none !important; }
@media (max-width:768px){
  .container{padding-left:10px !important;padding-right:10px !important;}
  .card{padding-left:14px !important;padding-right:14px !important;}
  .form-group{padding:12px !important;}
  body.form-started .logo-header img{max-height:44px !important;}
  body.form-started #progress-percent,
  body.form-started .progress-percent,
  body.form-started .progress-dot{display:none !important;width:0 !important;min-width:0 !important;padding:0 !important;margin:0 !important;border:0 !important;overflow:hidden !important;}
  body.form-started #progress-step-title,
  body.form-started .progress-step-title{display:none !important;}
  .form-group[data-qid="desired-elements"] .option,
  .form-group[data-qid="desired-elements-external"] .option{align-items:flex-start !important; gap:10px !important;}
  .form-group[data-qid="desired-elements"] .option .option-label,
  .form-group[data-qid="desired-elements-external"] .option .option-label{line-height:1.35 !important;}
  .form-group[data-qid="desired-elements"] .option .tooltip-trigger,
  .form-group[data-qid="desired-elements-external"] .option .tooltip-trigger{margin-top:2px !important;}
}


/* v120: cleanup after submit, progress spacing, intro gallery links, image helpers */
.progress-top{
  margin: 14px 0 18px !important;
}
.progress-top-left{
  padding-top: 6px;
}
.progress-meta{
  gap: 12px !important;
  margin: 0 auto 12px !important;
}
#progress-step-counter,.progress-step-counter,
#progress-percent,.progress-percent{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(15,118,110,.14) !important;
  background:linear-gradient(180deg,#ffffff 0%,#f0fdfa 100%) !important;
  color:#0f172a !important;
  box-shadow:0 8px 22px rgba(15,118,110,.07);
}
#progress-step-counter,.progress-step-counter{
  font-weight:800 !important;
}
#progress-percent,.progress-percent{
  font-weight:700 !important;
}
@media (min-width:769px){
  #progress-step-title,.progress-step-title{
    display:none !important;
  }
}
@media (max-width:768px){
  .progress-top{
    margin: 10px 0 14px !important;
  }
  .progress-meta{
    gap: 8px !important;
    margin-bottom: 8px !important;
  }
  body.form-started .logo-header img{
    max-height:42px !important;
  }
}

.gallery-item{
  text-decoration:none;
}
.gallery-item::after{
  content:'Pełna galeria';
  position:absolute;
  right:12px;
  bottom:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(15,23,42,.72);
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.01em;
  z-index:2;
}
.gallery-item:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(2,6,23,.12);
}
.gallery-ph{
  display:none !important;
}

.help-media{
  width:100%;
  margin-top:14px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid #dbe4ea;
  background:#fff;
  box-shadow:0 10px 24px rgba(2,6,23,.05);
}
.help-media img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  margin:0;
}
.tooltip-bubble,
.tooltip-bubble-inline{
  width:100%;
  max-width:min(100%, 760px) !important;
}
.tooltip-bubble img.tooltip-image,
.tooltip-bubble-inline img.tooltip-image{
  display:block;
  width:100%;
  max-width:100% !important;
  height:auto;
  margin-top:10px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 8px 22px rgba(2,6,23,.18);
}
.zoomable-image{
  cursor:zoom-in;
}

.modal-dialog--image{
  width:min(1180px, calc(100vw - 24px));
  background:#0f172a;
}
.modal-body--image{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:#020617;
}
.image-lightbox-img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:min(82vh, 920px);
  margin:0 auto;
  border-radius:14px;
  box-shadow:0 18px 48px rgba(0,0,0,.35);
  background:#fff;
}

.thank-you-page{
  min-height:100vh;
  background:radial-gradient(circle at top, rgba(20,184,166,.10), transparent 38%), linear-gradient(180deg,#f8fafc 0%,#eef7f5 100%);
}
.thank-you-wrap{
  max-width:900px;
  margin:0 auto;
  padding:32px 16px 56px;
}
.thank-you-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(15,118,110,.12);
  background:rgba(255,255,255,.94);
  box-shadow:0 24px 70px rgba(15,23,42,.10);
}
.thank-you-card::before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:6px;
  background:linear-gradient(90deg,#0f766e,#14b8a6);
}
.thank-you-inner{
  padding:32px 24px 26px;
}
.thank-you-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:#ecfdf5;
  color:#047857;
  font-weight:800;
  font-size:.92rem;
}
.thank-you-title{
  margin:18px 0 12px;
  font-size:clamp(30px,4vw,46px);
  line-height:1.05;
  color:#0f172a;
}
.thank-you-lead{
  margin:0;
  font-size:1.06rem;
  line-height:1.7;
  color:#334155;
}
.thank-you-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:24px 0 18px;
}
.thank-you-point{
  padding:16px 18px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}
.thank-you-point strong{
  display:block;
  margin-bottom:6px;
  color:#0f172a;
}
.thank-you-note{
  margin:0 0 20px;
  padding:16px 18px;
  border-radius:18px;
  background:#fffbeb;
  border:1px solid #fde68a;
  color:#92400e;
}
.thank-you-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.thank-you-actions .btn{
  min-width:220px;
  justify-content:center;
}
@media (max-width:680px){
  .thank-you-wrap{
    padding:18px 10px 34px;
  }
  .thank-you-inner{
    padding:22px 16px 18px;
  }
  .thank-you-grid{
    grid-template-columns:1fr;
  }
  .gallery-item::after{
    right:10px;
    bottom:10px;
    font-size:.78rem;
  }
}


/* v121 landing cleanup + bento gallery */
.form-header{
  margin:44px auto 10px;
}
.brand-wrap{
  gap:0;
}
.card-head{
  margin:18px 0 10px;
}
.card-title,
.card-title .title-lead,
.card-title .title-rest{
  color:#0f172a !important;
}
.card-meta li{
  border:1px solid #e5e7eb !important;
  background:#f8fafc !important;
  border-radius:12px !important;
}
.intro-pre-title{
  margin:0 0 10px;
  font-size:.95rem;
  line-height:1.5;
  font-weight:700;
  color:#475569;
}
.intro-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  max-width:720px;
  margin:20px auto 0;
}
.intro-points li{
  min-height:48px;
}
.gallery-bento{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:180px;
  gap:14px;
  width:100%;
}
.gallery-bento .gallery-item{
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(2,6,23,.08);
  min-height:180px;
  position:relative;
}
.gallery-bento .gallery-item:nth-child(1){
  grid-column:span 2;
  grid-row:span 2;
}
.gallery-bento .gallery-item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1);
  transition:transform .6s ease;
}
.gallery-bento .gallery-item:hover img{
  transform:scale(1.08);
}
.gallery-bento .gallery-ph{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  display:block !important;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(15,23,42,.38);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:#fff;
  font-size:.88rem;
  font-weight:800;
  z-index:2;
}
@media (max-width:768px){
  .gallery-bento{
    display:flex;
    overflow-x:auto;
    flex-wrap:nowrap;
    gap:14px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding-bottom:4px;
  }
  .gallery-bento::-webkit-scrollbar{
    display:none;
  }
  .gallery-bento{
    scrollbar-width:none;
  }
  .gallery-bento .gallery-item{
    flex:0 0 85%;
    width:85%;
    height:260px;
    min-height:260px;
    scroll-snap-align:center;
  }
  .gallery-bento .gallery-item:nth-child(1){
    grid-column:auto;
    grid-row:auto;
  }
}
@media (max-width:640px){
  .intro-points{
    grid-template-columns:1fr;
  }
}


/* v122 landing polish */
.form-header{
  margin:42px auto 8px;
}
.logo-header img{
  height:46px !important;
}
.card-head{
  flex-direction:column;
  align-items:center !important;
  justify-content:flex-start;
  gap:18px;
  margin:20px 0 14px;
  text-align:center;
}
.card-head-text{
  width:100%;
  text-align:center;
}
.card-title{
  margin:0;
  text-align:center;
  font-size:clamp(2.2rem,5vw,3.8rem) !important;
  line-height:1.02;
}
.card-meta{
  width:100%;
  max-width:720px;
  grid-auto-flow:column;
  grid-template-columns:repeat(2,minmax(0,1fr));
  justify-content:center;
}
.card-meta li{
  min-width:0 !important;
  text-align:left;
  padding:14px 16px;
  background:#f8fafc !important;
}
#form-intro .intro-copy{
  padding:26px 24px 24px !important;
}
#form-intro .intro-title{
  max-width:15ch !important;
  font-size:clamp(2.35rem,4.2vw,3.75rem) !important;
  line-height:1.01;
}
#form-intro .intro-points{
  max-width:760px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:22px auto 0;
}
#form-intro .intro-points li{
  justify-content:flex-start;
  align-items:center;
  min-height:58px;
  padding:12px 14px;
  background:#ffffff;
  border:1px solid #dbe7ee;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(15,23,42,.05);
}
#form-intro .intro-cta{
  margin-top:22px;
}
.realizations{
  padding:22px;
}
.realizations-head{
  align-items:center;
  text-align:center;
  margin-bottom:16px;
}
.realizations-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--brand);
  text-decoration:none;
  font-weight:800;
  padding-bottom:2px;
  border-bottom:1px solid rgba(15,118,110,.22);
}
.realizations-link:hover{
  border-bottom-color:currentColor;
}
.gallery-bento .gallery-item{
  cursor:default;
}
.gallery-bento .gallery-ph{
  display:none !important;
}
@media (max-width:768px){
  .form-header{
    margin:54px auto 8px;
    padding:0 10px;
  }
  .logo-header img{
    height:42px !important;
  }
  .card-head{
    gap:14px;
    margin:16px 0 10px;
  }
  .card-title{
    font-size:clamp(1.95rem,10.6vw,2.95rem) !important;
  }
  .card-meta{
    grid-template-columns:1fr;
    grid-auto-flow:row;
    max-width:100%;
  }
  .card-meta li{
    width:100%;
  }
  #form-intro .intro-copy{
    padding:20px 16px 18px !important;
  }
  #form-intro .intro-title{
    max-width:none !important;
    font-size:clamp(2rem,9vw,2.9rem) !important;
  }
  #form-intro .intro-points{
    grid-template-columns:1fr;
    gap:10px;
    margin-top:18px;
  }
  #form-intro .intro-points li{
    min-height:54px;
    padding:12px 12px;
  }
  .realizations{
    padding:18px 14px;
  }
  .realizations-head{
    margin-bottom:12px;
  }
  .gallery-bento .gallery-item{
    flex:0 0 85%;
    width:85%;
    height:240px;
    min-height:240px;
  }
}
@media (max-width:480px){
  .logo-header img{
    height:40px !important;
  }
  .card-title{
    font-size:clamp(1.8rem,11vw,2.6rem) !important;
  }
  #form-intro .intro-title{
    font-size:clamp(1.8rem,10.8vw,2.55rem) !important;
    line-height:1.03;
  }
  .meta-value{
    font-size:1.04rem;
  }
}


/* v123 landing refinements */
.form-header{
  margin:40px auto 10px;
  justify-content:center;
}
.brand-wrap{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center !important;
  justify-content:center;
  text-align:center;
  gap:8px;
}
.logo-header{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.logo-header img{
  height:52px !important;
  width:auto;
}
.brand-tagline{
  margin:0;
  font-size:.86rem;
  line-height:1.35;
  font-weight:600;
  color:#64748b;
}
.card-head{
  gap:14px;
  margin:18px 0 16px;
}
.card-title{
  font-size:clamp(1.95rem,4.2vw,3.15rem) !important;
  line-height:1.06;
  letter-spacing:-.02em;
}
.card-meta{
  width:100%;
  max-width:720px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-flow:unset;
  align-items:start;
  justify-items:stretch;
  gap:16px;
}
.card-meta li{
  min-width:0 !important;
  width:100%;
  min-height:0 !important;
  height:auto !important;
  align-self:start !important;
  padding:14px 16px !important;
  display:block;
}
.meta-label{
  margin-bottom:4px;
}
.meta-value{
  display:block;
  line-height:1.35;
}
#form-intro .intro-copy{
  padding:24px 22px 22px !important;
}
#form-intro .intro-title{
  max-width:16ch !important;
  font-size:clamp(2.05rem,3.7vw,3.2rem) !important;
}
#form-intro .intro-points{
  margin:20px auto 0;
}
#form-intro .intro-hint{
  font-size:.82rem;
  line-height:1.25;
  color:#64748b;
  white-space:nowrap;
}
.realizations{
  padding:20px 20px 18px;
}
.realizations-head{
  align-items:flex-start;
  text-align:left;
  margin-bottom:14px;
}
.realizations-title{
  font-size:1rem;
  font-weight:800;
  letter-spacing:.02em;
  color:#64748b;
  opacity:.92;
}
.realizations-footer{
  margin-top:12px;
  display:flex;
  justify-content:center;
}
.realizations-link{
  font-size:.92rem;
  font-weight:700;
}
.gallery-bento .gallery-item .gallery-ph{
  display:none !important;
}

@media (max-width:768px){
  .form-header{
    margin:48px auto 8px;
    padding:0 12px;
  }
  .brand-tagline{
    display:none;
  }
  .logo-header img{
    height:44px !important;
  }
  .card-title{
    font-size:clamp(1.75rem,9vw,2.55rem) !important;
  }
  .card-meta{
    max-width:100%;
    grid-template-columns:1fr;
    gap:12px;
  }
  .card-meta li{
    padding:12px 14px !important;
  }
  #form-intro .intro-title{
    max-width:none !important;
    font-size:clamp(1.85rem,8.3vw,2.65rem) !important;
  }
  #form-intro .intro-hint{
    white-space:normal;
    font-size:.78rem;
    text-align:center;
  }
  .realizations{
    padding:18px 14px 16px;
  }
  .realizations-head{
    margin-bottom:10px;
  }
  .realizations-title{
    font-size:.95rem;
  }
  .realizations-footer{
    margin-top:10px;
  }
}
@media (max-width:480px){
  .logo-header img{
    height:40px !important;
  }
  .card-title{
    font-size:clamp(1.6rem,10vw,2.2rem) !important;
  }
  #form-intro .intro-copy{
    padding:18px 14px 16px !important;
  }
  #form-intro .intro-title{
    font-size:clamp(1.7rem,9.8vw,2.35rem) !important;
    line-height:1.04;
  }
}


/* v124 landing simplification */
.card-head.card-head-meta-only{
  margin:22px 0 18px;
  justify-content:center;
}
.card-meta.card-meta-3{
  max-width:860px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.card-meta.card-meta-3 li{
  min-height:0 !important;
}
.card-meta.card-meta-3 li:first-child{
  background:linear-gradient(180deg,#f0fdfa 0%, #ecfeff 100%);
  border-color:#99f6e4 !important;
}
.card-meta.card-meta-3 li:first-child .meta-label{
  color:#0f766e;
}
.card-meta.card-meta-3 li:first-child .meta-value{
  color:#0f172a;
}
#form-intro .intro-pre-title{
  display:none !important;
}
.gallery-item::after{
  content:none !important;
  display:none !important;
}
@media (max-width:768px){
  .card-head.card-head-meta-only{
    margin:18px 0 14px;
  }
  .card-meta.card-meta-3{
    grid-template-columns:1fr;
    gap:10px;
  }
}


/* v125 remove meta tiles and lift intro */
.card-head.card-head-meta-only{display:none !important;}
#form-intro{margin-top:8px;}
#form-intro .intro-hero{margin-top:0;}
#form-intro .intro-copy{padding-top:0;}
#form-intro .intro-points{grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:20px;}
#form-intro .intro-points li{padding:14px 16px; min-height:64px; align-items:flex-start;}
#form-intro .intro-points li .dot-ok{margin-top:2px; flex:0 0 auto;}
@media (max-width:900px){
  #form-intro .intro-points{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  #form-intro{margin-top:0;}
  #form-intro .intro-points{grid-template-columns:1fr;}
  #form-intro .intro-points li{min-height:auto; padding:12px 14px;}
}


/* v126 mobile/header/gallery refinements */
.back-home-subtle,
.btn-back-home-subtle{display:none !important;}
.form-header{
  margin:20px auto 8px !important;
  padding-top:0 !important;
}
.brand-wrap{
  padding-top:0;
}
.logo-header img{
  height:54px !important;
}
#form-intro .btn-start{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  line-height:1.15;
  text-align:center;
}
#form-intro .btn-start .btn-start-line-1,
#form-intro .btn-start .btn-start-line-2{
  display:block;
}
#form-intro .btn-start .btn-start-line-1{
  font-size:1.02em;
  font-weight:900;
}
#form-intro .btn-start .btn-start-line-2{
  font-size:.96em;
  font-weight:800;
}
.gallery-bento .gallery-item::after,
.gallery-item::after{
  content:none !important;
  display:none !important;
}
@media (max-width:768px){
  .form-header{
    margin:18px auto 8px !important;
    padding:0 12px !important;
  }
  .logo-header img{
    height:46px !important;
  }
  #form-intro{
    margin-top:12px !important;
  }
  #form-intro .intro-copy{
    margin-top:8px;
  }
  #form-intro .intro-title{
    margin-top:6px;
  }
  #form-intro .intro-cta{
    align-items:stretch;
  }
  #form-intro .btn-start{
    width:100%;
    padding:15px 18px;
    gap:4px;
  }
  #form-intro .btn-start .btn-start-line-1{
    font-size:1.06em;
  }
  #form-intro .btn-start .btn-start-line-2{
    font-size:.95em;
  }
  .gallery-bento{
    display:flex !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    flex-wrap:nowrap !important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:14px;
    padding:2px 2px 8px;
  }
  .gallery-bento::-webkit-scrollbar{
    display:none;
  }
  .gallery-bento{
    scrollbar-width:none;
  }
  .gallery-bento .gallery-item,
  .gallery-bento .gallery-item:nth-child(1){
    flex:0 0 85% !important;
    width:85% !important;
    height:240px !important;
    min-height:240px !important;
    grid-column:auto !important;
    grid-row:auto !important;
    scroll-snap-align:center;
  }
}
@media (max-width:480px){
  .form-header{
    margin:14px auto 6px !important;
  }
  .logo-header img{
    height:44px !important;
  }
  #form-intro{
    margin-top:16px !important;
  }
  #form-intro .intro-copy{
    margin-top:12px;
    padding-top:6px !important;
  }
  #form-intro .intro-title{
    margin-top:8px;
  }
  #form-intro .intro-hint{
    margin-top:2px;
    font-size:.74rem;
    text-align:center;
    white-space:nowrap;
  }
}


/* v127: landing cleanup + centered autosave/submit status */
.card-title{
  color:#0f172a !important;
}
.brand-wrap{
  justify-content:center;
}
.brand-tagline{
  display:none !important;
}
#form-intro .intro-copy{
  text-align:center;
}
.intro-pre-title{
  margin:0 0 14px;
  font-size:.98rem;
  line-height:1.55;
  font-weight:700;
  color:#475569;
  text-align:center;
}
.intro-meta-bar{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 24px;
}
.meta-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:6px 14px;
  border-radius:999px;
  background:#f8fafc;
  border:0;
  font-size:.85rem;
  color:#475569;
  font-weight:600;
}
.benefits-list{
  display:grid;
  grid-template-columns:auto auto;
  justify-content:center;
  gap:12px 32px;
  list-style:none;
  padding:0;
  margin:22px 0 32px;
}
.benefits-list li{
  display:flex;
  align-items:center;
  gap:10px;
  color:#0f172a;
  font-weight:600;
}
.benefits-list .dot-ok{
  width:20px;
  height:20px;
  background:transparent;
  color:#16a34a;
  font-size:1rem;
}
#form-intro .intro-points{
  display:none !important;
}
#submit-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:fit-content;
  max-width:min(100%, 560px);
  margin:10px auto 0 !important;
  padding:12px 18px;
}
#submit-status:empty{
  display:none;
}
.file-auto-info{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:fit-content;
  max-width:min(100%, 440px);
  margin:0 auto 8px;
  padding:8px 14px;
  border-radius:999px;
  background:#f8fafc;
  color:#0f766e;
  font-weight:700;
}
.actions + #submit-status{
  display:flex;
}
@media (max-width:640px){
  .benefits-list{
    grid-template-columns:1fr;
    justify-items:start;
    max-width:max-content;
    margin:22px auto 32px;
  }
  .intro-meta-bar{
    margin-bottom:20px;
  }
  .meta-pill{
    width:100%;
    max-width:100%;
  }
}


/* v128: intro/header refinements + upload text cleanup */
.brand-wrap{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.brand-subtitle{
  margin:0;
  max-width:720px;
  text-align:center;
  font-size:0.98rem;
  line-height:1.55;
  font-weight:700;
  color:#475569;
}
.intro-pre-title{
  display:none !important;
}
.intro-meta-bar{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin:0 0 26px;
}
.meta-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:9px 18px;
  border-radius:999px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 8px 18px rgba(15,23,42,.06);
  border:1px solid rgba(148,163,184,.16);
  font-size:.92rem;
  letter-spacing:.01em;
  color:#334155;
  font-weight:700;
}
.meta-pill:first-child{
  color:#1e3a8a;
}
.meta-pill:last-child{
  color:#0f766e;
}
.file-ui .file-hint{
  display:none !important;
}
.file-ui .file-reminder.hidden{
  display:none !important;
}
@media (max-width: 640px){
  .brand-subtitle{
    font-size:.92rem;
    line-height:1.5;
    padding:0 8px;
  }
  .intro-meta-bar{
    gap:10px;
    margin-bottom:22px;
  }
  .meta-pill{
    width:100%;
    max-width:420px;
    padding:10px 14px;
    font-size:.88rem;
  }
}

/* v130: mobile meta pills + stronger gallery swipe cue */
.gallery-swipe-hint{
  display:none;
  margin:0 0 12px;
  color:#64748b;
  font-size:.92rem;
  line-height:1.45;
  font-weight:700;
  text-align:left;
}

@media (max-width:640px){
  .intro-meta-bar{
    width:100%;
    align-items:stretch;
    gap:10px;
  }
  .meta-pill{
    width:100%;
    max-width:none !important;
    min-height:auto;
    justify-content:flex-start;
    text-align:left;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
    line-height:1.35;
    padding:11px 14px;
    border-radius:16px;
  }
  .gallery-swipe-hint{
    display:block;
  }
  .gallery-bento{
    gap:12px !important;
    padding:2px 2px 10px !important;
    scroll-padding-left:2px;
  }
  .gallery-bento .gallery-item,
  .gallery-bento .gallery-item:nth-child(1){
    flex:0 0 88% !important;
    width:88% !important;
    height:260px !important;
    min-height:260px !important;
    border-radius:20px !important;
    scroll-snap-align:start !important;
  }
  .gallery-swipe-hint.is-hidden{
    display:none !important;
  }
}

@media (max-width:420px){
  .meta-pill{
    font-size:.84rem;
    padding:10px 12px;
  }
  .gallery-bento .gallery-item,
  .gallery-bento .gallery-item:nth-child(1){
    flex-basis:90% !important;
    width:90% !important;
    height:248px !important;
    min-height:248px !important;
  }
  #form-intro .intro-hint{
    white-space:normal;
    line-height:1.4;
  }
}

/* v133: stronger progress badge + inline range edit */
#progress-step-counter,.progress-step-counter{
  background:linear-gradient(180deg,#ecfeff 0%, #ccfbf1 100%) !important;
  color:#134e4a !important;
  border:1px solid rgba(13,148,136,.26) !important;
  box-shadow:0 10px 26px rgba(13,148,136,.12), inset 0 1px 0 rgba(255,255,255,.75) !important;
  font-weight:900 !important;
  padding:10px 18px !important;
}
body.form-started #progress-step-counter,
body.form-started .progress-step-counter{
  background:linear-gradient(180deg,#f0fdfa 0%, #ccfbf1 100%) !important;
}
.range-output{
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.range-output-editor.is-inline{
  display:block !important;
  width:100%;
  border:1px solid #cbd5e1;
  border-radius:12px;
  padding:12px 14px;
  background:linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
  font:inherit;
  color:#0f172a;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
}
.range-output-editor.is-inline:focus{
  outline:none;
  border-color:#14b8a6;
  box-shadow:0 0 0 4px rgba(20,184,166,.12);
  background:#fff;
}
.range-output.is-pristine .range-output-editor.is-inline{
  border-style:dashed;
  color:#0f766e;
  background:linear-gradient(180deg,#f8fffe 0%, #f0fdfa 100%);
}
.range-output-editor.is-inline::placeholder{
  color:#0f766e;
  opacity:1;
}
