/* =====================================
   FIND DOCTORS PRO
===================================== */

.directory-hero{

background:linear-gradient(135deg,#0d6efd,#0a58ca);

padding:70px 40px;

border-radius:20px;

color:#fff;

margin:40px 0;

text-align:center;

}

.directory-hero h1{

font-size:48px;

margin-bottom:20px;

}

.directory-hero p{

font-size:20px;

opacity:.95;

margin-bottom:35px;

}

.doctor-search{

display:grid;

grid-template-columns:2fr 1fr 1fr 1fr auto;

gap:15px;

max-width:1200px;

margin:auto;

}

.doctor-search input,

.doctor-search select{

padding:15px;

border:none;

border-radius:10px;

font-size:16px;

}

.doctor-search button{

padding:15px 25px;

border:none;

cursor:pointer;

border-radius:10px;

background:#fff;

color:#0d6efd;

font-weight:bold;

transition:.3s;

}

.doctor-search button:hover{

transform:translateY(-2px);

}

.directory-stats{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

margin:50px 0;

}

.stat-card{

background:#fff;

padding:30px;

border-radius:15px;

text-align:center;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.3s;

}

.stat-card:hover{

transform:translateY(-5px);

}

.stat-card h2{

font-size:42px;

color:#0d6efd;

margin-bottom:10px;

}

.stat-card p{

color:#666;

}

/* =====================================
   DOCTOR GRID
===================================== */

.doctor-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:30px;

margin:50px 0;

}

.doctor-card{

background:#ffffff;

border-radius:18px;

overflow:hidden;

box-shadow:0 12px 30px rgba(0,0,0,.08);

transition:.35s;

display:flex;

flex-direction:column;

height:100%;

}

.doctor-card:hover{

transform:translateY(-8px);

box-shadow:0 18px 40px rgba(0,0,0,.12);

}

.doctor-image{

position:relative;

background:#eef5ff;

text-align:center;

padding:25px;

}

.doctor-image img{

width:170px;

height:170px;

border-radius:50%;

object-fit:cover;

border:5px solid #ffffff;

box-shadow:0 6px 20px rgba(0,0,0,.10);

}

.verified-tag{

position:absolute;

top:18px;

right:18px;

background:#28a745;

color:#ffffff;

padding:8px 14px;

font-size:13px;

font-weight:700;

border-radius:30px;

box-shadow:0 4px 10px rgba(0,0,0,.15);

}

.doctor-content{

padding:25px;

display:flex;

flex-direction:column;

flex-grow:1;

}

.doctor-content h3{

font-size:24px;

margin-bottom:12px;

}

.doctor-content h3 a{

color:#222;

text-decoration:none;

}

.doctor-content h3 a:hover{

color:#0d6efd;

}

.doctor-qualification{

font-size:16px;

font-weight:600;

color:#0d6efd;

margin-bottom:15px;

}

.doctor-specialty{

margin-bottom:18px;

}

.doctor-specialty span{

display:inline-block;

background:#eef4ff;

color:#0d6efd;

padding:6px 12px;

margin:4px;

border-radius:30px;

font-size:13px;

font-weight:600;

}

.doctor-meta{

margin-top:10px;

}

.doctor-meta p{

margin-bottom:12px;

font-size:15px;

color:#555;

display:flex;

align-items:center;

gap:8px;

}

.doctor-meta strong{

color:#222;

}

.doctor-buttons{

margin-top:auto;

display:flex;

gap:12px;

padding-top:20px;

}

.doctor-buttons .btn{

flex:1;

text-align:center;

margin:0;

}

.secondary-btn{

background:#ffffff;

border:2px solid #0d6efd;

color:#0d6efd;

}

.secondary-btn:hover{

background:#0d6efd;

color:#ffffff;

}

/* =====================================
   PAGINATION
===================================== */

.pagination{

display:flex;

justify-content:center;

align-items:center;

gap:12px;

margin:60px 0;

flex-wrap:wrap;

}

