/* =========================================================================
   NEUTRINO PRO (tr_neutrino_pro) — STRAT RESPONSIVE v3
   Calibrat pe template.css + core/tr_css.php reale.
   -------------------------------------------------------------------------
   Lățimi fixe identificate în template.css care se anulează aici:
     #header        width: 960px;  float: left
     #navbar        width: 950px;  height: 40px; float: left; padding-left:10px
     #content_wrapper              float: left
     .container     width: 940px   (neutilizat de index.php)
   Meniu: ul#hnav (Superfish) — submeniuri position:absolute; top:-999em
   Culori din tr_css.php: #navbar are background-color = $foreground_color
     (închis), iar #navbar a = $nav_link_color (deschis). Meniul mobil
     păstrează aceste culori — bordurile sunt deschise, nu închise.
   -------------------------------------------------------------------------
   INSTALARE
   1) index.php, în <head> (XHTML Strict — se închide cu />):
        <meta name="viewport" content="width=device-width, initial-scale=1" />
   2) Linkul acestui fișier ULTIMUL în <head>, după require tr_css.php
   3) Calea: templates/tr_neutrino_pro/css/neutrino-responsive.css
   4) Scriptul (fișier separat) imediat înainte de </body>
   ========================================================================= */


/* =========================================================
   0. BAZĂ — media fluide, fără scroll orizontal
   ========================================================= */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }

img, iframe, embed, object, video, canvas {
  max-width: 100% !important;
}
img { height: auto; }

input, select, textarea { max-width: 100%; box-sizing: border-box; }

#content_area, #content_area p, #content_area li, #content_area td,
#left, #right {
  word-wrap: break-word;
  overflow-wrap: break-word;
}


/* =========================================================
   1. ELEMENTE CU LĂȚIME FIXĂ ÎN template.css → fluide
   Se aplică la toate lățimile; la 960px rezultatul e identic.
   ========================================================= */

/* #wrapper — fără lățime fixă, doar siguranță */
#wrapper {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box;
}

/* #header: era width:960px */
#header {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

/* #navbar: era width:950px + padding-left:10px (total 960) */
#navbar {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;   /* păstrează 950px utili la desktop */
}

#navbar .nav_wrapper,
#navbar .search_wrapper {
  box-sizing: border-box;
  max-width: 100%;
}

/* #content_wrapper: float fără lățime → se fixează la 100% */
#content_wrapper {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

/* #footer.grid_16 conține grilă imbricată (#footer_menu.grid_10 +
   #copyright.grid_6). Ca procentele copiilor să se calculeze corect,
   #footer trebuie să fie 100%, nu 97.917%. */
#footer.grid_16 {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}

#left .border,
#right .border { box-sizing: border-box; max-width: 100%; }


/* =========================================================
   2. GRILA 960.gs → GRILĂ FLUIDĂ (procente)
   ========================================================= */
