/* LP Cottages uses the shared Lion & Pine colour and type system. */
.c-language{padding-block:.85rem;text-align:right;font-size:.85rem}
.c-language a{text-decoration:underline;text-underline-offset:4px}
.c-hero{padding-top:4rem}
.c-hero h1{max-width:13ch}
.c-landscape{width:100%;height:auto;display:block;max-height:240px;margin-bottom:1.5rem;color:var(--lp-gold)}
.c-hero-card{border:1px solid #52614f;border-radius:140px 140px 8px 8px;padding:2rem 2rem 2.4rem;text-align:center}
.c-hero-card h2{font-size:2rem;margin-bottom:1rem}
.c-hero-card p{font-size:.95rem;color:#cbd5cd}
.c-empty{border:1px solid var(--lp-line);border-radius:8px;background:#f5f7f3;padding:clamp(1.5rem,4vw,3rem);text-align:center}
.c-empty h3{font-size:2rem;margin-bottom:1rem}
.c-empty p{margin-inline:auto;color:var(--lp-muted)}
.c-empty .lp-actions{justify-content:center}
.c-booking-intro{padding-bottom:2rem}
.c-booking-intro h1{max-width:20ch}
.c-booking{padding-top:1rem}
.c-booking [hidden]{display:none!important}
.c-notice{padding:1.25rem 1.5rem;border:1px solid #b5c2b8;border-left:4px solid var(--lp-gold);border-radius:4px;background:#f4f6f1;margin-bottom:2rem}
.c-booking-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem;align-items:start}
.c-calendar,.c-request{background:#fff;border:1px solid var(--lp-line);border-radius:8px;padding:clamp(1rem,2.5vw,2rem);min-width:0}
.c-calendar h2,.c-request h2{font-size:1.8rem;margin-bottom:.75rem}
.c-calendar p,.c-request>p{color:var(--lp-muted);font-size:.9rem}
.c-month-bar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:1.5rem 0 1rem}
.c-month-bar h3{font:600 1rem var(--lp-sans);letter-spacing:0;text-align:center}
.c-month-button{width:44px;height:44px;flex:none;border:1px solid var(--lp-line);background:#f5f7f3;border-radius:50%;color:var(--lp-pine)}
.c-month-button:hover{border-color:var(--lp-gold)}
.c-month-button:disabled{opacity:.4;cursor:default}
.c-calendar table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:3px}
.c-calendar th{font-size:.72rem;font-weight:500;color:var(--lp-muted);padding-bottom:.5rem}
.c-calendar td{padding:0;text-align:center}
.c-day{display:block;width:100%;min-height:44px;padding:0;border:1px solid transparent;border-radius:4px;color:var(--lp-pine);background:#eef3ed;font:500 .9rem var(--lp-sans)!important}
.c-day:hover:not(:disabled){border-color:var(--lp-pine)}
.c-day:disabled{color:#68756c;background:#f5f6f4;cursor:default}
.c-day[data-outside]{opacity:.38}
.c-day[aria-current=date]{border-color:#89998a;text-decoration:underline;text-underline-offset:4px}
.c-day[data-range]{background:#dfe7d5}
.c-day[data-selected]{background:var(--lp-pine);color:white;border-color:var(--lp-pine)}
.c-day[data-blocked]{text-decoration:line-through;background:repeating-linear-gradient(135deg,#f3f3f0,#f3f3f0 4px,#e9ebe5 4px,#e9ebe5 5px)}
.c-calendar-key{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding-top:1rem;font-size:.75rem;color:var(--lp-muted)}
.c-calendar-key span{display:inline-flex;align-items:center;gap:.4rem}
.c-swatch{width:12px;height:12px;border:1px solid #bbc6b7;display:inline-block;border-radius:2px;background:#eef3ed}
.c-swatch-closed{background:#f5f6f4}
.c-swatch-selected{background:var(--lp-pine)}
.c-selection{margin-top:1.25rem!important;min-height:3em}
.c-reset{border:0;border-bottom:1px solid var(--lp-line);background:transparent;color:var(--lp-pine);padding:.5rem 0;font-size:.85rem!important}
.c-request fieldset{padding:0;margin:1.5rem 0 0;border:0;min-width:0}
.c-request legend{font-weight:600;margin-bottom:1rem}
.c-request input:disabled,.c-request select:disabled,.c-request textarea:disabled{color:#617065;background:#f3f5f1;cursor:not-allowed}
.c-request .lp-button:disabled{background:#506453;border-color:#506453;opacity:.65;transform:none;cursor:not-allowed}
.c-request .lp-button{width:100%}
.c-request .lp-form-grid{gap:.8rem}
.c-request .lp-field textarea{min-height:100px}
.c-consent{display:flex;align-items:start;gap:.65rem;font-size:.82rem;color:var(--lp-muted);margin-bottom:1.4rem}
.c-consent input{flex:none;margin-top:.4rem;accent-color:var(--lp-pine)}
.c-consent a{text-decoration:underline;text-underline-offset:3px}
.c-request .c-rules{margin-bottom:1.2rem;font-size:.82rem;color:var(--lp-muted)}
.c-request .lp-form-status{overflow-wrap:anywhere}
.c-help{margin-top:2rem!important;font-size:.85rem;color:var(--lp-muted)}
.c-help a{text-decoration:underline;text-underline-offset:4px}
.c-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.c-booking-layout{grid-template-columns:1fr}.c-calendar{max-width:680px;width:100%;margin-inline:auto}}
@media(max-width:760px){.c-hero-card{max-width:440px;margin-inline:auto}.c-hero{padding-top:2.5rem}.c-booking{padding-top:0}}
@media(max-width:380px){.c-calendar{padding:.75rem}.c-calendar table{border-spacing:1px}.c-day{min-height:40px}.c-calendar th{font-size:.65rem}}
