/* ============================================================
   Industrias Moreno — Tema claro + layout amplio
   Se carga DESPUÉS de main.css y sobreescribe solo lo necesario.
   ============================================================ */

:root {
	--im-yellow: #f2c014;
	--im-amber: #c99a00;
	--im-dark: #23222d;
	--im-steel: #303849;
	--im-steel-2: #3d4759;
	--im-grey: #f5f6f8;
	--im-text: #4a4f58;
	--im-border: #e6e8ec;
}

/* ---------- Contenedores más anchos ---------- */
@media (min-width: 1200px) {
	.container { max-width: 1320px; }
}
@media (min-width: 1500px) {
	.container { max-width: 1420px; }
}

/* ---------- Tipografía más grande y aireada ---------- */
h1 { font-size: clamp(34px, 4.2vw, 62px); line-height: 1.1; }
h2 { font-size: clamp(28px, 3.4vw, 46px); line-height: 1.15; }
h3.big { font-size: clamp(30px, 3.6vw, 52px); }
.intro_featured_word { font-size: clamp(36px, 5vw, 76px) !important; line-height: 1.05; }
.intro_after_featured_word { font-size: clamp(17px, 1.6vw, 24px); }

/* ---------- Secciones claras genéricas ---------- */
.im-light {
	background-color: #ffffff;
	color: var(--im-text);
}
.im-light-grey {
	background-color: var(--im-grey);
	color: var(--im-text);
}
.im-light h2, .im-light h3, .im-light h4, .im-light h5,
.im-light-grey h2, .im-light-grey h3, .im-light-grey h4, .im-light-grey h5 {
	color: var(--im-dark);
}
.im-light .shadow-heading,
.im-light-grey .shadow-heading { color: rgba(35, 34, 45, 0.06); }
.im-light a:not(.btn), .im-light-grey a:not(.btn) { color: var(--im-dark); }
.im-light a:not(.btn):hover, .im-light-grey a:not(.btn):hover { color: var(--im-amber); }

/* Encabezado de sección centrado */
.im-section-head { text-align: center; margin-bottom: 20px; }
.im-section-head .subheading { color: var(--im-amber) !important; }

/* ---------- Grilla de industrias ---------- */
.im-industrias .row { --bs-gutter-x: 0; }
.im-ind-tile {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 210px;
	padding: 40px 28px;
	background: linear-gradient(135deg, var(--im-steel) 0%, var(--im-steel-2) 100%);
	color: #ffffff;
	text-align: center;
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
	border: 1px solid rgba(255,255,255,0.06);
}
.im-ind-tile:nth-child(odd) { background: linear-gradient(135deg, var(--im-steel-2) 0%, var(--im-steel) 100%); }
.im-ind-tile h4, .im-ind-tile .h4 {
	color: #ffffff;
	font-size: clamp(18px, 1.6vw, 24px);
	letter-spacing: 1.5px;
	text-transform: uppercase;
	font-weight: 700;
	margin: 0;
	line-height: 1.35;
}
.im-ind-tile::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 24px;
	width: 46px;
	height: 4px;
	background: var(--im-yellow);
	transform: translateX(-50%) scaleX(0);
	transition: transform .25s ease;
}
.im-ind-tile:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(35,34,45,.25); z-index: 2; }
.im-ind-tile:hover::after { transform: translateX(-50%) scaleX(1); }
.im-ind-tile .ind-ico { display: block; font-size: 40px; color: var(--im-yellow); margin-bottom: 14px; }

/* ---------- Cards de servicios ---------- */
.im-card {
	background: #ffffff;
	border: 1px solid var(--im-border);
	border-radius: 10px;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	transition: transform .25s ease, box-shadow .25s ease;
	box-shadow: 0 4px 14px rgba(35,34,45,.06);
}
.im-card:hover { transform: translateY(-8px); box-shadow: 0 22px 45px rgba(35,34,45,.16); }
.im-card .im-card-media { position: relative; overflow: hidden; }
.im-card .im-card-media img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.im-card:hover .im-card-media img { transform: scale(1.06); }
.im-card .im-card-body { padding: 28px 26px 26px; display: flex; flex-direction: column; flex: 1; }
.im-card h4 { font-size: 22px; margin-bottom: 12px; color: var(--im-dark); }
.im-card h4 a { color: var(--im-dark); }
.im-card h4 a:hover { color: var(--im-amber); }
.im-card p { color: var(--im-text); margin-bottom: 18px; flex: 1; }
.im-card .im-card-link {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 13px;
	color: var(--im-amber) !important;
	align-self: flex-start;
}
.im-card .im-card-link:hover { color: var(--im-dark) !important; }
.im-card.im-card-featured { border-top: 5px solid var(--im-yellow); }

