/* ============================================================
   Jetligo – Main CSS  (Inter font, Tailwind-inspired tokens)
   ============================================================ */

/* ── CSS Variables ─────────────────────────────────────────── */
:root {
  --color-primary:        #2563EB;
  --color-primary-hover:  #1D4ED8;
  --color-navy:           #0F172A;
  --color-navy-light:     #1E293B;
  --color-bg:             #F8FAFC;
  --color-surface:        #FFFFFF;
  --color-section:        #F1F5F9;
  --color-text:           #0F172A;
  --color-text-secondary: #475569;
  --color-muted:          #64748B;
  --color-light:          #94A3B8;
  --color-border:         #E2E8F0;
  --color-border-dark:    #CBD5E1;
  --color-disabled-bg:    #E5E7EB;
  --color-disabled-txt:   #9CA3AF;
  --color-success:        #16A34A;
  --color-warning:        #F59E0B;
  --color-danger:         #DC2626;
  --color-info:           #0EA5E9;
  --color-purple:         #7C3AED;

  --color-hero-start:     #0F172A;
  --color-hero-mid:       #1E3A8A;
  --color-hero-end:       #2563EB;

  --card-radius:          14px;
  --card-shadow:          0 4px 18px rgba(15,23,42,.06);
  --card-shadow-hover:    0 10px 30px rgba(15,23,42,.10);

  --input-border:         #CBD5E1;
  --input-focus:          #2563EB;
  --input-focus-shadow:   0 0 0 3px rgba(37,99,235,.15);

  --btn-radius:           8px;
  --transition:           .18s ease;

  --font-main:            'Inter', Arial, sans-serif;
  --container-max:        1280px;
  --container-pad:        clamp(16px, 4vw, 40px);
}

/* ── Reset ──────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-main);background:var(--color-bg);color:var(--color-text);line-height:1.6;font-size:15px}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--color-primary-hover)}
ul,ol{list-style:none}
button{cursor:pointer;font-family:inherit;border:none;background:none}
input,textarea,select{font-family:inherit}

/* ── Container ──────────────────────────────────────────────── */
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}

/* ── Buttons ────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--btn-radius);font-size:14px;font-weight:600;transition:all var(--transition);cursor:pointer;border:1.5px solid transparent;line-height:1}
.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}
.btn-secondary{background:#fff;color:var(--color-primary);border-color:#BFDBFE}
.btn-secondary:hover{background:#EFF6FF}
.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}
.btn-ghost:hover{background:var(--color-section)}
.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}
.btn-danger:hover{background:#B91C1C}
.btn-danger-outline{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}
.btn-danger-outline:hover{background:#FEE2E2}
.btn-sm{padding:7px 14px;font-size:13px}
.btn-lg{padding:14px 28px;font-size:16px}
.btn-search{padding:14px 32px;font-size:15px;width:100%;justify-content:center;margin-top:16px;border-radius:10px}
.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed}

/* ── Forms ──────────────────────────────────────────────────── */
.form-group{display:flex;flex-direction:column;gap:5px}
.form-group label{font-size:13px;font-weight:600;color:#334155}
.form-input{padding:10px 14px;border:1.5px solid var(--input-border);border-radius:8px;font-size:14px;background:#fff;color:var(--color-text);transition:border var(--transition),box-shadow var(--transition);width:100%}
.form-input:focus{outline:none;border-color:var(--input-focus);box-shadow:var(--input-focus-shadow)}
.form-input::placeholder{color:var(--color-light)}
.form-input[type="date"]{cursor:pointer}
.form-row{display:grid;gap:12px}
.form-row--2{grid-template-columns:repeat(2,1fr)}
.form-row--4{grid-template-columns:repeat(4,1fr)}
.form-group--wide{grid-column:span 2}
.form-row--options{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:4px 0}
.checkbox-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary);cursor:pointer}
.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}
.radio-label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}
.radio-label input[type=radio]{accent-color:var(--color-primary)}
.req{color:var(--color-danger)}

.input-with-icon{position:relative}
.field-icon{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--color-muted);pointer-events:none}
.input-with-icon .form-input{padding-left:36px}

