
*{box-sizing:border-box}
:root{
  --account-primary:#123f35;
  --account-accent:#b88a44;
  --cream:#f6f2e6;
  --paper:#fffdf9;
  --text:#202824;
  --muted:#6e7773;
  --line:#e1d8ca;
  --danger:#9d3535;
}
html{background:var(--cream)}
body{
  margin:0;
  min-height:100%;
  background:
    radial-gradient(circle at 92% 0,rgba(184,138,68,.08),transparent 25%),
    var(--cream);
  color:var(--text);
  font-family:Arial,sans-serif;
}
a{color:inherit}
.account-topbar{
  position:sticky;
  top:0;
  z-index:30;
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:11px clamp(16px,4vw,46px);
  border-bottom:1px solid rgba(184,138,68,.25);
  background:rgba(246,242,230,.94);
  backdrop-filter:blur(15px);
}
.account-brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}
.account-brand img{
  width:38px;
  height:38px;
  object-fit:contain;
}
.account-brand span{min-width:0}
.account-brand small{
  display:block;
  color:var(--account-accent);
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.account-brand strong{
  display:block;
  margin-top:2px;
  color:var(--account-primary);
  font:700 18px Georgia,serif;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.account-nav{display:flex;align-items:center;gap:5px}
.account-nav a{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  padding:8px 11px;
  border-radius:9px;
  color:#66706b;
  text-decoration:none;
  font-size:11px;
  font-weight:700;
}
.account-nav a.active{
  background:#fff;
  color:var(--account-primary);
  box-shadow:inset 0 0 0 1px var(--line);
}
.account-main{
  width:min(1120px,calc(100% - 28px));
  margin:26px auto 50px;
}
.account-footer{
  padding:20px;
  color:#7c837f;
  font-size:9px;
  text-align:center;
}
.account-hero{
  position:relative;
  overflow:hidden;
  padding:26px;
  border:1px solid rgba(184,138,68,.30);
  border-radius:22px;
  background:
    radial-gradient(circle at 86% 8%,rgba(218,184,112,.14),transparent 25%),
    linear-gradient(145deg,var(--account-primary),#062d27);
  color:#fff;
}
.account-hero small{
  color:#dfbb72;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.account-hero h1{
  margin:7px 0 0;
  font:700 clamp(30px,5vw,47px)/1 Georgia,serif;
}
.account-hero p{
  max-width:670px;
  margin:9px 0 0;
  color:rgba(255,255,255,.68);
  font-size:11px;
  line-height:1.6;
}
.account-grid{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:16px;
  margin-top:16px;
}
.account-stack{display:grid;gap:16px}
.account-card{
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
}
.account-card h2{
  margin:0;
  color:var(--account-primary);
  font:700 20px Georgia,serif;
}
.account-card-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.account-card-head p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:10px;
}
.account-booking{
  display:grid;
  grid-template-columns:74px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  padding:13px 0;
  border-top:1px solid #ece4d8;
}
.account-booking:first-of-type{border-top:0}
.account-date{
  padding:10px 7px;
  border:1px solid #e0d7c9;
  border-radius:11px;
  background:#fff;
  text-align:center;
}
.account-date b{
  display:block;
  color:var(--account-primary);
  font:700 22px Georgia,serif;
  line-height:1;
}
.account-date span{
  display:block;
  margin-top:4px;
  color:#94733d;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.account-booking-main{min-width:0}
.account-booking-main strong{
  display:block;
  color:var(--account-primary);
  font:700 13px Georgia,serif;
}
.account-booking-main p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}
.account-badge{
  display:inline-flex;
  align-items:center;
  margin-top:6px;
  padding:4px 7px;
  border-radius:999px;
  background:#edf5f0;
  color:#357154;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
}
.account-badge.pending{background:#fff6df;color:#8a6528}
.account-badge.cancelled,
.account-badge.no_show{background:#fbeaea;color:#9b3434}
.account-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.account-btn{
  min-height:39px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border:1px solid var(--account-accent);
  border-radius:9px;
  background:var(--account-primary);
  color:#fff;
  text-decoration:none;
  font:700 10px Arial,sans-serif;
  cursor:pointer;
}
.account-btn.gold{
  background:var(--account-accent);
  color:#102b25;
}
.account-btn.light{
  border-color:var(--line);
  background:#fff;
  color:var(--account-primary);
}
.account-btn.danger{
  border-color:#b55c5c;
  background:var(--danger);
}
.account-stat-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.account-stat{
  padding:13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.account-stat span{
  display:block;
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.account-stat strong{
  display:block;
  margin-top:4px;
  color:var(--account-primary);
  font:700 25px Georgia,serif;
}
.account-empty{
  padding:18px 0;
  color:var(--muted);
  font-size:11px;
}
.account-voucher{
  padding:11px 0;
  border-top:1px solid #ece4d8;
}
.account-voucher:first-of-type{border-top:0}
.account-voucher strong{
  display:block;
  color:var(--account-primary);
  font-size:11px;
}
.account-voucher p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:9px;
}
.account-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.account-form .full{grid-column:1/-1}
.account-form label{
  display:block;
  margin-bottom:5px;
  color:var(--account-primary);
  font-size:10px;
  font-weight:700;
}
.account-form input,
.account-form select{
  width:100%;
  min-height:44px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--text);
  font-size:13px;
}
.account-form input:focus,
.account-form select:focus{
  outline:2px solid color-mix(in srgb,var(--account-accent) 24%,transparent);
  border-color:var(--account-accent);
}
.account-check{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.account-check input{
  width:18px;
  min-height:18px;
  margin:0;
}
.account-check span{
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}
.account-message{
  margin-bottom:13px;
  padding:11px 12px;
  border-radius:10px;
  background:#eaf5ef;
  color:#286047;
  font-size:10px;
}
.account-message.error{background:#fbeaea;color:#913535}
.login-shell{
  width:min(930px,100%);
  min-height:560px;
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:38px auto;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 22px 60px rgba(18,63,53,.08);
}
.login-brand{
  padding:38px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    radial-gradient(circle at 82% 10%,rgba(218,184,112,.15),transparent 28%),
    linear-gradient(145deg,var(--account-primary),#062d27);
  color:#fff;
}
.login-brand span{
  color:#dfbb72;
  font-size:9px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.login-brand h1{
  margin:8px 0 0;
  font:700 42px/1 Georgia,serif;
}
.login-brand p{
  margin:13px 0 0;
  color:rgba(255,255,255,.68);
  font-size:11px;
  line-height:1.6;
}
.login-form{
  padding:38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.login-form h2{
  margin:0;
  color:var(--account-primary);
  font:700 27px Georgia,serif;
}
.login-form > p{
  margin:8px 0 19px;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}
.login-form label{
  display:block;
  margin-bottom:5px;
  color:var(--account-primary);
  font-size:10px;
  font-weight:700;
}
.login-form input{
  width:100%;
  min-height:48px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:9px;
  font-size:16px;
}
.login-code{
  font:700 24px monospace!important;
  letter-spacing:.22em;
  text-align:center;
}
.login-help{
  margin-top:15px;
  color:#7a827e;
  font-size:9px;
  line-height:1.5;
}
.booking-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-top:15px;
}
.booking-detail{
  padding:12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}
.booking-detail span{
  display:block;
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.booking-detail strong{
  display:block;
  margin-top:4px;
  color:var(--account-primary);
  font-size:12px;
}
@media(max-width:820px){
  .account-grid{grid-template-columns:1fr}
  .login-shell{grid-template-columns:1fr;min-height:0}
  .login-brand{min-height:250px}
}
@media(max-width:620px){
  .account-topbar{position:static;align-items:flex-start}
  .account-nav{gap:2px}
  .account-nav a{padding:7px 8px;font-size:9px}
  .account-main{width:min(100% - 18px,1120px);margin-top:12px}
  .account-hero{padding:20px;border-radius:16px}
  .account-booking{
    grid-template-columns:58px 1fr;
  }
  .account-booking .account-actions{
    grid-column:1/-1;
    justify-content:stretch;
  }
  .account-actions .account-btn{flex:1}
  .account-date b{font-size:18px}
  .account-form{grid-template-columns:1fr}
  .account-form .full{grid-column:auto}
  .booking-detail-grid{grid-template-columns:1fr 1fr}
  .login-shell{margin:10px auto;border-radius:17px}
  .login-brand{padding:26px 20px}
  .login-brand h1{font-size:34px}
  .login-form{padding:26px 20px}
}


.change-booking-card{max-width:860px;margin:0 auto}
.change-times{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  min-height:42px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}
.change-time{
  min-height:38px;
  padding:8px 12px;
  border:1px solid #ddd4c7;
  border-radius:9px;
  background:#fff;
  color:var(--account-primary);
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.change-time:hover{
  border-color:var(--account-accent);
}
.change-time.active{
  border-color:var(--account-accent);
  background:var(--account-primary);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.change-status{
  align-self:center;
  color:var(--muted);
  font-size:10px;
}
.change-status.error{color:var(--danger)}
.change-current{
  padding:12px;
  border:1px solid #e2dacd;
  border-radius:11px;
  background:#fffaf0;
}
.change-current span{
  display:block;
  color:#8c7449;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.change-current strong{
  display:block;
  margin-top:4px;
  color:var(--account-primary);
  font-size:11px;
}
.change-payment-note,
.change-contact-note{
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
}
#saveChange:disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media(max-width:520px){
  .change-times{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .change-time{width:100%}
}


.account-stat-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.waitlist-grid{
  grid-template-columns:1fr 1fr;
}
.waitlist-notes{
  width:100%;
  min-height:90px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--text);
  font:13px Arial,sans-serif;
  resize:vertical;
}
.waitlist-request{
  padding:13px 0;
  border-top:1px solid #ece4d8;
}
.waitlist-request:first-of-type{
  border-top:0;
  padding-top:0;
}
.waitlist-request-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.waitlist-request-top strong{
  display:block;
  color:var(--account-primary);
  font:700 13px Georgia,serif;
}
.waitlist-request-top p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}
.waitlist-request-notes{
  margin-top:8px;
  padding:9px 10px;
  border-radius:9px;
  background:#f7f2e8;
  color:#6c746f;
  font-size:9px;
  line-height:1.5;
}
.waitlist-offer{
  margin:10px 0;
  padding:10px;
  border:1px solid rgba(184,138,68,.35);
  border-radius:9px;
  background:#fff7e3;
  color:#775824;
  font-size:9px;
  line-height:1.5;
}
.account-badge.offered{
  background:#fff0c9;
  color:#806020;
}
.account-badge.waiting{
  background:#eef4f1;
  color:#45665a;
}
@media(max-width:820px){
  .waitlist-grid{
    grid-template-columns:1fr;
  }
}


.dining-preferences-card{
  max-width:880px;
  margin:16px auto 0;
}
.preference-textarea{
  width:100%;
  min-height:86px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--text);
  font:13px Arial,sans-serif;
  line-height:1.5;
  resize:vertical;
}
.preference-textarea:focus{
  outline:2px solid color-mix(in srgb,var(--account-accent) 24%,transparent);
  border-color:var(--account-accent);
}
.allergy-preference{
  min-height:96px;
  border-color:#d9b6a8;
}
.preference-warning{
  margin-top:6px;
  padding:9px 10px;
  border-radius:9px;
  background:#fff3ed;
  color:#8b4d38;
  font-size:9px;
  line-height:1.5;
}
.dining-preference-summary{
  padding:12px;
  border:1px solid rgba(184,138,68,.28);
  border-radius:11px;
  background:#fff9ed;
}
.dining-preference-summary strong{
  display:block;
  color:var(--account-primary);
  font:700 13px Georgia,serif;
}
.dining-preference-summary p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
}
.preference-mini-list{
  display:grid;
  gap:6px;
}
.preference-mini-list span{
  display:block;
  padding:8px 9px;
  border:1px solid #e4dccf;
  border-radius:9px;
  background:#fff;
  color:#5f6964;
  font-size:9px;
  line-height:1.45;
  overflow:hidden;
  text-overflow:ellipsis;
}


.rewards-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.reward-summary-card{
  padding:15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.reward-summary-card span{
  display:block;
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.reward-summary-card strong{
  display:block;
  margin-top:5px;
  color:var(--account-primary);
  font:700 29px Georgia,serif;
}
.rewards-grid{
  margin-top:14px;
}
.loyalty-program-list{
  display:grid;
  gap:10px;
}
.loyalty-program-card{
  padding:15px;
  border:1px solid #ded5c8;
  border-radius:14px;
  background:
    radial-gradient(circle at 94% 0,rgba(184,138,68,.07),transparent 28%),
    #fff;
}
.loyalty-program-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.loyalty-program-head span{
  display:block;
  color:#9a773d;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.loyalty-program-head strong{
  display:block;
  margin-top:3px;
  color:var(--account-primary);
  font:700 17px Georgia,serif;
}
.loyalty-program-head b{
  color:var(--account-primary);
  font:700 18px Georgia,serif;
  white-space:nowrap;
}
.loyalty-progress-track{
  height:8px;
  margin-top:14px;
  overflow:hidden;
  border-radius:999px;
  background:#ece5da;
}
.loyalty-progress-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--account-primary),var(--account-accent));
}
.loyalty-progress-copy{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-top:8px;
}
.loyalty-progress-copy strong{
  color:var(--account-primary);
  font-size:10px;
}
.loyalty-progress-copy span{
  color:var(--muted);
  font-size:9px;
  text-align:right;
}
.loyalty-program-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid #eee7dc;
  color:var(--muted);
  font-size:8px;
}
.reward-ready{
  padding:4px 7px;
  border-radius:999px;
  background:#fff0c8;
  color:#76581d;
  font-weight:800;
  text-transform:uppercase;
}
.reward-redemption-note{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(184,138,68,.35);
  border-radius:11px;
  background:#fff7e5;
}
.reward-redemption-note strong{
  display:block;
  color:#77571d;
  font:700 13px Georgia,serif;
}
.reward-redemption-note p{
  margin:5px 0 0;
  color:#786b54;
  font-size:9px;
  line-height:1.5;
}
.loyalty-activity-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 0;
  border-top:1px solid #ece4d8;
}
.loyalty-activity-row:first-of-type{
  border-top:0;
}
.loyalty-activity-row strong{
  display:block;
  color:var(--account-primary);
  font-size:10px;
}
.loyalty-activity-row p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:8px;
  line-height:1.4;
}
.loyalty-points{
  flex:0 0 auto;
  min-width:46px;
  padding:6px 8px;
  border-radius:8px;
  text-align:center;
  font-size:10px;
  font-weight:800;
}
.loyalty-points.positive{
  background:#eaf5ef;
  color:#286047;
}
.loyalty-points.negative{
  background:#fbeaea;
  color:#913535;
}
.feedback-visit{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 0;
  border-top:1px solid #ece4d8;
}
.feedback-visit:first-of-type{border-top:0}
.feedback-visit strong{
  display:block;
  color:var(--account-primary);
  font-size:11px;
}
.feedback-visit p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:8px;
}
.feedback-history{
  padding:12px 0;
  border-top:1px solid #ece4d8;
}
.feedback-history:first-of-type{border-top:0}
.feedback-history > strong{
  display:block;
  margin-top:4px;
  color:var(--account-primary);
  font-size:11px;
}
.feedback-history > p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:8px;
}
.feedback-stars{
  color:#b7893f;
  font-size:14px;
  letter-spacing:.03em;
}
.feedback-stars span{color:#d5d0c7}
.feedback-history blockquote{
  margin:9px 0;
  padding:9px 10px;
  border-left:3px solid var(--account-accent);
  background:#faf6ee;
  color:#65706b;
  font-size:9px;
  line-height:1.5;
}
.feedback-form-card{
  max-width:760px;
  margin:0 auto;
}
.feedback-label{
  display:block;
  color:var(--account-primary);
  font-size:10px;
  font-weight:800;
}
.feedback-rating-picker{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:7px;
}
.feedback-rating-picker label{
  margin:0;
  cursor:pointer;
}
.feedback-rating-picker input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.feedback-rating-picker span{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  color:#707874;
}
.feedback-rating-picker b{
  font-size:12px;
}
.feedback-rating-picker em{
  color:#b7893f;
  font-size:18px;
  font-style:normal;
}
.feedback-rating-picker input:checked + span{
  border-color:var(--account-accent);
  background:var(--account-primary);
  color:#fff;
}
.feedback-rating-picker input:checked + span em{
  color:#e4be73;
}
.feedback-comment{
  width:100%;
  min-height:140px;
  margin-top:7px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--text);
  font:13px Arial,sans-serif;
  line-height:1.5;
  resize:vertical;
}
.feedback-comment:focus{
  outline:2px solid color-mix(in srgb,var(--account-accent) 24%,transparent);
  border-color:var(--account-accent);
}
.feedback-privacy-note{
  margin-top:8px;
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}
.reward-dashboard-alert{
  margin-top:10px;
  padding:9px 10px;
  border:1px solid rgba(184,138,68,.28);
  border-radius:9px;
  background:#fff8e8;
  color:#755b2b;
  font-size:9px;
  line-height:1.45;
}
@media(max-width:700px){
  .rewards-summary{
    grid-template-columns:1fr 1fr 1fr;
  }
  .reward-summary-card{
    padding:11px;
  }
  .reward-summary-card strong{
    font-size:23px;
  }
}
@media(max-width:520px){
  .rewards-summary{
    grid-template-columns:1fr;
  }
  .feedback-visit{
    align-items:flex-start;
    flex-direction:column;
  }
  .feedback-visit .account-btn{
    width:100%;
  }
  .feedback-rating-picker{
    gap:5px;
  }
  .feedback-rating-picker span{
    min-height:52px;
    flex-direction:column;
  }
  .loyalty-progress-copy{
    flex-direction:column;
  }
  .loyalty-progress-copy span{
    text-align:left;
  }
}


.discover-toolbar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:13px;
}
.discover-toolbar a{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--account-primary);
  text-decoration:none;
  font-size:10px;
  font-weight:800;
}
.discover-toolbar a b{
  min-width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#f0eadf;
  color:#8d6b34;
  font-size:8px;
}
.discover-toolbar .discover-book-main{
  margin-left:auto;
  border-color:var(--account-accent);
  background:var(--account-primary);
  color:#fff;
}
.discover-section{
  margin-top:14px;
}
.discover-event-grid{
  display:grid;
  gap:10px;
}
.discover-event-card{
  display:grid;
  grid-template-columns:84px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:14px;
  border:1px solid #ddd4c6;
  border-radius:14px;
  background:
    radial-gradient(circle at 95% 0,rgba(184,138,68,.06),transparent 30%),
    #fff;
}
.discover-event-date{
  min-height:78px;
  display:grid;
  place-items:center;
  align-content:center;
  border:1px solid rgba(184,138,68,.30);
  border-radius:12px;
  background:#fbf6eb;
  text-align:center;
}
.discover-event-date b{
  display:block;
  color:var(--account-primary);
  font:700 28px Georgia,serif;
  line-height:1;
}
.discover-event-date span{
  display:block;
  margin-top:3px;
  color:#956f34;
  font-size:8px;
  font-weight:800;
  letter-spacing:.10em;
}
.discover-event-copy{
  min-width:0;
}
.discover-kicker{
  display:block;
  color:#9a7639;
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.discover-event-copy h3,
.discover-offer-card h3{
  margin:4px 0 0;
  color:var(--account-primary);
  font:700 17px Georgia,serif;
}
.discover-event-copy p,
.discover-offer-card p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
}
.discover-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}
.discover-meta span{
  padding:4px 6px;
  border-radius:7px;
  background:#f5f0e7;
  color:#68716d;
  font-size:8px;
  font-weight:700;
}
.discover-offer-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.discover-offer-card{
  padding:16px;
  border:1px solid rgba(184,138,68,.30);
  border-radius:14px;
  background:
    radial-gradient(circle at 91% 0,rgba(218,184,112,.10),transparent 28%),
    #fff;
}
.discover-offer-foot{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding-top:11px;
  border-top:1px solid #ece4d8;
}
.discover-offer-foot > div{
  min-width:0;
}
.discover-offer-code{
  display:inline-flex;
  padding:5px 8px;
  border:1px dashed var(--account-accent);
  border-radius:7px;
  color:#85642d;
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
}
.discover-offer-foot small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:8px;
}
@media(max-width:720px){
  .discover-event-card{
    grid-template-columns:66px minmax(0,1fr);
  }
  .discover-event-action{
    grid-column:1/-1;
  }
  .discover-event-action .account-btn{
    width:100%;
  }
  .discover-offer-grid{
    grid-template-columns:1fr;
  }
  .discover-toolbar .discover-book-main{
    margin-left:0;
  }
}
@media(max-width:480px){
  .discover-offer-foot{
    align-items:stretch;
    flex-direction:column;
  }
  .discover-offer-foot .account-btn{
    width:100%;
  }
}


