body { padding-bottom: 60px; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; }
.header-brand { font-weight: 600; }
.container { max-width: 1100px; }

/* Top bar */
.top-bar { background: linear-gradient(180deg,#f5f8ff,#eef6ff); }
.brand-title { font-weight: 700; color: #0b3b6f; font-size: 20px; }
.brand-sub { font-size: 12px; color: #6b7b8a; }
.brand-img { height:48px; width:auto; margin-right:12px; border-radius:6px; }
.site-brand { text-decoration: none; color: inherit; display:flex; align-items:center; gap:12px; }

.site-header { border-bottom: 1px solid rgba(0,0,0,0.04); }
.nav-link { color: #154a91; text-decoration:none; }
.nav-link:hover { color:#0b3b6f; }

.site-footer { background: #0b2540; color: #e6eef8; }
.site-footer a { color: #e6eef8; text-decoration: none; }

/* Hero header */
.hero-header {
  background-image: url('/airline-ticket-system/assets/img/header-bg2.jpg');
  background-size: cover;
  background-position: center center;
  min-height: 320px;
  position: relative;
  display: flex;
  align-items: center;
  box-shadow: 0 8px 32px rgba(16,76,180,0.08);
}
.hero-header::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(6,45,86,0.36) 0%,rgba(6,45,86,0.18) 100%); z-index: 1; }
.hero-header .container { position: relative; z-index: 2; }
.hero-title { font-size: 32px; font-weight:700; color: #ffffff; text-shadow: 0 1px 2px rgba(0,0,0,0.2); }
.hero-sub { opacity: 0.95; }
.search-card { max-width:760px; margin: 0 auto; }
.search-card input.form-control { border-radius:8px; border:1px solid #e0e6ef; }
.btn-primary { background: linear-gradient(180deg,#1b6fe6,#155ED2); border-color:#155ED2; }

/* Search form styles */
.search-form { gap: 8px; }
.search-form .form-control { border-radius: 8px; padding: .6rem .75rem; }
.search-form .btn { min-width: 110px; border-radius: 8px; }

/* Compact variant: single input + button on the right for wide screens */
@media (min-width: 576px) {
  .search-form.compact { flex-direction: row; align-items: center; }
  .search-form.compact input[name="q"] { flex: 1 1 auto; }
}

/* Full variant: multiple inputs, stacked on small screens */
.search-form:not(.compact) input.form-control { min-width: 0; }

/* Smaller inputs for use in tables or headers */
.search-form-sm input.form-control { padding: .35rem .5rem; font-size: .9rem; }

/* Reduce spacing in header for compactness */
.site-header .container { padding-top: 12px; padding-bottom: 12px; }

/* Small screen adjustments */
@media (max-width: 576px) {
  .search-form { flex-direction: column; }
  .search-form .btn { width: 100%; }
}

@media (max-width: 768px) {
  .hero-title { font-size: 22px; }
  .search-card { padding:12px; }
  .brand-img { height:36px; }
}

/* --- Begin merged rules from index_extra.css --- */
/* Extracted page-specific styles from original index.htm */
/* Search box styles */
:root{--primary:#155ED2}
.sugestion ul li+li,
.sugestion ul+.suggest-item,
.sugestion .suggest-item+.suggest-item,
.sugestion ul.hidden+.items-center{border-top:1px dotted #BCBCBC}
.hot-place-search:nth-last-child(1){border:none}
.pb-\[8px\]{padding-bottom:8px!important}
.sugestion div:first-child{border-top-left-radius:12px;border-top-right-radius:12px}
.sugestion div:last-child+ul.hidden{border-bottom-left-radius:12px;border-bottom-right-radius:12px}
.ui-datepicker-calendar td span{position:relative}
.ui-datepicker-calendar td span[data-slot]::before{content:attr(data-slot);display:block;position:absolute;font-size:8px;font-weight:500;color:#BCBCBC;right:2px;top:-1px}
.err-msg:after{position:absolute;left:-1px;bottom:100%;padding:8px 10px;max-width:100%;border:1px solid #d9481b;opacity:1;background-color:#d9481b;color:#fff;font-size:12px;font-weight:400;white-space:normal;content:attr(data-error);z-index:100}
.err-msg:before{position:absolute;left:30px;top:0;border:9px solid transparent;border-top-color:#d9481b;content:'';z-index:10}
.ui-datepicker-multi .ui-datepicker-group table{width:100%}
.date-in-trip a{background:var(--Palette-01,#E5EFF7)!important;border-radius:0!important;font-weight:bold;color:#3264ff!important}
.ui-datepicker-inline .ui-state-default{width:100%;height:42px}
.ui-datepicker td{padding:2px 0}
.start-date-in-trip a,.ui-datepicker-current-day a{background:#3264ff!important;border:none!important;color:#fff!important;font-weight:bold!important}
.start-date-in-trip a{border-radius:4px 0 0 4px!important}
.date-in-trip.ui-datepicker-current-day a{border-radius:0 4px 4px 0!important}
.ui-datepicker-current-day.start-date-in-trip a{border-radius:4px!important}
.ui-state-disabled.ui-datepicker-today span{background:inherit!important}
.search-box [type='radio']:checked{border-color:rgb(209 213 219 / var(--tw-border-opacity))}
.search-box [type='radio']:hover,.search-box .items-center label:hover{cursor:pointer}
.border-1{border-width:1px!important}
.search-box .border-\[\#E1E1EA\]:hover{--tw-border-opacity:1;border-color:#475569}
.xl\:py-\[9px\]{padding-bottom:9px!important}
.xl\:py-\[17px\]{padding-bottom:17px!important}

/* deal block styles */
.deal-block{max-width:960px;margin:40px auto;position:relative;padding:20px 0;overflow:visible}
.swiper-slide{background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,0.1);overflow:hidden;transition:transform 0.3s}
.swiper-slide:hover{transform:translateY(-5px)}
.deal-item-image img{width:100%;height:180px;object-fit:cover;border-bottom:1px solid #eee}
.deal-item-content{padding:15px;font-family:Arial,sans-serif}
.deal-item-content--date{font-size:14px;color:#888;margin-bottom:8px}
.deal-item-content-row{display:flex;justify-content:space-between;margin-bottom:5px}
.deal-item-content-label{font-weight:bold;color:var(--primary)}
.deal-item-price{margin-top:10px;font-size:16px;font-weight:bold;color:#e53935}
.deal-item-tag{position:absolute;top:10px;left:10px;background:var(--primary);color:#fff;padding:5px 10px;font-size:12px;border-radius:4px;text-transform:uppercase}
.custom-swiper-button-prev,.custom-swiper-button-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.95);padding:14px;border-radius:50%;box-shadow:0 0 6px rgba(0,0,0,0.2);z-index:10;cursor:pointer}
.custom-swiper-button-prev{left:-25px}
.custom-swiper-button-next{right:-25px}
@media (max-width:768px){.custom-swiper-button-prev{left:0}.custom-swiper-button-next{right:0}.deal-item-image img{height:150px}.deal-item-content{padding:12px}}
@media screen and (max-width:767px){.deal-item-big .deal-item-image{position:absolute;top:0;left:40px;width:150px;height:116px;border-radius:8px;padding:8px 6px}.deal-item-big .deal-item-content{bottom:6px;right:8px;right:40px}}

/* short flight/news styles */
.service-item{margin-bottom:20px}
.service-item-image img{min-height:205px}
.service-item-title{font-size:20px;font-weight:700;color:#222;padding:0 8px}
.service-item-des{font-size:14px;font-weight:400;color:#666;padding:5px}

/* visa-service small rules */
.visa-service-item-content{min-height:100px}
@media (min-width:768px){.visa-service-item-content{min-height:120px}}
.visa-service-item-content a{position:absolute;bottom:16px;right:16px;margin-bottom:0!important}

/* small responsive helpers */
.partner-logo-item img{max-height:48px}
/* --- End merged rules from index_extra.css --- */