@import url('https://db.onlinewebfonts.com/c/09f5b7000fbfca6a06aa5ffa21f63afd?family=Neutraface+Display+Titling');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap');


/* ==========================================================================
   PROSIGHT Forms – jednotný štýl pre CF7 (podľa Figmy)
   Pozn.: Hodnoty v :root sú design tokeny – doplňte presné čísla z Figmy.
   ========================================================================== */

/* 0) Design tokeny (jediné miesto, kde sa menia čísla/farby) */
:root {
  --pro-font-sans: "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  --pro-font-display: "Neutraface Display Titling", "Open Sans", sans-serif; /* pre modal nadpis */

  --pro-color-text: #050608;                /* primárny text */
  --pro-color-label: #696969;               /* label / hint */
  --pro-color-note: #050608;                /* drobná poznámka */
  --pro-color-border: #E2E6E9;              /* línie inputov */
  --pro-color-focus: #3B79F7;               /* Figma modrá */
  --pro-color-focus-dark: #2F66E1;          /* o čosi tmavšia pre hover tlačidla (voliteľné) */
  --pro-color-bg-card: #FFFFFF;             /* pozadie karty */
  --pro-color-bg-page: #F2F5F7;             /* pozadie stránky */
  --pro-color-error: #f60000;               /* validácia */
  --pro-color-success: #47C9A2;             /* “Ďakujeme” */
  --pro-input-float-gap: 6px;                 /* o koľko zväčšiť medzeru medzi labelom a textom pri floate */


  --pro-radius-xs: 4px;
  --pro-radius-sm: 6px;
  --pro-radius-md: 8px;

  --pro-shadow-card: 0 10px 30px rgba(0,0,0,.07);
  --pro-shadow-modal: 0 10px 40px rgba(0,0,0,.10);

  --pro-input-h: 56px;      /* výška inputu */
  --pro-input-px: 16px;     /* horizontálny padding */
  --pro-input-py: 16px;     /* vertikálny padding pre “ne-float” */
  --pro-input-float-pt: 24px; /* vertikálny padding top pre plávajúci label */
  --pro-input-float-pb: 8px;  /* vertikálny padding bottom pre plávajúci label */

  --pro-font-input: 16px;
  --pro-font-label: 14px;
  --pro-font-h3: 20px;      /* stránkový formulár – sekčné nadpisy */
  --pro-font-h3-modal: 32px;/* modál – veľký display nadpis */

  --pro-gap-group: 12px;    /* medzera medzi groupami */
  --pro-gap-section: 24px;  /* medzera pred/za H3 */
}

/* 1) Reset/normalize pre CF7 a základné elementy */
.hidden-fields-container { display: none !important; }

.wpcf7-form {
  font-family: var(--pro-font-sans);
  color: var(--pro-color-text);
}

/* 2) Základné vstupné prvky */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
select {
  display: block;
  width: 100%;
  padding: var(--pro-input-py) var(--pro-input-px);
  height: var(--pro-input-h);
  font: 400 var(--pro-font-input)/1.5 var(--pro-font-sans);
  color: var(--pro-color-text);
  background: #fff;
  border: 1px solid var(--pro-color-border);
  border-radius: var(--pro-radius-sm);
  box-sizing: border-box;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

/* placeholder kontrast a konzistencia */
::placeholder { color: var(--pro-color-label); opacity: 1; }
::-ms-input-placeholder { color: var(--pro-color-label); }
::-webkit-input-placeholder { color: var(--pro-color-label); }

textarea {
  height: auto;
  min-height: 120px;
  resize: vertical;
}

/* hover jemný náznak */
input:hover,
textarea:hover,
select:hover {
  border-color: var(--pro-color-focus);
}

/* 2.1) Focus states (a11y) – najprv fallback, potom moderný ring */
input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--pro-color-focus);   
  /*box-shadow: 0 0 0 2px rgba(59, 121, 247, .20);*/
  /*box-shadow: 0 0 0 2px color-mix(in srgb, var(--pro-color-focus) 20%, transparent);*/
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible { outline: none; }

/* autofill (Safari/Chrome) */
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: var(--pro-color-text);
  transition: background-color 9999s ease-in-out 0s;
  box-shadow: 0 0 0 1000px #fff inset;
}

/* disabled/read-only stavy */
input:disabled,
textarea:disabled,
select:disabled {
  background: #f7f8f9;
  color: #9aa0a6;
  cursor: not-allowed;
}

/* 2.2) Labely */
label {
  display: block;
  margin: 0 0 8px 0;
  font: 600 var(--pro-font-label)/1.3 var(--pro-font-sans);
  color: var(--pro-color-text);
}

