.tm-box{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:24px;margin:0 auto 24px;max-width:760px;box-shadow:0 8px 24px rgba(0,0,0,.06);color:#222}
.tm-form label{display:block;margin-bottom:14px;font-weight:600}
.tm-form input,.tm-form select,.tm-form textarea{display:block;width:100%;padding:10px 12px;margin-top:6px;border:1px solid #cfd4da;border-radius:10px;font:inherit}
.tm-btn{display:inline-block;background:#1a2332;color:#fff!important;padding:12px 26px;border:0;border-radius:50px;font-weight:700;cursor:pointer;text-decoration:none}
.tm-btn:hover{opacity:.9}
.tm-gold{background:#ffd700;color:#1a2332!important}
.tm-sm{padding:7px 16px;font-size:.9rem}
.tm-danger{background:#c62828}
.tm-notice{padding:12px 16px;border-radius:10px;margin:0 auto 16px;max-width:760px}
.tm-ok{background:#e6f6ea;color:#14602a}.tm-err{background:#fdeaea;color:#8a1c1c}
.tm-ok-txt{color:#14602a;font-weight:700}
.tm-pay-info{background:#fff8d6;border-inline-start:4px solid #ffd700;padding:12px;border-radius:8px;margin-bottom:14px}
.tm-list{list-style:none;margin:0;padding:0}
.tm-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eee;flex-wrap:wrap}
.tm-list form{display:inline}
.tm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.tm-card{display:block;background:#fff;border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.08);text-decoration:none;color:#1a2332}
.tm-room{width:100%;height:560px;border:0;border-radius:12px;margin-top:16px;background:#000}
.tm-hero{background:linear-gradient(135deg,#1a2332,#2c3e50);color:#fff;text-align:center;padding:70px 20px 100px;border-radius:0 0 24px 24px}
.tm-hero h1{font-size:2.6rem;font-weight:800;color:#fff}
.tm-offer{text-align:center;margin-top:-60px;position:relative}
.tm-badge{background:#ff4757;color:#fff;padding:6px 18px;border-radius:50px;font-weight:700;font-size:.85rem}
.tm-price{font-size:3rem;font-weight:800;color:#1a2332}.tm-price small{font-size:1.1rem;color:#6c757d}
.tm-offer ul{list-style:none;padding:0;margin:16px 0 24px}
@media(max-width:768px){.tm-hero h1{font-size:1.8rem}.tm-room{height:420px}}
