/* Massage USA daylight luxury palette — intentionally loaded after portal-luxury.css. */
:root {
  color-scheme: light;
  --ink: #111522;
  --muted: #626775;
  --cream: #fbf8f1;
  --paper: #ffffff;
  --gold: #c88f20;
  --gold-bright: #e0ad3d;
  --gold-soft: #f5dfaa;
  --green: #151a24;
  --green-deep: #111522;
  --mint: #fff2ce;
  --line: #dfd5c3;
  --shadow: 0 24px 70px rgba(36, 29, 18, .15);
}

html { background: #f6f1e8; }
body {
  color: var(--ink);
  background:
    radial-gradient(circle at 5% 50%, rgba(205, 159, 61, .08), transparent 24%),
    linear-gradient(180deg, #fff 0%, #faf6ed 65%, #f4eee3 100%);
}
body::before {
  opacity: .5;
  background:
    radial-gradient(ellipse at 0 82%, rgba(207, 170, 96, .1), transparent 23%),
    radial-gradient(ellipse at 100% 22%, rgba(207, 170, 96, .08), transparent 22%);
}
::selection { color: #111522; background: #f4cf78; }

.portal-header { color: var(--ink); background: rgba(255,255,255,.96); border-bottom: 1px solid #e8e0d2; box-shadow: 0 6px 22px rgba(29,25,18,.06); }
nav a, nav button { color: #171b25; border-color: #c8bca9; background: #fff; }
nav a:hover, nav button:hover { color: #111522; border-color: var(--gold); background: #fff8e8; }
nav [data-welcome-back] { color: #747783; }
nav [data-profile-link] { color: #8c5e08; }

.portal-stage {
  border-color: #dfd5c3;
  background: #fff;
  box-shadow: var(--shadow);
}
.hero.simple-banner,
.portal-stage[data-portal-mode="in_home"] .hero.simple-banner,
.portal-stage[data-portal-mode="on_site"] .hero.simple-banner {
  background:
    linear-gradient(90deg, rgba(255,252,246,.97) 0%, rgba(255,252,246,.84) 31%, rgba(255,252,246,.1) 66%),
    linear-gradient(180deg, transparent 65%, rgba(255,255,255,.25)),
    url('/assets/massage-portal-luxury-v1.png?v=20260922') center center / cover no-repeat;
}
.hero.simple-banner::before { border-color: rgba(190,144,46,.25); box-shadow: inset 0 0 70px rgba(255,255,255,.2); }
.hero.simple-banner::after { background: linear-gradient(90deg, rgba(255,255,255,.2), transparent 62%); }
.hero-logo-link { filter: drop-shadow(0 8px 18px rgba(72,55,24,.16)); }
.hero-logo { mix-blend-mode: multiply; }
.hero .eyebrow, .portal-card .eyebrow, .account-pitch .eyebrow,
.client-dashboard-head .eyebrow, .client-panel .eyebrow, .client-benefits-copy .eyebrow { color: #a96f08; }
.hero.simple-banner h1, .portal-card h2, .account-pitch h2,
.client-dashboard-head h2, .client-panel h3, .client-benefits-copy h3,
.calendar-head h2, .account-form h2, [data-managed-booking] h2 { color: #111522; }
.hero.simple-banner .hero-copy > p:not(.eyebrow) { color: #343844; text-shadow: none; }
.hero-trust span { color: #654710; border-color: #d6b66f; background: rgba(255,250,239,.88); }

.portal-card {
  color: var(--ink);
  border-color: #dfd5c3;
  background: rgba(255,255,255,.98);
  box-shadow: 0 22px 58px rgba(55,43,22,.12), inset 0 1px #fff;
}
[data-portal-loading] { color: #716b61; }
.booking-progress { border-color: #e5dac6; background: #f7f1e6; }
.booking-progress span { color: #8a8173; }
.booking-progress span.active { color: #111522; background: linear-gradient(90deg,#f7d87e,#e6aa31); }
.booking-progress span.complete { color: #76500b; }
.step { border-color: #e8dfd1; }
.step > span { color: #111522; border-color: #dca62f; background: linear-gradient(135deg,#f9dd88,#dfa52e); box-shadow: 0 8px 20px rgba(193,137,25,.18); }
.step strong { color: #161a24; }
.step small, .fine-print { color: #6e7078; }

.service-card {
  color: #171b25;
  border-color: #dfd3bd;
  background: linear-gradient(145deg,#fff,#fbf8f2);
  box-shadow: 0 10px 24px rgba(54,43,25,.07), inset 0 1px #fff;
}
.service-card:hover { border-color: #d3a33f; background: #fffaf0; box-shadow: 0 16px 30px rgba(84,61,21,.11); }
.service-card.selected { border-color: #cf951f; background: linear-gradient(145deg,#fffaf0,#f8e7bb); box-shadow: 0 0 0 1px rgba(207,149,31,.18),0 14px 30px rgba(84,61,21,.12); }
.service-card strong { color: #171b25; }
.service-card-meta { color: #636873; }
.service-card-price, .service-card-add-on { color: #9b6500; }
.service-card-compare { color: #8d8a82; }
.service-card-discount { color: #925f00; }
.service-card .service-description-tooltip { color: #fff; background: #171b25; border-color: #303746; }

.in-home-addon, .booking-primary-addons .in-home-addon {
  color: #171b25;
  border-color: #dfd0b4;
  background: linear-gradient(90deg,#fffaf0,#fff);
}
.in-home-addon strong { color: #171b25; }
.in-home-addon small { color: #6a6e78; }
.in-home-addon b { color: #966100; }
.booking-primary-addons .in-home-addon:has(input:checked) { border-color: #c78a18; background: #fff1c9; }

.portal-card input, .portal-card select, .portal-card textarea,
.account-form input, .availability-dialog input, .availability-dialog select {
  color: #171b25;
  -webkit-text-fill-color: #171b25;
  caret-color: #9a6503;
  border-color: #d9d2c7;
  background: #fff;
}
.portal-card label, .account-form label { color: #30343e; }
.portal-card label small { color: #747781; }
.portal-card input::placeholder, .portal-card textarea::placeholder, .account-form input::placeholder { color: #99978f; }
.portal-card select option, .account-form select option { color: #171b25; background: #fff; }

.primary, .portal-card .primary, .account-pitch .primary {
  color: #111522;
  border-color: #d5a12d;
  background: linear-gradient(135deg,#f8d978 0%,#e6ad38 68%,#ce8f19 100%);
  box-shadow: 0 10px 24px rgba(174,117,12,.17), inset 0 1px rgba(255,255,255,.65);
}
.secondary, .portal-card .secondary { color: #242934; border-color: #bfc1c6; background: #fff; }
.secondary:hover { border-color: #bf8415; background: #fff8e9; }
.selection-summary, .payment-note { color: #4d3a15; border-color: #e0c98f; background: #fff8e7; }
.policy { color: #686b73; }
.policy a { color: #8f5d00; }
.booking-mode-notice { color: #493714; border-color: #dfc98f; background: #fff7e4; }
.booking-ad-banner { color: #171b25; border-color: #d9bc75; background: linear-gradient(135deg,#fff9e9,#f4e2b6); box-shadow: inset 0 1px #fff; }
.booking-ad-banner p { color: #555863; }
.booking-ad-banner s { color: #88857d; }

.account-pitch { color: #171b25; border-color: #e4d8c4; background: radial-gradient(circle at 4% 20%,rgba(224,180,81,.13),transparent 30%),linear-gradient(135deg,#fff,#faf5ea); box-shadow: 0 18px 45px rgba(57,43,20,.1); }
.account-pitch p:not(.eyebrow) { color: #5f626c; }
footer { color: #65563b; border-top-color: #dfd2bb; background: #f4eee3; }
footer a, .compliance-links a { color: #8a5b07; }

dialog, .availability-dialog, .checkout-account-dialog { color: #171b25; border-color: #dacfbf; background: #fff; box-shadow: 0 30px 90px rgba(25,22,18,.28); }
dialog::backdrop, .checkout-account-dialog::backdrop { background: rgba(20,22,28,.55); }
.dialog-close, .text-button { color: #805307; }
.account-status, .calendar-weekdays span, .calendar-status { color: #6d7079; }
.month-nav button, .calendar-day, .calendar-time { color: #272b35; border-color: #ddd6ca; background: #fff; }
.calendar-day:hover:not(:disabled), .calendar-time:hover { border-color: #c78a18; background: #fff8e8; }
.calendar-day.selected { color: #111522; border-color: #c88914; background: linear-gradient(135deg,#f6d36e,#dfa32d); }
.calendar-day.unavailable, .calendar-day:disabled, .calendar-time.unavailable { color: #aaa79f; border-color: #ebe7df; background: #f5f3ef; }
[data-portal-error] { color: #7e3524; border-color: #e3b3a8; background: #fff0ec; }

.portal-stage[data-portal-view="profile"] .portal-card { border-color: #dfd5c3; background: #fff; }
.client-dashboard { color: #171b25; }
.client-dashboard-head { border-color: #e6dfd4; }
.client-dashboard-head p:last-child, .client-panel > p, .history-list > p, .receipt-list > p { color: #6a6d76; }
.client-preview-banner { color: #6c4b0f; border-color: #dec482; background: #fff8e6; }
.client-preview-banner span { color: #77746c; }
.client-benefits { border-color: #ddcfb5; background: linear-gradient(118deg,#fff9e9,#fff); box-shadow: 0 14px 36px rgba(64,47,20,.09); }
.client-benefits-copy > p:last-child, .client-benefits-grid small { color: #686b74; }
.client-benefits-grid article { border-color: #e7dcc9; background: #fff; }
.client-benefits-grid article > span { color: #9a6400; background: #fff1ca; }
.client-benefits-grid strong { color: #171b25; }
.client-panel { color: #171b25; border-color: #e4ddd2; background: #fff; }
.portal-card .client-panel label { color: #343841; }
.portal-card .client-panel input, .portal-card .client-panel select, .portal-card .client-panel textarea { color: #171b25; -webkit-text-fill-color: #171b25; border-color: #d9d2c7; background: #fff; }
.upcoming-card { border-color: #e5dccd; background: #fbf8f2; }
.upcoming-card h4, .history-row, .receipt-row { color: #20242e; }
.appointment-meta, .privacy-note, .history-row small, .receipt-row small, .save-status, .portal-message-panel header small { color: #70737c; }
.history-row, .receipt-row { border-color: #e7e0d6; }
.status-pill { color: #704a05; border-color: #dfc27c; background: #fff2cf; }
.portal-message-list { border-color: #e3ddd2; background: #faf8f4; }
.portal-message-bubble { color: #2c3039; background: #f2ede4; }
.portal-message-bubble.staff { color: #fff; border-color: #343a47; background: #171b25; }
.portal-message-bubble small, .portal-message-empty { color: #757780; }
.portal-message-bubble.staff small { color: #e9cf91; }
.client-chat-launcher { color: #111522; border-color: #d4a12e; background: linear-gradient(135deg,#f5d16d,#d99b25); }
.client-chat-launcher span { color: #46340f; }

@media (min-width: 621px) {
  .portal-stage:not([data-portal-mode="event"]) [data-booking-page="1"] .booking-primary-addons .in-home-addon,
  .portal-stage:not([data-portal-mode="event"]) [data-booking-page="1"] .booking-search-grid .secondary {
    color: #242934;
    border-color: #dfd0b4;
    background: rgba(255,255,255,.94);
    box-shadow: 0 10px 24px rgba(54,43,25,.07);
  }
  .portal-stage:not([data-portal-mode="event"])[data-portal-page="2"] .portal-card,
  .portal-stage:not([data-portal-mode="event"])[data-portal-page="3"] .portal-card {
    color: #171b25;
    border-color: #dfd5c3;
    background: rgba(255,255,255,.97);
    box-shadow: 0 22px 58px rgba(55,43,22,.12);
  }
}

@media (max-width: 620px) {
  .hero.simple-banner,
  .portal-stage[data-portal-mode="in_home"] .hero.simple-banner,
  .portal-stage[data-portal-mode="on_site"] .hero.simple-banner {
    background:
      linear-gradient(90deg,rgba(255,252,246,.96),rgba(255,252,246,.48)),
      url('/assets/massage-portal-luxury-v1.png?v=20260922') 62% center / cover no-repeat;
  }
}
