.navbar{position:sticky;top:0;z-index:100;background:#ede5d5e6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(45,96,22,.15)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.navbar-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0}.logo-icon{font-size:1.6rem}.logo-text{display:flex;flex-direction:column;line-height:1.15}.logo-main{font-family:var(--font-heading);font-size:1.05rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em}.logo-sub{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.navbar-nav{display:flex;align-items:center;gap:.25rem}.navbar-nav>a{font-size:13px;font-weight:500;color:var(--color-text-light);padding:6px 12px;border-radius:var(--radius-pill);transition:all .2s ease;white-space:nowrap}.navbar-nav>a:hover{color:var(--color-text);background:var(--color-bg-light)}.navbar-nav>a.active{color:var(--color-text);font-weight:700}.btn-reserver{display:inline-flex;align-items:center;justify-content:center;padding:9px 20px;border-radius:var(--radius-pill);font-size:13px;font-weight:700;background:var(--color-gradient);color:var(--color-text)!important;border:none;cursor:pointer;transition:all .2s ease;letter-spacing:.01em;margin:0 4px}.btn-reserver:hover{background:var(--color-gradient-hover);transform:translateY(-1px);box-shadow:0 4px 16px #ffaf3666;color:var(--color-text)!important}.nav-qui-cuisine{border-left:1px solid var(--color-border)!important;padding-left:.75rem!important;margin-left:.25rem;font-size:12px!important;font-style:italic;color:var(--color-text-muted)!important}.nav-socials{display:flex;align-items:center;gap:4px;margin-left:4px}.nav-social{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--color-text-muted);transition:all .2s ease}.nav-social:hover{color:var(--color-text);background:var(--color-bg-light)}.navbar-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:6px;cursor:pointer;border-radius:8px}.navbar-burger span{display:block;width:22px;height:2px;background:var(--color-text);transition:all .3s ease;transform-origin:center;border-radius:2px}.navbar-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar-burger.open span:nth-child(2){opacity:0}.navbar-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 1100px){.navbar-burger{display:flex}.navbar-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#ede5d5f7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-direction:column;align-items:flex-start;padding:1.25rem 1.5rem 1.5rem;gap:.25rem;border-bottom:1px solid var(--color-border);box-shadow:0 8px 24px #00000014}.navbar-nav.open{display:flex}.navbar-nav>a{font-size:15px;padding:8px 12px;width:100%}.btn-reserver{width:100%;justify-content:center;margin:4px 0}.nav-qui-cuisine{border-left:none!important;padding-left:12px!important}.nav-socials{flex-direction:row;margin-left:12px;margin-top:8px}}.footer{background:sienna;color:#ffffffbf;margin-top:auto}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding:5rem 1.5rem 3rem}.footer-logo{font-family:var(--font-heading);font-size:1.2rem;font-weight:800;color:var(--color-white);margin-bottom:.25rem;letter-spacing:-.02em}.footer-tagline{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffffff59;margin-bottom:.75rem}.footer-brand p{font-size:13px;line-height:1.7;max-width:260px;margin-bottom:1rem;color:#ffffff80}.footer-chefs{display:flex;gap:1rem;margin-bottom:.75rem;font-size:13px;color:#ffffffb3}.footer-phone{display:inline-block;color:#ffffffd9;font-weight:600;font-size:14px;transition:color .2s;margin-bottom:1rem}.footer-phone:hover{color:#fff}.footer-socials{display:flex;gap:.5rem;margin-top:.5rem}.footer-social{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff14;border-radius:50%;color:#ffffff80;transition:all .2s ease;border:1px solid rgba(255,255,255,.08)}.footer-social:hover{background:#fff3;border-color:#ffffff4d;color:#fff}.footer-links{display:flex;flex-direction:column;gap:.5rem;padding-top:.25rem}.footer-links h4{color:var(--color-white);font-family:var(--font-heading);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.footer-links a,.footer-links span{font-size:13px;color:#ffffff73;transition:color .2s}.footer-links a:hover{color:#ffffffd9}.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding:1.25rem 0;font-size:12px;color:#ffffff4d}.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between}.footer-bottom-socials{display:flex;gap:1rem}.footer-bottom-socials a{color:#ffffff40;transition:color .2s;display:flex}.footer-bottom-socials a:hover{color:#fff9}@media (max-width: 900px){.footer-inner{grid-template-columns:1fr 1fr;gap:2rem;padding:3.5rem 1rem 2rem}.footer-brand{grid-column:1 / -1}.footer-bottom-inner{flex-direction:column;gap:.75rem;text-align:center}}@media (max-width: 480px){.footer-inner{grid-template-columns:1fr}}.course-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 12px #0000000f;transition:box-shadow .25s ease,border-color .25s ease;cursor:pointer}.course-card:hover{box-shadow:0 8px 24px #2d60161f,0 2px 8px #0000000f;border-color:#2d60164d}.course-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.25rem 1.25rem 0}.course-card-emoji{font-size:1.6rem;line-height:1;flex-shrink:0;width:48px;height:48px;background:linear-gradient(135deg,#edf5e6,#f2f9ee);border-radius:12px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(45,96,22,.15)}.course-card-title-row{flex:1;min-width:0}.course-card-title{font-size:15px;font-weight:700;color:var(--color-text);line-height:1.3;margin-bottom:.25rem}.course-card-desc{font-size:13px;color:var(--color-text-light);font-style:italic;line-height:1.6;padding:.6rem .75rem;background:var(--color-bg);margin:.75rem 1.25rem 0;border-radius:8px}.course-card-meta{list-style:none;padding:.75rem 1.25rem 0;display:flex;flex-direction:column;gap:.3rem;flex:1}.course-card-meta li{font-size:12px;color:var(--color-text-muted);display:flex;align-items:center;gap:.4rem}.course-card-footer{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;margin-top:.75rem;border-top:1px solid var(--color-border)}.course-card-price strong{font-size:1.25rem;font-weight:800;color:var(--color-text)}.course-card-price span{font-size:12px;color:var(--color-text-muted);margin-left:2px}.course-card-cta{padding:8px 18px;font-size:13px;font-weight:700;border-radius:var(--radius-pill);background:var(--color-gradient);color:var(--color-text);transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center}.course-card-cta:hover{background:var(--color-gradient-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2d60164d}.hero{background:linear-gradient(135deg,#0d2406,#1a3d0a 60%,#2d1a08);color:#fff;padding:var(--hero-py);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 70% 50%,rgba(74,140,40,.18) 0%,transparent 65%),radial-gradient(ellipse at 20% 80%,rgba(139,69,19,.12) 0%,transparent 50%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:680px;margin-bottom:3rem}.hero-tag{display:inline-block;background:#4a8c2840;color:#a8d878;padding:5px 16px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.5rem;border:1px solid rgba(74,140,40,.35)}.hero-content h1{font-family:var(--font-heading);font-size:clamp(2.6rem,6vw,4.5rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;margin-bottom:1.25rem;background:linear-gradient(90deg,#a8d878,#5cb82a,#ede5d5 70%,#d4c8b0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-content p{font-size:16px;color:#ffffffb8;max-width:520px;margin-bottom:2.5rem;line-height:1.7;font-weight:400}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.hero-pills{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.5rem 1.5rem;max-width:var(--max-width);margin:0 auto}.hero-pill{display:inline-block;background:#ffffff14;color:#ffffffa6;padding:6px 14px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chefs-section{padding:var(--section-py) 0;background:var(--color-white)}.chefs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.chef-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;transition:transform .25s ease,box-shadow .25s ease}.chef-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.chef-avatar{width:64px;height:64px;background:var(--color-gradient);color:var(--color-text);font-family:var(--font-heading);font-size:1.8rem;font-weight:800;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.chef-card h3{font-size:1.2rem;font-weight:800;margin-bottom:.5rem}.chef-card p{font-size:14px;color:var(--color-text-light);line-height:1.7;margin-bottom:1rem}.chef-tags{display:flex;flex-wrap:wrap;gap:.4rem}.services-section{padding:var(--section-py) 0;background:var(--color-bg)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.service-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem 1.75rem;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;cursor:pointer}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#ffaf364d}.service-card.featured{background:linear-gradient(135deg,#edf5e6,#f2f9ee);border-color:#2d601640}.service-badge{position:absolute;top:1rem;right:1rem;background:var(--color-gradient);color:var(--color-text);padding:3px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:700}.service-icon{font-size:2rem;margin-bottom:.25rem}.service-card h3{font-size:1rem;font-weight:700;color:var(--color-text)}.service-card p{font-size:13px;color:var(--color-text-light);line-height:1.6;flex:1}.service-link{font-size:13px;font-weight:600;color:var(--color-accent);margin-top:.5rem}.how-it-works{padding:var(--section-py) 0;background:var(--color-white)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.step{text-align:center;padding:1.5rem 1rem}.step-num{font-family:var(--font-heading);font-size:3rem;font-weight:800;color:var(--color-primary);opacity:.3;margin-bottom:.75rem;line-height:1}.step h3{font-size:15px;font-weight:700;margin-bottom:.5rem}.step p{font-size:13px;color:var(--color-text-light);line-height:1.6}.featured-courses{padding:var(--section-py) 0;background:var(--color-bg)}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2.5rem}.courses-cta{text-align:center}.testimonials{padding:var(--section-py) 0;background:var(--color-white)}.testimonials-rating-global{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.75rem}.testimonials-stars{color:var(--color-accent);font-size:1.1rem;letter-spacing:2px}.testimonials-score{font-size:14px;font-weight:700;color:var(--color-text-light)}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.testimonial{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;transition:box-shadow .2s}.testimonial:hover{box-shadow:var(--shadow-md)}.testimonial-stars{color:var(--color-accent);font-size:.9rem;letter-spacing:2px;margin-bottom:.75rem}.testimonial p{font-size:14px;color:var(--color-text-light);line-height:1.7;margin-bottom:1.25rem;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:.75rem}.testimonial-avatar{width:40px;height:40px;min-width:40px;background:var(--color-gradient);color:var(--color-text);font-weight:800;font-size:1rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.testimonial-author strong{display:block;font-size:14px;font-weight:700;color:var(--color-text)}.testimonial-author span{font-size:12px;color:var(--color-text-muted)}@media (max-width: 1024px){.services-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.hero{padding:var(--hero-py-mobile)}.chefs-section,.services-section,.how-it-works,.featured-courses,.testimonials{padding:var(--section-py-mobile) 0}.hero-content h1{letter-spacing:-.02em}.hero-pills{padding:0 1rem 1rem}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%;justify-content:center}.chefs-grid,.services-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr;gap:.75rem}.courses-grid,.testimonials-grid{grid-template-columns:1fr}}.courses-header{background:linear-gradient(135deg,#0d2406,#1a3d0a);color:#fff;padding:var(--hero-py);text-align:center;position:relative;overflow:hidden}.courses-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 100%,rgba(74,140,40,.15) 0%,transparent 60%);pointer-events:none}.courses-header h1{font-size:clamp(1.8rem,4.5vw,3rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.75rem;position:relative;background:linear-gradient(90deg,#a8d878,#5cb82a 40%,#ede5d5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.courses-header p{opacity:.65;font-size:15px;position:relative}.courses-content{padding-top:3rem!important;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:8rem}.courses-filters{display:flex;gap:.5rem;margin-bottom:2.5rem;flex-wrap:wrap}.filter-btn{padding:8px 20px;border-radius:var(--radius-pill);border:1px solid var(--color-border-mid);background:var(--color-white);color:var(--color-text-light);font-family:var(--font-body);font-size:13px;font-weight:500;transition:all .2s ease;cursor:pointer}.filter-btn:hover{border-color:var(--color-primary);color:var(--color-text);background:linear-gradient(135deg,#fff8ed,#fffbf5)}.filter-btn.active{background:var(--color-gradient);border-color:transparent;color:var(--color-text);font-weight:700;box-shadow:0 3px 10px #ffaf3659}.courses-grid-page{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.empty-state{text-align:center;padding:5rem 1rem;color:var(--color-text-light)}.empty-state-icon{font-size:2.5rem;margin-bottom:1rem}.empty-state h3{font-size:1.1rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem}.empty-state p{font-size:13px;margin-bottom:1.5rem}.courses-more{text-align:center;margin-top:2.5rem;margin-bottom:4rem}@media (max-width: 1024px){.courses-grid-page{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.courses-header{padding:var(--hero-py-mobile)}.courses-content{padding:2rem 1rem 4rem}}@media (max-width: 640px){.courses-grid-page{grid-template-columns:1fr}.courses-filters{gap:.4rem;margin-bottom:1.75rem}}.course-detail-hero{background:linear-gradient(135deg,#3d1208,#8b2500);color:#fff;padding:var(--hero-py-compact)}.back-link{display:inline-block;color:#ffffffb3;font-size:.9rem;margin-bottom:1.5rem;transition:color .2s}.back-link:hover{color:#fff}.course-detail-header h1{font-size:clamp(1.8rem,4vw,3rem);margin:.75rem 0}.course-detail-meta{display:flex;gap:1.5rem;font-size:.95rem;opacity:.85;flex-wrap:wrap}.course-detail-price{font-weight:700;color:var(--color-accent)!important;opacity:1!important}.course-detail-body{display:grid;grid-template-columns:1fr 380px;gap:3rem;padding:3rem 1.5rem;align-items:start}.course-detail-left section{margin-bottom:2rem}.course-detail-left h2{font-size:1.3rem;margin-bottom:.75rem}.course-detail-left p{color:var(--color-text-light);line-height:1.8}.course-detail-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.info-boxes{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.info-box{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.25rem}.info-box strong{font-size:.8rem;color:var(--color-text-light)}.info-box span{font-weight:600}.slots-panel{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--card-py);position:sticky;top:var(--sticky-top)}.slots-panel h2{font-size:1.2rem;margin-bottom:1.25rem}.no-slots{color:var(--color-text-light);font-size:.9rem}.no-slots-state{text-align:center;padding:1rem 0}.no-slots-icon{font-size:2rem;margin-bottom:.75rem}.no-slots-title{font-weight:600;font-size:.95rem;margin-bottom:.35rem;color:var(--color-text)}.no-slots-sub{font-size:.85rem;color:var(--color-text-light)}.slots-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;padding-right:.25rem}.slot-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);text-align:left;transition:all .2s;cursor:pointer}.slot-item:hover:not(.full){border-color:var(--color-primary);background:#fff;box-shadow:var(--shadow-sm)}.slot-item.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}.slot-item.selected .slot-date strong{color:#fff}.slot-item.selected .slot-date span{color:#fffc}.slot-item.selected .spots-left{color:#ffffffe6}.slot-item.full{opacity:.45;cursor:not-allowed}.slot-date{display:flex;flex-direction:column;gap:.15rem}.slot-date strong{font-size:.9rem}.slot-date span{font-size:.8rem;color:var(--color-text-light)}.spots-left{font-size:.8rem;font-weight:600;color:#2e7d32}.spots-full{font-size:.8rem;color:var(--color-text-light)}@media (max-width: 1024px){.course-detail-body{grid-template-columns:1fr}.slots-panel{position:static}}@media (max-width: 640px){.course-detail-hero{padding:var(--hero-py-compact-mobile)}.course-detail-body{padding:1.5rem 1rem 4rem;gap:1.5rem}.course-detail-meta{gap:.75rem;font-size:.85rem;flex-wrap:wrap}.info-boxes{grid-template-columns:1fr 1fr;gap:.75rem}.slots-panel{padding:1.25rem}.slots-list{max-height:300px}}@media (max-width: 400px){.info-boxes{grid-template-columns:1fr}.slot-item{flex-direction:column;align-items:flex-start;gap:.4rem}}.payment-section{display:flex;justify-content:center;padding:2rem 0}.payment-section-inner{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;width:100%;max-width:520px}.payment-section-inner h2{font-size:1.3rem;margin-bottom:1.25rem}.payment-amount-recap{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9rem;border-bottom:1px solid var(--color-border);margin-bottom:.5rem;color:var(--color-text-light)}.payment-amount-recap strong{color:var(--color-text);font-size:1rem}.payment-form{margin-top:1.5rem}.setup-notice{background:#fff8e1;border:1px solid #FFE082;border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.85rem;color:#5d4037;margin-bottom:1rem}@media (max-width: 640px){.payment-section{padding:1rem 0}.payment-section-inner{padding:1.25rem;max-width:100%}}.booking-header{background:linear-gradient(135deg,#3d1208,#8b2500);color:#fff;padding:var(--hero-py-compact)}.booking-header h1{font-size:2rem;margin:1rem 0}.booking-steps{display:flex;align-items:center;gap:1rem;margin-top:1.5rem}.booking-step{display:flex;align-items:center;gap:.5rem;font-size:.9rem;opacity:.5;transition:opacity .3s}.booking-step.active{opacity:1}.booking-step span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.4);font-size:.85rem;font-weight:600}.booking-step.active span{background:#fff;color:var(--color-primary);border-color:#fff}.step-separator{height:1px;width:40px;background:#ffffff4d}.booking-body{padding:3rem 1.5rem}.booking-form{display:grid;grid-template-columns:1fr 360px;gap:2.5rem;align-items:start}.booking-form-left section{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--card-py);margin-bottom:1.5rem}.booking-form-left h2{font-size:1.15rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.payment-methods{display:flex;flex-direction:column;gap:.75rem}.payment-method{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s}.payment-method input[type=radio]{margin-top:3px;accent-color:var(--color-primary)}.payment-method.selected{border-color:var(--color-primary);background:#fff5f2}.payment-method strong{display:block;font-size:.95rem;margin-bottom:.2rem}.payment-method p{font-size:.82rem;color:var(--color-text-light);margin:0}.booking-summary{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--card-py);position:sticky;top:var(--sticky-top)}.booking-summary h2{font-size:1.15rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.summary-line{display:flex;justify-content:space-between;font-size:.9rem;padding:.5rem 0;color:var(--color-text-light)}.summary-line.total{font-weight:700;font-size:1rem;color:var(--color-text);border-top:1px solid var(--color-border);margin-top:.5rem;padding-top:.75rem}.summary-line.deposit{color:var(--color-primary);font-weight:600}.summary-course-name{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--color-primary-dark);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border);line-height:1.3}.booking-trust{display:flex;flex-direction:column;gap:.35rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.booking-trust span{font-size:.78rem;color:var(--color-text-light)}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;margin-right:.4rem;vertical-align:middle}@media (max-width: 1024px){.booking-form{grid-template-columns:1fr}.booking-summary{position:static}}@media (max-width: 640px){.booking-header{padding:var(--hero-py-compact-mobile)}.booking-header h1{font-size:1.6rem}.booking-steps{flex-wrap:wrap;gap:.5rem}.booking-body{padding:1.5rem 1rem 4rem}.booking-form-left section{padding:1.25rem}.form-row{grid-template-columns:1fr}.booking-summary{padding:1.25rem}.payment-methods{gap:.5rem}.payment-method{padding:.75rem 1rem}}@media (max-width: 400px){.step-separator{width:20px}}.confirmation-hero{background:linear-gradient(135deg,#0d2406,#1a3d0a);color:#fff;text-align:center;padding:var(--hero-py-compact);padding-left:1.5rem;padding-right:1.5rem;position:relative;overflow:hidden}.confirmation-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 120%,rgba(74,140,40,.15) 0%,transparent 60%);pointer-events:none}.confirmation-icon{width:72px;height:72px;background:var(--color-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin:0 auto 1.5rem;color:#fff;box-shadow:0 8px 24px #2d601666;position:relative;z-index:1}.confirmation-hero h1{font-size:clamp(1.6rem,4vw,2.6rem);font-weight:800;letter-spacing:-.03em;margin-bottom:1rem;position:relative;z-index:1}.confirmation-hero p{color:#ffffffb3;font-size:15px;max-width:480px;margin:0 auto 1.5rem;position:relative;z-index:1}.confirmation-reference{display:inline-block;background:#4a8c2826;border:1px solid rgba(74,140,40,.3);padding:8px 24px;border-radius:var(--radius-pill);font-size:14px;letter-spacing:.08em;position:relative;z-index:1}.confirmation-reference strong{font-size:16px;color:#a8d878}.confirmation-body{padding:2.5rem 1.5rem 4rem;max-width:640px}.confirmation-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.75rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.confirmation-card h2{font-size:1.1rem;font-weight:700;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.conf-section{padding:.9rem 0;border-bottom:1px solid var(--color-border)}.conf-section:last-of-type{border-bottom:none}.conf-section h3{font-family:var(--font-body);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:.3rem}.conf-section p{font-size:14px;color:var(--color-text)}.conf-course-name{font-weight:700;font-size:15px!important}.conf-status{margin-top:1rem}.confirmation-actions{display:flex;gap:.75rem;flex-wrap:wrap}.confirmation-error{padding:6rem 1.5rem;text-align:center}.confirmation-error h1{margin-bottom:1rem}.confirmation-error p{color:var(--color-text-light);margin-bottom:2rem;font-size:15px}@media (max-width: 768px){.confirmation-hero{padding:var(--hero-py-compact-mobile);padding-left:1rem;padding-right:1rem}.confirmation-body{padding:1.5rem 1rem 3rem}.confirmation-card{padding:1.25rem}.confirmation-actions{flex-direction:column}.confirmation-actions .btn{width:100%;justify-content:center}.confirmation-error{padding:3rem 1rem}}@media (max-width: 480px){.confirmation-reference{font-size:13px;padding:7px 16px}.confirmation-icon{width:60px;height:60px;font-size:1.5rem}}.my-reservations-header{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));color:#fff;padding:var(--hero-py);text-align:center}.my-reservations-header h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:.75rem}.my-reservations-header p{opacity:.85;font-size:1.05rem}.my-reservations-body{padding:4rem 1.5rem 6rem;max-width:800px}.search-panel{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--card-py);margin-bottom:3rem}.search-form{display:flex;gap:1rem;align-items:flex-end}.search-form .form-group{flex:1;margin:0}.results-section h2{font-size:1.1rem;margin-bottom:1.5rem;color:var(--color-text-light)}.no-results{text-align:center;padding:3rem 0;color:var(--color-text-light)}.no-results p{margin-bottom:1.5rem}.reservations-list{display:flex;flex-direction:column;gap:1.25rem}.reservation-item{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.reservation-item.cancelled{opacity:.65;border-color:#dee2e6}.reservation-item-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.reservation-ref{font-family:monospace;font-weight:700;font-size:.9rem;margin-right:.75rem}.status-badge{display:inline-block;padding:.2rem .7rem;border-radius:20px;font-size:.75rem;font-weight:600}.reservation-date{font-size:.8rem;color:var(--color-text-light)}.reservation-item-body{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.25rem 1.5rem}.res-detail{display:flex;flex-direction:column;gap:.2rem}.res-detail strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light)}.res-detail span{font-size:.9rem}.reservation-item-actions{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.btn-cancel{background:none;border:none;color:#c62828;font-size:.85rem;cursor:pointer;text-decoration:underline;padding:0}.btn-cancel:hover{color:#b71c1c}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.my-reservations-header{padding:var(--hero-py-mobile)}.my-reservations-body{padding:var(--section-py-mobile) 1rem 5rem}.search-panel{padding:1.25rem}.reservation-item-header{flex-direction:column;align-items:flex-start;gap:.4rem}}@media (max-width: 640px){.search-form{flex-direction:column}.search-form button{width:100%}.reservation-item-body{grid-template-columns:1fr;gap:.75rem}.reservation-item-actions{flex-wrap:wrap}}.catering-hero{background:linear-gradient(135deg,#1a237e,#283593);color:#fff;padding:var(--hero-py)}.catering-hero-content{max-width:700px}.catering-hero-content .hero-tag{display:inline-block;background:#ffffff26;padding:.35rem 1rem;border-radius:20px;font-size:.85rem;letter-spacing:.05em;margin-bottom:1.5rem}.catering-hero-content h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:1.25rem}.catering-hero-content p{font-size:1.1rem;opacity:.85;line-height:1.7}.catering-services{padding:var(--section-py) 0;background:var(--color-white)}.catering-services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem}.catering-service-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem 1.5rem;text-align:center;transition:transform .2s,box-shadow .2s}.catering-service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.service-icon{font-size:2.5rem;margin-bottom:1rem}.catering-service-card h3{font-size:1.05rem;margin-bottom:.75rem}.catering-service-card p{font-size:.88rem;color:var(--color-text-light);line-height:1.6}.catering-highlights{padding:var(--section-py) 0;background:var(--color-bg-light)}.highlights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem}.highlight{padding:2rem;background:#fff;border-radius:var(--radius);border:1px solid var(--color-border)}.highlight strong{display:block;font-size:1rem;margin-bottom:.5rem;color:var(--color-primary)}.highlight p{font-size:.9rem;color:var(--color-text-light);line-height:1.6}.catering-form-section{padding:var(--section-py) 0 calc(var(--section-py) + 1rem);background:var(--color-bg)}.catering-form-container{max-width:780px}.catering-form-header{margin-bottom:2.5rem}.catering-form-header h2{font-size:2rem;margin-bottom:.75rem}.catering-form-header p{color:var(--color-text-light)}.catering-form{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--card-py-emphasis)}.form-section h3{font-size:1.05rem;margin-bottom:1.25rem;color:var(--color-primary)}.catering-success{text-align:center;padding:4rem 2rem;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius)}.catering-success h3{font-size:1.5rem;margin-bottom:.75rem}.catering-success p{color:var(--color-text-light)}.success-timeline{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem auto 0;text-align:left;max-width:320px}@media (max-width: 1024px){.catering-services-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.catering-hero{padding:var(--hero-py-mobile)}.catering-services,.catering-highlights{padding:var(--section-py-mobile) 0}.catering-form-section{padding:var(--section-py-mobile) 0 calc(var(--section-py-mobile) + 1.5rem)}.catering-services-grid,.highlights-grid{grid-template-columns:1fr;gap:1.25rem}.catering-form{padding:1.5rem}.form-row{grid-template-columns:1fr}.catering-form-header h2{font-size:1.6rem}}@media (max-width: 640px){.catering-hero-content h1{font-size:1.8rem}.catering-hero-content p{font-size:.95rem}.highlight{padding:1.5rem}}.cah-hero{background:var(--color-primary-dark);color:#fff;padding:var(--hero-py)}.cah-hero-content{max-width:700px}.cah-hero-content .hero-tag{display:inline-block;background:var(--color-primary);padding:.35rem 1rem;border-radius:20px;font-size:.82rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1.5rem}.cah-hero-content h1{font-size:clamp(2.2rem,5vw,4rem);margin-bottom:1.25rem;line-height:1.1}.cah-hero-content h1 em{font-style:italic;color:var(--color-primary-light)}.cah-hero-content p{font-size:1.1rem;opacity:.88;line-height:1.7;margin-bottom:2.5rem;max-width:580px}.cah-hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-hero-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.4);transition:all .2s}.btn-hero-outline:hover{background:#ffffff1a;border-color:#fff}.cah-benefits{padding:var(--section-py) 0;background:var(--color-bg-light)}.cah-benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.cah-benefit{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem 1.5rem;transition:transform .2s,box-shadow .2s}.cah-benefit:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.benefit-icon{font-size:2rem;margin-bottom:1rem}.cah-benefit h3{font-size:1rem;margin-bottom:.5rem}.cah-benefit p{font-size:.87rem;color:var(--color-text-light);line-height:1.6}.cah-chefs{padding:var(--section-py) 0;background:var(--color-bg)}.cah-chefs-grid{display:flex;flex-direction:column;gap:2.5rem;max-width:780px}.cah-chef-card{display:flex;gap:2.5rem;align-items:flex-start;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem}.cah-chef-avatar{width:80px;height:80px;min-width:80px;background:var(--color-primary);color:#fff;font-family:var(--font-heading);font-size:2.2rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center}.cah-chef-info h3{font-size:1.5rem;font-style:italic;color:var(--color-primary);margin-bottom:.75rem}.cah-chef-info p{font-size:.9rem;color:var(--color-text-light);line-height:1.7;margin-bottom:1rem}.cah-chef-specialties{display:flex;flex-wrap:wrap;gap:.4rem}.cah-formules{padding:var(--section-py) 0;background:var(--color-bg-light)}.cah-formules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.cah-formule-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:transform .2s,box-shadow .2s}.cah-formule-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.cah-formule-header{display:flex;align-items:flex-start;gap:.75rem}.cah-formule-emoji{font-size:1.8rem;line-height:1}.cah-formule-title{flex:1}.cah-formule-title h3{font-size:1rem;margin:0 0 .15rem}.cah-formule-type{font-size:.75rem;color:var(--color-text-light)}.cah-formule-tag{font-size:.68rem;font-weight:700;padding:.2rem .55rem;border-radius:10px;white-space:nowrap}.cah-formule-menu{font-size:.82rem;color:var(--color-text-light);font-style:italic;margin:0;padding:.6rem .75rem;background:var(--color-bg);border-radius:var(--radius-sm);line-height:1.5}.cah-formule-inclus{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem;flex:1}.cah-formule-inclus li{font-size:.78rem;color:var(--color-text-light)}.cah-formule-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--color-border)}.cah-formule-prix strong{font-size:1.4rem;color:var(--color-primary-dark)}.cah-formule-prix span{font-size:.78rem;color:var(--color-text-light);margin-left:.2rem}.cah-formule-convives{font-size:.78rem;color:var(--color-text-light)}.cah-formules-more{text-align:center;margin-top:2rem}.cah-formules-note{text-align:center;font-size:.8rem;color:var(--color-text-light);margin-top:2rem;font-style:italic}.cah-how{padding:var(--section-py) 0;background:var(--color-white)}.cah-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem}.cah-step{text-align:center;padding:1.5rem}.cah-step-num{font-family:var(--font-heading);font-size:2.5rem;color:var(--color-primary);opacity:.25;font-weight:700;margin-bottom:1rem}.cah-step h3{font-size:1rem;margin-bottom:.75rem}.cah-step p{font-size:.87rem;color:var(--color-text-light);line-height:1.6}.cah-form-section{padding:var(--section-py) 0 calc(var(--section-py) + 1rem);background:var(--color-bg)}.cah-form-container{max-width:780px}.cah-form-header{margin-bottom:2.5rem}.cah-form-header h2{font-size:2rem;margin-bottom:.75rem}.cah-form-header p{color:var(--color-text-light)}.cah-form{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--card-py-emphasis)}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.form-section:last-of-type{border-bottom:none;margin-bottom:1.5rem}.form-section h3{font-size:1rem;font-weight:600;color:var(--color-primary);margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.05em}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{margin-bottom:1rem}.cah-success{text-align:center;padding:4rem 2rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius)}.success-icon{width:72px;height:72px;background:#d4edda;color:#155724;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.5rem}.cah-success h3{font-size:1.5rem;margin-bottom:.75rem}.cah-success p{color:var(--color-text-light)}.success-timeline{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0;text-align:left;max-width:320px}.success-timeline-item{display:flex;align-items:center;gap:.75rem;font-size:.88rem;color:var(--color-text-light)}.timeline-dot{width:10px;height:10px;min-width:10px;border-radius:50%;background:var(--color-border);border:2px solid var(--color-border)}.timeline-dot.active{background:var(--color-primary);border-color:var(--color-primary)}.success-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}@media (max-width: 1024px){.cah-benefits-grid,.cah-steps,.cah-formules-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.cah-hero{padding:var(--hero-py-mobile)}.cah-benefits,.cah-chefs,.cah-formules,.cah-how{padding:var(--section-py-mobile) 0}.cah-form-section{padding:var(--section-py-mobile) 0 calc(var(--section-py-mobile) + 1.5rem)}.cah-formules-grid{grid-template-columns:1fr}.cah-benefits-grid{grid-template-columns:1fr;gap:1.25rem}.cah-steps{grid-template-columns:1fr;gap:1rem}.cah-chefs-grid{gap:1.25rem}.cah-chef-card{flex-direction:column;align-items:center;text-align:center;padding:1.5rem}.cah-chef-avatar{width:64px;height:64px;font-size:1.8rem}.cah-chef-specialties{justify-content:center}.cah-form{padding:1.5rem}.form-row{grid-template-columns:1fr}.cah-form-header h2{font-size:1.6rem}.cah-hero-actions{flex-direction:column}.cah-hero-actions .btn{width:100%;justify-content:center}}.who-hero{background:var(--color-primary-dark);color:#fff;padding:var(--hero-py);text-align:center}.who-hero .hero-tag{display:inline-block;background:var(--color-primary);padding:.35rem 1rem;border-radius:20px;font-size:.82rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1.25rem}.who-hero h1{font-size:clamp(2.5rem,6vw,4.5rem);font-style:italic;margin-bottom:1rem}.who-hero-intro{font-size:1.15rem;opacity:.85;max-width:540px;margin:0 auto;line-height:1.7}.who-story{padding:var(--section-py) 0;background:var(--color-bg-light)}.who-story-inner{display:grid;grid-template-columns:1fr 320px;gap:4rem;align-items:center}.story-text h2{font-size:2rem;margin-bottom:1.5rem;color:var(--color-primary)}.story-text p{color:var(--color-text-light);line-height:1.8;margin-bottom:1.25rem;font-size:1rem}.story-text strong{color:var(--color-primary)}.story-visual{display:flex;justify-content:center}.story-badge{background:var(--color-primary);color:#fff;border-radius:var(--radius);padding:2.5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.story-badge-icon{font-size:3rem}.story-badge strong{font-family:var(--font-heading);font-size:1.3rem}.story-badge span{font-size:.85rem;opacity:.8}.chef-section{padding:var(--section-py) 0}.chef-thomas{background:var(--color-bg)}.chef-coralie{background:var(--color-white)}.chef-section-inner{display:grid;grid-template-columns:280px 1fr;gap:4rem;align-items:start}.chef-section-reverse{grid-template-columns:1fr 280px}.chef-section-reverse .chef-portrait{order:2}.chef-portrait{display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center;position:sticky;top:var(--sticky-top)}.chef-avatar-large{width:120px;height:120px;background:var(--color-primary);color:#fff;font-family:var(--font-heading);font-size:3.5rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg)}.chef-portrait-info h2{font-size:2rem;font-style:italic;color:var(--color-primary)}.chef-role{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light)}.chef-bio h3{font-size:1.3rem;margin-bottom:1.25rem;color:var(--color-primary)}.chef-bio p{color:var(--color-text-light);line-height:1.8;margin-bottom:1.25rem;font-size:1rem}.chef-bio em{font-style:italic;color:var(--color-primary)}.chef-quote{background:var(--color-bg);border-left:4px solid var(--color-primary);padding:1.25rem 1.5rem;font-style:italic;color:var(--color-text);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1.75rem 0;font-size:1rem;line-height:1.7}.chef-specialties-list h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);margin-bottom:.75rem}.chef-tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.who-values{padding:var(--section-py) 0;background:var(--color-primary-dark);color:#fff}.who-values .section-header h2{color:#fff}.who-values .section-header p{color:#ffffffb3}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.value-card{background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:2.5rem 2rem;text-align:center;transition:background .2s}.value-card:hover{background:#ffffff1f}.value-icon{font-size:2.5rem;margin-bottom:1rem}.value-card h3{font-size:1.2rem;color:#fff;margin-bottom:.75rem}.value-card p{font-size:.9rem;color:#ffffffb3;line-height:1.7}.who-cta{padding:var(--section-py) 0;background:var(--color-bg-light);text-align:center}.who-cta-inner h2{font-size:2.2rem;margin-bottom:1rem}.who-cta-inner p{color:var(--color-text-light);margin-bottom:2.5rem;font-size:1.05rem}.who-cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@media (max-width: 1024px){.who-story-inner{grid-template-columns:1fr}.story-visual{display:none}.chef-section-inner{grid-template-columns:1fr;gap:2rem}.chef-section-reverse{grid-template-columns:1fr}.chef-section-reverse .chef-portrait{order:0}.chef-portrait{position:static;flex-direction:row;justify-content:flex-start}.values-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto;gap:1.25rem}}@media (max-width: 768px){.who-hero{padding:var(--hero-py-mobile)}.who-story,.chef-thomas,.chef-coralie,.who-values,.who-cta{padding:var(--section-py-mobile) 0}.story-text h2{font-size:1.6rem}.chef-avatar-large{width:80px;height:80px;font-size:2.2rem;min-width:80px}.chef-portrait-info h2{font-size:1.5rem}.chef-bio h3{font-size:1.1rem}.who-cta-inner h2{font-size:1.7rem}.values-grid{grid-template-columns:1fr}}@media (max-width: 640px){.chef-portrait{flex-direction:column;align-items:center;text-align:center}.chef-tags-list{justify-content:center}.who-cta-actions{flex-direction:column;align-items:center}.who-cta-actions .btn{width:100%;justify-content:center}}.stats-loading{display:flex;align-items:center;gap:.75rem;padding:3rem;color:var(--color-text-light);font-size:.9rem}.stats-error{padding:2rem;color:#c62828;background:#fce8e8;border-radius:var(--radius);font-size:.9rem}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:1.5rem}.kpi-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem 1.5rem;position:relative;transition:box-shadow .2s}.kpi-card:hover{box-shadow:var(--shadow-md)}.kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.kpi-icon{font-size:1.5rem;line-height:1}.kpi-trend{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:12px}.kpi-trend.up{background:#d4edda;color:#155724}.kpi-trend.down{background:#f8d7da;color:#721c24}.kpi-value{font-size:1.75rem;font-weight:800;font-family:var(--font-heading);color:var(--color-primary-dark);line-height:1.1;margin-bottom:.25rem}.kpi-label{font-size:.75rem;color:var(--color-text-light);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.kpi-sub{font-size:.78rem;color:var(--color-text-light);margin-top:.35rem}.kpi-spark{margin-top:.75rem;opacity:.7}.sparkline{width:80px;height:28px;display:block}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.25rem;margin-bottom:1.5rem}.chart-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem}.chart-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.25rem}.chart-title{font-size:.9rem;font-weight:700;color:var(--color-text)}.chart-sub{font-size:.75rem;color:var(--color-text-light);margin-top:.15rem}.chart-legend{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--color-text-light)}.chart-legend-dot{width:10px;height:10px;border-radius:2px;display:inline-block}.bar-chart-wrap{width:100%;overflow:hidden}.bar-chart-svg{width:100%;height:auto;display:block}.bar-chart-bar{transition:opacity .2s}.bar-chart-bar:hover{opacity:1!important}.chart-empty{color:var(--color-text-light);font-size:.85rem;padding:2rem 0;text-align:center}.chart-axis-labels{display:flex;justify-content:space-between;margin-top:.5rem}.chart-axis-labels span{font-size:.68rem;color:#bbb}.stats-tables-grid{display:grid;grid-template-columns:1fr 340px;gap:1.25rem}.stats-right-col{display:flex;flex-direction:column;gap:1.25rem}.stats-table-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem 1.5rem}.stats-table-title{font-size:.85rem;font-weight:700;color:var(--color-text);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--color-border)}.stats-table{width:100%;border-collapse:collapse;font-size:.83rem}.stats-table th{padding:.4rem .5rem;text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-light);border-bottom:1px solid var(--color-border)}.stats-table td{padding:.55rem .5rem;border-bottom:1px solid #f5f5f5;color:var(--color-text)}.stats-table tbody tr:last-child td{border-bottom:none}.stats-table tbody tr:hover{background:var(--color-bg)}.ta-r{text-align:right}.rank-cell{width:32px}.rank{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:.72rem;font-weight:800;background:var(--color-border);color:var(--color-text-light)}.rank-1{background:gold;color:#7a5a00}.rank-2{background:silver;color:#555}.rank-3{background:#cd7f32;color:#fff}.course-name-cell{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-empty{font-size:.82rem;color:var(--color-text-light);text-align:center;padding:1.5rem 0}.payment-bars{display:flex;flex-direction:column;gap:.85rem}.payment-bar-label{display:flex;justify-content:space-between;font-size:.8rem;margin-bottom:.3rem}.payment-bar-count{color:var(--color-text-light)}.payment-bar-track{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.payment-bar-fill{height:100%;border-radius:4px;transition:width .6s ease}.upcoming-list{display:flex;flex-direction:column;gap:.75rem}.upcoming-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid #f5f5f5}.upcoming-item:last-child{border-bottom:none}.upcoming-info{flex:1;min-width:0}.upcoming-course{font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text)}.upcoming-date{font-size:.74rem;color:var(--color-text-light);margin-top:.15rem}.upcoming-capacity{flex-shrink:0;width:80px}.upcoming-fill-track{height:6px;background:var(--color-border);border-radius:3px;overflow:hidden;margin-bottom:.2rem}.upcoming-fill-bar{height:100%;border-radius:3px;transition:width .5s}.upcoming-fill-label{font-size:.72rem;text-align:right;font-weight:600}@media (max-width: 1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.charts-grid,.stats-tables-grid{grid-template-columns:1fr}.stats-right-col{display:grid;grid-template-columns:1fr 1fr}}@media (max-width: 768px){.kpi-grid{grid-template-columns:1fr 1fr}.stats-right-col{grid-template-columns:1fr}}@media (max-width: 480px){.kpi-grid{grid-template-columns:1fr}}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:2rem}.admin-login-box{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:3rem 2.5rem;width:100%;max-width:400px;text-align:center;box-shadow:var(--shadow-lg)}.admin-login-icon{font-size:3rem;margin-bottom:1rem}.admin-login-box h1{font-size:1.8rem;margin-bottom:.4rem}.admin-login-box>p{color:var(--color-text-light);margin-bottom:2rem;font-size:.9rem}.admin-login-box form .form-group{text-align:left;margin-bottom:1rem}.admin-login-box form .form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem}.admin-login-box form .form-group input{width:100%;padding:.65rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;outline:none}.admin-login-box form .form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2d60161f}.admin-error{background:#fce8e8;color:#c62828;border-radius:var(--radius-sm);padding:.6rem 1rem;font-size:.85rem;margin-bottom:1rem;text-align:left}.admin-login-box .btn{width:100%;justify-content:center}.admin-page{min-height:100vh;background:#f4f6f9}.admin-header{background:var(--color-primary-dark);color:#fff;padding:0 1.5rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0003}.admin-header-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:60px}.admin-brand{display:flex;align-items:center;gap:.75rem}.admin-brand-icon{font-size:1.6rem}.admin-brand strong{display:block;font-size:1rem;font-family:var(--font-heading)}.admin-brand span{font-size:.75rem;opacity:.7}.btn-logout{background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#fff;padding:.4rem 1rem;border-radius:var(--radius-sm);font-size:.82rem;cursor:pointer;transition:background .2s}.btn-logout:hover{background:#ffffff38}.admin-body{max-width:1400px;margin:0 auto;padding:2rem 1.5rem 4rem}.admin-stats-bar{display:flex;gap:0;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;margin-bottom:2rem}.admin-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;gap:.25rem;border-right:1px solid var(--color-border)}.admin-stat:last-child{border-right:none}.admin-stat-sep{width:1px;background:#dee2e6;margin:.75rem 0}.admin-stat-num{font-size:2rem;font-weight:700;font-family:var(--font-heading);color:var(--color-primary-dark)}.admin-stat-num.pending{color:#856404}.admin-stat-num.confirmed{color:#155724}.admin-stat-num.cancelled{color:#721c24}.admin-stat-num.revenue{color:var(--color-primary-dark)}.admin-stat-lbl{font-size:.75rem;color:var(--color-text-light);text-align:center}.admin-tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--color-border);margin-bottom:1.5rem}.admin-tab-btn{padding:.6rem 1.5rem;border:none;background:none;font-size:.9rem;font-weight:600;color:var(--color-text-light);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;display:flex;align-items:center;gap:.5rem;transition:color .2s}.admin-tab-btn:hover{color:var(--color-primary)}.admin-tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-badge{background:var(--color-primary);color:#fff;font-size:.7rem;padding:.1rem .45rem;border-radius:10px;font-weight:700}.admin-filters{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:1.25rem;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.25rem}.admin-filters input,.admin-filters select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;outline:none;background:#fff}.admin-filters input{flex:1;min-width:160px}.admin-filters input:focus,.admin-filters select:focus{border-color:var(--color-primary)}.btn-sm{padding:.45rem .9rem;font-size:.82rem}.admin-loading,.admin-empty{text-align:center;padding:3rem;color:var(--color-text-light);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius)}.admin-count{font-size:.82rem;color:var(--color-text-light);margin-bottom:.75rem}.admin-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius)}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th{text-align:left;padding:.75rem 1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);background:#f8f9fa;border-bottom:1px solid var(--color-border);white-space:nowrap}.admin-table td{padding:.75rem 1rem;border-bottom:1px solid #f0f0f0;vertical-align:middle}.admin-table tbody tr{cursor:pointer;transition:background .15s}.admin-table tbody tr:hover{background:#fafbfc}.admin-table tbody tr.row-expanded{background:#f0f7ec}.row-detail td{background:#f8fef5;cursor:default;padding:1rem 1rem 1.25rem}.row-detail:hover td{background:#f8fef5!important}.ref{font-family:monospace;font-weight:700;font-size:.8rem;color:var(--color-primary-dark);background:#eef5e8;padding:.15rem .4rem;border-radius:4px}.client-name{font-weight:600}.client-email{font-size:.78rem;color:var(--color-text-light)}.client-link{display:block;font-size:.78rem;color:var(--color-primary);text-decoration:none;transition:color .15s}.client-link:hover{color:var(--color-primary-dark);text-decoration:underline}.center{text-align:center}.mono{font-family:monospace;font-size:.78rem;word-break:break-all}.payment-badge{display:inline-block;background:#e8f0fe;color:#1a56db;font-size:.72rem;padding:.15rem .5rem;border-radius:10px;font-weight:600;white-space:nowrap}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.72rem;font-weight:600;white-space:nowrap}.status-info{background:#cce5ff;color:#004085}.action-btns{display:flex;gap:.4rem}.btn-action{width:28px;height:28px;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.btn-action:disabled{opacity:.4;cursor:not-allowed}.btn-action.confirm{background:#d4edda;color:#155724}.btn-action.confirm:hover{background:#b8dfc6}.btn-action.cancel{background:#f8d7da;color:#721c24}.btn-action.cancel:hover{background:#f1b8bc}.btn-action.reset{background:#fff3cd;color:#856404}.btn-action.reset:hover{background:#fce9a0}.status-select{padding:.3rem .5rem;font-size:.8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;cursor:pointer}.detail-grid{display:flex;flex-wrap:wrap;gap:1rem 2rem}.detail-grid>div{display:flex;flex-direction:column;gap:.2rem;min-width:180px}.detail-grid>div.detail-notes{flex:1 1 100%}.detail-grid strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light)}.detail-grid span{font-size:.875rem}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;font-size:.875rem;color:var(--color-text-light)}@media (max-width: 768px){.admin-body{padding:1rem .75rem 3rem}.admin-stats-bar{flex-wrap:wrap}.admin-stat{min-width:calc(50% - 1px)}.admin-stat-sep{display:none}.admin-filters{padding:.75rem}.admin-filters input{min-width:120px}.admin-table th,.admin-table td{padding:.6rem .75rem}}.legal-hero{background:var(--color-primary-dark);color:#fff;padding:var(--hero-py-compact)}.legal-hero h1{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:.5rem}.legal-hero p{opacity:.75;font-size:.95rem}.legal-body{max-width:780px;padding-top:4rem;padding-bottom:6rem}.legal-section{margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--color-border)}.legal-section:last-child{border-bottom:none;margin-bottom:0}.legal-section h2{font-size:1.2rem;color:var(--color-primary);margin-bottom:1rem}.legal-section p{color:var(--color-text-light);line-height:1.8;margin-bottom:.75rem;font-size:.95rem}.legal-section p:last-child{margin-bottom:0}.legal-section ul{padding-left:1.25rem;display:flex;flex-direction:column;gap:.5rem}.legal-section li{color:var(--color-text-light);font-size:.95rem;line-height:1.7}.legal-section a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.legal-section a:hover{color:var(--color-primary-light)}@media (max-width: 768px){.legal-hero{padding:var(--hero-py-compact-mobile)}.legal-body{padding-top:2.5rem;padding-bottom:4rem}.legal-section{margin-bottom:2rem;padding-bottom:2rem}}.invoice-toolbar{background:var(--color-bg-light);border-bottom:1px solid var(--color-border);padding:.75rem 0;position:sticky;top:var(--sticky-top, 72px);z-index:10}.invoice-toolbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.invoice-toolbar-right{display:flex;gap:.75rem}.invoice-page{background:var(--color-bg);min-height:100vh;padding-bottom:4rem}.invoice-document{max-width:760px;margin:2.5rem auto;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:3rem 3.5rem;box-shadow:var(--shadow-md)}.inv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem}.inv-brand-name{font-size:1.4rem;font-weight:800;color:var(--color-primary-dark);font-family:var(--font-heading);margin-bottom:.2rem}.inv-brand-sub{font-size:.82rem;color:var(--color-text-light)}.inv-brand-contact{font-size:.82rem;color:var(--color-text-light);margin-top:.15rem}.inv-meta{text-align:right}.inv-title{font-size:1.5rem;font-weight:800;color:var(--color-primary-dark);letter-spacing:.04em;margin-bottom:.75rem}.inv-meta-table{border-collapse:collapse;margin-left:auto}.inv-meta-table td{padding:.2rem 0;font-size:.88rem;color:var(--color-text-light)}.inv-meta-table td:first-child{padding-right:1.5rem}.inv-meta-table td:last-child{text-align:right;color:var(--color-text)}.inv-status{display:inline-block;padding:.15rem .55rem;border-radius:20px;font-size:.75rem;font-weight:700}.inv-status-pending{background:#fff3cd;color:#856404}.inv-status-confirmed{background:#d4edda;color:#155724}.inv-status-cancelled{background:#f8d7da;color:#721c24}.inv-divider{height:2px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 60%,transparent 100%);margin:1.5rem 0;border-radius:2px}.inv-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.5rem}.inv-info-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);font-weight:700;margin-bottom:.5rem}.inv-info-name{font-weight:700;font-size:1rem;color:var(--color-text);margin-bottom:.2rem}.inv-info-detail{font-size:.85rem;color:var(--color-text-light);line-height:1.6}.inv-table{width:100%;border-collapse:collapse;margin-bottom:0}.inv-table thead tr{background:var(--color-bg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.inv-table th{padding:.6rem .75rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-light);font-weight:700}.inv-th-desc{text-align:left;width:50%}.inv-th-qty{text-align:center;width:10%}.inv-th-pu,.inv-th-total{text-align:right;width:20%}.inv-table tbody tr{border-bottom:1px solid var(--color-border)}.inv-table tbody td{padding:1rem .75rem;font-size:.9rem;vertical-align:top}.inv-item-sub{font-size:.78rem;color:var(--color-text-light);margin-left:.25rem}.inv-td-center{text-align:center}.inv-td-right{text-align:right}.inv-totals{display:flex;justify-content:flex-end;margin-top:0}.inv-totals-table{border-collapse:collapse;min-width:280px}.inv-totals-table td{padding:.45rem .75rem;font-size:.88rem;color:var(--color-text-light);border-bottom:1px solid #f0f0f0}.inv-totals-table td:last-child{text-align:right}.inv-total-row td{font-size:1.1rem;font-weight:800;color:var(--color-primary-dark);background:var(--color-bg);border-top:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);padding:.6rem .75rem}.inv-deposit-row td{color:#856404;font-weight:600;background:#fff8e8}.inv-remaining-row td{color:var(--color-primary-dark);font-weight:700}.inv-payment-info{margin-top:1.5rem;font-size:.85rem;color:var(--color-text-light)}.inv-pi-label{font-weight:600;color:var(--color-text);margin-right:.4rem}.inv-pi-value{color:var(--color-text-light)}.inv-notes{margin-top:1.5rem;padding:1rem;background:var(--color-bg);border-radius:var(--radius-sm);border-left:3px solid var(--color-primary)}.inv-notes-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-light);margin-bottom:.4rem}.inv-notes-text{font-size:.88rem;color:var(--color-text-light)}.inv-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.inv-footer-policy{font-size:.8rem;color:var(--color-text-light);margin-bottom:.75rem;line-height:1.6}.inv-footer-legal{font-size:.75rem;color:#aaa}.invoice-error{padding:5rem 1rem;text-align:center}.invoice-error h2{margin-bottom:1rem}.invoice-error p{color:var(--color-text-light);margin-bottom:2rem}@media print{.no-print{display:none!important}body{background:#fff}.invoice-page{background:#fff;padding-bottom:0}.invoice-document{margin:0;border:none;border-radius:0;box-shadow:none;padding:1.5cm 2cm;max-width:100%}.inv-header{margin-bottom:1.5rem}.inv-divider{margin:1rem 0}.inv-table{font-size:.85rem}.inv-footer{margin-top:2rem}}@media (max-width: 640px){.invoice-document{padding:1.5rem;margin:1rem}.inv-header{flex-direction:column;gap:1rem}.inv-meta{text-align:left}.inv-meta-table{margin-left:0}.inv-info-grid{grid-template-columns:1fr;gap:1rem}.inv-totals{justify-content:stretch}.inv-totals-table{width:100%}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #2D6016;--color-primary-light: #4A8C28;--color-primary-dark: #1A3D0A;--color-gradient: linear-gradient(62deg, #2D6016 0%, #4A8C28 100%);--color-gradient-hover: linear-gradient(62deg, #1A3D0A 0%, #2D6016 100%);--color-accent: #8B4513;--color-accent-alt: #A0521A;--color-text: #3D1A08;--color-text-light: #6B5040;--color-text-muted: #9A7B6A;--color-text-subtle: #B09880;--color-bg: #EDE5D5;--color-bg-light: #F5F0E8;--color-bg-dark: #1A2E0D;--color-white: #FFFFFF;--color-surface: #E8DFD0;--color-border: #D4C8B0;--color-border-mid: #C0B090;--font-heading: "Manrope", sans-serif;--font-body: "Manrope", sans-serif;--shadow-sm: 0 2px 12px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .14);--shadow-xl: 0 8px 30px rgba(0, 0, 0, .25);--radius: 12px;--radius-sm: 8px;--radius-pill: 100px;--max-width: 1200px;--section-py: 6rem;--section-py-mobile: 3.5rem;--hero-py: 5rem 0 4rem;--hero-py-mobile: 3rem 0 2.5rem;--hero-py-compact: 4rem 0;--hero-py-compact-mobile: 2.5rem 0;--card-py: 2rem;--card-py-emphasis: 2.5rem;--sticky-top: 80px}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2;color:var(--color-text)}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button{cursor:pointer;border:none;font-family:var(--font-body)}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:12px 24px;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:14px;font-weight:600;transition:all .2s ease;cursor:pointer;border:none;white-space:nowrap}.btn-primary{background:var(--color-gradient);color:var(--color-text)}.btn-primary:hover{background:var(--color-gradient-hover);transform:translateY(-2px);box-shadow:0 6px 20px #2d60164d}.btn-primary:active{transform:translateY(0) scale(.97)}.btn-secondary{background:#ffffffd1;color:var(--color-text);border:1px solid rgba(41,41,53,.14)}.btn-secondary:hover{border-color:#29293542;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary:active{transform:translateY(0) scale(.97)}.btn-outline{background:transparent;color:var(--color-text-light);border:1px solid var(--color-border-mid)}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-text)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover{background:var(--color-accent-alt);transform:translateY(-1px)}.btn-hero-outline{background:#ffffff26;color:#fff;border:1.5px solid rgba(255,255,255,.5)}.btn-hero-outline:hover{background:#ffffff40;border-color:#fff}.btn-lg{padding:14px 32px;font-size:15px}.btn-sm{padding:8px 16px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:13px;font-weight:600;color:var(--color-text-light)}.form-group input,.form-group select,.form-group textarea{padding:12px 20px;border:1px solid var(--color-border);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:14px;color:var(--color-text);background:var(--color-white);transition:border-color .2s ease,box-shadow .2s ease}.form-group textarea{border-radius:var(--radius);resize:vertical;min-height:100px}.form-group select{cursor:pointer}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2d601624}.section-header{text-align:center;margin-bottom:3.5rem}.section-header h2{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:800;margin-bottom:.75rem;color:var(--color-text)}.section-header p{color:var(--color-text-light);font-size:15px;max-width:560px;margin:0 auto}.tag{display:inline-block;padding:4px 12px;background:var(--color-bg-light);color:var(--color-text-light);border-radius:var(--radius-pill);font-size:12px;font-weight:600;border:1px solid var(--color-border)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge-debutant{background:#d4edda;color:#155724}.badge-intermediaire{background:#fff3cd;color:#856404}.badge-avance{background:#f8d7da;color:#721c24}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:600}.status-pending{background:#fff3cd;color:#856404}.status-confirmed{background:#d4edda;color:#155724}.status-cancelled{background:#f8d7da;color:#721c24}.status-info{background:#e3f2fd;color:#1565c0}.spinner{width:36px;height:36px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .75s linear infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{display:flex;justify-content:center;padding:4rem 0}.cards-grid{display:grid;gap:1.5rem}@media (max-width: 768px){.container{padding:0 1rem}.btn-lg{padding:13px 24px;font-size:14px}}
