:root {
  /* Default theme ("Clinic Gold", from the clinic's own logo/signage: charcoal + gold).
     The active theme chosen in Admin > Site Settings overrides these via an inline
     <style id="pw-theme"> written by App\Core\Theme::styleTag() in every layout. */
  --pw-primary: #c07f1f;
  --pw-primary-rgb: 192,127,31;
  --pw-primary-dark: #8a5a12;
  --pw-dark: #2b2b2b;
  --pw-accent: #e8a33d;
  --pw-accent-rgb: 232,163,61;
  --pw-link: #8a5a12;
  --pw-bg-soft: #f7f5f1;

  /* Point Bootstrap's own "primary" (links, outline buttons, tabs, badges, focus rings) at the theme. */
  --bs-primary: var(--pw-primary);
  --bs-primary-rgb: var(--pw-primary-rgb);
  --bs-link-color: var(--pw-link);
  --bs-link-color-rgb: var(--pw-primary-rgb);
  --bs-link-hover-color: var(--pw-primary-dark);
  --bs-link-hover-color-rgb: var(--pw-primary-rgb);
  --bs-primary-text-emphasis: var(--pw-primary-dark);
  --bs-primary-bg-subtle: var(--pw-bg-soft);
  --bs-primary-border-subtle: rgba(var(--pw-primary-rgb), .35);
  --bs-focus-ring-color: rgba(var(--pw-primary-rgb), .25);
}
body { font-family: 'Segoe UI', Roboto, Arial, sans-serif; color: #26312f; }
a { color: var(--pw-link); }
a:hover { color: var(--pw-primary-dark); }
.navbar-brand { color: var(--pw-primary) !important; }
.btn-primary {
  --bs-btn-bg: var(--pw-primary); --bs-btn-border-color: var(--pw-primary);
  --bs-btn-hover-bg: var(--pw-primary-dark); --bs-btn-hover-border-color: var(--pw-primary-dark);
  --bs-btn-active-bg: var(--pw-primary-dark); --bs-btn-active-border-color: var(--pw-primary-dark);
  --bs-btn-disabled-bg: var(--pw-primary); --bs-btn-disabled-border-color: var(--pw-primary);
  --bs-btn-focus-shadow-rgb: var(--pw-primary-rgb);
}
.btn-outline-primary {
  --bs-btn-color: var(--pw-link); --bs-btn-border-color: var(--pw-primary);
  --bs-btn-hover-bg: var(--pw-primary); --bs-btn-hover-border-color: var(--pw-primary); --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--pw-primary-dark); --bs-btn-active-border-color: var(--pw-primary-dark); --bs-btn-active-color: #fff;
  --bs-btn-disabled-color: var(--pw-primary); --bs-btn-disabled-border-color: var(--pw-primary);
  --bs-btn-focus-shadow-rgb: var(--pw-primary-rgb);
}
.nav-pills { --bs-nav-pills-link-active-bg: var(--pw-primary); }
.pagination { --bs-pagination-active-bg: var(--pw-primary); --bs-pagination-active-border-color: var(--pw-primary); --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(var(--pw-primary-rgb), .25); }
.list-group { --bs-list-group-active-bg: var(--pw-primary); --bs-list-group-active-border-color: var(--pw-primary); }
.dropdown-menu { --bs-dropdown-link-active-bg: var(--pw-primary); }
.progress, .progress-stacked { --bs-progress-bar-bg: var(--pw-primary); }
.form-control:focus, .form-select:focus { border-color: rgba(var(--pw-primary-rgb), .6); box-shadow: 0 0 0 .25rem rgba(var(--pw-primary-rgb), .25); }
.form-check-input:focus { border-color: rgba(var(--pw-primary-rgb), .6); box-shadow: 0 0 0 .25rem rgba(var(--pw-primary-rgb), .25); }
.form-check-input:checked { background-color: var(--pw-primary); border-color: var(--pw-primary); }
.btn:focus-visible { box-shadow: 0 0 0 .25rem rgba(var(--pw-primary-rgb), .35); }
.text-primary { color: var(--pw-link) !important; }
.bg-soft { background-color: var(--pw-bg-soft); }
.hero { background: linear-gradient(135deg, #3a3a3a 0%, #1c1c1c 100%); color: #fff; padding: 5rem 0; }
.hero h1 { font-weight: 700; color: var(--pw-accent); }
.hero .btn-light { color: var(--pw-dark) !important; }
.service-card, .team-card, .blog-card { border: none; border-radius: 0.75rem; box-shadow: 0 2px 12px rgba(0,0,0,0.06); transition: transform .15s ease, box-shadow .15s ease; height: 100%; }
.service-card:hover, .team-card:hover, .blog-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.1); }
.badge-fee { background-color: var(--pw-accent); color: #1a1a1a; }
.stat-card { border-radius: 0.75rem; }
.testimonial-card { border-left: 4px solid var(--pw-primary); background: #fff; border-radius: 0.5rem; }
footer a { text-decoration: none; }
footer a:hover { text-decoration: underline; }
.gallery-thumb { border-radius: 0.5rem; overflow: hidden; aspect-ratio: 4/3; object-fit: cover; width: 100%; }
/* Portal sidebar/shell styles live in admin.css. */
