.booking-section{position:relative;overflow:hidden}.booking-section .container{z-index:1;position:relative}.booking-grid{opacity:0;grid-template-columns:.85fr 1.15fr;align-items:stretch;gap:clamp(1.5rem,3vw,2.5rem);max-width:1000px;margin:0 auto;transition:opacity .6s,transform .6s;display:grid;transform:translateY(28px)}.booking--visible .booking-grid{opacity:1;transform:translateY(0)}.booking-info{background:var(--gradient-primary);color:var(--color-white);border-radius:var(--card-radius);box-shadow:var(--shadow-card);flex-direction:column;padding:clamp(1.75rem,3vw,2.5rem);display:flex;position:relative;overflow:hidden}.booking-info:before{content:"";filter:blur(20px);background:#c8a95126;border-radius:50%;width:160px;height:160px;position:absolute;top:-40px;right:-40px}.booking-info__icon{background:var(--gradient-gold);width:56px;height:56px;color:var(--color-dark);box-shadow:var(--shadow-gold);z-index:1;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex;position:relative}.booking-info__title{font-family:var(--font-display);font-size:var(--text-h4);color:var(--color-white);z-index:1;margin-bottom:1.25rem;position:relative}.booking-info__list{z-index:1;flex-direction:column;flex:1;gap:.85rem;margin-bottom:1.5rem;display:flex;position:relative}.booking-info__list li{font-size:var(--text-small);color:#ffffffeb;align-items:flex-start;gap:.65rem;line-height:1.45;display:flex}.booking-info__list li svg{color:var(--color-accent-light);flex-shrink:0;margin-top:2px}.booking-info__note{font-size:var(--text-small);color:#fffc;z-index:1;border-top:1px solid #ffffff26;padding-top:1rem;position:relative}.booking-info__link{color:var(--color-accent-light);text-underline-offset:3px;font-weight:600;text-decoration:underline}.booking-info__link:hover{color:var(--color-white)}.booking-form-card{background:var(--color-card-bg);border-radius:var(--card-radius);box-shadow:var(--shadow-card);border:1px solid var(--color-border);padding:clamp(1.5rem,3vw,2.25rem)}.booking-form{flex-direction:column;gap:1.1rem;display:flex}.booking-form__row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.booking-form__alert{color:var(--color-primary-dark);font-size:var(--text-small);background:#b94a6e1a;border:1px solid #b94a6e4d;border-radius:.75rem;align-items:center;gap:.55rem;padding:.75rem 1rem;display:flex}.booking-field{flex-direction:column;gap:.4rem;display:flex;position:relative}.booking-field__label{font-size:var(--text-small);color:var(--color-primary);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.booking-field__label svg{color:var(--color-accent-dark)}.booking-field__optional{font-weight:400;font-size:var(--text-small);color:var(--color-text-light)}.booking-field__input{border:1.5px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-small);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);border-radius:.65rem;padding:.7rem .9rem}.booking-field__input::placeholder{color:var(--color-text-light);opacity:.7}.booking-field__input:focus{border-color:var(--color-accent);background:var(--color-white);outline:none;box-shadow:0 0 0 3px #c8a95126}.booking-field__select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237A1F3D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .9rem center;background-repeat:no-repeat;background-size:12px;padding-right:2.25rem}.booking-field__textarea{resize:vertical;min-height:72px;font-family:var(--font-body)}.booking-field__count{font-size:var(--text-caption);color:var(--color-text-light);pointer-events:none;position:absolute;bottom:.55rem;right:.75rem}.booking-field__error{font-size:var(--text-small);color:var(--color-secondary);font-weight:500}.booking-field--error .booking-field__input{border-color:var(--color-secondary);background:#b94a6e0a}.booking-field--error .booking-field__input:focus{box-shadow:0 0 0 3px #b94a6e1f}.booking-form__submit{width:100%;font-size:var(--text-body);margin-top:.4rem;padding:1rem}.booking-form__submit:disabled{opacity:.7;cursor:not-allowed}.booking-spinner{animation:.8s linear infinite booking-spin}@keyframes booking-spin{to{transform:rotate(360deg)}}.booking-form__hint{text-align:center;font-size:var(--text-small);color:var(--color-text-light)}.booking-success{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 1rem;display:flex}.booking-success__icon{width:84px;height:84px;color:var(--color-whatsapp);background:#25d3661f;border-radius:50%;justify-content:center;align-items:center;animation:.5s both scaleIn;display:flex}.booking-success__title{font-family:var(--font-display);font-size:var(--text-h4);color:var(--color-primary)}.booking-success__text{color:var(--color-text-muted);font-size:var(--text-body);max-width:380px;line-height:1.55}.booking-success__btn{padding:.85rem 2rem}.booking-success__reset{color:var(--color-text-light);font-size:var(--text-small);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:.3rem;text-decoration:underline}.booking-success__reset:hover{color:var(--color-primary)}@media (max-width:820px){.booking-grid{grid-template-columns:1fr}.booking-info{order:2}}@media (max-width:540px){.booking-form__row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.booking-grid{opacity:1;transition:none;transform:none}.booking-spinner,.booking-success__icon{animation:none}}@media (max-width:768px){.booking-grid{grid-template-columns:1fr}.booking-section{padding-top:clamp(2rem,4vw,3rem)}}