.container_12,
.container_16 {
  width: 100% !important;
  max-width: 960px;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

/* .container (940px) din template.css — neutilizat, dar îl facem fluid */
.container {
  width: 100% !important;
  max-width: 940px;
  box-sizing: border-box;
}

.container_12 [class*="grid_"],
.container_16 [class*="grid_"] {
  box-sizing: border-box;
  margin-left: 1.04167% !important;
  margin-right: 1.04167% !important;
  min-width: 0 !important;
}

.container_12 .alpha,
.container_16 .alpha { margin-left: 0 !important; }
.container_12 .omega,
.container_16 .omega { margin-right: 0 !important; }


/* ---------- container_16 (grila acestui template) ---------- */
.container_16 .grid_1  { width: 4.167%  !important; }
.container_16 .grid_2  { width: 10.417% !important; }
.container_16 .grid_3  { width: 16.667% !important; }
.container_16 .grid_4  { width: 22.917% !important; }
.container_16 .grid_5  { width: 29.167% !important; }
.container_16 .grid_6  { width: 35.417% !important; }
.container_16 .grid_7  { width: 41.667% !important; }
.container_16 .grid_8  { width: 47.917% !important; }
.container_16 .grid_9  { width: 54.167% !important; }
.container_16 .grid_10 { width: 60.417% !important; }
.container_16 .grid_11 { width: 66.667% !important; }
.container_16 .grid_12 { width: 72.917% !important; }
.container_16 .grid_13 { width: 79.167% !important; }
.container_16 .grid_14 { width: 85.417% !important; }
.container_16 .grid_15 { width: 91.667% !important; }
.container_16 .grid_16 { width: 97.917% !important; }

.container_16 .prefix_1  { padding-left: 6.250%  !important; }
.container_16 .prefix_2  { padding-left: 12.500% !important; }
.container_16 .prefix_3  { padding-left: 18.750% !important; }
.container_16 .prefix_4  { padding-left: 25.000% !important; }
.container_16 .prefix_5  { padding-left: 31.250% !important; }
.container_16 .prefix_6  { padding-left: 37.500% !important; }
.container_16 .prefix_7  { padding-left: 43.750% !important; }
.container_16 .prefix_8  { padding-left: 50.000% !important; }
.container_16 .prefix_9  { padding-left: 56.250% !important; }
.container_16 .prefix_10 { padding-left: 62.500% !important; }
.container_16 .prefix_11 { padding-left: 68.750% !important; }
.container_16 .prefix_12 { padding-left: 75.000% !important; }
.container_16 .prefix_13 { padding-left: 81.250% !important; }
.container_16 .prefix_14 { padding-left: 87.500% !important; }
.container_16 .prefix_15 { padding-left: 93.750% !important; }

.container_16 .suffix_1  { padding-right: 6.250%  !important; }
.container_16 .suffix_2  { padding-right: 12.500% !important; }
.container_16 .suffix_3  { padding-right: 18.750% !important; }
.container_16 .suffix_4  { padding-right: 25.000% !important; }
.container_16 .suffix_5  { padding-right: 31.250% !important; }
.container_16 .suffix_6  { padding-right: 37.500% !important; }
.container_16 .suffix_7  { padding-right: 43.750% !important; }
.container_16 .suffix_8  { padding-right: 50.000% !important; }
.container_16 .suffix_9  { padding-right: 56.250% !important; }
.container_16 .suffix_10 { padding-right: 62.500% !important; }
.container_16 .suffix_11 { padding-right: 68.750% !important; }
.container_16 .suffix_12 { padding-right: 75.000% !important; }
.container_16 .suffix_13 { padding-right: 81.250% !important; }
.container_16 .suffix_14 { padding-right: 87.500% !important; }
.container_16 .suffix_15 { padding-right: 93.750% !important; }

.container_16 .push_1  { left: 6.250%  !important; }
.container_16 .push_2  { left: 12.500% !important; }
.container_16 .push_3  { left: 18.750% !important; }
.container_16 .push_4  { left: 25.000% !important; }
.container_16 .push_5  { left: 31.250% !important; }
.container_16 .push_6  { left: 37.500% !important; }
.container_16 .push_7  { left: 43.750% !important; }
.container_16 .push_8  { left: 50.000% !important; }
.container_16 .push_9  { left: 56.250% !important; }
.container_16 .push_10 { left: 62.500% !important; }
.container_16 .push_11 { left: 68.750% !important; }
.container_16 .push_12 { left: 75.000% !important; }

.container_16 .pull_1  { left: -6.250%  !important; }
.container_16 .pull_2  { left: -12.500% !important; }
.container_16 .pull_3  { left: -18.750% !important; }
.container_16 .pull_4  { left: -25.000% !important; }
.container_16 .pull_5  { left: -31.250% !important; }
.container_16 .pull_6  { left: -37.500% !important; }
.container_16 .pull_7  { left: -43.750% !important; }
.container_16 .pull_8  { left: -50.000% !important; }
.container_16 .pull_9  { left: -56.250% !important; }
.container_16 .pull_10 { left: -62.500% !important; }
.container_16 .pull_11 { left: -68.750% !important; }
.container_16 .pull_12 { left: -75.000% !important; }


/* ---------- container_12 (rezervă) ---------- */
.container_12 .grid_1  { width: 6.250%  !important; }
.container_12 .grid_2  { width: 14.583% !important; }
.container_12 .grid_3  { width: 22.917% !important; }
.container_12 .grid_4  { width: 31.250% !important; }
.container_12 .grid_5  { width: 39.583% !important; }
.container_12 .grid_6  { width: 47.917% !important; }
.container_12 .grid_7  { width: 56.250% !important; }
.container_12 .grid_8  { width: 64.583% !important; }
.container_12 .grid_9  { width: 72.917% !important; }
.container_12 .grid_10 { width: 81.250% !important; }
.container_12 .grid_11 { width: 89.583% !important; }
.container_12 .grid_12 { width: 97.917% !important; }

.container_12 .prefix_1  { padding-left: 8.333%  !important; }
.container_12 .prefix_2  { padding-left: 16.667% !important; }
.container_12 .prefix_3  { padding-left: 25.000% !important; }
.container_12 .prefix_4  { padding-left: 33.333% !important; }
.container_12 .prefix_5  { padding-left: 41.667% !important; }
.container_12 .prefix_6  { padding-left: 50.000% !important; }
.container_12 .prefix_7  { padding-left: 58.333% !important; }
.container_12 .prefix_8  { padding-left: 66.667% !important; }
.container_12 .prefix_9  { padding-left: 75.000% !important; }
.container_12 .prefix_10 { padding-left: 83.333% !important; }
.container_12 .prefix_11 { padding-left: 91.667% !important; }

.container_12 .suffix_1  { padding-right: 8.333%  !important; }
.container_12 .suffix_2  { padding-right: 16.667% !important; }
.container_12 .suffix_3  { padding-right: 25.000% !important; }
.container_12 .suffix_4  { padding-right: 33.333% !important; }
.container_12 .suffix_5  { padding-right: 41.667% !important; }
.container_12 .suffix_6  { padding-right: 50.000% !important; }
.container_12 .suffix_7  { padding-right: 58.333% !important; }
.container_12 .suffix_8  { padding-right: 66.667% !important; }
.container_12 .suffix_9  { padding-right: 75.000% !important; }
.container_12 .suffix_10 { padding-right: 83.333% !important; }
.container_12 .suffix_11 { padding-right: 91.667% !important; }

.container_12 .push_1  { left: 8.333%  !important; }
.container_12 .push_2  { left: 16.667% !important; }
.container_12 .push_3  { left: 25.000% !important; }
.container_12 .push_4  { left: 33.333% !important; }
.container_12 .push_5  { left: 41.667% !important; }
.container_12 .push_6  { left: 50.000% !important; }
.container_12 .push_7  { left: 58.333% !important; }
.container_12 .push_8  { left: 66.667% !important; }

.container_12 .pull_1  { left: -8.333%  !important; }
.container_12 .pull_2  { left: -16.667% !important; }
.container_12 .pull_3  { left: -25.000% !important; }
.container_12 .pull_4  { left: -33.333% !important; }
.container_12 .pull_5  { left: -41.667% !important; }
.container_12 .pull_6  { left: -50.000% !important; }
.container_12 .pull_7  { left: -58.333% !important; }
.container_12 .pull_8  { left: -66.667% !important; }


/* =========================================================
   3. BUTON MENIU MOBIL
   Alb, pentru că #navbar are background-color închis din tr_css.php
   ========================================================= */
.fse-nav-toggle {
  display: none;
  position: relative;
  width: 48px;
  height: 36px;
  padding: 0;
  margin: 2px auto;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 4px;
  cursor: pointer;
  z-index: 999;
}
.fse-nav-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  margin: 4px auto;
  background: #ffffff;
  transition: transform .2s ease, opacity .2s ease;
}
.fse-nav-toggle.is-active span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.fse-nav-toggle.is-active span:nth-child(2) { opacity: 0; }
.fse-nav-toggle.is-active span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }


