/**
 * Centre de dia — overrides modernos para Elementor + kit.
 * Carga después de Astra (tema hijo). No edites plugins/core.
 */

/* --- Tokens (consumibles también en snippets) --- */
:root {
	--cdia-color-primary: #0c6b7a;
	--cdia-color-primary-dark: #094a55;
	--cdia-color-accent: #c45a2b;
	--cdia-color-ink: #1e293b;
	--cdia-color-ink-muted: #475569;
	--cdia-color-surface: #f6f8f9;
	--cdia-content-max: 1200px;
	--cdia-hero-pad-y: clamp(100px, 14vw, 200px);
	--cdia-hero-pad-x: clamp(20px, 4vw, 40px);
	--cdia-radius-card: 12px;
	--cdia-shadow-card: 0 10px 30px rgba(15, 23, 42, 0.08);
}

/* Kit Elementor (post-20): tipografía y colores más actuales */
body.elementor-kit-20,
.elementor-kit-20 {
	--e-global-color-primary: var(--cdia-color-primary);
	--e-global-color-secondary: var(--cdia-color-ink-muted);
	--e-global-color-text: var(--cdia-color-ink-muted);
	--e-global-color-accent: var(--cdia-color-accent);
	--e-global-typography-primary-font-family: "DM Sans", system-ui, sans-serif;
	--e-global-typography-secondary-font-family: "DM Sans", system-ui, sans-serif;
	--e-global-typography-text-font-family: "DM Sans", system-ui, sans-serif;
	--e-global-typography-accent-font-family: "DM Sans", system-ui, sans-serif;
}

body,
button,
input,
select,
textarea,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor {
	font-family: "DM Sans", system-ui, sans-serif;
}

/* Contenedor Elementor alineado con Astra 1200px */
.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: var(--cdia-content-max);
}

.e-con {
	--container-max-width: var(--cdia-content-max);
}

/* --- Heroes: rutas sin host (evita localhost:10101 al migrar) + cover --- */
.elementor-24 .elementor-element.elementor-element-ee4dfe8:not(.elementor-motion-effects-element-type-background),
.elementor-24 .elementor-element.elementor-element-ee4dfe8 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-image: url("/wp-content/uploads/2024/09/banner_serveis_0.jpeg") !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
}

.elementor-31 .elementor-element.elementor-element-fdbbe0e:not(.elementor-motion-effects-element-type-background),
.elementor-31 .elementor-element.elementor-element-fdbbe0e > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-image: url("/wp-content/uploads/2024/09/banner_activitats.jpeg") !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
}

.elementor-67 .elementor-element.elementor-element-9604a0a:not(.elementor-motion-effects-element-type-background),
.elementor-67 .elementor-element.elementor-element-9604a0a > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-image: url("/wp-content/uploads/2024/09/transport_servei_2-1-scaled.jpeg") !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
}

/* Overlay legibilidad titular */
.elementor-24 .elementor-element.elementor-element-ee4dfe8 .elementor-motion-effects-container,
.elementor-31 .elementor-element.elementor-element-fdbbe0e .elementor-motion-effects-container,
.elementor-67 .elementor-element.elementor-element-9604a0a .elementor-motion-effects-container {
	position: relative;
}

.elementor-24 .elementor-element.elementor-element-ee4dfe8 .elementor-motion-effects-container::after,
.elementor-31 .elementor-element.elementor-element-fdbbe0e .elementor-motion-effects-container::after,
.elementor-67 .elementor-element.elementor-element-9604a0a .elementor-motion-effects-container::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.45) 0%, rgba(15, 23, 42, 0.72) 100%);
	pointer-events: none;
	z-index: 1;
}

/* Padding hero responsive (sustituye 200px fijos en la práctica) */
.elementor-24 .elementor-element.elementor-element-ee4dfe8,
.elementor-31 .elementor-element.elementor-element-fdbbe0e,
.elementor-67 .elementor-element.elementor-element-9604a0a {
	--padding-top: var(--cdia-hero-pad-y) !important;
	--padding-bottom: clamp(64px, 10vw, 120px) !important;
	--padding-left: var(--cdia-hero-pad-x) !important;
	--padding-right: var(--cdia-hero-pad-x) !important;
}

/* Titulares hero en blanco con ligera sombra */
.elementor-24 .elementor-element.elementor-element-e7b40e2 .elementor-heading-title,
.elementor-31 .elementor-element.elementor-element-5f4b447 .elementor-heading-title,
.elementor-67 .elementor-element.elementor-element-8d1cccc .elementor-heading-title {
	color: #fff !important;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

/* --- Página Activitats: tarjetas image-box --- */
.elementor-31 .elementor-widget-image-box .elementor-image-box-img img {
	border-radius: var(--cdia-radius-card);
	box-shadow: var(--cdia-shadow-card);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.elementor-31 .elementor-widget-image-box:hover .elementor-image-box-img img {
	transform: translateY(-3px);
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
}

.elementor-31 .elementor-widget-image-box .elementor-image-box-title {
	color: var(--cdia-color-ink) !important;
	font-weight: 600;
}

.elementor-31 .elementor-widget-image-box .elementor-image-box-description {
	color: var(--cdia-color-ink-muted) !important;
	line-height: 1.55;
}

/* --- Serveis: bloques texto --- */
.elementor-24 .elementor-widget-text-editor {
	color: var(--cdia-color-ink-muted);
	line-height: 1.65;
}

/* --- Transport: rejillas alternas --- */
.elementor-67 .elementor-widget-text-editor {
	line-height: 1.65;
	color: var(--cdia-color-ink-muted);
}

/* --- Contacte / Fluent Forms --- */
.elementor-141 .fluentform-widget-wrapper .ff-el-group .ff-btn-submit,
.elementor-141 .elementor-element.elementor-element-6c1ae44 .fluentform-widget-wrapper .ff-el-group .ff-btn-submit {
	background-color: var(--cdia-color-primary) !important;
	color: #fff !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.elementor-141 .fluentform-widget-wrapper .ff-el-group .ff-btn-submit:hover,
.elementor-141 .elementor-element.elementor-element-6c1ae44 .fluentform-widget-wrapper .ff-el-group .ff-btn-submit:hover {
	background-color: var(--cdia-color-primary-dark) !important;
	transform: translateY(-1px);
}

.elementor-141 .fluentform-widget-wrapper .ff-el-form-control {
	border-radius: 8px !important;
	border-color: #cbd5e1 !important;
}

/* --- Móvil: rejilla serveis ya 1 col en Elementor; refuerzo márgenes --- */
@media (max-width: 767px) {
	.elementor-24 .elementor-element.elementor-element-f429046 {
		--gap: 16px;
	}
}
