/* ==========================================================================
   MCA Grup - stiluri homepage 2026
   Incarcate DOAR pe homepage, dupa custom.css. Toate clasele sunt prefixate
   cu .mca- ca sa nu intre in conflict cu tema Porto / Bootstrap 3.
   ========================================================================== */

:root {
  --mca-orange: #ed6d20;
  --mca-orange-dark: #cf5810;
  --mca-ink: #1b2227;
  --mca-ink-soft: #2c363d;
  --mca-slate: #5b666f;
  --mca-line: #e3e8eb;
  --mca-soft: #f5f8f9;
  --mca-radius: 6px;
  --mca-shadow: 0 1px 3px rgba(27, 34, 39, .08), 0 6px 18px rgba(27, 34, 39, .06);
  --mca-shadow-up: 0 4px 10px rgba(27, 34, 39, .10), 0 14px 34px rgba(27, 34, 39, .12);
}

/* --- utilitare de sectiune ------------------------------------------------ */

.mca-sec {
  padding: 54px 0;
}

.mca-sec--soft {
  background: var(--mca-soft);
  border-top: 1px solid var(--mca-line);
  border-bottom: 1px solid var(--mca-line);
}

.mca-sec-head {
  margin-bottom: 30px;
}

.mca-sec-head h2 {
  margin: 0 0 8px;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--mca-ink);
  letter-spacing: -.01em;
}

.mca-sec-head h2 em {
  font-style: normal;
  color: var(--mca-orange);
}

.mca-sec-head p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--mca-slate);
  max-width: 720px;
}

.mca-sec-head--center {
  text-align: center;
}

.mca-sec-head--center p {
  margin-left: auto;
  margin-right: auto;
}

/* linia portocalie de sub titlu */
.mca-sec-head h2:after {
  content: "";
  display: block;
  width: 52px;
  height: 3px;
  margin-top: 14px;
  background: var(--mca-orange);
  border-radius: 2px;
}

.mca-sec-head--center h2:after {
  margin-left: auto;
  margin-right: auto;
}

/* --- HERO ----------------------------------------------------------------- */

.mca-hero {
  position: relative;
  overflow: hidden;
  background: var(--mca-ink);
  min-height: 430px;
}

.mca-hero__slides {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.mca-hero__slide {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* --mca-bg si --mca-bg-wide sunt puse inline, per slide, din index.app.php */
  background-image: var(--mca-bg);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1.1s ease-in-out;
}

/* Pe ecrane late hero-ul depaseste 2,5:1, deci varianta normala ar fi taiata
   pe verticala peste produs. Trecem la varianta 3,4:1; daca slide-ul nu are
   una, var() cade inapoi pe cea normala. */
@media (min-width: 1600px) {
  .mca-hero__slide {
    background-image: var(--mca-bg-wide, var(--mca-bg));
  }
}

.mca-hero__slide.is-active {
  opacity: 1;
}

/* voal intunecat ca textul sa fie lizibil peste orice fotografie */
.mca-hero__veil {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(100deg,
      rgba(15, 20, 24, .90) 0%,
      rgba(15, 20, 24, .78) 34%,
      rgba(15, 20, 24, .38) 62%,
      rgba(15, 20, 24, .18) 100%);
}

.mca-hero__inner {
  position: relative;
  padding: 66px 0 60px;
}

.mca-hero__box {
  max-width: 620px;
}

.mca-hero__eyebrow {
  display: inline-block;
  margin-bottom: 16px;
  padding: 6px 13px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff;
  background: var(--mca-orange);
  border-radius: 3px;
}

.mca-hero__box h1 {
  margin: 0 0 16px;
  font-size: 40px;
  line-height: 1.13;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.02em;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .35);
}

.mca-hero__box p {
  margin: 0 0 26px;
  font-size: 16.5px;
  line-height: 1.62;
  color: rgba(255, 255, 255, .90);
  text-shadow: 0 1px 8px rgba(0, 0, 0, .3);
}

.mca-hero__actions {
  margin-bottom: 22px;
}

