:root{
  --zb-green:#159447; --zb-blue:#2563eb; --zb-sky:#0ea5e9; --zb-ink:#0f172a; --zb-muted:#64748b;
  --zb-line:#e5edf5; --zb-bg:#f7fbff; --zb-card:#fff; --zb-radius:22px; --zb-shadow:0 18px 45px rgba(15,23,42,.10);
}
*{box-sizing:border-box} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",sans-serif;color:var(--zb-ink);background:#fff} button,input,select{font:inherit} button{cursor:pointer}
.zb-header{height:74px;display:flex;align-items:center;gap:34px;padding:0 44px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(226,232,240,.65)}
.zb-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--zb-ink);min-width:190px}.zb-logo-mark{width:42px;height:42px;border:4px solid var(--zb-green);border-radius:12px;display:grid;place-items:center;color:var(--zb-green);font-weight:900}.zb-logo-text strong{display:block;font-size:28px;line-height:1;font-weight:900}.zb-logo-text em{display:block;font-size:11px;font-style:normal;letter-spacing:.14em;color:var(--zb-green);font-weight:800}.zb-nav{flex:1;display:flex;align-items:center;justify-content:center;gap:34px}.zb-nav a{position:relative;text-decoration:none;color:#111827;font-weight:800}.zb-nav a.active{color:var(--zb-green)}.zb-nav a.active:after{content:"";position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);width:26px;height:3px;background:var(--zb-green);border-radius:99px}.zb-nav b{font-size:10px;background:#f97316;color:white;border-radius:999px;padding:2px 5px;margin-left:3px}.zb-header-actions{display:flex;align-items:center;gap:10px}.zb-pill,.zb-submit-btn,.zb-region-select{border:1px solid var(--zb-line);background:#fff;border-radius:999px;padding:10px 16px;text-decoration:none;color:var(--zb-ink);font-weight:800}.zb-submit-btn{background:var(--zb-green);color:#fff;border-color:var(--zb-green)}
.zb-hero{position:relative;min-height:430px;padding:62px 56px 170px;overflow:hidden}
.zb-hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.56) 26%,
      rgba(255,255,255,.10) 50%
    ),
    url('/assets/images/jeju_bg.jpg')
    center/cover;
  z-index:-1;
}
  .zb-eyebrow{font-weight:900;color:var(--zb-green);margin:0 0 14px}
  .zb-hero h1{font-size:44px;line-height:1.23;margin:0 0 14px;font-weight:950;letter-spacing:-.04em}
  .zb-hero h1 span{color:var(--zb-green)}.zb-hero p{margin:0 0 24px;color:#334155;font-weight:700}
  .zb-search{width:min(620px,48vw);height:64px;background:#fff;border-radius:999px;display:flex;align-items:center;
  box-shadow:var(--zb-shadow);
  border:1px solid rgba(226,232,240,.8);
  overflow:hidden}
  
  
  
  
  .zb-search input{flex:1;border:0;outline:0;padding:0 26px;font-size:16px}.zb-search button{width:58px;height:58px;border:0;border-radius:999px;background:var(--zb-green);color:#fff;font-size:26px;margin-right:4px}.zb-filter-row,.zb-keyword-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.zb-filter-row button,.zb-keyword-row button,.zb-sort-chips button{border:1px solid var(--zb-line);background:rgba(255,255,255,.86);border-radius:999px;padding:9px 16px;font-weight:800}.zb-filter-row button.active,.zb-sort-chips button.active{background:var(--zb-green);color:#fff;border-color:var(--zb-green)}.zb-keyword-row button{font-size:13px;padding:7px 12px;color:#334155}.zb-sky-card{position:absolute;right:56px;top:102px;width:430px;min-height:160px;border:1px solid rgba(255,255,255,.75);border-radius:24px;padding:24px;background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.45)),url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=900&q=80') center/cover;box-shadow:var(--zb-shadow)}.zb-sky-card h2{margin:6px 0 10px;font-size:28px}.zb-sky-card button{background:var(--zb-green);color:#fff;border:0;border-radius:999px;padding:12px 18px;font-weight:900}.zb-badge{font-size:11px;color:#fff;padding:4px 8px;border-radius:999px}.zb-badge.blue{background:var(--zb-blue)}



.zb-stat-wrap{
  position:absolute;
  right:56px;
  bottom:88px;
  display:flex;
  gap:16px;
}
.zb-stat-wrap article{width:150px;background:rgba(255,255,255,.92);border:1px solid var(--zb-line);box-shadow:var(--zb-shadow);border-radius:18px;padding:18px}.zb-stat-wrap b{display:block;color:var(--zb-muted);font-size:13px;margin-bottom:8px}.zb-stat-wrap strong{font-size:29px}

.zb-feature-bar{width:calc(100% - 112px);margin:-42px auto 38px;background:rgba(255,255,255,.94);border:1px solid var(--zb-line);border-radius:18px;box-shadow:var(--zb-shadow);display:grid;grid-template-columns:repeat(5,1fr);z-index:5;position:relative;overflow:hidden}


.zb-feature-bar button{border:0;background:transparent;padding:22px;display:flex;gap:12px;align-items:center;text-align:left;border-right:1px solid var(--zb-line)}.zb-feature-bar button:last-child{border-right:0}.zb-feature-bar b{display:block}.zb-feature-bar small{display:block;color:var(--zb-muted);margin-top:3px}

.zb-section{padding:0 56px 34px}
.zb-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.zb-section-head h2{font-size:24px;margin:0;letter-spacing:-.03em}
.zb-section-head.compact{margin-bottom:12px}
.zb-link-btn{border:0;background:transparent;color:#475569;font-weight:800}.zb-carousel-wrap{position:relative}
.zb-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border-radius:999px;border:1px solid var(--zb-line);background:#fff;box-shadow:0 10px 25px rgba(15,23,42,.14);font-size:28px}
.zb-arrow.left{left:-22px}.zb-arrow.right{right:-22px}
.zb-property-grid{display:grid;gap:18px}.zb-property-grid.featured{grid-template-columns:repeat(4,1fr)}
.zb-property-grid.all{grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr}
.zb-card{background:#fff;border:1px solid var(--zb-line);border-radius:18px;overflow:hidden;box-shadow:0 10px 25px rgba(15,23,42,.06);transition:.2s}
.zb-card:hover{transform:translateY(-3px);box-shadow:var(--zb-shadow)}
.zb-thumb{height:150px;background:center/cover;position:relative}
.zb-property-grid.all .zb-thumb{height:96px}
.zb-tag{position:absolute;left:12px;top:12px;color:white;font-size:12px;font-weight:900;border-radius:8px;padding:6px 9px}
.zb-tag.hot{background:#ef4444}
.zb-tag.premium{background:#d97706}
.zb-tag.vr{background:#7c3aed}
.zb-tag.recommend{background:#16a34a}
.zb-heart{position:absolute;right:12px;top:12px;color:#fff;font-size:22px}
.zb-card-body{padding:14px}.zb-card h3{margin:0 0 6px;font-size:16px}
.zb-card p{margin:0;color:var(--zb-muted);font-size:13px}
.zb-price{display:block;font-size:22px;margin:9px 0;font-weight:950}
.zb-meta{display:flex;gap:6px;flex-wrap:wrap}.zb-meta span{background:#f1f5f9;border-radius:8px;padding:5px 8px;font-size:12px;color:#334155}.zb-two-col{display:grid;grid-template-columns:1fr 440px;gap:26px}.zb-sort-chips{display:flex;gap:8px;flex-wrap:wrap}.zb-sort-chips button{font-size:13px;padding:7px 12px}.zb-map-panel{background:#fff;border:1px solid var(--zb-line);border-radius:22px;padding:18px;box-shadow:0 10px 25px rgba(15,23,42,.06)}.zb-fake-map{height:300px;border-radius:16px;background:linear-gradient(135deg,#dff4ff,#eaf7dd);position:relative;overflow:hidden}.zb-map-pin{position:absolute;width:38px;height:38px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 8px 16px rgba(15,23,42,.2)}.zb-map-pin span{transform:rotate(45deg);font-size:12px}.zb-map-cta{margin-top:12px;border:0;background:#e8f8ee;color:var(--zb-green);font-weight:900;border-radius:12px;padding:12px 16px}.zb-region-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.zb-region-card{height:120px;border-radius:18px;background:center/cover;position:relative;color:#fff;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.zb-region-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.58))}.zb-region-card *{position:relative}.zb-region-card h3{margin:0 0 6px}.zb-promo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.zb-promo{min-height:132px;border-radius:20px;background:#f2f7ff;border:1px solid var(--zb-line);padding:22px}.zb-promo.sky{background:linear-gradient(120deg,#e7f6ff,#eaf8ee)}.zb-promo h3{margin:0 0 8px}.zb-promo p{color:#475569;margin:0 0 16px}.zb-promo button{border:1px solid var(--zb-line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:800}.zb-community-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.zb-community-card{border:1px solid var(--zb-line);background:#fff;border-radius:18px;padding:18px;min-height:106px}.zb-community-card small{color:var(--zb-blue);font-weight:900}.zb-community-card h3{font-size:16px;margin:8px 0}.zb-community-card p{font-size:13px;color:var(--zb-muted);margin:0}.zb-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#0f172a;color:white;border-radius:999px;padding:14px 22px;box-shadow:var(--zb-shadow);z-index:99;font-weight:800}
@media(max-width:1100px){.zb-header{padding:0 18px}
.zb-nav{display:none}.zb-hero{padding:42px 22px 110px}
.zb-search{width:100%}.zb-sky-card,.zb-stat-wrap{position:static;margin-top:18px}
.zb-stat-wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.zb-feature-bar{width:calc(100% - 32px);grid-template-columns:1fr}.zb-feature-bar button{border-right:0;border-bottom:1px solid var(--zb-line)}.zb-section{padding:0 18px 28px}.zb-property-grid.featured,.zb-property-grid.all,.zb-two-col,.zb-region-grid,.zb-promo-grid,.zb-community-grid{grid-template-columns:1fr 1fr}.zb-map-panel{grid-column:1/-1}}@media(max-width:640px){.zb-header-actions .zb-pill{display:none}.zb-logo-text strong{font-size:22px}.zb-hero h1{font-size:34px}.zb-property-grid.featured,.zb-property-grid.all,.zb-region-grid,.zb-promo-grid,.zb-community-grid{grid-template-columns:1fr}
.zb-stat-wrap{grid-template-columns:1fr}.zb-header{gap:10px}.zb-region-select{max-width:96px}.zb-submit-btn{display:none}}
.zb-logo-image{
  height:70px;
  width:auto;
  display:block;
  object-fit:contain;
}

.zb-property-link{
  display:block;
  color:inherit;
  text-decoration:none;
  transition:.2s;
}

.zb-property-link:hover{
  transform:translateY(-2px);
}
.zb-card-no{
  margin-top:14px;
  text-align:right;
  font-size:11px;
  color:#94a3b8;
  font-weight:700;
}



.zb-login-card{
  position:absolute;
  right:56px;
  top:104px;

  width:430px;
  min-height:250px;

  border-radius:26px;

  padding:26px;

  background:rgba(255,255,255,.92);

  border:1px solid rgba(255,255,255,.75);

  box-shadow:
    0 18px 45px rgba(15,23,42,.12);

  backdrop-filter:blur(10px);
}

.zb-login-card-top h2{
  margin:12px 0;

  font-size:30px;
  line-height:1.2;
  letter-spacing:-.05em;
}

.zb-login-card-top p{
  margin:0 0 22px;

  color:#475569;

  line-height:1.7;

  font-weight:700;
}

.zb-login-card-actions{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:10px;

  margin-bottom:16px;
}

.zb-login-main-btn,
.zb-login-sub-btn{
  display:flex;

  align-items:center;
  justify-content:center;

  height:48px;

  border-radius:999px;

  text-decoration:none;

  font-weight:900;
}

.zb-login-main-btn{
  background:#159447;
  color:#fff;
}

.zb-login-sub-btn{
  background:#f8fafc;

  color:#0f172a;

  border:1px solid var(--zb-line);
}

.zb-broker-join-link{
  display:block;

  text-decoration:none;

  color:#2563eb;

  font-size:14px;

  font-weight:900;
}

@media(max-width:1100px){

  .zb-login-card{
    position:static;

    width:100%;

    margin-top:20px;
  }

}
.zb-footer{
  margin-top:80px;
  border-top:1px solid rgba(255,255,255,.08);
  padding:40px 20px;
}

.zb-footer-inner{
  max-width:1280px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:center;
  text-align:center;
}

.zb-footer-logo img{
  height:90px;
  opacity:.9;
}

.zb-footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
}

.zb-footer-links a{
  color:#111 !important;
  text-decoration:none;
  font-size:14px;
}

.zb-footer-links a:hover{
  color:#000 !important;
}

.zb-footer-copy{
  font-size:12px;
  color:#333 !important;
}

/* ZIPBORO 2026-05-24 safe patch: 기존 렌더링 유지 + SKY 박스 내부 로그인만 정리 */
.zb-header .zb-auth-guest,
.zb-header .zb-auth-user{
  display:none !important;
}

.zb-auth-start-card{
  min-height:178px !important;
  padding:22px 24px !important;
}
.zb-auth-start-card .zb-sky-hidden-text,
.zb-auth-start-card .zb-sky-hidden-btn{
  display:none !important;
}
.zb-start-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:18px;
  align-items:center;
  height:100%;
}
.zb-start-copy h2{
  margin:0 0 10px !important;
  font-size:25px !important;
  line-height:1.22 !important;
  letter-spacing:-.05em;
  word-break:keep-all;
  white-space:normal;
}
.zb-start-copy p{
  margin:0 !important;
  color:#475569 !important;
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:800 !important;
  word-break:keep-all;
}
.zb-start-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  align-items:center;
}
.zb-start-actions[hidden]{
  display:none !important;
}
.zb-start-btn{
  height:39px;
  min-width:0;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid var(--zb-line);
  text-decoration:none;
  background:#fff;
  color:#0f172a;
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
  line-height:1;
}
.zb-start-btn.primary{
  background:var(--zb-green);
  color:#fff;
  border-color:var(--zb-green);
}
.zb-start-btn.dark{
  background:#0f172a;
  color:#fff;
  border-color:#0f172a;
}
.zb-start-btn.light{
  background:rgba(255,255,255,.92);
}
.zb-start-btn.wide{
  grid-column:1 / -1;
}
.zb-start-user{
  grid-column:1 / -1;
  font-size:18px;
  font-weight:950;
  letter-spacing:-.04em;
  white-space:nowrap;
}
.zb-feature-bar button b,
.zb-feature-bar button small{
  word-break:keep-all;
  white-space:nowrap;
}
.zb-community-card h3{
  line-height:1.48;
  letter-spacing:-.03em;
}

@media(max-width:1100px){
  .zb-start-layout{
    grid-template-columns:1fr;
  }
  .zb-start-actions{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
  .zb-start-btn.wide{
    grid-column:auto;
  }
}
@media(max-width:640px){
  .zb-start-actions{
    grid-template-columns:1fr 1fr;
  }
  .zb-start-btn.wide{
    grid-column:1 / -1;
  }
}


/* 2026-05-24 common include/header stabilization */
.zb-logo-image{height:46px;width:auto;display:block;object-fit:contain}
.zb-footer{margin-top:60px;padding:42px 24px;background:#f8fafc;border-top:1px solid var(--zb-line)}
.zb-footer-inner{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center}
.zb-footer-logo img{height:42px;opacity:.95}
.zb-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.zb-footer-links a{color:#334155;text-decoration:none;font-size:14px;font-weight:800;white-space:nowrap}
.zb-footer-copy{font-size:12px;color:#94a3b8}
.zb-feature-bar button{cursor:pointer}
@media(max-width:1100px){.zb-header{height:68px}.zb-logo-image{height:40px}.zb-nav{gap:20px}.zb-header-actions{gap:8px}.zb-pill,.zb-submit-btn,.zb-region-select{padding:8px 12px;font-size:13px}}
@media(max-width:640px){.zb-logo-image{height:36px}.zb-nav{overflow:auto;justify-content:flex-start}.zb-header{position:sticky}}

/* 2026-05-24 property card VR badge */
.zb-vr-mini{position:absolute;right:8px;bottom:8px;background:#7c3aed;color:#fff;border-radius:8px;padding:4px 7px;font-size:11px;font-weight:950;box-shadow:0 4px 12px rgba(15,23,42,.18)}
.zb-community-card h3{line-height:1.48;letter-spacing:-.03em}


/* 20260524 layout stabilization: cards keep width, parent layout fixed */
.zb-card,.zb-card *{word-break:keep-all}.zb-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;min-height:2.7em}.zb-price{white-space:nowrap}.zb-card-body{position:relative}.zb-card-no{font-size:11px;color:#94a3b8;font-weight:900;text-align:right;margin-top:10px}.zb-property-grid.all{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:stretch}.zb-property-grid.featured{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.zb-two-col{grid-template-columns:minmax(0,1fr) minmax(320px,440px)}.zb-two-col>div{min-width:0}.zb-carousel-wrap{min-width:0}.zb-property-grid{min-width:0}.zb-sky-hidden-text,.zb-sky-hidden-btn{display:none!important}.zb-start-actions{display:flex;gap:8px;flex-wrap:wrap}.zb-start-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:999px;padding:8px 14px;font-weight:900;text-decoration:none}.zb-start-btn.primary{background:var(--zb-green);color:#fff}.zb-start-btn.light{background:#fff;color:var(--zb-ink);border:1px solid var(--zb-line)}.zb-start-btn.dark{background:#0f172a;color:#fff}.zb-start-btn.wide{flex-basis:100%}@media (min-width:768px) and (max-width:1100px){.zb-hero{padding:34px 24px 38px}.zb-sky-card{width:100%;min-height:auto}.zb-stat-wrap{grid-template-columns:repeat(3,1fr)}.zb-feature-bar{grid-template-columns:repeat(5,minmax(0,1fr));margin:20px auto 32px}.zb-feature-bar button{padding:16px 10px;border-bottom:0;border-right:1px solid var(--zb-line);min-width:0}.zb-feature-bar button span{min-width:0}.zb-feature-bar small{font-size:11px}.zb-section{padding-left:24px;padding-right:24px}.zb-property-grid.featured{grid-template-columns:repeat(2,minmax(0,1fr))}.zb-property-grid.all{grid-template-columns:repeat(3,minmax(150px,1fr))}.zb-two-col{grid-template-columns:1fr}.zb-map-panel{grid-column:auto}.zb-arrow{display:none}}@media(max-width:767px){.zb-property-grid.all{grid-template-columns:repeat(2,minmax(140px,1fr))}.zb-arrow{display:none}.zb-two-col{grid-template-columns:1fr}}


/* 20260524 전체매물 compact height / responsive columns
   - 전체매물은 추천매물보다 작고 낮게 보이도록 높이만 정리
   - 4K/넓은 화면에서는 auto-fit 반응형 유지 */
.zb-property-grid.all{
  grid-template-columns:repeat(auto-fit,minmax(135px,1fr)) !important;
  gap:14px !important;
}
.zb-property-grid.all .zb-thumb{
  height:74px !important;
}
.zb-property-grid.all .zb-card-body{
  padding:9px 10px 10px !important;
}
.zb-property-grid.all .zb-card h3{
  font-size:14px !important;
  line-height:1.25 !important;
  min-height:35px !important;
  margin-bottom:4px !important;
}
.zb-property-grid.all .zb-card p{
  font-size:11px !important;
  line-height:1.25 !important;
}
.zb-property-grid.all .zb-price{
  font-size:18px !important;
  line-height:1.1 !important;
  margin:6px 0 !important;
}
.zb-property-grid.all .zb-meta{
  gap:4px !important;
}
.zb-property-grid.all .zb-meta span{
  padding:3px 6px !important;
  font-size:10px !important;
  border-radius:7px !important;
}
.zb-property-grid.all .zb-card-no{
  font-size:10px !important;
  margin-top:6px !important;
}
@media (min-width:768px) and (max-width:1100px){
  .zb-property-grid.all{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .zb-property-grid.all .zb-thumb{
    height:92px !important;
  }
}
@media (max-width:767px){
  .zb-property-grid.all{
    grid-template-columns:repeat(2,minmax(140px,1fr)) !important;
  }
  .zb-property-grid.all .zb-thumb{
    height:88px !important;
  }
}
@media (max-width:480px){
  .zb-property-grid.all{
    grid-template-columns:1fr !important;
  }
}

/* 운영 전환: 실제 데이터가 없을 때 빈 상태 */
.zb-empty{width:100%;min-height:120px;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(37,99,235,.25);border-radius:22px;color:#64748b;background:rgba(255,255,255,.72);font-weight:700;}
.zb-empty.map{height:100%;min-height:240px;background:rgba(15,23,42,.06);}


/* 2026-05-27 main breathing layout + first ad slot
   - 메인 전체 폭을 중앙 집중형으로 제한
   - 큰 모니터는 좌우 여백 확보, 작은 화면은 자동 축소
   - 광고는 우측 지도 패널 하단에 자연스럽게 배치 */
main{
  width:100%;
  max-width:1540px;
  margin:0 auto;
  padding:0 32px;
}

.zb-hero{
  min-height:390px !important;
  padding:54px 48px 138px !important;
  border-radius:0 0 30px 30px;
}

.zb-sky-card{
  right:48px !important;
}

.zb-stat-wrap{
  right:48px !important;
  bottom:72px !important;
}

.zb-feature-bar{
  width:100% !important;
  margin:-38px auto 34px !important;
}

.zb-section{
  padding-left:0 !important;
  padding-right:0 !important;
}

.zb-property-grid.featured{
  gap:16px !important;
}

.zb-two-col{
  grid-template-columns:minmax(0,1fr) minmax(330px,390px) !important;
  gap:22px !important;
}

.zb-map-panel{
  align-self:start;
}

.zb-main-side-ad{
  margin-top:16px;
  border:1px solid rgba(21,148,71,.16);
  border-radius:18px;
  padding:18px;
  background:
    linear-gradient(135deg,rgba(232,248,238,.94),rgba(239,246,255,.92));
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}

.zb-main-side-ad small{
  display:block;
  margin-bottom:7px;
  color:var(--zb-green);
  font-size:12px;
  font-weight:950;
}

.zb-main-side-ad h3{
  margin:0 0 8px;
  font-size:17px;
  line-height:1.35;
  letter-spacing:-.03em;
}

.zb-main-side-ad p{
  margin:0 0 14px;
  color:#475569;
  font-size:13px;
  line-height:1.55;
  font-weight:700;
}

.zb-main-side-ad button{
  border:1px solid rgba(21,148,71,.22);
  background:#fff;
  color:var(--zb-green);
  border-radius:999px;
  padding:9px 13px;
  font-size:13px;
  font-weight:900;
}

@media(max-width:1600px){
  main{
    max-width:1450px;
    padding-left:28px;
    padding-right:28px;
  }
}

@media(max-width:1280px){
  main{
    padding-left:18px;
    padding-right:18px;
  }

  .zb-hero{
    padding-left:34px !important;
    padding-right:34px !important;
  }

  .zb-two-col{
    grid-template-columns:1fr !important;
  }

  .zb-map-panel{
    max-width:none;
  }
}

@media(max-width:767px){
  main{
    padding-left:10px;
    padding-right:10px;
  }

  .zb-hero{
    min-height:auto !important;
    padding:34px 18px 72px !important;
    border-radius:0 0 22px 22px;
  }

  .zb-feature-bar{
    margin-top:-24px !important;
  }

  .zb-main-side-ad{
    padding:16px;
  }
}


/* 2026-05-27 card width limit + recommendation order layout
   - 추천매물/전체매물이 적을 때 카드가 화면 폭만큼 늘어나지 않도록 고정폭 기반으로 정리
   - 전체매물은 데스크톱 기준 6개씩 자연스럽게 줄바꿈 */
.zb-property-grid.featured{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(260px, 280px)) !important;
  justify-content:start !important;
  align-items:stretch !important;
  gap:18px !important;
}

.zb-property-grid.featured .zb-card{
  width:100% !important;
  max-width:280px !important;
}

.zb-property-grid.featured .zb-thumb{
  height:138px !important;
}

.zb-property-grid.all{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(145px, 150px)) !important;
  justify-content:start !important;
  align-items:stretch !important;
  gap:14px !important;
}

.zb-property-grid.all .zb-card{
  width:100% !important;
  max-width:150px !important;
}

.zb-carousel-wrap{
  overflow:hidden;
}

@media(max-width:1280px){
  .zb-property-grid.featured{
    grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)) !important;
  }
  .zb-property-grid.featured .zb-card{
    max-width:none !important;
  }
}

@media(max-width:767px){
  .zb-property-grid.featured{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  .zb-property-grid.featured .zb-card{
    max-width:none !important;
  }
  .zb-property-grid.featured .zb-thumb{
    height:112px !important;
  }
  .zb-property-grid.all{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  .zb-property-grid.all .zb-card{
    max-width:none !important;
  }
}

@media(max-width:480px){
  .zb-property-grid.featured,
  .zb-property-grid.all{
    grid-template-columns:1fr !important;
  }
}


/* 2026-05-27 restore main property priority
   - 메인 전체매물은 6개 x 2줄 = 12개 기준으로 고정
   - 추천매물은 6개 단위, 화살표 페이지 이동 유지
   - 공개중 배지는 카드에서 제외하고 급매/추천/VR/SKY 같은 노출 태그만 사용 */
.zb-carousel-wrap{
  position:relative;
  overflow:visible !important;
}

.zb-property-grid.featured{
  display:grid !important;
  grid-template-columns:repeat(6, minmax(0, 200px)) !important;
  justify-content:start !important;
  align-items:stretch !important;
  gap:14px !important;
}

.zb-property-grid.featured .zb-card{
  width:100% !important;
  max-width:200px !important;
}

.zb-property-grid.featured .zb-thumb{
  height:120px !important;
}

.zb-property-grid.all{
  display:grid !important;
  grid-template-columns:repeat(6, minmax(0, 150px)) !important;
  justify-content:start !important;
  align-items:stretch !important;
  gap:14px !important;
}

.zb-property-grid.all .zb-card{
  width:100% !important;
  max-width:150px !important;
}

.zb-property-grid.all .zb-thumb{
  height:96px !important;
}

.zb-arrow{
  cursor:pointer;
  user-select:none;
}

.zb-arrow.is-disabled,
.zb-arrow:disabled{
  opacity:.25;
  cursor:default;
  pointer-events:none;
}

@media(max-width:1480px){
  .zb-property-grid.featured{
    grid-template-columns:repeat(5, minmax(0, 200px)) !important;
  }
  .zb-property-grid.all{
    grid-template-columns:repeat(5, minmax(0, 150px)) !important;
  }
}

@media(max-width:1280px){
  .zb-property-grid.featured{
    grid-template-columns:repeat(4, minmax(0, 200px)) !important;
  }
  .zb-property-grid.all{
    grid-template-columns:repeat(4, minmax(0, 150px)) !important;
  }
}

@media(max-width:1100px){
  .zb-property-grid.featured{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
  .zb-property-grid.featured .zb-card{
    max-width:none !important;
  }
  .zb-property-grid.all{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
  .zb-property-grid.all .zb-card{
    max-width:none !important;
  }
}

@media(max-width:767px){
  .zb-property-grid.featured,
  .zb-property-grid.all{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  .zb-property-grid.featured .zb-card,
  .zb-property-grid.all .zb-card{
    max-width:none !important;
  }
  .zb-property-grid.featured .zb-thumb{
    height:112px !important;
  }
}

/* 2026-05-27 featured 6-card alignment fix
   - 추천매물 6칸을 영역 폭에 맞춰 균등 배치
   - 6개 미만이어도 카드가 비정상적으로 커지지 않도록 6컬럼 유지
   - 화살표는 카드 위에 겹치지 않게 바깥으로 이동 */
.zb-property-grid.featured{
  display:grid !important;
  grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:16px !important;
  width:100% !important;
}

.zb-property-grid.featured .zb-card{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

.zb-property-grid.featured .zb-thumb{
  height:120px !important;
}

.zb-carousel-wrap{
  position:relative !important;
  overflow:visible !important;
}

.zb-carousel-wrap .zb-arrow.left{
  left:-54px !important;
}

.zb-carousel-wrap .zb-arrow.right{
  right:-54px !important;
}

@media(max-width:1480px){
  .zb-property-grid.featured{
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  }
}

@media(max-width:1280px){
  .zb-property-grid.featured{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }
}

@media(max-width:1100px){
  .zb-property-grid.featured{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
  .zb-carousel-wrap .zb-arrow.left,
  .zb-carousel-wrap .zb-arrow.right{
    display:none !important;
  }
}

@media(max-width:767px){
  .zb-property-grid.featured{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  .zb-property-grid.featured .zb-thumb{
    height:112px !important;
  }
}

@media(max-width:480px){
  .zb-property-grid.featured{
    grid-template-columns:1fr !important;
  }
}

/* 2026-05-27 final: carousel arrows inside, centered property grids */
.zb-carousel-wrap{
  position:relative !important;
  overflow:visible !important;
  max-width:100% !important;
}
.zb-carousel-wrap.has-carousel-arrows{
  padding-left:46px !important;
  padding-right:46px !important;
}
.zb-property-grid.featured,
.zb-property-grid.all{
  justify-content:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.zb-property-grid.featured{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  max-width:1280px !important;
}
.zb-property-grid.all{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  max-width:980px !important;
}
.zb-property-grid.featured .zb-card,
.zb-property-grid.all .zb-card{
  max-width:none !important;
}
.zb-arrow{
  width:36px !important;
  height:36px !important;
  border-radius:999px !important;
  border:1px solid rgba(15,23,42,.12) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.14) !important;
  color:#111827 !important;
  font-size:0 !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
}
.zb-arrow::before{
  content:'›';
  display:block;
  font-size:24px;
  font-weight:900;
  line-height:1;
  transform:translateY(-1px);
}
.zb-arrow.left::before{
  transform:rotate(180deg) translateY(1px);
}
.zb-carousel-wrap .zb-arrow.left{
  left:6px !important;
}
.zb-carousel-wrap .zb-arrow.right{
  right:6px !important;
}
.zb-arrow.is-disabled,
.zb-arrow:disabled{
  display:none !important;
}
@media(max-width:1100px){
  .zb-carousel-wrap.has-carousel-arrows{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* 20260528 map cluster side list */
.zb-map-side-list{position:absolute;right:16px;top:16px;width:280px;max-height:calc(100% - 32px);overflow:auto;background:rgba(255,255,255,.96);border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 18px 48px rgba(15,23,42,.2);z-index:80;padding:16px;backdrop-filter:blur(12px)}
.zb-map-side-list h3{margin:0 32px 12px 0;font-size:17px;letter-spacing:-.04em}.zb-map-side-close{position:absolute;right:10px;top:10px;width:30px;height:30px;border:0;border-radius:10px;background:#f1f5f9;font-size:20px}.zb-map-side-items{display:grid;gap:10px}.zb-map-side-item{display:grid;grid-template-columns:64px 1fr;gap:10px;text-decoration:none;color:#0f172a;border:1px solid #e5edf5;border-radius:14px;padding:8px;background:#fff}.zb-map-side-thumb{height:52px;border-radius:10px;background:center/cover no-repeat #e5edf5}.zb-map-side-item b{display:block;font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zb-map-side-item em{display:block;margin-top:4px;font-style:normal;color:#64748b;font-size:12px;font-weight:800}@media(max-width:760px){.zb-map-side-list{left:10px;right:10px;top:auto;bottom:10px;width:auto;max-height:45%}}


/* 2026-05-30 매물 카드 금액 줄바꿈: 전세/권리금/관리비 전체 표시 */
.zb-price{
  white-space:normal !important;
  line-height:1.35 !important;
  overflow-wrap:anywhere !important;
}
.zb-property-grid.all .zb-price,
.zb-rebuild-main .zb-price{
  font-size:15px !important;
  line-height:1.35 !important;
}


/* 2026-05-30 금액 라벨/금액 색상 통일: 라벨 파랑, 금액 검정 */
.zb-price,
.zbp-price,
.zb-feature-info strong{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:baseline !important;
  gap:4px 10px !important;
  white-space:normal !important;
  line-height:1.35 !important;
  color:#0f172a !important;
}
.zb-price-piece{
  display:inline-flex !important;
  align-items:baseline !important;
  gap:5px !important;
  white-space:nowrap !important;
}
.zb-price-piece em{
  font-style:normal !important;
  color:#2563eb !important;
  font-weight:950 !important;
}
.zb-price-piece b{
  color:#0f172a !important;
  font-weight:950 !important;
}
.zb-card .zb-price-piece em,
.zbp-card .zb-price-piece em{
  font-size:.86em !important;
}
.zb-card .zb-price-piece b,
.zbp-card .zb-price-piece b{
  font-size:1em !important;
}
