.hospitals-hero{background:linear-gradient(135deg,#867cd7,#605dba);min-height:400px;padding-top:60px;position:relative}.hero-bg-overlay{display:none}.hospitals-hero .badge{background:hsla(0,0%,100%,.2)!important;color:#fff!important;border:1px solid hsla(0,0%,100%,.3);font-weight:500}.hospitals-hero h1{color:#fff;font-weight:600}.hospitals-hero .lead{color:hsla(0,0%,100%,.9)}.hospitals-search-group{background:#fff;border-radius:50px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.1);border:none}.hospitals-search-group:focus-within{box-shadow:0 6px 25px rgba(0,0,0,.15)}.hospitals-search-group .input-group-text{background:transparent;border:none;padding-left:1.25rem}.hospitals-search-group .input-group-text i{color:#999}.hospitals-search-group .form-control{font-size:.95rem;color:#333}.hospitals-search-group .form-control::placeholder{color:#aaa}.hospitals-search-group .form-control:focus{box-shadow:none}.hospitals-search-group .btn-primary{border-radius:0 50px 50px 0;background:#f5f5f5;border:none;font-weight:500;padding:.75rem 1.5rem;color:#555}.hospitals-search-group .btn-primary:hover{background:#eee;color:#333}.category-filter-wrapper{padding:0 1rem}.category-filter-wrapper .d-flex{flex-wrap:wrap}@media (max-width:767.98px){.category-filter-wrapper{padding:0;margin:0 -1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.category-filter-wrapper::-webkit-scrollbar{display:none}.category-filter-wrapper .d-flex{flex-wrap:nowrap;justify-content:flex-start!important;padding:0 1rem;width:max-content;min-width:100%}}.hospital-filter-btn{display:inline-flex;align-items:center;padding:.5rem 1.25rem;border:1px solid #e0e0e0;border-radius:50px;background:#fff;color:#666;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.hospital-filter-btn:hover{background:#f8f8f8;border-color:#ccc;color:#333}.hospital-filter-btn.active{background:#f0f0f0;border-color:#bbb;color:#333}.hospital-card{position:relative;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #eee;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:all .3s ease;animation:fadeInUp .5s ease-out both;display:flex;flex-direction:column}.hospital-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,0,0,.08);border-color:#ddd}.hospital-card-image{position:relative;overflow:hidden;background:#f9f9f9;height:200px;padding:0}.hospital-card-image .card-img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.hospital-card:hover .hospital-card-image .card-img{transform:scale(1.05)}.hot-badge{left:10px;background:#ff6b6b;color:#fff;padding:4px 10px;border-radius:12px;font-size:.65rem;font-weight:600;letter-spacing:.3px}.favorite-btn,.hot-badge{position:absolute;top:10px;z-index:2}.favorite-btn{right:10px;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #eee;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.favorite-btn i{font-size:1rem;color:#ccc;transition:color .2s ease}.favorite-btn:hover{border-color:#ddd}.favorite-btn:hover i{color:#e57373}.favorite-btn.active{background:#fff5f5;border-color:#ffcdd2}.favorite-btn.active i{color:#e57373}.favorite-btn:disabled{opacity:.5;cursor:not-allowed}.hospital-logo-badge{position:absolute;top:176px;left:16px;width:48px;height:48px;border-radius:10px;background:#fff;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden;z-index:3;display:flex;align-items:center;justify-content:center;padding:4px}.hospital-card-body{padding:1.75rem 1.125rem 1.125rem;display:flex;flex-direction:column;flex-grow:1}.category-tag{display:inline-block;padding:3px 10px;background:#f5f5f5;color:#888;border-radius:4px;font-size:.7rem;font-weight:500;margin-bottom:.75rem;align-self:flex-start}.hospital-name{font-size:1rem;font-weight:600;margin-bottom:.5rem;line-height:1.4}.hospital-name a{color:#333;text-decoration:none;transition:color .2s ease}.hospital-name a:hover{color:#867cd7}.hospital-desc{font-size:.8rem;color:#888;line-height:1.5;margin-bottom:.875rem;flex-grow:1}.hospital-stats{display:flex;gap:1rem;padding:.625rem 0;border-top:1px solid #f0f0f0;margin-bottom:.75rem}.stat-item{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#999}.stat-item i{font-size:.85rem;color:#bbb}.view-details-btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1rem;background:#f8f8f8;color:#555;border-radius:8px;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .2s ease}.view-details-btn:hover{background:#867cd7;color:#fff}.view-details-btn i{transition:transform .2s ease}.view-details-btn:hover i{transform:translateX(2px)}.empty-state{padding:3rem 2rem}.empty-state-icon{width:90px;height:90px;margin:0 auto;background:#f5f5f5;border-radius:50%;display:flex;align-items:center;justify-content:center}.empty-state-icon i{font-size:2.25rem;color:#bbb}.empty-state h4{color:#444;font-weight:600}.empty-state p{color:#888}.btn-soft-primary{background:#f5f5f5!important;color:#666!important;border:none!important;font-weight:500}.btn-soft-primary:hover{background:#eee!important;color:#333!important}.spinner-border.text-primary{color:#867cd7!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:991.98px){.hospitals-hero{min-height:360px;padding-top:50px}.hospitals-hero h1{font-size:2rem}}@media (max-width:767.98px){.hospitals-hero{min-height:300px;padding-top:40px}.hospitals-hero .container{padding-left:10%;padding-right:10%}.hospitals-hero .col-lg-8,.hospitals-hero .col-xl-7{max-width:100%;flex:0 0 100%;padding-left:0;padding-right:0}.hospitals-hero h1{font-size:1.1rem;white-space:nowrap}.hospitals-hero .lead{font-size:.75rem;line-height:1.5;padding-left:0;padding-right:0}.hospitals-hero .search-form{max-width:100%!important;margin-bottom:3rem}.hospitals-search-group{border-radius:50px}.hospitals-search-group .input-group-text{padding:.5rem .75rem}.hospitals-search-group .form-control{padding:.5rem 0;font-size:.85rem}.hospitals-search-group .btn-primary{border-radius:0 50px 50px 0;padding:.5rem 1rem;font-size:.85rem}.hospital-filter-btn{padding:.4rem 1rem;font-size:.8rem;flex-shrink:0;white-space:nowrap}.hospital-card{border-radius:10px}.hospital-card-body{padding:1rem}.hospital-name{font-size:.95rem}}@media (max-width:575.98px){.hospitals-hero .container{padding-left:10%;padding-right:10%}.hospitals-hero h1{font-size:.95rem}.hospitals-hero .lead{font-size:.7rem}.hospital-filter-btn{padding:.35rem .875rem;font-size:.75rem;flex-shrink:0;white-space:nowrap}.hospital-card-image{height:180px;padding:0}.hospital-logo-badge{top:156px;width:42px;height:42px;left:12px}.hospital-card-body{padding:.875rem}.category-tag{font-size:.65rem}.hospital-name{font-size:.9rem}.hospital-desc{font-size:.75rem}.view-details-btn{padding:.5rem .875rem;font-size:.75rem}}.hospital-info-section{margin-bottom:.5rem}.hospital-info-section .display-6{font-weight:700;color:#2d3047;letter-spacing:-.01em}.hospital-info-section .badge.bg-soft-primary{background:rgba(134,124,215,.1)!important;color:#867cd7!important;border:1px solid rgba(134,124,215,.18);font-weight:600}.hospital-info-section .badge.bg-soft-secondary{background:#f5f4f8!important;color:#6b7280!important;border:1px solid #e8e5f0}.hospital-info-section+.col-lg-4 .card{border:1px solid #f0eef5!important}.hospital-info-section+.col-lg-4 .btn-primary{background:linear-gradient(135deg,#867cd7,#605dba)!important;border:none;box-shadow:0 4px 16px rgba(134,124,215,.2)}.hospital-info-section+.col-lg-4 .btn-primary:hover{box-shadow:0 6px 24px rgba(134,124,215,.3);transform:translateY(-1px)}.hospital-info-section~section .card.rounded-4{transition:all .28s cubic-bezier(.25,.46,.45,.94)}.hospital-info-section~section .card.rounded-4:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.08)!important}.hospital-info-section~section .badge.bg-soft-warning{background:rgba(255,193,7,.12)!important;color:#d4a600!important;font-weight:600;border:1px solid rgba(255,193,7,.18)}.alert-soft-primary{background:linear-gradient(135deg,rgba(134,124,215,.06),rgba(134,124,215,.02))!important;border:1px solid rgba(134,124,215,.12)!important}.related-hospital-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #eee;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:all .3s ease;display:flex;flex-direction:column}.related-hospital-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,0,0,.08);border-color:#ddd}.related-hospital-image{background:#f9f9f9;display:flex;align-items:center;justify-content:center;padding:1.25rem;overflow:hidden}.related-hospital-img{width:auto;height:auto;max-width:100%;max-height:70px;object-fit:contain;transition:transform .4s ease}.related-hospital-card:hover .related-hospital-img{transform:scale(1.03)}.related-hospital-placeholder{font-size:2.5rem;color:#ccc}.related-hospital-body{padding:1rem;display:flex;flex-direction:column;flex-grow:1}.related-hospital-category{display:inline-block;padding:3px 10px;background:#f5f5f5;color:#888;border-radius:4px;font-size:.7rem;font-weight:500;margin-bottom:.5rem;align-self:flex-start}.related-hospital-name{font-size:.95rem;font-weight:600;margin-bottom:.5rem;line-height:1.4}.related-hospital-name a{color:#333;text-decoration:none;transition:color .2s ease}.related-hospital-name a:hover{color:#867cd7}.related-hospital-stats{display:flex;gap:1rem;padding:.5rem 0;border-top:1px solid #f0f0f0;margin-bottom:.75rem}.related-stat{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#999}.related-stat i{font-size:.85rem;color:#bbb}.related-view-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .875rem;background:#f8f8f8;color:#555;border-radius:8px;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .2s ease;margin-top:auto}.related-view-btn:hover{background:#867cd7;color:#fff}.related-view-btn i{transition:transform .2s ease}.related-view-btn:hover i{transform:translateX(2px)}@media (max-width:767.98px){.related-hospital-card{border-radius:10px}.related-hospital-body{padding:.875rem}.related-hospital-name{font-size:.9rem}}@media (max-width:575.98px){.related-hospital-image{padding:1rem}.related-hospital-img{max-height:60px}.related-hospital-category{font-size:.65rem}.related-hospital-name{font-size:.85rem}.related-view-btn{padding:.4rem .75rem;font-size:.75rem}}