/*
Theme Name: Dr Faesol Klinik
Theme URI: https://drfaesol.com/
Description: Standalone theme for Klinik Aqilla Sehat and dr. Muhammad Faesol, MMR, Sp.OG. Keeps Elementor-built pages and the existing images as they are, owns the header, footer, articles and archives, and gives AdSense clear, labelled places that stay away from booking buttons and forms.
Author: AITRADE
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: drfaesol-klinik
*/

:root {
  --aq-deep: #123b3a;
  --aq-deep-2: #0c2c2c;
  --aq-teal: #1b7771;
  --aq-mint: #dff3ee;
  --aq-cream: #fffaf4;
  --aq-peach: #f7d8ca;
  --aq-coral: #d87967;
  --aq-ink: #183332;
  --aq-muted: #5b6d6a;
  --aq-line: #dce9e5;
  --aq-wa: #0f7a55;
  --aq-radius: 22px;
  --aq-shadow: 0 18px 50px rgba(18,59,58,.10);
  --drf-wrap: 1180px;
  --drf-header-h: 72px;
}

html { scroll-behavior: smooth; }
body.drf {
  color: var(--aq-ink);
  background: var(--aq-cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.7;
}
body.drf a { color: var(--aq-teal); }
body.drf a:hover { color: var(--aq-coral); }
.drf h1, .drf h2, .drf h3, .drf h4 { font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif; font-weight: 700; }
.drf h1, .drf h2 { font-weight: 800; }
.drf img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

.drf-wrap { width: 100%; max-width: var(--drf-wrap); margin: 0 auto; padding: 0 24px; }
.drf-wrap--narrow { max-width: 868px; }
.drf-kicker { margin: 0 0 6px; color: var(--aq-coral); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.drf-lead { margin: 0 0 20px; color: var(--aq-muted); font-size: 18px; max-width: 760px; }

/* Buttons */
.drf .drf-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 12px 22px; border-radius: 999px;
  background: var(--aq-deep); color: #fff; font-weight: 700; font-size: 15px; line-height: 1.2;
  text-decoration: none; white-space: nowrap; box-shadow: 0 10px 24px rgba(18,59,58,.18);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.drf .drf-btn:hover { color: #fff; transform: translateY(-2px); }
.drf .drf-btn--wa { background: var(--aq-wa); }
.drf .drf-btn--wa:hover { background: #0b6345; }
.drf .drf-btn--coral { background: var(--aq-coral); }
.drf .drf-btn--coral:hover { background: #c4624f; }

.drf-skip { position: absolute; left: -9999px; top: 0; }
.drf-skip:focus { left: 12px; top: 12px; z-index: 100000; padding: 12px 16px; border-radius: 10px; background: var(--aq-deep); color: #fff !important; }
:focus-visible { outline: 3px solid var(--aq-coral); outline-offset: 3px; }

/* Top bar */
.drf-topbar { background: linear-gradient(90deg, #2fbf9b 0%, #6d7fd0 45%, #8b5cd6 70%, #e05a5a 100%); color: #fff; font-size: 13.5px; }
.drf-topbar-inner { display: flex; align-items: center; justify-content: center; gap: 18px; min-height: 46px; padding-top: 6px; padding-bottom: 6px; }
.drf-topbar-text { margin: 0; }
.drf .drf-topbar-doctor { display: inline-flex; padding: 6px 16px; border-radius: 999px; background: var(--aq-deep-2); color: #fff; font-weight: 700; text-decoration: none; white-space: nowrap; }
.drf .drf-topbar-doctor:hover { color: #fff; background: #000; }

/* Header */
.drf-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,250,244,.94); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--aq-line); }
.admin-bar .drf-header { top: 32px; }
.drf-header-inner { display: flex; align-items: center; gap: 24px; min-height: var(--drf-header-h); }
.drf-logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
.drf-logo-img { display: block; width: auto; max-height: 48px; }
.drf-nav { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.drf-menu, .drf-menu .sub-menu { list-style: none; margin: 0; padding: 0; }
.drf-menu { display: flex; align-items: center; gap: 4px; }
.drf-menu > li { position: relative; }
.drf .drf-menu a { display: block; padding: 10px 12px; border-radius: 10px; color: var(--aq-deep); font-weight: 600; font-size: 15px; text-decoration: none; }
.drf .drf-menu a:hover, .drf .drf-menu .current-menu-item > a, .drf .drf-menu .current-menu-ancestor > a { color: var(--aq-teal); background: var(--aq-mint); }
.drf-menu .sub-menu {
  position: absolute; top: calc(100% + 6px); left: 0; min-width: 270px; padding: 8px;
  background: #fff; border: 1px solid var(--aq-line); border-radius: 14px; box-shadow: var(--aq-shadow);
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s ease;
}
.drf-menu li:hover > .sub-menu, .drf-menu li:focus-within > .sub-menu, .drf-menu li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.drf-menu .menu-item-has-children > a::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); }
.drf-sub-toggle { display: none; }
.drf-menu-toggle { display: none; }

/* Mobile navigation */
@media (max-width: 1024px) {
  :root { --drf-header-h: 64px; }
  .drf-topbar-text { display: none; }
  .drf-topbar-inner { min-height: 40px; }
  .drf .drf-menu-toggle {
    display: inline-flex; align-items: center; gap: 10px; margin-left: auto; padding: 10px 14px; min-height: 44px;
    border: 1px solid var(--aq-line); border-radius: 999px; background: #fff; color: var(--aq-deep); font: 700 14px/1 Inter, sans-serif; box-shadow: none; cursor: pointer;
  }
  .drf .drf-menu-toggle:hover { background: var(--aq-mint); transform: none; }
  .drf-menu-icon, .drf-menu-icon::before, .drf-menu-icon::after { display: block; width: 18px; height: 2px; border-radius: 2px; background: currentColor; transition: .2s ease; }
  .drf-menu-icon { position: relative; }
  .drf-menu-icon::before, .drf-menu-icon::after { content: ""; position: absolute; left: 0; }
  .drf-menu-icon::before { top: -6px; }
  .drf-menu-icon::after { top: 6px; }
  .drf-nav-open .drf-menu-icon { background: transparent; }
  .drf-nav-open .drf-menu-icon::before { top: 0; transform: rotate(45deg); }
  .drf-nav-open .drf-menu-icon::after { top: 0; transform: rotate(-45deg); }
  .drf-nav {
    position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 14px;
    max-height: calc(100vh - var(--drf-header-h) - 40px); overflow-y: auto; padding: 16px 20px 22px;
    background: #fff; border-bottom: 1px solid var(--aq-line); box-shadow: 0 24px 40px rgba(18,59,58,.12);
  }
  .drf-nav-open .drf-nav { display: flex; }
  .drf-menu { flex-direction: column; align-items: stretch; gap: 2px; }
  .drf .drf-menu a { padding: 13px 12px; font-size: 16px; }
  .drf-menu .menu-item-has-children { display: grid; grid-template-columns: 1fr 48px; align-items: center; }
  .drf-menu .menu-item-has-children > a::after { display: none; }
  .drf .drf-sub-toggle {
    display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; margin: 0;
    border: 0; border-radius: 10px; background: var(--aq-mint); color: var(--aq-deep); box-shadow: none; cursor: pointer;
  }
  .drf .drf-sub-toggle:hover { transform: none; background: var(--aq-line); }
  .drf-sub-toggle::before { content: ""; width: 8px; height: 8px; border-right: 2px solid var(--aq-deep); border-bottom: 2px solid var(--aq-deep); transform: translateY(-2px) rotate(45deg); transition: transform .2s ease; }
  .drf-sub-toggle[aria-expanded="true"]::before { transform: translateY(2px) rotate(-135deg); }
  .drf-menu .sub-menu { grid-column: 1 / -1; position: static; display: none; min-width: 0; padding: 4px 0 4px 14px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .drf-menu li.is-open > .sub-menu { display: block; }
  .drf-nav-cta { width: 100%; }
}

/* Main areas */
.drf-main { display: block; }
.drf-page-header { padding-top: 40px; }
.drf .drf-page-header h1, .drf .drf-library-header h1, .drf .drf-404 h1 {
  margin: 0 0 14px; color: var(--aq-deep); font-size: clamp(2rem, 4.4vw, 3.4rem); line-height: 1.08; letter-spacing: -.04em;
}
.drf-page { padding-bottom: 72px; }
.drf-page-article { padding-bottom: 8px; }
.drf-prose { font-size: 17.5px; line-height: 1.8; }
.drf-prose h2, .drf-prose h3 { color: var(--aq-deep); line-height: 1.2; letter-spacing: -.02em; margin-top: 1.7em; }
.drf-prose img { border-radius: 16px; }

/* Shared Elementor surface language (unchanged from the previous theme so built pages look the same). */
.elementor-section, .e-con { --container-max-width: 1180px; }
.elementor-widget-text-editor, .elementor-widget-heading { color: var(--aq-ink); }
.elementor-widget-heading h1, .elementor-widget-heading h2, .elementor-widget-heading h3,
.elementor-widget-heading h4, .elementor-widget-heading h5, .elementor-widget-heading h6 { color: var(--aq-deep); letter-spacing: -.025em; line-height: 1.15; }
.elementor-button, .wp-element-button, :is(.drf-main, .drf-page-main) button:not(.drf-sub-toggle):not(.drf-yt), :is(.drf-main, .drf-page-main) input[type="submit"] {
  border: 0 !important; border-radius: 999px !important; background: var(--aq-deep) !important;
  box-shadow: 0 10px 24px rgba(18,59,58,.18); color: #fff !important; font-weight: 700; letter-spacing: .01em;
  padding: 13px 24px !important; transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.elementor-button:hover, .wp-element-button:hover, :is(.drf-main, .drf-page-main) button:not(.drf-sub-toggle):not(.drf-yt):hover, :is(.drf-main, .drf-page-main) input[type="submit"]:hover {
  background: var(--aq-coral) !important; box-shadow: 0 14px 28px rgba(216,121,103,.25); transform: translateY(-2px);
}
.elementor-widget-image img, .elementor-widget-video iframe,
.elementor-widget-google_maps iframe, iframe[title*="maps"], iframe[src*="maps.google"] { border-radius: var(--aq-radius); }
.elementor-widget-image img { box-shadow: var(--aq-shadow); }
.elementor-widget-container p { color: var(--aq-muted); }
.elementor-widget-icon-box, .elementor-widget-price-table, .elementor-widget-testimonial,
.elementor-widget-form, .elementor-widget-accordion .elementor-accordion-item { border-radius: var(--aq-radius); }
.elementor-widget-icon-box, .elementor-widget-price-table, .elementor-widget-testimonial {
  background: rgba(255,255,255,.82); border: 1px solid var(--aq-line); box-shadow: var(--aq-shadow);
}
body.home .elementor-testimonial__title, body.home .elementor-icon-list-text, body.home .elementor-testimonial__name { color: #40504e !important; }
body.home .elementor-icon-list-item > a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 10px; }

/* Article */
.aq-article-shell { max-width: 1180px; margin: 0 auto; padding: 44px 24px 90px; }
.aq-article { max-width: 1080px; margin: 0 auto; }
.aq-article-header { max-width: 860px; margin: 0 auto 26px; }
.drf-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; color: var(--aq-muted); font-size: 13.5px; margin-bottom: 22px; }
.drf .drf-breadcrumbs a { color: var(--aq-teal); text-decoration: none; }
.aq-article-kicker { margin: 0; color: var(--aq-coral); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.drf .aq-article-title { color: var(--aq-deep); font-size: clamp(2.1rem, 5vw, 4rem); letter-spacing: -.05em; line-height: 1.06; margin: 10px 0 18px; }
.aq-article-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; color: var(--aq-muted); font-size: 14px; }
.aq-article-meta span + span { border-left: 1px solid var(--aq-line); padding-left: 16px; }
@media (max-width: 640px) { .aq-article-meta { gap: 4px 12px; } .aq-article-meta span + span { border-left: 0; padding-left: 0; } .aq-article-meta span + span::before { content: "· "; color: var(--aq-line); } }
.aq-article-featured { margin: 28px auto 44px; max-width: 1080px; }
.aq-article-featured img { display: block; width: 100%; max-height: 540px; object-fit: cover; border-radius: 28px; box-shadow: var(--aq-shadow); }
.aq-article-grid { display: grid; grid-template-columns: 200px minmax(0, 820px); gap: 48px; justify-content: center; }
.aq-article-grid > .aq-article-aside { grid-column: 1; grid-row: 1; align-self: stretch; }
.aq-article-grid > .aq-article-content { grid-column: 2; grid-row: 1; }
.aq-article-grid > :not(.aq-article-aside):not(.aq-article-content) { grid-column: 1 / -1; }
.aq-article-actions { position: sticky; top: calc(var(--drf-header-h) + 20px); display: grid; gap: 10px; }
.admin-bar .aq-article-actions { top: calc(var(--drf-header-h) + 52px); }
.drf .aq-article-actions a { display: block; padding: 12px 14px; border: 1px solid var(--aq-line); border-radius: 14px; background: #fff; color: var(--aq-deep); font-size: 13.5px; font-weight: 700; text-decoration: none; }
.drf .aq-article-actions a:first-child { background: var(--aq-wa); border-color: var(--aq-wa); color: #fff; }
.aq-article-content { min-width: 0; color: var(--aq-ink); font-size: 18px; line-height: 1.85; }
.drf .aq-article-content h2, .drf .aq-article-content h3, .drf .aq-article-content h4 { color: var(--aq-deep); letter-spacing: -.025em; line-height: 1.2; margin-top: 1.8em; }
.aq-article-content a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.aq-article-content blockquote { margin: 28px 0; padding: 18px 24px; border-left: 4px solid var(--aq-coral); border-radius: 0 16px 16px 0; background: var(--aq-mint); }
.aq-article-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.aq-article-content th, .aq-article-content td { padding: 10px 12px; border: 1px solid var(--aq-line); }
.aq-article-content img { height: auto; max-width: 100%; border-radius: 18px; }
.post-tags { margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--aq-line); font-size: 14px; color: var(--aq-muted); }
.aq-article-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin: 64px auto 0; padding: 30px 34px; border-radius: 24px; background: var(--aq-deep); color: #fff; box-shadow: var(--aq-shadow); }
.drf .aq-article-cta h2 { max-width: 660px; margin: 7px 0 0; color: #fff; font-size: clamp(1.4rem, 3vw, 2.2rem); line-height: 1.15; }
.aq-article-cta .aq-article-kicker { color: var(--aq-peach); }

@media (max-width: 900px) {
  .aq-article-shell { padding: 26px 16px 80px; }
  .aq-article-grid { display: block; }
  .aq-article-actions { position: static; display: flex; flex-wrap: wrap; margin-bottom: 26px; }
  .drf .aq-article-actions a { flex: 1 1 150px; text-align: center; }
  .aq-article-content { font-size: 17px; }
  .aq-article-cta { display: block; padding: 24px; }
  .aq-article-cta .drf-btn { margin-top: 20px; }
  .aq-article-featured { margin: 20px auto 28px; }
  .aq-article-featured img { border-radius: 18px; }
}

/* Article library and cards */
.drf-library { padding-bottom: 80px; }
.drf-library-header { padding: 40px 0 26px; }
.drf-page-no { color: var(--aq-muted); font-size: .5em; letter-spacing: 0; }
.drf-chips ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.drf .drf-chips a { display: inline-block; padding: 8px 15px; border-radius: 999px; background: var(--aq-mint); color: var(--aq-deep); font-size: 14px; font-weight: 600; text-decoration: none; }
.drf .drf-chips a[aria-current="page"] { background: var(--aq-deep); color: #fff; }
.drf-chips span { opacity: .65; font-weight: 500; }
.drf-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.drf-cards > :not(.drf-card) { grid-column: 1 / -1; min-width: 0; }
.drf-card { min-width: 0; }
.drf .drf-card-link { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid rgba(18,59,58,.12); border-radius: 18px; overflow: hidden; color: var(--aq-ink); text-decoration: none; transition: box-shadow .15s ease, transform .15s ease; }
.drf .drf-card-link:hover, .drf .drf-card-link:focus-visible { color: var(--aq-ink); box-shadow: 0 12px 30px rgba(18,59,58,.12); transform: translateY(-2px); }
.drf-card-img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.drf-card-body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; flex: 1; }
.drf-card-cat { color: var(--aq-teal); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.drf .drf-card-title { margin: 0; color: var(--aq-deep); font-size: 18.5px; line-height: 1.3; letter-spacing: -.01em; }
.drf-card-excerpt { color: var(--aq-muted); font-size: 14.5px; line-height: 1.55; }
.drf-card-meta { margin-top: auto; padding-top: 6px; color: var(--aq-muted); font-size: 13px; }
.drf-empty { padding: 30px 0; color: var(--aq-muted); }
.pagination { margin-top: 40px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.drf .pagination .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid var(--aq-line); color: var(--aq-deep); text-decoration: none; font-weight: 600; }
.drf .pagination .page-numbers.current { background: var(--aq-deep); border-color: var(--aq-deep); color: #fff; }
@media (max-width: 960px) { .drf-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .drf-cards { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .drf-library-header { padding: 26px 0 18px; }
  .drf-chips ul { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
  .drf-chips li { flex: 0 0 auto; }
}

/* 404 and search */
.drf-404 { padding: 56px 0 80px; }
.drf-quick-links { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 24px 0 0; padding: 0; }
.drf .drf-quick-links a { display: inline-block; padding: 10px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--aq-line); color: var(--aq-deep); font-weight: 600; text-decoration: none; }
.drf-404-recent { margin-top: 56px; }
.drf .drf-404-recent h2 { color: var(--aq-deep); }
.search-form .search-submit { flex: 0 0 auto; }
.search-form { display: flex; gap: 10px; max-width: 560px; margin: 18px 0 10px; }
.search-form label { flex: 1; }
.search-form .search-field { width: 100%; min-height: 48px; padding: 10px 16px; border: 1px solid var(--aq-line); border-radius: 999px; background: #fff; font-size: 16px; }

/* Footer */
.drf-footer { margin-top: 0; padding: 0 0 40px; background: #f2f6f4; color: var(--aq-ink); font-size: 15px; }
.drf-footer-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; position: relative; top: -1px; margin: 0 0 48px; padding: 34px 38px; border-radius: 0 0 26px 26px; background: var(--aq-deep); color: #fff; }
.drf .drf-footer-cta h2 { margin: 0 0 6px; color: #fff; font-size: clamp(1.4rem, 3vw, 2.1rem); line-height: 1.15; }
.drf-footer-cta p { margin: 0; color: rgba(255,255,255,.82); }
.drf-footer-cta .drf-kicker { color: var(--aq-peach); }
.drf .drf-footer .drf-btn, .drf .drf-footer .drf-btn:hover { color: #fff; text-decoration: none; }
.drf-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 36px; }
.drf-footer-brand .drf-logo-img { max-height: 54px; margin-bottom: 12px; }
.drf-footer-brand p { margin: 0 0 12px; color: #40504e; }
.drf .drf-footer-title { margin: 6px 0 14px; color: var(--aq-deep); font-size: 17px; letter-spacing: 0; }
.drf-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.drf .drf-footer a { color: #2f4441; text-decoration: none; }
.drf .drf-footer a:hover { color: var(--aq-teal); text-decoration: underline; }
.drf-footer ul a { display: inline-block; padding: 6px 0; }
.drf-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 28px; margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--aq-line); color: #4c5f5c; font-size: 13.5px; }
.drf-footer-bottom p { margin: 0; }
.drf-footer-menu ul { display: flex; flex-wrap: wrap; gap: 4px 18px; }
@media (max-width: 900px) {
  .drf-footer-grid { grid-template-columns: 1fr 1fr; }
  .drf-footer-brand { grid-column: 1 / -1; }
  .drf-footer-cta { display: block; padding: 26px 22px; border-radius: 0 0 20px 20px; }
  .drf-footer-cta .drf-btn { margin-top: 18px; }
}
@media (max-width: 560px) { .drf-footer-grid { grid-template-columns: 1fr; gap: 24px; } }

/* Persistent patient actions: WhatsApp and location are always reachable but never cover the content's end. */
.drf-patient-actions { position: fixed; z-index: 990; right: 22px; bottom: 22px; display: flex; gap: 10px; }
.drf .drf-patient-actions a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px 18px; border-radius: 999px;
  color: #fff; background: var(--aq-deep); box-shadow: 0 12px 28px rgba(12,44,44,.25); font-size: 14px; font-weight: 700; text-decoration: none;
}
.drf .drf-patient-actions a.drf-pa-wa { background: var(--aq-wa); }
.drf .drf-patient-actions a:hover { color: #fff; transform: translateY(-2px); }
@media (max-width: 767px) {
  body.drf { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .drf-patient-actions { left: 0; right: 0; bottom: 0; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,250,244,.96); border-top: 1px solid var(--aq-line); backdrop-filter: blur(8px); }
  .drf .drf-patient-actions a { flex: 1; min-height: 46px; padding: 10px 8px; font-size: 14px; box-shadow: none; }
}

/* Ads come from the plugin "Iklan AdSense Klinik" (its own CSS). Auto ads, if ever switched back on, keep a calm rhythm. */
.google-auto-placed { clear: both; margin: 32px auto !important; }
.aq-article-content .google-auto-placed { max-width: 820px; }

/* The icon font is non-essential to first paint; do not block text on it. */
@font-face {
  font-family: 'themify';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/plugins/skyboot-custom-icons-for-elementor/assets/fonts/themify.woff?-fvbane') format('woff');
}

@media (max-width: 767px) {
  .drf-wrap { padding: 0 16px; }
  .elementor-widget-heading h1 { font-size: clamp(2rem, 9vw, 3rem); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