/* =========================================================
   4. ≤ 980px — padding lateral pe container
   ========================================================= */
@media (max-width: 980px) {
  .container_12,
  .container_16 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}


/* =========================================================
   5. ≤ 820px — TABLETĂ / MOBIL: stivuire + meniu hamburger
   ========================================================= */
@media (max-width: 820px) {

  /* ---- grila se stivuiește ---- */
  .container_12 [class*="grid_"],
  .container_16 [class*="grid_"] {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
    display: block !important;
    left: auto !important;
    right: auto !important;
  }
  .container_12 [class*="prefix_"],
  .container_12 [class*="suffix_"],
  .container_16 [class*="prefix_"],
  .container_16 [class*="suffix_"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ---- conținutul înaintea coloanelor laterale ---- */
  #content_wrapper {
    display: flex !important;
    flex-direction: column;
    float: none !important;
    padding: 15px 0 !important;
  }
  #content_area { order: 1; }
  #left  { order: 2; margin-top: 20px !important; }
  #right { order: 3; margin-top: 20px !important; }

  /* ---- bara de limbi ---- */
  #wrapper > .container_16 { text-align: center; }
  .mod-languages {
    float: none !important;
    display: inline-block !important;
    margin-right: 0 !important;
  }

  /* ---- antet: era width:960px, float:left ---- */
  #header {
    float: none !important;
    height: auto !important;
    text-align: center;
    background-position: 0 bottom;
  }
  #header .moduletable,
  #header .module,
  #header .custom { float: none !important; width: auto !important; }
  #header img {
    display: block;
    margin: 0 auto;
    max-width: 100% !important;
    height: auto !important;
  }

  /* ---- NAVBAR: era height:40px, float:left ---- */
  #navbar {
    float: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 4px 10px !important;
    text-align: center;
    overflow: hidden;
  }

  .fse-nav-toggle { display: block; }

  #navbar .nav_wrapper {
    display: none;
    float: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    text-align: left;
  }
  #navbar .nav_wrapper.is-open { display: block !important; }

  #navbar .nav_wrapper .moduletable,
  #navbar .nav_wrapper .module {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ---- ul#hnav: Superfish dezactivat vizual ---- */
  #hnav,
  #navbar ul {
    float: none !important;
    display: block !important;
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: normal !important;
    list-style: none !important;
    border: 0 !important;
    background-image: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  /* submeniurile erau position:absolute; top:-999em; width:18em */
  #hnav ul,
  #hnav li:hover ul,
  #hnav li.sfHover ul,
  ul#hnav li li:hover ul,
  ul#hnav li li.sfHover ul,
  ul#hnav li li li:hover ul,
  ul#hnav li li li.sfHover ul,
  #navbar ul ul {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    display: block !important;
    visibility: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    background-image: none !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  #hnav li,
  #navbar li {
    float: none !important;
    display: block !important;
    width: 100% !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
    list-style: none !important;
  }
  #navbar .nav_wrapper li:last-child { border-bottom: 0 !important; }

  #hnav a, #hnav span,
  #navbar ul a,
  #navbar ul span,
  #navbar ul span.separator {
    display: block !important;
    float: none !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 12px 16px !important;
    margin: 0 !important;
    line-height: 1.35 !important;
    font-size: 0.95rem !important;
    text-align: left !important;
    white-space: normal !important;
    background-image: none !important;
    border: 0 !important;
  }

  /* indentare submeniuri */
  #navbar ul ul a,
  #navbar ul ul span { padding-left: 34px !important; font-size: 0.9rem !important; }
  #navbar ul ul ul a,
  #navbar ul ul ul span { padding-left: 52px !important; }

  /* săgețile Superfish + umbra: inutile când submeniul e deschis */
  .sf-sub-indicator { display: none !important; }
  .sf-shadow ul,
  .sf-shadow ul.sf-shadow-off {
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }
  #hnav a.sf-with-ul { padding-right: 16px !important; }

  /* elementul curent rămâne evidențiat, dar fără sprite orizontal */
  #navbar ul .selected > a,
  #navbar ul .selected > span,
  #navbar ul .active > a {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 0 !important;
    margin: 0 !important;
  }

  /* ---- căutare (modul comentat în index.php, dar dacă se reactivează) ---- */
  #navbar .search_wrapper {
    float: none !important;
    width: 100% !important;
    margin: 6px 0 !important;
    box-sizing: border-box;
  }
  #navbar .search_wrapper input#mod-search-searchword {
    width: 100% !important;
    box-sizing: border-box;
  }

  /* ---- layout blog Joomla ---- */
  .items-row,
  .items-leading,
  .content_item {
    float: none !important;
    width: 100% !important;
  }
  .items-row .item,
  .cols-2 .column-1, .cols-2 .column-2,
  .cols-3 .column-1, .cols-3 .column-2, .cols-3 .column-3,
  .column-1, .column-2, .column-3 {
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ---- elemente cu margini negative / float care sparg pe mobil ---- */
  ul.actions {
    float: none !important;
    margin: 0 0 10px !important;
  }
  ul.actions li { float: none !important; display: inline-block !important; margin: 0 10px 0 0 !important; }
  dl.search-results .result-category {
    float: none !important;
    display: block !important;
    margin-top: 0 !important;
  }
  .tplc { position: static !important; bottom: auto !important; }

  /* ---- imagini flotate în articole ---- */
  #content_area img.pull-left,
  #content_area img.pull-right,
  #content_area .img_caption {
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }

  /* ---- tabele cu scroll orizontal (necesită scriptul) ---- */
  .fse-table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1rem;
  }
  .fse-table-scroll > table { min-width: 520px; margin-bottom: 0; }

  /* ---- subsol ---- */
  #footer { text-align: center; height: auto !important; }
  #footer_menu, #copyright { text-align: center !important; }
  #footer_menu ul.joomla-nav,
  #footer_menu ul.joomla-nav-menu { margin: 0 !important; padding: 0 !important; }
  #footer_menu li {
    display: inline-block !important;
    float: none !important;
    margin: 0 10px 6px !important;
  }
  #copyright { margin-top: 12px !important; }
}


