/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.12.3.1770835693
Updated: 2026-02-11 18:48:13

*/

/* Menú: enllaços blancs, pàgina seleccionada vermell #E72B2F */
#masthead .main-header-menu .menu-link,
#masthead .main-header-menu .ast-menu-toggle,
#masthead .ast-builder-menu .menu-link,
#masthead .ast-builder-menu .ast-menu-toggle {
	color: #000 !important;
}
#masthead .main-header-menu .menu-item:hover > .menu-link,
#masthead .main-header-menu .menu-item.focus > .menu-link,
#masthead .ast-builder-menu .menu-item:hover > .menu-link,
#masthead .ast-builder-menu .menu-item.focus > .menu-link {
	color: rgba(255,255,255,0.9) !important;
}
#masthead .main-header-menu .current-menu-item > .menu-link,
#masthead .main-header-menu .current-menu-item > .ast-menu-toggle,
#masthead .main-header-menu .current-menu-ancestor > .menu-link,
#masthead .main-header-menu .current-menu-ancestor > .ast-menu-toggle,
#masthead .ast-builder-menu .current-menu-item > .menu-link,
#masthead .ast-builder-menu .current-menu-item > .ast-menu-toggle,
#masthead .ast-builder-menu .current-menu-ancestor > .menu-link,
#masthead .ast-builder-menu .current-menu-ancestor > .ast-menu-toggle {
	color: #E72B2F !important;
}
/* Cursos (megamenu): blanc per defecte, vermell quan estàs en un curs */
#masthead .contrafoc-megamenu-parent > a {
	color: #000 !important;
}

#masthead .contrafoc-megamenu-parent > a {
	color: #000 !important;
}

#masthead .contrafoc-megamenu-parent:hover > a,
#masthead .contrafoc-megamenu-parent.focus > a {
	color: #E72B2F !important;
}

#masthead .contrafoc-megamenu-parent:hover > a {
	color: #E72B2F !important;
}

#masthead .main-header-menu .menu-item:hover > .menu-link, #masthead .main-header-menu .menu-item.focus > .menu-link, #masthead .ast-builder-menu .menu-item:hover > .menu-link, #masthead .ast-builder-menu .menu-item.focus > .menu-link {
	color: #E72B2F !important;
}

#masthead .contrafoc-megamenu-parent.current-menu-ancestor > a {
	color: #E72B2F !important;
}


.contrafoc-megamenu-list li {
	width: 100% !important;
}

.contrafoc-megamenu-list li a {
	width: 100% !important;
}
 

.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {
    line-height: 40px !important;
}

/* Evitar doble espai entre primer i segon element del menú */
#masthead .main-header-menu > .menu-item:first-child,
#masthead .ast-builder-menu > .menu-item:first-child {
	padding-right: 0 !important;
	margin-right: 0 !important;
}
#masthead .main-header-menu > .menu-item:nth-child(2),
#masthead .ast-builder-menu > .menu-item:nth-child(2) {
	padding-left: 0 !important;
	margin-left: 0 !important;
}

#menu-item-287 a {
	padding-left: 0 !important;
}

/* ——— Footer fosc: 3 columnes (logo | menú | legal) + copyright (no afecta #masthead) ——— */
#colophon.site-footer {
	background: #1a1a1a;
	border-top: none;
	padding-top: 0;
	box-shadow: none;
	color: #c8c8c8;
}

#colophon .site-above-footer-wrap,
#colophon .site-below-footer-wrap {
	background: #1a1a1a;
	color: #c8c8c8;
}

#colophon .contrafoc-footer-dark {
	background: #1a1a1a;
	color: #c8c8c8;
}

#colophon .contrafoc-footer-dark__main {
	padding: 3rem 0 2.5rem;
}

#colophon .contrafoc-footer-dark__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem 2rem;
	align-items: start;
}

@media (min-width: 921px) {
	#colophon .contrafoc-footer-dark__grid {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
		gap: 2rem 3rem;
	}
}

#colophon .contrafoc-footer-dark__heading {
	margin: 0 0 1rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #ffffff;
}

#colophon .contrafoc-footer-dark__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

#colophon .contrafoc-footer-dark__list .menu-link,
#colophon .contrafoc-footer-dark__list .menu-link:visited {
	color: #b0b0b0;
	font-size: 0.9375rem;
	font-weight: 400;
	text-decoration: none;
	transition: color 0.2s ease;
}

#colophon .contrafoc-footer-dark__list .menu-link:hover,
#colophon .contrafoc-footer-dark__list .menu-link:hover:visited {
	color: #E72B2F;
}

