/* ========================================================================== 
   GRUPO MDR — HOME / WPBAKERY
   v1.2.2 — refinamento visual: produtos maiores, setores e cards de soluções
   Escopo: apenas os componentes MDR da Home.
   ========================================================================== */

.mdr-home-pro,
.mdr-home-pro *,
.mdr-home-pro *::before,
.mdr-home-pro *::after { box-sizing: border-box; }

/* Breakout full-width robusto dentro de themes/containers legados. */
.mdr-home-section {
	position: relative !important;
	left: 50% !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: -50vw !important;
	margin-right: 0 !important;
}
@supports (width:100dvw) {
	.mdr-home-section { width:100dvw !important; max-width:100dvw !important; margin-left:-50dvw !important; }
}
.mdr-home-host,
.mdr-home-host.vc_row,
.mdr-home-host.wpb_row,
.mdr-home-host > .wpb_column,
.mdr-home-host > .wpb_column > .vc_column-inner,
.mdr-home-host > .wpb_column > .vc_column-inner > .wpb_wrapper {
	position: relative !important;
	left: auto !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	transform: none !important;
	filter: none !important;
}
.mdr-home-host .wpb_content_element,
.mdr-home-host .wpb_wrapper > :first-child,
.mdr-home-host .wpb_wrapper > :last-child { margin-top:0 !important; margin-bottom:0 !important; }
html, body.mdr-home-components-page { overflow-x: clip; }
@supports not (overflow:clip) { body.mdr-home-components-page { overflow-x:hidden; } }

.mdr-home-pro {
	--navy:#08274a;
	--navy2:#061d37;
	--blue:#0879d8;
	--blue2:#0566bf;
	--yellow:#ffd000;
	--yellow2:#efc300;
	--text:#61758b;
	--line:#e2eaf2;
	--soft:#f5f8fb;
	--white:#fff;
	font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;
	color:var(--navy);
}
.mdr-home-pro a { text-decoration:none !important; }
.mdr-home-inner { width:min(1180px,calc(100% - 48px)); margin:0 auto; position:relative; z-index:2; }
.mdr-home-heading { margin:0 auto; }
.mdr-home-heading--center { max-width:900px; text-align:center; }
.mdr-home-heading h2 {
	margin:8px 0 8px !important;
	color:var(--navy) !important;
	font-size:clamp(30px,3vw,42px) !important;
	font-weight:800 !important;
	line-height:1.08 !important;
	letter-spacing:-.7px;
}
.mdr-home-heading p { max-width:760px; margin:0 auto !important; color:var(--text) !important; font-size:15px !important; line-height:1.6 !important; }
.mdr-home-eyebrow { display:flex; align-items:center; justify-content:center; gap:12px; color:var(--navy); font-size:12px; font-weight:800; letter-spacing:.04em; }
.mdr-home-eyebrow i { width:42px; height:3px; border-radius:999px; background:var(--yellow); }
.mdr-home-company-kicker,.mdr-home-solutions__kicker { display:block; color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.03em; }

