.rhms-booking{--rhms-red:#8f252a;--rhms-green:#295f2d;--rhms-bg:#f6f3ed;--rhms-line:#e2ddd4;--rhms-text:#171717;--rhms-muted:#6d6a65;color:var(--rhms-text);width:100%;margin:0;padding:0}
.rhms-booking [hidden]{display:none!important}.rhms-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.rhms-booking *{box-sizing:border-box}.rhms-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:24px;align-items:stretch}.rhms-calendar-card,.rhms-summary-card,.rhms-form-card{background:#fff;border:1px solid var(--rhms-line);border-radius:30px;box-shadow:0 14px 35px rgba(43,34,24,.06)}
.rhms-calendar-card{padding:28px}.rhms-summary-card{padding:30px}.rhms-eyebrow{display:block;color:var(--rhms-red);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.rhms-calendar-head{display:grid;grid-template-columns:54px 1fr 54px;align-items:center;text-align:center;border-bottom:1px solid var(--rhms-line);padding-bottom:22px}.rhms-calendar-head h2,.rhms-summary-card h2,.rhms-form-card h2{margin:0;color:var(--rhms-text)}
.rhms-nav{width:46px;height:46px;border:1px solid var(--rhms-line)!important;background:#fff!important;color:var(--rhms-text)!important;border-radius:30px!important;padding:0!important;text-decoration:none!important;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:none!important}.rhms-nav:hover{border-color:var(--rhms-green)!important;color:var(--rhms-green)!important;text-decoration:none!important}
.rhms-weekdays,.rhms-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.rhms-weekdays{padding:18px 0 9px}.rhms-weekdays span{text-align:center;text-transform:uppercase;font-size:11px;font-weight:800;color:var(--rhms-muted)}.rhms-calendar-wrap{position:relative;min-height:360px}.rhms-calendar{transition:opacity .22s ease,transform .22s ease}.rhms-calendar.is-loading{opacity:.35;transform:translateY(4px)}
.rhms-day{--rhms-dot-x:12px;--rhms-dot-y:12px;--rhms-dot-size:8px;--rhms-label-gap:5px;--rhms-label-size:9px;appearance:none;border:1px solid transparent!important;border-radius:16px!important;background:#f7f6f3!important;color:var(--rhms-text)!important;min-height:68px;padding:10px!important;display:flex;align-items:flex-start;justify-content:flex-end;position:relative;text-decoration:none!important;box-shadow:none!important;overflow:hidden}.rhms-day strong{font-size:15px;line-height:1}.rhms-day-dot{position:absolute;left:var(--rhms-dot-x);bottom:var(--rhms-dot-y);width:var(--rhms-dot-size);height:var(--rhms-dot-size);border-radius:50%}.rhms-day.is-available{cursor:pointer}.rhms-day.is-available .rhms-day-dot{background:#5c8c61}.rhms-day.is-available:hover{background:#eef4ed!important;border-color:#8fb292!important}.rhms-day.is-booked{background:#f4e8e7!important;color:#8e7774!important}.rhms-day.is-booked .rhms-day-dot{background:var(--rhms-red)}.rhms-day.is-unavailable{background:#f3f1ee!important;color:#b7b2ab!important}.rhms-day.is-unavailable .rhms-day-dot{background:#cfcac3}.rhms-day.is-start,.rhms-day.is-end{background:#e8f0e7!important;border-color:var(--rhms-green)!important;box-shadow:inset 0 0 0 1px var(--rhms-green)!important}.rhms-day.is-range{background:#eef4ed!important}.rhms-day.is-blank{background:transparent!important;border:0!important}
.rhms-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1px solid var(--rhms-line);font-size:13px;color:var(--rhms-muted)}.rhms-legend span{display:flex;align-items:center;gap:8px}.rhms-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.rhms-legend .is-available{background:#5c8c61}.rhms-legend .is-booked{background:var(--rhms-red)}.rhms-legend .is-unavailable{background:#cfcac3}
.rhms-summary-help{color:var(--rhms-muted);margin:12px 0 0}.rhms-selection{margin-top:24px}.rhms-selected-period{padding:18px;background:var(--rhms-bg);border-radius:20px;margin-bottom:12px}.rhms-selected-period span,.rhms-buffer span,.rhms-price span{display:block;color:var(--rhms-muted);font-size:12px;text-transform:uppercase;font-weight:700}.rhms-selected-period strong{display:block;font-size:20px;margin-top:3px}.rhms-buffer{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rhms-buffer>div{border:1px solid var(--rhms-line);border-radius:18px;padding:14px}.rhms-buffer strong{display:block;margin-top:3px}.rhms-price{display:flex;justify-content:space-between;align-items:end;margin:22px 0 12px;padding-top:18px;border-top:1px solid var(--rhms-line)}.rhms-price strong{font-size:24px}.rhms-selection p{font-size:13px;color:var(--rhms-muted)}.rhms-reset{border:0!important;background:transparent!important;color:var(--rhms-green)!important;padding:6px 0!important;text-decoration:none!important;font-weight:700}.rhms-reset:hover{text-decoration:none!important;opacity:.8}
.rhms-form-card{margin-top:24px;padding:34px}.rhms-form-intro{max-width:760px;margin-bottom:26px}.rhms-form-intro p{color:var(--rhms-muted)}.rhms-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rhms-form label span{display:block;font-weight:700;margin:0 0 7px}.rhms-form input[type=text],.rhms-form input[type=email],.rhms-form input[type=tel],.rhms-form input[type=url],.rhms-form textarea{width:100%;border:1px solid var(--rhms-line)!important;background:#fff!important;border-radius:16px!important;min-height:50px;padding:12px 15px!important;box-shadow:none!important}.rhms-form textarea{min-height:120px}.rhms-form input:focus,.rhms-form textarea:focus{border-color:var(--rhms-green)!important;outline:2px solid rgba(41,95,45,.12)!important}.rhms-span-2{grid-column:1/-1}.rhms-form-section{border-top:1px solid var(--rhms-line);margin-top:28px;padding-top:24px}.rhms-form-section h3{margin:0 0 4px}.rhms-form-section>p{margin:0 0 18px;color:var(--rhms-muted)}.rhms-terms{display:flex!important;align-items:flex-start;gap:10px;margin-top:24px}.rhms-terms input{margin-top:5px}.rhms-terms span{font-weight:400!important;margin:0!important}.rhms-terms a{text-decoration:underline}
.rhms-submit-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px}.rhms-submit{border:0!important;background:var(--rhms-green)!important;color:#fff!important;border-radius:30px!important;min-height:52px;padding:12px 28px!important;font-weight:800;text-decoration:none!important;box-shadow:none!important}.rhms-submit:hover{filter:brightness(.93);text-decoration:none!important}.rhms-submit:disabled{opacity:.65;cursor:not-allowed}.rhms-form-success{color:var(--rhms-green);font-weight:700}.rhms-form-error,.rhms-error{color:var(--rhms-red);font-weight:700}.rhms-error-box{grid-column:1/-1;padding:24px;border:1px solid #ead0ce;background:#fff7f6;border-radius:18px;color:var(--rhms-red);display:flex;flex-direction:column;gap:5px}
.rhms-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;background:rgba(255,255,255,.82);z-index:5;border-radius:20px;backdrop-filter:blur(1px)}.rhms-loading[hidden]{display:none}.rhms-spinner{width:24px;height:24px;border:3px solid #e7e2da;border-top-color:var(--rhms-green);border-radius:50%;animation:rhmsSpin .7s linear infinite}@keyframes rhmsSpin{to{transform:rotate(360deg)}}
@media(max-width:900px){.rhms-layout{grid-template-columns:1fr}.rhms-summary-card{min-height:0}.rhms-form-card{padding:26px}}
@media(max-width:600px){.rhms-calendar-card,.rhms-summary-card,.rhms-form-card{border-radius:24px}.rhms-calendar-card{padding:18px 12px}.rhms-calendar-head{grid-template-columns:44px 1fr 44px}.rhms-calendar-head h2{font-size:22px}.rhms-nav{width:40px;height:40px}.rhms-weekdays,.rhms-calendar{gap:4px}.rhms-weekdays span{font-size:10px}.rhms-day{--rhms-dot-x:6px;--rhms-dot-y:8px;--rhms-dot-size:6px;--rhms-label-gap:4px;--rhms-label-size:8px;min-height:52px;border-radius:12px!important;padding:8px!important}.rhms-form-grid{grid-template-columns:1fr}.rhms-span-2{grid-column:auto}.rhms-buffer{grid-template-columns:1fr}.rhms-submit-row{align-items:stretch;flex-direction:column}.rhms-submit{width:100%}.rhms-legend{gap:12px}}
@media(prefers-reduced-motion:reduce){.rhms-calendar{transition:none}.rhms-spinner{animation:none}}
/* Valgt periode og forslag til slutdato. Placering deles med den grønne prik. */
.rhms-booking .rhms-day.is-start,
.rhms-booking .rhms-day.is-end {
 background:var(--rhms-green)!important;
 color:#fff!important;
 border-color:#19451f!important;
 box-shadow:inset 0 0 0 1px #19451f!important;
}
.rhms-booking .rhms-day.is-start strong,
.rhms-booking .rhms-day.is-end strong {color:#fff!important}
.rhms-booking .rhms-day.is-start .rhms-day-dot,
.rhms-booking .rhms-day.is-end .rhms-day-dot {background:#b9efbd}
.rhms-booking .rhms-day.is-range {
 background:#98cba2!important;
 color:#123a1c!important;
 border-color:#4b8b56!important;
 box-shadow:inset 0 0 0 1px #4b8b56!important;
}
.rhms-booking .rhms-day.is-range strong {color:#123a1c!important}
.rhms-booking .rhms-day.is-range .rhms-day-dot {background:#246e32}
.rhms-booking .rhms-day.is-preview-range {
 background:#d8eddb!important;
 color:var(--rhms-text)!important;
 border-color:#83b58b!important;
}
.rhms-booking .rhms-day.is-preview-end {
 background:#cde8d2!important;
 color:var(--rhms-text)!important;
 border-color:var(--rhms-green)!important;
 box-shadow:inset 0 0 0 1px var(--rhms-green)!important;
}
.rhms-booking .rhms-day.is-preview-end strong {color:var(--rhms-text)!important}
.rhms-booking .rhms-day.is-preview-end .rhms-day-dot {background:#2e7c3a}
.rhms-booking .rhms-day.is-preview-end::after,
.rhms-booking .rhms-day.is-end::after {
 content:'Slut';
 position:absolute;
 left:calc(var(--rhms-dot-x) + var(--rhms-dot-size) + var(--rhms-label-gap));
 bottom:calc(var(--rhms-dot-y) + var(--rhms-dot-size) / 2);
 transform:translateY(50%);
 font-size:var(--rhms-label-size);
 line-height:1;
 text-transform:uppercase;
 white-space:nowrap;
 letter-spacing:0;
 font-weight:800;
 color:inherit!important;
 opacity:1;
}
@media(max-width:380px){
 .rhms-booking .rhms-day{--rhms-dot-x:3px;--rhms-dot-size:4px;--rhms-label-gap:3px}
}

/* Thank-you page */
.rhms-thankyou{max-width:920px;margin:0 auto;background:#fff;border:1px solid #e7e1d8;border-radius:30px;padding:48px;box-shadow:0 16px 40px rgba(41,34,24,.06);text-align:left}
.rhms-thankyou-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#285f2b;color:#fff;font-size:30px;font-weight:700;margin-bottom:20px}
.rhms-thankyou h1{margin:6px 0 12px;font-size:clamp(34px,5vw,54px);line-height:1.05}
.rhms-thankyou-lead{max-width:720px;font-size:17px;line-height:1.65;margin:0 0 28px}
.rhms-thankyou-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e5dfd5;border:1px solid #e5dfd5;border-radius:22px;overflow:hidden;margin:24px 0}
.rhms-thankyou-summary>div{background:#f7f4ee;padding:18px 20px;display:flex;flex-direction:column;gap:4px}
.rhms-thankyou-summary span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#7b746a;font-weight:700}
.rhms-thankyou-summary strong{font-size:16px;color:#191919}
.rhms-thankyou-note{margin:18px 0 26px;color:#5d574f}
.rhms-thankyou-home{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border-radius:30px;background:#285f2b;color:#fff!important;text-decoration:none!important;font-weight:700}
.rhms-thankyou-home:hover{background:#204d23;color:#fff!important}
@media(max-width:700px){.rhms-thankyou{padding:28px 22px}.rhms-thankyou-summary{grid-template-columns:1fr}}

.rhms-price-summary{margin:22px 0 12px;padding-top:16px;border-top:1px solid var(--rhms-line)}
.rhms-price-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin:8px 0;font-size:14px}
.rhms-price-row strong{white-space:nowrap}
.rhms-price-total{padding-top:12px;margin-top:12px;border-top:1px solid var(--rhms-line);font-weight:700}
.rhms-price-total strong{font-size:22px}
.rhms-price-status{font-size:13px;color:var(--rhms-muted);margin:10px 0 0}
.rhms-price-status:empty{display:none}
.rhms-price-summary.is-updating .rhms-price-row{opacity:.55}

.rhms-selection-status{display:flex;align-items:center;gap:10px}
.rhms-selection-status .rhms-spinner{flex:0 0 20px;width:20px;height:20px;border-width:2px}

/* Datoopsummering og kalenderens nulstilling. */
.rhms-booking .rhms-calendar-card>.rhms-reset{display:inline-flex;align-items:center;margin-top:18px!important}
.rhms-booking .rhms-selected-date-note{display:inline-block;max-width:100%;padding:10px 14px;border:1px solid var(--rhms-green);border-radius:12px;background:#f1f7f2;color:#1b4622;line-height:1.45}
.rhms-booking .rhms-date-guidance{display:block;margin-top:16px;line-height:1.65}
