/* Public customer account: the same MOJO paper, olive ink and rust accents. */
.customer-dialog{margin:auto;box-sizing:border-box;width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:12px;background:var(--paper,#fff);color:var(--ink,#494b3f);box-shadow:0 16px 64px #0003;overflow:auto;font-family:var(--fn,inherit)}
.customer-dialog::backdrop{background:#292c285c;backdrop-filter:blur(3px)}
.customer-dialog *,.customer-booking *{box-sizing:border-box}
.customer-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px;border-bottom:1px solid var(--line,#ddd);position:sticky;top:0;background:var(--paper,#fff);z-index:2}
.customer-head h2{font-size:24px;font-weight:500;margin:0;letter-spacing:-.03em}
.customer-head button{min-width:44px;min-height:44px;border:0;background:transparent;font:inherit;font-size:26px;cursor:pointer;color:inherit}
.customer-content{padding:28px}
.customer-dialog h3{font-size:24px;font-weight:500;line-height:1.25;margin:0 0 10px;text-wrap:balance}
.customer-dialog p{line-height:1.6;margin:0 0 18px;color:var(--muted,#727569);font-size:14px}
.customer-form,.customer-fields{display:grid;gap:18px}
.customer-form label,.customer-field{display:grid;gap:8px;font-size:13px;color:var(--ink,#494b3f)}
.customer-dialog input:not([type=checkbox]):not([type=radio]),.customer-dialog textarea,.customer-dialog select,.customer-booking input{width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid var(--line,#d8dbd2);border-radius:6px;background:var(--paper,#fff);color:inherit;font:inherit;font-size:16px}
.customer-dialog textarea{resize:vertical}
.customer-primary,.customer-secondary,.customer-link{font:inherit;cursor:pointer;border-radius:6px;min-height:46px;padding:12px 18px;line-height:1.3}
.customer-primary{display:inline-block;border:1px solid var(--rust,#a8491f);background:var(--rust,#a8491f);color:#fff;font-weight:600}
.customer-secondary{border:1px solid var(--line,#d8dbd2);background:transparent;color:var(--ink,#494b3f)}
.customer-link{border:0;background:transparent;padding:8px 0;color:var(--rust,#a8491f);text-align:left;text-decoration:underline;text-underline-offset:3px}
.customer-dialog button:disabled,.customer-booking button:disabled{opacity:.45;cursor:default}
.customer-dialog :focus-visible,.customer-booking :focus-visible{outline:2px solid var(--rust,#a8491f);outline-offset:3px}
.customer-error{color:var(--rust,#a8491f)!important;margin:18px 0 0!important;font-size:14px!important}
.customer-status{padding:12px 0;border-top:1px solid var(--line,#ddd);font-size:14px;line-height:1.5}
.customer-label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#727569);margin-bottom:5px}
.customer-list{list-style:none;margin:0 0 28px;padding:0}
.customer-list li{padding:14px 0;border-bottom:1px solid var(--line,#ddd);display:flex;justify-content:space-between;gap:18px;font-size:14px;line-height:1.5}
.customer-list small{display:block;color:var(--muted,#727569);font-size:12px}
.customer-figure{font-variant-numeric:tabular-nums;white-space:nowrap}
.customer-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line,#ddd)}
.customer-check{display:flex!important;align-items:flex-start;gap:12px!important;line-height:1.55;font-size:14px!important;margin:16px 0}
.customer-check input{width:20px;height:20px;flex:0 0 20px;margin:2px 0 0;accent-color:var(--rust,#a8491f)}
.customer-agreement details{border-bottom:1px solid var(--line,#ddd)}
.customer-agreement summary{padding:16px 0;cursor:pointer;font-size:14px;font-weight:600;line-height:1.5}
.customer-agreement details p{font-size:13px;line-height:1.7}
.customer-signature{display:block;width:100%;height:160px;background:#fff;border:1px solid var(--line,#ddd);border-radius:6px;touch-action:none}
.customer-health{padding:0;list-style:none}.customer-health li{font-size:13px;line-height:1.5;margin:8px 0;color:var(--muted,#727569)}
.customer-booking{margin:22px 0;display:grid;gap:16px}
.customer-booking p{font-size:13px;line-height:1.6;margin:0;color:var(--muted,#727569)}
.customer-booking .customer-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line,#ddd);padding-top:16px;font-size:14px}
.customer-booking .customer-identity small{display:block;color:var(--muted,#727569);font-size:12px;margin-top:4px}
.customer-friend{padding:16px 0;border-top:1px solid var(--line,#ddd);display:grid;gap:12px}
.customer-friend header{display:flex;justify-content:space-between;align-items:center;font-size:14px}
.customer-friend button{min-width:44px;min-height:44px;border:0;background:transparent;font:inherit;color:var(--rust,#a8491f);cursor:pointer}
.customer-friend label{display:grid;gap:7px;font-size:12px}
.customer-booking [data-friend-list]{display:grid;gap:6px}
.customer-quote{font-size:13px;line-height:1.6;color:var(--muted,#727569)}
.customer-quote:empty{display:none}
.customer-dialog [hidden],.customer-booking [hidden],#rsvChamps[hidden]{display:none!important}
@media(max-width:600px){.customer-dialog{width:100%;max-width:100vw;max-height:100dvh;height:100dvh;margin:0;border-radius:0}.customer-head{padding:16px 20px}.customer-content{padding:22px 20px}.customer-dialog h3{font-size:23px}.customer-list li{gap:10px}.customer-dialog .customer-primary{width:100%}}
@media(prefers-reduced-motion:no-preference){.customer-dialog button:active,.customer-booking button:active{transform:scale(.96)}}

.customer-phone{display:grid;grid-template-columns:125px minmax(0,1fr);gap:8px}.customer-phone select{min-width:0;width:100%;font:inherit;font-size:14px;padding:8px;border:1px solid var(--line,#ddd);border-radius:6px;background:var(--paper,#fff);color:inherit}.customer-phone input{min-width:0}
@media(max-width:420px){.customer-phone{grid-template-columns:110px minmax(0,1fr)}}

.customer-offers{display:grid;gap:12px}.customer-offer{display:grid;gap:8px;text-align:left;padding:18px;border:1px solid var(--line,#ddd);border-radius:8px;background:transparent;color:inherit;font:inherit;cursor:pointer}.customer-offer:hover{border-color:var(--rust,#a8491f)}.customer-offer strong{font-size:18px}.customer-offer small,.customer-offer>span:last-child{font-size:13px;color:var(--muted,#727569)}.customer-totals{display:grid;gap:14px;margin:28px 0}.customer-totals div{display:flex;justify-content:space-between;gap:18px}.customer-totals dd{font-variant-numeric:tabular-nums}.customer-totals div:last-child{padding-top:18px;border-top:1px solid var(--line,#ddd);font-weight:600}

.customer-form .customer-choice{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-bottom:1px solid #494b3f20;cursor:pointer}.customer-form .customer-choice input{width:20px;height:20px;flex:none;margin:2px 0;accent-color:#a4441a}.customer-choice strong,.customer-choice small{display:block}.customer-choice small,.customer-muted{font-size:13px;line-height:1.5;opacity:.75}.customer-choice small{margin-top:5px}

.customer-waiver-choice>div{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.customer-waiver-choice p{margin:0 0 10px}.customer-waiver-choice [aria-pressed="true"]{border-color:var(--olive,#494b3f);color:var(--olive,#494b3f)}
/* A personal multi-date plan, with one server total. */
.customer-cart-badge{position:fixed;z-index:75;bottom:24px;left:24px;border:1px solid var(--olive,#494b3f);border-radius:28px;background:var(--olive,#494b3f);color:var(--paper,#fff);padding:14px 22px;min-height:48px;font:600 14px var(--fn,inherit);box-shadow:0 4px 16px #292c2820;cursor:pointer}.customer-cart-badge[hidden]{display:none}.customer-cart-badge:focus-visible{outline:2px solid var(--rust,#a8491f);outline-offset:3px}
.customer-cart-add{border-top:1px solid var(--line,#ddd);padding-top:18px;display:grid;gap:8px}.customer-cart-add small{font-size:12px;color:var(--muted,#727569)}.customer-cart-add .customer-secondary{justify-self:start}
.customer-cart-lines{list-style:none;padding:0;margin:22px 0}.customer-cart-lines li{display:flex;gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line,#ddd)}.customer-cart-date{flex:0 0 96px;font-size:13px;display:grid;gap:7px}.customer-cart-date span{font-size:17px}.customer-cart-class{flex:1;min-width:0;display:grid;gap:6px}.customer-cart-class strong{font-size:15px}.customer-cart-class small{font-size:12px;color:var(--muted,#727569);line-height:1.5}.customer-cart-class .customer-cart-covered{color:var(--olive,#494b3f)}.customer-cart-amount{display:grid;text-align:right;gap:2px;font-size:13px;white-space:nowrap}.customer-cart-amount .customer-link{font-size:12px;padding:8px 0;min-height:36px;justify-self:end}.customer-cart-actions{display:flex;align-items:center;gap:16px;margin-bottom:20px}.customer-cart-actions span{font-size:12px;color:var(--muted,#727569)}.customer-cart-waiver{padding:16px 0;border-top:1px solid var(--line,#ddd)}.customer-cart-waiver p{margin-bottom:4px}.customer-cart-waiver .customer-link{padding:8px 0;margin-right:20px}.customer-cart-confirm{width:100%}.customer-dialog .customer-cart-note{font-size:12px;margin:14px 0 0}.customer-cart-add [disabled]{opacity:.45}
@media(max-width:600px){.customer-cart-badge{left:16px;bottom:18px;padding:12px 18px}.customer-cart-lines li{gap:12px;flex-wrap:wrap}.customer-cart-date{flex-basis:86px}.customer-cart-amount{margin-left:98px;display:flex;align-items:center;justify-content:space-between;width:calc(100% - 98px)}.customer-cart-actions{align-items:start;flex-direction:column;gap:10px}}
.customer-auth-methods{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-bottom:1px solid var(--line,#ddd);margin:24px 0}.customer-auth-methods button{font:inherit;font-size:14px;line-height:1.4;min-height:50px;padding:12px 8px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted,#727569);cursor:pointer}.customer-auth-methods button[aria-pressed=true]{color:var(--rust,#a8491f);border-bottom-color:var(--rust,#a8491f);font-weight:600}.customer-password-field{position:relative;display:block}.customer-password-field input{padding-right:74px!important}.customer-password-field button{position:absolute;right:3px;top:3px;min-height:42px;min-width:62px;padding:8px;border:0;border-radius:4px;background:transparent;font:inherit;font-size:12px;color:var(--ink,#494b3f);cursor:pointer}.customer-password-links{display:flex;justify-content:space-between;gap:12px;margin:10px 0 20px}.customer-password-links .customer-link{font-size:13px;padding:10px 0}.customer-dialog .customer-password-hint{font-size:12px;margin:-8px 0 0}.customer-password-email{overflow-wrap:anywhere;font-weight:600}.customer-password-field:focus-within{outline:0}
/* Account sections own their spacing; inline links never collide with separators. */
.customer-dialog a.customer-secondary,.customer-dialog a.customer-primary{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-height:46px;text-decoration:none;box-sizing:border-box}.customer-content>section.customer-section{display:flow-root;margin:24px 0 0;padding:24px 0 0;border-top:1px solid var(--line,#ddd)}.customer-content>section.customer-section>h3{margin:0 0 12px;padding:0;border:0}.customer-content>section.customer-section>.customer-list{margin:0 0 16px}.customer-content>section.customer-section>.customer-list:last-child{margin-bottom:0}.customer-content>section.customer-section>.customer-list li:last-child{border-bottom:0}.customer-content>section.customer-section>p{margin-bottom:14px}.customer-content>[data-logout]{margin-top:24px}
.customer-dialog{overscroll-behavior:contain}.customer-dialog section{padding:0;margin:0}.customer-dialog h3,.customer-dialog .customer-list strong{overflow-wrap:anywhere}.customer-dialog .customer-list li>div{min-width:0}.customer-content{padding-bottom:max(28px,env(safe-area-inset-bottom))}@media(max-width:600px){.customer-content{padding-bottom:max(22px,env(safe-area-inset-bottom))}}
.customer-dialog .customer-cart-purchase{padding:18px 0;margin:20px 0;border-top:1px solid var(--line,#ddd);border-bottom:1px solid var(--line,#ddd)}.customer-cart-purchase>div:first-of-type{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:8px}.customer-cart-purchase strong{font-size:16px;overflow-wrap:anywhere}.customer-cart-purchase p{font-size:12px;margin:6px 0}.customer-cart-purchase-actions{display:flex;gap:22px}.customer-cart-purchase-actions .customer-link{font-size:13px}.customer-cart-actions{flex-wrap:wrap}.customer-cart-purchase+.customer-cart-lines:empty{display:none}
.customer-dialog .customer-cart-waiver{padding:18px 0 0;margin:18px 0 0}.customer-dialog .customer-cart-purchase-actions{margin-top:8px}
.customer-verified-phone{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid var(--line,#ddd);font-size:13px}.customer-verified-phone span{color:var(--muted,#727569)}.customer-inline-preferences{display:grid;gap:12px;margin:4px 0}.customer-inline-preferences>strong{font-size:13px;font-weight:500}.customer-inline-preferences>small{font-size:12px;color:var(--muted,#727569)}.customer-inline-preferences .customer-choice{margin:0}.customer-remember{font-size:12px;line-height:1.5}
.customer-guest-offer{margin-bottom:20px}.customer-guest-offer p{font-size:13px;margin:6px 0}.customer-dialog .customer-guest-note{font-size:12px;margin:0}.customer-dialog [data-guest-signin]{margin-top:16px}
.customer-guest-offer .customer-guest-price{display:flex;align-items:baseline;gap:10px;font-size:23px;font-weight:600;color:var(--ink,#494b3f);margin-top:16px}.customer-guest-price span{font-size:12px;font-weight:400;color:var(--muted,#727569)}

.customer-dialog .customer-cart-discovery{padding:18px 0;margin:18px 0;border-block:1px solid #d9d8ce}.customer-cart-discovery p{margin:6px 0 14px}.customer-cart-discovery .customer-secondary{width:100%}

.customer-dialog [data-offer-panel][hidden]{display:none}

/* Réserver sans compte : le formulaire EST le parcours, pas une porte à franchir.
   Il remplace le bloc « Sign in to continue », qui doublait le bouton de paiement
   du bas de la feuille. */
.customer-booking .customer-guest-booking{display:grid;gap:14px;margin:18px 0}
.customer-booking .customer-group-entry{display:grid;justify-items:start;gap:10px;padding:14px 0;border-top:1px solid var(--line,#ddd)}
.customer-booking .customer-group-entry strong{font-size:14px;font-weight:600}
.customer-booking .customer-group-entry [data-friend-list]{width:100%}
.customer-booking .customer-group-entry .customer-secondary{min-height:44px}
.customer-booking .customer-guest-booking label{display:grid;gap:7px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#727569)}
.customer-booking .customer-guest-booking select{width:100%;min-height:48px;padding:12px 10px;border:1px solid var(--line,#d8dbd2);border-radius:6px;background:var(--paper,#fff);color:inherit;font:inherit;font-size:16px}
.customer-booking .customer-guest-booking small{font-size:12px;letter-spacing:0;text-transform:none;color:var(--muted,#727569);line-height:1.5}
.customer-booking .customer-guest-signin{margin:14px 0 0;font-size:13px;color:var(--muted,#727569)}
.customer-booking .customer-guest-signin .customer-link{font-size:13px}

/* Le panier sans compte : une ligne par séance, le total en dessous. Sans ces
   règles, le nom du cours et sa date se collent — les deux sont dans le même
   flux — et le total se lit « TotalRp 440,000 ». */
.customer-dialog .customer-cart-lines{display:grid;gap:2px;margin:18px 0 0}
.customer-dialog .customer-cart-line{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e6e4da}
.customer-dialog .customer-cart-line>div{display:grid;gap:3px;min-width:0}
.customer-dialog .customer-cart-line strong{font-weight:600}
.customer-dialog .customer-cart-line small{font-size:12px;color:var(--muted,#727569)}
.customer-dialog .customer-cart-line>span{flex:0 0 auto;font-variant-numeric:tabular-nums}
.customer-dialog .customer-cart-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 0 4px;font-size:17px}
.customer-dialog .customer-cart-total strong{font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}