.pagination .page-numbers{

display:inline-block;

padding:12px 18px;

background:#ffffff;

border:1px solid #e5e7eb;

border-radius:8px;

color:#333;

font-weight:600;

text-decoration:none;

transition:.3s;

}

.pagination .page-numbers:hover{

background:#0d6efd;

color:#ffffff;

border-color:#0d6efd;

}

.pagination .current{

background:#0d6efd;

color:#ffffff;

border-color:#0d6efd;

}

/* =====================================
   EMPTY RESULTS
===================================== */

.no-doctors{

text-align:center;

padding:70px 30px;

background:#ffffff;

border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

margin:60px 0;

}

.no-doctors h2{

font-size:34px;

margin-bottom:20px;

color:#0d6efd;

}

.no-doctors p{

font-size:18px;

color:#666;

}

/* =====================================
   FAQ
===================================== */

.directory-faq{

margin:80px 0;

}

.directory-faq .card{

padding:45px;

border-radius:18px;

}

.directory-faq h2{

font-size:36px;

margin-bottom:30px;

color:#0d6efd;

}

.directory-faq h3{

margin-top:30px;

margin-bottom:12px;

font-size:24px;

}

.directory-faq p{

font-size:17px;

line-height:1.9;

color:#555;

}

/* =====================================
   CTA
===================================== */

.directory-cta{

margin:80px 0;

}

