/*
Theme Name: Rosario Burletes
Description: 
Version: 1.0.0
Author: Alejandro Zampatti
Author URI: 
Theme URI: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: Divi
*/

/* ========== Custom CSS from Generator ========== */

/* ========== Catálogos descargables ========== */
.rb-catalog-card {
	--rb-accent: #8b90c6;
	position: relative;
	cursor: pointer;
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s ease, border-color 0.35s ease, background-color 0.35s ease, filter 0.35s ease;
}

.rb-catalog-card--orange { --rb-accent: #f0643f; }
.rb-catalog-card--violet { --rb-accent: #8b90c6; }
.rb-catalog-card--teal { --rb-accent: #2fa58e; }

/* Ícono de descarga que aparece al pasar el mouse. */
.rb-catalog-card::after {
	content: "";
	position: absolute;
	right: 22px;
	bottom: 20px;
	width: 22px;
	height: 22px;
	background-color: var(--rb-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m0 0-4.5-4.5M12 15l4.5-4.5M4 17v3h16v-3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m0 0-4.5-4.5M12 15l4.5-4.5M4 17v3h16v-3'/%3E%3C/svg%3E") center / contain no-repeat;
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
	pointer-events: none;
}

.rb-catalog-card:hover,
.rb-catalog-card:focus-visible {
	transform: translateY(-6px);
	border-color: var(--rb-accent) !important;
	/* background-color: rgba(255, 255, 255, 0.05) !important; */
	box-shadow: 0 16px 34px -14px var(--rb-accent), inset 0 0 0 1px var(--rb-accent);
}

.rb-catalog-card:hover::after,
.rb-catalog-card:focus-visible::after {
	opacity: 1;
	transform: translateY(0);
}

.rb-catalog-card:hover .et_pb_heading_container :is(h1, h2, h3, h4) {
	color: var(--rb-accent) !important;
}

/* "Altas temperaturas": forma con esquina recortada; el borde lo dibuja el SVG. */
.rb-catalog-card--shape {
	background-color: transparent !important;
	background-image: url("images/catalog-card-shape.svg") !important;
	background-size: 100% 100% !important;
	background-repeat: no-repeat !important;
	border: 0 !important;
}

.rb-catalog-card--shape:hover,
.rb-catalog-card--shape:focus-visible {
	background-color: transparent !important;
	box-shadow: none;
	filter: drop-shadow(0 14px 22px rgba(240, 100, 63, 0.4));
}

.rb-catalog-card--shape::after {
	right: 12px;
	bottom: 10px;
}

/* El contenedor del título se superpone a la card con forma: no debe capturar clics. */
.rb-catalog-heading {
	pointer-events: none;
}

/* Ícono de descarga junto al título de la sección. */
.rb-catalog-title .et_pb_heading_container :is(h1, h2, h3, h4)::after {
	content: "";
	display: inline-block;
	width: 0.42em;
	height: 0.42em;
	margin-left: 0.7em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m0 0-4.5-4.5M12 15l4.5-4.5M4 17v3h16v-3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m0 0-4.5-4.5M12 15l4.5-4.5M4 17v3h16v-3'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 980px) {
	.rb-catalog-card--shape {
		background-image: url("images/catalog-card-rect.svg") !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rb-catalog-card,
	.rb-catalog-card::after {
		transition: none;
	}

	.rb-catalog-card:hover,
	.rb-catalog-card:focus-visible {
		transform: none;
	}
}

/* ========== Footer global ========== */
.rb-footer a {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.25s ease;
}

.rb-footer a:hover {
	opacity: 0.75;
}

.rb-footer-contacts p {
	position: relative;
	margin: 0 0 24px;
	padding-bottom: 0;
	padding-left: 40px;
}

.rb-footer-contacts p::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.1em;
	width: 20px;
	height: 20px;
	background-color: #ffffff;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.rb-footer-contact--phone::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.6 21 3 13.4 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.6 21 3 13.4 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
}

.rb-footer-contact--mail::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 5h20v14H2zm2.4 1.8 7.6 6.2 7.6-6.2zM4 8.4v8.8h16V8.4l-8 6.5z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 5h20v14H2zm2.4 1.8 7.6 6.2 7.6-6.2zM4 8.4v8.8h16V8.4l-8 6.5z'/%3E%3C/svg%3E");
}

.rb-footer-contact--hours::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
}

.rb-footer-policy a {
	text-decoration: underline;
}

.rb-footer-nav p {
	display: flex;
	flex-wrap: wrap;
	gap: 12px clamp(18px, 1.7vw, 46px);
	padding-bottom: 0;
}

@media (max-width: 980px) {
	.rb-footer-contacts {
		margin-top: 50px !important;
	}

	.rb-footer .et_pb_column + .et_pb_column {
		margin-top: 50px;
	}
}

/* ========== Ficha de producto ========== */
html {
	scroll-behavior: smooth;
}

.rb-ficha-section {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100vh;
}

/* Mismo fondo en las 3 secciones, fijo respecto de la ventana para que no se corte al hacer scroll. */
@media (min-width: 981px) and (hover: hover) {
	.rb-ficha-section {
		background-attachment: fixed !important;
		background-position: center !important;
		background-size: cover !important;
	}
}

.rb-ficha-section > .et_pb_row {
	position: relative;
	width: 100%;
}

.rb-producto-descripcion p {
	padding-bottom: 0;
}

/* Flecha naranja hacia la siguiente sección, a la derecha del contenido. */
.rb-scroll-next-wrap {
	position: absolute;
	right: -70px;
	bottom: 0;
	width: auto !important;
}

.rb-scroll-next {
	display: block;
	width: 38px;
	height: 38px;
	background-color: #f0643f;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='square'%3E%3Cpath d='M12 3v17m0 0-7-7m7 7 7-7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='square'%3E%3Cpath d='M12 3v17m0 0-7-7m7 7 7-7'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.3s ease;
}

.rb-scroll-next:hover {
	transform: translateY(4px);
}

@media (max-width: 1280px) {
	.rb-scroll-next-wrap {
		position: static;
		margin-top: 24px;
	}

	.rb-scroll-next {
		margin-left: auto;
	}
}

/* Barra "Aclaración importante" fija al pie de la ventana. */
.rb-aclaracion-bar {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 90;
}

.rb-aclaracion-bar .et_pb_text_inner p {
	padding-bottom: 0;
}

.rb-aclaracion-bar .et_pb_text {
	position: static;
}

.rb-aclaracion-bar .et_pb_text_inner {
	padding-right: 44px;
	padding-left: 44px;
}

.rb-aclaracion-close {
	position: absolute;
	top: 50%;
	right: 18px;
	width: 28px;
	height: 28px;
	padding: 0;
	cursor: pointer;
	background: transparent;
	border: 0;
	transform: translateY(-50%);
}

.rb-aclaracion-close::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / 70% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / 70% no-repeat;
	transition: background-color 0.25s ease;
}

.rb-aclaracion-close:hover::before,
.rb-aclaracion-close:focus-visible::before {
	background-color: #f29158;
}

.rb-aclaracion-hidden .rb-aclaracion-bar {
	display: none;
}

@media (max-width: 767px) {
	.rb-aclaracion-bar {
		position: static;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.rb-scroll-next {
		transition: none;
	}
}

/* ========== Glosario ========== */
.rb-glosario h2 {
	margin: 0;
	padding: 0 0 4px;
	color: #2fb8a6;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.5px;
	text-transform: uppercase;
}

.rb-glosario p {
	margin: 0 0 24px;
	padding: 0;
}

.rb-glosario p:last-child {
	margin-bottom: 0;
}

/* ========== Scroll de sección en sección ========== */
/* La lógica está en js/custom.js. Las secciones con la clase .rb-snap-end (franjas más bajas que la ventana) se alinean al borde inferior. */

/* ========== Campos de formulario ========== */
/* Divi pinta el texto de los campos enfocados en gris oscuro, que no se ve sobre los fondos del sitio. Que no se aplique en el builder porque si no no se ven los campos */
body:not(.et-fb) input:focus,
body:not(.et-fb) input[type="text"]:focus,
body:not(.et-fb) input[type="email"]:focus,
body:not(.et-fb) input[type="tel"]:focus,
body:not(.et-fb) input[type="search"]:focus,
body:not(.et-fb) input[type="number"]:focus,
body:not(.et-fb) input[type="url"]:focus,
body:not(.et-fb) select:focus,
body:not(.et-fb) textarea:focus {
	color: #ffffff;
}

body:not(.et-fb) input:-webkit-autofill:focus,
body:not(.et-fb) textarea:-webkit-autofill:focus,
body:not(.et-fb) select:-webkit-autofill:focus {
	-webkit-text-fill-color: #ffffff;
}

/* El encabezado fijo se superpone al contenido al hacer scroll: se le da un fondo para que el logo siga legible. */
	.et-l--header .et_pb_section--fixed .et_pb_row_0_tb_header {
		width: 100% !important;
		max-width: none !important;
		padding-right: 37px !important;
		padding-left: 37px !important;
		background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)) !important;
		-webkit-backdrop-filter: blur(6px);
		backdrop-filter: blur(6px);
	}

