:root{--ink:#132e2c;--ink-2:#1c3c39;--teal:#174e49;--cream:#f4f0e7;--paper:#fffdf8;--sand:#d7bd8a;--coral:#d97252;--muted:#63716e;--line:rgba(19,46,44,.14);--shadow:0 18px 60px rgba(19,46,44,.15);--radius:4px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Aptos,"Segoe UI",Arial,sans-serif;line-height:1.5}.guest-site{background:linear-gradient(180deg,#fffdf8 0%,#f6f2e9 48%,#fffdf8 100%)}
body.modal-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{ -webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em;line-height:.98}
h1 em,h2 em{font-weight:400;color:var(--sand)}
.site-header{height:84px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,248,.96);position:relative;z-index:20;border-bottom:1px solid rgba(19,46,44,.08)}
.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);min-width:max-content}
.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;font-family:Georgia,serif;font-size:14px;letter-spacing:.08em}
.brand strong{display:block;font-family:Georgia,serif;font-size:20px;line-height:1}.brand small{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.24em;margin-top:5px;color:var(--muted)}
.brand-emblem{position:relative;width:64px;height:64px;flex:0 0 auto;overflow:hidden;border-radius:16px;background:#061720;box-shadow:0 12px 28px rgba(5,22,31,.2)}.brand-emblem img{position:absolute;left:-35%;top:-35%;width:170%;height:170%;max-width:none;object-fit:cover}.brand-wordmark{display:block}.brand-wordmark strong{font-family:"Bodoni 72",Didot,Georgia,serif;font-size:22px;letter-spacing:.015em;line-height:1}.brand-wordmark small{font-size:8px;letter-spacing:.25em;margin-top:6px}.brand-emblem-small{width:52px;height:52px;border-radius:13px}.brand-emblem-footer{width:78px;height:78px;border-radius:18px}
.logo-brand{gap:0}.logo-crop{display:block;position:relative;width:150px;height:76px;overflow:hidden;background:#fff;flex:0 0 auto}.logo-crop img{position:absolute;left:0;top:-31px;width:150px;height:150px;max-width:none;object-fit:contain}.logo-crop-small{width:118px;height:58px}.logo-crop-small img{width:118px;height:118px;top:-24px}.logo-crop-footer{width:190px;height:104px}.logo-crop-footer img{width:190px;height:190px;top:-42px}.logo-crop-admin{width:180px;height:98px}.logo-crop-admin img{width:180px;height:180px;top:-39px}.logo-crop-sidebar{width:185px;height:96px}.logo-crop-sidebar img{width:185px;height:185px;top:-40px}.admin-logo{align-items:flex-start;flex-direction:column;gap:3px}.admin-logo>small,.brand-light>small{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.22em;color:var(--muted);margin:0 0 0 5px}.brand-light{align-items:flex-start;flex-direction:column;gap:3px}.brand-light>small{color:#9bb0ac}
.main-nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}.main-nav>a{position:relative}.main-nav>a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--ink);transition:.25s}.main-nav>a:hover:after{right:0}
.menu-button,.admin-menu-button{display:none;background:transparent;border:0;color:inherit;font-weight:700}
.button{border:0;border-radius:2px;background:var(--coral);color:white;padding:15px 25px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(112,51,34,.2);background:#c75f41}.button-small{padding:12px 20px}.button-dark{background:var(--ink)}.button-dark:hover{background:var(--teal)}.button-wide{width:100%;padding:17px}
.hero{height:calc(100vh - 84px);min-height:620px;max-height:900px;position:relative;background:url("bournemouth-hero.webp") center/cover no-repeat;color:white;display:flex;align-items:center;padding:7vw 7vw 12vw;overflow:hidden}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-film-controls{position:absolute;z-index:4;right:4.5vw;bottom:72px;margin:0}.hero .film-big-play{z-index:4}#film.is-playing .film-big-play{opacity:0;visibility:hidden;transform:translateY(-50%) scale(.8)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,25,28,.72) 0%,rgba(7,25,28,.38) 42%,rgba(7,25,28,.03) 75%),linear-gradient(0deg,rgba(7,25,28,.25),transparent 40%)}
.hero-content{position:relative;width:min(700px,68vw);z-index:2}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.25em;font-weight:800;color:var(--coral);margin-bottom:22px}.eyebrow.light{color:#f2d6a7}.hero h1{font-size:clamp(54px,6.2vw,96px);margin-bottom:28px}.hero-copy{font-size:17px;line-height:1.75;max-width:560px;color:rgba(255,255,255,.9)}
.google-rating{position:absolute;z-index:5;right:4.5vw;top:34px;width:168px;padding:16px 18px;background:rgba(255,253,248,.93);backdrop-filter:blur(10px);color:var(--ink);box-shadow:0 12px 35px rgba(4,24,25,.18);transition:transform .2s,box-shadow .2s}.google-rating:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(4,24,25,.28)}.google-rating-label{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:8px;font-weight:800;color:var(--muted);margin-bottom:7px}.google-rating-score{font-family:Georgia,serif;font-size:34px;line-height:1;margin-right:6px}.google-rating-stars{color:#e5a93d;font-size:11px;letter-spacing:1px;white-space:nowrap}.google-rating-count{display:block;font-size:10px;font-weight:750;margin-top:7px}.google-rating-count b{float:right}.google-rating small{display:block;font-size:7px;color:#8b9694;margin-top:3px;text-transform:uppercase;letter-spacing:.08em}
.hero-actions{display:flex;align-items:center;gap:32px;margin-top:36px}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:6px}.text-link span{margin-left:10px}.text-link.light{color:white}.hero-note{position:absolute;left:7vw;right:auto;bottom:98px;z-index:2;text-transform:uppercase;letter-spacing:.14em;font-size:10px}.hero-note span{color:#8ebcb3;margin-right:8px}
.quick-book{position:relative;width:min(1120px,91vw);margin:-72px auto 0;background:linear-gradient(120deg,rgba(255,255,255,.98),rgba(245,241,231,.98));box-shadow:var(--shadow);z-index:5;padding:12px;border:1px solid rgba(19,46,44,.08)}.quick-book:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 50%,rgba(215,189,138,.16),transparent 24%),radial-gradient(circle at 85% 0,rgba(90,147,138,.1),transparent 28%)}.quick-book-inner,.prototype-note{position:relative;z-index:1}.quick-book-inner{display:grid;grid-template-columns:1fr 1fr .8fr auto;align-items:end}.quick-book label{padding:8px 24px;border-right:1px solid var(--line)}.quick-book label span,.booking-form label,.login-card label{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:800;color:var(--muted)}.quick-book input,.quick-book select{display:block;border:0;width:100%;background:transparent;padding:7px 0 0;color:var(--ink);outline:0;font-weight:650}.quick-book .button{height:58px;margin-left:12px}.prototype-note{text-align:center;font-size:10px;color:#8a6d60;margin:9px 0 -4px}
.promise-strip{position:relative;max-width:1200px;margin:58px auto 20px;padding:35px 30px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:linear-gradient(105deg,rgba(255,255,255,.82),rgba(239,244,239,.78),rgba(255,250,240,.82));box-shadow:0 18px 55px rgba(19,46,44,.055);overflow:hidden}.promise-strip:before{content:"";position:absolute;inset:0;background:url("coastal-pattern.svg") center 46%/620px auto repeat;opacity:.34;pointer-events:none}.promise-strip>div{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:14px;border-right:1px solid var(--line)}.promise-strip>div:last-child{border-right:0}.promise-icon{width:40px;height:40px;border:1px solid rgba(23,78,73,.22);background:rgba(255,255,255,.72);box-shadow:0 7px 18px rgba(19,46,44,.06);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif}.promise-strip p{margin:0}.promise-strip strong,.promise-strip small{display:block}.promise-strip strong{font-size:12px}.promise-strip small{font-size:10px;color:var(--muted);margin-top:3px}
.section{padding:120px max(5vw,28px)}.section-heading{max-width:1180px;margin:0 auto 65px;display:grid;grid-template-columns:1.25fr .75fr;gap:12vw;align-items:end}.section-heading h2,.welcome-copy h2,.location-copy h2,.final-cta h2{font-size:clamp(44px,5vw,74px);margin-bottom:0}.section-heading>p{color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 5px}
.rooms-section{position:relative;overflow:hidden;background:url("coastal-pattern.svg") center/640px auto repeat,linear-gradient(145deg,#f4f0e7 0%,#eaf0eb 52%,#f4f0e7 100%)}.rooms-section:before{content:"";position:absolute;width:430px;height:430px;right:-130px;top:70px;border:1px solid rgba(23,78,73,.18);border-radius:50%;box-shadow:0 0 0 58px rgba(23,78,73,.05),0 0 0 116px rgba(23,78,73,.035),0 0 0 174px rgba(23,78,73,.025);animation:coastalDrift 12s ease-in-out infinite alternate}.rooms-section:after{content:"STAY BY THE SEA";position:absolute;left:-1vw;bottom:3vw;font-family:Georgia,serif;font-size:clamp(70px,11vw,170px);line-height:.8;letter-spacing:-.04em;color:rgba(23,78,73,.055);white-space:nowrap;transform:rotate(-3deg)}.rooms-section>.section-heading,.rooms-section>.room-grid{position:relative;z-index:1}.rooms-section .section-heading:before{content:"BOURNEMOUTH  ·  DORSET COAST  ·  BH2 5NT";position:absolute;left:-42px;top:4px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:7px;letter-spacing:.3em;font-weight:800;color:rgba(23,78,73,.42)}.room-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.room-card{background:rgba(255,253,248,.94);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.72);display:grid;grid-template-columns:42% 58%;min-height:350px;transition:transform .25s,box-shadow .25s}.room-card:hover{transform:translateY(-6px);box-shadow:0 24px 65px rgba(26,53,49,.16)}.room-card-body{position:relative}.room-card-body:after{content:"✦";position:absolute;right:22px;top:19px;color:rgba(215,189,138,.55);font-size:13px}.room-card.room-featured{grid-column:1/-1;grid-template-columns:50% 50%;min-height:430px}.room-visual{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:22px;color:white;min-height:270px;background-color:#789;isolation:isolate}.room-visual:before,.room-visual:after{content:"";position:absolute;z-index:-1}.room-visual:before{inset:0;background:linear-gradient(155deg,transparent 0 38%,rgba(255,255,255,.18) 38.3% 39%,transparent 39.3%),linear-gradient(25deg,rgba(0,0,0,.05),transparent 50%)}.room-visual:after{width:180px;height:120px;border:16px solid rgba(255,255,255,.18);border-bottom:0;right:-30px;top:45px;border-radius:90px 90px 0 0}.room-visual-suite{background:linear-gradient(140deg,#8faea7,#456c68)}.room-visual-family{background:linear-gradient(140deg,#cf9b78,#91624e)}.room-visual-triple{background:linear-gradient(140deg,#9da99a,#5d7063)}.room-visual-double{background:linear-gradient(140deg,#7897aa,#496879)}.room-visual-single{background:linear-gradient(140deg,#c1aa83,#8c7452)}.room-visual span{font-family:Georgia,serif;font-size:19px;max-width:160px}.room-visual b{position:absolute;right:18px;top:12px;font-family:Georgia,serif;font-size:54px;font-weight:400;color:rgba(255,255,255,.25)}
.room-card-body{padding:30px;display:flex;flex-direction:column}.room-card-body h3{font-size:35px;margin:0 0 22px}.room-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--coral);font-size:9px;font-weight:800;margin:0 0 8px}.room-card-body>p{font-size:13px;line-height:1.7;color:var(--muted)}.room-meta{display:flex;gap:9px;flex-wrap:wrap;margin:8px 0 25px}.room-meta span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line);padding:6px 8px}.room-footer{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-top:auto}.room-footer p{margin:0;font-size:10px;color:var(--muted)}.room-footer strong{font-family:Georgia,serif;font-size:20px;color:var(--ink)}.room-footer small{font-size:9px}.text-button{border:0;background:none;padding:4px 0;cursor:pointer;color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;border-bottom:1px solid currentColor}
.welcome-section{display:grid;grid-template-columns:1.05fr .95fr;min-height:730px}.welcome-photo{position:relative;background:url("bournemouth-hero.webp") 73% center/cover no-repeat;min-height:520px}.welcome-photo:after{content:"05 MIN\A TO THE SEA";white-space:pre;position:absolute;right:35px;bottom:35px;width:112px;height:112px;border:1px solid rgba(255,255,255,.82);border-radius:50%;display:grid;place-items:center;text-align:center;font-family:Georgia,serif;font-size:15px;line-height:1.25;letter-spacing:.06em;color:white;background:rgba(11,37,35,.26);backdrop-filter:blur(8px);box-shadow:0 12px 36px rgba(4,24,25,.18)}.welcome-copy{position:relative;overflow:hidden;padding:9vw 9vw 8vw 7vw;background:url("coastal-pattern.svg") 85% 12%/520px auto no-repeat,radial-gradient(circle at 100% 0,rgba(215,189,138,.24),transparent 35%),linear-gradient(160deg,#fffdf8,#f7f4eb)}.welcome-copy:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;border:1px solid rgba(23,78,73,.09);right:-95px;bottom:55px;box-shadow:0 0 0 28px rgba(23,78,73,.025),0 0 0 56px rgba(23,78,73,.018);pointer-events:none}.welcome-copy>*{position:relative;z-index:1}.welcome-copy h2{margin-bottom:36px}.welcome-copy>p:not(.eyebrow){font-size:15px;line-height:1.9;color:var(--muted)}.welcome-copy blockquote{font-family:Georgia,serif;font-size:20px;line-height:1.5;margin:40px 0;border-left:2px solid var(--coral);padding-left:22px;color:var(--teal)}
.film-section{position:relative;min-height:720px;height:88vh;max-height:920px;background:var(--ink);color:white;overflow:hidden;display:flex;align-items:center;padding:8vw}.film-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;cursor:pointer}.film-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,25,.78) 0%,rgba(4,24,25,.42) 45%,rgba(4,24,25,.08) 75%),linear-gradient(0deg,rgba(4,24,25,.62),transparent 50%);pointer-events:none}.film-content{position:relative;z-index:2;max-width:620px}.film-content h2{font-size:clamp(58px,7vw,104px);margin:0 0 30px}.film-content>p:not(.eyebrow){max-width:500px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.8}.film-controls{display:flex;gap:10px;margin-top:34px}.film-control{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.5);background:rgba(8,31,31,.3);backdrop-filter:blur(9px);color:white;padding:12px 16px;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:800;cursor:pointer;transition:.2s}.film-control:hover{background:white;color:var(--ink)}.film-control-icon{width:18px}.film-facts{position:absolute;left:8vw;right:8vw;bottom:38px;z-index:2;display:flex;align-items:center;gap:24px;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:rgba(255,255,255,.7)}.film-facts strong{color:white;font-family:Georgia,serif;font-size:18px;font-weight:400;letter-spacing:0;text-transform:none;margin-right:5px}.film-facts i{width:36px;height:1px;background:rgba(255,255,255,.35)}.film-big-play{position:absolute;z-index:3;right:9vw;top:50%;transform:translateY(-50%);width:94px;height:94px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(8,31,31,.22);backdrop-filter:blur(8px);color:white;font-size:24px;padding-left:8px;cursor:pointer;transition:.25s}.film-big-play:hover{transform:translateY(-50%) scale(1.08);background:var(--coral);border-color:var(--coral)}.film-section.is-playing .film-big-play{opacity:0;visibility:hidden;transform:translateY(-50%) scale(.8)}
.location-section{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 10%,rgba(47,118,108,.42),transparent 32%),radial-gradient(circle at 15% 100%,rgba(215,189,138,.1),transparent 30%),linear-gradient(135deg,#132e2c,#0b2523);color:white;padding:120px max(7vw,28px);display:grid;grid-template-columns:.9fr 1.1fr;gap:11vw;align-items:center}.location-section:before{content:"";position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent 0%,black 48%,black 100%)}.location-section:after{content:"BH2 5NT";position:absolute;right:-22px;bottom:-34px;font-family:Georgia,serif;font-size:clamp(92px,14vw,220px);letter-spacing:-.06em;color:rgba(255,255,255,.035)}.location-copy,.location-list{position:relative;z-index:1}.location-copy>p:not(.eyebrow){color:rgba(255,255,255,.65);line-height:1.8;margin:34px 0}.location-list>div{position:relative;display:grid;grid-template-columns:95px 1fr;grid-template-rows:auto auto;border-bottom:1px solid rgba(255,255,255,.15);padding:24px 0;align-items:end}.location-list>div:after{content:"";position:absolute;right:0;bottom:-3px;width:7px;height:7px;border:1px solid var(--sand);border-radius:50%;background:var(--ink)}.location-list strong{grid-row:1/3;font-family:Georgia,serif;font-size:62px;font-weight:400;line-height:1}.location-list span{text-transform:uppercase;letter-spacing:.15em;font-size:9px;color:#a9c9c3}.location-list p{font-family:Georgia,serif;font-size:20px;margin:4px 0 0}
.final-cta{position:relative;overflow:hidden;text-align:center;padding:135px 24px;background:url("coastal-pattern.svg") center/640px auto repeat,radial-gradient(circle at 12% 20%,rgba(255,255,255,.32),transparent 24%),radial-gradient(circle at 88% 80%,rgba(23,78,73,.14),transparent 28%),linear-gradient(135deg,#dfc896,#cdb17a)}.final-cta:before{content:"TREGONHOLME";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:Georgia,serif;font-size:clamp(92px,15vw,230px);letter-spacing:.07em;color:rgba(255,255,255,.13);white-space:nowrap}.final-cta:after{content:"";position:absolute;right:-5%;bottom:-115px;width:46%;height:250px;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 22px,rgba(19,46,44,.13) 23px 24px,transparent 25px 46px);opacity:.5}.final-cta>*{position:relative;z-index:1}.final-cta .eyebrow{color:var(--ink)}.final-cta h2{margin-bottom:38px}.small-print{font-size:11px;margin:22px 0 0}.small-print a{border-bottom:1px solid}
.site-footer{background:#0b2523;color:white;padding:70px 5vw 28px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-brand{display:flex;align-items:flex-start;gap:18px}.site-footer p{font-size:11px;line-height:1.8;color:rgba(255,255,255,.65)}.site-footer a{display:block;font-size:11px;margin-bottom:8px;color:rgba(255,255,255,.8)}.footer-label{text-transform:uppercase;letter-spacing:.14em!important;font-weight:800;color:var(--sand)!important}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:24px;margin:10px 0 0}
.booking-modal{position:fixed;inset:0;z-index:100;visibility:hidden;opacity:0;transition:.25s}.booking-modal.open{visibility:visible;opacity:1}.modal-backdrop{position:absolute;inset:0;background:rgba(5,24,23,.72);backdrop-filter:blur(5px)}.booking-panel{position:absolute;right:0;top:0;height:100%;width:min(610px,100%);background:var(--paper);padding:38px 54px;overflow-y:auto;transform:translateX(100%);transition:transform .35s ease}.booking-modal.open .booking-panel{transform:none}.modal-close{position:absolute;right:24px;top:18px;border:0;background:none;font-size:32px;color:var(--ink);cursor:pointer}.booking-brand{display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:9px;letter-spacing:.15em;font-weight:800}.booking-brand .brand-mark{width:34px;height:34px}.step-dots{display:flex;align-items:center;margin:45px 0 54px}.step-dots span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:10px;font-weight:800;color:#99a3a1}.step-dots span.active{background:var(--ink);color:white;border-color:var(--ink)}.step-dots i{height:1px;background:var(--line);flex:1}.booking-step{display:none}.booking-step.active{display:block;animation:fadeUp .3s ease}.booking-step h2{font-size:44px;margin-bottom:28px}.booking-form label{margin-bottom:18px}.booking-form input,.booking-form select,.booking-form textarea,.login-card input{display:block;width:100%;border:1px solid var(--line);background:white;padding:14px;margin-top:7px;color:var(--ink);outline:none;text-transform:none;letter-spacing:0;font-size:14px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus,.login-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,78,73,.08)}.mobile-number-help{margin:-9px 0 18px;color:var(--muted);font-size:10px;line-height:1.55}.mobile-number-help strong{color:var(--ink)}.arrival-time-help{margin:-9px 0 18px;padding:11px 13px;border-left:2px solid var(--teal);background:#f0f6f4;color:var(--muted);font-size:10px;line-height:1.55}.arrival-time-help strong{color:var(--ink)}.arrival-time-help.self-check-in{border-left-color:#c58d30;background:#fff5df;color:#7a5a20}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-error{font-size:11px;color:#ae3827;min-height:16px}.back-button{border:0;background:none;padding:0;margin-bottom:20px;font-size:11px;color:var(--muted);cursor:pointer}.search-summary{font-size:12px;color:var(--muted);margin-top:-16px}.room-option-group{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:27px 0 8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.room-option-group strong{font-family:Georgia,serif;font-size:19px;font-weight:400}.room-option-group small{color:var(--muted);font-size:8px}.multi-room-heading{margin-top:35px}.room-option-badge{display:inline-block;margin-bottom:7px;border-radius:20px;background:#e4f1ed;padding:5px 8px;color:var(--teal);text-transform:uppercase;letter-spacing:.08em;font-size:7px;font-weight:850}.available-room{display:grid;grid-template-columns:1fr auto;gap:12px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}.available-room.combined-room-option{margin:9px 0;border:1px solid #d5e4df;background:linear-gradient(135deg,#f8fbfa,#fff);padding:18px}.available-room h3{font-size:25px;margin:0 0 8px}.available-room p{font-size:11px;color:var(--muted);margin:0}.available-room .room-price{text-align:right}.available-room .room-price strong{display:block;font-family:Georgia,serif;font-size:22px}.available-room button{margin-top:8px;padding:9px 13px}.unavailable{opacity:.46}.booking-summary{background:var(--cream);padding:20px;margin-bottom:25px;display:grid;grid-template-columns:1fr auto;gap:10px;font-size:11px}.booking-summary strong{display:block;font-family:Georgia,serif;font-size:22px}.booking-summary .total{text-align:right}.demo-payment{border:1px solid var(--line);background:#f3f7f6;padding:14px;margin:5px 0 16px;display:flex;align-items:center;justify-content:space-between}.demo-payment>div{display:flex;align-items:center;gap:10px}.demo-payment p{margin:0;font-size:11px}.demo-payment small{display:block;color:var(--muted);margin-top:2px}.lock-icon{width:30px;height:30px;border-radius:50%;background:white;display:grid;place-items:center}.stripe-ready{font-size:8px;font-weight:800;letter-spacing:.12em;color:var(--teal)}.check-label{display:flex!important;gap:10px;align-items:flex-start;text-transform:none!important;letter-spacing:0!important}.check-label input{width:auto;margin:3px 0 0}.success-mark{width:72px;height:72px;border-radius:50%;background:var(--teal);color:white;display:grid;place-items:center;font-size:32px;margin-bottom:30px}.booking-success>p:not(.eyebrow){color:var(--muted)}.confirmation-card{border:1px solid var(--line);padding:22px;margin:25px 0;line-height:1.8;font-size:12px}.confirmation-card strong{font-family:Georgia,serif;font-size:22px;display:block}
.admin-site{background:#eef1ee}.admin-login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-card{padding:7vh 10vw;display:flex;flex-direction:column;justify-content:center;background:var(--paper)}.login-card .brand{margin-bottom:10vh}.admin-login .brand,.admin-sidebar .brand-light{display:block;width:190px;height:98px;background:#fff url("tregonholme-logo.webp") center 48%/190px auto no-repeat;overflow:hidden}.admin-login .brand>*,.admin-sidebar .brand-light>*{visibility:hidden}.login-card h1{font-size:58px;margin:0 0 15px}.login-card>p:not(.eyebrow,.login-hint){color:var(--muted);margin-bottom:30px}.login-hint{background:var(--cream);padding:10px;text-align:center;font-size:11px;margin:12px 0}.back-site{font-size:11px;color:var(--muted);margin-top:28px}.login-image{background:linear-gradient(0deg,rgba(7,31,29,.45),rgba(7,31,29,.1)),url("bournemouth-hero.webp") 65% center/cover;display:flex;align-items:flex-end;padding:5vw}.login-image p{font-family:Georgia,serif;font-size:33px;line-height:1.25;color:white;max-width:450px}
.dashboard{min-height:100vh}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:var(--ink);color:white;padding:30px 20px;display:flex;flex-direction:column}.brand-light{color:white;margin:0 10px 55px}.brand-light small{color:#9bb0ac}.admin-nav{display:flex;flex-direction:column;gap:7px}.admin-nav button{border:0;background:transparent;color:#aebfbc;text-align:left;border-radius:4px;padding:13px 14px;cursor:pointer;font-size:12px}.admin-nav button span{display:inline-block;width:25px}.admin-nav button.active{background:rgba(255,255,255,.1);color:white}.admin-nav i{float:right;background:var(--coral);color:white;font-style:normal;font-size:9px;border-radius:20px;padding:2px 7px}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:20px 12px 0}.sidebar-bottom a,.sidebar-bottom button{display:block;border:0;background:none;color:#aebfbc;font-size:11px;padding:7px 0;cursor:pointer}.admin-main{margin-left:245px;min-height:100vh}.admin-topbar{height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 4vw;gap:13px}.admin-topbar p{margin:0;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.admin-topbar strong{font-size:12px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--cream);font-size:10px;font-weight:800}.admin-view{display:none;padding:45px 4vw}.admin-view.active{display:block}.admin-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:34px}.admin-title .eyebrow{margin-bottom:10px}.admin-title h1{font-size:48px;margin:0}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.metric-grid article{background:white;padding:22px;border:1px solid rgba(19,46,44,.06);position:relative}.metric-grid p{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.metric-grid strong{font-family:Georgia,serif;font-size:40px;font-weight:400;display:block}.metric-grid small{font-size:9px;color:#83908e}.metric-icon{float:right;width:31px;height:31px;border-radius:50%;background:#f0f5f3;display:grid;place-items:center;color:var(--teal)}.admin-card{background:white;padding:28px;border:1px solid rgba(19,46,44,.07)}.card-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.card-heading .eyebrow{margin-bottom:7px}.card-heading h2{font-size:28px;margin:0}.booking-table-wrap{overflow:auto}.booking-table{width:100%;border-collapse:collapse;font-size:11px;min-width:700px}.booking-table th{text-align:left;text-transform:uppercase;letter-spacing:.1em;font-size:8px;color:#8a9694;padding:11px;border-bottom:1px solid var(--line)}.booking-table td{padding:16px 11px;border-bottom:1px solid rgba(19,46,44,.08);vertical-align:middle}.booking-table tr:last-child td{border-bottom:0}.booking-table strong{display:block}.booking-table small{color:var(--muted)}.status-pill{display:inline-block;border-radius:20px;padding:5px 9px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.status-confirmed{background:#e4f2ec;color:#257253}.status-pending{background:#fff0d5;color:#94661e}.status-cancelled{background:#f8e4df;color:#a74d3b}.booking-filters{display:flex;justify-content:space-between;gap:12px;margin-bottom:25px}.search-field{width:min(420px,70%);display:flex;border:1px solid var(--line);align-items:center;padding:0 13px}.search-field input{border:0;outline:0;padding:12px;width:100%}.booking-filters select{border:1px solid var(--line);background:white;padding:10px}.row-action{border:1px solid var(--line);background:white;padding:6px 9px;cursor:pointer}.empty-bookings{text-align:center;padding:55px;color:var(--muted)}.empty-bookings strong{font-family:Georgia,serif;font-size:24px;color:var(--ink)}.settings-note{display:flex;gap:13px;background:#e5efec;border:1px solid #cfe2dc;padding:17px 20px;margin-bottom:25px}.settings-note>span{width:26px;height:26px;background:white;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif}.settings-note p{margin:0;font-size:11px}.room-settings{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.room-setting{background:white;padding:22px;display:grid;grid-template-columns:1fr 120px;align-items:center}.room-setting h3{font-size:24px;margin:0 0 6px}.room-setting p{font-size:10px;color:var(--muted);margin:0}.price-field{display:flex;align-items:center;border:1px solid var(--line);background:var(--paper);padding-left:12px}.price-field input{width:100%;border:0;padding:12px;outline:0}.save-message{text-align:right;color:var(--teal);font-size:11px}.booking-detail{width:min(520px,92vw);border:0;padding:38px;box-shadow:var(--shadow);color:var(--ink)}.booking-detail::backdrop{background:rgba(5,24,23,.7);backdrop-filter:blur(4px)}.detail-heading h2{font-size:35px;margin-bottom:10px}.detail-heading p{color:var(--muted);font-size:11px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-grid small,.detail-contact small{display:block;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:8px;margin-bottom:4px}.detail-contact{padding:20px 0}.detail-actions{display:flex;gap:10px}.detail-actions select{flex:1;border:1px solid var(--line);padding:10px;background:white}
.room-visual-twin{background:linear-gradient(140deg,#9c8faa,#665778)}.room-visual-single-shared{background:linear-gradient(140deg,#a7a996,#6d705f)}
.detail-arrival{padding:12px;border-left:3px solid var(--sand);background:var(--cream)}.detail-arrival strong{font-family:Georgia,serif;font-size:22px;font-weight:400;color:var(--ink)}
@keyframes coastalDrift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-18px,20px,0) scale(1.04)}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:980px){.main-nav{gap:16px}.promise-strip{grid-template-columns:repeat(2,1fr);gap:24px}.promise-strip>div:nth-child(2){border-right:0}.room-card,.room-card.room-featured{grid-template-columns:1fr;grid-column:auto}.room-grid{grid-template-columns:repeat(2,1fr)}.welcome-copy{padding:80px 50px}.metric-grid{grid-template-columns:repeat(2,1fr)}.room-settings{grid-template-columns:1fr}}
@media(max-width:760px){.site-header{height:70px;padding:0 20px}.menu-button{display:block}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.main-nav.open{display:flex}.hero{height:760px;min-height:0;padding:90px 25px 190px;background-position:64% center}.hero-content{width:100%}.hero h1{font-size:50px}.hero-copy{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-note{left:25px;right:auto;bottom:145px}.quick-book{margin:-115px auto 0}.quick-book-inner{grid-template-columns:1fr 1fr}.quick-book label{padding:8px 10px}.quick-book .button{grid-column:1/-1;margin:10px 0 0}.promise-strip{grid-template-columns:1fr;margin-top:35px;padding:25px}.promise-strip>div{border-right:0!important;justify-content:flex-start;border-bottom:1px solid var(--line);padding-bottom:16px}.promise-strip>div:last-child{border:0}.section{padding:80px 20px}.section-heading{grid-template-columns:1fr;gap:25px}.room-grid{grid-template-columns:1fr}.room-card,.room-card.room-featured{grid-template-columns:1fr}.welcome-section{grid-template-columns:1fr}.welcome-copy{padding:70px 25px}.film-section{height:78vh;min-height:620px;padding:70px 25px;align-items:flex-start}.film-content h2{font-size:58px}.film-content>p:not(.eyebrow){font-size:13px;max-width:85%}.film-big-play{width:72px;height:72px;right:24px;top:auto;bottom:135px}.film-facts{left:25px;right:25px;bottom:26px;gap:10px;justify-content:space-between}.film-facts i{display:none}.film-facts span{display:flex;flex-direction:column}.film-facts strong{font-size:16px}.location-section{grid-template-columns:1fr;padding:80px 25px}.site-footer{grid-template-columns:1fr;gap:25px}.booking-panel{padding:28px 24px}.booking-step h2{font-size:38px}.admin-login{grid-template-columns:1fr}.login-card{padding:50px 25px}.login-card .brand{margin-bottom:70px}.login-image{display:none}.admin-sidebar{transform:translateX(-100%);transition:.25s;z-index:20}.admin-sidebar.open{transform:none}.admin-main{margin-left:0}.admin-topbar{justify-content:space-between}.admin-menu-button{display:block}.admin-view{padding:30px 18px}.admin-title{align-items:flex-start;gap:20px}.admin-title h1{font-size:38px}.admin-title .button{padding:12px}.metric-grid{grid-template-columns:1fr 1fr}.room-setting{grid-template-columns:1fr 100px}.booking-filters{align-items:stretch}.search-field{width:100%}.full-table{min-width:1000px}}
@media(max-width:460px){.form-row{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr}.room-footer{align-items:flex-start;gap:15px;flex-direction:column}.booking-filters{flex-direction:column}.search-field{width:100%}.admin-title{flex-direction:column}.hero h1{font-size:43px}}
@media(max-width:760px){.hero-film-controls{right:25px;bottom:170px}.hero .film-big-play{top:43%;bottom:auto;right:22px}.hero-note{left:25px;bottom:132px}}
@media(max-width:760px){.google-rating{right:20px;top:18px;width:142px;padding:11px 13px}.google-rating-score{font-size:28px}.google-rating small{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}.rooms-section:before{animation:none}}

/* Admin reservation calendar */
.admin-subtitle{margin:9px 0 0;color:var(--muted);font-size:11px}
.booking-filter-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:9px}.booking-date-filter{display:flex;flex-direction:column;gap:5px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:7px;font-weight:800}.booking-date-filter input{height:41px;width:145px;border:1px solid var(--line);background:#fff;padding:8px 10px;color:var(--ink);font-size:10px;outline:none}.booking-date-filter input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,78,73,.08)}.booking-filter-controls select{height:41px}.clear-booking-dates{height:41px;white-space:nowrap;padding:0 12px}
.booking-bulk-toolbar{display:flex;min-height:50px;align-items:center;gap:14px;margin:-8px 0 8px;padding:9px 11px;border:1px solid #dce4e1;background:#f7faf9}.booking-select-all{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:10px;font-weight:750;cursor:pointer}.booking-select-all input,.booking-row-checkbox{width:15px;height:15px;margin:0;accent-color:var(--teal);cursor:pointer}.booking-bulk-toolbar>strong{color:var(--teal);font-size:9px}.booking-delete-actions{display:flex;gap:8px;margin-left:auto}.booking-delete-actions .row-action{height:32px;padding:0 12px;font-size:9px}.booking-delete-actions .danger-solid{border-color:#a74d3b;background:#a74d3b;color:#fff}.booking-delete-actions .danger-solid:hover{background:#8f3e30}.booking-delete-actions .row-action:disabled{cursor:default;opacity:.42;background:#f1f3f2;color:#8c9694;border-color:#dce2df}.booking-delete-message{min-height:16px;margin:0 0 5px;color:#8d4437;font-size:9px}.booking-select-column{width:54px;text-align:center!important}.booking-table td.booking-select-cell{text-align:center}.booking-table tr.booking-row-selected td{background:#f2e9e5}.booking-table tr.booking-row-selected td:first-child{box-shadow:inset 3px 0 #b65b48}
.calendar-page-title{align-items:flex-end}.calendar-page-actions{display:flex;align-items:center;gap:10px}
.admin-view[data-view="calendar"]{padding:32px 1.5vw 42px}
.calendar-mode-switch{display:inline-flex;margin-top:18px;padding:4px;border:1px solid var(--line);border-radius:9px;background:#edf2f0}
.calendar-mode-switch button{min-width:118px;border:0;border-radius:6px;background:transparent;padding:10px 15px;color:#657471;text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:850;cursor:pointer;transition:.2s}
.calendar-mode-switch button:hover{color:var(--teal)}.calendar-mode-switch button.active{background:#fff;color:var(--ink);box-shadow:0 3px 10px rgba(19,46,44,.1)}
.calendar-page-actions .button:disabled{opacity:.5;cursor:not-allowed}
.calendar-card{padding:0;overflow:hidden;border-radius:10px;box-shadow:0 18px 55px rgba(19,46,44,.08)}
.calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 24px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfcfb)}
.calendar-navigation{display:flex;align-items:center;gap:8px;min-width:0}
.calendar-navigation button{height:38px;min-width:38px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font-size:13px;font-weight:700;cursor:pointer;transition:.2s}
.calendar-navigation button:hover{border-color:var(--teal);color:var(--teal);background:#f4f9f7}
.calendar-navigation button:disabled{border-color:var(--line);background:#f1f3f2;color:#a2aaa8;cursor:not-allowed}
.calendar-navigation #calendar-today{padding:0 14px;text-transform:uppercase;letter-spacing:.08em;font-size:9px}
.calendar-jump-date{height:38px;display:flex;align-items:center;gap:8px;margin-left:4px;padding:0 9px 0 11px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer}
.calendar-jump-date span{white-space:nowrap;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:7px;font-weight:800}
.calendar-jump-date input{width:121px;border:0;background:transparent;color:var(--ink);font-size:10px;font-weight:750;outline:0;cursor:pointer}
.calendar-jump-date:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,78,73,.08)}
.calendar-navigation strong{margin-left:8px;white-space:nowrap;font-family:Georgia,serif;font-size:17px;font-weight:400}
.calendar-filters{display:flex;gap:10px}
.calendar-filters label{display:flex;flex-direction:column;gap:5px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:7px;font-weight:800}
.calendar-filters select{min-width:155px;border:1px solid var(--line);border-radius:6px;background:white;padding:9px 30px 9px 10px;color:var(--ink);font-size:10px;outline:none}
.calendar-filters select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,78,73,.08)}
.calendar-information{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;background:#f5f7f5;border-bottom:1px solid var(--line)}
.calendar-information p{margin:0;font-size:10px;color:var(--muted)}
.calendar-information p strong{color:var(--ink)}
.calendar-legend{display:flex;align-items:center;gap:18px}
.calendar-legend span{display:flex;align-items:center;gap:6px;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.calendar-legend i{width:9px;height:9px;border-radius:3px;background:#27746d}.calendar-legend i.pending{background:#c18d37}.calendar-legend i.cancelled{background:#9a9e9d}
.calendar-price-legend{display:flex;align-items:center;gap:18px}.calendar-price-legend span{display:flex;align-items:center;gap:6px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:8px}.calendar-price-legend i{width:10px;height:10px;border-radius:3px;border:1px solid #d8dfdc;background:white}.calendar-price-legend i.custom{border-color:#65a59c;background:#d9eee8}.calendar-price-legend i.period{border-color:#e0b75d;background:#fff0c8}.calendar-price-legend i.closed{border-color:#c66f61;background:#f7dcd6}.calendar-price-legend i.booked{border-color:#6b98a5;background:#e5f1f5}
.front-price-editor{padding:18px 24px;border-bottom:1px solid #dbe3e0;background:#fff}
.front-price-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.front-price-editor-heading strong,.front-price-editor-heading small{display:block}.front-price-editor-heading strong{font-family:Georgia,serif;font-size:20px;font-weight:400}.front-price-editor-heading small{max-width:650px;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.5}.front-price-editor-heading .button{min-width:210px}
.front-price-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:9px}.front-price-grid>label{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.front-price-grid>label>span{display:block;margin-bottom:5px}
.front-price-input{height:39px;display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;background:#fafbf9;padding-left:10px;color:var(--ink);font-family:Georgia,serif;font-size:14px}.front-price-input input{min-width:0;width:100%;height:37px;border:0;background:transparent;padding:7px;color:var(--ink);font-size:11px;font-weight:750;outline:0}.front-price-input:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,78,73,.08)}
.front-price-message{min-height:15px;margin:10px 0 0;color:var(--teal);font-size:9px}
.calendar-price-bulk{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));width:100%;min-width:0;gap:10px;align-items:end;padding:18px 24px;border-bottom:1px solid #dbe3e0;background:linear-gradient(110deg,#f2f7f5,#fbfaf5)}
.calendar-price-bulk-heading{align-self:center}.calendar-price-bulk-heading strong,.calendar-price-bulk-heading small{display:block}.calendar-price-bulk-heading strong{font-family:Georgia,serif;font-size:17px;font-weight:400}.calendar-price-bulk-heading small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.45}
.calendar-price-bulk input:disabled{border-color:#e1e5e3;background:#edf1ef;color:#87918f;cursor:not-allowed}
.calendar-price-bulk-heading,.bulk-room-selector{grid-column:1/-1}.bulk-room-selector{min-width:0;margin:0;padding:13px 14px 14px;border:1px solid #d6e0dc;border-radius:9px;background:rgba(255,255,255,.72)}.bulk-room-selector legend{padding:0 6px;color:var(--muted);text-transform:uppercase;letter-spacing:.11em;font-size:7px;font-weight:850}.bulk-room-selector-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.bulk-room-selector-heading small{color:var(--teal);font-size:8px;font-weight:750}.bulk-room-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:7px}.calendar-price-bulk .bulk-room-selector label{display:flex;min-height:34px;align-items:center;gap:8px;border:1px solid #dbe3e0;border-radius:6px;background:#fff;padding:7px 9px;color:var(--ink);text-transform:none;letter-spacing:0;font-size:9px;cursor:pointer;transition:border-color .18s,background .18s}.calendar-price-bulk .bulk-room-selector label:hover{border-color:#8fb7b0;background:#f5faf8}.calendar-price-bulk .bulk-room-selector label:has(input:checked){border-color:#65a59c;background:#e4f2ee;color:#155f57}.calendar-price-bulk .bulk-room-selector .bulk-room-select-all{min-height:auto;border:0;background:transparent;padding:0;color:var(--teal);font-weight:800}.calendar-price-bulk .bulk-room-selector .bulk-room-select-all:hover,.calendar-price-bulk .bulk-room-selector .bulk-room-select-all:has(input:checked){border:0;background:transparent}.calendar-price-bulk .bulk-room-selector label>span{display:inline;margin:0}.calendar-price-bulk .bulk-room-selector input[type="checkbox"]{width:15px;height:15px;flex:0 0 auto;margin:0;padding:0;border:0;accent-color:var(--teal);box-shadow:none}
.calendar-price-bulk label{min-width:0;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:7px;font-weight:800}.calendar-price-bulk label>span{display:block;margin-bottom:5px}
.calendar-price-bulk select,.calendar-price-bulk input{width:100%;height:39px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:8px 9px;color:var(--ink);font-size:10px;outline:none}.calendar-price-bulk select:focus,.calendar-price-bulk input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,78,73,.08)}
.calendar-price-bulk .button{grid-column:1/-1;justify-self:end;width:220px;height:43px;white-space:nowrap;padding:0 20px;font-size:10px;box-shadow:0 8px 20px rgba(19,46,44,.16)}.bulk-price-input,.bulk-minimum-stay-input{display:flex;align-items:center;height:39px;border:1px solid var(--line);border-radius:6px;background:#fff;padding-left:9px;color:var(--ink);font-family:Georgia,serif;font-size:14px}.bulk-price-input input,.bulk-minimum-stay-input input{min-width:0;height:37px;border:0;padding-left:5px;font-weight:750;box-shadow:none!important}.bulk-minimum-stay-input{padding:0 7px}.bulk-minimum-stay-input input{padding:4px;width:34px}.bulk-minimum-stay-input small{color:var(--muted);font-family:inherit;font-size:7px;text-transform:none;letter-spacing:0}
.calendar-price-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}.calendar-price-actions .button{grid-column:auto;justify-self:auto}.calendar-price-actions .button:disabled{cursor:default;opacity:.48;box-shadow:none;transform:none}.calendar-price-actions .calendar-status-action{border:1px solid #bdcfc9;background:#fff;color:var(--teal);box-shadow:none}.calendar-price-actions .calendar-status-action:hover{border-color:var(--teal);background:#e8f3f0;color:var(--ink)}
.calendar-price-bulk .bulk-preserve-daily{grid-column:1/-1;justify-self:end;display:flex;width:min(520px,100%);align-items:flex-start;gap:9px;border:1px solid #cdded9;border-radius:8px;background:#edf6f3;padding:10px 12px;color:var(--ink);text-transform:none;letter-spacing:0;cursor:pointer}.calendar-price-bulk .bulk-preserve-daily input{width:15px;height:15px;flex:0 0 auto;margin:2px 0 0;padding:0;border:0;accent-color:var(--teal);box-shadow:none}.calendar-price-bulk .bulk-preserve-daily>span{display:block;margin:0}.bulk-preserve-daily strong,.bulk-preserve-daily small{display:block}.bulk-preserve-daily strong{font-size:9px}.bulk-preserve-daily small{margin-top:2px;color:var(--muted);font-size:8px;font-weight:500;line-height:1.45}
.calendar-toolbar-home:empty,.calendar-price-toolbar-target:empty{display:none}.calendar-price-toolbar-target{grid-column:1/-1;min-width:0}.calendar-price-toolbar-target .calendar-toolbar{padding:12px 0 2px;border:0;background:transparent}.calendar-price-toolbar-target .calendar-navigation{flex-wrap:wrap}.calendar-price-toolbar-target .calendar-filters{margin-left:auto}
.calendar-room-selection-empty{grid-column:1/-1;min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:35px;text-align:center;color:var(--muted)}.calendar-room-selection-empty strong{font-family:Georgia,serif;font-size:27px;font-weight:400;color:var(--ink)}.calendar-room-selection-empty p{max-width:430px;margin:9px 0 0;font-size:10px;line-height:1.6}
.calendar-price-message{grid-column:1/-1;min-height:14px;margin:0;color:var(--teal);font-size:9px}
.reservation-calendar{--calendar-cell:78px;--calendar-room-width:190px;--calendar-track-width:1092px;overflow:auto;max-height:calc(100vh - 315px);min-height:520px;background:#fff;scrollbar-color:#b6c4c0 #edf1ef;scrollbar-width:thin}
.reservation-calendar::-webkit-scrollbar{width:10px;height:10px}.reservation-calendar::-webkit-scrollbar-track{background:#edf1ef}.reservation-calendar::-webkit-scrollbar-thumb{background:#b6c4c0;border:2px solid #edf1ef;border-radius:10px}
.calendar-grid{width:calc(var(--calendar-room-width) + var(--calendar-track-width));min-width:100%;position:relative}
.calendar-header-row,.calendar-room-row{display:flex;width:100%}
.calendar-header-row{position:sticky;top:0;z-index:8;min-height:66px;border-bottom:1px solid #dce3e0;background:#f8faf9}
.calendar-room-heading,.calendar-room-label{position:sticky;left:0;flex:0 0 var(--calendar-room-width);width:var(--calendar-room-width);z-index:6;border-right:1px solid #dce3e0;background:#fff;box-shadow:7px 0 16px rgba(19,46,44,.05)}
.calendar-room-heading{z-index:10;display:flex;flex-direction:column;justify-content:center;padding:0 18px;background:#f3f7f5}
.calendar-room-heading span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.calendar-room-heading small{margin-top:4px;color:var(--muted);font-size:8px}
.calendar-date-headings{display:grid;grid-template-columns:repeat(var(--calendar-days),var(--calendar-cell));width:var(--calendar-track-width)}
.calendar-date-heading{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:center;padding:8px 7px;border-right:1px solid #e0e6e3;text-align:left;color:var(--muted)}
.calendar-date-heading span{grid-column:1/-1;text-transform:uppercase;letter-spacing:.1em;font-size:7px;font-weight:800}.calendar-date-heading strong{font-family:Georgia,serif;font-size:20px;line-height:1;color:var(--ink);font-weight:400}.calendar-date-heading small{align-self:end;text-transform:uppercase;font-size:6px}
.calendar-date-heading.weekend{background:#f0f3f2}.calendar-date-heading.today{background:#e3f0ec}.calendar-date-heading.today strong{color:var(--teal)}
.calendar-room-row{min-height:64px;border-bottom:1px solid #e5e9e7}
.calendar-room-row:nth-child(even) .calendar-room-label{background:#fbfcfb}
.calendar-room-label{display:flex;flex-direction:column;justify-content:center;padding:9px 18px}
.calendar-room-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;color:var(--ink)}
.calendar-room-label small{margin-top:4px;color:#84918e;font-size:8px}
.calendar-room-track{position:relative;flex:0 0 var(--calendar-track-width);width:var(--calendar-track-width);height:64px;overflow:hidden}
.calendar-day-cells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--calendar-days),var(--calendar-cell))}
.calendar-day-cell{display:block;border-right:1px solid #e7ebe9;background:#fff}.calendar-day-cell.weekend{background:#f7f8f7}.calendar-day-cell.today{background:#edf6f3;border-left:2px solid rgba(35,116,105,.28)}
.calendar-booking{position:absolute;z-index:3;top:8px;bottom:8px;left:calc(var(--booking-left) + 4px);width:calc(var(--booking-width) - 8px);min-width:38px;overflow:hidden;border:0;border-radius:7px;padding:7px 10px;text-align:left;color:white;cursor:pointer;box-shadow:0 5px 12px rgba(19,46,44,.16);transition:transform .15s,box-shadow .15s,filter .15s}
.calendar-booking:hover{z-index:5;transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 8px 18px rgba(19,46,44,.26)}
.calendar-booking strong,.calendar-booking small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-booking strong{font-size:9px;letter-spacing:.01em}.calendar-booking small{margin-top:3px;color:rgba(255,255,255,.76);font-size:7px}
.calendar-booking.status-confirmed{background:linear-gradient(135deg,#2c8178,#1e625e);color:white}.calendar-booking.status-pending{background:linear-gradient(135deg,#d3a34d,#aa7427);color:white}.calendar-booking.status-cancelled{background:repeating-linear-gradient(135deg,#979d9b 0 8px,#878d8b 8px 16px);color:white;opacity:.76;text-decoration:line-through}
.calendar-booking.clipped-start{border-radius:0 7px 7px 0}.calendar-booking.clipped-end{border-radius:7px 0 0 7px}.calendar-booking.clipped-start.clipped-end{border-radius:0}
.calendar-price-row{min-height:154px}.calendar-price-row .calendar-room-label{min-height:154px}.calendar-price-track{display:grid;grid-template-columns:repeat(var(--calendar-days),var(--calendar-cell));flex:0 0 var(--calendar-track-width);width:var(--calendar-track-width);min-height:154px}
.calendar-price-cell{position:relative;display:flex;min-width:0;flex-direction:column;justify-content:center;gap:2px;padding:6px 5px;border-right:1px solid #e1e6e3;background:#fff;transition:background .18s,box-shadow .18s}.calendar-price-cell.weekend{background:#f4f6f5}.calendar-price-cell.today{box-shadow:inset 2px 0 rgba(35,116,105,.35),inset -2px 0 rgba(35,116,105,.35)}
.calendar-price-cell.source-period{background:#fff5d9}.calendar-price-cell.source-daily{background:#e0f1ec;box-shadow:inset 0 3px #4c9489}.calendar-price-cell.source-daily.today{box-shadow:inset 0 3px #4c9489,inset 2px 0 rgba(35,116,105,.35),inset -2px 0 rgba(35,116,105,.35)}
.calendar-price-cell .calendar-nightly-price{display:flex;align-items:center;border:1px solid rgba(19,46,44,.16);border-radius:5px;background:rgba(255,255,255,.9);padding-left:7px;color:var(--ink);font-family:Georgia,serif;font-size:13px}.calendar-price-cell .calendar-nightly-price:focus-within,.calendar-minimum-stay:focus-within,.calendar-room-quantity:focus-within{border-color:var(--teal);box-shadow:0 0 0 2px rgba(23,78,73,.08)}
.calendar-price-cell input{min-width:0;width:100%;height:29px;border:0;background:transparent;padding:4px 3px;color:var(--ink);font-size:12px;font-weight:800;outline:none;-moz-appearance:textfield}.calendar-price-cell input::-webkit-inner-spin-button,.calendar-price-cell input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
.calendar-price-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#83908e;text-transform:uppercase;letter-spacing:.07em;font-size:6px;font-weight:800}.calendar-price-cell.source-daily small{color:#28746b}.calendar-price-cell.source-period small{color:#9b6d18}
.calendar-price-cell.source-individual .price-source{color:#8a5f12}
.calendar-minimum-stay{display:flex;align-items:center;height:25px;border:1px solid #dbe2df;border-radius:5px;background:rgba(255,255,255,.76);padding:0 4px;color:var(--muted);font-size:7px}.calendar-minimum-stay span{font-weight:850;text-transform:uppercase;letter-spacing:.04em}.calendar-minimum-stay input{width:25px;height:23px;padding:1px;text-align:center;font-size:10px}.calendar-minimum-stay em{font-style:normal;white-space:nowrap;font-size:6px}.calendar-price-cell.has-minimum-stay .calendar-minimum-stay{border-color:#d2a843;background:#fff4d6;color:#875f17}.calendar-price-cell.has-minimum-stay .calendar-minimum-stay input{color:#875f17}
.calendar-room-quantity{display:flex;align-items:center;height:25px;border:1px solid #bdd2cd;border-radius:5px;background:#edf6f3;padding:0 4px;color:#286b63;font-size:7px}.calendar-room-quantity span{font-weight:900;text-transform:uppercase;letter-spacing:.04em}.calendar-room-quantity input{width:25px;height:23px;padding:1px;text-align:center;color:#155f57;font-size:10px}.calendar-room-quantity em{font-style:normal;white-space:nowrap;font-size:6px}
.calendar-price-reset{position:absolute;z-index:2;right:3px;top:2px;width:17px;height:17px;border:0;border-radius:50%;background:transparent;color:#5b7772;font-size:13px;line-height:1;cursor:pointer}.calendar-price-reset:hover{background:#fff;color:#9e3f30}
.calendar-availability-line{display:flex;min-width:0;align-items:center;gap:4px;margin-top:2px}.calendar-room-status-toggle{min-width:39px;height:23px;border:1px solid #6ea79f;border-radius:5px;background:#e8f4f1;padding:0 6px;color:#1c665e;text-transform:uppercase;letter-spacing:.05em;font-size:6px;font-weight:900;cursor:pointer}.calendar-room-status-toggle:hover{filter:brightness(.97)}.calendar-room-status-toggle.closed{border-color:#c66f61;background:#f7dcd6;color:#963c2f}.calendar-occupancy-badge{display:flex;min-width:0;height:23px;flex:1;align-items:center;justify-content:center;overflow:hidden;border:1px solid #81aaa4;border-radius:5px;background:#e5f2ef;padding:0 4px;color:#256c65;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.035em;font-size:5.5px;font-weight:900}.calendar-occupancy-badge.available{border-color:#d9e2df;background:rgba(255,255,255,.8);color:#6f7e7b}.calendar-occupancy-badge.sold-out{border-color:#a55e53;background:#a9493b;color:#fff}.calendar-price-cell.room-closed{background:#f8e4df!important;box-shadow:inset 0 3px #b65343!important}.calendar-price-cell.room-closed .price-source{color:#8e493f}.calendar-price-cell.room-booked:not(.room-closed){background:#e5f1f5}.calendar-price-cell.room-sold-out:not(.room-closed){box-shadow:inset 0 3px #406e7d}
.calendar-card.price-mode .reservation-calendar{height:clamp(560px,68vh,760px);max-height:none;min-height:560px}
.calendar-help{margin:0;padding:13px 24px;border-top:1px solid var(--line);background:#fbfcfb;color:var(--muted);font-size:9px}

@media(max-width:1300px){.calendar-price-bulk{grid-template-columns:repeat(3,minmax(135px,1fr))}.calendar-price-bulk-heading,.bulk-room-selector{grid-column:1/-1}}
@media(max-width:980px){.front-price-grid{grid-template-columns:repeat(2,minmax(170px,1fr))}}
@media(max-width:1050px){.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-filters{width:100%}.calendar-filters label{flex:1}.calendar-filters select{width:100%}.reservation-calendar{max-height:620px}.calendar-card.price-mode .reservation-calendar{max-height:620px}}
@media(max-width:1200px){.booking-filters{align-items:stretch;flex-direction:column}.booking-filter-controls{justify-content:flex-start;flex-wrap:wrap}.booking-date-filter{flex:1}.booking-date-filter input{width:100%}.booking-filter-controls select{min-width:170px}}
@media(max-width:760px){.booking-bulk-toolbar{align-items:flex-start;flex-wrap:wrap}.booking-delete-actions{width:100%;margin-left:0}.booking-delete-actions .row-action{flex:1}}
@media(max-width:760px){.admin-view[data-view="calendar"]{padding:30px 10px}.calendar-page-title{align-items:flex-start;flex-direction:column}.calendar-page-actions{margin-top:18px}.calendar-mode-switch{width:100%}.calendar-mode-switch button{min-width:0;flex:1}.calendar-toolbar{padding:18px}.calendar-navigation{width:100%;flex-wrap:wrap}.calendar-jump-date{order:2;width:100%;margin:6px 0 0;justify-content:space-between}.calendar-jump-date input{width:auto;flex:1}.calendar-navigation strong{order:3;width:100%;margin:5px 0 0}.calendar-filters{flex-direction:column}.calendar-information{align-items:flex-start;flex-direction:column;padding:12px 18px}.calendar-legend,.calendar-price-legend{gap:11px;flex-wrap:wrap}.calendar-price-bulk{grid-template-columns:1fr 1fr;padding:17px 18px}.calendar-price-bulk-heading{grid-column:1/-1}.calendar-price-bulk .button{grid-column:1/-1;justify-self:stretch;width:100%}.reservation-calendar{--calendar-room-width:165px;min-height:430px;max-height:65vh}.calendar-card.price-mode .reservation-calendar{height:65vh;min-height:430px;max-height:65vh}.calendar-room-heading,.calendar-room-label{padding-left:12px;padding-right:10px}.calendar-help{padding:12px 18px}}
@media(max-width:760px){.front-price-editor{padding:17px 18px}.front-price-editor-heading{align-items:flex-start;flex-direction:column}.front-price-editor-heading .button{width:100%}.front-price-grid{grid-template-columns:1fr}}
@media(max-width:760px){.bulk-room-options{grid-template-columns:1fr 1fr}.bulk-room-selector-heading{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:760px){.calendar-price-actions{flex-direction:column}.calendar-price-actions .button{width:100%}}
@media(max-width:460px){.bulk-room-options{grid-template-columns:1fr}}

/* Updated tall Tregonholme logo crop */
.logo-crop img{left:10px;top:-22px;width:140px;height:140px}
.logo-crop-small img{left:14px;top:-14px;width:90px;height:90px}
.logo-crop-footer img{left:18px;top:-25px;width:155px;height:155px}
.logo-crop-admin img{left:18px;top:-25px;width:145px;height:145px}
.logo-crop-sidebar img{left:19px;top:-27px;width:147px;height:147px}
.admin-login .brand,.admin-sidebar .brand-light{background-color:#fff;background-image:url("tregonholme-logo.webp");background-position:center 48%;background-size:155px auto;background-repeat:no-repeat}
.admin-login .brand,.admin-sidebar .brand-light{display:flex;width:auto;height:auto;background:none;overflow:visible;align-items:center;flex-direction:row;gap:13px}.admin-login .brand>*,.admin-sidebar .brand-light>*{visibility:visible}.admin-sidebar .brand-light{margin:0 5px 55px}.admin-sidebar .brand-emblem{width:56px;height:56px;border-radius:14px}.admin-sidebar .brand-wordmark strong{color:white;font-size:18px}.admin-sidebar .brand-wordmark small{color:#9bb0ac;font-size:7px}.admin-login .brand-wordmark strong{font-size:24px}.admin-login .brand-wordmark small{font-size:8px}

/* Secure multi-user administrator access */
.login-card{overflow-y:auto}.login-card .brand{margin-bottom:6vh}.admin-login-description{color:var(--muted);margin:0 0 24px;line-height:1.6}.admin-auth-form label{display:block;margin-bottom:15px}.admin-auth-form[hidden],.recovery-codes[hidden]{display:none}.auth-notice{display:flex;flex-direction:column;gap:4px;margin:0 0 20px;padding:14px 16px;border:1px solid #cfe2dc;background:#edf6f3;font-size:11px;line-height:1.55}.auth-notice span{color:var(--muted)}.auth-warning{border-color:#e6c878;background:#fff7df}.authenticator-secret-card{margin-bottom:18px;padding:15px;border:1px solid var(--line);background:white}.authenticator-secret-card>small{display:block;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:8px}.authenticator-secret-card code{display:block;margin:10px 0;font-size:15px;line-height:1.7;overflow-wrap:anywhere;color:var(--ink)}.authenticator-secret-card>div{display:flex;gap:8px;align-items:center}.authenticator-secret-card a{text-decoration:none;color:var(--ink)}.recovery-code-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.recovery-code-grid code{padding:9px;border:1px solid var(--line);background:white;text-align:center;font-size:11px}.recovery-codes>.row-action{margin-bottom:16px}.admin-topbar-account{text-align:right}.administrator-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);gap:20px;align-items:start}.administrator-invite-form{display:grid;gap:14px}.administrator-invite-form label span{display:block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:8px;font-weight:800}.administrator-invite-form input,.administrator-invite-result input{width:100%;border:1px solid var(--line);background:white;padding:12px;color:var(--ink)}.administrator-invite-result{margin-top:18px;padding:15px;border:1px solid #cfe2dc;background:#edf6f3}.administrator-invite-result p{font-size:11px;color:var(--muted)}.administrator-invite-result>div{display:flex;gap:8px}.administrator-invite-result .row-action{white-space:nowrap}.administrator-list{display:flex;flex-direction:column}.administrator-row{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.administrator-row:last-child{border-bottom:0}.administrator-row>div:first-child{display:flex;flex-direction:column;gap:4px}.administrator-row>div:last-child{display:flex;align-items:center;gap:9px}.administrator-row strong small{color:var(--teal)}.administrator-row span,.administrator-row small{font-size:10px;color:var(--muted)}.administrator-row.is-disabled{opacity:.62}

@media(max-width:900px){.administrator-layout{grid-template-columns:1fr}}
@media(max-width:760px){.login-card .brand{margin-bottom:35px}.recovery-code-grid{grid-template-columns:1fr}.administrator-invite-result>div{flex-direction:column}.administrator-row{align-items:flex-start;flex-direction:column}.administrator-row>div:last-child{width:100%;justify-content:space-between}}

/* Admin date-based room pricing */
.rate-editor-card{margin-bottom:24px}.rate-editor-card .card-heading{margin-bottom:22px}.saved-rates-card .card-heading{align-items:center}
.date-rate-details{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px;margin-bottom:24px}
.date-rate-details label>span,.date-rate-price>span{display:block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:8px;font-weight:800}
.date-rate-details input{display:block;width:100%;height:44px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:10px 12px;color:var(--ink);outline:none}
.date-rate-details input:focus,.date-rate-price input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,78,73,.08)}
.date-rate-prices{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:20px;border:1px solid var(--line);background:#f6f8f6}
.date-rate-price{min-width:0;padding:14px;border:1px solid #e1e6e3;border-radius:6px;background:white}
.date-rate-price small{display:block;margin:-2px 0 10px;color:#8b9694;font-size:8px}
.date-rate-price>div{display:flex;align-items:center;border:1px solid var(--line);border-radius:4px;background:#fff;padding-left:10px;color:var(--ink);font-family:Georgia,serif;font-size:16px}
.date-rate-price input{min-width:0;width:100%;border:0;padding:9px 8px;color:var(--ink);font-size:14px;font-weight:750;outline:none}
.rate-form-actions{display:flex;align-items:center;gap:10px;margin-top:18px}.rate-form-actions .row-action{height:44px;padding:0 18px}.rate-save-message{text-align:left;min-height:16px;margin:12px 0 0}
.rate-rule-count{border:1px solid var(--line);border-radius:20px;padding:7px 11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px}
.date-rate-rules{display:grid;gap:14px}.date-rate-rule{border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#fff,#fbfcfb);padding:22px}
.date-rate-rule-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}.date-rate-rule-heading .eyebrow{margin:0 0 7px;font-size:8px}.date-rate-rule-heading h3{margin:0;font-size:25px}
.date-rate-rule-actions{display:flex;gap:7px}.row-action.danger{color:#a74d3b;border-color:#e5c6bf}.row-action.danger:hover{background:#f8e4df}
.date-rate-rule-prices{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--line);background:var(--line)}
.date-rate-rule-prices>div{min-width:0;padding:11px 12px;background:white}.date-rate-rule-prices span,.date-rate-rule-prices strong{display:block}.date-rate-rule-prices span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px}.date-rate-rule-prices strong{margin-top:4px;font-family:Georgia,serif;font-size:18px;font-weight:400}
.rate-priority-note{display:block;margin-top:12px;color:var(--muted);font-size:8px}.empty-rate-rules{text-align:center;padding:52px 20px;color:var(--muted)}.empty-rate-rules strong{font-family:Georgia,serif;font-size:25px;font-weight:400;color:var(--ink)}.empty-rate-rules p{margin-bottom:0;font-size:10px}
@media(max-width:1050px){.date-rate-prices,.date-rate-rule-prices{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.date-rate-details{grid-template-columns:1fr}.date-rate-prices,.date-rate-rule-prices{grid-template-columns:1fr}.date-rate-rule-heading{flex-direction:column}.date-rate-rule-actions{width:100%}.date-rate-rule-actions button{flex:1}.rate-form-actions{align-items:stretch;flex-direction:column}.rate-form-actions .button,.rate-form-actions .row-action{width:100%}}
