:root {
  --ss-cream: #f1e9db;
  --ss-sand: #d9c5b2;
  --ss-sage: #8a9a5b;
  --ss-deep-sage: #556b2f;
  --ss-chocolate: #4b2e25;
  --ss-terracotta: #8b5e3c;
  --ss-charcoal: #2d3436;
}

.sun-sage-member-hub .main-content-area { background: #fbf8f2; }
body.sun-sage-member-hub .page-title { padding: 36px 0; }
body.sun-sage-member-hub .page-title .container.padding-medium { padding-top: 54px !important; padding-bottom: 58px !important; }
.sun-sage-member-hub .woocommerce {
  width: min(1180px, calc(100% - 32px));
  margin: 42px auto 90px;
  color: var(--ss-charcoal);
  font-family: "Montserrat", sans-serif;
}
.sun-sage-member-hub .woocommerce h1,
.sun-sage-member-hub .woocommerce h2,
.sun-sage-member-hub .woocommerce h3,
.sun-sage-member-hub .woocommerce h4 { color: var(--ss-chocolate); font-family: "Playfair Display", serif; }
.sun-sage-member-hub .woocommerce h2 { font-size: clamp(38px, 5vw, 66px); line-height: 1; }
.ss-member-kicker { margin: 10px 0 14px; color: var(--ss-terracotta); font: 600 12px/1.3 "Azeret Mono", monospace; letter-spacing: .14em; text-transform: uppercase; }
.sun-sage-member-hub:not(.logged-in) .woocommerce { max-width: 760px; }
.ss-auth-intro { max-width: 720px; margin: 0 auto 30px; text-align: center; }
.ss-auth-intro h1 { margin-bottom: 12px; font-size: clamp(42px, 6vw, 70px); line-height: .96; }
.ss-auth-intro > p:last-child { max-width: 590px; margin-inline: auto; font-size: 16px; }
.ss-auth-plan { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 5px 20px; max-width: 680px; margin: 26px auto 0; padding: 20px 24px; border: 1px solid rgba(75,46,37,.14); border-radius: 18px; background: var(--ss-cream); text-align: left; }
.ss-auth-plan span { grid-column: 1 / -1; color: var(--ss-terracotta); font: 600 10px/1.2 "Azeret Mono",monospace; letter-spacing: .12em; }
.ss-auth-plan strong { color: var(--ss-chocolate); font: 500 26px/1.1 "Playfair Display",serif; }
.ss-auth-plan small { color: var(--ss-chocolate); font-weight: 700; }
.ss-auth-plan p { grid-column: 1 / -1; margin: 4px 0 0; font-size: 13px; }
.sun-sage-member-hub #customer_login { display: block; overflow: hidden; border: 1px solid rgba(75,46,37,.13); border-radius: 24px; background: #fff; box-shadow: 0 20px 60px rgba(75,46,37,.10); }
.sun-sage-member-hub #customer_login[aria-busy="true"] { opacity: .75; }
.ss-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; width: min(440px,calc(100% - 20px)); margin: 10px auto 0; padding: 8px; border: 1px solid rgba(75,46,37,.12); border-radius: 18px; background: var(--ss-cream); }
.ss-auth-tabs button { min-height: 58px; border: 0; border-radius: 14px; background: transparent; color: var(--ss-chocolate); font: 700 14px/1 "Montserrat",sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.ss-auth-tabs button.is-active { background: var(--ss-deep-sage); color: #fff; box-shadow: 0 8px 22px rgba(85,107,47,.18); }
.sun-sage-member-hub #customer_login .u-column1,
.sun-sage-member-hub #customer_login .u-column2 { float: none; width: auto; padding: clamp(26px, 4vw, 46px); border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.sun-sage-member-hub #customer_login .u-column1[hidden],
.sun-sage-member-hub #customer_login .u-column2[hidden] { display: none !important; }
.sun-sage-member-hub #customer_login h2 { margin: 0 0 24px; font-size: 42px; }
.sun-sage-member-hub .woocommerce form.login,
.sun-sage-member-hub .woocommerce form.register { padding: 0; border: 0; }
.sun-sage-member-hub .woocommerce form .form-row { margin-bottom: 17px; }
.sun-sage-member-hub .woocommerce form .form-row label { color: var(--ss-chocolate); font-size: 13px; font-weight: 600; }
.sun-sage-member-hub .woocommerce form .input-text,
.sun-sage-member-hub .woocommerce form select,
.sun-sage-member-hub .woocommerce form textarea { min-height: 52px; padding: 12px 15px; border: 1px solid rgba(75,46,37,.18); border-radius: 12px; background: #fbf8f2; }
.sun-sage-member-hub .woocommerce form textarea { min-height: 110px; }
.sun-sage-member-hub #customer_login form .button { width: 100%; }
.sun-sage-member-hub .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) { display: flex; flex-direction: column; align-items: stretch; gap: 15px; }
.sun-sage-member-hub .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; align-self: flex-start; gap: 8px; margin: 0; }
.sun-sage-member-hub .woocommerce-form-login__rememberme input { margin: 0; }
.sun-sage-member-hub .password-input { position: relative; display: block; }
.sun-sage-member-hub .password-input .show-password-input { position: absolute; top: 50%; right: 12px; width: 38px; height: 38px; margin: 0; padding: 0; transform: translateY(-50%); border: 0; background: transparent; color: var(--ss-chocolate); }
.sun-sage-member-hub #customer_login .lost_password { margin-top: 16px; text-align: center; }
.sun-sage-member-hub #customer_login .lost_password a,
.ss-auth-switch button { color: var(--ss-deep-sage); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ss-auth-switch { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid rgba(75,46,37,.10); text-align: center; }
.ss-auth-switch button { padding: 0; border: 0; background: transparent; cursor: pointer; }
.sun-sage-member-hub .woocommerce button.button,
.sun-sage-member-hub .woocommerce a.button,
.ss-inline-book-cta { min-height: 50px; padding: 14px 24px !important; border-radius: 999px !important; background: var(--ss-chocolate) !important; color: #fff !important; font-weight: 600 !important; }
.sun-sage-member-hub .woocommerce button.button:hover,
.sun-sage-member-hub .woocommerce a.button:hover,
.ss-inline-book-cta:hover { background: var(--ss-deep-sage) !important; color: #fff !important; }
.ss-consent-row label { display: block; font-weight: 400 !important; line-height: 1.65; }
.ss-consent-row input { margin: 0 8px 0 0; vertical-align: middle; }

.sun-sage-member-hub.logged-in .woocommerce { display: block; }
.sun-sage-member-hub.logged-in .woocommerce > .row { display: grid; grid-template-columns: 250px minmax(0, 1fr); align-items: start; gap: 38px; width: 100%; margin: 0; }
.sun-sage-member-hub.logged-in .woocommerce > .row > .col-lg-3,
.sun-sage-member-hub.logged-in .woocommerce > .row > .col-lg-9 { flex: none; width: 100%; max-width: none; min-width: 0; padding: 0; }
.sun-sage-member-hub .woocommerce-MyAccount-navigation { float: none !important; width: 100% !important; min-width: 0; padding: 18px; border-radius: 22px; background: var(--ss-cream); position: sticky; top: 24px; }
.sun-sage-member-hub .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.sun-sage-member-hub .woocommerce-MyAccount-navigation li { margin: 3px 0; }
.sun-sage-member-hub .woocommerce-MyAccount-navigation li.is-active { padding: 0 !important; background: transparent !important; box-shadow: none !important; }
.sun-sage-member-hub .woocommerce-MyAccount-navigation a { display: block; padding: 13px 15px; border-radius: 12px; color: var(--ss-chocolate); font-weight: 600; }
.sun-sage-member-hub .woocommerce-MyAccount-navigation li.is-active a,
.sun-sage-member-hub .woocommerce-MyAccount-navigation a:hover { background: var(--ss-chocolate); color: #fff; }
.sun-sage-member-hub .woocommerce-MyAccount-content { float: none !important; width: 100% !important; min-width: 0; }
.sun-sage-member-hub .woocommerce-MyAccount-content { padding-top: 12px; }
.sun-sage-member-hub .woocommerce-MyAccount-content > p:first-child,
.sun-sage-member-hub .woocommerce-MyAccount-content > p:nth-child(2) { color: #6c625d; }
.ss-account-dashboard .woocommerce-MyAccount-content > p { display: none !important; }
.ss-checkout-waiver { margin: 18px 0 !important; padding: 16px 18px; border-radius: 14px; background: var(--ss-cream); }
.ss-checkout-waiver label { line-height: 1.55 !important; }
.ss-checkout-waiver a { color: var(--ss-deep-sage); text-decoration: underline; text-underline-offset: 3px; }
.ss-overview-lead { max-width: 650px; font-size: 17px; }
.ss-overview-grid,
.ss-entitlement-grid,
.ss-plan-grid,
.ss-member-booking-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.ss-overview-grid { margin-top: 28px; }
.ss-overview-grid article,
.ss-entitlement-card,
.ss-plan-card,
.ss-member-empty,
.ss-member-booking { padding: 25px; border: 1px solid rgba(75,46,37,.12); border-radius: 20px; background: #fff; }
.ss-overview-grid article > span,
.ss-plan-type { color: var(--ss-terracotta); font: 600 11px/1.2 "Azeret Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.ss-overview-grid h3 { margin: 18px 0 8px; font-size: 30px; }
.ss-overview-grid a,
.ss-plan-link { display: inline-block; margin-top: 14px; color: var(--ss-chocolate); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.ss-policy-note { display: flex; align-items: center; gap: 18px; margin: 24px 0 34px; padding: 18px 20px; border-radius: 16px; background: var(--ss-cream); }
.ss-policy-note strong { flex: 0 0 auto; color: var(--ss-chocolate); }
.ss-section-heading { margin: 36px 0 18px; font-size: 31px; }
.ss-member-booking { display: grid; grid-template-columns: 82px 1fr; gap: 18px; }
.ss-member-booking time { display: flex; flex-direction: column; text-align: center; }
.ss-member-booking time strong { color: var(--ss-chocolate); font: 500 42px/.95 "Playfair Display", serif; }
.ss-member-booking time span { margin-top: 7px; font-size: 11px; text-transform: uppercase; }
.ss-member-booking h3 { margin: 9px 0 4px; font-size: 25px; }
.ss-booked-badge,
.ss-status-pill { display: inline-block; padding: 5px 10px; border-radius: 999px; background: var(--ss-deep-sage); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.ss-member-booking.is-pending { border-left: 6px solid var(--ss-sand); }
.ss-member-booking.is-pending .ss-booked-badge { background: var(--ss-terracotta); }
.ss-member-booking.is-cancelled { opacity: .72; }
.ss-member-booking.is-cancelled .ss-booked-badge { background: #756e6a; }
.ss-history-grid { opacity: .9; }
.ss-muted,
.ss-tax-note { color: #756e6a; font-size: 14px; }
.ss-entitlement-grid { margin-top: 25px; }
.ss-member-success { display: flex; align-items: center; gap: 18px; margin: 22px 0; padding: 18px 20px; border-radius: 16px; background: #e7eed8; color: var(--ss-chocolate); }
.ss-member-success strong { flex: 0 0 auto; }
.ss-plan-confirm { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px 28px; margin: 28px 0 34px; padding: clamp(24px,4vw,38px); border-radius: 22px; background: var(--ss-chocolate); color: #fff; box-shadow: 0 20px 48px rgba(75,46,37,.16); }
.ss-plan-confirm .ss-member-kicker { grid-column: 1 / -1; margin: 0; color: var(--ss-sand); }
.ss-plan-confirm h3 { margin: 0 0 8px; color: #fff !important; font-size: 38px; }
.ss-plan-confirm strong { font-size: 18px; }
.ss-plan-confirm p { margin: 8px 0 0; }
.ss-plan-confirm form { margin: 0; }
.ss-plan-confirm small { grid-column: 1 / -1; color: var(--ss-sand); }
.ss-plan-confirm .button { min-width: 190px; background: var(--ss-deep-sage) !important; color: #fff !important; }
.ss-plan-checkout { display: inline-flex !important; align-items: center; justify-content: center; text-decoration: none !important; }
.ss-credit-balance { display: block; margin: 22px 0 8px; color: var(--ss-chocolate); font: 500 29px/1.15 "Playfair Display", serif; }
.ss-plan-grid { margin-top: 20px; }
.ss-plan-card { position: relative; overflow: hidden; }
.ss-plan-card.is-unlimited { background: var(--ss-chocolate); }
.ss-plan-card.is-unlimited,
.ss-plan-card.is-unlimited h3,
.ss-plan-card.is-unlimited .ss-plan-price,
.ss-plan-card.is-unlimited .ss-plan-link { color: #fff; }
.ss-plan-card.is-unlimited .ss-plan-type { color: var(--ss-sand); }
.ss-plan-card.is-unlimited .ss-plan-link { display: inline-flex; min-height: 46px; align-items: center; padding: 10px 18px; border-radius: 999px; background: var(--ss-deep-sage); color: #fff !important; text-decoration: none; }
.ss-plan-card h3 { margin: 15px 0 12px; font-size: 30px; }
.ss-plan-price { color: var(--ss-chocolate); font: 500 48px/1 "Playfair Display", serif; }
.ss-plan-price small { margin-left: 7px; font: 500 11px/1.2 "Azeret Mono", monospace; letter-spacing: .04em; }
.ss-profile-extras { margin: 32px 0; padding: 24px; border: 1px solid rgba(75,46,37,.12); border-radius: 18px; }
.ss-profile-extras legend { padding: 0 8px; color: var(--ss-chocolate); font: 500 30px/1 "Playfair Display", serif; }

.ss-discover-classes { margin-top: 54px; padding-top: 38px; border-top: 1px solid rgba(75,46,37,.12); }
.ss-discover-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.ss-discover-heading .ss-member-kicker { margin-top: 0; }
.ss-discover-heading h3 { margin: 0; font-size: clamp(32px,4vw,46px); }
.ss-discover-heading > a { flex: 0 0 auto; color: var(--ss-chocolate); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.ss-upcoming-session-grid { display: grid; gap: 14px; }
.ss-upcoming-session { display: grid; grid-template-columns: 74px minmax(0,1fr) auto; align-items: center; gap: 22px; padding: 22px 24px; border: 1px solid rgba(75,46,37,.12); border-radius: 20px; background: #fff; }
.ss-upcoming-date { display: flex; align-items: center; flex-direction: column; justify-content: center; min-height: 72px; border-radius: 16px; background: var(--ss-cream); color: var(--ss-chocolate); }
.ss-upcoming-date strong { font: 500 38px/.9 "Playfair Display",serif; }
.ss-upcoming-date span { margin-top: 7px; font: 600 10px/1 "Azeret Mono",monospace; text-transform: uppercase; }
.ss-upcoming-copy h4 { margin: 7px 0 5px; font-size: 27px; }
.ss-upcoming-copy p { margin: 0; color: #6f6661; font-size: 14px; }
.ss-upcoming-action { display: flex; align-items: flex-end; flex-direction: column; gap: 8px; }
.ss-upcoming-action > strong { color: var(--ss-chocolate); font: 500 25px/1 "Playfair Display",serif; }
.ss-upcoming-action .ss-inline-book-cta { margin-top: 0; white-space: nowrap; }

body.ss-membership-dialog-open { overflow: hidden; }
.ss-membership-dialog[hidden] { display: none !important; }
.ss-membership-dialog { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 20px; font-family: "Montserrat",sans-serif; }
.ss-membership-dialog__backdrop { position: absolute; inset: 0; background: rgba(35,24,20,.78); backdrop-filter: blur(7px); }
.ss-membership-dialog__panel { position: relative; z-index: 1; width: min(1180px,100%); max-height: calc(100vh - 40px); padding: clamp(28px,4vw,48px); overflow-y: auto; border-radius: 28px; background: #fbf8f2; box-shadow: 0 34px 100px rgba(0,0,0,.28); }
.ss-membership-dialog__panel h2 { margin: 4px 0 12px; color: var(--ss-chocolate); font: 500 clamp(40px,5vw,66px)/1 "Playfair Display",serif; }
.ss-membership-dialog__intro { max-width: 720px; margin: 0 0 28px; color: #655d58; font-size: 16px; }
.ss-membership-dialog__close { position: absolute; top: 18px; right: 18px; width: 46px; height: 46px; padding: 0; border: 1px solid rgba(75,46,37,.15); border-radius: 50%; background: #fff; color: var(--ss-chocolate); font-size: 28px; line-height: 1; cursor: pointer; }
.ss-membership-dialog__plans { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.ss-membership-choice { min-height: 340px; padding: 24px; border: 1px solid rgba(75,46,37,.14); border-radius: 20px; background: #fff; color: var(--ss-charcoal); text-align: left; cursor: pointer; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.ss-membership-choice:hover,.ss-membership-choice.is-selected { border-color: var(--ss-chocolate); transform: translateY(-3px); box-shadow: 0 16px 34px rgba(75,46,37,.12); }
.ss-membership-choice.is-selected { outline: 3px solid rgba(139,94,60,.18); }
.ss-membership-choice > span { color: var(--ss-terracotta); font: 600 10px/1.25 "Azeret Mono",monospace; letter-spacing: .08em; text-transform: uppercase; }
.ss-membership-choice > strong { display: block; margin: 16px 0 12px; color: var(--ss-chocolate); font: 500 28px/1.05 "Playfair Display",serif; }
.ss-membership-choice > b { display: block; color: var(--ss-chocolate); font-size: 15px; }
.ss-membership-choice p { margin: 16px 0; font-size: 13px; line-height: 1.6; }
.ss-membership-choice ul { margin: 0; padding: 0; list-style: none; }
.ss-membership-choice li { position: relative; margin: 9px 0; padding-left: 20px; font-size: 12px; }
.ss-membership-choice li::before { content: "✓"; position: absolute; left: 0; color: var(--ss-deep-sage); font-weight: 800; }
.ss-membership-dialog__footer { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(75,46,37,.12); }
.ss-membership-dialog__footer > a { color: var(--ss-chocolate); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.ss-membership-dialog__continue { min-height: 54px; padding: 15px 26px; border: 0; border-radius: 999px; background: var(--ss-chocolate); color: #fff; font-weight: 700; cursor: pointer; }
.ss-membership-dialog__continue:disabled { opacity: .48; cursor: not-allowed; }

.ss-commerce-intro { margin-bottom: 28px; padding: clamp(26px,4vw,42px); border-radius: 22px; background: var(--ss-cream); }
.ss-commerce-intro h2 { margin: 7px 0 10px; color: var(--ss-chocolate); font: 500 clamp(38px,5vw,58px)/1 "Playfair Display",serif; }
.ss-order-celebration { margin: 28px 0; padding: clamp(34px,6vw,68px); border-radius: 28px; background: #edf2e4; text-align: center; }
.ss-order-check { display: grid; place-items: center; width: 82px; height: 82px; margin: 0 auto 18px; border-radius: 50%; background: var(--ss-deep-sage); color: #fff; font-size: 46px; }
.ss-order-celebration.is-refunded { background: #f3ebdd; }
.ss-order-celebration.is-refunded .ss-order-check { background: var(--ss-chocolate); }
.ss-order-celebration.is-cancelled { background: #f3eee9; }
.ss-order-celebration.is-cancelled .ss-order-check { background: #756e6a; }
.ss-order-celebration.is-pending { background: #f7f1e5; }
.ss-order-celebration.is-pending .ss-order-check { background: #9a6938; }
.ss-order-celebration h2 { margin: 8px 0 14px; font-size: clamp(40px,6vw,66px); }
.ss-order-selection { font-weight: 800; }
.ss-order-celebration a { display: inline-flex; min-height: 50px; align-items: center; margin-top: 18px; padding: 12px 22px; border-radius: 999px; background: var(--ss-chocolate); color: #fff !important; font-weight: 700; }

.ss-legal-content {
  width: min(920px, calc(100% - 32px));
  margin: 58px auto 90px;
  color: var(--ss-charcoal);
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  line-height: 1.75;
}
.ss-legal-content .ss-legal-intro { margin-bottom: 42px; font-size: 18px; }
.ss-legal-content .ss-legal-meta { color: var(--ss-terracotta); font: 600 11px/1.3 "Azeret Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.ss-legal-content h2 { margin: 44px 0 14px; color: var(--ss-chocolate); font: 500 clamp(30px, 4vw, 46px)/1.12 "Playfair Display", serif; }
.ss-legal-content h3 { margin: 30px 0 10px; color: var(--ss-chocolate); font: 600 19px/1.3 "Montserrat", sans-serif; }
.ss-legal-content ul { margin: 12px 0 20px; padding-left: 23px; }
.ss-legal-content li { margin-bottom: 7px; }
.ss-legal-content a { color: var(--ss-deep-sage); text-decoration: underline; text-underline-offset: 3px; }
.ss-legal-contact { margin-top: 44px; padding: 24px; border-radius: 18px; background: var(--ss-cream); }

@media (max-width: 900px) {
  .sun-sage-member-hub.logged-in .woocommerce > .row { grid-template-columns: 1fr; gap: 24px; }
  .sun-sage-member-hub .woocommerce-MyAccount-navigation { position: static; overflow-x: auto; }
  .sun-sage-member-hub .woocommerce-MyAccount-navigation ul { display: flex; gap: 6px; min-width: max-content; }
  .sun-sage-member-hub .woocommerce-MyAccount-navigation a { white-space: nowrap; }
  .ss-membership-dialog__plans { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  body.sun-sage-member-hub .page-title { padding: 24px 0; }
  body.sun-sage-member-hub .page-title .container.padding-medium { padding-top: 38px !important; padding-bottom: 42px !important; }
  .sun-sage-member-hub .woocommerce { width: min(100% - 20px, 1180px); margin-top: 24px; }
  .sun-sage-member-hub #customer_login .u-column1,
  .sun-sage-member-hub #customer_login .u-column2 { padding: 25px 18px; }
  .ss-auth-tabs { padding: 8px; }
  .ss-auth-tabs button { min-height: 52px; }
  .ss-auth-intro { margin-bottom: 28px; }
  .ss-auth-plan { grid-template-columns: 1fr; padding: 18px; }
  .ss-auth-plan span,
  .ss-auth-plan p { grid-column: 1; }
  .ss-overview-grid,
  .ss-entitlement-grid,
  .ss-plan-grid,
  .ss-member-booking-grid { grid-template-columns: 1fr; }
  .ss-policy-note { align-items: flex-start; flex-direction: column; gap: 5px; }
  .ss-member-success { align-items: flex-start; flex-direction: column; gap: 5px; }
  .ss-plan-confirm { grid-template-columns: 1fr; }
  .ss-plan-confirm .ss-member-kicker,
  .ss-plan-confirm small { grid-column: 1; }
  .ss-plan-confirm .button { width: 100%; }
  .ss-member-booking { grid-template-columns: 68px 1fr; padding: 18px; }
  .ss-member-booking time strong { font-size: 36px; }
  .ss-plan-price { font-size: 42px; }
  .ss-discover-classes { margin-top: 40px; padding-top: 28px; }
  .ss-discover-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .ss-upcoming-session { grid-template-columns: 58px minmax(0,1fr); gap: 15px; padding: 18px; }
  .ss-upcoming-date { min-height: 64px; }
  .ss-upcoming-date strong { font-size: 31px; }
  .ss-upcoming-action { grid-column: 1 / -1; align-items: center; flex-direction: row; justify-content: space-between; padding-top: 14px; border-top: 1px solid rgba(75,46,37,.10); }
  .ss-upcoming-action .ss-inline-book-cta { min-height: 46px; padding: 11px 18px !important; }
  .ss-membership-dialog { padding: 8px; }
  .ss-membership-dialog__panel { max-height: calc(100vh - 16px); padding: 28px 18px 22px; border-radius: 20px; }
  .ss-membership-dialog__close { top: 12px; right: 12px; }
  .ss-membership-dialog__plans { grid-template-columns: 1fr; }
  .ss-membership-choice { min-height: 0; }
  .ss-membership-dialog__footer { align-items: stretch; flex-direction: column; }
  .ss-membership-dialog__continue { width: 100%; }
  .ss-legal-content { width: min(100% - 24px, 920px); margin-top: 36px; font-size: 15px; }
  .ss-legal-content .ss-legal-intro { font-size: 16px; }
}
.ss-booking-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 14px;
    font-size: 13px;
}

.ss-booking-actions a {
    color: #556b2f;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ss-booking-actions .ss-cancel-booking {
    color: #8b3a31;
}

.ss-cancel-feedback {
    flex: 1 0 100%;
    display: grid;
    gap: 8px;
    margin-top: 2px;
    padding: 13px 15px;
    border: 1px solid rgba(75,46,37,.14);
    border-radius: 12px;
    background: #f7f1e8;
    color: #4b2e25;
    font-size: 13px;
    line-height: 1.55;
}

.ss-cancel-feedback[hidden] { display: none !important; }
.ss-cancel-feedback.is-warning { border-color: rgba(166,94,47,.28); background: #fbf3e5; }
.ss-cancel-feedback.is-success { border-color: rgba(85,107,47,.28); background: #edf2e4; }
.ss-cancel-feedback.is-confirm { border-color: rgba(75,46,37,.20); background: #fffdfa; }
.ss-cancel-feedback > strong { font-size: 15px; }
.ss-cancel-feedback > a { color: #4b2e25 !important; font-weight: 800; white-space: nowrap; }
.ss-cancel-feedback > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
.ss-cancel-feedback button {
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid #4b2e25;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}
.ss-cancel-feedback .ss-cancel-keep { background: #fff !important; color: #4b2e25 !important; }
.ss-cancel-feedback .ss-cancel-confirm { border-color: #8b3a31; background: #8b3a31 !important; color: #fff !important; }
.ss-cancel-feedback button:disabled { cursor: wait; opacity: .7; }

.sun-sage-member-hub a.button,
.sun-sage-member-hub button,
.sun-sage-member-hub input[type="submit"],
.sun-sage-member-hub .ss-plan-checkout,
.sun-sage-member-hub .ss-inline-book-cta {
    color: #fff !important;
}