#colophon .contrafoc-footer-dark__list .current-menu-item > .menu-link,
#colophon .contrafoc-footer-dark__list .current-menu-ancestor > .menu-link {
	color: #ffffff;
}

/* Megamenú "Cursos" al peu: mateix color que els altres enllaços; amaga el panell (no té sentit al footer) */
#colophon .contrafoc-footer-dark .contrafoc-megamenu-cursos {
	display: none !important;
}

#colophon .contrafoc-footer-dark__list .contrafoc-megamenu-trigger,
#colophon .contrafoc-footer-dark__list .contrafoc-megamenu-trigger:visited {
	color: #b0b0b0 !important;
	font-size: 0.9375rem;
	font-weight: 400;
	text-decoration: none;
	line-height: inherit;
}

#colophon .contrafoc-footer-dark__list .contrafoc-megamenu-trigger:hover,
#colophon .contrafoc-footer-dark__list .contrafoc-megamenu-parent:hover > .contrafoc-megamenu-trigger,
#colophon .contrafoc-footer-dark__list .contrafoc-megamenu-parent:hover > .contrafoc-megamenu-trigger:visited {
	color: #E72B2F !important;
}

#colophon .contrafoc-footer-dark__list .current-menu-ancestor.contrafoc-megamenu-parent > .contrafoc-megamenu-trigger,
#colophon .contrafoc-footer-dark__list .current-menu-ancestor.contrafoc-megamenu-parent > .contrafoc-megamenu-trigger:visited {
	color: #ffffff !important;
}

#colophon .contrafoc-footer-dark__list > .menu-item {
	margin: 0;
	padding: 0;
}

#colophon .contrafoc-footer-dark__list .menu-item > .menu-link,
#colophon .contrafoc-footer-dark__list .menu-item > .contrafoc-megamenu-trigger {
	padding-left: 0 !important;
}

#colophon .contrafoc-footer-dark__col--logo .custom-logo-link,
#colophon .contrafoc-footer-dark__col--logo .custom-logo-link img {
	display: block;
}

#colophon .contrafoc-footer-dark__col--logo .custom-logo-link img {
	max-height: 48px;
	width: auto;
}

#colophon .contrafoc-footer-dark__sitename {
	color: #ffffff;
	font-size: 1.25rem;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.02em;
}

#colophon .contrafoc-footer-dark__sitename:hover {
	color: #E72B2F;
}

#colophon .contrafoc-footer-dark__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 1.25rem 0 1.75rem;
}

#colophon .contrafoc-footer-dark__copyright,
#colophon .contrafoc-footer-dark__copyright p {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.6;
	color: #8a8a8a;
	text-align: center;
	letter-spacing: 0.02em;
}

#colophon .contrafoc-footer-dark__copyright a {
	color: #b0b0b0;
	text-decoration: none;
}

#colophon .contrafoc-footer-dark__copyright a:hover {
	color: #E72B2F;
}

#ast-scroll-top {
	border-radius: 4px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	transition: background-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

#ast-scroll-top:hover {
	background-color: #E72B2F;
	transform: translateY(-1px);
}

/* ——— Pàgina Contacte (Elementor ID 126): dues targetes + Fluent Form en vermell marca ——— */
.elementor-126 .elementor-element.elementor-element-d6ea23f {
	background-color: #f0f2f5;
	--padding-top: 3rem !important;
	--padding-bottom: 3.5rem !important;
}

/* Reixa centrada a l'amplada del contingut (no full viewport) */
.elementor-126 .elementor-element.elementor-element-a9fd7ea.e-con-boxed {
	max-width: 1140px;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100%;
	box-sizing: border-box;
}

.elementor-126 .elementor-element.elementor-element-a9fd7ea > .e-con-inner {
	gap: 1.75rem 2rem;
	align-items: start;
	grid-auto-rows: auto;
}

.elementor-126 .elementor-element.elementor-element-f9902bc,
.elementor-126 .elementor-element.elementor-element-89cd30b {
	align-self: start;
	height: auto;
}

.elementor-126 .elementor-element.elementor-element-f9902bc {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.07);
	padding: 2rem 2rem 1.5rem;
	overflow: hidden;
	align-items: flex-start;
}

.elementor-126 .elementor-element.elementor-element-432cb76 .elementor-widget-container {
	position: relative;
	padding-top: 0.25rem;
}

.elementor-126 .elementor-element.elementor-element-f9902bc .contrafoc-contacte-intro p,
.elementor-126 .elementor-element.elementor-element-432cb76 p {
	color: #5a5a5a;
	line-height: 1.65;
	margin: 0 0 1rem;
	font-size: 0.95rem;
}

