/*
Theme Name: Clinic Standard
Theme URI: https://clinic-story-craft.vercel.app
Author: Clinic Content OS
Description: A lightweight managed Korean medicine clinic block theme for staging and production sites.
Version: 0.5.1
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: clinic-standard
*/

:root {
  --clinic-primary: #414548;
  --clinic-accent: #3d8f8c;
  --clinic-canvas: #f4f2ed;
  --clinic-surface: #ffffff;
  --clinic-ink: #202628;
  --clinic-muted: #697276;
  --clinic-border: #dedfdc;
  --clinic-radius: 18px;
  --clinic-shadow: 0 18px 48px rgba(42, 45, 47, 0.08);
}

html { scroll-behavior: smooth; }
body { margin: 0; word-break: keep-all; text-wrap: pretty; }
a { text-underline-offset: 0.2em; }
figure.wp-block-image { margin: 0; }
.wp-site-blocks { min-height: 100vh; overflow-x: clip; }
.wp-site-blocks > main { min-height: 55vh; }

.clinic-header-shell,
.clinic-hero,
.clinic-location-section,
.clinic-final-cta,
.clinic-footer-shell { border-radius: 0 !important; }

.clinic-header-shell {
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom-color: color-mix(in srgb, var(--clinic-primary) 10%, transparent) !important;
  background: rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(18px) saturate(1.2);
}

.clinic-header-inner { min-height: 72px; gap: 24px; }
.clinic-brand { gap: 10px; flex-shrink: 0; }
.clinic-brand .wp-block-site-title { margin: 0; line-height: 1.2; white-space: nowrap; }
.clinic-brand .wp-block-site-title a { color: var(--clinic-primary); font-size: 1.03rem; font-weight: 750; text-decoration: none; }
.wp-block-site-logo img { max-height: 42px; width: auto; object-fit: contain; }
.clinic-header-nav { margin-left: auto; }
.clinic-header-nav .wp-block-navigation__container { gap: clamp(0.75rem, 1.25vw, 1.35rem); flex-wrap: nowrap; }
.clinic-header-nav .wp-block-navigation-item__content { color: var(--clinic-ink); font-size: 0.9rem; font-weight: 600; line-height: 1.35; white-space: nowrap; text-decoration: none; }
.clinic-header-nav .wp-block-navigation-item__content:hover { color: var(--clinic-accent); }
.clinic-header-nav .wp-block-navigation__container > .wp-block-pages-list__item:nth-last-child(-n+2) { display: none; }

.clinic-hero { padding: clamp(4.5rem, 9vw, 7.5rem) 24px; }
.clinic-hero-columns { gap: clamp(2.5rem, 6vw, 5rem); }
.clinic-hero h1 { max-width: 760px; margin-top: 0.25rem; }
.clinic-hero-summary { max-width: 680px; opacity: 0.9; }
.clinic-hero-image { overflow: hidden; border-radius: var(--clinic-radius); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18); }
.clinic-hero-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.clinic-eyebrow { margin-bottom: 0.6rem; font-weight: 700; letter-spacing: 0.08em; }
.clinic-section { padding: clamp(4.5rem, 8vw, 7rem) 24px; }
.clinic-section-summary { max-width: 680px; color: var(--clinic-muted); }
.clinic-section-actions { margin-top: 2rem; }

.clinic-card-grid,
.clinic-point-grid,
.clinic-process-grid { margin-top: 2rem; gap: 1rem; }
.clinic-card,
.clinic-point-card,
.clinic-process-card,
.clinic-post-card { border: 1px solid var(--clinic-border); border-radius: var(--clinic-radius); box-shadow: none; }
.clinic-card,
.clinic-point-card,
.clinic-process-card { padding: clamp(1.25rem, 2vw, 1.65rem); }
.clinic-service-card { min-height: 220px; }
.clinic-service-card h3 { margin: 0.15rem 0 0.75rem; }
.clinic-service-card h3 a,
.clinic-card-link a { text-decoration: none; }
.clinic-service-card p:not(.clinic-card-kicker):not(.clinic-card-link) { color: var(--clinic-muted); }
.clinic-card-link { margin-top: auto; font-weight: 700; }
.clinic-point-number,
.clinic-process-number,
.clinic-card-kicker { margin: 0 0 0.65rem; font-weight: 800; }
.clinic-point-card p:last-child,
.clinic-process-card p:last-child { margin-bottom: 0; color: var(--clinic-muted); }
.clinic-process-card { border-top: 3px solid var(--clinic-accent); background: transparent; }

