/* Rezervační panel (assets/js/mp-rezervace.js): vzhled výhradně z komponent šablony.
   Tady jen to, co šablona sama nepokrývá. */

/* Zakázané tlačítko, dokud není vybraná platba. */
.mp-rez .btn:disabled { opacity: .45; cursor: default; }

/* Varianta .theme-style--gradient (na <body> celého webu) přepisuje seznamy .wptb-list1 (kruhová červená ikona,
   18px tučně) a rozbíjí tím ceník .wptb-packages1 oproti originálnímu demu theme/dark/pricetable.html.
   Stejná oprava je inline na titulní straně (.mp-packages-list v index-new.php); tady vrací hodnoty z dema. */
.theme-style--gradient .mp-rez .wptb-packages1 .wptb-list1 .wptb--item .wptb-item--icon { font-size: 24px; background: none; color: var(--color-one); margin-right: 3px; border-radius: 0; width: auto; height: auto; display: block; }
.theme-style--gradient .mp-rez .wptb-packages1 .wptb-list1 .wptb--item .wptb-item--text { font-family: var(--font-family-base); font-size: 15px; font-weight: var(--fw-light); line-height: 28px; }


/* Carousel recenzí (.testimonial-colored) přesně jako theme/dark/about.html. Varianta .theme-style--gradient na <body> přepisuje
   kartu na průhlednou a zvětšuje text/fotku (změřeno: demo = červená karta, padding 50/65, text 20/34, fotka 70px s bílým rámem). */
.theme-style--gradient .testimonial-colored .wptb-testimonial1 .wptb-item--inner { background-color: var(--color-one); padding: 50px 65px; }
.theme-style--gradient .testimonial-colored .wptb-testimonial1 .wptb-item--inner .wptb-item--description { font-size: 20px; line-height: 34px; }
.theme-style--gradient .testimonial-colored .wptb-testimonial1 .wptb-item--inner .wptb-item--meta-rating { font-size: 18px; }
.theme-style--gradient .testimonial-colored .wptb-testimonial1 .wptb-item--inner .wptb-item--meta { border-color: var(--color-white-fixed); }
.theme-style--gradient .testimonial-colored .wptb-testimonial1 .wptb-item--inner .wptb-item--image { width: 70px; height: 70px; border: 4px solid var(--color-white-fixed); }
.theme-style--gradient .testimonial-colored .wptb-testimonial1 .wptb-item--inner .wptb-item--icon svg path { fill: var(--color-white-fixed); }
.theme-style--gradient .testimonial-colored .wptb-testimonial-one .wptb-swiper-navigation.style1,
.theme-style--gradient .testimonial-colored.wptb-testimonial-one .wptb-swiper-navigation.style1 { right: 65px; }
.theme-style--gradient .testimonial-colored .wptb-swiper-navigation.style1 .wptb-swiper-arrow { width: 54px; height: 54px; }
@media (max-width: 575px) {
  .theme-style--gradient .testimonial-colored .wptb-testimonial1 .wptb-item--inner { padding: 30px 22px; }
  .theme-style--gradient .testimonial-colored .wptb-testimonial1 .wptb-item--inner .wptb-item--description { font-size: 17px; line-height: 28px; }
}

/* Dlaždice volby (.wptb-icon-box5, theme/dark/services-1.html). Šablona je určuje pro obrázkové ikony a výšku 360 px;
   tady jsou to jen dva přepínače, tak kompaktnější, a ikona je písmo bootstrap-icons (barvy jako u svg ikon šablony). */
.mp-rez-tiles .wptb-icon-box5 { min-height: 0; padding: 26px 24px; margin-bottom: 40px; cursor: pointer; }
.mp-rez-tiles .wptb-icon-box5 .wptb-item--inner { gap: 20px; }
.mp-rez-tiles .wptb-icon-box5 .wptb-item--icon { min-height: 0; }
.mp-rez-tiles .wptb-icon-box5 .wptb-item--icon .bi { display: block; font-size: 56px; line-height: 1; color: var(--color-one); transition: var(--transition-base); }
.mp-rez-tiles .wptb-icon-box5.active .wptb-item--icon .bi,
.mp-rez-tiles .wptb-icon-box5:hover .wptb-item--icon .bi { color: var(--color-white-fixed); }
.mp-rez-tiles .wptb-icon-box5 .wptb-item--title { font-size: 20px; line-height: 28px; margin-top: 0; }
@media (max-width: 575px) {
  .mp-rez-tiles .wptb-icon-box5 { padding: 20px 16px; border-radius: 24px; }
  .mp-rez-tiles .wptb-icon-box5 .wptb-item--icon .bi { font-size: 44px; }
  .mp-rez-tiles .wptb-icon-box5 .wptb-item--title { font-size: 16px; line-height: 22px; }
}

