/* =========================================================
   Chameleon Booking — форма за заявка
   Избор на бус със снимки + собствен календар на български.
   ========================================================= */
.cb-form-wrap{
  --cb-ink:#141c19;
  --cb-ink-2:#2b3a33;
  --cb-muted:#67766e;
  --cb-line:#e6ebe3;
  --cb-field:#f6f8f4;
  --cb-green:#4a9b3f;
  --cb-green-600:#3d8433;
  --cb-green-700:#2f6c28;
  --cb-lime-soft:#eef6e2;
  --cb-radius:28px;
  container-type:inline-size;
  font-family:var(--font,'Manrope',sans-serif);
  /* падащите менюта излизат извън картата — трябва да са над футъра */
  position:relative;z-index:20;
}

.cb-form{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
@container (min-width:760px){
  /* дясната колона е винаги резервирана → нищо не се мести при отваряне */
  .cb-form{grid-template-columns:minmax(0,540px) minmax(0,264px)}
}

/* ---------- основната карта ---------- */
.cb-sheet{
  background:radial-gradient(130% 55% at 50% -8%,rgba(140,198,63,.10),rgba(255,255,255,0) 62%),#fff;
  border-radius:var(--cb-radius);padding:30px 30px 26px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 1px 2px rgba(20,28,25,.05),
    0 8px 20px -8px rgba(20,28,25,.12),
    0 40px 80px -28px rgba(8,18,13,.5);
}

.cb-form-head{margin-bottom:22px}
.cb-form-title{
  font-family:var(--font-disp,'Onest',sans-serif);
  font-size:25px;font-weight:700;margin:0 0 5px;color:var(--cb-ink);line-height:1.14;letter-spacing:-.03em;
}
.cb-form-sub{margin:0;font-size:14.5px;color:var(--cb-muted);line-height:1.5}

.cb-grid{display:grid;grid-template-columns:1fr;gap:13px 12px}
@container (min-width:520px){ .cb-grid{grid-template-columns:1fr 1fr} }
.cb-col-2{grid-column:1 / -1}

/* ---------- падащо меню за буса ---------- */
.cb-req{color:#c9553f;margin-left:1px}
.cb-field select{
  width:100%;padding:13px 36px 13px 14px;font-size:16px;font-family:inherit;color:var(--cb-ink);
  background:var(--cb-field);border:1.5px solid transparent;border-radius:12px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2367766e' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:20px;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
  -webkit-appearance:none;appearance:none;
}
.cb-field select:hover{background-color:#f1f5ec}
.cb-field select:focus{outline:none;background-color:#fff;border-color:var(--cb-green);box-shadow:0 0 0 4px rgba(74,155,63,.14)}
.cb-field.cb-error select{border-color:#d9694f;background-color:#fdf3f1;box-shadow:0 0 0 4px rgba(217,105,79,.12)}


/* списък с квадратни снимки — моделът е под кадъра */
.cb-vs-list{
  padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
  max-height:400px;
}
.cb-vs-item{
  position:relative;display:block;cursor:pointer;padding:8px;border-radius:16px;
  background:#fff;box-shadow:none;transition:background .18s ease,box-shadow .18s ease;
}
.cb-vs-item img{
  width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;display:block;
  border-radius:12px;background:#e8ede4;
}
.cb-vs-cap{position:static;display:block;padding:9px 2px 2px;background:none;color:inherit;text-align:left}
.cb-vs-cap b{
  display:block;font-size:13.5px;font-weight:700;line-height:1.3;color:var(--cb-ink);text-shadow:none;
}
.cb-vs-cap em{
  display:block;margin-top:3px;font-style:normal;font-size:12px;font-weight:600;
  background:none;color:var(--cb-muted);padding:0;border-radius:0;
}
.cb-vs-item:hover{background:var(--cb-lime-soft)}
.cb-vs-item:focus{outline:none;background:var(--cb-lime-soft);box-shadow:0 0 0 2px var(--cb-green)}
.cb-vs-item.is-selected{background:var(--cb-lime-soft);box-shadow:0 0 0 2px var(--cb-green)}
.cb-vs-item.is-selected::after{
  content:"";position:absolute;right:15px;top:15px;width:24px;height:24px;border-radius:50%;
  background:var(--cb-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9.6 16.2 5.4 12l-1.4 1.4 5.6 5.6 12-12-1.4-1.4z'/%3E%3C/svg%3E") center/14px no-repeat;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
/* квадратна миниатюра и в самото поле */
.cb-vs-btn{padding:9px 12px 9px 9px;min-height:64px;border-radius:16px}
.cb-vs-cur img{width:46px;height:46px;border-radius:11px}
.cb-vs-txt b{font-size:15px}

/* ---------- страничен панел за фактура ---------- */
.cb-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.cb-side-card{
  position:relative;isolation:isolate;
  background:radial-gradient(130% 50% at 50% -8%,rgba(140,198,63,.09),rgba(255,255,255,0) 60%),#fff;
  border-radius:var(--cb-radius);padding:22px 20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(20,28,25,.05),0 30px 64px -24px rgba(8,18,13,.45);
  flex-direction:column;gap:12px;min-width:0;display:none;
  animation:cbSideIn .4s cubic-bezier(.22,1,.36,1);
}
@keyframes cbSideIn{from{opacity:0;transform:translateX(-12px) scale(.98)}to{opacity:1;transform:none}}
.cb-side-card::after{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1.4px;pointer-events:none;
  background:linear-gradient(140deg,rgba(140,198,63,.8),rgba(255,255,255,0) 48%,rgba(74,155,63,.45));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
}
.cb-form.has-invoice [data-cb-invoice-fields]{display:flex}
.cb-form.has-notes [data-cb-notes-fields]{display:flex}
.cb-side-card textarea{min-height:120px;background-image:none!important;padding-left:14px}
.cb-side-title{font-family:var(--font-disp,'Onest',sans-serif);font-size:16px;font-weight:700;color:var(--cb-ink);margin:0;letter-spacing:-.02em}
.cb-side-note{margin:-4px 0 4px;font-size:12.5px;color:var(--cb-muted);line-height:1.45}
@media (max-width:760px){
  .cb-invoice-side{display:none}
  .cb-form.has-invoice .cb-invoice-side{display:flex}
}

/* ---------- поле „период" + изскачащ календар ---------- */

.cb-vs{position:relative}
.cb-vs-native{position:absolute!important;opacity:0;pointer-events:none;width:1px;height:1px}
.cb-vs-btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 10px 8px 8px;min-height:56px;
  background:var(--cb-field);border:1.5px solid transparent;border-radius:12px;cursor:pointer;
  font-family:inherit;text-align:left;color:var(--cb-ink);
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.cb-vs-btn:hover{background:#f1f5ec}
.cb-vs-btn[aria-expanded="true"]{background:#fff;border-color:var(--cb-green);box-shadow:0 0 0 4px rgba(74,155,63,.14)}
.cb-vs-chev{flex:0 0 auto;color:var(--cb-muted)}
.cb-vs-cur{display:flex;align-items:center;gap:10px;min-width:0}
.cb-vs-cur.is-placeholder{font-size:16px;font-weight:500;color:#8d9a92;padding-left:6px}
.cb-vs-noimg{width:44px;height:34px;flex:0 0 auto;border-radius:8px;background:#e8ede4}
.cb-vs-txt{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.cb-vs-txt b{font-size:14px;font-weight:700;color:var(--cb-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cb-vs-txt small{font-size:12.5px;color:var(--cb-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cb-vs-list[hidden]{display:none}
.cb-vs-list{
  position:absolute;z-index:45;top:calc(100% + 6px);left:0;right:0;min-width:264px;
  margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--cb-line);border-radius:14px;
  box-shadow:0 10px 24px -8px rgba(20,28,25,.2),0 28px 56px -20px rgba(10,20,15,.45);
  max-height:min(62vh,440px);overflow:auto;overscroll-behavior:contain;
  animation:cbPopIn .2s cubic-bezier(.22,1,.36,1);
}
/* ако отдолу няма място, менюто се отваря нагоре */
.cb-vs-list.is-up{top:auto;bottom:calc(100% + 6px)}
.cb-vs-item:hover,.cb-vs-item:focus{background:var(--cb-lime-soft);outline:none}
.cb-vs-item.is-selected{background:var(--cb-lime-soft);box-shadow:inset 0 0 0 1.5px rgba(74,155,63,.35)}
.cb-field.cb-error .cb-vs-btn{border-color:#d9694f;background:#fdf3f1;box-shadow:0 0 0 4px rgba(217,105,79,.12)}

.cb-copy-title{font-family:var(--font-disp,'Onest',sans-serif);font-size:15.5px;font-weight:700;color:var(--cb-ink);margin:0;letter-spacing:-.02em}


.cb-dates-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cb-date-cell{display:flex;flex-direction:column;gap:6px;min-width:0}
.cb-date-lab{font-size:14px;font-weight:600;color:var(--cb-ink-2)}
.cb-dates-btn.is-active{
  background:#fff;border-color:var(--cb-green);
  box-shadow:0 0 0 4px rgba(74,155,63,.16);
}
.cb-daterange.cb-error .cb-dates-btn{border-color:#d9694f;background:#fdf3f1;box-shadow:0 0 0 4px rgba(217,105,79,.12)}
/* календарът се отваря центрирано под двойката */
.cb-daterange .cb-cal-pop{left:0;right:auto;width:min(340px,92%)}

/* --- допълнителни опции като компактни чипове --- */
.cb-extras{
  display:flex;flex-wrap:wrap;gap:10px;
  margin-top:20px;padding-top:18px;border-top:1px solid var(--cb-line);
}
.cb-extra-toggle{
  position:relative;display:inline-flex;align-items:center;gap:9px;cursor:pointer;
  padding:9px 16px 9px 12px;border-radius:999px;
  border:1.5px solid var(--cb-line);background:#fff;
  font-size:14px;font-weight:600;color:var(--cb-ink-2);line-height:1;
  transition:border-color .2s ease,background .2s ease,color .2s ease;
}
.cb-extra-toggle input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.cb-extra-toggle::before{
  content:"";width:19px;height:19px;flex:0 0 auto;border-radius:50%;
  border:1.5px solid #cfdac8;background:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2395a49b'%3E%3Cpath d='M11 5h2v14h-2z'/%3E%3Cpath d='M5 11h14v2H5z'/%3E%3C/svg%3E");
  background-size:13px;background-position:center;background-repeat:no-repeat;
  transition:background .2s ease,border-color .2s ease;
}
.cb-extra-toggle:hover{border-color:#bccdb4;background:#fafcf8}
.cb-extra-toggle input:focus-visible + span{text-decoration:underline}
.cb-form.has-invoice .cb-extra--invoice,
.cb-form.has-notes .cb-extra--notes{
  border-color:var(--cb-green);background:var(--cb-lime-soft);color:var(--cb-green-700);
}
.cb-form.has-invoice .cb-extra--invoice::before,
.cb-form.has-notes .cb-extra--notes::before{
  border-color:var(--cb-green);
  background-color:var(--cb-green);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9.6 16.2 5.4 12l-1.4 1.4 5.6 5.6 12-12-1.4-1.4z'/%3E%3C/svg%3E");
  background-size:12px;
}

/* --- съгласието: дребно и спокойно, точно над бутона --- */
.cb-consent{
  display:flex;align-items:flex-start;gap:10px;
  margin-top:16px;font-size:13.5px;line-height:1.5;color:var(--cb-muted);cursor:pointer;
}
.cb-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:1px;accent-color:var(--cb-green);cursor:pointer}
.cb-consent a{color:var(--cb-green-600);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.cb-consent.cb-error{color:#b34a35}

@media (max-width:520px){ .cb-dates-pair{grid-template-columns:1fr} .cb-extra-toggle{flex:1 1 100%;justify-content:flex-start} }
.cb-daterange{position:relative}
.cb-dates-btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:13px 14px;font-size:16px;font-family:inherit;font-weight:600;color:var(--cb-ink);text-align:left;
  background:var(--cb-field);border:1.5px solid transparent;border-radius:12px;cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.cb-dates-btn svg{flex:0 0 auto;color:var(--cb-green)}
.cb-dates-btn:hover:not(:disabled){background:#f1f5ec}
.cb-dates-btn[aria-expanded="true"]{background:#fff;border-color:var(--cb-green);box-shadow:0 0 0 4px rgba(74,155,63,.14)}
.cb-dates-btn:disabled{cursor:not-allowed;opacity:.65}
.cb-dates-btn:disabled svg{color:var(--cb-muted)}
.cb-dates-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cb-dates-value.is-placeholder{font-weight:500;color:#8d9a92}
.cb-daterange.cb-error .cb-dates-btn{border-color:#d9694f;background:#fdf3f1;box-shadow:0 0 0 4px rgba(217,105,79,.12)}

.cb-cal-pop[hidden]{display:none}
.cb-cal-pop{
  position:absolute;z-index:40;top:calc(100% + 8px);left:0;width:min(330px,86vw);
  animation:cbPopIn .22s cubic-bezier(.22,1,.36,1);
}
@keyframes cbPopIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* при тесен екран календарът се разпъва по ширината на полето */
@media (max-width:600px){ .cb-cal-pop{width:100%} }

/* ---------- календар ---------- */
.cb-cal{
  border:1px solid var(--cb-line);border-radius:16px;padding:14px 14px 12px;background:#fff;
  box-shadow:0 8px 20px -6px rgba(20,28,25,.14),0 24px 50px -18px rgba(10,20,15,.4);
}
.cb-cal.is-locked{opacity:.5;pointer-events:none}

.cb-cal-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.cb-cal-title{
  font-family:var(--font-disp,'Onest',sans-serif);
  font-size:16px;font-weight:700;color:var(--cb-ink);letter-spacing:-.02em;text-transform:capitalize;
}
.cb-cal-nav{
  width:32px;height:32px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  border:0;border-radius:9px;background:var(--cb-field);color:var(--cb-ink-2);cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.cb-cal-nav:hover{background:var(--cb-lime-soft);color:var(--cb-green-700)}

.cb-cal-wd{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:3px}
.cb-cal-wd span{
  text-align:center;font-size:11px;font-weight:700;color:var(--cb-muted);
  text-transform:uppercase;letter-spacing:.04em;padding:3px 0;
}
.cb-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.cb-day{
  aspect-ratio:1/1;min-height:36px;min-width:0;display:flex;align-items:center;justify-content:center;
  border:0;background:transparent;border-radius:10px;cursor:pointer;
  font-family:inherit;font-size:14.5px;font-weight:600;color:var(--cb-ink-2);
  transition:background .16s ease,color .16s ease;
}
.cb-day.is-empty{visibility:hidden;cursor:default}
.cb-day:hover:not(:disabled){background:var(--cb-lime-soft);color:var(--cb-green-700)}
.cb-day:disabled{cursor:not-allowed}
.cb-day.is-past{color:#c3cbc5}
.cb-day.is-busy{color:#c98c80;background:#fbf0ed;text-decoration:line-through;text-decoration-thickness:1.5px}
.cb-day.is-today{box-shadow:inset 0 0 0 1.5px var(--cb-line)}
.cb-day.is-in{background:var(--cb-lime-soft);color:var(--cb-green-700);border-radius:0}
.cb-day.is-start,.cb-day.is-end{
  background:var(--cb-green);color:#fff;border-radius:10px;box-shadow:0 4px 10px -3px rgba(74,155,63,.55);
}
.cb-day.is-start:hover,.cb-day.is-end:hover{background:var(--cb-green-600);color:#fff}

.cb-cal-foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:9px;padding-top:9px;border-top:1px solid var(--cb-line);
}
.cb-cal-info{margin:0;font-size:13px;color:var(--cb-muted);line-height:1.4}
.cb-cal-info b{color:var(--cb-ink);font-weight:700}
.cb-cal-clear{
  border:0;background:none;padding:3px 5px;cursor:pointer;color:var(--cb-green-700);
  font-family:inherit;font-size:12.5px;font-weight:600;text-decoration:underline;text-underline-offset:2px;
}

/* ---------- обикновени полета ---------- */
.cb-field{margin:0;display:flex;flex-direction:column;gap:6px;min-width:0}
.cb-field label{font-size:14px;font-weight:600;color:var(--cb-ink-2)}
.cb-field input,.cb-field textarea{
  width:100%;padding:13px 14px;font-size:16px;font-family:inherit;color:var(--cb-ink);
  background:var(--cb-field);border:1.5px solid transparent;border-radius:12px;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
  -webkit-appearance:none;appearance:none;
}
.cb-field textarea{resize:vertical;min-height:56px;line-height:1.5;background-image:none}
.cb-field input:hover,.cb-field textarea:hover{background-color:#f1f5ec}
.cb-field input:focus,.cb-field textarea:focus{
  outline:none;background-color:#fff;border-color:var(--cb-green);box-shadow:0 0 0 4px rgba(74,155,63,.14);
}
.cb-field input::placeholder,.cb-field textarea::placeholder{color:#a4b0a8}
.cb-field.cb-error input,.cb-field.cb-error textarea{
  border-color:#d9694f;background-color:#fdf3f1;box-shadow:0 0 0 4px rgba(217,105,79,.12);
}
.cb-hint{font-size:13px;color:var(--cb-muted)}


/* ---------- дребни икони в полетата ---------- */
.cb-field input[type="text"],.cb-field input[type="tel"],.cb-field input[type="email"]{
  background-repeat:no-repeat;background-position:13px center;background-size:17px;padding-left:39px;
}
#cb-route-from,#cb-route-to{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2395a49b'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7m0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5'/%3E%3C/svg%3E")}
#cb-cargo{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2395a49b'%3E%3Cpath d='m12 2 9 5v10l-9 5-9-5V7zm0 2.3L5.5 8 12 11.7 18.5 8zM5 9.7v6.1l6 3.3v-6.1zm8 9.4 6-3.3V9.7l-6 3.3z'/%3E%3C/svg%3E")}
#cb-name{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2395a49b'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10m0 2c-4.4 0-8 2.2-8 5v3h16v-3c0-2.8-3.6-5-8-5'/%3E%3C/svg%3E")}
#cb-phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2395a49b'%3E%3Cpath d='M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1z'/%3E%3C/svg%3E")}
#cb-email{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2395a49b'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m8 7L4.5 6.5v.7L12 12l7.5-4.8v-.7z'/%3E%3C/svg%3E")}
#cb-company{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2395a49b'%3E%3Cpath d='M3 21V7l7-4 7 4v3h4v11h-7v-4h-4v4zm5-6h2v-2H8zm0-4h2V9H8zm4 4h2v-2h-2zm0-4h2V9h-2z'/%3E%3C/svg%3E")}
#cb-eik{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2395a49b'%3E%3Cpath d='M2 5h2v14H2zm3 0h1v14H5zm2 0h2v14H7zm3 0h1v14h-1zm2 0h2v14h-2zm3 0h1v14h-1zm2 0h3v14h-3zm4 0h1v14h-1z'/%3E%3C/svg%3E")}

/* двете водещи полета изпъкват — бели, с рамка */
.cb-vs-btn,.cb-dates-btn{background:#fff;border-color:var(--cb-line);box-shadow:0 1px 2px rgba(20,28,25,.04)}
.cb-vs-btn:hover,.cb-dates-btn:hover:not(:disabled){background:#fff;border-color:#c8d6c1}

/* --- ефектна рамка: градиентен пръстен, изрязан с маска --- */
.cb-sheet{position:relative;isolation:isolate}
/* лек ореол зад картата */
.cb-sheet::before{
  content:"";position:absolute;inset:-14px -10px -18px;z-index:-1;border-radius:36px;
  background:radial-gradient(60% 45% at 50% 0%,rgba(140,198,63,.35),transparent 70%),
             radial-gradient(70% 50% at 50% 100%,rgba(74,155,63,.22),transparent 70%);
  filter:blur(16px);
}
/* самата „маска“ — вижда се само тънкият градиентен ръб */
.cb-sheet::after{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1.6px;pointer-events:none;
  background:linear-gradient(140deg,
    rgba(140,198,63,.95) 0%,
    rgba(74,155,63,.55) 22%,
    rgba(255,255,255,0) 46%,
    rgba(255,255,255,0) 58%,
    rgba(74,155,63,.5) 82%,
    rgba(140,198,63,.9) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
}

/* значка до заглавието */
.cb-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.cb-badge{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;margin-top:3px;
  background:var(--cb-lime-soft);color:var(--cb-green-700);
  font-size:12.5px;font-weight:700;padding:6px 12px;border-radius:999px;white-space:nowrap;
}
.cb-badge i{width:7px;height:7px;border-radius:50%;background:var(--cb-green);animation:cbPulse 2.2s ease-in-out infinite}
@keyframes cbPulse{0%,100%{box-shadow:0 0 0 0 rgba(74,155,63,.5)}50%{box-shadow:0 0 0 6px rgba(74,155,63,0)}}

/* ред с уверение под бутона */
.cb-assure{
  display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
  margin-top:12px;font-size:13px;color:var(--cb-muted);
}
.cb-assure span{display:inline-flex;align-items:center;gap:6px}
.cb-assure svg{color:var(--cb-green)}

/* ---------- чекбокси ---------- */
.cb-check{display:flex;align-items:flex-start;gap:11px;font-size:15px;color:var(--cb-ink-2);cursor:pointer;line-height:1.5}
.cb-check input{width:20px;height:20px;flex:0 0 auto;margin-top:1px;accent-color:var(--cb-green);cursor:pointer}
.cb-form.has-invoice .cb-consent a{color:var(--cb-green-600);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.cb-consent.cb-error{color:#b34a35}

.cb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* ---------- бутон ---------- */
.cb-submit{
  margin-top:20px;width:100%;border:0;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(135deg,#5cae4a 0%,#4a9b3f 55%,#3d8433 100%);
  color:#fff;font-family:inherit;font-weight:700;font-size:17px;
  padding:18px 24px;border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 24px -8px rgba(74,155,63,.6);
  transition:background .2s ease,transform .2s cubic-bezier(.22,1,.36,1),box-shadow .25s ease;
}
.cb-submit:hover{background:var(--cb-green-600);color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(74,155,63,.55)}
.cb-submit:active{transform:translateY(0)}
.cb-submit[disabled]{opacity:.7;cursor:default;transform:none}
.cb-spinner{display:none;width:17px;height:17px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:cbSpin .7s linear infinite}
.cb-form.is-loading .cb-spinner{display:block}
@keyframes cbSpin{to{transform:rotate(360deg)}}

/* ---------- съобщения ---------- */
.cb-message{margin-top:15px;font-size:15px;line-height:1.55}
.cb-message.is-error{background:#fdf3f1;color:#b34a35;padding:13px 16px;border-radius:12px}
.cb-message.is-success{
  background:var(--cb-lime-soft);color:#2f6c28;padding:20px;border-radius:14px;font-weight:600;
  animation:cbPop .45s cubic-bezier(.34,1.4,.5,1) both;
}
@keyframes cbPop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}

.cb-form.is-done .cb-grid,
.cb-form.is-done .cb-extras,
.cb-form.is-done .cb-consent,
.cb-form.is-done .cb-submit,
.cb-form.is-done 
@media (max-width:600px){
  .cb-sheet{padding:24px 20px 22px;border-radius:20px}
  .cb-grid{grid-template-columns:1fr}
  .cb-form-title{font-size:22px}
  .cb-day{min-height:34px;font-size:14.5px}
}

@media (prefers-reduced-motion:reduce){
  .cb-side-card,.cb-submit,.cb-message.is-success{transition:none;animation:none}
}

/* =========================================================
   ТЕСЕН ЕКРАН — календарът се събира в полето
   Стои най-накрая, за да е след правилата за деня; иначе
   min-height:36px печели и дните излизат вдясно от панела.
   ========================================================= */
@media (max-width:600px){
  .cb-cal{padding:12px 8px 10px}
  .cb-cal-wd,.cb-cal-grid{gap:2px}
  /* квадратът си остава — ширината решава височината */
  .cb-day{min-height:0;font-size:13.5px;border-radius:9px}
  .cb-cal-wd span{font-size:10px;letter-spacing:0;padding:2px 0}
  .cb-cal-top{margin-bottom:6px}
  .cb-cal-title{font-size:15px}
}

/* Ориентировъчната цена над бутона — същата сметка като в калкулатора */
.cb-quote{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;
  margin:0 0 14px;padding:14px 16px;border-radius:12px;
  background:#f2f7ec;box-shadow:inset 0 0 0 1.5px rgba(74,155,63,.28);
}
.cb-quote[hidden]{display:none}
.cb-quote-cap{
  font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#5d6f62;
}
.cb-quote-num{
  margin-left:auto;font-weight:800;font-size:24px;letter-spacing:-.03em;color:#2f7a27;line-height:1;
}
.cb-quote-note{flex:1 1 100%;font-size:12.5px;color:#6d7b74;line-height:1.5}
