*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:"Poppins",sans-serif;font-weight:400;line-height:1.6;color:var(--color-text);background-color:var(--color-bg)}:root{--color-rose: #E57598;--color-cambridge: #85C2B0;--color-violet: #331761;--color-citrine: #E4C945;--color-bittersweet: #EB6453;--color-primary: var(--color-violet);--color-secondary: var(--color-rose);--color-accent: var(--color-citrine);--color-success: var(--color-cambridge);--color-warning: var(--color-bittersweet);--color-text: #2d2d2d;--color-text-light: #666666;--color-bg: #ffffff;--color-bg-alt: #f9f9f9;--color-border: #e0e0e0;--spacing-xs: 0.5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 3rem;--spacing-xl: 4rem;--spacing-xxl: 6rem;--container-max: 1200px;--container-padding: 1.5rem;--header-height: 80px;--transition-fast: 0.2s ease;--transition-normal: 0.3s ease;--transition-slow: 0.5s ease;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-round: 50%;--shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);--shadow-md: 0 4px 8px rgba(0, 0, 0, 0.12);--shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.15)}@media(min-width: 768px){:root{--container-padding: 2rem;--header-height: 90px}}@media(min-width: 1024px){:root{--container-padding: 3rem}}h1,h2,h3,h4,h5,h6{font-family:"Leckerli One",cursive;font-weight:bold;line-height:1.2;margin-bottom:1rem;color:var(--color-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}@media(min-width: 768px){h1{font-size:3.5rem}h2{font-size:2.75rem}h3{font-size:2.25rem}}p{margin-bottom:1rem}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-secondary)}strong{font-weight:600}.main{min-height:calc(100vh - var(--header-height))}.container{position:relative;z-index:10;max-width:var(--container-max);margin:0 auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.container--narrow{max-width:800px}.container--wide{max-width:1400px}.header{background-color:var(--color-bg);box-shadow:var(--shadow-sm);height:var(--header-height)}.header__container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);height:100%;display:flex;align-items:center;justify-content:space-between}.header__brand{display:flex;align-items:center;gap:1rem;text-decoration:none;transition:transform var(--transition-normal)}.header__logo{width:60px;height:60px;flex-shrink:0;border-radius:var(--radius-round);background-color:rgba(0,0,0,0);transition:background-color var(--transition-normal);display:flex;align-items:center;justify-content:center}.logo__image{width:100%;height:100%;border-radius:var(--radius-round);border:3px solid var(--color-secondary);object-fit:cover;transition:border-color var(--transition-normal)}.header__brand:hover .header__logo{background-color:var(--color-citrine)}.header__brand:hover .logo__image{border-color:var(--color-citrine)}.header__logo-text{display:flex;flex-direction:column;gap:.1rem;line-height:1}.header__logo-text-line{font-family:"Poppins",sans-serif;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;transition:color var(--transition-normal)}.header__logo-text-line--1{color:var(--color-secondary)}.header__logo-text-line--2{color:var(--color-cambridge)}.header__brand:hover .header__logo-text-line--1{color:var(--color-citrine)}.header__brand:hover .header__logo-text-line--2{color:var(--color-bittersweet)}.header__mobile-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;z-index:10003}.header__mobile-toggle-icon{width:25px;height:3px;background-color:var(--color-primary);transition:all var(--transition-normal)}.header__mobile-toggle[aria-expanded=true] .header__mobile-toggle-icon:nth-child(1){transform:translateY(8px) rotate(45deg)}.header__mobile-toggle[aria-expanded=true] .header__mobile-toggle-icon:nth-child(2){opacity:0}.header__mobile-toggle[aria-expanded=true] .header__mobile-toggle-icon:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.header__nav{position:fixed;top:var(--header-height);left:0;right:0;background-color:var(--color-bg);padding:var(--spacing-md) var(--container-padding);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--transition-normal);box-shadow:var(--shadow-md);max-height:calc(100vh - var(--header-height));overflow-y:auto;z-index:10002}.header__nav.is-open{transform:translateY(0);opacity:1;visibility:visible}.nav{list-style:none}.nav__item{margin-bottom:var(--spacing-sm)}.nav__link{display:block;padding:var(--spacing-sm);font-weight:500;color:var(--color-primary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav__item--home .nav__link:hover,.nav__item--home .nav__link--active{background-color:var(--color-rose);color:var(--color-bg)}.nav__item--italian .nav__link:hover,.nav__item--italian .nav__link--active{background-color:var(--color-cambridge);color:var(--color-bg)}.nav__item--spanish .nav__link:hover,.nav__item--spanish .nav__link--active{background-color:var(--color-citrine);color:var(--color-primary)}@media(min-width: 768px){.nav__link{padding:.75rem 1rem;height:48px;display:flex;align-items:center}}.header__login{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding:.75rem 1rem;height:48px;border:2px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-md);font-weight:600;transition:background-color var(--transition-fast),color var(--transition-fast)}.header__login:hover{background-color:var(--color-primary);color:var(--color-bg)}.lang-switcher{position:relative;margin-top:var(--spacing-md);z-index:1002}.lang-switcher__current{display:flex;align-items:center;gap:var(--spacing-xs);padding:.75rem 1rem;height:48px;background-color:var(--color-bittersweet);color:var(--color-bg);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:background-color var(--transition-fast);width:100%;justify-content:center}.lang-switcher__current:hover{background-color:var(--color-primary)}.lang-switcher__dropdown{list-style:none;margin-top:var(--spacing-xs);background-color:var(--color-bg-alt);border-radius:var(--radius-md);overflow:hidden;max-height:0;opacity:0;visibility:hidden;transition:all var(--transition-normal);z-index:1003}.lang-switcher__dropdown.is-open{max-height:300px;opacity:1;visibility:visible}.lang-switcher__link{display:block;padding:var(--spacing-sm);color:var(--color-primary);transition:background-color var(--transition-fast)}.lang-switcher__link:hover{background-color:var(--color-cambridge);color:var(--color-bg)}@media(min-width: 768px){.header__mobile-toggle{display:none}.header__nav{position:static;transform:none;opacity:1;visibility:visible;padding:0;display:flex;align-items:center;gap:var(--spacing-md);flex:1;justify-content:flex-end;box-shadow:none;max-height:none;overflow-y:visible}.nav{display:flex;gap:var(--spacing-sm)}.nav__item{margin-bottom:0}.header__user-tools{display:flex;align-items:center;gap:var(--spacing-xs);margin-left:var(--spacing-md)}.header__login{margin-top:0}.lang-switcher{margin-top:0}.lang-switcher__current{width:auto}.lang-switcher__dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-xs);box-shadow:var(--shadow-md)}}.footer{background-color:var(--color-primary);color:var(--color-bg);padding:var(--spacing-xxl) 0 var(--spacing-lg)}.footer__container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.footer__content{display:grid;gap:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.footer__brand{text-align:center}.footer__logo{display:inline-block;width:80px;height:80px;margin-bottom:var(--spacing-sm);border-radius:var(--radius-round);background-color:var(--color-citrine);transition:background-color var(--transition-normal)}.footer__logo:hover{background-color:var(--color-bittersweet)}.footer__logo-image{width:100%;height:100%;border-radius:var(--radius-round);border:3px solid var(--color-citrine);object-fit:cover;transition:border-color var(--transition-normal)}.footer__logo:hover .footer__logo-image{border-color:var(--color-bittersweet)}.footer__name{font-family:"Leckerli One",cursive;font-size:1.5rem;margin-bottom:.5rem;color:var(--color-citrine)}.footer__tagline{font-size:.9rem;opacity:.9}.footer__nav,.footer__languages{text-align:center}.footer__nav-title,.footer__lang-title{font-family:"Poppins",sans-serif;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-md);color:var(--color-citrine)}.footer__links,.footer__lang-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center}.footer__link,.footer__lang-link{color:var(--color-bg);font-weight:500;transition:all var(--transition-fast);display:flex;align-items:center;gap:.5rem}.footer__link:hover,.footer__lang-link:hover{color:var(--color-cambridge)}.footer__lang-link--active{color:var(--color-citrine);font-weight:700}@media(min-width: 768px){.footer__content{grid-template-columns:1.5fr 1fr 1fr;text-align:left}.footer__brand{text-align:left}.footer__nav,.footer__languages{text-align:left}.footer__links,.footer__lang-list{align-items:flex-start}}.section{padding:var(--spacing-xl) 0;position:relative}.section--alt{background-color:var(--color-bg-alt)}.section--primary{background-color:var(--color-primary);color:var(--color-bg)}.section--primary h1,.section--primary h2,.section--primary h3,.section--primary h4,.section--primary h5,.section--primary h6{color:var(--color-bg)}.section__header{text-align:center;margin-bottom:var(--spacing-lg)}.section__title{margin-bottom:var(--spacing-sm)}.section__subtitle{font-size:1.125rem;color:var(--color-text-light);max-width:700px;margin:0 auto}.section--primary .section__subtitle{color:hsla(0,0%,100%,.9)}.hero{padding:var(--spacing-xxl) 0;text-align:center;position:relative;overflow:hidden}.hero__content{position:relative;z-index:2}.hero__content h2{font-family:"Poppins",sans-serif;font-weight:700;text-transform:uppercase;font-size:1.25rem;letter-spacing:.05em}.hero__title{font-size:3rem;margin-bottom:var(--spacing-md)}.hero__subtitle{font-size:1.25rem;max-width:700px;margin:0 auto;color:var(--color-primary);background-color:hsla(0,0%,100%,.95);display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-weight:500}.hero__cta{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center;margin-top:var(--spacing-lg)}@media(min-width: 768px){.hero__title{font-size:4rem}.hero__cta{flex-direction:row;justify-content:center}}.content-block{position:relative;z-index:10;margin-bottom:var(--spacing-xl)}.content-block__title{margin-bottom:var(--spacing-md)}.content-block__text{font-size:1.05rem;line-height:1.8}.section:not(.section--alt):not(.section--primary) .content-block__text{background-color:hsla(0,0%,100%,.5);border-radius:var(--radius-lg);padding:var(--spacing-md)}.content-grid{display:grid;gap:var(--spacing-lg)}@media(min-width: 768px){.content-grid--two{grid-template-columns:repeat(2, 1fr)}.content-grid--three{grid-template-columns:repeat(3, 1fr)}.content-grid--four{grid-template-columns:repeat(2, 1fr)}}.card{position:relative;z-index:10;background-color:hsla(0,0%,100%,.7);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);text-align:center;display:flex;flex-direction:column;align-items:center}.card:hover{background-color:var(--color-bg);box-shadow:var(--shadow-lg)}.card:nth-child(1){background-color:hsla(0,0%,100%,.7)}.card:nth-child(1):hover{background-color:var(--color-rose)}.card:nth-child(1):hover .card__icon{color:var(--color-bg)}.card:nth-child(1):hover .card__title,.card:nth-child(1):hover .card__text{color:var(--color-bg)}.card:nth-child(1):hover .btn--primary{background-color:var(--color-primary);color:var(--color-bg)}.card:nth-child(2){background-color:hsla(0,0%,100%,.7)}.card:nth-child(2):hover{background-color:var(--color-cambridge)}.card:nth-child(2):hover .card__icon{color:var(--color-bg)}.card:nth-child(2):hover .card__title,.card:nth-child(2):hover .card__text{color:var(--color-bg)}.card:nth-child(2):hover .btn--primary{background-color:var(--color-rose);color:var(--color-bg)}.card:nth-child(3){background-color:hsla(0,0%,100%,.7)}.card:nth-child(3):hover{background-color:var(--color-citrine)}.card:nth-child(3):hover .card__icon{color:var(--color-primary)}.card:nth-child(3):hover .card__title,.card:nth-child(3):hover .card__text{color:var(--color-primary)}.card:nth-child(3):hover .btn--primary{background-color:var(--color-primary);color:var(--color-bg)}.card:nth-child(4){background-color:hsla(0,0%,100%,.7)}.card:nth-child(4):hover{background-color:var(--color-rose)}.card:nth-child(4):hover .card__icon{color:var(--color-bg)}.card:nth-child(4):hover .card__title,.card:nth-child(4):hover .card__text{color:var(--color-bg)}.card:nth-child(4):hover .btn--primary{background-color:var(--color-cambridge);color:var(--color-bg)}.card__icon{font-size:3rem;margin-bottom:var(--spacing-md);color:var(--color-secondary);transition:color var(--transition-normal)}.card__title{margin-bottom:var(--spacing-sm);font-size:1.5rem;transition:color var(--transition-normal)}.card__text{color:var(--color-text-light);margin-bottom:var(--spacing-md);transition:color var(--transition-normal)}.card .btn{align-self:center}.btn{display:inline-block;padding:1rem 2rem;font-family:"Poppins",sans-serif;font-size:1rem;font-weight:600;text-align:center;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);text-decoration:none}.btn--primary{background-color:var(--color-secondary);color:var(--color-bg)}.btn--primary:hover{background-color:var(--color-primary);box-shadow:var(--shadow-md)}.btn--secondary{background-color:var(--color-cambridge);color:var(--color-bg)}.btn--secondary:hover{background-color:var(--color-citrine);box-shadow:var(--shadow-md)}.btn--outline{background-color:rgba(0,0,0,0);border:2px solid var(--color-primary);color:var(--color-primary)}.btn--outline:hover{background-color:var(--color-primary);color:var(--color-bg)}.btn--citrine{background-color:var(--color-citrine);color:var(--color-primary)}.btn--citrine:hover{background-color:var(--color-cambridge);color:var(--color-bg);box-shadow:var(--shadow-md)}.btn--bittersweet{background-color:var(--color-bittersweet);color:var(--color-bg)}.btn--bittersweet:hover{background-color:#d9533f;color:var(--color-bg);box-shadow:var(--shadow-md)}.btn--large{padding:1.25rem 2.5rem;font-size:1.125rem}.btn--small{padding:.5rem 1rem;font-size:.875rem}.btn--unsaved{background-color:#f39c12 !important;color:#fff !important}.btn--unsaved:hover{background-color:#e67e22 !important}.btn--saving{background-color:#95a5a6 !important;color:#fff !important;cursor:wait !important}.btn--saved{background-color:#27ae60 !important;color:#fff !important}.btn:disabled{opacity:.6;cursor:not-allowed}.sticker{position:absolute;pointer-events:none;opacity:.3;z-index:1}@media(min-width: 768px){.sticker{opacity:.5}}.sticker--small{width:80px}.sticker--medium{width:120px}.sticker--large{width:180px}@media(min-width: 768px){.sticker--small{width:100px}.sticker--medium{width:150px}.sticker--large{width:220px}}.booking-page .main{min-height:calc(100vh - var(--header-height));background:var(--color-bg-alt)}.booking{padding:var(--spacing-md) var(--container-padding) var(--spacing-xl)}.booking__container{max-width:980px;margin:0 auto}.booking__intro{text-align:center;margin-bottom:var(--spacing-md)}.booking__title{color:var(--color-primary);margin:0 0 .5rem}.booking__subtitle{color:var(--color-text-light);max-width:36rem;margin:0 auto}.booking__steps{display:flex;justify-content:center;gap:.5rem;list-style:none;margin:0 0 var(--spacing-md);padding:0;flex-wrap:wrap}.booking__step{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--color-text-light);opacity:.6}.booking__step span{width:1.6rem;height:1.6rem;border-radius:var(--radius-round);background:var(--color-border);color:var(--color-bg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}.booking__step.is-active{opacity:1;color:var(--color-primary);font-weight:600}.booking__step.is-active span{background:var(--color-secondary)}.booking__step.is-done span{background:var(--color-success)}.booking__step em{font-style:normal}@media(max-width: 600px){.booking__step em{display:none}}.booking__panel{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-md)}.booking__panel[hidden]{display:none !important}.booking__steps[hidden],.booking__gate[hidden]{display:none !important}.booking__gate{display:flex;justify-content:center;padding:var(--spacing-md) 0 var(--spacing-xl)}.booking__gate-card{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl) var(--spacing-lg);max-width:30rem;width:100%;text-align:center}.booking__gate-icon{font-size:3rem;color:var(--color-primary);margin-bottom:var(--spacing-sm)}.booking__gate-title{color:var(--color-primary);font-size:1.6rem;margin:0 0 .5rem}.booking__gate-sub{color:var(--color-text-light);margin:0 auto var(--spacing-lg);max-width:26rem;line-height:1.5}.booking__gate-actions{display:flex;flex-direction:column;gap:.75rem}@media(min-width: 520px){.booking__gate-actions{flex-direction:row;justify-content:center}.booking__gate-actions .btn{flex:1;max-width:14rem}}@media(min-width: 860px){.booking__panel[data-panel="1"]:not([hidden]){display:grid;grid-template-columns:1fr 320px;gap:var(--spacing-md);align-items:start}}.booking__loading,.booking__empty{text-align:center;color:var(--color-text-light);padding:var(--spacing-lg) 0}.booking__day{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:.5rem;overflow:hidden;background:var(--color-bg)}.booking__day-head{appearance:none;width:100%;display:flex;align-items:center;gap:.75rem;padding:.95rem 1rem;border:0;background:rgba(0,0,0,0);cursor:pointer;font-family:inherit;font-size:1rem;text-align:left;color:var(--color-text);transition:background var(--transition-fast)}.booking__day-head:hover{background:var(--color-bg-alt)}.booking__day.is-open .booking__day-head{background:var(--color-bg-alt)}.booking__day-label{flex:1;font-weight:700;color:var(--color-primary);text-transform:capitalize}.booking__day-count{font-size:.8rem;color:var(--color-text-light);white-space:nowrap}.booking__day-chev{color:var(--color-text-light);transition:transform var(--transition-fast);flex-shrink:0}.booking__day.is-open .booking__day-chev{transform:rotate(180deg)}.booking__day-slots{display:none;padding:0 1rem 1rem}.booking__day.is-open .booking__day-slots{display:block}.booking__slots{display:grid;grid-template-columns:repeat(auto-fill, minmax(76px, 1fr));gap:.5rem}.booking__slot{appearance:none;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text);padding:.65rem .25rem;border-radius:var(--radius-md);font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.booking__slot:hover{border-color:var(--color-secondary)}.booking__slot--reserved{position:relative;border-color:var(--color-accent);background:rgba(228,201,69,.12)}.booking__slot--reserved:hover{border-color:var(--color-accent);background:rgba(228,201,69,.2)}.booking__slot-tag{position:absolute;top:4px;right:6px;font-size:.55rem;line-height:1;color:var(--color-accent);pointer-events:none}.booking__slot.is-selected{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-bg)}.booking__slot.is-selected .booking__slot-tag{color:var(--color-bg)}.booking__slot.is-disabled,.booking__slot:disabled{opacity:.4;cursor:not-allowed;background:var(--color-bg-alt);border-color:var(--color-border);color:var(--color-text-light)}.booking__slot.is-disabled:hover,.booking__slot:disabled:hover{border-color:var(--color-border)}.booking__more{margin-top:var(--spacing-sm);width:100%}.booking__cart{background:var(--color-bg-alt);border-radius:var(--radius-md);padding:var(--spacing-sm)}.booking__cart-summary{display:none}@media(min-width: 860px){.booking__cart{position:sticky;top:calc(var(--header-height) + 1rem)}}@media(max-width: 859px){.booking__panel[data-panel="1"]{padding-bottom:calc(15rem + env(safe-area-inset-bottom, 0px))}.booking__cart{position:fixed;left:0;right:0;bottom:0;z-index:9000;margin:0;background:var(--color-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -6px 24px rgba(0,0,0,.16);padding:var(--spacing-sm) var(--container-padding) calc(var(--spacing-sm) + env(safe-area-inset-bottom, 0px));transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform}.booking__cart-title,.booking__cart-empty{display:none}.booking__cart .booking__cart-list{max-height:6.5rem;margin-bottom:.6rem}.booking__cart-summary{display:block;font-size:.85rem;font-weight:600;color:var(--color-text-light);margin:0 0 .4rem}.booking__cart-foot{margin-top:0}.booking__total{margin-bottom:.6rem}.booking__next{height:52px;font-size:1.05rem}}.booking__cart-title{margin:0 0 .75rem;font-size:1.1rem;color:var(--color-primary)}.booking__cart-empty{color:var(--color-text-light);font-size:.9rem;margin:0}.booking__cart-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:14rem;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin}.booking__cart-list::-webkit-scrollbar{width:6px}.booking__cart-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.booking__cart-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--color-bg);border-radius:var(--radius-sm);padding:.6rem .75rem;font-size:.9rem}.booking__cart-remove{appearance:none;border:none;background:none;color:var(--color-warning);cursor:pointer;font-size:1rem;line-height:1;padding:.25rem}.booking__cart-foot{margin-top:var(--spacing-sm)}.booking__total{display:flex;justify-content:space-between;align-items:baseline;font-size:1rem;margin-bottom:.75rem}.booking__total-amount{font-size:1.4rem;color:var(--color-primary)}.booking__next,.booking__pay{width:100%}.booking__form{max-width:28rem;margin:0 auto}.booking__field{margin-bottom:var(--spacing-sm)}.booking__field label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--color-text)}.booking__field input{width:100%;padding:.85rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:1rem;box-sizing:border-box}.booking__field input:focus{outline:none;border-color:var(--color-secondary)}.booking__hint{display:block;margin-top:.35rem;color:var(--color-text-light);font-size:.8rem}.booking__actions{display:flex;gap:.75rem;margin-top:var(--spacing-md)}.booking__actions .btn{flex:1}.booking__login{text-align:center;margin:var(--spacing-md) 0 0;font-size:.9rem;color:var(--color-text-light)}.booking__login a{color:var(--color-primary);font-weight:600;text-decoration:underline}.booking__summary{background:var(--color-bg-alt);border-radius:var(--radius-md);padding:var(--spacing-sm);margin-bottom:var(--spacing-md)}.booking__summary-row{display:flex;justify-content:space-between;font-size:.9rem;padding:.3rem 0}.booking__summary-total{border-top:1px solid var(--color-border);margin-top:.5rem;padding-top:.6rem;font-weight:700;color:var(--color-primary)}#booking-payment-element{margin-bottom:var(--spacing-md);min-height:40px}.booking__error{background:rgba(235,100,83,.12);color:var(--color-warning);border-radius:var(--radius-md);padding:.85rem 1rem;font-size:.9rem;margin:0 0 var(--spacing-sm)}.booking__secure{text-align:center;color:var(--color-text-light);font-size:.8rem;margin:var(--spacing-sm) 0 0}.booking__panel--done{text-align:center}.booking__done-icon{font-size:3.5rem;color:var(--color-success);margin-bottom:var(--spacing-sm)}.booking__panel--done h2{color:var(--color-primary);margin:0 0 .5rem}.booking__panel--done p{color:var(--color-text-light);max-width:30rem;margin:0 auto var(--spacing-md)}.booking__summary--done{max-width:28rem;margin:0 auto var(--spacing-md);text-align:left}.booking__panel--done .btn{display:inline-block}.booking.is-busy{opacity:.6;pointer-events:none}.text-center{text-align:center}.text-highlight{color:var(--color-secondary)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}