/* ============================================================
   Bootstrap 3 → Bootstrap 5.3 kompatibilitási réteg (Vermis 2026)
   Cél: a régi (BS3-ra írt) téma-CSS és markup pixelre azonos
   megjelenése Bootstrap 5 alatt.
   ============================================================ */

/* --- Alapértékek a BS3 szerint --- */
:root, [data-bs-theme=light] {
  --bs-body-font-family: "Raleway", sans-serif;
  --bs-body-font-size: 14px;
  --bs-body-line-height: 1.42857143;
  --bs-body-color: #bebebe;
  --bs-body-bg: #fff;
  --bs-gutter-x: 30px;               /* BS3: 15px + 15px */
  --bs-link-color: #337ab7;
  --bs-link-hover-color: #23527c;
  --bs-link-decoration: none;
  --bs-link-hover-decoration: underline;
  --bs-border-radius: 4px;
}
html { font-size: 10px; -webkit-tap-highlight-color: rgba(0,0,0,0); }
body { font-size: 14px; line-height: 1.42857143; font-family: "Raleway", sans-serif; color: #bebebe; background-color: #fff; }

/* Konténer-szélességek, mint BS3 (750 / 970 / 1170) */
.container { padding-right: 15px; padding-left: 15px; }
@media (min-width: 768px)  { .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { max-width: 750px; } }
@media (min-width: 992px)  { .container, .container-md, .container-lg, .container-xl, .container-xxl { max-width: 970px; } }
@media (min-width: 1200px) { .container, .container-lg, .container-xl, .container-xxl { max-width: 1170px; } }
@media (min-width: 1400px) { .container, .container-xl, .container-xxl { max-width: 1170px; } }
.container-fluid { padding-right: 15px; padding-left: 15px; }

/* Sor: BS3 float-alapú, a BS5 flex. A `.row` margin azonos (-15px). */
.row { --bs-gutter-x: 30px; --bs-gutter-y: 0; display: block; } /* BS3: blokk-sor lebegtetett oszlopokkal (a régi témák saját flex-sorai – .equal, .v-align – felülírják) */
.row > * { padding-right: 15px; padding-left: 15px; min-height: 1px; width: auto; max-width: none; } /* BS3: breakpoint alatt a col szélessége auto (a BS5 100%-ot adna) – a col-* szélességek alább felülírják */
/* BS3: a .row-ban csak a col-* elemek kapnak gutter-paddinget (a BS5 minden gyereknek adná) */
.row > :not([class*="col-"]) { padding-right: 0; padding-left: 0; }
/* BS3: a .row-ba ágyazott .container / .container-fluid megtartja a saját 15px-es paddingjét és töréspontos szélességét
   (a fenti .row > * / :not(col) szabályok ezt elvennék – pl. a régi workshop-fejlécek: .container-fluid > .row > .container) */
.row > .container, .row > .container-fluid { padding-right: 15px; padding-left: 15px; }
@media (min-width: 768px)  { .row > .container { max-width: 750px; } }
@media (min-width: 992px)  { .row > .container { max-width: 970px; } }
@media (min-width: 1200px) { .row > .container { max-width: 1170px; } }
/* BS3 float-oszlopok nem nyúltak a sor magasságára; a BS5 flex-sor igen (és a height:100%-os belső dobozok így megnőnének).
   0-s specificitás: a régi témák saját flex-sorai (.v-align, .equal, …) felülírhatják. */
:where(.row:not(.equal)) { align-items: flex-start; }

/* BS3-ban a konténeren kívül is lehetett col-*; BS5-ben a col-* csak .row-ban kap padding-ot. */
.col-xs-12, .col-xs-6, .col-xs-4, .col-xs-3, .col-sm-12, .col-sm-6, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-8,
.col-md-12, .col-md-9, .col-md-8, .col-md-6, .col-md-4, .col-md-3, .col-md-2, .col-md-10, .col-lg-12, .col-lg-6, .col-lg-4, .col-lg-3, .col-lg-2 {
  position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px;
}
/* BS3: a lebegtetés breakpointonként indul (xs mindig, sm ≥768, md ≥992, lg ≥1200) – mobilon a col-md-* blokkszintű, teljes szélességű */
[class*="col-xs-"] { float: left; }
@media (min-width: 768px) { [class*="col-sm-"] { float: left; } }
@media (min-width: 992px) { [class*="col-md-"] { float: left; } }
@media (min-width: 1200px) { [class*="col-lg-"] { float: left; } }
/* Megamenü: a régi .dropdown-menu.row display:block (nem flex) → az oszlopoknak BS3 float kell, a konténer pedig fogja közre őket */
.navbar .megamenu.row > [class*="col-"] { float: left; }
.navbar .dropdown.open > .megamenu.row, .navbar .dropdown.show > .megamenu.row { display: flow-root; }
@media (min-width: 1200px) { .navbar .dropdown:hover > .megamenu.row { display: flow-root; } }

/* Oszlop-szélességek BS3 col-xs-* (mindig), col-sm-* (≥768), col-md-* (≥992), col-lg-* (≥1200) */
.col-xs-1{width:8.33333333%}.col-xs-2{width:16.66666667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333333%}.col-xs-5{width:41.66666667%}.col-xs-6{width:50%}
.col-xs-7{width:58.33333333%}.col-xs-8{width:66.66666667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333333%}.col-xs-11{width:91.66666667%}.col-xs-12{width:100%}
.row > .col-xs-1{flex:0 0 auto}.row > .col-xs-2{flex:0 0 auto}.row > .col-xs-3{flex:0 0 auto}.row > .col-xs-4{flex:0 0 auto}.row > .col-xs-6{flex:0 0 auto}.row > .col-xs-12{flex:0 0 auto}
@media (min-width:768px){
.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}
.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}
.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333%}
}
@media (min-width:992px){
.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}
.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}
.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-3{margin-left:25%}
}
@media (min-width:1200px){
.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}
.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}
.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-3{margin-left:25%}
}
/* A .row flex konténerben a BS3-oszlopok ne nyúljanak: fix szélesség */
.row > [class*="col-xs-"], .row > [class*="col-sm-"], .row > [class*="col-md-"], .row > [class*="col-lg-"] { flex: 0 0 auto; }
/* A régi .v-align flex-sorban az oszlopok zsugorodtak (flex-shrink:1), így fértek el a margók mellett */
.row.v-align > [class*="col-"] { flex-shrink: 1; }
@media (min-width: 992px) { .row.v-align { flex-wrap: nowrap; } } /* a régi .v-align flex sor nem tördelt */
/* BS3 float-sorok lezárása (a .row flex-wrap-ja ezt már megoldja) */
.row:before, .row:after, .clearfix:before, .clearfix:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after { display: table; content: " "; }
.row:after, .clearfix:after, .container:after, .container-fluid:after { clear: both; }