.wallet-section,
.messages-section{
  margin-top:14px;
}
.wallet-list{
  display:grid;
  gap:11px;
}
.wallet-pass{
  display:grid;
  grid-template-columns:76px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  padding:15px;
  border:1px solid #ddd5c8;
  border-radius:15px;
  background:
    radial-gradient(circle at 96% 0,rgba(184,138,68,.06),transparent 30%),
    #fff;
}
.wallet-pass-date{
  min-height:86px;
  display:grid;
  place-items:center;
  align-content:center;
  border:1px solid rgba(184,138,68,.30);
  border-radius:13px;
  background:#fbf6eb;
  text-align:center;
}
.wallet-pass-date span{
  color:#936e34;
  font-size:8px;
  font-weight:900;
  letter-spacing:.10em;
}
.wallet-pass-date b{
  margin-top:2px;
  color:var(--account-primary);
  font:700 29px Georgia,serif;
  line-height:1;
}
.wallet-pass-date small{
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
  font-weight:800;
}
.wallet-venue{
  display:block;
  color:#9a7639;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.wallet-pass-main h3{
  margin:4px 0 0;
  color:var(--account-primary);
  font:700 18px Georgia,serif;
}
.wallet-reference{
  margin-top:7px;
  color:var(--muted);
  font-size:9px;
}
.wallet-reference strong{
  color:var(--account-primary);
  letter-spacing:.05em;
}
.wallet-pass-meta{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:9px;
}
.wallet-pass-meta > span:not(.account-badge){
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 7px;
  border-radius:999px;
  background:#f1ece3;
  color:#68716d;
  font-size:8px;
  font-weight:800;
}
.wallet-payment.paid{
  background:#eaf5ef!important;
  color:#286047!important;
}
.wallet-payment.pending{
  background:#fff3d7!important;
  color:#7d5d21!important;
}
.wallet-pass-actions{
  min-width:132px;
  display:grid;
  gap:7px;
}
.message-list{
  display:grid;
}
.message-row{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px 0;
  border-top:1px solid #ece4d8;
}
.message-row:first-of-type{
  border-top:0;
}
.message-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #ded6c9;
  border-radius:11px;
  background:#fff;
  color:var(--account-primary);
  font-size:10px;
  font-weight:900;
}
.message-venue{
  display:block;
  color:#99753a;
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.message-main strong{
  display:block;
  margin-top:3px;
  color:var(--account-primary);
  font:700 13px Georgia,serif;
}
.message-main p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8px;
}
.message-side{
  display:grid;
  justify-items:end;
  gap:6px;
}
.message-side a{
  color:var(--account-primary);
  font-size:8px;
  font-weight:800;
  text-decoration:none;
}
.message-status{
  display:inline-flex;
  min-height:23px;
  align-items:center;
  padding:4px 7px;
  border-radius:999px;
  font-size:8px;
  font-weight:800;
}
.message-status.sent{
  background:#eaf5ef;
  color:#286047;
}
.message-status.failed{
  background:#fbeaea;
  color:#913535;
}
.messages-note{
  margin-top:14px;
  padding:10px 11px;
  border:1px solid #e4dccf;
  border-radius:10px;
  background:#faf6ee;
  color:var(--muted);
  font-size:9px;
  line-height:1.5;
}
@media(max-width:820px){
  .account-nav{
    max-width:68vw;
    overflow-x:auto;
    justify-content:flex-start;
    scrollbar-width:none;
  }
  .account-nav::-webkit-scrollbar{display:none}
  .account-nav a{flex:0 0 auto}
}
@media(max-width:650px){
  .wallet-pass{
    grid-template-columns:62px minmax(0,1fr);
  }
  .wallet-pass-actions{
    grid-column:1/-1;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .message-row{
    grid-template-columns:38px minmax(0,1fr);
  }
  .message-side{
    grid-column:2;
    justify-items:start;
    grid-auto-flow:column;
    justify-content:start;
  }
}
@media(max-width:480px){
  .wallet-pass-actions{
    grid-template-columns:1fr;
  }
  .wallet-pass-actions .account-btn{
    width:100%;
  }
}


.privacy-global-message{
  margin-top:14px;
}
.privacy-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:14px;
}
.privacy-stat-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.privacy-stat-grid > div{
  padding:11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.privacy-stat-grid span{
  display:block;
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.privacy-stat-grid strong{
  display:block;
  margin-top:4px;
  color:var(--account-primary);
  font:700 22px Georgia,serif;
}
.privacy-profile{
  margin-top:11px;
  padding:12px;
  border-radius:11px;
  background:#f8f3e9;
}
.privacy-profile > span{
  display:block;
  color:#94723a;
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.privacy-profile > strong{
  display:block;
  margin-top:4px;
  color:var(--account-primary);
  font:700 14px Georgia,serif;
}
.privacy-profile p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:9px;
}
.privacy-downloads{
  display:grid;
  gap:8px;
}
.privacy-download{
  display:grid;
  grid-template-columns:50px 1fr;
  align-items:center;
  gap:11px;
  padding:11px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  text-decoration:none;
}
.privacy-download > span{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--account-primary);
  color:#e5c27a;
  font-size:9px;
  font-weight:900;
}
.privacy-download strong{
  display:block;
  color:var(--account-primary);
  font-size:11px;
}
.privacy-download p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8px;
  line-height:1.45;
}
.privacy-note{
  margin-top:10px;
  color:var(--muted);
  font-size:8px;
  line-height:1.5;
}
.privacy-consent-row,
.privacy-dashboard-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 0;
  border-top:1px solid #ece4d8;
}
.privacy-consent-row:first-of-type,
.privacy-dashboard-row:first-of-type{
  border-top:0;
}
.privacy-consent-row span,
.privacy-dashboard-row span{
  color:#626d68;
  font-size:9px;
}
.privacy-consent-row strong,
.privacy-dashboard-row strong{
  padding:4px 7px;
  border-radius:999px;
  font-size:8px;
  text-transform:uppercase;
}
.privacy-consent-row strong.on{
  background:#eaf5ef;
  color:#286047;
}
.privacy-consent-row strong.off{
  background:#f1ece5;
  color:#747873;
}
.privacy-dashboard-row strong{
  background:#f1ece5;
  color:#5e6762;
}
.privacy-danger-card{
  border-color:#e4c1ba;
  background:#fffdfb;
}
.privacy-blocked{
  padding:13px;
  border:1px solid #ead7a9;
  border-radius:11px;
  background:#fff8e7;
}
.privacy-blocked strong{
  display:block;
  color:#7d5b1e;
  font:700 13px Georgia,serif;
}
.privacy-blocked p{
  margin:5px 0 12px;
  color:#76694f;
  font-size:9px;
  line-height:1.5;
}
.privacy-delete-info{
  padding:13px;
  border:1px solid #ead4ce;
  border-radius:11px;
  background:#fff7f4;
}
.privacy-delete-info strong{
  color:#8c3d32;
  font:700 13px Georgia,serif;
}
.privacy-delete-info ul{
  margin:8px 0 0;
  padding-left:18px;
  color:#745f5a;
  font-size:9px;
  line-height:1.6;
}
.privacy-delete-form{
  display:grid;
  gap:9px;
  margin-top:13px;
}
.privacy-delete-form label{
  color:#7d3c34;
  font-size:9px;
  font-weight:800;
}
.privacy-delete-form input{
  min-height:43px;
  padding:9px 10px;
  border:1px solid #dfc3bd;
  border-radius:9px;
  background:#fff;
  font-size:13px;
}
.privacy-delete-form .account-btn{
  justify-self:start;
  margin-top:3px;
}
.privacy-deleted-card{
  max-width:680px;
  margin:48px auto;
  padding:34px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  text-align:center;
}
.privacy-deleted-mark{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin:0 auto 15px;
  border-radius:50%;
  background:var(--account-primary);
  color:#e4c078;
  font-size:23px;
}
.privacy-deleted-card > span{
  color:#9a773b;
  font-size:8px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.privacy-deleted-card h1{
  margin:6px 0 0;
  color:var(--account-primary);
  font:700 31px Georgia,serif;
}
.privacy-deleted-card p{
  max-width:540px;
  margin:10px auto 18px;
  color:var(--muted);
  font-size:10px;
  line-height:1.6;
}
@media(max-width:820px){
  .privacy-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:520px){
  .privacy-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .privacy-delete-form .account-btn{
    width:100%;
  }
}


/* =========================================================
   CUSTOMER ACCOUNT LUXURY SHELL · V1.12.9
   Shared across every customer account page.
   ========================================================= */
:root{
  --account-forest:#103f35;
  --account-forest-deep:#082f29;
  --account-burgundy:#6d1e28;
  --account-cream:#f7f1e7;
  --account-paper:#fffdf9;
  --account-gold:#b88a44;
  --account-ink:#1c2823;
  --account-muted:#738078;
  --account-line:rgba(18,63,53,.11);
  --account-shadow:0 16px 42px rgba(8,47,41,.08);
}
html{
  background:
    radial-gradient(circle at 10% 0,rgba(184,138,68,.07),transparent 28%),
    #f4f0e8;
}
body{
  min-height:100vh;
  background:transparent!important;
  color:var(--account-ink);
}
.account-luxury-shell{
  width:min(1600px,100%);
  min-height:100vh;
  margin:0 auto;
}
.account-topbar{
  position:sticky;
  top:0;
  z-index:120;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:24px;
  min-height:78px;
  padding:12px clamp(16px,3vw,34px)!important;
  border-bottom:1px solid rgba(184,138,68,.18)!important;
  background:
    linear-gradient(100deg,rgba(8,47,41,.99),rgba(18,63,53,.98))!important;
  box-shadow:0 12px 28px rgba(8,47,41,.10);
  backdrop-filter:blur(16px);
}
.account-brand{
  min-width:max-content;
  display:flex!important;
  align-items:center;
  gap:10px;
  color:#fff!important;
}
.account-brand img{
  width:44px!important;
  height:44px!important;
  object-fit:contain;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  padding:4px;
}
.account-brand small{
  color:#d8b66f!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase;
}
.account-brand strong{
  margin-top:2px;
  color:#fff!important;
  font:600 19px/1.05 Georgia,"Times New Roman",serif!important;
  letter-spacing:.01em;
}
.account-nav{
  display:flex!important;
  justify-content:flex-end;
  align-items:center;
  gap:5px;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.account-nav::-webkit-scrollbar{display:none}
.account-nav a{
  flex:0 0 auto;
  min-height:38px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:8px 10px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  color:rgba(255,255,255,.72)!important;
  background:transparent!important;
  font-size:10px!important;
  font-weight:800!important;
  text-decoration:none;
  transition:.16s ease;
}
.account-nav a:hover{
  color:#fff!important;
  background:rgba(255,255,255,.07)!important;
}
.account-nav a.active{
  border-color:rgba(216,182,111,.42)!important;
  background:rgba(216,182,111,.12)!important;
  color:#f5d797!important;
  box-shadow:inset 0 0 0 1px rgba(216,182,111,.05);
}
.account-nav a:last-child{
  margin-left:3px;
  color:#f0c7cc!important;
}
.account-menu-toggle{
  display:none;
}
.account-main{
  width:min(1440px,calc(100% - 28px))!important;
  margin:0 auto!important;
  padding:clamp(22px,3vw,38px) 0 42px!important;
}
.account-hero{
  position:relative;
  overflow:hidden;
  margin-bottom:18px!important;
  padding:clamp(24px,4vw,38px)!important;
  border:1px solid rgba(184,138,68,.22)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 86% -10%,rgba(216,182,111,.18),transparent 31%),
    linear-gradient(145deg,#123f35,#082f29)!important;
  color:#fffaf0!important;
  box-shadow:0 20px 45px rgba(8,47,41,.12)!important;
}
.account-hero small{
  color:#d8b66f!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase;
}
.account-hero h1{
  margin:6px 0 0!important;
  color:#fff!important;
  font:600 clamp(31px,4vw,47px)/1.03 Georgia,"Times New Roman",serif!important;
}
.account-hero p{
  max-width:760px;
  margin:10px 0 0!important;
  color:rgba(255,255,255,.74)!important;
  font-size:12px!important;
  line-height:1.7!important;
}
.account-card{
  border:1px solid var(--account-line)!important;
  border-radius:18px!important;
  background:var(--account-paper)!important;
  box-shadow:var(--account-shadow)!important;
}
.account-card-head{
  padding-bottom:13px!important;
  border-bottom:1px solid rgba(18,63,53,.08);
}
.account-card-head h2,
.account-card > h2{
  color:var(--account-forest)!important;
  font:600 21px/1.15 Georgia,"Times New Roman",serif!important;
}
.account-card-head p{
  color:var(--account-muted)!important;
  font-size:11px!important;
  line-height:1.55!important;
}
.account-booking{
  border-color:rgba(18,63,53,.09)!important;
}
.account-date{
  border:1px solid rgba(184,138,68,.24)!important;
  background:#fbf7ef!important;
}
.account-date b{
  color:var(--account-forest)!important;
  font-family:Georgia,"Times New Roman",serif!important;
}
.account-btn{
  border-radius:10px!important;
  font-size:10px!important;
  font-weight:900!important;
}
.account-btn:not(.light):not(.gold){
  background:var(--account-forest)!important;
}
.account-stat-grid{
  gap:8px!important;
}
.account-stat{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(18,63,53,.10)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fff,#faf7f1)!important;
}
.account-stat strong{
  color:var(--account-forest)!important;
  font:600 24px Georgia,"Times New Roman",serif!important;
}
.account-stat span{
  color:#7b8781!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase;
}
.account-stat-link{
  display:block;
  color:inherit!important;
  text-decoration:none!important;
  transition:transform .15s ease,box-shadow .15s ease;
}
.account-stat-link:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(18,63,53,.08);
}
.account-stat-link small{
  display:block;
  margin-top:4px;
  color:var(--account-gold);
  font-size:9px;
  font-weight:900;
}
.account-voucher{
  border-color:rgba(18,63,53,.09)!important;
  border-radius:12px!important;
}
.account-empty{
  border-radius:12px!important;
  background:#faf7f0!important;
  color:var(--account-muted)!important;
}
.account-footer{
  width:min(1440px,calc(100% - 28px));
  display:flex!important;
  justify-content:space-between;
  gap:14px;
  margin:0 auto;
  padding:18px 0 28px!important;
  border-top:1px solid rgba(18,63,53,.10);
  color:#87938d!important;
  font-size:9px!important;
  letter-spacing:.04em;
}
@media(max-width:1180px){
  .account-topbar{
    grid-template-columns:1fr auto;
  }
  .account-menu-toggle{
    display:flex;
    align-items:center;
    gap:3px;
    min-height:40px;
    padding:0 11px;
    border:1px solid rgba(216,182,111,.30);
    border-radius:10px;
    background:rgba(255,255,255,.06);
    color:#fff;
    cursor:pointer;
  }
  .account-menu-toggle span{
    width:3px;
    height:3px;
    border-radius:50%;
    background:#d8b66f;
  }
  .account-menu-toggle b{
    margin-left:4px;
    font-size:10px;
  }
  .account-nav{
    position:absolute;
    left:14px;
    right:14px;
    top:70px;
    display:none!important;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
    max-height:calc(100vh - 90px);
    padding:10px;
    overflow:auto;
    border:1px solid rgba(184,138,68,.22);
    border-radius:15px;
    background:rgba(8,47,41,.985);
    box-shadow:0 24px 48px rgba(8,47,41,.26);
  }
  .account-nav.is-open{
    display:grid!important;
  }
  .account-nav a{
    justify-content:flex-start;
    min-height:42px;
    padding:9px 11px!important;
    border-color:rgba(255,255,255,.06)!important;
    background:rgba(255,255,255,.035)!important;
  }
  .account-nav a:last-child{
    margin-left:0;
  }
}
@media(max-width:760px){
  .account-topbar{
    min-height:66px;
    padding:9px 12px!important;
  }
  .account-brand img{
    width:38px!important;
    height:38px!important;
  }
  .account-brand strong{
    font-size:17px!important;
  }
  .account-nav{
    top:61px;
    grid-template-columns:1fr 1fr;
  }
  .account-main{
    width:min(100% - 18px,1440px)!important;
    padding:16px 0 28px!important;
  }
  .account-hero{
    padding:22px 18px!important;
    border-radius:17px!important;
  }
  .account-card{
    border-radius:15px!important;
  }
  .account-footer{
    width:calc(100% - 20px);
    flex-direction:column;
    padding-bottom:20px!important;
  }
}
@media(max-width:430px){
  .account-nav{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   CUSTOMER ACCOUNT LUXURY CANVAS V1.13.0
   Full shell + organised menu + premium dashboard hierarchy
   ============================================================ */

html{
  background:#eee8dc!important;
}

body.customer-account-page{
  margin:0!important;
  min-height:100vh!important;
  background:
    radial-gradient(circle at 8% 0,rgba(184,138,68,.09),transparent 26%),
    linear-gradient(180deg,#f6f1e8 0,#eee8dc 100%)!important;
  color:#1c2823!important;
}

.customer-canvas-shell{
  width:100%;
  min-height:100vh;
}

/* HEADER */
.customer-luxury-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  border-bottom:1px solid rgba(184,138,68,.18);
  background:rgba(251,248,241,.96);
  backdrop-filter:blur(18px);
  box-shadow:0 10px 32px rgba(18,63,53,.06);
}

.customer-header-inner{
  width:min(1500px,calc(100% - 48px));
  min-height:76px;
  margin:0 auto;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:26px;
  align-items:center;
}

.customer-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:11px!important;
  color:#123f35!important;
  text-decoration:none!important;
}

.customer-brand-logo{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(184,138,68,.25);
  border-radius:50%;
  background:#fff;
}

.customer-brand-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

.customer-brand-copy{
  display:grid;
  gap:2px;
}

.customer-brand-copy small{
  color:#9b6f2d!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

.customer-brand-copy strong{
  color:#123f35!important;
  font:600 22px/1 Georgia,"Times New Roman",serif!important;
}

.customer-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  min-width:0;
}

.customer-primary-nav{
  display:flex;
  align-items:center;
  gap:5px;
}

.customer-primary-nav a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:11px;
  color:#56635d;
  background:transparent;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
  transition:.16s ease;
}

.customer-primary-nav a:hover{
  color:#123f35;
  background:#f1ece3;
}

.customer-primary-nav a.active{
  border-color:#123f35;
  background:#123f35;
  color:#fff;
  box-shadow:0 7px 16px rgba(18,63,53,.16);
}

/* MENU BUTTON */
.customer-menu-wrap{
  position:relative;
}

.customer-menu-button{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid rgba(18,63,53,.14)!important;
  border-radius:11px!important;
  background:#fffdf9!important;
  color:#123f35!important;
  font:800 11px/1 Arial,Helvetica,sans-serif!important;
  cursor:pointer!important;
  box-shadow:0 6px 16px rgba(18,63,53,.06)!important;
}

.customer-menu-button:hover{
  border-color:rgba(184,138,68,.44)!important;
  background:#fbf7ee!important;
}

.customer-menu-icon{
  width:16px;
  display:grid;
  gap:3px;
}

.customer-menu-icon i{
  display:block;
  height:1.5px;
  border-radius:999px;
  background:#123f35;
}

.customer-menu-panel{
  position:absolute;
  top:52px;
  right:0;
  width:min(460px,calc(100vw - 28px));
  overflow:hidden;
  border:1px solid rgba(184,138,68,.26);
  border-radius:19px;
  background:#fffdf9;
  box-shadow:0 24px 60px rgba(8,47,41,.20);
  opacity:0;
  transform:translateY(-8px) scale(.98);
  transform-origin:top right;
  transition:opacity .18s ease,transform .18s ease;
}

.customer-menu-panel.is-open{
  opacity:1;
  transform:none;
}

.customer-menu-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:17px 18px;
  border-bottom:1px solid rgba(18,63,53,.09);
  background:
    radial-gradient(circle at 90% 0,rgba(216,182,111,.16),transparent 34%),
    linear-gradient(145deg,#123f35,#082f29);
  color:#fff;
}

.customer-menu-panel-head small{
  display:block;
  color:#d8b66f;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.customer-menu-panel-head strong{
  display:block;
  margin-top:3px;
  font:600 20px Georgia,"Times New Roman",serif;
}

.customer-menu-close{
  appearance:none;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.15);
  border-radius:9px;
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:20px;
  cursor:pointer;
}

.customer-menu-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:12px;
}

.customer-menu-item{
  min-height:45px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border:1px solid rgba(18,63,53,.08);
  border-radius:11px;
  background:#fff;
  color:#425149;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
  transition:.15s ease;
}

.customer-menu-item:hover{
  border-color:rgba(184,138,68,.28);
  background:#faf6ee;
  color:#123f35;
}

.customer-menu-item.active{
  border-color:rgba(18,63,53,.18);
  background:#eef4f1;
  color:#123f35;
}

.customer-menu-dot{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#b88a44;
}

.customer-menu-footer{
  padding:11px 12px 13px;
  border-top:1px solid rgba(18,63,53,.08);
}

.customer-signout{
  width:100%;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(109,30,40,.14);
  border-radius:10px;
  background:#fff8f8;
  color:#7a2732;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
}

.customer-menu-backdrop{
  position:fixed;
  inset:0;
  z-index:900;
  background:rgba(8,31,27,.18);
  opacity:0;
  transition:opacity .18s ease;
}

.customer-menu-backdrop.is-open{
  opacity:1;
}

body.customer-menu-open{
  overflow:hidden;
}

/* MAIN CANVAS */
.account-main{
  width:min(1380px,calc(100% - 40px))!important;
  margin:0 auto!important;
  padding:28px 0 42px!important;
}

.account-hero{
  margin-bottom:18px!important;
  padding:32px 34px!important;
  border:1px solid rgba(184,138,68,.22)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 89% -20%,rgba(216,182,111,.19),transparent 34%),
    linear-gradient(145deg,#0d604e,#103f35 54%,#0b332c)!important;
  box-shadow:0 22px 54px rgba(8,47,41,.14)!important;
}

.account-hero h1{
  color:#fff!important;
  font:600 clamp(36px,4.5vw,54px)/1.02 Georgia,"Times New Roman",serif!important;
}

.account-hero small{
  color:#f0c66f!important;
}

.account-hero p{
  color:rgba(255,255,255,.78)!important;
  font-size:12px!important;
}

.account-dashboard-canvas{
  padding:18px;
  border:1px solid rgba(18,63,53,.09);
  border-radius:24px;
  background:rgba(255,253,249,.72);
  box-shadow:
    0 28px 70px rgba(54,43,26,.07),
    inset 0 1px 0 rgba(255,255,255,.8);
}

.account-dashboard-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  padding:2px 3px 17px;
}

.account-dashboard-heading small{
  display:block;
  color:#9b6f2d;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.account-dashboard-heading h2{
  margin:5px 0 0;
  color:#123f35;
  font:600 25px/1.1 Georgia,"Times New Roman",serif;
}

.account-dashboard-heading p{
  margin:5px 0 0;
  color:#738078;
  font-size:11px;
}

.account-grid{
  gap:16px!important;
}

.account-stack{
  gap:16px!important;
}

.account-card{
  overflow:hidden;
  border:1px solid rgba(18,63,53,.10)!important;
  border-radius:17px!important;
  background:#fffdf9!important;
  box-shadow:0 12px 30px rgba(18,63,53,.05)!important;
}

.account-card-head{
  margin-bottom:0!important;
  padding-bottom:14px!important;
  border-bottom:1px solid rgba(18,63,53,.08)!important;
}

.account-card-head h2,
.account-card > h2{
  color:#123f35!important;
  font:600 22px/1.12 Georgia,"Times New Roman",serif!important;
}

.account-booking{
  padding:14px 0!important;
}

.account-booking:last-child{
  border-bottom:0!important;
}

.account-date{
  border-radius:12px!important;
  background:#fbf7ef!important;
}

.account-btn{
  min-height:38px!important;
  border-radius:10px!important;
  font-size:10px!important;
  font-weight:900!important;
}

.account-stat-grid{
  gap:9px!important;
}

.account-stat{
  min-height:80px!important;
  padding:13px!important;
  border:1px solid rgba(18,63,53,.11)!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#fff,#faf7f1)!important;
}

.account-stat strong{
  color:#0d604e!important;
}

.account-voucher{
  border-radius:12px!important;
}

.account-footer{
  width:min(1380px,calc(100% - 40px))!important;
  display:flex!important;
  justify-content:space-between!important;
  margin:0 auto!important;
  padding:20px 0 28px!important;
  border-top:1px solid rgba(18,63,53,.10)!important;
  color:#87938d!important;
  font-size:9px!important;
}

/* TABLET */
@media(max-width:980px){
  .customer-primary-nav{
    display:none;
  }

  .customer-header-inner{
    width:calc(100% - 26px);
  }

  .account-main{
    width:calc(100% - 24px)!important;
  }

  .account-footer{
    width:calc(100% - 24px)!important;
  }
}

/* MOBILE */
@media(max-width:680px){
  .customer-header-inner{
    width:calc(100% - 20px);
    min-height:66px;
    gap:12px;
  }

  .customer-brand-copy strong{
    font-size:18px!important;
  }

  .customer-brand-copy small{
    font-size:7px!important;
  }

  .customer-brand-logo{
    width:36px;
    height:36px;
  }

  .customer-menu-button{
    min-height:38px!important;
    padding:0 11px!important;
  }

  .customer-menu-panel{
    position:fixed;
    left:10px;
    right:10px;
    top:74px;
    width:auto;
    max-height:calc(100vh - 86px);
    overflow:auto;
    transform:translateY(-5px) scale(.99);
  }

  .customer-menu-grid{
    grid-template-columns:1fr;
  }

  .account-main{
    width:calc(100% - 18px)!important;
    padding:14px 0 28px!important;
  }

  .account-hero{
    padding:23px 19px!important;
    border-radius:17px!important;
  }

  .account-hero h1{
    font-size:38px!important;
  }

  .account-dashboard-canvas{
    padding:10px;
    border-radius:18px;
  }

  .account-dashboard-heading{
    padding:5px 4px 13px;
  }

  .account-dashboard-heading h2{
    font-size:21px;
  }

  .account-footer{
    width:calc(100% - 20px)!important;
    flex-direction:column!important;
    gap:5px!important;
  }
}

@media(max-width:430px){
  .customer-menu-button span:last-child{
    display:none;
  }

  .customer-menu-button{
    width:40px!important;
    padding:0 11px!important;
  }
}


/* ============================================================
   CUSTOMER CLEAN LUXURY V1.13.1
   Simplified and organised account presentation
   ============================================================ */

body.customer-account-page{
  background:#f3eee5!important;
}

/* HEADER: flatter, cleaner, no visual competition */
.customer-luxury-header{
  border-bottom:1px solid rgba(18,63,53,.09)!important;
  background:rgba(255,253,249,.985)!important;
  box-shadow:0 4px 18px rgba(18,63,53,.045)!important;
}

.customer-header-inner{
  width:min(1360px,calc(100% - 40px))!important;
  min-height:70px!important;
  gap:18px!important;
}