/* butoane */
.mca-btn {
  display: inline-block;
  padding: 13px 26px;
  margin: 0 10px 10px 0;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  border-radius: var(--mca-radius);
  border: 2px solid transparent;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.mca-btn:focus {
  outline: 3px solid rgba(237, 109, 32, .55);
  outline-offset: 2px;
}

.mca-btn--primary {
  background: var(--mca-orange);
  border-color: var(--mca-orange);
  color: #fff;
  box-shadow: 0 4px 14px rgba(237, 109, 32, .34);
}

.mca-btn--primary:hover,
.mca-btn--primary:focus {
  background: var(--mca-orange-dark);
  border-color: var(--mca-orange-dark);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}

.mca-btn--ghost {
  background: transparent;
  border-color: rgba(255, 255, 255, .55);
  color: #fff;
}

.mca-btn--ghost:hover,
.mca-btn--ghost:focus {
  background: #fff;
  border-color: #fff;
  color: var(--mca-ink);
  text-decoration: none;
  transform: translateY(-1px);
}

.mca-btn--dark {
  background: var(--mca-ink);
  border-color: var(--mca-ink);
  color: #fff;
}

.mca-btn--dark:hover,
.mca-btn--dark:focus {
  background: #000;
  border-color: #000;
  color: #fff;
  text-decoration: none;
}

.mca-btn--outline {
  background: transparent;
  border-color: var(--mca-orange);
  color: var(--mca-orange);
}

.mca-btn--outline:hover,
.mca-btn--outline:focus {
  background: var(--mca-orange);
  color: #fff;
  text-decoration: none;
}

/* telefon in hero */
.mca-hero__phone {
  font-size: 14px;
  color: rgba(255, 255, 255, .78);
}

.mca-hero__phone a {
  color: #fff;
  font-weight: 700;
  font-size: 17px;
  text-decoration: none;
  white-space: nowrap;
}

.mca-hero__phone a:hover {
  color: var(--mca-orange);
}

.mca-hero__phone .fa {
  margin-right: 6px;
  color: var(--mca-orange);
}

/* linie secundara in hero, pentru publicul de parteneri.
   Intentionat mai discreta decat butoanele: alt public, alta prioritate. */
.mca-hero__alt {
  max-width: 540px;
  margin: 15px 0 0;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, .18);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255, 255, 255, .74);
}

.mca-hero__alt .fa-wrench {
  margin-right: 7px;
  color: var(--mca-orange);
}

.mca-hero__alt a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 1px solid rgba(255, 255, 255, .45);
  padding-bottom: 1px;
  transition: color .18s ease, border-color .18s ease;
}

.mca-hero__alt a:hover,
.mca-hero__alt a:focus {
  color: var(--mca-orange);
  border-bottom-color: var(--mca-orange);
  text-decoration: none;
}

.mca-hero__alt a .fa {
  margin-left: 4px;
}

/* punctele de navigare ale slider-ului */
.mca-hero__dots {
  position: absolute;
  right: 26px;
  bottom: 20px;
  z-index: 3;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0;
}

.mca-hero__dots li {
  display: inline-block;
  margin-left: 8px;
}

.mca-hero__dots button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .42);
  cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}

.mca-hero__dots button:hover {
  background: rgba(255, 255, 255, .75);
}

.mca-hero__dots button[aria-current="true"] {
  background: var(--mca-orange);
  transform: scale(1.25);
}

/* --- bara de incredere ---------------------------------------------------- */

.mca-trust {
  background: var(--mca-ink);
  color: #fff;
  padding: 0;
}

/* flex la orice latime: etichetele au lungimi diferite, iar cu coloane
   flotante un item mai inalt ar agata itemul urmator */
.mca-trust .row {
  display: flex;
  flex-wrap: wrap;
}

.mca-trust .row:before,
.mca-trust .row:after {
  display: none;
}

.mca-trust .row > [class*="col-"] {
  display: flex;
}

