/* Branch profile page styles extracted from Blade */
:root { --primary-color: #4361ee; --primary-dark: #3a56d4; --primary-light: #eef2ff; --secondary-color: #6c757d; --accent-color: #f72585; --success-color: #10b981; --light-bg: #f8f9fa; --danger-color: #ef4444; --warning-color: #f59e0b; --border-radius: 10px; --border-radius-lg: 16px; --border-radius-xl: 24px; --box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.04); --box-shadow-lg: 0 6px 16px rgba(0, 0, 0, 0.07), 0 3px 8px rgba(0, 0, 0, 0.05); --box-shadow-hover: 0 8px 20px rgba(67, 97, 238, 0.1), 0 4px 10px rgba(67, 97, 238, 0.08); --transition: all 0.3s ease; --card-bg: #ffffff; --text-primary: #333333; --text-secondary: #6b7280; --text-muted: #9ca3af; }
.profile-card { border-radius: var(--border-radius-lg); box-shadow: var(--box-shadow); overflow: hidden; transition: var(--transition); border: none; background-color: var(--card-bg); margin-bottom: 20px; }
.profile-card .card-body { padding: 20px; }
.profile-card:hover { box-shadow: var(--box-shadow-hover); transform: translateY(-5px); }
.profile-img { width: 180px; height: 180px; border-radius: 50%; object-fit: cover; object-position: center; box-shadow: 0 8px 20px rgba(67, 97, 238, 0.15); border: 5px solid white; transition: var(--transition); position: relative; }
.profile-img:hover { transform: scale(1.05); }
.profile-img::after { content: ''; position: absolute; top: -8px; left: -8px; right: -8px; bottom: -8px; border-radius: 50%; border: 2px dashed var(--primary-light); animation: rotate 30s linear infinite; pointer-events: none; opacity: 0; transition: opacity 0.5s ease; }
.profile-img:hover::after { opacity: 1; }
@keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.profile-info h4 { font-weight: 600; color: #333; margin-bottom: 5px; }
.provider-type { display: inline-block; background-color: var(--primary-light); color: var(--primary-color); padding: 4px 12px; border-radius: 30px; font-weight: 500; margin-bottom: 10px; box-shadow: 0 2px 10px rgba(67, 97, 238, 0.1); letter-spacing: 0.3px; position: relative; overflow: hidden; font-size: 0.85rem; }
.provider-type::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent); transition: 0.5s; }
.provider-type:hover::before { left: 100%; }
.profile-contact { display: flex; align-items: center; color: var(--text-secondary); margin-bottom: 8px; padding: 6px 10px; border-radius: var(--border-radius); background-color: var(--primary-light); transition: var(--transition); }
.profile-contact:hover { transform: translateX(5px); box-shadow: 0 2px 8px rgba(67, 97, 238, 0.1); }
.profile-contact i { width: 24px; color: var(--primary-color); font-size: 1.1rem; }
.profile-services { padding: 12px 15px; border-radius: var(--border-radius); margin-top: 15px; background-color: #f9fafb; border-left: 4px solid var(--primary-color); }
.nav-tabs { border-bottom: none; margin-bottom: 15px; gap: 6px; display: flex; padding: 3px; background-color: var(--primary-light); border-radius: var(--border-radius-lg); }
.nav-tabs .nav-link { color: var(--text-secondary); border: none; padding: 8px 18px; font-weight: 600; position: relative; transition: var(--transition); border-radius: var(--border-radius); z-index: 1; }
.nav-tabs .nav-link.active { color: var(--primary-color); background-color: var(--card-bg); box-shadow: var(--box-shadow); }
.nav-tabs .nav-link:hover:not(.active) { color: var(--primary-dark); background-color: #e9ecef; text-decoration: none; }
.nav-tabs .nav-link:focus { outline: none; box-shadow: 0 0 0 2px rgba(67, 97, 238, 0.25); }
.tab-content { padding: 0; }
.tab-pane { animation: fadeIn 0.3s ease; }
@keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } }
.service-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.service-tag { background-color: white; padding: 10px 18px; border-radius: 30px; font-size: 0.85rem; color: var(--text-secondary); transition: var(--transition); border: 1px solid #eee; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); position: relative; overflow: hidden; z-index: 1; }
.service-tag::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: var(--primary-color); border-radius: 30px; transform: scale(0); transition: transform 0.4s ease; z-index: -1; }
.service-tag:hover { color: white; border-color: transparent; transform: translateY(-3px); box-shadow: 0 5px 15px rgba(67, 97, 238, 0.2); }
.service-tag:hover::before { transform: scale(1); }
.branch-card { border-radius: var(--border-radius-lg); border: none; box-shadow: var(--box-shadow); transition: var(--transition); margin-bottom: 25px; position: relative; overflow: hidden; }
.branch-card::before { content: ''; position: absolute; left: 0; top: 0; height: 100%; width: 6px; background: linear-gradient(to bottom, var(--primary-color), var(--primary-dark)); border-radius: 3px; }
.branch-card:hover { transform: translateY(-5px); box-shadow: var(--box-shadow-hover); }
.specialist-card { border-radius: var(--border-radius-lg); border: 1px solid #e5e7eb; background: white; transition: var(--transition); margin-bottom: 20px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); }
.specialist-card:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08); border-color: var(--primary-color); }
.specialist-header { display: flex; align-items: center; padding: 24px; gap: 20px; }
.specialist-avatar { flex-shrink: 0; }
.specialist-image { width: 70px; height: 70px; border-radius: 50%; object-fit: cover; border: 3px solid var(--primary-light); transition: var(--transition); }
.specialist-info { flex: 1; min-width: 0; }
specialist-info.full-width { flex: 1; }
.specialist-name { font-size: 1.25rem; font-weight: 700; color: var(--text-primary); margin: 0 0 6px 0; line-height: 1.3; }
.specialist-title { font-size: 0.95rem; color: #555; margin-bottom: 3px; font-weight: 500; letter-spacing: 0.2px; }
.specialist-actions { flex-shrink: 0; }
.specialist-profile-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: var(--primary-color); color: white; border-radius: 50%; text-decoration: none; transition: var(--transition); box-shadow: 0 2px 8px rgba(67, 97, 238, 0.2); }
.specialist-profile-btn:hover { background: var(--primary-dark); transform: scale(1.1); box-shadow: 0 4px 12px rgba(67, 97, 238, 0.3); color: white; text-decoration: none; }
.specialist-profile-btn i { font-size: 0.9rem; }
.calendar-container { margin-top: 0; border-radius: 0; overflow: hidden; background-color: #f8f9fa; padding: 20px; border: none; border-top: 1px solid #e5e7eb; min-height: 400px; }
.carousel-days { position: relative; overflow: hidden; }
.carousel-inner { overflow: hidden; width: 100%; border-radius: var(--border-radius); background-color: white; padding: 10px 45px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03); position: relative; z-index: 10; min-height: 350px; }
.carousel-item.active { overflow: hidden; display: flex; transition: transform 0.5s ease; width: 100%; }
.day-column { padding: 0 5px; width: calc((100% - 80px) / 7); flex: 0 0 auto; }
.day-header { text-align: center; padding: 8px 0; border-bottom: 1px dashed #eee; margin-bottom: 10px; }
.day-name { font-weight: 600; margin-bottom: 2px; color: var(--text-primary); font-size: 0.95rem; }
.day-date { color: var(--text-secondary); font-size: 0.8rem; }
.time-slots { display: flex; flex-direction: column; gap: 4px; }
.time-slot { background: linear-gradient(145deg, var(--primary-color), var(--primary-dark)); color: white; padding: 6px 4px; border-radius: var(--border-radius); text-align: center; border: none; width: 100%; font-weight: 500; font-size: 0.85rem; letter-spacing: 0.2px; transition: var(--transition); position: relative; overflow: hidden; box-shadow: 0 2px 8px rgba(67, 97, 238, 0.15); }
.time-slot:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(67, 97, 238, 0.25); }
.time-slot::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); transition: 0.5s; }
.time-slot:hover::before { left: 100%; }
.time-slot.closed { background: linear-gradient(145deg, #9ca3af, #6b7280); text-decoration: line-through; cursor: not-allowed; opacity: 0.7; box-shadow: none; font-size: 0.8rem; }
.time-slot.closed:hover { background: linear-gradient(145deg, #8d8d8d, #6b7280); transform: none; box-shadow: none; }
.show-more { color: var(--primary-color); text-decoration: none; text-align: center; font-size: 0.75rem; padding: 6px; display: block; margin-top: 8px; font-weight: 500; transition: var(--transition); }
.show-more:hover { color: var(--primary-dark); }
.carousel-control-prev, .carousel-control-next { width: 40px; height: 100%; background: rgba(0, 0, 0, 0.03); opacity: 1; border: none; position: absolute; top: 0; transform: none; border-radius: 0; display: flex; align-items: center; justify-content: center; transition: var(--transition); box-shadow: none; z-index: 20; }
.carousel-control-prev:hover, .carousel-control-next:hover { background: rgba(0, 0, 0, 0.08); }
.carousel-control-prev { left: 0; background: rgba(255, 255, 255, 0.9); }
.carousel-control-next { right: 0; background: rgba(255, 255, 255, 0.9); }
.carousel-control-prev i, .carousel-control-next i { color: var(--primary-color); font-size: 16px; }
.calendar-not-found { background-color: #fff; padding: 1.5rem; border-radius: var(--border-radius); text-align: center; max-width: 350px; margin: 20px auto; box-shadow: var(--box-shadow); border: 1px dashed #e5e7eb; }
.calendar-not-found i { font-size: 2.5rem; color: var(--warning-color); margin-bottom: 0.8rem; opacity: 0.9; }
.calendar-not-found h4 { color: var(--text-primary); margin-bottom: 8px; font-weight: 600; font-size: 1.1rem; }
.calendar-not-found p { color: var(--text-secondary); font-size: 0.9rem; margin-bottom: 0; }
.no-appointments { text-align: center; padding: 15px 8px; color: var(--text-secondary); font-size: 0.8rem; background-color: #f8f9fa; border-radius: var(--border-radius); border: 1px dashed #dee2e6; }
.no-appointments i { display: block; font-size: 1.2rem; margin-bottom: 5px; color: var(--warning-color); opacity: 0.7; }
.no-appointments span { font-weight: 500; }
.action-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 8px 20px; font-size: 0.9rem; border-radius: 50px; font-weight: 600; letter-spacing: 0.3px; transition: var(--transition); position: relative; overflow: hidden; z-index: 1; text-decoration: none !important; }
.action-btn:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(67, 97, 238, 0.25); text-decoration: none !important; }
.action-btn i { font-size: 0.9rem; }
.action-btn.outline { border: 1px solid var(--primary-color); background-color: transparent; text-decoration: none; }
.action-btn.outline:hover { text-decoration: none !important; color: white; border-color: transparent; background: linear-gradient(145deg, var(--primary-color), var(--primary-dark)); box-shadow: 0 8px 20px rgba(67, 97, 238, 0.25); }
.btn-primary { background: linear-gradient(145deg, var(--primary-color), var(--primary-dark)); border: none; box-shadow: 0 4px 15px rgba(67, 97, 238, 0.2); }
.btn-primary:hover { box-shadow: 0 8px 20px rgba(67, 97, 238, 0.25); transform: translateY(-3px); text-decoration: none !important; }
@media (max-width: 992px) { .profile-img { width: 150px; height: 150px; margin-bottom: 20px; } .day-column { width: calc((100% - 80px) / 3); } }
@media (max-width: 768px) {
.carousel-inner { padding: 10px !important; }
.day-column { width: 100% !important; padding: 0 !important; margin: 0 !important; }
.time-slots { padding: 0 !important; width: 100% !important; margin: 0 !important; }
.time-slot { width: 100% !important; min-width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; margin: 0 !important; }
.profile-info { text-align: center; }
.action-btn { width: 100%; margin-bottom: 10px; }
.specialist-header { flex-direction: column; text-align: center; gap: 15px; padding: 20px; }
specialist-image { width: 80px; height: 80px; }
.specialist-name { font-size: 1.1rem; }
}
@media (max-width: 576px) { .nav-tabs .nav-link { padding: 10px 15px; font-size: 0.9rem; } .service-tag { font-size: 0.8rem; padding: 6px 12px; } }
.carousel-control-prev, .carousel-control-next { width: 40px; height: 100%; background: rgba(255, 255, 255, 0.9); opacity: 1; border: none; position: absolute; top: 0; display: flex !important; align-items: center; justify-content: center; z-index: 20; }
.carousel-control-prev { left: 0; }
.carousel-control-next { right: 0; }
.carousel-control-prev i, .carousel-control-next i { color: var(--primary-color); font-size: 16px; }
/* Short URL Styles */
.short-url-container .input-group { border-radius: 8px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.short-url-container .form-control { border: 1px solid #e0e6ed; background-color: #f8f9fa; font-family: 'Courier New', monospace; font-size: 0.9rem; border-radius: 8px 0 0 8px !important; border-right: none; }
.short-url-container .form-control:focus { border-color: var(--primary-color); box-shadow: 0 0 0 0.2rem rgba(67, 97, 238, 0.25); background-color: white; border-right: none; }
.short-url-container .btn { border-left: none; border-radius: 0 8px 8px 0 !important; border: 1px solid #e0e6ed; border-left: none; }
.short-url-container .btn:hover { border-color: var(--primary-color); }
.action-btn { border-radius: var(--border-radius); padding: 10px 20px; font-weight: 500; transition: var(--transition); }
.action-btn:hover { transform: translateY(-2px); box-shadow: var(--box-shadow-lg); }
.action-btn.outline { background-color: transparent; }
action-btn.outline:hover { background-color: var(--primary-color); color: white; }
/* Appointment Modal styles */
#appointmentModal .modal-dialog{max-width:600px!important;width:95%!important;margin:1.75rem auto!important;}@media (max-width:576px){#appointmentModal .modal-dialog{margin:1rem auto!important;}}#appointmentModal .modal-content{border-radius:12px;border:none;box-shadow:0 10px 25px rgba(0,0,0,.1),0 6px 10px rgba(0,0,0,.07);overflow:hidden;}#appointmentModal .modal-header{background-color:#4361ee;color:#fff;border-bottom:none;padding:1rem 1.5rem;}#appointmentModal .modal-title{font-weight:600;font-size:1.25rem;}#appointmentModal .btn-close{filter:invert(1) grayscale(100%) brightness(200%);}#appointmentModal .modal-body{padding:1.5rem;}#appointmentModal .form-label{font-weight:500;color:#343a40;margin-bottom:.5rem;font-size:.9rem;}#appointmentModal .form-control{font-size:.95rem;border-radius:8px;border:1px solid #ced4da;padding:.75rem 1rem;}#appointmentModal .form-control:focus{border-color:#4361ee;box-shadow:0 0 0 .2rem rgba(67,97,238,.25);}#appointmentModal .modal-footer{border-top:1px solid #e9ecef;padding:1rem 1.5rem;background-color:#fbfcfe;}#appointmentModal .btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff;}#appointmentModal .btn-secondary:hover{background-color:#5a6268;border-color:#545b62;}#appointmentModal .btn-primary{background-color:#4361ee;border-color:#4361ee;}#appointmentModal .btn-primary:hover{background-color:#3a56d4;border-color:#3a56d4;}.appointment-info-box{background-color:#f8f9fa;padding:1rem 1.25rem;border-radius:8px;border:1px solid #e9ecef;margin-bottom:1.5rem;}.appointment-info-box .info-item{display:flex;align-items:center;color:#5a6572;font-size:.9rem;padding:.75rem 0;}.appointment-info-box .info-item:not(:last-child){border-bottom:1px dashed #e0e0e0;}.appointment-info-box .info-item i{color:#4361ee;font-size:1.1rem;}.appointment-info-box .info-item .icon-container{width:40px;display:inline-block;text-align:center;margin-right:1rem;flex-shrink:0;flex-grow:0;flex-basis:40px;}.appointment-info-box .info-item strong{color:#212529;margin-right:.3rem;font-weight:500;}

