/* 精選物件頁（listings.html）專用樣式 */
section.block.lx-block{padding-top:0}
.lx-head{padding-bottom:96px}
.lx-search{background:var(--paper);border-radius:18px;box-shadow:var(--shadow);padding:20px;margin:-64px 0 26px;position:relative;z-index:2}
.lx-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:12px}
.lx-f label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.lx-f input,.lx-f select,.lx-bar select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:15px;background:#fff;color:var(--text);font-family:inherit}
.lx-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.lx-t{font-size:12px;color:var(--muted);margin-right:4px}
.lx-chip{border:1px solid var(--line);background:#faf8f3;border-radius:999px;padding:5px 14px;font-size:13px;cursor:pointer;user-select:none}
.lx-chip.on{background:var(--strong);border-color:var(--strong);color:#fff}
.lx-acts{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:10px;flex-wrap:wrap}
.lx-reco-btn{background:linear-gradient(90deg,var(--gold),var(--gold-2));color:var(--btn-ink);border:0;border-radius:999px;padding:10px 20px;font-weight:700;cursor:pointer;font-family:inherit;font-size:14px}
.lx-link{background:none;border:0;color:var(--muted);font-size:13px;cursor:pointer;text-decoration:underline;font-family:inherit}
.lx-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.lx-bar h2{font-size:20px;margin:0}.lx-bar h2 em{font-style:normal;color:var(--gold-dk)}
.lx-bar select{width:auto}
.lx-bar select[hidden]{display:none}
/* 地圖找房 */
.qs-view{display:inline-flex;margin-left:auto;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.qs-view button{border:0;background:none;padding:8px 16px;font:inherit;font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;letter-spacing:.04em}
.qs-view button.on{background:var(--strong);color:#fff}
.qs-view svg,.qs-mapgo svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;vertical-align:-3px;margin-right:5px}
.qs-view .qs-vmap{color:var(--gold-dk);padding:8px 18px}
.qs-view .qs-vmap.on{background:var(--gold-dk);color:#fff}
.qs-view .qs-vmap:not(.on){animation:qsMapPulse 2.4s ease-in-out 3}
@keyframes qsMapPulse{50%{background:rgba(176,141,87,.16)}}
html #qs-rows .qs-tools .qs-mapgo,.qs-mapgo{display:inline-flex;align-items:center;border:1px solid var(--gold-dk);background:var(--gold-dk);color:#fff;border-radius:999px;padding:5px 14px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.04em}
html #qs-rows .qs-tools .qs-mapgo:hover,.qs-mapgo:hover{filter:brightness(1.08);color:#fff;background:var(--gold-dk)}
.qs-mapwrap{margin:0 0 20px}
.qs-mapwrap[hidden]{display:none}
#qs-map{height:min(72vh,680px);min-height:420px;border:1px solid var(--line);border-radius:10px;background:#e9e5dc;z-index:1}
.qs-mapnote{margin:8px 2px 0;font-size:13px;color:var(--muted);line-height:1.6}
.mp-pin{background:none;border:0}
#qs-map{--mp:#e4603b;--mp-mine:#c8962e}   /* 價格標籤：暖珊瑚橘（精選＝金色） */
.mp-pin span{display:inline-block;transform:translate(-50%,-100%);white-space:nowrap;background:var(--mp);color:#fff;border:2px solid #fff;border-radius:999px;padding:4px 11px;font-size:14px;font-weight:400;letter-spacing:.02em;box-shadow:0 3px 10px rgba(80,30,10,.32);position:relative}
.mp-pin span::after{content:"";position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--mp);border-bottom:0}
.mp-pin.mine span{background:var(--mp-mine)}.mp-pin.mine span::after{border-top-color:var(--mp-mine)}
.mp-pin:hover span{z-index:2;transform:translate(-50%,-100%) scale(1.1)}
.mp-cl{background:none}
.mp-cl span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--mp);color:#fff;font-weight:400;font-size:15px;border:3px solid #fff;box-sizing:border-box;box-shadow:0 0 0 7px rgba(228,96,59,.25),0 3px 10px rgba(80,30,10,.3)}
.mp-cl.m span{width:50px;height:50px;margin:-3px}.mp-cl.l span{width:56px;height:56px;margin:-6px;font-size:16px}
.mp-pop{display:flex;flex-direction:column;gap:8px;font-family:inherit}
.mp-pop img{width:100%;height:130px;object-fit:cover;border-radius:6px;background:#eee}
.mp-pb{display:flex;flex-direction:column;gap:3px}
.mp-pb b{font-size:15px;line-height:1.4;color:var(--strong)}
.mp-pb em{font-style:normal;font-size:12px;font-weight:700;color:var(--gold-dk)}
.mp-pp{font-size:18px;font-weight:900;color:var(--gold-dk)}
.mp-ps,.mp-pl{font-size:12.5px;color:var(--muted)}
.mp-go{margin-top:6px;border:0;border-radius:6px;background:var(--strong);color:#fff;font:inherit;font-size:14px;font-weight:700;padding:9px;cursor:pointer}
.leaflet-popup-content{margin:12px}
@media(max-width:700px){#qs-map{height:62vh;min-height:360px}.qs-view button{padding:7px 12px}}
.lx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lx-card{background:var(--paper);border-radius:16px;overflow:hidden;border:1px solid var(--line);cursor:pointer;transition:.2s;display:flex;flex-direction:column}
.lx-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(var(--ink-rgb),.12)}
.lx-ph{aspect-ratio:16/10;position:relative;display:grid;place-items:center;color:rgba(255,255,255,.9);overflow:hidden}
.lx-ph .lx-ic{font-size:42px}
.lx-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lx-ph .lx-tag{position:absolute;left:12px;top:12px;background:rgba(var(--ink-rgb),.85);color:var(--gold-2);font-size:12px;padding:3px 10px;border-radius:999px;z-index:1}
.lx-ph .lx-cnt{position:absolute;right:10px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;padding:2px 8px;border-radius:999px;z-index:1}
.lx-cb{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.lx-cb h3{font-size:16px;line-height:1.45;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:46px}
.lx-loc{font-size:13px;color:var(--muted);margin:0}
.lx-specs{display:flex;gap:6px;margin:10px 0 8px;flex-wrap:wrap}
.lx-specs span{font-size:12px;background:#f3efe6;border-radius:6px;padding:2px 8px}
.lx-hl{font-size:13px;color:var(--gold-dk);margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.lx-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;border-top:1px dashed var(--line);padding-top:10px;gap:8px}
.lx-price{font-size:24px;font-weight:800;color:var(--gold-dk);font-family:"Noto Serif TC",Georgia,serif;line-height:1.2}.lx-price small{font-size:13px;font-weight:600;margin-left:2px}
.lx-unit{font-size:12px;color:var(--muted)}
.lx-line{background:var(--line-green);color:#fff;border:0;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap;font-family:inherit}
.lx-empty{text-align:center;padding:50px 0;color:var(--muted)}
.lx-more{text-align:center;margin:36px 0 0;padding:24px 16px;border:1px dashed var(--line);border-radius:16px;background:var(--paper)}
.lx-more p{margin:0 0 12px;color:var(--muted);font-size:15px}
.lx-note{font-size:12px;color:var(--muted);margin-top:28px}
.lx-mask{position:fixed;inset:0;background:rgba(10,18,32,.6);display:none;align-items:center;justify-content:center;z-index:100;padding:16px}
#mDetail{z-index:101}   /* 2026-11-11 從收藏／比較表點物件：詳情要蓋在比較表上面 */
.lx-mask.show{display:flex}
.lx-modal{background:#fff;border-radius:18px;max-width:660px;width:100%;max-height:92vh;overflow:auto}
.lx-modal .lx-ph{aspect-ratio:16/10;background:var(--strong)}
.lx-modal .lx-ph img{object-fit:contain}
.lx-gal{display:flex;gap:6px;overflow-x:auto;padding:8px 22px 0}
.lx-gal img{width:72px;height:52px;object-fit:cover;border-radius:6px;cursor:pointer;opacity:.6;border:2px solid transparent;flex:none}
.lx-gal img.on{opacity:1;border-color:var(--gold)}
.lx-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);color:#fff;border:0;width:38px;height:38px;border-radius:50%;font-size:20px;cursor:pointer;z-index:2}
.lx-nav.l{left:10px}.lx-nav.r{right:10px}
.lx-mb{padding:20px 22px 24px}
.lx-mb h3{font-size:20px;margin:0 0 4px}
.lx-x{float:right;background:none;border:0;font-size:24px;cursor:pointer;color:var(--muted);line-height:1}
.lx-tbl{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}
.lx-tbl td{border-bottom:1px solid var(--line);padding:8px 4px}.lx-tbl td:first-child{color:var(--muted);width:30%}
.lx-sec{font-size:15px;margin:18px 0 6px;color:var(--strong);border-left:3px solid var(--gold);padding-left:8px}
.lx-feat{list-style:none;margin:0;padding:0}
.lx-feat li{padding:6px 0 6px 22px;position:relative;font-size:14px;border-bottom:1px dashed var(--line)}
.lx-feat li:before{content:"✦";position:absolute;left:2px;color:var(--gold)}
.lx-life{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 16px}
.lx-life div{background:var(--cream);border-radius:10px;padding:8px 10px;font-size:13px}
.lx-life b{display:block;color:var(--muted);font-weight:500;font-size:12px}
.lx-mact{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.lx-mact a{flex:1;min-width:140px;padding:12px 10px;font-size:15px;text-align:center;justify-content:center;display:flex;align-items:center}
.lx-ghost{background:#fff;border:1px solid var(--strong);color:var(--strong);border-radius:999px;font-weight:700;text-decoration:none}
.lx-q{margin:16px 0}.lx-q p{font-weight:700;margin:0 0 8px}
@media(max-width:900px){.lx-grid{grid-template-columns:repeat(2,1fr)}.lx-row{grid-template-columns:1fr 1fr}.lx-kw{grid-column:1/-1}}
@media(max-width:560px){.lx-grid{grid-template-columns:1fr}}

.lx-ftoggle{display:none}
.lx-x-top{position:absolute;right:10px;top:10px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:22px;line-height:1;cursor:pointer}
body.lx-lock{overflow:hidden}
/* ---- 手機閱讀優化 ---- */
@media(max-width:700px){
  .lx-head{padding:32px 0 76px}
  .lx-head p{font-size:15px}
  .lx-search{margin-top:-56px;padding:14px}
  .lx-kw input{font-size:16px}
  .lx-ftoggle{grid-column:1/-1;display:flex;align-items:center;gap:6px;width:100%;margin-top:0;background:#faf8f3;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:15px;font-family:inherit;color:var(--text);cursor:pointer}
  .lx-ftoggle i{margin-left:auto;font-style:normal;transition:.2s}
  .lx-ftoggle span{color:var(--gold-dk);font-weight:700}
  .lx-search .lx-row .lx-f:not(.lx-kw),.lx-search>.lx-chips{display:none}
  .lx-search.open .lx-row .lx-f:not(.lx-kw){display:block}
  .lx-search.open>.lx-chips{display:flex}
  .lx-search.open .lx-ftoggle i{transform:rotate(180deg)}
  .lx-row{grid-template-columns:1fr 1fr}
  .lx-acts{justify-content:center}
  .lx-reco-btn{width:100%;padding:12px}
  .lx-link{display:none}
  .lx-search.open .lx-link{display:inline}
  .lx-bar h2{font-size:18px}
  .lx-cb h3{font-size:17px;min-height:0}
  .lx-loc{font-size:14px}
  .lx-specs span{font-size:13px;padding:3px 9px}
  .lx-hl{font-size:14px;-webkit-line-clamp:2}
  .lx-line{padding:10px 16px;font-size:14px}
  /* 物件詳情：全螢幕閱讀 */
  .lx-mask{padding:0;align-items:stretch}
  .lx-modal{max-width:none;max-height:none;height:100%;border-radius:0;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}
  #mReco .lx-modal{height:auto;flex:none;margin:auto 12px;border-radius:18px;align-self:center;display:block}
  #mReco.lx-mask{align-items:center}
  .lx-modal .lx-ph{aspect-ratio:4/3;flex:none}
  .lx-gal{padding:8px 16px 0;flex:none}
  .lx-gal img{width:64px;height:48px}
  .lx-mb{padding:16px 18px 96px}
  .lx-mb h3{font-size:20px;line-height:1.4}
  .lx-mb>.lx-x{display:none}
  .lx-tbl{font-size:15px}
  .lx-tbl td{padding:10px 4px}
  .lx-feat li{font-size:15px;line-height:1.6;padding:8px 0 8px 22px}
  .lx-life div{font-size:14px}
  .lx-mact{position:fixed;left:0;right:0;bottom:0;z-index:120;background:#fff;margin:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(var(--ink-rgb),.12);flex-wrap:nowrap}
  .lx-mact a{min-width:0;font-size:15px;white-space:nowrap}
  .lx-mact a.lx-line{flex:1.4}
}

/* ---- 買屋／租屋切換、每月房貸估算、物件分享連結 ---- */
.lx-pay{font-size:12px;color:var(--muted);margin-top:2px}.lx-pay b{color:var(--text)}
.lx-paybox{background:var(--cream);border-radius:12px;padding:12px 14px;margin:6px 0 14px;font-size:14px}
.lx-paybox b{font-size:20px;color:var(--gold-dk);font-family:"Noto Serif TC",Georgia,serif}
.lx-paybox small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
a.lx-card{text-decoration:none;color:inherit}
.lx-kinds{display:flex;gap:8px;margin-bottom:14px}
.lx-kind{flex:0 0 auto;min-width:120px;padding:10px 22px;border-radius:999px;border:1px solid var(--line);background:#faf8f3;color:var(--text);font:inherit;font-weight:700;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.lx-kind small{font-size:12px;font-weight:700;background:rgba(var(--ink-rgb),.08);border-radius:999px;padding:1px 8px}
.lx-kind.on{background:var(--strong);border-color:var(--strong);color:#fff}
.lx-kind.on small{background:var(--gold);color:var(--btn-ink)}
.lx-gone{background:#fff6e5;border:1px solid #f0d9a8;border-radius:12px;padding:12px 16px;margin:0 0 18px;font-size:14px}
.lx-reco-btn[hidden]{display:none}
@media(max-width:700px){.lx-kinds{margin-bottom:10px}.lx-kind{flex:1;min-width:0}}
/* ============ 買屋快搜：大按鈕條件、精選、收藏 ============ */
.qs-search{padding:18px 20px}
.qs-kinds{display:flex;gap:10px;margin-bottom:12px}
.qs-kind{flex:1;max-width:220px;padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:#faf8f3;color:var(--text);font:inherit;font-weight:900;font-size:17px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.qs-kind small{font-size:12px;font-weight:700;background:rgba(var(--ink-rgb),.08);border-radius:999px;padding:1px 8px}
.qs-kind.on{background:var(--strong);border-color:var(--strong);color:#fff}
.qs-kind.on small{background:var(--gold);color:var(--btn-ink)}
.qs-mine{width:100%;margin:2px 0 10px;padding:12px 16px;border-radius:14px;border:2px dashed var(--gold);background:var(--tint);color:var(--strong);font:inherit;font-weight:900;font-size:16px;cursor:pointer}
.qs-mine.on{border-style:solid;background:linear-gradient(135deg,var(--gold-2),var(--gold));color:var(--btn-ink)}
.qs-row{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px dashed var(--line)}
.qs-l{flex:none;width:76px;font-weight:900;font-size:15px;padding-top:8px;color:var(--strong)}
.qs-chips{display:flex;flex-wrap:wrap;gap:8px}
.qs-chip{min-height:42px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--text);font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.qs-chip.on{background:var(--strong);border-color:var(--strong);color:#fff}
.qs-kwrow input{flex:1;min-height:44px;border:1.5px solid var(--line);border-radius:12px;padding:8px 14px;font:inherit;font-size:16px}
.qs-card .lx-ph{position:relative}
.qs-star{position:absolute;left:12px;bottom:10px;z-index:1;background:linear-gradient(135deg,var(--gold-2),var(--gold));color:var(--btn-ink);font-size:12px;font-weight:900;padding:3px 10px;border-radius:999px}
.qs-star.static{position:static;display:inline-block;margin:2px 0 6px}
.qs-heart{position:absolute;right:10px;top:10px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#c9c9c9;font-size:20px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.qs-heart.on{color:#e0245e}
.qs-heart.big{position:static;flex:none;width:46px;height:46px;font-size:24px;border:1px solid var(--line)}
.qs-dhead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.qs-dhead h3{margin:0 0 4px}
.qs-favbtn{position:fixed;left:16px;bottom:18px;z-index:70;padding:12px 18px;border-radius:999px;border:0;background:#fff;color:var(--strong);font:inherit;font-weight:900;font-size:15px;box-shadow:0 8px 24px rgba(0,0,0,.22);cursor:pointer}
.qs-favbtn b{display:inline-block;min-width:24px;margin-left:4px;padding:0 7px;border-radius:999px;background:var(--line);color:var(--text)}
.qs-favbtn.has{color:#e0245e}
.qs-favbtn.has b{background:#e0245e;color:#fff}
.qs-favlist{list-style:none;margin:14px 0;padding:0}
.qs-favlist li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}
.qs-favlist img{width:74px;height:56px;object-fit:cover;border-radius:8px;flex:none;background:var(--cream)}
.qs-favlist li>div{flex:1;cursor:pointer;min-width:0}
.qs-favlist b{display:block;font-size:15px;line-height:1.4}
.qs-favlist span{font-size:13px;color:var(--muted)}
.qs-favlist button{flex:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;font:inherit}
.qs-favlist li.gone span{color:var(--muted)}
.qs-favact{display:flex;flex-direction:column;gap:10px}
.qs-favact button{width:100%;padding:14px;font-size:16px;font-family:inherit;cursor:pointer}
.qs-favnote{font-size:13px;color:var(--muted);margin:12px 0 0;line-height:1.6}
.share-toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);background:#222;color:#fff;padding:10px 18px;border-radius:999px;font-size:.9rem;z-index:9999;opacity:0;transition:opacity .2s;pointer-events:none}
.share-toast.on{opacity:1}
@media(max-width:700px){
  .qs-search{padding:14px}
  .qs-row{flex-direction:column;align-items:stretch;gap:6px;padding:10px 0}
  .qs-l{width:auto;padding-top:0}
  .qs-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;margin:0 -14px;padding-left:14px;padding-right:14px;scrollbar-width:none}
  .qs-chip{flex:none}
  .qs-kind{max-width:none}
  .qs-favbtn{left:12px;bottom:calc(76px + env(safe-area-inset-bottom));padding:10px 14px;font-size:14px}
}
.qs-moreb{border-style:dashed;color:var(--gold-dk)}
.qs-top{border-top:0;padding-top:0;margin-bottom:12px}
.qs-kinds{flex-wrap:wrap}
.qs-minebtn{border:2px solid var(--gold)!important;color:var(--gold-dk)}
.qs-minebtn.on{background:linear-gradient(135deg,var(--gold-2),var(--gold))!important;color:var(--btn-ink)!important;border-color:var(--gold)!important}
.qs-chip[data-tip]{position:relative}
.qs-chip[data-tip]:hover::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:var(--strong);color:#fff;font-size:13px;font-weight:700;padding:4px 10px;border-radius:8px;white-space:nowrap;z-index:5;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.qs-chip[data-tip]:hover::before{content:"";position:absolute;left:50%;bottom:calc(100% + 2px);transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--strong);z-index:5}
@media(max-width:700px){.qs-kind{flex:1 1 40%;padding:10px 8px;font-size:15px}.qs-chips{overflow-y:visible}}
.qs-select{min-width:220px;min-height:46px;padding:8px 40px 8px 16px;border:1.5px solid var(--line);border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23666' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;-webkit-appearance:none;appearance:none;font:inherit;font-size:16px;font-weight:700;color:var(--text);cursor:pointer}
@media(max-width:700px){.qs-select{width:100%}}
.qs-tipmask{position:fixed;inset:0;z-index:300;background:rgba(10,14,20,.55);display:flex;align-items:center;justify-content:center;padding:20px;animation:qsFade .2s ease}
.qs-tipbox{background:#fff;border-radius:22px;max-width:360px;width:100%;padding:26px 24px 22px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.3);animation:qsPop .3s cubic-bezier(.2,1.3,.4,1)}
.qs-tipheart{width:64px;height:64px;margin:0 auto 10px;border-radius:50%;background:#e0245e;color:#fff;display:grid;place-items:center;font-size:32px;box-shadow:0 8px 20px rgba(224,36,94,.35)}
.qs-tipbox h3{margin:0 0 8px;font-size:20px;color:var(--strong)}
.qs-tipbox p{margin:0 0 18px;font-size:15px;line-height:1.7;color:var(--text)}
.qs-tipbox .qs-h{color:#e0245e}
.qs-tipok{width:100%;border:0;border-radius:999px;padding:13px;background:#e0245e;color:#fff;font:inherit;font-size:16px;font-weight:900;cursor:pointer}
@keyframes qsFade{from{opacity:0}to{opacity:1}}
@keyframes qsPop{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
.qs-area{position:absolute;left:12px;bottom:10px;z-index:1;background:rgba(0,0,0,.62);color:#fff;font-size:13px;font-weight:700;padding:3px 10px;border-radius:999px}

/* ============ 實價登錄查詢 ============ */
.pr-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 18px}
.pr-stats:empty{display:none}
.pr-stats div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.pr-stats small{display:inline;color:var(--muted);font-size:13px}
.pr-stats small:first-child{display:block}
.pr-stats b{font-family:"Noto Serif TC",serif;font-size:24px;color:var(--gold-dk)}
.pr-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pr-loading{grid-column:1/-1;text-align:center;color:var(--muted);padding:40px 0}
.pr-item{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.pr-item.special{opacity:.75}
.pr-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pr-date{font-weight:900;color:var(--strong)}
.pr-type{font-size:12px;font-weight:700;background:var(--tint);color:var(--gold-dk);border-radius:999px;padding:2px 10px}
.pr-flag{font-size:12px;font-weight:700;background:#fdecea;color:#b3402a;border-radius:999px;padding:2px 10px}
.pr-flag.pre{background:#eaf2fd;color:#1d5fb3}
.pr-addr{font-size:15px;font-weight:700;line-height:1.5}
.pr-specs{display:flex;flex-wrap:wrap;gap:6px}
.pr-specs span{font-size:12px;background:#f3efe6;border-radius:6px;padding:2px 8px}
.pr-foot{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px dashed var(--line);padding-top:8px;margin-top:auto}
.pr-foot small{display:block;font-size:12px;color:var(--muted)}
.pr-foot b{font-size:18px}
.pr-unit{text-align:right}
.pr-unit b{font-family:"Noto Serif TC",serif;font-size:24px;color:var(--gold-dk)}
.pr-unit small:last-child{display:inline}
.pr-note{font-size:12px;color:var(--muted)}
@media(max-width:900px){.pr-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.pr-list{grid-template-columns:1fr}.pr-stats{grid-template-columns:1fr 1fr}.pr-stats div:first-child{grid-column:1/-1}}
/* 實價查詢：清單（表格） */
.pr-list{display:block}
.pr-table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:15px}
.pr-table th{background:var(--strong);color:#fff;font-weight:700;font-size:14px;padding:10px 8px;text-align:left;white-space:nowrap}
.pr-table th small{display:block;font-size:11px;font-weight:400;opacity:.8}
.pr-table td{padding:10px 8px;border-top:1px solid var(--line);vertical-align:top}
.pr-table tbody tr:nth-child(even){background:#fcfbf8}
.pr-table tbody tr:hover{background:var(--tint)}
.pr-table tr.special{color:var(--muted)}
.pr-table .c-date{white-space:nowrap;color:var(--muted);font-size:14px}
.pr-table .c-addr{min-width:200px;font-weight:700}
.pr-table .c-addr small{display:block;font-weight:400;font-size:12px;color:var(--muted)}
.pr-table .c-addr .pr-flag{margin-left:6px;vertical-align:1px}
.pr-table .c-price,.pr-table .c-unit,.pr-table .c-ping,.pr-table .c-age{text-align:right;white-space:nowrap}
.pr-table th.c-price,.pr-table th.c-unit,.pr-table th.c-ping,.pr-table th.c-age{text-align:right}
.pr-table .c-unit b{font-family:"Noto Serif TC",serif;font-size:18px;color:var(--gold-dk)}
.pr-table .c-type,.pr-table .c-lay,.pr-table .c-floor,.pr-table .c-park{white-space:nowrap}
@media(max-width:860px){
  .pr-table thead{display:none}
  .pr-table,.pr-table tbody{display:block;border:0;background:none}
  .pr-table tr{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:0;row-gap:4px;padding:12px 14px;background:var(--paper)!important;border:1px solid var(--line);border-radius:12px;margin-bottom:8px}
  .pr-table td{display:inline;border:0;padding:0;font-size:13px;color:var(--muted);text-align:left!important}
  .pr-table .c-addr{flex:1 1 60%;order:1;font-size:15px;color:var(--text);min-width:0}
  .pr-table .c-unit{order:2;margin-left:auto;padding-left:10px}
  .pr-table .c-unit::after{content:" 萬/坪";font-size:12px;color:var(--muted)}
  .pr-table .c-date,.pr-table .c-type,.pr-table .c-price,.pr-table .c-ping,.pr-table .c-lay,.pr-table .c-floor,.pr-table .c-age,.pr-table .c-park{order:3}
  .pr-table .c-date{flex-basis:100%;height:0;overflow:hidden}
  .pr-table .c-price{color:var(--text);font-weight:700}
  .pr-table .c-date+td{}
  .pr-table .c-type::after,.pr-table .c-price::after,.pr-table .c-ping::after,.pr-table .c-lay::after,.pr-table .c-floor::after,.pr-table .c-age::after{content:"・"}
  .pr-table .c-ping::before{content:"坪數 "}
  .pr-table .c-park::before{content:"車位 "}
  .pr-table .c-type::before{content:attr(data-d) " "}
}

/* ============ 海線社區介紹 ============ */
.cm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cm-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.cm-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.cm-head h3{margin:0;font-size:19px;line-height:1.35}
.cm-live{flex:none;background:linear-gradient(135deg,var(--gold-2),var(--gold));color:var(--btn-ink);font-size:13px;font-weight:900;padding:4px 10px;border-radius:999px;white-space:nowrap}
.cm-school{margin:0;font-size:14px;color:var(--text)}
.cm-stats{display:grid;grid-template-columns:auto auto 1fr;gap:10px;background:var(--tint);border-radius:12px;padding:10px 12px;font-size:13px;color:var(--muted)}
.cm-stats small{display:block;font-size:12px}
.cm-stats b{font-family:"Noto Serif TC",serif;font-size:18px;color:var(--gold-dk)}
.cm-last{margin:0;font-size:13px;color:var(--muted)}
.cm-last a{color:var(--gold-dk);font-weight:700;text-decoration:none}
.cm-act{margin-top:auto;padding-top:4px}
.cm-act .btn{width:100%;justify-content:center;padding:.65em 1em;font-size:15px}
.cm-list{list-style:none;margin:0;padding:0;border-top:1px dashed var(--line)}
.cm-list a{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);text-decoration:none;color:inherit}
.cm-list img{width:64px;height:48px;object-fit:cover;border-radius:8px;flex:none;background:var(--cream)}
.cm-list span{flex:1;min-width:0}
.cm-list b{display:block;font-size:14px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-list small{font-size:13px;color:var(--gold-dk);font-weight:700}
.cm-list i{font-style:normal;color:var(--muted);font-size:20px}
@media(max-width:900px){.cm-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cm-grid{grid-template-columns:1fr}}
.cm-walk{display:inline-block;margin-left:6px;font-size:12px;font-weight:700;color:#1d7a46;background:#e8f6ee;border-radius:999px;padding:1px 8px}
.cm-intro{margin:0;font-size:14px;line-height:1.7;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer;position:relative}
.cm-intro.open{-webkit-line-clamp:unset;display:block}
.cm-intro:not(.open)::after{content:"…看全文";position:absolute;right:0;bottom:0;background:linear-gradient(90deg,transparent,var(--paper) 30%);padding-left:24px;color:var(--gold-dk);font-weight:700;font-size:13px}
/* 社區：一條一條的清單 */
.cm-grid{display:block;background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cm-row{border-top:1px solid var(--line)}
.cm-row:first-child{border-top:0}
.cm-row.open{background:#fcfbf8}
.cm-line{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:grid;grid-template-columns:2.2fr 1.3fr 2fr 1.2fr 1fr 20px;gap:12px;align-items:center;padding:14px 18px}
.cm-line:hover{background:var(--tint)}
.cm-name b{display:block;font-size:17px;font-family:"Noto Serif TC",serif;color:var(--strong)}
.cm-name small{font-size:13px;color:var(--muted)}
.cm-info{font-size:14px;color:var(--text)}
.cm-sch{font-size:14px}
.cm-sch .cm-walk{display:block;margin:2px 0 0;width:max-content}
.cm-price b{font-family:"Noto Serif TC",serif;font-size:20px;color:var(--gold-dk)}
.cm-price small{font-size:12px;color:var(--muted)}
.cm-price em{display:block;font-style:normal;font-size:12px;color:var(--muted)}
.cm-dim{color:#b0aaa0;font-size:13px}
.cm-arrow{font-style:normal;color:var(--muted);font-size:12px}
.cm-body{padding:0 18px 16px;display:flex;flex-direction:column;gap:8px}
.cm-sec{font-weight:900;color:var(--strong);border-left:3px solid var(--gold);padding-left:8px;margin-top:4px}
.cm-notify{align-self:flex-start}
.cm-body .cm-list{border-top:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}
@media(max-width:860px){
  .cm-line{grid-template-columns:1fr auto;gap:4px 10px;padding:12px 14px}
  .cm-name{grid-column:1}
  .cm-sale{grid-column:2;grid-row:1;justify-self:end}
  .cm-info,.cm-sch,.cm-price{grid-column:1 / -1;font-size:13px}
  .cm-price b{font-size:16px}
  .cm-price em{display:inline;margin-left:6px}
  .cm-sch .cm-walk{display:inline-block;margin-left:6px}
  .cm-arrow{display:none}
  .cm-body{padding:0 14px 14px}
  .cm-body .cm-list{grid-template-columns:1fr}
}
/* 買屋快搜：手機版篩選條件可收合 */
.qs-toggle,.qs-apply{display:none}
@media(max-width:700px){
  .qs-toggle{display:flex;align-items:center;gap:6px;width:100%;margin-top:4px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#faf8f3;font:inherit;font-size:16px;font-weight:700;color:var(--text);cursor:pointer}
  .qs-toggle span{color:var(--gold-dk)}
  .qs-toggle i{margin-left:auto;font-style:normal;transition:transform .2s}
  .qs-search.open .qs-toggle i{transform:rotate(180deg)}
  .qs-search .qs-rows{display:none}
  .qs-search.open .qs-rows{display:block}
  .qs-apply{display:flex;width:100%;justify-content:center;margin-top:12px;padding:12px;font-size:16px}
}

.lx-cat{display:block;text-align:center;margin:18px 0 0;padding:12px;border:1.5px dashed var(--gold);border-radius:12px;color:var(--gold-dk);font-weight:700;text-decoration:none;background:var(--tint)}
.qs-favact a.lx-ghost{text-align:center;text-decoration:none;display:block;padding:12px}
/* 購屋能力試算：依預算自動列出物件（afford-list.js）：一排橫向左右滑 */
.af-list{margin:36px 0 8px}
.af-h{font-family:var(--hf,inherit);font-size:1.5rem;margin:0 0 6px;text-align:center}
.af-sub{text-align:center;color:var(--muted,#777);margin:0 0 18px}
.af-row{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.af-row>*{flex:0 0 280px;scroll-snap-align:start}
.af-card{text-decoration:none;color:inherit}
.af-star{position:absolute;right:10px;top:10px;background:rgba(0,0,0,.6);color:#f5d27a;font-size:.78rem;padding:3px 8px;border-radius:999px}
.af-end{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border:1px dashed rgba(0,0,0,.2);border-radius:12px;text-decoration:none;color:inherit;text-align:center;padding:20px}
.af-end b{font-size:1.15rem}
.af-wrap{position:relative}
.af-nav{position:absolute;top:40%;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);box-shadow:0 4px 14px rgba(0,0,0,.18);font-size:20px;cursor:pointer;z-index:2}
.af-nav.l{left:-14px}.af-nav.r{right:-14px}
.af-hint{text-align:center;font-size:.82rem;color:var(--muted,#888);margin:2px 0 0}
@media (max-width:900px){.af-row>*{flex-basis:78%}.af-nav{display:none}}
.af-pop{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.35)}
.af-pop iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent}
.af-pop-load{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:1rem}
.af-pop-x{position:absolute;top:12px;right:12px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:#fff;font-size:26px;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer}
.af-star{right:auto;left:10px;top:auto;bottom:10px}
/* 房貸月付試算：選一間物件來算（mortgage-pick.js） */
.mp{position:relative}
.mp label small{font-weight:400;color:var(--muted,#888)}
.mp-in{position:relative}
.mp-in input{width:100%;padding:12px 40px 12px 14px;border:1px solid var(--line,#ddd);border-radius:10px;font:inherit;background:#fff}
.mp-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;font-size:22px;color:#999;cursor:pointer;width:32px;height:32px}
.mp-list{position:absolute;left:0;right:0;z-index:30;margin:4px 0 0;padding:4px;list-style:none;background:#fff;border:1px solid var(--line,#ddd);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.15);max-height:320px;overflow:auto}
.mp-list li{padding:9px 10px;border-radius:8px;cursor:pointer;display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}
.mp-list li:hover{background:rgba(0,0,0,.05)}
.mp-list li b{font-weight:700}
.mp-list li span{font-size:.85rem;color:var(--muted,#777)}
.mp-list li i{font-style:normal}
.mp-list li.none{cursor:default;color:var(--muted,#888);font-size:.85rem}
.mp-list li.none:hover{background:none}
.mp-pick{margin-top:10px}
.mp-card{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--line,#ddd);border-radius:12px;text-decoration:none;color:inherit;background:#fff}
.mp-card img{width:84px;height:64px;object-fit:cover;border-radius:8px;flex:none}
.mp-card b{display:block}
.mp-card span{display:block;font-size:.85rem;color:var(--muted,#777)}
.mp-card em{font-style:normal;font-size:.82rem;color:var(--gold-dk,#a8834f)}
.mp-ltv{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;font-size:.9rem}
.mp-ltv button{border:1px solid var(--line,#ddd);background:#fff;border-radius:999px;padding:5px 12px;font:inherit;cursor:pointer}
.mp-ltv button.on{background:var(--gold,#c9a45c);border-color:var(--gold,#c9a45c);color:#fff}
.mp-note{font-size:.85rem;color:var(--muted,#777);margin:8px 0 0}
.mp-det>summary{cursor:pointer;list-style:none;padding:12px 14px;border:1px dashed var(--line,#ccc);border-radius:10px;font-weight:700}
.mp-det>summary::-webkit-details-marker{display:none}
.mp-det>summary small{font-weight:400;color:var(--muted,#888)}
.mp-det>summary::after{content:"▾";float:right;color:var(--muted,#888)}
.mp-det[open]>summary{border-style:solid;margin-bottom:10px}
.mp-det[open]>summary::after{content:"▴"}
.mp-det[open]>summary small{display:none}
.mp-list{position:static;max-height:300px}

/* ---------- 收藏：條件比較 ---------- */
.lx-modal.cmp-wide{max-width:1040px}
.qs-favact button.cmp-open{padding:12px}
.cmp-pick{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.cmp-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmp-chip.on{background:var(--strong);border-color:var(--strong);color:#fff}
.cmp-wrap{overflow-x:auto;margin:12px 0 16px;-webkit-overflow-scrolling:touch}
.cmp-wait{padding:30px 0;text-align:center;color:var(--muted)}
.cmp-tbl{width:100%;min-width:calc(90px + var(--n) * 148px);border-collapse:collapse;font-size:13.5px;table-layout:fixed}
.cmp-tbl th{width:90px;text-align:left;font-weight:700;color:var(--muted);background:#faf7f2;padding:8px;vertical-align:top;position:sticky;left:0;z-index:1}
.cmp-tbl td{padding:8px;border-bottom:1px solid #eee;vertical-align:top;line-height:1.5;word-break:break-word}
.cmp-tbl tr:nth-child(even) td{background:#fcfbf9}
.cmp-top td{border-bottom:2px solid var(--gold,#b08d57)}
.cmp-pic{display:block;aspect-ratio:4/3;background:#f2efe9;border-radius:8px;overflow:hidden;margin-bottom:6px}
.cmp-pic img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
a.cmp-pic:hover img{transform:scale(1.04)}
.cmp-name{display:block;font-size:14px;line-height:1.4;font-weight:700;color:var(--strong);text-decoration:none}
a.cmp-name:hover{color:var(--gold-dk)}
.cmp-go{display:inline-block;margin-top:4px;font-size:12.5px;font-weight:700;color:var(--gold-dk);text-decoration:none}
.cmp-go:hover{text-decoration:underline}
.cmp-price{font-size:16px;color:var(--gold-dk,#9a6b2f)}
.cmp-best{font-style:normal;font-size:11px;font-weight:700;color:#fff;background:var(--gold-dk,#9a6b2f);border-radius:999px;padding:1px 7px;margin-left:4px;white-space:nowrap}
.cmp-tbl tr.cmp-fn td{font-size:.78em;color:#888;padding-top:.5em;padding-bottom:.5em;border-bottom:0;background:none}
.qs-favclr{float:right;margin:2px 12px 0 0;background:none;border:1px solid var(--line,#ddd);border-radius:999px;padding:4px 12px;font-size:13px;color:var(--muted,#777);cursor:pointer}
.qs-favclr:hover{color:#c0392b;border-color:#c0392b}
.qs-favclr.warn{background:#c0392b;border-color:#c0392b;color:#fff;font-weight:700}
@media(max-width:760px){.qs-favclr{margin-right:0}}
.qs-chips .qs-area-more{width:auto;min-width:8.5em;flex:none;margin:0;padding-top:6px;padding-bottom:6px}
/* 買屋快搜緊湊排版（.qs-compact，複選上線時一起開） */
html .qs-rows.qs-compact>.qs-row{padding:7px 0;gap:10px}
html .qs-rows.qs-compact .qs-l{width:70px;padding-top:7px}
html .qs-rows.qs-compact .qs-chips{gap:6px}
html .qs-rows.qs-compact .qs-chip{min-height:34px;padding:5px 13px}
html .qs-rows.qs-compact .qs-select{min-height:36px;padding-top:5px;padding-bottom:5px}
html .qs-rows.qs-compact>.qs-row[hidden]{display:none}
@media(min-width:1080px){
  html .qs-rows.qs-compact{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;grid-auto-flow:row dense}
  html .qs-rows.qs-compact>.qs-row.qs-wide{grid-column:1/-1}
  html .qs-rows.qs-compact>.qs-row:nth-child(2){border-top:1px solid var(--line)}
}
@media(max-width:760px){
  html .qs-rows.qs-compact>.qs-row{flex-direction:row;align-items:center;padding:5px 0;gap:8px}
  html .qs-rows.qs-compact .qs-l{flex:none;width:4.3em;padding-top:0;font-size:13px;letter-spacing:0;line-height:1.3}
  html .qs-rows.qs-compact .qs-chips{flex:1;min-width:0;margin:0 -14px 0 0;padding:2px 14px 2px 0}
  html .qs-rows.qs-compact .qs-chip{min-height:34px;padding:4px 12px;font-size:14px}
  html .qs-rows.qs-compact .qs-select{min-height:36px;font-size:14px}
  html .qs-rows.qs-compact #qs-comm{flex:1;min-width:0}
}
.cmp-tbl td>div{text-wrap:pretty;word-break:break-word}
/* 買屋快搜 591 式版面（#qs-rows.qs-591，複選上線時一起開） */
#qs-rows.qs-591>.qs-row{display:flex;flex-direction:row;align-items:flex-start;gap:0;padding:9px 0;border-top:1px solid var(--line)}
#qs-rows.qs-591>.qs-row:first-child{border-top:0}
#qs-rows.qs-591 .qs-l{flex:none;width:84px;padding-top:6px;font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--strong)}
#qs-rows.qs-591 .qs-chips{display:flex;flex-wrap:wrap;gap:2px 4px;flex:1;min-width:0;overflow:visible;margin:0;padding:0}
#qs-rows.qs-591 .qs-chip{display:inline-flex;align-items:center;gap:8px;min-width:124px;min-height:34px;padding:4px 10px 4px 6px;border:0;border-radius:4px;background:none;color:var(--text);font-size:15px;font-weight:400;letter-spacing:.02em;text-align:left}
#qs-rows.qs-591 .qs-chip::before{content:"";flex:none;width:16px;height:16px;border:1.5px solid #b9b4ab;border-radius:3px;background:#fff}
#qs-rows.qs-591 .qs-chip:hover{background:rgba(var(--ink-rgb),.05);border:0}
#qs-rows.qs-591 .qs-chip.on{background:none;color:var(--strong);font-weight:700}
#qs-rows.qs-591 .qs-chip.on::before{border-color:var(--gold-dk);background:var(--gold-dk) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center/11px no-repeat}
#qs-rows.qs-591 .qs-chip[data-v=""]{min-width:64px;padding-left:6px;color:var(--muted)}
#qs-rows.qs-591 .qs-chip[data-v=""]::before{display:none}
#qs-rows.qs-591 .qs-chip[data-v=""].on{color:var(--gold-dk);font-weight:700}
#qs-rows.qs-591 .qs-area-more{min-height:34px;min-width:10em;margin:0 0 0 6px}
#qs-rows.qs-591 .qs-lbody{flex:1;min-width:0}
#qs-rows.qs-591 .qs-lhead{display:flex;align-items:center;gap:26px;padding:2px 0 6px;margin-bottom:4px;border-bottom:1px dashed var(--line)}
#qs-rows.qs-591 .qs-ltabs{display:flex;gap:26px;flex-wrap:wrap}
#qs-rows.qs-591 .qs-ltab{background:none;border:0;border-bottom:2px solid transparent;padding:4px 0;font:inherit;font-size:15px;color:var(--text);cursor:pointer;letter-spacing:.04em}
#qs-rows.qs-591 .qs-ltab.on{color:var(--gold-dk);font-weight:700;border-bottom-color:var(--gold-dk)}
#qs-rows.qs-591 .qs-ltab b,#qs-rows.qs-591 .qs-ddb b{font-size:11px;font-weight:700;background:var(--gold-dk);color:#fff;border-radius:999px;padding:0 6px;margin-left:4px}
#qs-rows.qs-591 .qs-ltab b:empty,#qs-rows.qs-591 .qs-ddb b:empty{display:none}
#qs-rows.qs-591 .qs-tools{margin-left:auto;display:flex;gap:18px;flex:none}
#qs-rows.qs-591 .qs-tools button,#qs-rows.qs-591 .qs-tools a{background:none;border:0;padding:4px 0;font:inherit;font-size:14px;color:var(--text);text-decoration:none;cursor:pointer;white-space:nowrap}
#qs-rows.qs-591 .qs-tools button:hover,#qs-rows.qs-591 .qs-tools a:hover{color:var(--gold-dk)}
#qs-rows.qs-591 .qs-hint{margin:2px 0 0 6px;font-size:13px;color:var(--muted)}
#qs-rows.qs-591 .qs-dds{display:flex;flex-wrap:wrap;gap:4px 26px;flex:1;padding-top:3px}
#qs-rows.qs-591 .qs-dd{position:relative}
#qs-rows.qs-591 .qs-ddb{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:4px 0;font:inherit;font-size:15px;color:var(--text);cursor:pointer;letter-spacing:.04em}
#qs-rows.qs-591 .qs-ddb i{font-style:normal;font-size:11px;color:var(--muted);margin-left:2px;transition:transform .2s}
#qs-rows.qs-591 .qs-dd.open .qs-ddb i{transform:rotate(180deg)}
#qs-rows.qs-591 .qs-dd.has .qs-ddb{color:var(--gold-dk);font-weight:700}
#qs-rows.qs-591 .qs-ddp{display:none;position:absolute;left:0;top:calc(100% + 4px);z-index:40;min-width:200px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 28px rgba(0,0,0,.14)}
#qs-rows.qs-591 .qs-dd.open .qs-ddp{display:block}
#qs-rows.qs-591 .qs-ddp .qs-chips{flex-direction:column;flex-wrap:nowrap;gap:0}
#qs-rows.qs-591 .qs-ddp .qs-chip{width:100%}
#qs-rows.qs-591 .qs-ddp .qs-select{min-width:240px}
#qs-rows.qs-591 .qs-dd[hidden]{display:none}
/* 帶看清單網址（?list=）：只列業務挑的物件 */
body.list-solo .lx-head,body.list-solo #qs-gone{display:none!important}
body.list-solo .lx-block{padding-top:28px}
body.list-solo .lx-search,body.cmp-solo .lx-search{margin-top:0}
.ls-grid{margin-top:16px}
.ls-more{margin:8px 0 14px;padding:22px 0 0;border-top:2px dashed var(--line);text-align:center}
.ls-more h2{margin:0 0 4px;font-size:22px}
.ls-more p{margin:0;color:var(--muted);font-size:14px}
.ls-back{position:fixed;left:50%;bottom:24px;z-index:80;transform:translate(-50%,20px);opacity:0;pointer-events:none;border:0;border-radius:999px;background:var(--gold-dk);color:#fff;font:inherit;font-size:15px;font-weight:700;padding:11px 22px;box-shadow:0 8px 24px rgba(0,0,0,.25);cursor:pointer;transition:opacity .25s,transform .25s;white-space:nowrap}
.ls-back.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
@media(max-width:700px){.ls-back{bottom:calc(84px + env(safe-area-inset-bottom))}}
.ls-head{position:relative;background:var(--paper,#fff);border:1px solid var(--line);border-radius:12px;padding:22px 22px 18px;margin:0 0 18px}
.ls-head h2{margin:0 0 6px;font-size:22px;padding-right:130px}
.ls-head p{margin:0 0 12px;color:var(--muted);font-size:14px}
.ls-act{display:flex;gap:10px;flex-wrap:wrap}
.ls-act .lx-line,.ls-act .lx-ghost{width:auto;flex:0 0 auto;margin:0;padding:10px 18px;font-size:15px;text-decoration:none}
.ls-head .cmp-all{position:absolute;right:18px;top:18px;font-size:14px;font-weight:700;color:var(--gold-dk);text-decoration:none;border:1px solid var(--gold-dk);border-radius:999px;padding:5px 14px}
.fs-txt{width:100%;box-sizing:border-box;font:inherit;font-size:14.5px;line-height:1.6;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);resize:vertical;min-height:220px;margin-top:6px}
.fs-copy{display:block;width:100%;margin:10px 0 0;padding:14px 16px;border:0;border-radius:10px;background:var(--gold-dk);color:#fff;font:inherit;font-size:17px;font-weight:700;letter-spacing:.04em;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.fs-copy:hover{filter:brightness(1.06)}
.fs-copy.done{background:#2e7d32}
@media(max-width:700px){.ls-head{padding:16px 14px}.ls-head h2{padding-right:0;font-size:19px}.ls-head .cmp-all{position:static;display:inline-block;margin-bottom:10px}.ls-act .lx-line,.ls-act .lx-ghost{flex:1 1 100%;text-align:center}}
/* 客戶從比較表網址打開：整頁只放比較表，不跟物件列表混在一起 */
body.cmp-solo .lx-head,body.cmp-solo .fav-float{display:none!important}
.cmp-picw{position:relative}
.cmp-picw .qs-heart{top:6px;right:6px;width:34px;height:34px;font-size:17px}
body.cmp-solo #mFav{position:static;display:block;background:none;padding:24px 16px 8px;z-index:auto}
body.cmp-solo #mFav .lx-modal{margin:0 auto;max-height:none;overflow:visible;box-shadow:0 10px 40px rgba(0,0,0,.08)}
body.cmp-solo .cmp-all{position:absolute;right:18px;top:16px;font-size:14px;font-weight:700;color:var(--gold-dk);text-decoration:none;border:1px solid var(--gold-dk);border-radius:999px;padding:5px 14px}
body.cmp-solo .cmp-all:hover{background:var(--gold-dk);color:#fff}
body.cmp-solo #fav .lx-mb{position:relative}
body.cmp-solo #fav h3{padding-right:120px}
@media(max-width:700px){body.cmp-solo #mFav{padding:12px 8px 30px}body.cmp-solo .cmp-all{position:static;display:inline-block;margin-bottom:10px}body.cmp-solo #fav h3{padding-right:0}}
.cmp-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0;padding:12px;border:1px dashed var(--line);border-radius:8px;font-size:14px}
.cmp-share span{white-space:nowrap;font-weight:700;color:var(--muted)}
.cmp-share input{flex:1 1 240px;min-width:0;font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text)}
.cmp-share .lx-ghost,.cmp-share .lx-line{flex:0 0 auto;width:auto;margin:0;padding:8px 14px;font-size:14px}
@media(max-width:700px){.cmp-share .lx-ghost,.cmp-share .lx-line{flex:1 1 40%}}
.lx-search:has(.qs-dd.open){z-index:5}
#qs-rows.qs-591 .qs-age-in{display:flex;align-items:center;flex-wrap:wrap;gap:0 4px}
#qs-rows.qs-591 .qs-age-in[hidden]{display:none}
#qs-rows.qs-591 .qs-age-l{flex:none;font-weight:700;color:var(--strong);font-size:15px;margin-right:10px;letter-spacing:.08em}
#qs-rows.qs-591 .qs-age-in .qs-chips{flex:0 1 auto}@media(min-width:701px){
  #qs-rows.qs-591 #qs-type-row:has(.qs-age-in){display:flex;align-items:center;flex-wrap:wrap}
  #qs-rows.qs-591 #qs-type-row #qs-type{flex:0 1 auto}
  #qs-rows.qs-591 #qs-type-row:has(.qs-age-in) .qs-chip{min-width:0;padding:4px 8px 4px 4px;gap:6px;font-size:14.5px}
  #qs-rows.qs-591 #qs-type-row:has(.qs-age-in) .qs-chip[data-v=""]{min-width:0;padding-right:10px}
  #qs-rows.qs-591 .qs-age-in{margin-left:8px;padding-left:12px;border-left:1px solid var(--line)}
  #qs-rows.qs-591 .qs-age-l{margin-right:4px}
}
@media(max-width:700px){#qs-rows.qs-591 .qs-age-in{margin-top:6px;padding-top:8px;border-top:1px dashed var(--line)}#qs-rows.qs-591 .qs-age-l{width:100%;margin:0 0 4px}}   /* 下拉打開時蓋過物件卡片上的愛心 */
#qs-rows.qs-591 .qs-commlist{max-height:min(320px,50vh);overflow-y:auto;min-width:240px}
#qs-rows.qs-591 .qs-commlist .qs-chip[hidden]{display:none}
#qs-rows.qs-591 .qs-commq{width:100%;box-sizing:border-box;margin:0 0 6px;padding:7px 10px;border:1px solid var(--line);border-radius:4px;font:inherit;font-size:16px}
@media(max-width:760px){
  #qs-rows.qs-591>.qs-row{flex-direction:column;gap:4px;padding:8px 0}
  #qs-rows.qs-591 .qs-l{width:auto;padding-top:0}
  #qs-rows.qs-591 .qs-chip{min-width:calc(33.33% - 3px);flex:0 0 calc(33.33% - 3px);min-height:32px;padding:3px 4px 3px 2px;gap:6px;font-size:13.5px;letter-spacing:0}
  #qs-rows.qs-591 .qs-chips{gap:0 4px}
  #qs-rows.qs-591 .qs-chip{white-space:nowrap}
  #qs-rows.qs-591 #qs-price .qs-chip{min-width:calc(50% - 2px);flex-basis:calc(50% - 2px)}
  #qs-rows.qs-591 .qs-chip::before{width:15px;height:15px}
  #qs-rows.qs-591 .qs-ddp .qs-chip{flex:none;width:100%}
  #qs-rows.qs-591 .qs-lhead{flex-wrap:wrap;gap:8px 18px}
  #qs-rows.qs-591 .qs-ltabs{gap:16px}
  #qs-rows.qs-591 .qs-tools{margin-left:0}
  #qs-rows.qs-591 .qs-area-more{width:100%;margin:4px 0 0}
  #qs-rows.qs-591 .qs-dds{position:relative;gap:4px 18px}
  #qs-rows.qs-591 .qs-dd{position:static}
  #qs-rows.qs-591 .qs-ddp{left:0;right:0}
  #qs-rows.qs-591 .qs-ddp .qs-select{width:100%;min-width:0}
}
#cmp-sheet{display:none}
@media print{
  body.cmp-printing{padding:0!important;margin:0!important;background:#fff!important}
  body.cmp-printing>*:not(#cmp-sheet){display:none!important}
  #cmp-sheet{display:block;width:210mm;height:296mm;overflow:hidden;box-sizing:border-box;padding:9mm 9mm 7mm;background:#fff;color:#222;font-size:9pt;line-height:1.4}
  #cmp-sheet header{display:flex;align-items:center;gap:3mm;padding-bottom:2mm;margin-bottom:2mm;border-bottom:2px solid var(--gold-dk,#9a6b2f)}
  #cmp-sheet header img{height:10mm;width:auto}
  #cmp-sheet header b{display:block;font-size:11pt}
  #cmp-sheet header span{font-size:9pt;color:#555}
  #cmp-sheet h1{margin:0 0 0 auto;font-size:17pt;color:#222}
  #cmp-sheet h1 small{font-size:8.5pt;color:#888;font-weight:400;margin-left:3mm}
  #cmp-sheet .cmp-tbl{min-width:0;font-size:8.8pt}
  #cmp-sheet .cmp-tbl th{width:21mm;padding:1.2mm 2mm;position:static;background:#f6f1e8;color:#555}
  #cmp-sheet .cmp-tbl td{padding:1.2mm 2mm;border-bottom:1px solid #e5e0d6}
  #cmp-sheet .cmp-tbl td{display:table-cell}
  #cmp-sheet .cmp-tbl tr:not(.cmp-top) td{overflow:hidden;max-height:none}
  #cmp-sheet .cmp-pic{aspect-ratio:auto;height:32mm;margin-bottom:1mm;border-radius:1.5mm}
  #cmp-sheet .cmp-name{font-size:9.6pt}
  #cmp-sheet .cmp-go,#cmp-sheet .qs-heart{display:none}
  #cmp-sheet .cmp-price{font-size:11pt}
  #cmp-sheet .cmp-best{font-size:7pt;padding:0 1.5mm}
  #cmp-sheet .cmp-long td>div{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  #cmp-sheet .cmp-tbl small{font-size:inherit;color:#666}
  #cmp-sheet .cmp-tbl tr.cmp-fn td{font-size:6.8pt;color:#888;padding:.6mm 2mm 0;border-bottom:0}
  #cmp-sheet.cmp-many{padding:8mm 7mm 6mm;font-size:8pt;line-height:1.35}
  #cmp-sheet.cmp-many .cmp-tbl{font-size:7.6pt}
  #cmp-sheet.cmp-many .cmp-tbl th{width:15mm;padding:1mm 1.2mm}
  #cmp-sheet.cmp-many .cmp-tbl td{padding:1mm 1.2mm}
  #cmp-sheet.cmp-many .cmp-pic{height:22mm}
  #cmp-sheet.cmp-many .cmp-name{font-size:8.2pt}
  #cmp-sheet.cmp-many .cmp-price{font-size:9.6pt}
  #cmp-sheet.cmp-many .cmp-best{font-size:6.2pt;padding:0 1mm}
  #cmp-sheet .cmp-note{margin:2mm 0 0;font-size:7pt;color:#666}
}

/* 591 式版面：上方「買屋／租屋／土地」改成一整排等寬分段按鈕 */
.qs-kinds.qs-591k{display:flex;flex-wrap:nowrap;gap:4px;padding:4px;margin-bottom:14px;background:rgba(var(--ink-rgb),.05);border:1px solid var(--line);border-radius:14px}
.qs-kinds.qs-591k .qs-kind{flex:1 1 0;max-width:none;min-width:0;height:44px;padding:0 10px;border:0;border-radius:10px;background:transparent;font-size:16px;font-weight:800;letter-spacing:.08em;color:var(--text);transition:background .15s,color .15s}
.qs-kinds.qs-591k .qs-kind:hover{background:rgba(var(--ink-rgb),.06)}
.qs-kinds.qs-591k .qs-kind.on{background:var(--strong);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.qs-kinds.qs-591k .qs-kind small{letter-spacing:0}
.qs-kinds.qs-591k .qs-minebtn{border:0!important}
@media(max-width:700px){
  .qs-kinds.qs-591k{gap:2px;padding:3px;border-radius:12px}
  .qs-kinds.qs-591k .qs-kind{height:48px;padding:0 2px;font-size:14.5px;letter-spacing:.02em;gap:1px;flex-direction:column;line-height:1.15;white-space:nowrap}
  .qs-kinds.qs-591k .qs-kind small{font-size:11px;padding:0;background:none!important;color:inherit;opacity:.7}
}
.qs-kinds.qs-591k .qs-mstar{font-style:normal}
@media(max-width:700px){.qs-kinds.qs-591k .qs-mstar{display:none}}
.qs-kinds.qs-591k .qs-minebtn:not(.on){background:transparent!important;color:var(--gold-dk)!important}
.qs-kinds.qs-591k .qs-minebtn.on{background:linear-gradient(135deg,var(--gold-2),var(--gold))!important;color:var(--btn-ink)!important}
.qs-kinds.qs-591k .qs-kind.on small{color:inherit!important}

/* 總價／月租金自己填（priceCustom） */
.qs-pc{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex-basis:100%;width:100%;margin:6px 0 2px;font-size:14px;color:var(--muted)}
.qs-pc input{width:78px;min-height:34px;padding:4px 10px;border:1.5px solid var(--line);border-radius:6px;background:#fff;color:var(--text);font:inherit;font-size:16px}
.qs-pc input:focus{outline:0;border-color:var(--gold-dk)}
.qs-pc i{font-style:normal}
.qs-pc button{min-height:34px;padding:4px 16px;border:0;border-radius:6px;background:var(--gold-dk);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.qs-pc.on>span:first-child{color:var(--gold-dk);font-weight:700}
.qs-pc.on input{border-color:var(--gold-dk)}

/* 2026-11-09 物件詳細「分享這間」（config shareBtn） */
button.lx-cat.lx-sharebtn{width:100%;font:inherit;font-weight:700;cursor:pointer;margin-top:10px}
.sh-ov{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.sh-ov[hidden]{display:none}
.sh-box{position:relative;background:#fff;color:#222;border-radius:14px;padding:20px 18px 16px;width:100%;max-width:420px;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.sh-box b{font-size:17px}.sh-box p{margin:6px 0 10px;font-size:13px;color:#666}
.sh-x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:#888}
.sh-txt{width:100%;box-sizing:border-box;font:inherit;font-size:14px;line-height:1.5;padding:8px 10px;border:1px solid #ccc;border-radius:8px;resize:vertical}
.sh-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.sh-acts button{flex:1 1 30%;min-width:0;padding:11px 8px;border-radius:8px;border:1px solid #ccc;background:#fff;font:inherit;font-weight:700;cursor:pointer}
.sh-acts .sh-line{background:#06c755;border-color:#06c755;color:#fff}
.sh-tip{color:#06a04a!important;font-weight:700;margin:10px 0 0!important}
/* 卡片上的「分享」（shareBtn）：放在價格和 LINE 詢問中間 */
.lx-foot .lx-shc{margin-left:auto;background:var(--tint,#f7f2ea);color:var(--gold-dk);border:1.5px solid var(--gold);border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.lx-foot .lx-shc+.lx-line{margin-left:0}
html[data-skin] .lx-foot .lx-shc{border-radius:2px;font-weight:500;letter-spacing:.08em}
@media(max-width:700px){.lx-foot .lx-shc{padding:10px 12px;font-size:14px}}