/* 2.3) Tlačidlo */
input[type="submit"],
button[type="submit"] {
  -webkit-appearance: none;
  appearance: none;
  background: var(--pro-color-focus);
  color: #fff;
  height: var(--pro-input-h);
  padding: 0 48px;
  border: none;
  border-radius: var(--pro-radius-sm);
  font: 600 16px/1 var(--pro-font-sans);
  cursor: pointer;
  transition: background-color .2s ease, transform .06s ease;
}
input[type="submit"]:hover,
button[type="submit"]:hover { background: var(--pro-color-focus-dark); }
input[type="submit"]:active,
button[type="submit"]:active { transform: translateY(1px); }
input[type="submit"][disabled],
button[type="submit"][disabled] {
  opacity: .6;
  cursor: not-allowed;
}

/* 3) Karta formulára */
.pro-form {
  background: var(--pro-color-bg-card);
  padding: 48px;
  border-radius: var(--pro-radius-md);
  box-shadow: var(--pro-shadow-card);
  max-width: 630px; /* Nastaví maximálnu šírku */
  margin: 40px auto; /* Vycentruje formulár horizontálne */
}

/* 3.1) Sekčné nadpisy a statické labely */
.pro-form h3 {
    font-family: var(--pro-font-display); /* Použije display font */
    font-weight: 900;
    font-size: var(--pro-font-h3-modal); /* Použije väčšiu veľkosť z modalu (32px) */
    line-height: 1.2;
    letter-spacing: -0.5px;
    text-transform: uppercase;
    color: var(--pro-color-text); /* Zmena na čiernu farbu textu */
    text-align: center;
    border-bottom: none;
    margin: 0 0 24px 0; /* Jednotné odsadenie zospodu */
}

/* Štýl pre modré medzititulky (h4) a statické labely */
.pro-form h4,
.pro-form .pro-form__label--static {
  font-family: var(--pro-font-sans);
  font-size: 20px !important;
  font-weight: 700;
  color: var(--pro-color-focus);
  /*margin: var(--pro-gap-section) 0 16px 0;*/
  text-align: left; /* Zarovnanie doľava */
}

.pro-form h3:first-of-type { margin-top: 0; }

.pro-form .pro-form__label--static {
  position: static;
  margin: 0 0 12px 0;
}

/* 3.2) Skupiny (floating label mechanika) */
.pro-form__group {
  position: relative;
  margin: 0 0 var(--pro-gap-group) 0;
}

.pro-form__intro {
  margin: 24px auto;
  display: block;
  text-align: center;
}

/* padding pre plávajúci label */
.pro-form__group input:not([type="submit"]):not([type="hidden"]),
.pro-form__group textarea,
.pro-form__group select {
  padding: var(--pro-input-float-pt) var(--pro-input-px) var(--pro-input-float-pb) var(--pro-input-px) !important;
}

/* inicialná pozícia labelu (vo vnútri inputu) */
.pro-form__group .pro-form__label {
  position: absolute;
  top: 18px;
  left: calc(var(--pro-input-px) + 1px);
  font: 400 16px/1.2 var(--pro-font-sans);
  color: var(--pro-color-label);
  pointer-events: none;
  margin: 0;
  transition: all .15s ease-out;
}

/* 1) Len “má hodnotu” – šedý label (Figma) */
.pro-form__group.has-value .pro-form__label {
  top: 8px;
  font-size: 14px;
  font-weight: 400;          
  color: var(--pro-color-label);
}

/* 2) Fokus – label ostáva sivý aj počas focusu */
.pro-form__group:focus-within .pro-form__label,
.pro-form__group:has(input:focus) .pro-form__label,
.pro-form__group:has(textarea:focus) .pro-form__label,
.pro-form__group:has(select:focus) .pro-form__label {
  top: 8px;
  font-size: 14px;
  font-weight: 400;
  color: var(--pro-color-label);
}

.pro-form__group:has(input:focus) .pro-form__label,
.pro-form__group:has(textarea:focus) .pro-form__label,
.pro-form__group:has(select:focus) .pro-form__label {
  top: 8px;
  font-size: 14px;
  font-weight: 400;
  color: var(--pro-color-label);
}

/* hviezdička vo floating labeli má byť modrá ako vo Figme */
.pro-form__label.pro-form__required::after {
  content: " *";
  color: var(--pro-color-focus);
  font-weight: 700; /* ak vo Figme pôsobí výraznejšie */
}

