/* Casa Viva · Marca — se carga después del tema y reasigna sus variables. */
@font-face { font-family: "Figtree"; font-weight: 300 900; font-display: swap; src: url("fonts/Figtree.woff2") format("woff2"); }
@font-face { font-family: "Cinzel"; font-weight: 600; font-display: swap; src: url("fonts/Cinzel-600.woff2") format("woff2"); }


:root {
	/* Marca */
	--cvm-crema: #F6F1E6;
	--cvm-crema-2: #EDE4D3;
	--cvm-marron: #2B2420;
	--cvm-marron-suave: #5E544D;
	--cvm-petroleo: #0D3B45;
	--cvm-ambar: #A35A1F;
	--cvm-ambar-hover: #8A4B19;
	--cvm-borde: #E0D5C1;
	--cvm-titulos: "Cinzel", Georgia, serif;
	--cvm-texto: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
	--cvm-sombra: 0 2px 10px rgba(43, 36, 32, .08);

	/* Variables del tema casa-viva-storefront */
	--cv-petroleo: var(--cvm-petroleo);
	--cv-verde: var(--cvm-petroleo);
	--cv-beige: var(--cvm-crema-2);
	--cv-arena: var(--cvm-crema-2);
	--cv-blanco-roto: var(--cvm-crema);
	--cv-tinta: var(--cvm-marron);
	--cv-gris: var(--cvm-marron-suave);
	--cv-borde: var(--cvm-borde);
	--cv-exito: #2F6B3A;

	/* Variables del plugin casa-viva-dropship-core */
	--cv-surface: #FFFDF8;
	--cv-ink: var(--cvm-marron);
	--cv-muted: var(--cvm-marron-suave);
	--cv-border: var(--cvm-borde);
	--cv-accent: var(--cvm-petroleo);
	--cvd-green: var(--cvm-petroleo);
	--cvd-green-dark: #0A2F37;
	--cvd-ink: var(--cvm-marron);
	--cvd-line: var(--cvm-borde);
	--cvd-muted: var(--cvm-marron-suave);
	--cvd-sale: var(--cvm-ambar);
	--cvd-sand: var(--cvm-crema);
}

/* Base */
html body {
	background: var(--cvm-crema);
	color: var(--cvm-marron);
	font-family: var(--cvm-texto);
}
body button, body input, body select, body textarea,
body .cv-header, body .cv-nav, body .woocommerce, body .price { font-family: var(--cvm-texto); }

/* Títulos cortos en Cinzel; títulos largos (producto, portada) en Figtree. */
body h2, body .cv-section-title, body .woocommerce-products-header__title, body .page-title, body .cvm-contacto h1 {
	font-family: var(--cvm-titulos);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--cvm-marron);
}
body h1, body .product_title, body .woocommerce-loop-product__title, body h3 {
	font-family: var(--cvm-texto);
	font-weight: 600;
	letter-spacing: 0;
	color: var(--cvm-marron);
}
body .woocommerce-loop-product__title { font-weight: 500; }

/* Logo oficial (SVG del ZIP) en lugar del texto del tema. */
.cv-brand { display: inline-flex; align-items: center; min-height: 44px; }
.cv-brand .cv-logo { display: none !important; }
.cv-brand::before {
	content: "";
	display: block;
	width: 168px;
	height: 34px;
	background: url("logo.svg") left center / contain no-repeat;
}
@media (min-width: 900px) { .cv-brand::before { width: 200px; height: 41px; } }
.cv-header { background: var(--cvm-crema); border-bottom: 1px solid var(--cvm-borde); }

