/* IT Service Booking Plugin - Complete Dark Theme */
:root{--itsb-primary-purple:#8b3a9d;--itsb-primary-blue:#2e5090;--itsb-gradient:linear-gradient(135deg,#8b3a9d 0%,#2e5090 100%);--itsb-gradient-light:linear-gradient(135deg,rgba(139,58,157,0.3) 0%,rgba(46,80,144,0.3) 100%)}
.itsb-container{max-width:1100px;margin:0 auto;padding:40px 20px;animation:itsbFadeIn 0.6s ease-out}
@keyframes itsbFadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.itsb-header{text-align:center;margin-bottom:50px}
.itsb-logo{max-width:280px;height:auto;filter:drop-shadow(0 8px 24px rgba(139,58,157,0.5)) drop-shadow(0 4px 12px rgba(255,255,255,0.1))}
.itsb-header h1{font-size:36px;font-weight:700;background:var(--itsb-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px}
.itsb-header p{font-size:16px;color:#0a0118}
.itsb-form-content{background:rgba(20,20,40,0.95);border-radius:16px;padding:48px;box-shadow:0 4px 20px rgba(139,58,157,0.3),0 0 80px rgba(139,58,157,0.2),0 0 40px rgba(46,80,144,0.15);border:1px solid rgba(139,58,157,0.3)}
.itsb-step-indicator{display:flex;justify-content:center;gap:40px;margin-bottom:50px;position:relative}
.itsb-step-indicator::before{content:'';position:absolute;top:16px;left:25%;right:25%;height:2px;background:rgba(139,58,157,0.2);z-index:0}
.itsb-progress-line{position:absolute;top:16px;left:25%;height:2px;background:var(--itsb-gradient);z-index:0;transition:width 0.4s ease;width:0}
.itsb-step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1}
.itsb-step-number{width:32px;height:32px;border-radius:50%;background:rgba(30,30,50,0.8);border:2px solid rgba(139,58,157,0.3);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#888888;transition:all 0.3s ease}
.itsb-step.active .itsb-step-number{background:var(--itsb-gradient);border-color:transparent;color:white}
.itsb-step.completed .itsb-step-number{background:var(--itsb-gradient);border-color:transparent;color:white}
.itsb-step.completed .itsb-step-number::after{content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900}
.itsb-step.completed .itsb-step-number span{display:none}
.itsb-step-label{font-size:13px;color:#888888;font-weight:500}
.itsb-step.active .itsb-step-label{color:#ffffff;font-weight:600}
.itsb-step.completed .itsb-step-label{color:#c0c0c0}
.itsb-form-step{display:none;animation:itsbSlideIn 0.4s ease-out}
.itsb-form-step.active{display:block}
@keyframes itsbSlideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.itsb-form-navigation{display:flex;gap:12px;margin-top:32px;justify-content:space-between}
.itsb-btn-prev,.itsb-btn-next{padding:14px 32px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all 0.3s ease;border:none;display:inline-flex;align-items:center;gap:8px}
.itsb-btn-prev{background:rgba(30,30,50,0.8);color:#c0c0c0;border:1.5px solid rgba(139,58,157,0.3)}
.itsb-btn-prev:hover:not(:disabled){background:rgba(139,58,157,0.2);border-color:var(--itsb-primary-purple);color:#ffffff}
.itsb-btn-next{background:var(--itsb-gradient);color:white;box-shadow:0 4px 12px rgba(139,58,157,0.3)}
.itsb-btn-next:hover:not(:disabled){box-shadow:0 8px 24px rgba(139,58,157,0.4);transform:translateY(-2px)}
.itsb-btn-prev:disabled,.itsb-btn-next:disabled{opacity:0.5;cursor:not-allowed;transform:none}
.itsb-form-section{margin-bottom:48px}
.itsb-section-header{margin-bottom:24px}
.itsb-section-title{font-size:20px;font-weight:600;color:#ffffff;margin-bottom:6px}
.itsb-section-subtitle{font-size:14px;color:#b0b0b0}
.itsb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.itsb-form-group{display:flex;flex-direction:column}
.itsb-form-group.itsb-full-width{grid-column:1/-1}
.itsb-form-group label{font-weight:500;margin-bottom:8px;color:#0a0118;font-size:14px}
.itsb-form-control{padding:12px 16px;border:1.5px solid rgba(139,58,157,0.3);border-radius:8px;font-size:15px;transition:all 0.2s ease;font-family:inherit;color:#ffffff;background:rgba(30,30,50,0.8)}
.itsb-form-control:focus{outline:none;border-color:var(--itsb-primary-purple);box-shadow:0 0 0 3px rgba(139,58,157,0.2);background:rgba(35,35,60,0.9)}
.itsb-form-control::placeholder{color:#7a7a8a}
.itsb-form-control.error{border-color:#ef4444;background:rgba(239,68,68,0.1)}
.itsb-form-control.success{border-color:#10b981}
.itsb-error-message{color:#ef4444;font-size:13px;margin-top:4px;display:none}
.itsb-error-message.show{display:block}
.itsb-char-counter{font-size:12px;color:#888888;text-align:right;margin-top:4px}
.itsb-required-indicator{color:#ef4444;margin-left:2px}
.itsb-phone-group{display:grid;grid-template-columns:120px 1fr;gap:8px}
.itsb-country-select{padding:12px;border:1.5px solid rgba(139,58,157,0.3);border-radius:8px;font-size:14px;cursor:pointer;background:rgba(30,30,50,0.8);color:#ffffff;transition:all 0.2s ease}
.itsb-country-select:focus{outline:none;border-color:var(--itsb-primary-purple);box-shadow:0 0 0 3px rgba(139,58,157,0.2)}
.itsb-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.itsb-service-card{border:1.5px solid rgba(139,58,157,0.3);border-radius:12px;padding:24px;cursor:pointer;transition:all 0.3s ease;background:rgba(30,30,50,0.6);position:relative}
.itsb-service-card:hover{border-color:var(--itsb-primary-purple);box-shadow:0 8px 24px rgba(139,58,157,0.3);transform:translateY(-4px);background:rgba(35,35,60,0.8)}
.itsb-service-card.selected{border-color:var(--itsb-primary-purple);background:linear-gradient(135deg,rgba(139,58,157,0.2) 0%,rgba(46,80,144,0.2) 100%);box-shadow:0 8px 24px rgba(139,58,157,0.4)}
.itsb-service-card.selected::before{content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;top:16px;right:16px;width:24px;height:24px;background:var(--itsb-gradient);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px}
.itsb-service-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,rgba(139,58,157,0.3) 0%,rgba(46,80,144,0.3) 100%);display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:all 0.3s ease}
.itsb-service-card:hover .itsb-service-icon,.itsb-service-card.selected .itsb-service-icon{background:var(--itsb-gradient)}
.itsb-service-icon i{font-size:22px;color:var(--itsb-primary-purple)}
.itsb-service-card:hover .itsb-service-icon i,.itsb-service-card.selected .itsb-service-icon i{color:white}
.itsb-service-card h4{font-size:16px;font-weight:600;margin-bottom:8px;color:#ffffff}
.itsb-service-card p{font-size:13px;color:#b0b0b0;line-height:1.6;margin-bottom:12px}
.itsb-duration{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:rgba(139,58,157,0.2);color:#c0c0c0;border-radius:6px;font-size:12px;font-weight:500}
.itsb-service-card.selected .itsb-duration{background:rgba(139,58,157,0.4);color:#ffffff}
.itsb-calendar-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.itsb-calendar-container{border:1.5px solid rgba(139,58,157,0.3);border-radius:12px;padding:24px;background:rgba(30,30,50,0.6)}
.itsb-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(139,58,157,0.2)}
.itsb-calendar-header h3{font-size:16px;font-weight:600;color:#ffffff}
.itsb-calendar-nav{display:flex;gap:8px}
.itsb-nav-btn{background:rgba(139,58,157,0.2);border:1px solid rgba(139,58,157,0.3);width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;font-size:16px;color:#c0c0c0}
.itsb-nav-btn:hover{background:var(--itsb-gradient);border-color:transparent;color:white}
.itsb-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.itsb-day-name{text-align:center;font-weight:600;font-size:11px;color:#b0b0b0;padding:8px 0;text-transform:uppercase}
.itsb-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;font-size:14px;transition:all 0.2s ease;background:transparent;color:#ffffff;font-weight:500}
.itsb-day:hover:not(.disabled):not(.selected){background:rgba(139,58,157,0.3)}
.itsb-day.disabled{color:#555555;cursor:not-allowed}
.itsb-day.selected{background:var(--itsb-gradient);color:white;font-weight:600;box-shadow:0 2px 8px rgba(139,58,157,0.3)}
.itsb-day.today::after{content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--itsb-primary-purple)}
.itsb-time-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:360px;overflow-y:auto}
.itsb-time-slots::-webkit-scrollbar{width:6px}
.itsb-time-slots::-webkit-scrollbar-track{background:rgba(139,58,157,0.1);border-radius:3px}
.itsb-time-slots::-webkit-scrollbar-thumb{background:rgba(139,58,157,0.4);border-radius:3px}
.itsb-time-slots::-webkit-scrollbar-thumb:hover{background:var(--itsb-primary-purple)}
.itsb-time-slot{padding:12px;border:1.5px solid rgba(139,58,157,0.3);border-radius:8px;text-align:center;cursor:pointer;transition:all 0.2s ease;background:rgba(30,30,50,0.6);font-weight:500;font-size:14px;color:#0a0118}
.itsb-time-slot:hover:not(.disabled){border-color:var(--itsb-primary-purple);background:rgba(139,58,157,0.3)}
.itsb-time-slot.selected{background:var(--itsb-gradient);color:white;border-color:transparent;box-shadow:0 2px 8px rgba(139,58,157,0.3)}
.itsb-time-slot.disabled{color:#555555;cursor:not-allowed;background:rgba(20,20,30,0.4);border-color:rgba(139,58,157,0.15)}
.itsb-success-message{display:none;background:linear-gradient(135deg,rgba(16,185,129,0.2) 0%,rgba(59,130,246,0.2) 100%);border:1.5px solid rgba(16,185,129,0.5);color:#86efac;padding:24px;border-radius:12px;margin-top:24px;text-align:center;box-shadow:0 4px 20px rgba(16,185,129,0.2),0 0 40px rgba(16,185,129,0.1)}
.itsb-success-message.show{display:block}
.itsb-loading{text-align:center;padding:40px}
.itsb-spinner{border:4px solid rgba(139,58,157,0.2);border-top:4px solid var(--itsb-primary-purple);border-radius:50%;width:48px;height:48px;animation:itsbSpin 1s linear infinite;margin:0 auto 16px}
@keyframes itsbSpin{100%{transform:rotate(360deg)}}
@media (max-width:1024px){.itsb-service-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.itsb-container{padding:20px 16px}.itsb-header h1{font-size:28px}.itsb-logo{max-width:220px}.itsb-form-content{padding:32px 24px}.itsb-form-grid{grid-template-columns:1fr}.itsb-calendar-wrapper{grid-template-columns:1fr}.itsb-service-grid{grid-template-columns:1fr}.itsb-time-slots{grid-template-columns:1fr}.itsb-phone-group{grid-template-columns:100px 1fr}.itsb-btn-prev,.itsb-btn-next{padding:12px 24px}}
@media (max-width:480px){.itsb-header h1{font-size:24px}.itsb-logo{max-width:180px}.itsb-form-content{padding:24px 20px}.itsb-btn-prev,.itsb-btn-next{flex:1;padding:12px 16px}.itsb-btn-prev i,.itsb-btn-next i{display:none}}