/* --- Láthatósági segédek (BS3) --- */
.hidden-xs, .hidden-sm, .hidden-md, .hidden-lg, .visible-xs, .visible-sm, .visible-md, .visible-lg { }
.visible-xs, .visible-sm, .visible-md, .visible-lg { display: none !important; }
@media (max-width: 767.98px) { .visible-xs { display: block !important; } .hidden-xs { display: none !important; } }
@media (min-width: 768px) and (max-width: 991.98px) { .visible-sm { display: block !important; } .hidden-sm { display: none !important; } }
@media (min-width: 992px) and (max-width: 1199.98px) { .visible-md { display: block !important; } .hidden-md { display: none !important; } }
@media (min-width: 1200px) { .visible-lg { display: block !important; } .hidden-lg { display: none !important; } }

/* --- Gyakori BS3 segédosztályok --- */
.img-responsive { display: block; max-width: 100%; height: auto; }
.center-block { display: block; margin-right: auto; margin-left: auto; }
.pull-right { float: right !important; }
.pull-left { float: left !important; }
.text-center { text-align: center; }
.no-pad { padding: 0 !important; }
.pad-0 { padding: 0 !important; }
.btn { border-radius: 4px; font-size: 14px; line-height: 1.42857143; padding: 6px 12px; }
.btn-primary { background-color: #337ab7; border-color: #2e6da4; color: #fff; }
.help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; }
.form-control { height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: #555; border: 1px solid #ccc; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0,0,0,.075); }
.form-group { margin-bottom: 15px; }
.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0,0,0,.05); }
.alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; }
.alert-success { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; }
.alert-danger { color: #a94442; background-color: #f2dede; border-color: #ebccd1; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* --- Címsorok BS3 szerint (a téma felülírja, ahol kell) --- */
:is(h1:where(:not(.as-x)),:where(.as-h1)), .h1 { font-size: 36px; }
:is(h2:where(:not(.as-x)),:where(.as-h2)), .h2 { font-size: 30px; }
:is(h3:where(:not(.as-x)),:where(.as-h3)), .h3 { font-size: 24px; }
:is(h4:where(:not(.as-x)),:where(.as-h4)), .h4 { font-size: 18px; }
:is(h5:where(:not(.as-x)),:where(.as-h5)), .h5 { font-size: 14px; }
:is(h6:where(:not(.as-x)),:where(.as-h6)), .h6 { font-size: 12px; }
:is(h1:where(:not(.as-x)),:where(.as-h1)) { margin: .67em 0; } /* a régi bootstrap.css-ben a h1 kimaradt a 20/10px szabályból: böngésző-alapértelmezés maradt */
.h1, :is(h2:where(:not(.as-x)),:where(.as-h2)), :is(h3:where(:not(.as-x)),:where(.as-h3)), .h2, .h3 { margin-top: 20px; margin-bottom: 10px; }
:is(h4:where(:not(.as-x)),:where(.as-h4)), :is(h5:where(:not(.as-x)),:where(.as-h5)), :is(h6:where(:not(.as-x)),:where(.as-h6)), .h4, .h5, .h6 { margin-top: 10px; margin-bottom: 10px; }
:is(h1:where(:not(.as-x)),:where(.as-h1)), :is(h2:where(:not(.as-x)),:where(.as-h2)), :is(h3:where(:not(.as-x)),:where(.as-h3)), :is(h4:where(:not(.as-x)),:where(.as-h4)), :is(h5:where(:not(.as-x)),:where(.as-h5)), :is(h6:where(:not(.as-x)),:where(.as-h6)), .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; }
:is(p,:where(.as-p)) { margin: 0 0 10px; }
ul, ol { margin-top: 0; margin-bottom: 10px; padding-left: 40px; }
a { color: #337ab7; text-decoration: none; }
a:hover, a:focus { color: #23527c; text-decoration: underline; }
img { vertical-align: middle; }
label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: 700; }
button, input, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; }
hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee; opacity: 1; }
*, *:before, *:after { box-sizing: border-box; }

