:root{--accent:#ff5a36;--accent-soft:#fff3ef;--ink:#0d1b2a;--ink-soft:#4a5568;--ink-faint:#94a3b8;--line:#e7e3da;--paper-2:#f5f2ea;}
  /* Search widget */
#searchWidget2 .tnx2-card {
    background: #fff; border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.15);
    padding: 12px; margin: 0 auto; max-width: 1180px;
    position: relative; z-index: 2;
  }
#searchWidget2 .tnx2-tabs { display: flex; gap: 4px; padding: 4px 8px 12px; border-bottom: 1px solid var(--line); margin-bottom: 12px; }
#searchWidget2 .tnx2-tabs .t { padding: 8px 16px; border-radius: 999px; font-size: 13px; font-weight: 600; cursor: pointer; color: var(--ink-soft); }
#searchWidget2 .tnx2-tabs .t.active { background: var(--ink); color: #fff; }
#searchWidget2 .tnx2-tabs .t .ic { margin-right: 6px; }
#searchWidget2 .tnx2-form { display: grid; grid-template-columns: 1.5fr 2fr 1fr 1fr 1fr auto; gap: 1px; background: var(--line); border-radius: 16px; overflow: hidden; }
#searchWidget2 .tnx2-form.pop-open { overflow: visible; }
#searchWidget2 .hero.pop-open, #searchWidget2 .tnx2-card.pop-open { overflow: visible; }
#searchWidget2 .tnx2-form .tnx2-field { background: #fff; padding: 12px 16px; cursor: pointer; }
#searchWidget2 .tnx2-form .tnx2-field:hover { background: var(--paper-2); }
#searchWidget2 .tnx2-form .tnx2-field .lab { font-size: 10px; color: var(--ink-faint); text-transform: uppercase; font-weight: 700; letter-spacing: 0.04em; }
#searchWidget2 .tnx2-form .tnx2-field .val { font-size: 14px; font-weight: 600; margin-top: 2px; }
#searchWidget2 .tnx2-form .tnx2-field .sub { font-size: 11px; color: var(--ink-faint); margin-top: 1px; }
#searchWidget2 .tnx2-form .go { background: var(--accent); padding: 0 32px; display: flex; align-items: center; gap: 8px; color: #fff; font-weight: 700; font-size: 14px; cursor: pointer; }
#searchWidget2 .tnx2-form .go:hover { background: #e84d2c; }

#searchWidget2 .tnx2-extras { display: flex; gap: 12px; padding: 12px 12px 4px; flex-wrap: wrap; align-items: center; }
#searchWidget2 .tnx2-extras .x { font-size: 12px; color: var(--ink-soft); display: flex; align-items: center; gap: 6px; cursor: pointer; padding: 4px 10px; border-radius: 999px; background: var(--paper-2); user-select: none; transition: all 0.15s; }
#searchWidget2 .tnx2-extras .x:hover { background: var(--ink); color: #fff; }
#searchWidget2 .tnx2-extras .x.on { background: var(--ink); color: #fff; }
#searchWidget2 .tnx2-extras .x.more { background: #fff; border: 1px dashed var(--line); color: var(--accent); font-weight: 700; }
#searchWidget2 .tnx2-extras .x.more:hover { border-style: solid; border-color: var(--accent); background: #fff; color: var(--accent); }
#searchWidget2 .tnx2-extras .badge-on { background: var(--accent); color: #fff; font-size: 9px; padding: 1px 6px; border-radius: 999px; font-weight: 800; margin-left: 4px; }

  /* === Advanced filters drawer === */
