/* ================================================================
   GUÍA DE ESTILOS — Comunidad Kundalini (diseño "Sacred Ground")
   Se carga en todo el sitio después de style.css.
   Tipografías: Playfair Display (títulos) + Plus Jakarta Sans (texto).
   Botones: radio de 6px (decisión de marca, en vez de las píldoras del diseño).
   ================================================================ */

:root {
	/* Colores */
	--ck-primary: #13773e;          /* verde esmeralda */
	--ck-primary-dark: #0b5129;
	--ck-primary-tint: #eef6f0;     /* sage */
	--ck-primary-fixed: #9af7b0;
	--ck-terracotta: #cf5c2d;       /* acción principal */
	--ck-terracotta-hover: #b84f24;
	--ck-terracotta-active: #a14520;
	--ck-terracotta-glow: #fdf2ec;
	--ck-blue: #1371b2;             /* azul del logo */
	--ck-blue-dark: #0e5a8f;
	--ck-navy: #1e293b;             /* títulos */
	--ck-text: #1b1c1c;
	--ck-text-muted: #3f4940;
	--ck-outline: #6f7a6f;
	--ck-outline-soft: rgba(190, 202, 189, .3);
	--ck-surface: #fcf9f8;          /* fondo del sitio */
	--ck-sand: #f4f2ec;
	--ck-white: #ffffff;

	/* Tipografía */
	--ck-font-display: "Playfair Display", Georgia, "Times New Roman", serif;
	--ck-font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Forma */
	--ck-radius-btn: 6px;
	--ck-radius: 8px;
	--ck-radius-lg: 12px;
	--ck-radius-xl: 16px;
	--ck-shadow-float: 0 8px 30px rgba(26, 46, 76, .06);
	--ck-ease: cubic-bezier(.2, .8, .2, 1);

	/* Bootstrap usa estas variables */
	--bs-body-font-family: var(--ck-font-body);
	--bs-font-sans-serif: var(--ck-font-body);
	--bs-body-color: var(--ck-text);
	--bs-body-bg: var(--ck-surface);
	--bs-link-color: var(--ck-primary);
	--bs-link-hover-color: var(--ck-primary-dark);
}

/* ---------- Tipografía base ---------- */
html { -webkit-text-size-adjust: 100%; }
body {
	font-family: var(--ck-font-body);
	font-size: 1rem;
	line-height: 1.625;
	color: var(--ck-text);
	background-color: var(--ck-surface);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--ck-font-display);
	font-weight: 600;
	color: var(--ck-navy);
	letter-spacing: -.01em;
	line-height: 1.2;
}
h1, .h1 { font-size: clamp(2rem, 3.6vw, 2.5rem); letter-spacing: -.015em; }
h2, .h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); }
h3, .h3 { font-size: clamp(1.3rem, 2vw, 1.5rem); font-weight: 500; }
h4, .h4 { font-size: 1.25rem; font-weight: 500; }
h5, .h5 { font-size: 1.125rem; font-weight: 500; }
h6, .h6 { font-size: 1rem; font-weight: 600; }
.lead { font-size: 1.125rem; line-height: 1.75; font-weight: 400; color: var(--ck-text-muted); }
small, .small { font-size: .875rem; }
blockquote, blockquote p {
	font-family: var(--ck-font-display);
	font-style: italic;
}
::selection { background: rgba(19, 119, 62, .18); }

/* Cualquier tipografía heredada (Noto Sans, Arial, etc.) pasa a la de la guía.
   Font Awesome y Material Symbols conservan su propia fuente de íconos. */
input, select, textarea, button, .btn, .button, label, table, th, td,
#breadcrumbs, #breadcrumbs a, .breadcrumb_last {
	font-family: inherit;
}

/* ---------- Enlaces ---------- */
a { color: var(--ck-primary); text-underline-offset: 3px; }
a:hover, a:focus { color: var(--ck-primary-dark); }

/* Contenido de páginas y artículos */
.page_content, .entry-content, .single_content, article.post {
	font-size: 1.0625rem;
	line-height: 1.75;
}
.page_content p a, .entry-content p a, article.post p a, .page_content li a, .entry-content li a {
	text-decoration: underline;
	text-decoration-color: rgba(19, 119, 62, .35);
}
.page_content p a:hover, .entry-content p a:hover, article.post p a:hover { text-decoration-color: currentColor; }

/* ---------- Íconos del diseño ---------- */
.material-symbols-outlined {
	font-family: "Material Symbols Outlined";
	font-weight: normal;
	font-style: normal;
	font-size: 20px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	direction: ltr;
	-webkit-font-smoothing: antialiased;
	font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
	vertical-align: middle;
	user-select: none;
}
.ck-fill { font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24; }