/* Väčšia medzera medzi labelom a textom pri vyplnení/fokuse */
.pro-form__group.has-value input:not([type="submit"]):not([type="hidden"]),
.pro-form__group.has-value textarea,
.pro-form__group.has-value select,
.pro-form__group:focus-within input:not([type="submit"]):not([type="hidden"]),
.pro-form__group:focus-within textarea,
.pro-form__group:focus-within select {
  padding-top: calc(var(--pro-input-float-pt) + var(--pro-input-float-gap)) !important;
  padding-bottom: calc(var(--pro-input-float-pb) - var(--pro-input-float-gap)) !important; /* drží výšku 56px */
}

/* 3.3) Hviezdičkové hodnotenie */
.pro-form .cf7-star-rating {
  display: inline-flex;
  gap: 6px;
  vertical-align: middle;
}
.pro-form .cf7-star-rating .star {
  font-size: 24px;
  line-height: 1;
  color: var(--pro-color-border);
  cursor: pointer;
  transition: color .15s ease;
}
.pro-form .cf7-star-rating .star.selected,
.pro-form .cf7-star-rating .star[aria-pressed="true"] {
  color: var(--pro-color-focus);
}
.pro-form .cf7-star-rating:hover .star { color: var(--pro-color-focus); }
.pro-form .cf7-star-rating .star:hover ~ .star { color: var(--pro-color-border); }

/* 3.4) Poznámka a GDPR odkaz */
.pro-form__note,
.pro-form__outro {
  display: block;
  font: 400 14px/22px var(--pro-font-sans) !important;
  color: var(--pro-color-note);
  margin: 16px 0 0 0;
  text-align: left;
}


.pro-form__outro a {
  color: var(--pro-color-focus);
  text-decoration: underline;
  font-weight: 400;
}
.pro-form__outro a:hover { text-decoration: none; }

/* 3.5) CTA zarovnanie */
.pro-form input[type="submit"] {
  display: block;
  width: fit-content;
  margin: 24px auto 0 auto; /* center podľa screenshotu */
}

/* 4) Stavy – validácia, spinner, “ďakujeme” */
.wpcf7-not-valid-tip {
  color: var(--pro-color-error);
  font: 400 14px/1.4 var(--pro-font-sans);
  margin-top: 4px;
}
.wpcf7-form-control-wrap .wpcf7-not-valid,
[aria-invalid="true"] {
  border-color: var(--pro-color-error) !important;
}

/* stav odosielania (vypnuté tlačidlo + spinner) */
.pro-form__inputs.pro-transaction__started input[type="submit"] {
  color: transparent !important;
  pointer-events: none;
  position: relative;
}
.pro-form__inputs.pro-transaction__started input[type="submit"]::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border-top: 3px solid rgba(255,255,255,.85);
  border-right: 3px solid rgba(255,255,255,.25);
  border-bottom: 3px solid rgba(255,255,255,.25);
  border-left: 3px solid rgba(255,255,255,.25);
  animation: pro-form-spin 1s linear infinite;
}
@keyframes pro-form-spin { to { transform: rotate(360deg); } }

/* CF7 spinner – zarovnanie */
.pro-form .wpcf7-spinner {
  display: block;
  width: 24px;
  height: 24px;
  margin: -40px auto 0;
  position: relative;
  z-index: 10;
}

/* prepínanie zobrazení po úspechu */
.pro-form__inputs:not(.pro-show) { display: none !important; }
.pro-response-ok { display: none; padding: 48px 0; }
.pro-form .pro-response-ok.pro-show {
  display: flex;
  align-items: center; justify-content: center;
}
.pro-response-ok__content {
  width: 100%;
  display: flex; flex-direction: column;
  align-items: center; text-align: center;
}
.pro-response-ok__content img { width: 100%; max-width: 96px; }
.pro-response-ok__content h3 {
  color: var(--pro-color-success);
  border: none;
}

/* CF7 default hláška – skryť, ak používame vlastnú “ďakujeme” obrazovku */
form.wpcf7-form.pro-has-success .wpcf7-response-output { display: none !important; }
/* doplnkový variant s :has pre moderné prehliadače */
form.wpcf7-form:has(.pro-form):has(.pro-response-ok.pro-show) .wpcf7-response-output {
  display: none !important;
}

/* 5) Select – custom šípka (farebne podľa labelu; hex musí byť URL-enkódovaný) */
.pro-form__group select {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg fill='%236D6F70' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% - 15px) center;
  background-size: 20px;
  padding-right: 44px !important; /* miesto pre šípku */
}

/* 6) Responzivita */
@media (max-width: 1119px) {
  .pro-form { margin-bottom: 64px; }
}
@media (max-width: 768px) {
  .pro-form { padding: 32px 24px; }
}

