/* WordPress-side additions on every dedicated page: header booking button, 「医院への案内」, 医師監修 and the TOP page. */

/* Header and footer: the 長谷川レディースクリニック logo and the guide's name side by side (stacked where the header is narrow) */
body.asogi-redesign .brand--logo { flex-direction: row; align-items: center; gap: 0; min-width: 0; }
body.asogi-redesign .brand--logo .brand__logo { display: block; flex: none; width: auto; height: 40px; max-width: none; margin: 0; }
body.asogi-redesign .brand--logo .brand__name { white-space: nowrap; line-height: 1.2; margin-left: 16px; padding-left: 16px; border-left: 1px solid #E3D6CF; }
body.asogi-redesign .site-header .brand--logo .brand__name,
body.asogi-redesign .site-footer .brand--logo .brand__name { font-size: 1.3rem; }
body.asogi-redesign .site-footer .brand--logo { margin-bottom: 6px; }
@media (max-width: 1180px) {
  body.asogi-redesign .site-header .brand--logo .brand__logo { height: 32px; }
  body.asogi-redesign .site-header .brand--logo .brand__name { font-size: 1.08rem; margin-left: 12px; padding-left: 12px; }
}
@media (max-width: 1000px) {
  body.asogi-redesign .site-header .brand--logo { flex-direction: column; align-items: flex-start; gap: 3px; }
  body.asogi-redesign .site-header .brand--logo .brand__logo { height: 28px; }
  body.asogi-redesign .site-header .brand--logo .brand__name { font-size: 1rem; margin: 0; padding: 0; border: 0; }
}

/* Header: the booking button (hidden in the approved prototype) */
body.asogi-redesign .site-header .header-cta { display: inline-flex; align-items: center; min-height: 40px; margin-left: 14px; padding: 0 18px; border-radius: 999px; background: var(--link); color: #fff; font-size: .85rem; font-weight: 650; text-decoration: none; white-space: nowrap; }
body.asogi-redesign .site-header .header-cta:hover,
body.asogi-redesign .site-header .header-cta:focus-visible { background: #8B4030; color: #fff; }

/* 医院への案内 (asogi/clinic-cta): one card per clinic with Web予約, the clinic's page and phone */
body.asogi-redesign .asogi-post-body > aside.asogi-clinic-cta { margin: 56px 0; padding: 28px 28px 24px; border: 0; border-top: 3px solid var(--link); background: var(--ivory); }
body.asogi-redesign .asogi-clinic-cta p { margin: 0; }
body.asogi-redesign .asogi-clinic-cta__title { font-weight: 650; font-size: 1.15rem; line-height: 1.6; }
body.asogi-redesign .asogi-clinic-cta__lead { margin-top: 8px !important; font-size: .95rem; line-height: 1.8; }
body.asogi-redesign .asogi-clinic-cta ul.asogi-clinic-cta__list { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 12px; }
body.asogi-redesign .asogi-clinic-cta li.asogi-clinic-cta__clinic { margin: 0; padding: 16px 18px; list-style: none; background: #fff; border: 1px solid var(--line); }
body.asogi-redesign .asogi-clinic-cta li.asogi-clinic-cta__clinic::before,
body.asogi-redesign .asogi-clinic-cta li.asogi-clinic-cta__clinic::marker { content: none; }
body.asogi-redesign .asogi-clinic-cta__name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
body.asogi-redesign .asogi-clinic-cta__name strong { font-size: 1.05rem; font-weight: 650; }
body.asogi-redesign .asogi-clinic-cta__name span { font-size: .85rem; color: var(--muted); }
body.asogi-redesign .asogi-clinic-cta__badge { display: inline-block; margin-top: 8px !important; padding: 1px 10px; font-size: .78rem; line-height: 1.8; color: #8B4030; border: 1px solid #D8B7A5; border-radius: 999px; }
body.asogi-redesign .asogi-clinic-cta__access,
body.asogi-redesign .asogi-clinic-cta__topics { margin-top: 4px !important; font-size: .85rem; line-height: 1.7; color: var(--muted); }
body.asogi-redesign .asogi-clinic-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 12px !important; }
body.asogi-redesign .asogi-clinic-cta__actions a { font-weight: 650; }
body.asogi-redesign .asogi-clinic-cta__actions a.asogi-clinic-cta__reserve { display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; border-radius: 999px; background: var(--link); color: #fff; text-decoration: none; }
body.asogi-redesign .asogi-clinic-cta__actions a.asogi-clinic-cta__reserve:hover,
body.asogi-redesign .asogi-clinic-cta__actions a.asogi-clinic-cta__reserve:focus-visible { background: #8B4030; color: #fff; }
body.asogi-redesign .asogi-clinic-cta__actions a.asogi-clinic-cta__tel { color: var(--ink); font-weight: 500; text-decoration: none; }
body.asogi-redesign .asogi-clinic-cta__actions a.asogi-clinic-cta__tel::before { content: "電話 "; color: var(--muted); font-size: .85em; }
body.asogi-redesign .asogi-clinic-cta__note { margin-top: 6px !important; font-size: .8rem; color: var(--muted); }
body.asogi-redesign .asogi-clinic-cta__more { margin-top: 16px !important; font-size: .95rem; }
body.asogi-redesign .asogi-clinic-cta__more a { font-weight: 650; }
body.asogi-redesign .asogi-clinic-cta--compact li.asogi-clinic-cta__clinic { padding: 12px 16px; }

/* 医師監修 on articles (only when a supervising doctor and the date they checked the article are set) */
body.asogi-redesign .asogi-reviewer { display: flex; align-items: flex-start; gap: 16px; margin: 22px 0 0; padding: 16px 18px; border: 1px solid #E8D5CA; background: rgba(255, 255, 255, .8); }
body.asogi-redesign .asogi-reviewer p { margin: 0; }
body.asogi-redesign .asogi-reviewer__photo { flex: 0 0 auto; width: 96px; height: 96px; border-radius: 50%; object-fit: cover; background: #f2f2f2; }
body.asogi-redesign .asogi-reviewer__body { min-width: 0; }
body.asogi-redesign .asogi-reviewer__label { display: inline-block; margin-bottom: 6px !important; padding: 0 10px; font-size: .75rem; font-weight: 650; line-height: 1.9; color: #fff; background: #8B4030; border-radius: 999px; }
body.asogi-redesign .asogi-reviewer__name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
body.asogi-redesign .asogi-reviewer__name a { font-size: 1.1rem; font-weight: 650; }
body.asogi-redesign .asogi-reviewer__name span { font-size: .8rem; color: var(--muted); }
body.asogi-redesign .asogi-reviewer__credentials { margin-top: 4px !important; font-size: .8rem; line-height: 1.7; }
body.asogi-redesign .asogi-reviewer__career,
body.asogi-redesign .asogi-reviewer__date { margin-top: 4px !important; font-size: .78rem; line-height: 1.7; color: var(--muted); }

/* TOP page */
body.asogi-redesign .wp-nowrap { white-space: nowrap; }
body.asogi-redesign .wp-home-hero h1 { font-size: clamp(2.1rem, 1.3rem + 1.7vw, 2.75rem); line-height: 1.45; }
body.asogi-redesign .wp-home-review { display: flex; align-items: center; gap: 10px; flex-basis: 100%; margin: 14px 0 0; font-size: .85rem; color: var(--muted); }
body.asogi-redesign .wp-home-review img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
body.asogi-redesign ul.wp-home-links { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 12px 0 0; padding: 0; list-style: none; }
body.asogi-redesign ul.wp-home-links li { margin: 0; }
body.asogi-redesign ul.wp-home-links a { font-weight: 600; font-size: .92rem; }
body.asogi-redesign .wp-home-clinics .asogi-clinic-cta--home { margin: 28px 0 0; padding: 0; border: 0; background: none; }
body.asogi-redesign .wp-home-new { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
body.asogi-redesign .wp-home-card { margin: 0; }
body.asogi-redesign .wp-home-card__image { display: block; }
body.asogi-redesign .wp-home-card__image img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
body.asogi-redesign .wp-home-card h3 { margin: 12px 0 0; font-size: 1rem; line-height: 1.65; font-weight: 600; }
body.asogi-redesign .wp-home-card h3 a { color: var(--ink); text-decoration: none; }
body.asogi-redesign .wp-home-card h3 a:hover { text-decoration: underline; }
body.asogi-redesign .wp-home-index { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 36px; }
body.asogi-redesign .wp-home-index h3 { margin: 0 0 6px; font-size: 1.05rem; }
body.asogi-redesign .wp-home-index ul { margin: 0; padding: 0; list-style: none; }
body.asogi-redesign .wp-home-index li { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--line); }
body.asogi-redesign .wp-home-index a { font-weight: 500; color: var(--ink); text-decoration: none; }
body.asogi-redesign .wp-home-index a::after { content: " ›"; color: var(--link); }
body.asogi-redesign .wp-home-index a:hover { color: var(--link); text-decoration: underline; }
body.asogi-redesign .wp-home-more { margin: 22px 0 0; }
body.asogi-redesign .wp-home-supervisor { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 36px; align-items: start; }
body.asogi-redesign .wp-home-supervisor__photo { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; }
body.asogi-redesign .wp-home-supervisor__body h2 { margin: 4px 0 14px; }
body.asogi-redesign .wp-home-supervisor__body p { margin: 0 0 8px; }
body.asogi-redesign .wp-home-supervisor__name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
body.asogi-redesign .wp-home-supervisor__name strong { font-size: 1.25rem; font-weight: 650; }
body.asogi-redesign .wp-home-supervisor__name span,
body.asogi-redesign .wp-home-supervisor__career { font-size: .9rem; color: var(--muted); }
body.asogi-redesign .wp-home-supervisor__credentials { font-size: .9rem; }
body.asogi-redesign .wp-home-note { margin: 0; font-size: .85rem; color: var(--muted); }
/* Japanese line breaks at phrase boundaries (<wbr>) instead of mid-word; long phrases may still wrap. */
body.asogi-redesign .wp-phrase,
body.asogi-redesign .wp-home-clinics .section-heading h2 { word-break: keep-all; overflow-wrap: anywhere; }
/* Hero: booking first, a visible second path to the topic cards, the doctor line below. */
body.asogi-redesign .wp-home-hero .feature-actions { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 14px; }
body.asogi-redesign .wp-home-hero .feature-actions .button.wp-home-secondary { background: #fff; color: var(--link); border: 1.5px solid var(--link); }
body.asogi-redesign .wp-home-hero .feature-actions .button.wp-home-secondary:hover,
body.asogi-redesign .wp-home-hero .feature-actions .button.wp-home-secondary:focus-visible { background: var(--ivory); color: #8B4030; }
/* Topic cards: the title is the main link. */
body.asogi-redesign .reading-picks .reading-story h3 a { color: var(--ink); text-decoration: none; }
body.asogi-redesign .reading-picks .reading-story h3 a::after { content: " →"; color: var(--link); }
body.asogi-redesign .reading-picks .reading-story h3 a:hover { color: var(--link); }
/* New articles: a quiet placeholder while a lazy image loads. */
body.asogi-redesign .wp-home-card__image { aspect-ratio: 3 / 2; background: var(--ivory); }

/* グループについて (WordPress-only clinics page): photos of the three clinics and confirmed facts */
body.asogi-redesign .wp-group-intro .topic-nav { flex-wrap: wrap; }
body.asogi-redesign ul.wp-group-strip,
body.asogi-redesign ul.wp-group-topics,
body.asogi-redesign ul.wp-group-choose,
body.asogi-redesign ul.wp-group-reserve { margin: 0; padding: 0; list-style: none; }
body.asogi-redesign ul.wp-group-strip li::before,
body.asogi-redesign ul.wp-group-topics li::before,
body.asogi-redesign ul.wp-group-choose li::before,
body.asogi-redesign ul.wp-group-reserve li::before { content: none; }
body.asogi-redesign ul.wp-group-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body.asogi-redesign ul.wp-group-strip li { margin: 0; padding: 0; }
body.asogi-redesign .wp-group-strip a { display: block; color: var(--ink); text-decoration: none; }
body.asogi-redesign .wp-group-strip img,
body.asogi-redesign .wp-group-clinic__main { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; background: var(--ivory); }
body.asogi-redesign .wp-group-strip__name { display: block; margin-top: 10px; font-weight: 650; line-height: 1.5; }
body.asogi-redesign .wp-group-strip__place { display: block; font-size: .85rem; color: var(--muted); }
body.asogi-redesign .wp-group-strip a:hover .wp-group-strip__name { color: var(--link); }
body.asogi-redesign .wp-group-clinic__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
body.asogi-redesign .wp-group-clinic__sub { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
body.asogi-redesign .wp-group-clinic__sub figure { margin: 0; }
body.asogi-redesign .wp-group-clinic__sub img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; background: var(--ivory); }
body.asogi-redesign .wp-group-clinic__sub figcaption { margin-top: 4px; font-size: .8rem; color: var(--muted); }
body.asogi-redesign .wp-group-clinic__body h2 { margin: 2px 0 12px; }
body.asogi-redesign .wp-group-clinic__badge { display: inline-block; margin: 0 0 12px; padding: 2px 12px; font-size: .82rem; line-height: 1.8; color: #8B4030; border: 1px solid #D8B7A5; border-radius: 999px; background: #fff; }
body.asogi-redesign .wp-group-facts { margin: 0 0 16px; }
body.asogi-redesign .wp-group-facts > div { display: grid; grid-template-columns: 5.5em minmax(0, 1fr); gap: 4px 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
body.asogi-redesign .wp-group-facts dt { font-weight: 650; font-size: .9rem; }
body.asogi-redesign .wp-group-facts dd { margin: 0; font-size: .95rem; }
body.asogi-redesign .wp-group-facts dd a { color: var(--ink); font-weight: 600; }
body.asogi-redesign .wp-group-topics__label { margin: 0 0 8px; font-weight: 650; font-size: .9rem; }
body.asogi-redesign ul.wp-group-topics { display: flex; flex-wrap: wrap; gap: 6px 8px; margin-bottom: 18px; }
body.asogi-redesign ul.wp-group-topics li { margin: 0; padding: 2px 12px; font-size: .85rem; line-height: 1.9; background: #fff; border: 1px solid var(--line); border-radius: 999px; }
body.asogi-redesign .wp-group-clinic__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin: 0; }
body.asogi-redesign .wp-group-clinic__note { margin: 10px 0 0; font-size: .85rem; color: var(--muted); }
body.asogi-redesign .wp-group-table-wrap { overflow-x: auto; }
body.asogi-redesign .wp-group-table { min-width: 640px; }
body.asogi-redesign .wp-group-choose__title { margin: 32px 0 12px; }
body.asogi-redesign ul.wp-group-choose { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body.asogi-redesign ul.wp-group-choose li { margin: 0; padding: 16px 18px; background: #fff; border: 1px solid var(--line); }
body.asogi-redesign ul.wp-group-choose strong { display: block; margin-bottom: 4px; }
body.asogi-redesign ul.wp-group-choose span { font-size: .92rem; }
body.asogi-redesign ul.wp-group-reserve { display: grid; gap: 10px; }
body.asogi-redesign ul.wp-group-reserve li { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 0; padding: 14px 18px; background: #fff; border: 1px solid var(--line); }
body.asogi-redesign .wp-group-reserve__name { flex: 1 1 260px; font-weight: 650; }
body.asogi-redesign .wp-group-reserve__tel { color: var(--ink); font-weight: 600; text-decoration: none; }
body.asogi-redesign .wp-group-reserve__tel::before { content: "電話 "; color: var(--muted); font-size: .85em; font-weight: 400; }
@media (max-width: 900px) {
  body.asogi-redesign .wp-group-clinic__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
@media (max-width: 760px) {
  body.asogi-redesign ul.wp-group-strip { grid-template-columns: repeat(3, 78%); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
  body.asogi-redesign ul.wp-group-strip li { scroll-snap-align: start; }
  body.asogi-redesign ul.wp-group-choose { grid-template-columns: minmax(0, 1fr); }
  body.asogi-redesign .wp-group-facts > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}

@media (min-width: 900px) {
  body.asogi-redesign .asogi-clinic-cta--home ul.asogi-clinic-cta__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  body.asogi-redesign .asogi-clinic-cta--home li.asogi-clinic-cta__clinic { padding: 20px; }
}
@media (max-width: 1000px) {
  body.asogi-redesign .wp-home-new { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.asogi-redesign .wp-home-index { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; }
}
@media (max-width: 760px) {
  body.asogi-redesign .wp-home-hero h1 { font-size: 1.85rem; }
  body.asogi-redesign .wp-home-sep { display: none; }
  body.asogi-redesign .wp-home-hero .feature-kicker .wp-nowrap { display: block; }
  body.asogi-redesign .wp-home-hero .feature-actions { grid-area: 2 / 1; }
  body.asogi-redesign .wp-home-hero .media-slot--hero { grid-area: 3 / 1; }
  body.asogi-redesign .wp-home-hero .feature-actions .button { width: 100%; justify-content: center; text-align: center; }
  body.asogi-redesign .site-header .header-cta { min-height: 32px; margin-left: auto; padding: 0 10px; font-size: .74rem; }
  body.asogi-redesign .site-header .brand--logo .brand__logo { height: 24px; }
  body.asogi-redesign .site-header .brand--logo .brand__name { font-size: .92rem; }
  body.asogi-redesign .site-footer .brand--logo .brand__logo { height: 30px; }
  body.asogi-redesign .site-footer .brand--logo .brand__name { font-size: 1.1rem; margin-left: 12px; padding-left: 12px; }
  body.asogi-redesign .site-header .brand__name,
  body.asogi-redesign .site-header .search-button,
  body.asogi-redesign .site-header .menu-button { white-space: nowrap; }
  body.asogi-redesign .site-header .search-button,
  body.asogi-redesign .site-header .menu-button { padding-inline: 6px; }
  body.asogi-redesign .asogi-post-body > aside.asogi-clinic-cta { padding: 22px 16px 20px; margin-inline: -4px; }
  body.asogi-redesign .asogi-clinic-cta li.asogi-clinic-cta__clinic { padding: 14px; }
  body.asogi-redesign .asogi-reviewer { gap: 12px; padding: 14px; }
  body.asogi-redesign .asogi-reviewer__photo { width: 72px; height: 72px; }
  body.asogi-redesign .wp-home-new { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.asogi-redesign .wp-home-index { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  body.asogi-redesign .wp-home-supervisor { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body.asogi-redesign .wp-home-supervisor__photo { width: 140px; height: 140px; }
}