.clinic-doctor-home { gap: clamp(2.5rem, 6vw, 5rem); }
.clinic-doctor-image { overflow: hidden; border-radius: var(--clinic-radius); }
.clinic-doctor-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.clinic-credentials ul { columns: 2; column-gap: 2rem; padding-left: 1.15rem; }
.clinic-credentials li { break-inside: avoid; margin-bottom: 0.4rem; }

.clinic-post-query { margin-top: 2rem; }
.clinic-post-query .wp-block-post-template { gap: 1rem; }
.clinic-post-card { overflow: hidden; height: 100%; }
.clinic-post-card .wp-block-post-featured-image { margin: 0; }
.clinic-post-card-copy { padding: 1.25rem 1.25rem 1.5rem; }
.clinic-post-card .wp-block-post-title { margin: 0.35rem 0 0.65rem; }
.clinic-post-card .wp-block-post-title a { text-decoration: none; }
.clinic-post-card .wp-block-post-excerpt { color: var(--clinic-muted); }
.clinic-post-card .wp-block-post-excerpt__more-link { font-weight: 700; text-decoration: none; }

.clinic-location-columns { gap: clamp(2rem, 6vw, 5rem); }
.clinic-location-columns > .wp-block-column { padding: clamp(1.4rem, 3vw, 2.1rem); border: 1px solid var(--clinic-border); border-radius: var(--clinic-radius); background: var(--clinic-surface); }
.clinic-final-cta { padding: clamp(4rem, 8vw, 6.5rem) 24px; }
.clinic-final-cta h2 { max-width: 800px; }
.clinic-final-cta p { max-width: 700px; opacity: 0.85; }

.clinic-copy-section,
.clinic-doctor-layout,
.clinic-location-columns { padding-top: clamp(2.5rem, 5vw, 4rem); padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.clinic-article-byline { margin: 0 0 1.5rem; padding: 0.85rem 1rem; border: 1px solid var(--clinic-border); background: #f7f9fa; color: #52606d; font-size: 0.9rem; line-height: 1.6; }
.wp-block-post-featured-image { overflow: hidden; border-radius: var(--clinic-radius); }
.wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.wp-block-table { margin: 1.5rem 0; overflow-x: auto; }
.wp-block-table table { width: 100%; min-width: 640px; border-collapse: collapse; }
.wp-block-table th,
.wp-block-table td { padding: 0.75rem 0.85rem; border: 1px solid #d9dee5; text-align: left; vertical-align: top; }
.wp-block-table th { background: #f5f7f9; color: #243447; font-weight: 700; }
.wp-block-table tbody tr:nth-child(even) { background: #fafbfc; }
.clinic-service-posts { display: grid; gap: 1rem; }
.clinic-service-post { padding: 1.25rem; border: 1px solid var(--clinic-border); border-radius: var(--clinic-radius); background: #fff; }
.clinic-service-post h3 { margin: 0 0 0.5rem; font-size: 1.05rem; }
.clinic-service-post h3 a { text-decoration: none; }
.clinic-service-post p,
.clinic-service-empty { margin: 0; color: var(--clinic-muted); }

.wp-element-button { transition: none; }
.wp-block-button.is-style-outline .wp-element-button { background: transparent; }
.clinic-footer-shell { background: var(--clinic-primary) !important; }
.clinic-footer-shell .wp-block-separator { opacity: 0.18; }
.clinic-footer-shell .wp-block-site-title a,
.clinic-footer-shell a { color: inherit; }

@media (hover: hover) and (pointer: fine) {
  .clinic-card,
  .clinic-post-card { transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; }
  .clinic-card:hover,
  .clinic-post-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--clinic-accent) 45%, transparent); box-shadow: var(--clinic-shadow); }
}

@media (max-width: 781px) {
  body { word-break: normal; }
  .clinic-header-inner { min-height: 60px; }
  .wp-block-site-logo img { max-height: 36px; }
  .clinic-brand .wp-block-site-title a { font-size: 0.94rem; }
  .clinic-hero { padding-top: 3.75rem; padding-bottom: 3.75rem; }
  .clinic-section { padding-top: 4rem; padding-bottom: 4rem; }
  .clinic-doctor-image img { aspect-ratio: 5 / 4; object-position: center 22%; }
  .clinic-credentials ul { columns: 1; }
  .clinic-post-query .wp-block-post-template { grid-template-columns: 1fr !important; }
  .clinic-location-columns > .wp-block-column { padding: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .clinic-card,
  .clinic-post-card { transition: none; }
}
