/* Master Equipamentos - frontend */
.master-modelos-widget{width:100%;}
.master-modelos-widget__heading{margin-bottom:32px;}
.master-modelos-widget__kicker{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:1px;color:#00A968;text-transform:uppercase;}
.master-modelos-widget__kicker-line{display:inline-block;width:28px;height:2px;background:#00A968;flex:0 0 28px;}
.master-modelos-widget__heading h2{margin:0;font-family:Montserrat,Arial,sans-serif;font-size:40px;line-height:1.15;font-weight:700;color:#071413;}
.master-modelos-widget__description{margin:14px 0 0;font-family:Inter,Arial,sans-serif;font-size:17px;line-height:1.6;font-weight:400;color:#66736f;}
.master-modelos-widget__grid{display:grid;gap:24px;}
.master-modelos-widget__grid--1{grid-template-columns:1fr;}
.master-modelos-widget__grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.master-modelos-widget__grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.master-modelo-card-front{padding:28px;border:1px solid #e1e8e5;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(7,20,19,.06);overflow:hidden;}
.master-modelo-card-front__identity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:-28px -28px 0;padding:22px 28px 20px;background:#f0f7f4;border-bottom:1px solid #dbe8e3;border-radius:8px 8px 0 0;}
.master-modelo-card-front__identity-item{min-width:0;}
.master-modelo-card-front__label{display:block;margin-bottom:6px;font-size:11px;line-height:1.3;font-weight:600;letter-spacing:.65px;color:#78837f;text-transform:uppercase;}
.master-modelo-card-front__value{display:block;font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.35;font-weight:700;color:#071413;word-break:break-word;}
.master-modelo-card-front__specs{padding-top:6px;}
.master-modelo-spec{display:flex;justify-content:space-between;gap:24px;padding:11px 0;border-bottom:1px solid #eef2f0;font-size:15px;line-height:1.45;}
.master-modelo-spec:last-child{border-bottom:0;}
.master-modelo-spec span{color:#66736f;}
.master-modelo-spec strong{color:#071413;text-align:right;font-weight:600;}
@media (max-width:1024px){
 .master-modelos-widget__grid--3{grid-template-columns:repeat(2,minmax(0,1fr));}
 .master-modelos-widget__heading h2{font-size:34px;}
 .master-modelos-widget__description{font-size:16px;}
}
@media (max-width:767px){
 .master-modelos-widget__grid--2,.master-modelos-widget__grid--3{grid-template-columns:1fr;}
 .master-modelo-card-front{padding:22px;}
 .master-modelo-card-front__identity{margin:-22px -22px 0;padding:18px 22px 16px;grid-template-columns:1fr;gap:14px;}
 .master-modelos-widget__heading h2{font-size:30px;}
 .master-modelos-widget__description{font-size:15px;line-height:1.55;}
 .master-modelo-spec{gap:12px;}
}

/* Galeria do equipamento */
.master-galeria-widget{width:100%;}
.master-galeria-widget__heading{margin-bottom:32px;}
.master-galeria-widget__kicker{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:1px;color:#00A968;text-transform:uppercase;}
.master-galeria-widget__kicker-line{display:inline-block;width:28px;height:2px;background:#00A968;flex:0 0 28px;}
.master-galeria-widget__heading h2{margin:0;font-family:Montserrat,Arial,sans-serif;font-size:40px;line-height:1.15;font-weight:700;color:#071413;}
.master-galeria-widget__description{margin:14px 0 0;font-family:Inter,Arial,sans-serif;font-size:17px;line-height:1.6;font-weight:400;color:#66736f;}
.master-galeria-widget__grid{display:grid;gap:20px;}
.master-galeria-widget__grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.master-galeria-widget__grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.master-galeria-widget__grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.master-galeria-item{position:relative;display:block;overflow:hidden;border-radius:8px;background:#f3f6f5;aspect-ratio:4/3;outline:none;}
.master-galeria-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.master-galeria-item__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(7,20,19,.42);opacity:0;transition:opacity .25s ease;}
.master-galeria-item__overlay i{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#00A968;color:#fff;font-size:20px;}
.master-galeria-item:hover img,.master-galeria-item:focus img{transform:scale(1.04);}
.master-galeria-item:hover .master-galeria-item__overlay,.master-galeria-item:focus .master-galeria-item__overlay{opacity:1;}
@media (max-width:1024px){
 .master-galeria-widget__heading h2{font-size:34px;}
 .master-galeria-widget__description{font-size:16px;}
 .master-galeria-widget__grid--4{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767px){
 .master-galeria-widget__heading h2{font-size:30px;}
 .master-galeria-widget__description{font-size:15px;line-height:1.55;}
 .master-galeria-widget__grid--2,.master-galeria-widget__grid--3,.master-galeria-widget__grid--4{grid-template-columns:1fr;}
}

/* Widgets sem conteúdo não devem deixar faixas/padding vazios.
   O JS identifica o container dedicado ao widget e aplica a classe de ocultação. */
body:not(.elementor-editor-active) .master-hide-empty-section{
 display:none!important;
}

/* Fallback: o próprio widget vazio também não ocupa espaço. */
body:not(.elementor-editor-active) .elementor-widget-master_modelos:not(:has(.master-modelos-widget)),
body:not(.elementor-editor-active) .elementor-widget-master_galeria:not(:has(.master-galeria-widget)){
 display:none!important;
}

/* V1.16: dedicated Elementor containers with an empty Master widget are removed. */
body:not(.elementor-editor-active) .e-con.master-hide-empty-section,
body:not(.elementor-editor-active) .elementor-section.master-hide-empty-section,
body:not(.elementor-editor-active) .elementor-column.master-hide-empty-section,
body:not(.elementor-editor-active) .elementor-widget.master-hide-empty-section {
 display:none!important;
 min-height:0!important;
 height:0!important;
 margin:0!important;
 padding:0!important;
 background:none!important;
}
