/*
Theme Name: Online Ayurveda Care
Theme URI: https://onlineayurvedicconsultation.com/
Author: Online Ayurveda Care
Description: A refined, editable WordPress theme for international Ayurvedic consultations with a dedicated external booking destination.
Version: 2.0.2
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: online-ayurveda-care
*/
:root{--green:#183E32;--gold:#B69B64;--cream:#FAF8F2;--ink:#293530;--muted:#607267;--sage:#E8EFE7;--line:#e4e8df;--white:#fff;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.7}a{color:var(--green)}img{max-width:100%;height:auto}h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;color:var(--green);line-height:1.17;font-weight:500}h1{font-size:clamp(2.6rem,5vw,5rem);letter-spacing:-.035em}h2{font-size:clamp(2rem,3.2vw,3.2rem);letter-spacing:-.025em}h3{font-size:1.45rem}p{margin:0 0 1.1rem}.container{width:min(1180px,calc(100% - 44px));margin:auto}.site-header{position:relative;background:rgba(250,248,242,.98);border-bottom:1px solid var(--line);z-index:30}.header-inner{min-height:94px;display:flex;align-items:center;gap:35px;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;min-width:0}.brand-mark{display:flex;align-items:center;justify-content:center;background:var(--green);color:#f0e8d1;border-radius:50%;width:49px;height:49px;font-family:Georgia,serif;font-size:30px}.brand-name{display:block;color:var(--green);font:500 23px/1.05 Georgia,serif}.brand-tag{display:block;color:var(--muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-top:6px}.custom-logo{max-width:235px;max-height:75px;width:auto}.header-nav{display:flex;align-items:center;gap:26px}.header-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:24px}.header-nav a{text-decoration:none;color:var(--ink);font-size:14px;font-weight:600}.header-nav a:hover,.header-nav .current-menu-item>a{color:#987b48}.btn,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;border-radius:40px;padding:14px 25px;font-weight:650;font-size:14px;line-height:1.3;transition:transform .2s,background .2s;border:1px solid transparent}.btn:hover,.wp-block-button__link:hover{transform:translateY(-2px)}.btn-primary,.wp-block-button__link{background:var(--green);color:white}.btn-primary:hover{background:#285545;color:white}.btn-ghost{background:transparent;color:var(--green);border-color:rgba(24,62,50,.22)}.btn-ghost:hover{background:var(--sage)}.nav-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;width:44px;height:44px;color:var(--green);font-size:24px;cursor:pointer}.hero{position:relative;overflow:hidden;padding:90px 0 85px;background:linear-gradient(115deg,#faf8f2 12%,#e8efe7 100%)}.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:65px}.eyebrow{font-size:12px;letter-spacing:.19em;text-transform:uppercase;font-weight:750;color:#8a7348;margin:0 0 22px}.hero h1{margin:0 0 24px}.hero .lead{font-size:19px;max-width:590px;color:#4c6256}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:31px}.hero-visual{min-height:445px;border-radius:170px 170px 24px 24px;background:radial-gradient(circle at 55% 22%,#f7f5e8 0%,#d0dfce 55%,#b7c9b5 100%);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-visual svg{width:90%;max-width:450px}.visual-badge{position:absolute;bottom:20px;left:20px;right:20px;background:rgba(250,248,242,.93);border-radius:16px;padding:13px 17px;font-size:12px;color:var(--green);font-weight:750;letter-spacing:.05em;text-align:center}.trust-strip{background:var(--green);color:#fff;padding:22px 0}.trust-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;font-size:13px;font-weight:650;letter-spacing:.03em}.trust-inner span:before{content:'✦';color:var(--gold);margin-right:11px}.section{padding:88px 0}.section-intro{max-width:770px;margin-bottom:38px}.section-intro h2{margin:0 0 13px}.section-intro p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:31px;box-shadow:0 13px 40px rgba(20,55,42,.035)}.card .card-icon{display:inline-flex;background:var(--sage);color:var(--green);border-radius:50%;height:48px;width:48px;align-items:center;justify-content:center;font-size:23px}.card h3{margin:21px 0 12px}.card p{color:var(--muted);font-size:15px}.soft-section{background:#edf2e9}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.image-panel{min-height:410px;background:linear-gradient(135deg,#cedfce,#e2e7d7);border-radius:24px;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-panel img{width:100%;height:100%;max-height:470px;object-fit:cover}.image-panel svg{max-width:280px}.small-list{list-style:none;padding:0;margin:20px 0}.small-list li{padding:9px 0;border-bottom:1px solid #dce4d8}.small-list li:before{content:'✓';color:#567e60;margin-right:12px}.cta{background:var(--green);color:#fff;text-align:center;padding:74px 20px}.cta h2{color:#fff;margin:0 0 13px}.cta p{color:#d7e4d8;max-width:660px;margin:0 auto 24px}.cta .btn{background:#e7d5ad;color:var(--green)}.content-wrap{padding:75px 0 100px}.page-title{padding:68px 0 55px;background:var(--sage)}.page-title h1{font-size:clamp(2.3rem,4vw,4rem);margin:0 0 10px}.page-title p{color:var(--muted);max-width:800px}.entry-content{max-width:880px;margin:auto}.entry-content>:first-child{margin-top:0}.entry-content h2{margin-top:2rem}.entry-content img{border-radius:13px}.entry-content a{overflow-wrap:anywhere}.entry-content .wp-block-columns{gap:28px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{border:1px solid var(--line);background:white;border-radius:17px;overflow:hidden}.post-card img{width:100%;height:190px;object-fit:cover}.post-card-inner{padding:23px}.post-card h2{font-size:1.4rem;margin:7px 0 10px}.post-card h2 a{text-decoration:none}.post-card p{font-size:14px;color:var(--muted)}.post-meta{font-size:12px;color:var(--muted)}.footer{background:#102c23;color:#d7e5d9;padding:68px 0 24px}.footer h3{color:#fff;font-size:23px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:50px}.footer a{color:#e3eadd;text-decoration:none}.footer a:hover{text-decoration:underline}.footer ul{list-style:none;padding:0}.footer li{margin-bottom:9px}.footer small{color:#a9bdb1}.footer-bottom{border-top:1px solid #345245;margin-top:45px;padding-top:22px;font-size:12px;color:#b5c9be}.footer-bottom a{color:#b5c9be}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.screen-reader-text:focus{position:static!important;clip:auto;height:auto;width:auto}.alignwide{max-width:1120px;margin-left:auto;margin-right:auto}.alignfull{width:100%}.wp-block-image img{height:auto}.wp-block-quote{border-left:3px solid var(--gold);padding-left:20px}.notice{border-left:3px solid var(--gold);background:#f4f0e4;padding:18px 22px;border-radius:4px}.pagination{margin-top:40px}.pagination a,.pagination span{margin-right:10px}.skip-link:focus{background:#fff;top:10px;left:10px;position:absolute;z-index:100;padding:12px}.comment-respond{margin-top:40px}input,textarea,select{max-width:100%;padding:11px;border:1px solid #cad7c9;border-radius:6px}button,input[type=submit]{cursor:pointer}@media(max-width:950px){.header-inner{min-height:82px}.nav-toggle{display:block}.header-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);padding:24px;box-shadow:0 15px 20px #0001;flex-direction:column;align-items:stretch}.header-nav.open{display:flex}.header-nav ul{flex-direction:column;align-items:stretch;gap:14px}.header-nav .btn{align-self:flex-start}.hero-inner,.two-col{grid-template-columns:1fr;gap:35px}.hero{padding:65px 0}.hero-visual{max-width:650px;min-height:350px}.cards,.post-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){body{font-size:16px}.container{width:min(100% - 32px,1180px)}.brand-name{font-size:20px}.brand-tag{font-size:8px}.hero{padding:52px 0}.hero-visual{min-height:315px;border-radius:120px 120px 20px 20px}.section{padding:60px 0}.cards,.post-grid,.footer-grid{grid-template-columns:1fr}.trust-inner{flex-direction:column;gap:8px}.footer{padding:50px 0 20px}.content-wrap{padding:50px 0 65px}.page-title{padding:45px 0}}


/* ================================================================
   Online Ayurveda Care v2 — Consolidated layout and typography
   Replaces historic Customizer overrides; avoid duplicating them.
   ================================================================ */
html { max-width: 100%; }
body { font-size: 17px; line-height: 1.7; }

/* WordPress's error page CSS must not constrain the homepage.
   This is a visual safeguard; diagnose unexpected #error-page in HTML separately. */
body#error-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: var(--cream) !important;
}

