*,:before,:after{box-sizing:border-box}:root{--font-display:"Allura";--font-body:"DM Sans", system-ui, sans-serif;font-family:var(--font-body);color:#1a1530;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f2fb;font-size:16px;line-height:1.5}body{margin:0;padding:0}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);margin:0}p{margin:0}img{max-width:100%;display:block}button{font-family:var(--font-body)}a{color:inherit;text-decoration:none}.side-photos{flex-direction:column;flex-shrink:0;gap:16px;width:200px;padding-top:293px;display:flex}.event{margin-right:1rem}.side-photos--left{align-items:flex-end}.side-photos--right{align-items:flex-start}.side-photos__frame{background:#7c00e61a;border-radius:20px;flex-shrink:0;width:180px;height:210px;overflow:hidden}.side-photos__img{width:100%;height:100%;display:block}@media (width<=1024px){.side-photos{width:150px;padding-top:180px}.side-photos__frame{width:135px;height:160px}}@media (width<=768px){.side-photos{display:none}}.date-item{cursor:pointer;background:#fff;border:1.5px solid #e8e0f5;border-radius:16px;flex-direction:column;gap:10px;padding:16px 20px;transition:border-color .2s,box-shadow .2s;display:flex}.date-item:hover:not(.date-item--disabled){border-color:var(--vipp-primary);box-shadow:0 2px 12px #7c00e614}.date-item--selected{border-color:var(--vipp-primary);background:#7c00e60a}.date-item--disabled{cursor:default;opacity:.6}.date-item__top{align-items:center;gap:12px;display:flex}.date-item__checkbox{appearance:none;cursor:pointer;border:2px solid #c4aee0;border-radius:5px;flex-shrink:0;width:20px;min-width:20px;height:20px;transition:border-color .2s,background .2s;position:relative}.date-item__checkbox:checked{background:var(--vipp-primary);border-color:var(--vipp-primary)}.date-item__checkbox:checked:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.date-item__checkbox:disabled{cursor:not-allowed;border-color:#ddd}.date-item__label{color:var(--vipp-navy);flex:1;font-family:Montserrat,system-ui,sans-serif;font-size:16px;font-weight:600}.date-item--disabled .date-item__label{color:#aaa}.date-item__info{flex-direction:column;flex:1;gap:3px;display:flex}.date-item__date{color:var(--vipp-navy);font-family:Montserrat,system-ui,sans-serif;font-size:15px;font-weight:700}.date-item__theme{color:var(--vipp-text-muted);font-family:Roboto,system-ui,sans-serif;font-size:13px;font-weight:400;line-height:1.4}.date-item--selected .date-item__date{color:var(--vipp-primary)}.date-item--disabled .date-item__date,.date-item--disabled .date-item__theme{color:#aaa}.date-item__badge{color:var(--vipp-primary);white-space:nowrap;background:#7c00e61a;border-radius:20px;flex-shrink:0;padding:4px 12px;font-size:13px;font-weight:600}.date-item__badge--complet{color:#c2410c;background:#fde8d8}.date-item__bar{background:#e5d8f5;border-radius:99px;height:5px;overflow:hidden}.date-item__bar-fill{background:#6b4eff;border-radius:99px;height:100%;transition:width .4s}@media (width<=480px){.date-item{border-radius:12px;padding:12px 14px}.date-item__date{font-size:13px}.date-item__theme{font-size:12px}.date-item__badge{padding:3px 8px;font-size:11px}}.success-modal__overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f05288c;justify-content:center;align-items:center;padding:24px;animation:.2s overlay-in;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.success-modal{text-align:center;background:#fff;border-radius:24px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:440px;padding:56px 48px 48px;animation:.25s cubic-bezier(.34,1.56,.64,1) modal-in;display:flex;position:relative;box-shadow:0 24px 64px #7c00e633}@keyframes modal-in{0%{opacity:0;transform:scale(.88)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.success-modal__close{color:#aaa;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:18px;line-height:1;transition:color .15s,background .15s;position:absolute;top:16px;right:16px}.success-modal__close:hover{color:#333;background:#0000000f}.success-modal__icon{color:#006400;filter:drop-shadow(0 4px 12px #7c00e64d);justify-content:center;align-items:center;margin-bottom:4px;display:flex}.success-modal__title{color:#1a1530;margin:0;font-family:Montserrat,system-ui,sans-serif;font-size:26px;font-weight:800}.success-modal__msg{color:#6b6b8a;max-width:340px;margin:0;font-size:16px;line-height:1.7}.success-modal__bye{color:#7c00e6;margin:0;font-family:Montserrat,system-ui,sans-serif;font-size:18px;font-weight:700}.success-modal__btn{color:#fff;cursor:pointer;letter-spacing:.3px;background:#7c00e6;border:none;border-radius:50px;margin-top:8px;padding:14px 40px;font-family:Montserrat,system-ui,sans-serif;font-size:16px;font-weight:700;transition:opacity .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 18px #7c00e64d}.success-modal__btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 6px 24px #7c00e666}.success-modal__btn:active{transform:translateY(0)}@media (width<=480px){.success-modal{border-radius:18px;padding:48px 24px 36px}.success-modal__title{font-size:22px}.success-modal__msg{font-size:15px}}.reg-form{background:var(--vipp-white);box-sizing:border-box;z-index:2;border:1px solid #7c00e61f;border-radius:20px;flex-direction:column;gap:20px;width:100%;padding:36px 40px;display:flex;box-shadow:0 2px 24px #7c00e612}.reg-form__field{flex-direction:column;gap:6px;display:flex}.reg-form__label{font-family:var(--font-body);letter-spacing:1.4px;color:var(--vipp-primary);text-transform:uppercase;font-size:11px;font-weight:700}.reg-form__input,.reg-form__textarea{width:100%;color:var(--vipp-navy);background:var(--vipp-bg);box-sizing:border-box;border:1.5px solid #ddd6ee;border-radius:10px;outline:none;padding:12px 14px;font-family:Roboto,system-ui,sans-serif;font-size:15px;transition:border-color .2s,box-shadow .2s}.reg-form__input:focus,.reg-form__textarea:focus{border-color:var(--vipp-primary);box-shadow:0 0 0 3px #7c00e61a}.reg-form__textarea{resize:vertical;min-height:110px}.reg-form__row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.reg-form__row--3{grid-template-columns:1fr 1fr 1fr}@media (width<=640px){.reg-form__row,.reg-form__row--3{grid-template-columns:1fr}}.reg-form__tel-wrapper{gap:8px;display:flex}.reg-form__tel-input{flex:1}.reg-form__input--error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.reg-form__field-error{color:#dc2626;margin-top:2px;font-size:13px}.reg-form__paris-check{cursor:pointer;background:#7c00e612;border:1.5px solid #0000;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;transition:background .2s;display:flex}.reg-form__paris-check--active{background:#7c00e61f;border-color:#7c00e640}.reg-form__paris-input{appearance:none;cursor:pointer;background:var(--vipp-white);border:2px solid #7c00e666;border-radius:5px;width:20px;min-width:20px;height:20px;margin-top:1px;transition:background .2s,border-color .2s;position:relative}.reg-form__paris-input:checked{background:var(--vipp-primary);border-color:var(--vipp-primary)}.reg-form__paris-input:checked:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.reg-form__paris-text{color:#4a0099;font-size:15px;font-weight:500;line-height:1.5}.reg-form__divider{border:none;border-top:1px solid #7c00e61a;margin:0}.reg-form__dates-header{justify-content:space-between;align-items:center;display:flex}.reg-form__dates-title{font-family:var(--font-body);letter-spacing:1.5px;color:var(--vipp-primary);text-transform:uppercase;font-size:12px;font-weight:700}.reg-form__dates-counter{color:var(--vipp-text-muted);font-size:14px}.reg-form__dates-counter strong{color:var(--vipp-primary);font-weight:700}.reg-form__dates-info{color:var(--vipp-text-muted);margin-top:-8px;font-size:14px;line-height:1.5}.reg-form__dates-list{flex-direction:column;gap:10px;display:flex}.reg-form__submit{background:var(--vipp-primary);width:100%;color:var(--vipp-white);cursor:pointer;letter-spacing:.3px;border:none;border-radius:50px;padding:16px;font-family:Montserrat,system-ui,sans-serif;font-size:17px;font-weight:700;transition:opacity .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 18px #7c00e64d}.reg-form__submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 6px 24px #7c00e666}.reg-form__submit:active:not(:disabled){transform:translateY(0)}.reg-form__submit:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.reg-form__legal{text-align:center;color:#aaa;font-family:Roboto,system-ui,sans-serif;font-size:13px}@media (width<=768px){.reg-form{width:100%;padding:28px}}@media (width<=480px){.reg-form{border-radius:16px;gap:14px;width:100%;padding:20px 16px}.reg-form__row{grid-template-columns:1fr}.reg-form__input,.reg-form__textarea{padding:10px 12px;font-size:14px}.reg-form__submit{padding:14px;font-size:15px}.reg-form__paris-text{font-size:14px}}.gallery-section{text-align:center;padding:48px 0 64px;transform:translate(-9%)}.gallery-section__header{flex-direction:column;align-items:center;gap:10px;margin-bottom:32px;display:flex}.gallery-section__label{letter-spacing:2px;color:#6b4eff;text-transform:uppercase;font-size:15px;font-weight:600;font-family:var(--font-body)}.gallery-section__underline{background:#6b4eff;border-radius:99px;width:36px;height:3px}.gallery-section__grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.gallery-section__frame{aspect-ratio:1;background:#7c00e614;border-radius:16px;overflow:hidden}.gallery-section__img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.gallery-section__frame:hover .gallery-section__img{transform:scale(1.04)}@media (width<=768px){.gallery-section{padding:32px 0 48px;transform:none}.gallery-section__grid{grid-template-columns:repeat(3,1fr);gap:10px}}@media (width<=480px){.gallery-section{padding:24px 0 40px}.gallery-section__grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-section__label{font-size:10px}}.admin-page{background:var(--vipp-bg);min-height:100vh;font-family:var(--font-body)}.admin-header{background:var(--vipp-white);z-index:10;border-bottom:1px solid #7c00e61a;position:sticky;top:0;box-shadow:0 2px 12px #7c00e60f}.admin-header__inner{align-items:center;gap:24px;max-width:1280px;margin:0 auto;padding:16px 32px;display:flex}.admin-header__back{color:var(--vipp-text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:14px;transition:color .15s;display:flex}.admin-header__back:hover{color:var(--vipp-primary)}.admin-header__title-group{flex-direction:column;gap:2px;display:flex}.admin-header__title{color:var(--vipp-navy);font-family:Montserrat,system-ui,sans-serif;font-size:20px;font-weight:800}.admin-header__subtitle{color:var(--vipp-text-muted);font-size:13px}.admin-body{flex-direction:column;gap:20px;max-width:1280px;margin:0 auto;padding:32px;display:flex}.admin-filters{flex-wrap:wrap;gap:8px;display:flex}.admin-filters__btn{background:var(--vipp-white);color:var(--vipp-text-muted);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-body);border:1.5px solid #e0d7f5;border-radius:50px;align-items:center;gap:8px;padding:8px 16px;transition:all .15s;display:flex}.admin-filters__btn:hover{border-color:var(--vipp-primary);color:var(--vipp-primary)}.admin-filters__btn--active{background:var(--vipp-primary);border-color:var(--vipp-primary);color:#fff}.admin-filters__btn--active .admin-filters__count{color:#fff;background:#ffffff40}.admin-filters__count{color:var(--vipp-primary);background:#7c00e61a;border-radius:50px;padding:1px 8px;font-size:12px;font-weight:700}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.admin-search{flex:1;min-width:240px;position:relative}.admin-search__icon{color:var(--vipp-text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.admin-search__input{width:100%;color:var(--vipp-navy);background:var(--vipp-white);font-size:15px;font-family:var(--font-body);box-sizing:border-box;border:1.5px solid #e0d7f5;border-radius:12px;outline:none;padding:11px 14px 11px 40px;transition:border-color .2s,box-shadow .2s}.admin-search__input:focus{border-color:var(--vipp-primary);box-shadow:0 0 0 3px #7c00e61a}.admin-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-actions__count{color:var(--vipp-primary);font-size:14px;font-weight:600}.admin-actions__btn{cursor:pointer;font-size:14px;font-weight:700;font-family:var(--font-body);border:none;border-radius:50px;align-items:center;gap:6px;padding:10px 20px;transition:opacity .15s,transform .1s;display:flex}.admin-actions__btn:hover{opacity:.88;transform:translateY(-1px)}.admin-actions__btn:active{transform:translateY(0)}.admin-actions__btn--confirm{background:var(--vipp-primary);color:#fff;box-shadow:0 4px 14px #7c00e64d}.admin-actions__btn--refuse{color:#c0392b;background:#fde8e8}.admin-toast{color:var(--vipp-primary);background:#fff;border:1.5px solid #7c00e633;border-radius:12px;align-self:flex-start;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;animation:.25s toast-in;display:flex;box-shadow:0 4px 16px #7c00e61f}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.admin-table-wrapper{background:var(--vipp-white);border:1px solid #7c00e61a;border-radius:16px;overflow-x:auto;box-shadow:0 2px 16px #7c00e60f}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table__th{text-align:left;letter-spacing:1.2px;text-transform:uppercase;color:var(--vipp-text-muted);white-space:nowrap;background:#faf8ff;border-bottom:1px solid #7c00e614;padding:14px 16px;font-size:11px;font-weight:700}.admin-table__th--check{width:48px}.admin-table__row{cursor:pointer;transition:background .12s}.admin-table__row:hover{background:#7c00e608}.admin-table__row--selected{background:#7c00e60f!important}.admin-table__td{vertical-align:middle;color:var(--vipp-text);border-bottom:1px solid #7c00e60d;padding:14px 16px}.admin-table__td--check{width:48px}.admin-table__td--email{color:var(--vipp-text-muted);font-size:13px}.admin-table__name{color:var(--vipp-navy);font-weight:600}.admin-table__date{color:var(--vipp-navy);font-size:13px;font-weight:600;display:block}.admin-table__theme{color:var(--vipp-text-muted);max-width:280px;margin-top:2px;font-size:12px;line-height:1.4;display:block}.admin-table__empty{text-align:center;color:var(--vipp-text-muted);padding:48px;font-size:15px}.admin-badge{white-space:nowrap;border-radius:50px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.admin-badge--en_attente{color:#92400e;background:#fef3c7}.admin-badge--confirmee{color:#065f46;background:#d1fae5}.admin-badge--refusee{color:#991b1b;background:#fee2e2}.admin-badge--paris{color:var(--vipp-primary);background:#7c00e61a}.admin-checkbox{width:18px;height:18px;accent-color:var(--vipp-primary);cursor:pointer}.admin-footer-note{color:var(--vipp-text-muted);text-align:right;font-size:13px}@media (width<=768px){.admin-body{padding:20px 16px}.admin-header__inner{padding:12px 16px}.admin-table__th--hide-sm,.admin-table__td--hide-sm{display:none}}@media (width<=480px){.admin-table__td--email,.admin-table__th:nth-child(3){display:none}}:root{--vipp-primary:#7c00e6;--vipp-primary-lt:#7c00e61a;--vipp-primary-bd:#7c00e659;--vipp-gold:gold;--vipp-navy:#000b36;--vipp-bg:#f5f2fb;--vipp-text:#1f2937;--vipp-text-muted:#6b7280;--vipp-white:#fff;--vipp-gradient:linear-gradient(90deg, #7c00e6, #b44fff)}.page__hero{box-sizing:border-box;width:100%;margin-bottom:4%}@font-face{font-family:Eyesome Script;src:url(/fonts/Eyesome%20Script.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}.page{background:var(--vipp-bg);width:100%;min-height:100vh;font-family:Roboto,system-ui,sans-serif}.page__body{align-items:flex-start;gap:24px;max-width:1200px;margin:0 auto;padding:0 24px 64px;display:flex}.page__center{flex-direction:column;flex:1;gap:32px;width:80%;min-width:0;padding-top:48px;display:flex}.hero-text{text-align:center;flex-direction:column;align-items:center;gap:16px;width:80%;display:flex}.hero-text__season{color:#6b4eff;font-size:15px;font-weight:500;font-family:var(--font-body);flex-direction:column;align-items:center;gap:8px;display:flex}.soiree_peniche{letter-spacing:.09em;text-transform:uppercase;color:#0f0b1f;font-family:Playfair;font-size:3rem;font-weight:700;line-height:1.1}.sous_peniche{letter-spacing:.02em;font-family:Eyesome Script;font-size:3rem;font-weight:700;line-height:1.1;transform:translateY(-26px)}.hero-text__season-line{background:#6b4eff;border-radius:99px;width:36px;height:3px}.hero-text__title{color:#0f0b1f;letter-spacing:1px;margin:0;font-family:Allura;font-size:72px;font-weight:700;line-height:1.1}.hero-text__title em{color:#6b4eff;font-style:normal}.hero-text__desc{color:#6b6375;max-width:500px;margin:0;font-size:16px;font-weight:400;line-height:1.7}.tour-eiffel-bg{object-fit:contain;object-position:bottom right;pointer-events:none;z-index:1;opacity:.18;width:auto;height:90vh;position:fixed;bottom:0;right:0;transform:scale(1.2)}@media (width<=1024px){.page__body{gap:16px;padding:0 16px 48px}.hero-text__title{font-size:62px}}@media (width<=768px){.page{position:relative}.page:after{content:"";opacity:.12;pointer-events:none;z-index:1;background-image:url(/tour-eiffel.png);background-position:100% 100%;background-repeat:no-repeat;background-size:auto 100vh;width:100%;position:fixed;top:0;bottom:0;right:-50%;transform:translate(10%)}.tour-eiffel-bg{display:none}.page__body{flex-direction:column;align-items:center;gap:0;padding:0 24px 48px}.page__center{gap:24px;width:100%;max-width:640px;padding-top:32px}.hero-text{width:100%}.hero-text__title{font-size:52px}.hero-text__desc{font-size:15px}}@media (width<=480px){.page:after{opacity:.12;background-position:bottom;background-size:cover;width:100%;height:100%;inset:0}.tour-eiffel-bg{display:none}.page__body{padding:0 16px 40px}.page__center{gap:20px;padding-top:24px}.hero-text{gap:12px}.hero-text__season{font-size:10px}.hero-text__title{font-size:40px}.hero-text__desc{font-size:14px}}