/* Botões */
.mdr-home-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:43px; padding:0 19px; border:1px solid transparent; border-radius:4px; font-size:11px; font-weight:800; line-height:1; transition:.18s ease; }
.mdr-home-arrow { font-size:15px; line-height:1; transition:transform .18s ease; }
.mdr-home-btn:hover .mdr-home-arrow,.mdr-home-solution-card a:hover .mdr-home-arrow { transform:translateX(3px); }
.mdr-home-btn--yellow { color:var(--navy) !important; background:var(--yellow); border-color:var(--yellow); box-shadow:0 6px 16px rgba(255,208,0,.22); }
.mdr-home-btn--yellow:hover { background:var(--yellow2); border-color:var(--yellow2); transform:translateY(-1px); }
.mdr-home-btn--line,.mdr-home-btn--outline { color:var(--blue) !important; background:#fff; border-color:var(--blue); }
.mdr-home-btn--line:hover,.mdr-home-btn--outline:hover { color:#fff !important; background:var(--blue); }

/* ========================================================================== 
   NOSSOS PRODUTOS / MINI GRUAS
   ========================================================================== */
.mdr-home-products {
	padding:36px 0 54px;
	background:
		linear-gradient(125deg,transparent 0 10%,rgba(6,95,170,.025) 10% 12%,transparent 12% 35%,rgba(6,95,170,.022) 35% 37%,transparent 37%),
		linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
}
.mdr-home-products .mdr-home-heading { margin-bottom:22px; }
.mdr-home-products__list { display:grid; gap:14px; width:min(1060px,100%); margin:0 auto; }
.mdr-home-product {
	display:grid;
	grid-template-columns:minmax(360px,38%) minmax(210px,23%) minmax(390px,39%);
	min-height:350px;
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:11px;
	background:#fff;
	box-shadow:0 8px 24px rgba(7,43,79,.075);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.mdr-home-product:hover { transform:translateY(-2px); border-color:#cfddea; box-shadow:0 15px 36px rgba(7,43,79,.12); }
.mdr-home-product__visual {
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:0;
	height:350px;
	padding:0;
	overflow:hidden;
	background:linear-gradient(135deg,#f6f9fc 0%,#fff 78%);
}
.mdr-home-product__visual::before { content:""; position:absolute; inset:0; background:linear-gradient(125deg,transparent 0 45%,rgba(7,94,167,.035) 45% 65%,transparent 65%); pointer-events:none; }
.mdr-home-product__visual::after { content:""; position:absolute; top:17%; right:0; width:1px; height:66%; background:var(--line); }
.mdr-home-product__image { position:relative; z-index:1; display:block; width:100%; max-width:none; height:100%; object-fit:cover; object-position:center; transition:transform .22s ease; }
.mdr-home-product__image--fallback { max-width:none; }
.mdr-home-product:hover .mdr-home-product__image { transform:scale(1.02); }
.mdr-home-product__image-placeholder { display:block; width:86%; height:170px; border:1px dashed #cbd9e7; border-radius:9px; background:#f7fafc; }
.mdr-home-product__main { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; padding:34px 28px; }
.mdr-home-product__kicker { margin-bottom:5px; color:var(--blue); font-size:10px; font-weight:800; letter-spacing:.06em; }
.mdr-home-product__main h3 { margin:0 0 18px !important; color:var(--navy) !important; font-size:clamp(24px,2vw,30px) !important; font-weight:850 !important; line-height:1.02 !important; letter-spacing:-.5px; }
.mdr-home-product__specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-self:stretch; align-content:center; width:100%; padding:24px 22px; }
.mdr-home-product__spec { display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:center; min-width:0; min-height:108px; padding:15px 15px; border-bottom:1px solid var(--line); }
.mdr-home-product__spec:nth-child(odd) { border-right:1px solid var(--line); }
.mdr-home-product__spec:nth-last-child(-n+2) { border-bottom:0; }
.mdr-home-product__spec-icon { display:flex; width:35px; height:35px; align-items:center; justify-content:center; color:#0878e8; }
.mdr-home-product__spec-icon svg { width:32px; height:32px; fill:currentColor; }
.mdr-home-product__spec-copy { min-width:0; }
.mdr-home-product__spec small { display:block; margin-bottom:4px; color:var(--text); font-size:10px; font-weight:500; line-height:1.25; }
.mdr-home-product__spec strong { display:block; color:var(--navy); font-size:13px; font-weight:800; line-height:1.28; }

/* ========================================================================== 
   GRUPO MDR + SETORES — centralização simétrica + apoio visual lateral
   ========================================================================== */
.mdr-home-sectors {
	padding:50px 0 38px;
	background:
		linear-gradient(120deg,rgba(6,95,170,.018) 0 18%,transparent 18% 50%,rgba(6,95,170,.016) 50% 52%,transparent 52%),
		#fff;
	overflow:hidden;
}
.mdr-home-sectors::before { content:"MDR"; position:absolute; left:-30px; top:42px; color:#0a62b4; opacity:.025; font-size:270px; font-weight:900; font-style:italic; line-height:.8; pointer-events:none; }
.mdr-home-sectors::after {
	content:"";
	position:absolute;
	right:-8px;
	bottom:-16px;
	width:clamp(330px,38vw,480px);
	height:clamp(320px,34vw,430px);
	background-image:url('../images/home/setores-capacete-wide.png');
	background-repeat:no-repeat;
	background-position:right bottom;
	background-size:cover;
	pointer-events:none;
	z-index:1;
}
.mdr-home-sectors__heading { margin-bottom:26px; }
.mdr-home-sectors__heading h2 { font-size:clamp(25px,2.5vw,35px) !important; }
.mdr-home-sectors__grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:20px;
	width:min(900px,calc(100% - 80px));
	margin:0 auto;
}
.mdr-home-sector-card {
	display:flex;
	flex-direction:column;
	align-items:center;
	min-width:0;
	min-height:300px;
	padding:24px 22px 20px;
	text-align:center;
	border:1px solid var(--line);
	border-radius:11px;
	background:rgba(255,255,255,.98);
	box-shadow:0 10px 27px rgba(7,43,79,.075);
	transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.mdr-home-sector-card:hover { transform:translateY(-3px); border-color:#d0e0ef; box-shadow:0 16px 36px rgba(7,43,79,.11); }
.mdr-home-sector-card__icon { display:flex; align-items:center; justify-content:center; width:58px; height:58px; margin-bottom:15px; border-radius:50%; color:#fff; background:linear-gradient(135deg,#168aff,#0765ca); box-shadow:0 7px 18px rgba(8,118,207,.20); }
.mdr-home-sector-card__icon svg { width:29px; height:29px; fill:currentColor; color:#fff; }
.mdr-home-sector-card h3 { margin:0 0 9px !important; color:var(--navy) !important; font-size:15px !important; font-weight:850 !important; line-height:1.25 !important; }
.mdr-home-sector-card p { flex:1; margin:0 0 18px !important; color:var(--text) !important; font-size:12px !important; line-height:1.5 !important; }
.mdr-home-sectors__cta { display:flex; justify-content:center; margin-top:22px; position:relative; z-index:3; }

/* ========================================================================== 
   DESENVOLVE, FABRICA E REFORMA — fundo clean e imagem apenas nos cards
   ========================================================================== */
.mdr-home-solutions {
	padding:38px 0 48px;
	background:linear-gradient(120deg,#075da9 0%,#0878d1 58%,#0668bd 100%);
	overflow:hidden;
}
.mdr-home-solutions::before { content:""; position:absolute; inset:0; background:linear-gradient(120deg,transparent 0 66%,rgba(255,255,255,.035) 66% 78%,transparent 78%); pointer-events:none; }
.mdr-home-solutions__heading { margin-bottom:22px; }
.mdr-home-solutions__heading h2,.mdr-home-solutions__heading p { color:#fff !important; }
.mdr-home-solutions__heading h2 { margin-top:5px !important; }
.mdr-home-solutions__heading p { opacity:.9; }
.mdr-home-solutions__kicker { color:var(--yellow); }
.mdr-home-solutions__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; width:min(1020px,100%); margin:0 auto; }
.mdr-home-solution-card { position:relative; min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.35); border-radius:8px; background:#fff; box-shadow:0 12px 28px rgba(3,36,67,.17); }
/*
 * A mídia dos cards precisa ocupar integralmente o frame.
 * Alguns temas/WPBakery aplicam `img { height:auto }` com especificidade maior,
 * o que fazia os fallbacks de 283–285 x 46 px aparecerem como uma faixa no topo.
 * Mantemos a proporção via object-fit: cover e forçamos o preenchimento do frame.
 */
.mdr-home-solution-card__media {
	position:relative;
	height:clamp(150px,12vw,170px);
	min-height:150px;
	overflow:hidden;
	background:#eaf1f7;
	line-height:0;
}
html body .mdr-home-pro .mdr-home-solution-card__media > img.mdr-home-solution-card__image {
	position:absolute !important;
	inset:0 !important;
	display:block !important;
	width:100% !important;
	height:100% !important;
	min-width:100% !important;
	min-height:100% !important;
	max-width:none !important;
	max-height:none !important;
	margin:0 !important;
	padding:0 !important;
	object-fit:cover !important;
	object-position:center center !important;
	border:0 !important;
	box-shadow:none !important;
}
.mdr-home-solution-card__image--fallback {
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}
.mdr-home-solution-card__body { position:relative; display:flex; flex-direction:column; min-height:190px; padding:17px 20px 18px; }
.mdr-home-solution-card__index { position:absolute; top:14px; right:17px; color:#e2edf7; font-size:35px; font-weight:900; line-height:1; }
.mdr-home-solution-card h3 { max-width:82%; margin:0 0 8px !important; color:var(--navy) !important; font-size:17px !important; font-weight:850 !important; line-height:1.2 !important; }
.mdr-home-solution-card p { flex:1; margin:0 0 14px !important; color:var(--text) !important; font-size:11.5px !important; line-height:1.45 !important; }
.mdr-home-solution-card a { display:inline-flex; align-items:center; gap:7px; width:max-content; color:var(--blue) !important; font-size:10px; font-weight:850; line-height:1; }

/* WPBakery/themes que injetam margin/padding em imagens. */
.mdr-home-pro img { max-width:100%; border:0; box-shadow:none; }
.mdr-home-pro .mdr-home-solution-card__media img { height:100% !important; width:100% !important; }
.mdr-home-pro .wpb_single_image,.mdr-home-pro figure { margin:0; }

/* Responsivo */
@media (max-width:1100px) {
	.mdr-home-sectors__grid { width:min(900px,calc(100% - 120px)); }
	.mdr-home-sectors::after { opacity:.7; }
}
@media (max-width:991px) {
	.mdr-home-inner { width:min(860px,calc(100% - 36px)); }
	.mdr-home-product { grid-template-columns:minmax(300px,42%) 1fr; min-height:320px; }
	.mdr-home-product__visual { grid-row:1 / span 2; height:320px; }
	.mdr-home-product__main { padding:22px 22px 7px; }
	.mdr-home-product__specs { padding:6px 12px 16px; }
	.mdr-home-sectors__grid,.mdr-home-solutions__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.mdr-home-sectors__grid { width:min(650px,100%); }
	.mdr-home-sectors__grid > :last-child,.mdr-home-solutions__grid > :last-child { grid-column:1 / -1; width:calc(50% - 7px); justify-self:center; }
	.mdr-home-sectors::after { width:320px; height:300px; right:-55px; bottom:-20px; opacity:.5; }
}
@media (max-width:767px) {
	.mdr-home-inner { width:calc(100% - 28px); }
	.mdr-home-products,.mdr-home-sectors,.mdr-home-solutions { padding-top:36px; padding-bottom:40px; }
	.mdr-home-heading h2 { font-size:28px !important; }
	.mdr-home-eyebrow i { width:24px; }
	.mdr-home-product { display:block; min-height:0; }
	.mdr-home-product__visual { height:285px; padding:0; }
	.mdr-home-product__visual::after { display:none; }
	.mdr-home-product__image { width:100%; height:100%; max-width:none; object-fit:cover; }
	.mdr-home-product__main { align-items:center; padding:7px 22px 20px; text-align:center; }
	.mdr-home-product__main h3 { font-size:27px !important; }
	.mdr-home-product__specs { padding:0 15px 17px; }
	.mdr-home-sectors__grid,.mdr-home-solutions__grid { display:grid; grid-template-columns:1fr; gap:14px; width:100%; }
	.mdr-home-sectors__grid > :last-child,.mdr-home-solutions__grid > :last-child { grid-column:auto; width:100%; }
	.mdr-home-sector-card { min-height:auto; }
	.mdr-home-sectors::after { display:none; }
}
@media (max-width:480px) {
	.mdr-home-product__specs { grid-template-columns:1fr; }
	.mdr-home-product__spec,.mdr-home-product__spec:nth-child(odd),.mdr-home-product__spec:nth-last-child(-n+2) { min-height:auto; border-right:0; border-bottom:1px solid var(--line); }
	.mdr-home-product__spec:last-child { border-bottom:0; }
}
@media (prefers-reduced-motion:reduce) {
	.mdr-home-product,.mdr-home-product__image,.mdr-home-sector-card,.mdr-home-btn,.mdr-home-arrow { transition:none !important; }
}