.directory-cta .card{

padding:60px;

text-align:center;

background:linear-gradient(135deg,#0d6efd,#0a58ca);

color:#ffffff;

border-radius:20px;

}

.directory-cta h2{

font-size:40px;

margin-bottom:20px;

color:#ffffff;

}

.directory-cta p{

font-size:20px;

margin-bottom:30px;

opacity:.95;

}

.directory-cta .btn{

background:#ffffff;

color:#0d6efd;

font-weight:bold;

padding:15px 35px;

}

.directory-cta .btn:hover{

background:#f2f2f2;

}

/* =====================================
   SEARCH EFFECTS
===================================== */

.doctor-search input:focus,

.doctor-search select:focus{

outline:none;

box-shadow:0 0 0 4px rgba(13,110,253,.25);

}

.doctor-search input,

.doctor-search select{

transition:.3s;

}

/* =====================================
   NICE SCROLL ANIMATION
===================================== */

.doctor-card{

animation:fadeUp .5s ease;

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(20px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/* =====================================
   RESPONSIVE LAYOUT
===================================== */

@media(max-width:1200px){

.doctor-search{

grid-template-columns:1fr 1fr;

}

.doctor-search button{

grid-column:1/-1;

}

}

@media(max-width:768px){

.directory-hero{

padding:45px 20px;

}

.directory-hero h1{

font-size:34px;

}

.directory-hero p{

font-size:17px;

}

.doctor-search{

grid-template-columns:1fr;

}

.directory-stats{

grid-template-columns:repeat(2,1fr);

}

.doctor-grid{

grid-template-columns:1fr;

}

.doctor-buttons{

flex-direction:column;

}

.doctor-content{

padding:20px;

}

}

@media(max-width:480px){

.directory-stats{

grid-template-columns:1fr;

}

.directory-hero h1{

font-size:28px;

}

.directory-cta h2{

font-size:28px;

}

}

/* =====================================
   FEATURED RIBBON
===================================== */

.featured-doctor{

position:absolute;

left:-35px;

top:18px;

background:#ff9800;

color:#fff;

padding:8px 45px;

font-size:12px;

font-weight:bold;

transform:rotate(-45deg);

box-shadow:0 4px 10px rgba(0,0,0,.2);

}

/* =====================================
   CONSULTATION BADGES
===================================== */

.consult-online{

display:inline-block;

background:#d1fae5;

color:#047857;

padding:6px 12px;

border-radius:25px;

font-size:13px;

font-weight:600;

margin-top:10px;

}

.consult-offline{

display:inline-block;

background:#dbeafe;

color:#1d4ed8;

padding:6px 12px;

border-radius:25px;

font-size:13px;

font-weight:600;

margin-top:10px;

}

.consult-both{

display:inline-block;

background:#ede9fe;

color:#6d28d9;

padding:6px 12px;

border-radius:25px;

font-size:13px;

font-weight:600;

margin-top:10px;

}

/* =====================================
   HOSPITAL NAME
===================================== */

.doctor-meta p:first-child{

font-weight:600;

color:#222;

}

/* =====================================
   DOCTOR IMAGE EFFECT
===================================== */

.doctor-image{

overflow:hidden;

}

.doctor-image img{

transition:.4s;

}

.doctor-card:hover .doctor-image img{

transform:scale(1.05);

}

/* =====================================
   BUTTON EFFECT
===================================== */

.btn{

transition:.3s ease;

}

.btn:hover{

transform:translateY(-2px);

box-shadow:0 8px 18px rgba(13,110,253,.25);

}

/* =====================================
   CARD BORDER EFFECT
===================================== */

.doctor-card{

border:1px solid transparent;

}

.doctor-card:hover{

border-color:#0d6efd;

}

/* =====================================
   VERIFIED BADGE GLOW
===================================== */

.verified-tag{

animation:pulse 2s infinite;

}

@keyframes pulse{

0%{

box-shadow:0 0 0 0 rgba(40,167,69,.4);

}

70%{

box-shadow:0 0 0 12px rgba(40,167,69,0);

}

100%{

box-shadow:0 0 0 0 rgba(40,167,69,0);

}

}

/* ==========================================
   PREMIUM POLISH
========================================== */

.directory-hero{

position:relative;

overflow:hidden;

}

.directory-hero:before{

content:"";

position:absolute;

top:-120px;

right:-120px;

width:320px;

height:320px;

background:rgba(255,255,255,.08);

border-radius:50%;

}

.directory-hero:after{

content:"";

position:absolute;

bottom:-140px;

left:-120px;

width:280px;

height:280px;

background:rgba(255,255,255,.06);

border-radius:50%;

}

/* ==============================
   CARD SHADOW
============================== */

.doctor-card{

overflow:hidden;

}

.doctor-card:hover{

box-shadow:0 20px 45px rgba(0,0,0,.15);

}

/* ==============================
   IMAGE BORDER
============================== */

.doctor-image img{

border:6px solid #ffffff;

}

/* ==============================
   BUTTONS
============================== */

.doctor-buttons .btn{

padding:12px;

font-size:15px;

font-weight:600;

border-radius:8px;

}

.secondary-btn{

background:#ffffff;

border:2px solid #0d6efd;

}

.secondary-btn:hover{

background:#0d6efd;

color:#ffffff;

}

/* ==============================
   STATS ICON STYLE
============================== */

.stat-card{

position:relative;

}

.stat-card:before{

content:"🩺";

display:block;

font-size:34px;

margin-bottom:12px;

}

.stat-card:nth-child(2):before{

content:"👨‍⚕️";

}

.stat-card:nth-child(3):before{

content:"🏥";

}

.stat-card:nth-child(4):before{

content:"📍";

}

/* ==============================
   SEARCH BAR
============================== */

.doctor-search{

background:#ffffff;

padding:20px;

border-radius:15px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

}

/* ==============================
   ACCESSIBILITY
============================== */

.doctor-search input:focus,

.doctor-search select:focus,

.btn:focus{

outline:3px solid #0d6efd;

outline-offset:2px;

}

/* ==============================
   PRINT
============================== */

@media print{

.site-header,

.site-footer,

.directory-cta,

.pagination{

display:none;

}

body{

background:#ffffff;

}

.doctor-card{

box-shadow:none;

border:1px solid #cccccc;

}

}

/* ==============================
   DARK MODE READY
============================== */

@media(prefers-color-scheme:dark){

.doctor-card{

background:#1f2937;

color:#ffffff;

}

.doctor-content h3 a{

color:#ffffff;

}

.doctor-meta p{

color:#d1d5db;

}

}

/* ==============================
   PERFORMANCE
============================== */

.doctor-card,

.stat-card,

.btn{

will-change:transform;

}