@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-amber-700:oklch(55.5% .163 48.998);--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth;font-size:16px}@media(max-width:480px){html{font-size:15px}}@media(max-width:360px){html{font-size:14px}}body{font-family:var(--font-primary);color:var(--color-text-primary);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;margin:0;padding:0}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);font-family:var(--font-display);letter-spacing:-.03em;margin:0}p{margin:0 0 var(--spacing-base)0}a{color:inherit;transition:color var(--transition-base);text-decoration:none}img{max-width:100%;height:auto}}@layer components{.btn{font-size:var(--font-base);border-radius:var(--radius-lg);min-height:46px;transition:all var(--transition-base);cursor:pointer;white-space:nowrap;letter-spacing:.01em;border:none;justify-content:center;align-items:center;padding:.9rem 1.35rem;font-weight:700;display:inline-flex}@media(min-width:768px){.btn{min-height:52px;padding:1rem 1.7rem}}.btn-primary{background:linear-gradient(135deg,var(--color-teal-dark)0%,var(--color-teal)100%);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary:hover{background:var(--color-teal-dark);transform:translateY(-2px);box-shadow:0 12px 32px #0f766e47}.btn-secondary{color:var(--color-primary);border:1px solid var(--color-border);background:#fff}.btn-secondary:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px)}.btn-small{padding:var(--spacing-sm)var(--spacing-md);font-size:var(--font-sm);min-height:44px}@media(min-width:768px){.btn-small{min-height:38px}}.section{padding:clamp(4rem,8vw,7rem)var(--spacing-base)}@media(min-width:768px){.section{padding:var(--spacing-3xl)var(--spacing-xl)}}@media(min-width:1024px){.section{padding:var(--spacing-4xl)var(--spacing-2xl)}}.container{max-width:1480px;padding-left:var(--spacing-base);padding-right:var(--spacing-base);margin-left:auto;margin-right:auto}@media(min-width:768px){.container{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}}@media(min-width:1024px){.container{padding-left:var(--spacing-2xl);padding-right:var(--spacing-2xl)}}.fade-in{animation:.6s ease-in-out fadeIn}.slide-up{animation:.8s ease-out slideUp}.scale-in{animation:.5s ease-out scaleIn}.animate-float{animation:3s ease-in-out infinite float}.reveal{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(50px)}.reveal.active{opacity:1;transform:translateY(0)}.gradient-text{background:linear-gradient(135deg,var(--color-secondary)0%,var(--color-accent)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-amber-700{color:var(--color-amber-700)}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root{--color-primary:#5c1040;--color-primary-light:#5c104014;--color-primary-medium:#7a1856;--color-primary-dark:#3d0a2a;--color-secondary:#0d9488;--color-accent:#6cf4d4;--color-accent-light:#6cf4d41f;--color-accent-medium:#6cf4d438;--color-accent-dark:#6cf4d466;--color-teal:#0a7a70;--color-teal-light:#0d9488;--color-teal-dark:#0f766e;--color-white:#fff;--color-black:#0c0a0e;--color-text-primary:#1a1525;--color-text-secondary:#2d2640;--color-text-muted:#6b6580;--color-text-light:#756e88;--color-bg-primary:#fdfbff;--color-bg-secondary:#f5f0f8;--color-bg-tertiary:#ede6f2;--color-bg-hero:linear-gradient(165deg,#fdfbff 0%,#f0ebf5 40%,#e6fbf6 100%);--color-bg-contact:linear-gradient(180deg,#f5f0f8 0%,#fdfbff 100%);--color-footer-bg:#1a0e22;--color-footer-bg-light:#271636;--color-text-body:#463d56;--color-border:#e0d8e8;--color-border-light:#eee8f4;--color-border-dark:#c8bdd4;--color-success:#0a8060;--color-success-light:#0a80601f;--color-warning:#926304;--color-warning-light:#9263041f;--color-error:#c53030;--color-error-light:#c530301f;--color-info:#3b82f6;--color-info-light:#3b82f61f;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:.75rem;--spacing-base:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:2.5rem;--spacing-3xl:3rem;--spacing-4xl:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-2xl:32px;--radius-3xl:40px;--radius-full:9999px;--shadow-sm:0 2px 8px #5c10400d;--shadow-md:0 8px 24px #5c104012;--shadow-lg:0 16px 48px #5c104017;--shadow-xl:0 24px 64px #3d0a2a1f;--shadow-2xl:0 32px 80px #1a0e2229;--shadow-accent:0 8px 28px #0d94882e;--shadow-primary:0 8px 28px #5c10401f;--font-display:"Outfit",ui-sans-serif,system-ui,sans-serif;--font-primary:"Inter",ui-sans-serif,system-ui,sans-serif;--font-xs:.75rem;--font-sm:.875rem;--font-base:1rem;--font-md:1.05rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:1.875rem;--font-4xl:2.25rem;--font-5xl:3rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.1;--line-height-snug:1.3;--line-height-normal:1.6;--line-height-relaxed:1.75;--line-height-loose:2;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-medium:.3s ease;--transition-slow:.5s ease;--ease-in-out:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-bounce:cubic-bezier(.68,-.55,.265,1.55);--ease-modal:cubic-bezier(.16,1,.3,1);--breakpoint-xs:360px;--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--padding-mobile:1rem;--padding-tablet:1.5rem;--padding-desktop:2rem;--font-hero-mobile:clamp(2rem,8vw,3rem);--font-hero-desktop:clamp(3rem,6vw,5rem);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:1000;--z-modal:1001;--z-modal-close:2001;--z-popover:2000;--z-tooltip:3000;--grid-gap:var(--spacing-lg);--grid-gap-sm:var(--spacing-base);--grid-columns:12;--container-xs:480px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1400px;--navbar-height:76px;--navbar-height-scrolled:64px;--card-padding:var(--spacing-lg);--card-padding-sm:var(--spacing-base);--card-radius:var(--radius-lg);--modal-width-sm:500px;--modal-width-md:700px;--modal-width-lg:900px;--modal-width-xl:1200px;--modal-padding:var(--spacing-xl);--modal-padding-mobile:var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-base{gap:var(--spacing-base)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.m-0{margin:0}.p-0{padding:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-base{margin-top:var(--spacing-base)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-base{margin-bottom:var(--spacing-base)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-sm{margin-left:var(--spacing-sm)}.mr-sm{margin-right:var(--spacing-sm)}.p-sm{padding:var(--spacing-sm)}.p-base{padding:var(--spacing-base)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-accent{box-shadow:var(--shadow-accent)}.shadow-primary{box-shadow:var(--shadow-primary)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.text-3xl{font-size:var(--font-3xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-brand{color:var(--color-primary)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.bg-white{background-color:var(--color-white)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-accent{background-color:var(--color-accent)}.bg-brand{background-color:var(--color-primary)}.border{border:2px solid var(--color-border)}.border-light{border:1px solid var(--color-border-light)}.border-dark{border:2px solid var(--color-border-dark)}.border-accent{border:2px solid var(--color-accent)}.border-brand{border:2px solid var(--color-primary)}.border-t{border-top:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-l{border-left:1px solid var(--color-border)}.border-r{border-right:1px solid var(--color-border)}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-medium{transition:all var(--transition-medium)}.transition-slow{transition:all var(--transition-slow)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.w-full{width:100%}.h-full{height:100%}.min-h-0{min-height:0}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hover-lift{transition:transform var(--transition-base)}.hover-lift:hover{transform:translateY(-3px)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.02)}.btn{padding:var(--spacing-md)var(--spacing-lg);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);transition:all var(--transition-base);cursor:pointer;border:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-teal)0%,var(--color-teal-light)100%);color:var(--color-white);box-shadow:0 4px 14px #0d948859}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #0d948866}.btn-accent{background:linear-gradient(135deg,var(--color-accent)0%,#4ad4ba 100%);color:var(--color-text-primary);box-shadow:var(--shadow-accent)}.btn-accent:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6cf4d44d}.btn-outline{border:2px solid var(--color-primary);color:var(--color-primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.card{background:var(--color-white);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-xl)}.form-label{margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:block}.form-input{width:100%;padding:var(--spacing-md)var(--spacing-base);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-base);transition:all var(--transition-base)}.form-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #6cf4d41a}.form-error{color:var(--color-error);font-size:var(--font-sm);margin-top:var(--spacing-xs)}.input-error{border-color:var(--color-error)}.input-success{border-color:var(--color-success)}.alert{padding:var(--spacing-base)var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border-left:4px solid}.alert-success{background-color:var(--color-success-light);border-color:var(--color-success);color:var(--color-success)}.alert-warning{background-color:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning)}.alert-error{background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error)}.alert-info{background-color:var(--color-info-light);border-color:var(--color-info);color:var(--color-info)}.p-responsive-sm{padding:var(--spacing-md)}@media(min-width:768px){.p-responsive-sm{padding:var(--spacing-lg)}}@media(min-width:1024px){.p-responsive-sm{padding:var(--spacing-xl)}}.p-responsive-md{padding:var(--spacing-base)}@media(min-width:768px){.p-responsive-md{padding:var(--spacing-xl)}}@media(min-width:1024px){.p-responsive-md{padding:var(--spacing-2xl)}}.min-touch{min-width:44px;min-height:44px}@media(min-width:768px){.min-touch{min-width:36px;min-height:36px}}@supports (padding:env(safe-area-inset-bottom)){.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-top{padding-top:env(safe-area-inset-top)}}.container-responsive{width:100%;max-width:var(--container-xl,1280px);padding-left:var(--spacing-base);padding-right:var(--spacing-base);margin-left:auto;margin-right:auto}@media(max-width:480px){.container-responsive{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media(min-width:768px){.container-responsive{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}}@media(min-width:1024px){.container-responsive{padding-left:var(--spacing-2xl);padding-right:var(--spacing-2xl)}}.text-responsive-xs{font-size:var(--font-xs)}.text-responsive-sm{font-size:var(--font-sm)}.text-responsive-base{font-size:var(--font-base)}.text-responsive-lg{font-size:var(--font-lg)}.text-responsive-xl{font-size:var(--font-xl)}.text-responsive-2xl{font-size:var(--font-2xl)}.text-responsive-3xl{font-size:clamp(1.5rem,4vw,2.25rem)}.text-responsive-4xl{font-size:clamp(2rem,5vw,3rem)}.text-responsive-5xl{font-size:clamp(2.5rem,6vw,4rem)}@media(max-width:480px){.text-responsive-3xl{font-size:1.5rem}.text-responsive-4xl{font-size:2rem}.text-responsive-5xl{font-size:2.5rem}}@media(min-width:1024px){.text-responsive-3xl{font-size:2.25rem}.text-responsive-4xl{font-size:3rem}.text-responsive-5xl{font-size:4rem}}.section-responsive{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);padding-left:var(--spacing-base);padding-right:var(--spacing-base)}@media(max-width:480px){.section-responsive{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media(min-width:768px){.section-responsive{padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl)}}@media(min-width:1024px){.section-responsive{padding-top:var(--spacing-4xl);padding-bottom:var(--spacing-4xl)}}.grid-responsive{gap:var(--spacing-lg);display:grid}.grid-responsive-1,.grid-responsive-2{grid-template-columns:1fr}@media(min-width:480px){.grid-responsive-2{grid-template-columns:repeat(2,1fr)}}.grid-responsive-3{grid-template-columns:1fr}@media(min-width:480px){.grid-responsive-3{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.grid-responsive-3{grid-template-columns:repeat(3,1fr)}}.grid-responsive-4{grid-template-columns:1fr}@media(min-width:480px){.grid-responsive-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.grid-responsive-4{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.grid-responsive-4{grid-template-columns:repeat(4,1fr)}}.grid-auto-responsive{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));display:grid}@media(max-width:480px){.grid-auto-responsive{gap:var(--spacing-base);grid-template-columns:1fr}}.flex-responsive{gap:var(--spacing-base);flex-wrap:wrap;display:flex}.flex-responsive-col{flex-direction:column}@media(min-width:768px){.flex-responsive-col{flex-direction:row}}.flex-responsive-center{justify-content:center;align-items:center}@media(max-width:768px){.flex-responsive-center{flex-direction:column}}.hide-mobile{display:none}@media(min-width:768px){.hide-mobile{display:block}}.hide-desktop{display:block}@media(min-width:768px){.hide-desktop{display:none}}.hide-small{display:none}@media(min-width:480px){.hide-small{display:block}}.hide-large{display:block}@media(min-width:1024px){.hide-large{display:none}}.touch-target{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}@media(min-width:768px){.touch-target{min-width:36px;min-height:36px}}.img-responsive{max-width:100%;height:auto;display:block}.aspect-video{aspect-ratio:16/9}.aspect-square{aspect-ratio:1}.overflow-x-auto-mobile{-webkit-overflow-scrolling:touch;overflow-x:auto}@media(min-width:768px){.overflow-x-auto-mobile{overflow-x:visible}}.footer{background:var(--color-text-primary);color:var(--color-white);padding:var(--spacing-3xl)var(--spacing-xl)}.footer-content{gap:var(--spacing-xl);max-width:1400px;margin:0 auto;display:grid}.footer-links{gap:var(--spacing-lg);flex-wrap:wrap;justify-content:center;display:flex}.footer-social-link{border-radius:var(--radius-full);width:48px;height:48px;color:var(--color-white);transition:all var(--transition-base);background:#ffffff1a;justify-content:center;align-items:center;display:inline-flex}.footer-social-link:hover{background:var(--color-accent);color:var(--color-primary);transform:translateY(-3px)}@media(max-width:768px){.footer{padding:var(--spacing-xl)var(--spacing-base)}.footer-content{text-align:center}.footer-links{justify-content:center}.footer-social-link{width:44px;height:44px}}@media(max-width:480px){.footer{padding:var(--spacing-xl)var(--spacing-md)}.footer-social-link{width:44px;height:44px}}.container-main{max-width:1400px;padding:var(--spacing-xl);margin:0 auto}@media(max-width:768px){.container-main{padding:var(--spacing-lg)}}@media(max-width:480px){.container-main{padding:var(--spacing-base)}}.body-with-navbar{padding-top:80px}@media(max-width:768px){.body-with-navbar{padding-top:70px}}@media(max-width:480px){.body-with-navbar{padding-top:64px}}.card-responsive{background:var(--color-white);border-radius:var(--card-radius);padding:var(--card-padding-sm);box-shadow:var(--shadow-md);transition:all var(--transition-base)}@media(min-width:768px){.card-responsive{padding:var(--card-padding)}}.card-responsive:hover{box-shadow:var(--shadow-xl)}.modal-overlay{z-index:var(--z-modal-backdrop);background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media(min-width:768px){.modal-overlay{align-items:center}}.modal-content-responsive{background:var(--color-white);border-radius:var(--radius-xl)var(--radius-xl)0 0;-webkit-overflow-scrolling:touch;width:100%;max-height:90vh;overflow-y:auto}@media(min-width:768px){.modal-content-responsive{border-radius:var(--radius-xl);max-width:600px;max-height:85vh}}.modal-content-responsive .modal-header,.modal-content-responsive .modal-footer{flex-shrink:0}.modal-content-responsive .modal-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.form-group-responsive{margin-bottom:var(--spacing-base)}@media(min-width:768px){.form-group-responsive{margin-bottom:var(--spacing-lg)}}.form-input-responsive{width:100%;padding:var(--spacing-md)var(--spacing-base);border:2px solid var(--color-border);border-radius:var(--radius-md);min-height:44px;font-size:16px}@media(min-width:768px){.form-input-responsive{padding:var(--spacing-base);min-height:48px}}.booking-grid-responsive{gap:var(--spacing-xl);grid-template-columns:1fr;display:grid}@media(min-width:768px){.booking-grid-responsive{gap:var(--spacing-2xl);grid-template-columns:1fr 400px}}@media(min-width:1024px){.booking-grid-responsive{grid-template-columns:1fr 420px}}.courses-grid,.camps-grid{gap:var(--spacing-lg);display:grid}@media(max-width:480px){.courses-grid,.camps-grid{gap:var(--spacing-base);grid-template-columns:1fr}}@media(min-width:480px){.courses-grid,.camps-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}}.course-card,.camp-card{padding:var(--spacing-base)}@media(min-width:768px){.course-card,.camp-card{padding:var(--spacing-lg)}}@media(max-width:480px){.course-card .course-footer,.camp-card .camp-footer{gap:var(--spacing-sm);flex-direction:column;align-items:stretch}.course-link,.camp-link,.filter-btn{justify-content:center;align-items:center;min-height:44px;display:flex}}.hero{padding:100px var(--spacing-base)var(--spacing-xl)}@media(max-width:480px){.hero{padding:80px var(--spacing-md)var(--spacing-lg)}}@media(min-width:768px){.hero{padding:120px var(--spacing-xl)var(--spacing-2xl)}}.hero-cta{gap:var(--spacing-base)}@media(max-width:360px){.hero-cta{flex-direction:column;width:100%}.hero-cta .btn{width:100%;min-height:44px}}.confirmation-card{padding:var(--spacing-xl)var(--spacing-base)}@media(max-width:480px){.confirmation-card{padding:var(--spacing-lg)var(--spacing-md);border-radius:var(--radius-xl)}}@media(min-width:768px){.confirmation-card{padding:var(--spacing-3xl)var(--spacing-2xl)}}.login-container{padding:var(--spacing-xl)var(--spacing-base);margin:var(--spacing-base)}@media(max-width:480px){.login-container{padding:var(--spacing-lg)var(--spacing-md);margin:var(--spacing-md)}}@media(min-width:768px){.login-container{padding:var(--spacing-3xl)}}.admin-header,.admin-nav{gap:var(--spacing-base);flex-wrap:wrap}@media(max-width:768px){.admin-header{flex-direction:column;align-items:flex-start}}.info-grid-responsive{gap:var(--spacing-base);grid-template-columns:1fr;display:grid}@media(min-width:480px){.info-grid-responsive{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.info-grid-responsive{gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr)}}.skip-link{z-index:2000;background:var(--color-primary);color:#fff;border-radius:0 0 .75rem .75rem;padding:.75rem 1.1rem;font-weight:700;position:absolute;top:0;left:-9999px}.skip-link:focus{left:1rem}body.page-public,body.page-home,body.page-courses,body.page-camps,body.page-legal,body.page-booking{background:var(--color-bg-primary);min-height:100vh}.public-site,.public-main{position:relative}.public-chroma,.public-grid-overlay{display:none}.public-label{border-radius:var(--radius-full);color:var(--color-teal-dark);letter-spacing:.06em;text-transform:uppercase;background:#2ec4b61f;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.78rem;font-weight:700;display:inline-flex}.back-to-top{z-index:998;border-radius:var(--radius-full);color:#fff;background:var(--color-primary);cursor:pointer;width:2.75rem;height:2.75rem;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;border:none;justify-content:center;align-items:center;font-size:1rem;transition:opacity .25s,visibility .25s,transform .25s;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;transform:translateY(8px)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--color-primary-medium);transform:translateY(-2px)}@media(max-width:768px){.back-to-top{bottom:1rem;right:1rem}}.page-home .h-hero{padding:calc(var(--navbar-height) + 4rem)0 5rem;background:var(--color-bg-hero);text-align:center;position:relative;overflow:hidden}.page-home .h-hero:after{content:"";background:linear-gradient(180deg,transparent,var(--color-bg-primary));pointer-events:none;height:80px;position:absolute;bottom:-1px;left:0;right:0}.page-home .h-hero__inner{z-index:1;max-width:52rem;margin:0 auto;position:relative}.page-home .h-hero__title{letter-spacing:-.025em;margin-top:1.25rem;font-size:clamp(2.6rem,6.5vw,4.2rem);line-height:1.12}.page-home .h-hero__accent{background:linear-gradient(135deg,var(--color-teal),var(--color-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.page-home .h-hero__text{max-width:38rem;color:var(--color-text-body);margin:1.5rem auto 0;font-size:clamp(1rem,1.8vw,1.12rem);line-height:1.72}.page-home .h-hero__cta{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem;display:flex}.page-home .btn--lg{padding:.95rem 1.75rem;font-size:1.02rem}.page-home .h-hero__stats{border-top:1px solid var(--color-border-light);justify-content:center;gap:clamp(1.5rem,4vw,3rem);margin-top:3rem;padding-top:2rem;display:flex}.page-home .h-stat{text-align:center}.page-home .h-stat strong{font-family:var(--font-display);color:var(--color-primary);font-size:1.75rem;font-weight:800;line-height:1;display:block}.page-home .h-stat span{color:var(--color-text-muted);margin-top:.3rem;font-size:.82rem;font-weight:600;display:block}.page-home .h-section{padding:clamp(4rem,8vw,6.5rem) 0}.page-home .h-section--tinted{background:var(--color-bg-secondary)}.page-home .h-head{text-align:center;max-width:38rem;margin:0 auto 2.5rem}.page-home .h-head h2{margin-top:.75rem;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15}.page-home .h-head p{color:var(--color-text-body);margin-top:.75rem;font-size:1.02rem;line-height:1.7}.page-home .h-offers{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:1.25rem;display:grid}.page-home .h-card{border-radius:var(--radius-xl);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);background:#fff;flex-direction:column;padding:1.5rem;display:flex}.page-home .h-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.page-home .h-card--alt{border-left:3px solid var(--color-teal)}.page-home .h-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.85rem;display:flex}.page-home .h-card__tags{flex-wrap:wrap;gap:.35rem;display:flex}.page-home .h-tag{border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;padding:.28rem .6rem;font-size:.7rem;font-weight:700}.page-home .h-tag--accent{color:var(--color-primary);background:#5c10401a}.page-home .h-card__status{text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:700}.page-home .h-card__status--frei{color:var(--color-success)}.page-home .h-card__status--begrenzt{color:var(--color-warning)}.page-home .h-card__status--voll{color:var(--color-error)}.page-home .h-card__title{font-size:1.18rem;line-height:1.25}.page-home .h-card__desc{color:var(--color-text-muted);flex:1;margin-top:.4rem;font-size:.9rem;line-height:1.6}.page-home .h-card__meta{flex-wrap:wrap;gap:.45rem;margin-top:.85rem;padding:0;list-style:none;display:flex}.page-home .h-card__meta li{border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-text-secondary);padding:.32rem .6rem;font-size:.76rem;font-weight:600}.page-home .h-card__foot{border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.85rem;display:flex}.page-home .h-card__price{font-family:var(--font-display);color:var(--color-primary);font-size:1.22rem;font-weight:800}.page-home .h-card__link{color:var(--color-teal-dark);white-space:nowrap;font-size:.88rem;font-weight:700}.page-home .h-card__link:hover{color:var(--color-primary)}.page-home .h-offers-cta{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2.5rem;display:flex}.page-home .h-features{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.page-home .h-feature{border-radius:var(--radius-xl);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);background:#fff;padding:1.75rem 1.5rem;transition:transform .3s,box-shadow .3s}.page-home .h-feature:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.page-home .h-feature__icon{border-radius:var(--radius-lg);width:3rem;height:3rem;color:var(--color-teal-dark);background:linear-gradient(135deg,#6cf4d42e,#0d94881a);justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex}.page-home .h-feature h3{margin-bottom:.5rem;font-size:1.12rem}.page-home .h-feature p{color:var(--color-text-body);margin:0;font-size:.92rem;line-height:1.65}.page-home .h-contact{border-radius:var(--radius-2xl);background:var(--color-primary);color:#fff;align-items:start;gap:2rem;padding:clamp(2rem,4vw,3rem);display:grid}@media(min-width:860px){.page-home .h-contact{grid-template-columns:1fr 1fr}}.page-home .h-contact__copy h2{color:#fff;margin-top:.65rem;font-size:clamp(1.75rem,3.5vw,2.4rem);line-height:1.15}.page-home .h-contact__copy p{color:#ffffffbf;margin-top:.85rem;line-height:1.7}.page-home .h-contact__cards{gap:.75rem;display:grid}.page-home .h-contact-card{border-radius:var(--radius-lg);color:#fff;background:#ffffff14;border:1px solid #ffffff14;align-items:flex-start;gap:.75rem;padding:1.1rem;transition:background .2s;display:flex}.page-home .h-contact-card:hover{background:#ffffff1f}.page-home .h-contact-card svg{opacity:.7;flex-shrink:0;margin-top:.15rem}.page-home .h-contact-card__label{color:#fff9;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;display:block}.page-home .h-contact-card strong{color:#fff;margin-top:.15rem;font-size:.95rem;font-weight:600;display:block}@media(max-width:768px){.page-home .h-hero{padding:calc(var(--navbar-height) + 2.5rem)0 3.5rem}.page-home .h-hero__cta{flex-direction:column}.page-home .h-hero__cta .btn{width:100%}.page-home .h-hero__stats{gap:1.5rem}.page-home .h-stat strong{font-size:1.4rem}.page-home .h-card__foot{text-align:center;flex-direction:column;align-items:stretch;gap:.65rem}.page-home .h-contact{padding:1.5rem}}@media(max-width:480px){.page-home .h-hero__title{font-size:clamp(2rem,10vw,2.6rem)}.page-home .h-hero__stats{flex-direction:column;align-items:center;gap:1rem}}.courses-hero{background:linear-gradient(155deg,var(--color-primary)0%,var(--color-secondary)40%,#4a1a5e 100%);text-align:center;padding:140px 2rem 80px;position:relative;overflow:hidden}.courses-hero:before{content:"";background:radial-gradient(circle,#6cf4d426,#0000 65%);border-radius:50%;width:500px;height:500px;animation:18s ease-in-out infinite heroFloat;position:absolute;top:-30%;right:-10%}.courses-hero:after{content:"";background:radial-gradient(circle,#ffffff0f,#0000 70%);border-radius:50%;width:350px;height:350px;animation:22s ease-in-out infinite reverse heroFloat;position:absolute;bottom:-20%;left:-5%}@keyframes heroFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(20px,-30px)scale(1.05)}66%{transform:translate(-15px,15px)scale(.98)}}.hero-inner{z-index:2;max-width:800px;margin:0 auto;position:relative}.hero-badge{color:var(--color-accent);background:#6cf4d426;border:1px solid #6cf4d44d;border-radius:50px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;animation:.8s ease-out fadeSlideUp;display:inline-flex}.hero-badge-dot{background:var(--color-accent);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.courses-hero h1{color:#fff;letter-spacing:-.02em;margin-bottom:1rem;font-size:clamp(2.5rem,5.5vw,4.5rem);font-weight:800;line-height:1.1;animation:.8s ease-out .1s both fadeSlideUp}.courses-hero h1 span{background:linear-gradient(135deg,var(--color-accent)0%,#a8fae4 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-description{color:#fffc;max-width:600px;margin:0 auto 2.5rem;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7;animation:.8s ease-out .2s both fadeSlideUp}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}.hero-search{max-width:560px;margin:0 auto;animation:.8s ease-out .3s both fadeSlideUp;position:relative}.hero-search input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#ffffff1a;border:2px solid #ffffff26;border-radius:16px;width:100%;padding:1rem 1.25rem 1rem 3.25rem;font-family:inherit;font-size:1rem;transition:all .3s}.hero-search input::placeholder{color:#ffffff80}.hero-search input:focus{border-color:var(--color-accent);background:#ffffff26;outline:none;box-shadow:0 0 0 4px #6cf4d426}.hero-search-icon{opacity:.6;font-size:1.15rem;position:absolute;top:50%;left:1.1rem;transform:translateY(-50%)}.stats-bar{justify-content:center;gap:3rem;margin-top:3rem;animation:.8s ease-out .4s both fadeSlideUp;display:flex}.stat-item{text-align:center}.stat-number{color:var(--color-accent);font-size:1.75rem;font-weight:800;line-height:1.2}.stat-label{color:#fff9;text-transform:uppercase;letter-spacing:.8px;font-size:.8rem;font-weight:500}.hero-wave{z-index:3;height:60px;position:absolute;bottom:-1px;left:0;right:0}.hero-wave svg{width:100%;height:100%;display:block}.controls-section{z-index:10;max-width:1400px;margin:-30px auto 0;padding:0 2rem;position:relative}.controls-card{background:#fff;border:1px solid #0000000a;border-radius:20px;padding:1.75rem 2rem;box-shadow:0 8px 40px #00000014,0 1px 3px #0000000a}.controls-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.results-info{align-items:center;gap:.75rem;display:flex}.results-count{color:var(--color-text-primary);font-size:1rem;font-weight:600}.results-count strong{color:var(--color-primary);font-weight:800}.view-toggles{background:#f1f5f9;border-radius:12px;gap:2px;padding:4px;display:flex}.view-toggle{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:10px;align-items:center;gap:.4rem;min-height:44px;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .25s;display:flex}.view-toggle:hover{color:var(--color-text-primary)}.view-toggle.active{color:var(--color-primary);background:#fff;font-weight:600;box-shadow:0 2px 8px #00000014}.filter-rows{flex-direction:column;gap:1rem;display:flex}.filter-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.filter-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.8px;flex-shrink:0;min-width:70px;font-size:.75rem;font-weight:700}.filter-chips{flex-wrap:wrap;gap:.5rem;display:flex}.filter-chip{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e2e8f0;border-radius:50px;align-items:center;min-height:44px;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .25s;display:inline-flex}.filter-chip:hover{border-color:var(--color-teal);color:var(--color-teal-dark,#0f766e);background:#f0fdfa;transform:translateY(-1px)}.filter-chip.active{background:linear-gradient(135deg,var(--color-teal)0%,var(--color-teal-light)100%);color:#fff;border-color:#0000;box-shadow:0 3px 12px #0d94884d}.filter-chip.active:hover{box-shadow:0 5px 16px #0d948859}.clear-filters{color:#94a3b8;cursor:pointer;background:0 0;border:1.5px dashed #cbd5e1;border-radius:50px;align-items:center;min-height:44px;padding:.5rem 1rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .25s;display:none}.clear-filters.visible{align-items:center;gap:.35rem;display:inline-flex}.clear-filters:hover{border-color:var(--color-error);color:var(--color-error);background:#ef44440d}.courses-container{max-width:1400px;margin:2rem auto 4rem;padding:0 2rem}.weekly-calendar{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.weekday-column{opacity:0;background:#fff;border:1px solid #0000000a;border-radius:20px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden;transform:translateY(20px);box-shadow:0 4px 24px #0000000f}.weekday-column.revealed{opacity:1;transform:translateY(0)}.weekday-column:hover{border-color:#6cf4d44d;box-shadow:0 8px 32px #6cf4d41f}.weekday-header{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-secondary)100%);color:#fff;justify-content:space-between;align-items:center;padding:1.25rem;display:flex;position:relative}.weekday-header:after{content:"";background:linear-gradient(90deg,var(--color-accent)0%,#6cf4d433 100%);height:3px;position:absolute;bottom:0;left:0;right:0}.weekday-info{flex-direction:column;display:flex}.weekday-name{font-size:1.1rem;font-weight:700;line-height:1.2}.weekday-date{opacity:.75;margin-top:.15rem;font-size:.75rem}.weekday-count{background:#ffffff26;border-radius:20px;padding:.3rem .7rem;font-size:.75rem;font-weight:600}.weekday-courses{flex-direction:column;flex:1;gap:.75rem;padding:.875rem;display:flex}.weekday-empty{text-align:center;color:#94a3b8;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:2.5rem 1rem;font-size:.85rem;display:flex}.weekday-empty-icon{opacity:.4;font-size:1.75rem}.course-card{cursor:pointer;background:#fff;border:1.5px solid #f1f5f9;border-radius:14px;flex-direction:column;padding:1rem;transition:all .3s;display:flex;position:relative}.course-card:before{content:"";background:linear-gradient(90deg,var(--color-accent)0%,var(--color-teal)50%,var(--color-primary)100%);opacity:0;border-radius:14px 14px 0 0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.course-card:hover{border-color:#6cf4d466;transform:translateY(-3px);box-shadow:0 6px 20px #00000014}.course-card:hover:before{opacity:1}.card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.625rem;display:flex}.card-badges{flex-wrap:wrap;gap:.35rem;display:flex}.badge{letter-spacing:.3px;border-radius:20px;align-items:center;padding:.25rem .6rem;font-size:.68rem;font-weight:600;line-height:1.3;display:inline-flex}.badge-niveau{color:var(--color-primary);background:linear-gradient(135deg,#eefafa,#d4f5ef)}.badge-category{color:var(--color-secondary);background:linear-gradient(135deg,#6914440f,#8b1d5e1a)}.card-availability{flex-shrink:0;align-items:center;gap:.3rem;display:flex}.avail-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.avail-dot.green{background:var(--color-success);box-shadow:0 0 0 2px #10b98133}.avail-dot.orange{background:var(--color-warning);box-shadow:0 0 0 2px #f59e0b33}.avail-dot.red{background:var(--color-error);box-shadow:0 0 0 2px #ef444433}.avail-text{color:#64748b;font-size:.68rem;font-weight:500}.card-title{color:var(--color-text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.5rem;font-size:1rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.card-meta{flex-direction:column;flex:1;gap:.35rem;margin-bottom:.75rem;display:flex}.meta-row{color:#64748b;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.meta-icon{text-align:center;flex-shrink:0;width:16px;font-size:.85rem}.meta-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-trainer{border-top:1px solid #f1f5f9;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem 0;display:flex}.trainer-avatar{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-secondary)100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;font-weight:700;display:flex}.trainer-name{color:var(--color-text-primary);font-size:.8rem;font-weight:600}.card-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:.625rem;display:flex}.card-price{color:var(--color-teal);font-size:1.25rem;font-weight:800}.card-price small{color:#94a3b8;font-size:.7rem;font-weight:500}.card-actions{gap:.4rem;display:flex}.btn-card{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.3rem;min-height:44px;padding:.45rem .9rem;font-family:inherit;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn-card-outline{color:var(--color-primary);background:#fff;border:1.5px solid #e2e8f0}.btn-card-outline:hover{border-color:var(--color-primary);background:#6914440a}.btn-card-primary{background:linear-gradient(135deg,var(--color-teal)0%,var(--color-teal-light)100%);color:#fff;box-shadow:0 3px 10px #0d948840}.btn-card-primary:hover{transform:translateY(-1px);box-shadow:0 5px 16px #0d948859}.btn-card-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.grid-view{display:none}.grid-view.active{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;display:grid}.grid-view .course-card{border-radius:18px;padding:1.25rem}.grid-view .course-card .card-description{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.75rem;font-size:.82rem;line-height:1.55;display:-webkit-box;overflow:hidden}.avail-bar-wrap{margin-top:.5rem;margin-bottom:.25rem}.avail-bar{background:#f1f5f9;border-radius:6px;height:6px;overflow:hidden}.avail-bar-fill{border-radius:6px;height:100%;transition:width .6s}.avail-bar-fill.green{background:linear-gradient(90deg,var(--color-accent),var(--color-teal-light))}.avail-bar-fill.orange{background:linear-gradient(90deg,#f59e0b,#d97706)}.avail-bar-fill.red{background:linear-gradient(90deg,#ef4444,#dc2626)}.avail-bar-label{color:#94a3b8;margin-top:.3rem;font-size:.72rem}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;background:#0f172a99;padding:2rem;display:none;position:fixed;inset:0;overflow-y:auto}.modal-overlay.active{justify-content:center;align-items:center;display:flex}.modal-panel{background:#fff;border-radius:24px;flex-direction:column;width:100%;max-width:740px;max-height:90vh;animation:.35s cubic-bezier(.16,1,.3,1) modalEnter;display:flex;position:relative;overflow:hidden}@keyframes modalEnter{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-hero{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-secondary)50%,#4a1a5e 100%);padding:2rem 2rem 1.5rem;position:relative;overflow:hidden}.modal-hero:before{content:"";background:radial-gradient(circle,#6cf4d426,#0000 70%);border-radius:50%;width:200px;height:200px;position:absolute;top:-50%;right:-20%}.modal-close-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;z-index:5;background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.3rem;transition:all .25s;display:flex;position:absolute;top:1rem;right:1rem}.modal-close-btn:hover{background:#fff3;transform:rotate(90deg)scale(1.1)}.modal-hero-badges{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.modal-badge{color:var(--color-accent);background:#6cf4d426;border:1px solid #6cf4d433;border-radius:20px;padding:.35rem .8rem;font-size:.75rem;font-weight:600}.modal-hero h2{color:#fff;margin-bottom:.25rem;padding-right:3rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.25}.modal-hero-category{color:#fff9;text-transform:uppercase;letter-spacing:1px;font-size:.8rem;font-weight:500}.modal-body{flex:1;padding:1.75rem 2rem;overflow-y:auto}.modal-description{color:#475569;margin-bottom:1.5rem;font-size:.95rem;line-height:1.75}.modal-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.modal-detail{background:#f8fafc;border:1px solid #f1f5f9;border-radius:14px;padding:1rem}.modal-detail-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:.35rem;margin-bottom:.4rem;font-size:.68rem;font-weight:700;display:flex}.modal-detail-value{color:var(--color-text-primary);font-size:.95rem;font-weight:600;line-height:1.4}.modal-trainer-section{background:linear-gradient(135deg,#69144408,#6cf4d40d);border:1px solid #f1f5f9;border-radius:14px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.modal-trainer-avatar{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-secondary)100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1rem;font-weight:700;display:flex;box-shadow:0 4px 12px #69144433}.modal-trainer-info h4{color:var(--color-text-primary);font-size:1rem;font-weight:700}.modal-trainer-info p{color:#64748b;font-size:.82rem}.modal-avail{background:#f8fafc;border:1px solid #f1f5f9;border-radius:14px;padding:1rem 1.25rem}.modal-avail-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.modal-avail-header span:first-child{color:var(--color-text-primary);font-size:.82rem;font-weight:600}.modal-avail-status{align-items:center;gap:.3rem;font-size:.78rem;font-weight:500;display:flex}.modal-avail-bar{background:#e8e8e8;border-radius:10px;height:10px;overflow:hidden}.modal-avail-fill{border-radius:10px;height:100%;transition:width .6s}.modal-avail-fill.green{background:linear-gradient(90deg,var(--color-accent),var(--color-teal-light))}.modal-avail-fill.orange{background:linear-gradient(90deg,#f59e0b,#d97706)}.modal-avail-fill.red{background:linear-gradient(90deg,#ef4444,#dc2626)}.modal-avail-count{color:#64748b;margin-top:.5rem;font-size:.78rem}.modal-footer{background:#f8fafc;border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 2rem;display:flex}.modal-price{align-items:baseline;gap:.25rem;display:flex}.modal-price-amount{color:var(--color-primary);font-size:clamp(1.5rem,3vw,2rem);font-weight:800}.modal-price-label{color:#94a3b8;font-size:.82rem;font-weight:500}.modal-cta{align-items:center;gap:.75rem;display:flex}.btn-modal{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.4rem;min-height:44px;padding:.75rem 1.75rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn-modal-outline{color:var(--color-primary);background:#fff;border:2px solid #e2e8f0}.btn-modal-outline:hover{border-color:var(--color-primary);background:#6914440a}.btn-modal-primary{background:linear-gradient(135deg,var(--color-teal)0%,var(--color-teal-light)100%);color:#fff;box-shadow:0 4px 14px #0d94884d}.btn-modal-primary:hover{transform:translateY(-2px);box-shadow:0 6px 22px #0d948866}.btn-modal-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.no-results-visual{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 1.5rem;font-size:3rem;display:flex}.no-results h3{color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.no-results p{color:#64748b;max-width:400px;margin:0 auto;font-size:.95rem}.cta-section{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-secondary)50%,#4a1a5e 100%);text-align:center;padding:5rem 2rem;position:relative;overflow:hidden}.cta-section:before{content:"";background:radial-gradient(circle,#6cf4d41a,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-50%;left:-20%}.cta-inner{z-index:2;max-width:600px;margin:0 auto;position:relative}.cta-section h2{color:#fff;margin-bottom:1rem;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;line-height:1.2}.cta-section p{color:#ffffffbf;margin-bottom:2rem;font-size:1.05rem;line-height:1.7}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn-cta{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.875rem 2rem;font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-cta-accent{background:var(--color-accent);color:var(--color-primary);box-shadow:0 4px 14px #6cf4d44d}.btn-cta-accent:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6cf4d466}.btn-cta-ghost{color:#fff;background:0 0;border:2px solid #ffffff40}.btn-cta-ghost:hover{background:#ffffff0f;border-color:#ffffff80}@media(max-width:768px){body.modal-open{width:100%;height:100%;position:fixed;overflow:hidden}.courses-hero{padding:110px 1.25rem 70px}.courses-hero h1{font-size:2.25rem}.hero-description{margin-bottom:2rem;font-size:.95rem}.stats-bar{gap:1.5rem}.stat-number{font-size:1.5rem}.controls-section{margin-top:-25px;padding:0 1rem}.controls-card{border-radius:16px;padding:1.25rem 1rem}.controls-top{flex-direction:column;align-items:stretch;gap:.75rem}.results-info,.view-toggles{justify-content:center}.filter-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:.25rem;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-chips{flex-wrap:nowrap}.filter-chip{flex-shrink:0}.filter-label{min-width:56px;font-size:.68rem}.courses-container{margin-top:1.5rem;padding:0 1rem}.weekly-calendar,.grid-view.active{grid-template-columns:1fr;gap:1rem}.modal-overlay{align-items:flex-end;padding:0}.modal-panel{border-radius:24px 24px 0 0;max-height:95vh}.modal-hero{padding:1.5rem 1.25rem 1.25rem}.modal-hero h2{font-size:1.4rem}.modal-body{padding:1.25rem}.modal-grid{grid-template-columns:1fr 1fr}.modal-footer{flex-direction:column;align-items:stretch;padding:1rem 1.25rem}.modal-price{justify-content:center}.modal-cta{flex-direction:column;width:100%}.modal-cta .btn-modal{justify-content:center;width:100%}.cta-section{padding:3.5rem 1.25rem}.back-to-top{width:44px;height:44px;bottom:1rem;right:1rem}}@media(max-width:480px){.courses-hero{padding:100px 1rem 60px}.courses-hero h1{font-size:1.85rem}.hero-badge{padding:.4rem 1rem;font-size:.78rem}.hero-search input{padding:.875rem 1rem .875rem 2.75rem;font-size:.9rem}.stats-bar{gap:1.25rem}.stat-number{font-size:1.3rem}.stat-label{font-size:.7rem}.controls-card{padding:1rem .875rem}.filter-chip{padding:.45rem .85rem;font-size:.8rem}.card-title{font-size:.95rem}.card-footer{flex-direction:column;align-items:stretch;gap:.5rem}.card-actions{justify-content:stretch}.card-actions .btn-card{flex:1;justify-content:center}.modal-grid{grid-template-columns:1fr}.cta-buttons{flex-direction:column;align-items:center}.btn-cta{justify-content:center;width:100%;max-width:300px}}@media(max-width:360px){.courses-hero h1{font-size:1.6rem}.stat-number{font-size:1.15rem}}.page-courses .courses-hero{padding:calc(var(--navbar-height) + 2.5rem)1.5rem 5.5rem;background:linear-gradient(160deg,var(--color-primary)0%,var(--color-primary-medium)45%,var(--color-teal)100%)}.page-courses .courses-hero h1{font-family:var(--font-display);font-size:clamp(2.25rem,5.5vw,3.75rem);line-height:1.1}.page-courses .courses-hero h1 span{color:var(--color-accent)}.page-courses .hero-badge{color:#fff;background:#ffffff1a;border-color:#ffffff26}.page-courses .hero-badge-dot{background:var(--color-accent)}.page-courses .hero-description{color:#ffffffd1}.page-courses .stat-number{color:var(--color-accent)}.page-courses .hero-search input{border-radius:var(--radius-full);background:#ffffff14;border-color:#ffffff26}.page-courses .controls-section{margin-top:-2rem}.page-courses .controls-card{border-radius:var(--radius-xl);border:1px solid var(--color-border-light);box-shadow:var(--shadow-md);background:#fff}.page-courses .filter-chip{border-radius:var(--radius-full)}.page-courses .filter-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.page-courses .view-toggle.active{background:var(--color-primary);color:#fff}.page-courses .course-card,.page-courses .weekday-column{border-radius:var(--radius-xl);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm)}.page-courses .weekday-header{background:var(--color-primary)}.page-courses .btn-card-primary{background:linear-gradient(135deg,var(--color-teal),var(--color-teal-light));color:#fff;border-radius:var(--radius-full)}.page-courses .btn-card{border-radius:var(--radius-full)}.page-courses .cta-section{background:var(--color-primary)}.page-courses .cta-inner{border-radius:var(--radius-2xl)}.page-courses .cta-inner h2{font-family:var(--font-display)}.page-courses .modal-panel{border-radius:var(--radius-2xl)}@media(max-width:768px){.page-courses .courses-hero{padding:calc(var(--navbar-height) + 1.5rem)1rem 4rem}.page-courses .controls-section{margin-top:-1rem}}.main-content{min-height:100vh;padding-top:100px}.page-header{background:linear-gradient(160deg,var(--color-primary)0%,var(--color-secondary)60%,var(--color-teal-dark,#0f766e)100%);color:#fff;text-align:center;padding:100px 2rem 70px;position:relative;overflow:hidden}.page-header:before{content:"";pointer-events:none;background:radial-gradient(circle,#6cf4d42e,#0000 60%);border-radius:50%;width:500px;height:500px;animation:20s ease-in-out infinite float-slow;position:absolute;top:-30%;right:-8%}.page-header:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff0f,#0000 65%);border-radius:50%;width:350px;height:350px;animation:25s ease-in-out infinite reverse float-slow;position:absolute;bottom:-25%;left:-5%}@keyframes float-slow{0%,to{transform:translateY(0)translate(0)}50%{transform:translateY(-20px)translate(10px)}}.page-header .page-title-label{text-transform:uppercase;letter-spacing:3px;color:var(--color-accent,#6cf4d4);margin-bottom:1rem;font-size:.75rem;font-weight:700;display:inline-block;position:relative}.page-title{letter-spacing:-.03em;margin-bottom:1.25rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1;position:relative}.page-subtitle{opacity:.85;max-width:560px;margin:0 auto;font-size:1.15rem;line-height:1.7;position:relative}.page-stats{justify-content:center;gap:3rem;margin-top:2.5rem;display:flex;position:relative}.page-stat{text-align:center}.page-stat-value{color:var(--color-accent,#6cf4d4);font-size:2rem;font-weight:800;line-height:1;display:block}.page-stat-label{opacity:.7;margin-top:.35rem;font-size:.8rem;display:block}.search-layout{grid-template-columns:260px 1fr;align-items:start;gap:1.5rem;max-width:1400px;margin:0 auto;padding:1.5rem 2rem 2rem;display:grid}.sidebar-filters{background:#fff;border:1px solid #e8ecf1;border-radius:12px;position:sticky;top:90px;overflow:hidden}.sf-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.sf-title{color:#1e293b;align-items:center;gap:.5rem;margin:0;font-size:.95rem;font-weight:700;display:flex}.sf-title svg{color:#64748b}.sf-reset{color:var(--color-teal);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;min-height:44px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;transition:background .15s;display:inline-flex}.sf-reset:hover{background:#0d948814}.sf-section{border-bottom:1px solid #f1f5f9;padding:1rem 1.25rem}.sf-section:last-child{border-bottom:none}.sf-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.8px;margin:0 0 .75rem;font-size:.7rem;font-weight:700}.sf-options{flex-direction:column;gap:.125rem;display:flex}.sf-option{color:#475569;cursor:pointer;border-radius:6px;align-items:center;gap:.625rem;margin:0;padding:.45rem .5rem;font-size:.85rem;transition:background .15s;display:flex}.sf-option:hover{background:#f8fafc}.sf-option input[type=radio]{width:16px;height:16px;accent-color:var(--color-teal);cursor:pointer;margin:0}.sf-count{color:#94a3b8;margin-left:auto;font-size:.7rem;font-weight:500}.sf-date-range{flex-direction:column;gap:.5rem;display:flex}.sf-date-field{flex-direction:column;gap:.25rem;display:flex}.sf-date-label{color:#94a3b8;font-size:.7rem;font-weight:600}.sf-date-input{color:#334155;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:.5rem .625rem;font-family:inherit;font-size:.825rem;transition:border-color .2s}.sf-date-input:focus{border-color:var(--color-teal)}.sf-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5}.sf-date-clear{color:var(--color-teal);cursor:pointer;text-align:left;background:0 0;border:none;padding:.25rem 0;font-family:inherit;font-size:.75rem;font-weight:600}.sf-date-clear:hover{text-decoration:underline}.sf-region-group{border-top:1px solid #f1f5f9;margin-top:.625rem;padding-top:.5rem}.sf-region-country{color:#334155;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.8rem;font-weight:700;display:flex}.sf-region-flag{font-size:1rem}.sf-options--nested{padding-left:.5rem}.search-results{min-width:0}.sr-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.sr-info{align-items:center;gap:.75rem;display:flex}.sr-count{color:#64748b;font-size:.85rem}.sr-count strong{color:#1e293b}.sr-filter-toggle{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.4rem;min-height:44px;padding:.5rem .875rem;font-family:inherit;font-size:.825rem;font-weight:600;transition:all .15s;display:none}.sr-filter-toggle:hover{background:#f8fafc;border-color:#cbd5e1}.sr-filter-toggle svg{flex-shrink:0}.camps-grid{grid-template-columns:1fr;gap:1rem;display:grid}.sf-overlay{z-index:999;background:#0006;display:none;position:fixed;inset:0}.sf-overlay.active{display:block}@media(max-width:900px){.search-layout{grid-template-columns:1fr;padding:1rem}.sidebar-filters{z-index:1000;-webkit-overflow-scrolling:touch;border-radius:0;width:300px;max-width:85vw;transition:transform .3s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar-filters.open{transform:translate(0);box-shadow:4px 0 24px #00000026}.sr-filter-toggle{display:flex}}@media(max-width:640px){.cc-visual{height:150px}.cc-body{padding:1rem}.cc-bottom{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem}.cc-cta{width:100%}.cc-link,.cc-book{text-align:center;flex:1;justify-content:center;align-items:center;min-height:44px;display:flex}.sr-toolbar{flex-wrap:wrap}}.cc{background:#fff;border:1px solid #e8ecf1;border-radius:14px;flex-direction:column;transition:all .25s,opacity .25s;display:flex;overflow:hidden}.cc:hover{border-color:#cbd5e1;box-shadow:0 8px 30px #00000012}.cc-visual{height:180px;position:relative;overflow:hidden}.cc-visual img{object-fit:cover;object-position:center 35%;width:100%;height:100%;transition:transform .4s}.cc:hover .cc-visual img{transform:scale(1.04)}.cc-visual-tags{gap:.35rem;display:flex;position:absolute;top:.75rem;left:.75rem}.cc-vtag{color:#334155;text-transform:uppercase;letter-spacing:.4px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border-radius:5px;padding:.2rem .55rem;font-size:.6rem;font-weight:700}.cc-vtag--red{color:#fff;background:#dc2626}.cc-visual-status{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:5px;padding:.2rem .6rem;font-size:.65rem;font-weight:700;position:absolute;bottom:.75rem;right:.75rem}.cc-visual-status--begrenzt{color:#92400e;background:#fef3c7f2}.cc-visual-status--voll{color:#991b1b;background:#fee2e2f2}.cc-body{flex:1;padding:1.125rem 1.25rem .875rem}.cc-body-tags{flex-wrap:wrap;gap:.3rem;margin-bottom:.625rem;display:flex}.cc-badge{text-transform:uppercase;letter-spacing:.3px;color:#64748b;background:#f1f5f9;border-radius:4px;padding:.175rem .5rem;font-size:.6rem;font-weight:600}.cc-badge--hot,.cc-badge--red{color:#dc2626;background:#fef2f2}.cc-badge--warn{color:#b45309;background:#fffbeb}.cc-name{color:#0f172a;margin-bottom:.5rem;font-size:1.05rem;font-weight:700;line-height:1.35}.cc:hover .cc-name{color:var(--color-teal,#0d9488)}.cc-meta{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.cc-meta-item{color:#64748b;align-items:center;gap:.35rem;font-size:.78rem;display:flex}.cc-meta-item svg{color:#94a3b8;flex-shrink:0}.cc-feature{color:#059669;background:#ecfdf5;border-radius:4px;margin-top:.5rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.cc-bottom{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;display:flex}.cc-price-area{align-items:baseline;gap:.2rem;display:flex}.cc-price-label{color:#94a3b8;font-size:.7rem}.cc-price-val{color:#0f172a;letter-spacing:-.02em;font-size:1.25rem;font-weight:800}.cc-price-per{color:#94a3b8;margin-left:.15rem;font-size:.65rem}.cc-cta{gap:.375rem;display:flex}.cc-link{color:#64748b;cursor:pointer;background:0 0;border:1.5px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:.45rem .875rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.cc-link:hover{color:#334155;border-color:#cbd5e1}.cc-book{color:#fff;background:var(--color-teal,#0d9488);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:.45rem 1rem;font-family:inherit;font-size:.78rem;font-weight:700;transition:all .15s;display:inline-flex}.cc-book:hover{background:var(--color-teal-dark,#0f766e)}.cc-book:disabled{opacity:.35;cursor:not-allowed}.modal{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-overflow-scrolling:touch;background:#000000bf;padding:1rem;display:none;position:fixed;inset:0;overflow-y:auto}.modal.active{justify-content:center;align-items:center;padding:1rem;display:flex}#modalContent.modal-inner,.modal-content>#modalContent{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.modal-content{background:#fff;border-radius:24px;flex-direction:column;width:100%;max-width:900px;min-height:300px;max-height:90vh;margin:auto;padding:0;animation:.4s cubic-bezier(.16,1,.3,1) modalSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 80px #00000040}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-close{border:2px solid var(--color-border);cursor:pointer;z-index:10;width:44px;height:44px;color:var(--color-text-primary);background:#fffffff2;border-radius:50%;justify-content:center;align-items:center;font-size:1.75rem;line-height:1;transition:all .3s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.modal-close:hover{border-color:var(--color-teal);color:var(--color-primary);background:#f0fdfa;transform:rotate(90deg)scale(1.1)}.modal-header{border-bottom:1px solid var(--color-border);background:linear-gradient(165deg,#0d94880f,#fff);flex-shrink:0;padding:2.5rem 3rem 2rem}.modal-header .camp-badges{margin-bottom:1rem}.modal-title{color:var(--color-text-primary);letter-spacing:-.5px;margin-bottom:.5rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;line-height:1.2}.modal-header .course-category{color:var(--color-teal);text-transform:uppercase;letter-spacing:1.5px;font-size:.9rem;font-weight:600}.modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;overscroll-behavior-x:none;flex:1;min-height:0;padding:2rem 3rem;overflow:hidden auto}.modal-description{color:#2a2a2a;margin-bottom:2rem;font-size:1.1rem;font-weight:400;line-height:1.9}.modal-highlight,.modal-inclusive{border-radius:16px;margin-bottom:1.5rem;padding:1.5rem 1.75rem;font-size:1.05rem;font-weight:500;line-height:1.8}.modal-highlight{border-left:5px solid var(--color-teal);color:var(--color-text-primary);background:linear-gradient(135deg,#0d94881f,#0d94880d);box-shadow:0 3px 12px #6cf4d426}.modal-highlight strong{color:var(--color-primary);font-weight:700}.modal-inclusive{border-left:6px solid var(--color-primary);color:var(--color-text-primary);background:linear-gradient(135deg,#69144414,#fff);box-shadow:0 3px 12px #6914441f}.modal-inclusive strong{color:var(--color-primary);font-weight:700}.modal-exclusive{border-left:6px solid var(--color-accent);color:var(--color-text-primary);background:linear-gradient(135deg,#6cf4d41f,#69144414);border-radius:16px;margin-bottom:2rem;padding:1.5rem 1.75rem;line-height:1.8;box-shadow:0 3px 12px #6cf4d426}.modal-exclusive strong{color:var(--color-primary);margin-bottom:1rem;font-size:1.1rem;font-weight:700;display:block}.modal-exclusive ul{margin:0;padding:0;list-style:none}.modal-exclusive ul li{border-bottom:1px solid #6cf4d433;padding:.625rem 0;font-size:1.05rem;font-weight:500}.modal-exclusive ul li:last-child{border-bottom:none}.modal-details{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.detail-item{border:1px solid var(--color-border);background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:16px;padding:1.25rem 1.5rem;transition:all .3s;position:relative;overflow:hidden}.detail-item:before{content:"";background:linear-gradient(135deg,var(--color-accent)0%,var(--color-primary)100%);width:4px;height:100%;transition:transform .3s;position:absolute;top:0;left:0;transform:scaleY(0)}.detail-item:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.detail-item:hover:before{transform:scaleY(1)}.detail-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1.2px;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.85rem;font-weight:700;display:flex}.detail-value{color:var(--color-text-primary);font-size:1.25rem;font-weight:700;line-height:1.4}.modal-availability{border:1px solid var(--color-border);background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:16px;margin-bottom:2rem;padding:1.5rem}.modal-availability-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:.75rem;font-size:.85rem;font-weight:700}.modal-availability-status{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.modal-availability-status .status-indicator{width:14px;height:14px}.availability-bar{background:var(--color-border);border-radius:10px;height:10px;margin-top:.75rem;overflow:hidden;box-shadow:inset 0 2px 4px #0000000d}.availability-fill{background:linear-gradient(90deg,#6cf4d4,#5ae0c4);border-radius:10px;height:100%;transition:width .5s;box-shadow:0 2px 4px #6cf4d44d}.availability-fill.warning{background:linear-gradient(90deg,#f59e0b,#d97706);box-shadow:0 2px 4px #f59e0b4d}.availability-fill.danger{background:linear-gradient(90deg,#ef4444,#dc2626);box-shadow:0 2px 4px #ef44444d}.modal-footer{border-top:1px solid var(--color-border);background:#f8f9fa;flex-shrink:0;justify-content:space-between;align-items:center;gap:1.5rem;padding:2rem 3rem;display:flex}.modal-price{color:var(--color-primary);word-break:break-word;align-items:baseline;gap:.25rem;padding:0 .75rem;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;display:flex}.modal-price-currency{font-size:1.25rem;font-weight:600}.modal-actions{align-items:center;gap:1rem;display:flex}@media(max-width:768px){.back-to-top{width:44px;height:44px;bottom:1rem;right:1rem}}.no-results{text-align:center;padding:4rem 2rem}.no-results-icon{margin-bottom:1rem}.no-results-title{color:#334155;margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.no-results-text{color:#94a3b8;margin-bottom:1.5rem;font-size:.9rem}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(30px)}.reveal.active{opacity:1;transform:translateY(0)}@media(max-width:768px){.main-content{padding-top:70px}.page-header{padding:50px 1rem 40px}.page-title{margin-bottom:.75rem;font-size:2rem}.page-subtitle{font-size:1rem}.camps-listing{padding:1rem}.camps-grid{grid-template-columns:1fr;gap:1rem}.modal{align-items:flex-end;padding:0;overflow:hidden}.modal.active{padding:0}body.modal-open{width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.modal-content{border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:100%;height:min(94vh,94dvh);max-height:min(94vh,94dvh);margin:0;display:flex;overflow:hidden}.modal-content .modal-inner{min-height:0}.modal-header{border-bottom:1px solid #eee;flex-shrink:0;padding:1rem 1rem .875rem;position:relative}.modal-header:before{content:"";background:#d0d0d0;border-radius:2px;width:40px;height:4px;position:absolute;top:.5rem;left:50%;transform:translate(-50%)}.modal-body{padding:.875rem 1rem 1rem;padding-bottom:max(1rem,calc(.5rem + env(safe-area-inset-bottom)));-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;min-height:0;overflow-y:auto}.modal-footer{padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));background:linear-gradient(#f8f9fa80,#fff);border-top:1px solid #eee;flex-direction:column;flex-shrink:0;align-items:stretch;gap:.5rem}.modal-close{top:max(.625rem,env(safe-area-inset-top));right:max(.625rem,env(safe-area-inset-right));border:2px solid var(--color-primary);z-index:2001;width:44px;height:44px;color:var(--color-primary);background:#fff;border-radius:50%;font-size:1.5rem;font-weight:700;position:fixed;box-shadow:0 4px 14px #69144459}.modal-close:active{transform:scale(.95)}.modal-title{margin-top:.25rem;margin-bottom:.375rem;padding-right:2.75rem;font-size:1.35rem;line-height:1.2}.course-category{margin-top:.5rem;padding:.35rem .75rem;font-size:.75rem}.camp-badges{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.badge{padding:.25rem .6rem;font-size:.65rem}.modal-description{color:#2a2a2a;margin-bottom:.875rem;font-size:.9rem;line-height:1.55}.modal-highlight,.modal-inclusive{border-left-width:4px;border-radius:0 8px 8px 0;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.5}.modal-highlight strong,.modal-inclusive strong{margin-bottom:.25rem;font-size:.9rem;display:block}.modal-exclusive{border-left-width:4px;border-radius:0 8px 8px 0;margin-bottom:.875rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.5}.modal-exclusive strong{margin-bottom:.5rem;font-size:.9rem}.modal-exclusive ul li{padding:.25rem 0;font-size:.875rem}.modal-details{grid-template-columns:1fr;gap:.5rem;margin-bottom:.875rem}.detail-item{border:1px solid var(--color-border);background:linear-gradient(135deg,#6cf4d408,#fff);border-radius:10px;padding:.625rem .875rem}.detail-label{letter-spacing:.8px;color:var(--color-text-muted);margin-bottom:.25rem;font-size:.7rem}.detail-value{color:var(--color-text-primary);word-break:break-word;font-size:.95rem;font-weight:700}.detail-item .icon{margin-bottom:.25rem;font-size:1.2rem}.modal-availability{border-radius:10px;margin-bottom:.875rem;padding:.75rem 1rem;font-size:.875rem}.modal-availability-label{letter-spacing:.8px;margin-bottom:.5rem;font-size:.7rem}.availability-bar{height:8px;margin-bottom:.5rem}.availability-text{font-size:.9rem;font-weight:700}.modal-price{border-radius:10px;align-self:flex-start;margin-bottom:.5rem;padding:.5rem 1rem;font-size:1.5rem}.modal-actions{flex-direction:column;gap:.5rem;width:100%}.modal-actions .btn{border-radius:10px;justify-content:center;align-items:center;gap:.35rem;width:100%;min-height:44px;padding:.625rem 1rem;font-size:.9rem;font-weight:700;display:flex}.modal-actions .btn-primary{background:linear-gradient(135deg,var(--color-accent)0%,var(--color-primary)100%);box-shadow:0 4px 14px #69144440}.modal-actions .btn-outline{border-width:2px}}@media(max-width:480px){.page-header{padding:45px 1rem 35px}.page-title{font-size:1.65rem;line-height:1.2}.page-subtitle{font-size:.9rem;line-height:1.5}.camps-listing{padding:.75rem}.camps-grid{gap:.875rem}.cc-body{padding:.875rem}.cc-name{font-size:.95rem}.cc-meta-item{font-size:.72rem}.cc-price-val{font-size:1.1rem}.modal-content{border-radius:16px 16px 0 0;height:min(96vh,96dvh);max-height:min(96vh,96dvh)}.modal-close{top:max(.5rem,env(safe-area-inset-top));right:max(.5rem,env(safe-area-inset-right));border-width:2px;width:40px;height:40px;font-size:1.35rem}.modal-header{padding:.75rem .875rem .625rem}.modal-body{padding:.625rem .875rem .75rem}.modal-footer{padding:.5rem .875rem}.modal-title{padding-right:2.25rem;font-size:1.2rem;line-height:1.2}.course-category{padding:.3rem .6rem;font-size:.7rem}.badge{padding:.2rem .5rem;font-size:.6rem}.modal-description{margin-bottom:.625rem;font-size:.85rem;line-height:1.5}.modal-highlight,.modal-inclusive{border-left-width:3px;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.8rem}.modal-highlight strong,.modal-inclusive strong{font-size:.85rem}.modal-exclusive{border-left-width:3px;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.8rem}.modal-exclusive strong{margin-bottom:.35rem;font-size:.85rem}.modal-exclusive ul li{padding:.2rem 0;font-size:.8rem}.modal-details{gap:.4rem;margin-bottom:.5rem}.detail-item{border-radius:8px;padding:.5rem .75rem}.detail-label{margin-bottom:.2rem;font-size:.65rem}.detail-value{font-size:.875rem}.modal-availability{margin-bottom:.5rem;padding:.5rem .75rem}.modal-availability-label{font-size:.65rem}.availability-bar{height:6px}.availability-text{font-size:.85rem}.modal-price{margin-bottom:.35rem;padding:.4rem .75rem;font-size:1.35rem}.modal-actions .btn{border-radius:8px;min-height:42px;padding:.5rem .875rem;font-size:.85rem}}@media(max-width:360px){.page-title{font-size:1.5rem}.cc{border-radius:10px}.cc-link,.cc-book{font-size:.72rem}.modal-content{border-radius:14px 14px 0 0}.modal-close{width:38px;height:38px;font-size:1.25rem}.modal-header{padding:.5rem .75rem}.modal-header:before{width:32px;height:3px;top:.35rem}.modal-body{padding:.5rem .75rem}.modal-footer{padding:.4rem .75rem}.modal-title{padding-right:2rem;font-size:1.1rem}.modal-description{margin-bottom:.5rem;font-size:.8rem}.modal-highlight,.modal-inclusive,.modal-exclusive{margin-bottom:.4rem;padding:.4rem .6rem;font-size:.75rem}.modal-exclusive strong{margin-bottom:.25rem;font-size:.8rem}.modal-exclusive ul li{padding:.15rem 0;font-size:.75rem}.detail-item{padding:.4rem .6rem}.detail-label{font-size:.6rem}.detail-value{font-size:.8rem}.modal-availability{margin-bottom:.4rem;padding:.4rem .6rem}.modal-price{padding:.35rem .6rem;font-size:1.2rem}.modal-actions .btn{min-height:40px;padding:.4rem .75rem;font-size:.8rem}}.page-camps .page-header{background:linear-gradient(160deg,var(--color-primary)0%,var(--color-primary-medium)45%,var(--color-teal)100%)}.page-camps .page-title{font-family:var(--font-display);font-size:clamp(2.25rem,5.5vw,3.75rem);line-height:1.1}.page-camps .page-title-label,.page-camps .page-stat-value{color:var(--color-accent)}.page-camps .sidebar-filters{border-radius:var(--radius-xl);border:1px solid var(--color-border-light);background:#fff}.page-camps .sf-option input[type=radio]{accent-color:var(--color-teal)}.page-camps .cc{border-radius:var(--radius-xl);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);background:#fff}.page-camps .cc-name{font-family:var(--font-display)}.page-camps .cc-book,.page-camps .cc-btn--primary{background:linear-gradient(135deg,var(--color-teal),var(--color-teal-light));color:#fff;border-radius:var(--radius-full)}.page-camps .cc-book:hover,.page-camps .cc-btn--primary:hover{background:var(--color-teal-dark)}.page-camps .cc-link{border-radius:var(--radius-full)}.page-camps .modal-content{border-radius:var(--radius-2xl)}@media(max-width:768px){.page-camps .page-header{padding:80px 1rem 50px}}.page-booking *{box-sizing:border-box}body.page-booking{font-family:var(--font-primary),-apple-system,BlinkMacSystemFont,sans-serif;color:var(--color-text-primary);background:var(--color-bg-secondary);padding-top:var(--navbar-height);line-height:1.6}.booking-layout{max-width:1200px;margin:0 auto;padding:2rem}.booking-header{text-align:center;margin-bottom:2rem}.booking-header h1{color:#0f172a;margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.booking-header .camp-title,.booking-header .course-title{color:#64748b;font-size:1rem;font-weight:500}.booking-trust-bar{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.9rem;display:flex}.booking-trust-chip{color:#334155;background:#fff;border:1px solid #dbe3ee;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .72rem;font-size:.8rem;font-weight:600;display:inline-flex;box-shadow:0 2px 10px #0f172a0d}.booking-content{grid-template-columns:1fr 360px;align-items:start;gap:1.5rem;display:grid}.booking-form{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:2rem}.form-section{margin-bottom:2rem}.form-section-title{color:#94a3b8;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #f1f5f9;margin-bottom:1.25rem;padding-bottom:.75rem;font-size:.7rem;font-weight:700}.form-group{margin-bottom:1.5rem}.form-group label{color:#334155;margin-bottom:.375rem;font-size:.85rem;font-weight:600;display:block}.form-group input,.form-group textarea{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;width:100%;padding:.75rem .875rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-teal);outline:none;box-shadow:0 0 0 3px #0d948814}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.ticket-selector{background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;align-items:center;gap:1rem;margin-bottom:.625rem;padding:1rem 1.25rem;transition:border-color .2s;display:flex}.ticket-selector:hover{border-color:#e2e8f0}.participants-section{border-top:2px solid #e8e8e8;margin-top:2rem;padding-top:2rem}.participant-card{background:linear-gradient(135deg,#6cf4d40d,#fff);border:2px solid #e8e8e8;border-radius:16px;margin-bottom:1.5rem;padding:1.5rem;animation:.3s slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.participant-card-header{border-bottom:1px solid #6cf4d44d;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.participant-icon{background:linear-gradient(135deg,var(--color-accent)0%,#5ae0c4 100%);width:40px;height:40px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.participant-card-title{color:var(--color-text-primary);font-size:1.1rem;font-weight:700}.participant-type-badge{color:var(--color-primary);background:#6cf4d433;border-radius:12px;margin-left:auto;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.age-warning{color:#92400e;background:#fef3c7;border:2px solid #f59e0b;border-radius:12px;align-items:center;gap:.5rem;margin-top:.75rem;padding:.75rem 1rem;font-size:.9rem;animation:.5s shake;display:flex}.error-banner{background:var(--color-error-bg);border:2px solid var(--color-error);color:var(--color-error-text);border-radius:12px;margin:1rem 0 2rem;padding:1rem}.error-banner p,.error-banner ul{margin-top:.5rem}.error-banner ul{margin-left:1.5rem}.age-error{background:var(--color-error-bg);border:2px solid var(--color-error);color:var(--color-error-text);border-radius:12px;align-items:center;gap:.5rem;margin-top:.75rem;padding:.75rem 1rem;font-size:.9rem;animation:.5s shake;display:flex}.age-success{color:#14532d;background:#dcfce7;border:2px solid #22c55e;border-radius:12px;align-items:center;gap:.5rem;margin-top:.75rem;padding:.75rem 1rem;font-size:.9rem;display:flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.age-icon{font-size:1.2rem}.input-error{border-color:var(--color-error)!important;background:var(--color-error-bg)!important}.input-success{background:#f0fdf4!important;border-color:#22c55e!important}.ticket-info{flex:1}.ticket-info h4{color:var(--color-text-primary);margin-bottom:.25rem;font-size:1rem;font-weight:600}.ticket-info p{color:#666;font-size:.85rem}.ticket-counter{align-items:center;gap:.75rem;display:flex}.counter-btn{cursor:pointer;width:44px;height:44px;color:var(--color-primary);background:#fff;border:2px solid #e8e8e8;border-radius:8px;justify-content:center;align-items:center;font-size:1.25rem;font-weight:600;transition:all .3s;display:flex}.counter-btn:hover{border-color:var(--color-accent);background:#f0fdfa}.counter-btn:disabled{opacity:.5;cursor:not-allowed}.counter-value{color:var(--color-text-primary);text-align:center;min-width:30px;font-size:1.25rem;font-weight:700}.payment-methods{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;display:grid}.payment-method{position:relative}.payment-method input[type=radio]{opacity:0;position:absolute}.payment-method label{cursor:pointer;text-align:center;border:2px solid #e8e8e8;border-radius:12px;justify-content:center;align-items:center;min-height:52px;padding:1.25rem;font-weight:600;transition:all .3s;display:flex}.payment-method input[type=radio]:checked+label{border-color:var(--color-accent);color:var(--color-primary);background:#f0fdfa}.booking-summary{background:#fff;border:1px solid #e2e8f0;border-radius:12px;height:fit-content;padding:1.5rem;position:sticky;top:100px}.summary-title{color:#94a3b8;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #f1f5f9;margin-bottom:1.25rem;padding-bottom:.75rem;font-size:.7rem;font-weight:700}.camp-summary,.course-summary{background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;margin-bottom:1.25rem;padding:1rem}.camp-summary h3,.course-summary h3{color:#0f172a;margin-bottom:.5rem;font-size:1rem;font-weight:700}.camp-summary p,.course-summary p{color:#64748b;margin-bottom:.3rem;font-size:.8rem}.summary-line{color:#475569;border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:.5rem 0;font-size:.85rem;display:flex}.summary-line:last-child{border-bottom:none}.summary-line strong{color:#1e293b;font-weight:600}.summary-total{border-top:1.5px solid #e2e8f0;margin-top:1rem;padding-top:1rem}.summary-total .summary-line{color:#0f172a;font-size:1.1rem;font-weight:700}.summary-proof{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-top:1rem;padding:.85rem .95rem}.summary-proof-title{color:#64748b;text-transform:uppercase;letter-spacing:.7px;margin-bottom:.55rem;font-size:.76rem;font-weight:700}.summary-proof-item{color:#334155;margin-bottom:.4rem;font-size:.82rem}.summary-proof-item:last-child{margin-bottom:0}.btn-submit{background:var(--color-teal);color:#fff;width:100%;font-size:1rem;font-weight:700;font-family:var(--font-primary),sans-serif;cursor:pointer;border:none;border-radius:10px;min-height:48px;margin-top:2rem;padding:.875rem 2rem;transition:all .3s;box-shadow:0 4px 14px #0d948859}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0d948866}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{color:var(--color-error);margin-top:.5rem;font-size:.875rem}.back-to-top{background:linear-gradient(135deg,var(--color-teal)0%,var(--color-teal-light)100%);color:#fff;cursor:pointer;opacity:0;visibility:hidden;z-index:999;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;transition:opacity .3s,visibility .3s,transform .3s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 14px #0d948866}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{transform:translateY(-4px);box-shadow:0 6px 20px #0d948880}.rabatt-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:1rem 0;padding:.875rem 1rem}.rabatt-input-row{align-items:center;gap:.5rem;display:flex}.rabatt-input{border:1.5px solid #e2e8f0;border-radius:8px;outline:none;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:.85rem;transition:border-color .2s}.rabatt-input:focus{border-color:var(--color-teal)}.rabatt-apply-btn{background:var(--color-teal);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;min-height:44px;padding:.5rem 1rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .2s}.rabatt-apply-btn:hover{background:var(--color-teal-dark,#0f766e)}.rabatt-apply-btn:disabled{opacity:.5;cursor:wait}.rabatt-applied{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.rabatt-applied-info{color:#059669;align-items:center;gap:.4rem;font-size:.825rem;font-weight:600;display:flex}.rabatt-applied-info svg{color:#059669;flex-shrink:0}.rabatt-remove-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.75rem;text-decoration:underline;transition:color .2s}.rabatt-remove-btn:hover{color:#ef4444}.rabatt-message{margin-top:.5rem;font-size:.8rem}.rabatt-message--error{color:#dc2626}.rabatt-message--success{color:#059669}.payment-note{color:#666;margin-top:1rem;font-size:.875rem}.deposit-price{color:var(--color-teal)}@media(max-width:968px){.booking-content{grid-template-columns:1fr}.booking-summary{position:static}.form-row{grid-template-columns:1fr}}@media(max-width:640px){.booking-layout{padding:1rem}.booking-header h1{font-size:1.75rem}.booking-trust-bar{gap:.4rem}.booking-trust-chip{min-height:40px;font-size:.75rem}.booking-form{padding:1.5rem}.payment-methods{grid-template-columns:1fr}.counter-btn{width:48px;height:48px;font-size:1.5rem}.btn-submit{min-height:48px;padding:1rem 2rem}.form-group input,.form-group textarea,.form-group select{min-height:44px;padding:.875rem 1rem}}@media(max-width:480px){.booking-layout{padding:.75rem}.booking-form,.booking-summary{padding:1.25rem}.counter-btn{width:44px;height:44px;font-size:1.25rem}}@media(max-width:360px){.booking-header h1{font-size:1.5rem}.booking-form{padding:1rem}.counter-btn{width:44px;height:44px}}body.page-legal{padding-top:var(--navbar-height);background:var(--color-bg-secondary)}.page-legal .legal-wrap{max-width:1400px;margin:0 auto;padding:2rem 1rem 4rem}.page-legal .legal-shell{align-items:start;gap:1.25rem;display:grid}@media(min-width:1024px){.page-legal .legal-shell{grid-template-columns:minmax(16rem,22rem) minmax(0,1fr)}}.page-legal .legal-rail{top:calc(var(--navbar-height) + 1rem);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);background:#fff;padding:1.5rem;position:sticky}.page-legal .legal-back{color:var(--color-text-muted);align-items:center;gap:.35rem;margin-bottom:1rem;font-size:.85rem;font-weight:600;display:inline-flex}.page-legal .legal-back:hover{color:var(--color-teal)}.page-legal .legal-rail-copy{margin-top:.75rem}.page-legal .legal-rail-copy h2{font-family:var(--font-display);color:var(--color-primary);font-size:1.5rem;font-weight:800;line-height:1.15}.page-legal .legal-rail-copy p{color:var(--color-text-body);margin-top:.75rem;font-size:.9rem;line-height:1.7}.page-legal .legal-rail-links{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.page-legal .legal-rail-links a{border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-primary);padding:.5rem .85rem;font-size:.82rem;font-weight:700}.page-legal .legal-card{border-radius:var(--radius-xl);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);background:#fff;padding:clamp(1.5rem,3vw,2.5rem)}.page-legal .legal-card h1{font-family:var(--font-display);color:var(--color-primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:800}.page-legal .legal-card .legal-subtitle{color:var(--color-text-muted);border-bottom:1px solid var(--color-border-light);margin-bottom:2rem;padding-bottom:1.25rem;font-size:.82rem}.page-legal .legal-card h2{color:var(--color-primary);margin-top:1.75rem;margin-bottom:.65rem;font-size:1.1rem;font-weight:700}.page-legal .legal-card h3{color:var(--color-text-secondary);margin-top:1.25rem;margin-bottom:.5rem;font-size:.95rem;font-weight:700}.page-legal .legal-card p,.page-legal .legal-card ul,.page-legal .legal-card ol{color:var(--color-text-body);font-size:.92rem;line-height:1.75}.page-legal .legal-card ul,.page-legal .legal-card ol{padding-left:1.25rem}.page-legal .legal-card li+li{margin-top:.25rem}.page-legal .legal-card a{color:var(--color-teal);font-weight:600}.page-legal .legal-info{border-radius:var(--radius-lg);border:1px solid var(--color-border-light);background:var(--color-bg-secondary);padding:1rem 1.15rem}@media(max-width:1023px){.page-legal .legal-rail{position:static}}@media(max-width:640px){.page-legal .legal-wrap{padding-inline:.75rem}.page-legal .legal-rail,.page-legal .legal-card{border-radius:var(--radius-lg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--color-secondary),var(--color-teal));border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-teal-light)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
