/* =====================================================================
   OK Reality Listings – MODERNÍ VRSTVA (v1.22.0)
   ---------------------------------------------------------------------
   Navazuje na vizuál vizitky a soutěžní stránky: zaoblené karty, měkké
   stíny, zelený přechod na tlačítkách, Montserrat. Načítá se jako
   ÚPLNĚ POSLEDNÍ, takže přebíjí i starší pravidla s !important.

   Zaoblení je na jednom místě (--okrl-r). Kdyby ses chtěl vrátit
   k ostrým rohům, nastav ho na 0 a hotovo.
   ===================================================================== */

:root{
  --okrl-r:16px;        /* karty, panely */
  --okrl-r-sm:12px;     /* pole, menší prvky */
  --okrl-r-pill:999px;  /* tlačítka, štítky, chipy */
  --okrl-g:#7FC224;
  --okrl-g-dark:#5E9513;
  --okrl-g-deep:#3F6B0A;
  --okrl-soft:#EDF6DF;
  --okrl-soft2:#F6FAEE;
  --okrl-ink:#2A2A28;
  --okrl-line:rgba(16,24,32,.09);
  --okrl-sh-card:0 2px 6px rgba(20,30,15,.05), 0 12px 30px rgba(20,30,15,.08);
  --okrl-sh-hover:0 6px 14px rgba(20,30,15,.07), 0 20px 44px rgba(20,30,15,.14);
  --okrl-grad:linear-gradient(135deg,#7FC224 0%,#5E9513 100%);
  --okrl-ease:cubic-bezier(.22,1,.36,1);
}

/* =====================================================================
   1) TLAČÍTKA – zelený přechod, pilulka
   ===================================================================== */
.okrl-btn,
.okrl-btn--cta,
.okrl-btn--submit,
.okrl-caropen,
.okrl-form button.okrl-btn{
  border-radius:var(--okrl-r-pill) !important;
  background:var(--okrl-grad) !important;
  background-color:var(--okrl-g) !important;
  color:#fff !important;
  border:0 !important;
  font-weight:800 !important;
  letter-spacing:.01em;
  box-shadow:0 10px 24px rgba(110,170,30,.3) !important;
  transition:transform .25s var(--okrl-ease), box-shadow .25s var(--okrl-ease) !important;
}
.okrl-btn:hover,
.okrl-form button.okrl-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(110,170,30,.38) !important;
  background:var(--okrl-grad) !important;
  background-color:var(--okrl-g-dark) !important;
}
.okrl-btn:active{ transform:translateY(0); }

/* =====================================================================
   2) VÝPIS NEMOVITOSTÍ
   ===================================================================== */

