.elementor-408 .elementor-element.elementor-element-b38c2a9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:188px;--padding-bottom:109px;--padding-left:15px;--padding-right:15px;}.elementor-408 .elementor-element.elementor-element-b38c2a9:not(.elementor-motion-effects-element-type-background), .elementor-408 .elementor-element.elementor-element-b38c2a9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://mrjconstroi.pt/wp-content/uploads/2026/02/img-hero-portfolio.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-408 .elementor-element.elementor-element-d9eb619{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-408 .elementor-element.elementor-element-86b2d7c{--display:flex;--gap:24px 24px;--row-gap:24px;--column-gap:24px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-408 .elementor-element.elementor-element-38cbd6d{text-align:center;}.elementor-408 .elementor-element.elementor-element-38cbd6d .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:64px;font-weight:600;line-height:120%;color:#EF7C00;}.elementor-408 .elementor-element.elementor-element-b859c18{text-align:center;}.elementor-408 .elementor-element.elementor-element-b859c18 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;line-height:120%;color:#FFFFFF;}.elementor-408 .elementor-element.elementor-element-78b578e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:40px;--padding-left:15px;--padding-right:15px;}.elementor-408 .elementor-element.elementor-element-22ac39c{--display:flex;--gap:48px 48px;--row-gap:48px;--column-gap:48px;}@media(max-width:767px){.elementor-408 .elementor-element.elementor-element-38cbd6d .elementor-heading-title{font-size:48px;}.elementor-408 .elementor-element.elementor-element-b859c18 .elementor-heading-title{font-size:14px;}}@media(min-width:768px){.elementor-408 .elementor-element.elementor-element-86b2d7c{--width:61%;}}/* Start custom CSS for html, class: .elementor-element-d9d7996 */:root{
  --accent:#F28A1A;
  --text:#1A1918;
  --container:1216px;
  --pad:15px;
  --radius:8px;
}

.mrj-portfolio{
  width:100%;
}

.mrj-portfolio__inner{
  max-width: calc(var(--container) + (var(--pad) * 2));
  margin: 0 auto;
}

/* Filters */
.mrj-filters{
  display:flex;
  gap:28px;
  align-items:center;
  justify-content: center;
  flex-wrap:wrap;
  margin: 0 0 72px;
}

.mrj-filter{
  font: 700 16px/1.2 Inter, -apple-system, Segoe UI, Roboto, Arial;
  letter-spacing:.2px;
  color: var(--text);
  opacity:.75;
  padding: 10px 0;
  border-bottom: 2px solid transparent;
  cursor:pointer;
  user-select:none;
  text-transform: uppercase;
}

.mrj-filter.is-active{
  opacity:1;
  color: var(--accent);
  border-bottom-color: var(--accent);
}

/* Grid */
.mrj-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

/* Card */
.mrj-card{
  border-radius: var(--radius);
  overflow:hidden;
  position:relative;
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
}

.mrj-card.is-hidden{
  display:none !important;
}

/* Badge */
.mrj-badge{
  position:absolute;
  z-index:5;
  top:14px;
  left:14px;
  font: 400 14px/1 Inter, Roboto, Arial;
  color: var(--accent);
  background: rgba(26,25,24,.15);
  border: 1px solid var(--accent);
  padding: 8px 18px;
  border-radius: 999px;
  backdrop-filter: blur(8px);
}

/* Media + Swiper */
.mrj-media{
  position:relative;
  height: 528px;
}

.mrj-media .swiper{
  width:100%;
  height:100%;
}

.mrj-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Overlay gradient (#1A1918 -> transparente) */
.mrj-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background: linear-gradient(
    180deg,
    rgba(26,25,24,0) 0%,
    rgba(26,25,24,0) 40%,
    rgba(26,25,24,.55) 72%,
    rgba(26,25,24,.85) 100%
  );
}

/* Arrows (estilo do print: simples, discretas) */
.mrj-arrow{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  z-index:6;
  width:40px;
  height:40px;
  border:0;
  background: rgba(255,255,255,.14);
  border-radius: 8px;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition: .2s ease;
}

.mrj-arrow:hover{
  background: rgba(255,255,255,.2);
}

.mrj-arrow--prev{ left:18px; }
.mrj-arrow--next{ right:18px; }

.mrj-arrow svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:#fff;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.95;
}

/* Content over image */
.mrj-content{
  position:absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  z-index:7;
  color:#fff;
}

.mrj-title-row{
  display:flex;
  align-items: center;
  justify-content:space-between;
  gap:12px;
  margin-bottom: 8px;
}

.mrj-title{
  margin:0;
  font: 600 24px/1.15 Inter, Roboto, Arial;
  color:#fff;
}

.mrj-date{
  font: 500 18px/1 Inter, Roboto, Arial;
  color:#fff;
  opacity:.85;
  white-space:nowrap;
}

.mrj-desc{
  margin:0 0 14px;
  font: 300 18px/1.40 Inter, Roboto, Arial;
  color: rgba(255,255,255,.84);
}

.mrj-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 24px;
  border-radius: 2px;
  background: var(--accent);
  color:#fff;
  font: 400 16px/1 Inter, Roboto, Arial;
  text-decoration:none;
  transition: .2s ease;
}

.mrj-cta:hover{
  filter: brightness(.95);
  transform: translateY(-1px);
}

/* Footer button */
.mrj-footer{
  display:flex;
  justify-content:center;
  margin-top: 48px;
}

.mrj-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 6px 16px;
  border-radius: 4px;
  border: 1px solid var(--accent);
  color: var(--accent);
  background: transparent;
  font: 400 14px/1 Inter, Roboto, Arial;
  text-decoration:none;
  transition: .2s ease;
}

.mrj-more:hover{
  background: rgba(242,138,26,.10);
}

/* Responsive */
@media (max-width: 900px){
  .mrj-grid{ grid-template-columns: 1fr; }
  .mrj-media{ height: 360px; }
}/* End custom CSS */