.mca-trust__item {
  padding: 26px 14px;
  text-align: center;
  border-left: 1px solid rgba(255, 255, 255, .09);
  flex: 1 1 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* fiecare item e singurul copil al coloanei sale, deci :first-child pe item
   ar prinde pe toate - separatorul se leaga de coloana */
.mca-trust .row > [class*="col-"]:first-child .mca-trust__item {
  border-left: 0;
}

.mca-trust__num {
  display: block;
  font-size: 32px;
  line-height: 1.05;
  font-weight: 800;
  color: var(--mca-orange);
  letter-spacing: -.02em;
}

.mca-trust__num small {
  font-size: 17px;
  font-weight: 700;
}

.mca-trust__lbl {
  display: block;
  margin-top: 7px;
  font-size: 12.5px;
  line-height: 1.45;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .74);
}

/* --- carduri de produs ---------------------------------------------------- */

.mca-prod {
  display: flex;
  flex-direction: column;
  position: relative;
  margin-bottom: 26px;
  background: #fff;
  border: 1px solid var(--mca-line);
  border-radius: var(--mca-radius);
  overflow: hidden;
  box-shadow: var(--mca-shadow);
  transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}

.mca-prod:hover,
.mca-prod:focus-within {
  box-shadow: var(--mca-shadow-up);
  transform: translateY(-3px);
  border-color: #d9dfe3;
}

.mca-prod__media {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--mca-soft);
  /* pastreaza raportul 461x292 al imaginilor existente */
  padding-top: 63.34%;
  /* nu lasa imaginea sa fie comprimata cand cardul e intins pe inaltime */
  flex: 0 0 auto;
}

.mca-prod__media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.mca-prod:hover .mca-prod__media img {
  transform: scale(1.055);
}

.mca-prod__tag {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  padding: 4px 9px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(27, 34, 39, .84);
  border-radius: 3px;
}

.mca-prod__tag--ind {
  background: rgba(237, 109, 32, .94);
}

.mca-prod__body {
  padding: 16px 17px 17px;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.mca-prod__body h3 {
  margin: 0 0 7px;
  font-size: 16px;
  line-height: 1.32;
  font-weight: 700;
}

.mca-prod__body h3 a {
  color: var(--mca-ink);
  text-decoration: none;
}

.mca-prod__body h3 a:hover {
  color: var(--mca-orange);
}

.mca-prod__body p {
  margin: 0 0 13px;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--mca-slate);
}

.mca-prod__links {
  font-size: 13px;
  border-top: 1px solid var(--mca-line);
  padding-top: 11px;
  /* impinge linia de link-uri la baza, aliniata pe tot randul */
  margin-top: auto;
}

.mca-prod__links a {
  font-weight: 600;
  color: var(--mca-orange);
  text-decoration: none;
}

.mca-prod__links a:hover {
  text-decoration: underline;
}

.mca-prod__links .sep {
  margin: 0 8px;
  color: #c9d1d6;
}

/* --- carduri publicuri tinta (casa / industrial / arhitecti / dezvoltatori)  */

.mca-aud {
  height: 100%;
  margin-bottom: 26px;
  background: #fff;
  border: 1px solid var(--mca-line);
  border-top: 3px solid var(--mca-orange);
  border-radius: var(--mca-radius);
  overflow: hidden;
  box-shadow: var(--mca-shadow);
  transition: box-shadow .22s ease, transform .22s ease;
  display: flex;
  flex-direction: column;
}

.mca-aud:hover {
  box-shadow: var(--mca-shadow-up);
  transform: translateY(-3px);
}

.mca-aud__media {
  position: relative;
  display: block;
  overflow: hidden;
  padding-top: 56%;
  background: var(--mca-soft);
}

.mca-aud__media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.mca-aud:hover .mca-aud__media img {
  transform: scale(1.05);
}

.mca-aud__body {
  padding: 18px 18px 20px;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.mca-aud__body h3 {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--mca-ink);
}

.mca-aud__body p {
  margin: 0 0 16px;
  font-size: 13.5px;
  line-height: 1.62;
  color: var(--mca-slate);
  flex: 1 1 auto;
}

.mca-aud__body .mca-btn {
  align-self: flex-start;
  margin-bottom: 0;
  padding: 9px 18px;
  font-size: 13px;
}

/* --- banda de call to action ---------------------------------------------- */