.elementor-126 .elementor-element.elementor-element-f9902bc .contrafoc-contacte-body p:last-child,
.elementor-126 .elementor-element.elementor-element-432cb76 p:last-of-type {
	margin-bottom: 1.25rem;
}

.elementor-126 .contrafoc-contacte-kicker,
.elementor-126 .elementor-widget-text-editor .contrafoc-contacte-kicker {
	margin: 0 0 0.5rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #E72B2F !important;
}

.elementor-126 .contrafoc-contacte-heading {
	margin: 0 0 1rem;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.3;
	color: #1a1a1a;
}

.elementor-126 .contrafoc-contacte-address {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	font-style: normal;
	line-height: 1.6;
	color: #5a5a5a;
}

.elementor-126 .contrafoc-contacte-email {
	margin: 0 0 1.5rem;
	font-size: 0.95rem;
}

.elementor-126 .contrafoc-contacte-email a {
	color: #E72B2F;
	font-weight: 600;
	text-decoration: none;
}

.elementor-126 .contrafoc-contacte-email a:hover {
	text-decoration: underline;
}

.elementor-126 .contrafoc-contacte-body {
	margin-top: 0.25rem;
}

.elementor-126 .elementor-element.elementor-element-1afd1cf .elementor-custom-embed {
	border-radius: 12px;
	overflow: hidden;
	line-height: 0;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.elementor-126 .elementor-element.elementor-element-1afd1cf iframe {
	width: 100%;
	min-height: 280px;
	border: 0;
	display: block;
}

.elementor-126 .elementor-element.elementor-element-89cd30b > .elementor-widget-container {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.07);
	padding: 2rem;
}

.elementor-126 .elementor-element.elementor-element-89cd30b .fluentform-widget-wrapper {
	position: relative;
	padding-top: 0.25rem;
}

.elementor-126 .elementor-element.elementor-element-89cd30b .fluentform-widget-wrapper::before {
	content: "Escríbenos";
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #E72B2F !important;
	margin-bottom: 0.35rem;
}

.elementor-126 .elementor-element.elementor-element-89cd30b .fluentform-widget-wrapper::after {
	content: "Responderemos lo antes posible.";
	display: block;
	font-size: 0.9rem;
	color: #777;
	margin-bottom: 1.5rem;
	line-height: 1.4;
}

.elementor-126 form.fluent_form_3 .ff-el-form-control {
	border-radius: 10px;
	border: 1px solid #d8d8d8;
	padding: 0.65rem 0.85rem;
	font-size: 0.95rem;
}

.elementor-126 form.fluent_form_3 .ff-el-form-control:focus {
	border-color: #E72B2F;
	box-shadow: 0 0 0 1px rgba(231, 43, 47, 0.2);
	outline: none;
}

.elementor-126 form.fluent_form_3 .ff-el-input--label label {
	color: #444;
	font-weight: 500;
	font-size: 0.9rem;
}

.elementor-126 form.fluent_form_3 .ff-el-is-required .ff-el-input--label label .ff_astrict,
.elementor-126 form.fluent_form_3 .ff-el-is-required.asterisk-right .ff-el-input--label label::after {
	color: #E72B2F;
}

