/*
Theme Name: MedAuthority Clinic
Theme URI: https://example.com/medauthority-clinic
Author: OpenAI
Description: Lightweight medical encyclopedia and clinic theme with built-in technical SEO, structured data, editorial quality guards, redirects, and Elementor theme-location compatibility.
Version: 1.4.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: medauthority
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: medical, clinic, accessibility-ready, custom-logo, custom-menu, featured-images, translation-ready, full-width-template
*/

:root {
  --ma-bg: #ffffff;
  --ma-surface: #f5f8fa;
  --ma-text: #17313b;
  --ma-muted: #5d6d73;
  --ma-brand: #005f73;
  --ma-brand-2: #0a9396;
  --ma-accent: #ee9b00;
  --ma-aesthetic: #8f5f72;
  --ma-aesthetic-deep: #583845;
  --ma-aesthetic-soft: #f8f0f3;
  --ma-border: #dce6e9;
  --ma-danger: #9b2226;
  --ma-success: #2a7f62;
  --ma-radius: 14px;
  --ma-shadow: 0 10px 30px rgba(23,49,59,.08);
  --ma-content: 820px;
  --ma-wide: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ma-text);
  background: var(--ma-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--ma-brand); text-underline-offset: .16em; }
a:hover { color: var(--ma-brand-2); }
button, input, textarea, select { font: inherit; }

.ma-container { width: min(calc(100% - 32px), var(--ma-wide)); margin-inline: auto; }
.ma-content-width { width: min(calc(100% - 32px), var(--ma-content)); margin-inline: auto; }

.ma-skip-link {
  position: fixed; top: 8px; left: 8px; z-index: 99999; transform: translateY(-160%);
  background: #fff; color: #000; padding: 10px 14px; border: 2px solid #000; border-radius: 6px;
}
.ma-skip-link:focus { transform: translateY(0); }

