/*
Theme Name: Tienda Alexis
Theme URI: https://initiumusacorp.com
Author: Initium USA Corp
Author URI: https://initiumusacorp.com
Description: Tema a medida para tienda virtual, construido desde cero sobre WooCommerce. Toda la logica del tema (enqueues, theme supports, hooks de WooCommerce, menus, widgets) vive en functions.php; los archivos de plantilla se mantienen al minimo indispensable.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: tienda-alexis
Tags: e-commerce, woocommerce, custom
*/

/* =========================================================
   Design tokens - Estilo corporativo Esland (Corporate Classic)
   Paleta tomada del logo de LAA Multiservice LLC: azul marino (primario)
   + verde hoja (acento secundario, uso puntual) sobre base neutra.
   Cambia estos valores para adaptar la paleta a la marca.
   ========================================================= */
:root {
	--color-bg: #ffffff;
	--color-bg-alt: #f5f6f8;
	--color-border: #e2e5ea;
	--color-text: #1f2430;
	--color-text-muted: #5b6472;
	--color-accent: #0a3b73;          /* azul marino del logo (primario) */
	--color-accent-hover: #072b55;
	--color-secondary: #5b9f3a;       /* verde del logo: rellenos/detalles (3.25:1 sobre blanco, no usar como texto) */
	--color-secondary-text: #3e7a24;  /* verde oscuro para texto sobre blanco (5.2:1) */
	--color-bg-brand: #f2f6fb;        /* fondo azulado muy claro */
	--color-success: #1e7d4f;
	--color-danger: #b3261e;

	--font-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

	--radius-sm: 4px;
	--radius-md: 8px;
	--container-width: 1200px;
	--space-1: 8px;
	--space-2: 16px;
	--space-3: 24px;
	--space-4: 40px;
}

/* Reset minimo */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; margin: 0; padding: 0; }
a { color: inherit; text-decoration: none; }

body {
	font-family: var(--font-base);
	color: var(--color-text);
	background: var(--color-bg);
	line-height: 1.55;
	font-size: 16px;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 var(--space-2);
	color: var(--color-text);
}

.container {
	width: 100%;
	max-width: var(--container-width);
	margin-inline: auto;
	padding-inline: var(--space-2);
}

/* Header / navegacion principal */
.site-header {
	border-bottom: 1px solid var(--color-border);
	background: var(--color-bg);
}
.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-2);
	padding-block: var(--space-2);
	flex-wrap: wrap;
}
.site-branding a { font-size: 1.25rem; font-weight: 700; color: var(--color-accent); }
.primary-menu { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.primary-menu a { color: var(--color-text); font-weight: 500; }
.primary-menu a:hover { color: var(--color-accent); }

/* Botones */
.button, button, input[type="submit"],
.wp-block-button__link, .woocommerce a.button, .woocommerce button.button {
	display: inline-block;
	background: var(--color-accent);
	color: #fff !important;
	border: none;
	border-radius: var(--radius-sm);
	padding: 10px 20px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .15s ease-in-out;
}
.button:hover, button:hover, input[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover {
	background: var(--color-accent-hover);
}

/* Footer */
.site-footer {
	background: var(--color-bg-alt);
	border-top: 1px solid var(--color-border);
	padding-block: var(--space-4);
	color: var(--color-text-muted);
	margin-top: var(--space-4);
}
.site-footer a:hover { color: var(--color-accent); }

/* =========================================================
   WooCommerce - ajustes base al estilo Corporate Classic
   ========================================================= */
.theme-wc-wrapper {
	max-width: var(--container-width);
	margin-inline: auto;
	padding-inline: var(--space-2);
	padding-block: var(--space-3);
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: var(--space-3);
}
.woocommerce ul.products li.product {
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: var(--space-2);
}
.woocommerce ul.products li.product img { border-radius: var(--radius-sm); }
.woocommerce span.price { color: var(--color-accent); font-weight: 700; }
.woocommerce ul.products li.product .price ins { color: var(--color-accent); }

.woocommerce nav.woocommerce-pagination ul { display: flex; gap: var(--space-1); }
.woocommerce nav.woocommerce-pagination ul li { border: 1px solid var(--color-border); border-radius: var(--radius-sm); }

.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-top-color: var(--color-accent) !important;
	border-radius: var(--radius-sm);
}

@media (max-width: 782px) {
	.site-header__inner { flex-direction: column; align-items: flex-start; }
	.woocommerce ul.products { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
}

/* =========================================================
   Portada (front page)
   ========================================================= */
.site-main--home { padding-bottom: 0; }

.home-hero {
	background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);
	color: #fff;
	padding-block: calc(var(--space-4) * 2);
}
.home-hero__inner > * { max-width: 760px; }
.home-hero__title { color: #fff; font-size: clamp(2rem, 5vw, 3.25rem); margin-bottom: var(--space-2); }
.home-hero__subtitle { font-size: 1.125rem; margin: 0 0 var(--space-3); color: rgba(255, 255, 255, .85); }
.home-hero .home-hero__cta { background: #fff; color: var(--color-accent) !important; }
.home-hero .home-hero__cta:hover { background: var(--color-bg-alt); }

.home-benefits { border-bottom: 1px solid var(--color-border); background: var(--color-bg); }
.home-benefits__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--space-3);
	padding-block: var(--space-3);
}
.home-benefits__item { display: flex; gap: var(--space-2); align-items: flex-start; color: var(--color-accent); }
.home-benefits__item strong { display: block; color: var(--color-text); }
.home-benefits__item span { color: var(--color-text-muted); font-size: .9rem; }

.home-section { padding-block: var(--space-4); }
.home-section__title { font-size: 1.5rem; margin-bottom: var(--space-3); }

.home-categories__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: var(--space-3);
}
.cat-card {
	display: block;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--color-bg);
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.cat-card:hover { border-color: var(--color-accent); box-shadow: 0 2px 10px rgba(10, 59, 115, .14); }
.cat-card__media { display: block; position: relative; height: 160px; background: var(--color-bg-alt); overflow: hidden; }
.cat-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.cat-card__name { display: block; padding: var(--space-2); font-weight: 600; text-align: center; }

.home-cta { background: var(--color-bg-alt); border-top: 1px solid var(--color-border); padding-block: var(--space-4); }
.home-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }
.home-cta__inner h2 { margin: 0; }

@media (max-width: 782px) {
	.home-hero { padding-block: var(--space-4); }
	.home-categories__grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-2); }
	.cat-card__media { height: 120px; }
}

/* Detalles de marca (verde del logo) */
.home-section__title { position: relative; padding-bottom: var(--space-1); }
.home-section__title::after { content: ""; display: block; width: 48px; height: 3px; margin-top: var(--space-1); background: var(--color-secondary); border-radius: 2px; }
.home-benefits__item .icon { color: var(--color-secondary-text); flex: none; }
.home-hero { border-bottom: 4px solid var(--color-secondary); }
.woocommerce span.onsale { background: var(--color-secondary-text); color: #fff; }

/* Logo (PNG con fondo transparente) */
.site-logo-link { display: block; line-height: 0; }
.site-logo-img--compact { height: 84px; width: auto; }
.site-logo-img--full { height: 150px; width: auto; }
.site-footer__brand { margin-bottom: var(--space-3); }
@media (max-width: 782px) { .site-logo-img--compact { height: 60px; } }