/* Alerts */
.alert{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px;display:flex;align-items:flex-start;gap:8px}
.alert-success{background:#DCFCE7;color:#166534;border:1px solid #BBF7D0}
.alert-danger{background:#FEE2E2;color:#991B1B;border:1px solid #FECACA}
.alert-warning{background:#FEF3C7;color:#92400E;border:1px solid #FDE68A}
.alert-info{background:#DBEAFE;color:#1E40AF;border:1px solid #BFDBFE}
.alert ul{margin-left:16px;list-style:disc}

/* ── Header ─────────────────────────────────────────────────── */
.site-header{background:#fff;border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;box-shadow:0 1px 6px rgba(15,23,42,.04)}
.header-inner{display:flex;align-items:center;gap:24px;height:64px}
.header-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.logo-text{font-size:22px;font-weight:800;letter-spacing:-.5px}
.logo-jet{color:var(--color-navy)}
.logo-ligo{color:var(--color-primary)}

.header-nav{display:flex;align-items:center;gap:4px;flex:1}
.nav-item{padding:6px 12px;border-radius:6px;font-size:14px;font-weight:500;color:var(--color-text-secondary);transition:all var(--transition)}
.nav-item:hover,.nav-item.active{color:var(--color-primary);background:#EFF6FF}

.header-controls{display:flex;align-items:center;gap:8px;margin-left:auto}
.switcher-btn{display:flex;align-items:center;gap:5px;padding:6px 10px;border:1.5px solid var(--color-border);border-radius:6px;font-size:13px;font-weight:600;color:var(--color-text);background:#fff;transition:all var(--transition)}
.switcher-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}
.chevron{transition:transform var(--transition)}
.switcher-btn[aria-expanded=true] .chevron{transform:rotate(180deg)}
.lang-switcher,.currency-switcher{position:relative}
.switcher-dropdown{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.12);min-width:160px;padding:6px;z-index:200;display:none}
.switcher-dropdown.open{display:block}
.switcher-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;font-size:13px;color:var(--color-text);width:100%;text-align:left;transition:background var(--transition);border:none;background:none;cursor:pointer}
.switcher-option:hover,.switcher-option.selected{background:#EFF6FF;color:var(--color-primary)}
.flag{font-size:16px}
.currency-sym{font-weight:700;min-width:18px}

.hamburger-btn{display:none;flex-direction:column;gap:5px;padding:8px;border-radius:6px}
.hamburger-btn span{display:block;width:22px;height:2px;background:var(--color-text);border-radius:2px;transition:all var(--transition)}

/* ── Hero ───────────────────────────────────────────────────── */
.hero-section{background:linear-gradient(135deg,var(--color-hero-start) 0%,var(--color-hero-mid) 55%,var(--color-hero-end) 100%);padding:60px 0 0;position:relative;overflow:hidden}
.hero-section::before{content:'';position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60"><circle cx="30" cy="30" r="1" fill="rgba(255,255,255,.06)"/></svg>') repeat;pointer-events:none}
.hero-content{position:relative;z-index:1;text-align:center;padding-bottom:40px}
.hero-title{font-size:clamp(26px,4.5vw,46px);font-weight:800;color:#fff;line-height:1.2;margin-bottom:16px;letter-spacing:-.5px}
.hero-subtitle{font-size:clamp(14px,2vw,18px);color:rgba(255,255,255,.8);max-width:560px;margin:0 auto 36px}

/* ── Search Widget ──────────────────────────────────────────── */
.search-widget{background:#fff;border-radius:18px;box-shadow:0 16px 48px rgba(15,23,42,.18);padding:0;overflow:hidden;max-width:980px;margin:0 auto}
.search-tabs{display:flex;background:var(--color-section);padding:8px 8px 0;gap:4px;border-bottom:1px solid var(--color-border)}
.search-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px 8px 0 0;font-size:13px;font-weight:600;color:var(--color-muted);background:transparent;border:none;cursor:pointer;transition:all var(--transition);white-space:nowrap}
.search-tab:hover{color:var(--color-primary);background:rgba(37,99,235,.06)}
.search-tab.active{background:#fff;color:var(--color-primary);box-shadow:0 -2px 0 var(--color-primary) inset}
.tab-panel{padding:20px 24px 24px}
.tab-panel[hidden]{display:none}
.trip-type-row{display:flex;gap:16px;margin-bottom:16px}
.swap-group{display:flex;justify-content:center;align-items:flex-end;padding-bottom:2px}
.swap-btn{width:36px;height:36px;border-radius:50%;background:var(--color-section);border:1.5px solid var(--color-border);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}
.swap-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}

/* Pax Picker */
.pax-picker{position:relative}
.pax-display{display:flex;align-items:center;gap:6px;padding:10px 14px;border:1.5px solid var(--input-border);border-radius:8px;width:100%;font-size:14px;background:#fff;color:var(--color-text);cursor:pointer;transition:border var(--transition)}
.pax-display:hover,.pax-display:focus{border-color:var(--color-primary)}
.pax-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 24px rgba(15,23,42,.12);padding:16px;z-index:50;min-width:260px}
.pax-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border)}
.pax-row:last-of-type{border-bottom:none}
.pax-row > span{font-size:14px;font-weight:500;display:flex;flex-direction:column}
.pax-row > span small{font-size:12px;color:var(--color-muted);font-weight:400}
.pax-counter{display:flex;align-items:center;gap:10px}
.pax-counter button{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--color-border);background:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--color-text);transition:all var(--transition)}
.pax-counter button:hover{border-color:var(--color-primary);color:var(--color-primary)}
.pax-counter span{min-width:18px;text-align:center;font-weight:600;font-size:14px}
.pax-cabin{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}
.pax-cabin label{font-size:12px;font-weight:600;color:#334155;margin-bottom:4px;display:block}
.pax-done{margin-top:12px;width:100%;justify-content:center}

/* ── Results ─────────────────────────────────────────────────── */
.results-section{padding:40px 0}
.results-layout{display:grid;grid-template-columns:280px 1fr;gap:24px}
.results-sidebar{position:sticky;top:80px;height:fit-content}
.filter-panel{background:#fff;border-radius:var(--card-radius);border:1px solid var(--color-border);padding:20px}
.filter-panel h3{font-size:14px;font-weight:700;color:var(--color-navy);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}
.filter-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}
.filter-section:last-child{border:none;margin:0;padding:0}
.filter-section h4{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px}

/* Sort / Result count bar */
.results-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.result-count{font-size:14px;color:var(--color-text-secondary)}
.result-count strong{color:var(--color-navy);font-weight:700}
.sort-tabs{display:flex;gap:4px}
.sort-btn{padding:6px 12px;border-radius:6px;border:1.5px solid var(--color-border);background:#fff;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition)}
.sort-btn.active,.sort-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#EFF6FF}

/* Result card */
.result-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--card-radius);padding:20px;margin-bottom:12px;box-shadow:var(--card-shadow);transition:box-shadow var(--transition),border-color var(--transition);display:grid;align-items:center;gap:16px}
.result-card:hover{box-shadow:var(--card-shadow-hover);border-color:var(--color-border-dark)}
.result-card.flight-card{grid-template-columns:1fr 2fr 1fr auto}
.result-card.hotel-card{grid-template-columns:140px 1fr 200px}
.result-card.transport-card{grid-template-columns:1fr 2fr 1fr auto}

.airline-logo{width:48px;height:48px;object-fit:contain;border-radius:8px;border:1px solid var(--color-border);background:#fff;padding:4px}
.airline-logo-placeholder{width:48px;height:48px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-section);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--color-muted)}
.airline-name{font-size:12px;color:var(--color-muted);margin-top:4px;text-align:center}

.flight-route{display:flex;align-items:center;gap:12px}
.route-end{text-align:center}
.route-time{font-size:22px;font-weight:700;color:var(--color-navy)}
.route-airport{font-size:12px;color:var(--color-muted)}
.route-middle{flex:1;text-align:center}
.route-duration{font-size:12px;font-weight:600;color:var(--color-text-secondary)}
.route-line{display:flex;align-items:center;gap:4px;margin:4px 0}
.route-line-bar{flex:1;height:2px;background:var(--color-border)}
.route-stops-dot{width:8px;height:8px;border-radius:50%;background:var(--color-warning);border:2px solid #fff;box-shadow:0 0 0 1px var(--color-warning)}
.stops-label{font-size:11px;color:var(--color-muted)}
.stop-cities{font-size:11px;color:var(--color-warning)}
.stops-label.direct{color:var(--color-success)}

.result-price-col{text-align:right}
.result-price{font-size:24px;font-weight:800;color:var(--color-navy)}
.result-price-note{font-size:12px;color:var(--color-muted)}
.result-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}

.badge-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}
.badge-green{background:#DCFCE7;color:#166534}
.badge-blue{background:#DBEAFE;color:#1E40AF}
.badge-gray{background:var(--color-section);color:var(--color-muted)}
.badge-orange{background:#FEF3C7;color:#92400E}

/* Compare checkbox on card */
.compare-checkbox-row{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--color-muted)}
.compare-checkbox-row input{accent-color:var(--color-primary)}

/* Hotel card specific */
.hotel-img{width:140px;height:110px;object-fit:cover;border-radius:10px}
.hotel-img-placeholder{width:140px;height:110px;border-radius:10px;background:var(--color-section);display:flex;align-items:center;justify-content:center;color:var(--color-border-dark)}
.hotel-stars{color:var(--color-warning);font-size:13px}
.hotel-rating{display:inline-flex;align-items:center;gap:4px;background:#1E40AF;color:#fff;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:700}
.hotel-reviews{font-size:11px;color:var(--color-muted)}

/* Skeleton loaders */
.skeleton{background:linear-gradient(90deg,#f0f4f8 25%,#e2e8f0 50%,#f0f4f8 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:6px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skeleton-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--card-radius);padding:20px;margin-bottom:12px}
.skeleton-line{height:14px;margin-bottom:8px}
.skeleton-line.w-60{width:60%}.skeleton-line.w-80{width:80%}.skeleton-line.w-40{width:40%}

/* Empty / Error states */
.empty-state,.error-state{text-align:center;padding:60px 20px;color:var(--color-muted)}
.empty-state svg,.error-state svg{margin:0 auto 16px}
.empty-state h2,.error-state h2{font-size:18px;font-weight:700;color:var(--color-text-secondary);margin-bottom:8px}
.empty-state p,.error-state p{font-size:14px;margin-bottom:20px}

/* Loading overlay */
.loading-overlay{text-align:center;padding:60px 20px}
.loading-spinner{width:44px;height:44px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 16px}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-messages{font-size:14px;color:var(--color-muted);min-height:22px}

/* ── USP Section ────────────────────────────────────────────── */
.usp-section{padding:52px 0;background:#fff;border-bottom:1px solid var(--color-border)}
.usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.usp-item{text-align:center;padding:24px 16px}
.usp-icon{color:var(--color-primary);margin:0 auto 14px}
.usp-item h3{font-size:15px;font-weight:700;color:var(--color-navy);margin-bottom:6px}
.usp-item p{font-size:13px;color:var(--color-text-secondary);line-height:1.6}

/* ── Sections ───────────────────────────────────────────────── */
.section-tours,.section-blog{padding:56px 0}
.section-tours{background:var(--color-bg)}
.section-blog{background:#fff}
.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:28px}
.section-title{font-size:clamp(20px,3vw,28px);font-weight:800;color:var(--color-navy)}
.section-see-all{font-size:14px;font-weight:600;color:var(--color-primary)}
.section-see-all:hover{color:var(--color-primary-hover)}

/* Tour cards */
.tour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tour-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--card-radius);overflow:hidden;box-shadow:var(--card-shadow);transition:box-shadow var(--transition),transform var(--transition)}
.tour-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}
.tour-card-img-link{display:block;position:relative}
.tour-card-img{width:100%;height:200px;object-fit:cover}
.tour-card-img--placeholder{width:100%;height:200px;background:var(--color-section);display:flex;align-items:center;justify-content:center;color:var(--color-border-dark)}
.tour-badge{position:absolute;top:10px;left:10px;background:var(--color-primary);color:#fff;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}
.tour-card-body{padding:16px}
.tour-dest{font-size:12px;color:var(--color-muted);display:flex;align-items:center;gap:4px;margin-bottom:6px}
.tour-card-title{font-size:16px;font-weight:700;color:var(--color-navy);margin-bottom:6px;line-height:1.3}
.tour-card-title a{color:inherit}
.tour-card-title a:hover{color:var(--color-primary)}
.tour-card-desc{font-size:13px;color:var(--color-text-secondary);margin-bottom:12px;line-height:1.5}
.tour-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.tour-duration{font-size:12px;font-weight:600;color:var(--color-muted);background:var(--color-section);padding:3px 8px;border-radius:4px}
.tour-price{text-align:right}
.tour-price-old{font-size:12px;color:var(--color-muted);text-decoration:line-through;display:block}
.tour-price-main{font-size:16px;font-weight:800;color:var(--color-primary)}

/* Blog cards */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.blog-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--card-radius);overflow:hidden;box-shadow:var(--card-shadow);transition:box-shadow var(--transition)}
.blog-card:hover{box-shadow:var(--card-shadow-hover)}
.blog-card-img{width:100%;height:180px;object-fit:cover}
.blog-card-body{padding:16px}
.blog-card-date{font-size:12px;color:var(--color-muted);display:block;margin-bottom:6px}
.blog-card-title{font-size:16px;font-weight:700;color:var(--color-navy);margin-bottom:8px;line-height:1.3}
.blog-card-title a{color:inherit}
.blog-card-title a:hover{color:var(--color-primary)}
.blog-card-excerpt{font-size:13px;color:var(--color-text-secondary);margin-bottom:10px;line-height:1.5}
.blog-read-more{font-size:13px;font-weight:600;color:var(--color-primary)}
.blog-read-more:hover{color:var(--color-primary-hover)}

/* ── Compare page ───────────────────────────────────────────── */
.compare-page{padding:40px 0}
.compare-empty{text-align:center;padding:80px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--color-muted)}
.compare-table-wrap{overflow-x:auto}
.compare-header-row{display:grid;gap:1px;background:var(--color-border)}
.compare-fields .compare-row{display:grid;gap:1px;background:var(--color-border)}
.compare-row > *{background:#fff;padding:12px 16px;font-size:14px}

/* ── Redirect page ──────────────────────────────────────────── */
.redirect-page{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:40px 0}
.redirect-container{max-width:480px;margin:0 auto;text-align:center}
.redirect-card{background:#fff;border-radius:20px;padding:48px 40px;box-shadow:0 8px 40px rgba(15,23,42,.10)}
.redirect-icon{margin-bottom:20px}
.redirect-title{font-size:22px;font-weight:800;color:var(--color-navy);margin-bottom:8px}
.redirect-provider{font-size:14px;color:var(--color-muted);margin-bottom:8px}
.redirect-desc{font-size:14px;color:var(--color-text-secondary);margin-bottom:24px}
.redirect-progress{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;margin-bottom:16px}
.redirect-progress-bar{height:100%;background:var(--color-primary);border-radius:2px;width:0}
.redirect-countdown{font-size:13px;color:var(--color-muted);margin-bottom:20px}
.redirect-back{margin-top:10px;color:var(--color-muted)}

/* ── Static pages ───────────────────────────────────────────── */
.static-page{padding:48px 0}
.page-header-inner{margin-bottom:32px}
.page-header-inner h1{font-size:clamp(22px,4vw,36px);font-weight:800;color:var(--color-navy)}
.page-cover{width:100%;max-height:300px;object-fit:cover;border-radius:12px;margin-bottom:24px}
.wysiwyg{font-size:15px;color:var(--color-text-secondary);line-height:1.8;max-width:800px}
.wysiwyg h2{font-size:20px;font-weight:700;color:var(--color-navy);margin:24px 0 12px}
.wysiwyg h3{font-size:17px;font-weight:700;color:var(--color-navy);margin:20px 0 8px}
.wysiwyg p{margin-bottom:14px}
.wysiwyg ul,.wysiwyg ol{margin:12px 0 12px 24px;list-style:disc}
.wysiwyg ol{list-style:decimal}
.wysiwyg a{color:var(--color-primary);text-decoration:underline}

/* ── Contact ────────────────────────────────────────────────── */
.contact-page{padding:48px 0}
.contact-layout{max-width:900px}
.contact-grid{display:grid;grid-template-columns:1fr 280px;gap:40px}
.contact-form{background:#fff;border:1px solid var(--color-border);border-radius:var(--card-radius);padding:28px;box-shadow:var(--card-shadow)}
.contact-info{background:#fff;border:1px solid var(--color-border);border-radius:var(--card-radius);padding:24px;box-shadow:var(--card-shadow);height:fit-content}
.contact-info-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border);font-size:14px;color:var(--color-text-secondary)}
.contact-info-item:last-child{border:none}
.contact-info-item a{color:var(--color-text-secondary)}
.contact-info-item a:hover{color:var(--color-primary)}

/* ── Error pages ────────────────────────────────────────────── */
.error-page{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:40px 0}
.error-container{text-align:center;max-width:440px;margin:0 auto}
.error-icon{margin:0 auto 20px}
.error-code{font-size:80px;font-weight:900;color:var(--color-border);line-height:1}
.error-title{font-size:22px;font-weight:700;color:var(--color-navy);margin-bottom:8px}
.error-desc{font-size:15px;color:var(--color-text-secondary);margin-bottom:28px}
.error-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ── Blog post ──────────────────────────────────────────────── */
.blog-post-page{padding:48px 0}
.blog-post-layout{max-width:760px;margin:0 auto}
.blog-post-cover{width:100%;height:320px;object-fit:cover;border-radius:12px;margin-bottom:28px}
.blog-post-meta{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--color-muted);margin-bottom:16px;flex-wrap:wrap}
.blog-post-title{font-size:clamp(22px,4vw,36px);font-weight:800;color:var(--color-navy);line-height:1.25;margin-bottom:20px}
.blog-post-content{font-size:16px;color:var(--color-text-secondary);line-height:1.85}

/* ── Tour detail ────────────────────────────────────────────── */
.tour-detail-page{padding:48px 0}
.tour-gallery{display:grid;grid-template-columns:2fr 1fr;gap:8px;border-radius:12px;overflow:hidden;margin-bottom:32px}
.tour-gallery img{width:100%;height:300px;object-fit:cover}
.tour-detail-layout{display:grid;grid-template-columns:1fr 300px;gap:32px}
.tour-info h1{font-size:clamp(22px,4vw,34px);font-weight:800;color:var(--color-navy);margin-bottom:12px}
.tour-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.tour-meta-item{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--color-text-secondary)}
.tour-price-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--card-radius);padding:24px;box-shadow:var(--card-shadow);position:sticky;top:80px}
.tour-price-card .tour-price-main{font-size:28px;font-weight:900;color:var(--color-primary);display:block;margin-bottom:4px}
.tour-features-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.tour-feature{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--color-text-secondary)}
.tour-feature svg{color:var(--color-success);flex-shrink:0}
.tour-days{margin-top:24px}
.tour-day{background:var(--color-section);border-radius:10px;padding:16px;margin-bottom:10px}
.tour-day-num{font-size:12px;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px}
.tour-day-title{font-size:15px;font-weight:700;color:var(--color-navy);margin-bottom:4px}
.tour-day-desc{font-size:13px;color:var(--color-text-secondary)}

