@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* Header brand text shortened for SWELL responsive layout. */
.l-header__logo .c-headLogo__link {
  color: transparent !important;
  display: inline-flex !important;
  align-items: center;
  max-width: min(44vw, 320px);
  overflow: hidden;
  text-decoration: none;
  white-space: nowrap;
}

.l-header__logo .c-headLogo__link::before {
  color: var(--color_header_text, #00384a);
  content: "スマイルライン歯科 博多";
  display: inline-block;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 959px) {
  .l-header__logo .c-headLogo__link {
    max-width: 56vw;
  }

  .l-header__logo .c-headLogo__link::before {
    content: "スマイルライン博多";
    font-size: 15px;
  }
}

/* Consultation page conversion layout. */
.page-id-1246 .p-toc,
.page-id-1246 #toc_container {
  display: none !important;
}

.page-id-1246 .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 28px 0 40px;
}

.page-id-1246 .wp-block-button {
  margin: 0 !important;
}

.page-id-1246 .wp-block-button__link {
  border-radius: 8px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  min-width: 180px;
  padding: 12px 22px !important;
  text-align: center;
}

.page-id-1246 .wp-block-button.is-style-outline .wp-block-button__link {
  background: #fff !important;
  border: 1px solid #00766f !important;
  color: #005d58 !important;
}

.page-id-1246 .wp-block-table table {
  width: 100%;
}

@media (max-width: 600px) {
  .page-id-1246 .wp-block-buttons {
    align-items: stretch;
    flex-direction: column;
  }

  .page-id-1246 .wp-block-button__link {
    width: 100%;
  }
}

.page-id-1246 #ez-toc-container,
.page-id-1246 .ez-toc-container,
.page-id-1246 .ez-toc-title-container {
  display: none !important;
}

/* Mobile footer link list readability. */
.l-footer__nav a {
  line-height: 1.7;
  overflow-wrap: anywhere;
  writing-mode: horizontal-tb !important;
}

@media (max-width: 600px) {
  .l-footer__nav {
    display: grid !important;
    gap: 6px;
    padding: 18px 20px 8px;
    text-align: left;
  }

  .l-footer__nav a {
    border-bottom: 1px solid rgba(0, 0, 0, .08);
    display: block;
    font-size: 12px;
    padding: 7px 0;
  }
}

/* Keep footer keyword links inside the footer flow on small screens. */
.l-footer__nav {
  position: static !important;
  transform: none !important;
}

@media (max-width: 600px) {
  .l-footer__nav {
    display: none !important;
  }
}

/* Hide legacy unstyled keyword links that leak into mobile content. */
@media (max-width: 600px) {
  a:not([class])[href*="%e3%82%a4%e3%83%b3%e3%83%97%e3%83%a9%e3%83%b3%e3%83%88"] {
    display: none !important;
  }
}

/* Japanese label for generated table of contents. */
.ez-toc-title {
  font-size: 0 !important;
}

.ez-toc-title::before {
  content: "目次";
  font-size: 20px;
  font-weight: 700;
}

/* Premium medical color system: calm, trustworthy, consultative. */
:root {
  --smile-ink: #17242b;
  --smile-navy: #12333f;
  --smile-teal: #0f766e;
  --smile-teal-deep: #075b55;
  --smile-sage: #eaf4f1;
  --smile-ivory: #fbfaf6;
  --smile-line: #d9e4df;
  --smile-gold: #b98a42;
  --smile-gold-soft: #f2e4cf;
}

body {
  background: var(--smile-ivory);
  color: var(--smile-ink);
}

.l-mainContent,
.l-content,
.post_content {
  background: transparent;
}

.post_content h1,
.post_content h2,
.c-pageTitle,
.c-postTitle {
  color: var(--smile-navy);
  letter-spacing: 0;
}

.post_content h2 {
  background: linear-gradient(90deg, var(--smile-sage), #fff) !important;
  border-left: 5px solid var(--smile-gold) !important;
  border-top: 1px solid var(--smile-line) !important;
  color: var(--smile-navy) !important;
  padding: 18px 22px !important;
}

.post_content h3 {
  border-bottom: 1px solid var(--smile-line);
  color: var(--smile-navy);
  padding-bottom: 8px;
}

.wp-block-button__link,
.post_content .swell-block-button__link,
a.swell-block-button__link {
  background: var(--smile-teal-deep) !important;
  border: 1px solid var(--smile-teal-deep) !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 24px rgba(7, 91, 85, .14);
  color: #fff !important;
  font-weight: 700;
}

.wp-block-button.is-style-outline .wp-block-button__link,
.post_content .is-style-outline > .wp-block-button__link {
  background: #fff !important;
  border-color: var(--smile-teal) !important;
  box-shadow: none;
  color: var(--smile-teal-deep) !important;
}

.post_content table th {
  background: var(--smile-sage);
  color: var(--smile-navy);
}

.post_content table th,
.post_content table td {
  border-color: var(--smile-line) !important;
}

.p-breadcrumb,
.c-categoryList::before,
.ez-toc-title::before {
  color: var(--smile-navy);
}

.l-header,
.l-header__bar {
  border-bottom: 1px solid rgba(18, 51, 63, .08);
}

.c-headLogo__link::before {
  color: var(--smile-navy) !important;
}

.p-mainVisual,
.implant-hero,
[class*="implant"] .wp-block-group {
  border-color: var(--smile-line);
}
