/*
Theme Name: Doctor Profile
Theme URI: https://nomanakhter.com
Author: NAFsols
Author URI: https://nomanakhter.com
Description: A clean, professional personal profile theme for doctors. Includes sections for About, Qualifications, Services, Timings and Contact.
Version: 1.0
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: doctor-profile
*/

:root{
  --primary: #0f6e5c;
  --primary-dark: #0b5346;
  --text: #1f2937;
  --muted: #6b7280;
  --bg: #f7f9f8;
  --card: #ffffff;
  --border: #e5e7eb;
}

*{box-sizing:border-box;}

body{
  margin:0;
  font-family:"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}

a{color:var(--primary); text-decoration:none;}
a:hover{color:var(--primary-dark);}

img{max-width:100%; height:auto; display:block;}

.container{
  max-width:1100px;
  margin:0 auto;
  padding:0 20px;
}

/* Header */
.site-header{
  background:var(--card);
  border-bottom:1px solid var(--border);
  position:sticky;
  top:0;
  z-index:100;
}
.site-header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:16px;
  padding-bottom:16px;
}
.site-branding a{
  font-size:22px;
  font-weight:700;
  color:var(--text);
}
.site-branding .site-description{
  margin:0;
  font-size:13px;
  color:var(--muted);
}
.main-navigation ul{
  list-style:none;
  display:flex;
  gap:24px;
  margin:0;
  padding:0;
}
.main-navigation a{
  color:var(--text);
  font-weight:500;
}
.main-navigation a:hover{color:var(--primary);}

.menu-toggle{
  display:none;
  background:none;
  border:1px solid var(--border);
  border-radius:6px;
  padding:8px 12px;
  cursor:pointer;
}

/* Hero */
.hero{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff;
  padding:70px 0;
}
.hero .container{
  display:flex;
  align-items:center;
  gap:40px;
  flex-wrap:wrap;
}
.hero-content{flex:1; min-width:280px;}
.hero-photo{
  flex:0 0 220px;
  width:220px;
  height:220px;
  border-radius:50%;
  overflow:hidden;
  border:5px solid rgba(255,255,255,0.4);
  background:#fff;
}
.hero h1{
  font-size:34px;
  margin:0 0 8px;
}
.hero .subtitle{
  font-size:18px;
  opacity:0.9;
  margin:0 0 20px;
}
.hero .credentials{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:24px;
}
.hero .credentials span{
  background:rgba(255,255,255,0.15);
  padding:6px 14px;
  border-radius:20px;
  font-size:13px;
}
.btn{
  display:inline-block;
  background:#fff;
  color:var(--primary-dark);
  padding:12px 26px;
  border-radius:6px;
  font-weight:600;
}
.btn:hover{background:#eaf6f3; color:var(--primary-dark);}
.btn-outline{
  border:2px solid #fff;
  color:#fff;
  background:transparent;
  margin-left:10px;
}
.btn-outline:hover{background:rgba(255,255,255,0.15); color:#fff;}

/* Sections */
.section{padding:60px 0;}
.section-title{
  text-align:center;
  margin-bottom:40px;
}
.section-title h2{
  font-size:28px;
  margin:0 0 8px;
}
.section-title p{color:var(--muted); margin:0;}

/* About */
.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}
.about-grid img{border-radius:10px;}

/* Services */
.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
}
.service-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:10px;
  padding:26px;
  text-align:center;
}
.service-card .icon{
  width:50px; height:50px;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 16px;
  font-size:22px;
}
.service-card h3{margin:0 0 10px; font-size:18px;}
.service-card p{color:var(--muted); font-size:14px; margin:0;}

/* Qualifications / Timeline */
.timeline{
  border-left:3px solid var(--primary);
  margin-left:10px;
  padding-left:24px;
}
.timeline-item{margin-bottom:26px; position:relative;}
.timeline-item::before{
  content:"";
  position:absolute;
  left:-31px;
  top:4px;
  width:14px; height:14px;
  border-radius:50%;
  background:var(--primary);
  border:3px solid #fff;
}
.timeline-item .year{color:var(--primary); font-weight:600; font-size:14px;}
.timeline-item h4{margin:4px 0;}
.timeline-item p{color:var(--muted); margin:0;}

/* Timings table */
.timings-table{
  width:100%;
  border-collapse:collapse;
  background:var(--card);
  border-radius:10px;
  overflow:hidden;
  border:1px solid var(--border);
}
.timings-table th,.timings-table td{
  padding:14px 18px;
  border-bottom:1px solid var(--border);
  text-align:left;
}
.timings-table th{background:var(--primary); color:#fff;}
.timings-table tr:last-child td{border-bottom:none;}

/* Contact */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}
.contact-info .item{
  display:flex;
  gap:14px;
  margin-bottom:20px;
}
.contact-info .icon{
  width:40px; height:40px;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.contact-form input,
.contact-form textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:6px;
  margin-bottom:14px;
  font-family:inherit;
  font-size:14px;
}
.contact-form button{
  background:var(--primary);
  color:#fff;
  border:none;
  padding:12px 28px;
  border-radius:6px;
  font-weight:600;
  cursor:pointer;
}
.contact-form button:hover{background:var(--primary-dark);}

/* Blog / posts (index.php, single.php) */
.entry{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:10px;
  padding:26px;
  margin-bottom:24px;
}
.entry-title{margin:0 0 8px; font-size:22px;}
.entry-meta{color:var(--muted); font-size:13px; margin-bottom:14px;}
.pagination{text-align:center; margin-top:20px;}
.pagination a, .pagination span{
  display:inline-block;
  padding:8px 14px;
  border:1px solid var(--border);
  border-radius:6px;
  margin:0 4px;
}

/* Footer */
.site-footer{
  background:#0d1f1a;
  color:#cbd5d1;
  padding:40px 0 20px;
  margin-top:40px;
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:30px;
  margin-bottom:30px;
}
.footer-grid h4{color:#fff; margin-top:0;}
.site-footer a{color:#cbd5d1;}
.site-footer a:hover{color:#fff;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.1);
  padding-top:18px;
  text-align:center;
  font-size:13px;
  color:#94a39d;
}

/* Widgets */
.widget{margin-bottom:30px;}
.widget-title{font-size:16px; margin-bottom:14px; border-bottom:2px solid var(--primary); padding-bottom:8px; display:inline-block;}

/* Responsive */
@media (max-width:782px){
  .main-navigation{
    display:none;
    width:100%;
    order:3;
  }
  .main-navigation.toggled{display:block;}
  .main-navigation ul{flex-direction:column; gap:0;}
  .main-navigation li{border-top:1px solid var(--border);}
  .main-navigation a{display:block; padding:12px 0;}
  .menu-toggle{display:block;}
  .site-header .container{flex-wrap:wrap;}
  .about-grid, .contact-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero .container{flex-direction:column; text-align:center;}
}