.ma-site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); border-bottom: 1px solid var(--ma-border); }
.ma-header-row { min-height: 76px; display: flex; align-items: center; gap: 24px; }
.ma-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 800; letter-spacing: -.02em; color: var(--ma-text); }
.ma-brand img { max-height: 48px; width: auto; }
.ma-nav { margin-left: auto; }
.ma-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 22px; }
.ma-nav a { text-decoration: none; font-weight: 650; color: var(--ma-text); }
.ma-header-actions { display: flex; align-items: center; gap: 10px; }
.ma-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 16px; border-radius: 999px; border: 1px solid transparent; background: var(--ma-brand); color: #fff; font-weight: 750; text-decoration: none; }
.ma-btn:hover { background: var(--ma-brand-2); color: #fff; }
.ma-btn--ghost { background: transparent; color: var(--ma-brand); border-color: var(--ma-border); }
.ma-btn--ghost:hover { background: var(--ma-surface); color: var(--ma-brand); }

.ma-hero { background: linear-gradient(135deg, #eff8f7 0%, #ffffff 55%, #fff7e7 100%); border-bottom: 1px solid var(--ma-border); padding: clamp(54px, 8vw, 110px) 0; }
.ma-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px,.85fr); gap: clamp(30px,5vw,72px); align-items: center; }
.ma-eyebrow { display:inline-flex; padding: 7px 12px; border-radius:999px; background:#e7f4f3; color:var(--ma-brand); font-size:.84rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.ma-hero h1 { margin: 16px 0 18px; font-size: clamp(2.3rem, 6vw, 4.8rem); line-height: 1.02; letter-spacing: -.055em; }
.ma-hero p { max-width: 720px; font-size: clamp(1.05rem,2vw,1.28rem); color: var(--ma-muted); }
.ma-hero-card { background:#fff; border:1px solid var(--ma-border); box-shadow:var(--ma-shadow); border-radius:24px; padding:28px; }
.ma-hero-card h2 { margin-top:0; font-size:1.35rem; }

.ma-section { padding: clamp(48px,7vw,92px) 0; }
.ma-section--soft { background:var(--ma-surface); }
.ma-section--dark { background:#0e2932; color:#fff; }
.ma-section--dark .ma-kicker,.ma-section--dark a { color:#fff; }
.ma-section-title { margin:0 0 12px; font-size:clamp(1.8rem,4vw,3rem); line-height:1.1; letter-spacing:-.035em; }
.ma-section-lead { color:var(--ma-muted); max-width:760px; margin:0 0 32px; }
.ma-section-link { margin:26px 0 0; font-weight:800; }
.ma-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ma-card { background:#fff; border:1px solid var(--ma-border); border-radius:var(--ma-radius); padding:24px; box-shadow:0 4px 18px rgba(23,49,59,.04); }
.ma-card h2,.ma-card h3 { margin-top:0; line-height:1.2; }
.ma-card p:last-child { margin-bottom:0; }
.ma-card-link { text-decoration:none; color:inherit; display:block; }
.ma-card-link:hover .ma-card { transform:translateY(-2px); box-shadow:var(--ma-shadow); }
.ma-card { transition:transform .18s ease, box-shadow .18s ease; }
.ma-card-media { margin:-24px -24px 20px; overflow:hidden; border-radius:var(--ma-radius) var(--ma-radius) 0 0; background:var(--ma-surface); }
.ma-card-media img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; transition:transform .3s ease; }
.ma-card-link:hover .ma-card-media img { transform:scale(1.025); }
.ma-specialty-list { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:22px 0; padding:0; }
.ma-specialty-list li { border:1px solid var(--ma-border); border-radius:999px; padding:7px 11px; background:rgba(255,255,255,.72); font-size:.86rem; font-weight:800; }
.ma-profile-callout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); gap:44px; align-items:center; }
.ma-aesthetic-spotlight { background:linear-gradient(145deg,#fff 0%,var(--ma-aesthetic-soft) 100%); border-top:1px solid #eadce2; border-bottom:1px solid #eadce2; }
.ma-aesthetic-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:clamp(30px,5vw,70px); align-items:center; }
.ma-aesthetic-media { margin:0; }
.ma-aesthetic-media img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:26px; box-shadow:0 24px 60px rgba(88,56,69,.16); }
.ma-aesthetic-media figcaption { margin-top:9px; color:var(--ma-muted); font-size:.79rem; }
.ma-aesthetic-copy .ma-kicker { color:var(--ma-aesthetic); }
.ma-aesthetic-copy .ma-section-lead { font-size:1.08rem; }
.ma-aesthetic-points { display:grid; gap:10px; margin:24px 0 28px; padding:0; list-style:none; }
.ma-aesthetic-points li { position:relative; padding-left:28px; }
.ma-aesthetic-points li::before { content:""; position:absolute; left:0; top:.62em; width:12px; height:12px; border:3px solid #fff; border-radius:50%; background:var(--ma-aesthetic); box-shadow:0 0 0 1px var(--ma-aesthetic); }
.ma-btn--aesthetic { background:var(--ma-aesthetic-deep); }
.ma-btn--aesthetic:hover { background:var(--ma-aesthetic); }

.ma-applications-showcase { background:#fff; }
.ma-section-heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:34px; }
.ma-section-heading-row .ma-section-lead { margin-bottom:0; }
.ma-application-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ma-application-card {
  --ma-card-accent:var(--ma-brand-2);
  position:relative; display:flex; flex-direction:column; min-width:0; min-height:268px; overflow:hidden;
  padding:25px; border:1px solid var(--ma-border); border-top:4px solid var(--ma-card-accent);
  border-radius:18px; background:linear-gradient(145deg,#fff 42%,#f7fafb 100%);
  box-shadow:0 7px 24px rgba(23,49,59,.055);
}
.ma-application-card::after { content:""; position:absolute; right:-54px; bottom:-64px; width:150px; height:150px; border-radius:50%; background:var(--ma-card-accent); opacity:.055; pointer-events:none; }
.ma-application-card .ma-kicker { position:relative; z-index:1; margin:0 48px 12px 0; color:var(--ma-card-accent); }
.ma-application-card h3 { position:relative; z-index:1; margin:0 0 12px; font-size:1.38rem; line-height:1.16; letter-spacing:-.025em; }
.ma-application-card > p:not(.ma-kicker) { position:relative; z-index:1; margin:0 0 22px; color:var(--ma-muted); font-size:.95rem; line-height:1.62; }
.ma-application-number { position:absolute; top:20px; right:22px; color:var(--ma-card-accent); opacity:.27; font-size:1.1rem; font-weight:900; letter-spacing:.08em; }
.ma-application-link,.ma-application-status { position:relative; z-index:1; margin-top:auto; font-size:.84rem; font-weight:850; }
.ma-application-link { color:var(--ma-card-accent); text-decoration:none; }
.ma-application-link:hover { color:var(--ma-text); text-decoration:underline; }
.ma-application-status { color:#75858b; }
.ma-application-card--featured { grid-column:span 2; min-height:286px; padding:30px; background:linear-gradient(135deg,#fff 18%,var(--ma-aesthetic-soft) 100%); border-color:#e5d2da; border-top-color:var(--ma-card-accent); }
.ma-application-card--featured h3 { max-width:620px; font-size:clamp(1.55rem,2.5vw,2rem); }
.ma-application-card--featured > p:not(.ma-kicker) { max-width:650px; font-size:1rem; }
.ma-application-card--teal { --ma-card-accent:#007b7d; }
.ma-application-card--blue { --ma-card-accent:#336b9b; }
.ma-application-card--amber { --ma-card-accent:#a76900; }
.ma-application-card--cyan { --ma-card-accent:#16829a; }
.ma-application-card--green { --ma-card-accent:#39785c; }
.ma-application-card--violet { --ma-card-accent:#68578d; }
.ma-application-card--sand { --ma-card-accent:#8c6a44; }
.ma-application-card--rose { --ma-card-accent:var(--ma-aesthetic); }
.ma-application-card--coral { --ma-card-accent:#a8584e; }
.ma-profile-callout img { display:block; width:100%; height:auto; border-radius:var(--ma-radius); }
.ma-profile-page { padding:20px 0 72px; }
.ma-profile-hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:46px; align-items:center; padding:34px 0 54px; }
.ma-profile-hero h1 { margin:8px 0 16px; font-size:clamp(2.2rem,5vw,4.3rem); line-height:1.02; letter-spacing:-.045em; }
.ma-profile-hero figure { margin:0; }
.ma-profile-hero img { display:block; width:100%; height:auto; border-radius:var(--ma-radius); }
.ma-profile-content { width:min(100%,var(--ma-content)); }
.ma-profile-links { margin-top:44px; padding:24px; border:1px solid var(--ma-border); border-radius:var(--ma-radius); background:var(--ma-surface); }
.ma-profile-links h2 { margin-top:0; }
.ma-profile-links ul { display:flex; flex-wrap:wrap; gap:10px 22px; margin:0; padding:0; list-style:none; }
.ma-appointment-callout { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.ma-appointment-callout h2 { max-width:760px; margin:0; font-size:clamp(1.6rem,3.8vw,2.7rem); line-height:1.12; }

.ma-main { padding: 42px 0 72px; }
.ma-article { width:min(calc(100% - 32px), var(--ma-content)); margin:0 auto; }
.ma-article-header { margin-bottom:32px; }
.ma-kicker { color:var(--ma-brand); font-weight:800; text-transform:uppercase; font-size:.82rem; letter-spacing:.07em; }
.ma-article h1 { margin:8px 0 16px; font-size:clamp(2rem,5vw,3.7rem); line-height:1.06; letter-spacing:-.045em; }
.ma-dek { color:var(--ma-muted); font-size:1.2rem; }
.ma-byline { display:flex; flex-wrap:wrap; gap:8px 18px; padding:14px 0; border-top:1px solid var(--ma-border); border-bottom:1px solid var(--ma-border); color:var(--ma-muted); font-size:.94rem; }
.ma-evidence-badge { display:inline-flex; margin:14px 0 0; padding:7px 11px; border-radius:999px; border:1px solid var(--ma-border); background:#f6f9fa; color:var(--ma-ink); font-size:.86rem; font-weight:800; }
.ma-evidence-badge--strong { background:#e7f6ef; border-color:#9ad7bc; color:#155f45; }
.ma-evidence-badge--moderate { background:#eef5ff; border-color:#accdf2; color:#215b91; }
.ma-evidence-badge--limited,.ma-evidence-badge--preliminary { background:#fff7df; border-color:#ecd48e; color:#785d13; }
.ma-evidence-badge--insufficient { background:#fff0ed; border-color:#efb2a8; color:#8d2d21; }
.ma-answer-first { margin:28px 0; border-left:5px solid var(--ma-brand-2); background:#edf8f7; padding:20px 22px; border-radius:0 12px 12px 0; }
.ma-answer-first strong { display:block; margin-bottom:6px; }
.ma-article-content { font-size:1.04rem; }
.ma-article-content h2 { margin-top:2.2em; font-size:1.7rem; line-height:1.2; letter-spacing:-.02em; scroll-margin-top:100px; }
.ma-article-content h3 { margin-top:1.7em; line-height:1.25; }
.ma-article-content blockquote { margin:28px 0; border-left:4px solid var(--ma-accent); background:#fff9eb; padding:18px 22px; }
.ma-article-content table { width:100%; border-collapse:collapse; display:block; overflow:auto; }
.ma-article-content th,.ma-article-content td { border:1px solid var(--ma-border); padding:10px 12px; text-align:left; }

.ma-medical-review { margin-top:42px; padding:22px; border:1px solid var(--ma-border); border-radius:var(--ma-radius); background:#fbfdfd; }
.ma-medical-review h2 { margin-top:0; font-size:1.25rem; }
.ma-references { margin-top:34px; }
.ma-references ol { padding-left:1.2rem; }

.ma-faq { border-top:1px solid var(--ma-border); }
.ma-faq details { border-bottom:1px solid var(--ma-border); padding:0; }
.ma-faq summary { cursor:pointer; list-style:none; padding:18px 6px; font-weight:800; }
.ma-faq summary::-webkit-details-marker { display:none; }
.ma-faq__answer { padding:0 6px 18px; color:var(--ma-muted); }

.ma-breadcrumbs { font-size:.9rem; color:var(--ma-muted); margin-bottom:24px; }
.ma-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0; padding:0; }
.ma-breadcrumbs li:not(:last-child)::after { content:"/"; margin-left:6px; color:#9aa8ad; }

.ma-search-form { display:flex; gap:8px; }
.ma-search-form input[type=search] { flex:1; min-width:0; border:1px solid var(--ma-border); border-radius:999px; padding:11px 15px; background:#fff; }

.ma-site-footer { background:#0e2932; color:#e9f1f3; padding:52px 0 28px; }
.ma-site-footer a { color:#fff; }
.ma-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:30px; }
.ma-footer-bottom { margin-top:36px; padding-top:22px; border-top:1px solid rgba(255,255,255,.15); color:#b8c7cc; font-size:.88rem; }

.ma-whatsapp { position:fixed; right:18px; bottom:18px; z-index:45; display:inline-flex; align-items:center; gap:8px; background:#155f51; color:#fff; padding:12px 16px; border-radius:999px; text-decoration:none; box-shadow:var(--ma-shadow); font-weight:800; }
.ma-whatsapp:hover { color:#fff; transform:translateY(-1px); }

.ma-pagination .nav-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:34px; }
.ma-pagination a,.ma-pagination span { padding:8px 12px; border:1px solid var(--ma-border); border-radius:8px; text-decoration:none; }

@media (max-width: 960px) {
  .ma-hero-grid,.ma-grid,.ma-footer-grid,.ma-profile-callout,.ma-profile-hero,.ma-aesthetic-grid { grid-template-columns:1fr; }
  .ma-appointment-callout { align-items:flex-start; flex-direction:column; }
  .ma-nav { display:none; }
  .ma-header-actions .ma-btn--ghost { display:none; }
	.ma-application-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .ma-container,.ma-content-width,.ma-article { width:min(calc(100% - 24px), var(--ma-wide)); }
  .ma-header-row { min-height:66px; gap:10px; }
  .ma-brand { font-size:.95rem; }
  .ma-header-actions .ma-btn { padding-inline:12px; font-size:.9rem; }
  .ma-whatsapp { right:12px; bottom:12px; padding:11px 13px; }
	.ma-section-heading-row { align-items:flex-start; flex-direction:column; margin-bottom:26px; }
	.ma-application-grid { grid-template-columns:1fr; }
	.ma-application-card,.ma-application-card--featured { grid-column:auto; min-height:0; padding:22px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

.screen-reader-text {
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.screen-reader-text:focus { position:fixed!important;top:8px;left:8px;width:auto;height:auto;margin:0;padding:10px 14px;clip:auto;background:#fff;color:#000;z-index:99999; }

.ma-encyclopedia-az { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 32px; }
.ma-encyclopedia-az a { min-width:38px; min-height:38px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--ma-border); border-radius:8px; text-decoration:none; font-weight:800; background:#fff; }
.ma-encyclopedia-index { columns:2; column-gap:44px; }
.ma-az-group { break-inside:avoid; margin:0 0 28px; }
.ma-az-group h2 { border-bottom:2px solid var(--ma-brand-2); padding-bottom:6px; }
.ma-az-group ul { list-style:none; padding:0; }
.ma-az-group li { margin:8px 0; }
@media (max-width:720px){.ma-encyclopedia-index{columns:1}}

.ma-mobile-nav { display:none; margin-left:auto; position:relative; }
.ma-mobile-nav summary { cursor:pointer; list-style:none; font-weight:800; border:1px solid var(--ma-border); border-radius:999px; padding:9px 13px; }
.ma-mobile-nav summary::-webkit-details-marker { display:none; }
.ma-mobile-nav nav { position:absolute; right:0; top:50px; width:min(86vw,320px); background:#fff; border:1px solid var(--ma-border); border-radius:14px; box-shadow:var(--ma-shadow); padding:14px; }
.ma-mobile-nav ul { list-style:none; margin:0; padding:0; }
.ma-mobile-nav li + li { border-top:1px solid var(--ma-border); }
.ma-mobile-nav a { display:block; padding:11px 8px; text-decoration:none; font-weight:700; }
@media (max-width:960px){.ma-mobile-nav{display:block}.ma-header-actions{margin-left:0}}

/* Automated research article blocks (Publish Bridge) */
.ma-key-points { margin:28px 0; padding:22px 24px; border:1px solid var(--ma-border); border-radius:var(--ma-radius); background:var(--ma-surface); }
.ma-key-points h2 { margin-top:0; font-size:1.25rem; }
.ma-key-points ul { margin-bottom:0; padding-left:1.2rem; }
.ma-key-points li + li { margin-top:.55rem; }
.ma-auto-section { margin-top:38px; }
.ma-auto-section > h2 { scroll-margin-top:100px; }
.ma-auto-faq { margin-top:42px; }
.ma-auto-faq > h2 { margin-bottom:8px; }
.ma-article-content .ma-auto-section p:first-child { margin-top:0; }

.ma-featured-figure { margin: 0 0 28px; }
.ma-featured-figure img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:22px; box-shadow:0 16px 42px rgba(23,49,59,.1); }
.ma-featured-caption { margin-top:8px; color:var(--ma-muted); font-size:.82rem; line-height:1.4; }
