/*
Theme Name: Veneto Helados
Description: A custom block theme scaffolded by Studio Code.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.3.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: veneto
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* WordPress inserts a margin-block-start equal to the block gap (24px unless
   theme.json sets styles.spacing.blockGap) between the template's top-level
   sections (header part, main, footer part) — a gap that exists even when no
   markup asks for it. Zero it so sections butt edge-to-edge and own their
   vertical rhythm via padding; this does not affect block gaps inside nested
   layouts. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* With that gap gone, main carries its own vertical padding so templates this
   theme does not author (WooCommerce shop, product, cart…) still clear the
   header and footer. A descendant selector, not a child one: WooCommerce wraps
   the single-product main in an extra group. Templates built from full-bleed
   sections opt out with is-flush and let the sections own the rhythm. */
.wp-site-blocks main {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
}
.wp-site-blocks main.is-flush {
	padding-block: 0;
}

/* === header === */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255,255,255,0.86);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 1px 0 rgba(34,34,59,0.08);
}
.site-brand .wp-block-site-title {
	font-family: var(--wp--preset--font-family--fredoka);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--text);
}
.site-brand .wp-block-site-title a {
	color: var(--wp--preset--color--text);
}
.site-nav ul {
	gap: 1.25rem;
}
.site-nav a {
	color: var(--wp--preset--color--text);
	font-weight: 800;
	font-size: 0.9rem;
	text-decoration: none;
	padding: 6px 2px;
	transition: color 120ms ease;
}
.site-nav a:hover {
	color: var(--wp--preset--color--primary);
}

/* === footer === */
.site-footer {
	background: var(--wp--preset--color--text);
	color: #fff;
}
.site-footer h3,
.site-footer h4 {
	color: #fff;
}
.site-footer a {
	color: #fff;
	text-decoration: none;
}
.site-footer a:hover {
	color: var(--wp--preset--color--accent1);
}
.footer-links {
	list-style: none;
	padding-left: 0;
	margin: 0;
}
.footer-links li {
	margin-bottom: 0.5rem;
}
.site-footer .wp-block-separator {
	border-color: rgba(255,255,255,0.2);
	margin-block: 2rem;
}

/* === buttons === */
.wp-element-button {
	box-shadow: 0 6px 0 rgba(0,0,0,0.12);
	transition: transform 120ms cubic-bezier(0.34,1.56,0.64,1), box-shadow 120ms ease;
}
.wp-element-button:hover {
	transform: translateY(2px);
	box-shadow: 0 3px 0 rgba(0,0,0,0.14);
	filter: brightness(1.03);
}
.button-light .wp-element-button {
	background: var(--wp--preset--color--text);
}

/* === section bands === */
.section-band {
	padding-block: clamp(3.5rem, 8vw, 6rem);
}
.band-label {
	margin-bottom: 0.5rem;
}

/* === google my maps embed === */
.gmap-embed {
	max-width: var(--wp--style--global--content-size, 1000px);
	margin-left: auto;
	margin-right: auto;
	border-radius: 18px;
	overflow: hidden;
	position: relative;
	height: 520px;
	box-shadow: 0 12px 0 rgba(34,34,59,0.08);
	background: #fff;
}
.gmap-embed iframe {
	position: absolute;
	top: -82px;
	left: 0;
	width: 100%;
	height: 602px;
	border: 0;
	display: block;
	vertical-align: bottom;
}

/* === cards === */
.is-style-card {
	background: #fff;
	border-radius: var(--wp--custom--rounded--card);
	padding: 1.5rem;
	box-shadow: 0 8px 0 rgba(34,34,59,0.1);
}
.on-dark .is-style-card,
.on-tint .is-style-card {
	background: var(--wp--preset--color--background);
}
.is-style-card img {
	border-radius: 16px;
}

/* full-height band image (Abrí tu Veneto / Encontrá tu Veneto) */
.wp-block-image.is-style-fill {
	height: calc(100% + clamp(3.5rem, 8vw, 6rem) * 2);
	margin: calc(-1 * clamp(3.5rem, 8vw, 6rem)) 0 0;
}
.wp-block-image.is-style-fill img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	border-radius: 0;
}

