/* Prihláška do tábora — styles of the [fantazia_prihlaska] form (prihlaska.php).
   Loaded only on the page with the form (fz_prihlaska_assets() in prihlaska.php), after the
   theme styles. Until 2026-10-15 printed as an inline <style> under the form. */

.fz-form{
  --fz-accent:#FF7400;
  --fz-accent-dark:#e56600;
  --fz-accent-tint:#fff2e6;
  --fz-ink:#1a1d21;
  --fz-muted:#69707d;
  --fz-border:#e6e8ec;
  --fz-card:#fff;
  --fz-radius:18px;
  --fz-shadow:0 1px 2px rgba(16,24,40,.04),0 12px 28px -8px rgba(16,24,40,.10);
  max-width:1180px;margin:0 auto;color:var(--fz-ink);
}

.fz-layout{display:block}
.fz-main{min-width:0}

.fz-card{
  background:var(--fz-card);padding:16px;border-radius:var(--fz-radius);
  margin:0 0 12px;box-shadow:var(--fz-shadow);border:1px solid var(--fz-border);
}
#fz-turnus-select{scroll-margin-top:calc(var(--header-height, 90px) + 16px)}
.fz-card-head{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px}
.fz-badge{
  flex:none;width:26px;height:26px;border-radius:50%;background:var(--fz-accent-tint);color:var(--fz-accent-dark);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;
}
.fz-card-head h2{margin:0 0 2px;font-size:18px;font-weight:700;letter-spacing:-.01em}
.fz-help{margin:0;color:var(--fz-muted);font-size:14px}

.fz-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fz-field-wide{grid-column:1/-1}
.fz-field[hidden]{display:none}
.fz-norc{position:relative;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fz-muted);cursor:pointer;margin-top:-2px}
.fz-field label{
  display:block;font-weight:600;margin:0 0 4px;font-size:13px;letter-spacing:.02em;color:var(--fz-ink);
}
.fz-req{color:var(--fz-accent);margin-left:3px}

.fz-form input:not(.fz-sr-input),.fz-form select{
  box-sizing:border-box;width:100%;font-size:15px;line-height:1.25;padding:8px 12px;
  border:1.5px solid var(--fz-border);border-radius:10px;background-color:#fff;color:var(--fz-ink);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.fz-form input:not(.fz-sr-input):focus,.fz-form select:focus{
  outline:none;border-color:var(--fz-accent);box-shadow:0 0 0 4px var(--fz-accent-tint);
}
.fz-form select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%2369707d' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}

/* Turnus + toggle options */
.fz-options{display:flex;flex-direction:column;gap:8px}
.fz-sr-input{position:absolute;opacity:0;width:1px;height:1px}

