/* Rezervace. Uses the theme's colour tokens, with fallbacks for other themes. */

/* Overview [rezervace] */
.rez-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:34px 26px;margin:28px 0}
.rez-card{display:flex;flex-direction:column;gap:10px}
.rez-card__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;margin:0}
.rez-card__title{font-size:23px;margin:4px 0 0}
.rez-card__title a{color:var(--ink,#232C27);text-decoration:none}
.rez-card__title a:hover{color:var(--terracotta,#A0522D)}
.rez-card__excerpt{margin:0;font-size:15px;line-height:1.6;color:var(--muted,#4A5145)}
.rez-card__price{margin:0 0 6px;font-size:15px;color:var(--mint-label,#4F7368)}
.rez-card__link{align-self:flex-start;margin-top:auto}

/* Workshop page */
.rez{margin-top:48px;padding-top:32px;border-top:1px solid var(--line,rgba(35,44,39,.14));scroll-margin-top:120px}
.rez h2{margin:0 0 10px}
.rez-price{margin:0 0 22px;color:var(--mint-label,#4F7368)}
.rez-empty{padding:18px 20px;background:var(--paper-2,#EDE8DD)}

.rez-form{display:grid;gap:22px;max-width:36rem}
.rez-slots{display:grid;gap:8px;margin:0;padding:0;border:0;min-width:0}
.rez-slots legend{margin-bottom:10px;padding:0;font-weight:700;color:var(--ink,#232C27)}
.rez-slot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:48px;padding:10px 16px;border:1px solid var(--line,rgba(35,44,39,.25));border-radius:6px;background:#fff;cursor:pointer}
.rez-slot:hover{border-color:var(--mint,#3E6A59)}
.rez-slot:has(input:checked){border-color:var(--mint,#3E6A59);box-shadow:inset 0 0 0 1px var(--mint,#3E6A59);background:rgba(62,106,89,.06)}
.rez-slot:has(input:focus-visible){outline:2px solid var(--mint,#3E6A59);outline-offset:2px}
.rez-slot input{accent-color:var(--mint,#3E6A59);width:18px;height:18px;margin:0}
.rez-slot__date{color:var(--ink,#232C27)}
.rez-slot__free{font-size:14px;color:var(--mint-label,#4F7368);white-space:nowrap}
.rez-slot.is-full{cursor:not-allowed;background:transparent}
.rez-slot.is-full .rez-slot__date,.rez-slot.is-full .rez-slot__free{color:var(--taupe,#8C7C6A)}
.rez-slot.is-full .rez-slot__date{text-decoration:line-through}

.rez-fields{display:grid;gap:16px}
.rez-fields[hidden]{display:none}
.rez-field{display:grid;gap:4px;margin:0}
.rez-field label{font-weight:700;color:var(--ink,#232C27)}
.rez-required{color:var(--terracotta,#A0522D)}
.rez-field input[type=text],.rez-field input[type=email],.rez-field input[type=tel],.rez-field select,.rez-field textarea{width:100%;min-height:48px;padding:10px 12px;font:inherit;font-size:1rem;color:var(--ink,#232C27);background:#fff;border:1px solid rgba(35,44,39,.4);border-radius:6px}
.rez-field select{max-width:8rem}
.rez-field :is(input,select,textarea):focus-visible{outline:2px solid var(--mint,#3E6A59);outline-offset:1px;border-color:var(--mint,#3E6A59)}
.rez-field :is(input,textarea):user-invalid,.rez-field :is(input,select,textarea)[aria-invalid=true]{border-color:var(--terracotta,#A0522D)}
.rez-consent label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:15px;line-height:1.5}
.rez-consent input{accent-color:var(--mint,#3E6A59);width:18px;height:18px;margin:3px 0 0;flex:none}
.rez-error{font-size:14px;color:var(--terracotta,#A0522D)}
.rez-error::before{content:"⚠ "}
.rez-alert{margin:0;padding:12px 16px;border-left:3px solid var(--terracotta,#A0522D);background:#fff;color:var(--ink,#232C27)}
.rez-submit{margin:4px 0 0}
.rez-submit .btn[disabled]{opacity:.6;cursor:progress}
.rez-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Thank-you box */
.rez-done{margin:0 0 36px;padding:24px;background:#fff;border:1px solid var(--mint-light,#9CBFB2);border-radius:8px}
.rez-done h2{color:var(--mint,#3E6A59)}
.rez-done h3{font-size:20px}
.rez-done table td{font-size:15px}
.rez-done img{border-radius:0}

/* Total, hints, two columns */
.rez-total{margin:0;padding:14px 16px;background:#fff;border:1px solid var(--line,rgba(35,44,39,.14));border-radius:6px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.rez-total[hidden],.rez-hint[hidden]{display:none}
.rez-total strong{font-family:var(--serif,Georgia,serif);font-size:22px;font-weight:400}
.rez-hint{margin:0;color:var(--terracotta,#A0522D)}
.rez-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:12px}
.rez-field input[type=date]{width:100%;min-height:48px;padding:10px 12px;font:inherit;font-size:1rem;color:var(--ink,#232C27);background:#fff;border:1px solid rgba(35,44,39,.4);border-radius:6px}

/* Rental calendar */
.rez-cal-wrap{display:grid;gap:14px}
.rez-cal__label{margin:0;font-weight:700;color:var(--ink,#232C27)}
.rez-cal__month{margin:0 0 6px;font-size:14px;color:var(--mint-label,#4F7368);text-transform:capitalize}
.rez-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:36rem}
.rez-cal__wd{font-size:11px;text-align:center;color:var(--mint-label,#4F7368);text-transform:uppercase}
.rez-cal__day{min-height:40px;padding:0;font:inherit;font-size:14px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--taupe,#8C7C6A)}
.rez-cal__day.is-handover{background:#fff;border-color:var(--line,rgba(35,44,39,.25));color:var(--ink,#232C27);cursor:pointer}
.rez-cal__day.is-handover:hover{border-color:var(--mint,#3E6A59)}
.rez-cal__day.is-full{text-decoration:line-through}
.rez-cal__day.is-off{opacity:.45}
.rez-cal__day.is-range{background:rgba(62,106,89,.15);color:var(--ink,#232C27)}
.rez-cal__day.is-picked{background:var(--mint,#3E6A59);border-color:var(--mint,#3E6A59);color:#fff}
.rez-cal__day:focus-visible{outline:2px solid var(--mint,#3E6A59);outline-offset:2px}
.rez-cal__legend{margin:0;font-size:13px;color:var(--mint-label,#4F7368)}
