/*
Theme Name: 相続空き家ナビ
Theme URI: https://souzokuakiya.jp/
Description: 相続空き家ナビ Version4.2 Final - Twenty Twenty-Five 子テーマ
Author: 相続空き家ナビ
Template: twentytwentyfive
Version: 4.2.0
Text Domain: sozokuakiya-child
*/

:root{
  --sn-primary:#173f35;
  --sn-primary-dark:#0f2d26;
  --sn-accent:#b87920;
  --sn-accent-dark:#9d6519;
  --sn-success-bg:#dff6e8;
  --sn-success-text:#146c43;
  --sn-check-bg:#fff1cc;
  --sn-check-text:#8a5a00;
  --sn-bg:#f6f8f6;
  --sn-surface:#ffffff;
  --sn-surface-soft:#fbfaf7;
  --sn-border:#dfe5e1;
  --sn-text:#1f2933;
  --sn-muted:#667085;
  --sn-radius:16px;
  --sn-shadow:0 10px 30px rgba(15,45,38,.08);
  --sn-wide:1120px;
  --sn-narrow:820px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--sn-bg);color:var(--sn-text)}
a{text-underline-offset:.18em}

.sn-container{width:min(var(--sn-wide),calc(100% - 32px));margin-inline:auto}
.sn-narrow{width:min(var(--sn-narrow),calc(100% - 32px));margin-inline:auto}
.sn-main{padding-block:clamp(28px,5vw,68px)}
.sn-section{padding-block:clamp(38px,6vw,76px)}

.sn-hero{
  padding:clamp(54px,9vw,108px) 0;
  background:radial-gradient(circle at 85% 15%,rgba(184,121,32,.19),transparent 30%),linear-gradient(135deg,#edf5f0,#fbfaf7);
  border-bottom:1px solid var(--sn-border);
}
.sn-hero h1{font-size:clamp(2.1rem,5.4vw,4.7rem);line-height:1.08;margin:0 0 22px;letter-spacing:-.025em}
.sn-lead{max-width:780px;font-size:clamp(1rem,2vw,1.2rem);line-height:1.95;color:var(--sn-muted)}

.sn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.sn-card{background:var(--sn-surface);border:1px solid var(--sn-border);border-radius:var(--sn-radius);padding:24px;box-shadow:var(--sn-shadow)}
.sn-card h2,.sn-card h3{margin-top:0}
.sn-card__meta{font-size:.92rem;color:var(--sn-muted)}

.sn-button,
.sn-profile__cta a,
.sn-area-content-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 24px;
    border-radius:999px;
    background:var(--sn-primary);
    color:#fff!important;
    text-decoration:none;
    font-weight:700;

    line-height:1;
}
.sn-button:hover,.sn-profile__cta a:hover,.sn-area-content-cta:hover{background:var(--sn-primary-dark)}

.sn-breadcrumbs{font-size:.92rem;color:var(--sn-muted);margin-bottom:24px}
.sn-breadcrumbs a{color:inherit}

