.twm-general-place{max-width:1240px;margin:30px auto 80px;padding:0 20px;color:#172033}
.twm-general-place__actions{display:flex;justify-content:space-between;gap:10px;margin-bottom:18px}
.twm-general-place__actions a,.twm-general-place__actions button{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border:1.5px solid #172033;border-radius:999px;background:#fff;color:#172033;text-decoration:none;font-weight:800;cursor:pointer;transition:.2s}
.twm-general-place__actions a:hover,.twm-general-place__actions button:hover,.twm-general-place__actions button.is-on{background:#172033;color:#fff;transform:translateY(-1px);box-shadow:0 10px 25px #0f172a20}
.twm-general-hero{min-height:500px;display:flex;align-items:flex-end;overflow:hidden;padding:clamp(30px,6vw,72px);box-sizing:border-box;border-radius:30px;background:radial-gradient(circle at 75% 5%,color-mix(in srgb,var(--twm-accent),#fff 20%),transparent 38%),linear-gradient(135deg,#090d14,#253144);background-size:cover;background-position:center;color:#fff;box-shadow:0 28px 70px #0f172a2b}
.twm-general-hero__content{max-width:780px}
.twm-general-hero__category{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--twm-accent),#000 12%);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.twm-general-hero__category span,.twm-general-hero__category svg{width:18px;height:18px}
.twm-general-hero__category svg *{fill:currentColor;stroke:currentColor}
.twm-general-hero__logo{display:block;max-width:160px;max-height:70px;width:auto;height:auto;object-fit:contain;margin:22px 0 5px;filter:drop-shadow(0 5px 12px #0006)}
.twm-general-hero h1{max-width:950px;margin:16px 0 12px!important;color:#fff!important;font-size:clamp(44px,8vw,88px)!important;line-height:.98!important;letter-spacing:-.045em}
.twm-general-hero__location{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#e2e8f0;font-weight:750}
.twm-general-hero__location a{color:inherit;text-decoration:none;border-bottom:1px solid #fff6}
.twm-general-hero__location a:hover{color:#fff;border-color:#fff}
.twm-general-hero__rating{margin-top:12px;color:#fbbf24;font-size:20px;letter-spacing:3px}
.twm-general-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 48px}
.twm-general-kpis div{padding:18px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}
.twm-general-kpis small{display:block;color:#64748b;font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:850}
.twm-general-kpis strong{display:block;margin-top:6px;font-size:16px}
.twm-general-kpis a{color:inherit;text-decoration:none}
.twm-general-kpis a:hover{text-decoration:underline}
.twm-general-about{max-width:900px;margin:65px auto;padding:0 20px;text-align:center}
.twm-general-about>span,.twm-general-section__head>span{color:var(--twm-accent);font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:900}
.twm-general-about h2,.twm-general-section__head h2{margin:7px 0 20px;font-size:clamp(30px,5vw,50px);line-height:1.08}
.twm-general-about>div{color:#475569;font-size:18px;line-height:1.8}
.twm-general-section{margin:70px 0}
.twm-general-section__head{text-align:center;margin-bottom:24px}
.twm-general-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}
.twm-general-gallery a{grid-column:span 4;overflow:hidden;display:block;border-radius:18px;background:#111827;min-height:230px}
.twm-general-gallery a:nth-child(5n+1){grid-column:span 8}
.twm-general-gallery img,.twm-general-gallery video{width:100%;height:100%;min-height:230px;aspect-ratio:4/3;display:block;object-fit:cover;transition:transform .35s}
.twm-general-gallery a:hover img{transform:scale(1.025)}
.twm-general-gallery.is-single a{grid-column:1/-1;min-height:500px}
.twm-general-gallery.is-single img,.twm-general-gallery.is-single video{width:100%;max-height:760px;aspect-ratio:16/9}
.twm-general-location{display:grid;grid-template-columns:minmax(300px,.72fr) 1.28fr;min-height:470px;overflow:hidden;margin:70px 0;border:1px solid #e2e8f0;border-radius:26px;background:#fff;box-shadow:0 22px 55px #0f172a14}
.twm-general-address{padding:clamp(24px,4vw,46px);display:flex;gap:14px;align-items:flex-start}
.twm-general-address>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--twm-accent);color:#fff;font-size:18px}
.twm-general-address small{color:#64748b;text-transform:uppercase;letter-spacing:.1em;font-weight:850}
.twm-general-address h2{margin:10px 0;font-size:clamp(22px,3vw,34px);line-height:1.18}
.twm-general-address p{color:#64748b}
.twm-general-address code{display:block;margin-top:18px;color:#475569}
.twm-general-address nav{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}
.twm-general-address nav a{padding:8px 12px;border:1px solid #cbd5e1;border-radius:999px;color:#172033;text-decoration:none;font-weight:800;font-size:12px}
.twm-general-address nav a:hover{background:#172033;color:#fff}
.twm-general-location #twm-general-map{min-height:470px}
.twm-general-checkins{margin:80px 0 0;padding:clamp(22px,4vw,44px);border:1px solid #e2e8f0;border-radius:26px;background:linear-gradient(145deg,#fff,#f8fafc)}
.twm-general-checkin-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:800px;margin:0 auto 30px;padding:20px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}
.twm-general-checkin-form label{display:grid;gap:6px;color:#475569;font-size:12px;font-weight:800}
.twm-general-checkin-form .is-wide{grid-column:1/-1}
.twm-general-checkin-form input,.twm-general-checkin-form textarea{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:11px}
.twm-general-checkin-form button{grid-column:1/-1;justify-self:center;padding:12px 22px;border:1.5px solid var(--twm-accent);border-radius:999px;background:var(--twm-accent);color:#fff;font-weight:900;cursor:pointer;transition:.2s}
.twm-general-checkin-form button:hover{background:#fff;color:var(--twm-accent);transform:translateY(-2px);box-shadow:0 12px 28px #0f172a20}
.twm-general-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.twm-general-timeline article{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:15px;background:#fff}
.twm-general-timeline img{flex:0 0 58px;width:58px;height:58px;object-fit:cover;border-radius:10px}
.twm-general-timeline time{font-size:12px;font-weight:900;color:var(--twm-accent)}
.twm-general-timeline p{margin:5px 0 0;color:#475569}
.twm-general-login,.twm-checkin-success{max-width:760px;margin:0 auto 24px;padding:14px;border-radius:13px;text-align:center;background:#eef2f7;color:#475569}
.twm-checkin-success{background:#dcfce7;color:#166534}
@media(max-width:760px){.twm-general-place{padding:0 11px}
.twm-general-hero{min-height:450px;padding:28px;border-radius:22px}
.twm-general-kpis{grid-template-columns:1fr 1fr}
.twm-general-gallery a,.twm-general-gallery a:nth-child(5n+1){grid-column:1/-1}
.twm-general-gallery.is-single a{min-height:340px}
.twm-general-location{grid-template-columns:1fr}
.twm-general-location #twm-general-map{min-height:390px}
.twm-general-checkin-form{grid-template-columns:1fr}
.twm-general-checkin-form .is-wide,.twm-general-checkin-form button{grid-column:auto}
}
.twm-general-airport-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:17px 0}
.twm-general-airport-data>div{padding:10px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}
.twm-general-airport-data small,.twm-general-airport-data strong{display:block}
.twm-general-airport-data strong{margin-top:3px;font-size:13px;text-transform:capitalize}
