/* Crown Boutique Hotel — shared refinement layer */
:root{--cb-plum:#280b13;--cb-wine:#8f2136;--cb-gold:#d8b56a;--cb-ink:#171115;--cb-paper:#fbf8f2;--cb-shadow:0 20px 60px rgba(24,7,14,.14)}
html{scroll-behavior:smooth}
body{background:var(--cb-paper);color:var(--cb-ink);overflow-x:hidden}
::selection{background:var(--cb-gold);color:var(--cb-plum)}
:focus-visible{outline:3px solid var(--cb-gold);outline-offset:4px}
nav{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .3s,box-shadow .3s}
nav.scrolled{background:rgba(28,7,14,.94)!important;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.nav-links a,.footer-links a{position:relative;transition:color .25s ease}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .25s ease}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.btn-primary,.btn-outline,.btn-submit-gold,.btn-submit-dark,.nav-book-btn{transition:transform .25s ease,box-shadow .25s ease,background .25s ease!important}
.btn-primary:hover,.btn-outline:hover,.btn-submit-gold:hover,.btn-submit-dark:hover,.nav-book-btn:hover{transform:translateY(-3px)!important;box-shadow:0 12px 24px rgba(30,6,14,.18)}
.section-inner{position:relative}
.section-header{max-width:720px;margin-left:auto;margin-right:auto}
.room-card,.menu-card,.photo-item,.contact-form-card,.table-form-card,.booking-wrap{box-shadow:var(--cb-shadow)}
.room-card,.menu-card,.photo-item{border-radius:2px;overflow:hidden}
.form-input,.form-select,.form-textarea,.form-input-light,.form-select-light,.form-textarea-light{border-radius:2px;transition:border-color .25s,box-shadow .25s,background .25s}
.form-input:focus,.form-select:focus,.form-textarea:focus,.form-input-light:focus,.form-select-light:focus,.form-textarea-light:focus{box-shadow:0 0 0 4px rgba(216,181,106,.14)}
.form-group{position:relative}
.form-group label{line-height:1.3}
.btn-submit-gold,.btn-submit-dark{min-height:52px}
.form-success{border:1px solid rgba(216,181,106,.35);background:rgba(216,181,106,.08);border-radius:2px}
.toast{box-shadow:0 16px 40px rgba(0,0,0,.28);border-radius:2px}
.footer-social-link{transition:transform .2s,background .2s!important}
.footer-social-link:hover{transform:translateY(-3px)}
.page-hero{isolation:isolate}
@media(max-width:768px){
  .hero-actions{gap:12px}.hero-actions a{width:100%;max-width:310px;text-align:center}
  .booking-wrap,.table-form-card,.contact-form-card{border-radius:2px}
  .footer-bottom{gap:14px;flex-direction:column;text-align:center}
  .toast{right:16px;bottom:16px;left:16px;max-width:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/* Make the upload folder self-contained when Google Fonts are unavailable. */
@font-face{font-family:'Crown Sans Fallback';src:local('Arial');font-display:swap}
body{font-display:swap}
/* Honeypot is invisible to people but available to basic bot filtering. */
.cb-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{margin-top:14px;font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:1px;color:var(--gold);min-height:18px}
.form-status.error{color:#b91c1c}
.form-submit-busy{opacity:.65;cursor:wait!important}
.credit-note{font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:1px;color:rgba(255,255,255,.45);margin-top:10px}
.credit-note a{color:var(--gold-light)}
            