.customer-brand{
  gap:10px!important;
}

.customer-brand-copy small{
  font-size:8px!important;
  letter-spacing:.13em!important;
}

.customer-brand-copy strong{
  font-size:20px!important;
}

.customer-brand-copy em{
  display:block;
  margin-top:3px;
  color:#78857e;
  font-size:8px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.02em;
}

.customer-primary-nav{
  gap:4px!important;
}

.customer-primary-nav a{
  min-height:36px!important;
  padding:0 11px!important;
  border-radius:9px!important;
  font-size:10px!important;
}

.customer-menu-button{
  min-height:38px!important;
  padding:0 12px!important;
  border-radius:9px!important;
  box-shadow:none!important;
}

/* MENU PANEL: more structured */
.customer-menu-panel{
  top:47px!important;
  width:min(420px,calc(100vw - 24px))!important;
  border-radius:16px!important;
  box-shadow:0 22px 52px rgba(8,47,41,.18)!important;
}

.customer-menu-panel-head{
  padding:15px 16px!important;
}

.customer-menu-panel-head strong{
  font-size:18px!important;
}

.customer-menu-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
  padding:10px!important;
}

.customer-menu-item{
  min-height:42px!important;
  padding:8px 10px!important;
  border-radius:9px!important;
  font-size:10px!important;
}

.customer-menu-dot{
  width:6px!important;
  height:6px!important;
  flex-basis:6px!important;
}

/* MAIN: more breathing room and alignment */
.account-main{
  width:min(1220px,calc(100% - 32px))!important;
  padding:24px 0 36px!important;
}

.account-hero{
  margin-bottom:14px!important;
  padding:27px 28px!important;
  border-radius:18px!important;
  box-shadow:0 16px 38px rgba(8,47,41,.10)!important;
}

.account-hero h1{
  font-size:clamp(34px,4vw,48px)!important;
}

.account-hero p{
  max-width:650px!important;
  font-size:11px!important;
}

/* Make one clear account canvas, not many floating boxes */
.account-dashboard-canvas{
  padding:14px!important;
  border-radius:19px!important;
  border:1px solid rgba(18,63,53,.08)!important;
  background:#f8f4ec!important;
  box-shadow:none!important;
}

.account-dashboard-heading{
  padding:3px 4px 13px!important;
}

.account-dashboard-heading h2{
  font-size:22px!important;
}

.account-dashboard-heading p{
  font-size:10px!important;
}

/* Control the actual grid proportions */
.account-grid{
  grid-template-columns:minmax(0,1.55fr) minmax(310px,.72fr)!important;
  gap:13px!important;
  align-items:start!important;
}

.account-stack{
  gap:13px!important;
}

/* Cards */
.account-card{
  border-radius:14px!important;
  box-shadow:none!important;
  background:#fffdf9!important;
}

.account-card-head{
  padding-bottom:11px!important;
}

.account-card-head h2,
.account-card > h2{
  font-size:19px!important;
}

.account-card-head p{
  font-size:10px!important;
}

/* Booking rows */
.account-booking{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr) auto!important;
  gap:14px!important;
  align-items:center!important;
  padding:13px 0!important;
}

.account-date{
  width:72px!important;
  min-height:62px!important;
  border-radius:10px!important;
}

.account-date b{
  font-size:20px!important;
}

.account-date span{
  font-size:8px!important;
}

.account-booking-main strong{
  font-size:12px!important;
}

.account-booking-main p{
  margin-top:4px!important;
  font-size:10px!important;
}

.account-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:6px!important;
}

.account-btn{
  min-height:34px!important;
  padding:0 10px!important;
  border-radius:8px!important;
  font-size:9px!important;
}

/* Stats become calmer */
.account-stat-grid{
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
}

.account-stat{
  min-height:70px!important;
  padding:11px!important;
  border-radius:10px!important;
  box-shadow:none!important;
}

.account-stat strong{
  font-size:22px!important;
}

.account-stat span{
  font-size:8px!important;
}

/* Wallet / secondary right column */
.account-voucher{
  padding:11px!important;
  border-radius:10px!important;
}

.account-empty{
  padding:18px!important;
  border-radius:10px!important;
}

/* Footer */
.account-footer{
  width:min(1220px,calc(100% - 32px))!important;
  padding:16px 0 22px!important;
  font-size:8px!important;
}

/* TABLET */
@media(max-width:980px){
  .customer-header-inner{
    width:calc(100% - 24px)!important;
  }

  .customer-brand-copy em{
    display:none;
  }

  .account-main{
    width:calc(100% - 22px)!important;
  }

  .account-grid{
    grid-template-columns:1fr!important;
  }

  .account-footer{
    width:calc(100% - 22px)!important;
  }
}

/* MOBILE */
@media(max-width:680px){
  .customer-header-inner{
    min-height:62px!important;
  }

  .customer-primary-nav{
    display:none!important;
  }

  .customer-brand-logo{
    width:34px!important;
    height:34px!important;
  }

  .customer-brand-copy strong{
    font-size:17px!important;
  }

  .customer-menu-panel{
    top:68px!important;
    left:8px!important;
    right:8px!important;
    width:auto!important;
  }

  .customer-menu-grid{
    grid-template-columns:1fr!important;
  }

  .account-main{
    width:calc(100% - 14px)!important;
    padding:10px 0 24px!important;
  }

  .account-hero{
    padding:20px 16px!important;
    border-radius:14px!important;
  }

  .account-hero h1{
    font-size:34px!important;
  }

  .account-dashboard-canvas{
    padding:7px!important;
    border-radius:14px!important;
  }

  .account-dashboard-heading{
    padding:6px 5px 10px!important;
  }

  .account-booking{
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:10px!important;
  }

  .account-date{
    width:56px!important;
    min-height:56px!important;
  }

  .account-actions{
    grid-column:1/-1!important;
    justify-content:flex-start!important;
    padding-left:68px!important;
  }

  .account-stat-grid{
    grid-template-columns:1fr 1fr!important;
  }

  .account-footer{
    width:calc(100% - 16px)!important;
  }
}

@media(max-width:420px){
  .account-actions{
    padding-left:0!important;
  }
}


/* ============================================================
   LA GLORIA SIGNATURE LUXURY · V1.13.2
   Editorial guest experience, not software dashboard
   ============================================================ */

:root{
  --signature-forest:#0b4b3d;
  --signature-deep:#082f29;
  --signature-gold:#c9a15d;
  --signature-gold-soft:#e2c68f;
  --signature-burgundy:#7a2531;
  --signature-ivory:#fbf7ef;
  --signature-canvas:#eee7da;
}

/* BRAND HEADER */
.customer-luxury-header{
  background:
    linear-gradient(90deg,rgba(255,253,249,.985),rgba(250,245,236,.985))!important;
}

.customer-brand{
  position:relative;
}

.customer-brand-seal{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  margin-left:4px;
  border:1px solid rgba(184,138,68,.28);
  border-radius:50%;
  color:#9c7538;
  font:600 10px Georgia,"Times New Roman",serif;
  letter-spacing:.04em;
  background:rgba(255,255,255,.72);
}

.customer-menu-button{
  border-color:rgba(184,138,68,.28)!important;
  background:linear-gradient(180deg,#fffdf9,#faf5ec)!important;
}

.customer-menu-panel{
  border-color:rgba(184,138,68,.34)!important;
}

.customer-menu-panel-head{
  background:
    radial-gradient(circle at 85% 0,rgba(211,172,97,.22),transparent 34%),
    linear-gradient(145deg,#0a4a3c,#082f29)!important;
}

/* SIGNATURE HERO */
.account-signature-hero{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(230px,.55fr)!important;
  gap:32px!important;
  align-items:center!important;
  overflow:hidden!important;
  min-height:280px!important;
  padding:38px 42px!important;
  border:1px solid rgba(201,161,93,.34)!important;
  background:
    radial-gradient(circle at 82% 5%,rgba(220,180,105,.19),transparent 24%),
    radial-gradient(circle at 105% 115%,rgba(120,31,42,.17),transparent 36%),
    linear-gradient(135deg,#0b5948 0%,#103f35 58%,#092f29 100%)!important;
  box-shadow:
    0 28px 66px rgba(8,47,41,.17),
    inset 0 1px 0 rgba(255,255,255,.06)!important;
}

.account-signature-hero:before{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(226,198,143,.13);
  border-radius:15px;
  pointer-events:none;
}

.account-signature-copy{
  position:relative;
  z-index:2;
}

.account-signature-chip{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  margin-bottom:18px;
  padding:5px 10px;
  border:1px solid rgba(226,198,143,.25);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#efd79f;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.account-signature-hero small:not(.account-signature-mark small){
  color:#e7c779!important;
}

.account-signature-hero h1{
  margin:5px 0 0!important;
  font-size:clamp(46px,5vw,70px)!important;
  letter-spacing:-.025em!important;
}

.account-signature-hero p{
  max-width:650px!important;
  margin-top:12px!important;
  color:rgba(255,255,255,.76)!important;
  font-size:12px!important;
  line-height:1.7!important;
}

.account-signature-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:22px;
}

.account-signature-primary,
.account-signature-secondary{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 15px;
  border-radius:10px;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
}

.account-signature-primary{
  border:1px solid rgba(232,204,145,.60);
  background:#f0d797;
  color:#123f35;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.account-signature-secondary{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.07);
  color:#fff;
}

.account-signature-mark{
  position:relative;
  z-index:2;
  width:210px;
  height:210px;
  justify-self:end;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(226,198,143,.24);
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(255,255,255,.07),rgba(255,255,255,.015) 66%,transparent 67%);
  box-shadow:
    inset 0 0 0 12px rgba(255,255,255,.018),
    inset 0 0 0 13px rgba(226,198,143,.09);
}

.account-signature-mark:before,
.account-signature-mark:after{
  content:"";
  position:absolute;
  width:54px;
  height:1px;
  background:rgba(226,198,143,.42);
}

.account-signature-mark:before{
  top:49px;
}

.account-signature-mark:after{
  bottom:49px;
}

.account-signature-mark span{
  color:#f0d797;
  font:500 58px/1 Georgia,"Times New Roman",serif;
  letter-spacing:-.06em;
}

.account-signature-mark small{
  margin-top:10px;
  color:rgba(255,255,255,.58);
  font-size:7px;
  font-weight:900;
  letter-spacing:.20em;
  text-transform:uppercase;
}

/* EDITORIAL ACCOUNT CANVAS */
.account-dashboard-canvas{
  position:relative;
  padding:22px!important;
  border:1px solid rgba(201,161,93,.15)!important;
  background:
    linear-gradient(180deg,rgba(255,253,249,.92),rgba(250,246,237,.92))!important;
  box-shadow:
    0 30px 70px rgba(77,54,26,.065)!important;
}

.account-dashboard-heading{
  padding:4px 5px 20px!important;
}

.account-dashboard-heading small{
  color:#a57734!important;
  letter-spacing:.15em!important;
}

.account-dashboard-heading h2{
  margin-top:6px!important;
  color:#103f35!important;
  font-size:28px!important;
  letter-spacing:-.01em!important;
}

.account-dashboard-heading p{
  margin-top:6px!important;
  color:#77837c!important;
}

/* CARDS FEEL LIKE LUXURY STATIONERY */
.account-card{
  position:relative;
  border-color:rgba(18,63,53,.09)!important;
  background:
    linear-gradient(180deg,#fffefa,#fbf8f1)!important;
}

.account-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:linear-gradient(180deg,rgba(201,161,93,.65),rgba(201,161,93,0));
  opacity:.45;
}

.account-card-head h2,
.account-card > h2{
  font-size:20px!important;
  letter-spacing:-.01em!important;
}

.account-card-head p{
  color:#7d8983!important;
}

/* NEXT BOOKING ROWS */
.account-booking{
  transition:background .14s ease,transform .14s ease;
}

.account-booking:hover{
  background:rgba(247,241,231,.55);
}

.account-date{
  border-color:rgba(201,161,93,.26)!important;
  background:
    linear-gradient(180deg,#fff,#fbf6ec)!important;
}

.account-date b{
  color:#0b5948!important;
}

.account-badge{
  letter-spacing:.04em!important;
}

/* METRICS */
.account-stat{
  border-color:rgba(201,161,93,.18)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(201,161,93,.08),transparent 38%),
    linear-gradient(180deg,#fff,#faf6ee)!important;
}

.account-stat strong{
  color:#0c5847!important;
}

.account-stat-link small{
  color:#a57734!important;
}

/* SMALL GOLD RULE */
.account-card-head:after{
  content:"";
  display:block;
  width:38px;
  height:1px;
  margin-top:12px;
  background:#c9a15d;
  opacity:.65;
}

/* FOOTER */
.account-footer{
  border-top-color:rgba(201,161,93,.18)!important;
  color:#7f8b84!important;
}

/* TABLET */
@media(max-width:980px){
  .account-signature-hero{
    grid-template-columns:1fr minmax(180px,.42fr)!important;
    padding:30px!important;
  }

  .account-signature-mark{
    width:175px;
    height:175px;
  }
}

/* MOBILE */
@media(max-width:680px){
  .customer-brand-seal{
    display:none;
  }

  .account-signature-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:24px 19px!important;
  }

  .account-signature-mark{
    display:none;
  }

  .account-signature-chip{
    margin-bottom:12px;
  }

  .account-signature-hero h1{
    font-size:42px!important;
  }

  .account-signature-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
  }

  .account-signature-primary,
  .account-signature-secondary{
    width:100%;
    padding:0 10px;
  }

  .account-dashboard-canvas{
    padding:9px!important;
  }

  .account-dashboard-heading{
    padding:7px 6px 13px!important;
  }

  .account-dashboard-heading h2{
    font-size:22px!important;
  }
}

