/*
Theme Name: Doctor Pro Media
Theme URI: https://doctorpromedia.com
Author: Doctor Pro Media
Author URI: https://doctorpromedia.com
Description: Custom WordPress theme for Doctor Pro Media — a healthcare content, media & communication company. All homepage sections are fully editable from the WordPress admin panel via dedicated Custom Post Types and the Theme Customizer. No page builder or third-party plugin required.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: doctor-pro-media
Tags: healthcare, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready, one-column, two-columns

Doctor Pro Media WordPress Theme
Original static design converted 1:1 into a dynamic, admin-editable WordPress theme.
*/

/* =========================================================
   1. WordPress core / accessibility resets
   ========================================================= */
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;
  overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;
}
.screen-reader-text:focus{
  background:#fff;color:#0A3560;clip:auto!important;clip-path:none;display:block;
  font-size:0.9rem;font-weight:700;height:auto;left:8px;line-height:normal;padding:14px 20px;
  text-decoration:none;top:8px;width:auto;z-index:100000;border-radius:8px;
}
.alignleft{float:left;margin:0 24px 12px 0;}
.alignright{float:right;margin:0 0 12px 24px;}
.aligncenter{display:block;margin:0 auto 12px;}
.wp-caption{max-width:100%;}
.wp-caption-text{font-size:0.82rem;color:#5B6B7D;margin-top:6px;}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}

/* =========================================================
   2. Original Doctor Pro Media design (converted from static HTML)
   ========================================================= */
  :root{
    --blue:#0F4C81;
    --blue-deep:#0A3560;
    --teal:#18B5A4;
    --ink:#1F2937;
    --paper:#F8FAFC;
    --paper-dim:#EEF2F6;
    --line:#DCE3EA;
    --white:#FFFFFF;
    --mono:'IBM Plex Mono',monospace;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:'Manrope',sans-serif;color:var(--blue-deep);letter-spacing:-0.01em;}
  a{text-decoration:none;color:inherit;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  img{max-width:100%;display:block;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
  }

  /* ---------- Masthead strip ---------- */
  .masthead-strip{background:var(--blue-deep);color:#9FB6CC;font-family:var(--mono);font-size:0.72rem;letter-spacing:0.04em;padding:8px 0;}
  .masthead-strip .wrap{display:flex;justify-content:space-between;align-items:center;}
  .live-dot{display:inline-flex;align-items:center;gap:6px;color:#7FE0D2;}
  .live-dot .d{width:6px;height:6px;border-radius:50%;background:#7FE0D2;animation:blink 1.6s infinite;}
  @keyframes blink{0%,100%{opacity:1;}50%{opacity:.25;}}

  /* ---------- Nav ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(248,250,252,0.88);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  nav{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1180px;margin:0 auto;}
  .logo{display:flex;align-items:center;gap:10px;font-family:'Manrope',sans-serif;font-weight:800;font-size:1.05rem;color:var(--blue-deep);}
  .logo-mark{width:28px;height:28px;flex-shrink:0;}
  .nav-links{display:flex;gap:34px;font-size:0.92rem;font-weight:500;color:var(--ink);list-style:none;margin:0;padding:0;list-style:none;}
  .nav-links li{list-style:none;margin:0;padding:0;}
  .nav-links a{position:relative;padding:4px 0;transition:color .2s;text-decoration:none;color:inherit;}
  .nav-links a:hover{color:var(--teal);}
  .nav-links .current-menu-item>a,.nav-links .current_page_item>a{color:var(--teal);}
  .nav-cta{display:flex;gap:12px;}
  .btn{
    font-family:'Inter',sans-serif;font-weight:600;font-size:0.9rem;
    padding:11px 22px;border-radius:7px;border:1.5px solid transparent;
    cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;
  }
  .btn:focus-visible, a:focus-visible, button:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}
  .btn-primary{background:var(--blue);color:var(--white);}
  .btn-primary:hover{background:var(--blue-deep);transform:translateY(-1px);}
  .btn-ghost{background:transparent;color:var(--blue-deep);border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--blue);background:var(--paper-dim);}
  .menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
  .menu-toggle span{display:block;width:22px;height:2px;background:var(--blue-deep);margin:5px 0;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;overflow:hidden;
    padding:88px 0 0;
    background:
      radial-gradient(ellipse 900px 500px at 85% -10%, rgba(24,181,164,0.10), transparent 60%),
      radial-gradient(ellipse 700px 500px at -5% 20%, rgba(15,76,129,0.08), transparent 60%),
      var(--paper);
  }
  .hero-inner{max-width:1180px;margin:0 auto;padding:0 32px;position:relative;}
  .hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;padding-bottom:56px;}
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-size:0.8rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--teal);background:rgba(24,181,164,0.09);
    padding:7px 14px;border-radius:100px;margin-bottom:26px;
  }
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--teal);animation:blink 2.2s infinite;}
  @keyframes blink{0%,100%{opacity:1;}50%{opacity:0.3;}}
  .hero h1{
    font-size:clamp(2.2rem,4.1vw,3.5rem);
    font-weight:800;line-height:1.08;margin-bottom:26px;
  }
  .hero h1 .accent{color:var(--teal);}
  .hero p.lede{font-size:1.1rem;color:#425466;max-width:520px;margin-bottom:34px;}
  .hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:34px;}
  .btn-lg{padding:14px 28px;font-size:0.96rem;}
  .hero-stats{display:flex;gap:36px;padding-top:24px;border-top:1px solid var(--line);}
  .hero-stat b{display:block;font-family:'Manrope',sans-serif;font-size:1.4rem;font-weight:800;color:var(--blue-deep);}
  .hero-stat span{font-size:0.78rem;color:#5B6B7D;}

  /* Video player mock — media signature */
  .player{background:var(--blue-deep);border-radius:16px;padding:16px;position:relative;box-shadow:0 30px 60px -25px rgba(10,53,96,0.4);}
  .player-screen{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:
    radial-gradient(circle at 30% 20%, rgba(24,181,164,0.35), transparent 55%),
    radial-gradient(circle at 75% 70%, rgba(15,76,129,0.55), transparent 60%),
    linear-gradient(150deg,#0D3D6E 0%,#0A3560 60%,#082948 100%);
    display:flex;align-items:center;justify-content:center;
  }
  .rec-badge{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:6px;background:rgba(255,255,255,0.1);backdrop-filter:blur(4px);padding:5px 10px;border-radius:100px;font-family:var(--mono);font-size:0.68rem;color:#fff;letter-spacing:0.05em;}
  .rec-badge .d{width:6px;height:6px;border-radius:50%;background:#FF5B5B;animation:blink 1.4s infinite;}
  .cat-badge{position:absolute;top:14px;right:14px;background:rgba(24,181,164,0.18);color:#7FE0D2;font-family:var(--mono);font-size:0.68rem;letter-spacing:0.05em;padding:5px 10px;border-radius:100px;}
  .play-btn{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,0.95);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s;box-shadow:0 10px 30px rgba(0,0,0,0.25);}
  .play-btn:hover{transform:scale(1.06);}
  .play-btn svg{width:20px;height:20px;fill:var(--blue-deep);margin-left:3px;}
  .waveform{position:absolute;bottom:14px;left:14px;right:14px;display:flex;align-items:flex-end;gap:2px;height:24px;}
  .waveform span{flex:1;background:rgba(255,255,255,0.35);border-radius:2px;animation:wave 1.6s ease-in-out infinite;}
  @keyframes wave{0%,100%{transform:scaleY(0.3);}50%{transform:scaleY(1);}}
  .player-caption{display:flex;justify-content:space-between;align-items:center;padding:14px 6px 4px;}
  .player-caption .t{font-size:0.85rem;color:#fff;font-weight:600;}
  .player-caption .d{font-family:var(--mono);font-size:0.72rem;color:#9FB6CC;}

  /* Pulse line / scrubber — signature element (heartbeat + video timeline) */
  .scrubber{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);padding:14px 0;overflow:hidden;}
  .scrubber-inner{display:flex;align-items:center;gap:18px;max-width:1180px;margin:0 auto;padding:0 32px;}
  .scrubber-time{font-family:var(--mono);font-size:0.72rem;color:#8493A5;white-space:nowrap;}
  .pulse-wrap{flex:1;overflow:hidden;height:34px;position:relative;}
  .pulse-line{width:200%;height:34px;}
  .pulse-line path{
    fill:none;stroke:var(--teal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
    animation:pulseMove 8s linear infinite;
  }
  @keyframes pulseMove{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  .playhead{position:absolute;top:0;width:2px;height:34px;background:var(--blue-deep);left:0;animation:scrub 8s linear infinite;}
  .playhead::before{content:"";position:absolute;top:-3px;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--blue-deep);}
  @keyframes scrub{from{left:0%;}to{left:100%;}}

  /* ---------- Section shell ---------- */
  section{padding:100px 0;}
  .section-head{max-width:640px;margin-bottom:56px;}
  .kicker{
    font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--blue);margin-bottom:14px;display:block;
  }
  .section-head h2{font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:700;line-height:1.2;}
  .section-head p{color:#5B6B7D;font-size:1.02rem;margin-top:14px;}

  .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ---------- What we do ---------- */
  .services{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;}
  .service-card{background:var(--white);padding:38px 34px;transition:background .25s;}
  .service-card:hover{background:var(--paper-dim);}
  .service-icon{
    width:44px;height:44px;border-radius:10px;background:rgba(15,76,129,0.08);
    display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  }
  .service-icon svg{width:22px;height:22px;stroke:var(--blue);}
  .service-card h3{font-size:1.15rem;margin-bottom:10px;}
  .service-card p{color:#5B6B7D;font-size:0.96rem;}

  /* ---------- Initiatives ---------- */
  .init-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .init-card{
    background:var(--white);border:1px solid var(--line);border-radius:14px;
    padding:34px 30px;position:relative;overflow:hidden;transition:transform .25s, box-shadow .25s;
  }
  .init-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px -20px rgba(15,76,129,0.25);}
  .init-tag{
    font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--teal);margin-bottom:14px;display:inline-block;
  }
  .init-card h3{font-size:1.2rem;margin-bottom:10px;}
  .init-card p{color:#5B6B7D;font-size:0.94rem;margin-bottom:18px;}
  .init-card .arrow{font-size:0.88rem;font-weight:600;color:var(--blue);}
  .init-card.featured{background:var(--blue-deep);border-color:var(--blue-deep);}
  .init-card.featured .init-tag{color:#7FE0D2;}
  .init-card.featured h3, .init-card.featured .arrow{color:var(--white);}
  .init-card.featured p{color:#C8D6E5;}

  /* ---------- Why us ---------- */
  .why{background:var(--blue-deep);color:var(--white);}
  .why .section-head h2, .why .kicker{color:var(--white);}
  .why .kicker{color:#7FE0D2;}
  .why .section-head p{color:#B9C9DA;}
  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
  .why-item{border-top:2px solid rgba(255,255,255,0.18);padding-top:22px;}
  .why-num{font-family:'Manrope',sans-serif;font-weight:800;font-size:0.85rem;color:var(--teal);margin-bottom:14px;}
  .why-item h4{color:var(--white);font-size:1.06rem;margin-bottom:10px;}
  .why-item p{color:#B9C9DA;font-size:0.92rem;}

  /* ---------- Impact stats ---------- */
  .impact{background:var(--paper);}
  .stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;}
  .stat-card{background:var(--white);padding:36px 24px;text-align:center;}
  .stat-num{font-family:'Manrope',sans-serif;font-weight:800;font-size:2.3rem;color:var(--blue);}
  .stat-label{font-size:0.85rem;color:#5B6B7D;margin-top:8px;}

  /* ---------- Stories ---------- */
  .stories{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .story-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:box-shadow .25s, transform .25s;background:var(--white);}
  .story-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px -22px rgba(15,76,129,0.3);}
  .story-thumb{height:150px;background:linear-gradient(135deg,var(--blue) 0%,var(--teal) 100%);position:relative;}
  .story-thumb::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,rgba(255,255,255,0.06) 0 2px,transparent 2px 24px);}
  .story-cat{position:absolute;top:14px;left:14px;background:rgba(255,255,255,0.92);color:var(--blue-deep);font-size:0.7rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;padding:5px 10px;border-radius:100px;}
  .story-dur{position:absolute;bottom:10px;right:10px;font-family:var(--mono);color:#fff;font-size:0.68rem;background:rgba(0,0,0,0.35);padding:3px 7px;border-radius:4px;}
  .s-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.92);display:flex;align-items:center;justify-content:center;transition:transform .2s;}
  .story-card:hover .s-play{transform:translate(-50%,-50%) scale(1.1);}
  .s-play svg{width:13px;height:13px;fill:var(--blue-deep);margin-left:2px;}
  .story-body{padding:22px 22px 24px;}
  .story-meta{font-family:var(--mono);font-size:0.68rem;color:#8493A5;margin-bottom:10px;letter-spacing:0.02em;}
  .story-body h3{font-size:1.02rem;line-height:1.4;margin-bottom:14px;font-weight:700;}
  .story-body .arrow{font-size:0.86rem;font-weight:600;color:var(--blue);}

  /* ---------- Trusted by ---------- */
  .trusted .wrap{text-align:center;}
  .trusted p.label{font-size:0.82rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:#8493A5;margin-bottom:34px;}
  .logo-row{display:flex;justify-content:center;align-items:center;gap:52px;flex-wrap:wrap;color:#9AAAB9;}
  .logo-row span{font-family:'Manrope',sans-serif;font-weight:700;font-size:1.05rem;opacity:0.75;}

  /* ---------- Testimonials ---------- */
  .testimonials{background:var(--paper-dim);}
  .test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .test-card{background:var(--white);border-radius:14px;padding:32px 28px;border:1px solid var(--line);}
  .test-quote{font-size:1rem;color:var(--ink);margin-bottom:22px;line-height:1.65;}
  .test-quote::before{content:"“";color:var(--teal);font-size:1.6rem;font-weight:800;}
  .test-name{font-weight:700;font-size:0.92rem;color:var(--blue-deep);}
  .test-role{font-size:0.82rem;color:#8493A5;margin-top:2px;}

  /* ---------- Contact ---------- */
  .contact{background:var(--white);border-top:1px solid var(--line);}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
  .contact-info h2{font-size:clamp(1.6rem,2.6vw,2.2rem);margin-bottom:18px;}
  .contact-info p{color:#5B6B7D;margin-bottom:32px;max-width:420px;}
  .info-line{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;font-size:0.95rem;}
  .info-line .ic{width:20px;height:20px;stroke:var(--teal);flex-shrink:0;margin-top:2px;}
  .info-line strong{display:block;color:var(--blue-deep);font-size:0.85rem;}
  form{display:grid;gap:16px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  label{font-size:0.82rem;font-weight:600;color:var(--blue-deep);margin-bottom:6px;display:block;}
  input,textarea{
    width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;
    font-family:'Inter',sans-serif;font-size:0.93rem;background:var(--paper);
    transition:border-color .2s;
  }
  input:focus,textarea:focus{outline:none;border-color:var(--teal);}
  textarea{resize:vertical;min-height:110px;}
  .submit-btn{justify-self:start;margin-top:6px;}

  /* ---------- Footer ---------- */
  footer{background:var(--blue-deep);color:#B9C9DA;padding:64px 0 32px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:48px;}
  .foot-logo{font-family:'Manrope',sans-serif;font-weight:800;color:var(--white);font-size:1.1rem;margin-bottom:12px;}
  .foot-tag{font-size:0.9rem;max-width:280px;}
  .foot-col h5{color:var(--white);font-size:0.82rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;margin-bottom:16px;}
  .foot-col a{display:block;font-size:0.9rem;margin-bottom:11px;color:#B9C9DA;transition:color .2s;}
  .foot-col a:hover{color:var(--teal);}
  .foot-bottom{border-top:1px solid rgba(255,255,255,0.12);padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:0.82rem;flex-wrap:wrap;gap:12px;}

  /* ---------- Responsive ---------- */
  @media (max-width:900px){
    .hero-grid{grid-template-columns:1fr;}
    .service-grid,.init-grid,.why-grid,.stat-grid,.story-grid,.test-grid{grid-template-columns:repeat(2,1fr);}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .contact-grid{grid-template-columns:1fr;gap:44px;}
  }
  @media (max-width:680px){
    .nav-links,.nav-cta{display:none;}
    .menu-toggle{display:block;}
    .service-grid,.init-grid,.why-grid,.stat-grid,.story-grid,.test-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    section{padding:70px 0;}
    .hero{padding:56px 0 0;}
    .foot-grid{grid-template-columns:1fr;}
    .foot-bottom{flex-direction:column;align-items:flex-start;}
    .masthead-strip .wrap{font-size:0.64rem;}
  }

/* =========================================================
   3. Theme additions (mobile nav, WP menu/customizer support)
   ========================================================= */
.custom-logo{height:28px;width:auto;}
.nav-links.nav-mobile-open{
  display:flex!important;position:absolute;top:100%;left:0;right:0;background:var(--white);
  flex-direction:column;gap:0;padding:8px 32px 18px;border-bottom:1px solid var(--line);
}
.nav-links.nav-mobile-open a{padding:12px 0;border-bottom:1px solid var(--paper-dim);}
.nav-cta.nav-mobile-open{
  display:flex!important;position:absolute;top:auto;left:0;right:0;background:var(--white);
  padding:0 32px 20px;flex-wrap:wrap;
}
@media (max-width:680px){
  nav{position:relative;flex-wrap:wrap;}
}
.pagination{display:flex;justify-content:center;gap:10px;margin-top:48px;}
.pagination a,.pagination span{
  padding:9px 16px;border:1.5px solid var(--line);border-radius:7px;font-size:0.88rem;font-weight:600;color:var(--blue-deep);
}
.pagination .current{background:var(--blue);color:#fff;border-color:var(--blue);}
.single-content-wrap{max-width:760px;margin:0 auto;padding:60px 0;}
.single-content-wrap h1{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:18px;}
.single-content-wrap .story-meta{margin-bottom:24px;}
.single-content-wrap .entry-content p{margin-bottom:1.2em;color:#374151;}
.single-content-wrap .entry-content h2,.single-content-wrap .entry-content h3{margin:1.6em 0 0.6em;}
.comments-area{max-width:760px;margin:0 auto;padding:0 0 60px;}
.no-results{padding:80px 0;text-align:center;color:#5B6B7D;}

/* =========================================================
   4. Anchor-link scroll fixes (sticky header was hiding section tops)
   ========================================================= */
html{scroll-behavior:smooth;}
[id]{scroll-margin-top:90px;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
}