/* ── Tour / Blog list pages ─────────────────────────────────── */
.page-header-inner{margin-bottom:32px}
.tour-list-page,.blog-page,.contact-page,.static-page{padding:48px 0}

/* ── Pagination ─────────────────────────────────────────────── */
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:32px}
.page-btn{padding:8px 14px;border:1.5px solid var(--color-border);border-radius:7px;font-size:13px;font-weight:600;color:var(--color-text-secondary);background:#fff;transition:all var(--transition)}
.page-btn:hover,.page-btn.active{border-color:var(--color-primary);color:var(--color-primary);background:#EFF6FF}

/* ── Ad zones ───────────────────────────────────────────────── */
.ad-zone{padding:12px 0}
.ad-block{background:var(--color-bg);border:1.5px dashed var(--color-border);border-radius:10px;overflow:hidden;position:relative}
.ad-label{position:absolute;top:4px;left:8px;font-size:10px;color:var(--color-muted);font-weight:600;letter-spacing:.4px;text-transform:uppercase;z-index:1}
.ad-inner{display:block;text-decoration:none}
.ad-image{width:100%;display:block}
.ad-text-block{padding:16px 20px;display:flex;align-items:center;gap:16px}
.ad-title{font-size:15px;font-weight:700;color:var(--color-navy)}
.ad-desc{font-size:13px;color:var(--color-text-secondary);flex:1}
.ad-block--placeholder{min-height:90px;display:flex;align-items:center;justify-content:center;opacity:.5}
.ad-placeholder-inner{font-size:12px;color:var(--color-muted)}

/* ── Cookie banner ──────────────────────────────────────────── */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--color-border);padding:16px;z-index:999;box-shadow:0 -4px 16px rgba(15,23,42,.08)}
.cookie-content{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:var(--container-max);margin:0 auto}
.cookie-content p{font-size:13px;color:var(--color-text-secondary);margin:0}
.cookie-actions{display:flex;gap:8px;flex-shrink:0}