@media(max-width:420px){
  .account-signature-actions{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   RESERVATION TABS + 3-BOX LUXURY GRID · V1.13.3
   ============================================================ */

.account-reservation-tabs{
  overflow:hidden;
  border:1px solid rgba(18,63,53,.10);
  border-radius:18px;
  background:#fffdf9;
  box-shadow:0 16px 40px rgba(18,63,53,.055);
}

.account-reservation-tabs-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px 17px;
  border-bottom:1px solid rgba(18,63,53,.08);
}

.account-reservation-tabs-head small,
.account-module-heading small,
.account-module-card > small{
  display:block;
  color:#a57734;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.account-reservation-tabs-head h3,
.account-module-heading h3{
  margin:5px 0 0;
  color:#123f35;
  font:600 24px/1.08 Georgia,"Times New Roman",serif;
}

.account-reservation-tabs-head p,
.account-module-heading p{
  margin:5px 0 0;
  color:#7a8780;
  font-size:10px;
  line-height:1.55;
}

.account-tabs-book{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border:1px solid #123f35;
  border-radius:9px;
  background:#123f35;
  color:#fff;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}

.account-tab-switcher{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  padding:0 22px;
  border-bottom:1px solid rgba(18,63,53,.08);
  background:#faf7f0;
}

.account-tab-button{
  appearance:none;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:#748179;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}

.account-tab-button b{
  min-width:23px;
  height:23px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 6px;
  border-radius:999px;
  background:#ece6db;
  color:#6d756f;
  font-size:9px;
}

.account-tab-button.active{
  border-bottom-color:#b88a44;
  color:#123f35;
}

.account-tab-button.active b{
  background:#123f35;
  color:#fff;
}

.account-tab-panel{
  padding:6px 22px 14px;
}

.account-tab-panel[hidden]{
  display:none!important;
}

.account-tab-empty{
  padding:34px 14px;
  text-align:center;
}

.account-tab-empty strong{
  display:block;
  color:#123f35;
  font:600 18px Georgia,"Times New Roman",serif;
}

.account-tab-empty span{
  display:block;
  margin-top:5px;
  color:#7b8781;
  font-size:10px;
}

.account-booking-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:6px;
  color:#8a958f;
  font-size:9px;
}

.account-pagination{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px;
  padding:13px 0 2px;
}

.account-pagination:empty{
  display:none;
}

.account-page-number,
.account-page-arrow{
  min-height:33px;
  min-width:33px;
  padding:0 9px;
  border:1px solid rgba(18,63,53,.11);
  border-radius:8px;
  background:#fff;
  color:#52625a;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}

.account-page-number.active{
  border-color:#123f35;
  background:#123f35;
  color:#fff;
}

.account-page-arrow:disabled{
  opacity:.35;
  cursor:default;
}

/* summary */
.account-overview-strip{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
  margin-top:13px;
}

.account-overview-strip > div{
  padding:13px 12px;
  border:1px solid rgba(18,63,53,.09);
  border-radius:12px;
  background:linear-gradient(180deg,#fffefa,#faf6ee);
  text-align:center;
}

.account-overview-strip small{
  display:block;
  color:#829089;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.account-overview-strip strong{
  display:block;
  margin-top:5px;
  color:#0b5948;
  font:600 21px Georgia,"Times New Roman",serif;
}

/* 3 cards per row */
.account-module-heading{
  padding:26px 4px 12px;
}

.account-module-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.account-module-card{
  position:relative;
  min-height:245px;
  display:flex;
  flex-direction:column;
  padding:20px;
  overflow:hidden;
  border:1px solid rgba(18,63,53,.10);
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0,rgba(184,138,68,.07),transparent 36%),
    linear-gradient(180deg,#fffefa,#faf7f0);
  box-shadow:0 13px 30px rgba(18,63,53,.045);
}

.account-module-card.featured{
  border-color:rgba(184,138,68,.28);
  background:
    radial-gradient(circle at 100% 0,rgba(184,138,68,.13),transparent 38%),
    linear-gradient(180deg,#fffdf8,#f8f0e2);
}

.account-module-number{
  position:absolute;
  right:15px;
  top:14px;
  color:rgba(18,63,53,.16);
  font:600 31px Georgia,"Times New Roman",serif;
}

.account-module-card h3{
  margin:7px 0 0;
  color:#123f35;
  font:600 20px/1.1 Georgia,"Times New Roman",serif;
}

.account-module-card > p{
  min-height:46px;
  margin:8px 0 0;
  color:#78847e;
  font-size:10px;
  line-height:1.55;
}

.account-module-preview{
  display:grid;
  gap:5px;
  margin:15px 0 17px;
}

.account-module-preview span{
  min-height:31px;
  display:flex;
  align-items:center;
  padding:6px 8px;
  border:1px solid rgba(18,63,53,.07);
  border-radius:8px;
  background:rgba(255,255,255,.70);
  color:#68766f;
  font-size:9px;
  line-height:1.4;
}

.account-module-preview b{
  color:#123f35;
}

.account-module-card > a{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:auto;
  border:1px solid rgba(18,63,53,.14);
  border-radius:9px;
  background:#fff;
  color:#123f35;
  font-size:9px;
  font-weight:900;
  text-decoration:none;
}

.account-module-card.featured > a{
  border-color:#123f35;
  background:#123f35;
  color:#fff;
}

@media(max-width:1050px){
  .account-module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .account-overview-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:680px){
  .account-reservation-tabs-head{
    align-items:flex-start;
    flex-direction:column;
    padding:16px;
  }

  .account-tabs-book{
    width:100%;
  }

  .account-tab-switcher{
    padding:0 10px;
  }

  .account-tab-button{
    min-height:52px;
    font-size:9px;
  }

  .account-tab-panel{
    padding:5px 12px 12px;
  }

  .account-overview-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .account-module-grid{
    grid-template-columns:1fr;
  }

  .account-module-card{
    min-height:0;
  }
}


/* ============================================================
   RESERVATION TAB COUNT + 5-PER-PAGE FIX · V1.13.3.1
   ============================================================ */

.account-tab-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:0 14px!important;
}

.account-tab-label{
  display:inline-block!important;
  white-space:nowrap!important;
}

.account-tab-count{
  min-width:26px!important;
  height:26px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 7px!important;
  border-radius:999px!important;
  background:#e9e2d6!important;
  color:#5f6d65!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1!important;
}

.account-tab-button.active .account-tab-count{
  background:#123f35!important;
  color:#fff!important;
}

/* Hard guarantee hidden paginated bookings do not render. */
.account-paged-item[hidden]{
  display:none!important;
}

.account-tab-panel[hidden]{
  display:none!important;
}

@media(max-width:560px){
  .account-tab-switcher{
    grid-template-columns:1fr!important;
    gap:0!important;
  }

  .account-tab-button{
    justify-content:space-between!important;
    min-height:48px!important;
    border-bottom:1px solid rgba(18,63,53,.08)!important;
  }

  .account-tab-button.active{
    border-left:3px solid #b88a44!important;
    border-bottom-color:rgba(18,63,53,.08)!important;
    background:#f6f1e8!important;
  }
}


/* ============================================================
   ITALIAN COLOUR RESERVATION TABS · V1.13.3.2
   Upcoming = forest green / sage
   History  = Italian red / blush
   ============================================================ */

.account-tab-upcoming{
  color:#184d3d!important;
}

.account-tab-history{
  color:#7b2831!important;
}

/* Inactive states */
.account-tab-upcoming{
  background:#edf4ef!important;
  border-bottom-color:rgba(24,77,61,.13)!important;
}

.account-tab-history{
  background:#f8eded!important;
  border-bottom-color:rgba(123,40,49,.13)!important;
}

/* Active button: Upcoming Reservations */
.account-tab-upcoming.active{
  border-bottom-color:#123f35!important;
  background:linear-gradient(180deg,#164f40,#0d3f34)!important;
  color:#fff!important;
  box-shadow:inset 0 -2px 0 rgba(255,255,255,.04);
}

.account-tab-upcoming.active .account-tab-count{
  background:#dcebe1!important;
  color:#123f35!important;
}

/* Active button: Dining History */
.account-tab-history.active{
  border-bottom-color:#7b2530!important;
  background:linear-gradient(180deg,#8a2c37,#6f202a)!important;
  color:#fff!important;
  box-shadow:inset 0 -2px 0 rgba(255,255,255,.04);
}

.account-tab-history.active .account-tab-count{
  background:#f3dfe1!important;
  color:#7a2732!important;
}

/* Page / panel colour states */
.account-panel-upcoming{
  background:
    linear-gradient(180deg,#edf5ef 0%,#f5f8f4 38%,#fffdf9 100%)!important;
  border-top:1px solid rgba(24,77,61,.10)!important;
}

.account-panel-history{
  background:
    linear-gradient(180deg,#f8ecee 0%,#fbf4f4 38%,#fffdf9 100%)!important;
  border-top:1px solid rgba(123,40,49,.10)!important;
}

/* Booking rows inherit a subtle colour tint */
.account-panel-upcoming .account-booking{
  border-bottom-color:rgba(24,77,61,.10)!important;
}

.account-panel-history .account-booking{
  border-bottom-color:rgba(123,40,49,.10)!important;
}

.account-panel-upcoming .account-date{
  border-color:rgba(24,77,61,.18)!important;
  background:#f5faf6!important;
}

.account-panel-history .account-date{
  border-color:rgba(123,40,49,.17)!important;
  background:#fff6f6!important;
}

.account-panel-history .account-date b{
  color:#7b2831!important;
}

.account-panel-upcoming .account-page-number.active{
  border-color:#123f35!important;
  background:#123f35!important;
  color:#fff!important;
}

.account-panel-history .account-page-number.active{
  border-color:#7b2530!important;
  background:#7b2530!important;
  color:#fff!important;
}

.account-panel-upcoming .account-page-arrow:hover:not(:disabled){
  border-color:#123f35!important;
  color:#123f35!important;
}

.account-panel-history .account-page-arrow:hover:not(:disabled){
  border-color:#7b2530!important;
  color:#7b2530!important;
}

@media(max-width:560px){
  .account-tab-upcoming.active{
    border-left:3px solid #d9b36d!important;
  }

  .account-tab-history.active{
    border-left:3px solid #d9b36d!important;
  }
}


/* SUMMARY METRICS DIRECTLY BELOW DINING HEADING · V1.13.3.3 */
.account-dashboard-heading + .account-overview-strip{
  margin-top:0!important;
  margin-bottom:14px!important;
}
.account-overview-strip + .account-reservation-tabs{
  margin-top:0!important;
}


/* ============================================================
   LA GLORIA RESPONSIVE LUXURY · V1.13.4
   Desktop · iPad · Tablet · Mobile
   ============================================================ */

:root{
  --lg-forest:#103f35;
  --lg-forest-dark:#082f29;
  --lg-red:#7b2530;
  --lg-red-dark:#621b24;
  --lg-gold:#c4a160;
  --lg-gold-soft:#e5cf9d;
  --lg-cream:#fbf7ef;
  --lg-canvas:#f1eadf;
  --lg-white:#fffdf9;
  --lg-text:#1c2823;
  --lg-muted:#748078;
  --lg-line:rgba(18,63,53,.10);
  --lg-shadow:0 18px 48px rgba(18,63,53,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.customer-account-page{min-width:320px;overflow-x:hidden}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
img{max-width:100%}

.customer-luxury-header{
  padding-top:env(safe-area-inset-top);
}

.customer-header-inner{
  width:min(1380px,calc(100% - 44px))!important;
  min-height:74px!important;
}

.customer-header-actions{min-width:0}
.customer-menu-button{min-width:88px!important}

.account-signature-hero{
  min-height:260px!important;
  border-radius:20px!important;
}

.account-signature-copy{min-width:0}
.account-signature-actions a{min-width:138px}

.account-main{
  width:min(1260px,calc(100% - 34px))!important;
}

.account-overview-strip{
  gap:9px!important;
}

.account-overview-strip>div{
  min-width:0;
  padding:14px 10px!important;
}

.account-overview-strip small{
  min-height:20px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.25!important;
}

.account-overview-strip strong{
  font-size:23px!important;
}

.account-reservation-tabs{
  border-radius:18px!important;
}

.account-reservation-tabs-head{
  gap:14px!important;
}

.account-tab-button{min-width:0}
.account-tab-label{overflow:hidden;text-overflow:ellipsis}
.account-tab-panel{overflow:hidden}
.account-booking{min-width:0}
.account-booking-main{min-width:0}
.account-booking-main p{overflow-wrap:anywhere}
.account-actions{min-width:max-content}

.account-module-grid{align-items:stretch}
.account-module-card{height:100%}
.account-module-card>a{min-height:40px!important}

.customer-menu-panel{
  max-height:min(720px,calc(100vh - 90px));
  overflow:auto;
  overscroll-behavior:contain;
}

/* LARGE DESKTOP */
@media(min-width:1400px){
  .account-main{
    width:min(1320px,calc(100% - 52px))!important;
  }
  .account-signature-hero{
    padding:42px 46px!important;
  }
  .account-module-grid{
    gap:15px!important;
  }
  .account-module-card{
    padding:22px!important;
  }
}

/* LAPTOP */
@media(max-width:1180px){
  .account-main{
    width:calc(100% - 28px)!important;
  }
  .account-dashboard-canvas{
    padding:16px!important;
  }
  .account-overview-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .account-module-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* IPAD PRO / LARGE TABLET */
@media(max-width:1024px){
  .customer-header-inner{
    width:calc(100% - 28px)!important;
  }
  .customer-primary-nav{
    display:none!important;
  }
  .account-signature-hero{
    grid-template-columns:minmax(0,1fr) 170px!important;
    gap:20px!important;
    padding:30px 28px!important;
  }
  .account-signature-mark{
    width:160px!important;
    height:160px!important;
  }
  .account-signature-mark span{
    font-size:46px!important;
  }
  .account-module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .account-reservation-tabs-head{
    padding:18px!important;
  }
  .account-tab-panel{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .account-booking{
    grid-template-columns:68px minmax(0,1fr) auto!important;
    gap:12px!important;
  }
  .account-date{
    width:64px!important;
  }
}

/* IPAD PORTRAIT */
@media(max-width:820px){
  .customer-header-inner{
    min-height:68px!important;
  }
  .customer-brand-copy em{
    display:none!important;
  }
  .account-main{
    width:calc(100% - 20px)!important;
    padding-top:16px!important;
  }
  .account-signature-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:26px 22px!important;
  }
  .account-signature-mark{
    display:none!important;
  }
  .account-signature-actions{
    margin-top:18px!important;
  }
  .account-dashboard-canvas{
    padding:12px!important;
    border-radius:16px!important;
  }
  .account-dashboard-heading{
    padding:3px 4px 14px!important;
  }
  .account-dashboard-heading h2{
    font-size:24px!important;
  }
  .account-overview-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .account-reservation-tabs-head{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .account-tabs-book{
    width:100%!important;
  }
  .account-booking{
    grid-template-columns:62px minmax(0,1fr)!important;
    gap:11px!important;
  }
  .account-actions{
    grid-column:1/-1!important;
    justify-content:flex-start!important;
    min-width:0!important;
    padding-left:73px!important;
  }
  .account-module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .account-module-card{
    min-height:225px!important;
  }
}

/* MOBILE */
@media(max-width:680px){
  .customer-header-inner{
    width:calc(100% - 18px)!important;
  }
  .customer-brand-copy strong{
    font-size:17px!important;
  }
  .customer-menu-button{
    min-width:44px!important;
    width:auto!important;
  }
  .customer-menu-panel{
    top:calc(68px + env(safe-area-inset-top))!important;
    max-height:calc(100dvh - 82px - env(safe-area-inset-top))!important;
  }
  .account-main{
    width:calc(100% - 14px)!important;
  }
  .account-signature-hero{
    padding:22px 17px!important;
    border-radius:14px!important;
  }
  .account-signature-chip{
    font-size:7px!important;
  }
  .account-signature-hero h1{
    font-size:40px!important;
  }
  .account-signature-hero p{
    font-size:11px!important;
  }
  .account-signature-actions{
    grid-template-columns:1fr 1fr!important;
  }
  .account-dashboard-canvas{
    padding:8px!important;
  }
  .account-dashboard-heading h2{
    font-size:21px!important;
  }
  .account-overview-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .account-overview-strip>div{
    padding:12px 8px!important;
  }
  .account-overview-strip strong{
    font-size:20px!important;
  }
  .account-tab-switcher{
    grid-template-columns:1fr!important;
    padding:0!important;
  }
  .account-tab-button{
    justify-content:space-between!important;
    min-height:48px!important;
    padding:0 13px!important;
  }
  .account-tab-panel{
    padding:4px 10px 12px!important;
  }
  .account-booking{
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:9px!important;
    padding:11px 0!important;
  }
  .account-date{
    width:52px!important;
    min-height:54px!important;
  }
  .account-date b{
    font-size:18px!important;
  }
  .account-actions{
    padding-left:63px!important;
  }
  .account-actions .account-btn{
    flex:1 1 auto;
    min-height:38px!important;
  }
  .account-pagination{
    gap:4px!important;
  }
  .account-page-number,
  .account-page-arrow{
    min-height:36px!important;
    min-width:36px!important;
  }
  .account-module-heading{
    padding-top:20px!important;
  }
  .account-module-grid{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .account-module-card{
    min-height:0!important;
    padding:17px!important;
  }
  .account-module-card>p{
    min-height:0!important;
  }
  .account-module-preview{
    margin:12px 0 14px!important;
  }
  .account-module-card>a{
    min-height:42px!important;
  }
}

/* IPHONE */
@media(max-width:430px){
  .customer-brand-logo{
    width:32px!important;
    height:32px!important;
  }
  .customer-brand-copy small{
    font-size:6.5px!important;
  }
  .customer-brand-copy strong{
    font-size:16px!important;
  }
  .customer-menu-button{
    width:40px!important;
    min-width:40px!important;
    padding:0 10px!important;
  }
  .customer-menu-button>span:last-child{
    display:none!important;
  }
  .account-signature-actions{
    grid-template-columns:1fr!important;
  }
  .account-signature-primary,
  .account-signature-secondary{
    min-height:44px!important;
  }
  .account-overview-strip{
    grid-template-columns:1fr 1fr!important;
  }
  .account-reservation-tabs-head h3{
    font-size:21px!important;
  }
  .account-tab-label{
    font-size:9px!important;
  }
  .account-actions{
    grid-column:1/-1!important;
    padding-left:0!important;
  }
  .account-actions .account-btn{
    width:100%!important;
  }
  .account-pagination{
    justify-content:flex-start!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    padding-bottom:6px!important;
  }
  .account-page-number,
  .account-page-arrow{
    flex:0 0 auto;
  }
}

/* VERY SMALL MOBILE */
@media(max-width:360px){
  .customer-header-inner{
    width:calc(100% - 12px)!important;
  }
  .customer-brand-copy strong{
    font-size:15px!important;
  }
  .account-main{
    width:calc(100% - 10px)!important;
  }
  .account-signature-hero{
    padding:18px 14px!important;
  }
  .account-signature-hero h1{
    font-size:35px!important;
  }
  .account-overview-strip{
    grid-template-columns:1fr!important;
  }
  .account-module-card{
    padding:15px!important;
  }
}

/* MOBILE LANDSCAPE */
@media(max-height:500px) and (orientation:landscape){
  .customer-menu-panel{
    top:8px!important;
    max-height:calc(100dvh - 16px)!important;
  }
  .account-signature-mark{
    display:none!important;
  }
  .account-signature-hero{
    min-height:0!important;
  }
}

/* TOUCH DEVICES */
@media(hover:none) and (pointer:coarse){
  .customer-menu-button,
  .account-btn,
  .account-tabs-book,
  .account-module-card>a,
  .account-page-number,
  .account-page-arrow{
    min-height:44px!important;
  }
  .customer-menu-item{
    min-height:46px!important;
  }
}


/* ============================================================
   LA GLORIA READABLE LUXURY · V1.13.5
   Visibly larger typography + stronger premium treatment
   ============================================================ */

body.customer-account-page{
  font-size:15px!important;
  line-height:1.55!important;
  background:
    radial-gradient(circle at 8% 0,rgba(196,161,96,.12),transparent 25%),
    linear-gradient(180deg,#f8f4ec 0%,#eee5d8 100%)!important;
}

/* HEADER */
.customer-header-inner{
  min-height:82px!important;
}

.customer-brand-copy small{
  font-size:10px!important;
}

.customer-brand-copy strong{
  font-size:24px!important;
}

.customer-brand-copy em{
  font-size:10px!important;
}

.customer-primary-nav a{
  min-height:42px!important;
  padding:0 14px!important;
  font-size:13px!important;
}

.customer-menu-button{
  min-height:44px!important;
  padding:0 15px!important;
  font-size:13px!important;
}

/* MENU PANEL */
.customer-menu-panel-head small{
  font-size:10px!important;
}

.customer-menu-panel-head strong{
  font-size:23px!important;
}

.customer-menu-item{
  min-height:50px!important;
  padding:11px 13px!important;
  font-size:13px!important;
}

.customer-signout{
  min-height:44px!important;
  font-size:12px!important;
}

/* HERO */
.account-signature-chip{
  min-height:30px!important;
  padding:6px 12px!important;
  font-size:10px!important;
}

.account-signature-hero small{
  font-size:11px!important;
}

.account-signature-hero h1{
  font-size:clamp(50px,5vw,72px)!important;
}

.account-signature-hero p{
  max-width:720px!important;
  font-size:14px!important;
  line-height:1.7!important;
}

.account-signature-primary,
.account-signature-secondary{
  min-height:46px!important;
  padding:0 18px!important;
  font-size:13px!important;
}

/* MAIN HEADING */
.account-dashboard-heading small{
  font-size:10px!important;
}

.account-dashboard-heading h2{
  font-size:31px!important;
}

.account-dashboard-heading p{
  font-size:13px!important;
  line-height:1.55!important;
}

/* SUMMARY BOXES */
.account-overview-strip>div{
  min-height:92px!important;
  padding:15px 12px!important;
  border-radius:14px!important;
  box-shadow:0 8px 20px rgba(18,63,53,.05)!important;
}

.account-overview-strip small{
  min-height:24px!important;
  font-size:10px!important;
  letter-spacing:.06em!important;
}

.account-overview-strip strong{
  margin-top:7px!important;
  font-size:30px!important;
}

/* RESERVATION SECTION */
.account-reservation-tabs-head small{
  font-size:10px!important;
}

.account-reservation-tabs-head h3{
  font-size:27px!important;
}

.account-reservation-tabs-head p{
  font-size:13px!important;
}

.account-tabs-book{
  min-height:44px!important;
  padding:0 16px!important;
  font-size:13px!important;
}

.account-tab-button{
  min-height:62px!important;
  font-size:14px!important;
}

.account-tab-label{
  font-size:14px!important;
}

.account-tab-count{
  min-width:30px!important;
  height:30px!important;
  font-size:11px!important;
}

.account-booking{
  padding:16px 0!important;
}

.account-date{
  min-height:68px!important;
}

.account-date b{
  font-size:24px!important;
}

.account-date span{
  font-size:10px!important;
}

.account-booking-main strong{
  font-size:15px!important;
}

.account-booking-main p{
  margin-top:5px!important;
  font-size:13px!important;
  line-height:1.55!important;
}

.account-booking-meta{
  margin-top:7px!important;
  font-size:11px!important;
}

.account-badge{
  padding:5px 8px!important;
  font-size:10px!important;
}

.account-btn{
  min-height:40px!important;
  padding:0 13px!important;
  font-size:12px!important;
}

.account-page-number,
.account-page-arrow{
  min-height:40px!important;
  min-width:40px!important;
  font-size:11px!important;
}

/* 3-PER-ROW MODULE BOXES */
.account-module-heading small{
  font-size:10px!important;
}

.account-module-heading h3{
  font-size:29px!important;
}

.account-module-heading p{
  font-size:13px!important;
}

.account-module-card{
  min-height:285px!important;
  padding:23px!important;
  border-radius:18px!important;
  box-shadow:
    0 15px 36px rgba(18,63,53,.07),
    inset 0 1px 0 rgba(255,255,255,.85)!important;
}

.account-module-card>small{
  font-size:10px!important;
}

.account-module-number{
  font-size:36px!important;
}

.account-module-card h3{
  margin-top:8px!important;
  font-size:24px!important;
}

.account-module-card>p{
  min-height:60px!important;
  margin-top:10px!important;
  font-size:13px!important;
  line-height:1.6!important;
}

.account-module-preview{
  gap:7px!important;
  margin:16px 0 19px!important;
}

.account-module-preview span{
  min-height:38px!important;
  padding:8px 10px!important;
  font-size:11px!important;
}

.account-module-card>a{
  min-height:44px!important;
  font-size:12px!important;
}

/* FOOTER */
.account-footer{
  font-size:10px!important;
}

/* IPAD */
@media(max-width:1024px){
  body.customer-account-page{
    font-size:15px!important;
  }

  .account-dashboard-heading h2{
    font-size:28px!important;
  }

  .account-module-card{
    min-height:270px!important;
  }
}

/* MOBILE */
@media(max-width:680px){
  .customer-header-inner{
    min-height:70px!important;
  }

  .customer-brand-copy small{
    font-size:8px!important;
  }

  .customer-brand-copy strong{
    font-size:19px!important;
  }

  .account-signature-hero h1{
    font-size:42px!important;
  }

  .account-signature-hero p{
    font-size:13px!important;
  }

  .account-dashboard-heading h2{
    font-size:25px!important;
  }

  .account-dashboard-heading p{
    font-size:12px!important;
  }

  .account-overview-strip small{
    font-size:9px!important;
  }

  .account-overview-strip strong{
    font-size:26px!important;
  }

  .account-tab-button,
  .account-tab-label{
    font-size:13px!important;
  }

  .account-booking-main strong{
    font-size:14px!important;
  }

  .account-booking-main p{
    font-size:12px!important;
  }

  .account-btn{
    min-height:44px!important;
    font-size:12px!important;
  }

  .account-module-heading h3{
    font-size:24px!important;
  }

  .account-module-heading p{
    font-size:12px!important;
  }

  .account-module-card{
    padding:19px!important;
    min-height:0!important;
  }

  .account-module-card h3{
    font-size:22px!important;
  }

  .account-module-card>p{
    min-height:0!important;
    font-size:13px!important;
  }

  .account-module-preview span{
    font-size:11px!important;
  }

  .account-module-card>a{
    min-height:46px!important;
    font-size:12px!important;
  }
}

/* NARROW IPHONE */
@media(max-width:430px){
  body.customer-account-page{
    font-size:14px!important;
  }

  .account-signature-hero h1{
    font-size:39px!important;
  }

  .account-overview-strip>div{
    min-height:84px!important;
  }

  .account-overview-strip strong{
    font-size:25px!important;
  }

  .account-tab-label{
    font-size:12px!important;
  }
}


/* ============================================================
   CUSTOMER MAILBOX · V1.13.6
   ============================================================ */

.mailbox-hero{
  min-height:210px!important;
}

.mailbox-alert{
  margin:0 0 14px;
  padding:13px 15px;
  border-radius:11px;
  font-size:13px;
  font-weight:800;
}

.mailbox-alert.success{
  border:1px solid #cfe4d8;
  background:#eef7f2;
  color:#17533f;
}

.mailbox-alert.error{
  border:1px solid #ead0d3;
  background:#fff1f2;
  color:#7a2732;
}

.mailbox-shell{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  overflow:hidden;
  border:1px solid rgba(18,63,53,.10);
  border-radius:18px;
  background:#fffdf9;
  box-shadow:0 18px 46px rgba(18,63,53,.07);
}

.mailbox-sidebar{
  min-height:620px;
  padding:20px 14px;
  border-right:1px solid rgba(18,63,53,.09);
  background:
    linear-gradient(180deg,#f6f1e8,#eee6d9);
}

.mailbox-sidebar-title{
  padding:3px 7px 17px;
}

.mailbox-sidebar-title small,
.mailbox-toolbar small,
.mailbox-reader-head small{
  display:block;
  color:#a57734;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.mailbox-sidebar-title strong{
  display:block;
  margin-top:4px;
  color:#123f35;
  font:600 20px Georgia,"Times New Roman",serif;
}

.mailbox-folders{
  display:grid;
  gap:5px;
}

.mailbox-folders a{
  min-height:45px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 11px;
  border:1px solid transparent;
  border-radius:10px;
  color:#526159;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}

.mailbox-folders a b{
  min-width:23px;
  height:23px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(18,63,53,.08);
  font-size:10px;
}

.mailbox-folders a.active{
  border-color:rgba(18,63,53,.12);
  background:#123f35;
  color:#fff;
}

.mailbox-folders a.active b{
  background:rgba(255,255,255,.13);
  color:#fff;
}

.mailbox-folders a.archived.active{
  background:#7b2530;
}

.mailbox-sidebar-note{
  margin-top:20px;
  padding:12px;
  border:1px solid rgba(184,138,68,.18);
  border-radius:10px;
  background:rgba(255,255,255,.55);
  color:#77837c;
  font-size:11px;
  line-height:1.55;
}

.mailbox-content{
  min-width:0;
}

.mailbox-toolbar{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:16px 20px;
  border-bottom:1px solid rgba(18,63,53,.08);
}

.mailbox-toolbar h2{
  margin:4px 0 0;
  color:#123f35;
  font:600 24px Georgia,"Times New Roman",serif;
}

.mailbox-toolbar>span{
  color:#7a8780;
  font-size:11px;
  font-weight:800;
}

.mailbox-list{
  display:grid;
}

.mailbox-row{
  border-bottom:1px solid rgba(18,63,53,.08);
  background:#fffdf9;
}

.mailbox-row:last-child{
  border-bottom:0;
}

.mailbox-row.unread{
  background:#f1f7f3;
}

.mailbox-open{
  min-height:82px;
  display:grid;
  grid-template-columns:10px minmax(110px,.7fr) minmax(260px,1.8fr) 95px;
  gap:13px;
  align-items:center;
  padding:13px 18px;
  color:inherit;
  text-decoration:none;
}

.mailbox-unread-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:transparent;
}

.mailbox-row.unread .mailbox-unread-dot{
  background:#0b5948;
  box-shadow:0 0 0 4px rgba(11,89,72,.08);
}

.mailbox-sender{
  overflow:hidden;
  color:#123f35;
  font-size:13px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mailbox-row.read .mailbox-sender{
  font-weight:700;
}

.mailbox-subject{
  min-width:0;
  display:grid;
  gap:4px;
}

.mailbox-subject strong{
  overflow:hidden;
  color:#26372f;
  font-size:14px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mailbox-row.read .mailbox-subject strong{
  font-weight:700;
}

.mailbox-subject small{
  overflow:hidden;
  color:#7c8882;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mailbox-date{
  color:#5c6a63;
  font-size:12px;
  font-weight:800;
  text-align:right;
}

.mailbox-date small{
  display:block;
  margin-top:3px;
  color:#929c97;
  font-size:10px;
  font-weight:700;
}

.mailbox-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:5px;
  padding:0 18px 11px;
}

.mailbox-row-actions form{
  margin:0;
}

.mailbox-action,
.mailbox-row-actions button{
  appearance:none;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 9px;
  border:1px solid rgba(18,63,53,.11);
  border-radius:8px;
  background:#fff;
  color:#526159;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
}

.mailbox-action.view{
  border-color:#123f35;
  background:#123f35;
  color:#fff;
}

.mailbox-row-actions button.delete{
  border-color:rgba(123,37,48,.15);
  color:#7b2530;
  background:#fff7f7;
}

.mailbox-empty{
  padding:70px 20px;
  text-align:center;
}

.mailbox-empty strong{
  display:block;
  color:#123f35;
  font:600 22px Georgia,"Times New Roman",serif;
}

.mailbox-empty span{
  display:block;
  margin-top:6px;
  color:#7c8882;
  font-size:13px;
}

.mailbox-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px;
  padding:18px;
  border-top:1px solid rgba(18,63,53,.08);
}

.mailbox-pagination a{
  min-width:38px;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border:1px solid rgba(18,63,53,.10);
  border-radius:8px;
  background:#fff;
  color:#526159;
  font-size:11px;
  font-weight:900;
  text-decoration:none;
}

.mailbox-pagination a.active{
  background:#123f35;
  color:#fff;
}

/* READER */
.mailbox-reader-backdrop{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(7,31,26,.52);
  backdrop-filter:blur(6px);
}

.mailbox-reader{
  width:min(720px,100%);
  max-height:calc(100dvh - 36px);
  overflow:auto;
  border:1px solid rgba(196,161,96,.32);
  border-radius:18px;
  background:#fffdf9;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}

.mailbox-reader-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  padding:20px 22px;
  background:
    radial-gradient(circle at 90% 0,rgba(196,161,96,.18),transparent 35%),
    linear-gradient(145deg,#123f35,#082f29);
}

.mailbox-reader-head h2{
  margin:5px 0 0;
  color:#fff;
  font:600 28px Georgia,"Times New Roman",serif;
}

.mailbox-reader-close{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.15);
  border-radius:9px;
  background:rgba(255,255,255,.07);
  color:#fff;
  font-size:22px;
  text-decoration:none;
}

.mailbox-reader-meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-bottom:1px solid rgba(18,63,53,.08);
}

.mailbox-reader-meta>div{
  padding:13px 16px;
  border-right:1px solid rgba(18,63,53,.08);
}

.mailbox-reader-meta>div:last-child{
  border-right:0;
}

.mailbox-reader-meta span{
  display:block;
  color:#8b9690;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}

.mailbox-reader-meta strong{
  display:block;
  margin-top:4px;
  overflow-wrap:anywhere;
  color:#123f35;
  font-size:12px;
}

.mailbox-reader-body{
  padding:26px 24px;
  color:#536159;
  font-size:14px;
  line-height:1.7;
}

.mailbox-message-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:17px;
  border:1px solid rgba(196,161,96,.28);
  border-radius:50%;
  color:#9a7438;
  font:600 17px Georgia,"Times New Roman",serif;
}

.mailbox-booking-card{
  margin-top:20px;
  padding:17px;
  border:1px solid rgba(18,63,53,.10);
  border-radius:12px;
  background:#f7f3eb;
}

.mailbox-booking-card span{
  display:block;
  color:#8a958f;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}

.mailbox-booking-card strong{
  display:block;
  margin-top:4px;
  color:#123f35;
  font:600 20px Georgia,"Times New Roman",serif;
}

.mailbox-booking-card p{
  margin:7px 0 0;
  font-size:12px;
}

.mailbox-booking-card a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  margin-top:12px;
  padding:0 13px;
  border-radius:8px;
  background:#123f35;
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-decoration:none;
}

.mailbox-reader-note{
  margin-top:18px;
  padding:12px;
  border-left:3px solid #c4a160;
  background:#fbf7ef;
  color:#77837c;
  font-size:11px;
}

.mailbox-reader-actions{
  display:flex;
  justify-content:flex-end;
  gap:7px;
  padding:14px 20px 20px;
}

.mailbox-reader-actions form{
  margin:0;
}

.mailbox-reader-actions button{
  min-height:40px;
  padding:0 13px;
  border:1px solid rgba(18,63,53,.13);
  border-radius:8px;
  background:#fff;
  color:#123f35;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}

.mailbox-reader-actions button.danger{
  border-color:rgba(123,37,48,.18);
  background:#fff4f4;
  color:#7b2530;
}

@media(max-width:900px){
  .mailbox-shell{
    grid-template-columns:180px minmax(0,1fr);
  }

  .mailbox-open{
    grid-template-columns:10px minmax(90px,.55fr) minmax(200px,1.5fr) 80px;
  }
}

@media(max-width:720px){
  .mailbox-shell{
    display:block;
  }

  .mailbox-sidebar{
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(18,63,53,.09);
  }

  .mailbox-folders{
    grid-template-columns:repeat(3,1fr);
  }

  .mailbox-sidebar-note{
    display:none;
  }

  .mailbox-open{
    grid-template-columns:10px minmax(0,1fr) 72px;
  }

  .mailbox-sender{
    grid-column:2;
  }

  .mailbox-subject{
    grid-column:2;
  }

  .mailbox-date{
    grid-column:3;
    grid-row:1/3;
  }

  .mailbox-reader-meta{
    grid-template-columns:1fr;
  }

  .mailbox-reader-meta>div{
    border-right:0;
    border-bottom:1px solid rgba(18,63,53,.07);
  }
}

@media(max-width:500px){
  .mailbox-folders{
    grid-template-columns:1fr;
  }

  .mailbox-toolbar{
    min-height:70px;
    padding:13px;
  }

  .mailbox-toolbar h2{
    font-size:21px;
  }

  .mailbox-open{
    min-height:88px;
    padding:12px;
  }

  .mailbox-row-actions{
    justify-content:flex-start;
    padding:0 12px 12px 31px;
  }

  .mailbox-row-actions form{
    flex:1 1 auto;
  }

  .mailbox-action,
  .mailbox-row-actions button{
    width:100%;
    min-height:40px;
  }

  .mailbox-reader-backdrop{
    padding:7px;
  }

  .mailbox-reader{
    max-height:calc(100dvh - 14px);
    border-radius:14px;
  }

  .mailbox-reader-head{
    padding:17px;
  }

  .mailbox-reader-head h2{
    font-size:23px;
  }

  .mailbox-reader-body{
    padding:20px 17px;
  }

  .mailbox-reader-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    padding:12px 17px 17px;
  }

  .mailbox-reader-actions button{
    width:100%;
  }
}


/* ============================================================
   MY LA GLORIA UMBRELLA SHELL · V1.13.7
   One shared customer framework for all customer pages.
   ============================================================ */

.customer-umbrella-page{
  background:
    radial-gradient(circle at 5% 0,rgba(196,161,96,.11),transparent 25%),
    linear-gradient(180deg,#f7f3eb,#eee6da)!important;
}

.customer-umbrella-shell{
  width:100%;
  min-height:100vh;
}

/* Shared header */
.customer-umbrella-header{
  position:sticky;
  top:0;
  z-index:1500;
  padding-top:env(safe-area-inset-top);
  border-bottom:1px solid rgba(18,63,53,.09);
  background:rgba(255,253,249,.975);
  backdrop-filter:blur(18px);
  box-shadow:0 6px 22px rgba(18,63,53,.055);
}

.customer-umbrella-header-inner{
  width:min(1500px,calc(100% - 34px));
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0 auto;
}

.customer-umbrella-brand{
  display:flex;
  align-items:center;
  gap:11px;
  color:#123f35;
  text-decoration:none;
}

.customer-umbrella-logo{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(196,161,96,.28);
  border-radius:50%;
  background:#fff;
}

.customer-umbrella-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.customer-umbrella-brand-copy{
  display:grid;
  gap:1px;
}

.customer-umbrella-brand-copy small{
  color:#9e7639;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.customer-umbrella-brand-copy strong{
  color:#123f35;
  font:600 22px/1.05 Georgia,"Times New Roman",serif;
}

.customer-umbrella-brand-copy em{
  color:#7c8982;
  font-size:9px;
  font-style:normal;
  font-weight:700;
}

.customer-umbrella-actions{
  display:flex;
  align-items:center;
  gap:7px;
}

.customer-umbrella-home,
.customer-umbrella-menu-button{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  font-size:12px;
  font-weight:900;
}

.customer-umbrella-home{
  padding:0 14px;
  border:1px solid transparent;
  color:#526159;
  text-decoration:none;
}

.customer-umbrella-home.active{
  border-color:#123f35;
  background:#123f35;
  color:#fff;
}

.customer-umbrella-menu-button{
  appearance:none;
  gap:8px;
  padding:0 14px;
  border:1px solid rgba(196,161,96,.28);
  background:#fffdf9;
  color:#123f35;
  cursor:pointer;
}

.customer-umbrella-menu-icon{
  width:15px;
  display:grid;
  gap:3px;
}

.customer-umbrella-menu-icon i{
  display:block;
  height:1.5px;
  border-radius:999px;
  background:#123f35;
}

/* Umbrella body */
.customer-umbrella-body{
  width:min(1500px,calc(100% - 34px));
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:18px;
  align-items:start;
  margin:20px auto 0;
}

.customer-umbrella-nav{
  position:sticky;
  top:96px;
  overflow:hidden;
  border:1px solid rgba(18,63,53,.09);
  border-radius:16px;
  background:
    linear-gradient(180deg,#fffdf9,#f6f0e6);
  box-shadow:0 13px 32px rgba(18,63,53,.055);
}

.customer-umbrella-nav-title{
  padding:18px 16px 15px;
  border-bottom:1px solid rgba(18,63,53,.08);
  background:
    radial-gradient(circle at 100% 0,rgba(196,161,96,.14),transparent 35%),
    linear-gradient(145deg,#123f35,#082f29);
}

.customer-umbrella-nav-title small{
  display:block;
  color:#d9bb79;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.customer-umbrella-nav-title strong{
  display:block;
  margin-top:4px;
  color:#fff;
  font:600 20px Georgia,"Times New Roman",serif;
}

.customer-umbrella-nav nav{
  display:grid;
  gap:3px;
  padding:9px;
}

.customer-umbrella-nav nav a{
  min-height:43px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 10px;
  border:1px solid transparent;
  border-radius:9px;
  color:#56645d;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}

.customer-umbrella-nav nav a:hover{
  background:#f4efe6;
  color:#123f35;
}

.customer-umbrella-nav nav a.active{
  border-color:rgba(18,63,53,.12);
  background:#eaf2ed;
  color:#123f35;
}

.customer-umbrella-nav-dot{
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:#b88a44;
}

.customer-umbrella-nav-footer{
  padding:9px;
  border-top:1px solid rgba(18,63,53,.08);
}

.customer-umbrella-nav-footer a{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(123,37,48,.14);
  border-radius:9px;
  background:#fff7f7;
  color:#7b2530;
  font-size:11px;
  font-weight:900;
  text-decoration:none;
}

.customer-umbrella-content{
  min-width:0;
}

.customer-umbrella-content .account-main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 36px!important;
}

.customer-umbrella-footer{
  width:min(1500px,calc(100% - 34px))!important;
}

/* Old shared top bars are no longer used under umbrella */
.customer-umbrella-page .customer-luxury-header,
.customer-umbrella-page .account-topbar{
  display:none!important;
}

.customer-umbrella-backdrop{
  position:fixed;
  inset:0;
  z-index:1400;
  background:rgba(7,31,26,.35);
  opacity:0;
  transition:opacity .18s ease;
}

.customer-umbrella-backdrop.is-open{
  opacity:1;
}

/* iPad / tablet */
@media(max-width:1024px){
  .customer-umbrella-body{
    width:calc(100% - 24px);
    grid-template-columns:190px minmax(0,1fr);
    gap:12px;
  }

  .customer-umbrella-header-inner{
    width:calc(100% - 24px);
  }

  .customer-umbrella-nav nav a{
    font-size:11px;
  }
}

/* iPad portrait and mobile use one drawer */
@media(max-width:820px){
  .customer-umbrella-header-inner{
    width:calc(100% - 20px);
    min-height:68px;
  }

  .customer-umbrella-brand-copy strong{
    font-size:18px;
  }

  .customer-umbrella-brand-copy em{
    display:none;
  }

  .customer-umbrella-home{
    display:none;
  }

  .customer-umbrella-body{
    width:calc(100% - 16px);
    display:block;
    margin-top:10px;
  }

  .customer-umbrella-nav{
    position:fixed;
    z-index:1600;
    left:8px;
    right:8px;
    top:calc(76px + env(safe-area-inset-top));
    max-height:calc(100dvh - 86px - env(safe-area-inset-top));
    overflow:auto;
    transform:translateY(-8px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease;
  }

  .customer-umbrella-nav.is-open{
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .customer-umbrella-nav nav{
    grid-template-columns:1fr 1fr;
  }

  .customer-umbrella-content .account-main{
    padding-bottom:28px!important;
  }

  body.customer-umbrella-open{
    overflow:hidden;
  }
}

@media(max-width:520px){
  .customer-umbrella-logo{
    width:34px;
    height:34px;
    flex-basis:34px;
  }

  .customer-umbrella-brand-copy small{
    font-size:7px;
  }

  .customer-umbrella-brand-copy strong{
    font-size:16px;
  }

  .customer-umbrella-menu-button{
    min-width:42px;
    padding:0 11px;
  }

  .customer-umbrella-menu-button>span:last-child{
    display:none;
  }

  .customer-umbrella-nav nav{
    grid-template-columns:1fr;
  }

  .customer-umbrella-body{
    width:calc(100% - 10px);
  }
}

@media(hover:none) and (pointer:coarse){
  .customer-umbrella-home,
  .customer-umbrella-menu-button,
  .customer-umbrella-nav nav a,
  .customer-umbrella-nav-footer a{
    min-height:44px;
  }
}


/* ============================================================
   LUXURY ITALIAN RED TOP BAR · V1.13.8
   Only Home + My Account are shown on top.
   ============================================================ */

.customer-umbrella-header{
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  background:
    radial-gradient(circle at 82% 0,rgba(255,255,255,.07),transparent 26%),
    linear-gradient(135deg,#8a2834 0%,#74232d 58%,#5e1922 100%)!important;
  box-shadow:0 9px 28px rgba(92,25,34,.20)!important;
}

.customer-umbrella-header-inner{
  min-height:78px!important;
}

.customer-umbrella-brand{
  color:#fff!important;
}

.customer-umbrella-brand-copy small{
  color:#ead4a2!important;
}

.customer-umbrella-brand-copy strong{
  color:#fff!important;
}

.customer-umbrella-brand-copy em{
  color:rgba(255,255,255,.70)!important;
}

.customer-umbrella-logo{
  border-color:rgba(234,212,162,.42)!important;
  background:rgba(255,255,255,.96)!important;
}

.customer-umbrella-actions{
  gap:8px!important;
}

.customer-umbrella-home,
.customer-umbrella-menu-button{
  min-height:44px!important;
  border-radius:11px!important;
  font-size:13px!important;
}

.customer-umbrella-home{
  gap:8px!important;
  padding:0 14px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}

.customer-umbrella-home:hover,
.customer-umbrella-home.active{
  border-color:rgba(234,212,162,.42)!important;
  background:#f4e3b7!important;
  color:#6b2029!important;
}

.customer-home-icon{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  flex:0 0 18px;
}

.customer-home-icon svg{
  width:18px;
  height:18px;
  fill:currentColor;
}

.customer-umbrella-menu-button{
  gap:8px!important;
  padding:0 15px!important;
  border:1px solid rgba(234,212,162,.38)!important;
  background:linear-gradient(180deg,#f1ddb0,#ddbf7d)!important;
  color:#62202a!important;
  box-shadow:
    0 7px 18px rgba(50,12,18,.16),
    inset 0 1px 0 rgba(255,255,255,.35)!important;
}

.customer-umbrella-menu-button:hover{
  background:linear-gradient(180deg,#f6e7c4,#e5c987)!important;
}

.customer-account-chevron{
  display:inline-block!important;
  transform:translateY(-1px);
  font-size:15px;
}

/* Menu itself stays organised, but now feels connected to red top bar */
.customer-umbrella-nav{
  border-color:rgba(123,37,48,.13)!important;
}

.customer-umbrella-nav-title{
  background:
    radial-gradient(circle at 100% 0,rgba(234,212,162,.14),transparent 34%),
    linear-gradient(145deg,#812733,#631d27)!important;
}

.customer-umbrella-nav nav a.active{
  border-color:rgba(123,37,48,.13)!important;
  background:#f7e8ea!important;
  color:#74232d!important;
}

.customer-umbrella-nav-dot{
  background:#b88a44!important;
}

/* Tablet/mobile header */
@media(max-width:820px){
  .customer-umbrella-header-inner{
    min-height:70px!important;
  }

  .customer-umbrella-home{
    display:inline-flex!important;
  }

  .customer-umbrella-brand-copy em{
    display:none!important;
  }
}

@media(max-width:520px){
  .customer-umbrella-header-inner{
    width:calc(100% - 14px)!important;
  }

  .customer-umbrella-brand-copy small{
    font-size:6.5px!important;
  }

  .customer-umbrella-brand-copy strong{
    font-size:15px!important;
  }

  .customer-umbrella-actions{
    gap:5px!important;
  }

  .customer-umbrella-home,
  .customer-umbrella-menu-button{
    min-height:42px!important;
    padding:0 10px!important;
    font-size:11px!important;
  }

  .customer-home-icon,
  .customer-home-icon svg{
    width:16px;
    height:16px;
  }

  .customer-account-chevron{
    display:none!important;
  }
}

@media(max-width:390px){
  .customer-umbrella-brand-copy small{
    display:none!important;
  }

  .customer-umbrella-brand-copy strong{
    font-size:14px!important;
  }

  .customer-umbrella-home span:last-child{
    display:none!important;
  }

  .customer-umbrella-home{
    width:42px!important;
    padding:0!important;
  }

  .customer-umbrella-menu-button{
    padding:0 9px!important;
  }
}


/* ============================================================
   MY ACCOUNT MENU FIX · V1.13.9
   Top My Account now opens on desktop, iPad and mobile.
   ============================================================ */

/* Main content uses full width. The account navigation is now a drawer. */
.customer-umbrella-body{
  width:min(1500px,calc(100% - 34px))!important;
  display:block!important;
  margin:20px auto 0!important;
}

.customer-umbrella-content{
  width:100%!important;
  min-width:0!important;
}

/* Account menu becomes a proper overlay drawer on ALL screen sizes. */
.customer-umbrella-nav{
  position:fixed!important;
  z-index:1700!important;
  top:calc(88px + env(safe-area-inset-top))!important;
  right:18px!important;
  left:auto!important;
  width:min(390px,calc(100vw - 36px))!important;
  max-height:calc(100dvh - 110px - env(safe-area-inset-top))!important;
  overflow:auto!important;

  border:1px solid rgba(123,37,48,.16)!important;
  border-radius:18px!important;
  background:
    linear-gradient(180deg,#fffdf9,#f5eee3)!important;
  box-shadow:
    0 28px 70px rgba(53,12,19,.24),
    0 8px 22px rgba(53,12,19,.10)!important;

  transform:translateY(-10px) scale(.985)!important;
  transform-origin:top right!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:
    opacity .18s ease,
    transform .18s ease,
    visibility .18s ease!important;
}

.customer-umbrella-nav.is-open{
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* More elegant account menu content */
.customer-umbrella-nav-title{
  padding:19px 18px 16px!important;
}

.customer-umbrella-nav nav{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
  padding:12px!important;
}

.customer-umbrella-nav nav a{
  min-height:46px!important;
  padding:0 11px!important;
  border:1px solid rgba(18,63,53,.07)!important;
  background:rgba(255,255,255,.56)!important;
  font-size:12px!important;
}

.customer-umbrella-nav nav a:hover{
  border-color:rgba(123,37,48,.13)!important;
  background:#f7eeee!important;
  color:#74232d!important;
}

.customer-umbrella-nav nav a.active{
  border-color:rgba(123,37,48,.18)!important;
  background:#f3dfe2!important;
  color:#74232d!important;
}

.customer-umbrella-nav-footer{
  padding:0 12px 12px!important;
}

.customer-umbrella-nav-footer a{
  min-height:44px!important;
}

/* Backdrop works on desktop too. */
.customer-umbrella-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:1600!important;
  display:block;
  background:rgba(31,8,12,.33)!important;
  backdrop-filter:blur(2px);
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .18s ease,visibility .18s ease!important;
}

.customer-umbrella-backdrop.is-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

.customer-umbrella-backdrop[hidden]{
  display:block!important;
  visibility:hidden!important;
}

/* Button gives clear open state */
.customer-umbrella-menu-button[aria-expanded="true"]{
  background:linear-gradient(180deg,#fff0c7,#e5c77f)!important;
  box-shadow:
    0 9px 22px rgba(50,12,18,.20),
    inset 0 1px 0 rgba(255,255,255,.46)!important;
}

.customer-umbrella-menu-button[aria-expanded="true"] .customer-account-chevron{
  transform:rotate(180deg) translateY(-1px)!important;
}

/* iPad */
@media(max-width:820px){
  .customer-umbrella-body{
    width:calc(100% - 16px)!important;
    margin-top:10px!important;
  }

  .customer-umbrella-nav{
    top:calc(78px + env(safe-area-inset-top))!important;
    right:8px!important;
    left:8px!important;
    width:auto!important;
    max-height:calc(100dvh - 90px - env(safe-area-inset-top))!important;
    transform:translateY(-8px)!important;
  }

  .customer-umbrella-nav.is-open{
    transform:none!important;
  }
}

/* Mobile */
@media(max-width:520px){
  .customer-umbrella-nav nav{
    grid-template-columns:1fr!important;
  }

  .customer-umbrella-nav{
    border-radius:14px!important;
  }
}


/* ============================================================
   REMOVE TOP MY ACCOUNT · V1.14.0
   Luxury red header now keeps Home only.
   ============================================================ */

.customer-umbrella-actions{
  margin-left:auto!important;
}

.customer-umbrella-home{
  min-height:44px!important;
}

.customer-umbrella-body{
  width:min(1500px,calc(100% - 34px))!important;
  display:block!important;
  margin:20px auto 0!important;
}

.customer-umbrella-content{
  width:100%!important;
  min-width:0!important;
}

/* My Account drawer/button removed */
.customer-umbrella-menu-button,
.customer-umbrella-nav,
.customer-umbrella-backdrop{
  display:none!important;
}

@media(max-width:820px){
  .customer-umbrella-body{
    width:calc(100% - 16px)!important;
    margin-top:10px!important;
  }

  .customer-umbrella-home{
    display:inline-flex!important;
  }
}

@media(max-width:390px){
  .customer-umbrella-home span:last-child{
    display:inline!important;
  }

  .customer-umbrella-home{
    width:auto!important;
    padding:0 10px!important;
  }
}


/* ============================================================
   VISIBLE HOME HEADER · V1.14.1
   ============================================================ */

.customer-umbrella-header{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:sticky!important;
  top:0!important;
  z-index:9999!important;
  width:100%!important;
  min-height:82px!important;
  border-bottom:2px solid #d7b56f!important;
  background:
    linear-gradient(135deg,#922d39 0%,#7a2530 55%,#5f1b24 100%)!important;
  box-shadow:0 9px 28px rgba(72,15,23,.24)!important;
}

.customer-umbrella-header-inner{
  width:min(1500px,calc(100% - 28px))!important;
  min-height:82px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin:0 auto!important;
}

.customer-umbrella-brand{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

.customer-umbrella-actions{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  margin-left:auto!important;
}

.customer-umbrella-home{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:118px!important;
  min-height:48px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:0 17px!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-decoration:none!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 6px 16px rgba(45,8,14,.15)!important;
}

.customer-umbrella-home:hover,
.customer-umbrella-home.active{
  border-color:#f0dca9!important;
  background:#f0dca9!important;
  color:#6b2029!important;
}

.customer-home-icon{
  width:20px!important;
  height:20px!important;
  display:grid!important;
  place-items:center!important;
}

.customer-home-icon svg{
  width:20px!important;
  height:20px!important;
  display:block!important;
  fill:currentColor!important;
}

@media(max-width:520px){
  .customer-umbrella-header{
    min-height:70px!important;
  }

  .customer-umbrella-header-inner{
    min-height:70px!important;
    width:calc(100% - 12px)!important;
  }

  .customer-umbrella-home{
    min-width:52px!important;
    min-height:44px!important;
    padding:0 11px!important;
    font-size:11px!important;
  }

  .customer-umbrella-home span:last-child{
    display:none!important;
  }

  .customer-home-icon,
  .customer-home-icon svg{
    width:19px!important;
    height:19px!important;
  }
}


/* ============================================================
   CUSTOMER FULL WIDTH RECOVERY · V1.14.3
   Fixes collapsed/narrow account content seen on desktop.
   ============================================================ */

/* Remove all inherited sidebar/grid constraints */
.customer-umbrella-body,
.customer-umbrella-content,
.account-main,
.account-dashboard-canvas,
.account-signature-hero,
.account-reservation-tabs,
.account-module-grid{
  min-width:0!important;
  max-width:none!important;
}

/* Customer body fills available viewport */
.customer-umbrella-body{
  width:100%!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
}

.customer-umbrella-content{
  width:100%!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
}

/* Main page gets normal centered luxury width */
.customer-umbrella-content .account-main,
.account-main{
  width:min(1380px,calc(100% - 36px))!important;
  max-width:1380px!important;
  display:block!important;
  margin:22px auto 0!important;
  padding:0 0 38px!important;
}

/* Hero must span full content width */
.account-signature-hero,
.account-hero{
  width:100%!important;
  max-width:none!important;
  min-height:270px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.3fr) minmax(220px,.55fr)!important;
  gap:28px!important;
  margin:0 0 16px!important;
  padding:36px 40px!important;
  overflow:hidden!important;
}

/* Prevent text column collapse */
.account-signature-copy{
  width:100%!important;
  min-width:0!important;
  max-width:760px!important;
}

.account-signature-copy h1{
  max-width:100%!important;
  overflow:visible!important;
  white-space:normal!important;
}

.account-signature-copy p{
  max-width:680px!important;
  width:auto!important;
}

/* Dashboard full width */
.account-dashboard-canvas{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

/* Reservation tabs full width */
.account-reservation-tabs{
  width:100%!important;
}

/* 3-column luxury cards on desktop */
.account-module-grid{
  width:100%!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* Summary stays six across on large desktop */
.account-overview-strip{
  width:100%!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}

/* Remove any old left-column/sidebar behaviour */
.customer-umbrella-nav{
  display:none!important;
}

.customer-umbrella-footer{
  width:min(1380px,calc(100% - 36px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Desktop */
@media(min-width:1181px){
  .account-signature-hero{
    grid-template-columns:minmax(0,1.35fr) 250px!important;
  }
}

/* iPad landscape / laptop */
@media(max-width:1180px){
  .customer-umbrella-content .account-main,
  .account-main{
    width:calc(100% - 28px)!important;
  }

  .account-overview-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .account-module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* iPad portrait */
@media(max-width:820px){
  .customer-umbrella-content .account-main,
  .account-main{
    width:calc(100% - 20px)!important;
    margin-top:14px!important;
  }

  .account-signature-hero,
  .account-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:26px 22px!important;
  }

  .account-signature-mark{
    display:none!important;
  }

  .account-overview-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .account-module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Mobile */
@media(max-width:680px){
  .customer-umbrella-content .account-main,
  .account-main{
    width:calc(100% - 12px)!important;
    margin-top:8px!important;
  }

  .account-signature-hero,
  .account-hero{
    padding:21px 17px!important;
    border-radius:14px!important;
  }

  .account-overview-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .account-module-grid{
    grid-template-columns:1fr!important;
  }
}

/* Very small phones */
@media(max-width:380px){
  .account-overview-strip{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================
   RESTORED LUXURY MENU PANEL · V1.14.4
   Top stays HOME only. Menu is separate.
   ============================================================ */

/* Desktop body: left menu + content */
.customer-umbrella-body{
  width:min(1500px,calc(100% - 30px))!important;
  display:grid!important;
  grid-template-columns:230px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  margin:20px auto 0!important;
  padding:0!important;
}

.customer-side-menu{
  position:sticky;
  top:98px;
  overflow:hidden;
  border:1px solid rgba(123,37,48,.13);
  border-radius:18px;
  background:
    linear-gradient(180deg,#fffdf9 0%,#f7f0e6 100%);
  box-shadow:0 16px 38px rgba(70,20,28,.08);
}

.customer-side-menu-head{
  padding:20px 17px 17px;
  background:
    radial-gradient(circle at 100% 0,rgba(232,205,146,.16),transparent 36%),
    linear-gradient(145deg,#832934,#641e28);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.customer-side-menu-head small{
  display:block;
  color:#e6ca8b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.customer-side-menu-head strong{
  display:block;
  margin-top:4px;
  color:#fff;
  font:600 22px Georgia,"Times New Roman",serif;
}

.customer-side-menu nav{
  display:grid;
  gap:4px;
  padding:11px;
}

.customer-side-menu nav a{
  min-height:45px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 11px;
  border:1px solid transparent;
  border-radius:10px;
  color:#526159;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}

.customer-side-menu nav a:hover{
  background:#f4ece1;
  color:#76242f;
}

.customer-side-menu nav a.active{
  border-color:rgba(123,37,48,.13);
  background:#f2dfe2;
  color:#74232d;
}

.customer-side-dot{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#b88a44;
}

.customer-side-signout{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 11px 11px;
  border:1px solid rgba(123,37,48,.15);
  border-radius:9px;
  background:#fff6f6;
  color:#7b2530;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}

.customer-mobile-menu{
  display:none;
}

.customer-umbrella-content{
  width:100%!important;
  min-width:0!important;
}

.customer-umbrella-content .account-main,
.account-main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 38px!important;
}

/* iPad portrait and mobile: no permanent side column */
@media(max-width:900px){
  .customer-umbrella-body{
    width:calc(100% - 18px)!important;
    display:block!important;
    margin-top:12px!important;
  }

  .customer-side-menu{
    display:none!important;
  }

  .customer-mobile-menu{
    display:block;
    margin:0 0 10px;
    overflow:hidden;
    border:1px solid rgba(123,37,48,.14);
    border-radius:14px;
    background:#fffdf9;
    box-shadow:0 10px 25px rgba(70,20,28,.07);
  }

  .customer-mobile-menu summary{
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:0 15px;
    cursor:pointer;
    list-style:none;
    background:
      linear-gradient(135deg,#832934,#651f29);
    color:#fff;
  }

  .customer-mobile-menu summary::-webkit-details-marker{
    display:none;
  }

  .customer-mobile-menu summary span{
    color:#e7cc8d;
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  .customer-mobile-menu summary strong{
    font:600 18px Georgia,"Times New Roman",serif;
  }

  .customer-mobile-menu nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    padding:10px;
  }

  .customer-mobile-menu nav a{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 9px;
    border:1px solid rgba(18,63,53,.08);
    border-radius:9px;
    background:#faf6ef;
    color:#526159;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
  }

  .customer-mobile-menu nav a.active{
    border-color:rgba(123,37,48,.15);
    background:#f2dfe2;
    color:#74232d;
  }

  .customer-mobile-menu nav a.signout{
    border-color:rgba(123,37,48,.15);
    color:#7b2530;
    background:#fff4f4;
  }

  .customer-umbrella-content .account-main,
  .account-main{
    width:100%!important;
  }
}

@media(max-width:520px){
  .customer-umbrella-body{
    width:calc(100% - 10px)!important;
  }

  .customer-mobile-menu nav{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================
   INTEGRATED RED + GOLD/GREEN MENU · V1.14.5
   ============================================================ */

/* Make top header + menu feel like one continuous luxury shell */
.customer-umbrella-header{
  background:
    radial-gradient(circle at 85% 0,rgba(255,255,255,.06),transparent 28%),
    linear-gradient(135deg,#922d39 0%,#7a2530 58%,#5f1b24 100%)!important;
  border-bottom:1px solid rgba(216,185,111,.55)!important;
}

.customer-side-menu{
  border:1px solid rgba(216,185,111,.28)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(255,255,255,.05),transparent 32%),
    linear-gradient(180deg,#7f2732 0%,#6a1f29 52%,#561820 100%)!important;
  box-shadow:
    0 18px 42px rgba(74,13,22,.18),
    inset 0 1px 0 rgba(255,255,255,.04)!important;
}

.customer-side-menu-head{
  padding:20px 17px 17px!important;
  border-bottom:1px solid rgba(216,185,111,.24)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015))!important;
}

.customer-side-menu-head small{
  color:#ecd597!important;
}

.customer-side-menu-head strong{
  color:#fff!important;
}

/* Gold + green luxury buttons */
.customer-side-menu nav{
  gap:7px!important;
  padding:12px!important;
}

.customer-side-menu nav a{
  min-height:47px!important;
  border-radius:11px!important;
  border:1px solid transparent!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 5px 14px rgba(50,12,18,.09)!important;
}

/* Alternate gold / forest green buttons */
.customer-side-menu nav a:nth-child(odd){
  border-color:rgba(233,210,154,.48)!important;
  background:
    linear-gradient(180deg,#e7cf97,#cba862)!important;
  color:#5f2029!important;
}

.customer-side-menu nav a:nth-child(even){
  border-color:rgba(210,230,218,.18)!important;
  background:
    linear-gradient(180deg,#165847,#0e4035)!important;
  color:#fff!important;
}

.customer-side-menu nav a:nth-child(odd):hover{
  background:
    linear-gradient(180deg,#f2ddb0,#d9b873)!important;
}

.customer-side-menu nav a:nth-child(even):hover{
  background:
    linear-gradient(180deg,#1b6855,#125041)!important;
}

.customer-side-menu nav a.active{
  outline:2px solid rgba(255,255,255,.85)!important;
  outline-offset:-3px!important;
  box-shadow:
    0 0 0 2px rgba(216,185,111,.42),
    0 7px 18px rgba(49,10,17,.20)!important;
}

.customer-side-dot{
  width:8px!important;
  height:8px!important;
  flex-basis:8px!important;
  border:1px solid rgba(255,255,255,.45)!important;
  background:rgba(255,255,255,.72)!important;
}

.customer-side-menu nav a:nth-child(odd) .customer-side-dot{
  border-color:rgba(95,32,41,.25)!important;
  background:#7a2530!important;
}

.customer-side-signout{
  min-height:45px!important;
  margin:2px 12px 12px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
}

.customer-side-signout:hover{
  background:rgba(255,255,255,.14)!important;
}

/* Give body slight red continuity at left edge */
.customer-umbrella-body{
  position:relative;
}

.customer-umbrella-body:before{
  content:"";
  position:absolute;
  left:0;
  top:-20px;
  bottom:0;
  width:230px;
  border-radius:0 0 18px 18px;
  background:
    linear-gradient(180deg,rgba(122,37,48,.08),transparent 45%);
  pointer-events:none;
  z-index:-1;
}

/* Mobile menu uses same red/gold/green language */
@media(max-width:900px){
  .customer-mobile-menu{
    border-color:rgba(216,185,111,.30)!important;
    background:#6b202a!important;
  }

  .customer-mobile-menu summary{
    background:
      linear-gradient(135deg,#842934,#651f29)!important;
    border-bottom:1px solid rgba(216,185,111,.25)!important;
  }

  .customer-mobile-menu nav{
    background:
      linear-gradient(180deg,#77242f,#5e1a23)!important;
  }

  .customer-mobile-menu nav a{
    min-height:46px!important;
    border-radius:10px!important;
    font-size:12px!important;
    font-weight:900!important;
  }

  .customer-mobile-menu nav a:nth-child(odd){
    border-color:rgba(233,210,154,.42)!important;
    background:linear-gradient(180deg,#e6cd94,#caa660)!important;
    color:#5e1f28!important;
  }

  .customer-mobile-menu nav a:nth-child(even){
    border-color:rgba(255,255,255,.10)!important;
    background:linear-gradient(180deg,#155747,#0f4035)!important;
    color:#fff!important;
  }

  .customer-mobile-menu nav a.active{
    outline:2px solid rgba(255,255,255,.85)!important;
    outline-offset:-3px!important;
  }

  .customer-mobile-menu nav a.signout{
    grid-column:1/-1;
    border-color:rgba(255,255,255,.16)!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
  }
}

@media(max-width:520px){
  .customer-mobile-menu nav a.signout{
    grid-column:auto;
  }
}


/* ============================================================
   GOLD ONLY MENU + MOBILE TOP MENU · V1.14.6
   ============================================================ */

/* Keep menu shell red, but remove the heavy alternating colours */
.customer-side-menu{
  background:
    radial-gradient(circle at 100% 0,rgba(255,255,255,.04),transparent 30%),
    linear-gradient(180deg,#7f2732 0%,#6a1f29 52%,#561820 100%)!important;
}

/* Every desktop menu button is antique gold */
.customer-side-menu nav a,
.customer-side-menu nav a:nth-child(odd),
.customer-side-menu nav a:nth-child(even){
  position:relative;
  overflow:hidden;
  border:1px solid rgba(246,226,178,.45)!important;
  background:
    linear-gradient(180deg,#ead39c 0%,#d2ae68 100%)!important;
  color:#5f2029!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.36),
    0 5px 13px rgba(50,12,18,.08)!important;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    filter .16s ease!important;
}

.customer-side-menu nav a:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(105deg,transparent 0%,transparent 38%,rgba(255,255,255,.28) 50%,transparent 62%,transparent 100%);
  transform:translateX(-120%);
  transition:transform .45s ease;
  pointer-events:none;
}

.customer-side-menu nav a:hover{
  transform:translateY(-2px)!important;
  filter:brightness(1.035)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    0 9px 18px rgba(49,10,17,.14)!important;
}

.customer-side-menu nav a:hover:before{
  transform:translateX(120%);
}

.customer-side-menu nav a:active{
  transform:translateY(0) scale(.992)!important;
}

.customer-side-menu nav a.active{
  outline:2px solid rgba(255,255,255,.82)!important;
  outline-offset:-3px!important;
  background:
    linear-gradient(180deg,#f2ddad 0%,#d9b66f 100%)!important;
}

.customer-side-menu nav a .customer-side-dot,
.customer-side-menu nav a:nth-child(odd) .customer-side-dot,
.customer-side-menu nav a:nth-child(even) .customer-side-dot{
  border-color:rgba(95,32,41,.22)!important;
  background:#7a2530!important;
}

/* Mobile top MENU button sits next to HOME */
.customer-top-mobile-menu{
  display:none;
  min-width:104px;
  min-height:46px;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 14px;
  border:1px solid rgba(246,226,178,.56);
  border-radius:11px;
  background:linear-gradient(180deg,#ead39c,#d2ae68);
  color:#5f2029;
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.40),
    0 6px 15px rgba(49,10,17,.10);
  cursor:pointer;
}

.customer-top-mobile-menu-icon{
  width:16px;
  display:grid;
  gap:3px;
}

.customer-top-mobile-menu-icon i{
  display:block;
  height:1.5px;
  border-radius:999px;
  background:#5f2029;
}

/* Mobile menu buttons are gold only too */
@media(max-width:900px){
  .customer-top-mobile-menu{
    display:inline-flex;
  }

  .customer-mobile-menu{
    margin-top:8px!important;
    background:#6b202a!important;
  }

  .customer-mobile-menu summary{
    display:none!important;
  }

  .customer-mobile-menu nav{
    background:
      linear-gradient(180deg,#77242f,#5e1a23)!important;
  }

  .customer-mobile-menu nav a,
  .customer-mobile-menu nav a:nth-child(odd),
  .customer-mobile-menu nav a:nth-child(even){
    position:relative;
    overflow:hidden;
    border:1px solid rgba(246,226,178,.42)!important;
    background:linear-gradient(180deg,#ead39c,#d2ae68)!important;
    color:#5f2029!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.34),
      0 4px 11px rgba(49,10,17,.08)!important;
    transition:transform .15s ease,filter .15s ease!important;
  }

  .customer-mobile-menu nav a:active{
    transform:scale(.985);
  }

  .customer-mobile-menu nav a.active{
    outline:2px solid rgba(255,255,255,.82)!important;
    outline-offset:-3px!important;
    background:linear-gradient(180deg,#f2ddad,#d9b66f)!important;
  }

  .customer-mobile-menu nav a.signout{
    grid-column:1/-1;
    border-color:rgba(255,255,255,.20)!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
  }
}

@media(max-width:520px){
  .customer-top-mobile-menu{
    min-width:46px;
    width:46px;
    padding:0;
  }

  .customer-top-mobile-menu span:last-child{
    display:none;
  }

  .customer-top-mobile-menu-icon{
    width:17px;
  }

  .customer-mobile-menu nav a.signout{
    grid-column:auto;
  }
}

@media(max-width:390px){
  .customer-top-mobile-menu{
    width:42px;
    min-width:42px;
    min-height:42px;
  }
}


/* ============================================================
   SLIDING MOBILE MENU · V1.14.7
   ============================================================ */

.customer-slide-menu,
.customer-slide-backdrop{
  display:none;
}

@media(max-width:900px){
  .customer-mobile-menu{
    display:none!important;
  }

  .customer-slide-menu{
    position:fixed;
    z-index:2000;
    top:0;
    right:0;
    width:min(360px,88vw);
    height:100dvh;
    display:block;
    overflow:auto;
    padding-top:env(safe-area-inset-top);
    border-left:1px solid rgba(233,210,154,.28);
    background:
      radial-gradient(circle at 100% 0,rgba(255,255,255,.05),transparent 32%),
      linear-gradient(180deg,#7f2732 0%,#6a1f29 52%,#561820 100%);
    box-shadow:-20px 0 50px rgba(46,8,14,.28);
    transform:translateX(105%);
    transition:transform .24s cubic-bezier(.22,.72,.22,1);
    will-change:transform;
  }

  .customer-slide-menu.is-open{
    transform:translateX(0);
  }

  .customer-slide-menu-head{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:16px 16px 14px;
    border-bottom:1px solid rgba(233,210,154,.24);
  }

  .customer-slide-menu-head small{
    display:block;
    color:#e7ce91;
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  .customer-slide-menu-head strong{
    display:block;
    margin-top:3px;
    color:#fff;
    font:600 22px Georgia,"Times New Roman",serif;
  }

  .customer-slide-close{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.16);
    border-radius:10px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:24px;
    cursor:pointer;
  }

  .customer-slide-menu nav{
    display:grid;
    gap:7px;
    padding:13px;
  }

  .customer-slide-menu nav a{
    position:relative;
    overflow:hidden;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    border:1px solid rgba(246,226,178,.42);
    border-radius:11px;
    background:linear-gradient(180deg,#ead39c,#d2ae68);
    color:#5f2029;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.34),
      0 5px 12px rgba(49,10,17,.09);
    transition:transform .15s ease,filter .15s ease;
  }

  .customer-slide-menu nav a:active{
    transform:scale(.985);
  }

  .customer-slide-menu nav a.active{
    outline:2px solid rgba(255,255,255,.82);
    outline-offset:-3px;
    background:linear-gradient(180deg,#f2ddad,#d9b66f);
  }

  .customer-slide-menu nav a.signout{
    margin-top:4px;
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.09);
    color:#fff;
  }

  .customer-slide-backdrop{
    position:fixed;
    inset:0;
    z-index:1900;
    display:block;
    background:rgba(34,7,11,.38);
    backdrop-filter:blur(2px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility .22s ease;
  }

  .customer-slide-backdrop.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .customer-slide-backdrop[hidden]{
    display:block!important;
    visibility:hidden;
  }

  body.customer-slide-open{
    overflow:hidden;
  }
}

@media(max-width:520px){
  .customer-slide-menu{
    width:min(330px,90vw);
  }
}


/* ============================================================
   MOBILE SUMMARY GRID · V1.14.8
   Equal 3-across / 2-across metric boxes
   ============================================================ */

.account-overview-strip{
  align-items:stretch!important;
}

.account-overview-strip > div{
  min-width:0!important;
  height:100%!important;
  min-height:92px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

.account-overview-strip small{
  width:100%!important;
  min-height:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.25!important;
}

.account-overview-strip strong{
  width:100%!important;
  text-align:center!important;
}

/* Large phones / landscape phones: 3 equal boxes per row */
@media(max-width:680px) and (min-width:481px){
  .account-overview-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .account-overview-strip > div{
    min-height:88px!important;
  }
}

/* Normal + small phones: 2 equal boxes per row */
@media(max-width:480px){
  .account-overview-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .account-overview-strip > div{
    min-height:84px!important;
    padding:11px 7px!important;
  }

  .account-overview-strip small{
    font-size:9px!important;
  }

  .account-overview-strip strong{
    font-size:25px!important;
  }
}

/* Never collapse to one box per row */
@media(max-width:380px){
  .account-overview-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* CUSTOMER BOOKING CONVERSION · V1.15.5 */
.booking-conversion-panel{
  width:100%;
  margin:0 0 16px;
  padding:20px;
  border:1px solid rgba(184,138,68,.22);
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0,rgba(184,138,68,.10),transparent 30%),
    linear-gradient(145deg,#fffdf8,#f6f0e6);
  box-shadow:0 14px 34px rgba(58,34,23,.06);
}
.booking-conversion-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.booking-conversion-heading small{
  display:block;
  color:#a77b39;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}
.booking-conversion-heading h2{
  margin:4px 0 2px;
  color:#123f35;
  font:600 29px/1.05 Georgia,"Times New Roman",serif;
}
.booking-conversion-heading p{
  margin:0;
  color:#78857e;
  font-size:12px;
}
.booking-conversion-primary{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 17px;
  border:1px solid rgba(242,222,170,.52);
  border-radius:10px;
  background:linear-gradient(180deg,#ead39c,#d2ae68);
  color:#5f2029;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.booking-conversion-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.booking-conversion-card{
  min-width:0;
  min-height:116px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-rows:1fr auto;
  gap:4px 10px;
  padding:14px;
  border:1px solid rgba(18,63,53,.10);
  border-radius:13px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.booking-conversion-card:hover{
  transform:translateY(-2px);
  border-color:rgba(184,138,68,.35);
  box-shadow:0 9px 22px rgba(44,42,32,.07);
}
.booking-conversion-icon{
  grid-row:1/3;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#123f35;
  color:#ecd38f;
  font-size:17px;
  font-weight:900;
}
.booking-conversion-card small{
  display:block;
  color:#a47b3a;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
}
.booking-conversion-card strong{
  display:block;
  margin-top:3px;
  color:#123f35;
  font:600 18px/1.1 Georgia,"Times New Roman",serif;
}
.booking-conversion-card p{
  margin:5px 0 0;
  color:#78857e;
  font-size:11px;
  line-height:1.45;
}
.booking-conversion-card b{
  grid-column:2;
  color:#7a2530;
  font-size:10px;
  font-weight:900;
}
@media(max-width:900px){
  .booking-conversion-grid{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .booking-conversion-panel{padding:13px;border-radius:14px;}
  .booking-conversion-heading{align-items:flex-start;flex-direction:column;gap:10px;}
  .booking-conversion-heading h2{font-size:24px;}
  .booking-conversion-primary{width:100%;}
  .booking-conversion-card{min-height:104px;}
}


/* ============================================================
   LIVE CUSTOMER AVAILABILITY · V1.15.7
   ============================================================ */

.customer-live-tables{
  width:100%;
  margin:0 0 16px;
  padding:18px;
  border:1px solid rgba(18,63,53,.11);
  border-radius:17px;
  background:
    radial-gradient(circle at 100% 0,rgba(18,63,53,.055),transparent 32%),
    #fffdf9;
  box-shadow:0 10px 26px rgba(48,41,29,.05);
}

.customer-live-tables-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:13px;
}

.customer-live-tables-head small{
  display:block;
  color:#a47a3a;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}

.customer-live-tables-head h2{
  margin:4px 0 2px;
  color:#123f35;
  font:600 27px/1.05 Georgia,"Times New Roman",serif;
}

.customer-live-tables-head p{
  margin:0;
  color:#78857e;
  font-size:11px;
}

.customer-live-status{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border-radius:999px;
  background:#f3e4bd;
  color:#64212a;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}

.customer-live-days{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}

.customer-live-day{
  min-width:0;
  padding:13px;
  border:1px solid rgba(18,63,53,.08);
  border-radius:13px;
  background:#fff;
}

.customer-live-day-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.customer-live-day-title small{
  display:block;
  color:#a47a3a;
  font-size:8px;
  font-weight:900;
  letter-spacing:.10em;
}

.customer-live-day-title strong{
  display:block;
  margin-top:2px;
  color:#123f35;
  font-size:13px;
}

.customer-live-day-title > a{
  color:#7a2530;
  font-size:9px;
  font-weight:900;
  text-decoration:none;
}

.customer-live-slots{
  min-height:52px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}

.customer-live-slot{
  min-width:0;
  min-height:50px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:6px 5px;
  border:1px solid rgba(184,138,68,.28);
  border-radius:9px;
  background:linear-gradient(180deg,#f4e5bd,#e2c583);
  color:#5f2029;
  text-align:center;
  text-decoration:none;
  transition:transform .15s ease,box-shadow .15s ease;
}

.customer-live-slot:hover{
  transform:translateY(-2px);
  box-shadow:0 7px 15px rgba(75,43,19,.10);
}

.customer-live-slot strong{
  font-size:11px;
  line-height:1.1;
}

.customer-live-slot small{
  max-width:100%;
  margin-top:3px;
  overflow:hidden;
  color:#805a39;
  font-size:7px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.customer-live-loading,
.customer-live-empty{
  grid-column:1/-1;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  border-radius:9px;
  background:#f7f3ec;
  color:#8a948f;
  font-size:10px;
  text-align:center;
}

@media(max-width:900px){
  .customer-live-days{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .customer-live-tables{
    padding:13px;
    border-radius:14px;
  }

  .customer-live-tables-head{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .customer-live-tables-head h2{
    font-size:23px;
  }

  .customer-live-slots{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .customer-live-slot{
    min-height:48px;
  }
}


/* CUSTOMER BOOKING PROFILE · V1.15.8 */
.customer-booking-profile-summary{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 16px;
  padding:17px 18px;
  border:1px solid rgba(184,138,68,.20);
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0,rgba(184,138,68,.09),transparent 30%),
    linear-gradient(145deg,#fffdf8,#f7f0e6);
}
.customer-profile-summary-copy > small{
  display:block;
  color:#a47a3a;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
.customer-profile-summary-copy h2{
  margin:4px 0 5px;
  color:#123f35;
  font:600 24px/1.05 Georgia,"Times New Roman",serif;
}
.customer-profile-summary-copy p{
  margin:0;
  color:#7a8680;
  font-size:11px;
}
.customer-profile-chips{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:9px;
}
.customer-profile-chips span{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(18,63,53,.09);
  color:#53645b;
  font-size:9px;
  font-weight:800;
}
.customer-profile-summary-actions{
  min-width:230px;
  display:grid;
  gap:7px;
}
.customer-profile-manage,
.customer-profile-occasion{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-radius:9px;
  text-decoration:none;
}
.customer-profile-manage{
  border:1px solid rgba(184,138,68,.30);
  background:linear-gradient(180deg,#ead39c,#d2ae68);
  color:#5f2029;
  font-size:10px;
  font-weight:900;
}
.customer-profile-occasion{
  flex-direction:column;
  align-items:flex-start;
  padding:10px 12px;
  background:#7a2530;
  color:#fff;
}
.customer-profile-occasion small{
  color:#ead39c;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}
.customer-profile-occasion strong{
  margin-top:2px;
  font:600 20px Georgia,"Times New Roman",serif;
}
.customer-profile-occasion span{
  margin-top:3px;
  font-size:9px;
  font-weight:800;
}
.booking-profile-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.booking-profile-form label{
  display:block;
  margin:13px 0 6px;
  color:#31453b;
  font-size:12px;
  font-weight:900;
}
.booking-profile-form select,
.booking-profile-form input,
.booking-profile-form textarea{
  width:100%;
  min-height:48px;
  padding:0 12px;
  border:1px solid rgba(18,63,53,.13);
  border-radius:10px;
  background:#fff;
  color:#26382f;
  font-size:13px;
  font-family:inherit;
  outline:none;
}
.booking-profile-form textarea{
  min-height:108px;
  padding-top:11px;
  resize:vertical;
}
.booking-profile-save{
  width:100%;
  min-height:48px;
  margin-top:17px;
  border:1px solid rgba(242,222,170,.50);
  border-radius:10px;
  background:linear-gradient(180deg,#ead39c,#d2ae68);
  color:#5f2029;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
@media(max-width:820px){
  .customer-booking-profile-summary{
    align-items:flex-start;
    flex-direction:column;
  }
  .customer-profile-summary-actions{
    width:100%;
    min-width:0;
  }
  .booking-profile-grid{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   CLEAN BALANCED CUSTOMER HOME · V1.16.1
   ============================================================ */

/* Reservation area now intentionally compact */
.booking-conversion-simple{
  padding:17px 18px!important;
  margin-bottom:14px!important;
}

.booking-conversion-simple .booking-conversion-heading{
  margin-bottom:10px!important;
}

.booking-conversion-simple .booking-conversion-heading h2{
  font-size:26px!important;
}

.booking-conversion-simple-links{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.booking-conversion-simple-links a{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border:1px solid rgba(18,63,53,.09);
  border-radius:8px;
  background:#fff;
  color:#5f2029;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
}

/* Live availability remains, but visually quieter */
.customer-live-tables{
  margin-bottom:14px!important;
  padding:16px!important;
  box-shadow:none!important;
}

.customer-live-tables-head h2{
  font-size:24px!important;
}

.customer-live-slots{
  min-height:46px!important;
}

/* Restore normal page bottom spacing now sticky CTA is gone */
body.customer-account-page{
  padding-bottom:0!important;
}

@media(max-width:620px){
  .booking-conversion-simple{
    padding:13px!important;
  }

  .booking-conversion-simple .booking-conversion-heading{
    gap:8px!important;
  }

  .booking-conversion-simple .booking-conversion-heading h2{
    font-size:22px!important;
  }

  .booking-conversion-simple-links{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .booking-conversion-simple-links a{
    width:100%;
  }
}


/* FORGOT / RESET PASSWORD · V1.16.3 */
.customer-forgot-password{
  margin-top:10px;
  text-align:right;
}
.customer-forgot-password a,
.customer-reset-back a{
  color:#7a2530;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
}
.customer-forgot-password a:hover,
.customer-reset-back a:hover{
  text-decoration:underline;
}
.customer-reset-back{
  margin-top:14px;
  text-align:center;
}
.password-reset-shell .login-form input[name="code"]{
  text-align:center;
  font-size:21px;
  font-weight:900;
  letter-spacing:.22em;
}


/* ============================================================
   PAYMENT & DEPOSIT CLARITY · V1.16.4
   ============================================================ */

.customer-payment-line{
  width:max-content;
  max-width:100%;
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:7px;
  padding:7px 9px;
  border:1px solid rgba(18,63,53,.08);
  border-radius:9px;
  background:#f8f5ef;
}

.customer-payment-icon{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#8a948f;
}

.customer-payment-line > div{
  min-width:0;
}

.customer-payment-line strong{
  display:block;
  color:#43534b;
  font-size:9px;
  line-height:1.2;
}

.customer-payment-line small{
  display:block;
  margin-top:2px;
  color:#8a948f;
  font-size:8px;
  line-height:1.3;
}

.customer-payment-line.paid{
  background:#eef6f1;
  border-color:rgba(20,81,63,.10);
}
.customer-payment-line.paid .customer-payment-icon{background:#14513f;}
.customer-payment-line.paid strong{color:#14513f;}

.customer-payment-line.due,
.customer-payment-line.partial,
.customer-payment-line.failed{
  background:#fff7e7;
  border-color:rgba(184,138,68,.18);
}
.customer-payment-line.due .customer-payment-icon,
.customer-payment-line.partial .customer-payment-icon{background:#b88a44;}
.customer-payment-line.due strong,
.customer-payment-line.partial strong{color:#7a5a27;}

.customer-payment-line.failed{
  background:#fbefef;
  border-color:rgba(122,37,48,.14);
}
.customer-payment-line.failed .customer-payment-icon{background:#7a2530;}
.customer-payment-line.failed strong{color:#7a2530;}

.customer-payment-line.none{
  background:#f7f5f1;
}
.customer-payment-line.refunded{
  background:#f1f1f5;
}

.customer-payment-action{
  white-space:nowrap;
}

/* Booking Wallet */
.wallet-payment-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0 0 14px;
}

.wallet-payment-summary > div{
  min-height:64px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:10px 12px;
  border:1px solid rgba(18,63,53,.08);
  border-radius:10px;
  background:#faf7f1;
}

.wallet-payment-summary small{
  color:#8b7650;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.wallet-payment-summary strong{
  margin-top:3px;
  color:#123f35;
  font:600 22px/1 Georgia,"Times New Roman",serif;
}

.wallet-payment-card{
  margin-top:9px;
  padding:9px 10px;
  border:1px solid rgba(18,63,53,.08);
  border-radius:9px;
  background:#f8f5ef;
}

.wallet-payment-card .wallet-payment-state{
  display:block;
  color:#6f7a74;
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.wallet-payment-card strong{
  display:block;
  margin-top:3px;
  color:#405149;
  font-size:10px;
  line-height:1.35;
}

.wallet-payment-card.paid{
  background:#eef6f1;
  border-color:rgba(20,81,63,.10);
}
.wallet-payment-card.paid .wallet-payment-state,
.wallet-payment-card.paid strong{color:#14513f;}

.wallet-payment-card.due,
.wallet-payment-card.partial{
  background:#fff7e7;
  border-color:rgba(184,138,68,.18);
}
.wallet-payment-card.due .wallet-payment-state,
.wallet-payment-card.partial .wallet-payment-state{color:#8a662f;}

.wallet-payment-card.failed{
  background:#fbefef;
  border-color:rgba(122,37,48,.14);
}
.wallet-payment-card.failed .wallet-payment-state,
.wallet-payment-card.failed strong{color:#7a2530;}

@media(max-width:620px){
  .customer-payment-line{
    width:100%;
    box-sizing:border-box;
  }

  .wallet-payment-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
  }

  .wallet-payment-summary > div{
    min-height:58px;
    padding:7px;
    text-align:center;
  }

  .wallet-payment-summary small{
    font-size:7px;
  }

  .wallet-payment-summary strong{
    font-size:19px;
  }
}


/* ============================================================
   CUSTOMER NOTIFICATION PREFERENCES · V1.16.5
   ============================================================ */

.notification-preferences-form{
  width:100%;
}

.notification-pref-section{
  margin:0 0 14px;
  padding:17px;
  border:1px solid rgba(18,63,53,.09);
  border-radius:15px;
  background:#fffdf9;
}

.notification-pref-section.essential{
  background:
    radial-gradient(circle at 100% 0,rgba(18,63,53,.055),transparent 30%),
    #fffdf9;
}

.notification-pref-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}

.notification-pref-section-head small{
  display:block;
  color:#a47a3a;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}

.notification-pref-section-head h2{
  margin:4px 0 3px;
  color:#123f35;
  font:600 24px/1.06 Georgia,"Times New Roman",serif;
}

.notification-pref-section-head p{
  margin:0;
  color:#7a8780;
  font-size:11px;
}

.notification-essential-badge{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border-radius:999px;
  background:#123f35;
  color:#ead39c;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}

.notification-pref-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.notification-pref-card{
  min-width:0;
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px;
  border:1px solid rgba(18,63,53,.08);
  border-radius:11px;
  background:#faf7f1;
}

.notification-pref-card strong{
  display:block;
  color:#31473c;
  font-size:12px;
}

.notification-pref-card p{
  margin:4px 0 0;
  color:#829089;
  font-size:10px;
  line-height:1.45;
}

.notification-pref-card.selectable{
  cursor:pointer;
  background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease;
}

.notification-pref-card.selectable:hover{
  border-color:rgba(184,138,68,.28);
  box-shadow:0 7px 18px rgba(55,42,27,.045);
}

.notification-lock-state{
  min-width:38px;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#e9f3ed;
  color:#14513f;
  font-size:9px;
  font-weight:900;
}

.notification-switch{
  position:relative;
  width:44px;
  height:24px;
  flex:0 0 44px;
}

.notification-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.notification-switch i{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#dedbd4;
  transition:.18s ease;
}

.notification-switch i::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 5px rgba(0,0,0,.14);
  transition:.18s ease;
}

.notification-switch input:checked + i{
  background:#b88a44;
}

.notification-switch input:checked + i::after{
  transform:translateX(20px);
}

.notification-pref-savebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border:1px solid rgba(184,138,68,.18);
  border-radius:13px;
  background:#f8f1e4;
}

.notification-pref-savebar strong{
  display:block;
  color:#123f35;
  font-size:11px;
}

.notification-pref-savebar span{
  display:block;
  margin-top:2px;
  color:#7e8b84;
  font-size:9px;
}

.notification-pref-savebar button{
  min-height:42px;
  padding:0 16px;
  border:1px solid rgba(239,219,169,.55);
  border-radius:9px;
  background:linear-gradient(180deg,#ead39c,#d2ae68);
  color:#5f2029;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}

@media(max-width:720px){
  .notification-pref-grid{
    grid-template-columns:1fr;
  }

  .notification-pref-section{
    padding:13px;
  }

  .notification-pref-savebar{
    align-items:stretch;
    flex-direction:column;
  }

  .notification-pref-savebar button{
    width:100%;
  }
}


/* ============================================================
   CUSTOMER PORTAL PERFORMANCE CLEANUP · V1.16.7
   Dead reservation experiment styles removed.
   Active luxury portal modules preserved.
   ============================================================ */


/* ============================================================
   CUSTOMER SECURITY ACTIVITY · V1.16.8
   ============================================================ */

.customer-security-activity-card{
  margin-top:13px;
}

.customer-security-empty{
  padding:13px;
  border:1px dashed rgba(18,63,53,.14);
  border-radius:10px;
  background:#faf7f1;
  color:#7d8983;
  font-size:11px;
}

.customer-security-timeline{
  display:grid;
  gap:6px;
}

.customer-security-event{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border:1px solid rgba(18,63,53,.08);
  border-radius:10px;
  background:#fffdf9;
}

.customer-security-event-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#b88a44;
  box-shadow:0 0 0 4px rgba(184,138,68,.10);
}

.customer-security-event-main strong{
  display:block;
  color:#123f35;
  font-size:11px;
}

.customer-security-event-main p{
  margin:3px 0 0;
  color:#7e8b84;
  font-size:9px;
  line-height:1.4;
}

.customer-security-event-meta{
  min-width:105px;
  text-align:right;
}

.customer-security-event-meta span{
  display:block;
  color:#6f7d76;
  font-size:9px;
  font-weight:800;
}

.customer-security-event-meta small{
  display:block;
  margin-top:3px;
  color:#9aa39f;
  font-size:8px;
}

.customer-security-privacy-note{
  margin-top:9px;
  padding:9px 10px;
  border-radius:9px;
  background:#f7f3eb;
  color:#89938e;
  font-size:9px;
  line-height:1.45;
}

@media(max-width:620px){
  .customer-security-event{
    grid-template-columns:10px minmax(0,1fr);
  }

  .customer-security-event-meta{
    grid-column:2;
    min-width:0;
    text-align:left;
  }
}


/* ============================================================
   PAYMENTS & RECEIPTS · V1.16.9
   ============================================================ */
.payments-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.payments-summary > div{
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}
.payments-summary span{
  display:block;
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.payments-summary strong{
  display:block;
  margin-top:4px;
  color:var(--account-primary);
  font:700 27px Georgia,serif;
}
.payments-section{
  margin-top:14px;
}
.payment-due-list,
.payment-history-list{
  display:grid;
  gap:9px;
}
.payment-due-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:14px;
  align-items:center;
  padding:13px;
  border:1px solid rgba(184,138,68,.35);
  border-radius:12px;
  background:#fff8e7;
}
.payment-due-card > div:first-child > span{
  display:block;
  color:#987239;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.payment-due-card > div:first-child > strong{
  display:block;
  margin-top:3px;
  color:var(--account-primary);
  font:700 13px Georgia,serif;
}
.payment-due-card p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8px;
}
.payment-due-amount{
  text-align:right;
}
.payment-due-amount span{
  display:block;
  color:#85672f;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
}
.payment-due-amount strong{
  display:block;
  margin-top:3px;
  color:#6f5018;
  font:700 21px Georgia,serif;
}
.payment-history-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto auto;
  gap:12px;
  align-items:center;
  padding:12px 0;
  border-top:1px solid #ece4d8;
}
.payment-history-row:first-of-type{
  border-top:0;
}
.payment-history-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #ddd4c6;
  border-radius:10px;
  background:#fff;
  color:var(--account-primary);
  font-size:13px;
  font-weight:900;
}
.payment-history-main > span{
  display:block;
  color:#99753a;
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.payment-history-main > strong{
  display:block;
  margin-top:3px;
  color:var(--account-primary);
  font:700 12px Georgia,serif;
}
.payment-history-main p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8px;
}
.payment-history-amount{
  text-align:right;
}
.payment-history-amount > strong{
  display:block;
  color:var(--account-primary);
  font:700 15px Georgia,serif;
}
.payment-status{
  display:inline-flex;
  margin-top:4px;
  padding:4px 7px;
  border-radius:999px;
  background:#f1ece5;
  color:#68706c;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
}
.payment-status.paid{
  background:#eaf5ef;
  color:#286047;
}
.payment-status.pending{
  background:#fff3d7;
  color:#7d5d21;
}
.payment-status.refunded{
  background:#eef0f5;
  color:#535e76;
}
.payment-status.expired,
.payment-status.failed{
  background:#fbeaea;
  color:#913535;
}
.payment-history-actions{
  display:flex;
  gap:6px;
}
.payment-receipt-note{
  margin-top:13px;
  padding:9px 10px;
  border-radius:9px;
  background:#f7f2e9;
  color:var(--muted);
  font-size:8px;
  line-height:1.5;
}
.receipt-shell{
  max-width:760px;
  margin:8px auto 0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 20px 55px rgba(18,63,53,.07);
}
.receipt-head{
  padding:27px;
  background:
    radial-gradient(circle at 88% 4%,rgba(218,184,112,.15),transparent 28%),
    linear-gradient(145deg,var(--account-primary),#062d27);
  color:#fff;
  text-align:center;
}
.receipt-head > span{
  color:#dfbb72;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.receipt-head h1{
  margin:6px 0 0;
  color:#fff;
  font:700 29px Georgia,serif;
}
.receipt-head p{
  margin:6px 0 0;
  color:rgba(255,255,255,.65);
  font-size:9px;
}
.receipt-body{
  padding:27px;
}
.receipt-total{
  text-align:center;
}
.receipt-total > span{
  display:block;
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
}
.receipt-total > strong{
  display:block;
  margin-top:5px;
  color:var(--account-primary);
  font:700 43px Georgia,serif;
}
.receipt-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:22px;
}
.receipt-grid > div{
  padding:11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fffdfa;
}
.receipt-grid span,
.receipt-customer > span{
  display:block;
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.receipt-grid strong{
  display:block;
  margin-top:4px;
  color:var(--account-primary);
  font-size:10px;
  overflow-wrap:anywhere;
}
.receipt-customer{
  margin-top:12px;
  padding:12px;
  border-radius:10px;
  background:#f8f3e9;
}
.receipt-customer strong{
  display:block;
  margin-top:4px;
  color:var(--account-primary);
  font:700 13px Georgia,serif;
}
.receipt-customer p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:8px;
}
.receipt-venue{
  margin-top:14px;
  color:var(--muted);
  font-size:8px;
  line-height:1.6;
  text-align:center;
}
.receipt-actions{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:17px;
}
.receipt-legal{
  margin-top:18px;
  padding-top:13px;
  border-top:1px solid #ece4d8;
  color:#7c837f;
  font-size:8px;
  line-height:1.5;
  text-align:center;
}
.payment-dashboard-due{
  margin-bottom:9px;
  padding:9px 10px;
  border:1px solid rgba(184,138,68,.32);
  border-radius:9px;
  background:#fff7e4;
}
.payment-dashboard-due strong{
  display:block;
  color:#76571f;
  font-size:9px;
}
.payment-dashboard-due span{
  display:block;
  margin-top:3px;
  color:#7d7054;
  font-size:8px;
}
@media(max-width:720px){
  .payment-due-card{
    grid-template-columns:1fr auto;
  }
  .payment-due-card > .account-btn{
    grid-column:1/-1;
    width:100%;
  }
  .payment-history-row{
    grid-template-columns:38px minmax(0,1fr) auto;
  }
  .payment-history-actions{
    grid-column:2/-1;
    justify-content:flex-start;
  }
}
@media(max-width:520px){
  .payments-summary{
    grid-template-columns:1fr;
  }
  .receipt-grid{
    grid-template-columns:1fr;
  }
  .receipt-actions{
    flex-direction:column;
  }
  .receipt-actions .account-btn{
    width:100%;
  }
}
@media print{
  .account-topbar,
  .account-footer,
  .receipt-actions{
    display:none!important;
  }
  .account-main{
    width:100%;
    margin:0;
  }
  .receipt-shell{
    border:0;
    box-shadow:none;
    margin:0 auto;
  }
  body{
    background:#fff;
  }
}

.payments-hero{
  margin-bottom:14px;
}
.payment-history-row,
.payment-due-card{
  transition:transform .14s ease,box-shadow .14s ease;
}
.payment-history-row:hover,
.payment-due-card:hover{
  transform:translateY(-1px);
}


/* ==========================================================
   V1.7.5 · CUSTOMER GIFT VOUCHER WALLET
   ========================================================== */

.voucher-wallet-hero{
  background:
    radial-gradient(circle at 88% 5%,rgba(216,186,124,.20),transparent 28%),
    linear-gradient(145deg,#0d3b33,#062c27)!important;
}
.voucher-wallet-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:14px;
}
.voucher-wallet-summary > div{
  padding:14px;
  border:1px solid rgba(185,139,72,.22);
  border-radius:13px;
  background:#fffdf8;
  box-shadow:0 8px 24px rgba(13,59,51,.055);
}
.voucher-wallet-summary span{
  display:block;
  color:#777f7b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.voucher-wallet-summary strong{
  display:block;
  margin-top:5px;
  color:#0d3b33;
  font:700 25px Georgia,serif;
}
.voucher-wallet-section{
  margin-top:14px;
}
.voucher-wallet-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}
.voucher-wallet-card{
  position:relative;
  overflow:hidden;
  padding:18px;
  border:1px solid rgba(216,186,124,.30);
  border-radius:17px;
  background:
    radial-gradient(circle at 94% 5%,rgba(216,186,124,.12),transparent 27%),
    linear-gradient(145deg,#0d3b33,#062c27);
  box-shadow:0 14px 34px rgba(6,44,39,.14);
  color:#fff;
}
.voucher-wallet-card::after{
  content:"";
  position:absolute;
  right:-35px;
  bottom:-42px;
  width:120px;
  height:120px;
  border:1px solid rgba(216,186,124,.12);
  border-radius:50%;
}
.voucher-wallet-card-top{
  position:relative;
  z-index:1;
}
.voucher-wallet-card-top span{
  display:block;
  color:#d8ba7c;
  font-size:10px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.voucher-wallet-card-top b{
  display:block;
  margin-top:4px;
  color:#fff;
  font:700 17px Georgia,serif;
}
.voucher-wallet-balance{
  position:relative;
  z-index:1;
  margin-top:18px;
}
.voucher-wallet-balance span,
.voucher-wallet-code span{
  display:block;
  color:rgba(255,255,255,.58);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}
.voucher-wallet-balance strong{
  display:block;
  margin-top:4px;
  color:#fff;
  font:700 34px Georgia,serif;
}
.voucher-wallet-code{
  position:relative;
  z-index:1;
  margin-top:14px;
  padding:10px 11px;
  border:1px dashed rgba(216,186,124,.44);
  border-radius:10px;
  background:rgba(255,255,255,.045);
}
.voucher-wallet-code strong{
  display:block;
  margin-top:4px;
  color:#e2c786;
  font:700 14px monospace;
  letter-spacing:.08em;
}
.voucher-wallet-meta{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:12px 0;
}
.voucher-wallet-meta span{
  color:rgba(255,255,255,.70);
  font-size:13px;
}
.voucher-wallet-card .account-btn{
  position:relative;
  z-index:2;
}
.voucher-history-list{
  display:grid;
}
.voucher-history-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:12px;
  align-items:center;
  padding:11px 0;
  border-top:1px solid #ece4d8;
}
.voucher-history-row:first-child{
  border-top:0;
}
.voucher-history-row > div strong{
  display:block;
  color:#0d3b33;
  font-size:12px;
}
.voucher-history-row > div span{
  display:block;
  margin-top:3px;
  color:#777f7b;
  font-size:11px;
  font-family:monospace;
}
.voucher-history-row > b{
  color:#0d3b33;
  font:700 14px Georgia,serif;
}
.voucher-state{
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.voucher-state.pending{
  background:#fff3d7;
  color:#7d5d21;
}
.voucher-state.used{
  background:#eaf0ed;
  color:#52625b;
}
.voucher-state.expired{
  background:#f7e9e6;
  color:#8c4439;
}
.voucher-wallet-help{
  margin-top:14px;
  padding:13px 15px;
  border:1px solid rgba(185,139,72,.22);
  border-radius:12px;
  background:#fff9ed;
}
.voucher-wallet-help strong{
  display:block;
  color:#0d3b33;
  font:700 13px Georgia,serif;
}
.voucher-wallet-help p{
  margin:5px 0 0;
  color:#6d7772;
  font-size:13px;
  line-height:1.55;
}
@media(max-width:700px){
  .voucher-wallet-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:520px){
  .voucher-wallet-summary{
    grid-template-columns:1fr;
  }
  .voucher-history-row{
    grid-template-columns:1fr auto;
  }
  .voucher-state{
    grid-column:1/-1;
    justify-self:start;
  }
}


/* ============================================================
   GIFT VOUCHER WALLET · V1.17.0
   Current luxury customer shell integration.
   ============================================================ */

.voucher-wallet-summary{
  margin-bottom:14px;
}

.voucher-wallet-card .account-btn.gold{
  display:inline-flex;
  min-height:39px;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-radius:9px;
  text-decoration:none;
}

@media(max-width:620px){
  .voucher-wallet-card{
    padding:15px;
  }

  .voucher-wallet-balance strong{
    font-size:30px;
  }
}


/* ============================================================
   PREMIUM LOYALTY & REWARDS · V1.17.1
   ============================================================ */

.premium-loyalty-hero{
  margin-bottom:14px;
  background:
    radial-gradient(circle at 90% 0,rgba(220,188,125,.18),transparent 30%),
    linear-gradient(145deg,#123f35,#072f29)!important;
}

.premium-loyalty-hero h1{
  max-width:760px;
}

.premium-loyalty-hero-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  max-width:700px;
  margin-top:18px;
}

.premium-loyalty-hero-stats > div{
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:11px;
  background:rgba(255,255,255,.055);
}

.premium-loyalty-hero-stats strong{
  display:block;
  color:#fff;
  font:600 25px/1 Georgia,"Times New Roman",serif;
}

.premium-loyalty-hero-stats span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.65);
  font-size:9px;
  font-weight:800;
}

.premium-reward-ready{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding:15px 17px;
  border:1px solid rgba(184,138,68,.24);
  border-radius:13px;
  background:linear-gradient(145deg,#fff8e8,#f7edd7);
}

.premium-reward-ready small,
.premium-loyalty-section-head small{
  display:block;
  color:#a07739;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
}

.premium-reward-ready h2,
.premium-loyalty-section-head h2{
  margin:4px 0 0;
  color:#123f35;
  font:600 21px/1.08 Georgia,"Times New Roman",serif;
}

.premium-reward-ready p{
  max-width:720px;
  margin:5px 0 0;
  color:#738079;
  font-size:10px;
  line-height:1.45;
}

.premium-reward-ready > span{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border-radius:999px;
  background:#123f35;
  color:#ead39c;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}

.premium-loyalty-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:14px;
  align-items:start;
}

.premium-loyalty-programmes{
  display:grid;
  gap:10px;
}

.premium-loyalty-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.premium-loyalty-card{
  overflow:hidden;
  border:1px solid rgba(18,63,53,.10);
  border-radius:15px;
  background:#fffdf9;
  box-shadow:0 10px 28px rgba(18,63,53,.055);
}

.premium-loyalty-card-stripe{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  height:3px;
}

.premium-loyalty-card-stripe i:nth-child(1){background:#178047}
.premium-loyalty-card-stripe i:nth-child(2){background:#f5f0e6}
.premium-loyalty-card-stripe i:nth-child(3){background:#be2f3b}

.premium-loyalty-card-body{
  padding:16px;
}

.premium-loyalty-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.premium-loyalty-card-top small{
  display:block;
  color:#a27739;
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
}

.premium-loyalty-card-top h3{
  margin:4px 0 0;
  color:#123f35;
  font:600 20px Georgia,"Times New Roman",serif;
}

.premium-loyalty-points{
  text-align:right;
}

.premium-loyalty-points strong{
  display:block;
  color:#123f35;
  font:600 29px/1 Georgia,"Times New Roman",serif;
}

.premium-loyalty-points span{
  display:block;
  margin-top:3px;
  color:#83908a;
  font-size:8px;
  font-weight:900;
}

.premium-loyalty-reward{
  margin-top:13px;
  padding:10px 11px;
  border:1px solid rgba(184,138,68,.16);
  border-radius:9px;
  background:#fff8eb;
}

.premium-loyalty-reward span{
  display:block;
  color:#9a753b;
  font-size:8px;
  font-weight:900;
}

.premium-loyalty-reward strong{
  display:block;
  margin-top:3px;
  color:#6b4b19;
  font-size:11px;
}

.premium-loyalty-progress{
  margin-top:13px;
}

.premium-loyalty-progress > div:first-child{
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:#ece6dc;
}

.premium-loyalty-progress > div:first-child span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#123f35,#43806d);
}

.premium-loyalty-progress-copy{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:6px;
}

.premium-loyalty-progress-copy span{
  color:#83908a;
  font-size:9px;
}

.premium-loyalty-progress-copy strong{
  color:#123f35;
  font-size:9px;
}

.premium-loyalty-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:12px;
  padding:10px 11px;
  border:1px solid rgba(18,63,53,.08);
  border-radius:10px;
  background:#f8f5ef;
}

.premium-loyalty-status.ready{
  border-color:rgba(20,81,63,.12);
  background:#edf6f1;
}

.premium-loyalty-status small{
  display:block;
  color:#9a753b;
  font-size:7px;
  font-weight:900;
}

.premium-loyalty-status strong{
  display:block;
  margin-top:3px;
  color:#123f35;
  font-size:11px;
}

.premium-loyalty-status > span{
  color:#7b6750;
  font-size:9px;
  font-weight:900;
}

.premium-loyalty-status.ready > span{
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#14513f;
  color:#fff;
  font-size:12px;
}

.premium-loyalty-earn-rule{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
  color:#7a8780;
  font-size:9px;
}

.premium-loyalty-earn-rule strong{
  color:#4b5c53;
}

.premium-loyalty-how{
  margin-top:2px;
}

.premium-loyalty-how-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}

.premium-loyalty-how-grid article{
  padding:11px;
  border:1px solid rgba(18,63,53,.08);
  border-radius:10px;
  background:#faf8f4;
}

.premium-loyalty-how-grid article > span{
  display:block;
  color:#b88a44;
  font-size:8px;
  font-weight:900;
}

.premium-loyalty-how-grid strong{
  display:block;
  margin-top:5px;
  color:#123f35;
  font-size:11px;
}

.premium-loyalty-how-grid p{
  margin:4px 0 0;
  color:#7e8b84;
  font-size:9px;
  line-height:1.4;
}

.premium-loyalty-activity{
  min-width:0;
}

.premium-loyalty-activity-list{
  display:grid;
  gap:0;
  margin-top:10px;
}

.premium-loyalty-activity-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:10px 0;
  border-top:1px solid rgba(18,63,53,.08);
}

.premium-loyalty-activity-row:first-child{
  border-top:0;
}

.premium-loyalty-activity-row strong{
  color:#123f35;
  font-size:10px;
}

.premium-loyalty-activity-row p{
  margin:3px 0 0;
  color:#7f8b85;
  font-size:9px;
  line-height:1.4;
}

.premium-loyalty-activity-row small{
  display:block;
  margin-top:4px;
  color:#a0a8a4;
  font-size:8px;
}

.premium-loyalty-activity-row > span{
  font-size:11px;
  font-weight:900;
}

.premium-loyalty-activity-row > span.plus{
  color:#176044;
}

.premium-loyalty-activity-row > span.minus{
  color:#7a2732;
}

.premium-loyalty-history-note{
  margin-top:8px;
  padding:8px 9px;
  border-radius:8px;
  background:#f7f3eb;
  color:#89938e;
  font-size:8px;
  text-align:center;
}

.premium-loyalty-empty{
  padding:18px;
  text-align:center;
}

.premium-loyalty-empty strong{
  display:block;
  color:#123f35;
  font:600 17px Georgia,"Times New Roman",serif;
}

.premium-loyalty-empty p{
  margin:5px 0 0;
  color:#7d8983;
  font-size:9px;
}

.premium-loyalty-empty.compact{
  padding:17px 6px;
}

@media(max-width:900px){
  .premium-loyalty-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .premium-loyalty-hero-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
  }

  .premium-loyalty-hero-stats > div{
    padding:8px 6px;
    text-align:center;
  }

  .premium-loyalty-hero-stats strong{
    font-size:21px;
  }

  .premium-loyalty-hero-stats span{
    font-size:7px;
  }

  .premium-reward-ready{
    align-items:flex-start;
    flex-direction:column;
  }

  .premium-loyalty-how-grid{
    grid-template-columns:1fr;
  }

  .premium-loyalty-card-body{
    padding:13px;
  }
}


/* ============================================================
   CUSTOMER FEEDBACK CENTRE · V1.17.2
   ============================================================ */

.feedback-centre-hero{
  margin-bottom:14px;
  background:
    radial-gradient(circle at 90% 0,rgba(220,188,125,.16),transparent 30%),
    linear-gradient(145deg,#7a2530,#5a1821)!important;
}

.feedback-centre-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  max-width:650px;
  margin-top:17px;
}

.feedback-centre-stats > div{
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
  background:rgba(255,255,255,.055);
}

.feedback-centre-stats strong{
  display:block;
  color:#fff;
  font:600 24px/1 Georgia,"Times New Roman",serif;
}

.feedback-centre-stats span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.66);
  font-size:9px;
  font-weight:800;
}

.feedback-centre-section{
  margin-bottom:14px;
}

.feedback-centre-section .account-card-head small{
  display:block;
  color:#a77d3b;
  font-size:8px;
  font-weight:900;
  letter-spacing:.10em;
}

.feedback-due-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.feedback-due-card{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid rgba(184,138,68,.18);
  border-radius:11px;
  background:#fff8eb;
}

.feedback-due-card small{
  display:block;
  color:#a1783b;
  font-size:8px;
  font-weight:900;
}

.feedback-due-card strong{
  display:block;
  margin-top:3px;
  color:#123f35;
  font-size:11px;
}

.feedback-due-card p{
  margin:3px 0 0;
  color:#7e8a84;
  font-size:9px;
}

.feedback-history-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

.feedback-history-card{
  min-width:0;
  padding:13px;
  border:1px solid rgba(18,63,53,.08);
  border-radius:11px;
  background:#fffdf9;
}

.feedback-history-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.feedback-history-top small{
  display:block;
  color:#a1783b;
  font-size:8px;
  font-weight:900;
}

.feedback-history-top strong{
  display:block;
  margin-top:3px;
  color:#123f35;
  font-size:11px;
}

.feedback-history-stars{
  white-space:nowrap;
  font-size:13px;
  letter-spacing:1px;
}

.feedback-history-stars span{
  color:#b88a44;
}

.feedback-history-stars i{
  color:#ded7ca;
  font-style:normal;
}

.feedback-history-reference{
  margin-top:8px;
  color:#8b938f;
  font:700 9px/1.2 monospace;
}

.feedback-history-card blockquote{
  margin:10px 0 0;
  padding:9px 10px;
  border-left:3px solid #b88a44;
  border-radius:0 8px 8px 0;
  background:#faf7f1;
  color:#55635c;
  font-size:9px;
  line-height:1.5;
}

.feedback-history-no-comment{
  margin:10px 0 0;
  color:#8b958f;
  font-size:9px;
}

.feedback-history-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:11px;
  padding-top:9px;
  border-top:1px solid rgba(18,63,53,.07);
}

.feedback-history-actions > span{
  color:#9aa19d;
  font-size:8px;
}

.feedback-centre-note{
  padding:12px 14px;
  border:1px solid rgba(184,138,68,.18);
  border-radius:11px;
  background:#f9f3e7;
}

.feedback-centre-note strong{
  display:block;
  color:#123f35;
  font-size:10px;
}

.feedback-centre-note p{
  margin:4px 0 0;
  color:#7d8983;
  font-size:9px;
  line-height:1.45;
}

.feedback-form-card{
  max-width:850px;
  margin:0 auto;
}

.feedback-label{
  display:block;
  color:#123f35;
  font-size:10px;
  font-weight:900;
}

.feedback-rating-picker{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:6px;
  margin-top:7px;
}

.feedback-rating-picker label{
  cursor:pointer;
}

.feedback-rating-picker input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.feedback-rating-picker span{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid rgba(18,63,53,.10);
  border-radius:10px;
  background:#faf8f4;
}

.feedback-rating-picker input:checked + span{
  border-color:#b88a44;
  background:#fff4dc;
  box-shadow:0 0 0 2px rgba(184,138,68,.08);
}

.feedback-rating-picker b{
  color:#123f35;
  font-size:12px;
}

.feedback-rating-picker em{
  color:#b88a44;
  font-size:14px;
  font-style:normal;
}

.feedback-comment{
  width:100%;
  min-height:130px;
  margin-top:7px;
  box-sizing:border-box;
  padding:12px;
  border:1px solid rgba(18,63,53,.12);
  border-radius:10px;
  background:#fff;
  color:#31453b;
  font:inherit;
  font-size:11px;
  resize:vertical;
}

.feedback-privacy-note{
  margin-top:9px;
  padding:9px 10px;
  border-radius:9px;
  background:#f7f3eb;
  color:#89938e;
  font-size:9px;
  line-height:1.45;
}

@media(max-width:760px){
  .feedback-due-grid,
  .feedback-history-list{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .feedback-centre-stats{
    gap:5px;
  }

  .feedback-centre-stats > div{
    padding:8px 6px;
    text-align:center;
  }

  .feedback-centre-stats strong{
    font-size:20px;
  }

  .feedback-centre-stats span{
    font-size:7px;
  }

  .feedback-due-card{
    align-items:stretch;
    flex-direction:column;
  }

  .feedback-due-card .account-btn,
  .feedback-history-actions .account-btn{
    width:100%;
  }

  .feedback-history-actions{
    align-items:stretch;
    flex-direction:column;
  }
}


/* FEEDBACK GLOBAL SUMMARY · V1.17.3 */
.feedback-centre-stats::before{
  content:"Live La Gloria totals";
  grid-column:1/-1;
  color:rgba(255,255,255,.60);
  font-size:7px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}


/* ============================================================
   POST-VISIT PUBLIC REVIEWS · V1.17.4
   ============================================================ */

.public-review-centre{
  margin-bottom:14px;
}

.public-review-centre .account-card-head small{
  display:block;
  color:#a67b3b;
  font-size:8px;
  font-weight:900;
  letter-spacing:.10em;
}

.public-review-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.public-review-action{
  display:block;
  min-width:0;
  padding:13px;
  border:1px solid rgba(18,63,53,.10);
  border-radius:11px;
  background:#faf8f4;
  text-decoration:none;
}

.public-review-action.primary{
  border-color:rgba(184,138,68,.22);
  background:#fff7e8;
}

.public-review-action strong{
  display:block;
  color:#123f35;
  font-size:11px;
}

.public-review-action span{
  display:block;
  margin-top:4px;
  color:#7d8983;
  font-size:9px;
}




@media(max-width:620px){
  .public-review-actions{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   ALL-IN-ONE FEEDBACK CENTRE · V1.17.5
   ============================================================ */

.feedback-centre-quicknav{display:flex;flex-wrap:wrap;gap:7px;margin:-4px 0 14px}
.feedback-centre-quicknav a{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border:1px solid rgba(18,63,53,.10);border-radius:999px;background:#fff;color:#123f35;font-size:9px;font-weight:900;text-decoration:none}
.feedback-centre-quicknav a:hover{background:#f7f3eb}
.feedback-all-in-one-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:13px 15px;border:1px solid rgba(184,138,68,.18);border-radius:11px;background:#fff8e9}
.feedback-all-in-one-summary small{display:block;color:#a1783b;font-size:8px;font-weight:900;letter-spacing:.10em}
.feedback-all-in-one-summary strong{display:block;margin-top:4px;color:#123f35;font-size:11px}
.feedback-all-in-one-summary p{max-width:720px;margin:4px 0 0;color:#78857e;font-size:9px;line-height:1.45}
.feedback-all-in-one-summary>a{min-height:37px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:9px;background:#7a2530;color:#fff;font-size:9px;font-weight:900;text-decoration:none;white-space:nowrap}
@media(max-width:620px){.feedback-centre-quicknav{display:grid;grid-template-columns:1fr}.feedback-all-in-one-summary{align-items:stretch;flex-direction:column}.feedback-all-in-one-summary>a{width:100%}}


/* ============================================================
   ACCOUNT REVIEW SUBMIT · V1.17.6
   ============================================================ */

.feedback-account-submit{
  margin-bottom:14px;
}

.feedback-account-submit .account-card-head small{
  display:block;
  color:#a1783b;
  font-size:8px;
  font-weight:900;
  letter-spacing:.10em;
}

.feedback-account-submit-form{
  display:grid;
  gap:9px;
}

.feedback-account-submit-form > label{
  color:#123f35;
  font-size:9px;
  font-weight:900;
}

.feedback-account-submit-form > label span{
  color:#8c9691;
  font-weight:500;
}

.feedback-account-submit-form select,
.feedback-account-submit-form textarea{
  width:100%;
  box-sizing:border-box;
  padding:11px;
  border:1px solid rgba(18,63,53,.12);
  border-radius:10px;
  background:#fff;
  color:#31453b;
  font:inherit;
  font-size:10px;
}

.feedback-account-submit-form textarea{
  min-height:110px;
  resize:vertical;
}

.feedback-account-stars{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:6px;
}

.feedback-account-stars input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.feedback-account-stars span{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(18,63,53,.10);
  border-radius:9px;
  background:#faf8f4;
  color:#7a6b55;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}

.feedback-account-stars input:checked + span{
  border-color:#b88a44;
  background:#fff4dc;
  color:#6a4b1b;
}

@media(max-width:620px){
  .feedback-account-stars{
    grid-template-columns:repeat(5,1fr);
    gap:4px;
  }

  .feedback-account-stars span{
    min-height:38px;
    font-size:9px;
  }
}


/* ============================================================
   LUXURY REVIEW LOGIN · V1.18.0
   ============================================================ */

.luxury-auth-shell{
  width:min(1160px,calc(100% - 28px));
  min-height:620px;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  margin:28px auto 46px;
  overflow:hidden;
  border:1px solid rgba(184,138,68,.20);
  border-radius:24px;
  background:#fffdf9;
  box-shadow:0 26px 70px rgba(37,24,18,.10);
}

.luxury-auth-brand{
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:48px;
  background:
    radial-gradient(circle at 85% 10%,rgba(216,185,111,.19),transparent 30%),
    linear-gradient(145deg,#123f35,#072e28);
  color:#fff;
}

.luxury-auth-brand::before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  right:-130px;
  bottom:-130px;
  border:1px solid rgba(216,185,111,.13);
  border-radius:50%;
}

.luxury-auth-brand-inner{
  position:relative;
  z-index:1;
  max-width:430px;
}

.luxury-auth-brand small{
  display:block;
  color:#d8b96f;
  font-size:9px;
  font-weight:900;
  letter-spacing:.18em;
}

.luxury-auth-brand h1{
  margin:11px 0 0;
  color:#fff;
  font:500 clamp(42px,5vw,68px)/.92 Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
}

.luxury-auth-brand p{
  max-width:390px;
  margin:18px 0 0;
  color:rgba(255,255,255,.68);
  font-size:12px;
  line-height:1.7;
}

.luxury-auth-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:24px;
}

.luxury-auth-benefits span{
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  color:rgba(255,255,255,.78);
  font-size:8px;
  font-weight:800;
}

.luxury-auth-panel{
  display:flex;
  align-items:center;
  padding:48px clamp(28px,5vw,68px);
}

.luxury-auth-panel-inner{
  width:100%;
  max-width:500px;
  margin:0 auto;
}

.luxury-auth-eyebrow{
  color:#a67b39;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.luxury-auth-panel h2{
  margin:7px 0 0;
  color:#123f35;
  font:500 34px/1.06 Georgia,"Times New Roman",serif;
}

.luxury-auth-intro{
  margin:8px 0 0;
  color:#76837c;
  font-size:11px;
  line-height:1.55;
}

.luxury-auth-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  margin-top:24px;
  padding:4px;
  border:1px solid rgba(18,63,53,.09);
  border-radius:12px;
  background:#f5f1e9;
}

.luxury-auth-tabs a{
  min-height:39px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  color:#75817b;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
}

.luxury-auth-tabs a.active{
  background:#fff;
  color:#123f35;
  box-shadow:0 4px 13px rgba(18,63,53,.08);
}

.luxury-auth-form{
  display:grid;
  gap:13px;
  margin-top:20px;
}

.luxury-auth-form label{
  display:grid;
  gap:6px;
}

.luxury-auth-form label>span{
  color:#43574d;
  font-size:9px;
  font-weight:900;
}

.luxury-auth-form input{
  width:100%;
  min-height:49px;
  padding:0 14px;
  border:1px solid rgba(18,63,53,.13);
  border-radius:11px;
  outline:none;
  background:#fff;
  color:#243a30;
  font-size:12px;
  transition:border-color .15s ease,box-shadow .15s ease;
}

.luxury-auth-form input:focus{
  border-color:#b88a44;
  box-shadow:0 0 0 3px rgba(184,138,68,.09);
}

.luxury-auth-submit{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:3px;
  padding:0 17px;
  border:0;
  border-radius:11px;
  background:#7a2530;
  color:#fff;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}

.luxury-auth-submit b{
  font-size:18px;
  font-weight:400;
}

.luxury-auth-under{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  color:#8c9691;
  font-size:9px;
}

.luxury-auth-under a{
  color:#7a2530;
  font-weight:900;
  text-decoration:none;
}

.luxury-auth-code-note{
  padding:10px 11px;
  border-radius:9px;
  background:#f7f3eb;
  color:#7e8984;
  font-size:9px;
  line-height:1.5;
}

.luxury-auth-review-note{
  margin-top:24px;
  padding-top:15px;
  border-top:1px solid rgba(18,63,53,.08);
}

.luxury-auth-review-note small{
  display:block;
  color:#a67b39;
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
}

.luxury-auth-review-note strong{
  display:block;
  margin-top:4px;
  color:#52645a;
  font-size:9px;
  line-height:1.45;
}

.luxury-auth-code-input{
  text-align:center;
  letter-spacing:.28em;
  font-size:21px!important;
  font-weight:700;
}

@media(max-width:850px){
  .luxury-auth-shell{
    grid-template-columns:1fr;
    min-height:0;
  }

  .luxury-auth-brand{
    min-height:300px;
    padding:34px;
  }

  .luxury-auth-panel{
    padding:38px 28px 44px;
  }
}

@media(max-width:520px){
  .luxury-auth-shell{
    width:calc(100% - 18px);
    margin:14px auto 30px;
    border-radius:18px;
  }

  .luxury-auth-brand{
    min-height:235px;
    padding:25px 21px;
  }

  .luxury-auth-brand h1{
    font-size:44px;
  }

  .luxury-auth-brand p{
    font-size:11px;
  }

  .luxury-auth-panel{
    padding:29px 19px 34px;
  }

  .luxury-auth-panel h2{
    font-size:29px;
  }

  .luxury-auth-tabs a{
    font-size:9px;
  }

  .luxury-auth-under{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* WIX REVIEW JOURNEY · V1.19.5 */
.feedback-account-submit-form > label{
  font-size:11px;
}
.feedback-account-submit-form > label span{
  font-size:10px;
}
.feedback-account-submit-form select,
.feedback-account-submit-form textarea{
  font-size:12px;
}
.feedback-account-submit-form textarea{
  line-height:1.55;
}
.wix-review-return-note{
  border-left:2px solid #b88a44;
  background:#fff9ec;
  color:#665b49;
  font-size:10px;
}


/* REVIEW CATEGORY RATINGS · V1.21.0 */
.review-category-section{
  display:grid;
  gap:9px;
  padding:12px;
  border:1px solid rgba(184,138,68,.16);
  border-radius:11px;
  background:#fbf8f2;
}
.review-category-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.review-category-head strong{
  color:#123f35;
  font-size:11px;
}
.review-category-head span{
  color:#827a6e;
  font-size:10px;
}
.review-category-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.review-category-field{
  display:grid;
  gap:5px;
}
.review-category-field>span{
  color:#596b62;
  font-size:10px;
  font-weight:800;
}
.review-category-field select{
  min-height:38px;
  padding:0 8px;
  border:1px solid rgba(18,63,53,.11);
  border-radius:8px;
  background:#fff;
  color:#354a40;
  font-size:12px;
}
@media(max-width:700px){
  .review-category-grid{
    grid-template-columns:1fr 1fr;
  }
}


/* REVIEW PHOTOS · V1.22.0 */
.review-photo-upload{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid rgba(184,138,68,.16);
  border-radius:11px;
  background:#fbf8f2;
}
.review-photo-upload strong{
  display:block;
  color:#123f35;
  font-size:12px;
}
.review-photo-upload span{
  display:block;
  margin-top:3px;
  color:#7c786f;
  font-size:11px;
}
.review-photo-upload input[type="file"]{
  width:100%;
  font-size:12px;
  color:#42574c;
}