.sn-profile{margin-top:28px;background:var(--sn-surface);border:1px solid var(--sn-border);border-radius:var(--sn-radius);overflow:hidden;box-shadow:var(--sn-shadow)}
.sn-profile>h2{padding:24px 24px 0}
.sn-profile__list{margin:0}
.sn-profile__row{display:grid;grid-template-columns:minmax(150px,230px) 1fr;border-top:1px solid var(--sn-border)}
.sn-profile__row dt{padding:18px 22px;background:#f0f4f1;font-weight:700}
.sn-profile__row dd{margin:0;padding:18px 22px;overflow-wrap:anywhere}
.sn-profile__cta{padding:24px;margin:0}

.sn-badge{display:inline-flex;padding:5px 10px;border-radius:999px;background:#e6f2eb;color:var(--sn-primary-dark);font-size:.88rem;font-weight:700;margin:0 6px 6px 0;text-decoration:none}
.sn-empty{padding:30px;text-align:center;color:var(--sn-muted);background:#fff;border:1px dashed var(--sn-border);border-radius:var(--sn-radius)}
.sn-pagination{margin-top:36px}
.sn-disclaimer{margin-top:32px;padding:18px;border:1px solid var(--sn-border);border-radius:12px;background:#fff;color:var(--sn-muted);font-size:.92rem}
.sn-footer-note{font-size:.9rem;opacity:.86}

/* ==================================================
   地域ページ：専門家カード Version 4.2 Final
================================================== */

.sn-partner-cards{margin-top:48px}
.sn-partner-cards__heading{margin-bottom:24px}
.sn-partner-cards__heading h2{margin:0 0 10px;font-size:clamp(1.65rem,3vw,2.1rem);line-height:1.35}
.sn-partner-cards__heading p{margin:0;color:var(--sn-muted);line-height:1.8}

.sn-partner-cards__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}

.sn-partner-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  background:var(--sn-surface);
  border:1px solid var(--sn-border);
  border-radius:var(--sn-radius);
  box-shadow:var(--sn-shadow);
}

.sn-partner-card__top{
  min-height:176px;
  padding:20px 24px 18px;
  border-top:4px solid var(--sn-primary);
  border-bottom:1px solid var(--sn-border);
  background:linear-gradient(135deg,#f4f8f5,var(--sn-surface-soft));
}

.sn-partner-card__types{margin-bottom:12px}
.sn-partner-card__types .sn-badge{
  margin:0 6px 6px 0;
  padding:5px 11px;
  border-radius:999px;
  background:#e9f7ef;
  color:var(--sn-success-text);
  font-size:.82rem;
  font-weight:700;
}

.sn-partner-card__name{font-size:1.18rem;line-height:1.5;margin:6px 0 4px;font-weight:700}
.sn-partner-card__name a{color:var(--sn-primary-dark);text-decoration:none}
.sn-partner-card__name a:hover{text-decoration:underline}

.sn-partner-card__body{flex:1;padding:20px 24px}
.sn-partner-card__address{margin:0 0 14px;line-height:1.75;overflow-wrap:anywhere}
.sn-partner-card__label{display:block;margin-bottom:5px;color:#777;font-size:.86rem;font-weight:600}
.sn-partner-card__label::before{content:"📍";margin-right:5px}

.sn-partner-card__features{list-style:none;margin:0;padding:0;border-top:1px solid var(--sn-border)}
.sn-partner-card__features li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:64px;
  margin:0;
  padding:13px 0;
  border-bottom:1px solid var(--sn-border);
}
.sn-partner-card__features li span{color:var(--sn-muted)}
.sn-partner-card__features li strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:end;
  width:68px;
  height:32px;
  padding:0;
  border-radius:999px;
  color:var(--sn-primary-dark);
  font-size:.82rem;
  font-weight:700;
  line-height:1;
  text-align:center;
  transform:translateY(-1px);
}
.sn-partner-card__features strong.is-available{background:var(--sn-success-bg);color:var(--sn-success-text)}
.sn-partner-card__features strong.is-check{background:var(--sn-check-bg);color:var(--sn-check-text)}

.sn-partner-card__verified{margin:16px 0 0;color:var(--sn-muted);font-size:.86rem}

.sn-partner-card__actions{
  display:flex;
  align-items:stretch;
  gap:8px;
  padding:0 24px 24px;
}
.sn-partner-card__button{
  display:inline-flex;
  flex:1 1 0;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:52px;
  min-height:52px;
  padding:0 8px;
  border:1px solid var(--sn-primary);
  border-radius:999px;
  background:#fff;
  color:var(--sn-primary)!important;
  font-size:.82rem;
  font-weight:700;
  line-height:1;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
}

.sn-partner-card__button:hover{background:#edf5f0}
.sn-partner-card__button--phone{border-color:var(--sn-accent);background:var(--sn-accent);color:#fff!important}
.sn-partner-card__button--phone:hover{background:var(--sn-accent-dark)}
.sn-partner-card__button--detail{background:var(--sn-primary);color:#fff!important}
.sn-partner-card__button--detail:hover{background:var(--sn-primary-dark)}

.sn-partner-cards__empty{padding:30px;border:1px dashed var(--sn-border);border-radius:var(--sn-radius);background:#fff;color:var(--sn-muted);text-align:center}
.sn-partner-cards__notice{margin:18px 0 0;color:var(--sn-muted);font-size:.86rem;line-height:1.75}

@media(max-width:900px){
  .sn-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:800px){
  .sn-partner-cards__grid{grid-template-columns:1fr}
  .sn-partner-card__top{min-height:auto}
}

@media(max-width:640px){
  .sn-grid{grid-template-columns:1fr}
  .sn-profile__row{grid-template-columns:1fr}
  .sn-profile__row dt{padding-bottom:8px}
  .sn-profile__row dd{padding-top:8px}
}

@media(max-width:520px){
  .sn-partner-card__top,
  .sn-partner-card__body{padding-left:18px;padding-right:18px}
  .sn-partner-card__name{font-size:1.1rem}
  .sn-partner-card__features li{align-items:center;gap:12px}
  .sn-partner-card__button{font-size:.95rem}
}
/* 専門家カード：WordPressが挿入するpタグを無効化 */
.sn-partner-card__actions > p{
  display:contents;
  margin:0;
  padding:0;
}

/* 専門家詳細：対応する解決方法だけをバッジ表示 */
.sn-profile__list .sn-profile__row:nth-child(5) dd a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 8px 8px 0;
  padding:6px 12px;
  border-radius:999px;
  background:#e9f7ef;
  color:var(--sn-success-text);
  font-size:.9rem;
  font-weight:700;
  text-decoration:none;
}
.sn-profile__cta a{
    position: relative;
    top: -1px;
}