/* Filtr jako lehký panel */
.okrl-list .okrl-filters{
  background:#fff;
  border:1px solid var(--okrl-line);
  border-radius:var(--okrl-r);
  padding:20px 22px;
  box-shadow:var(--okrl-sh-card);
  margin-bottom:26px;
}
.okrl-list .okrl-filter-check{
  border-radius:var(--okrl-r-pill) !important;
  padding:9px 16px 9px 12px;
  background:#fff;
  border:1px solid var(--okrl-line);
}
.okrl-list .okrl-filter-check:hover{ border-color:var(--okrl-g); background:var(--okrl-soft2); }
.okrl-list .okrl-filter-check:has(input:checked){
  background:var(--okrl-grad); color:#fff; border-color:transparent;
  box-shadow:0 6px 16px rgba(110,170,30,.3);
}
.okrl-list .okrl-filter-check input{ accent-color:#fff; }
.okrl-list .okrl-search input{
  border-radius:var(--okrl-r-pill) !important;
  border:1px solid var(--okrl-line) !important;
  padding:11px 16px 11px 42px;
  background-position:15px 50%;
}
.okrl-list .okrl-search input:focus{
  border-color:var(--okrl-g) !important;
  box-shadow:0 0 0 4px rgba(127,194,36,.18);
}
.okrl-list .okrl-sort .okrl-sortbtn{
  border-radius:var(--okrl-r-pill) !important;
  border:1px solid var(--okrl-line);
  padding:9px 16px;
}
.okrl-list .okrl-sort .okrl-sortbtn.is-active{
  background:var(--okrl-soft); border-color:var(--okrl-g); box-shadow:none;
  color:var(--okrl-g-deep);
}
.okrl-list .noUi-base{ border-radius:var(--okrl-r-pill); }
.okrl-list .noUi-connect{ background:var(--okrl-grad); border-radius:var(--okrl-r-pill); }
.okrl-list .noUi-horizontal .noUi-handle{
  border-radius:50% !important;
  background:#fff;
  border:3px solid var(--okrl-g);
  box-shadow:0 2px 8px rgba(20,30,15,.18);
}
.okrl-list .okrl-clear{ border-radius:var(--okrl-r-pill); border:1px solid var(--okrl-line); padding:7px 14px; }
.okrl-list .okrl-clear:hover{ background:var(--okrl-soft2); border-color:var(--okrl-g); }

/* Karty – bílé, zaoblené, měkký stín (žádná zebra) */
.okrl-list .okrl-cards{ gap:18px; }
.okrl-list .okrl-cards > .okrl-card,
.okrl-list .okrl-cards > .okrl-card:nth-child(odd),
.okrl-list .okrl-cards > .okrl-card:nth-child(even){
  background:#fff !important;
  border:1px solid var(--okrl-line) !important;
  border-radius:var(--okrl-r) !important;
  box-shadow:var(--okrl-sh-card);
  padding:16px;
  overflow:hidden;
}
.okrl-list .okrl-cards > .okrl-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--okrl-sh-hover);
  border-color:rgba(127,194,36,.45) !important;
}
.okrl-list .okrl-card__img{ border-radius:calc(var(--okrl-r) - 4px); overflow:hidden; }
.okrl-list .okrl-card__img img{ border-radius:0 !important; }
.okrl-list .okrl-card__imgs{ gap:10px; }