/* =========================================================
   6. ≤ 600px — TELEFON
   ========================================================= */
@media (max-width: 600px) {
  body { font-size: 15px; }

  .container_12,
  .container_16 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  #main { margin-bottom: 25px !important; }

  h1 { font-size: 1.6rem !important;  line-height: 1.25 !important; }
  h2 { font-size: 1.35rem !important; line-height: 1.3 !important; }
  h3 { font-size: 1.15rem !important; }
  h2.contentheading { font-size: 1.3em !important; }

  dl.article-info dd {
    display: block !important;
    margin: 2px 0 !important;
    padding-left: 0 !important;
  }

  .pagination ul li {
    display: inline-block !important;
    margin: 0 6px 6px 0 !important;
  }

  .breadcrumb, .breadcrumbs { font-size: 11px !important; }

  fieldset { padding: 8px !important; }
  div.login-fields label { width: auto !important; display: block !important; }
  p#form-login-username label, p#form-login-password label { width: auto !important; }

  blockquote { margin-left: 0 !important; padding-left: 10px !important; font-size: 1.05em !important; }
  cite { margin-left: 0 !important; }

  #left .module, #right .module { padding: 10px !important; }

  #content_area > * { max-width: 100% !important; }
}


/* =========================================================
   7. ≤ 400px — telefoane mici
   ========================================================= */
