/* ==== Közös reszponzív alap (generálva: build/assets/_base.css) ====
 * Asztali nézetben semmi nem változik: a beszúrt menügomb rejtett,
 * minden más szabály a site töréspontja ALATT lép életbe.
 */
.hm-menu-btn { display: none; }

/* Clearbox lightbox: az eredeti a KÉP szélességéből számolja a bal margót (left:50% + margin-left),
 * de keskeny képnél a hosszú felirat szélesebbre nyújtja az ablakot, ami így jobbra csúszik.
 * Javítás minden nézetben: a tényleges szélesség szerint középre igazítva. */
#CB_Window { left: 0 !important; right: 0 !important; margin-left: auto !important; margin-right: auto !important; width: -moz-fit-content; width: fit-content; }
/* A bélyegkép-sáv (#CB_Thumbs) szélessége a képé, de a bal szélhez igazodik, a kép viszont középen van
 * → keskeny képnél a sáv balra csúszik. Javítás: a sáv is középen, pontosan a kép alatt
 * (a szélességét a JS állítja és abból számolja a görgetést, ahhoz nem nyúlunk). */
#CB_Thumbs { left: 0 !important; right: 0 !important; margin-left: auto !important; margin-right: auto !important; }

@media (max-width: 749px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { min-width: 0 !important; overflow-x: hidden; }

  /* a Clearbox lightbox (#CB_All) képeit kihagyjuk: méretüket és helyüket a saját JS-e számolja
   * (pl. a bélyegképsor 50px magas képei height:auto mellett egymásra csúsznának).
   * :where() → a specifikusság marad 0,0,1, a sablonok saját képszabályai továbbra is erősebbek. */
  :where(img, video, object, embed):where(:not(#CB_All *)) { max-width: 100%; }
  :where(img):where(:not(#CB_All *)) { height: auto; }
  iframe { max-width: 100%; }
  iframe[width][height], video[width][height] {
    width: 100% !important; height: auto !important; aspect-ratio: var(--hm-ratio, 16 / 9);
  }
  .hm-audio { width: 100% !important; max-width: 460px; }

  /* hosszú szavak, URL-ek ne lógjanak ki */
  .hm-content, .hm-content p, .hm-content td, .hm-content li { overflow-wrap: anywhere; }

  /* menü gomb */
  .hm-menu-btn {
    display: flex; align-items: center; gap: 10px;
    width: 100%; box-sizing: border-box; margin: 0; padding: 12px 16px;
    border: 0; background: transparent; color: inherit;
    font: bold 15px/1.2 Tahoma, Arial, Helvetica, sans-serif; text-align: left; cursor: pointer;
  }
  .hm-burger { display: inline-flex; flex-direction: column; justify-content: space-between; width: 20px; height: 14px; }
  .hm-burger i { display: block; height: 2px; background: currentColor; border-radius: 1px; transition: transform .2s, opacity .2s; }
  .hm-menu-btn.hm-open .hm-burger i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .hm-menu-btn.hm-open .hm-burger i:nth-child(2) { opacity: 0; }
  .hm-menu-btn.hm-open .hm-burger i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .hm-menu:not(.hm-open) { display: none !important; }

  /* galériák: a 3 oszlopos táblázat megmarad, a cellák arányosan zsugorodnak */
  table.keptar_table { width: 100% !important; table-layout: fixed; }
  table.keptar_table td { width: auto !important; box-sizing: border-box; }
  table.keptar_table img { max-width: calc(100% - 8px); }
  table.keptar_table td.keptar_td, table.keptar_table td.keptar_td_vege { height: auto !important; padding: 8px 0; }

  /* űrlap mezők ne lógjanak ki */
  input.form-text, textarea, select { max-width: 100%; box-sizing: border-box; }
}

/* ==== Hommage.hu portál – mobil nézet ====
 * Eredeti: 750px széles, fejléc (logó + leírás | arcképcsarnok-diavetítés), szöveg | művészlista.
 * 750px alatt egy oszlop: arcképcsarnok, logó, leírás, szöveg, művészek, támogatók.
 * (Tableten – 768px felett – az eredeti elrendezés kifér, változatlan.)
 */
@media (max-width: 749px) {
  body { width: auto; padding: 0; }
  #container { margin: 0; padding: 14px 14px 20px; }
  #arckepcsarnok { float: none; width: auto; margin: 0 0 14px; }
  #kep { aspect-ratio: 425 / 204; }
  #kep img { width: 100%; box-sizing: border-box; }
  #logo { width: auto; margin: 0 0 8px; }
  #desc { width: auto; height: auto; min-height: 137px; padding-bottom: 10px; margin: 0 0 20px; }
  #desc p, #leiras { width: auto !important; }
  #main { float: none; width: auto; padding: 0; border-right: 0; }
  #sidebar { float: none; width: auto; margin-top: 24px; padding-top: 16px; border-top: 1px solid #d8d8d8; }
  #sidebar img { max-width: 100%; }
}