/* ---------- Botones (radio 6px) ---------- */
.btn, .button, button[type="submit"], input[type="submit"], input[type="button"],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .wp-block-button__link, .wp-element-button {
	border-radius: var(--ck-radius-btn);
	font-family: var(--ck-font-body);
	font-weight: 600;
	letter-spacing: .02em;
}
.btn-primary,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #place_order, .woocommerce .single_add_to_cart_button {
	background-color: var(--ck-terracotta);
	border-color: var(--ck-terracotta);
	color: #fff;
}
.btn-primary:hover, .btn-primary:focus,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,
.woocommerce #place_order:hover, .woocommerce .single_add_to_cart_button:hover {
	background-color: var(--ck-terracotta-hover);
	border-color: var(--ck-terracotta-hover);
	color: #fff;
}
.btn-primary:active, .btn-primary.active,
.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary,
.btn-check:focus + .btn-primary {
	background-color: var(--ck-terracotta-active);
	border-color: var(--ck-terracotta-active);
	color: #fff;
}
.btn-primary:focus-visible { box-shadow: 0 0 0 .25rem rgba(207, 92, 45, .3); }
.btn-success, .bg-success { background-color: var(--ck-primary) !important; border-color: var(--ck-primary); }
.btn-success:hover { background-color: var(--ck-primary-dark) !important; }
.text-success { color: var(--ck-primary) !important; }

/* ---------- Formularios ---------- */
.form-control, .form-select,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
	border: 1px solid #e8e5df;
	border-radius: var(--ck-radius);
	background-color: #fff;
	font-family: var(--ck-font-body);
}
.form-control:focus, .form-select:focus,
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus {
	border-color: var(--ck-primary);
	box-shadow: 0 0 0 3px rgba(19, 119, 62, .15);
	outline: 0;
}