/* Desktop header: adequate room for branding and readable links. */
.site-header .header-inner {
  min-height: 105px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.site-header .brand { flex: 0 1 205px; min-width: 0; }
.site-header .custom-logo {
  display: block;
  width: 205px;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
.site-header .header-nav {
  flex: 1 1 auto;
  justify-content: flex-end;
  min-width: 0;
  gap: 16px;
}
.site-header .header-nav ul { gap: 16px; }
.site-header .header-nav li { flex-shrink: 0; }
.site-header .header-nav a {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}
.site-header .header-nav .btn-primary {
  flex-shrink: 0;
  min-width: 125px;
  padding: 13px 18px;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  background: var(--green);
}

/* Homepage hero */
.hero h1 {
  font-size: clamp(34px, 3.2vw, 48px);
  line-height: 1.15;
  color: var(--green);
}
.hero .lead { font-size: clamp(16px, 1.4vw, 19px); }

/* Interior pages and plugin blocks */
.page-title { padding-top: 42px; padding-bottom: 42px; }
.page-title h1,
.page-hero h1,
.page-banner h1,
.inner-hero h1 {
  font-size: clamp(34px, 3vw, 48px);
  line-height: 1.15;
  letter-spacing: -.02em;
}
.page-hero, .page-banner, .inner-hero {
  padding-top: 42px;
  padding-bottom: 42px;
}
.section-intro h2, .section-heading h2, .section-title {
  font-size: clamp(28px, 2.5vw, 38px);
  line-height: 1.2;
}
.oac-doctor h2, .oac-doctor h3, .oac-card h3 {
  font-size: clamp(23px, 2vw, 29px);
  line-height: 1.25;
}
.entry-content p, .oac-doctor p, .oac-card p {
  font-size: 17px;
  line-height: 1.7;
}

/* Switch to mobile navigation before menu becomes cramped. */
@media (max-width: 1200px) {
  .site-header .nav-toggle { display: block; margin-left: auto; flex-shrink: 0; }
  .site-header .header-nav {
    display: none;
    position: absolute;
    top: 100%; left: 0; right: 0;
    padding: 24px;
    background: var(--cream);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 12px 22px rgba(0,0,0,.08);
    flex-direction: column;
    align-items: stretch;
  }
  .site-header .header-nav.open { display: flex; }
  .site-header .header-nav ul {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .site-header .header-nav .btn-primary { align-self: flex-start; }
}
@media (max-width: 767px) {
  html, body { max-width: 100%; overflow-x: clip; }
  .site-header .brand { flex: 0 1 190px; }
  .site-header .custom-logo { width: 180px; }
  img, video { max-width: 100%; height: auto; }
  .hero h1, .page-title h1, .page-hero h1,
  .page-banner h1, .inner-hero h1 { font-size: 34px; }
  .section-heading h2, .section-title, .section-intro h2 { font-size: 28px; }
  .entry-content p, .oac-doctor p, .oac-card p { font-size: 16px; }
  .page-title, .page-hero, .page-banner, .inner-hero {
    padding-top: 45px;
    padding-bottom: 45px;
  }
}

/* Homepage About the Physicians: full group photo, not a cropped portrait. */
.about-physicians-image-panel {
    min-height: 0;
    aspect-ratio: 1839 / 1080;
    background: #dce6d8;
    padding: 0;
}
.about-physicians-image-panel .about-physicians-photo {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: contain;
    object-position: center center;
    border-radius: inherit;
}
@media (max-width: 640px) {
    .about-physicians-image-panel {
        aspect-ratio: 1839 / 1100;
        border-radius: 18px;
    }
}
