/* Preserve the approved design; refine responsive sizing and controls. */

#page-home[data-fit] .home-page {
  padding-top:.75rem;
  padding-bottom:.75rem;
}
#page-home[data-fit] .home-logo,
#page-home[data-fit] .home-badge {
  margin-bottom:.5rem;
}
#page-home[data-fit] .home-tagline {
  margin-top:.5rem;
}
#page-home[data-fit] .home-divider {
  margin:.5rem auto;
}
#page-home[data-fit] .home-actions {
  margin-bottom:.75rem !important;
}
#page-menu[data-fit] .page-hero,
#page-story[data-fit] .page-hero,
#page-gallery[data-fit] .page-hero,
#page-findus[data-fit] .page-hero,
#page-book[data-fit] .page-hero {
  padding-top:1rem;
  padding-bottom:1rem;
}
#page-menu[data-fit] .page-content,
#page-story[data-fit] .page-content,
#page-gallery[data-fit] .page-content,
#page-findus[data-fit] .page-content,
#page-book[data-fit] .page-content {
  padding-top:.75rem;
  padding-bottom:.75rem;
}
#page-story[data-fit] .story-text p:last-child {
  margin-bottom:0;
}
#page-gallery[data-fit] .gallery-note {
  margin-top:1rem;
}
#page-gallery[data-fit] .gallery-grid {
  max-width:var(--gallery-fit-width,100%);
  margin-inline:auto;
}
#page-findus[data-fit] .findus-card {
  margin-bottom:.5rem;
  padding:.65rem 1.25rem;
}
#page-findus[data-fit] .findus-card h3 {
  margin-bottom:.35rem;
}
#page-findus[data-fit] .findus-grid > div > .findus-card:last-child {
  margin-bottom:0;
}
#page-findus[data-fit] .map-wrapper + .findus-card {
  margin-top:.5rem !important;
}
#page-findus[data-fit] .map-wrapper {
  margin-bottom:.5rem;
}
#page-findus[data-fit] .findus-photo {
  width:210px;
  height:120px;
  justify-self:end;
}
#page-findus[data-fit] .map-wrapper iframe {
  height:220px;
}
#page-book[data-fit] .book-options {
  gap:.5rem;
}
#page-book[data-fit] .book-option {
  padding:.65rem 1rem;
}
#page-story[data-fit="compact"] .story-text p {
  line-height:1.65;
  margin-bottom:.75rem;
}
#page-story[data-fit="compact"] .story-card,
#page-story[data-fit="compact"] .memorial {
  padding:.85rem;
}
#page-story[data-fit="compact"] .story-card p,
#page-story[data-fit="compact"] .memorial p {
  line-height:1.6;
}
#page-findus[data-fit="compact"] .page-hero {
  padding-top:.5rem;
  padding-bottom:.5rem;
  grid-template-columns:minmax(0,1fr) auto;
}
#page-findus[data-fit="compact"] .page-content {
  padding-top:.5rem;
  padding-bottom:.5rem;
}
#page-findus[data-fit="compact"] .findus-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.5rem;
}
#page-findus[data-fit="compact"] .findus-card {
  padding:.5rem 1rem;
}
#page-findus[data-fit="compact"] .findus-card p {
  line-height:1.45;
}
#page-findus[data-fit="compact"] .findus-card .note {
  margin-top:.35rem;
}
#page-findus[data-fit="compact"] .map-wrapper iframe {
  height:200px;
}
#page-book[data-fit="compact"] .book-option .opt-icon,
#page-book[data-fit="compact"] .book-option h3,
#page-book[data-fit="compact"] .book-option p {
  margin-bottom:.4rem;
}
#page-book[data-fit="compact"] .book-option > div {
  margin-top:.5rem !important;
}
@media (max-width:600px) {
  #page-home[data-fit] .home-actions {
    padding-top:.75rem;
    padding-bottom:.75rem;
    margin:auto !important;
  }
}


