/* Hanul cu Brazi — shared UI system
   One square, neutral and reusable component language for every public page. */
:root{
  --night:#090909!important;
  --night-2:#121212!important;
  --night2:#121212!important;
  --bone:#ede6d6;
  --bone-dim:rgba(237,230,214,.68);
  --ember:#d9a05b;
  --ember-deep:#a9702b;
  --green:#d9a05b!important;
  --wa:#d9a05b!important;
  --hcb-line:rgba(237,230,214,.16);
  --hcb-surface:#121212;
  --hcb-ink:#17130c;
  --hcb-radius:0!important;
}

*,*::before,*::after{box-sizing:border-box;border-radius:0!important}
html,body{max-width:100%;overflow-x:hidden}
body{background:var(--night);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{max-width:100%;min-width:0;font:inherit}
img,svg,video,canvas{max-width:100%}
.toplinks>a:not(.book){display:none!important}

/* Shared interactive vocabulary. Brand logos and photography keep their own colours. */
.btn:not(.btn-ghost),a.cta,button.cta,.hcta,.top-call,.reserve,.btn-wa,.bm-submit,.req-go,.lead-go,
.band .cta,.pack .cta,.pop .pa .t,.home-floating-request,.tour-booking,
.wa-float,.fwa{
  border-color:var(--ember)!important;
  background:var(--ember)!important;
  color:var(--hcb-ink)!important;
  box-shadow:none!important;
}
.btn-ghost,.btn-ink,.toolbar button,.toplinks .book{
  border-color:rgba(217,160,91,.58)!important;
  box-shadow:none!important;
}
.response-badge,.bm-online{border-color:rgba(217,160,91,.3)!important;background:rgba(217,160,91,.06)!important}
.response-dot,.clock .dot,.accuracy::before,.tour-mobile-hint::before{background:var(--ember)!important;box-shadow:none!important}
.req-f input.ok,.lead-card input.ok{border-color:var(--ember)!important}

/* Shared page directory: every public route remains reachable, but only from the footer. */

/* The firms page opens with the same shell and 3D experience as the homepage. */
.page-corporate>.pre,.page-corporate>.progress,.page-corporate>.clock,.page-corporate>.cursor,
.page-corporate>.shout,.page-corporate>.dawn,.page-corporate>.dusk{display:none!important}
html.corporate-tour-locked,
html.corporate-tour-locked body{height:100%;overflow:hidden!important;overscroll-behavior:none}
html.corporate-tour-locked body.page-corporate{position:fixed;inset:0;width:100%}
.corporate-tour{width:100%;height:100dvh;min-height:620px;padding:0;background:#090909;color:var(--bone)}
body.page-corporate>.hero{display:none!important}
body.page-corporate #topbar{
  position:fixed!important;z-index:800!important;inset:0 0 auto!important;width:100%!important;height:72px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;
  padding:0 clamp(18px,4vw,56px)!important;border:0!important;border-bottom:1px solid rgba(237,230,214,.12)!important;
  background:linear-gradient(180deg,rgba(7,11,9,.94),rgba(7,11,9,.72))!important;
  mix-blend-mode:normal!important;-webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
  transition:opacity .28s,transform .35s cubic-bezier(.22,.61,.36,1)!important;
}
body.page-corporate #topbar .brand{font-family:var(--serif);font-size:1.18rem;color:var(--bone);text-decoration:none;white-space:nowrap}
body.page-corporate #topbar nav.toplinks{display:flex!important;align-items:center!important;margin-left:auto;gap:18px!important}
body.page-corporate #topbar .toplinks .book{
  display:inline-flex!important;align-items:center;justify-content:center;padding:9px 14px!important;
  border:1px solid rgba(217,160,91,.58)!important;background:transparent!important;color:var(--bone)!important;
  font-family:var(--mono);font-size:.69rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;
}
.corporate-tour__frame{width:100%;max-width:none;height:100%;min-height:0;margin:0;border:0;background:#090909;overflow:hidden}
.corporate-tour__frame iframe{display:block;width:100%;height:100%;border:0;background:#090909}
html.hcb-embed-3d,html.hcb-embed-3d body{height:100%;overflow:hidden!important;background:#090909}
html.hcb-embed-3d .topbar,html.hcb-embed-3d #landingContent,html.hcb-embed-3d .home-floating-request,
html.hcb-embed-3d .home-mobile-cta,html.hcb-embed-3d .consent,
html.hcb-embed-3d .hcb-site-directory{display:none!important}
html.hcb-embed-3d body.tour-landing-mode .viewer.guided-tour{inset:0!important;top:0!important;height:100dvh!important;min-height:0!important}
body.page-corporate.corporate-tour-active>.wa-float,
body.page-corporate.corporate-tour-active>.mobile-cta{display:none!important}

.hcb-site-directory{padding:36px clamp(20px,4vw,56px);border-top:1px solid var(--hcb-line);background:#0c0c0c;color:var(--bone)}
.hcb-site-directory__label{margin:0 0 16px;font-family:var(--mono,'IBM Plex Mono',monospace);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ember)}
.hcb-site-directory__links{display:flex;flex-wrap:wrap;gap:10px 24px}
.hcb-site-directory__links a{color:var(--bone-dim);font-size:.8rem;text-decoration:none}
.hcb-site-directory__links a:hover,.hcb-site-directory__links a[aria-current="page"]{color:var(--ember)}

/* Same prominent gallery CTA on the public and corporate continuations. */
.galerie-link{
  display:inline-flex!important;align-items:center;justify-content:center;min-height:50px;padding:0 20px!important;
  border:1px solid rgba(217,160,91,.62)!important;background:transparent;color:var(--ember)!important;
  font-size:.72rem!important;line-height:1!important;letter-spacing:.12em!important;text-decoration:none!important
}
.galerie-link:hover{border-color:var(--ember)!important;background:rgba(217,160,91,.08)!important;opacity:1!important}

/* Safari-safe modal sizing. No form control is allowed to establish its own wider grid track. */
.lead-modal,.lead-card,.booking-card,.booking-mount,.bm,.bm-grid,.bm-field,.bm-date-control{min-width:0!important;max-width:100%!important}
.lead-modal.open{overflow:hidden!important}
.lead-card.booking-card{width:min(720px,calc(100vw - 24px))!important}
.bm-field-date{grid-column:1/-1!important}
.bm-date-control{width:100%!important;overflow:hidden!important}
.bm-date-control>input{inset:0!important;width:100%!important;min-width:0!important;max-width:100%!important;-webkit-appearance:none!important;appearance:none!important}

@media(max-width:900px){header nav:not(.toplinks){display:none!important}}
@media(max-width:560px){
  .lead-modal.open{height:100vh!important;height:100dvh!important;min-height:100vh!important;min-height:100dvh!important}
  .lead-card.booking-card{width:100%!important;height:100vh!important;height:100dvh!important;max-height:100vh!important;max-height:100dvh!important;max-width:100%!important}
  .booking-mount{width:100%!important;padding-inline:14px!important}
  .bm-grid{grid-template-columns:minmax(0,1fr)!important}
  .bm-field,.bm-field-date,.bm-wide{grid-column:1!important;width:100%!important}
  .hcb-site-directory__links{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
  .hcb-site-directory__links a{padding:10px 0;border-bottom:1px solid rgba(237,230,214,.1)}
}

@media(max-width:900px){
  .corporate-tour{min-height:570px}
  body.page-corporate #topbar{height:60px!important;padding-inline:15px!important}
  body.page-corporate #topbar .toplinks .book{padding:8px 11px!important;font-size:.62rem}
  body.page-corporate.corporate-tour-active #topbar{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-105%)!important}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