/* 7) MODÁL (UIkit) – podľa screenshotu */
.uk-modal .uk-modal-dialog {
  max-width: 730px;
  width: calc(100% - 32px);
  border-radius: var(--pro-radius-md);
  box-shadow: var(--pro-shadow-modal);
}
.uk-modal-body {
  padding: 30px 20px !important;
}

/* formulár vnútri modalu – bez vlastného card vzhľadu */
.uk-modal-body .pro-form {
  padding: 0;
  box-shadow: none;
  margin: 0;
}

/* nadpis v modale – display font */
.pro-form-view--form .pro-form h3,
.uk-modal-body .pro-form h3 {
  font-family: 'Neutraface Display Titling', var(--pro-font-sans);
  font-weight: 900;
  font-size: var(--pro-font-h3-modal);
  line-height: 1.2;
  letter-spacing: -0.5px;
  text-transform: uppercase;
  color: #212626; /* podľa screenshotu skôr čierny titulok */
  border-bottom: none;
  margin-bottom: 10px;
}

/* poznámka o povinných poliach v modale */
.uk-modal-body .pro-form .pro-form__note {
  font: 400 14px/1.6 var(--pro-font-sans);
  color: var(--pro-color-note);
  margin: 24px 0 16px;
  text-align: left;
}

/* prepínanie view v modale (ak používate intro/info) */
.pro-form-view { display: none; }
.pro-form-view.is-visible { display: block; }

/* späť tlačidlo (ak je) */
.pro-form-back-button {
  display: inline-block;
  margin-bottom: 24px;
  font-weight: 400;
  font-size: 14px;
  color: var(--pro-color-focus);
  text-decoration: none !important;
}
.pro-form-back-button:hover { text-decoration: underline !important; }

/* Statický obsah v modale / formulári */
#pro-form-page-gdpr-modal .pro-form-static-content {
  margin: 24px;
}

.pro-form-static-content h2 {
  font-family: "Inter", var(--pro-font-sans);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;      /* 160% */
  letter-spacing: 0;
  color: var(--pro-color-text); /* podľa screenshotu čierny text */
  margin: 0 0 12px 0;
}

.pro-form-static-content p {
  font-family: "Inter", var(--pro-font-sans);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;      /* 160% */
  letter-spacing: 0;
  color: var(--pro-color-text);
  margin: 0 0 12px 0;
}

/* Voliteľne – ak sú v texte odkazy */
.pro-form-static-content a {
  color: var(--pro-color-focus);
  text-decoration: underline;
}
.pro-form-static-content a:hover {
  text-decoration: none;
}

/* Jemné zoskupenie – odstráni spodný okraj na poslednom elemente v bloku */
.pro-form-static-content > *:last-child { margin-bottom: 0; }


/* --- 6. Štýly pre hlavičku GDPR zobrazenia --- */

.pro-form-static__header {
    display: flex;
    align-items: center;
    gap: 16px; /* Medzera medzi šípkou a nadpisom */
    margin-bottom: 24px;
}

.pro-form-static__header h2 {
    margin: 0; /* Odstráni defaultný margin z nadpisu pre správne zarovnanie */
}

.pro-form-back-arrow {
    font-family: monospace;
    font-size: 30px;
    position: absolute;
    top: 10px;
    text-decoration: none;
    color: #999999 !important;
    text-decoration: none !important;
    line-height: 1;
}


/* mobil – väčšie vnútorné okraje modalu */
@media (max-width: 768px) {
  .uk-modal-body { padding: 48px 24px !important; }
}

/* Prefer-reduced-motion: obmedziť animácie */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* ==========================================================================
   Časť 7: Oprava pre WooCommerce View Switcher
   ========================================================================== */

/*
 * Tieto štýly opravujú dizajn prepínača zobrazenia (zoznam/mriežka),
 * ktorý bol nechtiac ovplyvnený globálnymi štýlmi pre formuláre.
 */

.view-switcher.woocommerce-input-wrapper {
    display: flex; /* Zarovná label a select vedľa seba */
    align-items: center; /* Vertikálne vycentruje obsah */
    justify-content: flex-end; /* Posunie prepínač na pravú stranu (voliteľné) */
    gap: 8px; /* Vytvorí medzeru medzi labelom a selectom */
    margin-bottom: 24px;
}

/* Vrátime labelu pôvodný vzhľad */
.view-switcher label {
    display: inline; /* Zrušíme display: block z forms.css */
    width: auto;
    margin-bottom: 0; /* Odstránime spodný okraj */
    font-weight: 400; /* Normálna hrúbka písma */
    font-size: 16px;
    font-weight: normal;
}