/* guarantee band colors render even if preset vars are unavailable */
.section-band.has-accent1-background-color { background-color: #ffd93d; }
.section-band.has-accent2-background-color { background-color: #6bcb77; }
.section-band.has-accent3-background-color { background-color: #4d96ff; }

/* === product catalog === */
.product-cat {
	align-self: flex-start;
	margin: 0 0 1rem;
	padding: 0.3rem 0.9rem;
	border-radius: 999px;
	background: #ffd93d;
	color: #22223b;
	font-weight: 800;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.product-code {
	margin: 0.35rem 0 0;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: #22223b;
	opacity: 0.55;
}
.is-style-card.product-premium {
	border: 3px solid #d4af37;
	box-shadow: 0 8px 0 rgba(212,175,55,0.28);
}
.is-style-card.product-premium .product-cat {
	background: #d4af37;
	color: #fff;
}

/* === category nav bar (scrollable on mobile) === */
.section-nav {
	background: #22223b;
}
.section-nav .cat-nav {
	display: flex;
	gap: 0.6rem;
	flex-wrap: nowrap;
	overflow-x: auto;
	padding-bottom: 0.25rem;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.section-nav .cat-nav::-webkit-scrollbar {
	display: none;
}
.section-nav .cat-nav .wp-block-button {
	margin: 0;
}
.section-nav .cat-nav .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 2px solid rgba(255,255,255,0.5);
	padding: 0.55rem 1.15rem;
	white-space: nowrap;
	box-shadow: none;
}
.section-nav .cat-nav .wp-block-button__link:hover {
	background: #fff;
	color: #22223b;
}
@media (prefers-reduced-motion: reduce) {
	.section-nav .cat-nav .wp-block-button__link {
		transition: none;
	}
}

/* === hero === */
.hero-eyebrow {
	margin-bottom: 0;
}
.hero-cover .wp-block-cover__inner-container {
	color: #fff;
	max-width: 680px;
}
.hero-cover .wp-block-cover__inner-container .wp-block-heading,
.hero-cover .wp-block-cover__inner-container p,
.hero-cover .wp-block-cover__inner-container a {
	color: #fff;
}
.hero-sub {
	font-size: 1.2rem;
	line-height: 1.5;
	max-width: 46ch;
}
.hero-cover .is-style-outline a {
	background: transparent;
	border: 2px solid #fff;
	box-shadow: none;
}

/* === labels / pills === */
.hero-eyebrow,
.band-label {
	background: var(--wp--preset--color--accent1);
	color: var(--wp--preset--color--text);
	border-radius: 999px;
	padding: 8px 16px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* === white text on saturated candy bands === */
.has-accent2-background-color,
.has-accent3-background-color,
.has-primary-background-color {
	color: #fff;
}
.has-accent2-background-color .wp-block-heading,
.has-accent2-background-color p,
.has-accent2-background-color a,
.has-accent3-background-color .wp-block-heading,
.has-accent3-background-color p,
.has-accent3-background-color a,
.has-primary-background-color .wp-block-heading,
.has-primary-background-color p,
.has-primary-background-color a {
	color: #fff;
}
.has-accent2-background-color .band-label,
.has-accent3-background-color .band-label {
	background: rgba(255,255,255,0.2);
	color: #fff;
}
/* keep card content ink on tinted bands */
.has-accent2-background-color .is-style-card,
.has-accent2-background-color .is-style-card *,
.has-accent3-background-color .is-style-card,
.has-accent3-background-color .is-style-card *,
.has-primary-background-color .is-style-card,
.has-primary-background-color .is-style-card * {
	color: #22223b;
}

/* === form === */
.form-card {
	background: #fff;
	border-radius: var(--wp--custom--rounded--card);
	padding: clamp(1.5rem, 3vw, 2.5rem);
}
.wp-block-jetpack-contact-form input[type="text"],
.wp-block-jetpack-contact-form input[type="email"],
.wp-block-jetpack-contact-form input[type="tel"],
.wp-block-jetpack-contact-form input[type="url"],
.wp-block-jetpack-contact-form textarea,
.wp-block-jetpack-contact-form select {
	border-radius: 14px;
	border: 2px solid rgba(34,34,59,0.15);
	padding: 14px 16px;
	font-family: var(--wp--preset--font-family--nunito);
	font-size: 1rem;
	color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--background);
	transition: border-color 150ms ease, box-shadow 150ms ease;
}
.wp-block-jetpack-contact-form textarea {
	min-height: 110px;
}
.wp-block-jetpack-contact-form input:focus,
.wp-block-jetpack-contact-form textarea:focus,
.wp-block-jetpack-contact-form select:focus {
	border-color: var(--wp--preset--color--primary);
	outline: none;
}
.wp-block-jetpack-contact-form label {
	font-weight: 800;
	font-size: 0.85rem;
	color: var(--wp--preset--color--text);
}
.wp-block-jetpack-contact-form .wp-block-button {
	margin-top: 4px;
}

/* === catalog 2026 === */
.cat-hero-wrap {
	background: #22223b;
}
.cat-hero-wrap .cat-nav {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.6rem;
	justify-content: center;
	padding: 0.9rem 1.25rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.cat-hero-wrap .cat-nav::-webkit-scrollbar { display: none; }
.cat-nav-chip { margin: 0; }
.cat-nav-chip a {
	display: inline-block;
	background: transparent;
	color: #fff;
	border: 2px solid rgba(255,255,255,0.5);
	border-radius: 999px;
	padding: 0.5rem 1.1rem;
	white-space: nowrap;
	font-weight: 800;
	font-size: 0.9rem;
	text-decoration: none;
	transition: background 120ms ease, color 120ms ease;
}
.cat-nav-chip a:hover {
	background: #fff;
	color: #22223b;
}
.cat-hero .wp-block-heading {
	color: #fff;
}
.cat-hero p {
	color: #fff;
	max-width: 58ch;
	margin-inline: auto;
}
.flavor-hero {
	margin-block: 1.5rem 0.5rem;
	margin-inline: auto;
	max-width: 920px;
	border-radius: var(--wp--custom--rounded--card);
	box-shadow: 0 10px 0 rgba(34,34,59,0.1);
	overflow: hidden;
}
.flavor-grid {
	gap: 1.1rem;
}
.flavor-item {
	background: #fff;
	border-radius: var(--wp--custom--rounded--card);
	padding: 1.1rem 1.25rem;
	box-shadow: 0 5px 0 rgba(34,34,59,0.08);
	display: flex;
	flex-direction: column;
}
.flavor-item .product-code {
	order: 3;
	margin-top: 0.65rem;
}
.flavor-item .product-code::before {
	content: "Código ";
}
.flavor-name {
	margin: 0.1rem 0 0.4rem;
	font-size: 1.05rem;
	line-height: 1.2;
}
.flavor-item p:last-child {
	margin-bottom: 0;
}
.fam-grid {
	gap: 1rem;
	margin-block: 1.5rem;
}
.fam-grid .fam-card img {
	width: 100%;
	height: auto;
}
.fam-card .wp-block-heading {
	margin: 0.9rem 0 0;
}
.fam-variants {
	gap: 1rem;
	margin-block: 0.6rem 2rem;
}
.fam-variant {
	padding: 1rem 1.1rem;
	box-shadow: 0 5px 0 rgba(34,34,59,0.08);
	display: flex;
	flex-direction: column;
}
.fam-variant .product-code {
	order: 3;
	margin-top: 0.65rem;
}
.fam-variant .product-code::before {
	content: "Código ";
}
.fam-variant .flavor-name {
	margin-top: 0.1rem;
}
.fam-variant p:last-child {
	margin-bottom: 0;
}
.imp-row {
	margin-block: 1.25rem;
}
.imp-row .wp-block-columns {
	gap: 1.5rem;
}
.imp-card img {
	width: 100%;
	height: auto;
}
.imp-card .wp-block-heading {
	margin: 0.9rem 0 0;
}
.variant-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}
.variant-list li {
	background: rgba(255,255,255,0.85);
	border-radius: 14px;
	padding: 0.6rem 0.9rem;
	margin-bottom: 0.5rem;
	font-weight: 700;
	color: #22223b;
}
.variant-list strong {
	color: var(--wp--preset--color--primary);
}
.has-accent1-background-color { color: #22223b; }
.has-accent1-background-color .wp-block-heading { color: #22223b; }
.has-accent1-background-color .is-style-card * { color: #22223b; }

/* === product cards (unified) === */
.product-grid {
	gap: 1.1rem;
	margin-block: 1.5rem;
}
.product-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: var(--wp--custom--rounded--card);
	padding: 1.1rem 1.25rem 1.15rem;
	box-shadow: 0 5px 0 rgba(34,34,59,0.08);
	gap: 0.7rem;
	height: 100%;
	min-width: 0;
	text-align: center; /* todo el texto de la card centrado */
}
.product-card .pc-cat {
	align-self: center;
	background: var(--wp--preset--color--accent2);
	color: #22223b;
	padding: 0.28rem 0.85rem;
	border-radius: var(--wp--custom--rounded--pill);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	margin: 0;
}
.product-card .pc-name {
	margin: 0;
	font-size: 1.5rem;
	line-height: 1.1;
	color: #22223b;
}
.product-card .pc-ph {
	border: 2px dashed rgba(34,34,59,0.28);
	border-radius: var(--wp--custom--rounded--card);
	color: rgba(34,34,59,0.45);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
	padding: 2.1rem 1rem;
	margin: 0;
}
.product-card img {
	width: 100%;
	height: auto;
	border-radius: var(--wp--custom--rounded--card);
}
.product-card .pc-pres {
	margin: 0;
	font-size: 0.88rem;
	font-weight: 800;
	color: var(--wp--preset--color--primary);
	letter-spacing: 0.02em;
}
.product-card .pc-desc {
	margin: 0;
	color: #22223b;
	font-size: 0.98rem;
	line-height: 1.45;
}
.product-card .pc-code {
	margin: auto 0 0;
	font-size: 0.88rem;
	font-weight: 800;
	color: var(--wp--preset--color--primary);
	letter-spacing: 0.02em;
}
.product-card .pc-slider {
	margin-top: auto;
	min-width: 0;
	width: 100%;
	display: flex;
	align-items: stretch;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	gap: 0.75rem;
	position: relative;
}
.product-card .pc-slider::-webkit-scrollbar {
	display: none;
}
.product-card .pc-slide {
	flex: 0 0 100%;
	scroll-snap-align: start;
	box-sizing: border-box;
	min-width: 0;
	background: rgba(34,34,59,0.06);
	border-radius: 14px;
	padding: 0.8rem 1rem 1rem;
	margin: 0;
	display: flex;
	flex-direction: column;
}
.product-card .pc-slide-label {
	margin: 0 0 0.35rem;
	font-size: 0.98rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--primary); /* subtitulo en primary, mayor jerarquia */
	text-align: center;
	white-space: normal;
	overflow-wrap: break-word;
	min-height: 2.8em; /* espacio fijo para 2 lineas, cards iguales */
}
.product-card .pc-slide-pres {
	margin: 0 0 0.45rem;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase; /* presentacion en el formato del subtitulo */
	color: rgba(34,34,59,0.5);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.product-card .pc-slide-desc {
	margin: 0 0 0.6rem;
	height: 5.15rem; /* caja de texto fija a 4 lineas (@ 0.92rem * 1.4) para cards iguales */
	overflow: hidden;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.4;
	color: #22223b;
}
.product-card .pc-slide-code {
	display: inline-block;
	align-self: center;
	margin: auto 0 0;
	padding: 0.28rem 0.7rem;
	border-radius: var(--wp--custom--rounded--pill);
	background: rgba(80,187,219,0.14);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--primary);
}
/* full-bleed cover hero for the product header */
.cat-hero.wp-block-cover {
	min-height: clamp(340px, 62vw, 560px);
	display: flex;
	align-items: center;
}
.cat-hero-title,
.cat-hero-intro {
	color: #fff;
	text-shadow: 0 2px 18px rgba(34,34,59,0.6);
}
.cat-hero-intro {
	max-width: 56ch;
	margin-inline: auto;
}
/* product format section titles (Familiares / Impulsivos / Cool Cream) as H3 */
.section-band > h3.wp-block-heading.has-text-align-center {
	line-height: 1.2;
}
/* hero carousel on the product header (same nav as cards) */
.cat-hero .hero-slider {
	display: flex;
	align-items: stretch;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	gap: 1rem;
	position: relative;
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
}
.cat-hero .hero-slider::-webkit-scrollbar {
	display: none;
}
.cat-hero .hero-slide {
	flex: 0 0 100%;
	scroll-snap-align: start;
	min-width: 0;
	box-sizing: border-box;
	border-radius: 22px;
	overflow: hidden;
	margin: 0;
}
.cat-hero .hero-slide .wp-block-image,
.cat-hero .hero-slide img {
	display: block;
	width: 100%;
	margin: 0;
}
.cat-hero .hero-slide img {
	height: clamp(240px, 36vw, 400px);
	object-fit: cover;
}
/* control row below the slider: prev + dots + next */
.pc-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	margin-top: 0.6rem;
	min-height: 1.9rem; /* reserva hasta la altura de las flechas: cards iguales */
}
.pc-car-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.9rem;
	height: 1.9rem;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 3px 8px rgba(34,34,59,0.25);
}
.pc-car-btn:hover {
	filter: brightness(1.05);
}
.pc-dots {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem;
	margin-top: 0;
}
.pc-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: rgba(34,34,59,0.22);
	cursor: pointer;
	transition: width .2s ease, background .2s ease;
}
.pc-dot.is-active {
	width: 18px;
	background: var(--wp--preset--color--primary);
}
@media (prefers-reduced-motion: reduce) {
	.pc-slider {
		scroll-behavior: auto;
	}
	.pc-dot {
		transition: none;
	}
}
@media (max-width: 781px) {
	.product-grid {
		gap: 1.1rem;
		grid-template-columns: 1fr;
	}
}

/* === responsive === */
@media (max-width: 781px) {
	.site-nav ul {
		gap: 0.75rem;
		flex-wrap: wrap;
	}
}

/* === sabores editorial catalog === */
.sabor-band {
	padding-block: clamp(2.5rem, 6vw, 4.5rem);
}
.sabor-band .ed-kicker {
	margin: 0 auto 0.4rem;
	text-align: center;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.sabor-band .ed-title {
	margin: 0 auto 1rem;
	text-align: center;
	line-height: 1.2;
	color: #22223b;
}
.sabor-band .ed-intro {
	margin: 0 auto 0.5rem;
	max-width: 54ch;
	text-align: center;
	color: rgba(34,34,59,0.72);
}
.sabor-band .ed-stat {
	display: flex;
	align-items: center;
	width: max-content;
	margin: 0 auto clamp(2rem, 4vw, 3rem);
	padding: 0.32rem 0.9rem;
	justify-content: center;
	border-radius: var(--wp--custom--rounded--pill);
	background: rgba(255,217,61,0.32);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #22223b;
}

.sabor-list {
	column-gap: clamp(2rem, 5vw, 4rem);
	row-gap: 0;
	margin-top: 0;
}
.sabor-row {
	border-top: 1px solid rgba(34,34,59,0.12);
	padding: clamp(1.1rem, 2vw, 1.6rem) 0 clamp(1.5rem, 2.6vw, 2.1rem);
	min-width: 0;
}
.sabor-row .fr-top {
	align-items: baseline;
	column-gap: 0.9rem;
}
.sabor-row .fr-index {
	margin: 0;
	font-family: var(--wp--preset--font-family--fredoka);
	font-size: clamp(0.95rem, 1.5vw, 1.2rem);
	font-weight: 600;
	line-height: 1;
	color: rgba(34,34,59,0.32);
	min-width: 2ch;
	font-variant-numeric: tabular-nums;
}
.sabor-row .fr-name {
	margin: 0;
	font-family: var(--wp--preset--font-family--fredoka);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0;
	color: #22223b;
}
.sabor-row .fr-desc {
	margin: 0.55rem 0 0;
	margin-inline: 0;
	max-width: 100%;
	width: 100%;
	font-size: 0.98rem;
	line-height: 1.55;
	color: rgba(34,34,59,0.7);
}
.sabor-row .fr-foot {
	margin-top: 1rem;
	align-items: center;
	column-gap: 1rem;
	row-gap: 0.55rem;
}
.sabor-row .fr-pres {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: rgba(34,34,59,0.62);
}
.sabor-row .fr-pres::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent2);
	flex: none;
}
.sabor-row .fr-code {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0.28rem 0.75rem;
	border-radius: var(--wp--custom--rounded--pill);
	background: rgba(255,107,107,0.14);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--primary);
}
@media (max-width: 781px) {
	.sabor-list {
		grid-template-columns: 1fr;
	}
}