/* --- Navbar: a BS3 .navbar-fixed-top -> BS5 .fixed-top, de a régi osztályt is megtartjuk --- */
.navbar-fixed-top, .navbar.navbar-fixed-top { position: fixed !important; top: 0; right: 0; left: 0; z-index: 1030; }
/* Az eredeti oldalon a fix fejlécnek és a menü-collapse-nak nincs kerete (mért: 0px) – különben +2px eltolás */
nav.navbar.navbar-fixed-top { border: 0; }
nav.navbar .navbar-collapse { border-top: 0; }
.navbar { min-height: 50px; margin-bottom: 0; border: 1px solid transparent; display: block; padding: 0; }
.navbar > .container, .navbar > .container-fluid { display: block; }
.navbar-header { float: left; }
.navbar-toggle { position: relative; float: right; padding: 9px 10px; margin-top: 8px; margin-right: 15px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid transparent; border-radius: 4px; }
.navbar-brand { float: left; height: 50px; padding: 15px 15px; font-size: 18px; line-height: 20px; }
.navbar-collapse { overflow-x: visible; border-top: 1px solid transparent; }
.navbar-collapse.collapse:not(.show) { display: none !important; }
/* nyitott mobil menü: a régi nav-CSS `.navbar-collapse.collapse{display:none!important}`-je ellen nagyobb specificitás kell (BS3 .in = BS5 .show) */
.navbar .navbar-collapse.collapse.show, .navbar .navbar-collapse.show, .navbar .navbar-collapse.collapsing { display: block !important; }
@media (min-width: 1200px) {
  .navbar-collapse.collapse, .navbar-collapse.collapse:not(.show) { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; }
  .navbar-toggle { display: none; }
  .navbar-header { float: left; }
}
.dropdown-menu { display: none; position: absolute; top: 100%; left: 0; z-index: 1000; min-width: 160px; padding: 0; margin: 0; font-size: 14px; text-align: left; list-style: none; background-color: #fff; border: 1px solid rgba(0,0,0,.15); border-radius: 0; }
.dropdown.open > .dropdown-menu, .dropdown.show > .dropdown-menu { display: block; }
@media (min-width: 1200px) { .dropdown:hover > .dropdown-menu { display: block; } }
.dropdown-toggle::after { display: none !important; }

/* BS5 reboot felülírások, amik eltérnek a BS3-tól */
figure { margin: 0; }
button:focus:not(:focus-visible) { outline: 0; }
.btn:focus { box-shadow: none; }
.fade:not(.show) { opacity: 1; } /* a téma saját .fade-et használ átmenet nélkül */
.carousel-inner > .item { display: none; position: relative; transition: .6s ease-in-out left; }
.carousel-inner > .active { display: block; left: 0; }
.carousel-control { position: absolute; top: 0; bottom: 0; left: 0; width: 15%; font-size: 20px; color: #fff; text-align: center; opacity: .5; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.carousel-control.right { right: 0; left: auto; }

/* BS3 .lead: alsó margó és 1.4 sormagasság (a BS5 .lead ezt nem adja) */
.lead { margin-bottom: 20px; line-height: 1.4; }

/* BS3: a többsoros mező magassága a rows attribútumból jön */
textarea.form-control { height: auto; }

/* BS5-ös osztálynevek, amelyek a régi (BS3) markupban stílus nélküliek voltak – a BS5 behúzásait/méreteit semlegesítjük */
.form-check { display: block; min-height: 0; padding-left: 0; margin-bottom: 0; }
.form-check .form-check-input, .form-check-input { float: none; margin: 4px 0 0; width: auto; height: auto; vertical-align: baseline; background: revert; border: revert; appearance: auto; -webkit-appearance: checkbox; }
.form-check-label { cursor: default; }
input[type="file"].form-control { height: 34px; }

/* BS3 .table */
/* BS3 .table – a BS5 eltérő cellapaddingje, alsó kerete és háttér-árnyéka helyett */
.table { width: 100%; max-width: 100%; margin-bottom: 20px; --bs-table-bg: transparent; --bs-table-accent-bg: transparent; border-color: #ddd; }
.table > :not(caption) > * > * { padding: 8px; line-height: 1.42857143; vertical-align: top; border-bottom-width: 0; border-top: 1px solid #ddd; box-shadow: none; background-color: transparent; color: inherit; }
.table > thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #ddd; }
.table > :not(:first-child) { border-top: 0; }

/* BS5/BS3 töréspont-eltérés: a BS5 col-sm 576-tól, col-md 768-tól, col-lg 992-től ad szélességet, a BS3 csak 768/992/1200-tól.
   A köztes sávokban a BS5 szélességet nullázzuk és a BS3 szerint már érvényes kisebb osztályokat újra kiadjuk. */
@media (min-width:576px) and (max-width:767.98px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{width:auto;flex:0 0 auto}.col-xs-1{width:8.33333333%}.col-xs-2{width:16.66666667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333333%}.col-xs-5{width:41.66666667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333333%}.col-xs-8{width:66.66666667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333333%}.col-xs-11{width:91.66666667%}.col-xs-12{width:100%}}
@media (min-width:768px) and (max-width:991.98px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{width:auto;flex:0 0 auto}.col-xs-1{width:8.33333333%}.col-xs-2{width:16.66666667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333333%}.col-xs-5{width:41.66666667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333333%}.col-xs-8{width:66.66666667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333333%}.col-xs-11{width:91.66666667%}.col-xs-12{width:100%}.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}}
@media (min-width:992px) and (max-width:1199.98px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{width:auto;flex:0 0 auto}.col-xs-1{width:8.33333333%}.col-xs-2{width:16.66666667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333333%}.col-xs-5{width:41.66666667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333333%}.col-xs-8{width:66.66666667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333333%}.col-xs-11{width:91.66666667%}.col-xs-12{width:100%}.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}}

/* BS3: 768 px alatt a .container teljes szélességű (a BS5 576-tól 540px-re korlátozná) */
@media (max-width:767.98px){.container,.container-sm{max-width:none}}

/* BS3: input[type=checkbox|radio]{line-height:normal} – a BS5 nem adja; e nélkül a jelölőnégyzetes táblázatsor 2px-szel magasabb */
input[type="radio"], input[type="checkbox"] { line-height: normal; }
/* BS3 normalize: td,th{padding:0}; table{border-spacing:0} – a BS5 reboot nem nullázza (a böngésző 1px-e marad) */
td, th { padding: 0; }
table { border-spacing: 0; }

/* címsor-normalizáló alapok */
:where(.as-x){font-size:inherit;font-weight:inherit;line-height:inherit;margin:0}
:where(.as-p){margin:0 0 1em}
