.yhr-booking{max-width:50rem;margin:2rem auto;padding:1.5rem;border:1px solid #d9dee7;background:#fff}.yhr-booking__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem}.yhr-booking label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}.yhr-booking input,.yhr-booking textarea{font:inherit;padding:.6rem;border:1px solid #9aa5b1;border-radius:.25rem}.yhr-booking textarea{min-height:5rem}.yhr-booking button{margin-top:1rem;padding:.7rem 1rem;border:0;border-radius:.25rem;background:#174a73;color:#fff;cursor:pointer}.yhr-booking__trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden}.yhr-booking [data-yhr-status]{min-height:1.5rem;font-weight:600}
.yhr-booking fieldset{border:1px solid #d7dce5;border-radius:8px;padding:1rem;margin:0 0 1rem}.yhr-booking legend{font-weight:700;padding:0 .35rem}.yhr-calendar{background:#f7f9fc}.yhr-calendar [data-yhr-rooms]{display:grid;gap:.4rem;margin-top:.75rem}.yhr-calendar [data-yhr-rooms] label{display:block;padding:.45rem;background:#fff;border-radius:4px}
.yhr-availability-card{max-width:760px;margin:1.5rem auto;padding:1.5rem;border:1px solid #e6e1d6;border-radius:18px;background:linear-gradient(145deg,#fffdf8,#f6f1e8);box-shadow:0 16px 40px rgba(41,35,24,.10)}.yhr-calendar-header{display:flex;align-items:center;justify-content:space-between}.yhr-calendar-header h3{margin:0;font-size:1.35rem;color:#263b32}.yhr-calendar-header button{width:2.5rem;height:2.5rem;border:1px solid #d6cbb8;border-radius:50%;background:#fff;color:#395647;font-size:1.5rem;cursor:pointer}.yhr-calendar-weekdays,.yhr-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}.yhr-calendar-weekdays{margin:1.2rem 0 .5rem;color:#7b756b;font-size:.75rem;text-align:center;text-transform:uppercase;letter-spacing:.06em}.yhr-calendar-day{min-height:3.4rem;border:1px solid #e5ded1;border-radius:10px;background:#fff;color:#37453d;font-weight:600;cursor:pointer}.yhr-calendar-day.is-available{background:#edf7ef;border-color:#8ec49a;color:#23663a}.yhr-calendar-day.is-unavailable{background:#f8eeee;border-color:#e5bcbc;color:#9a5a5a;cursor:not-allowed}.yhr-calendar-day.is-loading{background:#f2eee5;color:#a7a092}.yhr-calendar-day.is-past,.yhr-calendar-day.is-empty{border-color:transparent;background:transparent;color:#c5c0b7;cursor:default}.yhr-calendar-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.2rem;color:#6c6a64;font-size:.85rem}.yhr-calendar-legend span{display:inline-flex;align-items:center;gap:.35rem}.yhr-calendar-legend i{width:.7rem;height:.7rem;border-radius:50%;display:inline-block}.yhr-calendar-legend .is-available{background:#65a873}.yhr-calendar-legend .is-unavailable{background:#c97d7d}.yhr-calendar-legend .is-loading{background:#c7bfae}.yhr-calendar-help{margin:.9rem 0 0;color:#6c6a64;font-size:.9rem}@media(max-width:560px){.yhr-calendar-day{min-height:2.7rem}.yhr-calendar-grid,.yhr-calendar-weekdays{gap:.2rem}.yhr-availability-card{padding:1rem}}
.yhr-selected-room{grid-column:1/-1;margin:0;padding:.7rem 1rem;border-radius:8px;background:#f4f0e8;color:#4d5d51}.yhr-wide-field{grid-column:span 1}.yhr-booking select{width:100%;min-height:2.6rem;padding:.45rem;border:1px solid #d7dce5;border-radius:6px;background:#fff}@media(max-width:640px){.yhr-wide-field{grid-column:1/-1}}
.yhr-booking button.is-loading{position:relative;color:transparent;pointer-events:none;opacity:.85}.yhr-booking button.is-loading:after{content:"";position:absolute;left:50%;top:50%;width:1rem;height:1rem;margin:-.5rem;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:yhr-spin .7s linear infinite}@keyframes yhr-spin{to{transform:rotate(360deg)}}.yhr-booking button:disabled{cursor:not-allowed;opacity:.65}.yhr-booking [data-yhr-status]{padding:.6rem 0}.yhr-booking [data-yhr-status]:empty{display:none}
.yhr-booking__success{margin-top:1rem;padding:1rem 1.1rem;border:1px solid #8ec49a;border-radius:10px;background:#edf7ef;color:#23663a;font-weight:600}
.yhr-calendar-header button{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid #d9cfbd;border-radius:50%;background:linear-gradient(180deg,#fff,#f7f2e8);color:#395647;box-shadow:0 2px 6px rgba(41,35,24,.10);transition:background .2s,color .2s,box-shadow .2s,transform .2s}.yhr-calendar-header button:hover:not(:disabled){background:#2f4b3c;border-color:#2f4b3c;color:#fff;box-shadow:0 6px 14px rgba(47,75,60,.25);transform:translateY(-1px)}.yhr-calendar-header button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px rgba(47,75,60,.25)}.yhr-calendar-header button:focus-visible{outline:3px solid rgba(47,75,60,.35);outline-offset:2px}.yhr-calendar-header button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.yhr-calendar-header button svg{display:block}

.yhr-donate{margin:1.25rem 0 0;padding:.9rem 1rem;border:1px dashed #d6cbb8;border-radius:12px;background:#fffdf8;color:#4b5a52;font-size:.95rem;text-align:center}.yhr-donate a{font-weight:700}
.yhr-events{max-width:760px;margin:1.5rem auto}.yhr-event{margin:0 0 1.25rem;padding:1.4rem 1.5rem;border:1px solid #e6e1d6;border-radius:18px;background:linear-gradient(145deg,#fffdf8,#f6f1e8);box-shadow:0 10px 28px rgba(41,35,24,.08)}.yhr-event__title{margin:0 0 .4rem;font-size:1.35rem;color:#263b32}.yhr-event__meta{margin:0 0 .8rem;color:#4b5a52}.yhr-event__description p{margin:.4rem 0}.yhr-event__places{margin:.6rem 0 0;font-size:.9rem;font-weight:700;color:#7a5a22}.yhr-event__closed{margin:.8rem 0 0;color:#8f2c34;font-weight:700}.yhr-event__register{margin-top:1rem}.yhr-event__register summary{display:inline-block;padding:.65rem 1.2rem;border-radius:999px;background:#2f4b3c;color:#fff;font-weight:700;cursor:pointer;list-style:none}.yhr-event__register summary::-webkit-details-marker{display:none}.yhr-event__register form{display:grid;gap:.8rem;margin-top:1rem}.yhr-event__register label{display:grid;gap:.3rem;font-weight:700;color:#3d4a43}.yhr-event__register input,.yhr-event__register textarea{width:100%;box-sizing:border-box;padding:.6rem .75rem;border:1px solid #d6cbb8;border-radius:10px;background:#fff}.yhr-event__register button{justify-self:start;padding:.7rem 1.4rem;border:0;border-radius:999px;background:#2f4b3c;color:#fff;font-weight:700;cursor:pointer}.yhr-event__register button:disabled{opacity:.6;cursor:wait}.yhr-event__status{margin:0;font-weight:700}.yhr-event__status.is-success{color:#1f6a3a}.yhr-event__status.is-error{color:#8f2c34}.yhr-events__empty{text-align:center;color:#66728a}
.yhr-event__schedule{margin:.8rem 0 0}.yhr-event__schedule h4{margin:0 0 .3rem;font-size:1rem;color:#263b32}.yhr-event__schedule ul{margin:0;padding-left:1.1rem;color:#4b5a52}.yhr-event__attendance{border:1px solid #d6cbb8;border-radius:10px;padding:.6rem .9rem}.yhr-event__attendance label{display:inline-flex;align-items:center;gap:.4rem;margin-right:1rem;font-weight:600}.yhr-event__register .yhr-event__consent{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.92rem}.yhr-event__register .yhr-event__consent input{width:auto}.yhr-participant{max-width:680px;margin:1.5rem auto;padding:1.5rem;border:1px solid #e6e1d6;border-radius:18px;background:linear-gradient(145deg,#fffdf8,#f6f1e8)}.yhr-participant__form{display:grid;gap:.8rem}.yhr-participant__form label{display:grid;gap:.3rem;font-weight:700;color:#3d4a43}.yhr-participant__form input{padding:.6rem .75rem;border:1px solid #d6cbb8;border-radius:10px;background:#fff}.yhr-participant__form button{justify-self:start;padding:.7rem 1.4rem;border:0;border-radius:999px;background:#2f4b3c;color:#fff;font-weight:700;cursor:pointer}.yhr-participant__button{display:inline-block;padding:.7rem 1.4rem;border-radius:999px;background:#2f4b3c;color:#fff!important;font-weight:700;text-decoration:none}.yhr-participant__list{padding-left:1.1rem}
.yhr-participant__button,.yhr-participant__button:hover,.yhr-participant__button:focus{text-decoration:none!important;color:#fff!important}