.elementor-126 form.fluent_form_3 .ff_t_c b {
	color: #E72B2F;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.elementor-126 .elementor-element.elementor-element-89cd30b .fluentform-widget-wrapper .ff-el-group .ff-btn-submit,
.elementor-126 form.fluent_form_3 .ff-btn-submit,
.elementor-126 form.fluent_form_3 .wpf_has_custom_css.ff-btn-submit {
	background-color: #E72B2F !important;
	border-color: #E72B2F !important;
	color: #ffffff !important;
	border-radius: 10px !important;
	font-weight: 600 !important;
	padding: 0.85rem 1.75rem !important;
	min-width: 0 !important;
	width: auto !important;
	display: inline-block;
	box-shadow: none !important;
	filter: none !important;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.elementor-126 form.fluent_form_3 .ff_submit_btn_wrapper.ff_submit_btn_wrapper_custom {
	width: auto !important;
	text-align: left;
}

.elementor-126 .elementor-element.elementor-element-89cd30b .fluentform-widget-wrapper .ff-el-group .ff-btn-submit:hover,
.elementor-126 form.fluent_form_3 .ff-btn-submit:hover,
.elementor-126 form.fluent_form_3 .wpf_has_custom_css.ff-btn-submit:hover {
	background-color: #c41f23 !important;
	border-color: #c41f23 !important;
	color: #ffffff !important;
	box-shadow: none !important;
	filter: none !important;
}

@media (max-width: 767px) {
	.elementor-126 .elementor-element.elementor-element-f9902bc,
	.elementor-126 .elementor-element.elementor-element-89cd30b > .elementor-widget-container {
		padding: 1.5rem;
	}
}

/* ——— Página plantilla Salvamento: forçar columna única dins del .ast-container d'Astra ——— */
.contrafoc-salvamento-layout #content > .ast-container,
.contrafoc-opiniones-layout #content > .ast-container,
.contrafoc-cardioproteccion-layout #content > .ast-container {
	display: block !important;
	width: 100%;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.contrafoc-salvamento-layout #main.site-main.contrafoc-salvamento-page,
.contrafoc-salvamento-layout .contrafoc-salvamento-page {
	display: block;
	width: 100%;
	min-width: 0;
}

.contrafoc-salvamento-page__wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 1.5rem 3rem;
	box-sizing: border-box;
}

.contrafoc-salvamento-page__hero {
	position: relative;
	width: 100%;
	padding: clamp(2.5rem, 6vw, 4rem) 1.5rem clamp(3rem, 7vw, 4.5rem);
	background: linear-gradient(145deg, #f4f6f8 0%, #eef1f5 45%, #fafbfc 100%);
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

.contrafoc-salvamento-page__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 80% 55% at 85% 15%, rgba(231, 43, 47, 0.09), transparent 55%);
	pointer-events: none;
}

.contrafoc-salvamento-page__hero-inner {
	position: relative;
	z-index: 1;
	max-width: 42rem;
	margin: 0 auto;
	text-align: center;
}

.contrafoc-salvamento-page__kicker {
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #E72B2F;
	margin: 0 0 0.75rem;
}

.contrafoc-salvamento-page__title {
	font-size: clamp(1.85rem, 4.5vw, 2.65rem);
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 1.15rem;
	color: #141414;
	letter-spacing: -0.02em;
}

.contrafoc-salvamento-page__lead {
	font-size: clamp(1.05rem, 2.2vw, 1.2rem);
	line-height: 1.6;
	color: #3a3a3a;
	margin: 0 auto 1.75rem;
	max-width: 38rem;
}

.contrafoc-salvamento-page__hero-cta {
	display: inline-block;
	background-color: #E72B2F;
	border: 2px solid #E72B2F;
	color: #ffffff !important;
	font-weight: 600;
	font-size: 1rem;
	text-decoration: none !important;
	padding: 0.9rem 1.85rem;
	border-radius: 10px;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
	box-shadow: 0 4px 14px rgba(231, 43, 47, 0.28);
}

.contrafoc-salvamento-page__hero-cta:hover,
.contrafoc-salvamento-page__hero-cta:focus {
	background-color: #c41f23;
	border-color: #c41f23;
	color: #ffffff !important;
	transform: translateY(-1px);
}

.contrafoc-salvamento-page__band {
	padding-top: 2.75rem;
	padding-bottom: 2.75rem;
}

.contrafoc-salvamento-page__band--intro {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.contrafoc-salvamento-page__section-title {
	font-size: clamp(1.2rem, 2.5vw, 1.45rem);
	font-weight: 700;
	margin: 0 0 1.25rem;
	color: #141414;
}

.contrafoc-salvamento-page__section-title--center {
	text-align: center;
	margin-bottom: 1.75rem;
}

.contrafoc-salvamento-page__prose {
	max-width: 48rem;
}

.contrafoc-salvamento-page__prose p {
	margin: 0 0 1.1rem;
	line-height: 1.7;
	font-size: 1.0625rem;
	color: #383838;
}

.contrafoc-salvamento-page__prose p:last-child {
	margin-bottom: 0;
}

.contrafoc-salvamento-page__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.contrafoc-salvamento-page__card {
	margin: 0;
	padding: 1.35rem 1.35rem 1.4rem;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: 14px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contrafoc-salvamento-page__card:hover {
	border-color: rgba(231, 43, 47, 0.25);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
}

.contrafoc-salvamento-page__card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	margin-bottom: 1rem;
	border-radius: 12px;
	background: rgba(231, 43, 47, 0.1);
	color: #E72B2F;
}

.contrafoc-salvamento-page__card-icon svg {
	display: block;
}

.contrafoc-salvamento-page__card-text {
	margin: 0;
	font-size: 1rem;
	line-height: 1.55;
	color: #333;
}

.contrafoc-salvamento-page__cta {
	margin-top: 2.25rem;
	text-align: center;
	padding: 2.25rem 1.5rem;
	background: linear-gradient(180deg, #2a2a2c 0%, #1e1e20 100%);
	color: #f5f5f5;
	border-radius: 14px;
}

.contrafoc-salvamento-page__cta-inner {
	max-width: 36rem;
	margin: 0 auto;
}

.contrafoc-salvamento-page__cta-title {
	font-size: clamp(1.15rem, 2.5vw, 1.4rem);
	font-weight: 700;
	margin: 0 0 0.65rem;
	color: #ffffff;
}

.contrafoc-salvamento-page__cta-text {
	margin: 0 0 1.35rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.85);
	font-size: 1.02rem;
}

.contrafoc-salvamento-page__button {
	display: inline-block;
	background-color: #E72B2F;
	border: 2px solid #E72B2F;
	color: #ffffff !important;
	font-weight: 600;
	text-decoration: none !important;
	padding: 0.9rem 1.85rem;
	border-radius: 10px;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.contrafoc-salvamento-page__button:hover,
.contrafoc-salvamento-page__button:focus {
	background-color: #c41f23;
	border-color: #c41f23;
	color: #ffffff !important;
}

@media (max-width: 782px) {
	.contrafoc-salvamento-page__grid {
		grid-template-columns: 1fr;
	}

	.contrafoc-salvamento-page__wrap {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.contrafoc-salvamento-page__hero {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}
}

/* ——— Página plantilla Opiniones de clientes ——— */
.contrafoc-opiniones-layout #main.site-main.contrafoc-opiniones-page,
.contrafoc-opiniones-layout .contrafoc-opiniones-page {
	display: block;
	width: 100%;
	min-width: 0;
}

.contrafoc-opiniones-page__hero {
	position: relative;
	width: 100%;
	padding: clamp(2.25rem, 5vw, 3.5rem) 1.5rem clamp(2.5rem, 6vw, 3.75rem);
	background: linear-gradient(155deg, #fafbfc 0%, #f0f2f5 50%, #f8f9fb 100%);
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

.contrafoc-opiniones-page__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 70% 50% at 12% 20%, rgba(231, 43, 47, 0.07), transparent 50%);
	pointer-events: none;
}

.contrafoc-opiniones-page__hero-inner {
	position: relative;
	z-index: 1;
	max-width: 40rem;
	margin: 0 auto;
	text-align: center;
}

.contrafoc-opiniones-page__kicker {
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #E72B2F;
	margin: 0 0 0.65rem;
}

.contrafoc-opiniones-page__title {
	font-size: clamp(1.75rem, 4vw, 2.45rem);
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 1rem;
	color: #141414;
	letter-spacing: -0.02em;
}

.contrafoc-opiniones-page__lead {
	font-size: clamp(1rem, 2vw, 1.1rem);
	line-height: 1.65;
	color: #3d3d3d;
	margin: 0;
}

.contrafoc-opiniones-page__wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 2.25rem 1.5rem 3rem;
	box-sizing: border-box;
}

.contrafoc-opiniones-page__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.35rem;
	list-style: none;
	margin: 0 0 2.5rem;
	padding: 0;
}

.contrafoc-opiniones-page__card {
	margin: 0;
	padding: 1.5rem 1.45rem 1.4rem;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: 14px;
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.04);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contrafoc-opiniones-page__card:hover {
	border-color: rgba(231, 43, 47, 0.22);
	box-shadow: 0 10px 32px rgba(0, 0, 0, 0.08);
}

.contrafoc-opiniones-page__stars {
	margin: 0 0 0.85rem;
	font-size: 0.95rem;
	line-height: 1;
	letter-spacing: 0.12em;
	color: #E72B2F;
}

.contrafoc-opiniones-page__quote {
	margin: 0;
	padding: 0;
	border: 0;
}

.contrafoc-opiniones-page__quote p {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.65;
	color: #333;
	font-style: normal;
}

.contrafoc-opiniones-page__footer {
	margin-top: 1.15rem;
	padding-top: 1.1rem;
	border-top: 1px solid rgba(0, 0, 0, 0.07);
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

/* Atribución solo con perfil genérico (sin nombre inventado) */
.contrafoc-opiniones-page__source {
	display: block;
	font-size: 0.9375rem;
	font-weight: 600;
	font-style: normal;
	color: #3a3a3a;
	line-height: 1.45;
}

.contrafoc-opiniones-page__cta {
	text-align: center;
	padding: 2.25rem 1.5rem;
	background: linear-gradient(180deg, #2a2a2c 0%, #1e1e20 100%);
	border-radius: 14px;
	color: #f5f5f5;
}

.contrafoc-opiniones-page__cta-title {
	font-size: clamp(1.15rem, 2.5vw, 1.4rem);
	font-weight: 700;
	margin: 0 0 0.65rem;
	color: #ffffff;
}

.contrafoc-opiniones-page__cta-text {
	margin: 0 0 1.35rem;
	font-size: 1.02rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.85);
}

.contrafoc-opiniones-page__button {
	display: inline-block;
	background-color: #E72B2F;
	border: 2px solid #E72B2F;
	color: #ffffff !important;
	font-weight: 600;
	text-decoration: none !important;
	padding: 0.85rem 1.75rem;
	border-radius: 10px;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.contrafoc-opiniones-page__button:hover,
.contrafoc-opiniones-page__button:focus {
	background-color: #c41f23;
	border-color: #c41f23;
	color: #ffffff !important;
}

@media (max-width: 782px) {
	.contrafoc-opiniones-page__grid {
		grid-template-columns: 1fr;
	}

	.contrafoc-opiniones-page__wrap {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.contrafoc-opiniones-page__hero {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}
}

/* ——— Página plantilla Cardioprotección (hero + bandes + CTA, alineat amb Salvamento) ——— */
.contrafoc-cardioproteccion-layout #main.site-main.contrafoc-cardioproteccion-page,
.contrafoc-cardioproteccion-layout .contrafoc-cardioproteccion-page {
	display: block;
	width: 100%;
	min-width: 0;
}

.contrafoc-cardioproteccion-page__hero {
	position: relative;
	width: 100%;
	padding: clamp(2.5rem, 6vw, 4rem) 1.5rem clamp(3rem, 7vw, 4.5rem);
	background: linear-gradient(145deg, #f4f6f8 0%, #eef1f5 45%, #fafbfc 100%);
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

.contrafoc-cardioproteccion-page__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 80% 55% at 85% 15%, rgba(231, 43, 47, 0.09), transparent 55%);
	pointer-events: none;
}

.contrafoc-cardioproteccion-page__hero-inner {
	position: relative;
	z-index: 1;
	max-width: 52rem;
	margin: 0 auto;
	text-align: center;
}

.contrafoc-cardioproteccion-page__kicker {
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #E72B2F;
	margin: 0 0 0.75rem;
}

.contrafoc-cardioproteccion-page__title {
	font-size: clamp(1.45rem, 3.4vw, 2.35rem);
	font-weight: 700;
	line-height: 1.18;
	margin: 0 0 1.15rem;
	color: #141414;
	letter-spacing: -0.02em;
}

.contrafoc-cardioproteccion-page__lead {
	font-size: clamp(1.05rem, 2.2vw, 1.2rem);
	line-height: 1.6;
	color: #3a3a3a;
	margin: 0 auto 1.75rem;
	max-width: 40rem;
}

.contrafoc-cardioproteccion-page__hero-cta {
	display: inline-block;
	background-color: #E72B2F;
	border: 2px solid #E72B2F;
	color: #ffffff !important;
	font-weight: 600;
	font-size: 1rem;
	text-decoration: none !important;
	padding: 0.9rem 1.85rem;
	border-radius: 10px;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
	box-shadow: 0 4px 14px rgba(231, 43, 47, 0.28);
}

.contrafoc-cardioproteccion-page__hero-cta:hover,
.contrafoc-cardioproteccion-page__hero-cta:focus {
	background-color: #c41f23;
	border-color: #c41f23;
	color: #ffffff !important;
	transform: translateY(-1px);
}

/* Bloques de servei (mateixa llengua visual que Salvamento: grisos, tarjetes 14px, títols #141414) */
.contrafoc-cardioproteccion-page__bands {
	width: 100%;
}

.contrafoc-cardioproteccion-band {
	padding: clamp(2.5rem, 5vw, 2.75rem) 1.5rem;
}

.contrafoc-cardioproteccion-band--muted {
	background: linear-gradient(180deg, #fafbfc 0%, #f4f6f8 100%);
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.contrafoc-cardioproteccion-band--white {
	background: #ffffff;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.contrafoc-cardioproteccion-band--tight {
	padding-top: clamp(2rem, 4vw, 2.5rem);
	padding-bottom: clamp(2.25rem, 5vw, 2.75rem);
}

.contrafoc-cardioproteccion-band__inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

.contrafoc-cardioproteccion-band__inner--narrow {
	max-width: 48rem;
	text-align: center;
}

/* Igual que .contrafoc-salvamento-page__section-title */
.contrafoc-cardioproteccion-band__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.2rem, 2.5vw, 1.45rem);
	font-weight: 700;
	color: #141414;
	text-align: center;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.contrafoc-cardioproteccion-band__subtitle {
	margin: 0 0 1.75rem;
	text-align: center;
	font-size: clamp(1rem, 2vw, 1.0625rem);
	color: #3a3a3a;
	line-height: 1.6;
}

.contrafoc-cardioproteccion-band__text {
	margin: 0;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #383838;
}

.contrafoc-cardioproteccion-tri-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

/* Mateixa caixa que .contrafoc-salvamento-page__card */
.contrafoc-cardioproteccion-info-card {
	margin: 0;
	padding: 1.35rem 1.35rem 1.4rem;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: 14px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contrafoc-cardioproteccion-info-card:hover {
	border-color: rgba(231, 43, 47, 0.25);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
}

.contrafoc-cardioproteccion-info-card__title {
	margin: 0 0 0.65rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: #141414;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.contrafoc-cardioproteccion-info-card__intro {
	margin: 0 0 1rem;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: #383838;
}

.contrafoc-cardioproteccion-info-card__list {
	margin: 0;
	padding-left: 1.2rem;
	font-size: 1rem;
	line-height: 1.55;
	color: #333;
}

.contrafoc-cardioproteccion-info-card__list li {
	margin-bottom: 0.5rem;
}

.contrafoc-cardioproteccion-info-card__list li:last-child {
	margin-bottom: 0;
}

.contrafoc-cardioproteccion-info-card__list strong {
	color: #141414;
	font-weight: 600;
}

.contrafoc-cardioproteccion-norm-card {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.5rem 1.5rem 1.45rem 1.35rem;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-left: 4px solid #E72B2F;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contrafoc-cardioproteccion-norm-card:hover {
	border-color: rgba(231, 43, 47, 0.2);
	border-left-color: #E72B2F;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
}

.contrafoc-cardioproteccion-norm-card__title {
	margin: 0 0 1rem;
	font-size: clamp(1.2rem, 2.5vw, 1.45rem);
	font-weight: 700;
	color: #141414;
	text-align: left;
	letter-spacing: -0.02em;
}

.contrafoc-cardioproteccion-norm-card__intro {
	margin: 0 0 1.25rem;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: #383838;
}

.contrafoc-cardioproteccion-check-list {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
}

.contrafoc-cardioproteccion-check {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 0.85rem;
	font-size: 1rem;
	line-height: 1.55;
	color: #333;
}

.contrafoc-cardioproteccion-check:last-child {
	margin-bottom: 0;
}

/* Mateix volum que .contrafoc-salvamento-page__card-icon, color de marca */
.contrafoc-cardioproteccion-check__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	flex-shrink: 0;
	border-radius: 12px;
	background: rgba(231, 43, 47, 0.1);
	color: #E72B2F;
	margin-top: 0.05rem;
}

.contrafoc-cardioproteccion-check__icon svg {
	display: block;
}

.contrafoc-cardioproteccion-check__text {
	flex: 1;
	min-width: 0;
	padding-top: 0.2rem;
}

.contrafoc-cardioproteccion-norm-card__note {
	margin: 0;
	font-size: 0.9375rem;
	font-style: italic;
	line-height: 1.6;
	color: #666;
}

.contrafoc-cardioproteccion-page__cta-wrap {
	max-width: 1100px;
	margin: 2.25rem auto 0;
	padding: 0 1.5rem 3rem;
	box-sizing: border-box;
}

.contrafoc-cardioproteccion-page__cta {
	margin-top: 0;
	text-align: center;
	padding: 2.25rem 1.5rem;
	background: linear-gradient(180deg, #2a2a2c 0%, #1e1e20 100%);
	color: #f5f5f5;
	border-radius: 14px;
}

.contrafoc-cardioproteccion-page__cta-inner {
	max-width: 36rem;
	margin: 0 auto;
}

.contrafoc-cardioproteccion-page__cta-title {
	font-size: clamp(1.15rem, 2.5vw, 1.4rem);
	font-weight: 700;
	margin: 0 0 0.65rem;
	color: #ffffff;
}

.contrafoc-cardioproteccion-page__cta-text {
	margin: 0 0 1.35rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.85);
	font-size: 1.02rem;
}

.contrafoc-cardioproteccion-page__button {
	display: inline-block;
	background-color: #E72B2F;
	border: 2px solid #E72B2F;
	color: #ffffff !important;
	font-weight: 600;
	text-decoration: none !important;
	padding: 0.9rem 1.85rem;
	border-radius: 10px;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.contrafoc-cardioproteccion-page__button:hover,
.contrafoc-cardioproteccion-page__button:focus {
	background-color: #c41f23;
	border-color: #c41f23;
	color: #ffffff !important;
	transform: translateY(-1px);
}

@media (max-width: 782px) {
	.contrafoc-cardioproteccion-page__hero {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.contrafoc-cardioproteccion-page__cta-wrap {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.contrafoc-cardioproteccion-band {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.contrafoc-cardioproteccion-tri-grid {
		grid-template-columns: 1fr;
	}
}

/* ——— Inicio Elementor (document .elementor-12): coherència amb landing Salvamento / Cardioprotecció ——— */
.elementor-12 .elementor-widget-text-editor .fusion-title-heading,
.elementor-12 .elementor-widget-text-editor h2.fusion-title-heading {
	color: #141414 !important;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.elementor-12 .elementor-widget-text-editor .fusion-text p {
	color: #383838;
	font-size: 1.0625rem;
	line-height: 1.7;
	margin: 0 0 1rem;
}

.elementor-12 .elementor-widget-text-editor .fusion-text p:last-child {
	margin-bottom: 0;
}

/* Títols de bloc (primer h3) + text introductori (h3 següent amb span) */
.elementor-12 .elementor-widget-text-editor h3:first-of-type {
	color: #141414 !important;
	font-size: clamp(1.15rem, 2.3vw, 1.45rem) !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin: 0 0 0.75rem !important;
	letter-spacing: -0.02em;
}

.elementor-12 .elementor-widget-text-editor h3:not(:first-of-type) {
	font-weight: 400 !important;
	color: #383838 !important;
	font-size: 1.0625rem !important;
	line-height: 1.7 !important;
	margin: 0 !important;
}

.elementor-12 .elementor-widget-text-editor h3:not(:first-of-type) span,
.elementor-12 .elementor-widget-text-editor font[color] {
	color: #383838 !important;
}

/* Hero: títol blanc sobre foto */
.elementor-12 .header-info h2 {
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
	line-height: 1.15 !important;
}

/* Botons Elementor = CTA Salvamento */
.elementor-12 .elementor-button {
	background-color: #E72B2F !important;
	border: 2px solid #E72B2F !important;
	color: #ffffff !important;
	border-radius: 10px !important;
	font-weight: 600 !important;
	box-shadow: 0 4px 14px rgba(231, 43, 47, 0.22);
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
}

.elementor-12 .elementor-button:hover,
.elementor-12 .elementor-button:focus {
	background-color: #c41f23 !important;
	border-color: #c41f23 !important;
	color: #ffffff !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(231, 43, 47, 0.3);
}

.elementor-12 .elementor-button.elementor-size-sm {
	padding: 0.75rem 1.5rem !important;
}

.elementor-12 .elementor-button .elementor-button-text {
	color: inherit !important;
}

/* Secció FUNDAE: subtítol llegible */
.elementor-12 .elementor-element-93fca5c h2 span[style*="font-size: 16px"] {
	line-height: 1.65 !important;
	opacity: 0.95;
}

/* Widget cursos (plugin): mateixa llengua que tarjetes Salvamento */
.elementor-12 .contrafoc-cursos-elementor-widget {
	margin: 0.25rem 0 1.75rem;
}

.elementor-12 .contrafoc-cursos-card {
	border-radius: 14px !important;
	border: 1px solid rgba(0, 0, 0, 0.07);
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
}

.elementor-12 .contrafoc-cursos-card:hover {
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08) !important;
	border-color: rgba(231, 43, 47, 0.28);
	transform: translateY(-2px);
}

.elementor-12 .contrafoc-cursos-card:hover .contrafoc-cursos-card-bg {
	transform: scale(1.05);
}

.elementor-12 .contrafoc-cursos-card-overlay {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.68) 100%) !important;
}

.elementor-12 .contrafoc-cursos-card-title {
	padding: 1.15rem 1.25rem !important;
	font-size: clamp(1.05rem, 2vw, 1.25rem) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.55);
}

.elementor-12 .contrafoc-cursos-elementor-widget .slick-dots li button {
	background: #d4d4d4 !important;
	width: 10px;
	height: 10px;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.elementor-12 .contrafoc-cursos-elementor-widget .slick-dots li.slick-active button {
	background: #E72B2F !important;
	transform: scale(1.15);
}

/* Fila «Nosotros»: aire entre columnes en mòbil */
@media (max-width: 767px) {
	.elementor-12 .elementor-element-ccd06cc .e-con-inner {
		gap: 1.5rem;
	}
}