#page-story[data-fit="compact"] .page-hero,
#page-gallery[data-fit="compact"] .page-hero,
#page-book[data-fit="compact"] .page-hero {
  padding-top:.5rem;
  padding-bottom:.5rem;
}
#page-story[data-fit="compact"] .page-hero::after {
  margin-top:.75rem;
}
#page-gallery[data-fit="compact"] .page-label,
#page-findus[data-fit="compact"] .page-label,
#page-book[data-fit="compact"] .page-label {
  margin-bottom:.35rem;
}
#page-gallery[data-fit="compact"] .page-hero h1,
#page-findus[data-fit="compact"] .page-hero h1,
#page-book[data-fit="compact"] .page-hero h1 {
  line-height:1.15;
  margin-bottom:.35rem;
}
#page-gallery[data-fit="compact"] .page-hero p,
#page-findus[data-fit="compact"] .page-hero p,
#page-book[data-fit="compact"] .page-hero p {
  line-height:1.5;
}
#page-findus[data-fit="compact"] .findus-card {
  padding:.4rem 1rem;
}
#page-findus[data-fit="compact"] .findus-card p {
  line-height:1.4;
}
#page-book[data-fit="compact"] .book-option {
  padding:.5rem 1rem;
}
#page-book[data-fit="compact"] .book-option .opt-icon {
  font-size:1.4rem;
  line-height:1.2;
}
#page-book[data-fit="compact"] .book-option h3 {
  line-height:1.2;
}
#page-book[data-fit="compact"] .book-option p {
  line-height:1.45;
}


#page-findus[data-fit="compact"] .page-content {
  padding-top:.4rem;
  padding-bottom:.4rem;
}
#page-book[data-fit="compact"] .page-content {
  padding-top:.5rem;
  padding-bottom:.5rem;
}
#page-book[data-fit="compact"] .book-option .opt-icon,
#page-book[data-fit="compact"] .book-option h3,
#page-book[data-fit="compact"] .book-option p {
  margin-bottom:.25rem;
}