#searchWidget2 .tnx2-adv { background: #fff; border-top: 1px solid var(--line); border-radius: 0 0 14px 14px; overflow: hidden; max-height: 0; transition: max-height 0.4s ease; }
#searchWidget2 .tnx2-adv.open { max-height: 1000px; }
#searchWidget2 .tnx2-adv .inner { padding: 20px 18px 18px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px 22px; }
#searchWidget2 .tnx2-adv .col { display: flex; flex-direction: column; gap: 8px; }
#searchWidget2 .tnx2-adv .col-title { font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-faint); }
#searchWidget2 .tnx2-adv .opts { display: flex; flex-wrap: wrap; gap: 6px; }
#searchWidget2 .tnx2-adv .pill-chk { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border: 1px solid var(--line); border-radius: 999px; font-size: 12px; cursor: pointer; background: #fff; color: var(--ink-soft); user-select: none; transition: all 0.12s; }
#searchWidget2 .tnx2-adv .pill-chk:hover { border-color: var(--accent); color: var(--ink); }
#searchWidget2 .tnx2-adv .pill-chk.on { background: var(--ink); color: #fff; border-color: var(--ink); }
#searchWidget2 .tnx2-adv .pill-chk .star { color: #f5a623; font-size: 13px; }
#searchWidget2 .tnx2-adv .pill-chk.on .star { color: #fdc55a; }
#searchWidget2 .tnx2-adv .range { display: flex; flex-direction: column; gap: 8px; }
#searchWidget2 .tnx2-adv .range-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
#searchWidget2 .tnx2-adv .range-row input { padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; font-family: inherit; outline: none; width: 100%; box-sizing: border-box; font-weight: 600; }
#searchWidget2 .tnx2-adv .range-row input:focus { border-color: var(--accent); }
#searchWidget2 .tnx2-adv .range-row label { font-size: 10px; color: var(--ink-faint); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; display: block; margin-bottom: 4px; }
#searchWidget2 .tnx2-adv .slider-track { height: 4px; background: var(--paper-2); border-radius: 999px; position: relative; margin: 6px 0; }
#searchWidget2 .tnx2-adv .slider-fill { position: absolute; top: 0; bottom: 0; background: var(--accent); border-radius: 999px; left: 12%; right: 38%; }
#searchWidget2 .tnx2-adv .price-marks { display: flex; justify-content: space-between; font-size: 10px; color: var(--ink-faint); font-weight: 600; }
#searchWidget2 .tnx2-adv .foot { display: flex; justify-content: space-between; align-items: center; padding: 12px 18px; background: var(--paper-2); border-top: 1px solid var(--line); font-size: 12px; }
#searchWidget2 .tnx2-adv .foot .ttl { color: var(--ink-soft); font-weight: 600; }
#searchWidget2 .tnx2-adv .foot .actions { display: flex; gap: 8px; align-items: center; }
#searchWidget2 .tnx2-adv .foot .reset { background: none; border: 0; color: var(--ink-faint); font-size: 12px; cursor: pointer; font-weight: 600; padding: 6px 10px; }
#searchWidget2 .tnx2-adv .foot .reset:hover { color: var(--accent); }

  /* Popovers — search form pickers */
#searchWidget2 .tnx2-form .tnx2-field { position: relative; }
#searchWidget2 .tnx2-form .tnx2-field.open { background: var(--paper-2); }
#searchWidget2 .tnx2-form .tnx2-field.open::after { content: ""; position: absolute; left: 16px; right: 16px; bottom: 0; height: 2px; background: var(--accent); }
#searchWidget2 .pop { position: absolute; top: calc(100% + 8px); left: 0; min-width: 320px; background: #fff; border-radius: 14px; box-shadow: 0 18px 60px rgba(13,27,42,0.16); border: 1px solid var(--line); z-index: 100; padding: 10px; display: none; }
#searchWidget2 .pop.on { display: block; }
#searchWidget2 .pop .ph { padding: 10px 12px 6px; font-size: 11px; color: var(--ink-faint); text-transform: uppercase; font-weight: 700; letter-spacing: 0.04em; }
#searchWidget2 .pop .opt { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-radius: 8px; cursor: pointer; gap: 12px; }
#searchWidget2 .pop .opt:hover { background: var(--paper-2); }
#searchWidget2 .pop .opt .city { font-weight: 600; font-size: 14px; }
#searchWidget2 .pop .opt .meta { font-size: 11px; color: var(--ink-faint); }
#searchWidget2 .pop .opt .iata { font-size: 11px; color: var(--ink-faint); font-weight: 600; }
#searchWidget2 .pop .search-input { width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 14px; font-family: inherit; outline: none; margin-bottom: 8px; box-sizing: border-box; }
#searchWidget2 .pop .search-input:focus { border-color: var(--accent); }
#searchWidget2 .pop .group { padding: 0 12px 8px; border-bottom: 1px solid var(--line); margin-bottom: 8px; }
#searchWidget2 .pop .group:last-child { border-bottom: 0; margin-bottom: 0; }

  /* Date range calendar */
