.idetail-page { padding-top:22px; padding-bottom:120px; font-size:16px; }
.idetail-page .breadcrumbs { font-size:16px; }
.idetail-breadcrumbs { display:flex; flex-wrap:wrap; gap:7px 10px; align-items:baseline; margin:4px 0 26px; overflow-wrap:anywhere; }
.idetail-breadcrumbs > span[aria-current] { color:var(--ink); }
.idetail-title { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,330px); gap:28px 42px; padding:36px 38px; border:1px solid #d5e5da; background:linear-gradient(125deg,#f2f8f1,#fff 80%); border-radius:20px; }
.idetail-title .eyebrow { font-size:16px; letter-spacing:.02em; }
.idetail-title h1 { margin:16px 0 20px; line-height:1.4; font-size:clamp(28px,3.1vw,39px); letter-spacing:-.035em; overflow-wrap:anywhere; }
.idetail-title-address { font-size:16px; line-height:1.9; color:#536f5e; margin:14px 0 0; }
.idetail-start-price { align-self:center; border-left:1px solid #dce7de; padding-left:32px; }
.idetail-start-price > span { font-size:16px; color:var(--muted); }
.idetail-start-price p { margin:10px 0 18px; line-height:1.3; color:#ba5738; }
.idetail-start-price strong { font-size:44px; font-weight:750; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.idetail-start-price p > span { display:inline-block; margin-left:8px; font-size:16px; }
.idetail-start-price small { font-size:16px; display:block; margin-top:9px; color:#637869; line-height:1.65; }
.idetail-start-price .idetail-price-unknown { font-size:28px; }
.idetail-title-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:14px; border-top:1px solid #e1eae2; padding-top:24px; }
.idetail-title-actions .button { min-height:54px; font-size:18px; }
.idetail-section-nav { display:flex; flex-wrap:wrap; gap:10px 24px; margin:22px 0 26px; padding:10px 4px; }
.idetail-section-nav a { font-size:16px; color:var(--navy); padding:8px 0; border-bottom:1px solid #bdd3c4; }
.idetail-section { background:#fff; border:1px solid #dfe8e1; padding:30px 34px; border-radius:16px; margin-top:24px; scroll-margin-top:100px; min-width:0; }
.idetail-section-heading { display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.idetail-section-heading > span { height:22px; width:4px; border-radius:8px; background:var(--navy); flex-shrink:0; }
.idetail-section h2 { font-size:25px; line-height:1.5; margin:0; }
.idetail-section h3 { font-size:18px; margin:20px 0 12px; }
.idetail-section p,.idetail-section li,.idetail-section .prose,.idetail-section a { font-size:16px; }
.idetail-section .prose { line-height:1.9; }
.idetail-section .prose p { margin:0 0 16px; }
.idetail-readmore summary { color:var(--navy); min-height:48px; padding:12px 0; cursor:pointer; font-size:16px; }
.idetail-readmore[open] summary { margin-bottom:16px; border-bottom:1px solid var(--line); }
.article-faq { margin-top:40px; padding-top:24px; border-top:1px solid var(--line); }
.article-faq details { border-bottom:1px solid var(--line); padding:12px 0; }
.article-faq summary { font-size:18px; color:var(--navy); cursor:pointer; min-height:44px; line-height:1.8; }
.article-faq p { font-size:16px; white-space:pre-wrap; }
.seo-not-found { min-height:65vh; padding-top:55px; padding-bottom:70px; }
.seo-not-found h1 { font-size:clamp(26px,4vw,38px); line-height:1.5; }
.seo-not-found > .button { min-height:54px; margin-block:15px 26px; }
.seo-not-found p,.seo-recommendations p { font-size:16px; }
.seo-recommendations { padding-block:25px; }
.seo-recommendations h2 { font-size:25px; }
.category-tabs a { display:inline-block; padding:12px 17px; font-size:16px; border:1px solid var(--line); border-radius:8px; }
.category-tabs a[aria-current] { color:white; background:var(--navy); }
.faq-editor-row { padding:16px; background:#f5f8f4; border:1px solid var(--line); border-radius:10px; margin-block:12px; }
.idetail-feature-photos { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:20px; margin:22px 0; }
.idetail-feature-photos figure { margin:0; }
.idetail-feature-photos a { display:block; border-radius:12px; overflow:hidden; }
.idetail-feature-photos img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.idetail-feature-photos figcaption { font-size:16px; line-height:1.8; padding-top:10px; }
.idetail-feature-photos small { display:block; font-size:14px; color:var(--muted); }
.idetail-muted { color:var(--muted); font-size:16px; line-height:1.85; }
.idetail-gallery-tabs { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 24px; }
.idetail-gallery-tabs button { min-height:46px; border:1px solid var(--line); border-radius:8px; padding:9px 18px; background:#f7faf7; color:var(--ink); cursor:pointer; font-size:16px; }
.idetail-gallery-tabs [aria-selected=true] { color:#fff; background:var(--navy); border-color:var(--navy); }
.idetail-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.idetail-gallery figure { margin:0; min-width:0; }
.idetail-gallery figure[hidden] { display:none; }
.idetail-gallery a { display:block; border-radius:12px; overflow:hidden; }
.idetail-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.idetail-gallery figcaption { font-size:16px; padding-top:12px; line-height:1.8; }
.idetail-gallery small { display:block; font-size:14px; color:var(--muted); }
.idetail-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; margin:0; }
.idetail-facts > div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:16px; padding:18px 0; border-bottom:1px solid var(--line); align-items:start; font-size:16px; }
.idetail-facts dt { color:#6b7f70; }
.idetail-facts dd { margin:0; overflow-wrap:anywhere; line-height:1.8; white-space:pre-line; }
.idetail-table-wrap { width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:12px; }
.idetail-price-table { width:100%; border-collapse:collapse; font-size:16px; text-align:left; }
.idetail-price-table th,.idetail-price-table td { padding:16px 20px; border-bottom:1px solid #e6ece7; }
.idetail-price-table thead th { background:#eff6f0; color:#436650; font-weight:650; }
.idetail-price-table tbody th { font-weight:500; color:#5d7364; width:25%; }
.idetail-price-table tbody td strong { font-size:20px; color:#a95137; font-weight:650; font-variant-numeric:tabular-nums; }
.idetail-price-table tr:last-child td,.idetail-price-table tr:last-child th { border-bottom:0; }
.idetail-price-disclaimer { margin:16px 0 0; color:#7b7e6d; font-size:14px !important; line-height:1.8; }
.idetail-fee-other { padding:0 4px; }
.idetail-hospital-list { margin:0; padding-left:22px; line-height:2; }
.idetail-address { display:flex; align-items:center; justify-content:space-between; gap:20px; background:#f4f8f3; padding:18px 22px; border-radius:10px; margin-bottom:20px; }
.idetail-address p { margin:0; }
.idetail-address .button { flex-shrink:0; min-height:48px; font-size:16px; }
.idetail-map { border:1px solid #dce7df; border-radius:12px; overflow:hidden; background:#f3f7f3; margin-top:22px; }
.idetail-map-notice { padding:26px; }
.idetail-map-notice h3 { margin:0 0 10px; }
.idetail-map-notice p { color:var(--muted); }
.idetail-map-notice button { min-height:48px; font-size:16px; }
.idetail-map-frame iframe { display:block; border:0; width:100%; height:360px; background:#f0f4f0; }
.idetail-around-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:22px; }
.idetail-around-grid > div { border:1px solid var(--line); padding:6px 20px 18px; border-radius:10px; }
.idetail-around-grid ul { list-style:none; padding:0; margin:0; }
.idetail-around-grid li { display:grid; gap:6px; border-top:1px solid var(--line); padding:12px 0; }
.idetail-around-grid small { color:var(--muted); font-size:16px; }
.idetail-rule { padding:0 0 16px; margin-bottom:16px; border-bottom:1px solid var(--line); }
.idetail-rule:last-child { border:0; margin-bottom:0; padding-bottom:0; }
.idetail-rule h3 { margin:0 0 10px; color:#365e47; }
.idetail-rule p { white-space:pre-line; margin:0; line-height:1.9; }
.idetail-tool-actions { display:flex; gap:12px; flex-wrap:wrap; }
.idetail-tool-actions .button { min-height:50px; font-size:16px; }
.idetail-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 24px; }
.idetail-visit-form .field,.idetail-correction .field { margin-bottom:18px; min-width:0; }
.idetail-visit-form .field > span,.idetail-correction .field > span { font-size:16px; }
.idetail-visit-form input,.idetail-visit-form select,.idetail-visit-form textarea,.idetail-correction input,.idetail-correction select,.idetail-correction textarea { font-size:16px; min-width:0; }
.idetail-visit-form input,.idetail-visit-form select,.idetail-correction input,.idetail-correction select { min-height:50px; }
.idetail-visit-form b { color:#b65036; }
.idetail-consent { display:flex; align-items:flex-start; gap:12px; font-size:16px; line-height:1.9; margin:16px 0; cursor:pointer; }
.idetail-consent input { width:20px; height:20px; min-height:20px; flex-shrink:0; margin-top:5px; accent-color:var(--navy); }
.idetail-consent a { color:var(--navy); text-decoration:underline; }
.idetail-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.idetail-submit-row { display:flex; align-items:center; gap:22px; flex-wrap:wrap; padding-top:8px; }
.idetail-submit-row .button { min-height:54px; font-size:18px; padding-inline:28px; }
.idetail-submit-row p { color:var(--muted); margin:0; }
.idetail-form-status { color:var(--navy); font-size:16px; margin-top:18px; white-space:pre-line; }
.idetail-nearby-card { display:flex; flex-direction:column; min-width:0; }
.idetail-nearby-card > p { margin:0 0 12px; color:var(--navy); font-size:16px; }
.idetail-nearby-card .discovery-card { flex:1; }
.idetail-section .discovery-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.idetail-search-links { display:flex; flex-wrap:wrap; gap:10px; }
.idetail-search-links a { padding:10px 16px; border-radius:8px; border:1px solid #d8e5db; background:#f7faf7; min-height:46px; color:var(--navy); }
.idetail-source-facts { margin:0; }
.idetail-source-facts > div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:20px; font-size:16px; margin-bottom:14px; }
.idetail-source-facts dt { color:var(--muted); }
.idetail-source-facts dd { margin:0; }
.idetail-source-facts a { color:var(--navy); }
.idetail-correction { margin-top:24px; border-top:1px solid var(--line); padding-top:10px; }
.idetail-correction summary { cursor:pointer; padding:12px 0; color:var(--navy); font-weight:650; font-size:18px; }
.idetail-correction form { margin-top:18px; }
.idetail-contact { position:fixed; left:0; right:0; bottom:0; z-index:95; margin:0; border-radius:0; justify-content:center; border-top:1px solid #dce7dc; padding:12px 20px calc(12px + env(safe-area-inset-bottom)); background:#fffffff5; backdrop-filter:blur(12px); }
.idetail-contact .button { min-height:54px; font-size:18px; }
body:has(.idetail-contact) .site-footer { padding-bottom:115px; }
.compare-tray { position:fixed; bottom:16px; left:50%; transform:translateX(-50%); width:min(920px,calc(100% - 32px)); z-index:94; padding:15px 20px; border:1px solid #bfd4c3; background:#fff; box-shadow:0 8px 36px #1c412233; border-radius:14px; display:flex; gap:15px; align-items:center; }
.compare-tray[hidden] { display:none; }
body:has(.idetail-contact) .compare-tray { bottom:calc(95px + env(safe-area-inset-bottom)); }
.compare-tray-label { font-size:16px; font-weight:650; flex-shrink:0; }
.compare-tray-items { display:flex; flex:1; min-width:0; gap:8px; overflow-x:auto; }
.compare-tray-items button { min-height:42px; display:flex; align-items:center; gap:8px; border:1px solid var(--line); background:#f2f7f2; border-radius:8px; color:var(--ink); padding:8px 12px; cursor:pointer; font-size:16px; }
.compare-tray-items span { display:block; max-width:130px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.compare-tray .button { min-height:48px; font-size:16px; white-space:nowrap; }
.compare-tray [aria-disabled=true] { opacity:.55; cursor:default; }
.idetail-compare-page { padding-block:32px 100px; min-height:65vh; }
.idetail-compare-page h1 { font-size:34px; margin:15px 0; }
.idetail-compare-page p { font-size:16px; color:var(--muted); }
.idetail-compare-page > .button { margin-top:25px; min-height:50px; }
.idetail-compare-table { width:100%; min-width:640px; border-collapse:collapse; text-align:left; background:white; font-size:16px; table-layout:fixed; }
.idetail-compare-table th,.idetail-compare-table td { padding:22px 20px; border-bottom:1px solid #e4ece5; border-right:1px solid #e4ece5; vertical-align:top; overflow-wrap:anywhere; }
.idetail-compare-table thead th { background:#edf5ef; color:var(--navy); }
.idetail-compare-table tr > :first-child { width:140px; background:#f4f8f3; color:#526c5a; font-weight:600; }
.idetail-compare-table thead button { display:block; margin-top:15px; border:0; padding:0; background:none; min-height:42px; font-size:16px; }
.idetail-compare-table td { line-height:1.9; }
.idetail-compare-error { color:#ac3c2d; margin-top:18px; }
.discovery-card-actions { flex-wrap:wrap; }
.discovery-compare-button { min-height:44px; width:100%; border:1px solid #dae5dc; border-radius:8px; background:#f6faf6; color:var(--navy); cursor:pointer; font-size:16px; }
.detail-admin-table td,.detail-admin-table th { font-size:16px; }
.detail-admin-table td { min-width:120px; }
.detail-admin-table p { white-space:pre-line; }
@media(max-width:800px){.idetail-title { grid-template-columns:1fr; padding:28px; gap:24px; } .idetail-start-price { border-left:0; border-top:1px solid #dce7de; padding:22px 0 0; } .idetail-facts { grid-template-columns:1fr; } .idetail-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } .idetail-around-grid { grid-template-columns:1fr; } .idetail-section { padding:26px; } }
@media(max-width:700px){.idetail-page { padding-top:16px; } .idetail-breadcrumbs { font-size:16px; gap:6px; } .idetail-title { padding:24px 20px; border-radius:14px; } .idetail-title h1 { font-size:29px; margin-top:12px; } .idetail-title-actions { flex-direction:column; padding-top:20px; } .idetail-title-actions .button { justify-content:center; width:100%; font-size:16px; overflow-wrap:anywhere; } .idetail-start-price strong { font-size:40px; } .idetail-section { padding:23px 18px; margin-top:18px; } .idetail-section h2 { font-size:23px; } .idetail-section-nav { gap:6px 20px; margin-block:12px; } .idetail-gallery { grid-template-columns:1fr; } .idetail-facts > div { grid-template-columns:90px minmax(0,1fr); gap:14px; padding-block:15px; } .idetail-form-grid { grid-template-columns:1fr; gap:0; } .idetail-price-table th,.idetail-price-table td { padding:13px 9px; } .idetail-price-table tbody td strong { font-size:18px; } .idetail-price-table tbody td span { display:block; } .idetail-price-table tbody th { width:25%; } .idetail-address { align-items:flex-start; flex-direction:column; padding:18px; gap:14px; } .idetail-map-notice { padding:20px; } .idetail-map-frame iframe { height:300px; } .idetail-tool-actions .button { flex:1; min-width:120px; justify-content:center; } .idetail-source-facts > div { grid-template-columns:1fr; gap:5px; } .idetail-submit-row .button { width:100%; justify-content:center; } .idetail-section .discovery-card-grid { grid-template-columns:1fr; } .idetail-contact { gap:10px; padding-inline:14px; } .idetail-contact .button { min-height:52px; font-size:18px; } .compare-tray { padding:10px 12px; gap:9px; bottom:10px; flex-wrap:wrap; } .compare-tray-label { font-size:16px; } .compare-tray-items { flex-basis:calc(100% - 100px); } .compare-tray-items button { padding:6px 9px; } .compare-tray > .button { width:100%; justify-content:center; min-height:46px; } body:has(.idetail-contact) .compare-tray { bottom:calc(90px + env(safe-area-inset-bottom)); } .idetail-compare-table { min-width:620px; } .idetail-compare-table th,.idetail-compare-table td { padding:16px 14px; } .idetail-compare-table tr > :first-child { width:108px; } }