body { min-height:100dvh; }
button, a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { font:inherit; }
button:focus-visible, a:focus-visible { outline:2px solid #f2d787; outline-offset:4px; }
.nav-brand { background:none; border:0; padding:0; }
.hamburger, .mobile-close { min-width:44px; min-height:44px; }
.mobile-menu { right:0; transform:translateX(100%); visibility:hidden; transition:transform .25s ease, visibility .25s; max-width:100vw; }
.mobile-menu.open { transform:translateX(0); visibility:visible; }
.mobile-nav-link.active { color:#f2d787; }
.page-hero p, .book-option p { color:rgba(248,245,238,.85); }
.book-option { min-width:0; }
#page-book #emailDisplay { font-family:'DM Sans',sans-serif; background:none; }
#page-book .booking-widget-wrap { overflow-wrap:anywhere; }
#sevdiary-booking-china-brasserie-horsham > a { display:block; text-align:center; border:1px solid var(--gold); color:var(--cream); padding:1rem; border-radius:4px; }
#page-book .booking-fallback { text-align:center; margin:.65rem auto 0; font-size:.85rem; line-height:1.5; }
#page-book .booking-fallback a { color:#f2b2a4; text-underline-offset:.2em; }
.menu-tabs { justify-content:flex-start; scrollbar-width:thin; scrollbar-color:var(--gold) rgba(200,168,75,.15); }
.menu-tabs::-webkit-scrollbar { display:block; height:6px; }
.menu-tabs::-webkit-scrollbar-thumb { background:var(--gold); border-radius:9px; }
.menu-tabs::-webkit-scrollbar-track { background:rgba(200,168,75,.15); }
.tab.active { background:#b63235; }
.menu-item { border-width:2px; border-color:rgba(200,168,75,.4); }
.type-btn { width:auto; min-width:145px; }
#page-menu .page-hero { padding:clamp(1.5rem,4vh,3rem) 1rem 1.5rem; }
#page-menu .page-content { padding-top:1.5rem; padding-bottom:1.5rem; }
#page-menu .page-hero p > a { margin:.75rem .25rem 0; min-width:170px; }
#specialmenusSection .set-grid { margin-top:.75rem !important; }
#specialmenusSection .set-grid > div { margin-top:.5rem !important; display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }
#specialmenusSection .set-grid a { min-height:50px; display:inline-flex !important; align-items:center; justify-content:center; margin:0 !important; width:260px; max-width:100%; }
.gallery-item { display:block; padding:0; cursor:zoom-in; }
#galleryDialog { padding:1rem; width:min(94vw,1100px); max-width:94vw; max-height:94dvh; margin:auto; color:var(--cream); background:#210c10; border:1px solid var(--gold); border-radius:8px; overflow:auto; }
#galleryDialog::backdrop { background:rgba(0,0,0,.88); }
.lightbox-toolbar { display:flex; justify-content:space-between; align-items:center; padding-bottom:.5rem; }
#galleryDialog button { flex:none; min-width:44px; min-height:44px; border:1px solid rgba(200,168,75,.6); border-radius:4px; background:#482027; color:#f8f5ee; cursor:pointer; }
#previousPhoto, #nextPhoto { font-size:2rem; }
.lightbox-photo { display:flex; gap:.75rem; align-items:center; justify-content:space-between; }
#largePhoto { display:block; min-width:0; width:auto; max-width:calc(100% - 112px); max-height:calc(94dvh - 100px); object-fit:contain; margin:auto; }
@media (min-width:700px) and (max-width:900px) {
  .menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .set-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
  .story-aside { position:static; }
  .findus-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
}
@media (min-width:980px) {
  #page-book .book-options { grid-template-rows:auto auto; align-self:start; }
}
@media (max-width:600px) {
  .menu-type-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
  .type-btn { width:100%; min-width:0; padding:.7rem .4rem; letter-spacing:.03em; }
  #page-book .page-hero, #page-gallery .page-hero, #page-story .page-hero { padding:1.5rem 1rem 1rem; }
  .page-content { padding:1.25rem 1rem; }
  #page-story .page-content { padding:1rem; }
  #page-book .page-content { justify-content:flex-start; }
  .book-option { padding:1.25rem; }
  #page-findus .findus-photo { max-height:210px; object-fit:cover; }
  .site-footer .footer-left { font-size:.68rem; }
  #page-home .home-info-item:nth-child(3) { display:block; }
  #page-home .home-info { padding-top:0; }
  #page-home .home-page { padding-top:clamp(1.25rem,5vh,2.5rem); padding-bottom:1rem; }
  #page-home .home-actions { margin:1.25rem auto !important; }
  #page-home .home-info-item .info-value { font-size:.83rem; }
  #page-menu .page-hero p > a { display:inline-flex !important; align-items:center; justify-content:center; margin:.75rem .15rem 0; min-width:0; padding:.65rem .75rem !important; font-size:.9rem !important; }
  #galleryDialog { padding:.65rem; }
  .lightbox-photo { gap:.35rem; }
  #largePhoto { max-width:calc(100% - 96px); }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; }
}

/* The category strip has one visible, usable scrollbar. */
.scroll-hint { display:none !important; }
#page-book #emailDisplay { max-width:100%; overflow-wrap:anywhere; letter-spacing:.03em !important; }


/* Burgess Hill: the approved composition in a warm chilli-red palette. */
:root { --red:#b63235; --red-light:#f2a095; --surface:#35171d; --green:var(--red); --green-light:var(--red-light); --dark:#210c10; --warm:#38151b; }
.nav-link { color:rgba(248,245,238,.8); }
.nav-link.active { color:#fff; }
.home-title-branch { color:#e5c77a; }
.branch-status { color:#f2b2a4; font-size:.82rem; }
.home-info .info-label { color:#e1c57a; }
.home-info .info-value { color:var(--cream); }
.home-actions > button:nth-child(2) { background:rgba(33,12,16,.45) !important; color:var(--cream) !important; border-color:rgba(200,168,75,.7) !important; }
.home-actions > button:nth-child(2):hover { background:rgba(182,50,53,.4) !important; }
.tab.active, .home-book-btn, .nav-link.book-btn, .mobile-book-btn, .opt-btn { background:var(--red); }
.type-btn.active { color:#210c10; }
.tag-green { color:#bce0a4; background:rgba(107,141,81,.23); }
.menu-item { background:#35171d; border-color:rgba(200,168,75,.48); }
.menu-item:hover { background:#492128; border-color:rgba(200,168,75,.78); }
#page-menu .page-hero p { max-width:650px; }
#page-menu[data-fit] .menu-type-row { margin-bottom:1rem; }
#page-menu[data-fit="compact"] .page-hero { padding-top:.75rem; padding-bottom:.75rem; }
#page-menu[data-fit="compact"] .page-hero p { line-height:1.5; }
#page-menu[data-fit="compact"] .page-label { margin-bottom:.4rem; }
#page-menu[data-fit="compact"] .page-label { display:none; }
#page-menu[data-fit="compact"] .page-hero h1 { font-size:2.5rem; margin-bottom:.5rem; }
#page-menu[data-fit="compact"] .menu-item { padding:.85rem; }
#page-menu[data-fit="compact"] .menu-tabs { margin-bottom:1rem; }
#page-menu[data-fit="compact"] .menu-type-row { margin-bottom:.75rem; }
#page-menu[data-fit="compact"] .menu-note { margin-top:1rem; }
.reservation-preview { border:1px solid rgba(200,168,75,.6); border-radius:6px; padding:clamp(1.5rem,3vw,3rem); min-height:350px; background:linear-gradient(140deg,rgba(72,32,39,.97),rgba(33,12,16,.97)); text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; }
.reservation-ornament { color:var(--gold); font-size:1.8rem; line-height:1; }
.reservation-preview .page-label, #takeawayDialog .page-label { color:#f2a095; font-size:.72rem; letter-spacing:.17em; text-transform:uppercase; }
.reservation-preview h2, #takeawayDialog h2 { font:400 clamp(1.65rem,3vw,2.2rem)/1.2 'Playfair Display',serif; }
.reservation-preview p { max-width:390px; font-size:.95rem; color:rgba(248,245,238,.85); line-height:1.7; }
.coming-soon-badge { display:inline-block; padding:.5rem .9rem; border:1px solid rgba(200,168,75,.55); color:#e5c77a; border-radius:20px; font-size:.75rem; letter-spacing:.04em; }
.branch-outline-btn, .branch-primary-btn { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:.75rem 1.2rem; border-radius:3px; cursor:pointer; font:500 .85rem/1.2 'DM Sans',sans-serif; text-transform:uppercase; letter-spacing:.06em; }
.branch-outline-btn { border:1px solid #e5c77a; color:#f8f5ee; background:transparent; }
.branch-outline-btn:hover { background:rgba(200,168,75,.12); }
.branch-primary-btn { border:1px solid var(--red); background:var(--red); color:#fff; }
.branch-primary-btn:hover { background:#c54243; }
.home-book-btn:hover, .nav-link.book-btn:hover, .mobile-book-btn:hover, .book-option .opt-btn:hover:not(:disabled) { background:#9e292e; color:#fff; }
.opt-btn:disabled { background:rgba(182,50,53,.3) !important; border:1px solid rgba(242,160,149,.4) !important; color:#f2c7bd !important; cursor:default; opacity:1; font-size:.78rem !important; }
#page-book .book-options { align-self:center; }
.branch-map-placeholder { min-height:250px; padding:1.5rem; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:.8rem; background:linear-gradient(145deg,rgba(72,32,39,.94),rgba(33,12,16,.94)); }
.branch-map-placeholder svg { width:46px; height:46px; fill:none; stroke:#e5c77a; stroke-width:1.5; }
.branch-map-placeholder h3 { color:#e5c77a; font:400 1.45rem 'Playfair Display',serif; }
.branch-map-placeholder p { color:rgba(248,245,238,.85); font-size:.9rem; line-height:1.6; }
#takeawayDialog { width:min(92vw,510px); max-height:90dvh; margin:auto; padding:2.25rem; border:1px solid var(--gold); border-radius:6px; background:#35171d; color:var(--cream); }
#takeawayDialog::backdrop { background:rgba(0,0,0,.8); }
#takeawayDialog h2 { margin:1rem 0; }
#takeawayDialog p { font-size:.95rem; line-height:1.7; color:rgba(248,245,238,.88); margin:1rem 0 1.5rem; }
.dialog-close { position:absolute; right:.5rem; top:.5rem; width:44px; height:44px; cursor:pointer; border:0; background:transparent; color:var(--cream); }
#page-gallery .page-hero p { max-width:620px; }
@media (min-width:980px) {
  #page-book .page-content { align-content:center; }
  #page-book .booking-widget-wrap, #page-book .book-options { grid-row:1; }
}
@media (max-width:600px) {
  #page-home .home-title-branch { font-size:clamp(1.8rem,8.5vw,2.8rem); }
  #page-home .home-actions > button:nth-child(2) { background:rgba(33,12,16,.65) !important; }
  #page-home .home-info-item:nth-child(2) { display:none; }
  #page-home .home-info { max-width:310px; }
  .reservation-preview { min-height:310px; padding:1.5rem 1rem; gap:.85rem; }
  .reservation-preview p { font-size:.9rem; }
  #takeawayDialog { padding:2rem 1.25rem; }
}
