.club-detail-page{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;background:var(--color-background)}.club-detail-page::before,.club-detail-page::after{position:absolute;z-index:-1;border-radius:50%;content:"";pointer-events:none}.club-detail-page::before{top:-200px;right:-120px;width:540px;height:540px;background:radial-gradient(circle at 35% 40%,rgba(133,73,208,.12),rgba(133,73,208,0) 70%)}.club-detail-page::after{top:610px;left:-220px;width:520px;height:520px;background:radial-gradient(circle,rgba(254,201,14,.14),rgba(254,201,14,0) 70%)}.club-detail-page__inner{padding-top:42px;padding-bottom:76px}.detail-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:16px;color:#a1aabc;font-size:14px;font-weight:700}.detail-breadcrumbs a{color:var(--color-purple-dark);text-decoration:none}.detail-breadcrumbs a:hover{text-decoration:underline}.detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#9aa4b4;font-size:14px;font-weight:800}.detail-chip{display:inline-flex;min-height:31px;align-items:center;padding:5px 14px;border-radius:999px;font-size:12.5px;line-height:1;text-transform:lowercase}.detail-chip--free{background:rgba(76,192,198,.18);color:#16878d}.detail-chip--age{background:var(--color-yellow);color:#6333a2}.detail-title{margin:14px 0 34px;color:var(--color-text);font-family:var(--font-display);font-size:clamp(42px,5vw,52px);font-weight:800;letter-spacing:-1px;line-height:1.05}.detail-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(310px,.95fr);grid-template-areas:"about sidebar" "form sidebar";gap:24px 26px;align-items:start}.detail-card{border:1px solid rgba(20,50,46,.05);border-radius:20px;background:#fff;box-shadow:var(--shadow-card)}.detail-about{grid-area:about;padding:32px 38px}.detail-about h2,.booking-card h2,.club-info-card h2{margin:0;font-family:var(--font-display);font-weight:800;line-height:1.25}.detail-about h2{margin-bottom:18px;font-size:23px}.detail-about p{margin:0;color:#526071;font-size:16px;line-height:1.65}.detail-about p+p{margin-top:14px}.detail-sidebar{position:sticky;top:24px;grid-area:sidebar}.detail-sidebar--with-poster{position:static}.camp-poster-card{margin:0 0 20px;padding:12px;border:1px solid rgba(20,50,46,.06);border-radius:22px;background:#fff;box-shadow:var(--shadow-card)}.camp-poster-card a{display:block;overflow:hidden;border-radius:14px;background:#f7f1e5}.camp-poster-card img{display:block;width:100%;height:auto}.camp-poster-card figcaption{padding:11px 5px 2px;color:var(--color-text);font-size:13px;font-weight:800;line-height:1.35}.camp-poster-card figcaption span{color:#8c96a5;font-weight:700}.club-info-card{padding:30px;border-radius:22px;background:linear-gradient(145deg,var(--color-purple),var(--color-purple-dark));box-shadow:0 20px 42px rgba(106,48,181,.24);color:#fff}.club-info-card h2{margin-bottom:22px;font-size:21px}.club-info-list{margin:0}.club-info-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto);gap:18px;align-items:start;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.2)}.club-info-list dt,.club-info-list dd{margin:0;font-size:14px;line-height:1.35}.club-info-list dt{color:rgba(255,255,255,.76);font-weight:600}.club-info-list dd{font-weight:800;text-align:right}.club-info-card__button{display:flex;min-height:52px;align-items:center;justify-content:center;margin-top:22px;padding:12px 20px;border-radius:13px;background:var(--color-yellow);color:#6230a2;font-family:var(--font-display);font-size:16px;font-weight:800;text-align:center;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.club-info-card__button:hover{box-shadow:0 10px 22px rgba(44,24,74,.2);transform:translateY(-2px)}.detail-back-link{display:flex;min-height:52px;align-items:center;justify-content:center;margin-top:20px;padding:12px 18px;border:2px solid rgba(133,73,208,.3);border-radius:14px;background:rgba(255,255,255,.86);color:var(--color-purple-dark);font-size:14px;font-weight:800;text-decoration:none;transition:border-color .2s ease,background-color .2s ease}.detail-back-link:hover{border-color:var(--color-purple);background:#fff}.booking-card{grid-area:form;padding:34px 38px 40px;scroll-margin-top:24px}.booking-card__heading{margin-bottom:26px}.booking-card h2{font-size:23px}.booking-card__heading p{margin:5px 0 0;color:#9aa4b4;font-size:13px;font-weight:700}.booking-form{margin:0}.form-section{min-width:0;margin:0;padding:0;border:0}.form-section+.form-section{margin-top:30px;padding-top:28px;border-top:1px solid rgba(133,73,208,.12)}.form-section>legend{width:100%;margin-bottom:14px;padding:0;color:var(--color-purple-dark);font-family:var(--font-display);font-size:15px;font-weight:800}.form-section__optional{color:#9aa4b4;font-family:var(--font-body);font-size:12px;font-weight:700}.form-section__intro,.form-help{color:#6f7a89;font-size:13px;line-height:1.55}.form-section__intro{margin:-4px 0 18px}.form-help{margin:10px 0 0}.form-subsection+.form-subsection{margin-top:24px}.form-subsection h3{margin:0 0 11px;color:#596474;font-family:var(--font-display);font-size:14px;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-field{min-width:0}.form-field .validation-message{color:red;margin-left:17px}.form-field--full{grid-column:1/-1}.form-field input,.form-field textarea{width:100%;border:2px solid rgba(133,73,208,.2);border-radius:12px;background:#fffdfa;color:var(--color-text);font:inherit;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.form-field input{min-height:47px;padding:0 15px}.form-field textarea{min-height:88px;padding:13px 15px;resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:#7d8188;opacity:1}.form-field input:focus,.form-field textarea:focus{border-color:var(--color-purple);background:#fff;box-shadow:0 0 0 4px rgba(133,73,208,.1)}.form-field input:user-invalid,.form-field textarea:user-invalid{border-color:var(--color-pink)}.form-choice{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;min-width:0;margin:0;padding:13px 15px;border:2px solid rgba(133,73,208,.15);border-radius:12px;background:#fffdfa}.form-choice legend{width:auto;padding:0 4px;color:#666f7d;font-size:13px;font-weight:700}.form-choice label{display:inline-flex;align-items:center;gap:7px;color:#596474;font-size:14px;font-weight:700;cursor:pointer}.form-choice input,.booking-consent input{accent-color:var(--color-purple)}.booking-notice{margin-top:30px;padding:22px 24px;border-radius:15px;background:rgba(254,201,14,.14);color:#5d5861;font-size:13px;line-height:1.55}.booking-notice strong{display:block;margin-bottom:8px;color:#5e2e9e;font-family:var(--font-display);font-size:15px}.booking-notice p{margin:0}.booking-notice p+p{margin-top:8px}.booking-consent{display:flex;align-items:flex-start;gap:11px;margin-top:20px;color:#4f5b6b;font-size:13.5px;font-weight:700;line-height:1.45;cursor:pointer}.booking-consent input{width:18px;height:18px;flex:0 0 auto;margin:1px 0 0}.booking-submit{display:flex;width:100%;min-height:54px;align-items:center;justify-content:center;margin-top:22px;padding:12px 24px;border:0;border-radius:14px;background:var(--color-pink);box-shadow:0 12px 24px rgba(223,53,115,.2);color:#fff;font-family:var(--font-display);font-size:17px;font-weight:800;cursor:pointer;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.booking-submit:hover{background:var(--color-pink-dark);box-shadow:0 15px 28px rgba(223,53,115,.27);transform:translateY(-2px)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:940px){.detail-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"about" "sidebar" "form"}.detail-sidebar{position:static}}@media(max-width:700px){.club-detail-page__inner{padding-top:28px;padding-bottom:52px}.detail-meta{align-items:flex-start}.detail-meta__text{width:100%}.detail-title{margin-bottom:27px;font-size:38px}.detail-about,.booking-card{padding:26px 22px}.detail-about h2,.booking-card h2{font-size:21px}.detail-about p{font-size:15px}.club-info-card{padding:26px 22px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-field--full{grid-column:auto}}@media(max-width:430px){.detail-title{font-size:34px}.club-info-list>div{grid-template-columns:minmax(0,1fr) minmax(105px,auto);gap:12px}.booking-notice{padding:19px}}@media print{.utility-bar,.site-header,.site-footer,.detail-sidebar,.booking-card,.detail-breadcrumbs{display:none!important}.club-detail-page__inner{padding-top:0}.detail-layout{display:block}.detail-card{box-shadow:none}}