@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&amp;family=Prata&amp;display=swap');

:root{
  --theme-bg:#f6f2ec;
  --theme-bg-soft:#eee8e0;
  --theme-surface:#fffdfa;
  --theme-surface-soft:#f8f4ee;
  --theme-surface-muted:#eee7dd;
  --theme-text:#29241f;
  --theme-text-soft:#544c45;
  --theme-muted:#8a8178;
  --theme-border:#e4dbd1;
  --theme-border-strong:#d6cabe;
  --theme-action:#27221e;
  --theme-action-hover:#3a332d;
  --theme-accent:#7f9277;
  --theme-accent-hover:#697b63;
  --theme-accent-soft:#e5ebe1;
  --theme-warm:#c9837d;
  --theme-warm-soft:#f3dfda;
  --theme-success:#4e946f;
  --theme-danger:#b85f5f;
  --theme-radius-xs:8px;
  --theme-radius-sm:12px;
  --theme-radius-md:16px;
  --theme-radius-lg:22px;
  --theme-radius-xl:30px;
  --theme-shadow-sm:0 6px 18px rgba(49,39,30,.05);
  --theme-shadow-md:0 14px 38px rgba(49,39,30,.08);
  --theme-shadow-lg:0 24px 70px rgba(49,39,30,.11);
  --theme-space-1:4px;
  --theme-space-2:8px;
  --theme-space-3:10px;
  --theme-space-4:16px;
  --theme-space-5:24px;
  --theme-space-6:32px;
  --theme-space-7:48px;
  --theme-shell:1228px;
  --theme-font-body:'Manrope','Segoe UI',sans-serif;
  --theme-font-display:'Prata',Georgia,serif;

  /* Legacy aliases. New work should use --theme-* tokens. */
  --paper:var(--theme-bg);
  --ink:var(--theme-text);
  --muted:var(--theme-muted);
  --line:var(--theme-border);
  --accent:var(--theme-accent);
  --surface:var(--theme-surface);
}

html{background:var(--theme-bg);color:var(--theme-text)}
body{background:var(--theme-bg);color:var(--theme-text);font-family:var(--theme-font-body)}
button,input,select,textarea{font:inherit}
a{color:inherit}

:where(.button,.be-button,.me-button,.marketplace-load-more){
  border-radius:var(--theme-radius-sm);
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
:where(.button-dark,.be-button-dark,.me-button-dark){
  border-color:var(--theme-action)!important;
  background:var(--theme-action)!important;
  color:#fff!important;
  box-shadow:var(--theme-shadow-sm)!important;
}
:where(.button-dark,.be-button-dark,.me-button-dark):hover{
  background:var(--theme-action-hover)!important;
  transform:translateY(-1px);
}
:where(.button-light,.be-button-light,.me-button-light){
  border-color:var(--theme-border-strong)!important;
  background:var(--theme-surface)!important;
  color:var(--theme-text)!important;
}

:where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  border-color:var(--theme-border)!important;
  border-radius:var(--theme-radius-sm)!important;
  background:var(--theme-surface)!important;
  color:var(--theme-text)!important;
  box-shadow:none!important;
}
:where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
  border-color:var(--theme-accent)!important;
  outline:3px solid color-mix(in srgb,var(--theme-accent) 16%,transparent)!important;
}

/* Public site surfaces */
:where(.be-header,.me-header,.site-header){
  border-color:var(--theme-border)!important;
  background:color-mix(in srgb,var(--theme-surface) 94%,transparent)!important;
  box-shadow:var(--theme-shadow-md)!important;
}
:where(.be-footer,.me-footer,.site-footer,.direct-master-site-footer){background:var(--theme-action)!important}