/* === abri tu veneto: editorial === */
.ed-hero {
	background: #fff;
}
.ed-eyebrow {
	margin: 0 0 1rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.ed-h1.has-display-font-size {
	margin: 0 0 clamp(1.25rem,3vw,2rem);
	letter-spacing: -0.02em;
	line-height: 1.06;
}
.ed-h1 .ed-accent {
	color: var(--wp--preset--color--primary);
}
.ed-hero-cols {
	align-items: stretch;
	gap: clamp(2.5rem, 6vw, 5rem);
}
.ed-hero-intro {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.ed-lede {
	max-width: 46ch;
	margin: 0;
	font-size: var(--wp--preset--font-size--lede);
	font-weight: 400;
	line-height: 1.5;
	color: rgba(34,34,59,0.78);
}
.ed-hero .wp-block-buttons {
	margin-top: 1.75rem;
}
.ed-cta .wp-block-button__link {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-radius: 999px;
	padding: 0.95rem 1.9rem;
	font-weight: 800;
	box-shadow: none;
}
.ed-cta .wp-block-button__link:hover {
	filter: brightness(0.96);
}
.ed-photo {
	margin: 0;
}
.ed-photo img {
	width: 100%;
	height: auto;
	border-radius: 20px;
	display: block;
}
/* Fotos a sangre: llenan toda la altura de la seccion y llegan al borde derecho (desktop) */
@media (min-width: 782px) {
	.ed-hero {
		position: relative;
	}
	.ed-story {
		position: relative;
	}
	.ed-hero-cols .ed-photo,
	.ed-story .ed-photo {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: 50%;
		margin: 0;
		z-index: 1;
	}
	.ed-hero-cols .ed-photo {
		border-radius: 0;
	}
	.ed-story .ed-photo {
		border-radius: 0;
	}
	.ed-hero-cols .ed-photo img,
	.ed-story .ed-photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: 0;
	}
	.ed-hero-intro {
		position: relative;
		z-index: 2;
	}
	.ed-story .ed-photo {
		left: 0;
		right: 50%;
	}
}
/* story */
.ed-story {
	background: #f4fafc;
	border-block: 1px solid rgba(80,187,219,0.22);
}
.ed-story-cols {
	align-items: stretch;
	gap: clamp(2.5rem, 6vw, 5rem);
}
.ed-story-cols > .wp-block-column:last-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.ed-h2 {
	margin: 0 0 1.5rem;
	letter-spacing: -0.01em;
}
.ed-benefits {
	margin: 0 0 1.75rem;
	padding: 0;
	list-style: none;
	counter-reset: edben;
}
.ed-benefits li {
	counter-increment: edben;
	position: relative;
	padding: 1.15rem 0 1.15rem 3rem;
	border-top: 1px solid rgba(34,34,59,0.12);
	font-size: 1.02rem;
	font-weight: 700;
	color: #22223b;
}
.ed-benefits li::before {
	content: "0" counter(edben);
	position: absolute;
	left: 0;
	top: 1.15rem;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--fredoka);
}
.ed-closing {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: rgba(34,34,59,0.72);
	max-width: 46ch;
}
/* contact */
.ed-contact {
	background: #fff;
}
.ed-contact-cols {
	align-items: stretch;
	gap: clamp(2.5rem, 6vw, 5rem);
}
.ed-contact-copy {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.ed-contact-lede {
	margin: 0;
	max-width: 44ch;
	font-size: 1rem;
	line-height: 1.6;
	color: rgba(34,34,59,0.72);
}
.ed-formcard {
	background: #fff;
	border-radius: 20px;
	padding: clamp(1.75rem,3vw,2.5rem);
	border: 1px solid rgba(80,187,219,0.25);
	box-shadow: none;
}
.ed-contact .wp-block-jetpack-contact-form .wp-block-button__link {
	background: var(--wp--preset--color--primary);
	border-radius: 999px;
	box-shadow: none;
}
/* === vende: distribuí (distinto de abri) === */
.vd-distribute {
	background: var(--wp--preset--color--accent-celeste);
}
.vd-distribute-cols {
	align-items: center;
	gap: clamp(2.5rem, 6vw, 5rem);
}
.vd-lede {
	margin: 0 0 1.5rem;
	max-width: 46ch;
	font-size: 1.05rem;
	line-height: 1.6;
	color: rgba(34,34,59,0.8);
}
.vd-benefits {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}
.vd-benefits li {
	background: #fff;
	border-radius: 18px;
	padding: 1rem 1.1rem;
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	font-weight: 700;
	font-size: 0.98rem;
	line-height: 1.45;
	color: #22223b;
	box-shadow: 0 6px 0 rgba(80,187,219,0.16);
}
.vd-benefits li::before {
	content: "";
	width: 0.72rem;
	height: 0.4rem;
	border-left: 2px solid var(--wp--preset--color--primary);
	border-bottom: 2px solid var(--wp--preset--color--primary);
	transform: rotate(-45deg);
	transform-origin: left bottom;
	margin-top: 0.28rem;
	flex: 0 0 auto;
}
.vd-closing {
	margin: 1.5rem 0 0;
	font-size: 1.02rem;
	line-height: 1.6;
	color: rgba(34,34,59,0.78);
	max-width: 46ch;
}
.vd-photo-wrap {
	position: relative;
}
.vd-photo-card {
	margin: 0;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 18px 0 rgba(80,187,219,0.16);
}
.vd-photo-card img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}
.vd-badge {
	position: absolute;
	top: 1.1rem;
	left: -0.6rem;
	transform: rotate(-6deg);
	margin: 0;
	padding: 0.55rem 0.95rem;
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	border: 3px solid #fff;
	box-shadow: 0 4px 0 rgba(34,34,59,0.14);
	font-family: var(--wp--preset--font-family--nunito);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
/* === sucursales: lista moderna + filtros + mapa === */
.suc-hero {
	background: #fff;
}
.suc-hero .suc-eyebrow {
	margin: 0 0 1rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.suc-h1.has-display-font-size {
	margin: 0 0 clamp(1rem, 2vw, 1.5rem);
	letter-spacing: -0.02em;
	font-size: clamp(2.6rem, 5.5vw, 4rem) !important;
	line-height: 1.02;
}
.suc-h1 .suc-accent {
	color: var(--wp--preset--color--primary);
}
.suc-hero .suc-hero-lede {
	margin-left: 0 !important;
	margin-right: auto !important;
	max-width: 52ch;
	color: rgba(34, 34, 59, 0.72);
	font-size: 1.06rem;
	line-height: 1.6;
}
.suc-main {
	background: #fff;
}
.suc-cols {
	align-items: flex-start;
	gap: clamp(2rem, 5vw, 3.5rem);
}
.suc-tags-title {
	margin: 0 0 1rem;
	color: rgba(34, 34, 59, 0.82);
	font-size: 0.95rem;
	font-weight: 800;
}
.suc-list-title {
	margin: 0 0 0.35rem;
	color: #22223b;
	letter-spacing: -0.01em;
}
.suc-filter-label {
	margin: 0 0 0.9rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.suc-panel-title {
	margin: 0 0 0.4rem;
	color: #22223b;
	letter-spacing: -0.01em;
}
.suc-panel-lede {
	margin: 0 0 1.1rem;
	color: rgba(34, 34, 59, 0.68);
	font-size: 0.98rem;
	line-height: 1.55;
}
.suc-tags {
	gap: 0.6rem;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}
.suc-tag {
	margin: 0;
}
.suc-tag .wp-block-button__link {
	background: #fff;
	color: #22223b;
	border: 1px solid rgba(34, 34, 59, 0.18);
	border-radius: 999px;
	padding: 0.55rem 1.05rem;
	font-size: 0.9rem;
	font-weight: 700;
	box-shadow: none;
	transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.suc-tag .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}
.suc-tag.is-active .wp-block-button__link {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #fff;
}
.suc-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin: 0;
}
.suc-item {
	margin: 0;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(34, 34, 59, 0.1);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 8px 0 rgba(80, 187, 219, 0.14);
	transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.suc-item:hover {
	box-shadow: 0 12px 0 rgba(80, 187, 219, 0.18);
	transform: translateY(-2px);
}
.suc-item.is-hidden {
	display: none;
}
.suc-item .suc-item-img {
	margin: 0;
	width: 100%;
}
.suc-item .suc-item-img img {
	width: 100%;
	height: 170px;
	object-fit: cover;
	display: block;
}
.suc-item .suc-name {
	margin: 1rem 1.1rem 0.1rem;
	color: #22223b;
	font-family: var(--wp--preset--font-family--fredoka);
	font-weight: 600;
	line-height: 1.15;
}
.suc-item .suc-ubicacion {
	margin: 0 1.1rem;
	color: rgba(34, 34, 59, 0.6);
	font-size: 0.95rem;
	line-height: 1.4;
}
.suc-item .suc-link {
	margin: 0.75rem 1.1rem 1.2rem;
}
.suc-item .suc-link a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--wp--preset--color--primary);
	font-size: 0.92rem;
	font-weight: 800;
	text-decoration: none;
}
.suc-item .suc-link a::after {
	content: "→";
	transition: transform 0.18s ease;
}
.suc-item .suc-link a:hover::after {
	transform: translateX(3px);
}
@media (max-width: 980px) {
	.suc-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.suc-grid {
		grid-template-columns: 1fr;
	}
}
/* mapa: banda a ancho completo debajo de las sucursales */
.suc-mapband {
	background: #f4fafc;
	border-top: 1px solid rgba(80, 187, 219, 0.22);
}
.suc-mapband .gmap-embed {
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 12px 0 rgba(80, 187, 219, 0.14);
}
@media (prefers-reduced-motion: reduce) {
	.suc-tag .wp-block-button__link,
	.suc-item,
	.suc-item .suc-link a::after {
		transition: none;
	}
	.suc-item {
		transform: none;
	}
}
/* === sucursales: cards directorio === */
.suc-row {
	align-items: stretch;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}
.suc-row:last-child {
	margin-bottom: 0;
}
.branch-card {
	height: 100%;
	padding: 0;
	overflow: hidden;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 8px 0 rgba(80,187,219,0.16);
}
.branch-card .branch-img {
	margin: 0;
	border-radius: 20px 20px 0 0;
	overflow: hidden;
}
.branch-card .branch-img img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
}
.branch-name {
	margin: 1.1rem 1.25rem 0.2rem;
	color: #22223b;
	font-family: var(--wp--preset--font-family--fredoka);
	font-size: 1.4rem;
	font-weight: 700;
}
.branch-address {
	margin: 0 1.25rem 1.25rem;
	color: rgba(34,34,59,0.68);
	font-size: 0.98rem;
	line-height: 1.5;
}
/* tablet: reduce H1-H4 per type scale */
@media (max-width: 781px) {
	h1 { font-size: 2.75rem; }
	h2 { font-size: 2.125rem; }
	h3 { font-size: 1.75rem; }
	h4 { font-size: 1.375rem; }
	.ed-hero-cols,
	.ed-story-cols,
	.ed-contact-cols,
	.vd-distribute-cols {
		flex-direction: column;
	}
	.vd-benefits {
		grid-template-columns: 1fr;
	}
	/* foto a sangre: ancho completo hasta el borde de la seccion, alto natural */
	.ed-hero .ed-photo,
	.ed-story .ed-photo {
		margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px));
		margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px));
		width: auto;
	}
	.ed-hero .ed-photo img,
	.ed-story .ed-photo img {
		width: 100%;
		height: auto;
		border-radius: 0;
	}
}

