@font-face{
  font-family:"Inter";
  src:url("../../_next/static/media/inter-latin-400-normal.2qdljeg3s-lsl.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("../../_next/static/media/inter-latin-600-normal.2dov6rjg62vru.woff2") format("woff2");
  font-style:normal;
  font-weight:600 900;
  font-display:swap;
}
@font-face{
  font-family:"Barlow Condensed";
  src:url("../../_next/static/media/barlow-condensed-latin-700-normal.21s4tc4km7afu.woff2") format("woff2");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
:root{
  --wine:#5b1722;
  --wine-dark:#3d0e16;
  --ink:#241d1a;
  --muted:#736762;
  --paper:#fffaf3;
  --cream:#f3eadf;
  --line:#d9cbbc;
  --gold:#b88745;
  --green:#356349;
  --red:#9a2b38;
  --shadow:0 22px 60px rgba(52,31,20,.13);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
a{color:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.05}
h1{font-size:clamp(2.4rem,7vw,5.8rem);letter-spacing:-.045em}
h2{font-size:clamp(1.55rem,3vw,2.3rem);letter-spacing:-.025em}
label{display:grid;gap:.38rem;font-size:.78rem;font-weight:750;letter-spacing:.035em;text-transform:uppercase;color:#5d514c}
#branch-field[hidden],.locked-branch[hidden]{display:none!important}
.locked-branch{display:grid;gap:.38rem;align-content:start}
.locked-branch span{font-size:.78rem;font-weight:750;letter-spacing:.035em;text-transform:uppercase;color:#aaafa4}
.locked-branch strong{
  min-height:47px;display:flex;align-items:center;padding:.72rem .82rem;
  border:1px solid var(--line);border-radius:4px;background:#191c18;
  color:#f2efe7;font-size:.95rem;font-weight:650;letter-spacing:0;text-transform:none
}
input,select{
  width:100%;min-height:47px;border:1px solid var(--line);border-radius:4px;
  background:#fffdf9;color:var(--ink);padding:.72rem .82rem;outline:none;
  transition:border-color .16s ease,box-shadow .16s ease
}
input:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,135,69,.16)}
fieldset{border:1px solid var(--line);padding:1.15rem;margin:0;border-radius:5px}
legend{padding:0 .45rem;font-family:Georgia,serif;font-size:1.2rem;color:var(--wine)}
small,.fine-print{font-size:.77rem;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:500}
.eyebrow{margin-bottom:.45rem;color:var(--gold);font-size:.72rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.wordmark{display:flex;align-items:center;gap:.68rem;text-decoration:none;font-family:Georgia,serif;font-size:1.35rem;font-weight:700}
.wordmark img{object-fit:contain;border-radius:50%}
.button{
  min-height:46px;border:1px solid transparent;border-radius:3px;padding:.72rem 1.1rem;
  font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  transition:transform .15s ease,background .15s ease,border-color .15s ease
}
.button:hover:not(:disabled){transform:translateY(-1px)}
.button.primary{background:var(--wine);color:#fff;border-color:var(--wine)}
.button.primary:hover:not(:disabled){background:var(--wine-dark)}
.button.secondary{background:transparent;color:var(--wine);border-color:var(--wine)}
.button.quiet{background:transparent;color:var(--muted);border-color:var(--line)}
.customer-header,.admin-header{
  min-height:72px;padding:0 max(1.2rem,calc((100vw - 1180px)/2));
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  border-bottom:1px solid rgba(91,23,34,.17);background:rgba(255,250,243,.92);
  position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)
}
.customer-header p{margin:0;color:var(--muted);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.customer-shell{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:clamp(2.5rem,7vw,6.5rem) 0 6rem}
.editorial-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(2rem,7vw,7rem);align-items:end;margin-bottom:clamp(2.4rem,6vw,5rem)}
.editorial-intro h1{color:var(--wine);margin:0}
.editorial-intro>p:last-child{font-family:Georgia,serif;font-size:1.18rem;color:#5f504a;max-width:32rem;margin-bottom:.7rem}
.booking-card,.confirmation,.admin-card,.login-card,.setup-card{
  background:var(--paper);border:1px solid rgba(91,23,34,.13);box-shadow:var(--shadow)
}
.booking-card{padding:clamp(1.25rem,4.5vw,3.8rem)}
.step-heading{display:grid;grid-template-columns:60px 1fr;gap:1rem;align-items:start;margin-bottom:1.7rem}
.step-heading>span{font-family:Georgia,serif;font-size:1.5rem;color:var(--gold);border-top:1px solid var(--gold);padding-top:.45rem}
.step-heading h2{margin:0;color:var(--wine)}
.step-heading.compact{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.search-grid,.guest-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.span-all{grid-column:1/-1}
.availability[hidden],.reservation-form[hidden],.confirmation[hidden]{display:none}
.availability-result{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  border:1px solid var(--green);background:#f0f7f2;padding:1.15rem
}
.availability-result strong{display:block;color:var(--green);font-family:Georgia,serif;font-size:1.25rem}
.availability-result p{margin:.2rem 0 0;color:var(--muted)}
.availability-result.unavailable{border-color:var(--red);background:#fff0f1}
.availability-result.unavailable strong{color:var(--red)}
.availability-result .button{min-width:150px}
.large-party-notice{margin:0;padding:.85rem 1rem;border:1px solid var(--red);background:#fff0f1;color:var(--red);font-weight:750}
.large-party-notice[hidden],#continue-booking[hidden]{display:none!important}
.reservation-form{margin-top:.5rem}
.reservation-form>.button{width:100%;margin-top:1rem}
.field-validity{
  display:block;min-height:1.15rem;margin-top:.05rem;font-size:.74rem;font-weight:750;
  letter-spacing:0;text-transform:none
}
.field-validity.valid{color:var(--green)}
.field-validity.invalid{color:var(--red)}
input.is-valid{border-color:var(--green)}
input.is-invalid{border-color:var(--red)}
input.is-valid:focus{box-shadow:0 0 0 3px rgba(53,99,73,.16)}
input.is-invalid:focus{box-shadow:0 0 0 3px rgba(154,43,56,.16)}
.verification-panel{margin:1rem 0;padding:1rem;border:1px solid var(--line);background:#fffdf9}
.code-fields{display:grid;grid-template-columns:1fr auto;gap:.8rem;align-items:end;margin-top:1rem}
.code-fields[hidden]{display:none}
.verification-panel.verified{border-color:#86a692;background:#f0f7f2}
.verification-panel.verified .fine-print{color:var(--green);font-weight:700}
.privacy-acknowledgement{
  display:grid;grid-template-columns:22px 1fr;gap:.72rem;align-items:start;
  margin:1rem 0;padding:1rem;border:1px solid var(--line);background:#fffdf9
}
.privacy-acknowledgement input[type=checkbox]{
  width:20px;min-height:20px;height:20px;margin:.08rem 0 0;padding:0;accent-color:var(--wine)
}
.privacy-acknowledgement label{
  display:block;color:var(--muted);font-size:.77rem;font-weight:500;
  letter-spacing:0;line-height:1.55;text-transform:none
}
.privacy-acknowledgement a{color:var(--wine);font-weight:750}
.privacy-acknowledgement:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,135,69,.16)}
.confirmation{margin-top:1.3rem;padding:clamp(1.4rem,4vw,2.8rem);border-left:5px solid var(--green)}
.confirmation h2{color:var(--green)}
.notice{min-height:1.5rem;margin:1rem 0;color:var(--green);font-weight:650}
.notice.error{color:var(--red)}
.empty-state{padding:1.3rem;border:1px dashed var(--line);color:var(--muted);text-align:center;grid-column:1/-1}

/* Customer reservation colours match the home page exactly. */
.customer-page{
  --wine:#e8c98f;
  --wine-dark:#f5dfb5;
  --ink:#f2efe7;
  --muted:#aaafa4;
  --paper:#191c18;
  --cream:#101210;
  --line:rgba(242,239,231,.18);
  --gold:#e8c98f;
  --green:#bde8a7;
  --red:#ff9f8f;
  --shadow:0 22px 60px rgba(0,0,0,.28);
  background:#101210;
  color:#f2efe7;
}
.customer-page .customer-header{
  background:rgba(16,18,16,.94);
  border-bottom-color:rgba(242,239,231,.18);
}
.customer-page label{color:#aaafa4}
.customer-page input,.customer-page select{
  background:#101210;
  color:#f2efe7;
  border-color:rgba(242,239,231,.18);
}
.customer-page input:focus,.customer-page select:focus{
  border-color:#e8c98f;
  box-shadow:0 0 0 3px rgba(232,201,143,.18);
}
.customer-page input.is-valid{border-color:#bde8a7}
.customer-page input.is-invalid{border-color:#ff9f8f}
.customer-page input.is-valid:focus{box-shadow:0 0 0 3px rgba(189,232,167,.18)}
.customer-page input.is-invalid:focus{box-shadow:0 0 0 3px rgba(255,159,143,.18)}
.customer-page .button.primary{
  background:#e8c98f;
  border-color:#e8c98f;
  color:#101210;
}
.customer-page .button.primary:hover:not(:disabled){background:#f5dfb5}
.customer-page .button.secondary{
  color:#e8c98f;
  border-color:#e8c98f;
}
.customer-page .button.secondary:hover:not(:disabled){
  background:#e8c98f;
  color:#101210;
}
.customer-page .editorial-intro>p:last-child{color:#aaafa4}
.customer-page .booking-card,.customer-page .confirmation{
  background:#191c18;
  border-color:rgba(242,239,231,.18);
}
.customer-page .verification-panel,.customer-page .privacy-acknowledgement{
  background:#101210;
  border-color:rgba(242,239,231,.18);
}
.customer-page .availability-result{background:#18231a;border-color:#bde8a7}
.customer-page .availability-result strong{color:#bde8a7}
.customer-page .availability-result.unavailable,.customer-page .large-party-notice{background:#2a1717;border-color:#ff9f8f}
.customer-page .availability-result.unavailable strong,.customer-page .large-party-notice{color:#ff9f8f}
.customer-page .verification-panel.verified{
  background:#18231a;
  border-color:#bde8a7;
}
.customer-page .back-home-button{white-space:nowrap}
.customer-page h1,.customer-page h2,.admin-page h1,.admin-page h2{
  font-family:"Barlow Condensed",Georgia,"Times New Roman",serif;
  font-weight:700;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.customer-page .wordmark,.admin-page .wordmark{
  font-family:"Barlow Condensed",Georgia,"Times New Roman",serif;
  letter-spacing:.025em;
}

/* Administrator */
.admin-page{
  --wine:#e8c98f;
  --wine-dark:#f5dfb5;
  --ink:#f2efe7;
  --muted:#aaafa4;
  --paper:#191c18;
  --cream:#101210;
  --line:rgba(242,239,231,.18);
  --gold:#e8c98f;
  --green:#bde8a7;
  --red:#ff9f8f;
  --shadow:0 22px 60px rgba(0,0,0,.28);
  background:#101210;
  color:#f2efe7;
}
.admin-header{
  background:rgba(16,18,16,.94);
  color:#f2efe7;
  border-bottom-color:rgba(242,239,231,.18);
}
.admin-header .wordmark{font-size:1.15rem}
.admin-header button{color:#f2efe7}
.admin-shell{width:min(1240px,calc(100% - 2rem));margin:0 auto;padding:2.2rem 0 6rem}
.admin-page-nav{display:flex;gap:.65rem;margin-bottom:1.4rem;border-bottom:1px solid var(--line)}
.admin-page-nav a{
  padding:.8rem 1rem;border-bottom:3px solid transparent;text-decoration:none;
  color:var(--muted);font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase
}
.admin-page-nav a:hover,.admin-page-nav a.active{color:#e8c98f;border-bottom-color:#e8c98f}
.admin-page[data-admin-view="reservations"] .admin-settings-view{display:none!important}
.admin-page[data-admin-view="settings"] .admin-reservations-view{display:none!important}
.login-card{width:min(470px,100%);margin:8vh auto;padding:clamp(1.4rem,5vw,2.8rem)}
.login-card h1{font-size:clamp(2.2rem,8vw,3.8rem);color:var(--wine)}
.login-card form,.stack-form,.setup-form{display:grid;gap:1rem}
.admin-page label{color:#aaafa4}
.admin-page input,.admin-page select{
  background:#101210;
  color:#f2efe7;
  border-color:rgba(242,239,231,.18);
}
.admin-page input:focus,.admin-page select:focus{
  border-color:#e8c98f;
  box-shadow:0 0 0 3px rgba(232,201,143,.18);
}
.admin-page .button.primary{
  background:#e8c98f;
  border-color:#e8c98f;
  color:#101210;
}
.admin-page .button.primary:hover:not(:disabled){background:#f5dfb5}
.admin-page .button.secondary{
  color:#e8c98f;
  border-color:#e8c98f;
}
.admin-page .button.secondary:hover:not(:disabled){
  background:#e8c98f;
  color:#101210;
}
.admin-page .button.quiet{
  color:#f2efe7;
  border-color:rgba(242,239,231,.28);
}
.admin-page .button.quiet:hover:not(:disabled){background:#23261f}
.admin-page .login-card,.admin-page .admin-card{
  background:#191c18;
  border-color:rgba(242,239,231,.18);
}
.admin-toolbar{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.3rem}
.admin-toolbar h1{font-size:clamp(2.2rem,5vw,4.4rem);margin:0;color:var(--wine)}
.toolbar-fields{display:flex;gap:.65rem;align-items:end;flex-wrap:wrap;justify-content:flex-end}
.toolbar-fields label{min-width:180px}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}
.summary-grid article{
  background:#191c18;
  color:#e8c98f;
  padding:1.35rem 1.5rem;
  border:1px solid rgba(242,239,231,.18);
  border-radius:0;
}
.summary-grid span{display:block;font-family:Georgia,serif;font-size:2.8rem;line-height:1}
.summary-grid p{margin:.35rem 0 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#aaafa4}
.admin-card{padding:clamp(1.1rem,3vw,1.7rem);margin:1rem 0;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.admin-card h2{margin-bottom:1.15rem;color:var(--wine)}
.admin-card.narrow{max-width:620px}
.card-title{display:flex;justify-content:space-between;gap:1rem;align-items:center}
.card-title h2{margin-bottom:0}
.copy-link{margin:1rem 0 0;padding:.75rem;background:#101210;border:1px solid var(--line);word-break:break-all}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.four-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.table-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th,td{text-align:left;border-bottom:1px solid var(--line);padding:.72rem .6rem;vertical-align:top}
th{font-size:.67rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.management-list{display:grid;gap:.6rem;margin-top:1rem}
.management-row{border-top:1px solid var(--line);padding-top:.75rem;display:flex;gap:.65rem;align-items:center;justify-content:space-between}
.management-row .row-main{flex:1;min-width:0}
.management-row strong{display:block}
.management-row span{font-size:.78rem;color:var(--muted)}
.management-row input{min-height:40px}
.row-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.row-actions .button{min-height:38px;padding:.55rem .7rem}
.hours-list{display:grid;gap:.55rem;margin-bottom:1rem}
.hours-row{display:grid;grid-template-columns:110px 80px 1fr 1fr;gap:.65rem;align-items:center}
.hours-row>span{font-weight:750}
.hours-row label{display:flex;align-items:center;gap:.35rem;text-transform:none;letter-spacing:0}
.hours-row input[type=checkbox]{width:20px;min-height:20px;padding:0}

/* Installer */
.setup-page{background:#ede7df}
.setup-shell{width:min(820px,calc(100% - 2rem));margin:0 auto;padding:clamp(2rem,7vw,5rem) 0}
.setup-card{padding:clamp(1.2rem,5vw,3rem)}
.setup-card h1{color:var(--wine)}
.setup-form fieldset{display:grid;gap:1rem}
.setup-form small{display:block;margin-top:.2rem}
.error-box,.success-box{padding:1rem;border:1px solid;margin:1rem 0}
.error-box{background:#fff0f1;border-color:#d49aa2;color:#7b1927}
.success-box{background:#f0f7f2;border-color:#9ab7a4;color:#28563b}
.success-box .button{margin-top:.6rem}

@media(max-width:900px){
  .editorial-intro{grid-template-columns:1fr;gap:1.2rem}
  .search-grid,.guest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .availability-result{align-items:flex-start;flex-direction:column}
  .admin-toolbar{display:grid}
  .toolbar-fields{justify-content:flex-start}
}
@media(max-width:720px){
  .admin-grid{grid-template-columns:1fr}
  .summary-grid{grid-template-columns:1fr}
  .summary-grid article{display:flex;align-items:center;gap:1rem}
  .summary-grid p{margin:0}
  .admin-header{position:static}
}
@media(max-width:620px){
  .customer-header,.admin-header{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}
  .customer-header p{display:none}
  .customer-header .back-home-button{width:auto;min-height:40px;padding:.55rem .7rem;font-size:.68rem}
  .customer-shell,.admin-shell,.setup-shell{width:100%;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(4rem,env(safe-area-inset-bottom))}
  .search-grid,.guest-grid,.two-columns,.four-columns{grid-template-columns:1fr}
  .availability-result .button{width:100%}
  .booking-card{margin-left:-1rem;margin-right:-1rem;border-left:0;border-right:0}
  .step-heading{grid-template-columns:44px 1fr}
  .code-fields{grid-template-columns:1fr}
  .code-fields .button{width:100%}
  .toolbar-fields{display:grid;grid-template-columns:1fr;width:100%}
  .toolbar-fields label,.toolbar-fields .button{width:100%;min-width:0}
  .card-title{align-items:flex-start;flex-direction:column}
  .card-title .button{width:100%}
  .hours-row{grid-template-columns:1fr 80px;grid-template-areas:"day open" "start end"}
  .hours-row>span{grid-area:day}
  .hours-row>.open-check{grid-area:open}
  .hours-row>.open-time{grid-area:start}
  .hours-row>.close-time{grid-area:end}
  .management-row{align-items:flex-start;flex-direction:column}
  .row-actions{width:100%}
  .row-actions .button{flex:1}
}
@media(max-width:390px){
  .wordmark{font-size:1.08rem}
  .customer-header .wordmark span{display:none}
  .customer-header .back-home-button{width:auto}
  .customer-shell,.admin-shell,.setup-shell{padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}
  .booking-card{margin-left:-.75rem;margin-right:-.75rem}
  .step-heading{grid-template-columns:36px 1fr;gap:.65rem}
  .button{width:100%}
}

/* Exact dark-texture theme matching the approved MeroBuddha reference. */
:root{
  --wine:#911540;
  --wine-dark:#6f0f31;
  --ink:#f3dfc5;
  --muted:#d7c0a6;
  --paper:rgba(14,9,7,.9);
  --cream:#050403;
  --line:rgba(139,101,58,.72);
  --gold:#F7A941;
  --green:#bde8a7;
  --red:#ff9f8f;
  --bronze:#8B653A;
  --shadow:0 22px 60px rgba(0,0,0,.5);
  color-scheme:dark;
}
html{background:#050403}
body,.customer-page,.admin-page,.setup-page{
  --wine:#911540;
  --wine-dark:#6f0f31;
  --ink:#f3dfc5;
  --muted:#d7c0a6;
  --paper:rgba(14,9,7,.9);
  --cream:#050403;
  --line:rgba(139,101,58,.72);
  --gold:#F7A941;
  --green:#bde8a7;
  --red:#ff9f8f;
  --shadow:0 22px 60px rgba(0,0,0,.5);
  background-color:#050403;
  background-image:linear-gradient(rgba(0,0,0,.16),rgba(0,0,0,.32)),url("../../service-background.png?v=2");
  background-repeat:no-repeat,repeat;
  background-position:center top,center top;
  background-size:auto,724px 543px;
  background-attachment:fixed,fixed;
  color:var(--ink);
}
h1,h2,h3,.customer-page h1,.customer-page h2,.admin-page h1,.admin-page h2,.setup-card h1{
  color:var(--gold);
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
}
label,.customer-page label,.admin-page label{color:var(--muted)}
.eyebrow{color:#ef3159}
.customer-header,.admin-header,.customer-page .customer-header{
  background:rgba(0,0,0,.9);
  color:var(--ink);
  border-bottom-color:rgba(247,169,65,.46);
  box-shadow:0 12px 38px rgba(0,0,0,.32);
}
.wordmark{color:var(--gold)}
.booking-card,.confirmation,.admin-card,.login-card,.setup-card,
.customer-page .booking-card,.customer-page .confirmation,
.admin-page .login-card,.admin-page .admin-card{
  background:rgba(14,9,7,.88);
  border-color:var(--line);
  box-shadow:var(--shadow);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
input,select,.customer-page input,.customer-page select,.admin-page input,.admin-page select{
  background:rgba(0,0,0,.72);
  color:var(--ink);
  border-color:var(--line);
}
input:focus,select:focus,.customer-page input:focus,.customer-page select:focus,.admin-page input:focus,.admin-page select:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(247,169,65,.22);
}
fieldset{border-color:var(--line)}
legend,.step-heading>span{color:var(--gold)}
.button.primary,.customer-page .button.primary,.admin-page .button.primary{
  background:var(--gold);
  border-color:var(--gold);
  color:#090604;
}
.button.primary:hover:not(:disabled),.customer-page .button.primary:hover:not(:disabled),.admin-page .button.primary:hover:not(:disabled){background:#ffc064;border-color:#ffc064}
.button.secondary,.customer-page .button.secondary,.admin-page .button.secondary{
  background:rgba(0,0,0,.25);
  color:var(--gold);
  border-color:var(--gold);
}
.button.secondary:hover:not(:disabled),.customer-page .button.secondary:hover:not(:disabled),.admin-page .button.secondary:hover:not(:disabled){background:var(--wine);color:#fff;border-color:var(--wine)}
.button.quiet,.admin-page .button.quiet{color:var(--ink);border-color:var(--line)}
.button.quiet:hover:not(:disabled),.admin-page .button.quiet:hover:not(:disabled){background:rgba(145,21,64,.46)}
.editorial-intro>p:last-child,.customer-page .editorial-intro>p:last-child{color:var(--muted)}
.verification-panel,.privacy-acknowledgement,
.customer-page .verification-panel,.customer-page .privacy-acknowledgement{
  background:rgba(0,0,0,.66);
  border-color:var(--line);
}
.availability-result,.customer-page .availability-result{background:rgba(20,47,30,.84);border-color:var(--green)}
.availability-result.unavailable,.large-party-notice,.customer-page .availability-result.unavailable,.customer-page .large-party-notice{background:rgba(79,22,28,.86);border-color:var(--red)}
.admin-page-nav{border-bottom-color:var(--line)}
.admin-page-nav a:hover,.admin-page-nav a.active{color:var(--gold);border-bottom-color:var(--gold)}
.summary-grid article{
  background:linear-gradient(135deg,rgba(161,25,66,.94),rgba(103,16,48,.94));
  color:var(--gold);
  border-color:var(--gold);
}
.summary-grid p{color:#fff}
.copy-link{background:rgba(0,0,0,.68);border-color:var(--line)}
.management-row,th,td{border-color:var(--line)}
th{color:var(--muted)}
.privacy-acknowledgement input[type=checkbox],.hours-row input[type=checkbox]{accent-color:var(--wine)}
.setup-page{background-color:#050403;color:var(--ink)}
.error-box{background:rgba(79,22,28,.86);border-color:var(--red);color:#ffd4cc}
.success-box{background:rgba(20,47,30,.86);border-color:var(--green);color:#dff7d5}

@media(max-width:720px){
  body,.customer-page,.admin-page,.setup-page{
    background-image:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.28)),url("../../service-background.png?v=2");
    background-size:auto,520px 390px;
    background-attachment:scroll,scroll;
  }
  .customer-header,.admin-header,.customer-page .customer-header{background:rgba(0,0,0,.94)}
  .booking-card,.confirmation,.admin-card,.login-card,.setup-card,
  .customer-page .booking-card,.customer-page .confirmation,
  .admin-page .login-card,.admin-page .admin-card{background:rgba(12,8,6,.91)}
  .summary-grid article{background:linear-gradient(135deg,#a11942,#681031)}
}

/* V3: one fixed, non-repeating texture layer prevents visible image joints. */
body.customer-page,body.admin-page,body.setup-page{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  background:transparent!important;
}
body.customer-page::before,body.admin-page::before,body.setup-page::before{
  content:"";
  position:fixed;
  z-index:-1;
  inset:-3px;
  pointer-events:none;
  background-color:#050403;
  background-image:linear-gradient(rgba(0,0,0,.16),rgba(0,0,0,.34)),url("../../service-background.png?v=3");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}
@media(max-width:720px){
  body.customer-page,body.admin-page,body.setup-page{background:transparent!important}
  body.customer-page::before,body.admin-page::before,body.setup-page::before{
    background-image:linear-gradient(rgba(0,0,0,.13),rgba(0,0,0,.31)),url("../../service-background.png?v=3");
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
  }
}
