:root{--pri:#0076d7;--bg:#f3f5f7;--text:#101828;--muted:#667085;--card:#fff;--line:#e5e7eb;--green:#0f9d58}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}
.tv-shell{max-width:1240px;margin:0 auto;padding:0 20px}.cardlike{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.tv-header{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:1000}.tv-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:74px}.tv-nav{display:flex;gap:18px;color:#344054;font-weight:600}.tv-header__actions{display:flex;gap:10px}.tv-chip{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#fff}
.tv-logo{display:inline-flex;gap:2px;font-size:34px;font-weight:900;letter-spacing:-.06em}.tv-logo span:nth-child(1){color:#e11d48}.tv-logo span:nth-child(2){color:#f59e0b}.tv-logo span:nth-child(3){color:#2563eb}.tv-logo--footer{font-size:30px}
.tv-hero{padding:56px 0;background:linear-gradient(180deg,#eef5ff 0,#f3f5f7 100%)}.tv-hero--compact{padding:28px 0 24px}.tv-eyebrow{margin:0 0 10px;color:#2563eb;font-weight:700}.tv-hero h1{margin:0 0 18px;font-size:50px;line-height:1.02;max-width:820px}
.tv-searchbar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 10px 25px rgba(16,24,40,.06)}.tv-searchbar input,.tv-searchbar select{height:52px;border:1px solid var(--line);border-radius:14px;padding:0 14px;background:#fff}.tv-searchbar button,.tv-btn{height:52px;border:none;border-radius:14px;background:var(--pri);color:#fff;font-weight:800;padding:0 18px;cursor:pointer}.tv-btn--light{background:#fff;color:var(--text)}
.tv-section{padding:28px 0}.tv-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.tv-strip span{display:flex;align-items:center;justify-content:center;height:62px;border-radius:18px;background:#fff;border:1px solid var(--line);font-weight:700;color:#344054}.tv-section__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tv-section__head h2{margin:0;font-size:28px}
.tv-destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tv-destination-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;min-height:120px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}.tv-destination-card strong{font-size:24px}.tv-destination-card span{color:var(--muted)}
.tv-promo-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px;border-radius:26px;background:linear-gradient(135deg,#0a66c2,#3b82f6);color:#fff}.tv-promo-banner p{margin:8px 0 0;color:#dbeafe;max-width:720px}
.tv-results-layout{display:grid;grid-template-columns:290px 1fr;gap:18px}.tv-filters h3{margin-top:0}.tv-filter-form{display:grid;gap:12px}.tv-filter-form label{display:grid;gap:6px;font-size:14px;color:#475467}.tv-filter-form input,.tv-filter-form select{height:46px;border:1px solid var(--line);border-radius:12px;padding:0 12px}.tv-filter-form input[type="checkbox"]{height:auto}
.tv-results{display:grid;gap:14px}.tv-hotel-card{display:grid;grid-template-columns:300px 1fr 240px;gap:18px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px}.tv-hotel-card__media{height:220px;border-radius:18px;overflow:hidden;background:#e5e7eb}.tv-hotel-card__media img{width:100%;height:100%;object-fit:cover}.tv-hotel-card__body{padding:6px 0}.tv-hotel-card__meta{display:flex;gap:10px;flex-wrap:wrap;color:#667085;font-size:14px}.tv-hotel-card h3{margin:8px 0 10px;font-size:28px;line-height:1.1}.tv-score-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.tv-score-box{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:#0f9d58;color:#fff;font-weight:800}.tv-badges{display:flex;flex-wrap:wrap;gap:8px}.tv-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:13px;font-weight:700}.tv-badge--alt{background:#eff8ff;color:#175cd3}.tv-badge--soft{background:#f2f4f7;color:#344054}.tv-hotel-card__aside{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px}.tv-price-from{color:#667085;font-size:14px}.tv-price{font-size:34px;font-weight:900;letter-spacing:-.04em}
.tv-detail-hero{display:grid;grid-template-columns:1.7fr .9fr;gap:18px}.tv-detail-hero__main{border-radius:26px;overflow:hidden;border:1px solid var(--line);background:#e5e7eb;min-height:420px}.tv-detail-hero__main img{width:100%;height:100%;object-fit:cover}.tv-detail-hero__side h1{margin:10px 0 10px;font-size:38px;line-height:1.06}.tv-detail-hero__side p{color:var(--muted);line-height:1.6}
.tv-offer-list{display:grid;gap:14px}.tv-offer-box{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.tv-offer-box strong{font-size:20px}.tv-offer-box__meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;color:#667085;font-size:14px}.tv-offer-box__price-wrap{text-align:right}.tv-price-old{font-size:15px;color:#98a2b3;text-decoration:line-through}.tv-offer-box__price{font-size:30px;font-weight:900;letter-spacing:-.04em}.tv-discount-note{color:#067647;font-size:13px;font-weight:700;margin-top:4px}
.tv-footer{margin-top:36px;background:#111827;color:#d1d5db;padding:36px 0}.tv-footer__grid{display:grid;grid-template-columns:1.6fr .8fr .8fr 1fr;gap:20px}.tv-footer h4{margin:0 0 10px;color:#fff}.tv-footer a{display:block;margin-bottom:8px;color:#d1d5db}
@media (max-width:1100px){.tv-searchbar{grid-template-columns:1fr 1fr}.tv-results-layout,.tv-detail-hero,.tv-footer__grid,.tv-destination-grid,.tv-strip{grid-template-columns:1fr 1fr}.tv-hotel-card{grid-template-columns:1fr}.tv-hotel-card__aside{align-items:flex-start}.tv-nav{display:none}}
@media (max-width:700px){.tv-shell{padding:0 14px}.tv-hero h1{font-size:36px}.tv-searchbar,.tv-results-layout,.tv-detail-hero,.tv-footer__grid,.tv-destination-grid,.tv-strip{grid-template-columns:1fr}.tv-offer-box{grid-template-columns:1fr}.tv-header__inner{min-height:66px}.tv-logo{font-size:30px}}
