.appointment-section{padding:5rem 0;background:linear-gradient(135deg,#fffdf0,#fdfaeb);position:relative;overflow:hidden}.appointment-section:before{content:"";position:absolute;top:0;right:0;width:300px;height:300px;background:radial-gradient(circle,rgba(212,175,55,.1) 0,transparent 70%);border-radius:50%;z-index:0}.appointment-wrapper{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem;position:relative;z-index:1}@media (max-width:1024px){.appointment-wrapper{grid-template-columns:1fr;gap:3rem}}.appointment-form-container{background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 20px 60px rgba(0,0,0,.08);border:1px solid rgba(212,175,55,.1);position:relative;overflow:hidden}.appointment-form-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#d4af37,#b8941f,#d4af37);background-size:200% 100%;animation:shimmer 3s linear infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.form-header{text-align:center;margin-bottom:2.5rem}.header-decoration{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.decoration-line{width:40px;height:2px;background:linear-gradient(90deg,transparent,#d4af37,transparent)}.decoration-icon{color:#d4af37;font-size:1.2rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.form-subtitle{display:inline-block;color:#d4af37;font-size:.9rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:1rem;background:rgba(212,175,55,.1);padding:.5rem 1.5rem;border-radius:50px}.form-title{font-family:Philosopher,serif;font-size:2.2rem;color:#1a1a1a;margin-bottom:1rem;line-height:1.2;font-weight:700}.form-description{color:#666;font-size:1rem;line-height:1.6;max-width:500px;margin:0 auto}.submit-message{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-radius:10px;margin-bottom:2rem;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.submit-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.submit-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.message-icon{font-size:1.2rem}.message-text{font-size:.95rem;font-weight:500}.form-section{margin-bottom:2.5rem}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.section-icon{color:#d4af37;font-size:1.2rem}.section-title{font-family:Philosopher,serif;font-size:1.3rem;color:#333;font-weight:600;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem}@media (max-width:640px){.form-grid{grid-template-columns:1fr;gap:1rem}}.form-group{margin-bottom:1.5rem}.form-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:#333;margin-bottom:.5rem}.form-label .anticon{color:#d4af37;font-size:.9rem}.form-input{width:100%;padding:.875rem 1rem;border:1.5px solid #e8e3d0;border-radius:10px;font-size:1rem;color:#333;background:#fff;transition:all .3s ease;outline:none}.form-input:focus{border-color:#d4af37;box-shadow:0 0 0 3px rgba(212,175,55,.1)}.form-input::placeholder{color:#999}.service-select-container{position:relative}.service-select{width:100%;padding:.875rem 1rem;border:1.5px solid #e8e3d0;border-radius:10px;font-size:1rem;color:#333;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;transition:all .3s ease}.service-select:focus{border-color:#d4af37;box-shadow:0 0 0 3px rgba(212,175,55,.1)}.select-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#d4af37;pointer-events:none;font-size:.8rem;transition:transform .3s ease}.service-select:focus+.select-arrow{transform:translateY(-50%) rotate(180deg)}.date-input-wrapper,.time-input-wrapper{position:relative}.date-input,.time-input{width:100%;padding:.875rem 1rem .875rem 3rem;border:1.5px solid #e8e3d0;border-radius:10px;font-size:1rem;color:#333;background:#fff;outline:none;transition:all .3s ease}.date-input:focus,.time-input:focus{border-color:#d4af37;box-shadow:0 0 0 3px rgba(212,175,55,.1)}.date-icon,.time-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#d4af37;font-size:1rem;pointer-events:none}.message-textarea{width:100%;padding:.875rem 1rem;border:1.5px solid #e8e3d0;border-radius:10px;font-size:1rem;color:#333;background:#fff;resize:vertical;min-height:120px;outline:none;transition:all .3s ease;font-family:inherit}.message-textarea:focus{border-color:#d4af37;box-shadow:0 0 0 3px rgba(212,175,55,.1)}.message-textarea::placeholder{color:#999}.textarea-counter{text-align:right;font-size:.8rem;color:#999;margin-top:.5rem}.form-submission{margin-top:2.5rem;padding-top:2rem;border-top:1px solid #f0f0f0}.terms-agreement{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:2rem}.terms-checkbox{width:18px;height:18px;margin-top:.2rem;accent-color:#d4af37;cursor:pointer}.terms-label{font-size:.9rem;color:#666;line-height:1.4;cursor:pointer}.terms-label a{color:#d4af37;text-decoration:underline}.submit-button{width:100%;padding:1.125rem 2rem;background:linear-gradient(135deg,#d4af37,#b8941f);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;position:relative;overflow:hidden}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px rgba(212,175,55,.3)}.submit-button:disabled{opacity:.7;cursor:not-allowed}.submit-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s ease}.submit-button:hover:not(:disabled):before{left:100%}.button-arrow,.button-icon{font-size:1.2rem}.button-arrow{transition:transform .3s ease}.submit-button:hover .button-arrow{transform:translateX(4px)}.loading-spinner{width:20px;height:20px;border-radius:50%;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.confirmation-note{text-align:center;font-size:.85rem;color:#666;margin-top:1rem;line-height:1.4}.schedule-container{display:flex;flex-direction:column;gap:2rem}.schedule-image-wrapper{position:relative;border-radius:20px;overflow:hidden;height:500px}.schedule-image{object-fit:cover;transition:transform .5s ease}.schedule-image-wrapper:hover .schedule-image{transform:scale(1.05)}.image-gradient-overlay{position:absolute;bottom:0;left:0;width:100%;height:60%;background:linear-gradient(transparent,rgba(0,0,0,.4));z-index:1}.schedule-fallback{width:100%;height:100%;background:linear-gradient(135deg,#d4af37,#b8941f);display:flex;align-items:center;justify-content:center}.fallback-content{text-align:center;color:#fff}.fallback-icon{font-size:3rem;margin-bottom:1rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fallback-title{font-family:Philosopher,serif;font-size:2rem;margin-bottom:.5rem;font-weight:700}.fallback-text{font-size:1rem;opacity:.9;letter-spacing:1px}.schedule-card{position:absolute;bottom:2rem;left:2rem;right:2rem;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:1.5rem;z-index:2;box-shadow:0 10px 30px rgba(0,0,0,.1)}.schedule-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.schedule-icon{font-size:1.8rem}.schedule-title{flex:1 1}.schedule-label{display:block;color:#d4af37;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:.25rem}.schedule-heading{font-family:Philosopher,serif;font-size:1.3rem;color:#333;margin:0;font-weight:600}.schedule-hours{margin-bottom:1.5rem}.hour-item{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.hour-item:last-child{margin-bottom:0}.hour-dot{width:8px;height:8px;background:#d4af37;border-radius:50%;flex-shrink:0}.hour-text{font-size:.95rem;color:#555;line-height:1.4}.schedule-notes{display:flex;gap:1rem;flex-wrap:wrap}.note-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(212,175,55,.1);border-radius:20px}.note-icon{font-size:.9rem}.note-text{font-size:.8rem;color:#b8941f;font-weight:500}.quick-info-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}@media (max-width:640px){.quick-info-cards{grid-template-columns:1fr}}.info-card{background:#fff;border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;border:1px solid #e8e3d0;transition:all .3s ease}.info-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.1);border-color:#d4af37}.info-card-icon{font-size:1.5rem;width:50px;height:50px;background:rgba(212,175,55,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-card-content{flex:1 1}.info-card-title{font-family:Philosopher,serif;font-size:1rem;color:#333;margin-bottom:.25rem;font-weight:600}.info-card-text{font-size:.85rem;color:#666;line-height:1.4}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.confetti{position:absolute;width:10px;height:10px;background:#d4af37;top:-10px;animation:confetti-fall 3s linear forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(1turn);opacity:0}}.date-input:focus,.form-input:focus,.message-textarea:focus,.service-select:focus,.time-input:focus{animation:glow 1.5s infinite alternate}@keyframes glow{0%{box-shadow:0 0 0 3px rgba(212,175,55,.1)}to{box-shadow:0 0 0 3px rgba(212,175,55,.2),0 0 20px rgba(212,175,55,.1)}}@media (max-width:768px){.appointment-section{padding:3rem 0}.appointment-form-container,.schedule-container{padding:1.5rem}.form-title{font-size:1.8rem}.schedule-card{left:1rem;right:1rem;bottom:1rem}}@media (max-width:480px){.appointment-form-container{padding:1.25rem}.form-title{font-size:1.6rem}.section-title{font-size:1.1rem}.submit-button{padding:1rem 1.5rem;font-size:1rem}}