/* Vrátime selectu pôvodný, menší vzhľad */
.view-switcher select.select {
    display: inline-block; /* Zrušíme display: block */
    width: auto; /* Zrušíme width: 100% */
    height: auto; /* Zrušíme pevnú výšku */
    padding: 8px 30px 8px 12px; /* Zmenšíme padding */
    font-size: 15px;
    min-width: 120px; /* Nastavíme minimálnu šírku */
    border-radius: 4px; /* Mierne zaoblenie, upravte podľa potreby */
}

/* ==========================================================================
   Časť 8: Opravy pre WooCommerce (Košík a Pokladňa)
   ========================================================================== */

/*
 * Vráti normálnu hrúbku písma a primeranú výšku pre labely
 * radio buttonov v košíku a na pokladni.
 */
.woocommerce-cart .radio-option label.radio,
.woocommerce-checkout .radio-option label.radio {
    font-weight: 400 !important;      /* Vynúti normálnu (nie bold) hrúbku písma */
    padding-top: 12px !important;     /* Zmenší horný padding pre nižšiu výšku */
    padding-bottom: 12px !important;  /* Zmenší dolný padding pre nižšiu výšku */
    display: flex !important;
    align-items: center;
}

/* ==========================================================================
   Časť 9: Štýly pre WooCommerce Pokladňu (Floating Labels)
   ========================================================================== */

/*
 * Tieto štýly aplikujú dizajn plávajúcich labelov na polia
 * v pokladni, ktorých HTML štruktúra bola upravená JavaScriptom.
 */

/* Kontajner pre pole v pokladni sa teraz správa ako naša `.pro-form__group` */
.woocommerce-checkout .form-row.pro-form__group {
    position: relative;
    padding: 0;
    margin: 0 0 var(--pro-gap-group) 0;
}

/* Skryjeme pôvodný label, ktorý je nahradený plávajúcim */
.woocommerce-checkout .form-row.pro-form__group > label:first-of-type {
    display: none;
}

/* Aplikujeme padding pre plávajúci label na inputy a selecty */
.woocommerce-checkout .form-row.pro-form__group .input-text,
.woocommerce-checkout .form-row.pro-form__group select {
    padding: var(--pro-input-float-pt) var(--pro-input-px) var(--pro-input-float-pb) var(--pro-input-px) !important;
    height: var(--pro-input-h);
}

/* Špecifické pre select2, ktorý WooCommerce používa */
.woocommerce-checkout .form-row .select2-container .select2-selection--single {
    height: var(--pro-input-h) !important;
    padding: var(--pro-input-float-pt) var(--pro-input-px) var(--pro-input-float-pb) var(--pro-input-px) !important;
}
.woocommerce-checkout .form-row .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: normal !important;
}
.woocommerce-checkout .form-row .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: calc(var(--pro-input-h) - 2px) !important;
}

/* Plávajúci label - počiatočná pozícia */
.woocommerce-checkout .form-row.pro-form__group .pro-form__label {
    position: absolute;
    top: 15px;
    left: calc(var(--pro-input-px) + 1px);
    font: 400 16px/1.2 var(--pro-font-sans);
    color: var(--pro-color-label);
    pointer-events: none;
    margin: 0;
    transition: all .15s ease-out;
}

/* Plávajúci label - aktívny stav (posunutý hore) */
.woocommerce-checkout .form-row.pro-form__group.has-value .pro-form__label,
.woocommerce-checkout .form-row.pro-form__group:focus-within .pro-form__label,
.woocommerce-checkout .form-row.pro-form__group:has(input[type="date"]:not(:placeholder-shown)) .pro-form__label {

    top: 8px;
    font-size: 14px;
    font-weight: 400;
    color: var(--pro-color-label);
}

/* Zväčšenie medzery medzi labelom a textom pri vyplnení/fokuse */
.woocommerce-checkout .form-row.pro-form__group.has-value .input-text,
.woocommerce-checkout .form-row.pro-form__group.has-value select,
.woocommerce-checkout .form-row.pro-form__group:focus-within .input-text,
.woocommerce-checkout .form-row.pro-form__group:focus-within select,
.woocommerce-checkout .form-row.pro-form__group:focus-within .select2-container .select2-selection--single {
    padding-top: calc(var(--pro-input-float-pt) + var(--pro-input-float-gap)) !important;
    padding-bottom: calc(var(--pro-input-float-pb) - var(--pro-input-float-gap)) !important;
}

/* ==========================================================================
   Časť 10: Skrytie placeholderov pre polia účastníkov (FooEvents)
   ========================================================================== */

/*
 * Tento kód cielene skryje (urobí priehľadným) text placeholderu
 * v poliach pre účastníkov
 */
.woocommerce-checkout .input-text::placeholder {
    color: transparent !important;
}

.woocommerce-checkout .form-row:not(.has-value) select {
    color: transparent !important;
}