#searchWidget2 .pop.date-pop { min-width: 620px; }
#searchWidget2 .cals { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 8px; }
#searchWidget2 .cal { }
#searchWidget2 .cal-h { display: flex; justify-content: space-between; align-items: center; padding: 0 6px 8px; }
#searchWidget2 .cal-h .nav { width: 28px; height: 28px; border-radius: 8px; background: var(--paper-2); border: 0; cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center; }
#searchWidget2 .cal-h .nav:hover { background: var(--line); }
#searchWidget2 .cal-h .month { font-family: 'Fraunces', serif; font-weight: 600; font-size: 16px; }
#searchWidget2 .cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
#searchWidget2 .cal-grid .dow { font-size: 10px; color: var(--ink-faint); text-transform: uppercase; text-align: center; padding: 6px 0; font-weight: 600; }
#searchWidget2 .cal-grid .day { aspect-ratio: 1 / 1; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 13px; cursor: pointer; border-radius: 6px; position: relative; padding: 2px; }
#searchWidget2 .cal-grid .day:hover { background: var(--paper-2); }
#searchWidget2 .cal-grid .day.faded { color: var(--ink-faint); opacity: 0.4; cursor: default; }
#searchWidget2 .cal-grid .day.faded:hover { background: transparent; }
#searchWidget2 .cal-grid .day.in-range { background: var(--accent-soft); border-radius: 0; }
#searchWidget2 .cal-grid .day.start { background: var(--ink); color: #fff; border-radius: 6px 0 0 6px; font-weight: 700; }
#searchWidget2 .cal-grid .day.end { background: var(--ink); color: #fff; border-radius: 0 6px 6px 0; font-weight: 700; }
#searchWidget2 .cal-grid .day.start.end { border-radius: 6px; }
#searchWidget2 .cal-grid .day.disabled { opacity: 0.3; cursor: default; pointer-events: none; }
#searchWidget2 .cal-grid .day .day-price { font-size: 9px; color: var(--accent); font-weight: 700; position: absolute; bottom: 1px; left: 50%; transform: translateX(-50%); white-space: nowrap; }
#searchWidget2 .pop-foot { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; border-top: 1px solid var(--line); margin-top: 4px; }
#searchWidget2 .pop-foot .info { font-size: 12px; color: var(--ink-soft); }
#searchWidget2 .pop-foot .actions { display: flex; gap: 8px; }

  /* Tourists picker */
#searchWidget2 .pop.tourists-pop { min-width: 360px; }
#searchWidget2 .tour-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; border-bottom: 1px solid var(--line); }
#searchWidget2 .tour-row:last-of-type { border-bottom: 0; }
#searchWidget2 .tour-row .lbl { }
#searchWidget2 .tour-row .lbl .t { font-weight: 600; font-size: 14px; }
#searchWidget2 .tour-row .lbl .s { font-size: 11px; color: var(--ink-faint); }
#searchWidget2 .tour-row .ctl { display: flex; align-items: center; gap: 12px; }
#searchWidget2 .tour-row .ctl button { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--line); background: #fff; font-size: 18px; cursor: pointer; line-height: 1; display: flex; align-items: center; justify-content: center; color: var(--ink); }
#searchWidget2 .tour-row .ctl button:hover:not(:disabled) { border-color: var(--accent); color: var(--accent); }
#searchWidget2 .tour-row .ctl button:disabled { opacity: 0.3; cursor: not-allowed; }
#searchWidget2 .tour-row .ctl .n { font-weight: 700; font-size: 16px; min-width: 18px; text-align: center; }
#searchWidget2 .child-ages { padding: 10px 14px; display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid var(--line); }
#searchWidget2 .child-ages .age { padding: 4px 10px; background: var(--paper-2); border-radius: 6px; font-size: 12px; display: flex; align-items: center; gap: 4px; }
#searchWidget2 .child-ages select { border: 0; background: transparent; font-weight: 600; cursor: pointer; }

  /* Nights picker */