/* Shared footer for Beautier-owned pages. Master profile footers use their own component. */
.site-footer{width:min(var(--theme-shell),calc(100% - 32px))!important;margin:12px auto 16px!important;padding:50px 54px 22px!important;border:0!important;border-radius:var(--theme-radius-xl)!important;display:block!important;color:#fff!important;box-shadow:var(--theme-shadow-md)!important}
.site-footer-grid{display:grid;grid-template-columns:minmax(260px,1.55fr) repeat(3,minmax(120px,.72fr)) minmax(190px,1fr);gap:38px}
.site-footer-brand,.site-footer-column,.site-footer-apps{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.site-footer .footer-logo{display:inline-flex}.site-footer .footer-logo img{width:164px;height:auto;display:block}.site-footer .site-footer-brand>p{margin:20px 0 14px!important;color:#c9c0b8!important;font-size:12px;line-height:1.7}.site-footer-email{color:#fff!important;font-size:12px;font-weight:600;text-decoration:none}
.site-footer h3{margin:0 0 17px;color:#d8c2aa;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.site-footer-column{gap:10px}.site-footer-column a{color:#ded7d0!important;font-size:12px;text-decoration:none}.site-footer-column a:hover,.site-footer-email:hover{color:#fff!important;text-decoration:underline;text-underline-offset:4px}
.site-footer-apps>p{margin:0 0 15px!important;color:#c9c0b8!important;font-size:11px;line-height:1.55}.site-footer-apps>div{display:flex;gap:7px;flex-wrap:wrap}.site-footer-apps a{min-height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.22);border-radius:9px;display:inline-flex;align-items:center;color:#fff!important;font-size:10px;font-weight:700;text-decoration:none}.site-footer-apps a:hover{border-color:rgba(255,255,255,.52);background:rgba(255,255,255,.07)}
.site-footer .footer-bottom{margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex!important;align-items:center;justify-content:space-between;gap:20px;color:#948a82;font-size:10px}.site-footer .footer-bottom>span:last-child{display:flex;align-items:center;gap:8px}.site-footer .footer-bottom a{color:inherit!important;text-decoration:none}.site-footer .footer-bottom a:hover{color:#fff!important}.site-footer .footer-bottom i{font-style:normal}

/* Master page */
.me-page{background:var(--theme-bg)!important;color:var(--theme-text)!important;font-family:var(--theme-font-body)!important}
.me-page :where(h1,h2){font-family:var(--theme-font-display)!important;font-weight:400!important}
.me-main{gap:var(--theme-space-3)!important}
.me-main>:where(.me-hero,.me-booking,.me-app-access,.me-about,.me-portfolio,.me-contact),
.me-lower-grid>:where(.me-certificates,.me-reviews){
  border-color:var(--theme-border)!important;
  border-radius:var(--theme-radius-lg)!important;
  background-color:var(--theme-surface)!important;
  box-shadow:var(--theme-shadow-sm)!important;
}

/* Booking page */
.booking-page{--booking-accent:var(--theme-accent);--booking-accent-soft:var(--theme-accent-soft);color:var(--theme-text)!important}
.booking-page :where(.booking-shell,.booking-panel,.availability-calendar,.direct-booking-details,.booking-waitlist,.booking-benefits,.selected-salon-bar){
  border-color:var(--theme-border)!important;
  border-radius:var(--theme-radius-lg)!important;
  background:var(--theme-surface)!important;
  box-shadow:var(--theme-shadow-sm)!important;
}
.booking-page :where(.direct-booking-layout,.booking-shell){gap:var(--theme-space-3)!important}
.booking-page :where(.availability-toolbar,.week-navigation,.selected-day-times,.direct-service-field,.direct-selected-slot-summary){border-color:var(--theme-border)!important}
.booking-page :where(.availability-week button,.selected-time-slots button,.time-slot,.day-card){
  border-color:var(--theme-border)!important;
  border-radius:var(--theme-radius-sm)!important;
  background:var(--theme-surface)!important;
  color:var(--theme-text)!important;
  box-shadow:none!important;
}
.booking-page :where(.availability-week button,.selected-time-slots button,.time-slot,.day-card):hover:not(:disabled){
  border-color:var(--theme-accent)!important;
  background:var(--theme-accent-soft)!important;
}
.booking-page :where(.availability-week button,.selected-time-slots button,.time-slot,.day-card):is(.active,.selected,[aria-selected="true"],[aria-pressed="true"]){
  border-color:var(--theme-accent)!important;
  background:var(--theme-accent)!important;
  color:#fff!important;
}
.booking-page :where(.availability-week button,.selected-time-slots button,.time-slot,.day-card):disabled{
  background:var(--theme-surface-soft)!important;
  color:#b4aba3!important;
  opacity:.72;
}
.booking-page :where(.service-picker-trigger,.booking-option,.booking-service-option){
  border-color:var(--theme-border)!important;
  border-radius:var(--theme-radius-md)!important;
  background:var(--theme-surface)!important;
}
.booking-page :where(.service-picker-trigger,.booking-option,.booking-service-option):is(.active,.selected,[aria-checked="true"]){
  border-color:var(--theme-accent)!important;
  background:var(--theme-accent-soft)!important;
}
.booking-page :where(.booking-continue-button,[data-direct-submit]){
  border-color:var(--theme-action)!important;
  background:var(--theme-action)!important;
  color:#fff!important;
  box-shadow:var(--theme-shadow-md)!important;
}
.booking-page :where(.booking-continue-button,[data-direct-submit]):disabled{background:#d4cdc6!important;border-color:#d4cdc6!important;box-shadow:none!important}
.booking-waitlist [data-waitlist-open]{border-color:var(--theme-border-strong)!important;color:var(--theme-text)!important}
.booking-waitlist [data-waitlist-open]:hover{border-color:var(--theme-accent)!important;background:var(--theme-accent-soft)!important}
.direct-master-booking-header{border-color:var(--theme-border)!important;background:color-mix(in srgb,var(--theme-surface) 94%,transparent)!important;box-shadow:var(--theme-shadow-md)!important}
.direct-master-booking-header .direct-master-nav a:hover{color:var(--theme-accent)!important}

/* Marketplace cards */
.salon-discovery,.salon-card,.map-selection,.map-salon-sidebar{
  border-color:var(--theme-border)!important;
  background:var(--theme-surface)!important;
}
.salon-card{border-radius:var(--theme-radius-lg)!important;box-shadow:var(--theme-shadow-sm)!important}
.marketplace-shortcuts button.active,.discovery-view-toggle button.active{background:var(--theme-accent)!important;color:#fff!important}

@media(max-width:760px){
  :root{--theme-radius-lg:18px;--theme-radius-xl:24px}
  .booking-page :where(.booking-shell,.booking-panel,.availability-calendar,.direct-booking-details,.booking-waitlist,.booking-benefits){border-radius:var(--theme-radius-lg)!important}
  .site-footer{width:calc(100% - 16px)!important;margin:8px auto!important;padding:34px 24px 20px!important;border-radius:var(--theme-radius-lg)!important}.site-footer-grid{grid-template-columns:1fr 1fr;gap:32px 22px}.site-footer-brand,.site-footer-apps{grid-column:1/-1}.site-footer .footer-bottom{align-items:flex-start;flex-direction:column}.site-footer .footer-bottom>span:last-child{flex-wrap:wrap}
}

@media(min-width:761px) and (max-width:1080px){.site-footer-grid{grid-template-columns:1.3fr repeat(3,1fr)}.site-footer-apps{grid-column:2/-1}.site-footer{padding-inline:38px!important}}

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