/* ========== Responsive ========== */
@media (max-width: 980px) {
	/* En el home las secciones miden 100vh en escritorio; en pantallas chicas crecen con su contenido. */
	body.home .et_pb_section.et_pb_section:not(.et_pb_section--fixed) {
		height: auto;
		min-height: 100vh;
		padding-top: 110px;
		padding-bottom: 70px;
	}

	body.home .et_pb_section.et_pb_section.rb-snap-end:not(.et_pb_section--fixed) {
		min-height: 0;
		padding-top: 20px;
		padding-bottom: 20px;
	}

	

	/* Puntos de navegación por sección: solo útiles en escritorio. */
	.et_pb_side_nav {
		display: none !important;
	}
}

@media (max-width: 767px) {
	/* Sección "Marcas": el título arriba y los logos en una grilla de 3 columnas. */
	.rb-marcas-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		grid-template-rows: none !important;
		grid-auto-rows: auto !important;
	}

	.rb-marcas-grid > .et_pb_group {
		grid-column: auto !important;
		grid-row: auto !important;
	}

	.rb-marcas-grid > .rb-marcas-title {
		grid-column: 1 / -1 !important;
		min-height: 240px;
		order: -1;
		padding-left: 24px !important;
	}

	.rb-marcas-grid .et_pb_image,
	.rb-marcas-grid .et_pb_image_wrap,
	.rb-marcas-grid .et_pb_image img {
		max-width: 100%;
	}
}
