/* ===== ePoukaz modal – základ ===== */
.epkz-modal[aria-hidden="true"] { display:none; }
.epkz-modal[aria-hidden="false"] { display:block; }

.epkz-overlay{
  position:fixed; inset:0;
  background:rgba(15,23,42,.45);
  backdrop-filter:saturate(120%) blur(2px);
  z-index:9998;
}

.epkz-dialog{
  position:fixed; inset:0;
  display:flex; align-items:center; justify-content:center;
  padding:24px; z-index:9999;
}

.epkz-dialog > div{
  width:min(760px, 96vw);          /* jednokolonka */
  max-height:calc(100vh - 64px);   /* vždy se vejde do okna */
  display:grid; grid-template-columns:1fr;
  overflow:hidden; border-radius:16px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.25);
}

.epkz-left{ padding:22px 22px; overflow:auto; background:#fff; }

.epkz-close{
  position:absolute; top:18px; right:18px;
  width:40px; height:40px; border-radius:50%;
  border:1px solid #e2e8f0; background:#fff;
  cursor:pointer; font-size:22px; line-height:1;
}

.epkz-badge{
  display:inline-block;
  background:#eef7ff; color:#2a80c4;
  border:1px solid #cfe6fa; border-radius:999px;
  padding:4px 10px; font-size:12px; font-weight:700;
}

.epkz-title{ font-size:26px; line-height:1.15; margin:6px 0 12px; color:#0f172a; font-weight:800; }
.epkz-label{ display:block; font-weight:800; color:#0f172a; margin:10px 0 6px; }

.epkz-input{
  width:100%; height:50px; border-radius:12px;
  border:2px solid #d1e3f1; background:#fff; font-size:18px;
  padding:0 16px; outline:0; transition:border-color .2s;
}
.epkz-input:focus{ border-color:#2a80c4; }

.epkz-help{ font-size:13px; color:#64748b; margin:8px 0 14px; }
.epkz-err{ display:none; color:#b91c1c; font-size:13px; margin:-4px 0 12px; font-weight:700; }

.epkz-form-wrap{ margin-top:6px; }
/* skryj pomocnou hlavičku nad Shoptet formulářem */
.epkz-form-head{ display:none !important; }

.epkz-note{ font-size:13px; color:#475569; margin-top:12px; }

@media (max-width: 860px), (max-height: 720px){
  .epkz-dialog > div{ max-height:calc(100vh - 48px); }
}

/* ===== Souhlas: vždy kliknutelný v modalu ===== */
#epkz-modal .form-group.consents{ position:relative; z-index:5; }
#epkz-modal .form-group.consents *{ pointer-events:auto; }

#epkz-modal .form-group.consents input[type="checkbox"]{
  position:relative; z-index:3; pointer-events:auto;
}
#epkz-modal .form-group.consents label.whole-width{
  position:relative; z-index:2; cursor:pointer;
}
#epkz-modal .form-group.consents label.whole-width::before,
#epkz-modal .form-group.consents label.whole-width::after{
  pointer-events:none !important;
}
#epkz-modal .form-group.consents .required-asterisk{
  pointer-events:none !important;
}
#epkz-modal .form-group.consents .required-asterisk a{
  pointer-events:auto !important; /* odkaz zůstává klikací */
}

/* (Volitelné) Děkujeme box – pro případ, že ho chceš stylovat zde */
.epkz-thanks{
  background:#f7fdf9; border:1px solid #b7e5c0;
  border-radius:14px; padding:22px; text-align:center; margin-top:16px;
}
.epkz-thanks h4{ color:#0c8f3a; margin:0 0 6px; font-size:18px; }
.epkz-thanks p{ margin:0; color:#0f172a; }

/* Souhlas v modalu: nic nesmí „krást“ klik */
#epkz-modal .form-group.consents{ position:relative; z-index:5; }
#epkz-modal .form-group.consents input[type="checkbox"]{ position:relative; z-index:3; }
#epkz-modal .form-group.consents label.whole-width{ position:relative; z-index:2; cursor:pointer; }
#epkz-modal .form-group.consents label.whole-width::before,
#epkz-modal .form-group.consents label.whole-width::after{ pointer-events:none !important; }
#epkz-modal .form-group.consents .required-asterisk{ pointer-events:none !important; }
#epkz-modal .form-group.consents .required-asterisk a{ pointer-events:auto !important; }

/* =========================================================
   EXTRÉMNĚ KOMPAKTNÍ MODAL: Bez pole zpráva + fix křížku
   ========================================================= */

/* 1. Hlavní okno - fixní šířka a centrování */
.epkz-dialog > div {
    position: relative !important;
    width: 100%;
    max-width: 450px !important; 
    margin: auto;
    max-height: fit-content !important; /* Okno se přizpůsobí obsahu */
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    background: #fff;
}

/* 2. Fix křížku - musí být uvnitř bílého boxu */
.epkz-close {
    position: absolute !important;
    top: 12px;
    right: 12px;
    z-index: 100;
    width: 30px;
    height: 30px;
    background: #f1f5f9;
    border: none;
    font-size: 20px;
    border-radius: 50%;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* 3. Odstranění pole Zpráva a úspora místa */
.epkz-left {
    padding: 25px 20px !important;
}

/* Skrytí pole zpráva (textarea) a jeho popisku */
#epkz-modal .form-group:has(textarea),
#epkz-modal textarea {
    display: none !important;
}

/* Komprese nadpisů a vstupů */
.epkz-title { 
    font-size: 20px !important; 
    margin: 0 0 10px 0 !important; 
    padding-right: 35px; /* Aby text nešel pod křížek */
}

.epkz-label { font-size: 14px; margin-bottom: 4px !important; }
.epkz-input { height: 42px !important; margin-bottom: 5px !important; }
.epkz-help { font-size: 12px; margin-bottom: 15px !important; }

/* 4. Úprava Shoptet formuláře */
#epkz-modal .form-group {
    margin-bottom: 10px !important;
}

#epkz-modal .form-group label {
    font-size: 13px;
    margin-bottom: 2px !important;
}

/* 5. Tlačítko Odeslat - výrazné a viditelné */
#epkz-modal .form-buttons {
    margin-top: 15px !important;
}

#epkz-modal button[type="submit"] {
    width: 100% !important;
    height: 48px !important;
    background-color: #008800 !important; 
    color: #fff !important;
    font-weight: 700;
    font-size: 16px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

/* Odstranění nápovědy pro scroll - již nebude potřeba */
.epkz-dialog > div::after { display: none !important; }