/* Clases de layout reutilizables entre el Home y otras páginas reconstruidas (mayoreo, etc.). */

.agraba-section__heading {
	max-width: 720px;
	margin: 0 auto 40px;
	text-align: center;
}

.agraba-section__footer-cta {
	text-align: center;
	margin-top: 40px;
}

.agraba-grid {
	display: grid;
	gap: 24px;
}
.agraba-grid--2 { grid-template-columns: repeat(2, 1fr); }
.agraba-grid--3 { grid-template-columns: repeat(3, 1fr); }
.agraba-grid--4 { grid-template-columns: repeat(4, 1fr); }
.agraba-grid--5 { grid-template-columns: repeat(5, 1fr); }

@media (max-width: 1024px) {
	.agraba-grid--3,
	.agraba-grid--4,
	.agraba-grid--5 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.agraba-grid--2,
	.agraba-grid--3,
	.agraba-grid--4,
	.agraba-grid--5 { grid-template-columns: 1fr; }
}

/* Banner rotativo */
.agraba-banner-slider {
	position: relative;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.agraba-banner-slider__track {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 4 / 1;
	overflow: hidden;
}
.agraba-banner-slider__track--mobile { display: none; }

.agraba-banner-slider__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.6s ease;
}
.agraba-banner-slider__slide.is-active {
	opacity: 1;
	position: relative;
}

.agraba-banner-slider__dots {
	position: absolute;
	left: 50%;
	bottom: 14px;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
}
.agraba-banner-slider__dots button {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, 0.6);
	cursor: pointer;
	padding: 0;
}
.agraba-banner-slider__dots button.is-active {
	width: 26px;
	border-radius: 6px;
	background: var(--agraba-color-white);
}

@media (max-width: 767px) {
	.contenedor_principal { min-width: 0; }
	.agraba-home > section,
	.agraba-shop > section,
	.agraba-category-landing > section,
	.agraba-product > section,
	.agraba-blog-archive > section,
	.agraba-mayoreo > section { max-width: 100%; min-width: 0; }

	.agraba-banner-slider__track--desktop { display: none; }
	.agraba-banner-slider__track--mobile { display: block; }
	.agraba-banner-slider__track { aspect-ratio: 5 / 6; }
}

/* Hero */
.agraba-hero {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}
.agraba-hero__actions {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin-top: 28px;
	flex-wrap: wrap;
}

/* Categorías */
.agraba-category-card { display: flex; flex-direction: column; height: 100%; }
.agraba-category-card img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}
.agraba-category-card__body {
	padding: 20px;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 6px;
}
.agraba-category-card__body > a:first-child { text-decoration: none; }
.agraba-category-card__body > p { flex: 1 0 auto; }
.agraba-category-card__link {
	text-decoration: none;
	margin-top: auto;
	padding-top: 8px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* Novedades */
.agraba-novedades {
	background: var(--agraba-color-primary);
	padding: 48px 0;
}
.agraba-novedades__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.agraba-novedades__inner h2,
.agraba-novedades__inner p { margin: 0; }
.agraba-novedades__inner p { margin-top: 6px; }

/* Encuentra lo mejor de Agraba */
.agraba-audience-card {
	background: var(--agraba-bg-cream);
	border-radius: var(--agraba-radius-card);
	padding: 40px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}
.agraba-audience-card__img {
	max-width: 120px;
	height: auto;
}
.agraba-audience-card--dark {
	background: var(--agraba-color-dark);
}
.agraba-check-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.agraba-check-list li {
	padding-left: 26px;
	position: relative;
}
.agraba-check-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	font-weight: 700;
	color: var(--agraba-color-primary);
}

/* Productos destacados */
.agraba-product-card { display: flex; flex-direction: column; }
.agraba-product-card img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
}
.agraba-product-card__body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.agraba-product-card__rating { display: inline-flex; align-items: center; gap: 4px; }
.agraba-product-card__title { text-decoration: none; }
.agraba-product-card__body .price { font-family: inherit; }

/* ¿Por qué elegir AGRABA? */
html { scroll-behavior:smooth; }
#nosotros { scroll-margin-top:120px; }
.agraba-why {
	margin-top: 40px;
	margin-bottom: 48px;
}
.agraba-why-card {
	text-align: center;
}
.agraba-why-card__icon {
	max-width: 72px;
	height: auto;
	margin: 0 auto 16px;
}
.agraba-why-card h3 { margin-bottom: 8px; }

.agraba-stats {
	background: var(--agraba-bg-accent);
	border-radius: var(--agraba-radius-card);
	padding: 40px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	text-align: center;
}
.agraba-stats__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
.agraba-stats__number {
	font-size: 40px;
	font-weight: 700;
}
@media (max-width: 767px) {
	.agraba-stats { grid-template-columns: repeat(2, 1fr); }
}

/* Orgullosamente cultivado */
.agraba-cultivo {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}
.agraba-cultivo__images {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.agraba-cultivo__images img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--agraba-radius-card);
	aspect-ratio: 3 / 4;
}
@media (max-width: 900px) {
	.agraba-cultivo { grid-template-columns: 1fr; }
}

/* Recetas y consejos: componente compartido en todo el sitio */
.agraba-recipe-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; border-radius:14px; background:#fff; box-shadow:0 10px 28px rgba(34,48,27,.08); }
.agraba-recipe-card > a { display:block; overflow:hidden; }
.agraba-recipe-card img {
	width: 100%;
	height: 280px;
	object-fit: cover;
	display: block;
}
.agraba-recipe-card__body {
	min-height: 126px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items:flex-start;
	gap: 12px;
}
.agraba-recipe-card__body > a:first-child { color:var(--agraba-color-primary)!important; font:700 20px/1.2 var(--agraba-font-heading)!important; text-decoration:none; }
.agraba-recipe-card__body > p { display:none; }
.agraba-recipe-card__more { margin-top:auto; color:var(--agraba-bg-accent); font:600 14px/1.3 var(--agraba-font-body); text-decoration:none; }
.agraba-recipe-card__more:hover { color:var(--agraba-color-primary); }

/* Mayoreo: hero con imagen de fondo */
.agraba-mayoreo__hero {
	background-size: cover;
	background-position: center;
	background-color: var(--agraba-color-dark);
	padding: 90px 0;
	position: relative;
}
.agraba-mayoreo__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(2, 1, 1, 0.5);
}
.agraba-mayoreo__hero-inner {
	position: relative;
	max-width: 760px;
}
.agraba-mayoreo__hero-inner p { margin-top: 16px; }

/* FAQ nativo con <details>/<summary> */
.agraba-faq {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 32px;
}
.agraba-faq__item {
	background: var(--agraba-color-white);
	border-radius: var(--agraba-radius-sm);
	padding: 18px 22px;
}
.agraba-faq__item summary {
	cursor: pointer;
	list-style: none;
}
.agraba-faq__item summary::-webkit-details-marker { display: none; }
.agraba-faq__item summary::after {
	content: "+";
	float: right;
	color: var(--agraba-color-primary);
	font-weight: 700;
}
.agraba-faq__item[open] summary::after { content: "–"; }
.agraba-faq__item p {
	margin: 12px 0 0;
	color: var(--agraba-color-muted);
}

/* Página "Pruebas" (Quiénes somos) */
.agraba-about__intro {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 48px;
	align-items: center;
}
.agraba-about__intro-img {
	width: 100%;
	border-radius: var(--agraba-radius-card);
	object-fit: cover;
}
.agraba-about__intro .agraba-btn {
	margin-top: 16px;
}
@media (max-width: 900px) {
	.agraba-about__intro { grid-template-columns: 1fr; }
}

.agraba-value-icon {
	display: block;
	font-size: 40px;
	margin-bottom: 12px;
}

/* Blog: single post + archivo */
.agraba-single-post__category {
	display: inline-block;
	margin-bottom: 10px;
	text-transform: uppercase;
}
.agraba-single-post .agraba-legal__hero h1 { margin-bottom: 6px; }

