/* Reset */
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#f5f5f5;color:#333;}
a{text-decoration:none;color:inherit;}

/* Sidebar */
.sidebar{position:fixed;left:0;top:0;width:200px;height:100vh;background:#fff;border-right:1px solid #e5e5e5;z-index:100;overflow-y:auto;padding-top:10px;}
.sidebar-logo{padding:10px 16px 16px;font-size:22px;font-weight:bold;color:#2563eb;}
.logo-text{color:#2563eb;}
.sidebar-nav{display:flex;flex-direction:column;}
.sidebar-item{padding:8px 16px;font-size:13px;color:#555;display:flex;align-items:center;gap:10px;transition:background .4s;}
.sidebar-item:hover{background:#f0f4ff;color:#2563eb;}
.sidebar-item.active{color:#2563eb;font-weight:600;}
.sidebar-item i{width:18px;text-align:center;font-size:14px;}
.sidebar-divider{border:none;border-top:1px solid #eee;margin:6px 16px;}
.badge-new{background:#ff4d4f;color:#fff;font-size:10px;padding:1px 5px;border-radius:8px;margin-left:4px;}

/* Top Header */
.top-header{position:fixed;top:0;left:200px;right:0;height:44px;background:#fff;border-bottom:1px solid #e5e5e5;display:flex;align-items:center;justify-content:flex-end;padding:0 24px;z-index:99;}
.header-right{display:flex;align-items:center;gap:20px;font-size:13px;color:#555;}
.header-item{cursor:pointer;}
.header-item:hover{color:#2563eb;}
.btn-signin{background:#2563eb;color:#fff;border:none;padding:6px 16px;border-radius:4px;font-size:13px;cursor:pointer;}
.btn-signin:hover{background:#1d4ed8;}

/* Main Content */
.main-content{margin-left:200px;margin-top:44px;padding:0;}

/* Hero Banner */
.hero-banner{background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 50%,#3b82f6 100%);padding:40px 40px 30px;position:relative;}
.hero-overlay{text-align:center;color:#fff;margin-bottom:24px;}
.hero-overlay h1{font-size:28px;font-weight:600;margin-bottom:8px;}
.hero-badges{display:flex;justify-content:center;gap:24px;font-size:13px;opacity:.85;}
.hero-badges span{display:flex;align-items:center;gap:6px;}

/* Booking Tabs */
.booking-tabs{display:flex;justify-content:center;gap:4px;margin-bottom:16px;}
.tab-btn{background:rgba(255,255,255,.15);color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .4s;}
.tab-btn:hover{background:rgba(255,255,255,.25);}
.tab-btn.active{background:#fff;color:#1e3a8a;font-weight:600;}

/* Search Box */
.search-box{background:#fff;border-radius:12px;padding:20px 24px;max-width:820px;margin:0 auto;box-shadow:0 4px 20px rgba(0,0,0,.15);}
.search-fields{display:flex;align-items:flex-end;gap:8px;}
.field-group{flex:1;display:flex;flex-direction:column;gap:4px;}
.field-group label{font-size:11px;color:#888;font-weight:500;}
.station-select,.date-input{border:1px solid #ddd;border-radius:6px;padding:10px 12px;font-size:14px;font-weight:600;color:#333;outline:none;width:100%;}
.station-select:focus,.date-input:focus{border-color:#2563eb;}
.swap-btn{width:36px;height:36px;border-radius:50%;border:1px solid #ddd;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#2563eb;flex-shrink:0;margin-bottom:2px;}
.swap-btn:hover{background:#f0f4ff;}
.search-btn{background:#2563eb;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px;}
.search-btn:hover{background:#1d4ed8;}
.search-options{margin-top:10px;font-size:13px;color:#666;}
.search-options input{margin-right:4px;}

/* Trustpilot Bar */
.trustpilot-bar{padding:14px 40px;display:flex;align-items:center;gap:10px;font-size:13px;color:#555;background:#fff;border-bottom:1px solid #eee;}
.tp-label{font-weight:600;color:#00b67a;}
.tp-stars{color:#00b67a;font-size:16px;}
.star.filled{color:#00b67a;}
.star.half{color:#00b67a;opacity:.5;}
.tp-brand{margin-left:4px;color:#00b67a;font-weight:600;}
.trustpilot-bar a{color:#2563eb;text-decoration:underline;}

/* Promo Section */
.promo-section{padding:24px 40px;}
.promo-section h2{font-size:20px;font-weight:700;margin-bottom:16px;}
.promo-cards{display:flex;gap:12px;}
.promo-card{background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:16px;flex:1;display:flex;flex-direction:column;justify-content:space-between;min-height:100px;}
.promo-main{background:linear-gradient(135deg,#dbeafe,#eff6ff);flex-direction:row;align-items:center;}
.promo-content{flex:1;}
.promo-title{font-size:13px;font-weight:600;margin-bottom:10px;}
.promo-icon{font-size:40px;}
.promo-discount{font-size:22px;font-weight:700;color:#2563eb;}
.promo-label{font-size:12px;color:#888;margin-top:4px;}
.promo-btn{border:none;padding:6px 14px;border-radius:4px;font-size:12px;cursor:pointer;margin-top:auto;}
.promo-btn.blue{background:#2563eb;color:#fff;}
.promo-btn.orange{background:#f97316;color:#fff;}

/* Deals Banner */
.deals-banner{padding:0 40px 24px;display:flex;gap:12px;}
.deal-card{background:#1e3a5f;border-radius:12px;padding:20px 24px;color:#fff;flex:1;display:flex;align-items:center;justify-content:space-between;min-height:100px;}
.deal-striking{background:linear-gradient(135deg,#1e3a5f,#2d5a8a);}
.deal-badge{font-size:10px;background:rgba(255,255,255,.2);padding:2px 8px;border-radius:10px;}
.deal-text h3{font-size:16px;margin:6px 0;}
.deal-text p{font-size:12px;opacity:.8;}
.deal-btn{background:#2563eb;color:#fff;border:none;padding:6px 14px;border-radius:16px;font-size:12px;cursor:pointer;margin-top:8px;}
.deal-img{font-size:40px;}

/* Inspired Section */
.inspired-section{padding:0 40px 24px;}
.inspired-section h2{font-size:20px;font-weight:700;margin-bottom:16px;}
.inspired-cards{display:flex;gap:12px;}
.inspired-card{border-radius:12px;padding:16px;color:#fff;flex:1;min-height:100px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;cursor:pointer;}
.inspired-label{font-size:16px;font-weight:700;}
.inspired-badge{font-size:10px;background:rgba(0,0,0,.3);padding:2px 8px;border-radius:8px;align-self:flex-start;margin-bottom:6px;}

/* Places Section */
.places-section{padding:0 40px 40px;}
.places-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.places-header h2{font-size:20px;font-weight:700;}
.more-link{color:#2563eb;font-size:13px;}
.places-cards{display:flex;gap:12px;}
.place-card{flex:1;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);cursor:pointer;}
.place-img{height:160px;position:relative;display:flex;align-items:flex-start;justify-content:space-between;padding:10px;}
.trip-badge{background:#ffb800;color:#333;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;}
.place-fav{color:rgba(255,255,255,.6);font-size:18px;cursor:pointer;}
.place-name{padding:10px 12px;font-size:14px;font-weight:600;}

/* Chat Widget */
.chat-widget{position:fixed;bottom:24px;right:24px;z-index:200;}
.chat-icon{width:50px;height:50px;background:#2563eb;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;cursor:pointer;box-shadow:0 4px 12px rgba(37,99,235,.4);}
