/* Platform experience polish. Loaded after all earlier theme styles. */
:where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(85,223,216,.55);outline-offset:3px}

/* Search and directory */
.hp-form--listing-search,.k-home-search .hp-form{padding:18px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:24px!important;background:#fff!important;box-shadow:0 20px 60px rgba(5,30,68,.16)!important}
.hp-form--listing-search .hp-form__fields,.k-home-search .hp-form__fields{display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(190px,.8fr) auto;align-items:end;gap:12px!important}
.hp-form--listing-search .hp-form__field,.k-home-search .hp-form__field{margin:0!important}
.hp-form--listing-search label,.k-home-search label{display:block;margin:0 0 6px;color:#24405f;font-size:.78rem;font-weight:850;letter-spacing:.02em}
.hp-form--listing-search input,.hp-form--listing-search select,.k-home-search input,.k-home-search select{min-height:54px!important;border:1px solid #cfdae6!important;border-radius:15px!important;background:#f9fbfd!important;color:#092d63!important;font-size:1rem!important}
.hp-form--listing-search button,.k-home-search button,.hp-form--listing-search .hp-form__button{min-height:54px!important;padding:0 24px!important;border-radius:15px!important;background:linear-gradient(135deg,#009d9a,#007b79)!important;color:#fff!important;font-weight:850!important;box-shadow:0 12px 24px rgba(0,123,121,.18)!important}
.hp-listings .hp-row{row-gap:22px!important}
.hp-listing{height:100%;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
.hp-listing:hover{transform:translateY(-4px);border-color:rgba(0,157,154,.35)!important;box-shadow:0 20px 48px rgba(9,45,99,.14)!important}
.hp-listing__image{overflow:hidden;aspect-ratio:16/10;background:#eaf1f7}
.hp-listing__image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.hp-listing:hover .hp-listing__image img{transform:scale(1.035)}
.hp-listing__content{display:grid;gap:10px;padding:20px!important}
.hp-listing__title{margin:0!important;color:#092d63!important;font-size:1.15rem!important;line-height:1.25!important}
.hp-listing__details,.hp-listing__attributes--primary,.hp-listing__attributes--secondary{color:#617087!important;font-size:.9rem!important}
.hp-listing__footer{padding:14px 20px!important;border-top:1px solid #e3ebf2!important;background:#fbfdff}
.k-favorite-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border:1px solid #cbd8e5;border-radius:999px;background:#fff;color:#092d63;font-weight:800;cursor:pointer}
.k-favorite-button:hover,.k-favorite-button.is-saved{border-color:#ff8a78;background:#fff1ee;color:#b53d2d}

/* Member area */
.k-member-nav{display:flex;gap:8px;margin:0 0 24px;padding:7px;overflow-x:auto;border:1px solid #dce6ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(9,45,99,.06);scrollbar-width:none}
.k-member-nav::-webkit-scrollbar{display:none}
.k-member-nav__link{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:11px;color:#52677d!important;font-size:.9rem;font-weight:800;white-space:nowrap}
.k-member-nav__link:hover,.k-member-nav__link.is-active{background:#eaf8f7;color:#007b79!important}
.k-member-nav__logout{margin-left:auto;color:#8b4050!important}
.k-member-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;padding:28px;border-radius:24px;background:linear-gradient(135deg,#092d63,#0c4f7c);color:#fff;box-shadow:0 18px 44px rgba(9,45,99,.18)}
.k-member-welcome span,.k-onboarding__head span,.k-profile-progress span{font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.k-member-welcome h2{margin:5px 0 7px;color:#fff;font-size:clamp(1.65rem,4vw,2.35rem);line-height:1.08}
.k-member-welcome p{max-width:620px;margin:0;color:rgba(255,255,255,.78)}
.k-onboarding{margin:0 0 22px;padding:22px;border:1px solid #dce6ef;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(9,45,99,.07)}
.k-onboarding__head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.k-onboarding__head h2{margin:3px 0 0;color:#092d63;font-size:1.3rem}
.k-onboarding__head>strong{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#e8f8f6;color:#007b79}
.k-onboarding__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.k-onboarding-step{min-height:76px;display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #dde7ef;border-radius:15px;background:#f9fbfd;color:#24405f!important}
.k-onboarding-step>span{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:50%;background:#e7eef6;color:#092d63;font-weight:900}
.k-onboarding-step.is-complete{border-color:#b8e7df;background:#f0fbf8;color:#086a62!important}
.k-onboarding-step.is-complete>span{background:#009d9a;color:#fff}
.k-member-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 22px}
.k-member-stat{padding:20px;border:1px solid #dce6ef;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(9,45,99,.05)}
.k-member-stat strong{display:block;color:#092d63;font-size:1.9rem;line-height:1}
.k-member-stat span{display:block;margin-top:8px;color:#617087;font-size:.87rem;font-weight:750}
.k-dashboard-panel,.k-message-compose,.k-profile-form{padding:24px;border:1px solid #dce6ef;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(9,45,99,.07)}
.k-dashboard-panel h2{margin-top:0;color:#092d63}
.k-member-gate,.k-empty-state{max-width:720px;margin:24px auto;padding:38px 28px;text-align:center;border:1px solid #dce6ef;border-radius:26px;background:linear-gradient(180deg,#fff,#f7fafc);box-shadow:0 16px 44px rgba(9,45,99,.09)}
.k-member-gate__icon,.k-empty-state__icon{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 18px;border-radius:20px;background:#e8f8f6;color:#007b79;font-size:1.9rem;font-weight:900}
.k-member-gate h3,.k-empty-state h3{margin:0;color:#092d63;font-size:1.65rem}
.k-member-gate p,.k-empty-state p{max-width:560px;margin:12px auto 0;color:#617087}
.k-empty-state__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.k-profile-progress{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-bottom:20px;padding:25px;border-radius:22px;background:#eff9f8;border:1px solid #c8e9e5}
.k-profile-progress h2{margin:4px 0 6px;color:#092d63;font-size:1.35rem}
.k-profile-progress p{margin:0;color:#52677d}
.k-profile-progress__meter{width:100px;height:100px;display:grid;place-items:center;align-content:center;flex:0 0 100px;border-radius:50%;background:conic-gradient(#009d9a var(--k-progress),#d6e7e7 0);box-shadow:inset 0 0 0 10px #eff9f8}
.k-profile-progress__meter strong{color:#092d63;font-size:1.25rem;line-height:1}
.k-profile-progress__meter span{margin-top:5px;color:#617087;font-size:.66rem;letter-spacing:.04em}

/* Messaging */
.k-message-compose__head{display:flex;gap:14px;margin-bottom:18px}
.k-message-compose__head>span{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border-radius:14px;background:#e8f8f6;color:#007b79;font-size:1.25rem}
.k-message-compose__head h2{margin:0;color:#092d63}
.k-message-compose__head p{margin:5px 0 0;color:#617087;font-size:.9rem}
.k-message-list{display:grid;gap:14px}
.k-message{padding:20px;border:1px solid #dce6ef;border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(9,45,99,.05)}
.k-message.is-outgoing{margin-left:6%;border-color:#bfe3df;background:#f3fbfa}
.k-message__meta{display:flex;justify-content:space-between;gap:15px;color:#617087;font-size:.82rem}
.k-message h3{margin:9px 0;color:#092d63}
.k-message__body p:last-child{margin-bottom:0}
.k-notice{margin:0 0 18px;padding:14px 17px;border:1px solid #b8e7df;border-radius:14px;background:#effaf7;color:#075f57;font-weight:750}

@media(max-width:820px){
  .hp-form--listing-search .hp-form__fields,.k-home-search .hp-form__fields{grid-template-columns:1fr!important}
  .hp-form--listing-search button,.k-home-search button{width:100%}
  .k-onboarding__steps{grid-template-columns:1fr}
  .k-member-stats{grid-template-columns:1fr 1fr}
  .k-member-welcome,.k-profile-progress{align-items:flex-start;flex-direction:column}
  .k-profile-progress__meter{align-self:center}
}
@media(max-width:520px){
  .k-member-nav{margin-inline:-6px}
  .k-member-welcome,.k-onboarding,.k-dashboard-panel,.k-message-compose,.k-profile-form{padding:20px}
  .k-member-stats{grid-template-columns:1fr 1fr;gap:9px}
  .k-member-stat{padding:16px}
  .k-member-stat strong{font-size:1.55rem}
  .k-empty-state__actions{flex-direction:column}
  .k-empty-state__actions .k-btn{width:100%}
  .k-message.is-outgoing{margin-left:0}
  .k-message__meta{align-items:flex-start;flex-direction:column;gap:2px}
}
