/*!
 * kontakty.css — kontaktní sekce (formulář + kontaktní údaje)
 * EDUnino, 2026
 *
 * Vše je schované pod .edn-contact, takže se to nepere se style.css
 * ani s Bootstrapem. Barvy se berou z proměnných v settings.css
 * (--btn-color, --primary-color …); hodnota za čárkou je záloha,
 * kdyby settings.css nebyl na dané stránce načtený.
 *
 * Velikosti jsou v px záměrně — web má základní písmo 20px,
 * ve formuláři by rem hodnoty vycházely nepřiměřeně velké.
 */

.edn-contact{
  --edn-accent:      var(--btn-color, #0078ff);
  --edn-accent-dark: #005ec4;
  --edn-accent-soft: #e7f1ff;
  --edn-ink:         var(--primary-color, #161616);
  --edn-muted:       #6b7785;
  --edn-line:        #e4e9f0;
  --edn-radius:      14px;
  color:var(--edn-ink);
}
.edn-contact *{box-sizing:border-box;}

/* ---------- karty ---------- */
.edn-contact .edn-card{
  background:#fff;
  border:1px solid var(--edn-line);
  border-radius:var(--edn-radius);
  padding:28px;
  margin-bottom:24px;
  box-shadow:0 1px 2px rgba(16,24,40,.04), 0 8px 24px rgba(16,24,40,.05);
}
.edn-contact .edn-card--form{margin-bottom:0;}
.edn-contact .edn-card--sm{padding:22px;margin-bottom:0;}
.edn-contact .edn-card--accent{
  background:linear-gradient(180deg,var(--edn-accent-soft) 0%,#fff 65%);
  border-color:#cfe2ff;
}
/* Fakturační údaje a Bankovní spojení – pod sebou, jako pokračování sloupce */
.edn-contact .edn-grid{display:block;}
.edn-contact .edn-grid .edn-card{margin-bottom:24px;}
.edn-contact .edn-grid .edn-card:last-child{margin-bottom:0;}

/* ---------- nadpisy ---------- */
.edn-contact .edn-h2{
  margin:0 0 8px;font-size:28px;font-weight:700;line-height:1.25;color:var(--edn-ink);
}
.edn-contact .edn-h4{
  margin:0 0 14px;font-size:18px;font-weight:700;color:var(--edn-ink);
  display:flex;align-items:center;gap:9px;
}
.edn-contact .edn-h4 i{color:var(--edn-accent);font-size:.95em;}
.edn-contact .edn-lead{margin:0 0 22px;color:var(--edn-muted);font-size:16px;line-height:1.6;}

/* ---------- formulář ---------- */
.edn-contact .edn-field{margin-bottom:18px;}
.edn-contact .edn-field label{
  display:block;margin:0 0 6px;font-size:14px;font-weight:600;letter-spacing:.01em;
  color:var(--edn-ink);text-transform:none;
}
.edn-contact .edn-req{color:#d93025;}
.edn-contact .edn-opt{color:var(--edn-muted);font-weight:400;font-size:.85em;}

.edn-contact input[type=text],
.edn-contact input[type=email],
.edn-contact input[type=tel],
.edn-contact textarea{
  width:100%;padding:12px 14px;margin:0;
  font-family:inherit;font-size:16px;line-height:1.5;color:var(--edn-ink);
  background:#fff;
  border:1px solid #cfd6e0;border-radius:10px;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.edn-contact textarea{min-height:150px;resize:vertical;display:block;}
.edn-contact input::placeholder,
.edn-contact textarea::placeholder{color:#a7b0bd;opacity:1;}
.edn-contact input:focus,
.edn-contact textarea:focus{
  outline:0;border-color:var(--edn-accent);
  box-shadow:0 0 0 3px rgba(0,120,255,.16);
}
.edn-contact .is-invalid{border-color:#d93025 !important;background:#fffafa;}
.edn-contact .edn-error{display:none;margin-top:5px;font-size:13px;color:#d93025;}
.edn-contact .edn-error.show{display:block;}
.edn-contact .edn-counter{
  display:block;margin-top:5px;text-align:right;font-size:12px;color:#a7b0bd;
}

/* honeypot – nesmí být vidět, ale nesmí být ani display:none (roboti to poznají) */
.edn-contact .edn-hp{
  position:absolute !important;left:-9999px !important;top:auto;
  width:1px;height:1px;overflow:hidden;
}

/* ---------- tlačítko ---------- */
.edn-contact .edn-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 34px;border:0;border-radius:10px;
  background:var(--edn-accent);color:#fff;
  font-family:inherit;font-size:16px;font-weight:600;line-height:1.2;cursor:pointer;
  transition:background .15s ease, transform .06s ease, box-shadow .15s ease;
  box-shadow:0 2px 8px rgba(0,120,255,.28);
}
.edn-contact .edn-btn:hover:not(:disabled){background:var(--edn-accent-dark);box-shadow:0 4px 14px rgba(0,120,255,.34);}
.edn-contact .edn-btn:active:not(:disabled){transform:translateY(1px);}
.edn-contact .edn-btn:disabled{opacity:.65;cursor:default;box-shadow:none;}
.edn-contact .edn-btn:focus-visible{outline:3px solid rgba(0,120,255,.4);outline-offset:2px;}

.edn-contact .edn-spinner{
  display:none;width:16px;height:16px;border-radius:50%;
  border:2px solid rgba(255,255,255,.45);border-top-color:#fff;
  animation:edn-spin .7s linear infinite;
}
.edn-contact .is-sending .edn-spinner{display:inline-block;}
@keyframes edn-spin{to{transform:rotate(360deg);}}

.edn-contact .edn-note{margin:14px 0 0;font-size:13px;color:var(--edn-muted);line-height:1.5;}

/* ---------- výsledná hláška ---------- */
.edn-contact .edn-result{
  display:none;margin-top:18px;padding:14px 16px;border-radius:10px;
  font-size:15px;line-height:1.55;border:1px solid transparent;
}
.edn-contact .edn-result.ok{display:block;background:#e8f5ec;border-color:#bfe3cb;color:#14663a;}
.edn-contact .edn-result.err{display:block;background:#fdecea;border-color:#f6c6c1;color:#a3160b;}

/* ---------- kontaktní údaje ---------- */
.edn-contact .edn-list{list-style:none;margin:0;padding:0;}
.edn-contact .edn-list li{
  display:flex;align-items:flex-start;gap:13px;
  padding:11px 0;margin:0;border-bottom:1px solid var(--edn-line);
  font-size:16px;line-height:1.5;
}
.edn-contact .edn-list li:last-child{border-bottom:0;padding-bottom:0;}
.edn-contact .edn-list li:first-child{padding-top:0;}
.edn-contact .edn-list li::before{content:none;}   /* zruší případné odrážky ze style.css */
.edn-contact .edn-ico{
  flex:0 0 34px;width:34px;height:34px;border-radius:9px;
  background:var(--edn-accent-soft);color:var(--edn-accent);
  display:inline-flex;align-items:center;justify-content:center;font-size:15px;
}
.edn-contact .edn-list a{color:var(--edn-accent);text-decoration:none;font-weight:600;}
.edn-contact .edn-list a:hover{text-decoration:underline;}
.edn-contact .edn-hours{
  display:block;font-style:normal;font-size:14px;color:var(--edn-muted);margin-top:2px;
}

.edn-contact .edn-dl{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;margin:0;font-size:15px;}
.edn-contact .edn-dl dt{color:var(--edn-muted);font-weight:500;white-space:nowrap;}
.edn-contact .edn-dl dd{margin:0;font-weight:600;overflow-wrap:anywhere;}
.edn-contact .edn-mono{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;letter-spacing:.02em;
}