.woocommerce-checkout .form-row.has-value select {
    color: var(--pro-color-text) !important; /* Použije štandardnú farbu textu */
}

/* ==========================================================================
   Časť 11: Oprava pre duplicitnú hviezdičku (WooCommerce)
   ========================================================================== */

/*
 * Tento kód skryje pôvodnú hviezdičku pre povinné polia, ktorú
 * generuje WooCommerce (`<span class="required">*</span>`), aby sa
 * predišlo jej duplikácii s našou vlastnou modrou hviezdičkou.
 */
.pro-form__label .required {
    display: none !important;
}

/* ==========================================================================
   Časť 15: Finálne zjednotenie vzhľadu WooCommerce inputov
   ========================================================================== */

/*
 * Tento blok kódu zabezpečí, že všetky textové polia, selecty a textarey
 * v pokladni budú mať identický vizuálny štýl ako formuláre CF7.
 */

/*
 * Tento blok kódu zabezpečí, že všetky textové polia, selecty a textarey
 * v pokladni budú mať identický vizuálny štýl ako formuláre CF7.
 * Používame !important, aby sme prebili predvolené štýly z WooCommerce.
 */

/* 1. Základný vzhľad pre všetky polia v pokladni */
.woocommerce-checkout form .form-row .input-text,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .form-row textarea {
    height: var(--pro-input-h) !important;
    border: 1px solid var(--pro-color-border) !important;
    border-radius: var(--pro-radius-sm) !important;
    background-color: #fff !important;
    box-shadow: none !important;
    transition: border-color .15s ease, box-shadow .15s ease !important;
}

/* 2. Vzhľad pri zameraní (focus) – modré orámovanie */
.woocommerce-checkout form .form-row .input-text:focus,
.woocommerce-checkout form .form-row select:focus,
.woocommerce-checkout form .form-row textarea:focus {
    border-color: var(--pro-color-focus) !important;
    box-shadow: none !important;
}

/* 3. Vzhľad pri chybe validácie – červené orámovanie */
.woocommerce-checkout form .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout form .form-row.woocommerce-invalid select,
.woocommerce-checkout form .form-row.woocommerce-invalid textarea {
    border-color: var(--pro-color-error) !important;
}

/* 4. Vzhľad po úspešnej validácii – zrušíme zelené orámovanie a modré pozadie */
.woocommerce-checkout form .form-row.woocommerce-validated .input-text,
.woocommerce-checkout form .form-row.woocommerce-validated select,
.woocommerce-checkout form .form-row.woocommerce-validated textarea {
    border-color: var(--pro-color-border) !important;
    box-shadow: none !important;
    background-color: #fff !important;
}

/* 5. Aplikácia správneho paddingu pre floating label */
.woocommerce-checkout form .form-row.pro-form__group .input-text,
.woocommerce-checkout form .form-row.pro-form__group select,
.woocommerce-checkout form .form-row.pro-form__group textarea {
    padding: var(--pro-input-float-pt) var(--pro-input-px) var(--pro-input-float-pb) var(--pro-input-px) !important;
}

/*
 * Prehliadače (Chrome, Safari, Edge) vkladajú vlastné, ťažko prepísateľné
 * štýly pre polia, ktoré automaticky doplnia. Tento kód vynúti biele
 * pozadie a čierny text pomocou "box-shadow" triku.
 */
.woocommerce-checkout form .form-row .input-text:-webkit-autofill,
.woocommerce-checkout form .form-row .input-text:-webkit-autofill:hover,
.woocommerce-checkout form .form-row .input-text:-webkit-autofill:focus,
.woocommerce-checkout form .form-row select:-webkit-autofill,
.woocommerce-checkout form .form-row select:-webkit-autofill:hover,
.woocommerce-checkout form .form-row select:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--pro-color-text) !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important; /* Dvojitá istota pre staršie prehliadače */
    transition: background-color 5000s ease-in-out 0s; /* Zabraňuje prebliknutiu farby */
}

/* ==========================================================================
   Časť 16: Prevencia proti prebliknutiu (FOUC) v Pokladni
   ========================================================================== */

/*
 * Tento kód skryje formulárové sekcie pred inicializáciou JS
 * a zabezpečí ich plynulé zobrazenie po dokončení úprav.
 */