.mca-cta {
  position: relative;
  padding: 44px 0;
  background: linear-gradient(120deg, #1b2227 0%, #2c383f 100%);
  color: #fff;
  overflow: hidden;
}

.mca-cta:before {
  content: "";
  position: absolute;
  top: -60px;
  right: -40px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: rgba(237, 109, 32, .12);
}

.mca-cta__in {
  position: relative;
}

.mca-cta h2 {
  margin: 0 0 8px;
  font-size: 25px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.01em;
}

.mca-cta p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .80);
}

.mca-cta__act {
  text-align: right;
  padding-top: 6px;
}

.mca-cta__act .mca-btn {
  margin-right: 0;
  margin-left: 10px;
}

/* --- banda parteneri instalatori ------------------------------------------ */

/* Varianta deschisa, ca sa nu se confunde cu banda inchisa de call to action:
   alt public, alt mesaj. */
.mca-partner {
  padding: 0 0 54px;
}

.mca-partner__box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 28px 32px;
  background: linear-gradient(120deg, #fff7f1 0%, #fdefe3 100%);
  border: 1px solid #f2d8c1;
  border-left: 4px solid var(--mca-orange);
  border-radius: var(--mca-radius);
}

.mca-partner__ico {
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  margin-right: 22px;
  border-radius: 50%;
  background: var(--mca-orange);
  color: #fff;
  font-size: 23px;
  line-height: 54px;
  text-align: center;
}

.mca-partner__txt {
  flex: 1 1 380px;
  padding-right: 26px;
}

.mca-partner__txt h2 {
  margin: 0 0 7px;
  font-size: 21px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--mca-ink);
}

.mca-partner__txt p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--mca-slate);
}

.mca-partner__meta {
  margin: 9px 0 0;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .03em;
  color: var(--mca-orange-dark);
}

.mca-partner__act {
  flex: 0 0 auto;
}

.mca-partner__act .mca-btn {
  margin: 0;
}

@media (max-width: 767px) {
  .mca-partner {
    padding-bottom: 34px;
  }

  .mca-partner__box {
    padding: 22px 20px;
  }

  .mca-partner__ico {
    margin: 0 0 14px;
  }

  .mca-partner__txt {
    flex: 1 1 100%;
    padding-right: 0;
    margin-bottom: 18px;
  }

  .mca-partner__act {
    flex: 1 1 100%;
  }
}

/* --- card generic de continut (blog / noutati / utile) --------------------- */

.mca-card {
  height: 100%;
  margin-bottom: 26px;
  background: #fff;
  border: 1px solid var(--mca-line);
  border-radius: var(--mca-radius);
  overflow: hidden;
  box-shadow: var(--mca-shadow);
  transition: box-shadow .22s ease, transform .22s ease;
  display: flex;
  flex-direction: column;
}

.mca-card:hover {
  box-shadow: var(--mca-shadow-up);
  transform: translateY(-3px);
}

.mca-card__media {
  position: relative;
  display: block;
  overflow: hidden;
  padding-top: 58%;
  background: var(--mca-soft);
}

.mca-card__media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.mca-card:hover .mca-card__media img {
  transform: scale(1.05);
}

/* substitut cand articolul nu are poza (fara_poza = 1) */
.mca-card__media--empty {
  background: linear-gradient(135deg, #eef2f4 0%, #dfe6ea 100%);
}

.mca-card__media--empty .fa {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 40px;
  color: #b7c2c9;
}

.mca-card__body {
  padding: 15px 16px 17px;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.mca-card__meta {
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--mca-orange);
}

.mca-card__meta .sep {
  margin: 0 6px;
  color: #cdd5da;
}

.mca-card__meta time {
  color: #8d979e;
  font-weight: 600;
}

.mca-card__body h3 {
  margin: 0 0 9px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
}

.mca-card__body h3 a {
  color: var(--mca-ink);
  text-decoration: none;
}

.mca-card__body h3 a:hover {
  color: var(--mca-orange);
}

.mca-card__body p {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--mca-slate);
  flex: 1 1 auto;
}

.mca-card__more {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--mca-orange);
  text-decoration: none;
}

.mca-card__more:hover {
  color: var(--mca-orange-dark);
  text-decoration: none;
}

.mca-card__more .fa {
  margin-left: 4px;
  transition: transform .18s ease;
  display: inline-block;
}

.mca-card__more:hover .fa {
  transform: translateX(3px);
}

