@font-face{font-family:Rubik;src:url(../../assets/elena/Rubik-Regular.woff2);font-weight:400;font-display:swap}@font-face{font-family:Rubik;src:url(../../assets/elena/Rubik-Bold.woff2);font-weight:700;font-display:swap}*{box-sizing:border-box}body{background:#eeeef3;color:#243c40;margin:0;font:14px/1.45 MirageNumbers,Rubik,Arial,sans-serif}main{max-width:760px;margin:auto;padding:0 16px 24px}header{display:flex;justify-content:space-between;align-items:center;padding:18px 2px}header span{font-size:11px;color:#7b858e}.brand{font:bold 29px Georgia;color:#d52632;text-decoration:none}a{color:inherit}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:2px solid #50777b;outline-offset:3px}.variants{display:flex;padding:4px;background:#dfe5e7;border-radius:20px;margin-bottom:24px;gap:4px}.variants a{flex:1;text-align:center;text-decoration:none;font-size:12px;padding:12px 4px;border-radius:16px}.variants a.active{background:white}h1{font-size:28px;line-height:1.1;letter-spacing:-.7px;margin:0 0 9px}h2{font-size:20px;line-height:1.25;margin:12px 0}p{margin:8px 0;color:#77838b}.lead{margin-bottom:18px}.search{display:flex;background:white;border-radius:20px;padding:0 14px;align-items:center;gap:8px}.search span{font-size:24px;color:#829096}.search input{border:0;outline:0;box-shadow:none;min-width:0;width:100%;background:transparent;padding:16px 0;font-size:16px}.search:focus-within{background:#e0e9e8}.search button{background:none;font-size:22px;min-width:32px;min-height:44px}.filters{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.filters button{border-radius:16px;padding:10px 12px;background:#fff;font-size:12px}.filters button[aria-pressed=true]{background:#243c40;color:white}.duration{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.duration span{color:#77838b;font-size:12px}.duration button{background:transparent;border-radius:12px;padding:7px 9px;font-size:12px}.duration button[aria-pressed=true]{background:#dce6e3}.result-head{display:flex;justify-content:space-between;align-items:center;margin:14px 2px 10px;color:#7b878e;font-size:12px}.result-head button{background:transparent;text-decoration:underline;color:#5d747a}.cards{display:grid;gap:10px}.card{background:#fff;border-radius:22px;padding:18px;text-align:left;width:100%;display:grid;grid-template-columns:1fr auto;gap:10px 12px}.card-title{font-size:17px;line-height:1.25;font-weight:700}.card-tag{color:#879199;font-size:11px;margin-bottom:5px}.price{font:700 23px/1.2 MirageNumbers,Rubik,Arial,sans-serif;white-space:nowrap}.card .price{align-self:center}.card-info{font-size:12px;color:#7d898f;grid-column:1/-1}.card-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px}.card-bottom small{color:#899399;font-size:11px}.card-bottom span{font-size:12px;color:#405e62}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.choice{background:white;border-radius:20px;padding:16px;text-align:left;position:relative;min-height:112px}.choice img{width:38px;height:38px;object-fit:contain;display:block;margin-bottom:8px}.choice strong{display:block;font-size:14px}.choice[aria-pressed=true]{background:#dce9e2}.choice small{color:#7d898f;font-size:11px}.empty{background:white;border-radius:22px;padding:28px 18px;text-align:center}.primary{display:block;text-align:center;background:#243c40;color:white;border:0;border-radius:25px;min-height:48px;padding:13px 18px;width:100%;font-weight:700;text-decoration:none;margin:16px 0 0}.primary.orange{background:#ff7b00}.primary:disabled{opacity:.65;cursor:default}.review{margin:24px 4px;font-size:12px}.review a{text-underline-offset:4px}.review p{font-size:11px}dialog{background:#eeeef3;color:#243c40;border:0;border-radius:26px;padding:20px;width:430px;max-width:calc(100% - 24px);max-height:90dvh}dialog::backdrop{background:#10262bad;backdrop-filter:blur(3px)}.close{display:block;width:36px;height:36px;border-radius:50%;background:white;font-size:25px;margin:0 0 12px auto}.detail-card{background:white;border-radius:20px;padding:18px;margin:14px 0}.detail-card>img{width:42px;height:34px;object-fit:contain;float:right}.detail-card p{font-size:13px}.facts{margin:0;display:grid;gap:12px}.facts div{display:grid;gap:3px}.facts dt{font-size:11px;color:#859198}.facts dd{margin:0;font-size:14px}.terms{font-size:13px;color:#697c81}.terms p{color:inherit}.back{background:transparent;padding:8px 0;margin-bottom:16px}.checkout h1{font-size:26px}.total{display:flex;justify-content:space-between;align-items:center}.demo{font-size:12px;padding:14px 0;color:#7e8a91}.field{display:block;font-size:12px;margin-top:12px;color:#79868b}.field input{display:block;width:100%;border:0;outline:0;box-shadow:none;border-radius:15px;background:#fff;padding:14px;font-size:16px;margin-top:5px}.field input:focus{background:#e0e9e8}.payment-note{font-size:12px}.payment-note input{accent-color:#243c40}#checkout-message{font-size:13px;padding-top:12px}details summary{cursor:pointer;font-size:14px}details ul{padding-left:18px}@media(min-width:650px){.cards{grid-template-columns:1fr 1fr}.choice-grid{grid-template-columns:repeat(4,1fr)}h1{font-size:32px}}
.result-head #reset.active-filter{display:flex;align-items:center;gap:8px;max-width:100%;min-height:0;padding:10px 12px;border:0;border-radius:16px;background:white;color:#243c40;box-shadow:none;font:400 12px/1.45 MirageNumbers,Rubik,Arial,sans-serif;text-decoration:none}.filter-cross{font:14px/1.24 MirageNumbers,Arial;flex:none}.placement-note{font-size:11px;line-height:1.5;margin:0 2px 14px;color:#7c8791}.badge-slot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;min-height:45px;border:1px dashed #cbd1db;border-radius:12px;padding:4px 10px;gap:8px}.placement-label{font-size:11px;color:#84919a}.super-preview{position:relative;display:grid;place-items:center;width:66px;height:34px}.super-preview img{width:100%;height:100%;object-fit:contain;position:absolute}.super-preview b{position:relative;color:white;font:italic 12px MirageNumbers,Rubik,Arial,sans-serif}.discount-preview{width:36px;height:36px;object-fit:contain}.coach-slot{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px dashed #cbd1db;border-radius:12px;font-size:11px;color:#829096}.coach-slot small{display:block;font-size:10px;color:#98a1a8}.mini-photos{display:flex;padding-left:3px;flex-shrink:0}.mini-photos img{width:30px;height:30px;object-fit:cover;object-position:top;border-radius:50%;background:#e5ecec;border:2px solid white;margin-left:-3px}

.approved-card{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.approved-content{padding:20px;flex:1}.approved-card .card-title{font-size:20px;margin:6px 0 16px}.approved-facts{display:grid;grid-template-columns:minmax(0,1fr) 82px;align-items:center;gap:10px;background:#f2f4f4;border-radius:20px;padding:14px;margin:10px 0 20px}.hours+.hours{margin-top:7px}.hours strong{font-size:14px;line-height:1.35;display:block}.hours small{font-size:10px;color:#7a888d}.benefits{display:grid;gap:4px;margin-top:10px;font-size:11px;line-height:1.35;color:#63777b}.benefits span:before{content:'·';margin-right:5px}.approved-facts figure{margin:0}.circle{width:82px;height:82px;border-radius:50%;overflow:hidden;background:#e0e9e5;position:relative}.approved-facts figcaption{font-size:10px;line-height:1.3;color:#7f8a90;text-align:center;margin-top:8px}.approved-price{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.approved-price del{font-size:14px;color:#929a9e}.discount{background:#ed342b;color:white;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:700}.price-caption{font-size:11px;margin:9px 0 0}.payments{background:#f7f7fa;border-top:1px solid #eeeef3;padding:0 18px;margin-top:20px}.payment{background:transparent;display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px 0;min-height:54px;font-size:13px}.payment+.payment{border-top:1px solid #e5e7ea}.payment img{height:28px;width:28px;border-radius:7px;object-fit:contain}.payment span{flex:1}.payment i{font-size:22px;font-style:normal;color:#7a8b90}.payment-status{font-size:11px;margin:0}.payment-status:not(:empty){padding-bottom:14px}.approved-card .payments{margin-top:0}dialog{background:white}dialog .approved-facts{margin-bottom:18px}dialog .terms{margin-top:18px}dialog .payments{border-radius:18px}@media(max-width:350px){.approved-content{padding:16px}.approved-facts{padding:12px;grid-template-columns:minmax(0,1fr) 72px}.circle{width:72px;height:72px}}

.discount-demo-note{font-size:12px;line-height:1.45;color:#61777b;background:#e1e9e6;padding:12px 14px;border-radius:14px;margin:12px 0 16px}

/* Match the home logo and approved coach typography. */
.brand{display:inline-flex;align-items:center;line-height:1}.brand img{display:block;width:103px;height:auto;object-fit:contain}h1,.checkout h1{font:700 23px/1.2 MirageNumbers,Rubik,Arial,sans-serif;letter-spacing:0}h2{font-size:20px;line-height:1.3}.lead{font-size:14px;line-height:1.4}.choice small{font-size:12px;line-height:1.4;display:block;margin-top:3px}.card-tag{font-size:12px}.approved-card .card-title{font-size:20px;line-height:1.3}.approved-facts{grid-template-columns:minmax(0,1fr) 82px}.hours strong{font-size:16px;line-height:1.4}.hours small{font-size:12px;line-height:1.4}.benefits{font-size:14px;line-height:1.4;gap:5px}.approved-facts figcaption{font-size:12px;line-height:1.3}.price-caption{font-size:12px;line-height:1.4}.primary{font-size:16px;line-height:1.4}.payment{font-size:14px}.payment-status,.discount-demo-note{font-size:12px;line-height:1.4}.terms,details summary{font-size:14px;line-height:1.4}.review p{font-size:12px}.price{font:700 23px/1.2 MirageNumbers,Rubik,Arial,sans-serif}@media(max-width:350px){.approved-facts{grid-template-columns:minmax(0,1fr) 72px}.hours strong{font-size:15px}}

h1,.checkout h1{font-size:24px}.access-row{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:6px;row-gap:0;font-size:14px;line-height:1.45}.access-row+.access-row{margin-top:4px}.access-row>span{color:#63777b;min-width:42px}.access-row b{font-weight:400;white-space:nowrap}.access-days{font-size:14px;line-height:1.45}.holiday-note{display:block;font-size:12px;line-height:1.4;color:#63777b;margin-top:4px}.benefits{margin-top:10px}.primary,.primary.orange{background:#243c40;color:#fff}.approved-facts{margin-bottom:18px}

#details .close,#details .close:focus,#details .close:focus-visible{border:0;outline:0;box-shadow:none;width:44px;height:44px}#details .close:focus-visible{background:#e0e9e5}.variants a{font:700 16px/1.3 MirageNumbers,Rubik,Arial,sans-serif;display:flex;align-items:center;justify-content:center;min-height:56px;padding:12px 8px;min-width:0;text-wrap:balance}

.choice img.choice-mockup{width:76px;height:54px;object-fit:cover;object-position:50% 60%;border-radius:10px}

/* Larger labels for the time selection tiles. */
.choice strong{font-size:18px;line-height:1.3;font-weight:700}.choice small{font-size:14px;line-height:1.4}

/* Approved blue full-access tile; keep current label typography. */
.choice[data-kind="full"]{background:#eaf0fd}.choice[data-kind="full"][aria-pressed="true"]{background:#dbe7fb;box-shadow:inset 0 0 0 2px #8bafe1}.choice img.choice-dumbbell{width:68px;height:54px;object-fit:contain}

.choice img.choice-family-set{filter:none}

/* Shared catalog: one set of cards and destinations. */
.catalog-home{font-size:14px;text-decoration:none}.search-all{background:none;padding:10px 0;font-size:12px}.catalog-facts{grid-template-columns:minmax(0,1fr) 56px}.catalog-facts>img{object-fit:contain}.eligibility-badge{font-size:12px;background:#deebe5;padding:5px 9px;border-radius:8px}.benefit-choice{background:#e5ece9;padding:16px;border-radius:20px;margin:16px 0}.benefit-choice h3{font-size:16px;margin:0}.document{background:#fff;padding:14px;border-radius:14px;font-size:14px}.document small{font-size:12px;color:#63777b}.payment[aria-disabled]{color:#7a898c;cursor:default}.payment small{font-size:12px}.coach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.coach-card{border-radius:22px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.coach-photo{background:#e9ecee;width:100%;height:230px;padding:0;overflow:hidden}.coach-photo img{height:100%;width:100%;object-fit:contain;object-position:50% 15%;display:block}.coach-copy{padding:14px;display:flex;flex-direction:column;flex:1}.coach-copy h2{font-size:18px;margin:0}.coach-copy p{font-size:13px;min-height:38px}.coach-copy small{font-size:11px;color:#7b898d;margin:7px 0}.coach-copy .primary{font-size:14px;padding:12px 6px;margin-top:auto}.session-list{display:grid;gap:12px}.session-card{background:#fff;padding:18px;border-radius:20px}.session-card h2{font-size:18px}.session-card p{font-size:14px}.selection-note{background:#e1ebe6;padding:12px;border-radius:14px;font-size:14px}.coach-dialog{width:500px;height:94dvh;max-height:94dvh;padding:0;overflow:hidden}.coach-dialog>.close{position:absolute;right:8px;top:8px;z-index:2;background:#fff}.coach-dialog #detail-body,.coach-dialog iframe{width:100%;height:100%;border:0;display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:420px){.coach-photo{height:210px}.coach-copy{padding:12px}.coach-copy h2{font-size:16px}.coach-dialog{max-width:100%;width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.variants a{font-size:15px}}@media(min-width:650px){.coach-photo{height:320px}.session-list{grid-template-columns:1fr 1fr}}
.catalog-back{display:inline-block;text-decoration:none;padding:8px 0 14px;font-size:14px}.coach-copy h2{min-height:42px}.coach-copy .price{margin-top:auto}.coach-copy .primary{margin-top:12px}

/* Individual proportional framing: aligned heads, bottom crop, no image distortion. */
.coach-photo{position:relative;aspect-ratio:172/210;height:auto;flex-shrink:0}
.coach-photo img{position:absolute;width:var(--portrait-width,100%);height:auto;max-width:none;left:var(--portrait-left,50%);top:var(--portrait-top,2%);transform:translateX(-50%)}
.coach-photo[data-portrait="0"]{--portrait-width:145%;--portrait-left:26%;--portrait-top:0%}
.coach-photo[data-portrait="1"]{--portrait-width:115%;--portrait-left:57%;--portrait-top:1%}
.coach-photo[data-portrait="2"]{--portrait-width:100%;--portrait-top:1%}
.coach-photo[data-portrait="3"]{--portrait-width:135%;--portrait-top:0%}
.coach-photo[data-portrait="4"]{--portrait-width:90%;--portrait-top:-3%}
.coach-photo[data-portrait="5"]{--portrait-width:230%;--portrait-top:-10%;--portrait-left:46%}
.coach-photo[data-portrait="6"]{--portrait-width:100%;--portrait-top:0%}
.coach-photo[data-portrait="7"]{--portrait-width:100%;--portrait-left:43%}

/* Shared compact timetable, based on the original day-and-time rows. */
.schedule-view .lead{margin-bottom:18px}.schedule-view .search-all{display:none}
.schedule-calendar{margin:20px 0 12px}.schedule-month{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.schedule-month strong{font-size:16px}.schedule-month button{width:40px;height:40px;font-size:26px;background:white;border-radius:50%}
.schedule-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.schedule-days button{display:grid;gap:6px;justify-items:center;border-radius:16px;padding:12px 0;background:#fff;color:#233e43}.schedule-days small{font-size:12px}.schedule-days b{font-size:19px}.schedule-days button[aria-pressed=true]{background:#233e43;color:#fff}.schedule-days button[aria-current=date]:not([aria-pressed=true]){background:#dce9e4}.schedule-shortcuts{display:flex;justify-content:space-between;margin-top:12px}.schedule-shortcuts button{font-size:14px;padding:8px 12px;border-radius:20px}.schedule-shortcuts [aria-pressed=true]{background:#dce9e4}
.schedule-note{font-size:13px;line-height:1.5;color:#74858a}.schedule-service{background:#fff;border-radius:20px;padding:10px 14px;font-size:14px}.schedule-view .result-head{margin:12px 0}.schedule-day-group{margin:20px 0}.schedule-day-group>h2{font-size:18px;margin:0 0 12px}.session-list{display:grid;gap:10px}.session-card{display:block;padding:0;border-radius:20px;overflow:hidden;background:#fff}.session-open{display:flex;align-items:flex-start;text-align:left;gap:14px;width:100%;padding:18px 16px;color:#233e43;background:transparent}.session-time{flex:none;font-size:18px;font-weight:700;line-height:1.5;background:#eef1f4;border-radius:12px;padding:7px 9px}.session-info{min-width:0;flex:1;padding-top:3px}.session-info>strong{display:block;font-size:18px;line-height:1.3}.session-info>small{display:block;color:#75858a;font-size:14px;line-height:1.4;margin-top:5px}.session-price{display:block;font-size:14px;margin-top:9px;color:#60777b}.session-chevron{font-size:25px;margin:auto 0;color:#74858a}.session-open:hover{background:#f9fafb}.schedule-view .review{display:none}
@media(max-width:360px){.session-open{gap:10px;padding:16px 12px}.session-time{font-size:16px;padding:6px}.schedule-days{gap:4px}.schedule-month strong{font-size:14px}}

.session-open{position:relative;padding-bottom:48px}.session-book{position:absolute;right:16px;bottom:14px;font-size:14px;font-weight:700;color:#233e43}.session-book span{font-size:18px;margin-left:5px}.session-coach-name{color:#476566!important}
#details.session-dialog{width:calc(100% - 32px);max-width:400px;padding:22px;border-radius:24px}#details.session-dialog .close{position:absolute;top:12px;right:12px;background:transparent;width:36px;height:36px;border:0;box-shadow:none}.session-booking>.card-tag{display:block;padding-right:30px;font-size:11px}.session-booking h2{font-size:22px;line-height:1.25;margin:12px 0 16px;padding-right:14px}.booking-slot{display:flex;align-items:center;gap:14px;background:#eef1f4;padding:13px;border-radius:16px}.booking-slot time{font-size:23px;font-weight:700}.booking-slot b,.booking-slot small,.booking-coach b,.booking-coach small{display:block}.booking-slot b{font-size:16px}.booking-slot small,.booking-coach small{font-size:13px;color:#75858a;margin-top:3px}.booking-coach{display:flex;align-items:center;gap:10px;margin:16px 0}.booking-coach b{font-size:15px}.booking-avatar{width:46px;height:46px;overflow:hidden;border-radius:50%;background:#eef1f4;position:relative;flex:none}.booking-avatar img{position:absolute;width:125px;max-width:none;left:50%;top:0;transform:translateX(-50%)}.booking-cost{font-size:14px;color:#60777b;margin:14px 0}.session-booking .primary{font-size:16px;min-height:46px;padding:13px 10px}.booking-copy{display:block;width:100%;padding:12px 0;font-size:14px;background:transparent;color:#233e43}.booking-feedback:empty{display:none}.booking-feedback{font-size:13px;color:#356756}.session-booking .schedule-note{font-size:12px;margin:0;line-height:1.5}

.booking-field{display:block;font-size:14px;margin:12px 0}.booking-field input{display:block;width:100%;margin-top:6px;padding:12px 14px;border:0;outline:0;box-shadow:none;border-radius:14px;background:#eef1f4;color:#233e43;font:16px MirageNumbers,Onest,Arial}.booking-field input:focus{background:#e4eceb;outline:0;box-shadow:none}.session-booking .email-note{margin:10px 0 0}.booking-phone{display:block;text-align:center;font-size:13px;color:#60777b}.session-booking form .primary{margin-top:16px}

/* Booking card follows the approved coach payment cards. */
#details.session-dialog{background:#eeeef4;padding:18px;max-width:410px;border-radius:26px}.booking-topline{font-size:14px;font-weight:500;color:#64777b;padding:4px 38px 18px 4px}.booking-ticket{background:#fff;border-radius:22px;padding:18px;box-shadow:0 3px 8px #203b4010}.booking-ticket-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.booking-ticket-top img{width:76px;height:auto}.booking-type{font-size:11px;color:#7b898d}.session-booking h2{font-size:23px;line-height:1.22;margin:18px 0 14px;padding:0}.booking-coach{margin:0 0 18px;gap:10px}.booking-avatar{width:44px;height:44px}.booking-coach b{font-size:14px}.booking-coach small{font-size:12px}.booking-slot{background:#eef1f4;justify-content:space-between;gap:12px;padding:12px 14px}.booking-slot small{font-size:11px;margin:0 0 4px}.booking-slot b{font-size:15px}.booking-slot time{font-size:23px;font-weight:700;line-height:1.1}.booking-cost{font-size:13px;margin:12px 0 0}.booking-meta{font-size:13px;margin:10px 0;color:#60777b}.booking-field{font-size:13px;margin:14px 0}.booking-field input{background:#fff;height:46px}.session-booking form .primary{margin-top:18px;font-size:16px}.session-booking .email-note{margin:12px 8px 0;text-align:center;font-size:12px;line-height:1.5;color:#75858a}.booking-help{margin-top:10px;text-align:center;font-size:12px;color:#64777b}.booking-help summary{cursor:pointer;list-style:none;padding:5px}.booking-help summary::-webkit-details-marker{display:none}.booking-help p{font-size:12px;margin:7px 0}.booking-help a{color:#233e43}.booking-help[open]{background:#fff;border-radius:14px;padding:6px}
@media(max-width:350px){#details.session-dialog{padding:14px}.booking-ticket{padding:15px}.session-booking h2{font-size:21px}.booking-slot{padding:10px}.booking-slot b{font-size:14px}}

.session-tinted{position:relative;background:#fff;border:0;box-shadow:0 3px 12px #263e4310}.session-tinted[data-direction=group]{background:linear-gradient(115deg,#f5faf7,#fff 70%)}.session-tinted[data-direction=yoga],.session-tinted[data-direction=aeroyoga]{background:linear-gradient(115deg,#f0edfa,#fff 75%)}.session-tinted[data-direction=sport]{background:linear-gradient(115deg,#eaf1fb,#fff 75%)}.session-tinted .session-time{background:#dcebe5;color:#23484b}.session-tinted[data-direction=yoga] .session-time,.session-tinted[data-direction=aeroyoga] .session-time{background:#e5dff5}.session-tinted[data-direction=sport] .session-time{background:#dce8f7}.session-tinted .session-open{display:grid;grid-template-columns:70px 1fr;gap:12px;min-height:135px;padding:18px 16px 48px}.session-tinted .session-time{grid-column:1;grid-row:1;align-self:start;text-align:center}.session-tinted .session-info{grid-column:2;grid-row:1;padding:2px 0}.session-tinted .session-coach-photo{grid-column:1;grid-row:2;width:42px;height:42px;border-radius:50%;overflow:hidden;position:relative;margin:-3px auto -27px;background:#dcebe5}.session-coach-photo img{width:112px;max-width:none;position:absolute;left:50%;transform:translateX(-50%);top:0}.session-tinted .session-book{background:#243f43;color:white;border-radius:18px;padding:6px 13px;bottom:12px;font-size:12px}.session-tinted .session-info strong{font-size:17px}.session-tinted .session-price{font-size:13px}
.group-demo-note{font-size:11px;color:#637a80;background:#e1e9e9;border-radius:10px;padding:8px 10px;margin:0 30px 16px 0}.group-identity{display:flex;align-items:center;gap:12px;margin-bottom:15px}.group-identity b,.group-identity span{display:block}.group-identity div>span{font-size:12px;color:#73878b;margin-bottom:3px}.group-identity b{font-size:16px}.confirmation-avatar{display:block;position:relative;width:60px;height:60px;overflow:hidden;border-radius:50%;background:#dbe9e3;flex:none}.confirmation-avatar img{position:absolute;top:0;left:50%;transform:translateX(-50%);width:160px;max-width:none}.group-selection{background:white;padding:18px;border-radius:20px}.group-selection h2{font-size:23px;line-height:1.25;margin:0 0 16px}.group-selection>div,.confirmed-ticket>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.group-selection strong,.confirmed-ticket strong{font-size:23px}.group-selection b,.confirmed-ticket b{font-size:14px}.group-capacity{font-size:13px;color:#34675b;background:#dcece3;padding:8px 12px;border-radius:12px;margin-top:10px}.group-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.group-name-fields .booking-field{min-width:0}.group-small{font-size:12px;color:#74858a;line-height:1.5}.group-form-error{font-size:13px;color:#9b362d}.group-form-error:empty{display:none}.group-demo-switch{display:grid;gap:6px;padding:8px}.group-demo-switch button{font-size:13px;padding:9px;background:#fff;border-radius:12px}.group-demo-switch [aria-pressed=true]{background:#dcece3}.group-confirmation{text-align:center;padding:6px 0}.group-confirmation h2{font-size:27px;line-height:1.2;margin:16px 0 8px}.confirmation-photo{position:relative;width:90px;margin:16px auto}.confirmation-photo .confirmation-avatar{width:90px;height:90px}.confirmation-photo img{width:240px}.confirmation-check{position:absolute;bottom:0;right:-3px;width:29px;height:29px;border-radius:50%;background:#27584c;color:#fff;border:3px solid #eeeef4;font-size:17px}.confirmation-name{font-size:14px;color:#687f82}.confirmed-ticket{padding:18px;background:white;border-radius:20px;margin:20px 0;text-align:left}.confirmed-ticket h3{font-size:19px;margin:0}.confirmed-ticket p{font-size:14px;margin:6px 0 18px;color:#6b8184}.group-cancel{padding:14px 6px;font-size:13px;color:#647b80;background:none}.group-alternatives{display:grid;gap:10px;margin-top:20px}.group-alternatives button{display:flex;align-items:center;justify-content:space-between;padding:16px;background:white;border-radius:16px;color:#233e43}.group-alternatives b{font-size:19px}

.group-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.45;color:#637c80;margin:16px 0}.group-consent input{width:18px;height:18px;flex:none;accent-color:#243f43}.group-consent a{color:inherit}.group-list-places{display:inline-block!important;border-radius:10px;padding:4px 8px;background:#e0ede4;color:#2c6552!important;font-size:12px!important}.group-booking .primary:disabled{opacity:.6;cursor:wait}

/* Approved schedule banners and individually aligned coach portraits. */
.session-approved{background:#fff;border-radius:24px;box-shadow:0 7px 20px #263e4207}.session-approved .session-open{display:flex;flex-direction:column;gap:0;padding:0;min-height:0;height:100%;background:#fff;overflow:hidden;border-radius:inherit}.session-banner{display:block;position:relative;overflow:hidden;width:100%;height:180px;flex:none;background:var(--banner-bg,#e1eae7)}.session-banner-image{position:absolute;right:0;width:72%;height:100%;object-fit:cover;object-position:50% var(--banner-pos);mask-image:linear-gradient(90deg,transparent,#000 35%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%)}.session-start{position:absolute;left:20px;top:50%;transform:translateY(-50%)}.session-start>small{display:block;font-size:11px;letter-spacing:.7px;text-transform:uppercase;margin-bottom:8px;color:#63777b}.session-approved .session-time{display:block;font-size:30px;line-height:1.1;letter-spacing:-1px;background:none;border-radius:0;padding:0;color:#243e42}.session-approved .session-info{display:block;width:100%;flex:1;padding:18px 20px 0}.session-approved .session-info>strong{font-size:21px;line-height:1.25;letter-spacing:-.5px}.session-coach-line{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:14px;color:#6b7b7e}.session-approved .session-coach-photo{display:block;position:relative;width:68px;height:68px;margin:0;border-radius:50%;overflow:hidden;flex:none;background:#dfebe7}.session-approved .session-coach-photo img{position:absolute;width:232%;height:auto;max-width:none;left:-66%;top:1.5%;transform:none}.session-approved [data-coach-portrait=malygina] img{width:175%;left:-40%;top:4%}.session-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:18px 20px 20px}.session-approved .session-price{font-size:12px;line-height:1.4;margin:0;color:#78858a}.session-approved .session-book{position:static;flex:none;background:#243e42;color:#fff;border-radius:26px;padding:13px 18px;font-size:14px;line-height:1.3;font-weight:650;white-space:nowrap}.session-approved .group-list-places{margin-top:12px}.session-banner-plain{height:88px;background:linear-gradient(110deg,#dcebe5,#efedf5)}.session-approved[data-direction=sport] .session-banner-plain{background:linear-gradient(110deg,#dce8f7,#edf2fa)}@media(max-width:600px){.session-approved .session-banner:not(.session-banner-plain){height:172px}.session-approved .session-info{padding:16px 18px 0}.session-approved .session-info>strong{font-size:20px}.session-approved .session-footer{padding:18px}.session-approved .session-book{padding:12px 16px}.session-start{left:18px}.session-approved .session-time{font-size:29px}}@media(max-width:350px){.session-approved .session-footer{padding:16px 14px;gap:6px}.session-approved .session-book{padding:12px;font-size:13px}.session-approved .session-info{padding:16px 14px 0}}

.session-approved .session-price-amount{font:700 23px/1.2 MirageNumbers,Rubik,Arial,sans-serif;color:#243c40;white-space:nowrap}

/* Approved two-column MIRAGE membership mockup. */
.membership{position:relative;background:#f9f9fa;border:1px solid #fff;border-radius:18px;box-shadow:0 9px 16px #29344c1c;padding:16px 14px 18px;color:#253e42;margin:0 0 20px}.membership-top{display:flex;align-items:center;gap:7px;min-height:23px;margin-bottom:16px}.membership-logo{width:80px;height:auto;margin-left:auto}.membership-chip{display:block;background:linear-gradient(135deg,#eee,#fafafa 45%,#c6c8ce);border:1px solid #bfc1c7;border-radius:5px;width:29px;height:23px;position:relative;overflow:hidden}.membership-chip:before,.membership-chip:after{content:'';background:#bfc1c7;height:1px;position:absolute;top:8px;left:0;right:0}.membership-chip:after{top:14px}.membership-chip i{position:absolute;height:100%;width:10px;left:9px;border-left:1px solid #bfc1c7;border-right:1px solid #bfc1c7}.membership-contactless{font:20px Arial;color:#95999d;letter-spacing:-3px}.membership-columns{display:grid;grid-template-columns:minmax(100px,.85fr) minmax(0,1.15fr);gap:12px;align-items:center}.membership-left{min-width:0}.membership-super{display:block;position:relative;width:68px;height:42px;margin:0 0 2px 10px;transform:rotate(-3deg)}.membership-super img{position:absolute;width:100%;height:100%;object-fit:contain;transform:scale(1.35)}.membership-super b{position:absolute;inset:0;display:grid;place-items:center;font:700 14px MirageButtonOnest,Onest,Arial;color:#fff;transform:translate(2px,1px) rotate(-6deg) skewX(-5deg)}.membership-left .price{display:block;font:700 23px/1.2 MirageNumbers,Rubik,Arial,sans-serif;letter-spacing:-.5px;color:#171a1c;white-space:nowrap}.membership-left>small{display:block;font-size:13px;color:#8a9499;margin-top:8px;line-height:1.4}.membership-left .eligibility-badge{display:inline-block;font-size:11px;margin-top:8px}.membership-right{min-width:0;color:#68787f}.membership-right>strong{display:block;font-size:18px;line-height:1.3;color:#253e42;margin-bottom:12px;letter-spacing:-.4px}.membership .access-row,.membership .access-days,.membership-terms{font-size:16px;line-height:1.45}.membership .access-row{column-gap:6px;row-gap:0}.membership .access-row>span{font-size:14px;min-width:42px;color:#879399}.membership .access-row b{font-weight:400}.membership .access-row+.access-row{margin-top:0}.membership .holiday-note{display:block;font-size:14px;line-height:1.4;color:#879399;margin-top:4px}.membership-terms{display:grid;gap:3px;margin-top:12px}.membership .access-days{font-weight:400}.membership-right,.membership-left{overflow-wrap:break-word}@media(max-width:350px){.membership{padding:14px 10px}.membership-columns{grid-template-columns:100px minmax(0,1fr);gap:8px}.membership .access-row>span{width:100%}.membership-right>strong{font-size:17px}} 

/* Approved soft benefit selector: horizontal rows, variant 1. */
.benefit-choice{background:#e3e8f0;border-radius:22px;padding:16px;margin:16px 0;overflow:hidden}.benefit-choice h3{font-size:18px;line-height:1.25;letter-spacing:-.3px;margin:0 0 14px;color:#243c40}.benefit-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.benefit-option{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;width:100%;min-height:44px;padding:9px 7px;background:#fff;border:0;border-radius:23px;font-size:15px;line-height:1.22;font-weight:400;color:#294248;box-shadow:0 1px 2px #1b354909}.benefit-option[data-eligibility="4"]{grid-column:1/-1;min-height:40px}.benefit-option>span:first-child{min-width:0}.benefit-check{display:none}.benefit-option[aria-pressed=true]{background:#29494e;color:#fff}.benefit-option:hover{background:#f6f8fb}.benefit-option[aria-pressed=true]:hover{background:#29494e}.benefit-explanation{margin-top:14px}.benefit-explanation>p{font-size:14px;line-height:1.4;margin:0;color:#778489}.benefit-explanation .document{padding:0;border-radius:0;background:transparent;font-size:16px;line-height:1.45}.benefit-explanation .document p{font-size:16px;margin:8px 0;color:#63777b}.benefit-explanation .document small{display:block;font-size:14px;line-height:1.5;margin-top:10px}.benefit-option:focus-visible{outline:2px solid #50777b;outline-offset:2px}

.card-request h3{font-size:18px;margin:14px 0}.card-request .booking-field{font-size:16px;margin:16px 0}.card-request .group-consent{font-size:14px}.card-request .card-request-note{font-size:13px;line-height:1.5;text-align:center;margin:12px 0 0;color:#77858c}.card-request .booking-field input:is(:focus,:focus-visible){border:0;outline:0;box-shadow:none;background:#e4eceb}.card-request .document{margin:14px 0}
.card-request .booking-field input{background:#eef1f4;height:48px}

/* Compact card request header. */
#details:has(.card-request){padding:12px 20px 20px}#details:has(.card-request)>.close{position:absolute;top:12px;right:12px;margin:0;background:transparent}.card-request>.back:first-child{display:flex;align-items:center;min-height:44px;max-width:calc(100% - 44px);padding:0;margin:0 0 8px}.card-request>h2{margin:4px 0 12px}.card-request>h2:first-child{padding-right:40px;min-height:44px;display:flex;align-items:center}.card-request>h3{margin:0 0 12px}.card-request .booking-field{margin:12px 0}

.benefit-disclosure{border-top:1px solid #cdd6e0;padding-top:12px}.benefit-disclosure>summary{display:flex;align-items:center;gap:9px;min-height:48px;list-style:none;cursor:pointer}.benefit-disclosure>summary::-webkit-details-marker{display:none}.benefit-disclosure>summary>span{min-width:0;flex:1}.benefit-disclosure>summary b{display:block;font-size:15px;font-weight:600;line-height:1.35}.benefit-disclosure>summary small{display:block;font-size:14px;line-height:1.35;color:#6a7c86;margin-top:4px}.benefit-doc-icon{width:24px;height:24px;flex:none;color:#536b77}.benefit-chevron{width:26px;height:26px;flex:none;color:#243c40}.benefit-disclosure[open] .benefit-chevron{transform:rotate(180deg)}.benefit-disclosure>summary:focus-visible{outline:2px solid #50777b;outline-offset:4px;border-radius:6px}.benefit-disclosure .document{margin-top:12px}.benefit-explanation .benefit-disclosure .document p{font-size:14px;line-height:1.45;margin:10px 0}.benefit-explanation .benefit-disclosure .document small{font-size:14px;line-height:1.45}
.card-request .benefit-disclosure{margin:16px 0}.card-request .benefit-disclosure .document{padding:0;margin:12px 0 0;background:transparent}.card-request .benefit-disclosure .document p,.card-request .benefit-disclosure .document small{font-size:14px;line-height:1.45}

.club-services-entry{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 20px;background:#fff;border-radius:22px;color:#243c40;text-decoration:none;margin:12px 0;font-size:16px}.club-services-entry svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.catalog-home,.catalog-back,.services-home,#return-link{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0!important;border-radius:50%;background:#fff;text-decoration:none!important;flex:none;color:#243c40}.catalog-home svg,.catalog-back svg,.services-home svg,#return-link svg,.catalog-global-search svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.catalog-back{margin:4px 0 14px}.catalog-global-search{width:36px;min-width:36px;height:44px;display:grid;place-items:center;color:#527986}.search{margin-bottom:20px}.review p,.schedule-note,.price-caption,.card-request-note{font-size:16px!important}

/* The embedded Tsibizova card already provides its own circular Back button. */
/* The embedded coach screen owns navigation; do not cover its share button. */
#details.coach-dialog:has(#coach-frame) > .close{display:none}

/* Prepared wide class photos: show the complete composition without cropping. */
.session-banner-blue .session-banner-image{width:100%;object-fit:contain;object-position:right center;mask-image:linear-gradient(90deg,transparent,#000 24%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%)}

.session-banner-blue .tz-banner-coach{z-index:1}

/* A single full-width photograph: no letterbox strip or overlaid background. */
.session-approved .session-banner.session-banner-blue{height:auto!important;aspect-ratio:1672 / 941;background:#8bb9dc}
.session-banner-blue .session-banner-image{inset:0;width:100%;height:100%;object-fit:contain;mask-image:none;-webkit-mask-image:none}
.session-banner .tz-banner-coach{z-index:1}
.session-banner .tz-home-avatar{background:#fff}
.session-banner .tz-home-avatar img{width:var(--zoom);height:auto;left:var(--left);top:var(--top);object-fit:fill;border-radius:0;animation:none;filter:none}

.session-banner .tz-banner-coach{left:12px;gap:6px}
.session-banner .tz-banner-coach .tz-face{width:48px;height:48px}
.session-banner .tz-banner-coach b{font-size:12px;line-height:1.2}

/* Explicit circular clipping also contains accelerated images in mobile Safari. */
.session-banner .tz-home-avatar{clip-path:circle(50%);isolation:isolate;box-shadow:none;filter:none}
.session-banner .tz-home-avatar img{box-shadow:none;filter:none!important}
.session-approved .session-prep-offer{display:block;flex:0 1 150px;min-width:0;padding:8px 10px;margin:4px 0;border-radius:11px;background:#edf5fc;color:#000029;transform:rotate(-5deg);font-size:13px;font-weight:600;line-height:1.3;text-align:left}
@media(max-width:350px){.session-approved .session-prep-offer{font-size:12px;padding:7px 8px}}

/* Activity choices fill every row, including its last button. */
.schedule-activities{margin:24px 0 20px}
.schedule-activities-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:13px}
.schedule-activities-heading strong{font-size:16px;color:#000029}
.schedule-activities-heading span{font-size:12px;color:#788a99;white-space:nowrap}
.schedule-activities-list{display:flex;flex-wrap:wrap;gap:8px}
.schedule-activities-list button{flex:1 1 auto;min-height:40px;padding:10px 13px;border:0;border-radius:24px;background:#fff;color:#000029;font-family:inherit;font-size:13px;font-weight:500;line-height:1.3;white-space:nowrap}
.schedule-activities-list button[aria-pressed=true]{background:#000029;color:#fff}
.schedule-activities-list button:focus-visible{outline:2px solid #3185f5;outline-offset:2px}

/* Approved live group booking, 25 October 2026. */
#details.group-dialog:has(#live-group-booking){padding:0;width:calc(100% - 24px);max-width:460px;background:#dfebf7;border:0;border-radius:28px}#details.group-dialog:has(#live-group-booking)>.close{display:none}#details #live-group-booking{display:block;width:100%;height:1050px;border:0;background:#dfebf7;border-radius:28px}#details:has(#live-group-booking) #detail-body{padding:0}

/* Match the established group-booking dialog without inventing availability. */
#details.session-dialog:has(.session-booking){background:#dfebf7;color:#000029;padding:22px 20px;width:calc(100% - 24px);max-width:460px;border-radius:28px}
#details.session-dialog>.close{width:44px;height:44px;top:16px;right:14px;margin:0;display:grid;place-items:center;color:#243c40;background:transparent;padding:10px;z-index:2}
#details>.close svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.booking-brand{display:flex;align-items:center;gap:8px;min-height:44px;margin:0 48px 22px 0}.booking-brand img:first-child{width:112px;height:auto}.booking-brand img:last-child{width:73px;height:auto}
.session-booking .booking-topline{font-size:16px;color:#52697d;padding:0;margin:0 0 6px}
.session-booking .booking-ticket{background:transparent;border-radius:0;padding:0;box-shadow:none}
.session-booking h2{font-size:32px;line-height:1.08;letter-spacing:-.8px;margin:0 0 18px;color:#000029}
.session-booking .booking-slot{background:white;border-radius:20px;padding:14px 16px;min-height:82px}.session-booking .booking-slot b{font-size:18px}.session-booking .booking-slot small{font-size:16px;margin:4px 0 0;color:#52697d}
.session-booking .booking-slot time{background:#ffdb9a;color:#000029;padding:10px 12px;border-radius:12px;transform:rotate(-3deg);font-size:28px;line-height:1.15}
.session-booking .booking-cost{font-size:20px;font-weight:700;color:#000029;margin:18px 0}.session-booking .booking-field{font-size:16px;color:#52697d}.session-booking .booking-field input{height:52px;font-size:16px;border:0;outline:0;box-shadow:none}
.session-booking .primary{min-height:54px;border-radius:28px;background:#07032e;color:white;font-size:18px}.session-booking .email-note{font-size:16px}.session-booking .booking-help{display:none}
@media(max-width:380px){#details.session-dialog:has(.session-booking){padding:18px 14px}.booking-brand img:first-child{width:88px}.booking-brand img:last-child{width:59px}.session-booking h2{font-size:29px}}

/* Keep Malygina’s head and shoulders inside the booking thumbnail. */
.confirmation-avatar img[src*="malygina"]{width:86px;top:0;height:auto}

.group-confirmation #modal-title{white-space:pre-line;font-size:28px;line-height:1.2}

/* Shared booking header: brand at left, close action at right. */
#details .session-booking .booking-topline,#details .session-booking .booking-type{display:none}
#details .session-booking .booking-ticket-top{display:flex;justify-content:flex-start;align-items:center;min-height:36px;padding-right:42px;margin-bottom:12px}
#details .session-booking .booking-ticket-top img{display:block;position:static;order:0;width:96px;height:auto;margin:0;transform:none}
#details .session-booking .booking-slot{align-items:center;gap:12px}
#details .session-booking .booking-slot>span{display:flex;flex-direction:column;gap:6px;min-width:0}
#details .session-booking .booking-slot>span:last-child{align-items:center;flex-shrink:0}
#details .session-booking .booking-slot small{display:block;margin:0;line-height:1.2}
#details .session-booking .booking-slot time{display:block;position:static;margin:0;transform:none;line-height:1.15}

/* Highlight the new step-mix direction without hiding it in the date filter. */
.schedule-activities-list{row-gap:18px;padding-top:6px;overflow:visible}
.schedule-activities-list button[data-activity="stepmix"]{position:relative;overflow:visible;background:#fff;color:#000029;isolation:isolate}
.schedule-activities-list button[data-activity="stepmix"]::after{content:"Новое";position:absolute;z-index:1;top:-12px;right:6px;padding:4px 9px;border-radius:6px;background:#e32636;color:#fff;font:700 11px/1 Onest,sans-serif;transform:rotate(10deg);box-shadow:0 2px 4px #8a152522;pointer-events:none}
.schedule-activities-list button[data-activity="stepmix"][aria-pressed="true"]{background:#fff;color:#000029;box-shadow:inset 0 0 0 2px #4f8bc2}

#details.past-session-dialog{background:#dfebf7;color:#08052e;padding:20px;width:calc(100% - 24px);max-width:420px;border-radius:28px;max-height:94dvh;overflow-y:auto}
.past-session{display:flex;flex-direction:column;gap:16px;text-align:center}
.past-session-logo{width:96px;height:auto;align-self:flex-start;margin-bottom:2px}
.past-session-art{height:clamp(100px,20dvh,175px);overflow:hidden;border-radius:20px;background:#bbd8e8}
.past-session-art img{width:100%;height:100%;object-fit:cover;object-position:center}
#details .past-session h2{font:750 27px/1.15 Onest,sans-serif;margin:0;padding:0}
.past-session-ticket{background:white;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:7px}
.past-session-ticket strong{font-size:20px;line-height:1.2}.past-session-ticket span{font-size:14px;color:#52697d}
.past-session p{font-size:15px;line-height:1.45;color:#52697d;margin:0}
.past-session .primary{background:#08052e;color:#fff;min-height:52px;width:100%;border-radius:28px;margin:0}
@media(max-height:650px){.past-session{gap:10px}.past-session-art{height:90px}#details .past-session h2{font-size:23px}}

/* A single transparent club portrait for every past-class response. */
#details .past-session-art{height:clamp(140px,27dvh,225px);overflow:visible;border-radius:0;background:transparent;margin:0 -8px}
#details .past-session-art img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 5px 5px #52697d15);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%)}
@media(max-height:650px){#details .past-session-art{height:120px}.past-session{gap:9px}.past-session-ticket{padding:12px}.past-session p{font-size:14px}}

#details .past-session-art svg{display:block;width:100%;height:100%;stroke:none;filter:drop-shadow(0 5px 5px #52697d15);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%)}

/* Compact spacing after removing the repeated completion message. */
#details .past-session{gap:10px}
#details .past-session-logo{margin-bottom:0}
#details .past-session-ticket{padding:12px 16px;gap:5px}
#details .past-session p{margin:0}
#details .past-session-art{margin-bottom:-6px}

/* Let the coach strip clip at the phone edges, not the text gutters. */
@media(max-width:700px){body.schedule-view .schedule-coaches{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:16px;padding-right:16px;box-sizing:border-box}}

.schedule-activities-list button[data-activity="cycle"]{position:relative;overflow:visible;background:#fff;color:#000029;isolation:isolate}.schedule-activities-list button[data-activity="cycle"]::after{content:"Новое";position:absolute;top:-12px;right:6px;transform:rotate(10deg);background:#e52335;color:white;border-radius:5px;padding:3px 7px;font-size:11px;font-weight:800;line-height:1.2;box-shadow:0 2px 5px #0002}.schedule-activities-list button[data-activity="cycle"][aria-pressed="true"]{background:#fff;box-shadow:inset 0 0 0 2px #8bb9dc;color:#000029}
.session-banner:has(img[src*="07-cycle-marina"]){background:radial-gradient(ellipse at 55% 12%,#8ec9f7 0%,transparent 65%),linear-gradient(180deg,#76b6eb 0%,#76b6ed 55%,#8ac7f7 100%)!important}.session-banner img[src*="07-cycle-marina"]{width:76%!important;height:100%!important;left:auto!important;right:0!important;object-fit:contain!important;object-position:right bottom!important}

/* Opening notice and lowered cycle cutout. */
.session-approved .group-list-places[data-opening="true"]{display:inline-block;background:#e52335!important;color:#fff!important;font-weight:750;font-size:12px;line-height:1.35;padding:7px 10px;border-radius:7px;transform:rotate(-3deg);transform-origin:left center;margin-top:15px;margin-bottom:4px;max-width:100%;box-sizing:border-box;box-shadow:0 3px 7px #b3162420}
.session-banner img[src*="07-cycle-marina"]{width:72%!important;height:94%!important;top:auto!important;bottom:-14px!important;right:0!important;left:auto!important;object-position:right bottom!important}