/* ---------- Banda de números / stats ---------- */
.im-stats {
	background: var(--im-dark);
	color: #b9bdc6;
	padding: 70px 0;
}
.im-stats .im-stat { text-align: center; padding: 15px 10px; }
.im-stats .im-stat-num {
	display: block;
	font-size: clamp(40px, 4vw, 64px);
	font-weight: 800;
	color: var(--im-yellow);
	line-height: 1;
	margin-bottom: 10px;
}
.im-stats .im-stat-label {
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-size: 14px;
	color: #ffffff;
}

/* ---------- Franja CTA amarilla ---------- */
.im-cta {
	background: var(--im-yellow);
	padding: 60px 0;
}
.im-cta h3 {
	color: var(--im-dark);
	font-size: clamp(24px, 2.8vw, 40px);
	font-weight: 800;
	margin: 0 0 6px;
}
.im-cta p { color: #5a4a06; font-size: 18px; margin: 0; }
.im-cta .btn-dark-im {
	background: var(--im-dark);
	color: var(--im-yellow) !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	padding: 20px 46px;
	border-radius: 6px;
	display: inline-block;
	font-size: 16px;
	transition: transform .2s ease, box-shadow .2s ease;
}
.im-cta .btn-dark-im:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(35,34,45,.35); color: #ffffff !important; }

/* ---------- Cards de pasos (bajo el hero) ---------- */
.im-steps { margin-top: -60px; position: relative; z-index: 5; }
.im-step-card {
	background: #ffffff;
	border-radius: 10px;
	border: 1px solid var(--im-border);
	border-top: 5px solid var(--im-yellow);
	box-shadow: 0 14px 35px rgba(35,34,45,.12);
	padding: 34px 30px;
	height: 100%;
}
.im-step-card .step-title {
	font-size: 20px;
	font-weight: 700;
	color: var(--im-dark);
	margin-bottom: 10px;
	line-height: 1.3;
}
.im-step-card p { color: var(--im-text); margin: 0; }
@media (max-width: 991px) {
	.im-steps { margin-top: 30px; }
	.im-step-card { margin-bottom: 20px; }
}

/* ---------- Hero: CTA botones ---------- */
.im-hero-actions { margin-top: 34px; }
.im-hero-actions .btn { margin: 8px 10px; }
.im-hero-actions .btn-maincolor {
	font-size: 16px;
	padding: 20px 44px;
	letter-spacing: 1.5px;
}
.im-hero-actions .btn-outline-light {
	border: 2px solid rgba(255,255,255,.7);
	color: #ffffff;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	padding: 18px 40px;
	border-radius: 4px;
}
.im-hero-actions .btn-outline-light:hover { background: #ffffff; color: var(--im-dark); }

/* ---------- Listas con check ---------- */
.im-checklist { list-style: none; padding-left: 0; }
.im-checklist li {
	position: relative;
	padding-left: 34px;
	margin-bottom: 14px;
	color: var(--im-text);
	font-size: 17px;
}
.im-checklist li::before {
	content: "\f00c";
	font-family: FontAwesome;
	position: absolute;
	left: 0;
	top: 1px;
	color: var(--im-amber);
	font-weight: 900;
}

/* ---------- Página pilar: bloques de contenido ---------- */
.im-pilar-block { padding: 26px 30px; background: var(--im-grey); border-left: 5px solid var(--im-yellow); border-radius: 6px; margin-bottom: 24px; }
.im-pilar-block h3 { font-size: 24px; color: var(--im-dark); margin-bottom: 10px; }
.im-pilar-block p { margin: 0; color: var(--im-text); }

/* ---------- Ajustes generales de legibilidad ---------- */
.im-light p, .im-light-grey p { font-size: 17px; line-height: 1.75; }
.breadcrumb-item a { color: var(--im-yellow); }

/* FAQ acordeón claro */
.im-faq .card { background: #ffffff; border: 1px solid var(--im-border); margin-bottom: 12px; border-radius: 8px; }
.im-faq .card-header { background: transparent; border: 0; }
.im-faq .card-header h5 a { color: var(--im-dark); font-size: 18px; display: block; padding: 6px 4px; }
.im-faq .card-body { color: var(--im-text); }
