/* ===========================
   OREX CORE CSS (scoped)
   Se aplică DOAR pe paginile care au: <body class="core">
   =========================== */

:root{
  --container: 1120px;
  --pad-x: clamp(16px, 4vw, 28px);

  --fs-base: clamp(16px, 1.1vw, 18px);
  --fs-small: clamp(13px, 0.95vw, 15px);
  --fs-h1: clamp(30px, 4.2vw, 46px);
  --fs-h2: clamp(22px, 2.6vw, 34px);
  --fs-h3: clamp(18px, 2.0vw, 24px);

  --lh: 1.65;
  --radius: 18px;
  --shadow: 0 10px 30px rgba(0,0,0,.10);

  --text: #111;
  --muted: rgba(0,0,0,.68);
  --line: rgba(0,0,0,.12);

  --btn-bg: rgba(0,0,0,.04);
  --btn-bg-hover: rgba(0,0,0,.07);
}

/* globale sigure */
*, *::before, *::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
img, video{ max-width: 100%; height: auto; display: block; }

/* ===== totul de mai jos se aplică DOAR pe paginile cu body.core ===== */
body.core{
  margin: 0;
  font-size: var(--fs-base);
  line-height: var(--lh);
  color: var(--text);
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
}

body.core a{ color: inherit; text-decoration: none; }

body.core h1, body.core h2, body.core h3{ margin: 0 0 .75rem; line-height: 1.15; }
body.core h1{ font-size: var(--fs-h1); }
body.core h2{ font-size: var(--fs-h2); }
body.core h3{ font-size: var(--fs-h3); }

body.core p{ margin: 0 0 1rem; color: var(--muted); }
body.core small{ font-size: var(--fs-small); color: var(--muted); }

body.core .container{
  width: min(var(--container), calc(100% - (2 * var(--pad-x))));
  margin-inline: auto;
}

body.core section{ padding: clamp(48px, 8vw, 96px) 0; }

body.core .section-title{ text-align: center; letter-spacing: .2px; }
body.core .divider{
  width: min(90px, 30vw);
  height: 3px;
  background: var(--line);
  margin: 14px auto 22px;
  border-radius: 999px;
}
body.core .lead{
  max-width: 75ch;
  margin: 0 auto 22px;
  text-align: center;
}

/* Navbar */
body.core header,
body.core .site-header{
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
body.core nav{
  width: min(var(--container), calc(100% - (2 * var(--pad-x))));
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  padding: 12px 0;
}
body.core nav a{
  font-size: var(--fs-small);
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid transparent;
}
body.core nav a:hover{ border-color: var(--line); }

/* Buttons */
body.core .btn,
body.core button,
body.core a[href$=".pdf"],
body.core a[href*="Descarcă"],
body.core a[href*="Download"]{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--btn-bg);
  font-size: var(--fs-small);
  line-height: 1;
}
body.core .btn:hover,
body.core button:hover,
body.core a[href$=".pdf"]:hover,
body.core a[href*="Descarcă"]:hover,
body.core a[href*="Download"]:hover{
  background: var(--btn-bg-hover);
}

/* Grids */
body.core .grid, body.core .gal-grid, body.core .collection-grid{
  display: grid;
  gap: clamp(14px, 2vw, 22px);
  width: min(var(--container), calc(100% - (2 * var(--pad-x))));
  margin-inline: auto;
}
@media (min-width: 980px){
  body.core .grid-3, body.core .collection-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 979px){
  body.core .grid-3, body.core .collection-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  body.core .grid-3, body.core .collection-grid, body.core .gal-grid{ grid-template-columns: 1fr; }
}

/* GRID egal în ambele limbi */
.tech-photos{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  align-items: stretch;
}

/* Card egal ca înălțime */
.tech-photo{
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Imagine cu înălțime fixă */
.tech-photo img{
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 0.7rem;
}

/* Caption rămâne jos, dar nu rupe layout-ul */
.tech-photo-caption{
  margin-top: 0.75rem;
}

/* Cards */
body.core .card, body.core .collection-card, body.core .gal-card, body.core .watch-card{
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  background: #fff;
}

/* Media */
body.core figure, body.core .figure, body.core .hero-media, body.core .section-media{
  width: min(860px, 100%);
  margin-inline: auto;
  border-radius: var(--radius);
  overflow: hidden;
}

/* === FIX tech cards equal height (RO+EN) === */
.tech-photos{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
}

.tech-photos > .tech-photo{
  margin: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.tech-photos > .tech-photo > img{
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0.7rem !important;
}

.tech-photos > .tech-photo > .tech-photo-caption{
  margin-top: 0.75rem !important;
}
