/* Additive rules for data states; existing page layouts remain authoritative. */
.kukan-no-image{display:grid;place-items:center;aspect-ratio:10/7;background:#f0f0eb;color:#555;min-height:120px}
.kukan-pagination{display:flex;gap:16px;justify-content:center;margin:32px auto;flex-wrap:wrap}
.kukan-pagination [aria-current=page],.kukan-pagination .current{font-weight:bold;text-decoration:underline}
#kukan-results .kukan-pagination{margin-top:12px;margin-bottom:12px}
#kukan-search-form select[multiple]{min-height:100px;width:100%}
#kukan-search-form input[type=search]{max-width:100%;width:100%}
#kukan-search-form input[type=number]{min-width:0;width:100%;height:32px;border:1px solid var(--color-border01);padding:4px 9px;font:inherit;font-size:14px;box-sizing:border-box;background:#fff;color:var(--color-txt)}
#kukan-search-form [data-kukan-dialog-open]{font:inherit;font-size:14px;height:32px;width:100%;border:1px solid var(--color-border01);background:#fff;color:var(--color-txt);text-align:left;padding:4px 9px;cursor:pointer}
#kukan-search-form>div>label{display:flex;align-items:baseline;font-size:14px;line-height:1.7;margin-bottom:20px;gap:5px}
#kukan-search-form select:has(option:checked:not([value=""])){color:var(--color-txt)}
.property-detailGallery img{max-width:100%;height:auto;display:block;margin-bottom:8px}
.property-detailGallery [hidden]{display:none!important}
.js-kukan-related .c-bukken01{width:100%}
#kukan-search-form[hidden],nav[aria-label="取引種別"][hidden]{display:none!important}
.property-detailGallery button{text-shadow:0 1px 3px rgba(0,0,0,.65)}

/* List/map are two persistent navigation tabs, matching the supplied design. */
#kukan-results .kukan-view-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:16px 0 0;align-items:stretch}
#kukan-results .kukan-view-tab{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:36px;padding:4px 5px;border-top:3px solid transparent;background:var(--color-bg01);color:var(--color-main);font-size:14px;line-height:23px;font-weight:700;text-align:center;text-decoration:none;box-sizing:border-box}
#kukan-results .kukan-view-tab[aria-current=page]{border-top-color:var(--color-main);background:#fff;color:var(--color-txt)}
#kukan-results .kukan-view-tab::before{content:"";display:block;flex:none;width:11px;height:11px;color:var(--color-main);background:linear-gradient(currentColor 0 0) 0 1px/100% 2px,linear-gradient(currentColor 0 0) 0 5px/100% 2px,linear-gradient(currentColor 0 0) 0 9px/100% 2px;background-repeat:no-repeat}
#kukan-results .kukan-view-tab[data-view=map]::before{width:13px;height:15px;background:var(--color-main);-webkit-mask:url(../img/common/ico_pin01.svg) center/contain no-repeat;mask:url(../img/common/ico_pin01.svg) center/contain no-repeat}
#kukan-results .kukan-view-tab:focus-visible{outline:2px solid var(--color-main);outline-offset:-5px}

/* Persistent list/map action shares the supplied white bar / yellow pill design. */
#kukan-results .kukan-results-change{display:block;position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,390px);box-sizing:border-box;margin:0;padding:10px 20px calc(10px + var(--kukan-map-safe-area,env(safe-area-inset-bottom,0px)));background:#fff;border-top:1px solid var(--color-border01);text-align:center}
@media screen and (min-width:768px) and (max-width:1024px){#kukan-results .kukan-results-change{left:auto;right:16px;transform:none;width:min(calc(100vw - 32px),390px)}}
#kukan-results .kukan-results-change a{display:flex;align-items:center;justify-content:center;gap:20px;width:226px;max-width:100%;height:32px;box-sizing:border-box;padding:6px 24px;margin:auto;border:0;border-radius:30px;background:var(--color-accent01);color:#fff;font-size:14px;font-weight:700;line-height:20px;text-decoration:none}
#kukan-results .kukan-results-change a::after{content:"";flex:none;width:18px;height:18px;background:url(../img/common/ico_search01.svg) center/contain no-repeat;filter:brightness(0) invert(1)}
#kukan-results .kukan-results-change a:focus-visible{outline:2px solid var(--color-main);outline-offset:3px}
.l-container:has(.kukan-results-change){padding-bottom:calc(72px + var(--kukan-map-safe-area,env(safe-area-inset-bottom,0px)))}

/* 0件メッセージとフッター上ウェーブの重なりを防ぐ（rent/sale/commercial 共通） */
#kukan-results [class$="Cards"] > p[role=status]{margin:24px 0 0;padding:0 0 72px;font-weight:700;line-height:1.8;text-align:center;position:relative;z-index:1}
#kukan-results:has([class$="Cards"] > p[role=status]){padding-bottom:24px}

/* リスト表示: 最終カードが固定バー／フッター上ウェーブで切れない（rent/sale/commercial 共通） */
#kukan-results:has(.kukan-results-change:not(.kukan-map-change)):has([class$="Cards"] .c-bukken01):not(:has(.kukan-pagination)) [class$="Cards"]{padding-bottom:calc(96px + var(--kukan-map-safe-area,env(safe-area-inset-bottom,0px)))}
#kukan-results:has(.kukan-results-change:not(.kukan-map-change)):has([class$="Cards"] .c-bukken01):has(.kukan-pagination) [class$="Cards"]{padding-bottom:0}
#kukan-results:has(.kukan-results-change:not(.kukan-map-change)):has(.kukan-pagination) .kukan-pagination{margin-bottom:calc(72px + var(--kukan-map-safe-area,env(safe-area-inset-bottom,0px)))}
#kukan-results:has(.kukan-results-change:not(.kukan-map-change)):has([class$="Cards"] .c-bukken01){padding-bottom:24px}

#kukan-results:has(.kukan-map-change) [data-map-canvas]{max-height:min(70vh,calc(100dvh - 310px - var(--kukan-map-safe-area,env(safe-area-inset-bottom,0px))));min-height:min(320px,calc(100dvh - 310px - var(--kukan-map-safe-area,env(safe-area-inset-bottom,0px))))}

#kukan-results:has(.kukan-map-change){padding-bottom:48px}
