.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{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.08;filter:grayscale(40%);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)}.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}.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}}
