/*
Theme Name: Natural Premium AP Web
Theme URI: https://angelperezweb.com/natural-premium-ap-web
Author: José Ángel Pérez
Author URI: https://angelperezweb.com
Description: Tema de WordPress optimizado para Elementor y WooCommerce. Base del proyecto Natural Premium para la venta de productos naturales.
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: natural-premium-ap-web
Tags: elementor, woocommerce, e-commerce, custom-logo, custom-menu, translation-ready, block-styles, wide-blocks
*/

:root {
	--npapw-color-primary: #2f6b3a;
	--npapw-color-primary-hover: #1f4a28;
	--npapw-color-secondary: #c8a24a;
	--npapw-color-secondary-hover: #a9852f;
	--npapw-color-text: #2b2b2b;
	--npapw-color-heading: #1f4a28;
	--npapw-color-highlight: #2f6b3a;
	--npapw-color-muted: #6b6b6b;
	--npapw-color-bg: #ffffff;
	--npapw-color-bg-alt: #f5f1e8;
	--npapw-radius: 12px;
	--npapw-container: 1200px;
	--npapw-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--npapw-font-heading: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	color: var(--npapw-color-text);
	background-color: #fafafa;
	font-family: var(--npapw-font-body);
	font-size: 16px;
	line-height: 1.65;
}

img {
	max-width: 100%;
	height: auto;
}

.entry-title,
h1.entry-title,
.elementor-page-title,
.page-title,
.woocommerce-products-header__title {
	display: none !important;
}

a {
	color: var(--npapw-color-highlight);
	text-decoration: none;
}

a:hover,
a:focus {
	color: var(--npapw-color-primary-hover);
	text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--npapw-color-heading);
	font-family: var(--npapw-font-heading);
	line-height: 1.2;
	margin: 0 0 0.6em;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link:focus {
	background-color: #fff;
	border-radius: 3px;
	clip: auto !important;
	color: var(--npapw-color-primary);
	display: block;
	height: auto;
	left: 8px;
	padding: 12px 20px;
	top: 8px;
	width: auto;
	z-index: 100000;
}

.npapw-container {
	max-width: var(--npapw-container);
	margin-inline: auto;
	padding-inline: 20px;
}

.site-content {
	padding-block: 40px;
}

.site-main.npapw-container {
	width: auto;
	max-width: none;
	padding-inline: 0;
}

.single .entry-title {
	display: block !important;
}

.entry--single .entry-content {
	max-width: 1240px;
	margin-inline: auto;
}

.npapw-single-layout {
	display: grid;
	grid-template-columns: 4fr 1fr;
	gap: 40px;
	align-items: start;
	margin: 28px auto 0;
	max-width: 1240px;
	padding-inline: 25px;
	box-sizing: border-box;
}

.npapw-single-layout__main .entry-header {
	margin-bottom: 18px;
}

.npapw-single-layout__main .entry-thumbnail img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}

.npapw-recent-products__title {
	margin: 0 0 18px;
	font-size: 18px;
	font-weight: 700;
	color: var( --npapw-color-heading );
}

.npapw-recent-products {
	margin: 0;
	padding: 0;
	list-style: none;
}

.npapw-recent-product {
	border-bottom: 1px solid rgba( 0, 0, 0, 0.08 );
}

.npapw-recent-product:last-child {
	border-bottom: 0;
}

.npapw-recent-product__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	color: var( --npapw-color-text );
	text-decoration: none;
}

.npapw-recent-product__thumb {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	background-color: #ffffff;
	border: 1px solid rgba( 0, 0, 0, 0.08 );
	border-radius: 8px;
	overflow: hidden;
}

.npapw-recent-product__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.npapw-recent-product__info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.npapw-recent-product__name {
	font-size: 14px;
	font-weight: 700;
	color: var( --npapw-color-heading );
}

.npapw-recent-product__desc {
	font-size: 13px;
	line-height: 1.4;
	color: var( --npapw-color-muted );
}

.npapw-recent-product--empty {
	padding: 12px 0;
	color: var( --npapw-color-muted );
}

@media ( max-width: 900px ) {
	.npapw-single-layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.npapw-single-layout__side {
		display: none;
	}
}