/* 1. Predvolene skryjeme sekcie a nastavíme plynulý prechod */
.woocommerce-checkout #customer_details,
.woocommerce-checkout .fooevents-attendee-fields {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

/* 2. Zobrazíme sekcie, až keď JS pridá triedu .js-is-ready */
.woocommerce-checkout #customer_details.js-is-ready,
.woocommerce-checkout .fooevents-attendee-fields.js-is-ready {
    opacity: 1;
}

/* ==========================================================================
   Časť 17: Zjednotenie dizajnu pre WooCommerce Môj Účet
   ========================================================================== */

/* Aplikujeme rovnaké štýly ako pre Pokladňu */
.woocommerce-account .form-row .input-text,
.woocommerce-account .form-row select,
.woocommerce-account .form-row textarea {
    height: var(--pro-input-h) !important;
    border: 1px solid var(--pro-color-border) !important;
    border-radius: var(--pro-radius-sm) !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

.woocommerce-account .form-row .input-text:focus,
.woocommerce-account .form-row select:focus,
.woocommerce-account .form-row textarea:focus {
    border-color: var(--pro-color-focus) !important;
    box-shadow: none !important;
}

/* Aplikácia paddingu a pozícií pre floating label */
.woocommerce-account .form-row.pro-form__group {
    position: relative;
    padding: 0;
}
.woocommerce-account .form-row.pro-form__group .input-text,
.woocommerce-account .form-row.pro-form__group select {
    padding: var(--pro-input-float-pt) var(--pro-input-px) var(--pro-input-float-pb) var(--pro-input-px) !important;
}
.woocommerce-account .form-row.pro-form__group .pro-form__label {
    position: absolute;
    top: 15px;
    left: calc(var(--pro-input-px) + 1px);
    font: 400 16px/1.2 var(--pro-font-sans);
    color: var(--pro-color-label);
    pointer-events: none;
    margin: 0;
    transition: all .15s ease-out;
}
.woocommerce-account .form-row.pro-form__group.has-value .pro-form__label,
.woocommerce-account .form-row.pro-form__group:focus-within .pro-form__label {
    top: 8px;
    font-size: 14px;
    color: var(--pro-color-label);
}
.woocommerce-account .form-row.pro-form__group.has-value .input-text,
.woocommerce-account .form-row.pro-form__group:focus-within .input-text {
    padding-top: calc(var(--pro-input-float-pt) + var(--pro-input-float-gap)) !important;
    padding-bottom: calc(var(--pro-input-float-pb) - var(--pro-input-float-gap)) !important;
}

/* Skrytie duplicitnej hviezdičky */
.woocommerce-account .pro-form__label .required {
    display: none !important;
}

/* Skrytie placeholderu, ktorý duplikuje label na stránke "Môj účet" */
.woocommerce-account .edit-account .form-row .input-text::placeholder {
    color: transparent !important;
}


/* ==========================================================================
   Časť 18: Štýly pre vlastnú prihlasovaciu stránku (/login)
   ========================================================================== */

/* Nadpis na prihlasovacej stránke */
.login-container .pro-form h3 {
    font-family: var(--pro-font-display);
    font-weight: 900;
    font-size: 28px; /* Podľa obrázku je o niečo menší ako v modale */
    text-transform: uppercase;
    text-align: center;
    color: var(--pro-color-text);
    margin-bottom: 12px;
}

/* Úprava polí vygenerovaných cez wp_login_form() */
.login-container .login-form p {
    margin-bottom: var(--pro-gap-group);
}
.login-container .login-form label {
    display: none; /* Skryjeme labely, pretože používame placeholdery */
}
.login-container .login-form input[type="text"],
.login-container .login-form input[type="password"] {
    padding: var(--pro-input-py) var(--pro-input-px) !important; /* Vynútime jednoduchý padding */
}

/* Tlačidlo na 100% šírky */
.login-container .login-submit input[type="submit"] {
    width: 100%;
    margin-top: 12px;
}

/* Úprava checkboxu "Remember Me" */
.login-container .woocommerce-form-login__rememberme,
.login-container .woocommerce-form-login__rememberme span {
    font-weight: 400 !important; /* Vynúti normálnu (nie bold) hrúbku písma */
}

.login-container .woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: var(--pro-color-text);
    margin: 0;
}

/* Nadpis na prihlasovacej stránke */
.login-container .pro-form h3 {
    font-family: var(--pro-font-display);
    font-weight: 900;
    font-size: 28px;
    text-transform: uppercase;
    text-align: center;
    color: var(--pro-color-text);
    margin-bottom: 12px;
}

/* Tlačidlo na 100% šírky */
.login-container .form-row button[type="submit"] {
    width: 100%;
    margin-top: 12px;
}

/* Skrytie automaticky generovaného tlačidla na zobrazenie hesla */
.login-container .show-password-input {
    display: none !important;
}


/* ==========================================================================
   Časť 20: Štýly pre vlastnú registračnú stránku (/register)
   ========================================================================== */

/* Nadpis na registračnej stránke */
.register-container .pro-form h3 {
    font-family: var(--pro-font-display);
    font-weight: 900;
    font-size: 28px;
    text-transform: uppercase;
    text-align: center;
    color: var(--pro-color-text);
    margin-bottom: 12px;
}

/* Tlačidlo na 100% šírky */
.register-container .form-row button[type="submit"] {
    width: 100%;
    margin-top: 12px;
}

/* ==========================================================================
   Časť 21: Štýly pre rozcestník (Login/Register)
   ========================================================================== */

/* Nadpisy vnútri karty */
.options-container .pro-form h4 {
    font-family: var(--pro-font-sans);
    font-size: 20px;
    font-weight: 700;
    color: var(--pro-color-text);
    margin-bottom: 8px;
}

/* Všeobecný štýl pre odkazy, ktoré majú vyzerať ako tlačidlá */
.pro-form a.button {
    display: inline-block;
    text-decoration: none;
    text-align: center;
    height: var(--pro-input-h);
    padding: 0 48px;
    border: 1px solid transparent;
    border-radius: var(--pro-radius-sm);
    font: 600 16px/var(--pro-input-h) var(--pro-font-sans);
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
    box-sizing: border-box;
}

/* Primárne (plné) tlačidlo */
.pro-form a.button-primary {
    background: var(--pro-color-focus);
    border-color: var(--pro-color-focus);
    color: #fff;
}

.pro-form a.button-primary:hover {
    background: var(--pro-color-focus-dark);
    border-color: var(--pro-color-focus-dark);
    color: #fff;
}

/* Sekundárne ("outline") tlačidlo */
.pro-form a.button-outline {
    background: transparent;
    border-color: var(--pro-color-focus);
    color: var(--pro-color-focus);
}

.pro-form a.button-outline:hover {
    background: var(--pro-color-focus);
    color: #fff;
}

/* ==========================================================================
   Časť 22: Oprava pre prekrývajúce sa texty vo formulároch
   ========================================================================== */

/*
 * Tento kód opravuje vizuálny konflikt, kde sa nadpis a texty
 * zobrazujú cez seba. Explicitne nastavuje ich pozíciu a zarovnanie,
 * aby sa prebili akékoľvek konfliktné pravidlá.
 */

.ps-newsletter .pro-form p {
    max-width: 100%;
}

.ps-authorForm {
    background: var(--bg);
    padding: 32px;
    margin-bottom: 24px;
    padding-top: 32px;
}

.ps-authorForm .pro-form, .ps-newsletter .pro-form, .ps-kariera_register 
.pro-form, .ps-ofv_register .pro-form, .ps-wp__override .pro-form{
    max-width: 730px;
}

.ps-authorForm .pro-form__inputs, .ps-newsletter .pro-form__inputs, 
.ps-kariera_register .pro-form__inputs, .ps-ofv_register .pro-form__inputss{
    max-width: 730px;
    background: #FFFFFF;
    padding: 40px 50px;
}

.dark .ps-wp__override .pro-form__inputs{
    max-width: 730px;
    background: #FFFFFF;
    padding: 40px 50px;
}

.light .ps-wp__override .pro-form__inputs{
    max-width: 730px;
    background: #F2F5F7;
    padding: 40px 50px;
}
.single-post .pro-form h3{
    margin: 0 0 24px 0 !important; /* Jednotné odsadenie zospodu */
}

/* ==========================================================================
   Časť 23: Úprava vzhľadu checkboxov (formulár F9)
   ========================================================================== */

/* 1. Zabezpečí, že každá položka (checkbox s labelom) bude na samostatnom riadku */
.pro-form__group .wpcf7-checkbox .wpcf7-list-item {
    display: block; /* Vynúti zobrazenie pod sebou */
    margin: 0 0 15px 0; /* Vytvorí medzeru medzi riadkami */
}
.pro-form__group .wpcf7-checkbox .wpcf7-list-item:last-child {
    margin-bottom: 0;
}

/* 2. Upraví zarovnanie a zruší tučné písmo pre labely pri checkboxoch */
.pro-form__group .wpcf7-checkbox .wpcf7-list-item label {
    display: inline-flex; /* Zarovná checkbox a text na jednu úroveň */
    align-items: center;
    gap: 12px; /* Vytvorí medzeru medzi checkboxom a textom */
    font-weight: 400 !important; /* Vráti normálnu (nie tučnú) hrúbku písma */
    font-size: 16px; /* Upraví veľkosť písma podľa potreby */
    cursor: pointer;
}

/* 3. Pre istotu cieli priamo na text, ak by predchádzajúce pravidlo nestačilo */
.pro-form__group .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
    font-weight: 400 !important;
}