﻿/* Indulási időpontok oldal (indulasok.aspx) – 2026.11-es dizájn. Minden szabály a .indlap alatt, hogy más oldalt ne érintsen. */

.indlap { --arany: #b38a45; --arany-sotet: #9c7737; --krem: #faf6ef; --vonal: #eee5d6; --szoveg: #2b2620; --halvany: #5e554b; font-family: Roboto, sans-serif; color: var(--szoveg); }
.indlap *, .indlap *::before, .indlap *::after { box-sizing: border-box; }

/* ---------- hero ---------- */
.indlap .indhero { position: relative; height: 460px; display: block; background-color: #3a2c22; cursor: pointer; overflow: hidden; }
.indlap .indhero-arnyek { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(18,12,6,.82) 100%); pointer-events: none; }
.indlap .indhero-tartalom { position: absolute; left: 0; right: 0; bottom: 0; max-width: 1200px; margin: 0 auto; padding: 0 25px 30px; display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; color: #fff; }
.indlap .indhero h1 { position: static; background: none; border: 0; border-radius: 0; padding: 0; margin: 0; min-width: 0; min-height: 0; width: auto; max-width: none; text-align: left; color: #fff; font-family: Roboto; font-weight: 300; }
.indlap .indhero h1 .indh1cimke { display: block; font-size: 13px; letter-spacing: 2px; font-weight: 400; color: #e8cf9f; margin-bottom: 4px; }
.indlap .indhero h1 strong { display: block; font-size: 44px; font-weight: 300; letter-spacing: 1.5px; line-height: 1.05; }
.indlap .indcimkek { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.indlap .indcimkek span { font-size: 13px; padding: 5px 12px; border-radius: 999px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.32); color: #fff; }
.indlap .indhero-ar { text-align: right; }
.indlap .indhero-ar small { display: block; font-size: 13px; opacity: .85; }
.indlap .indhero-ar b { display: block; font-size: 30px; font-weight: 500; line-height: 1.15; }
.indlap .indhero-gomb { display: inline-block; margin-top: 10px; background: var(--arany); color: #fff !important; font-size: 15px; font-weight: 500; padding: 10px 24px; border-radius: 999px; text-decoration: none !important; }
.indlap .indhero-gomb:hover { background: var(--arany-sotet); }

/* a hero alatti tartalom */
.indlap .indkeret { max-width: 1200px; margin: 18px auto 24px; padding: 0 25px; }

/* ---------- fülek: aláhúzásos sáv ---------- */
.indlap .tabs.indtabs { background: none; }
.indlap .tabs.indtabs label { margin: 0 26px 0 0; padding: 14px 2px 12px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: #463e36; font-size: 15px; font-weight: 400; }
.indlap .tabs.indtabs label:hover { background: none; color: var(--szoveg); }
.indlap .tabs.indtabs input[type="radio"]:checked + label { background: none; color: var(--szoveg); border-color: var(--arany); font-weight: 500; }
.indlap .tabs.indtabs .tab { border-top: 1px solid var(--vonal); border-radius: 0 0 10px 10px; }
.indlap .tabs.indtabs { background: #fff; border-radius: 10px; padding: 0 22px; }

/* ---------- képgaléria fül: lapozható sáv (indulasok.aspx: LoadKEPTAR) ---------- */
.indlap .indgal { position: relative; margin: 16px 0 6px; }
.indlap .indgal-sav { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; border-radius: 10px; overscroll-behavior-x: contain; }
.indlap .indgal-sav::-webkit-scrollbar { display: none; }
.indlap .indgal-lap { position: relative; flex: 0 0 calc((100% - 12px) / 2); height: 420px; scroll-snap-align: start; border-radius: 10px; overflow: hidden; background: #e9dfcd; display: block; }
.indlap .indgal-lap img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.indlap .indgal-lap:hover img { transform: scale(1.03); }
.indlap .indgal-lap span { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 16px 12px; color: #fff; font-size: 14px; background: linear-gradient(to top, rgba(20,15,10,.65), transparent); }
.indlap .indgal-nyil { position: absolute; top: 210px; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: var(--szoveg); font-size: 30px; line-height: 1; padding: 0 0 4px; box-shadow: 0 2px 10px rgba(0,0,0,.18); cursor: pointer; transition: opacity .2s, background .2s; }
.indlap .indgal-nyil:hover { background: var(--arany); color: #fff; }
.indlap .indgal-nyil:disabled { opacity: 0; pointer-events: none; }
.indlap .indgal-elo { left: 12px; }
.indlap .indgal-kov { right: 12px; }
.indlap .indgal-szam { position: absolute; right: 12px; top: 12px; background: rgba(43,38,32,.72); color: #fff; font-size: 13px; padding: 4px 11px; border-radius: 999px; pointer-events: none; }
.indlap .indgal-ures { padding: 24px 0; color: #5e554b; }
@media (max-width: 767.98px) {
    .indlap .indgal-lap { flex-basis: 88%; height: 260px; }
    .indlap .indgal-nyil { top: 130px; width: 38px; height: 38px; font-size: 24px; }
    .indlap .indgal-szam { right: calc(12% + 4px); }
}

/* ---------- áttekintés ---------- */
.indlap .indattekint { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 34px; }
.indlap .indcim { font-size: 17px; font-weight: 500; color: var(--szoveg); margin: 0 0 14px; }
.indlap .indido { list-style: none; margin: 0 0 0 7px; padding: 0 0 0 20px; border-left: 2px solid #e6d9c2; }
.indlap .indido li { position: relative; padding: 5px 0 9px; font-size: 15px; font-weight: 400; line-height: 1.45; }
.indlap .indido li::before { content: ""; position: absolute; left: -28px; top: 9px; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid var(--arany); }
.indlap .indido li b { display: block; font-weight: 500; font-size: 13px; color: var(--arany); letter-spacing: .3px; }
/* kattintható nap: a Röviden doboz fölé nyíló panelben mutatja a nap részletes leírását (indNapra) – a lista könnyű marad */
.indlap .indnaplink { color: inherit !important; font-weight: inherit !important; text-decoration: none !important; cursor: pointer; }
.indlap .indnaplink span { display: block; transition: color .15s; }
.indlap .indnaplink:hover span, .indlap .indido li.aktiv .indnaplink span { color: var(--arany-sotet); text-decoration: underline; text-decoration-color: #e6d9c2; text-underline-offset: 3px; }
.indlap .indido li.aktiv::before { background: var(--arany); }

/* a nap részletei: panel a Röviden oszlop fölött, saját görgetéssel, bezárás gombbal */
.indlap .indoldal { position: relative; }
/* magasság a tartalomhoz igazodik, legfeljebb az Áttekintés-sor másfélszerese (indNapra állítja a max-height-ot) */
.indlap .indnappanel { position: absolute; top: 0; left: 0; right: 0; max-height: 600px; z-index: 5; display: flex; flex-direction: column; background: #fff; border: 1px solid #e6d9c2; border-radius: 10px; filter: drop-shadow(0 10px 22px rgba(0,0,0,.18)); }
.indlap .indnappanel[hidden] { display: none; }
.indlap .indnapfej { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 14px 10px 18px; border-bottom: 1px solid var(--vonal); }
.indlap .indnapfej b { font-size: 16px; font-weight: 500; color: var(--szoveg); }
.indlap .indnapzar { border: 0; background: #f4efe6; color: #463e36; width: 32px; height: 32px; border-radius: 50%; font-size: 20px; line-height: 1; cursor: pointer; flex: 0 0 32px; }
.indlap .indnapzar:hover { background: #e9e0d0; color: var(--szoveg); }
.indlap .indnaptorzs { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 14px 18px 18px; font-size: 14px; font-weight: 400; line-height: 1.6; color: #2b2620; }
.indlap .indegyeb { margin-top: 12px; font-size: 14px; font-weight: 400; }
.indlap .indegyeb p { margin: 0; }
.indlap .indtenyek { margin: 0; background: var(--krem); border-radius: 10px; padding: 6px 18px; }
.indlap .indtenyek div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid #efe6d6; font-size: 14px; }
.indlap .indtenyek div:last-child { border-bottom: 0; }
.indlap .indtenyek dt { font-weight: 400; color: var(--halvany); white-space: nowrap; }
.indlap .indtenyek dd { margin: 0; text-align: right; font-weight: 400; }
.indlap .indtenyek a { color: var(--arany); font-weight: 500; }
.indlap .indvideo { position: relative; margin-top: 18px; padding-top: 56.25%; border-radius: 10px; overflow: hidden; }
.indlap .indvideo iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* ---------- indulási időpontok ---------- */
.indlap .indidopontok { background: #fff; border-radius: 10px; padding: 22px 22px 14px; margin-top: 18px; }
.indlap .indfej { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.indlap .indfocim { font-size: 24px; font-weight: 300; color: var(--szoveg); margin: 0; }

/* kapcsoló a "csak szabad helyes" szűrőhöz (CheckBox1: span.custom-checkbox > input + label) */
.indlap .indkapcsolo { position: relative; display: inline-block; }
.indlap .indkapcsolo input[type="checkbox"] { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.indlap .indkapcsolo label { display: block; position: relative; cursor: pointer; user-select: none; padding-left: 48px; margin: 0; font-size: 14px; color: #3a332c; line-height: 22px; }
.indlap .indkapcsolo label::before { content: ""; position: absolute; left: 0; width: 38px; height: 22px; top: 0; border: 0; border-radius: 999px; background: #d9cdb8; transition: background .2s; }
.indlap .indkapcsolo label::after { content: "" !important; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: left .2s; }
.indlap .indkapcsolo input[type="checkbox"]:checked + label::before { background: var(--arany); }
.indlap .indkapcsolo input[type="checkbox"]:checked + label::after { left: 19px; top: 3px; font-size: 0; }

/* hónapok: kerek "pirulák" */
.indlap .indhonapok { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.indlap .indhonapok .myetbtn, .indlap .indhonapok .myetbtn4 { margin: 0; padding: 8px 16px; border-radius: 999px; font-size: 14px; font-weight: 400; border: 1px solid #d9cdb8; background: #fff; color: #463e36; cursor: pointer; filter: none; }
.indlap .indhonapok .myetbtn4:hover { background: #fbf3e3; color: var(--szoveg); border-color: var(--arany); }
/* kijelölt hónap: az útkártyák ársávjának kékje (#5a5c85) */
.indlap .indhonapok .myetbtn, .indlap .indhonapok .myetbtn:hover { background: #5a5c85; border-color: #5a5c85; color: #fff; }

/* egy indulás */
.indlap .inddep { display: grid; grid-template-columns: 110px minmax(0, 1fr) minmax(0, 1fr) 46px 170px 130px; align-items: center; gap: 16px; padding: 14px 16px; border: 1px solid var(--vonal); border-radius: 10px; margin-bottom: 10px; background: #fff; cursor: pointer; transition: border-color .15s, background .15s; }
.indlap .inddep:hover { border-color: var(--arany); background: #fffcf6; }
.indlap .indlogo { text-align: center; }
.indlap .indlogo img { max-width: 100px; max-height: 46px; display: block; margin: 0 auto; }
.indlap .indlogo .indikon { max-width: 50px; margin-top: 6px; }
.indlap .indleg { display: flex; gap: 10px; align-items: flex-start; }
.indlap .indrep { width: 34px; flex: 0 0 34px; margin-top: 2px; }
.indlap .indnap { font-size: 16px; font-weight: 500; white-space: nowrap; }
.indlap .indnap .indhetnap { display: block; font-style: normal; font-size: 13px; font-weight: 400; color: var(--arany); }
.indlap .indjarat { font-size: 13px; color: #3a332c; line-height: 1.5; }
.indlap .indatsz { display: block; font-size: 13px; font-weight: 500; }
.indlap .indzaszlo img { width: 40px; display: block; margin: 0 auto; }
.indlap .indar { text-align: right; white-space: nowrap; }
.indlap .indar b { font-size: 19px; font-weight: 500; }
.indlap .indar small { font-size: 13px; color: var(--halvany); }
/* Kiválaszt: a sor jobb alsó sarkába illesztett szögletes gomb, csak a jobb alsó sarka kerek (mint az ajánlatkártyán) */
/* asztali nézetben függőlegesen középre igazított, a soron belül maradó gomb; tableten és mobilon a jobb alsó sarokban */
.indlap .indgombhely { align-self: center; margin: 0; display: flex; }
.indlap .indgomb { flex: 1; display: flex; align-items: center; justify-content: center; text-align: center; padding: 13px 0; border-radius: 8px; background: var(--arany); color: #fff !important; font-size: 15px; font-weight: 500; letter-spacing: .3px; text-decoration: none !important; }
.indlap .indgomb:hover { background: var(--arany-sotet); }
.indlap .inddep.betelt { cursor: default; }
.indlap .inddep.betelt:hover { border-color: var(--vonal); background: #fff; }
/* betelt: jól látható, nem halványított gomb (marketingértéke van), csak nem kattintható */
.indlap .inddep.betelt .indgomb { background: #efe4d0; color: #7a5a24 !important; border: 1px solid #d9c3a0; cursor: default; }
.indlap .inddep.betelt .indgomb:hover { background: #efe4d0; }
.indlap .indures { padding: 24px; text-align: center; color: var(--halvany); font-size: 15px; }

/* ---------- kisebb képernyők ---------- */
@media (max-width: 991.98px) {
    .indlap .indattekint { grid-template-columns: 1fr; gap: 24px; }
    .indlap .indnappanel { max-height: 75vh !important; }
    .indlap .inddep { grid-template-columns: 90px minmax(0, 1fr) minmax(0, 1fr) 40px; }
    .indlap .indgombhely { grid-column: 3 / 5; align-self: end; margin: 0 -17px -15px 0; }
    .indlap .indgomb { border-radius: 0 0 9px 0; }
    .indlap .inddep.betelt .indgomb { border: 0; border-top: 1px solid #d9c3a0; border-left: 1px solid #d9c3a0; }
    .indlap .indar { grid-column: 1 / 3; text-align: left; padding-left: 4px; }
}
@media (max-width: 640px) {
    .indlap .indhero { display: block !important; height: 340px; margin-top: 35px; }
    .indlap .indhero h1 strong { font-size: 32px; }
    .indlap .indhero-tartalom { padding: 0 16px 18px; gap: 12px; }
    .indlap .indhero-ar { text-align: left; }
    .indlap .indhero-ar b { font-size: 24px; display: inline; }
    .indlap .indhero-ar small { display: inline; margin-left: 4px; }
    .indlap .indhero-ar small:first-child { display: none; }
    .indlap .indhero-gomb { display: none; }
    .indlap .indkeret { padding: 0 8px; }
    .indlap .tabs.indtabs { padding: 0 12px; }
    .indlap .tabs.indtabs label { width: auto; margin: 0 16px 0 0; border-radius: 0; font-size: 14px; }
    /* mobilon a nem aktív fülek a tartalom alá kerülnek: szögletes, arany gombok legyenek, hogy látszódjon, megnyomhatók */
    .indlap .tabs.indtabs input[type="radio"]:not(:checked) + label { display: flex; justify-content: space-between; align-items: center; width: 100%; margin: 8px 0 0; padding: 13px 16px; background: var(--arany); color: #fff; border: 0; border-radius: 3px; font-size: 15px; font-weight: 500; }
    .indlap .tabs.indtabs input[type="radio"]:not(:checked) + label::after { content: "›"; font-size: 20px; line-height: 1; }
    .indlap .tabs.indtabs input[type="radio"]:not(:checked) + label:hover { background: var(--arany-sotet); color: #fff; }
    .indlap .tabs.indtabs input[type="radio"]:not(:checked) + label:last-of-type { margin-bottom: 14px; }
    .indlap .indidopontok { padding: 16px 12px 8px; }
    .indlap .indfocim { font-size: 21px; }
    .indlap .inddep { grid-template-columns: 1fr auto; gap: 10px 12px; padding: 12px; }
    .indlap .indlogo { grid-column: 1; grid-row: 1; text-align: left; }
    .indlap .indlogo img { margin: 0; max-width: 90px; }
    .indlap .indzaszlo { grid-column: 2; grid-row: 1; }
    .indlap .indleg { grid-column: 1 / 3; }
    .indlap .indnap .indhetnap { display: inline; margin-left: 6px; }
    .indlap .indar { grid-column: 1; text-align: left; border-top: 1px solid #f1eadf; padding-top: 10px; }
    .indlap .indgombhely { grid-column: 2; margin: 0 -13px -13px 0; }
    .indlap .indgomb { padding: 12px 24px; }
}


/* =================================================================================================
   AJÁNLATOK OLDAL (ajanlatok.aspx + myajanlat2.ascx) – .ajlap
   ================================================================================================= */

/* indulás-sáv */
.ajlap .ajsav { display: flex; justify-content: space-between; align-items: flex-end; gap: 14px; flex-wrap: wrap; background: #fff; border-radius: 10px; padding: 14px 18px; margin-top: 18px; }
.ajlap .ajsav-bal { display: flex; align-items: flex-end; gap: 22px; flex-wrap: wrap; }
.ajlap .ajsav-jobb { display: flex; align-items: center; gap: 10px; }
.ajlap .ajdatum { min-width: 290px; }
.ajlap .ajsavcimke { display: block; font-size: 12px; color: var(--halvany); margin-bottom: 4px; }
.ajlap .ajdb { font-size: 16px; padding-bottom: 9px; }
.ajlap .ajdb b { font-weight: 500; }
.ajlap .ajsav .select2-container--default .select2-selection--single { height: 42px; border: 1px solid #d9cdb8; border-radius: 999px; }
.ajlap .ajsav .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 40px; padding-left: 14px; color: var(--szoveg); }
.ajlap .ajsav .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px; right: 8px; }
.ajlap .ajsav .ddl-option { font-size: 15px; }
.ajlap .ajrendez { height: 42px; border: 1px solid #d9cdb8; border-radius: 999px; padding: 0 36px 0 16px; font-size: 15px; color: var(--szoveg); background: #fff; cursor: pointer; }
.ajlap .ajszurogomb { display: none; height: 42px; border: 1px solid #5a5c85; color: #5a5c85; background: #fff; border-radius: 999px; padding: 0 16px; font-size: 15px; cursor: pointer; }

.ajlap .ajracs { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 18px; margin-top: 16px; align-items: start; }

/* szűrőpanel */
.ajlap .ajszuro { background: #fff; border-radius: 10px; padding: 18px; font-size: 14px; color: var(--szoveg2, #3a332c); position: sticky; top: 90px; }
.ajlap .ajszfej { font-size: 16px; font-weight: 500; color: var(--szoveg); margin-bottom: 4px; }
.ajlap .ajcsop { padding: 14px 0; border-top: 1px solid var(--vonal); }
.ajlap .ajszfej + .ajcsop { border-top: 0; padding-top: 8px; }
.ajlap .ajcsopcim { display: block; margin: 0 0 9px; font-size: 12px; font-weight: 500; letter-spacing: .6px; text-transform: uppercase; color: #463e36; }
.ajlap .ajpirulak { display: flex; flex-wrap: wrap; gap: 6px; }
.ajlap .ajpirulak input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ajlap .ajpirulak label { display: inline-block; margin: 0; padding: 6px 12px; border-radius: 999px; border: 1px solid #d9cdb8; background: #fff; color: #3a332c; font-size: 13px; font-weight: 400; cursor: pointer; text-transform: lowercase; transition: background .15s, border-color .15s; }
.ajlap .ajpirulak label::first-letter { text-transform: uppercase; }
.ajlap .ajpirulak label:hover { border-color: var(--arany); }
.ajlap .ajpirulak input:checked + label { background: #5a5c85; border-color: #5a5c85; color: #fff; }
.ajlap .ajlista br { display: none; }
.ajlap .ajkap { position: relative; padding: 5px 0; }
.ajlap .ajkap input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ajlap .ajkap label { display: flex; justify-content: space-between; align-items: center; margin: 0; cursor: pointer; font-weight: 400; color: #3a332c; position: relative; padding-right: 46px; }
.ajlap .ajkap label::before { content: ""; position: absolute; right: 0; top: 50%; margin-top: -10px; width: 36px; height: 20px; border-radius: 999px; background: #d9cdb8; transition: background .2s; }
.ajlap .ajkap label::after { content: ""; position: absolute; right: 18px; top: 50%; margin-top: -8px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: right .2s; }
.ajlap .ajkap input:checked + label::before { background: var(--arany); }
.ajlap .ajkap input:checked + label::after { right: 2px; }
.ajlap .ajmezo { width: 100%; height: 38px; border: 1px solid #d9cdb8; border-radius: 8px; padding: 0 12px; font-size: 14px; color: var(--szoveg); background: #fff; }
.ajlap .ajkerestip { margin-top: 6px; font-size: 13px; color: var(--halvany); }
.ajlap .ajgyerekkor { margin-top: 8px; }
.ajlap .ajgyerekkor[style*="hidden"] { display: none; }
.ajlap .ajnyit summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; color: #3a332c; }
.ajlap .ajnyit summary::-webkit-details-marker { display: none; }
.ajlap .ajnyit summary::after { content: "+"; color: var(--arany); font-size: 20px; line-height: 1; }
.ajlap .ajnyit[open] summary::after { content: "–"; }
.ajlap .ajferohely { padding-top: 10px; }
.ajlap .ajmegj { display: block; font-size: 12px; color: var(--halvany); margin-bottom: 8px; line-height: 1.4; }
.ajlap .ajferohely .table td, .ajlap .ajferohely .table th { vertical-align: middle; font-weight: 400; font-size: 13px; }
.ajlap .ajutasgomb { border: 1px dashed var(--arany); background: #fff; color: var(--arany-sotet); border-radius: 999px; padding: 6px 14px; font-size: 13px; cursor: pointer; }
.ajlap .ajszgombok { display: flex; gap: 8px; padding-top: 14px; border-top: 1px solid var(--vonal); }
.ajlap .ajszurgomb, .ajlap .ajtorolgomb { flex: 1; height: 42px; border-radius: 999px; font-size: 15px; font-weight: 500; cursor: pointer; }
.ajlap .ajszurgomb { border: 0; background: var(--arany); color: #fff; }
.ajlap .ajszurgomb:hover { background: var(--arany-sotet); }
.ajlap .ajtorolgomb { border: 1px solid var(--arany); background: #fff; color: var(--arany); }
.ajlap .ajtorolgomb:hover { background: #fbf3e3; }
.ajlap .ajtoltes { text-align: center; }

/* ajánlatkártya */
.ajlap .ajkartya { position: relative; display: grid; grid-template-columns: 300px minmax(0, 1fr) 176px; background: #fff; border: 1px solid var(--vonal); border-radius: 12px; overflow: hidden; margin-bottom: 14px; cursor: pointer; font-family: Roboto, sans-serif; transition: border-color .15s; }
.ajlap .ajkartya:hover { border-color: var(--arany); }
.ajlap .ajkep { position: relative; min-height: 230px; background-color: #8a6f55; background-size: cover; background-position: center; }
.ajlap .ajlegjobb { display: none; position: absolute; left: 12px; bottom: 12px; background: #5a5c85; color: #fff; font-size: 12px; font-weight: 500; padding: 4px 11px; border-radius: 999px; }
.ajlap .ajlegjobb.lathato { display: inline-block; }
/* ha a böngészős szűrő után nem marad ajánlat */
.ajlap .ajures { background: #fff; border: 1px dashed #d9cdb8; border-radius: 12px; padding: 28px 20px; text-align: center; color: #3a332c; font-size: 15px; }
.ajlap .ajures a { color: var(--arany-sotet); text-decoration: underline; }
/* videó jelölő: kattintásra a hotel YouTube-videója (Fresco), nem a képgaléria */
.ajlap .ajvideo { position: absolute; right: 10px; bottom: 10px; z-index: 2; background: rgba(0,0,0,.65); color: #fff; font-size: 13px; font-weight: 500; padding: 6px 12px; border-radius: 999px; cursor: pointer; transition: background .15s; }
.ajlap .ajvideo:hover { background: #c4302b; }
.ajlap .ajgaleria { position: absolute; right: 8px; top: 8px; width: 30px; height: 24px; background: url('/Images/camera.png') center no-repeat; }
.ajlap .ajszalag { position: absolute; left: -15px; width: 180px; height: 80px; background-repeat: no-repeat; padding: 14px 20px 10px 0; text-align: center; line-height: 15pt; color: #fff; font-size: 15px; font-weight: 300; }
.ajlap .ajkozep { padding: 18px 20px; min-width: 0; }
.ajlap .ajhnev { font-size: 21px; font-weight: 500; line-height: 1.2; color: var(--szoveg); }
.ajlap .ajcsill { color: var(--arany); font-weight: 500; font-size: 15px; margin-left: 4px; white-space: nowrap; }
.ajlap .ajalcim { font-size: 14px; color: #3a332c; margin-top: 4px; }
.ajlap .ajell { color: var(--arany-sotet); font-weight: 500; }
.ajlap .ajut { list-style: none; margin: 12px 0 0; padding: 0 0 0 14px; border-left: 2px solid #e6d9c2; font-size: 14px; color: #3a332c; }
.ajlap .ajut li { padding: 2px 0; }
/* a többi szállás neve nem félkövér (csak a fő hotel neve kiemelt) */
.ajlap .ajut b { font-weight: 400; color: var(--szoveg); }
.ajlap .ajjelek { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.ajlap .ajjelek > span { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; padding: 5px 10px; border-radius: 999px; background: #f6f1e8; color: #3a332c; }
.ajlap .ajjelek img { width: 16px; height: 16px; }
/* a két értékelő oldal saját színeivel: Booking sötétkék / fehér, Tripadvisor zöld / fekete */
.ajlap .ajbk { background: #003580; color: #fff; }
.ajlap .ajta { background: #34e0a1; color: #000; }
/* értékelések a kép bal felső sarkában; a Tripadvisor logó fekete */
.ajlap .ajfej { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.ajlap .ajert { position: absolute; left: 10px; top: 10px; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; }
.ajlap .ajert > span { box-shadow: 0 1px 4px rgba(0,0,0,.25) !important; }
.ajlap .ajbk, .ajlap .ajta { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 500; padding: 3px 11px 3px 3px; border-radius: 999px; }
.ajlap .ajbk img, .ajlap .ajta img { width: 22px; height: 22px; }
.ajlap .ajta img { filter: brightness(0); }
/* városikon a város neve előtt (Varosok.ikon) */
.ajlap .ajvikon { width: 18px; height: 18px; object-fit: contain; vertical-align: -4px; margin-right: 5px; }
.ajlap .ajjobb { border-left: 1px solid var(--vonal); padding: 18px 18px 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 12px; text-align: right; }
.ajlap .ajrep { display: flex; justify-content: flex-end; align-items: center; gap: 8px; font-size: 13px; color: #3a332c; margin-bottom: auto; text-align: left; }
.ajlap .ajrep img { width: 30px; flex: 0 0 30px; }
.ajlap .ajrepgrid, .ajlap .ajrepgrid td { border: 0; padding: 0; background: none; }
.ajlap .ajar b { display: block; font-size: 22px; font-weight: 500; white-space: nowrap; color: var(--szoveg); }
.ajlap .ajar small { font-size: 13px; color: var(--halvany); }
/* Megtekintés: a jobb oszlop aljára leválasztott, szögletes sáv */
.ajlap .ajgomb { display: block; margin: 6px -18px 0; text-align: center; background: var(--arany); color: #fff !important; border-radius: 0; padding: 14px 0; font-size: 15px; font-weight: 500; letter-spacing: .3px; text-decoration: none !important; }
.ajlap .ajgomb:hover { background: var(--arany-sotet); }
.ajlap .ajvarakozik { position: fixed; inset: 0; z-index: 1029; background: rgba(255,255,255,.9); flex-direction: column; justify-content: center; align-items: center; gap: 10px; }
.ajlap .ajvarakozik-szoveg { font-size: 12pt; font-weight: 500; text-align: center; color: #000; }

@media (max-width: 991.98px) {
    .ajlap .ajracs { grid-template-columns: 1fr; }
    .ajlap .ajszuro { display: none; position: static; }
    .ajlap .ajszuro.open { display: block; }
    .ajlap .ajszurogomb { display: inline-block; }
    .ajlap .ajkartya { grid-template-columns: 240px minmax(0, 1fr); }
    .ajlap .ajjobb { grid-column: 1 / 3; border-left: 0; border-top: 1px solid var(--vonal); flex-direction: row; flex-wrap: wrap; align-items: center; text-align: left; }
    .ajlap .ajrep { margin-bottom: 0; justify-content: flex-start; }
    .ajlap .ajjobb .ajar { margin-left: auto; text-align: right; }
    .ajlap .ajjobb .ajgomb { flex: 0 0 calc(100% + 36px); }
}
@media (max-width: 640px) {
    .ajlap .ajsav { padding: 12px; }
    .ajlap .ajsav-bal, .ajlap .ajdatum { width: 100%; min-width: 0; }
    .ajlap .ajsav-bal { gap: 10px; }
    .ajlap .ajdb { padding-bottom: 0; }
    .ajlap .ajsav-jobb { width: 100%; }
    .ajlap .ajsav-jobb #rendezWrapper { flex: 1; }
    .ajlap .ajrendez { width: 100%; }
    /* mobilon a kártyák arany kerettel válnak el egymástól (a Megtekintés sáv színe) */
    .ajlap .ajkartya { grid-template-columns: 1fr; border-color: var(--arany); }
    .ajlap .ajkep { min-height: 200px; }
    .ajlap .ajkozep { padding: 14px 14px 6px; }
    .ajlap .ajhnev { font-size: 19px; }
    .ajlap .ajjobb { grid-column: 1; padding: 12px 14px 0; flex-wrap: wrap; }
    .ajlap .ajjobb .ajrep { width: 100%; }
    .ajlap .ajjobb .ajar { margin-left: 0; text-align: left; flex: 1; }
    .ajlap .ajjobb .ajgomb { margin: 4px -14px 0; flex: 0 0 calc(100% + 28px); }
    .ajlap .ajfej { flex-wrap: wrap; }
}
/* ---------- városi hotellista (hotelek.aspx): az ajánlatok szűrője + a régi hotelkártyák (myhot2.ascx) soronként hárman ---------- */
.hotlap .indkeret { margin-top: 50px; }   /* a hero alá lógó címsáv (et.css h1) miatt */
.hotlap .hotracs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.hotlap .hotracs > div[data-hotkartya] { width: auto; max-width: none; flex: none; padding: 0 !important; margin: 0 !important; }
.hotlap .hotracs > div[data-hotkartya] > div { margin: 0 !important; min-width: 0 !important; border-radius: 10px !important; overflow: hidden; box-shadow: 0 2px 10px rgba(60,45,20,.08) !important; }
.hotlap .hotracs .ajures { grid-column: 1 / -1; }
@media (max-width: 1199.98px) {
    .hotlap .hotracs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
    .hotlap .hotracs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .hotlap .hotracs { grid-template-columns: 1fr; }
}

/* Kiválaszt után: "töltjük az ajánlatokat" réteg folyamatjelzővel (indulasok.aspx: indToltes) */
.indtoltes { position: fixed; inset: 0; z-index: 2000; display: none; flex-direction: column; justify-content: center; align-items: center; gap: 18px; background: rgba(255,255,255,.94); font-family: Roboto, sans-serif; color: #2b2620; text-align: center; padding: 20px; }
.indtoltes.lathato { display: flex; }
.indtoltes b { font-size: 20px; font-weight: 500; }
.indtoltes span { font-size: 15px; color: #3a332c; }
.indtoltes .indszam { font-size: 14px; color: #5e554b; min-height: 18px; font-variant-numeric: tabular-nums; }
.indtoltes .indcsik { width: min(360px, 80vw); height: 8px; border-radius: 999px; background: #eee5d6; overflow: hidden; }
.indtoltes .indcsik i { display: block; height: 100%; width: 0; border-radius: 999px; background: #b38a45; transition: width .35s ease-out; }