/* mobile: further reduce H1-H4 */
@media (max-width: 480px) {
	h1 { font-size: 2.25rem; }
	h2 { font-size: 1.875rem; }
	h3 { font-size: 1.5rem; }
	h4 { font-size: 1.25rem; }
}

/* === Productos: custom band colors === */
.section-band.band-familiares { background-color: #fad3a7; }
.section-band.band-impulsivos { background-color: #dfb0e0; }
.section-band.band-coolcream { background-color: #b0e4f2; }
/* heading legibility on each new section color */
.band-familiares .wp-block-heading,
.band-familiares p,
.band-coolcream .wp-block-heading,
.band-coolcream p {
	color: #22223b;
}
.band-impulsivos > .wp-block-heading { color: #22223b; }

/* === complementary text roles (global type system) === */
/* secondary / short descriptions */
.wp-block-post-content .is-style-secondary,
.ed-intro,
.pc-desc,
.suc-ubicacion,
.branch-address,
.vd-benefit p {
	font-size: var(--wp--preset--font-size--secondary);
	font-weight: 400;
	line-height: 1.5;
}
/* category eyebrows / kickers / antetítulos */
.ed-kicker,
.pc-cat {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
/* product codes / gramajes / metadata: 600 */
.pc-pres,
.pc-code,
.fr-code {
	font-weight: 600;
}

/* === Sobre Nosotros (editorial) === */
.sobre-eyebrow-wrap {
	margin-bottom: 0.5rem;
	justify-content: center;
}
.sobre-eyebrow {
	margin: 0;
	display: inline-block;
	padding: 0.45rem 1.1rem;
	background: rgba(255,255,255,0.16);
	border: 1px solid rgba(255,255,255,0.5);
	border-radius: 999px;
	color: #fff;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.sobre-hero {
	min-height: 76dvh;
}
.sobre-hero .wp-block-cover__inner-container {
	max-width: 1000px;
	margin-inline: auto;
	text-align: center;
	padding-top: clamp(3.5rem, 8vw, 6rem);
	padding-bottom: clamp(3.5rem, 8vw, 6rem);
}
.sobre-hero-title {
	margin: 0 0 1rem;
	color: #fff;
}
.sobre-hero-title .ed-accent {
	color: #fff;
}
.sobre-hero-lede {
	max-width: 46ch;
	margin: 0 auto 1.75rem;
	color: rgba(255,255,255,0.9);
	font-size: 1.125rem;
	line-height: 1.6;
}
.sobre-hero .wp-block-buttons {
	justify-content: center;
	width: 100%;
}
/* shared section heads */
.sobre-band-head {
	max-width: 1000px;
	margin-inline: 0;
}
.sobre-kicker {
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--primary);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}
.sobre-sec-title {
	margin: 0 0 1rem;
	letter-spacing: -0.01em;
}
.sobre-sec-lede {
	max-width: 56ch;
	margin: 0 0 2.5rem !important;
	color: rgba(34,34,59,0.75);
	font-size: var(--wp--preset--font-size--lede);
	line-height: 1.55;
}
/* historia / local two-col */
.sobre-historia-cols,
.sobre-local-cols {
	align-items: center;
	gap: clamp(2rem, 6vw, 4.5rem);
}
.sobre-fig {
	margin: 0;
}
.sobre-fig img {
	width: 100%;
	height: auto;
	border-radius: 20px;
	display: block;
}
/* values cards on plums */
.sobre-valores .is-style-card {
	background: #fff;
}
/* alternating bands (detras) */
.sobre-alt-cols {
	align-items: center;
	gap: clamp(2rem, 6vw, 4.5rem);
	margin-block: 0 2.5rem;
}
.sobre-alt-cols:last-child {
	margin-bottom: 0;
}
.sobre-alt-title {
	margin: 0 0 0.5rem;
}
/* sabores grid */
.sobre-sabor-grid {
	gap: 1.5rem;
}
.sobre-sabor-grid .wp-block-column {
	text-align: center;
}
.sobre-sabor-grid figure {
	margin: 0 0 1rem;
}
.sobre-sabor-grid figure img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	border-radius: 20px;
	display: block;
}
.sobre-sabor-name {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 700;
}
/* cierre */
.sobre-cierre-inner {
	max-width: 720px;
	margin-inline: auto;
	text-align: center;
}
.sobre-cierre-title {
	margin: 0 0 1rem;
	letter-spacing: -0.01em;
}
.sobre-cierre-lede {
	max-width: 46ch;
	margin: 0 auto 1.75rem;
	color: rgba(34,34,59,0.72);
	font-size: var(--wp--preset--font-size--lede);
	line-height: 1.55;
}
/* keep every section's body text on the same left axis as its title */
.section-band .sobre-historia-cols p,
.section-band .sobre-alt-cols p,
.section-band .sobre-local-cols p,
.section-band .sobre-valores .is-style-card p {
	text-align: left;
	max-width: 56ch;
}
@media (max-width: 781px) {
	.sobre-hero-title { font-size: clamp(2.25rem, 10vw, 3rem); }
	.sobre-hero-lede { font-size: 1rem; }
	.sobre-historia-cols,
	.sobre-local-cols,
	.sobre-alt-cols {
		gap: 1.75rem;
	}
	.sobre-alt-cols {
		margin-bottom: 2rem;
	}
	.sobre-sabor-grid {
		gap: 1.75rem;
	}
}
