/*
 * Casa Gabilondo — ajustes propios del tema WordPress.
 * Se apoya en las variables y componentes definidos en base.css
 * (--cream, --charcoal, --copper, --serif, --sans, --ease, etc.)
 */

/* ---------- Utilidades genéricas que WordPress necesita ---------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.alignwide { max-width: 1600px; }
.alignfull { max-width: 100%; }
img { height: auto; }

/* El menú móvil (nav-open, .main-nav expandido) ya está resuelto en base.css */
.cart-icon { position: relative; }
.cart-icon .cart-count {
	display: inline-block;
	min-width: 16px;
	padding: 0 4px;
	font-size: .65rem;
	line-height: 16px;
	text-align: center;
	border-radius: 999px;
	background: var(--copper);
	color: var(--white-warm);
	margin-left: 4px;
}

.cg-empty-note {
	grid-column: 1 / -1;
	padding: 40px;
	text-align: center;
	color: var(--text-muted);
	font-style: italic;
}

/* Puntos del carrusel de destacados (el contenedor ya viene de base.css) */
.carousel-dots button {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: rgba(251, 247, 240, .4);
	padding: 0;
	transition: background .3s var(--ease), transform .3s var(--ease);
}
.carousel-dots button.active {
	background: var(--copper-light);
	transform: scale(1.3);
}

/* ---------- Contenido genérico (páginas, entradas, búsqueda) ---------- */
.generic-content, .shop-page .container {
	position: relative;
	z-index: 1;
	padding: 140px 40px 100px;
	max-width: 1280px;
	margin: 0 auto;
	background: var(--white-warm);
	color: var(--text-dark);
}
.page-header { margin-bottom: 32px; }
.page-header h1, .page-body h1, .page-body h2 { font-family: var(--serif); }
.page-body { line-height: 1.7; }
.page-body p { margin-bottom: 1.2em; }
.single-thumb { margin-bottom: 32px; }
.single-thumb img { width: 100%; border-radius: 4px; }

.post-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 32px;
	margin-top: 32px;
}
.post-card-thumb img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.post-card-body { padding: 16px 4px; }
.post-card h2 { font-size: 1.1rem; margin-bottom: 6px; }
.post-meta { font-size: .75rem; color: var(--text-muted); margin-bottom: 8px; }
.pagination { margin-top: 40px; text-align: center; }
.pagination .page-numbers { display: inline-block; padding: 8px 14px; margin: 0 4px; border: 1px solid var(--charcoal); }
.pagination .page-numbers.current { background: var(--charcoal); color: var(--cream); }

/* ---------- Búsqueda ---------- */
.cg-search-form {
	display: flex;
	gap: 12px;
	max-width: 560px;
	margin: 24px auto 48px;
}
.cg-search-form input[type="search"] {
	flex: 1;
	padding: 14px 18px;
	border: 1px solid var(--charcoal);
	background: transparent;
	font-family: var(--sans);
}
.products-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 32px;
}
.product-card { display: block; }
.product-card-thumb { aspect-ratio: 1/1; overflow: hidden; background: var(--sand); margin-bottom: 12px; }
.product-card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.product-card:hover .product-card-thumb img { transform: scale(1.05); }
.product-card h3 { font-size: 1rem; }
.cg-404 { text-align: center; padding-top: 200px; }

@media (max-width: 860px) {
	.generic-content, .shop-page .container { padding: 120px 20px 80px; }
}