/* rand de carduri egalizate pe inaltime */
.mca-row-eq {
  display: flex;
  flex-wrap: wrap;
}

/* Bootstrap 3 pune un clearfix pe .row; in context flex pseudo-elementele
   devin elemente flex si creeaza coloane fantoma. Le dezactivam. */
.mca-row-eq:before,
.mca-row-eq:after {
  display: none;
}

.mca-row-eq > [class*="col-"] {
  display: flex;
  flex-direction: column;
}

/* in coloana flex, height:100% nu se rezolva - cardul creste explicit */
.mca-row-eq > [class*="col-"] > .mca-card,
.mca-row-eq > [class*="col-"] > .mca-aud,
.mca-row-eq > [class*="col-"] > .mca-prod {
  flex: 1 1 auto;
}

/* --- galerie -------------------------------------------------------------- */

.mca-gal .owl-carousel .owl-item img {
  border-radius: var(--mca-radius);
  transition: transform .35s ease, box-shadow .35s ease;
}

.mca-gal .owl-carousel .owl-item a:hover img {
  transform: translateY(-3px);
  box-shadow: var(--mca-shadow-up);
}

/* --- link "vezi toate" centrat -------------------------------------------- */

.mca-more-row {
  margin-top: 6px;
  text-align: center;
}

/* --- responsive ----------------------------------------------------------- */

@media (max-width: 1199px) {
  .mca-hero__box h1 {
    font-size: 35px;
  }
}

@media (max-width: 991px) {
  .mca-hero {
    min-height: 0;
  }

  .mca-hero__inner {
    padding: 52px 0 48px;
  }

  .mca-hero__box {
    max-width: 100%;
  }

  .mca-hero__box h1 {
    font-size: 30px;
  }

  .mca-hero__veil {
    background: linear-gradient(180deg, rgba(15, 20, 24, .80) 0%, rgba(15, 20, 24, .88) 100%);
  }

  /* col-xs-6 => doua pe rand: separator vertical doar la a doua din pereche,
     separator orizontal doar pe randul de jos */
  .mca-trust__item {
    padding: 20px 10px;
  }

  .mca-trust .row > [class*="col-"]:nth-child(odd) .mca-trust__item {
    border-left: 0;
  }

  .mca-trust .row > [class*="col-"]:nth-child(n+3) .mca-trust__item {
    border-top: 1px solid rgba(255, 255, 255, .09);
  }

  .mca-trust__num {
    font-size: 27px;
  }

  .mca-sec {
    padding: 42px 0;
  }

  .mca-sec-head h2 {
    font-size: 25px;
  }

  .mca-cta__act {
    text-align: left;
    margin-top: 20px;
  }

  .mca-cta__act .mca-btn {
    margin-left: 0;
    margin-right: 10px;
  }
}

@media (max-width: 767px) {
  .mca-hero__inner {
    padding: 40px 0 38px;
  }

  .mca-hero__box h1 {
    font-size: 25px;
  }

  .mca-hero__box p {
    font-size: 15px;
  }

  .mca-btn {
    display: block;
    margin-right: 0;
    text-align: center;
  }

  .mca-hero__dots {
    display: none;
  }

  /* pe telefon randurile flex ar strica grila Bootstrap pe o coloana */
  .mca-row-eq {
    display: block;
  }

  /* revenim la clearfix-ul normal Bootstrap odata ce nu mai suntem in flex */
  .mca-row-eq:before,
  .mca-row-eq:after {
    display: table;
    content: " ";
  }

  .mca-row-eq:after {
    clear: both;
  }

  .mca-row-eq > [class*="col-"] {
    display: block;
  }

  .mca-sec {
    padding: 34px 0;
  }
}

/* respecta preferinta de reducere a miscarii */
@media (prefers-reduced-motion: reduce) {
  .mca-hero__slide,
  .mca-prod,
  .mca-prod__media img,
  .mca-aud,
  .mca-aud__media img,
  .mca-card,
  .mca-card__media img,
  .mca-btn,
  .mca-card__more .fa {
    transition: none !important;
  }

  .mca-prod:hover,
  .mca-aud:hover,
  .mca-card:hover {
    transform: none;
  }
}