/* ================================================================
   TIENDA: tarjetas de producto con el estilo de "Cursos" del diseño
   ================================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1.5rem;
	margin: 0 0 2rem;
	padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none;
	width: auto !important;
	margin: 0 !important;
	padding: 0 0 1.25rem;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--ck-outline-soft);
	border-radius: var(--ck-radius-xl);
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
	transition: box-shadow .3s var(--ck-ease);
	text-align: left;
}
.woocommerce ul.products li.product:hover { box-shadow: 0 12px 30px -12px rgba(26, 46, 76, .18); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1;
	color: inherit;
	text-decoration: none;
}
.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	margin: 0 0 1.25rem;
	background: var(--ck-sand);
	transition: transform .5s var(--ck-ease);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.03); }
.woocommerce ul.products li.product .cky-loop-cat {
	display: block;
	padding: 0 1.5rem;
	margin-bottom: .25rem;
	font-size: .75rem;
	line-height: 1rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ck-primary);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 1.5rem;
	margin: 0 0 .5rem;
	font-family: var(--ck-font-display);
	font-size: 1.375rem;
	line-height: 1.875rem;
	font-weight: 500;
	color: var(--ck-navy);
	transition: color .2s;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title { color: var(--ck-primary); }
.woocommerce ul.products li.product .price {
	display: block;
	margin-top: auto;
	padding: 0 1.5rem;
	font-family: var(--ck-font-display);
	font-size: 1.375rem;
	font-weight: 700;
	color: var(--ck-navy);
}
.woocommerce ul.products li.product .price del { opacity: .5; font-weight: 400; font-size: 1rem; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button {
	align-self: flex-start;
	margin: 1rem 1.5rem 0;
	padding: .625rem 1.5rem;
	background: var(--ck-sand);
	color: var(--ck-primary);
	border: 0;
	font-size: .875rem;
	transition: background-color .2s;
}
.woocommerce ul.products li.product .button:hover { background: var(--ck-primary-tint); color: var(--ck-primary); }
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	top: .75rem;
	left: .75rem;
	right: auto;
	margin: 0;
	min-width: 0;
	min-height: 0;
	padding: .25rem .75rem;
	line-height: 1rem;
	border-radius: 999px;
	background: var(--ck-terracotta);
	font-size: .75rem;
	font-weight: 600;
}
.woocommerce ul.products li.product .star-rating { margin: 0 1.5rem .5rem; }
.woocommerce .woocommerce-ordering select, .woocommerce .woocommerce-result-count { font-size: .875rem; color: var(--ck-text-muted); }

/* Ficha de producto */
.woocommerce div.product .product_title { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price {
	font-family: var(--ck-font-display);
	font-weight: 700;
	color: var(--ck-navy);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: var(--ck-radius) var(--ck-radius) 0 0; }

/* ================================================================
   FOOTER (colores de code.html: fondo arena, títulos azul marino)
   ================================================================ */
.cky-help-band {
	background: var(--ck-primary);
	color: #fff;
	text-align: center;
	padding: .75rem 1.25rem;
	font-size: .75rem;
	line-height: 1rem;
	font-weight: 600;
	letter-spacing: .06em;
}
.cky-help-band a { color: #fff; text-decoration: underline; font-weight: 700; margin-left: .25rem; }
.cky-help-band a:hover { color: var(--ck-primary-fixed); }

.cky-footer {
	background: var(--ck-sand);
	color: var(--ck-text-muted);
	padding: 4rem 0 2.5rem;
	font-size: .875rem;
	line-height: 1.375rem;
}
.cky-footer__wrap { max-width: 1280px; margin: 0 auto; padding: 0 2rem; }
.cky-footer__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 2.5rem;
	margin-bottom: 4rem;
}
.cky-footer__brand { display: flex; flex-direction: column; gap: 1rem; }
.cky-footer__logo img { height: 40px; width: auto; }
.cky-footer__brand p { margin: 0; color: var(--ck-text-muted); }
.cky-footer__social { display: flex; gap: .5rem; padding-top: .25rem; }
.cky-footer__social a {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: var(--ck-radius-btn);
	color: var(--ck-primary);
	font-size: 18px;
	transition: color .2s, background-color .2s;
}
.cky-footer__social a:hover { color: var(--ck-terracotta); background: rgba(207, 92, 45, .08); }
.cky-footer__col { display: flex; flex-direction: column; gap: .5rem; }
.cky-footer__title {
	font-family: var(--ck-font-display);
	font-size: 1.375rem;
	line-height: 1.875rem;
	font-weight: 500;
	color: var(--ck-navy);
	margin: 0 0 .25rem;
}
.cky-footer__col a { color: var(--ck-text-muted); text-decoration: none; transition: color .2s; }
.cky-footer__col a:hover { color: var(--ck-primary); }
.cky-footer__col p { margin: 0; }
.cky-footer__news { display: flex; flex-direction: column; gap: .25rem; margin-top: .25rem; }
.cky-footer__news input[type="email"] {
	width: 100%;
	padding: .5rem 1rem;
	border: 1px solid var(--ck-outline-soft);
	border-radius: var(--ck-radius);
	background: #fff;
	color: var(--ck-navy);
	font-size: .875rem;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.cky-footer__news input[type="email"]::placeholder { color: var(--ck-outline); }
.cky-footer__news input[type="email"]:focus { outline: 0; box-shadow: 0 0 0 1px var(--ck-primary); }
.cky-footer__news button {
	width: 100%;
	margin-top: .25rem;
	padding: .5rem 1rem;
	border: 0;
	border-radius: var(--ck-radius-btn);
	background: var(--ck-terracotta);
	color: #fff;
	font-size: .875rem;
	box-shadow: 0 4px 20px -2px rgba(207, 92, 45, .3);
	cursor: pointer;
	transition: background-color .2s, transform .2s;
}
.cky-footer__news button:hover { background: var(--ck-terracotta-hover); transform: scale(1.01); }
.cky-footer__msg { font-size: .8125rem; padding: .5rem .75rem; border-radius: var(--ck-radius); background: var(--ck-primary-tint); color: var(--ck-primary); }
.cky-footer__hp { position: absolute; left: -5000px; }
.cky-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(190, 202, 189, .2);
	font-size: .75rem;
	line-height: 1rem;
	font-weight: 600;
	letter-spacing: .06em;
	color: var(--ck-text-muted);
}
.cky-footer__legal { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.cky-footer__legal a { color: var(--ck-text-muted); text-decoration: none; }
.cky-footer__legal a:hover { color: var(--ck-primary); }
@media (max-width: 1023.98px) {
	.cky-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cky-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 767.98px) {
	.cky-footer { padding-top: 3rem; }
	.cky-footer__wrap { padding: 0 1.25rem; }
	.cky-footer__grid { gap: 2rem; margin-bottom: 2.5rem; }
	.cky-footer__news-col { grid-column: 1 / -1; }
	.cky-footer__bottom { flex-direction: column; text-align: center; }
	.cky-footer__legal { justify-content: center; }
}

/* Footer de la tienda (carro y pago) */
.bg_footer.footer_tienda { background: var(--ck-sand); color: var(--ck-text-muted); }
.bg_footer.footer_tienda p, .bg_footer.footer_tienda .condiciones_footer, .bg_footer.footer_tienda .marca_footer { color: var(--ck-text-muted); }
.bg_footer.footer_tienda a { color: var(--ck-primary); }

/* Estrellas dentro de las tarjetas: alineadas a la izquierda como el resto del texto */
.woocommerce ul.products li.product .star-rating { margin: 0 1.5rem .5rem !important; }