.agraba-blog-card__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 4px;
}
.agraba-blog-card__meta .agraba-single-post__category { margin-bottom: 0; }

.agraba-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 48px;
}
.agraba-pagination a,
.agraba-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border-radius: var(--agraba-radius-sm);
	background: var(--agraba-color-white);
	color: var(--agraba-color-dark);
	text-decoration: none;
	font-family: var(--agraba-font-body);
	font-weight: 600;
	box-shadow: var(--agraba-shadow-card);
}
.agraba-pagination .current {
	background: var(--agraba-color-primary);
	color: var(--agraba-color-white);
}

/* Tienda / archivo de producto */
.agraba-shop__description {
	max-width: 720px;
	margin: 16px auto 0;
	text-align: center;
	color: var(--agraba-color-muted);
}
.agraba-product-card__cta {
	margin-top: 8px;
	padding: 10px 20px;
	font-size: 0.85rem;
	align-self: flex-start;
}
.woocommerce-notices-wrapper {
	max-width: var(--agraba-container-max, 1536px);
	margin: 16px auto 0;
	padding: 0 24px;
}

/* Producto individual */
.agraba-product { padding: 32px 0 64px; }
.agraba-product__breadcrumb {
	margin-bottom: 20px;
	color: var(--agraba-color-muted);
}
.agraba-product__breadcrumb a { color: var(--agraba-color-muted); }

.agraba-product__top {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	margin-bottom: 0;
}
@media (max-width: 900px) {
	.agraba-product__top { grid-template-columns: 1fr; }
}

.agraba-product__price { margin: 12px 0; }
.agraba-product__short-desc { color: var(--agraba-color-muted); margin-bottom: 20px; }

