/* ============================================================
   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; }
.row > * { padding-right: 15px; padding-left: 15px; min-height: 1px; }

/* 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; float: left;
}
.row > [class*="col-"] { float: none; }

/* 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; }
/* 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; }
.row:before, .row:after { display: none; } /* flex sorban zavarna */

/* --- 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) --- */
h1, .h1 { font-size: 36px; }
h2, .h2 { font-size: 30px; }
h3, .h3 { font-size: 24px; }
h4, .h4 { font-size: 18px; }
h5, .h5 { font-size: 14px; }
h6, .h6 { font-size: 12px; }
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, h2, h3, .h2, .h3 { margin-top: 20px; margin-bottom: 10px; }
h4, h5, h6, .h4, .h5, .h6 { margin-top: 10px; margin-bottom: 10px; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; }
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; }
.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; }
.navbar-collapse.show { 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; }
