body{background:#f4f6f8;font-family: Manrope, sans-serif;}
.page{background:#fff;}
.hero{background:linear-gradient(135deg,#003b95 0%,#0057d8 100%);padding:0 0 28px 0;}
.hero-title{font-size:34px;line-height:1.15;font-weight:800;color:#ffffff;letter-spacing:-.6px;margin-top: 65px;}
.hero-subtitle{margin-top:10px;font-size:16px;line-height:1.6;color:rgba(255,255,255,.92);}
.summary-bar{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px;}
.summary-bar.editing .summary-items{display:none;}
.summary-bar.editing .summary-edit-btn{display:none;}
.summary-items{display:flex;flex-wrap:wrap;gap:10px;}
.summary-pill{min-height:40px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:#ffffff;}
.summary-edit-btn{min-height:40px;padding:0 14px;border-radius:999px;background:#ffffff;color:#003b95;font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;}
.results-search-wrap{display:none;width:100%;margin-top:18px;}
.results-search-wrap.open{display:block;}
.content{padding:28px 0 40px 0;}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;}
.result-count{font-size:22px;font-weight:800;color:#1a1a1a;letter-spacing:-.3px;}
.result-note{font-size:14px;color:#596579;line-height:1.6;}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
.card{background:#ffffff;border:1px solid #e8edf3;border-radius:20px;overflow:hidden;box-shadow:0 14px 34px rgba(15,23,42,.06);}
.card-media{position:relative;height:240px;background:#e9eef5;}
.card-image{width:100%;height:100%;object-fit:cover;display:block;    margin-bottom: -41px;}
.card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dbe7ff 0%,#eef4ff 100%);font-size:18px;font-weight:800;color:#003b95;}
.card-body{padding: 0 10px;}
.card-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border-radius:999px;background:#eef5ff;color:#006ce4;font-size:12px;font-weight:800;letter-spacing:.2px;text-transform:uppercase;margin-left: 10px;}
.card-title{font-size:18px;line-height:1.25;font-weight:700;color:#1a1a1a;letter-spacing:-.4px;    text-align: center;}
.card-location{margin-top:10px;font-size:14px;color:#5f6b7a;font-weight:500;text-align: center;}
.card-meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:4px;justify-content: center;}
.card-meta-item{padding:5px 8px;border-radius:10px;background:#f6f8fb;font-size:12px;font-weight:600;color:#344054;display:inline-flex;align-items:center;}
.card-features{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px;    justify-content: center;}
.card-feature{padding:2px 10px;border-radius:999px;background:#ffffff;border:1px solid #e4e8ee;font-size:11px;font-weight:700;color:#4a5565;display:inline-flex;align-items:center;}
.card-bottom { display: flex; margin-top: 18px; padding: 18px 0; border-top: 1px solid #edf1f5; align-items: center;     justify-content: space-evenly; gap: 16px; }
.price-block{display:flex;flex-direction:column;gap:6px;    align-items: center;}
.price-label{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.2px;}
.price-value{font-size:23px;font-weight:800;color:#003b95;line-height:1;}
.price-sub{font-size:13px;color:#5f6b7a;font-weight:600;}
.card-link{height:46px;padding:0 18px;border-radius:12px;background:#006ce4;color:#ffffff;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;}
.empty{padding:38px 24px;border-radius:20px;background:#ffffff;border:1px solid #e8edf3;box-shadow:0 14px 34px rgba(15,23,42,.05);text-align:center;}
.empty-title{font-size:24px;font-weight:800;color:#1a1a1a;letter-spacing:-.3px;}
.empty-text{margin-top:10px;font-size:15px;line-height:1.7;color:#5f6b7a;}
.empty-link{margin-top:18px;display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 18px;border-radius:12px;background:#006ce4;color:#ffffff;font-size:14px;font-weight:800;}
@media (max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:768px){.hero{padding:32px 0 24px 0;}}
@media (max-width:768px){.hero-title{font-size:28px;}}
@media (max-width:768px){.toolbar{flex-direction:column;align-items:flex-start;}}
@media (max-width:768px){.grid{grid-template-columns:1fr;}}
@media (max-width:768px){.card-media{height:220px;}}
@media (max-width:768px){.summary-bar{flex-direction:column;align-items:flex-start;}}
@media (max-width:768px){.summary-items{width:100%;}}


.card-media { position: relative; }
.favorite-btn { position: absolute; top: 12px; right: 12px; z-index: 3; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 0; border-radius: 999px; background: rgba(255,255,255,.92); box-shadow: 0 10px 24px rgba(15,23,42,.14); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease; color: #475569; }
.favorite-btn:hover { transform: scale(1.05); box-shadow: 0 14px 30px rgba(15,23,42,.18); }
.favorite-btn:focus-visible { outline: 2px solid #111827; outline-offset: 2px; }
.favorite-btn.is-active { background: #fff1f2; color: #e11d48; }
.favorite-btn__icon { width: 20px; height: 20px; fill: transparent; stroke: currentColor;  transition: fill .18s ease, stroke .18s ease; }
.favorite-btn.is-active .favorite-btn__icon { fill: currentColor; }