@media (max-width: 400px) {
  .container_12,
  .container_16 {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  h1 { font-size: 1.4rem !important; }
  #navbar ul a, #hnav a { padding: 11px 12px !important; }
  .fse-table-scroll > table { min-width: 440px; }
}

/* ===== FSE — LĂȚIRE PAGINĂ 960 -> 1280 (append la tail) ===== */
/* width:100% e deja setat mai sus; se schimbă doar plafonul.    */
/* Sub 1280 pagina rămâne fluidă, sub 820 se stivuiește ca acum. */
.container_12,
.container_16 { max-width: 1280px !important; }

/* Banner 960x150: centrat în antetul lărgit, ca să nu rămână    */
/* agățat în stânga cu gol în dreapta. CSS-only, fără deformare.  */
#header { text-align: center !important; }
#header img { display: inline-block !important; max-width: 100% !important; height: auto !important; }

/* OPȚIONAL — bandă de brand sub logo, dacă marginile par goale:
#header { background: #154466 !important; } */

/* ===== FSE — LĂȚIRE PAGINĂ 960 -> 1280 ===== */
.container_12,
.container_16 { max-width: 1280px !important; }

/* ============================================================================
   FSE — PAS MOBIL GLOBAL (toate paginile)
   Se lipește la SFÂRȘITUL fișierului neutrino-responsive.css
   (se încarcă ultimul + are ?v=, deci ocolește cache-ul combiner-ului).
   După lipire: bumpează ?v= pe link și dă Clear Cache în Joomla.
   ----------------------------------------------------------------------------
   Principiu „maximă eficiență”:
   · tiles compacte (cifre/statistici/acces rapid) → 2 coloane pe telefon
   · carduri de conținut (programe, testimoniale, documente) → 1 coloană
   · grile dense (3–4 col) → 2 coloane pe tabletă
   · heroi: padding + titlu mai mici, centrat
   · rânduri flex care se înghesuie → stivuite
   · fără scroll orizontal, imagini fluide
   ============================================================================ */

/* 0. Anti-overflow pe toate namespace-urile FSE */
[class^="fse-"], [class*=" fse-"]{ max-width:100%; }
[class^="fse-"] img{ max-width:100%; height:auto; }


/* ============================================================================
   0b. HARDENING OVERFLOW ORIZONTAL — ≤ 820px
   Fixează cazul „conținutul e mai lat decât ecranul, tăiat în dreapta"
   (ex. pagina Structura). Forțează coloana de conținut + barele + wrapper-ele
   FSE la lățimea reală a ecranului și lasă titlurile lungi să se rupă.
   ============================================================================ */
@media (max-width:820px){
  #wrapper, #main, #content_wrapper, #content_area, #left, #right{
    max-width:100% !important; min-width:0 !important; box-sizing:border-box;
  }
  #content_area{ width:100% !important; float:none !important; }
  #left, #right{ width:100% !important; float:none !important; }

  /* wrapper-ele FSE stau în lățimea reală (nu împing 1000–1100px) */
  [class^="fse-"], [class*=" fse-"]{ max-width:100% !important; min-width:0 !important; }
  [class^="fse-"] *{ min-width:0; }

  /* titluri / text lung se rup în loc să lățească cardul */
  [class^="fse-"] h1, [class^="fse-"] h2, [class^="fse-"] h3, [class^="fse-"] h4,
  [class^="fse-"] p, [class^="fse-"] li, [class^="fse-"] td, [class^="fse-"] cite,
  [class^="fse-"] summary, [class^="fse-"] blockquote,
  [class^="fse-"] .struct-name, [class^="fse-"] .p-name, [class^="fse-"] .lc-name,
  [class^="fse-"] .m-name, [class^="fse-"] .hub-name, [class^="fse-"] .partner-name,
  [class^="fse-"] .tl-title, [class^="fse-"] .c-t, [class^="fse-"] .d-t,
  [class^="fse-"] .ev-name, [class^="fse-"] .pr-name{
    overflow-wrap:anywhere;
  }
}


