.tpw{--tpw-primary:#17464F;--tpw-dark:#17464F;--tpw-old:#6b7280;--tpw-soft:#eef4f5;--tpw-border:#e5e7eb;--tpw-radius:10px;color:var(--tpw-dark);max-width:100%}
.tpw *{box-sizing:border-box}
.tpw button{font:inherit;cursor:pointer}
.tpw-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.tpw-tab{background:#fff;color:var(--tpw-dark);border:1px solid var(--tpw-border);padding:9px 20px;border-radius:var(--tpw-radius);font-weight:600}
.tpw-tab.is-active{background:var(--tpw-dark);color:#fff;border-color:var(--tpw-dark)}
.tpw-panel{display:none;background:#fff;border:1px solid var(--tpw-border);border-radius:calc(var(--tpw-radius) + 4px);padding:24px}
.tpw-panel.is-active{display:block}
.tpw-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--tpw-border)}
.tpw-name{font-size:22px;font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tpw-badge{background:var(--tpw-primary);color:#fff;font-size:12px;font-weight:600;padding:4px 12px;border-radius:99px}
.tpw-from{font-size:13px;margin-top:10px}
.tpw-start{display:none;align-items:baseline;gap:14px;margin-top:4px}
.tpw-start.is-active{display:flex}
.tpw-start del{font-size:32px;color:var(--tpw-old);text-decoration-color:#d33}
.tpw-start strong{font-size:32px;color:var(--tpw-primary);font-weight:700}
.tpw-btn{background:var(--tpw-dark);color:#fff!important;padding:12px 26px;border-radius:99px;font-weight:600;text-decoration:none;white-space:nowrap;display:inline-block}
.tpw-btn:hover{opacity:.9}
.tpw-dates-bar{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:10px}
.tpw-dates-title{font-weight:700;font-size:15px}
.tpw-hint{font-size:13px;margin:10px 0 14px;opacity:.85}
.tpw-toggle{display:inline-flex;border:1px solid var(--tpw-border);border-radius:8px;overflow:hidden}
.tpw-toggle button{border:0;background:#fff;color:var(--tpw-dark);padding:7px 14px;font-size:12px;font-weight:600}
.tpw-toggle button.is-active{background:var(--tpw-primary);color:#fff}
.tpw-mode{display:none}
.tpw-mode.is-active{display:block}
.tpw-period{border:1px solid var(--tpw-border);border-radius:var(--tpw-radius);margin-bottom:12px;overflow:hidden}
.tpw-period-head{width:100%;display:flex;align-items:center;gap:10px;background:#fff;border:0;padding:14px 16px;color:var(--tpw-dark);font-weight:600;text-align:left}
.tpw-period.is-open .tpw-period-head{background:var(--tpw-soft)}
.tpw-ico{color:var(--tpw-primary)}
.tpw-period-name{flex:1}
.tpw-chev{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.tpw-period.is-open .tpw-chev{transform:rotate(-135deg)}
.tpw-period-body{display:none;padding:14px 16px 16px;background:var(--tpw-soft)}
.tpw-period.is-open .tpw-period-body{display:block}
.tpw-group-title{font-size:12px;font-weight:700;margin-bottom:10px}
.tpw-row{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--tpw-border);border-radius:var(--tpw-radius);padding:14px 16px;margin-bottom:8px;cursor:pointer;transition:border-color .15s}
.tpw-row:hover,.tpw-row:focus-visible{border-color:var(--tpw-primary);outline:0}
.tpw-row.is-selected{border-color:var(--tpw-primary);box-shadow:0 0 0 1px var(--tpw-primary) inset}
.tpw-g{font-weight:700;font-size:14px}
.tpw-p del{color:var(--tpw-old);margin-right:8px;text-decoration-color:#d33}
.tpw-p strong{font-weight:700;margin-right:2px}
.tpw-p em{font-style:normal;font-size:13px;opacity:.8}
.tpw-accom-title{font-weight:700;margin:22px 0 12px;padding-top:18px;border-top:1px solid var(--tpw-border)}
.tpw-accom{display:flex;background:#f5f7f9;border:1px solid var(--tpw-border);border-radius:var(--tpw-radius);margin-bottom:10px;overflow:hidden}
.tpw-city{flex:0 0 110px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;padding:14px 8px;border-right:1px dashed #cbd5e1;text-align:center}
.tpw-hotels{padding:14px 16px;font-size:13px;line-height:1.5}
.tpw-hotels a{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}
.tpw-hotels a:hover{color:var(--tpw-primary)}
@media(max-width:600px){
 .tpw-panel{padding:16px}
 .tpw-head{flex-direction:column}
 .tpw-start del,.tpw-start strong{font-size:26px}
 .tpw-city{flex-basis:80px}
}