.agraba-product__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 48px;
}
.agraba-variations {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.agraba-variations__availability {
	color: #b3261e;
	margin: 0;
}
.agraba-product__actions {
	align-items: flex-end;
	grid-template-columns: 166px 1fr;
}
.agraba-product__qty input {
	width: 100%;
	height: 48px;
	text-align: center;
	border: 1px solid var(--agraba-color-muted);
	border-radius: 2px;
}
.agraba-product__actions .agraba-btn {
	width: 100%;
	height: 48px;
	border-radius: 4px;
}
.agraba-product__actions .agraba-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}
.agraba-product__stock { margin: 0; color: var(--agraba-color-muted); }
.agraba-out-of-stock { color: #b3261e; font-weight: 700; }
.agraba-product__after-purchase { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:48px; margin:28px 0 56px; padding:32px 0; border-top:1px solid var(--agraba-bg-beige); border-bottom:1px solid var(--agraba-bg-beige); }
.agraba-product__after-copy .agraba-product__short-desc { margin:0; color:var(--agraba-color-dark); }
.agraba-product__service-info { display:flex; flex-direction:column; gap:12px; }
.agraba-product__service-info .agraba-product__delivery { margin:0; }
.agraba-product__service-info .agraba-product__help,
.agraba-product__service-info .agraba-product__limit-note { margin:0; }

.agraba-product__tabs {
	display: flex;
	flex-direction: column;
	gap: 40px;
	max-width: 860px;
	margin: 0 auto 56px;
}

/* Tienda y producto: componentes nativos Agraba */
.agraba-shop__toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:12px; }
.agraba-shop__filters { display:flex; gap:8px; flex-wrap:wrap; }
.agraba-shop__filters a { padding:9px 16px; border:1px solid var(--agraba-bg-beige); border-radius:30px; color:var(--agraba-color-dark); font-weight:700; }
.agraba-shop__filters a:is(:hover,.is-active) { background:var(--agraba-bg-accent); color:#fff; border-color:var(--agraba-bg-accent); }
.agraba-shop__sort { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.agraba-shop__sort select { min-width:210px; padding:9px 34px 9px 12px; border:1px solid var(--agraba-bg-beige); border-radius:8px; }
.agraba-shop__count { color:var(--agraba-color-muted); margin-bottom:24px; }
.agraba-product-card__media { position:relative; display:block; overflow:hidden; }
.agraba-product-card__media img { transition:transform .35s ease; }
.agraba-product-card:hover .agraba-product-card__media img { transform:scale(1.035); }
.agraba-product-card__badge { position:absolute; z-index:1; top:14px; left:14px; padding:6px 12px; border-radius:20px; background:var(--agraba-color-primary); color:#fff; font:700 12px var(--agraba-font-body); }
.agraba-product__delivery { display:flex; flex-direction:column; gap:2px; margin:20px 0; padding:16px 18px; border-left:4px solid var(--agraba-bg-accent); background:var(--agraba-bg-cream); }
.agraba-variations__title { margin:0 0 14px; font:700 16px var(--agraba-font-body); color:var(--agraba-color-dark); }
.agraba-variation-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.agraba-variation-card { position:relative; display:flex; min-height:138px; padding:10px; flex-direction:column; align-items:center; justify-content:flex-start; gap:6px; border:1px solid #deded9; border-radius:12px; background:#fff; color:var(--agraba-color-dark); white-space:normal; box-shadow:0 3px 9px rgba(42,52,32,.04); transition:border-color .2s,box-shadow .2s,transform .2s; }
.agraba-variation-card:not(:disabled):hover { color:var(--agraba-color-dark); background:#fff; border-color:var(--agraba-color-primary); box-shadow:0 7px 20px rgba(42,52,32,.1); transform:translateY(-2px); }
.agraba-variation-card.is-selected { color:var(--agraba-color-dark); background:#fffaf7; border:2px solid var(--agraba-color-primary); box-shadow:0 0 0 3px rgba(217,110,61,.12); }
.agraba-variation-card.is-selected::after { content:'✓'; position:absolute; top:9px; right:9px; display:grid; width:22px; height:22px; place-items:center; border-radius:50%; background:var(--agraba-color-primary); color:#fff; font-size:12px; }
.agraba-variation-card.is-disabled { opacity:.48; cursor:not-allowed; }
.agraba-variation-card__image { display:grid; width:68px; height:68px; place-items:center; color:var(--agraba-color-primary); }
.agraba-variation-card__image svg { width:58px; height:58px; overflow:visible; fill:none; stroke:currentColor; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease,color .2s ease; }
.agraba-variation-card:not(:disabled):hover .agraba-variation-card__image svg,
.agraba-variation-card.is-selected .agraba-variation-card__image svg { color:var(--agraba-color-primary-hover); transform:translateY(-1px); }
.agraba-variation-card strong { font:700 12px/1.3 var(--agraba-font-body); }
.agraba-variation-card__price { margin-top:auto; font:700 12px var(--agraba-font-body); color:var(--agraba-color-primary); }
.agraba-variation-card__price .price { color:inherit; }
.agraba-variation-card--out-of-stock { border-style:dashed; }
.agraba-variation-card__badge { position:absolute; top:9px; left:9px; padding:2px 8px; border-radius:999px; background:#b3261e; color:#fff; font:700 10px var(--agraba-font-body); text-transform:uppercase; letter-spacing:.02em; }
.agraba-variation-description { margin-top:14px; padding:14px 16px; border-radius:10px; background:var(--agraba-bg-cream); color:var(--agraba-color-muted); font-size:14px; }
.agraba-variation-description p:last-child { margin-bottom:0; }
.mi-wc-galeria__main-image { transition:opacity .2s ease,transform .2s ease; }
.mi-wc-galeria__main-image.is-changing { opacity:.65; transform:scale(.985); }
.agraba-product__help { margin:22px 0 10px; }
.agraba-product__limit-note { padding:14px 16px; background:#fff7ed; border-radius:10px; color:var(--agraba-color-muted); font-size:14px; }
.agraba-product__meta { display:flex; flex-direction:column; gap:5px; font-size:13px; color:var(--agraba-color-muted); }
.agraba-product__tab-nav { display:flex; gap:0; overflow-x:auto; border-bottom:1px solid var(--agraba-bg-beige); }
.agraba-product__tab-nav button { padding:14px 20px; border:0; border-bottom:3px solid transparent; border-radius:0; color:var(--agraba-color-dark); background:transparent; font-weight:700; }
.agraba-product__tab-nav button:is(:hover,.is-active) { color:var(--agraba-color-primary); background:transparent; border-bottom-color:var(--agraba-color-primary); }
.agraba-product__tab[hidden] { display:none; }
.agraba-tabs { width:100%; }
.agraba-tabs-menu { display:flex; align-items:flex-end; gap:12px; overflow-x:auto; border-bottom:1px solid #d9d9d4; }
.agraba-tabs-menu .agraba-tab-title { position:relative; flex:0 0 auto; margin:0; padding:15px 20px; color:var(--agraba-color-dark); font:700 18px/1.3 var(--agraba-font-body); cursor:pointer; user-select:none; }
.agraba-tabs-menu .agraba-tab-title::after { content:""; position:absolute; right:0; bottom:-1px; left:0; height:3px; background:transparent; }
.agraba-tabs-menu .agraba-tab-title:is(:hover,.active) { color:var(--agraba-bg-accent); }
.agraba-tabs-menu .agraba-tab-title.active::after { background:var(--agraba-bg-accent); }
.agraba-tabs-menu .agraba-tab-title:focus-visible { outline:2px solid var(--agraba-color-primary); outline-offset:-3px; }
.agraba-tabs-content { padding:24px 0 4px; }
.agraba-tabs-content .agraba-tab-panel { display:none; animation:agrabaTabIn .22s ease; }
.agraba-tabs-content .agraba-tab-panel.active { display:block; }
.agraba-tabs-content .agraba-tab-panel[hidden] { display:none; }
.agraba-tabs-content .agraba-tab-panel > :last-child { margin-bottom:0; }
@keyframes agrabaTabIn { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
.agraba-product__specs { margin:0; }
.agraba-product__specs div { display:grid; grid-template-columns:180px 1fr; gap:20px; padding:13px 0; border-bottom:1px solid var(--agraba-bg-beige); }
.agraba-product__specs dt { font-weight:700; }
.agraba-product__specs dd { margin:0; }
.agraba-reviews article { padding:18px 0; border-bottom:1px solid var(--agraba-bg-beige); }
.agraba-reviews article span { margin-left:12px; color:var(--agraba-color-primary); }
.agraba-review-form { margin-top:32px; }
@media(max-width:767px){ .agraba-shop__toolbar{align-items:stretch;flex-direction:column}.agraba-shop__sort{justify-content:space-between}.agraba-shop__sort select{min-width:0;flex:1}.agraba-product__specs div{grid-template-columns:1fr;gap:3px}.agraba-variation-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.agraba-variation-card{min-height:158px}.agraba-tabs-menu{gap:0}.agraba-tabs-menu .agraba-tab-title{padding:13px 14px;font-size:15px}.agraba-tabs-content{padding-top:20px}.agraba-product__after-purchase{grid-template-columns:1fr;gap:24px}.agraba-product__form{margin-top:30px}.agraba-product__actions{grid-template-columns:110px 1fr} }

/* =========================================================
   LANDINGS DE CATEGORÍA — réplica editorial de producción
   ========================================================= */
.agraba-category-hero { min-height:325px; display:flex; align-items:center; background-size:cover; background-position:center; }
.agraba-category-hero .contenedor_principal { width:90%!important; }
.agraba-category-hero h1 { max-width:720px; margin:0 0 14px; color:var(--agraba-color-primary); font-size:52px; }
.agraba-category-hero p { max-width:650px; margin:0; color:#fff; font-size:18px; line-height:1.55; }
.agraba-category-landing h2 { text-align:center; font-size:44px; font-weight:500; }
.agraba-category-landing h2 span,.agraba-category-faq h2,.agraba-category-blog h2 span { color:var(--agraba-color-primary); }
.agraba-category-products { padding-top:100px; padding-bottom:72px; }
.agraba-cat-products-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:36px; }
.agraba-cat-product { display:grid; grid-template-columns:46% 54%; min-height:190px; overflow:hidden; border-radius:16px; background:#fff; }
.agraba-cat-product__image { display:block; min-width:0; }
.agraba-cat-product__image img { width:100%; height:190px; object-fit:contain; border-radius:16px; }
.agraba-cat-product__copy { display:flex; min-width:0; padding:20px 12px; flex-direction:column; justify-content:center; }
.agraba-cat-product__copy h3 { margin:0 0 16px; color:var(--agraba-bg-accent); font-size:24px; line-height:1.05; }
.agraba-cat-product__copy > a { display:block; padding:9px 14px; border-radius:30px; background:var(--agraba-bg-accent); color:#fff; font-size:13px; font-weight:700; text-align:center; }
.agraba-category-combine { padding-top:28px; padding-bottom:100px; }
.agraba-category-combine > .contenedor_principal > p { margin-top:-20px; color:var(--agraba-color-muted); text-align:center; }
.agraba-cat-combine-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-top:28px; }
.agraba-cat-combine-grid .agraba-cat-product { display:block; min-height:0; border-radius:0 0 14px 14px; background:var(--agraba-bg-beige); }
.agraba-cat-combine-grid .agraba-cat-product__image img { height:205px; border-radius:0; background:#fff; }
.agraba-cat-combine-grid .agraba-cat-product__copy { display:block; padding:12px 14px 15px; }
.agraba-cat-combine-grid .agraba-cat-product__copy h3 { margin:0 0 5px; font-size:21px; }
.agraba-cat-combine-grid .agraba-cat-product__copy > a { display:inline; padding:0; background:none; color:var(--agraba-color-primary); font-weight:600; }
.agraba-category-business { padding:80px 0; background:linear-gradient(180deg,#657c4e 0%,#283a22 100%); }
.agraba-category-business__inner { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:80px; width:90%!important; }
.agraba-category-business h2 { margin-bottom:18px; color:#fff; font-size:34px; text-align:left; }
.agraba-category-business p { max-width:680px; color:#fff; font-size:17px; }
.agraba-category-business img { width:100%; max-height:330px; object-fit:cover; border-radius:18px; transform:rotate(2deg); }
.agraba-category-faq { padding-top:90px; }
.agraba-faq--columns { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; max-width:1250px; margin:30px auto 0; }
.agraba-faq--columns .agraba-faq__item { border-radius:0; background:#fff; border-bottom:1px solid var(--agraba-bg-beige); }
.agraba-faq--columns .agraba-faq__item summary { padding:16px; color:var(--agraba-bg-accent); }
.agraba-faq--columns .agraba-faq__item[open] summary { background:var(--agraba-color-primary); color:#fff; }
.agraba-faq--columns .agraba-faq__item p { padding:16px; }
.agraba-category-blog { padding-top:80px; }
.agraba-category-blog .agraba-section__heading { max-width:900px; }

/* Blog: banner y tarjetas horizontales como producción */
.agraba-blog-archive::before { content:""; display:block; height:330px; background:url('/wp-content/uploads/2025/09/1-Blog-Agraba-Enero-2025.jpg') center/cover no-repeat; }
.agraba-blog-archive > .agraba-section:first-child { position:absolute; top:210px; right:0; left:0; padding:0!important; }
.agraba-blog-archive > .agraba-section:first-child h1 { width:90%; max-width:1536px; margin:auto; color:var(--agraba-color-primary)!important; font-size:54px!important; text-align:left!important; }
.agraba-blog-archive > .agraba-section:nth-child(2) { padding-top:90px; }
.agraba-blog-archive .agraba-grid--3 { gap:28px; }
.agraba-blog-archive .agraba-recipe-card { display:grid; grid-template-columns:1fr 1fr; min-height:210px; border-radius:20px; }
.agraba-blog-archive .agraba-recipe-card > a img { height:100%; min-height:210px; object-fit:cover; border-radius:20px 0 0 20px; }
.agraba-blog-archive .agraba-recipe-card__body { padding:20px 16px; justify-content:center; }
.agraba-blog-archive .agraba-blog-card__meta { flex-direction:column; align-items:flex-start; }
.agraba-blog-archive .agraba-blog-card__meta .agraba-single-post__category { display:none; }
.agraba-blog-archive .agraba-recipe-card__body > a { color:var(--agraba-color-dark)!important; font-size:20px; line-height:1.05; }

/* Producto: proporciones, relacionado horizontal y FAQ de dos columnas */
.agraba-product .contenedor_principal { width:90%!important; }
.agraba-product__top { grid-template-columns:minmax(0,1fr) minmax(520px,1fr); gap:70px; }
.agraba-product__summary h1 { font-size:44px!important; }
.agraba-product__gallery .mi-wc-galeria__main-image { max-height:620px; }
.agraba-product__tabs { max-width:none; }
.agraba-product .agraba-section > h2 { color:var(--agraba-color-primary); font-size:48px!important; }
.agraba-product .agraba-section .agraba-grid--4 { grid-template-columns:repeat(3,1fr); }
.agraba-product .agraba-section .agraba-product-card { display:grid; grid-template-columns:1fr 1fr; min-height:190px; box-shadow:none; }
.agraba-product .agraba-related-product__media { display:block; width:100%; height:190px; border-radius:14px; background-color:#fff; background-position:center; background-repeat:no-repeat; background-size:contain; }
.agraba-product .agraba-section .agraba-product-card__body { justify-content:center; }
.agraba-product .agraba-section .agraba-product-card__body > span { display:none; }
.agraba-product .agraba-related-product__button { display:block; width:100%; margin-top:14px; padding:11px 20px; border-radius:999px; background:var(--agraba-bg-accent); color:#fff; font:700 14px/1.2 var(--agraba-font-body); text-align:center; text-decoration:none; transition:background-color .2s,transform .2s; }
.agraba-product .agraba-related-product__button:hover { background:var(--agraba-color-primary); color:#fff; transform:translateY(-1px); }
.agraba-product-faq { padding:60px 0 20px; }
.agraba-product-faq > h2 { color:var(--agraba-color-primary); font-size:48px; font-weight:500; text-align:center; }
.agraba-product-faq .agraba-faq__item > div { padding:16px; color:var(--agraba-color-muted); }
.agraba-product-faq .agraba-faq__item > div p:last-child { margin-bottom:0; }

/* FAQ global: un único componente para productos, categorías y páginas. */
.agraba-faq-component { width:100%; max-width:1320px; margin:0 auto; }
.agraba-faq-component__title { margin:0 0 34px; color:var(--agraba-color-primary)!important; font:500 48px/1.2 var(--agraba-font-heading)!important; text-align:center!important; }
.agraba-faq-component__grid { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; align-items:start; }
.agraba-faq-component__column { display:flex; min-width:0; flex-direction:column; gap:0; }
.agraba-faq-component__item { margin:0; border:0; border-bottom:1px solid #e3e5df; border-radius:0; background:#fff; }
.agraba-faq-component__item summary { position:relative; display:block; padding:17px 42px 17px 16px; color:var(--agraba-bg-accent); font:600 15px/1.45 var(--agraba-font-body); cursor:pointer; list-style:none; }
.agraba-faq-component__item summary::-webkit-details-marker { display:none; }
.agraba-faq-component__item summary::after { content:"+"; position:absolute; top:50%; right:16px; color:var(--agraba-bg-accent); font-size:19px; line-height:1; transform:translateY(-50%); }
.agraba-faq-component__item[open] summary { background:var(--agraba-color-primary); color:#fff; }
.agraba-faq-component__item[open] summary::after { content:"−"; color:#fff; }
.agraba-faq-component__answer { padding:18px 16px; color:var(--agraba-color-muted); font:400 14px/1.7 var(--agraba-font-body); }
.agraba-faq-component__answer p:last-child { margin-bottom:0; }
.agraba-faq-component__answer .agraba-faq-answer { display:block!important; }
.agraba-faq-component__answer .agraba-faq-icon,
.agraba-faq-component__answer .agraba-faq-item > h3 { display:none; }

/* Mayoreo: aire y escala de la captura */
.agraba-mayoreo__hero { min-height:380px; }
.agraba-mayoreo__hero-inner { width:90%!important; }
.agraba-mayoreo__hero-inner h1 { max-width:720px; color:var(--agraba-color-primary)!important; }
.agraba-mayoreo > .agraba-section h2 { text-align:center; }
.agraba-mayoreo > .agraba-section { padding-top:90px; padding-bottom:90px; }
.agraba-mayoreo .agraba-product-card { box-shadow:none; background:var(--agraba-bg-beige); }
.agraba-mayoreo .agraba-product-card img { height:300px; }

@media(max-width:900px){
	.agraba-category-hero .contenedor_principal,.agraba-category-business__inner,.agraba-product .contenedor_principal{width:90%!important}
	.agraba-cat-products-grid{grid-template-columns:repeat(2,1fr)}
	.agraba-cat-combine-grid{grid-template-columns:repeat(2,1fr)}
	.agraba-category-business__inner{grid-template-columns:1fr;gap:35px}
	.agraba-product__top{grid-template-columns:1fr}
}
@media(max-width:600px){
	.agraba-category-hero{min-height:360px}.agraba-category-hero h1{font-size:38px}.agraba-category-landing h2{font-size:34px}
	.agraba-cat-products-grid{grid-template-columns:1fr}.agraba-cat-product{min-height:150px}.agraba-cat-product__image img{height:150px}
	.agraba-faq--columns{grid-template-columns:1fr}.agraba-blog-archive .agraba-recipe-card{grid-template-columns:42% 58%}
	.agraba-product__summary h1{font-size:36px!important}.agraba-product .agraba-section .agraba-grid--4{grid-template-columns:1fr}
	.agraba-faq-component__grid{grid-template-columns:1fr}.agraba-faq-component__title{font-size:36px!important}.agraba-faq-component__item summary{font-size:14px}
}

/* Carrito */
.agraba-cart { min-height:620px; padding:64px 0 90px; background:#fff; }
.agraba-cart > .contenedor_principal { width:90%!important; max-width:1536px!important; }
.agraba-cart h1 { max-width:1250px; margin:0 auto 38px; color:var(--agraba-color-dark); text-align:left!important; }
.agraba-cart__form,.agraba-cart__bottom { max-width:1250px; margin-right:auto; margin-left:auto; }
.agraba-cart__items {
	display: flex;
	flex-direction: column;
	gap:0;
	margin-top:0;
	border-top:1px solid #e7e7e1;
}
.agraba-cart__item {
	display: grid;
	grid-template-columns:96px minmax(0,1fr) 90px 140px 32px;
	align-items: center;
	gap:22px;
	padding:22px 10px;
	border-bottom:1px solid #e7e7e1;
	background:#fff;
}
.agraba-cart__item-img { display:grid; width:96px; height:96px; place-items:center; border-radius:12px; background:#fafaf7; overflow:hidden; }
.agraba-cart__item-img img {
	width:100%;
	height:100%;
	object-fit:contain;
	display: block;
}
.agraba-cart__item-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.agraba-cart__item-info a { color:var(--agraba-color-dark); font-size:16px; text-decoration:none; }
.agraba-cart__item-info > span { font:700 15px var(--agraba-font-body)!important; }
.agraba-cart__item-qty input {
	width:72px;
	padding:10px;
	border:1px solid #d9d9d2;
	border-radius:8px;
	font-family: var(--agraba-font-body);
	text-align:center;
}
.agraba-cart__item-subtotal { color:var(--agraba-color-dark); font:700 17px var(--agraba-font-body)!important; text-align:right; }
.agraba-cart__item-remove {
	color: var(--agraba-color-muted);
	text-decoration: none;
	font-size: 22px;
	text-align: center;
}
.agraba-cart__item-remove:hover { color: #b3261e; }

.agraba-cart__actions {
	margin-top:18px;
	text-align: right;
}
.agraba-cart__actions .agraba-btn { min-height:42px; padding:9px 20px; background:#fff; }

.agraba-cart__bottom {
	display: grid;
	grid-template-columns:minmax(0,1fr) 390px;
	gap:64px;
	margin-top:48px;
	align-items: start;
}
@media (max-width: 900px) {
	.agraba-cart__bottom { grid-template-columns: 1fr; }
	.agraba-cart__item { grid-template-columns: 56px 1fr auto; grid-template-areas: "img info remove" "img qty subtotal"; }
	.agraba-cart__item-img { grid-area:img; }
	.agraba-cart__item-info { grid-area:info; }
	.agraba-cart__item-qty { grid-area:qty; }
	.agraba-cart__item-subtotal { grid-area:subtotal; }
	.agraba-cart__item-remove { grid-area:remove; }
}

.agraba-cart__coupon-row {
	display: flex;
	gap: 10px;
}
.agraba-cart__coupon { max-width:560px; padding:26px; border:1px solid #e7e7e1; border-radius:14px; background:#fff; }
.agraba-cart__coupon label { color:var(--agraba-color-dark); font-weight:700; }
.agraba-cart__coupon-row input { flex: 1; }

.agraba-cart__coupons-applied {
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.agraba-cart__coupons-applied li {
	background: var(--agraba-bg-cream);
	border-radius: 20px;
	padding: 6px 14px;
	font-family: var(--agraba-font-body);
	font-size: 14px;
}
.agraba-cart__coupons-applied a {
	margin-left: 8px;
	text-decoration: none;
	color: var(--agraba-color-muted);
}

.agraba-cart__totals {
	padding:30px;
	border:1px solid #e3e3dc;
	border-radius:16px;
	background:#fff;
	box-shadow:0 12px 32px rgba(34,48,27,.07);
}
.agraba-cart__totals h2 { margin:0 0 16px; color:var(--agraba-color-dark); }
.agraba-cart__totals-row {
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom:1px solid #ecece7;
	font-family: var(--agraba-font-body);
}
.agraba-cart__totals-row--total {
	font-weight: 700;
	font-size: 1.2rem;
	border-bottom: none;
}
.agraba-cart__shipping-note {
	color: var(--agraba-color-muted);
	margin: 12px 0 20px;
}
.agraba-cart__checkout-btn {
	display: block;
	text-align: center;
	width: 100%;
}

.agraba-cart__empty {
	text-align: center;
	padding: 64px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

@media (max-width:700px) {
	.agraba-cart { padding:42px 0 64px; }
	.agraba-cart > .contenedor_principal { width:90%!important; }
	.agraba-cart__item { grid-template-columns:72px minmax(0,1fr) 24px; grid-template-areas:"img info remove" "img qty subtotal"; gap:12px 14px; }
	.agraba-cart__item-img { grid-area:img; width:72px; height:72px; }
	.agraba-cart__item-info { grid-area:info; }
	.agraba-cart__item-qty { grid-area:qty; }
	.agraba-cart__item-subtotal { grid-area:subtotal; }
	.agraba-cart__item-remove { grid-area:remove; }
	.agraba-cart__bottom { gap:28px; }
	.agraba-cart__coupon { padding:20px; }
}

/* Mi cuenta */
.agraba-account { min-height:620px; padding:64px 0 90px; background:#fff; }
.agraba-account__container { width:90%!important; max-width:1536px!important; margin-right:auto!important; margin-left:auto!important; }
.agraba-account h1 { margin:0 0 42px; color:var(--agraba-color-dark); }

.agraba-account__auth {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	max-width:1180px;
	margin:0 auto;
}
@media (max-width: 700px) {
	.agraba-account__auth { grid-template-columns: 1fr; }
}
.agraba-account__auth-col {
	background:#fff;
	border:1px solid #e5e5df;
	border-radius: var(--agraba-radius-card);
	padding:40px;
	box-shadow:0 10px 30px rgba(34,48,27,.06);
}
.agraba-form__field--checkbox label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--agraba-color-muted);
}
.agraba-account__forgot {
	font-size: 14px;
	text-decoration: none;
	margin-top: 4px;
}

.agraba-account__panel {
	display: grid;
	grid-template-columns:260px minmax(0,1fr);
	gap:48px;
	margin-top:0;
	align-items: start;
}
@media (max-width: 800px) {
	.agraba-account__panel { grid-template-columns: 1fr; }
}
.agraba-account__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	background:var(--agraba-bg-cream);
	border-radius: var(--agraba-radius-card);
	padding:14px;
	box-shadow:0 8px 24px rgba(34,48,27,.05);
}
.agraba-account__nav a {
	display: block;
	padding:13px 16px;
	border-radius: var(--agraba-radius-sm);
	text-decoration: none;
	color: var(--agraba-color-dark);
}
.agraba-account__nav li.is-active a {
	background: var(--agraba-color-primary);
	color: var(--agraba-color-white);
}
.agraba-account__content { min-width:0; padding:36px 40px; border:1px solid #e5e5df; border-radius:var(--agraba-radius-card); background:#fff; box-shadow:0 10px 30px rgba(34,48,27,.06); }
.agraba-account__content > :first-child { margin-top:0; }
.agraba-account__content > :last-child { margin-bottom:0; }

/* Reskin del contenido interno de WooCommerce (pedidos, direcciones, mi cuenta, descargas)
   que sigue viniendo de woocommerce_account_content sin reescribirse. */
.agraba-account__content table.shop_table,
.agraba-account__content .woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
	margin: 16px 0;
}
.agraba-account__content table.shop_table th,
.agraba-account__content table.shop_table td {
	padding: 12px;
	border-bottom: 1px solid var(--agraba-bg-beige);
	text-align: left;
}
.agraba-account__content .woocommerce-form-row {
	margin: 0 0 16px;
}
.agraba-account__content .woocommerce-form-row label {
	display: block;
	font-family: var(--agraba-font-body);
	font-size: 14px;
	color: var(--agraba-color-muted);
	margin-bottom: 6px;
}
.agraba-account__content .woocommerce-Input,
.agraba-account__content input[type="text"],
.agraba-account__content input[type="email"],
.agraba-account__content input[type="password"],
.agraba-account__content input[type="tel"],
.agraba-account__content select,
.agraba-account__content textarea {
	width: 100%;
	font-family: var(--agraba-font-body);
	border: 1px solid var(--agraba-bg-beige);
	border-radius: var(--agraba-radius-sm);
	padding: 10px 12px;
	box-sizing: border-box;
}
.agraba-account__content .button,
.agraba-account__content button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 28px;
	border-radius: var(--agraba-radius-pill);
	background: var(--agraba-color-primary);
	color: var(--agraba-color-white);
	font-family: var(--agraba-font-body);
	font-weight: 700;
	border: none;
	text-decoration: none;
	cursor: pointer;
}
.agraba-account__content mark {
	background: none;
	color: var(--agraba-color-primary);
	font-weight: 700;
}
.agraba-account__content .woocommerce-MyAccount-navigation {
	display: none; /* usamos nuestro propio nav en .agraba-account__nav */
}

@media (max-width:800px) {
	.agraba-account { padding:42px 0 64px; }
	.agraba-account__container { width:90%!important; }
	.agraba-account__content { padding:26px 22px; }
}

/* Regla canónica de alineación: todos los shells exteriores comparten eje y ancho. */
.contenedor_principal {
	width: 90% !important;
	max-width: 1536px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

/* =========================================================
   RESPONSIVE MÓVIL — carruseles sólo para colecciones
   ========================================================= */
@media (max-width: 767px) {
	/* Una colección conserva el gutter del contenedor y muestra la tarjeta
	   siguiente como pista visual, sin ensanchar la página completa. */
	.agraba-grid--2,
	.agraba-grid--3,
	.agraba-grid--4,
	.agraba-grid--5,
	.agraba-cat-products-grid,
	.agraba-cat-combine-grid {
		display: flex;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		gap: 16px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 1px;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
		padding: 2px 1px 16px;
		scrollbar-width: none;
	}
	.agraba-grid--2::-webkit-scrollbar,
	.agraba-grid--3::-webkit-scrollbar,
	.agraba-grid--4::-webkit-scrollbar,
	.agraba-grid--5::-webkit-scrollbar,
	.agraba-cat-products-grid::-webkit-scrollbar,
	.agraba-cat-combine-grid::-webkit-scrollbar,
	.agraba-variation-cards::-webkit-scrollbar,
	.agraba-stats::-webkit-scrollbar { display: none; }

	.agraba-grid--2 > *,
	.agraba-grid--3 > *,
	.agraba-grid--4 > *,
	.agraba-grid--5 > * {
		flex: 0 0 min(82%, 360px);
		min-width: 0;
		scroll-snap-align: start;
	}

	/* Producto y categoría requieren más superficie para nombre, foto y CTA. */
	.agraba-shop .agraba-grid > *,
	.agraba-product .agraba-section .agraba-grid > *,
	.agraba-cat-products-grid > *,
	.agraba-cat-combine-grid > * {
		flex: 0 0 min(88%, 380px);
		min-width: 0;
		scroll-snap-align: start;
	}

	.agraba-variation-cards {
		display: flex;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		gap: 12px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
		padding: 3px 2px 14px;
		scrollbar-width: none;
	}
	.agraba-variation-card {
		flex: 0 0 min(46%, 170px);
		min-width: 0;
		scroll-snap-align: start;
	}

	.agraba-stats {
		display: flex;
		gap: 16px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
		padding: 30px 24px 36px;
		scrollbar-width: none;
	}
	.agraba-stats__item { flex: 0 0 72%; scroll-snap-align: center; }

	/* Filtros de tienda: una sola banda táctil, sin cinco renglones de chips. */
	.agraba-shop__filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
	.agraba-shop__filters::-webkit-scrollbar { display: none; }
	.agraba-shop__filters a { flex: 0 0 auto; }

	.agraba-section { padding-top: 48px; padding-bottom: 48px; }
	.agraba-section__heading { margin-bottom: 28px; }
	.agraba-section__heading h1,
	.agraba-section__heading h2,
	.agraba-category-hero h1,
	.agraba-mayoreo__hero-inner h1 { overflow-wrap: break-word; }
	.agraba-account__auth-col { padding: 28px 22px; }
}

@media (max-width: 380px) {
	.agraba-grid--2 > *,
	.agraba-grid--3 > *,
	.agraba-grid--4 > *,
	.agraba-grid--5 > * { flex-basis: 86%; }
	.agraba-shop .agraba-grid > *,
	.agraba-product .agraba-section .agraba-grid > *,
	.agraba-cat-products-grid > *,
	.agraba-cat-combine-grid > * { flex-basis: 92%; }
	.agraba-product__actions { grid-template-columns: 92px minmax(0, 1fr); gap: 10px; }
}

/* Ajustes editoriales específicos del Home móvil. */
@media (max-width: 767px) {
	.agraba-novedades__inner {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	.agraba-novedades__inner .agraba-btn { min-width: 200px; }

	.agraba-audience + *,
	.agraba-audience { margin-top: 24px; }
	.agraba-audience > *,
	.agraba-why > * { flex-basis: 100%; max-width: 100%; }
	.agraba-audience-card {
		min-height: 0;
		padding: 32px 24px;
		align-items: center;
		text-align: center;
	}
	.agraba-audience-card__img { margin-right: auto; margin-left: auto; }
	.agraba-audience-card .agraba-check-list {
		width: min(100%, 310px);
		align-items: stretch;
		text-align: left;
	}
	.agraba-audience-card .agraba-btn { align-self: center; }

	.agraba-home .agraba-section > .contenedor_principal > h2 {
		text-align: center;
	}
	.agraba-why {
		margin-top: 28px;
		margin-bottom: 38px;
	}
	.agraba-why-card {
		display: flex;
		min-height: 240px;
		padding: 28px 20px;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	.agraba-why-card p { max-width: 310px; margin-right: auto; margin-left: auto; }

	.agraba-stats {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1px;
		overflow: hidden;
		padding: 0;
		scroll-snap-type: none;
	}
	.agraba-stats__item {
		min-height: 165px;
		padding: 22px 12px;
		justify-content: center;
		border-right: 1px solid rgba(255,255,255,.24);
		border-bottom: 1px solid rgba(255,255,255,.24);
	}
	.agraba-stats__item:nth-child(2n) { border-right: 0; }
	.agraba-stats__item:nth-last-child(-n+2) { border-bottom: 0; }
	.agraba-stats__number { font-size: 34px; }
	.agraba-stats__item .font_16 { font-size: 12px; line-height: 1.45; }

	.agraba-mobile-carousel { position: relative; min-width: 0; }
	.agraba-mobile-carousel__arrow {
		position: absolute;
		z-index: 5;
		top: 50%;
		display: grid;
		width: 42px;
		height: 42px;
		padding: 0;
		place-items: center;
		border: 0;
		border-radius: 50%;
		background: var(--agraba-color-primary);
		color: #fff;
		box-shadow: 0 5px 18px rgba(42,52,32,.2);
		font: 700 28px/1 var(--agraba-font-body);
		transform: translateY(-50%);
	}
	.agraba-mobile-carousel__arrow--prev { left: -14px; }
	.agraba-mobile-carousel__arrow--next { right: -14px; }
	.agraba-mobile-carousel__arrow:disabled { opacity: .3; cursor: default; }
}

@media (min-width: 768px) {
	.agraba-mobile-carousel__arrow { display: none; }
}

/* Producto individual: composición móvil compacta y centrada. */
@media (max-width: 767px) {
	.agraba-product { padding-top: 22px; }
	.agraba-product__breadcrumb { margin-bottom: 12px; font-size: 12px; }
	.agraba-product__top { gap: 30px; }
	.agraba-product__gallery { width: 100%; min-width: 0; text-align: center; }
	.agraba-product__gallery .mi-wc-galeria__main-wrap {
		width: min(100%, 340px);
		margin-right: auto;
		margin-left: auto;
	}
	.agraba-product__gallery .mi-wc-galeria__main-image {
		width: 100%;
		max-height: 420px;
		aspect-ratio: 1 / 1;
		object-fit: contain;
	}
	.agraba-product__gallery .mi-wc-galeria__thumbs {
		width: max-content;
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
	}
	.agraba-product__gallery .mi-wc-galeria__thumb {
		width: 60px;
		height: 60px;
	}

	.agraba-product__summary { min-width: 0; text-align: center; }
	.agraba-product__summary h1 {
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
		font-size: clamp(30px, 8.5vw, 36px) !important;
		line-height: 1.15;
		overflow-wrap: anywhere;
	}
	.agraba-product__price { justify-content: center; }
	.agraba-product__short-desc { text-align: left; }
	.agraba-product__form { margin-top: 32px; text-align: left; }
	.agraba-variations__title { text-align: center; }
	.agraba-product__summary .agraba-mobile-carousel { width: 100%; }
	.agraba-variation-cards { justify-content: flex-start; }
	.agraba-variation-card { flex-basis: calc(50% - 6px); }
	.agraba-product__actions { grid-template-columns: 100%; gap: 12px; }
	.agraba-product__qty label { display: block; margin-bottom: 7px; text-align: center; }
	.agraba-product__qty input { max-width: 130px; display: block; margin: 0 auto; }
	.agraba-product__actions .agraba-btn {
		min-width: 0;
		max-width: 100%;
		white-space: normal;
		line-height: 1.25;
	}

	.agraba-product .agraba-section { padding-top: 44px; padding-bottom: 44px; }
	.agraba-product .agraba-section > h2 {
		max-width: 340px;
		margin: 0 auto 26px;
		font-size: clamp(34px, 10vw, 42px) !important;
		line-height: 1.08;
		text-align: center;
	}
	.agraba-product .agraba-section .agraba-grid > * { flex-basis: 100%; max-width: 100%; }
	.agraba-product .agraba-section .agraba-product-card {
		display: flex;
		min-height: 0;
		flex-direction: column;
		align-items: stretch;
		border-radius: 16px;
		background: #fff;
	}
	.agraba-product .agraba-related-product__media { height: 220px; border-radius: 16px 16px 0 0; }
	.agraba-product .agraba-section .agraba-product-card__body {
		min-height: 150px;
		padding: 20px;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	.agraba-product .agraba-related-product__button { width: min(100%, 220px); }
}

@media (max-width: 380px) {
	.agraba-product__gallery .mi-wc-galeria__main-wrap { width: min(100%, 300px); }
	.agraba-product__gallery .mi-wc-galeria__thumb { width: 54px; height: 54px; }
	.agraba-product .agraba-section > h2 { max-width: 300px; }
}

/* Tienda móvil: catálogo visible en 2 columnas y filas automáticas. */
@media (max-width: 767px) {
	.agraba-shop .agraba-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: auto;
		gap: 14px;
		overflow: visible;
		padding: 0;
		scroll-snap-type: none;
		align-items: start;
	}
	.agraba-shop .agraba-grid > * {
		width: auto;
		max-width: none;
		min-width: 0;
		flex: initial;
		scroll-snap-align: none;
	}
	.agraba-shop .agraba-product-card { height: auto; align-self: start; border-radius: 12px; }
	.agraba-shop .agraba-product-card > a:first-child,
	.agraba-shop .agraba-product-card__media {
		display: flex;
		height: 138px;
		align-items: center;
		justify-content: center;
		overflow: hidden;
		background: #fff;
	}
	.agraba-shop .agraba-product-card img {
		width: 100%;
		height: 138px !important;
		max-height: 138px;
		aspect-ratio: auto;
		object-fit: contain;
		display: block;
		opacity: 1;
		visibility: visible;
	}
	.agraba-shop .agraba-product-card__body { height: auto; padding: 11px 10px 12px; gap: 6px; }
	.agraba-shop .agraba-product-card__title { font-size: 13px !important; line-height: 1.35; }
	.agraba-shop .agraba-product-card__body > .playfair,
	.agraba-shop .agraba-product-card__body .price {
		font-size: 16px !important;
		line-height: 1.3;
	}
	.agraba-shop .agraba-product-card__cta {
		width: 100%;
		min-height: 40px;
		margin-top: 9px;
		padding: 9px 8px;
		font-size: 10px;
		line-height: 1.2;
		white-space: normal;
		text-align: center;
	}
}

@media (max-width: 380px) {
	.agraba-shop .agraba-grid { gap: 10px; }
	.agraba-shop .agraba-product-card > a:first-child,
	.agraba-shop .agraba-product-card__media { height: 120px; }
	.agraba-shop .agraba-product-card img { height: 120px !important; max-height: 120px; }
	.agraba-shop .agraba-product-card__body { padding: 10px 8px; }
	.agraba-shop .agraba-product-card__body > .playfair,
	.agraba-shop .agraba-product-card__body .price { font-size: 15px !important; }
}

/* Mayoreo móvil: procesos y beneficios centrados, sin altura vacía. */
@media (max-width: 767px) {
	.agraba-mayoreo > .agraba-section { padding-top: 52px; padding-bottom: 52px; }
	.agraba-mayoreo__steps h2,
	.agraba-mayoreo__benefits h2 {
		max-width: 360px;
		margin: 0 auto 28px;
		font-size: clamp(32px, 9vw, 40px) !important;
		line-height: 1.15;
		text-align: center;
	}
	.agraba-mayoreo__steps .agraba-grid,
	.agraba-mayoreo__benefits .agraba-grid { margin-top: 0; }
	.agraba-mayoreo__steps .agraba-grid > *,
	.agraba-mayoreo__benefits .agraba-grid > * {
		flex-basis: 100%;
		max-width: 100%;
	}
	.agraba-mayoreo__steps .agraba-why-card,
	.agraba-mayoreo__benefits .agraba-why-card {
		display: flex;
		width: 100%;
		padding: 26px 48px;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	.agraba-mayoreo__steps .agraba-why-card { min-height: 245px; }
	.agraba-mayoreo__benefits .agraba-why-card { min-height: 190px; }
	.agraba-mayoreo__steps .agraba-why-card__icon,
	.agraba-mayoreo__benefits .agraba-why-card__icon {
		width: 72px;
		max-width: 72px;
		margin: 0 auto 16px;
	}
	.agraba-mayoreo__steps .agraba-why-card h3,
	.agraba-mayoreo__benefits .agraba-why-card h3 {
		max-width: 310px;
		margin: 0 auto 9px;
		text-align: center;
	}
	.agraba-mayoreo__steps .agraba-why-card p {
		max-width: 310px;
		margin: 0 auto;
		text-align: center;
	}
	.agraba-mayoreo__steps .agraba-mobile-carousel__arrow,
	.agraba-mayoreo__benefits .agraba-mobile-carousel__arrow { top: 50%; }
}

@media (max-width: 380px) {
	.agraba-mayoreo__steps .agraba-why-card,
	.agraba-mayoreo__benefits .agraba-why-card { padding-right: 36px; padding-left: 36px; }
}

/* =========================================================
   SISTEMA MÓVIL GLOBAL — coherencia entre todas las páginas
   ========================================================= */
.agraba-contact__heading { margin-left: 0; text-align: left; }

@media (max-width: 767px) {
	/* Todos los carruseles editoriales muestran una pieza completa. */
	.agraba-grid--2 > *,
	.agraba-grid--3 > *,
	.agraba-grid--4 > *,
	.agraba-grid--5 > *,
	.agraba-cat-products-grid > *,
	.agraba-cat-combine-grid > * {
		flex-basis: 100%;
		max-width: 100%;
	}
	/* Excepciones funcionales: tienda 2 x N y presentaciones de dos en dos. */
	.agraba-shop .agraba-grid > * { max-width: none; }
	.agraba-variation-card { flex-basis: calc(50% - 6px); }

	.agraba-section__heading,
	.agraba-shop__header,
	.agraba-category-landing .agraba-section__heading,
	.agraba-blog-archive .agraba-section__heading {
		max-width: 100%;
		text-align: center;
	}
	.agraba-section__heading h1,
	.agraba-section__heading h2,
	.agraba-shop h1,
	.agraba-category-landing h2,
	.agraba-blog-archive h1 {
		font-size: clamp(32px, 9vw, 40px) !important;
		line-height: 1.15;
		overflow-wrap: anywhere;
	}

	/* Categorías: una card íntegra, contenido equilibrado y centrado. */
	.agraba-cat-products-grid,
	.agraba-cat-combine-grid { gap: 14px; }
	.agraba-cat-product { width: 100%; }
	.agraba-cat-product__copy { text-align: center; }
	.agraba-cat-product__copy > a { align-self: center; }
	.agraba-cat-products-grid .agraba-cat-product {
		display: flex;
		min-height: 410px;
		flex-direction: column;
		align-items: stretch;
		border-radius: 18px;
		overflow: hidden;
	}
	.agraba-cat-products-grid .agraba-cat-product__image {
		display: flex;
		width: 100%;
		height: 255px;
		align-items: center;
		justify-content: center;
		background: #fff;
	}
	.agraba-cat-products-grid .agraba-cat-product__image img {
		width: 100%;
		height: 255px;
		object-fit: contain;
		border-radius: 0;
	}
	.agraba-cat-products-grid .agraba-cat-product__copy {
		min-height: 155px;
		padding: 22px 24px 24px;
		align-items: center;
		justify-content: center;
	}
	.agraba-cat-products-grid .agraba-cat-product__copy h3 {
		margin-bottom: 16px;
		font-size: 27px;
		line-height: 1.15;
		text-align: center;
	}
	.agraba-cat-products-grid .agraba-cat-product__copy > a {
		min-width: 150px;
		padding: 11px 22px;
	}
	.agraba-category-business__inner { text-align: center; }
	.agraba-category-business h2 { text-align: center; }
	.agraba-category-business p { margin-right: auto; margin-left: auto; }

	/* Blog: tarjetas verticales y centradas, sin texto comprimido a un lado. */
	.agraba-blog-archive .agraba-recipe-card {
		display: flex;
		width: 100%;
		min-height: 0;
		flex-direction: column;
	}
	.agraba-blog-archive .agraba-recipe-card > a img {
		width: 100%;
		height: 210px;
		min-height: 0;
		border-radius: 16px 16px 0 0;
	}
	.agraba-blog-archive .agraba-recipe-card__body {
		min-height: 170px;
		align-items: center;
		text-align: center;
	}
	.agraba-blog-archive .agraba-blog-card__meta { align-items: center; }

	/* Bloques editoriales de imagen + texto: apilados y centrados. */
	.agraba-cultivo__content,
	.agraba-about__intro-content { text-align: center; }
	.agraba-cultivo__content .agraba-btn,
	.agraba-about__intro-content .agraba-btn { align-self: center; }

	/* Contacto y cuenta conservan formularios legibles, con cabeceras centradas. */
	.agraba-contact > .agraba-section > .contenedor_principal > h1,
	.agraba-contact > .agraba-section > .contenedor_principal > h2,
	.agraba-contact > .agraba-section > .contenedor_principal > p,
	.agraba-account > .agraba-account__container > h1 { text-align: center; }
	.agraba-contact__heading { margin-right: auto; margin-left: auto; text-align: center; }
	.agraba-contact .agraba-form { text-align: left; }
	.agraba-account__auth { gap: 22px; }
	.agraba-account__auth-col { width: 100%; }

	/* Carrito y avisos: ejes centrados; datos y formularios siguen alineados. */
	.agraba-cart h1 { text-align: center !important; }
	.agraba-cart__empty { text-align: center; }
	.agraba-cart__empty .agraba-btn { margin-right: auto; margin-left: auto; }

	/* Flechas dentro del gutter para que nunca ensanchen el documento. */
	.agraba-mobile-carousel__arrow--prev { left: 6px; }
	.agraba-mobile-carousel__arrow--next { right: 6px; }
}

@media (max-width: 380px) {
	.agraba-cat-products-grid .agraba-cat-product { min-height: 360px; }
	.agraba-cat-products-grid .agraba-cat-product__image,
	.agraba-cat-products-grid .agraba-cat-product__image img { height: 215px; }
	.agraba-cat-products-grid .agraba-cat-product__copy { min-height: 145px; padding: 18px; }
	.agraba-cat-products-grid .agraba-cat-product__copy h3 { font-size: 24px; }
}

/* =========================================================
   ESCALA CANÓNICA — tipografía, márgenes y dimensiones
   ========================================================= */
main[class*="agraba-"] {
	font-size: var(--agraba-type-body);
	line-height: 1.65;
}
main[class*="agraba-"] h1,
main[class*="agraba-"] .font_50 {
	margin-top: 0;
	margin-bottom: 18px;
	font-size: var(--agraba-type-h1) !important;
	line-height: 1.12;
}
main[class*="agraba-"] h2,
main[class*="agraba-"] h2.font_48,
main[class*="agraba-"] h2.font_36 {
	margin-top: 0;
	margin-bottom: 16px;
	font-size: var(--agraba-type-h2) !important;
	line-height: 1.18;
}
main[class*="agraba-"] h3,
main[class*="agraba-"] h3.font_30,
main[class*="agraba-"] h3.font_24,
main[class*="agraba-"] h3.font_20 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: var(--agraba-type-h3) !important;
	line-height: 1.25;
}
main[class*="agraba-"] p,
main[class*="agraba-"] li,
main[class*="agraba-"] dd,
main[class*="agraba-"] dt {
	font-size: var(--agraba-type-body);
}
main[class*="agraba-"] p.font_20,
main[class*="agraba-"] .agraba-section__heading > p,
main[class*="agraba-"] .agraba-shop__description {
	font-size: var(--agraba-type-lead) !important;
	line-height: 1.65;
}
main[class*="agraba-"] .font_14 { font-size: var(--agraba-type-small) !important; }

main[class*="agraba-"] .agraba-section {
	padding-top: var(--agraba-section-space);
	padding-bottom: var(--agraba-section-space);
}
main[class*="agraba-"] .agraba-section__heading {
	margin-bottom: var(--agraba-heading-gap);
}
main[class*="agraba-"] .agraba-grid {
	gap: var(--agraba-layout-gap);
}
main[class*="agraba-"] .agraba-card,
main[class*="agraba-"] .agraba-cat-product,
main[class*="agraba-"] .agraba-account__auth-col,
main[class*="agraba-"] .agraba-account__content {
	border-radius: var(--agraba-radius-card);
}
main[class*="agraba-"] .agraba-category-card__body,
main[class*="agraba-"] .agraba-product-card__body,
main[class*="agraba-"] .agraba-recipe-card__body {
	padding: var(--agraba-card-padding);
}
main[class*="agraba-"] .agraba-btn {
	min-height: 48px;
	padding: 12px 28px;
	font-size: 14px;
	line-height: 1.25;
}

/* Componentes con escala propia, pero derivada del mismo sistema. */
.agraba-category-hero h1,
.agraba-mayoreo__hero h1,
.agraba-legal__hero h1 { font-size: var(--agraba-type-h1) !important; }
.agraba-product__summary h1,
.agraba-product .agraba-section > h2,
.agraba-product-faq > h2,
.agraba-faq-component__title { font-size: var(--agraba-type-h2) !important; }
.agraba-product .agraba-variations__title {
	font-size: var(--agraba-type-h3) !important;
	line-height: 1.3;
}
.agraba-product__price { font-size: 28px !important; line-height: 1.25; }
.agraba-product-card__title,
.agraba-cat-product__copy h3 { line-height: 1.35; }

@media (max-width: 767px) {
	main[class*="agraba-"] { line-height: 1.6; }
	main[class*="agraba-"] h1 { margin-bottom: 14px; }
	main[class*="agraba-"] h2 { margin-bottom: 13px; }
	main[class*="agraba-"] h3 { margin-bottom: 8px; }
	main[class*="agraba-"] .agraba-btn {
		min-height: 44px;
		padding: 10px 20px;
		font-size: 13px;
	}
	/* Se mantienen las densidades funcionales acordadas. */
	.agraba-shop .agraba-product-card__body { padding: 11px 10px 12px; }
	.agraba-shop .agraba-product-card__cta { min-height: 40px; padding: 9px 8px; font-size: 10px; }
	.agraba-product .agraba-section > h2,
	.agraba-product-faq > h2,
	.agraba-faq-component__title { font-size: var(--agraba-type-h1) !important; }
	.agraba-product .agraba-variations__title { font-size: var(--agraba-type-h3) !important; }
	.agraba-product__price { font-size: 23px !important; }
	.agraba-cat-products-grid .agraba-cat-product__copy h3 { font-size: var(--agraba-type-h3) !important; }
}