/* ============================================================================
   ≤ 860px — TABLETĂ: grilele dense (3–4 col) trec la 2 coloane
   ============================================================================ */
@media (max-width:860px){
  .fse-erasmus .up-grid,
  .fse-ri .hub-grid, .fse-ri .partners-grid,
  .fse-adm .prog-grid,
  .fse-licenta .prog-grid, .fse-master .prog-grid,
  .fse-programe .prog-grid, .fse-programe .prog-grid.two,
  .fse-home__cards, .fse-home__rgrid, .fse-home .p-grid,
  .fse-pfinfo .facts,
  .fse-conditii .fee-grid, .fse-conditii .tema-grid,
  .fse-program .dl-grid,
  .fse-admitere .doc-grid, .fse-admitere .lists-grid, .fse-admitere .exam-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}


/* ============================================================================
   ≤ 600px — TELEFON
   ============================================================================ */
@media (max-width:600px){

  /* --- TILES COMPACTE → 2 coloane (eficient, fără risipă de spațiu) --- */
  .fse-home__proof-grid,
  .fse-home .facts,
  .fse-adm .facts, .fse-ri .facts, .fse-stud .facts,
  .fse-evenimente .facts, .fse-pfinfo .facts,
  .fse-stud .rapid,
  .fse-conditii .fee-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }

  /* --- CARDURI DE CONȚINUT / RÂNDURI → o coloană (lizibilitate) --- */
  .fse-admitere .doc-grid, .fse-admitere .poster-grid, .fse-admitere .lists-grid,
  .fse-admitere .exam-grid, .fse-admitere .adm-locuri,
  .fse-burse .altb,
  .fse-conditii .cal-grid, .fse-conditii .tema-grid,
  .fse-conducere .lead-grid, .fse-conducere .council-grid, .fse-conducere .staff-grid,
  .fse-dcaaef .staff-grid, .fse-dmm .staff-grid,
  .fse-erasmus .up-grid, .fse-erasmus .partners-grid,
  .fse-ghid .toc ol, .fse-ghid .cta-grid,
  .fse-anunturi .doc-list, .fse-anunturi .perm-grid,
  .fse-info .doc-list, .fse-info .pay-grid,
  .fse-planif .grid,
  .fse-program .meta-grid, .fse-program .dl-grid, .fse-program .prog-grid,
  .fse-licenta .prog-grid, .fse-master .prog-grid,
  .fse-programe .prog-grid, .fse-programe .prog-grid.two,
  .fse-pfinfo .part-grid, .fse-pfinfo .gt-grid,
  .fse-rose .ob-grid, .fse-rose .gt-list, .fse-rose .act-grid,
  .fse-proiecte .pr-grid,
  .fse-adm .prog-grid, .fse-adm .docs, .fse-adm .conf-docs,
  .fse-structuri .struct-grid,
  .fse-ri .hub-grid, .fse-ri .docs, .fse-ri .up-grid, .fse-ri .partners-grid,
  .fse-stud .docs, .fse-stud .date-grid, .fse-stud .pers-grid,
  .fse-evenimente .docs,
  .fse-home__timeline, .fse-home__cards, .fse-home__rgrid,
  .fse-home__voci-grid, .fse-home__news-grid,
  .fse-home .h-admit, .fse-home .p-grid, .fse-home .r-grid,
  .fse-home .v-grid, .fse-home .h-contact{
    grid-template-columns:1fr !important;
  }

  /* --- RÂNDURI FLEX care se înghesuie → stivuite --- */
  .fse-admitere .careers,
  .fse-cercetare .conf-now,
  .fse-finstud .chest,
  .fse-proform .echipa,
  .fse-rose .r-hero,
  .fse-anunturi .quiz, .fse-info .quiz, .fse-stud .qr-box,
  .fse-conducere .lead-card{
    flex-direction:column !important; align-items:flex-start !important;
  }
  /* .top din pfinfo e grid 1fr 300px → o coloană */
  .fse-pfinfo .top{ grid-template-columns:1fr !important; }
  .fse-pfinfo .top .rollup{ max-width:300px; margin:0 auto; }

  /* --- HEROI: padding + titlu mai mici, centrat --- */
  .fse-admitere .adm-hero, .fse-burse .b-hero, .fse-cercetare .intro,
  .fse-conditii .cond-hero, .fse-docs .docs-hero,
  .fse-docs-licenta .dm-hero, .fse-docs-master .dm-hero,
  .fse-erasmus .erasmus-hero, .fse-finstud .f-hero, .fse-galerie .g-hero,
  .fse-ghid .g-hero, .fse-anunturi .info-hero, .fse-info .info-hero,
  .fse-planif .p-hero, .fse-program .prog-hero,
  .fse-pfact .pf-hero, .fse-pfnews .pf-hero, .fse-proform .pf-hero,
  .fse-pfmet .pf-hero, .fse-pfinfo .pf-hero, .fse-proiecte .pr-hero,
  .fse-adm .ra-hero, .fse-ri .ri-hero, .fse-stud .s-hero,
  .fse-evenimente .ev-hero{
    padding:1.6rem 1.2rem !important;
  }
  .fse-admitere .adm-hero h1, .fse-burse .b-hero h1, .fse-conditii .cond-hero h1,
  .fse-docs .docs-hero h1, .fse-docs-licenta .dm-hero h1, .fse-docs-master .dm-hero h1,
  .fse-erasmus .erasmus-hero h1, .fse-finstud .f-hero h1, .fse-galerie .g-hero h1,
  .fse-ghid .g-hero h1, .fse-anunturi .info-hero h1, .fse-info .info-hero h1,
  .fse-planif .p-hero h1, .fse-program .prog-hero h1,
  .fse-pfact .pf-hero h1, .fse-pfnews .pf-hero h1, .fse-proform .pf-hero h1,
  .fse-pfmet .pf-hero h1, .fse-pfinfo .pf-hero h1, .fse-proiecte .pr-hero h1,
  .fse-adm .ra-hero h1, .fse-ri .ri-hero h1, .fse-stud .s-hero h1,
  .fse-evenimente .ev-hero h1{
    font-size:1.5rem !important; line-height:1.25 !important;
  }
  /* Home hero (ambele variante) */
  .fse-home .hero-inner, .fse-home__hero-inner{ padding:2rem 1.2rem !important; }
  .fse-home .hero-inner h1, .fse-home__hero h1{ font-size:1.7rem !important; }

  /* --- TABELE: scroll orizontal în loc de spargere --- */
  .fse-conditii .offer-table, .fse-program table.plan,
  .fse-ghid table.tax, .fse-finstud table.hours{
    display:block; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
  }
}


/* ============================================================================
   ≤ 380px — TELEFOANE MICI: și tiles-urile trec pe o coloană
   ============================================================================ */
@media (max-width:380px){
  .fse-home__proof-grid,
  .fse-home .facts,
  .fse-adm .facts, .fse-ri .facts, .fse-stud .facts,
  .fse-evenimente .facts, .fse-pfinfo .facts,
  .fse-stud .rapid,
  .fse-conditii .fee-grid{
    grid-template-columns:1fr !important;
  }
}


@media (max-width: 960px) {

    html,
    body {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    #wrapper,
    .container_16,
    #main.container_16 {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}


@media (max-width: 960px) {

    #header,
    #navbar,
    #content_wrapper,
    #content_area {
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
}


@media (max-width: 768px) {

    #content_wrapper {
        display: block !important;
    }

    #left,
    #content_area,
    .grid_4,
    .grid_12 {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}