/* Mezera mezi panelem a carouselem recenzí: dvě sekce šablony (ceník + recenze) mají každá 115/90 px odsazení, tj. ~230 px mezera. */
.wptb-pricing:has(.mp-rez) { padding-bottom: 50px; }
.wptb-pricing:has(.mp-rez) + .wptb-testimonial-one { padding-top: 0; }

/* /shop/: karty poukazů - jednotný poměr obrázku (grafiky poukazů 1200x565, fotky se ořežou) */
.mp-shop-cards .product_imagebox img { width: 100%; aspect-ratio: 1200 / 565; object-fit: cover; }
.mp-shop-cards .product_item_inner p { margin-top: 6px; font-size: 14px; opacity: .8; }
.mp-shop-cards .product_thumb[data-href] { cursor: pointer; }
/* panel bez vybrané služby je prázdný - sekce se nezobrazí (jen noscript uvnitř) */
#mp-objednat:not(:has(#mp-rez > :not(noscript))) { display: none; }

/* Detail produktu (shop-product-new.php): vybraná velká fotka galerie; shop.css ji jinak skrývá až do JS šablony */
.product_left .product_zoom .product_zoom_container .product_zoom_info.selected { display: block; }
.product_right .product_price .old_price { font-size: .7em; opacity: .6; margin-right: 8px; }
/* Detail produktu: velká fotka bez ořezu (shop.css ji ořezává na max. 560 px výšky; grafika poukazu je čtverec) */
.product_left .product_zoom .product_zoom_container { max-height: none; }
.product_left .product_zoom .product_zoom_container .product_zoom_info img { height: auto; }
.product_right #shop-buy { margin-top: 24px; }

/* Šablona má na label.radio_circle text-transform: capitalize ("Kartou Hned", "Na Místě") - v češtině ne. */
.mp-rez label, .mp-rez label.radio_circle, .mp-rez label .label-name { text-transform: none; }

/* Jednostránkové rozložení (layout "jedna"): vlevo produkt (PHP, sticky), vpravo formulář. */
.mp-rez--jedna .mp-rez-left { position: sticky; top: 110px; }
.mp-rez--jedna .mp-rez-foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.mp-rez--jedna .mp-rez-foto img[hidden], .mp-rez--jedna .mp-rez-pane[hidden] { display: none; }
.mp-rez--jedna .mp-rez-foto { margin-bottom: 24px; }
.mp-rez--jedna .mp-rez-foto--poukaz img { aspect-ratio: auto; object-fit: contain; }
.mp-rez--jedna .mp-rez-cena { font-size: 28px; color: var(--color-one); font-weight: 600; margin: 6px 0 18px; }
.mp-rez--jedna .mp-rez-detail summary { cursor: pointer; font-weight: 600; margin-bottom: 14px; }
.mp-rez--jedna .mp-rez-sum { margin-top: 24px; }
.mp-rez--jedna .mp-rez-hint { opacity: .7; margin: -6px 0 14px; }
.mp-rez--jedna .mp-rez-muted .paymentmethod { opacity: .45; }
.mp-rez--jedna .mp-rez-muted .radio_circle { pointer-events: none; }
@media (max-width: 991px) {
  .mp-rez--jedna .mp-rez-left { position: static; }
  .mp-rez--jedna .mp-rez-foto img { aspect-ratio: 16 / 9; }
  .mp-rez--jedna .mp-rez-foto--poukaz img { aspect-ratio: auto; }
  .mp-rez--jedna .mp-rez-cena { font-size: 24px; margin-bottom: 12px; }
}

