/*
Theme Name: MR HUB v2.0 Lightning Edition
Theme URI: https://medicalrecords.jp/
Description: PHP 7.2 compatible child theme for Lightning. Online medical hub with patient routing, hours status, CTA tracking, and editable settings.
Author: MR HUB
Template: lightning
Version: 2.0.0
Requires PHP: 7.2
Text Domain: mrhub-lightning
*/

/* Base reset for hub page */
body.mrhub-home .site-body,
body.mrhub-home .siteContent,
body.mrhub-home .entry-body,
body.mrhub-home .mainSection {
  padding-top: 0 !important;
}
body.mrhub-home .page-header,
body.mrhub-home .breadcrumb,
body.mrhub-home .entry-header,
body.mrhub-home .vk_post_title,
body.mrhub-home h1.entry-title {
  display: none !important;
}

.mrhub-page {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", sans-serif;
  color: #102033;
  background: #f5f8fc;
  overflow: hidden;
}
.mrhub-wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.mrhub-hero-outer { padding: 28px 20px 48px; background: #f5f8fc; }
.mrhub-hero {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
  overflow: hidden;
  background: linear-gradient(135deg, #07182f 0%, #123b63 54%, #eaf3ff 54%, #f6f9ff 100%);
  box-shadow: 0 28px 70px rgba(10, 32, 54, .18);
}
.mrhub-hero:before {
  content: "";
  position: absolute;
  right: -80px;
  top: -80px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: rgba(255,255,255,.13);
}
.mrhub-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 40px;
  align-items: center;
  padding: 62px 48px;
}
.mrhub-kicker { font-size: 12px; letter-spacing: .16em; font-weight: 800; color: #6fb6ff; margin: 0 0 12px; }
.mrhub-hero h1 { margin: 0 0 18px; font-size: 52px; line-height: 1.12; font-weight: 900; color: #fff; }
.mrhub-lead { margin: 0 0 26px; font-size: 18px; line-height: 1.9; color: #eaf4ff; }
.mrhub-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.mrhub-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 24px; border-radius: 999px; text-decoration: none !important; font-weight: 800; border: none; cursor: pointer; transition: .18s ease; }
.mrhub-btn:hover { transform: translateY(-2px); opacity: .92; }
.mrhub-btn-primary { background: #ff8a00; color: #fff !important; box-shadow: 0 14px 32px rgba(255,138,0,.28); }
.mrhub-btn-secondary { background: #fff; color: #12385d !important; }
.mrhub-btn-dark { background: #102033; color: #fff !important; }
.mrhub-hero-note { margin: 16px 0 0; color: rgba(255,255,255,.82); font-size: 13px; }
.mrhub-hero-visual { position: relative; }
.mrhub-hero-img {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(226,238,255,.86));
  box-shadow: 0 24px 58px rgba(5, 21, 42, .2);
}
.mrhub-hero-img img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; display: block; }
.mrhub-hero-img-empty { min-height: 390px; display: flex; align-items: center; justify-content: center; color: #31506d; text-align: center; font-weight: 700; padding: 24px; }
.mrhub-status-badge { position: absolute; left: 20px; top: 20px; padding: 12px 16px; border-radius: 999px; background: rgba(255,255,255,.88); backdrop-filter: blur(10px); color: #12385d; font-weight: 900; box-shadow: 0 12px 30px rgba(0,0,0,.12); }
.mrhub-status-badge.is-open { color: #076b38; box-shadow: 0 0 0 4px rgba(36,186,99,.18), 0 12px 30px rgba(0,0,0,.12); }
.mrhub-section { padding: 62px 0; }
.mrhub-section-soft { background: #edf4fb; }
.mrhub-section-head { text-align: center; max-width: 760px; margin: 0 auto 30px; }
.mrhub-section-head h2 { margin: 0 0 12px; font-size: 38px; line-height: 1.24; font-weight: 900; color: #102033; }
.mrhub-section-head p { margin: 0; line-height: 1.85; color: #506276; }
.mrhub-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.mrhub-card { display: block; background: #fff; border: 1px solid rgba(16,32,51,.08); border-radius: 24px; overflow: hidden; box-shadow: 0 16px 38px rgba(16,32,51,.08); text-decoration: none !important; color: #102033 !important; transition: .18s ease; }
.mrhub-card:hover { transform: translateY(-4px); box-shadow: 0 22px 48px rgba(16,32,51,.13); }
.mrhub-card-img { height: 120px; background: linear-gradient(135deg,#eef6ff,#dcecff); display: flex; align-items: center; justify-content: center; color: #31506d; font-weight: 800; text-align: center; }
.mrhub-card-img img { width: 100%; height: 100%; object-fit: cover; display:block; }
.mrhub-card-body { padding: 20px; }
.mrhub-label { display:inline-block; padding: 5px 9px; border-radius:999px; background:#eef6ff; color:#1f73c9; font-size:11px; font-weight:900; margin-bottom: 10px; }
.mrhub-card h3 { margin:0 0 10px; font-size: 20px; font-weight:900; }
.mrhub-card p { margin:0 0 14px; color:#506276; line-height:1.65; font-size:14px; }
.mrhub-card strong { color:#1f73c9; }
.mrhub-hours { display:grid; grid-template-columns: .8fr 1.2fr; gap: 22px; align-items: stretch; }
.mrhub-hours-panel, .mrhub-hours-table-wrap { background:#fff; border-radius:28px; padding:28px; box-shadow:0 18px 48px rgba(16,32,51,.09); }
.mrhub-hours-panel h2 { margin:0 0 12px; font-size:32px; font-weight:900; }
.mrhub-hours-panel p { color:#506276; line-height:1.8; }
.mrhub-hours-status { display:inline-flex; padding:8px 12px; border-radius:999px; background:#eaf7ef; color:#08713d; font-weight:900; margin-bottom:14px; }
.mrhub-hours-status.is-closed { background:#fff3e6; color:#a65000; }
.mrhub-hours-table { width:100%; border-collapse: collapse; }
.mrhub-hours-table th, .mrhub-hours-table td { padding: 13px 10px; border-bottom:1px solid #e8eef5; text-align:left; }
.mrhub-hours-table th { width: 90px; color:#12385d; }
.mrhub-final { padding: 70px 20px; background:#102033; color:#fff; text-align:center; }
.mrhub-final h2 { margin:0 0 14px; font-size:40px; font-weight:900; color:#fff; }
.mrhub-final p { margin:0 auto 24px; max-width:720px; line-height:1.85; color:#dbe8f7; }
.mrhub-sticky { position: fixed; left:0; right:0; bottom:0; z-index: 999; display:none; padding:10px 12px; background:rgba(255,255,255,.94); box-shadow:0 -12px 28px rgba(16,32,51,.16); }
.mrhub-sticky a { width:100%; }

@media (max-width: 1024px){ .mrhub-grid{ grid-template-columns: repeat(2,1fr);} .mrhub-hero-inner{ grid-template-columns:1fr; } .mrhub-hero h1{ font-size:42px;} .mrhub-hours{ grid-template-columns:1fr;} }
@media (max-width: 640px){ .mrhub-hero-outer{ padding:12px 10px 32px;} .mrhub-hero-inner{ padding:40px 22px;} .mrhub-hero h1{ font-size:34px;} .mrhub-actions{ flex-direction:column;} .mrhub-btn{ width:100%; } .mrhub-grid{ grid-template-columns:1fr;} .mrhub-section-head h2{ font-size:30px;} .mrhub-sticky{ display:block;} body{ padding-bottom:78px;} }
