:root{--blue:#0d6efd;--blue-dark:#0d2e5b;--green:#07b955;--text:#10213a;--muted:#64748b;--line:#dbe7f4;--bg:#f7fbff;--shadow:0 12px 34px rgba(23,76,133,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Sans TC","Microsoft JhengHei",Arial,sans-serif;color:var(--text);background:#fff;font-weight:500}button,a,select{font:inherit}.site-header{height:82px;display:flex;align-items:center;gap:28px;padding:0 3%;position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid #e5edf6;z-index:20}.brand{display:flex;align-items:center;text-decoration:none;color:var(--blue-dark);min-width:270px}.brand img{width:58px;height:58px;margin-right:12px}.brand strong{font-size:27px;display:block;letter-spacing:1px}.brand small{font-size:13px;color:#36516f;display:block}.site-header nav{display:flex;justify-content:center;gap:35px;flex:1}.site-header nav a{color:#173557;text-decoration:none;font-weight:800}.site-header nav a:hover{color:var(--blue)}.line-top,.line-btn{border:0;background:var(--green);color:#fff;border-radius:9px;padding:13px 22px;font-weight:800;cursor:pointer}.menu-btn{display:none;border:0;background:none;font-size:26px}.hero{min-height:395px;display:grid;grid-template-columns:48% 52%;background:linear-gradient(90deg,#f2f8ff 0,#fff 52%);overflow:hidden}.hero-copy{padding:70px 6%}.eyebrow{color:var(--blue);font-weight:900;letter-spacing:3px}.hero h1{font-size:48px;line-height:1.22;margin:10px 0;color:var(--blue-dark)}.hero h1 span{font-size:32px}.hero-copy>p:not(.eyebrow){color:#4d6480;font-size:18px}.primary-btn,.search-btn{display:inline-block;background:var(--blue);color:white;padding:14px 26px;border-radius:9px;text-decoration:none;font-weight:800}.hero-image{background:url('assets/hero-cozy-room.jpg') center/cover no-repeat;position:relative}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,transparent 30%)}.search-card{width:min(1180px,90%);margin:-36px auto 36px;position:relative;z-index:3;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr 1fr auto;padding:17px}.search-card label{font-size:14px;font-weight:800;padding:0 22px;border-right:1px solid var(--line)}.search-card select{display:block;width:100%;border:0;background:#fff;color:#334b68;padding:8px 0;font-weight:700}.search-btn{align-self:center}.section{width:min(1320px,94%);margin:48px auto}.section-head span{color:var(--blue);font-weight:900}.section-head h2{margin:4px 0 20px}.listing-card{display:grid;grid-template-columns:34% 1fr 220px;gap:24px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;box-shadow:0 7px 22px rgba(35,80,130,.08)}.listing-card>img{width:100%;height:190px;object-fit:cover;border-radius:10px}.badge{background:var(--blue);color:white;padding:5px 10px;border-radius:5px;font-size:13px}.listing-info h3{font-size:25px;margin:12px 0 5px}.listing-info strong{color:var(--blue);font-size:20px}.listing-info p{color:#405771}.listing-price{text-align:center;background:#f1f7ff;border-radius:10px;padding:20px}.listing-price small,.listing-price span{display:block}.listing-price b{display:block;color:var(--blue);font-size:40px;margin:5px}.listing-price a{display:block;margin-top:12px;background:var(--blue);color:#fff;padding:11px;border-radius:6px;text-decoration:none}.breadcrumbs{color:#526b88;margin-bottom:20px}.detail-grid{display:grid;grid-template-columns:56% 44%;gap:30px}.gallery,.detail-info,.equipment-card,.service-card{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.gallery{padding:10px}.main-photo{height:480px;position:relative;overflow:hidden;border-radius:12px}.main-photo img{width:100%;height:100%;object-fit:cover}.arrow{position:absolute;top:48%;width:46px;height:46px;border-radius:50%;border:1px solid #d1deec;background:#fff;color:#123e70;font-size:32px;cursor:pointer}.left{left:18px}.right{right:18px}.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.thumb{height:115px;border:3px solid transparent;border-radius:9px;overflow:hidden;padding:0;background:none;cursor:pointer}.thumb.active{border-color:var(--blue)}.thumb img{width:100%;height:100%;object-fit:cover}.detail-info{padding:26px}.area-pill{color:var(--blue);background:#eaf4ff;padding:8px 13px;border-radius:9px;font-weight:800}.detail-info h2{font-size:34px;margin:18px 0 5px;color:#0c1524}.detail-info h3{color:var(--blue);font-size:24px;margin:0 0 20px}.facts{display:flex;gap:25px;flex-wrap:wrap;font-weight:800}.location{margin:24px 0;color:#2f4762}.price-box{background:#f5faff;border:1px solid #d8e9fa;border-radius:14px;padding:22px;display:grid;grid-template-columns:45% 55%;align-items:center}.price-box>div{text-align:center;border-right:1px solid #cfdfef}.price-box small{display:block;color:var(--blue);font-weight:900}.price-box strong{font-size:48px;color:var(--blue)}.price-box span{display:block}.price-box ul{margin:0;padding-left:42px;line-height:2}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.phone-btn{background:var(--blue);color:#fff;text-decoration:none;text-align:center;padding:14px;border-radius:9px;font-weight:800}.equipment-section{display:grid;grid-template-columns:56% 44%;gap:30px}.equipment-card,.service-card{padding:26px}.equipment-card h2,.service-card h2{color:#123e70;margin-top:0}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 55px}.equipment-grid span{padding:15px 6px;border-bottom:1px solid #dfe8f2;color:#1a3554;font-size:17px;font-weight:800}.service-card{background:linear-gradient(135deg,#f8fcff,#eef7ff)}.service-card .line-btn{width:100%;margin:12px 0}.service-points{display:flex;justify-content:space-between;color:#18764a;font-weight:800}.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;background:#eff7ff;padding:22px 6%;margin-top:35px}.trust-row div{display:grid;grid-template-columns:40px 1fr}.trust-row b{font-size:17px}.trust-row small{grid-column:2;color:#60748c}footer{text-align:center;padding:28px;color:#6c7c91}.modal[hidden]{display:none}.modal{position:fixed;inset:0;background:rgba(8,28,55,.55);display:grid;place-items:center;z-index:100}.modal-box{background:white;width:min(430px,90%);padding:30px;border-radius:16px;position:relative;box-shadow:var(--shadow)}.modal-box a{display:block;background:#06c755;color:white;text-decoration:none;padding:14px;margin:10px 0;border-radius:8px;font-weight:800}.modal-close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}
@media(max-width:900px){.site-header{height:auto;padding:10px 4%;flex-wrap:wrap}.brand{min-width:0}.brand img{width:48px;height:48px}.brand strong{font-size:22px}.line-top{margin-left:auto}.menu-btn{display:block;order:3}.site-header nav{display:none;order:4;flex-basis:100%;flex-direction:column;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:12px;border-top:1px solid #e5edf6}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6%}.hero h1{font-size:38px}.hero-image{height:250px}.search-card{grid-template-columns:1fr 1fr;margin-top:-15px}.search-card label{border-right:0;border-bottom:1px solid var(--line);padding:10px}.search-btn{grid-column:1/-1;text-align:center}.listing-card{grid-template-columns:1fr}.listing-card>img{height:260px}.detail-grid,.equipment-section{grid-template-columns:1fr}.main-photo{height:380px}.trust-row{grid-template-columns:1fr 1fr}.detail-info h2{font-size:28px}}
@media(max-width:560px){.brand small{display:none}.line-top{display:none}.hero h1{font-size:32px}.hero h1 span{font-size:23px}.search-card{grid-template-columns:1fr}.listing-card>img{height:220px}.main-photo{height:300px}.thumb{height:75px}.price-box{grid-template-columns:1fr}.price-box>div{border-right:0;border-bottom:1px solid #cfdfef;padding-bottom:15px}.price-box ul{padding-left:25px}.equipment-grid{grid-template-columns:1fr}.contact-actions{grid-template-columns:1fr}.service-points{flex-direction:column;gap:10px}.trust-row{grid-template-columns:1fr}.facts{gap:13px}.detail-info{padding:18px}}

#listingContainer{display:grid;gap:18px}.load-error{padding:24px;border:1px solid #f0b8b8;background:#fff5f5;color:#9b1c1c;border-radius:12px}.hero-image{background-position:center center}

.modal-box a.modal-phone{background:#0d6efd;text-align:center;}