/* ── Footer ─────────────────────────────────────────────────── */
.site-footer{background:var(--color-navy);color:var(--color-border);margin-top:auto}
.footer-top{padding:48px 0 32px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
.footer-brand .footer-logo .logo-jet{color:#fff}
.footer-brand .footer-logo .logo-ligo{color:#60a5fa}
.footer-tagline{font-size:13px;color:#94A3B8;margin-top:10px;line-height:1.6}
.footer-social{display:flex;gap:8px;margin-top:16px}
.social-link{width:32px;height:32px;border-radius:6px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:#CBD5E1;transition:all var(--transition)}
.social-link:hover{background:var(--color-primary);color:#fff}
.footer-heading{font-size:12px;font-weight:700;color:#e2e8f0;text-transform:uppercase;letter-spacing:.6px;margin-bottom:14px}
.footer-links{display:flex;flex-direction:column;gap:8px}
.footer-links li a,.footer-links li{font-size:13px;color:#94A3B8;transition:color var(--transition)}
.footer-links li a:hover{color:#fff}
.footer-contact-list li{font-size:13px;color:#94A3B8}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:16px 0}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.footer-copy,.footer-legal{font-size:12px;color:#64748B}
.footer-legal a{color:#64748B;transition:color var(--transition)}
.footer-legal a:hover{color:#94A3B8}
.sep{margin:0 6px;opacity:.4}

/* ── Page header ────────────────────────────────────────────── */
.page-header{padding:32px 0 0}

/* ── Autocomplete dropdown ──────────────────────────────────── */
.autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.12);z-index:300;max-height:260px;overflow-y:auto}
.autocomplete-item{padding:10px 14px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background var(--transition)}
.autocomplete-item:hover,.autocomplete-item.selected{background:#EFF6FF;color:var(--color-primary)}
.autocomplete-item .city{font-weight:600;color:var(--color-navy)}
.autocomplete-item .code{font-size:12px;font-weight:700;color:var(--color-primary);background:#EFF6FF;padding:2px 6px;border-radius:4px}
.autocomplete-item .country{font-size:12px;color:var(--color-muted)}

/* ── Mobile ─────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .results-layout{grid-template-columns:1fr}
  .results-sidebar{position:static;display:none}
  .results-sidebar.open{display:block}
  .usp-grid{grid-template-columns:repeat(2,1fr)}
  .tour-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .tour-detail-layout{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width: 768px) {
  .header-nav{display:none;position:fixed;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--color-border);flex-direction:column;padding:16px;gap:4px;z-index:99;box-shadow:0 4px 16px rgba(15,23,42,.1)}
  .header-nav.open{display:flex}
  .hamburger-btn{display:flex}
  .search-tabs{flex-wrap:wrap}
  .search-tab span{display:none}
  .form-row--4,.form-row--2{grid-template-columns:1fr}
  .form-group--wide{grid-column:span 1}
  .tour-grid,.blog-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .result-card.flight-card,.result-card.hotel-card,.result-card.transport-card{grid-template-columns:1fr}
  .hotel-img,.hotel-img-placeholder{width:100%;height:200px}
  .tour-gallery{grid-template-columns:1fr}
  .mobile-nav-overlay.open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:98}
  .filter-panel{border-radius:var(--card-radius)}
}
@media (max-width: 480px) {
  .hero-section{padding:40px 0 0}
  .tab-panel{padding:16px}
  .usp-grid{grid-template-columns:1fr}
  .search-tabs{gap:2px}
  .search-tab{padding:8px 10px;font-size:12px}
}
