/* 글자 크기는 한 번 키웠다(15px 이하 +1, 그보다 큰 제목 +2). 업종 라벨 색은 카드의 업종 색 클래스를 따른다. */
﻿/* Home below the approved hero: open editorial sections and softly rounded surfaces. */
body:has(.hd-companion){background:#fff}.hd-companion,.hd-discovery,.hd-collection,.hd-shortcuts,.hd-results,.pj-home{max-width:1184px;margin:0 auto;color:#303d30;letter-spacing:-.025em}.hd-eyebrow{font-size:13px;font-weight:550;color:#98a08b;margin:0 0 10px}.hd-companion{margin-top:38px;padding:28px 30px;border:1px solid #e8e7dd;border-radius:20px;background:#fcfbf6;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px}.hd-companion-lead{display:flex;align-items:center;gap:20px}.hd-pet-portrait{flex-shrink:0}.hd-pet-portrait img{width:70px;height:70px;object-fit:contain}.hd-companion h2{font-size:27px;font-weight:700;letter-spacing:-.045em;margin-bottom:9px}.hd-companion-lead [data-hd-pet-description]{font-size:14px;color:#959b88;line-height:1.8}.hd-companion .hd-eyebrow{font-size:12px;margin-bottom:7px}.hd-companion-body{min-width:0}.hd-companion [data-hd-pets]{display:flex;flex-wrap:wrap;gap:8px}.hd-pet-login{display:flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid #dfe4d6;border-radius:12px;padding:13px 17px;background:white;font-size:14px;color:#536648;width:100%;max-width:310px}.hd-pet-login span{font-size:19px;color:#7c8f6d}.hd-manage{display:inline-block;font-size:12px;color:#7c8c6b;margin-top:8px}.hd-pet-choice{display:flex;align-items:center;gap:8px;border:1px solid #e4e7df;background:#fff;border-radius:13px;padding:9px 12px;text-align:left;color:#7c886e}.hd-pet-choice img{width:42px;height:42px;object-fit:contain}.hd-pet-choice strong{display:block;font-size:14px;font-weight:650}.hd-pet-choice small{display:block;font-size:11px;margin-top:4px;color:#969e8c}.hd-pet-choice[aria-pressed=true]{background:#edf2e5;border-color:#9aab81;color:#3e5634;box-shadow:0 0 0 1px #9aab81}.hd-all-pets{font-size:13px}.hd-discovery{display:grid;grid-template-columns:210px minmax(0,1fr);gap:45px;padding:55px 0 45px;border-bottom:1px solid #e1e6d9;scroll-margin-top:100px}.hd-discovery-heading h2{font-size:33px;font-weight:650;line-height:1.5;letter-spacing:-.055em}.hd-discovery-heading>p:last-child{font-size:14px;color:#a0a890;line-height:1.9;margin-top:17px}.hd-discovery-body{min-width:0}.hd-moments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:30px}.hd-moments button{text-align:left;padding:21px 15px;background:#f7f5ed;border-radius:16px;border:1px solid transparent;transition:transform .2s,border-color .2s}.hd-moments button:nth-child(2){background:#f0f5eb}.hd-moments button:nth-child(3){background:#f0f3f5}.hd-moments button:nth-child(4){background:#fbf1e9}.hd-moments button>span{font-size:29px;color:#9b8566;margin-bottom:17px;display:block;font-variation-settings:'FILL' 0,'wght' 300}.hd-moments button:nth-child(2)>span{color:#83986e}.hd-moments button:nth-child(3)>span{color:#7e94a1}.hd-moments button:nth-child(4)>span{color:#be8c6d}.hd-moments strong{font-size:15px;font-weight:650;display:block;word-break:keep-all}.hd-moments small{display:block;margin-top:6px;font-size:11px;color:#9ca28d}.hd-moments button:hover{transform:translateY(-3px);border-color:#cad5bc}.hd-filter-row{margin:0;padding:17px 0;border-top:1px solid #ecefe5}.hd-filter-row>div:first-child{margin-bottom:12px}.hd-filter-row h2{font-size:14px;font-weight:650;color:#65775a}.hd-filter-row>div:first-child>span{font-size:12px;color:#a3aa97}.hd-filter-row .filter-chip{font-size:13px;font-weight:500;padding:7px 12px;border:1px solid #e5e9df;background:#fff;color:#8a997a;box-shadow:none}.hd-filter-row .filter-chip.is-active{background:#334b36;color:white;border-color:#334b36}.hd-filter-row .region-count{font-size:11px}.hd-filter-row .filter-chip.is-active .region-count{color:#dce7d3}.hd-filter-row [data-region-group]{display:flex;flex-wrap:wrap;overflow:visible;gap:7px;padding:0}.hd-filter-row [data-category-group],.hd-filter-row [data-condition-group]{gap:7px}.hd-filter-row [data-subregion-panel]{margin-top:14px;border-radius:14px}.hd-companion-active .hd-filter-row .region-count{display:none}.hd-collection{padding:45px 0;border-bottom:1px solid #e1e6d9}.hd-collection-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.hd-collection-heading h2,.hd-shortcuts h2{font-size:30px;font-weight:670;letter-spacing:-.05em;line-height:1.4;color:#303d30}.hd-collection-heading>div>p:last-child{font-size:14px;color:#939f83;line-height:1.8;margin-top:10px}.hd-collection-heading>a{font-size:13px;color:#869873;white-space:nowrap;margin-bottom:3px}.hd-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}.hd-cards>*{width:auto!important;min-width:0}.hd-cards article{border:0;border-radius:0;background:transparent;box-shadow:none}.hd-cards article>div:first-child{border-radius:16px;aspect-ratio:1.35}.hd-cards article>div:first-child>span{font-size:12px;left:12px;top:12px;font-weight:650;padding:4px 10px}.hd-cards article>div:last-child{padding:16px 0 0;gap:9px}.hd-cards h3{font-size:19px;font-weight:650;line-height:1.5;color:#3e4c37}.hd-cards article>div:last-child>p{font-size:13px;color:#929e80}.hd-cards article>div:last-child>div:not(:first-child)>span{border-radius:7px;font-size:11px}.hd-results{padding:45px 0}.hd-results [data-result-heading]{font-size:29px;color:#34422f}.hd-shortcuts{padding:44px 0}.hd-shortcuts>div:last-child{margin-top:23px;gap:12px}.hd-shortcuts>div:last-child>a{border:0;background:#f7f8f3;border-radius:14px;padding:18px 20px;box-shadow:none}.hd-shortcuts>div:last-child>a>div:last-child{font-size:12px;color:#9aa58a}.hd-shortcuts>div:last-child>a>div:first-child>span:first-child{font-size:15px;color:#60764f}.hd-loading-row{max-width:1184px;margin:auto;padding:50px 20px;font-size:15px;text-align:center;color:#829471}.hd-loading{font-size:13px;color:#a3ac95}.hd-companion button:focus-visible,.hd-companion a:focus-visible,.hd-moments button:focus-visible{outline:2px solid #f4511e;outline-offset:3px}
@media(max-width:1256px){.hd-companion,.hd-discovery,.hd-collection,.hd-shortcuts,.hd-results,.pj-home{margin-inline:36px}.hd-companion{margin-top:32px}}
@media(max-width:1000px){.hd-companion{grid-template-columns:1fr;padding:24px;gap:20px}.hd-companion-body{padding-left:90px}.hd-discovery{grid-template-columns:170px minmax(0,1fr);gap:28px}.hd-discovery-heading h2{font-size:29px}.hd-moments{grid-template-columns:repeat(2,minmax(0,1fr))}.hd-moments button{padding:17px}.hd-moments button>span{margin-bottom:10px}.hd-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}
@media(max-width:760px){.hd-companion,.hd-discovery,.hd-collection,.hd-shortcuts,.hd-results,.pj-home{margin-inline:20px}.hd-companion{margin-top:25px;padding:22px 18px;border-radius:17px;gap:18px}.hd-companion-lead{gap:13px}.hd-pet-portrait img{width:53px;height:53px}.hd-companion h2{font-size:23px;line-height:1.4}.hd-companion .hd-eyebrow{font-size:11px}.hd-companion-lead [data-hd-pet-description]{font-size:12px}.hd-companion-body{padding-left:0}.hd-pet-login{max-width:none;font-size:13px;padding:12px 15px}.hd-pet-choice{padding:8px;gap:6px}.hd-pet-choice img{width:36px;height:36px}.hd-pet-choice strong{font-size:13px}.hd-pet-choice small{font-size:10px}.hd-discovery{display:block;padding:35px 0 25px}.hd-discovery-heading{margin-bottom:23px}.hd-discovery-heading h2{font-size:29px;line-height:1.4}.hd-discovery-heading h2 br{display:none}.hd-discovery-heading>p:last-child{font-size:13px;margin-top:9px}.hd-discovery-heading>p:last-child br{display:none}.hd-eyebrow{font-size:11px}.hd-moments{gap:10px;margin-bottom:22px}.hd-moments button{padding:18px 15px;border-radius:14px}.hd-moments strong{font-size:14px}.hd-moments small{font-size:11px}.hd-filter-row{padding:17px 0}.hd-filter-row h2{font-size:13px}.hd-filter-row .filter-chip{font-size:12px;padding:7px 10px}.hd-filter-row [data-region-group]{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:7px;scrollbar-width:none}.hd-collection{padding:32px 0}.hd-collection-heading{margin-bottom:21px;gap:10px}.hd-collection-heading h2,.hd-shortcuts h2{font-size:25px;line-height:1.45}.hd-collection-heading>a{font-size:11px}.hd-collection-heading>div>p:last-child{font-size:12px;margin-top:8px}.hd-cards{gap:25px 13px}.hd-cards article>div:first-child{aspect-ratio:1.2;border-radius:13px}.hd-cards article>div:first-child>span{font-size:11px;left:8px;top:8px;padding:3px 8px}.hd-cards article>div:last-child{padding-top:12px;gap:7px}.hd-cards h3{font-size:15px}.hd-cards article>div:last-child>p{font-size:11px}.hd-cards article>div:last-child>div:not(:first-child)>span{font-size:10px;padding:3px 6px}.hd-cards article>div:last-child>div:first-child{flex-wrap:wrap}.hd-shortcuts{padding:32px 0}.hd-shortcuts>div:last-child{gap:10px}.hd-shortcuts>div:last-child>a{padding:16px 13px}.hd-shortcuts>div:last-child>a>div:last-child{font-size:11px}.hd-shortcuts>div:last-child>a>div:first-child>span:first-child{font-size:14px}.hd-results{padding:30px 0}.hd-results [data-result-heading]{font-size:25px}}
@media(max-width:360px){.hd-companion,.hd-discovery,.hd-collection,.hd-shortcuts,.hd-results,.pj-home{margin-inline:16px}.hd-companion{padding:19px 14px}.hd-companion h2{font-size:21px}.hd-pet-portrait img{width:44px;height:44px}.hd-collection-heading{align-items:flex-start}.hd-collection-heading h2{font-size:23px}.hd-collection-heading>a{font-size:10px;margin-top:27px}.hd-cards{gap:24px 10px}.hd-moments strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.hd-moments button,.hd-cards article{transition:none!important;transform:none!important}}

.hd-pet-choice{max-width:100%;min-width:0}.hd-pet-choice>span{min-width:0}.hd-pet-choice img{flex-shrink:0}.hd-pet-choice strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hd-companion{scroll-margin-top:80px}

/* 안내를 준비 중인 아이(고양이). 누를 수 없게 흐리게만 두고, 금지 커서는 쓰지 않는다. */
.hd-pet-choice.is-preparing,.hd-pet-choice:disabled{opacity:.5;cursor:default}
/* 우리 아이 사진은 둥글게 채운다. 종류 그림은 원래대로 둔다. */
.hd-pet-choice img.has-photo,.hd-pet-portrait img.has-photo{border-radius:50%;object-fit:cover}

/* Companion picker: the pet portrait is the selection control. */
.hd-companion{grid-template-columns:minmax(240px,.8fr) minmax(0,1.5fr);align-items:center;gap:40px;padding:32px 34px;background:#fcfbf7}
.hd-companion-lead{display:block}.hd-companion-lead>div{min-width:0}.hd-companion h2{margin-bottom:12px}.hd-companion-lead [data-hd-pet-description]{max-width:320px}
.hd-companion-body{padding-left:0}.hd-companion [data-hd-pets]{gap:22px;align-items:flex-start}
.hd-companion .hd-pet-choice{display:flex;flex-direction:column;align-items:center;gap:11px;width:108px;padding:5px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#76816b;text-align:center}
.hd-companion .hd-pet-choice[aria-pressed=true]{background:transparent;border:0;box-shadow:none;color:#365332}
.hd-pet-avatar{position:relative;display:grid;place-items:center;width:94px;height:94px;border:2px solid transparent;border-radius:50%;padding:4px;transition:border-color .18s,background-color .18s,transform .18s}
.hd-companion .hd-pet-choice img{width:82px;height:82px;max-width:none;border-radius:50%;object-fit:contain;display:block}
.hd-companion .hd-pet-choice img.has-photo{object-fit:cover}
.hd-companion .hd-pet-choice[aria-pressed=true] .hd-pet-avatar{border-color:#789468;background:#eef3e8}
.hd-pet-choice:not(:disabled):hover .hd-pet-avatar{transform:translateY(-3px);background:#edf1e6}
.hd-pet-selected{position:absolute;right:-1px;bottom:2px;display:grid;place-items:center;width:24px;height:24px;border:2px solid #fcfbf7;border-radius:50%;background:#567649;color:white;font-size:15px;font-variation-settings:'wght' 650;opacity:0;transform:scale(.7);transition:opacity .18s,transform .18s}
.hd-pet-choice[aria-pressed=true] .hd-pet-selected{opacity:1;transform:scale(1)}
.hd-pet-label{display:block;width:100%;min-width:0}.hd-companion .hd-pet-choice strong{font-size:15px;font-weight:650;line-height:1.5}.hd-companion .hd-pet-choice small{font-size:11px;line-height:1.65;margin-top:4px;color:#929a85;word-break:keep-all;overflow-wrap:anywhere}
.hd-companion .hd-pet-choice:focus-visible{outline:none}.hd-companion .hd-pet-choice:focus-visible .hd-pet-avatar{outline:2px solid #f4511e;outline-offset:4px}.hd-manage{margin-top:11px}
@media(max-width:1000px){.hd-companion{grid-template-columns:1fr;gap:24px;padding:28px}.hd-companion-lead [data-hd-pet-description]{max-width:none}.hd-companion [data-hd-pets]{gap:20px}.hd-companion-body{padding-left:0}}
@media(max-width:760px){.hd-companion{padding:25px 18px;gap:20px}.hd-companion h2{margin-bottom:8px}.hd-companion [data-hd-pets]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 10px}.hd-companion [data-hd-pets]:has(.hd-pet-login),.hd-companion [data-hd-pets]:has(.hd-loading){display:block}.hd-companion .hd-pet-choice{width:100%;gap:9px}.hd-pet-avatar{width:82px;height:82px;padding:3px}.hd-companion .hd-pet-choice img{width:72px;height:72px}.hd-companion .hd-pet-choice strong{font-size:14px}.hd-companion .hd-pet-choice small{font-size:10px;line-height:1.7}.hd-pet-selected{width:23px;height:23px;font-size:14px;right:-1px;bottom:0}}
@media(max-width:360px){.hd-companion{padding:23px 14px}.hd-companion [data-hd-pets]{gap:18px 6px}.hd-pet-avatar{width:72px;height:72px;padding:3px}.hd-companion .hd-pet-choice img{width:62px;height:62px}.hd-companion .hd-pet-choice strong{font-size:13px}.hd-companion .hd-pet-choice small{font-size:10px}.hd-pet-selected{width:21px;height:21px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.hd-pet-avatar,.hd-pet-selected{transition:none!important;transform:none!important}}
.hd-companion .hd-pet-choice.is-preparing{opacity:.65}
@media(max-width:760px){.hd-companion [data-hd-pets]{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;gap:14px;padding:5px 4px 12px;margin-inline:-4px}.hd-companion [data-hd-pets]::-webkit-scrollbar{display:none}.hd-companion .hd-pet-choice{flex:0 0 88px;width:88px;scroll-snap-align:start}.hd-companion [data-hd-pets]:has(.hd-pet-login),.hd-companion [data-hd-pets]:has(.hd-loading){padding:0;margin:0;overflow:visible}}
@media(max-width:360px){.hd-companion [data-hd-pets]{gap:12px}.hd-companion .hd-pet-choice{flex-basis:80px;width:80px}}

/* Search and map cards share the curation grid, photo treatment and typography. */
.hd-results [data-result-heading]{font-weight:670;letter-spacing:-.05em;line-height:1.4;color:#303d30}
.hd-results>div:first-child{margin-bottom:25px;gap:18px}
.hd-results>div:first-child>div:first-child>p{font-size:13px;font-weight:550;letter-spacing:-.025em;color:#98a08b;margin-bottom:10px}
.hd-results [data-result-count],.hd-results [data-result-summary]{color:#939f83}
.hd-results [data-view-toggle]{border-color:#e1e6d9;background:#f7f8f3}
.hd-results [data-view-button]{color:#869873}
.hd-results [data-view-button].bg-ink,.hd-results [data-pagination] .bg-ink{background:#334b36;border-color:#334b36;color:white}
.hd-results [data-pagination] button:not(.bg-ink){border-color:#e1e6d9;color:#7c8c6b}
.hd-results [data-pagination] button:not(.bg-ink):hover{background:#f2f5ec;border-color:#9aab81}
.hd-results .hd-cards{row-gap:36px}
.hd-card-distance{font-weight:650;color:#657b54}
.hd-card-phone{margin-top:auto;padding-top:2px;font-size:12px;line-height:1.7;color:#929e80}
.hd-results [data-map-list]{padding:4px 6px 12px;scroll-padding-top:4px}
.hd-results [data-map-list-heading]{color:#536648}
.hd-results [data-map-list-hint]{color:#939f83}
/* Selection is an outline because open cards deliberately have no box shadow. */
.hd-results [data-map-list] article.ring-2{outline:0;background:transparent;box-shadow:none;border-color:transparent;overflow:visible}
.hd-results [data-map-list] article.ring-2>div:first-child{outline:2px solid #789468;outline-offset:3px}
.hd-cards>div>a:focus-visible{outline:2px solid #789468;outline-offset:4px;border-radius:16px}
@media(max-width:760px){.hd-results .hd-cards{row-gap:27px}.hd-results>div:first-child{margin-bottom:21px}.hd-results>div:first-child>div:first-child>p{font-size:11px}.hd-results [data-result-summary]{font-size:12px}.hd-results>div:first-child>div:last-child{flex-wrap:wrap;justify-content:space-between}.hd-card-phone{font-size:11px}}

.hd-results{scroll-margin-top:80px}

/* 모바일에서는 등록한 아이 수에 맞춰 공간을 채운다. 3마리 이상은 가로 탐색을 유지한다. */
@media(max-width:760px){
  .hd-companion:has(.hd-pet-choice:only-child){gap:16px;padding-block:22px}
  .hd-companion [data-hd-pets]:has(>.hd-pet-choice:only-child),
  .hd-companion [data-hd-pets]:has(>.hd-pet-choice:nth-child(2):last-child){overflow:visible;margin:0;padding:4px 0}
  .hd-companion .hd-pet-choice:only-child{flex:1 1 100%;width:100%;min-width:0;flex-direction:row;gap:16px;padding:14px 16px;border:1px solid #e1e6d8;border-radius:16px;background:#fff;text-align:left}
  .hd-companion .hd-pet-choice:only-child[aria-pressed=true]{border:1px solid #9aab81;background:#edf2e5;box-shadow:0 0 0 1px #9aab81}
  .hd-companion .hd-pet-choice:only-child .hd-pet-avatar{flex-shrink:0}
  .hd-companion .hd-pet-choice:only-child .hd-pet-label{flex:1;min-width:0}
  .hd-companion .hd-pet-choice:only-child strong{font-size:17px;overflow-wrap:anywhere}
  .hd-companion .hd-pet-choice:only-child small{font-size:12px;line-height:1.7;margin-top:5px}
  .hd-companion [data-hd-pets]:has(>.hd-pet-choice:nth-child(2):last-child)>.hd-pet-choice{flex:1 1 0;width:auto;min-width:0}
  .hd-companion .hd-pet-label strong{overflow-wrap:anywhere}
}
@media(max-width:360px){
  .hd-companion .hd-pet-choice:only-child{gap:12px;padding:12px}
  .hd-companion .hd-pet-choice:only-child strong{font-size:16px}
  .hd-companion .hd-pet-choice:only-child small{font-size:11px}
}

/* 관리 링크는 안내 문구와 같은 상단 행의 오른쪽에 둔다. */
.hd-companion{row-gap:16px}
.hd-companion-toolbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.hd-companion .hd-companion-toolbar .hd-eyebrow{margin:0;min-width:0}
.hd-companion-toolbar .hd-manage{margin:0;flex-shrink:0;display:inline-flex;align-items:center;min-height:32px;padding:6px 0;white-space:nowrap}