#searchWidget2 .pop.nights-pop { min-width: 280px; padding: 14px; }
#searchWidget2 .nights-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
#searchWidget2 .nights-grid .n { padding: 10px 0; text-align: center; border-radius: 8px; background: var(--paper-2); cursor: pointer; font-size: 14px; font-weight: 600; }
#searchWidget2 .nights-grid .n:hover { background: var(--line); }
#searchWidget2 .nights-grid .n.cur { background: var(--ink); color: #fff; }

  /* Section */
#searchWidget2 .section { padding: 60px 0; }
#searchWidget2 .sect-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 28px; }


/* popup-элементы */
#searchWidget2 .pop .pop-list{max-height:280px;overflow:auto;}
#searchWidget2 .pop .cal-head{display:flex;justify-content:space-between;align-items:center;padding:6px 8px 12px;font-weight:700;}
#searchWidget2 .pop .cal-nav{cursor:pointer;font-size:22px;color:var(--accent);padding:0 10px;user-select:none;}
#searchWidget2 .pop .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
#searchWidget2 .pop .cal-dow{text-align:center;font-size:11px;color:var(--ink-faint);font-weight:700;padding:4px 0;}
#searchWidget2 .pop .cal-cell{text-align:center;padding:9px 0;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;}
#searchWidget2 .pop .cal-cell:hover{background:var(--paper-2);}
#searchWidget2 .pop .cal-cell.sel{background:var(--accent);color:#fff;}
#searchWidget2 .pop .cal-cell.dis{color:#cbd5e1;cursor:default;}
#searchWidget2 .pop .nights-row{display:flex;gap:14px;padding:8px 12px;}
#searchWidget2 .pop .nights-row label{font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;}
#searchWidget2 .pop .nights-row input{padding:7px 9px;border:1px solid var(--line);border-radius:8px;font-family:inherit;}
#searchWidget2 .pop .pax-row{display:flex;align-items:center;gap:16px;padding:8px 12px;}
#searchWidget2 .pop .pax-row button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:18px;cursor:pointer;color:var(--ink);}
#searchWidget2 .pop .pax-row button:hover{border-color:var(--accent);color:var(--accent);}
#searchWidget2 .pop .pax-row b{min-width:24px;text-align:center;font-size:16px;}

/* строгая раскладка формы — изолировано, ничто из tour.html не зацепит tnx2-* */
#searchWidget2 .tnx2-card{width:100%;max-width:1180px;box-sizing:border-box;}
#searchWidget2 .tnx2-form{display:grid;grid-template-columns:1.5fr 1.9fr 1fr 0.9fr 1.1fr 1.4fr;gap:1px;background:var(--line);border-radius:16px;overflow:hidden;width:100%;box-sizing:border-box;}
#searchWidget2 .tnx2-form.pop-open{overflow:visible;}
#searchWidget2 .tnx2-field{background:#fff;padding:12px 16px;cursor:pointer;min-width:0;border:0;border-radius:0;margin:0;min-height:64px;box-sizing:border-box;position:relative;}
#searchWidget2 .tnx2-field:hover{background:var(--paper-2);}
#searchWidget2 .tnx2-field.open{background:var(--paper-2);}
#searchWidget2 .tnx2-field .lab{font-size:10px;color:var(--ink-faint);text-transform:uppercase;font-weight:700;letter-spacing:.04em;margin:0;}
#searchWidget2 .tnx2-field .val{font-size:14px;font-weight:600;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#searchWidget2 .tnx2-field .sub{font-size:11px;color:var(--ink-faint);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#searchWidget2 .tnx2-form .go{background:var(--accent);color:#fff;font-weight:700;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:0;margin:0;width:100%;height:100%;min-height:64px;box-sizing:border-box;white-space:nowrap;}
#searchWidget2 .tnx2-form .go:hover{background:#e84d2c;}
@media(max-width:760px){
  #searchWidget2 .tnx2-form{grid-template-columns:1fr 1fr;}
  #searchWidget2 .tnx2-form .go{grid-column:1 / -1;}
}