/* Jednostránkový panel: volby (pro koho, balíček, platba) jako velké karty příbuzné polím formuláře. Šablona stylizuje radio_circle jen uvnitř .place_order. */
.mp-rez--jedna .paymentmethod { margin: 0 0 8px; }
.mp-rez--jedna .paymentmethod label.radio_circle {
  display: flex; flex-wrap: wrap; align-items: center; column-gap: 14px; row-gap: 2px; position: relative;
  min-height: 62px; margin: 0 0 12px; padding: 14px 18px 14px 56px; cursor: pointer;
  border: 1px solid var(--color-dark-seven); border-radius: 4px; background: transparent;
  font-size: 16px; line-height: 1.35; transition: var(--transition-base);
}
.mp-rez--jedna .paymentmethod label.radio_circle:hover,
.mp-rez--jedna .paymentmethod label.radio_circle:has(input:checked) { border-color: var(--color-one); }
.mp-rez--jedna .paymentmethod label.radio_circle .label-name { font-weight: 600; color: var(--color-white); }
.mp-rez--jedna .paymentmethod label.radio_circle .text { margin-left: auto; font-size: 14px; opacity: .75; text-align: right; }
.mp-rez--jedna .paymentmethod label.radio_circle input { position: absolute; opacity: 0; left: 0; top: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.mp-rez--jedna .paymentmethod label.radio_circle .checkmark {
  position: absolute; left: 18px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px;
  border: 1px solid var(--color-two); border-radius: 100%; background: transparent;
}
.mp-rez--jedna .paymentmethod label.radio_circle .checkmark:after {
  content: ""; position: absolute; top: 5px; left: 5px; width: 12px; height: 12px; border-radius: 100%;
  background: var(--color-one); opacity: 0; transition: var(--transition-base);
}
.mp-rez--jedna .paymentmethod label.radio_circle input:checked ~ .checkmark { border-color: var(--color-one); }
.mp-rez--jedna .paymentmethod label.radio_circle input:checked ~ .checkmark:after { opacity: 1; visibility: visible; }
.mp-rez--jedna .shop_sidebar .form-check { display: flex; align-items: center; gap: 14px; padding: 0; }
.mp-rez--jedna .shop_sidebar .form-check-input { float: none; margin: 0; width: 24px; height: 24px; flex: 0 0 24px; cursor: pointer; }
.mp-rez--jedna .shop_sidebar .form-check label { cursor: pointer; }
@media (max-width: 575px) {
  .mp-rez--jedna .paymentmethod label.radio_circle { min-height: 66px; padding: 14px 14px 14px 52px; }
  .mp-rez--jedna .paymentmethod label.radio_circle .checkmark { left: 14px; }
  .mp-rez--jedna .paymentmethod label.radio_circle .text { margin-left: 0; flex-basis: 100%; text-align: left; }
}

/* Doplňky (zaškrtávátka) v levém sloupci: stejné karty jako volby, jen čtvercové zaškrtnutí */
.mp-rez--jedna .mp-rez-varianty { margin: 24px 0 8px; }
.mp-rez--jedna .shop_sidebar .form-check label { text-transform: none; letter-spacing: normal; }
.mp-rez--jedna .mp-rez-popis { margin: 14px 0 6px; opacity: .85; }
.mp-rez--jedna .mp-rez-doplnky { margin-top: 28px; }
.mp-rez--jedna .mp-rez-doplnky[hidden] { display: none; }
.mp-rez--jedna .paymentmethod label.radio_circle.mp-rez-dop .checkmark { border-radius: 6px; }
.mp-rez--jedna .paymentmethod label.radio_circle.mp-rez-dop .checkmark:after { top: 4px; left: 8px; width: 7px; height: 13px; border-radius: 0; background: none; border: solid var(--color-one); border-width: 0 3px 3px 0; transform: rotate(45deg); }
.mp-rez--jedna label.mp-rez-dop .mp-rez-dop-popis { flex-basis: 100%; font-size: 13px; opacity: .65; }

/* Výčet "Co je v ceně" v levém sloupci jednostránkového panelu: odrážky jako v demu (theme/dark/pricetable.html), ne červené kuličky varianty .theme-style--gradient. */
.theme-style--gradient .mp-rez--jedna .wptb-list1 .wptb--item .wptb-item--icon { font-size: 24px; background: none; color: var(--color-one); margin-right: 3px; border-radius: 0; width: auto; height: auto; display: block; }
.theme-style--gradient .mp-rez--jedna .wptb-list1 .wptb--item .wptb-item--text { font-family: var(--font-family-base); font-size: 15px; font-weight: var(--fw-light); line-height: 28px; }

/* Výběr termínu (select): šablona ruší nativní šipku, tak se kreslí vlastní; seznam voleb tmavý jako web */
.mp-rez--jedna select.form-control {
  cursor: pointer; padding-right: 52px; color: var(--color-white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10' fill='none'%3E%3Cpath d='M1.5 1.5l6.5 6.5 6.5-6.5' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 20px center; background-size: 16px 10px;
  -webkit-appearance: none; appearance: none;
}
.mp-rez--jedna select.form-control:focus { border-color: var(--color-one); outline: 0; }
.mp-rez--jedna select.form-control option { background-color: var(--color-dark-fourteen); color: var(--color-white); }

/* Doplněk s fotkou: miniatura vlevo, název + popis uprostřed, cena vpravo */
.mp-rez--jedna label.mp-rez-dop { flex-wrap: nowrap; align-items: center; }
.mp-rez--jedna label.mp-rez-dop .mp-rez-dop-body { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; gap: 2px; }
.mp-rez--jedna label.mp-rez-dop .mp-rez-dop-popis { flex-basis: auto; }
.mp-rez--jedna label.mp-rez-dop .text { margin-left: 0; white-space: nowrap; flex: 0 0 auto; }
.mp-rez--jedna label.mp-rez-dop .mp-rez-dop-foto { flex: 0 0 88px; width: 88px; height: 88px; object-fit: cover; border-radius: 6px; margin: -4px 0; }
@media (max-width: 575px) {
  .mp-rez--jedna label.mp-rez-dop { flex-wrap: wrap; row-gap: 8px; }
  .mp-rez--jedna label.mp-rez-dop .mp-rez-dop-foto { flex-basis: 72px; width: 72px; height: 72px; }
  .mp-rez--jedna label.mp-rez-dop .mp-rez-dop-body { flex: 1 1 calc(100% - 90px); }
  .mp-rez--jedna label.mp-rez-dop .text { flex-basis: 100%; text-align: left; margin-left: 0; font-weight: 600; }
}

/* Stripe platební pole: šablona dává všem iframe min-height 500 px (kvůli videím), proto za polem vznikala obří mezera. Výšku si řídí Stripe sám. */
.mp-rez iframe[name^="__privateStripeFrame"] { min-height: 0 !important; }

/* Nedostupná sekce (zatím nevybráno, pro koho se objednává): šedá a bez ovládání */
.mp-rez--jedna #mp-rez-kdo-wrap.mp-rez-muted { opacity: .45; pointer-events: none; }

/* Mobil: lepicí lišta s cenou (jednostránkový panel), vidět jen dokud nejsme u formuláře */
.mp-rez-bar { display: none; }
@media (max-width: 991px) {
  .mp-rez-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1029;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--color-dark-one-fixed, #151515); border-top: 1px solid rgba(255,255,255,.12); box-shadow: 0 -8px 28px rgba(0,0,0,.35); }
  .mp-rez-bar[hidden] { display: none; }
  .mp-rez-bar-cena { display: flex; flex-direction: column; line-height: 1.2; }
  .mp-rez-bar-cena small { font-size: 12px; opacity: .65; letter-spacing: .6px; text-transform: uppercase; }
  .mp-rez-bar-cena strong { font-size: 20px; font-weight: 600; white-space: nowrap; }
  .mp-rez-bar .btn { flex: 0 0 auto; }
}

/* Ozdoby u způsobů platby (loga karet, mini QR, mince): vpravo od názvu, popis pod nimi */
.mp-rez--jedna label.radio_circle .mp-rez-pay-deco { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; }
.mp-rez--jedna label.radio_circle .mp-rez-pay-deco--vedle { margin-left: 0; }
.mp-rez--jedna label.radio_circle .mp-rez-pay-deco:not(.mp-rez-pay-deco--vedle) ~ .text { margin-left: 0; flex-basis: 100%; text-align: left; }
.mp-rez-logo { height: 24px; width: auto; border-radius: 4px; }
.mp-rez-logo--wallet { display: inline-flex; align-items: center; gap: 2px; padding: 0 7px; background: #fff; color: #151515; font-size: 12px; font-weight: 600; line-height: 24px; }
.mp-rez-logo--wallet .bi { font-size: 13px; }
.mp-rez-qr { border-radius: 4px; }
.mp-rez-pay-ico { font-size: 32px; line-height: 1; color: var(--color-one); }
@media (max-width: 575px) { .mp-rez-logo--wallet { display: none; } }

/* Levý sloupec: název, cena a výčet na fotce v pozadí (tmavý přechod pro čitelnost) */
.mp-rez--jedna .mp-rez-karta { position: relative; overflow: hidden; isolation: isolate; border-radius: 16px; padding: 28px 28px 52px; background: #151515; margin-bottom: 8px; }
.mp-rez--jedna .mp-rez-karta-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--rez-pos, 50% 50%); z-index: -2; }
.mp-rez--jedna .mp-rez-karta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(21,21,21,.72) 0%, rgba(21,21,21,.4) 45%, rgba(21,21,21,0) 100%); }
.mp-rez--jedna .mp-rez-karta .mp-rez-pane, .mp-rez--jedna .mp-rez-karta .mp-rez-pane * { color: #fff; }
.mp-rez--jedna .mp-rez-karta .mp-rez-pane .mp-rez-cena { color: var(--color-one); text-shadow: 0 1px 2px rgba(0,0,0,.9), 0 2px 10px rgba(0,0,0,.85), 0 0 22px rgba(0,0,0,.6); }
.mp-rez--jedna .mp-rez-karta .mp-rez-pane { text-shadow: 0 1px 8px rgba(0,0,0,.75); }
@media (max-width: 575px) { .mp-rez--jedna .mp-rez-karta { padding: 22px 20px 40px; } }

.mp-rez-darek3d { width: 48px; height: 48px; margin: -12px 0; filter: drop-shadow(0 4px 6px rgba(0,0,0,.35)); transition: transform .3s; }
.mp-rez--jedna label.radio_circle:hover .mp-rez-darek3d, .mp-rez--jedna label.radio_circle:has(input:checked) .mp-rez-darek3d { transform: translateY(-3px) rotate(-6deg); }

/* Děkovací obrazovka: odznak s fajfkou, konfety, "co bude dál", kontakty */
.mp-rez-hotovo { position: relative; padding: 10px 0 20px; }
.mp-rez-odznak { display: flex; justify-content: center; color: var(--color-one); margin-bottom: 18px; }
.mp-rez-odznak-kruh { stroke-dasharray: 151; stroke-dashoffset: 151; animation: mp-rez-kresli .7s ease-out .1s forwards; }
.mp-rez-odznak-fajfka { stroke-dasharray: 40; stroke-dashoffset: 40; animation: mp-rez-kresli .45s ease-out .75s forwards; }
@keyframes mp-rez-kresli { to { stroke-dashoffset: 0; } }
.mp-rez-hotovo .wptb-heading { margin-bottom: 30px; }
.mp-rez-dal { max-width: 640px; margin: 0 auto 30px; }
.mp-rez-dal ol { list-style: none; margin: 0; padding: 0; }
.mp-rez-dal li { display: flex; gap: 16px; align-items: flex-start; padding: 16px 18px; margin-bottom: 12px; border: 1px solid var(--color-dark-seven); border-radius: 4px; }
.mp-rez-dal-cislo { flex: 0 0 34px; height: 34px; border-radius: 50%; background: var(--color-one); color: #fff; font-weight: 600; display: flex; align-items: center; justify-content: center; }
.mp-rez-dal-popis { opacity: .75; font-size: 14px; }
.mp-rez-poukaz-img { max-width: 420px; box-shadow: 0 18px 40px rgba(0,0,0,.45); transform: rotate(-1.5deg); }
.mp-rez-kontakty { text-align: center; margin-top: 34px; }
.mp-rez-kontakty p { opacity: .75; margin-bottom: 10px; }
.mp-rez-kontakty div { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.mp-rez-kontakty a { padding: 10px 18px; border: 1px solid var(--color-dark-seven); border-radius: 40px; font-weight: 600; transition: var(--transition-base); }
.mp-rez-kontakty a:hover { border-color: var(--color-one); }
.mp-rez-kontakty .bi { color: var(--color-one); margin-right: 4px; }
/* konfety: čistě CSS, jen když uživatel nechce omezit pohyb */
.mp-rez-konfety { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .mp-rez-konfety { display: block; position: absolute; left: 0; right: 0; top: 0; height: 0; pointer-events: none; overflow: visible; }
  .mp-rez-konfety i { position: absolute; top: -10px; width: 8px; height: 14px; opacity: 0; border-radius: 2px; animation: mp-rez-pad 3.2s ease-in forwards; }
  .mp-rez-konfety i:nth-child(3n) { background: #db2777; } .mp-rez-konfety i:nth-child(3n+1) { background: #e9c46a; } .mp-rez-konfety i:nth-child(3n+2) { background: #fff; }
  .mp-rez-konfety i:nth-child(1) { left: 6%; animation-delay: .1s; } .mp-rez-konfety i:nth-child(2) { left: 13%; animation-delay: .5s; } .mp-rez-konfety i:nth-child(3) { left: 20%; animation-delay: .25s; }
  .mp-rez-konfety i:nth-child(4) { left: 27%; animation-delay: .8s; } .mp-rez-konfety i:nth-child(5) { left: 34%; animation-delay: .35s; } .mp-rez-konfety i:nth-child(6) { left: 41%; animation-delay: .65s; }
  .mp-rez-konfety i:nth-child(7) { left: 48%; animation-delay: .05s; } .mp-rez-konfety i:nth-child(8) { left: 55%; animation-delay: .9s; } .mp-rez-konfety i:nth-child(9) { left: 62%; animation-delay: .4s; }
  .mp-rez-konfety i:nth-child(10) { left: 69%; animation-delay: .7s; } .mp-rez-konfety i:nth-child(11) { left: 76%; animation-delay: .15s; } .mp-rez-konfety i:nth-child(12) { left: 83%; animation-delay: .55s; }
  .mp-rez-konfety i:nth-child(13) { left: 90%; animation-delay: .3s; } .mp-rez-konfety i:nth-child(14) { left: 10%; animation-delay: 1s; } .mp-rez-konfety i:nth-child(15) { left: 38%; animation-delay: 1.1s; }
  .mp-rez-konfety i:nth-child(16) { left: 58%; animation-delay: 1.2s; } .mp-rez-konfety i:nth-child(17) { left: 80%; animation-delay: 1.05s; } .mp-rez-konfety i:nth-child(18) { left: 95%; animation-delay: .85s; }
}
@keyframes mp-rez-pad { 0% { opacity: 1; transform: translateY(0) rotate(0); } 100% { opacity: 0; transform: translateY(380px) rotate(540deg); } }

/* Chyba u pole (telefon): červený rámeček a hláška pod polem */
.mp-rez .mp-rez-pole-chyba { display: block; margin-top: 6px; color: #ff6b6b; font-size: 13px; }
.mp-rez .mp-rez-pole-chyba.d-none { display: none; }
.mp-rez input.mp-rez-neplatne { border-color: #ff6b6b; }

/* Tip na překlep v e-mailu: nenápadná nápověda s tlačítkem Opravit */
.mp-rez .mp-rez-pole-tip { display: block; margin-top: 6px; font-size: 14px; color: #ff6b6b; }
.mp-rez .mp-rez-pole-tip.d-none { display: none; }
.mp-rez .mp-rez-pole-tip a { color: #fff; font-weight: 600; text-decoration: underline; }

/* Kontrast formuláře (mobil na slunci): aktivní pole světlá s tmavým textem, neaktivní tmavě šedá, výrazné rámečky karet a zaškrtávátek. */
.mp-rez--jedna .form-group > label { color: #fff; font-weight: 600; opacity: 1; }
.mp-rez--jedna .form-control {
  background-color: #f4f4f6 !important; color: #111 !important; border: 2px solid #fff !important; border-radius: 6px; font-weight: 500;
}
.mp-rez--jedna .form-control::placeholder { color: #555 !important; opacity: 1; }
.mp-rez--jedna .form-control:focus { border-color: var(--color-one) !important; box-shadow: 0 0 0 3px rgba(219, 39, 119, .45) !important; }
.mp-rez--jedna .form-control:disabled,
.mp-rez--jedna .form-control[readonly] { background-color: #3a3a40 !important; color: #9a9aa2 !important; border-color: #5a5a62 !important; cursor: not-allowed; }
.mp-rez--jedna .form-control:disabled::placeholder { color: #8a8a92 !important; }
.mp-rez--jedna select.form-control:not(:disabled) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10' fill='none'%3E%3Cpath d='M1.5 1.5l6.5 6.5 6.5-6.5' stroke='%23111111' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  color: #111 !important;
}
.mp-rez--jedna select.form-control option { background-color: #fff; color: #111; }
.mp-rez--jedna .mp-rez-pole-chyba { color: #ff8a8a; font-weight: 600; }

/* Karty voleb (pro koho, balíček, platba, doplňky) */
.mp-rez--jedna .paymentmethod label.radio_circle { border: 2px solid rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .07); }
.mp-rez--jedna .paymentmethod label.radio_circle:hover { border-color: #fff; background: rgba(255, 255, 255, .12); }
.mp-rez--jedna .paymentmethod label.radio_circle:has(input:checked) { border-color: var(--color-one); background: rgba(219, 39, 119, .16); }
.mp-rez--jedna .paymentmethod label.radio_circle .checkmark { border: 2px solid #fff; background: #f4f4f6; }
.mp-rez--jedna .paymentmethod label.radio_circle input:checked ~ .checkmark { border-color: var(--color-one); }
.mp-rez--jedna .paymentmethod label.radio_circle .text { opacity: .95; }
.mp-rez--jedna label.mp-rez-dop .mp-rez-dop-popis { opacity: .85; }
.mp-rez--jedna .mp-rez-hint { opacity: .95; }

/* Souhlas s e-maily a další zaškrtávátka mimo karty */
.mp-rez--jedna .shop_sidebar .form-check-input { background-color: #f4f4f6; border: 2px solid #fff; border-radius: 6px; }
.mp-rez--jedna .shop_sidebar .form-check-input:checked { background-color: var(--color-one); border-color: var(--color-one); }
.mp-rez--jedna .shop_sidebar .form-check label { color: #fff; opacity: .95; }

/* Neaktivní sekce: zřetelně šedá, ale čitelná */
.mp-rez--jedna #mp-rez-kdo-wrap.mp-rez-muted { opacity: .7; }
.mp-rez--jedna #mp-rez-kdo-wrap.mp-rez-muted .form-group > label { color: #b4b4bb; }
.mp-rez--jedna .mp-rez-muted .paymentmethod { opacity: .6; }
.mp-rez--jedna .mp-rez-muted .paymentmethod label.radio_circle { border-color: #5a5a62; background: #2c2c31; }
.mp-rez--jedna .mp-rez-muted .paymentmethod label.radio_circle .checkmark { background: #3a3a40; border-color: #6a6a72; }

/* Kontakty pod formulářem: kulatá fotka, jméno, telefon a e-mail */
.mp-rez-kontakt-os { display: flex; align-items: center; gap: 16px; margin: 0 0 14px; }
.mp-rez-kontakt-os img { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; }
.mp-rez-kontakt-os div { display: flex; flex-direction: column; line-height: 1.4; min-width: 0; }
.mp-rez-kontakt-os strong { font-weight: 600; }
.mp-rez-kontakt-os a { color: #fff; overflow-wrap: anywhere; }
.mp-rez-kontakt-os .mp-rez-ico { width: 1em; height: 1em; margin-right: 8px; color: var(--color-one); vertical-align: -.125em; }

/* Užší mezery ve formuláři s kontaktem: popisek blíž k poli a menší rozestup mezi řádky (šablona dává .form-group velké okraje). */
.mp-rez .form-group:not(.paymentmethod) { margin-top: 0 !important; margin-bottom: 12px !important; }
.mp-rez .form-group:not(.paymentmethod) > label { display: block; margin-bottom: 4px !important; line-height: 1.3; }
