.reservation-page{padding-top:80px}.reservation-hero{position:relative;background:linear-gradient(135deg,#00875a0d,#1a365d08);padding:var(--space-lg) 0;text-align:center;overflow:hidden}.reservation-hero .hero-bg-image{z-index:0}.reservation-hero .container{position:relative;z-index:1}.hero-content{max-width:600px;margin:0 auto}.hero-badge{display:inline-block;padding:var(--space-xs) var(--space-md);background:#00875a1a;color:var(--color-primary);border-radius:var(--radius-full);font-size:.875rem;font-weight:600;margin-bottom:var(--space-sm)}.hero-content h1{margin-bottom:var(--space-xs);font-size:clamp(1.75rem,4vw,2.5rem)}.hero-content p{font-size:1rem;color:var(--color-text-light);max-width:500px;margin:0 auto}.reservation-content{padding:var(--space-lg) 0 var(--space-2xl)}.product-selection{margin-bottom:var(--space-lg)}.product-selection h2{text-align:center;margin-bottom:var(--space-md);font-size:1.5rem}.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md);max-width:900px;margin:0 auto}.loading-products{grid-column:1 / -1;text-align:center;padding:var(--space-lg);color:var(--color-text-light);display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.loading-products .spinner{width:24px;height:24px;animation:spin 1s linear infinite}.product-card-select{background:var(--color-bg);border:3px solid rgba(26,54,93,.1);border-radius:var(--radius-xl);padding:var(--space-md);cursor:pointer;transition:all var(--transition-fast);text-align:left}.product-card-select:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.product-card-select.selected{border-color:var(--color-primary);background:#00875a0d}.product-card-select h3{font-size:1.1rem;margin-bottom:var(--space-xs);color:var(--color-text)}.product-card-select .product-description{font-size:.875rem;color:var(--color-text-light);margin-bottom:var(--space-sm);line-height:1.5}.product-card-select .product-pricing{display:flex;gap:var(--space-md);padding-top:var(--space-sm);border-top:1px solid rgba(26,54,93,.1)}.product-card-select .price-item{display:flex;flex-direction:column}.product-card-select .price-label{font-size:.75rem;color:var(--color-text-light)}.product-card-select .price-value{font-size:1.1rem;font-weight:700;color:var(--color-primary)}.product-card-select .quantity-badge{display:inline-block;margin-top:var(--space-xs);padding:2px 8px;background:#00875a1a;color:var(--color-primary);border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.selected-product-badge{display:flex;align-items:center;justify-content:space-between;background:#00875a1a;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.selected-product-badge #selected-product-name{font-weight:600;color:var(--color-primary)}.change-product-link{background:none;border:none;color:var(--color-text-light);font-size:.875rem;cursor:pointer;text-decoration:underline}.change-product-link:hover{color:var(--color-text)}.reservation-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:start}.calendar-section{background:var(--color-bg);border-radius:var(--radius-xl);padding:var(--space-md);box-shadow:var(--shadow-lg);min-width:0;overflow:hidden}.calendar-header{text-align:center;margin-bottom:var(--space-md)}.calendar-header h2{font-family:var(--font-body);font-size:1.25rem;margin-bottom:var(--space-xs)}.calendar-header p{color:var(--color-text-light);font-size:.875rem}.date-picker-row{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.calendar-nav{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--color-bg-alt);border-radius:var(--radius-md);color:var(--color-text);transition:all var(--transition-fast);flex-shrink:0}.calendar-nav:hover{background:var(--color-primary);color:var(--color-text-inverse)}.date-picker-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:var(--color-bg-alt);border:2px solid transparent;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.date-picker-btn:hover{border-color:var(--color-primary);background:#00875a0d}.date-picker-btn svg{color:var(--color-primary)}.hidden-date-input{position:absolute;opacity:0;pointer-events:none}.calendar-scroll-wrapper{position:relative;margin-bottom:var(--space-md);border-radius:var(--radius-lg);background:var(--color-bg-alt);padding:var(--space-sm);width:100%;max-width:100%;overflow-x:auto}.calendar-scroll{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;padding:var(--space-xs) 0;scrollbar-width:thin;scrollbar-color:var(--color-primary-light) transparent;-webkit-overflow-scrolling:touch}.calendar-scroll::-webkit-scrollbar{height:6px}.calendar-scroll::-webkit-scrollbar-track{background:transparent}.calendar-scroll::-webkit-scrollbar-thumb{background:var(--color-primary-light);border-radius:3px}.day-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:110px;height:130px;padding:var(--space-md);background:var(--color-bg);border:3px solid rgba(26,54,93,.1);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.day-card:hover:not(.disabled){border-color:var(--color-primary);background:#00875a0d}.day-card.selected{background:var(--color-primary, #00875a)!important;border-color:var(--color-primary, #00875a)!important;color:#fff!important}.day-card.selected .day-name,.day-card.selected .day-number,.day-card.selected .day-month{color:#fff!important}.day-card.disabled{opacity:.4;cursor:not-allowed}.day-card.today{border-color:var(--color-secondary-light)}.day-name{font-size:.95rem;font-weight:600;text-transform:uppercase;color:var(--color-text-light);margin-bottom:6px}.day-number{font-size:2rem;font-weight:700;color:var(--color-text);line-height:1}.day-month{font-size:.85rem;color:var(--color-text-light);margin-top:6px}.calendar-legend{display:flex;justify-content:center;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid rgba(26,54,93,.1);margin-bottom:var(--space-md);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--space-xs);font-size:.8rem;color:var(--color-text-light)}.legend-dot{width:12px;height:12px;border-radius:var(--radius-sm)}.legend-dot.available{background:var(--color-bg-alt);border:1px solid var(--color-text-light)}.legend-dot.selected{background:var(--color-primary)}.legend-dot.unavailable{background:#1a365d1a}.selected-dates{padding:var(--space-sm);background:#00875a0d;border-radius:var(--radius-lg)}.selected-dates h4{font-family:var(--font-body);font-size:.9rem;margin-bottom:var(--space-xs)}.selected-dates .no-dates{color:var(--color-text-light);font-size:.85rem;font-style:italic}.dates-list{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-xs)}.dates-list li{display:inline-flex;align-items:center;gap:6px;background:var(--color-primary);color:var(--color-text-inverse);padding:4px 10px;border-radius:var(--radius-full);font-size:.8rem;font-weight:500}.dates-list li button{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:#ffffff4d;border-radius:50%;color:inherit;cursor:pointer;font-size:.7rem;line-height:1}.dates-list li button:hover{background:#ffffff80}.form-section{position:sticky;top:100px}.form-card{background:var(--color-bg);border-radius:var(--radius-xl);padding:var(--space-md);box-shadow:var(--shadow-lg)}.form-card h2{font-family:var(--font-body);font-size:1.25rem;margin-bottom:var(--space-xs)}.form-subtitle{color:var(--color-text-light);font-size:.9rem;margin-bottom:var(--space-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.form-group{margin-bottom:var(--space-sm)}.form-group label{display:block;font-weight:500;margin-bottom:4px;font-size:.9rem}.required{color:var(--color-primary)}.form-group input,.form-group textarea{width:100%;padding:10px 14px;border:2px solid rgba(26,54,93,.1);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;transition:all var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00875a1a}.form-group textarea{resize:vertical;min-height:80px}.form-summary{background:var(--color-bg-alt);border-radius:var(--radius-lg);padding:var(--space-sm);margin-bottom:var(--space-sm)}.summary-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.9rem}.summary-row:not(:last-child){border-bottom:1px solid rgba(26,54,93,.1)}.summary-row span:last-child{font-weight:600;color:var(--color-primary)}.summary-row.caution span:last-child{color:var(--color-accent)}.tva-mention{text-align:center;color:var(--color-text-light);font-size:.75rem;font-style:italic;margin-top:var(--space-sm);margin-bottom:0}.btn-full{width:100%}#submit-btn:disabled{opacity:.5;cursor:not-allowed}#submit-btn .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-note{display:flex;align-items:flex-start;gap:var(--space-xs);margin-top:var(--space-sm);padding:var(--space-xs);background:#2c52821a;border-radius:var(--radius-md);font-size:.8rem;color:var(--color-secondary)}.form-note svg{flex-shrink:0;margin-top:1px}@media(max-width:900px){.reservation-grid{grid-template-columns:1fr}.form-section{position:static}}@media(max-width:600px){.reservation-hero{padding:var(--space-md) 0}.calendar-section,.form-card{padding:var(--space-sm);border-radius:var(--radius-lg)}.form-row{grid-template-columns:1fr}.day-card{min-width:70px;height:90px}.day-number{font-size:1.3rem}.day-name{font-size:.75rem}.calendar-legend{gap:var(--space-sm)}.legend-item{font-size:.75rem}.products-grid{grid-template-columns:1fr}}
