@charset "UTF-8";.header{position:fixed;top:0;left:0;right:0;padding:1rem 1.5rem;background:#0b1215;display:flex;align-items:center;justify-content:space-between;z-index:50;flex-wrap:wrap;gap:.8rem}@media(min-width:768px){.header{padding:1.5rem 3rem;flex-wrap:nowrap;gap:1rem}}@media(min-width:992px){.header{padding:1.5rem 3rem}}.header__center{display:flex;background:#e5e5e5;border-radius:999px;gap:.2rem;width:auto;order:3;flex:1 1 100%}@media(min-width:768px){.header__center{order:2;flex:0 1 auto;gap:.3rem}}@media(min-width:992px){.header__center{gap:.5rem}}.header__left{display:flex;gap:.5rem;order:1;flex:1 1 auto}@media(min-width:768px){.header__left{order:1;flex:0 1 auto}}.header__right{display:flex;align-items:center;gap:.3rem;order:2}@media(min-width:768px){.header__right{order:3;gap:.5rem}}@media(min-width:992px){.header__right{gap:.5rem}}.pill{display:inline-block;margin:0;padding:.4rem .8rem;background:#fff;color:#000;border-radius:50px;font-family:Playball,cursive;font-size:.75rem;text-decoration:none;transition:.2s ease;white-space:nowrap;flex-shrink:0;border:none}@media(min-width:480px){.pill{padding:.5rem 1rem;font-size:.85rem}}@media(min-width:768px){.pill{padding:.6rem 1.2rem;font-size:1rem}}@media(min-width:992px){.pill{padding:.7rem 1.6rem;font-size:1.2rem}}.pill:hover{box-shadow:0 4px 12px #ffffff26;background:#0b1215;color:#fff}.pill--brand{font-weight:600;white-space:nowrap;background:#0b1215;color:#e5e5e5;font-size:.8rem}@media(min-width:480px){.pill--brand{font-size:.9rem}}@media(min-width:768px){.pill--brand{font-size:1rem}}@media(min-width:992px){.pill--brand{font-size:1.1rem}}.pill--brand:hover{box-shadow:0 4px 12px #ffffff26;color:#fff}.pill--red{background:#841d1d;color:#fff}.pill--red:hover{box-shadow:0 4px 12px #7a111380;background:#c41e3a}.user-profile{position:relative;display:flex;align-items:center}.user-profile__avatar{width:40px;height:40px;border-radius:50%;border:2px solid #c41e3a;background-size:cover;background-position:center;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:16px;transition:all .3s ease}.user-profile__avatar:hover{transform:scale(1.1);box-shadow:0 0 10px #c41e3a80}.user-profile__avatar span{font-size:14px;font-weight:600}.user-profile__menu{position:absolute;top:100%;right:0;background:#0b1215;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:250px;margin-top:8px;animation:slideDown .3s ease}@media(max-width:480px){.user-profile__menu{right:-10px;min-width:220px}}.user-profile__menu-header{padding:12px 16px;border-bottom:1px solid #f0f0f0}.user-profile__menu-name{margin:0;font-size:14px;font-weight:600;color:#333}.user-profile__menu-email{margin:4px 0 0;font-size:12px;color:#999}.user-profile__menu-actions{padding:8px 0}.user-profile__menu-item{display:block;width:100%;padding:10px 16px;text-align:left;border:none;background:transparent;color:#333;font-size:14px;cursor:pointer;transition:all .2s ease;text-decoration:none}.user-profile__menu-item:hover{background-color:#f5f5f5;color:#c41e3a}.user-profile__menu-item--logout{color:#c41e3a;border-top:1px solid #f0f0f0;background-color:#fff}.user-profile__menu-item--logout:hover{background-color:#fff5f5}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.patchnotes__bell{position:relative;width:44px;height:44px;border-radius:50%;background:#841d1d;border:none;box-shadow:0 2px 10px #841d1d4d;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .3s ease;z-index:10;overflow:visible}.patchnotes__bell:hover{transform:scale(1.05);box-shadow:0 4px 15px #c41e3a80;background:#c41e3a}.patchnotes__bell:active{transform:scale(.95)}.patchnotes__bell{font-size:22px;line-height:1}@keyframes ring{0%,to{transform:rotate(0)}10%,30%{transform:rotate(-10deg)}20%,40%{transform:rotate(10deg)}50%{transform:rotate(0)}}.patchnotes__badge{position:absolute;top:-4px;right:-4px;background:#fff;color:#841d1d;font-size:.75rem;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px;border:2px solid #841D1D}.patchnotes__overlay{position:absolute;top:calc(100% + .5rem);right:0;z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.patchnotes__modal{background:#fff;border-radius:12px;width:420px;max-height:500px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003;border:1px solid #f0f0f0}@keyframes slideUp{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.patchnotes__header{padding:1rem 1.5rem;border-bottom:2px solid #f5f5f5;display:flex;align-items:center;justify-content:space-between;background:#841d1d;color:#fff}.patchnotes__title{font-size:1.125rem;font-weight:700;margin:0}.patchnotes__close{background:transparent;border:none;color:#fff;font-size:1.25rem;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.patchnotes__close:hover{opacity:.8}.patchnotes__content{padding:1.25rem;overflow-y:auto;flex:1}.patchnotes__content::-webkit-scrollbar{width:8px}.patchnotes__content::-webkit-scrollbar-track{background:#f5f5f5;border-radius:10px}.patchnotes__content::-webkit-scrollbar-thumb{background:#841d1d;border-radius:10px}.patchnotes__content::-webkit-scrollbar-thumb:hover{background:#c41e3a}.patchnote{margin-bottom:1.25rem}.patchnote:last-child{margin-bottom:0}.patchnote__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.patchnote__meta{display:flex;align-items:center;gap:.75rem}.patchnote__type{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600}.patchnote__type--feature{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.patchnote__type--improvement{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.patchnote__type--bugfix{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.patchnote__type--design{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.patchnote__version{font-size:.875rem;color:#666;font-weight:600;background:#f5f5f5;padding:.25rem .625rem;border-radius:12px}.patchnote__date{font-size:.875rem;color:#666}.patchnote__title{font-size:1.125rem;font-weight:700;color:#333;margin:0 0 .5rem}.patchnote__description{font-size:1rem;color:#666;line-height:1.6;margin:0}.patchnote__divider{height:1px;background:linear-gradient(90deg,transparent,#f5f5f5,transparent);margin-top:1.5rem}@media(max-width:768px){.patchnotes__modal{width:90vw;max-width:380px}}.pinyon-script-regular{font-family:Pinyon Script,cursive;font-weight:400;font-style:normal}.parisienne-regular{font-family:Parisienne,cursive;font-weight:400;font-style:normal}.hero{background-color:#0b1215;color:#fff;min-height:100vh;padding:8rem 2rem 6rem;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}@media(max-width:768px){.hero{padding:6rem 1.5rem 3rem;min-height:auto}}@media(max-width:480px){.hero{padding:5.5rem 1rem 2rem;min-height:auto}}.hero__content{max-width:1100px;margin:0 auto;z-index:2;position:relative}.hero__title{font-family:Parisienne,cursive;font-size:6.5rem;font-style:italic;font-weight:400;margin:1rem 0 .8rem;line-height:1.1}@media(max-width:768px){.hero__title{font-size:3.2rem}}@media(max-width:576px){.hero__title{font-size:2.4rem}}.hero__subtitle{font-family:Pinyon Script,cursive;font-size:3rem;color:#c41e3a;font-style:italic;margin:0;line-height:1.4}@media(max-width:768px){.hero__subtitle{font-size:1.2rem}}.hero__tattoo-icon{position:absolute;right:590px;top:50%;transform:translateY(-94%);width:220px;opacity:.7;pointer-events:none;z-index:1}.hero__tattoo-icon svg,.hero__tattoo-icon img{width:100%;height:auto;color:#c41e3a;filter:drop-shadow(0 0 10px rgba(196,30,58,.3))}@media(max-width:992px){.hero__tattoo-icon{right:-100px;width:190px}}@media(max-width:768px){.hero__tattoo-icon{position:static;transform:none;margin:2rem auto 0;width:160px;opacity:.8}}.infos-rdv{max-width:1200px;margin:5rem auto;padding:0 1rem}.infos-rdv__title{font-family:Playball,cursive;font-size:2rem;color:#fff;text-align:center;margin-bottom:1.5rem}.infos-rdv__box{background:#0b1215;border:2px solid #841D1D;border-radius:1.5rem;padding:2.5rem 3rem;color:#fff;box-shadow:0 18px 45px #0000004d;line-height:1.7;font-size:1.15rem}.infos-rdv h3{margin-top:2rem;margin-bottom:.6rem;color:#caa;font-weight:600;font-size:1.3rem}.infos-rdv ul{list-style:none;padding-left:1rem}.infos-rdv ul li{margin-bottom:.4rem;position:relative}.infos-rdv ul li:before{content:"•";position:absolute;left:-1rem;color:#841d1d}.footer{background-color:#0b1215;color:#fff;padding:3rem 2rem 1rem;border-top:2px solid #841D1D}.footer__container{max-width:1400px;margin:0 auto}.footer__content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}@media(max-width:576px){.footer__content{grid-template-columns:1fr}}.footer__section h3,.footer__section h4{font-family:Brush Script MT,cursive;font-style:italic;color:#841d1d;margin-bottom:1rem}.footer__section h3,.footer__section h4{font-size:2rem}.footer__section p{margin:0;font-size:.95rem;line-height:1.6}.footer__section ul{list-style:none;margin:0;padding:0}.footer__section ul li{margin-bottom:.5rem}.footer__section ul li a{color:#fff;text-decoration:none;transition:color .3s ease}.footer__section ul li a:hover{color:#841d1d}.footer__social{display:flex;gap:1rem}.footer__social li{margin-bottom:0!important}.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;text-align:center;font-size:.9rem;color:#ffffffb3}.footer__bottom p{margin:0}.gallery{background:#0b1215;padding:4rem 3rem 5rem;position:relative;z-index:1;opacity:0;transform:translateY(60px);transition:opacity .6s ease-out,transform .6s ease-out}@media(max-width:768px){.gallery{padding:3rem 1.5rem}}.gallery__inner{max-width:1200px;margin:0 auto}.gallery__grid{column-width:260px;column-gap:1.5rem}@media(max-width:992px){.gallery__grid{column-count:2}}@media(max-width:576px){.gallery__grid{column-count:1}}.gallery__item{break-inside:avoid;margin-bottom:1.8rem;border-radius:1.5rem;overflow:hidden;box-shadow:0 18px 45px #00000040;background:#f5f5f5;transform:translateY(0);transition:transform .2s ease,box-shadow .2s ease;display:inline-block;width:100%}.gallery__item img{width:100%;height:auto;display:block}.gallery__item:hover{transform:translateY(-6px);box-shadow:0 22px 60px #00000059}.gallery__title{font-family:Playball,cursive;font-size:2.5rem;font-style:italic;color:#fff;text-align:center;margin-bottom:2rem}.gallery--visible{opacity:1;transform:translateY(0)}.playball-regular{font-family:Playball,cursive;font-weight:600;font-style:normal}.card-stack{position:relative}.card--stack{position:relative;top:0;opacity:0;transform:translateY(40px) scale(.97);transition:opacity .5s ease,transform .5s ease}.card--visible{opacity:1;transform:translateY(0) scale(1)}.card--hidden{opacity:0;transform:translateY(40px) scale(.97)}.card-stack .card--stack+.card--stack{margin-top:-120px}.card-stack .card--stack:nth-child(1){z-index:1}.card-stack .card--stack:nth-child(2){z-index:2}.card-stack .card--stack:nth-child(3){z-index:3}.card-stack .card--stack:nth-child(4){z-index:4}@media(max-width:768px){.card--stack{position:static;margin:2rem auto;opacity:1;transform:none}.card-stack .card--stack+.card--stack{margin-top:2rem}}.card{display:flex;flex-wrap:wrap;align-items:center;gap:2rem;background:#0b1215;color:#fff;border:2px solid #841D1D;border-radius:1.5rem;padding:2rem 3rem;width:100%;max-width:1200px;margin:1.5rem auto}@media(max-width:768px){.card{flex-direction:column;text-align:left;padding:2rem}}.card__image{width:clamp(200px,30vw,350px);height:clamp(140px,20vw,220px);border-radius:1.5rem;overflow:hidden;flex-shrink:0}.card__image img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:768px){.card__image{width:100%;height:auto}}.card .card__image--lips{aspect-ratio:3/2;width:clamp(200px,25vw,300px)}.card__content{flex:1;min-width:240px}.card__content h1{margin-bottom:1rem;font-size:2rem;font-weight:600;font-family:Playball,cursive;color:#841d1d}.card__content ul{list-style:none;padding:0;margin:0}.card__content ul li{font-family:Rubik,sans-serif;height:auto;margin-bottom:.4rem;margin-left:.6rem;border-radius:4px;width:100%;font-size:1.2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500;font-size:.95rem}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;transition:border-color .3s;-webkit-appearance:none;appearance:none}.form-group input:focus{outline:none;border-color:#c41e3a;box-shadow:0 0 0 3px #c41e3a1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-error{display:block;color:#c41e3a;font-size:.85rem;margin-top:.25rem}.form-button{width:100%;padding:.75rem;background-color:#c41e3a;color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s,transform .15s;-webkit-appearance:none;appearance:none}.form-button:hover:not(:disabled){background-color:#a01630;transform:translateY(-2px);box-shadow:0 4px 12px #c41e3a4d}.form-button:active:not(:disabled){transform:translateY(0)}.form-button:disabled{opacity:.6;cursor:not-allowed}.form-error-message{background-color:#fee;color:#c41e3a;padding:1rem;border-radius:5px;margin-bottom:1.5rem;text-align:center;border-left:4px solid #c41e3a;font-weight:500}.oauth-button{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;background-color:#fff;color:#333;-webkit-appearance:none;appearance:none}.oauth-button:hover:not(:disabled){border-color:#999;background-color:#f9f9f9;box-shadow:0 2px 8px #0000001a}.oauth-button:active:not(:disabled){transform:translateY(-1px)}.oauth-button:disabled{opacity:.6;cursor:not-allowed}.oauth-button--google:hover:not(:disabled){border-color:#4285f4;background-color:#f8f9ff}.oauth-button--apple:hover:not(:disabled){border-color:#000;background-color:#f5f5f5}.oauth-icon{width:20px;height:20px;flex-shrink:0}.oauth-buttons-group{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #ddd}.oauth-buttons-group .oauth-buttons-label{text-align:center;font-size:.85rem;color:#666;margin-bottom:.5rem}.date-picker{background:linear-gradient(135deg,#7b1616,#202a2e);color:#fff;padding:20px;border-radius:12px}.date-picker__header{text-align:center;margin-bottom:15px}.date-picker__header h3{margin:0;font-size:1.1rem;font-weight:600}.date-picker__controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px;flex-wrap:wrap}.date-picker__button{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.4);padding:10px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1.3rem;width:45px;height:45px;display:flex;align-items:center;justify-content:center}.date-picker__button:hover:not(:disabled){background:#ffffff4d;border-color:#fff;transform:scale(1.1)}.date-picker__button:disabled{opacity:.5;cursor:not-allowed}.date-picker__display{flex:1;min-width:200px;display:flex;flex-direction:column;align-items:center;gap:10px}.date-picker__text{font-size:1rem;font-weight:600;text-transform:capitalize}.date-picker__input{background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.3);padding:8px 12px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease;font-family:inherit}.date-picker__input:hover,.date-picker__input:focus{background:#fff3;border-color:#fff}.date-picker__input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.date-picker__info{text-align:center;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.2)}.date-picker__info-text{margin:0;font-size:.85rem;opacity:.85}.date-picker__info-text--success{color:#4caf50;font-weight:600;opacity:1}.date-picker__info-text--warning{color:#ffeb3b;font-weight:600;opacity:1}@media(max-width:768px){.date-picker{padding:20px}.date-picker__header{margin-bottom:15px}.date-picker__header h3{font-size:1.2rem}.date-picker__controls{flex-direction:column;gap:10px}.date-picker__button,.date-picker__display{width:100%}.date-picker__text{font-size:1.1rem}}.slot-card{background:linear-gradient(135deg,#1a2530,#0f1a22);border:2px solid #2a3740;border-radius:8px;padding:6px 4px;text-align:center;cursor:pointer;transition:all .25s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:38px;position:relative;overflow:hidden}.slot-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);opacity:0;transition:opacity .25s ease}.slot-card:hover:before{opacity:1}.slot-card__time{font-size:.9rem;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#fff;margin:0;line-height:1;letter-spacing:.3px}.slot-card__reserved-indicator{position:absolute;top:4px;right:4px;font-size:.75rem;opacity:.7}.slot-card__duration{font-size:.65rem;color:#9ca3af;font-weight:500;margin-top:2px}.slot-card--available{border-color:#4ade80;background:linear-gradient(135deg,#1a2530,#0f1a22)}.slot-card--available:hover{transform:translateY(-3px);box-shadow:0 6px 20px #4ade804d;border-color:#4ade80;background:linear-gradient(135deg,#1e3a2f,#0f1a22)}.slot-card--available:hover .slot-card__time{color:#4ade80}.slot-card--available:active{transform:translateY(-1px)}.slot-card--booked{background:linear-gradient(135deg,#2a1a1a,#1a0f0f);border-color:#7f1d1d;cursor:not-allowed;opacity:.6}.slot-card--booked .slot-card__time{color:#9ca3af;text-decoration:line-through}.slot-card--booked:hover{transform:none;box-shadow:none}.slot-card--pending{background:linear-gradient(135deg,#2a2418,#1a180f);border-color:#854d0e;cursor:wait;opacity:.7}.slot-card--pending .slot-card__time{color:#fbbf24}.slot-card--pending:hover{border-color:#fbbf24;box-shadow:0 4px 12px #fbbf2433}@media(max-width:768px){.slot-card{padding:14px 10px;min-height:55px}.slot-card__time{font-size:1.3rem}.slot-card__reserved-indicator{font-size:.8rem;top:4px;right:4px}}.slots-grid__header{margin-bottom:15px;text-align:center}.slots-grid__title{font-size:1rem;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#2c3e50;margin:0;text-transform:capitalize}.slots-grid__container{display:grid;grid-template-columns:repeat(auto-fill,minmax(65px,1fr));gap:5px;margin-bottom:10px}.slots-grid__count{text-align:center;font-size:.85rem;color:#667eea;font-weight:600;margin-bottom:10px;padding:6px 12px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:20px;display:inline-block;margin-left:50%;transform:translate(-50%)}.slots-grid__loading,.slots-grid__error,.slots-grid__empty{text-align:center;padding:60px 20px;font-size:1.1rem;border-radius:8px;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center}.slots-grid__loading{background:#0b1215f2;color:#fff;font-weight:600;gap:25px}.slots-grid__loading-text{margin:0;font-size:1.1rem;color:#ffffffe6;font-weight:500}.slots-grid__spinner{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.slots-grid__spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top-color:#841d1d;border-radius:50%;animation:spin 1.5s cubic-bezier(.68,-.55,.265,1.55) infinite}.slots-grid__spinner-ring:nth-child(1){width:100%;height:100%;border-top-color:#841d1d;animation-delay:0s}.slots-grid__spinner-ring:nth-child(2){width:70%;height:70%;border-top-color:#a52424;animation-delay:-.3s;animation-duration:1.2s}.slots-grid__spinner-ring:nth-child(3){width:40%;height:40%;border-top-color:#c72d2d;animation-delay:-.6s;animation-duration:.9s}.slots-grid__error{background:#1e0a0af2;color:#ff6b6b;border:2px solid #841D1D}.slots-grid__empty{background:#0b1215f2;color:#ffffff80;font-style:italic}.slots-grid__no-slots{text-align:center;padding:40px 20px;background:linear-gradient(135deg,#841d1d1a,#1e0a0a33);border:2px solid #841D1D;border-radius:12px;margin:20px 0}.slots-grid__no-slots-icon{font-size:3rem;margin-bottom:15px}.slots-grid__no-slots-title{color:#e74c3c;font-size:1.3rem;font-weight:700;margin:0 0 10px}.slots-grid__no-slots-text{color:#c0392b;font-size:1rem;line-height:1.6;margin:0}@media(max-width:1024px){.slots-grid__container{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}}@media(max-width:768px){.slots-grid__title{font-size:1.1rem}.slots-grid__container{grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:8px}.slots-grid__loading,.slots-grid__error,.slots-grid__empty{font-size:1rem;padding:30px 15px}}@media(max-width:480px){.slots-grid__container{grid-template-columns:repeat(4,1fr);gap:6px}.slots-grid__count{font-size:.9rem;padding:6px 12px}}.booking-modal__overlay{position:fixed;inset:0;background:#0b1215d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .4s ease-out;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.booking-modal{background:#1a2530f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(132,29,29,.4);border-radius:24px;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0d inset;max-width:550px;width:90%;animation:slideUp .5s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.booking-modal__header{background:linear-gradient(135deg,#841d1de6,#a52424cc);color:#fff;padding:25px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.booking-modal__title{margin:0;font-size:1.3rem;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;letter-spacing:.5px}.booking-modal__close{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);width:36px;height:36px;border-radius:8px;font-size:1.2rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.booking-modal__close:hover{background:#a52424cc;border-color:#fff6;box-shadow:0 4px 12px #841d1d66}.booking-modal__info{padding:25px 30px;background:#0b121566;border-bottom:1px solid rgba(132,29,29,.2)}.booking-modal__info-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding:10px 0}.booking-modal__info-item:last-child{margin-bottom:0}.booking-modal__info-label{font-weight:600;color:#fff9;font-size:.95rem}.booking-modal__info-value{color:#fff;font-weight:600;text-align:right;flex:1;margin-left:15px;font-size:1rem}.booking-modal__form{padding:25px 30px}.booking-modal__form-group{margin-bottom:20px}.booking-modal__form-group:last-of-type{margin-bottom:25px}.booking-modal__label{display:block;font-weight:600;color:#fffc;margin-bottom:8px;font-size:.95rem}.booking-modal__required{color:#ff6b6b}.booking-modal__input,.booking-modal__select{width:100%;padding:12px;background:#ffffff0d;border:1px solid rgba(132,29,29,.3);border-radius:10px;font-size:1rem;font-family:inherit;color:#fff;transition:all .3s ease}.booking-modal__input:focus,.booking-modal__select:focus{outline:none;border-color:#841d1d99;background:#ffffff14;box-shadow:0 0 0 3px #841d1d26}.booking-modal__input:disabled,.booking-modal__select:disabled{background:#ffffff05;cursor:not-allowed;opacity:.5}.booking-modal__input::placeholder{color:#ffffff4d}.booking-modal__error{background:#ff6b6b26;color:#ff6b6b;padding:12px 15px;border-radius:10px;margin-bottom:15px;font-size:.9rem;border:1px solid rgba(255,107,107,.3);border-left:3px solid #ff6b6b}.booking-modal__actions{display:flex;gap:15px;justify-content:flex-end}.booking-modal__button{padding:13px 28px;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.booking-modal__button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.booking-modal__button--cancel{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2)}.booking-modal__button--cancel:hover:not(:disabled){background:#ffffff26;color:#fff;border-color:#ffffff4d;transform:translateY(-2px)}.booking-modal__button--confirm{background:linear-gradient(135deg,#841d1de6,#a52424cc);color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 15px #841d1d66}.booking-modal__button--confirm:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #841d1d80;background:linear-gradient(135deg,#841d1d,#a52424e6)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.booking-modal__overlay{padding:20px}.booking-modal{width:100%}.booking-modal__header{padding:20px}.booking-modal__title{font-size:1.2rem}.booking-modal__form{padding:20px}.booking-modal__actions{flex-direction:column}.booking-modal__button{width:100%}}.page-layout{display:flex;flex-direction:column;min-height:100vh;background:#0b1215}.page-layout__main{flex:1;padding:60px 20px 40px;margin-top:20px}.page-title{padding:20px 0;margin-bottom:30px;animation:slideInUp .4s ease-out}.page-title__main{font-family:Brush Script MT,cursive;font-size:3rem;font-style:italic;color:#fff;margin:0 0 10px;text-align:center}@media(max-width:768px){.page-title__main{font-size:2.2rem}}.page-title__subtitle{font-size:1.1rem;color:#ffffffb3;text-align:center;margin:0 0 2rem}.service-selector{margin-bottom:0;animation:slideInUp .6s cubic-bezier(.4,0,.2,1);background:#1a253066;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(132,29,29,.3);border-radius:16px;padding:15px;box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff0d inset;transition:all .4s ease}.service-selector:hover{transform:translateY(-2px);box-shadow:0 12px 40px #841d1d33,0 0 0 1px #ffffff14 inset;border-color:#841d1d80}.service-selector__title{font-size:1.1rem;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#fff;text-align:center;margin-bottom:15px;letter-spacing:.5px;position:relative;padding-bottom:10px}.service-selector__title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:50px;height:2px;background:linear-gradient(90deg,transparent,#841D1D,transparent);border-radius:2px}.service-selector__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;max-width:900px;margin:0 auto}.service-selector__btn{background:linear-gradient(135deg,#1a253099,#0b1215cc);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(132,29,29,.4);border-radius:16px;padding:20px 15px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;position:relative;color:#fff;overflow:hidden;text-align:center;font-size:1rem;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.3}.service-selector__btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(132,29,29,.3) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.service-selector__btn:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 32px #841d1d66,0 0 0 1px #ffffff1a inset;border-color:#a5242499}.service-selector__btn:hover:before{width:300px;height:300px}.service-selector__btn--active{background:linear-gradient(135deg,#841d1de6,#a52424cc);border-color:#ffffff4d;box-shadow:0 8px 32px #841d1d99,0 0 0 1px #fff3 inset;transform:scale(1.03)}.service-selector__btn--active:before{width:300px;height:300px}@media(max-width:768px){.service-selector__grid{grid-template-columns:1fr;gap:15px}.service-selector__btn{padding:20px 15px}.service-selector__title{font-size:1.2rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0b1215,#1a2530);padding:20px}.auth-card{background:#fff;border-radius:16px;padding:40px;max-width:450px;width:100%;box-shadow:0 10px 40px #0000004d}.auth-card__title{text-align:center;color:#2c3e50;margin-bottom:30px;font-size:2rem}@media(max-width:768px){.auth-card{padding:30px 20px}.auth-card__title{font-size:1.6rem}}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333;background-color:#0b1215}#root{display:flex;flex-direction:column;min-height:100vh}main{flex:1}a{color:inherit;text-decoration:none}a:hover{color:#c41e3a}button{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;border:none;padding:.7rem 1.5rem;border-radius:25px;cursor:pointer;transition:all .3s ease}button:hover{transform:translateY(-2px)}button:active{transform:translateY(0)}h1,h2,h3,h4,h5,h6{line-height:1.2}img{max-width:100%;height:auto;display:block}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.section{padding:5rem 2rem}@media(max-width:768px){.section{padding:3rem 2rem}}*{transition:background-color .3s ease,color .3s ease}.section-title{font-family:Brush Script MT,cursive;font-size:3rem;font-style:italic;color:#fff;text-align:center;margin-top:3rem}@media(max-width:768px){.section-title{font-size:2.2rem}}#soins-anchor,#gallery-anchor{position:relative;top:-200px}#infos-anchor{position:relative;top:-100px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);padding:2rem}.login-card{background:#fff;padding:3rem 2rem;border-radius:10px;box-shadow:0 10px 40px #0000004d;max-width:400px;width:100%}.login-card h1{text-align:center;margin-bottom:2rem;color:#333;font-size:1.8rem}.signup-link{text-align:center;margin-top:1.5rem;color:#666}.signup-link a{color:#c41e3a;text-decoration:none;font-weight:600}.signup-link a:hover{text-decoration:underline}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);padding:2rem}.register-card{background:#fff;padding:3rem 2rem;border-radius:10px;box-shadow:0 10px 40px #0000004d;max-width:400px;width:100%}.register-card h1{text-align:center;margin-bottom:2rem;color:#333;font-size:1.8rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media(max-width:480px){.form-row{grid-template-columns:1fr;gap:.5rem}}.login-link{text-align:center;margin-top:1.5rem;color:#666}.login-link a{color:#c41e3a;text-decoration:none;font-weight:600}.login-link a:hover{text-decoration:underline}.dashboard-container{min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);padding:2rem}.dashboard-header{max-width:1200px;margin:0 auto 2rem;display:flex;justify-content:space-between;align-items:center;background:#fff;padding:2rem;border-radius:10px;box-shadow:0 4px 20px #0003}.dashboard-header .user-info h1{color:#333;font-size:2rem;margin:0 0 .5rem}.dashboard-header .user-info .user-email{color:#c41e3a;font-size:1rem;margin:0}.dashboard-header .header-actions{display:flex;gap:1rem;align-items:center}.dashboard-header .header-actions .new-booking-btn{padding:.75rem 1.5rem;background-color:#c41e3a;color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .3s}.dashboard-header .header-actions .new-booking-btn:hover{background-color:#a01630}.dashboard-header .header-actions .logout-btn{padding:.75rem 1.5rem;background-color:#666;color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s}.dashboard-header .header-actions .logout-btn:hover{background-color:#555}.loading-state,.error-state,.empty-state{max-width:600px;margin:4rem auto;background:#fff;padding:4rem 2rem;border-radius:10px;text-align:center;box-shadow:0 4px 20px #0003}.loading-state .spinner,.error-state .spinner,.empty-state .spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #c41e3a;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state p,.error-state p,.empty-state p{color:#666;font-size:1.1rem}.loading-state .error-message,.error-state .error-message,.empty-state .error-message{color:#c41e3a;font-weight:600;margin-bottom:1rem}.loading-state .retry-btn,.error-state .retry-btn,.empty-state .retry-btn{padding:.75rem 1.5rem;background-color:#c41e3a;color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s}.loading-state .retry-btn:hover,.error-state .retry-btn:hover,.empty-state .retry-btn:hover{background-color:#a01630}.loading-state .empty-icon,.error-state .empty-icon,.empty-state .empty-icon{font-size:4rem;margin-bottom:1rem}.loading-state h2,.error-state h2,.empty-state h2{color:#333;font-size:1.8rem;margin-bottom:1rem}.loading-state .book-now-btn,.error-state .book-now-btn,.empty-state .book-now-btn{display:inline-block;margin-top:1.5rem;padding:.75rem 2rem;background-color:#c41e3a;color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .3s}.loading-state .book-now-btn:hover,.error-state .book-now-btn:hover,.empty-state .book-now-btn:hover{background-color:#a01630}.bookings-section{max-width:1200px;margin:0 auto 3rem}.bookings-section .section-title{color:#fff;font-size:1.5rem;margin-bottom:1.5rem;padding-left:.5rem}.bookings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.booking-card{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 4px 20px #0003;transition:transform .3s,box-shadow .3s}.booking-card:hover{transform:translateY(-5px);box-shadow:0 6px 30px #0000004d}.booking-card.upcoming{border-left:5px solid #c41e3a}.booking-card.past{border-left:5px solid #999;opacity:.8}.booking-card .booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.booking-card .booking-header .booking-status{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.booking-card .booking-header .upcoming .booking-status{background-color:#fff3f3;color:#c41e3a}.booking-card .booking-header .past .booking-status{background-color:#f5f5f5;color:#999}.booking-card .booking-header .booking-time{font-size:1.2rem;font-weight:700;color:#333}.booking-card .booking-body .booking-date{font-size:1.1rem;color:#333;margin-bottom:1rem;text-transform:capitalize}.booking-card .booking-body .booking-details p{margin:.5rem 0;color:#666;font-size:.95rem}.booking-card .booking-body .booking-details p strong{color:#333}.booking-card .booking-body .booking-details .service-type,.booking-card .booking-body .booking-details .session-type{padding:.5rem 0;border-top:1px solid #eee}.booking-card .booking-body .booking-details .service-type:first-child{border-top:none}.upcoming .booking-status{background-color:#fff3f3;color:#c41e3a}.past .booking-status{background-color:#f5f5f5;color:#999}.dashboard-footer{max-width:1200px;margin:3rem auto 0;text-align:center}.dashboard-footer .back-link{color:#fff;text-decoration:none;font-size:1rem;transition:color .3s}.dashboard-footer .back-link:hover{color:#c41e3a}@media(max-width:768px){.dashboard-container{padding:1rem}.dashboard-header{flex-direction:column;gap:1.5rem;text-align:center}.dashboard-header .header-actions{flex-direction:column;width:100%}.dashboard-header .header-actions .new-booking-btn,.dashboard-header .header-actions .logout-btn{width:100%}.bookings-grid{grid-template-columns:1fr}}.session-type-selector{margin-bottom:0;animation:slideInUp .6s cubic-bezier(.4,0,.2,1);background:#1a253066;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(132,29,29,.3);border-radius:16px;padding:15px;box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff0d inset;transition:all .4s ease}.session-type-selector:hover{transform:translateY(-2px);box-shadow:0 12px 40px #841d1d33,0 0 0 1px #ffffff14 inset;border-color:#841d1d80}.session-type-selector__title{font-size:1.15rem;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#fff;text-align:center;margin-bottom:10px;letter-spacing:.5px;position:relative;padding-bottom:10px}.session-type-selector__title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:50px;height:2px;background:linear-gradient(90deg,transparent,#841D1D,transparent);border-radius:2px}.session-type-selector__description{font-size:.85rem;color:#fff9;text-align:center;margin-bottom:15px;font-style:italic;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.4}.session-type-selector__options{display:flex;gap:12px;justify-content:center;max-width:600px;margin:0 auto;flex-wrap:wrap}.session-type-selector__option{flex:1 1 auto;min-width:180px;max-width:350px;background:linear-gradient(135deg,#1a253099,#0b1215cc);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(132,29,29,.4);border-radius:14px;padding:14px 12px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;color:#fff;min-height:75px;justify-content:center;overflow:hidden}.session-type-selector__option:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(132,29,29,.3) 0%,transparent 70%);transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.session-type-selector__option:only-child{flex:0 1 auto;max-width:350px}.session-type-selector__option:first-child:nth-last-child(2),.session-type-selector__option:first-child:nth-last-child(2)~.session-type-selector__option{flex:1 1 45%;max-width:260px}.session-type-selector__option:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 10px 28px #841d1d66,0 0 0 1px #ffffff1a inset;border-color:#a5242499}.session-type-selector__option:hover:before{width:300px;height:300px}.session-type-selector__option--active{background:linear-gradient(135deg,#841d1de6,#a52424cc);border-color:#ffffff4d;box-shadow:0 8px 28px #841d1d99,0 0 0 1px #fff3 inset;transform:scale(1.03)}.session-type-selector__option--active:before{width:300px;height:300px}.session-type-selector__option-label{font-size:.95rem;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;text-align:center;line-height:1.2}.session-type-selector__option-price{font-size:1.15rem;font-weight:700;color:#fff;margin-top:4px;padding:4px 12px;background:linear-gradient(135deg,#841d1d80,#a524244d);border-radius:10px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #841d1d4d,0 0 0 1px #ffffff0d inset;letter-spacing:.3px}.session-type-selector__option-check{position:absolute;top:10px;right:10px;background:linear-gradient(135deg,#fff,#f0f0f0);color:#841d1d;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;box-shadow:0 4px 12px #0000004d;animation:checkPop .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes checkPop{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}@media(max-width:768px){.session-type-selector__options{flex-direction:column;gap:15px}.session-type-selector__option{min-height:70px;padding:15px}.session-type-selector__title{font-size:1.2rem}}.reservation-page{display:flex;flex-direction:column;min-height:100vh;background:#0b1215;position:relative;overflow-x:hidden}.reservation-page:before{content:"";position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(132,29,29,.15) 0%,transparent 70%);border-radius:50%;animation:float 20s ease-in-out infinite;pointer-events:none}.reservation-page:after{content:"";position:absolute;bottom:-30%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(132,29,29,.1) 0%,transparent 70%);border-radius:50%;animation:float 15s ease-in-out infinite reverse;pointer-events:none}.reservation-page__main{flex:1;padding:80px 20px 60px;margin-top:20px;position:relative;z-index:1}.reservation-page__container{max-width:1400px;margin:0 auto;padding:0 20px}.reservation-page__selection-row{display:grid;grid-template-columns:1fr auto 1fr;gap:0;margin-bottom:20px;align-items:center}@media(max-width:968px){.reservation-page__selection-row{grid-template-columns:1fr;gap:15px}}.reservation-page__selection-row--fade-in{animation:fadeInScale .8s cubic-bezier(.4,0,.2,1)}.reservation-page__selection-col{min-height:150px;position:relative}.reservation-page__selection-col--slide-in{animation:slideInRight .7s cubic-bezier(.34,1.56,.64,1)}.reservation-page__connector-horizontal{display:flex;align-items:center;justify-content:center;padding:0 8px}@media(max-width:968px){.reservation-page__connector-horizontal{display:none}}.reservation-page__connector-line{width:40px;height:2px;background:linear-gradient(90deg,#841d1d33,#841d1d99,#841d1d33)}.reservation-page__connector-vertical{display:flex;align-items:center;justify-content:center;margin:15px 0;opacity:0;animation:fadeIn .6s ease-out .3s forwards}@media(max-width:968px){.reservation-page__connector-vertical{margin:10px 0}}.reservation-page__connector-line-v{width:2px;height:40px;background:linear-gradient(180deg,#841d1d33,#841d1d99,#841d1d33)}.reservation-page__section{padding:20px 0;margin-bottom:30px;animation:slideInUp .4s ease-out}.reservation-page__date-picker{margin:0 auto;animation:slideInDown .4s ease-out}.reservation-page__service-selection{margin-bottom:40px;animation:slideInUp .4s ease-out}.reservation-page__service-title{font-size:1.2rem;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#fff;text-align:center;margin-bottom:20px;letter-spacing:.5px;position:relative;padding-bottom:12px}.reservation-page__service-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:50px;height:2px;background:linear-gradient(90deg,transparent,#841D1D,transparent);border-radius:2px}.reservation-page__services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;max-width:900px;margin:0 auto}.reservation-page__service-btn{background:linear-gradient(135deg,#1a2530,#0b1215);border:2px solid #841D1D;border-radius:12px;padding:25px 20px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;color:#fff}.reservation-page__service-btn:hover{transform:translateY(-4px);box-shadow:0 8px 24px #841d1d4d;border-color:#a52424}.reservation-page__service-btn--active{background:linear-gradient(135deg,#841d1d,#a52424);border-color:#fff;box-shadow:0 8px 24px #841d1d80}.reservation-page__service-icon{font-size:2.5rem}.reservation-page__service-name{font-size:1.1rem;font-weight:600;text-align:center;line-height:1.3}.reservation-page__service-check{position:absolute;top:10px;right:10px;background:#fff;color:#841d1d;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem}.reservation-page__date-section{margin-bottom:15px;animation:slideInDown .6s cubic-bezier(.4,0,.2,1);background:#1a253066;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(132,29,29,.3);border-radius:16px;padding:15px;box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff0d inset;transition:all .4s ease}.reservation-page__date-section:hover{transform:translateY(-2px);box-shadow:0 12px 40px #841d1d33,0 0 0 1px #ffffff14 inset;border-color:#841d1d80}.reservation-page__slots-section{margin-bottom:15px;animation:slideInUp .6s cubic-bezier(.4,0,.2,1);background:#1a253066;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(132,29,29,.3);border-radius:16px;padding:15px;box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff0d inset;transition:all .4s ease}.reservation-page__slots-section:hover{transform:translateY(-2px);box-shadow:0 12px 40px #841d1d33,0 0 0 1px #ffffff14 inset;border-color:#841d1d80}.reservation-page__slots-container{background:transparent;border:none;border-radius:0;padding:0}.reservation-page__title{font-family:Brush Script MT,cursive;font-size:3rem;font-style:italic;color:#fff;margin:0 0 10px;text-align:center}@media(max-width:768px){.reservation-page__title{font-size:2.2rem}}.reservation-page__subtitle{font-size:1.1rem;color:#ffffffb3;text-align:center;margin:0 0 2rem}.reservation-page__services{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}.reservation-page__error{background:#f8d7daf2;border:2px solid #f5c6cb;border-radius:12px;padding:30px;text-align:center;color:#721c24;margin:2rem auto;max-width:600px}.reservation-page__error p{margin-bottom:20px;font-size:1.1rem}.reservation-page__link{display:inline-block;background:#841d1d;color:#fff;padding:12px 24px;border-radius:25px;text-decoration:none;font-weight:600;transition:all .3s ease}.reservation-page__link:hover{background:#a52424;transform:translateY(-2px)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(60px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0) translate(0) rotate(0)}33%{transform:translateY(-30px) translate(20px) rotate(5deg)}66%{transform:translateY(20px) translate(-15px) rotate(-3deg)}}@media(max-width:768px){.reservation-page__services-grid{grid-template-columns:1fr;gap:15px}.reservation-page__service-btn{padding:20px 15px}.reservation-page__service-title{font-size:1.2rem}.reservation-page__slots-container{padding:20px 15px}}@media(max-width:768px){.reservation-page__main{padding:20px 10px}.reservation-page__section{padding:20px;margin-bottom:20px}.reservation-page__title{font-size:1.8rem}.reservation-page__info-card{padding:20px}.reservation-page__info-card h3{font-size:1.1rem}.reservation-page__info-card ul li{font-size:.95rem}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Arial,sans-serif;background-color:#0b1215;color:#fff;overflow-x:hidden;width:100%}#root{position:relative}.container{max-width:1200px;margin:0 auto;padding:0 20px}main{position:relative;z-index:1}