.okrl-list .okrl-card__title{ font-size:1.28rem; letter-spacing:-.02em; font-weight:800; }
.okrl-list .okrl-card__loc{ color:#6F7470; }
.okrl-list .okrl-card__desc{ color:#4a4d4a; }

/* Cena jako zelený štítek */
.okrl-list .okrl-card__price{
  display:inline-flex; align-items:baseline; gap:10px;
  align-self:flex-start;
  padding:9px 16px;
  background:var(--okrl-soft);
  color:var(--okrl-g-deep) !important;
  border-radius:var(--okrl-r-pill);
  font-size:1.18rem; font-weight:800; letter-spacing:-.02em;
}
.okrl-list .okrl-card__price .okrl-card__price-now{ color:inherit; }
.okrl-list .okrl-card__price .okrl-card__price-old{ font-size:.85rem; font-weight:600; opacity:.65; }
.okrl-list .okrl-card--pricedrop .okrl-card__price{ background:#fdecec; color:#b3261e !important; }
.okrl-list .okrl-card--sold .okrl-card__price{ background:#eeeeee; color:#6b6b6b !important; }

/* Stavové štítky – pilulky */
.okrl-card__sold-badge,
.okrl-sold-tag,
.okrl-header__sold,
.okrl-viz-badge{
  border-radius:var(--okrl-r-pill) !important;
  letter-spacing:.08em;
}
.okrl-card__sold-badge{ padding:7px 14px; }

/* Stránkování */
.okrl-pagination .okrl-page{
  border-radius:var(--okrl-r-pill) !important;
  min-width:42px; height:42px; padding:0 14px;
  border:1px solid var(--okrl-line);
}
.okrl-pagination .okrl-page.is-active{ background:var(--okrl-grad); border-color:transparent; box-shadow:0 6px 16px rgba(110,170,30,.3); }
.okrl-empty{ border-radius:var(--okrl-r); }

@media(max-width:768px){
  .okrl-list .okrl-cards > .okrl-card{ padding:0 0 16px !important; }
  .okrl-list .okrl-card__img{ border-radius:var(--okrl-r) var(--okrl-r) 0 0; }
  .okrl-list .okrl-card__text{ padding:0 16px; }
  .okrl-list .okrl-cards > .okrl-card:hover{ transform:none; }
  .okrl-list .okrl-filters{ padding:16px; }
}

/* =====================================================================
   3) DETAIL NEMOVITOSTI
   ===================================================================== */
.okrl-single .okrl-carousel,
.okrl-single .okrl-carousel__slide img,
.okrl-single .okrl-carousel__slide iframe{ border-radius:var(--okrl-r); overflow:hidden; }
.okrl-strip-thumb,
.okrl-strip-thumb img{ border-radius:var(--okrl-r-sm); overflow:hidden; }
.okrl-carbtn,
.okrl-lightbox__nav,
.okrl-lightbox__close,
.okrl-latest-slider button.okrl-latest-slider__btn{ border-radius:50% !important; }

.okrl-header{ border-bottom:0; padding-bottom:6px; }
.okrl-title{ font-size:2.2rem; letter-spacing:-.03em; }
.okrl-price-row .okrl-price{
  display:inline-block;
  padding:10px 20px;
  background:var(--okrl-soft);
  color:var(--okrl-g-deep) !important;
  border-radius:var(--okrl-r-pill);
  font-size:1.6rem; letter-spacing:-.025em;
}
.okrl-price-note{ color:#6F7470; }

/* Parametry – dlaždice místo tabulky */
.okrl-params-grid{ gap:12px !important; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
.okrl-params-grid .okrl-param,
.okrl-params-grid .okrl-param.is-a,
.okrl-params-grid .okrl-param.is-b{
  display:flex !important; flex-direction:column; gap:4px; align-items:flex-start;
  background:#fff !important;
  border:1px solid var(--okrl-line) !important;
  border-radius:var(--okrl-r-sm) !important;
  padding:14px 16px !important;
}
.okrl-params-grid .okrl-param-label{ font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#8A8F8A; }
.okrl-params-grid .okrl-param-value{ font-size:1.05rem; font-weight:800; color:var(--okrl-ink); }

/* Sítě */
.okrl-utilities-box{ background:var(--okrl-soft2); border:1px solid rgba(127,194,36,.28); border-radius:var(--okrl-r); }
.okrl-utility{ border-radius:var(--okrl-r-pill) !important; background:#fff; }
.okrl-utility__icon{ border-radius:50%; background:var(--okrl-soft); }

/* Půdorysy, hypotéka, poděkování */
.okrl-floorplans .okrl-fp{ border-radius:var(--okrl-r) !important; overflow:hidden; }
.okrl-mcalc{ border-radius:var(--okrl-r); }
.okrl-mcalc__inputWrap{ border-radius:var(--okrl-r-sm); }
.okrl-thankyou{ border-radius:var(--okrl-r); }
.okrl-cta-block .okrl-btn{ padding:16px 32px !important; font-size:1.02rem !important; }

/* Slidery (nejnovější / související) */
.okrl-latest-card{ border-radius:var(--okrl-r) !important; overflow:hidden; }
.okrl-latest-card__price{ color:var(--okrl-g-deep); }
.okrl-random-three__card{ border-radius:var(--okrl-r) !important; overflow:hidden; }

/* =====================================================================
   4) FORMULÁŘE (prodej, kontakt, modál)
   ===================================================================== */
.okrl-sell-form-wrap,
.okrl-simple-contact{
  background:#fff;
  border:1px solid var(--okrl-line);
  border-radius:var(--okrl-r);
  box-shadow:var(--okrl-sh-card);
  padding:30px 28px;
}
.okrl-sell-form__title,
.okrl-simple-contact__title{ font-size:1.7rem; font-weight:800; letter-spacing:-.025em; margin-bottom:6px; }
.okrl-sell-form__subtitle{ color:#6F7470; margin-bottom:22px; line-height:1.55; }

/* Sekce s číslem v zeleném kolečku */
.okrl-sell-form__section,
.okrl-sell-form__conditional{
  border:0 !important; padding:0 !important; margin:0 0 26px !important; background:transparent !important;
}
.okrl-sell-form__section-title{
  display:flex; align-items:center; gap:12px;
  font-size:1.08rem; font-weight:800; letter-spacing:-.01em;
  border:0 !important; padding:0 0 14px !important; margin:0 !important;
}
.okrl-sell-form__section-title::before{
  content:""; flex:0 0 auto; width:10px; height:10px; border-radius:50%;
  background:var(--okrl-grad); box-shadow:0 0 0 4px var(--okrl-soft);
}
.okrl-sell-form__conditional{
  background:var(--okrl-soft2) !important;
  border:1px solid rgba(127,194,36,.25) !important;
  border-radius:var(--okrl-r) !important;
  padding:20px 20px 8px !important;
}

/* Výběr typu – velké dlaždice */
.okrl-choice-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.okrl-choice-card{ position:relative; }
.okrl-choice-card input{ position:absolute; opacity:0; pointer-events:none; }
.okrl-choice-card span{
  display:flex; align-items:center; justify-content:center;
  min-height:62px; padding:14px 12px;
  border:1.5px solid var(--okrl-line) !important;
  border-radius:var(--okrl-r-sm) !important;
  background:#fff !important;
  font-weight:800 !important; font-size:1rem;
  color:var(--okrl-ink) !important;
  cursor:pointer;
  transition:border-color .22s var(--okrl-ease), background .22s var(--okrl-ease), box-shadow .22s var(--okrl-ease), transform .22s var(--okrl-ease);
}
.okrl-choice-card:hover span{ border-color:var(--okrl-g) !important; background:var(--okrl-soft2) !important; transform:translateY(-2px); }
.okrl-choice-card input:checked + span,
.okrl-choice-card:has(input:checked) span{
  background:var(--okrl-grad) !important; color:#fff !important; border-color:transparent !important;
  box-shadow:0 10px 24px rgba(110,170,30,.3);
}

/* Pole */
.okrl-form .okrl-field{ gap:7px; }
.okrl-form .okrl-field__label{ font-size:.82rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#6F7470; }
.okrl-form input.okrl-input,
.okrl-form textarea.okrl-textarea,
.okrl-form select,
.okrl-simple-contact input,
.okrl-simple-contact textarea{
  border-radius:var(--okrl-r-sm) !important;
  border:1.5px solid var(--okrl-line) !important;
  background:#fff !important;
  padding:13px 16px !important;
  font-size:1rem !important;
  min-height:50px;
  box-shadow:none !important;
  transition:border-color .22s var(--okrl-ease), box-shadow .22s var(--okrl-ease);
}
.okrl-form input.okrl-input:focus,
.okrl-form textarea.okrl-textarea:focus,
.okrl-form select:focus,
.okrl-simple-contact input:focus,
.okrl-simple-contact textarea:focus{
  border-color:var(--okrl-g) !important;
  box-shadow:0 0 0 4px rgba(127,194,36,.18) !important;
  outline:none;
}
.okrl-form input.okrl-input::placeholder,
.okrl-form textarea.okrl-textarea::placeholder{ color:#A4A8A4 !important; opacity:1; }

/* Zaškrtávací chipy (sítě, vybavení) */
.okrl-checkgrid{ display:flex; flex-wrap:wrap; gap:8px; }
.okrl-checkitem{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 14px 9px 10px;
  border:1.5px solid var(--okrl-line) !important;
  border-radius:var(--okrl-r-pill) !important;
  background:#fff !important;
  font-weight:600; font-size:.92rem; cursor:pointer;
  transition:border-color .2s var(--okrl-ease), background .2s var(--okrl-ease), color .2s var(--okrl-ease);
}
.okrl-checkitem input{ accent-color:var(--okrl-g-dark); margin:0; }
.okrl-checkitem:hover{ border-color:var(--okrl-g) !important; background:var(--okrl-soft2) !important; }
.okrl-checkitem:has(input:checked){ background:var(--okrl-soft) !important; border-color:var(--okrl-g) !important; color:var(--okrl-g-deep); }

/* Souhlas */
.okrl-consent{
  display:flex; gap:12px; align-items:flex-start;
  padding:14px 16px; border-radius:var(--okrl-r-sm);
  background:var(--okrl-soft2); border:1px solid rgba(127,194,36,.2);
  font-size:.9rem; line-height:1.5; color:#4a4d4a;
}
.okrl-consent input{ accent-color:var(--okrl-g-dark); margin-top:3px; flex:0 0 auto; }
.okrl-consent a{ color:var(--okrl-g-deep); font-weight:700; }

/* Hláška a odeslání */
.okrl-form__notice:not(:empty){
  margin:14px 0 !important; padding:12px 16px; border-radius:var(--okrl-r-sm);
  background:var(--okrl-soft2); border:1px solid rgba(127,194,36,.3);
  font-weight:600;
}
.okrl-form .okrl-btn--submit{ width:100%; padding:16px 24px !important; font-size:1.05rem !important; margin-top:8px; }

/* Modál */
.okrl-modal__panel{ border-radius:var(--okrl-r) !important; background:#fff !important; }
.okrl-modal__close{ border-radius:50% !important; }

@media(max-width:640px){
  .okrl-sell-form-wrap,
  .okrl-simple-contact{ padding:22px 16px; border-radius:var(--okrl-r); }
  .okrl-choice-grid{ grid-template-columns:1fr; }
  .okrl-sell-form__grid--2{ grid-template-columns:1fr !important; }
}

@media (prefers-reduced-motion: reduce){
  .okrl-btn:hover, .okrl-list .okrl-cards > .okrl-card:hover, .okrl-choice-card:hover span{ transform:none; }
}

/* =====================================================================
   5) FORMULÁŘ „CHCI PRODAT“ – INTERAKTIVNÍ VRSTVA (v1.25.0)
   ===================================================================== */

/* Ukazatel postupu */
.okrl-sellfx-progress{ margin:0 0 26px; }
.okrl-sellfx-progress__bar{
  height:8px; border-radius:999px; background:var(--okrl-soft); overflow:hidden; position:relative;
}
.okrl-sellfx-progress__bar span{
  display:block; height:100%; width:0; border-radius:999px; background:var(--okrl-grad);
  transition:width .55s var(--okrl-ease);
  position:relative; overflow:hidden;
}
/* Lesk, který běží po vyplněné části */
.okrl-sellfx-progress__bar span::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);
  transform:translateX(-100%); animation:okrlShine 2.4s ease-in-out infinite;
}
.okrl-sellfx-progress__txt{
  margin-top:9px; font-size:.84rem; font-weight:700; color:#6F7470; letter-spacing:-.005em;
  transition:color .3s var(--okrl-ease);
}
.okrl-sell-property-form.is-complete .okrl-sellfx-progress__txt{ color:var(--okrl-g-deep); }

/* Dlaždice s ikonou */
.okrl-choice-card span{ flex-direction:column; gap:10px; min-height:118px !important; position:relative; }
.okrl-choice-ico{
  width:38px; height:38px; color:var(--okrl-g-dark);
  transition:transform .35s var(--okrl-ease), color .25s var(--okrl-ease);
}
.okrl-choice-txt{ font-weight:800; font-size:1.02rem; }
.okrl-choice-card:hover .okrl-choice-ico{ transform:translateY(-3px) scale(1.06); }
.okrl-choice-card input:checked + span .okrl-choice-ico{ color:#fff; animation:okrlPop .45s var(--okrl-ease); }
.okrl-choice-card input:checked + span{ animation:okrlCardPick .4s var(--okrl-ease); }
/* Fajfka v rohu vybrané dlaždice */
.okrl-choice-card span::after{
  content:""; position:absolute; top:10px; right:10px; width:22px; height:22px; border-radius:50%;
  background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E9513' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/14px no-repeat;
  transform:scale(0); transition:transform .3s var(--okrl-ease);
}
.okrl-choice-card input:checked + span::after{ transform:scale(1); }
/* Klávesnice – viditelné zaměření */
.okrl-choice-card input:focus-visible + span{ outline:3px solid rgba(127,194,36,.5); outline-offset:3px; }

/* Doplňující sekce vyjede při výběru typu (spustí se pokaždé, když se objeví) */
.okrl-sell-form__conditional:not([hidden]){ animation:okrlSlideIn .5s var(--okrl-ease) both; }
.okrl-sell-form__conditional:not([hidden]) .okrl-field,
.okrl-sell-form__conditional:not([hidden]) .okrl-checkgroup{ animation:okrlRise .45s var(--okrl-ease) both; }
.okrl-sell-form__conditional:not([hidden]) > :nth-child(2) .okrl-field:nth-child(1){ animation-delay:.08s; }
.okrl-sell-form__conditional:not([hidden]) > :nth-child(2) .okrl-field:nth-child(2){ animation-delay:.14s; }
.okrl-sell-form__conditional:not([hidden]) > :nth-child(2) .okrl-field:nth-child(3){ animation-delay:.2s; }
.okrl-sell-form__conditional:not([hidden]) > :nth-child(2) .okrl-field:nth-child(4){ animation-delay:.26s; }
.okrl-sell-form__conditional:not([hidden]) .okrl-checkgroup{ animation-delay:.3s; }

/* Vyplněné pole dostane zelenou fajfku */
.okrl-form .okrl-field{ position:relative; }
.okrl-form .okrl-field::after{
  content:""; position:absolute; right:14px; bottom:16px; width:20px; height:20px; border-radius:50%;
  background:var(--okrl-grad) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
  transform:scale(0); opacity:0; pointer-events:none;
  transition:transform .3s var(--okrl-ease), opacity .2s ease;
}
.okrl-form .okrl-field.is-ok::after{ transform:scale(1); opacity:1; }
.okrl-form .okrl-field.is-ok input.okrl-input{ border-color:rgba(127,194,36,.55) !important; padding-right:44px !important; }
.okrl-form .okrl-field:has(textarea)::after{ display:none; }
/* Popisek pole při psaní zezelená */
.okrl-form .okrl-field:focus-within .okrl-field__label{ color:var(--okrl-g-deep); }
.okrl-form .okrl-field__label{ transition:color .2s ease; }

/* Chyba – červený rámeček a zatřesení */
.okrl-form .okrl-invalid,
.okrl-form input.okrl-input.okrl-invalid{ border-color:#E53935 !important; box-shadow:0 0 0 4px rgba(229,57,53,.14) !important; }
.okrl-shake{ animation:okrlShake .45s cubic-bezier(.36,.07,.19,.97) both; }
.okrl-form__notice.okrl-notice--error{ background:#fdecec !important; border-color:rgba(229,57,53,.3) !important; color:#b3261e; }
.okrl-form__notice.okrl-notice--success{ background:var(--okrl-soft2) !important; color:var(--okrl-g-deep); }

/* Chipy a souhlas – jemné cvaknutí */
.okrl-checkitem:has(input:checked){ animation:okrlTap .3s var(--okrl-ease); }
.okrl-consent:has(input:checked){ border-color:var(--okrl-g); background:var(--okrl-soft); }

/* Odeslat – když je vše vyplněno, tlačítko se rozzáří */
.okrl-sell-property-form .okrl-btn--submit{ position:relative; overflow:hidden; }
.okrl-sell-property-form.is-complete .okrl-btn--submit{ animation:okrlGlow 2s ease-in-out infinite; }
.okrl-sell-property-form.is-complete .okrl-btn--submit::after{
  content:""; position:absolute; top:0; bottom:0; width:40%; left:-50%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-20deg); animation:okrlSweep 2.6s ease-in-out infinite;
}
/* Odesílání – točící se kroužek */
.okrl-btn-spinner{
  display:inline-block; width:18px; height:18px; margin-right:10px; vertical-align:-3px;
  border:2.5px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%;
  animation:okrlSpin .7s linear infinite;
}
.okrl-btn.is-loading{ animation:none !important; opacity:.92; cursor:progress; }

/* Poděkování po odeslání – vyskočí a fajfka se nakreslí */
.okrl-thankyou{ animation:okrlThanks .6s var(--okrl-ease) both; text-align:center; }
.okrl-thankyou__icon{
  width:72px; height:72px; margin:0 auto 14px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--okrl-grad); color:#fff; font-size:34px; font-weight:800;
  box-shadow:0 12px 30px rgba(110,170,30,.35);
  animation:okrlPop .6s var(--okrl-ease) .15s both;
}

@keyframes okrlShine{ 0%{transform:translateX(-100%);} 60%,100%{transform:translateX(100%);} }
@keyframes okrlPop{ 0%{transform:scale(.6);} 60%{transform:scale(1.18);} 100%{transform:scale(1);} }
@keyframes okrlCardPick{ 0%{transform:scale(1);} 40%{transform:scale(.96);} 100%{transform:scale(1);} }
@keyframes okrlSlideIn{ from{opacity:0; transform:translateY(-10px) scale(.985);} to{opacity:1; transform:none;} }
@keyframes okrlRise{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;} }
@keyframes okrlShake{ 10%,90%{transform:translateX(-2px);} 20%,80%{transform:translateX(4px);} 30%,50%,70%{transform:translateX(-7px);} 40%,60%{transform:translateX(7px);} }
@keyframes okrlTap{ 0%{transform:scale(1);} 50%{transform:scale(.94);} 100%{transform:scale(1);} }
@keyframes okrlGlow{ 0%,100%{box-shadow:0 10px 24px rgba(110,170,30,.3);} 50%{box-shadow:0 12px 34px rgba(110,170,30,.55), 0 0 0 6px rgba(127,194,36,.14);} }
@keyframes okrlSweep{ 0%{left:-50%;} 55%,100%{left:130%;} }
@keyframes okrlSpin{ to{transform:rotate(360deg);} }
@keyframes okrlThanks{ from{opacity:0; transform:translateY(16px) scale(.97);} to{opacity:1; transform:none;} }

@media(max-width:640px){
  .okrl-choice-grid{ grid-template-columns:repeat(3,1fr) !important; gap:8px; }
  .okrl-choice-card span{ min-height:96px !important; padding:12px 6px !important; }
  .okrl-choice-ico{ width:30px; height:30px; }
  .okrl-choice-txt{ font-size:.9rem; }
}

/* Kdo má v systému vypnuté animace, dostane formulář bez pohybu */
@media (prefers-reduced-motion: reduce){
  .okrl-sellfx-progress__bar span::after,
  .okrl-sell-form__conditional:not([hidden]),
  .okrl-sell-form__conditional:not([hidden]) .okrl-field,
  .okrl-sell-form__conditional:not([hidden]) .okrl-checkgroup,
  .okrl-choice-card input:checked + span,
  .okrl-choice-card input:checked + span .okrl-choice-ico,
  .okrl-shake, .okrl-checkitem:has(input:checked),
  .okrl-sell-property-form.is-complete .okrl-btn--submit,
  .okrl-sell-property-form.is-complete .okrl-btn--submit::after,
  .okrl-thankyou, .okrl-thankyou__icon{ animation:none !important; }
}
