/* Listing pages: /firsatlar, /havayollari, /havayolu/*, /rotalar. One header, one filter bar, homepage cards. */
.lp-page { min-width:0; min-height:70vh; overflow-x:clip; padding-top:var(--header-height); background:linear-gradient(180deg,#f2f7ff 0,var(--public-soft) 26rem); color:var(--public-text); }
[data-theme=dark] .lp-page { background:linear-gradient(180deg,#0c1626 0,var(--public-soft) 26rem); }
/* Same content width as the homepage (home-discovery.css), so wide screens are not left half empty. */
.lp-page .container { max-width:1440px; padding-inline:28px; }

/* Header */
.lp-hero { position:relative; overflow:hidden; color:#fff; background:linear-gradient(118deg,#061a45 0%,#0b4fc2 56%,#1d9bf0 100%); }
.lp-hero--violet { background:linear-gradient(118deg,#1a1150 0%,#3d33c9 55%,#2f8cf5 100%); }
.lp-hero--teal { background:linear-gradient(118deg,#052a3f 0%,#086ea8 55%,#18b3c7 100%); }
[data-theme=dark] .lp-hero { filter:saturate(.9) brightness(.86); }
.lp-hero::before { content:""; position:absolute; inset:0; opacity:.2; pointer-events:none; background-image:radial-gradient(circle at 82% 18%,rgb(255 255 255 / .28),transparent 20%),linear-gradient(120deg,transparent 44%,rgb(255 255 255 / .14) 44.2%,transparent 44.6%),radial-gradient(rgb(255 255 255 / .5) 1px,transparent 1.5px); background-size:auto,auto,22px 22px; }
.lp-hero::after { content:""; position:absolute; width:26rem; height:26rem; right:-9rem; top:-13rem; border:4.5rem solid rgb(255 255 255 / .07); border-radius:50%; pointer-events:none; }
.lp-hero__inner { position:relative; z-index:1; min-width:0; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(19rem,.7fr); gap:2.5rem; align-items:center; padding-top:1.1rem; padding-bottom:4.6rem; }
.lp-hero__copy { min-width:0; }
.lp-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin-bottom:1.1rem; font-size:.8rem; color:rgb(255 255 255 / .72); }
.lp-breadcrumb a { color:#fff; text-decoration:none; font-weight:650; }
.lp-breadcrumb a:hover { text-decoration:underline; }
.lp-breadcrumb i { font-size:.55rem; opacity:.7; }
.lp-eyebrow { display:inline-flex; align-items:center; gap:.5rem; margin-bottom:.8rem; padding:.32rem .7rem; border-radius:999px; background:rgb(255 255 255 / .12); border:1px solid rgb(255 255 255 / .2); font-size:.74rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.lp-hero h1 { margin:0 0 .7rem; max-width:780px; color:#fff; font-size:clamp(1.8rem,3.2vw,2.8rem); line-height:1.05; letter-spacing:-.03em; }
.lp-hero h1 span { display:block; color:#a9e0ff; }
.lp-hero p { max-width:640px; margin:0; color:rgb(255 255 255 / .86); font-size:clamp(.98rem,1.8vw,1.12rem); line-height:1.55; }
.lp-hero__highlights { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.15rem; }
.lp-hero__highlights span { display:inline-flex; align-items:center; gap:.42rem; padding:.42rem .65rem; border:1px solid rgb(255 255 255 / .18); border-radius:999px; background:rgb(0 20 62 / .2); color:rgb(255 255 255 / .92); font-size:.75rem; font-weight:750; }
.lp-hero__panel { min-width:0; box-sizing:border-box; padding:1.15rem; border:1px solid rgb(255 255 255 / .24); border-radius:1.25rem; background:linear-gradient(145deg,rgb(2 24 70 / .5),rgb(8 74 168 / .3)); box-shadow:0 24px 55px rgb(1 18 55 / .22); backdrop-filter:blur(10px); }
.lp-hero__panel-label { display:flex; align-items:center; gap:.45rem; margin-bottom:.75rem; color:#a9dcff; font-size:.68rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.lp-hero__panel-label::before { content:""; width:.5rem; height:.5rem; border-radius:50%; background:#4ade80; box-shadow:0 0 0 4px rgb(74 222 128 / .2); }
.lp-hero__stats { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin:0; }
.lp-hero__stats div { min-width:0; padding:.75rem .8rem; border-radius:.9rem; background:rgb(255 255 255 / .1); display:flex; flex-direction:column-reverse; }
.lp-hero__stats dt { margin-top:.3rem; font-size:.7rem; color:rgb(255 255 255 / .78); }
.lp-hero__stats dd { margin:0; font-size:clamp(1.15rem,1.9vw,1.55rem); font-weight:800; line-height:1.1; white-space:nowrap; }
.lp-hero__stats dd small { display:block; margin-top:.2rem; font-size:.68rem; font-weight:650; color:rgb(255 255 255 / .72); white-space:normal; }
.lp-hero__panel > p { display:flex; gap:.45rem; align-items:center; margin-top:.75rem; font-size:.72rem; color:rgb(255 255 255 / .8); }
.lp-hero__art { position:absolute; right:2%; bottom:-1.2rem; font-size:9rem; color:rgb(255 255 255 / .06); transform:rotate(-12deg); pointer-events:none; }
.lp-hero__logos { position:absolute; right:1.5rem; bottom:.6rem; display:flex; gap:.4rem; opacity:.95; }
.lp-hero__logos span { display:grid; place-items:center; width:2.4rem; height:2.4rem; border-radius:.7rem; background:#fff; box-shadow:0 6px 16px rgb(0 0 0 / .18); }
.lp-hero__logos img { width:1.8rem; height:1.8rem; object-fit:contain; }

/* Body */
.lp-body { padding-top:1.5rem; padding-bottom:3.5rem; }
.lp-summary { margin:0 0 1rem; color:var(--public-muted); font-size:.92rem; line-height:1.55; }
.lp-summary strong { color:var(--public-text); }
.lp-summary--panel { margin-top:1rem; }
.lp-note { margin-top:1.5rem; font-size:.82rem; }
.lp-toolbar .lp-quick { margin:0; }
.lp-toolbar .lp-field { min-width:11rem; }
.lp-sort { display:flex; align-items:end; gap:.5rem; }
.lp-quick { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.lp-chip { display:inline-flex; align-items:center; gap:.4rem; min-height:38px; padding:.4rem .85rem; border:1px solid var(--public-line); border-radius:999px; background:var(--public-surface); color:var(--public-text); font-size:.85rem; font-weight:650; text-decoration:none; cursor:pointer; font-family:inherit; }
.lp-chip:hover { border-color:var(--public-accent); color:var(--public-accent); }
.lp-chip[aria-current=page], .lp-chip[aria-pressed=true] { background:#2457db; border-color:#2457db; color:#fff; }
.lp-chip--soft { color:var(--public-accent); }
.lp-facets a { display:inline-flex; align-items:center; min-height:34px; padding:.3rem .8rem; border:1px dashed var(--public-line); border-radius:999px; color:var(--public-accent); font-size:.82rem; font-weight:700; text-decoration:none; }
.lp-facets a:hover { border-style:solid; border-color:var(--public-accent); }

/* Filter bar */
.lp-overlap { position:relative; margin-top:-3.2rem; }
.lp-filters { position:relative; margin:-3.2rem 0 1.2rem; padding:1rem; border:1px solid var(--public-line); border-radius:1.1rem; background:var(--public-surface); box-shadow:0 18px 40px rgb(16 42 92 / .1); }
.lp-filters summary { display:none; }
.lp-filters__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.75rem; }
.lp-field { display:flex; flex-direction:column; gap:.3rem; min-width:0; }
.lp-field label { font-size:.74rem; font-weight:750; color:var(--public-muted); }
.lp-field select, .lp-field input { width:100%; min-height:44px; box-sizing:border-box; padding:.55rem .75rem; border:1px solid var(--public-line); border-radius:.7rem; background:var(--public-soft); color:var(--public-text); font:inherit; font-size:.92rem; }
.lp-field select:focus, .lp-field input:focus { border-color:var(--public-accent); outline:none; box-shadow:0 0 0 3px rgb(36 87 219 / .15); }
.lp-filters__actions { display:flex; align-items:end; gap:.6rem; }
.lp-filters__actions .lp-btn { flex:1; }
.lp-btn { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; min-height:44px; padding:.55rem 1.1rem; border:0; border-radius:.75rem; background:#2457db; color:#fff; font:inherit; font-weight:750; text-decoration:none; cursor:pointer; white-space:nowrap; }
.lp-btn:hover { background:#1b45b3; }
.lp-btn--ghost { background:transparent; color:var(--public-accent); border:1px solid var(--public-line); }
.lp-btn--ghost:hover { background:var(--public-soft); }
.lp-active { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin-top:.85rem; padding-top:.85rem; border-top:1px dashed var(--public-line); font-size:.82rem; color:var(--public-muted); }
.lp-active a { display:inline-flex; align-items:center; gap:.35rem; padding:.28rem .6rem; border-radius:999px; background:rgb(36 87 219 / .1); color:var(--public-accent); font-weight:700; text-decoration:none; }
.lp-active a:hover { background:rgb(36 87 219 / .18); }
.lp-active a.lp-active__clear { background:transparent; text-decoration:underline; }

/* Toolbar above the grid */
.lp-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin:1.1rem 0 1rem; }
.lp-toolbar h2 { margin:0; font-size:1.35rem; color:var(--public-text); }
.lp-toolbar p { margin:.2rem 0 0; font-size:.84rem; color:var(--public-muted); }
.lp-toolbar__end { display:flex; align-items:center; gap:.6rem; }

/* Sidebar layout (airlines) */
.lp-split { display:grid; grid-template-columns:minmax(0,360px) minmax(0,1fr); gap:1.5rem; align-items:start; }
.lp-split #dealsGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.lp-split #dealsGrid.deals-compact { grid-template-columns:minmax(0,1fr); }
.lp-side { position:sticky; top:calc(var(--header-height) + 1rem); max-height:calc(100vh - var(--header-height) - 2rem); overflow:auto; padding:.6rem; border:1px solid var(--public-line); border-radius:1.1rem; background:var(--public-surface); }
.lp-side h2 { margin:.4rem .5rem .7rem; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--public-muted); }
.lp-side ol { position:relative; margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:.2rem; }
.lp-airline { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:.65rem; padding:.55rem .6rem; border-radius:.8rem; color:var(--public-text); text-decoration:none; border:1px solid transparent; }
.lp-airline:hover { background:var(--public-soft); }
.lp-airline[aria-current=page] { background:rgb(36 87 219 / .1); border-color:rgb(36 87 219 / .35); }
.lp-airline__logo { display:grid; place-items:center; width:40px; height:40px; border-radius:.7rem; background:#fff; border:1px solid var(--public-line); overflow:hidden; font-weight:800; font-size:.8rem; color:#2457db; }
.lp-airline__logo img { width:32px; height:32px; object-fit:contain; }
/* Long names ("AZAL (Azerbaycan Hava Yolları)") wrap to two lines instead of being cut. */
.lp-airline__name { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-weight:750; font-size:.92rem; line-height:1.25; overflow-wrap:anywhere; }
.lp-airline__meta { display:block; font-size:.74rem; color:var(--public-muted); }
.lp-airline__price { font-size:.82rem; font-weight:800; color:var(--public-accent); white-space:nowrap; }
.lp-airline--all .lp-airline__logo { background:#2457db; color:#fff; border-color:#2457db; }
.lp-badge { display:inline-flex; align-items:center; gap:.3rem; padding:.16rem .5rem; border-radius:999px; font-size:.68rem; font-weight:800; background:#fef3c7; color:#92400e; }
.lp-badge--legacy { background:#e0e7ff; color:#3730a3; }
[data-theme=dark] .lp-badge { background:#4a3a12; color:#fde68a; }
[data-theme=dark] .lp-badge--legacy { background:#262d5c; color:#c7d2fe; }

/* Airline panel */
.lp-panel-head { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; padding:1.1rem 1.2rem; border:1px solid var(--public-line); border-radius:1.1rem; background:var(--public-surface); }
.lp-panel-head .lp-airline__logo { width:64px; height:64px; border-radius:1rem; }
.lp-panel-head .lp-airline__logo img { width:52px; height:52px; }
.lp-panel-head h2 { margin:0; font-size:1.45rem; color:var(--public-text); }
.lp-panel-head p { margin:.25rem 0 0; color:var(--public-muted); font-size:.86rem; }
.lp-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.6rem; margin:.9rem 0; }
.lp-kpis div { padding:.8rem .9rem; border:1px solid var(--public-line); border-radius:.9rem; background:var(--public-surface); }
.lp-kpis strong { display:block; font-size:1.35rem; line-height:1.1; color:var(--public-text); }
.lp-kpis span { font-size:.74rem; color:var(--public-muted); }
.lp-section-title { margin:1.6rem 0 .75rem; font-size:1.1rem; color:var(--public-text); }
.lp-links { display:flex; flex-wrap:wrap; gap:.45rem; }
.lp-links a { padding:.35rem .75rem; border:1px solid var(--public-line); border-radius:999px; background:var(--public-surface); color:var(--public-accent); font-size:.84rem; font-weight:650; text-decoration:none; }
.lp-links a:hover { border-color:var(--public-accent); }

/* Comparison table */
.lp-table-wrap { overflow-x:auto; border:1px solid var(--public-line); border-radius:1rem; background:var(--public-surface); }
.lp-table { width:100%; border-collapse:collapse; font-size:.88rem; }
.lp-table caption { padding:.8rem 1rem 0; text-align:left; font-size:.78rem; color:var(--public-muted); }
.lp-table th, .lp-table td { padding:.7rem 1rem; text-align:left; border-bottom:1px solid var(--public-line); white-space:nowrap; }
.lp-table thead th { font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--public-muted); }
.lp-table tbody tr:last-child td, .lp-table tbody tr:last-child th { border-bottom:0; }
.lp-table a { color:var(--public-text); font-weight:750; text-decoration:none; }
.lp-table a:hover { color:var(--public-accent); }
.lp-table td.lp-num { font-variant-numeric:tabular-nums; }

/* Pagination + empty state */
.lp-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:.4rem; margin:2rem 0 0; }
.lp-pagination a, .lp-pagination span { display:inline-grid; place-items:center; min-width:42px; min-height:42px; padding:0 .6rem; border:1px solid var(--public-line); border-radius:.75rem; background:var(--public-surface); color:var(--public-text); font-weight:700; text-decoration:none; }
.lp-pagination span { border:0; background:transparent; }
/* Author display rules beat the [hidden] attribute; offer-actions.js and the logo onerror rely on it. */
.lp-pagination[hidden], .lp-hero__logos span[hidden] { display:none; }
.lp-pagination a:hover { border-color:var(--public-accent); color:var(--public-accent); }
.lp-pagination a[aria-current=page] { background:#2457db; border-color:#2457db; color:#fff; }
.lp-empty { padding:2.5rem 1.5rem; border:1px dashed var(--public-line); border-radius:1.1rem; background:var(--public-surface); text-align:center; color:var(--public-muted); }
.lp-empty i { font-size:2rem; color:var(--public-accent); }
.lp-empty h3 { margin:.8rem 0 .4rem; color:var(--public-text); }
.lp-empty .lp-quick { justify-content:center; margin:1rem 0 0; }


@media (max-width:1100px) {
  .lp-filters__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .lp-filters__actions { grid-column:span 2; }
  .lp-split { grid-template-columns:minmax(0,290px) minmax(0,1fr); }
  .lp-split #dealsGrid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:860px) {
  .lp-hero__inner { grid-template-columns:1fr; gap:1.2rem; padding-bottom:4.4rem; }
  .lp-hero__art, .lp-hero__logos { display:none; }
  .lp-split { grid-template-columns:minmax(0,1fr); }
  .lp-split #dealsGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lp-side { position:static; max-height:none; overflow:visible; padding:0; border:0; background:transparent; }
  .lp-side h2 { display:none; }
  .lp-side ol { flex-direction:row; overflow-x:auto; gap:.45rem; padding-bottom:.4rem; scroll-snap-type:x proximity; scrollbar-width:thin; }
  .lp-side li { flex:0 0 auto; scroll-snap-align:start; }
  .lp-airline { grid-template-columns:32px auto; padding:.4rem .7rem .4rem .45rem; border:1px solid var(--public-line); border-radius:999px; background:var(--public-surface); }
  .lp-airline__logo { width:32px; height:32px; border-radius:50%; }
  .lp-airline__logo img { width:24px; height:24px; }
  .lp-airline__meta, .lp-airline__price { display:none; }
  .lp-airline__name { display:block; white-space:nowrap; }
  .lp-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:768px) {
  .lp-page .container { padding-inline:16px; }
  .lp-page { padding-top:var(--header-height-mobile); }
  .lp-filters { margin-top:-3.6rem; padding:.4rem; }
  .lp-overlap { margin-top:-3.6rem; }
  .lp-filters summary { display:flex; align-items:center; justify-content:space-between; gap:.6rem; min-height:44px; padding:.35rem .6rem; font-weight:750; cursor:pointer; list-style:none; }
  .lp-filters summary::-webkit-details-marker { display:none; }
  .lp-filters summary .lp-count { padding:.1rem .5rem; border-radius:999px; background:#2457db; color:#fff; font-size:.75rem; }
  .lp-filters__body { padding:.6rem; }
  .lp-filters__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lp-filters__actions { grid-column:1/-1; }
  .lp-filters__actions .lp-btn { flex:1; }
}
@media (max-width:560px) {
  /* Phones: the header stays under one screen so the first cards are reachable quickly. */
  .lp-hero__inner { gap:.9rem; padding-top:.9rem; }
  .lp-breadcrumb { margin-bottom:.7rem; }
  .lp-eyebrow, .lp-hero__highlights, .lp-hero__panel-label, .lp-hero__panel > p { display:none; }
  .lp-hero h1 { font-size:1.65rem; overflow-wrap:anywhere; }
  .lp-hero p { font-size:.95rem; }
  .lp-hero__panel { padding:.55rem; border-radius:1rem; }
  .lp-hero__stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.4rem; }
  .lp-hero__stats div { padding:.5rem .6rem; }
  .lp-hero__stats dd { font-size:1.1rem; }
  .lp-hero__stats dd small { display:none; }
  .lp-quick { flex-wrap:nowrap; overflow-x:auto; margin-left:-1rem; margin-right:-1rem; padding:0 1rem .3rem; scrollbar-width:none; }
  .lp-quick::-webkit-scrollbar { display:none; }
  .lp-quick > * { flex:0 0 auto; }
  .lp-empty .lp-quick { flex-wrap:wrap; margin:1rem 0 0; padding:0; }
  .lp-split #dealsGrid { grid-template-columns:minmax(0,1fr); }
  .lp-toolbar__end { width:100%; justify-content:space-between; }
}