/* Botones */
body .button, body button.button, body a.button, body .single_add_to_cart_button,
body .wc-block-components-button, body #place_order, body .checkout-button,
html body.woocommerce div.product form.cart .single_add_to_cart_button.button.alt, html body .cvd-buybar .cvd-buybar__button {
	background: var(--cvm-ambar) !important;
	color: var(--cvm-crema) !important;
	border: 0 !important;
	border-radius: 999px;
	font-family: var(--cvm-texto);
	font-weight: 600;
	min-height: 44px;
}
html body.woocommerce div.product form.cart .single_add_to_cart_button.button.alt:hover, html body .cvd-buybar .cvd-buybar__button:hover,
body .button:hover, body .single_add_to_cart_button:hover, body #place_order:hover, body .checkout-button:hover {
	background: var(--cvm-ambar-hover) !important;
}
body .button:disabled, body .button.disabled { opacity: .45; cursor: not-allowed; }
body a:focus-visible, body button:focus-visible, body input:focus-visible, body select:focus-visible, body .button:focus-visible {
	outline: 3px solid var(--cvm-ambar);
	outline-offset: 2px;
}

/* Precios en ámbar; el precio anterior tachado en marrón suave. */
body .price, body .woocommerce-Price-amount, body .amount { color: var(--cvm-ambar); font-weight: 600; }
body .price del, body .price del .amount { color: var(--cvm-marron-suave); font-weight: 400; }
body .price ins { text-decoration: none; }
body .single-product .summary .price { font-size: 1.25rem; }
body .onsale {
	background: var(--cvm-petroleo) !important;
	color: var(--cvm-crema) !important;
	font-family: var(--cvm-texto);
	font-weight: 600;
	border-radius: 999px;
}
body .stock.in-stock { color: #2F6B3A; }
body .stock.out-of-stock { color: var(--cvm-marron-suave); }

/* Tarjetas de producto */
body ul.products li.product, body .cv-product-card {
	background: #FFFDF8;
	border-radius: 16px;
	box-shadow: var(--cvm-sombra);
}

/* Avisos */
body .woocommerce-message, body .woocommerce-info {
	background: #FFFDF8;
	border-top-color: var(--cvm-petroleo);
	color: var(--cvm-marron);
}
body .woocommerce-error { border-top-color: #A83D32; }

/* Formularios */
body input[type="text"], body input[type="email"], body input[type="tel"], body input[type="search"],
body input[type="number"], body select, body textarea {
	background: #FFFDF8;
	border: 1px solid var(--cvm-borde);
	border-radius: 12px;
	color: var(--cvm-marron);
	min-height: 44px;
	font-size: 16px; /* evita el zoom automático del iPhone */
}

/* Pie de página en petróleo */
body > footer, body .cv-footer, body .site-footer { background: var(--cvm-petroleo); color: var(--cvm-crema); }
body > footer a, body .cv-footer a, body .site-footer a { color: var(--cvm-crema); }

/* Botón "Pedir por WhatsApp" de la ficha */
.cvm-wa-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 48px;
	margin: 12px 0;
	padding: 12px 20px;
	border: 2px solid var(--cvm-petroleo);
	border-radius: 999px;
	background: var(--cvm-petroleo);
	color: var(--cvm-crema) !important;
	font-family: var(--cvm-texto);
	font-weight: 600;
	font-size: 1rem;
	text-decoration: none !important;
}
.cvm-wa-btn:hover { background: #0A2F37; }

/* Menos flotantes en el móvil: fuera el globo de Curru; WhatsApp y asistente por encima del menú inferior. */
.cvd-curru-nudge { display: none !important; }
@media (max-width: 899px) {
	body.single-product .cv-whatsapp { display: none !important; } /* la ficha ya tiene su botón */
}

/* Botón flotante de WhatsApp: círculo con el icono, sin texto que se salga. */
html body a.cv-whatsapp {
	width: 52px !important;
	height: 52px !important;
	min-height: 52px;
	padding: 0 !important;
	border-radius: 50% !important;
	justify-content: center;
	background: #25D366 !important;
	border: 3px solid #FFFDF8;
	box-shadow: 0 6px 18px rgba(43, 36, 32, .25);
	font-size: 0 !important;
	overflow: hidden;
}
html body a.cv-whatsapp span { display: none !important; }
html body a.cv-whatsapp svg { display: block !important; width: 26px; height: 26px; fill: #fff; }

/* Portada tipo tienda: compacta en móvil, botón principal en ámbar, degradado petróleo. */
.cvd-hero { min-height: min(52vh, 420px); }
.cvd-hero::after { background: linear-gradient(180deg, rgba(13, 59, 69, 0) 25%, rgba(13, 59, 69, .55) 55%, rgba(13, 59, 69, .9) 100%) !important; }
.cvd-hero__title {
	font-family: var(--cvm-titulos) !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: .06em !important;
	font-size: clamp(26px, 7.4vw, 50px) !important;
	color: var(--cvm-crema) !important;
}
.cvd-hero__text { font-family: var(--cvm-texto); font-size: 16px; color: var(--cvm-crema); }
html body .cvd-hero__cta { background: var(--cvm-ambar) !important; color: var(--cvm-crema) !important; font-family: var(--cvm-texto); font-weight: 600; }
html body .cvd-hero__cta:hover { background: var(--cvm-ambar-hover) !important; }
html body .cvd-hero__cta--ghost { background: transparent !important; border: 1.5px solid var(--cvm-crema); }
.cvd-hero__trust { color: var(--cvm-crema); }

/* Portada más corta: los productos aparecen antes, como en las grandes tiendas. */
.cvd-hero { min-height: 300px !important; }
.cvd-hero__title { font-size: clamp(24px, 6.6vw, 40px) !important; }
@media (min-width: 821px) { .cvd-hero { min-height: 400px !important; } .cvd-hero__body { max-width: 640px; } }

/* Accesos de categoría con foto real (portada). */
.cv-quick-category-grid a.cvm-cat-foto span {
	width: 72px !important;
	height: 72px !important;
	padding: 0;
	overflow: hidden;
	border: 2px solid #FFFDF8;
	box-shadow: var(--cvm-sombra);
}
.cv-quick-category-grid a.cvm-cat-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cv-quick-category-grid a.cvm-cat-foto strong { font-family: var(--cvm-texto); font-weight: 500; color: var(--cvm-marron); }
@media (max-width: 700px) { .cv-quick-category-grid a.cvm-cat-foto { flex-basis: 84px; } .cv-quick-category-grid a.cvm-cat-foto span { width: 64px !important; height: 64px !important; } }

/* Tienda y categorías: productos arriba, sin título gigante. */
body.woocommerce-shop .page-title, body.tax-product_cat .page-title {
	font-size: 22px !important;
	margin: 12px 0 10px !important;
	letter-spacing: .08em;
}
body.woocommerce-shop .cvd-store-search, body.tax-product_cat .cvd-store-search { margin-bottom: 10px !important; }
body .cv-catalog-filters { margin: 0 0 8px !important; padding: 10px 14px !important; }
body .cv-catalog-filters summary { font-size: 15px; }
@media (max-width: 700px) {
	body.woocommerce-shop .woocommerce-result-count, body.tax-product_cat .woocommerce-result-count { font-size: 13px; margin: 4px 0 !important; }
	body .woocommerce-ordering select { min-height: 40px; font-size: 14px; }
}

/* Ficha: "Comprar ahora" (ámbar, principal) y "Añadir al carrito" (secundario). */
html body.woocommerce div.product form.cart .cvm-buy-now.button.alt {
	width: 100%;
	min-height: 52px;
	margin-top: 10px;
	background: var(--cvm-ambar) !important;
	color: var(--cvm-crema) !important;
	font-size: 17px;
}
html body.woocommerce div.product form.cart .single_add_to_cart_button.button.alt:not(.cvm-buy-now) {
	background: #FFFDF8 !important;
	color: var(--cvm-marron) !important;
	border: 2px solid var(--cvm-marron) !important;
}

/* Menú inferior con la marca */
body .cvd-customer-nav { background: #FFFDF8; border-top: 1px solid var(--cvm-borde); }

/* Página de contacto */
.cvm-contacto { max-width: 640px; margin: 0 auto; padding: 40px 16px 64px; }
.cvm-contacto__intro { font-size: 1.125rem; }
.cvm-contacto__datos { display: grid; grid-template-columns: max-content 1fr; gap: 12px 20px; margin-top: 28px; }
.cvm-contacto__datos dt { font-weight: 600; }
.cvm-contacto__datos dd { margin: 0; }
.cvm-contacto__datos a { color: var(--cvm-petroleo); }

@media (prefers-reduced-motion: reduce) {
	* { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ===== v1.3 · Portada viva, todo centrado, compra directa ===== */

/* Portada: foto translúcida que se desplaza despacio; buscador y categorías suben sobre ella. */
.cvd-hero { background: var(--cvm-petroleo) !important; }
.cvd-hero__img { opacity: .78; animation: cvm-pan 26s ease-in-out infinite alternate; transform-origin: 50% 40%; will-change: transform; }
@keyframes cvm-pan {
	from { transform: scale(1.06) translate3d(-2%, 0, 0); }
	to   { transform: scale(1.14) translate3d(2%, -2%, 0); }
}
.cvd-hero__body { justify-items: center; text-align: center; margin: 0 auto; padding-bottom: 58px !important; }
.cvd-hero__actions { justify-content: center; width: 100%; }
.cv-market-discovery { position: relative; z-index: 2; margin-top: -46px; background: transparent !important; border-bottom: 0 !important; padding-top: 0 !important; }
.cv-market-discovery .cv-market-search { box-shadow: 0 10px 28px rgba(43, 36, 32, .16); border-radius: 18px; }
.cv-quick-category-grid { justify-content: safe center; }
@media (prefers-reduced-motion: reduce) { .cvd-hero__img { animation: none; } }

/* Logo centrado en todas las pantallas; el menú queda a la derecha. */
.cv-header__inner { position: relative; justify-content: center !important; }
.cv-header .cv-brand { margin: 0 auto; }
.cv-header .cv-nav, .cv-header .cv-mobile-nav, .cv-header .cv-menu-toggle, .cv-header [class*="toggle"] { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); }
@media (min-width: 900px) { .cv-header .cv-nav { right: 24px; } }

/* Textos y precios centrados. */
body .cv-market-heading { flex-direction: column; align-items: center !important; text-align: center; gap: 6px !important; }
body h1, body h2, body .page-title, body .woocommerce-products-header { text-align: center; }
body ul.products li.product, body .cv-market-product { text-align: center; }
body ul.products li.product .price, body .cv-market-product__price { justify-content: center; display: block; text-align: center; }
body .cv-market-product__bottom { justify-content: center; text-align: center; }
body.single-product div.product .summary { text-align: center; }
body.single-product div.product .summary .price, body.single-product .stock { text-align: center; }
body.single-product form.cart .quantity, body.single-product form.cart [class*="quantity"] { margin-left: auto; margin-right: auto; justify-content: center; }
body.single-product div.product form.cart { display: flex; flex-direction: column; align-items: center; }
body.single-product div.product form.cart .button { width: 100%; }
body .cvd-buybar { text-align: center; }
body .woocommerce-result-count { text-align: center; float: none !important; }
body .woocommerce-ordering { float: none !important; display: flex; justify-content: center; }
body .cv-market-benefits a, body .cv-market-benefits .cv-container > div { text-align: center; justify-items: center; }
body footer, body .cv-footer { text-align: center; }

/* Comprar desde fuera de Cuba. */
.cvm-fuera { margin: 22px auto; max-width: 720px; padding: 22px 18px; border-radius: 20px; background: var(--cvm-petroleo); color: var(--cvm-crema); text-align: center; }
.cvm-fuera__eyebrow { margin: 0 0 4px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #E8C9A6; font-weight: 600; }
html body .cvm-fuera__title { margin: 0 0 14px; color: var(--cvm-crema) !important; font-size: 20px; }
.cvm-fuera__pasos { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 10px; }
.cvm-fuera__pasos li { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.cvm-fuera__pasos b { width: 30px; height: 30px; border-radius: 50%; background: var(--cvm-ambar); color: var(--cvm-crema); display: grid; place-items: center; font-weight: 600; }
.cvm-fuera__pasos strong { display: block; font-weight: 600; }
.cvm-fuera__pasos span { font-size: 14px; line-height: 1.4; }
.cvm-fuera__link { display: inline-flex; min-height: 44px; align-items: center; padding: 0 22px; border-radius: 999px; border: 1.5px solid var(--cvm-crema); color: var(--cvm-crema) !important; text-decoration: none !important; font-weight: 600; }
@media (min-width: 700px) { .cvm-fuera__pasos { grid-template-columns: repeat(3, 1fr); } }
.single-product .cvm-fuera { margin-top: 16px; width: 100%; }

/* Completa tu compra. */
.cvm-completa { clear: both; padding: 24px 0 8px; }
.cvm-completa ul.products { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 0; padding: 0; }
.cvm-completa ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 8px; }
@media (min-width: 900px) { .cvm-completa ul.products { grid-template-columns: repeat(4, 1fr); } }

/* Carrito lateral. */
.cvm-drawer { position: fixed; inset: 0; z-index: 9999; pointer-events: none; }
.cvm-drawer__bg { position: absolute; inset: 0; background: rgba(43, 36, 32, .45); opacity: 0; transition: opacity .2s; }
.cvm-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(380px, 92vw); background: var(--cvm-crema); display: flex; flex-direction: column; transform: translateX(100%); transition: transform .25s ease; box-shadow: -10px 0 30px rgba(43, 36, 32, .2); }
.cvm-drawer.is-open { pointer-events: auto; }
.cvm-drawer.is-open .cvm-drawer__bg { opacity: 1; }
.cvm-drawer.is-open .cvm-drawer__panel { transform: none; }
.cvm-drawer header { display: flex; align-items: center; justify-content: center; position: relative; padding: 18px 48px; border-bottom: 1px solid var(--cvm-borde); font-size: 17px; }
.cvm-drawer__close { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 0; background: none; font-size: 28px; color: var(--cvm-marron); cursor: pointer; }
.cvm-drawer__items { flex: 1; overflow: auto; padding: 12px 16px; }
.cvm-drawer__item { display: flex; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--cvm-borde); text-align: left; }
.cvm-drawer__item img { border-radius: 10px; object-fit: cover; }
.cvm-drawer__item small { display: block; color: var(--cvm-ambar); font-weight: 600; margin-top: 2px; }
.cvm-drawer footer { padding: 16px; display: grid; gap: 10px; text-align: center; border-top: 1px solid var(--cvm-borde); padding-bottom: calc(16px + env(safe-area-inset-bottom)); background: var(--cvm-crema); color: var(--cvm-marron); }
.cvm-drawer__total { margin: 0; font-size: 18px; }
.cvm-drawer__total b { color: var(--cvm-ambar); }
.cvm-drawer__pay, .cvm-drawer__cart, .cvm-drawer__seguir { display: flex; align-items: center; justify-content: center; min-height: 50px; border-radius: 999px; font-weight: 600; font-size: 16px; text-decoration: none !important; font-family: var(--cvm-texto); cursor: pointer; }
.cvm-drawer__pay { background: var(--cvm-ambar); color: var(--cvm-crema) !important; }
.cvm-drawer__cart { border: 2px solid var(--cvm-marron); color: var(--cvm-marron) !important; }
.cvm-drawer__seguir { border: 0; background: none; color: var(--cvm-marron-suave); min-height: 44px; }
