/* WordPress-only integration for the approved Luminous visual system. */

.admin-bar .hm-header{top:32px}
.admin-bar .property-detail-nav{top:120px}

.screen-reader-text,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.screen-reader-text:focus,.skip:focus{clip:auto!important;width:auto!important;height:auto!important;overflow:visible!important;white-space:normal!important}

.property-filter-reset{display:flex;align-items:center;justify-content:center;min-height:52px;border-bottom:1px solid #9eb2bb;color:var(--property-blue);font-size:12px;text-decoration:none;white-space:nowrap}
.property-filter-reset:hover{text-decoration:underline;text-underline-offset:5px}
.property-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.property-filters>button,.property-filter-reset{justify-self:stretch}

.yhl-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:66px}
.yhl-pagination .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--property-line);color:var(--property-blue);font-size:12px;text-decoration:none}
.yhl-pagination .current{background:var(--property-deep);border-color:var(--property-deep);color:#fff}
.yhl-pagination a:hover{background:var(--property-ice)}

.property-card{position:relative}
.property-card .yh-fav{position:absolute;z-index:3;right:14px;top:14px;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(255,255,255,.92);color:var(--property-deep);cursor:pointer;box-shadow:0 6px 18px rgba(28,49,59,.12)}
.yh-fav__icon{width:20px;height:20px;fill:transparent;stroke:currentColor;stroke-width:1.5;transition:fill .2s,color .2s}
.yh-fav.is-active .yh-fav__icon{fill:#ba6c6c;color:#a64d4d}
.yh-fav:focus-visible{outline:2px solid var(--property-blue);outline-offset:3px}
.property-card__photo>span{padding-right:54px}

.property-consult .yh-fav--text{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin-top:12px;border:1px solid #9eb2bb;background:transparent;color:var(--property-blue);cursor:pointer}
.property-consult .yh-fav--text .yh-fav__icon{width:17px;height:17px}

.yhl-entry{padding:72px 0 118px}
.yhl-entry__header{max-width:800px;margin-bottom:42px}
.yhl-entry__header h1{font-family:var(--serif);font-size:clamp(38px,5vw,62px);font-weight:400;line-height:1.5;color:var(--property-deep)}
.yhl-entry__content{max-width:800px;font-size:15px;line-height:2}
.yhl-entry__content>*+*{margin-top:1.5em}
.yhl-entry__content a{color:var(--property-blue);text-underline-offset:4px}

.yhl-mylist{padding:72px 0 118px}
.yhl-mylist__bar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;border-block:1px solid var(--property-line);margin-bottom:48px}
.yhl-mylist__count strong{font-family:var(--serif);font-size:34px;font-weight:400;color:var(--property-deep)}
.yhl-mylist__actions{display:flex;gap:12px;align-items:center}
.yhl-mylist__actions button{border:0;background:transparent;color:var(--property-blue);text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.yhl-mylist__empty,.yhl-mylist__loading,.yhl-mylist__error{text-align:center;padding:70px 22px;background:var(--property-fog)}
.yhl-mylist__empty .button{display:inline-flex;margin-top:24px}
.yhl-mylist__note{margin-top:28px;color:var(--property-soft);font-size:11px}

.property-prose{font-size:13px;line-height:2.15;color:#52656d}
.property-prose>*+*{margin-top:1.3em}
.property-prose ul,.property-prose ol{padding-left:1.4em}

.property-gallery__thumbs:has(> :only-child){grid-template-rows:1fr}
.property-gallery__thumbs:has(> :nth-child(2):last-child){grid-template-rows:repeat(2,1fr)}
.property-location__grid:has(>ul:only-child){display:block;max-width:720px}

@media(min-width:801px){
  .property-gallery__thumbs{grid-auto-rows:calc((100% - 28px)/3);max-height:600px;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
  .property-gallery__thumb{min-height:0;scroll-snap-align:start}
}

@media(max-width:782px){.admin-bar .hm-header{top:46px}.admin-bar .property-detail-nav{top:134px}}
@media(max-width:760px){
  .property-filters{grid-template-columns:1fr 1fr}.property-gallery__thumbs{grid-auto-rows:auto;max-height:none;overflow:visible}.yhl-pagination{margin-top:48px}
  .yhl-mylist__bar{display:block}.yhl-mylist__actions{margin-top:18px;flex-wrap:wrap}
}
@media(max-width:430px){
  .property-filters{display:block}.property-filters>*+*{margin-top:18px}.property-filters>button,.property-filter-reset{width:100%}
}

/* Site integration only: the approved ② photo shapes/type/colors stay in the source CSS. */
.yhl-footer-store{margin-top:18px}
.yhl-footer-store p{margin-bottom:4px}
.yhl-footer-store a{font-size:13px;text-underline-offset:4px}
.yhl-contact-store{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}
.yhl-contact-store h2{margin-top:0}
@media(max-width:800px){.yhl-testimonials-hero h1{font-size:clamp(22px,7vw,31px);letter-spacing:.02em}}
.yhl-property-gateway .page-hero figcaption{margin-top:10px;color:var(--muted);font-size:11px}
.yhl-portal-section{padding-block:70px 100px}
.yhl-portals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}
.yhl-portal{display:flex;flex-direction:column;gap:38px;padding:34px;border:1px solid #b6c5cb;color:#243e55;text-decoration:none;background:#f7f9f8;transition:background .2s}
.yhl-portal>span:first-child{font-family:var(--serif);font-size:clamp(28px,4vw,40px)}
.yhl-portal>span:last-child{display:flex;align-items:center;justify-content:space-between;font-size:14px}
.yhl-portal:hover{background:#e9f0ef}
.yhl-portal:focus-visible{outline:2px solid #243e55;outline-offset:4px}
.yhl-portal-consult{margin-top:72px;max-width:760px}
.yhl-portal-consult h2{font-family:var(--serif);font-size:clamp(26px,4vw,38px);font-weight:400;line-height:1.6}
.yhl-portal-consult p{margin-block:24px;line-height:2}
@media(max-width:700px){.yhl-portals{grid-template-columns:1fr}.yhl-portal-section{padding-block:42px 70px}.yhl-portal{padding:28px;gap:26px}.yhl-portal-consult{margin-top:48px}}