.fz-turnus-row{
  container-type:inline-size;position:relative;display:flex;align-items:center;gap:12px;padding:9px 14px;
  border:1.5px solid var(--fz-border);border-radius:12px;cursor:pointer;
  transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.fz-turnus-row:hover{border-color:#d8dce2}
.fz-sr-input:focus-visible ~ .fz-radio-dot{outline:2px solid var(--fz-accent);outline-offset:2px}
.fz-sr-input:checked ~ .fz-radio-dot{border-color:var(--fz-accent)}
.fz-sr-input:checked ~ .fz-radio-dot::after{transform:scale(1)}
.fz-sr-input:checked ~ .fz-turnus-main .fz-turnus-title{color:var(--fz-accent-dark)}
.fz-turnus-row:has(.fz-sr-input:checked){border-color:var(--fz-accent);background:var(--fz-accent-tint);box-shadow:0 0 0 4px var(--fz-accent-tint)}

.fz-radio-dot{
  flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #cfd4dc;position:relative;background:#fff;
}
.fz-radio-dot::after{
  content:"";position:absolute;inset:4px;border-radius:50%;background:var(--fz-accent);
  transform:scale(0);transition:transform .15s ease;
}

.fz-turnus-main{flex:1;display:flex;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:3px 8px;min-width:0}
.fz-turnus-title{font-weight:700;font-size:15px;white-space:nowrap}
.fz-turnus-dates{flex-basis:100%;font-size:13px;color:var(--fz-muted);white-space:nowrap} /* own line in a narrow row, see @container below */
.fz-turnus-price{flex:none;font-weight:700;font-size:16px;color:var(--fz-ink)}
.fz-turnus-kap{flex-basis:100%;line-height:1}
.fz-turnus-row--off{cursor:not-allowed;background:#f6f7f9}
.fz-turnus-row--off:hover{border-color:var(--fz-border)}
.fz-turnus-row--off .fz-turnus-title,.fz-turnus-row--off .fz-turnus-price{color:var(--fz-muted)}
.fz-turnus-row--off .fz-radio-dot{background:#eceff3}
.fz-kap-msg{margin:10px 0 0}

/* Children */
.fz-child{border-top:1px solid var(--fz-border);padding-top:14px;margin-top:14px}
.fz-child:first-child{border-top:0;padding-top:0;margin-top:0}
.fz-child-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.fz-child-head strong{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--fz-muted)}

.fz-add-child{
  width:100%;margin-top:12px;padding:10px 14px;border-radius:12px;border:1.5px dashed #d5d9e0;
  background:#fafbfc;color:var(--fz-muted);font-weight:600;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;transition:border-color .15s ease, color .15s ease;
}
.fz-add-child:hover{border-color:var(--fz-accent);color:var(--fz-accent-dark)}
.fz-add-icon{font-size:18px;line-height:1}

.fz-remove-child{
  border:0;background:transparent;color:#b3261e;font-weight:600;font-size:13px;cursor:pointer;
  display:flex;align-items:center;gap:5px;padding:4px 6px;border-radius:8px;
}
.fz-remove-child:hover{background:#fdecea}

/* Toggle rows (checkboxes) */
.fz-toggle-row{
  display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid var(--fz-border);
  border-radius:12px;cursor:pointer;transition:border-color .15s ease, background-color .15s ease;
}
.fz-toggle-row:hover{border-color:#d8dce2}
.fz-options-plain .fz-toggle-row{padding:9px 12px}

.fz-check-box{
  flex:none;width:20px;height:20px;border-radius:6px;border:2px solid #cfd4dc;background:#fff;
  display:flex;align-items:center;justify-content:center;color:#fff;transition:background-color .15s ease, border-color .15s ease;
}
.fz-sr-input:checked ~ .fz-check-box{background:var(--fz-accent);border-color:var(--fz-accent)}
.fz-sr-input:focus-visible ~ .fz-check-box{outline:2px solid var(--fz-accent);outline-offset:2px}
.fz-toggle-row:has(.fz-sr-input:checked){border-color:var(--fz-accent);background:var(--fz-accent-tint)}

.fz-toggle-text{flex:1;font-weight:600;font-size:14px}
.fz-toggle-price{flex:none;font-weight:700;font-size:15px;color:var(--fz-ink)}

/* Summary sidebar */
.fz-summary-inner{
  background:var(--fz-card);border-radius:var(--fz-radius);border:1px solid var(--fz-border);
  box-shadow:var(--fz-shadow);padding:18px;
}
.fz-summary-inner h2{margin:0 0 12px;font-size:17px;font-weight:700;letter-spacing:-.01em}
.fz-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:5px 0;font-size:14px}
.fz-summary-row span{color:var(--fz-muted)}
.fz-summary-row strong{font-weight:700;text-align:right}
.fz-summary-divider{height:1px;background:var(--fz-border);margin:6px 0}
.fz-summary-total{font-size:16px}
.fz-summary-total strong{color:var(--fz-accent-dark);font-size:20px}
.fz-summary-note{margin:8px 0 14px;font-size:12px;color:var(--fz-muted);line-height:1.4}
.fz-summary .fz-btn{margin-top:0}
.fz-robot .cf-turnstile > *{margin-bottom:12px} /* only when Cloudflare really shows the box */

/* Submit */
.fz-btn{
  width:100%;padding:13px;border:0;border-radius:12px;background:var(--fz-accent);color:#fff;
  font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 8px 20px -6px rgba(255,116,0,.5);
  transition:background-color .15s ease, transform .1s ease;
}
.fz-btn:hover{background:var(--fz-accent-dark)}
.fz-btn:active{transform:translateY(1px)}
.fz-btn[disabled]{opacity:.6;cursor:not-allowed;box-shadow:none}
.fz-toggle-row--off{opacity:.5;cursor:not-allowed}

.fz-hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}

.fz-alert{border-radius:12px;padding:12px 16px;margin:0 0 12px;font-size:15px;line-height:1.45;scroll-margin-top:calc(var(--header-height, 90px) + 16px)}
.fz-alert[hidden]{display:none}
.fz-alert-error{background:#fdecea;border:1.5px solid #f3b8b2;color:#7a1c14}
.fz-alert-info{background:var(--fz-accent-tint);border:1.5px solid #ffd2a8;color:var(--fz-ink)}
.fz-alert button{margin-left:6px;border:0;background:transparent;color:var(--fz-accent-dark);font-weight:700;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}

/* Desktop / notebook: use the full page width with a two-column layout */
@media(min-width:960px){
  .fz-layout{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
  .fz-summary{position:sticky;top:calc(var(--header-height, 90px) + 16px)}
}

/* Turnus rows (2026-10-09): one line when the row is wide enough (computer, tablet, phone on
   its side), otherwise „1. turnus – 8 dní“ / dates. By the row width, so all rows alike. */
.fz-turnus-dni-d{display:none}
@container (min-width:480px){
  .fz-turnus-dates{flex-basis:auto}
  .fz-turnus-dni-m{display:none}
  .fz-turnus-dni-d{display:inline;font-weight:700}
}
@media(max-width:640px){
  .fz-card,.fz-summary-inner{padding:14px;border-radius:14px}
  .fz-grid{grid-template-columns:1fr}
  .fz-turnus-price{font-size:14px}
}