/* ==========================================================================
   Denkor Tienda - hoja de estilos unica del child theme.
   Paleta y tipografia tomadas del sitio actual (no inventadas):
   verde de marca #0CD65D, texto #6F6F6F / #232323, Roboto + Montserrat.
   ========================================================================== */

:root{
	--denkor-green: #0CD65D;
	--denkor-green-dark: #09B24C;
	--denkor-green-darker: #078A3B;
	--denkor-green-soft: #E8FBF0;
	--denkor-text: #6F6F6F;
	--denkor-text-dark: #232323;
	--denkor-text-darker: #4A4A4A;
	--denkor-bg: #FFFFFF;
	--denkor-bg-alt: #F6FAF7;
	--denkor-border: #E6E9E7;
	--denkor-danger: #E0483C;
	--denkor-font-body: 'Roboto', Arial, sans-serif;
	--denkor-font-heading: 'Montserrat', Arial, sans-serif;
	--denkor-radius-sm: 6px;
	--denkor-radius: 12px;
	--denkor-radius-lg: 18px;
	--denkor-shadow: 0 6px 24px rgba(35,35,35,0.08);
	--denkor-shadow-hover: 0 12px 32px rgba(35,35,35,0.14);
	--denkor-container: 1200px;
}

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

.denkor-visually-hidden{
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* -------------------------------------------------------------------------
   Botones
   ---------------------------------------------------------------------- */

.denkor-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--denkor-font-heading);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.2px;
	padding: 14px 28px;
	border-radius: 999px;
	border: 2px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: transform .28s cubic-bezier(.16,1,.3,1), box-shadow .28s cubic-bezier(.16,1,.3,1), background-color .2s ease, color .2s ease;
	line-height: 1.2;
}
.denkor-btn:hover{ transform: translateY(-2px) scale(1.02); text-decoration: none; }
.denkor-btn:focus-visible{ outline: 3px solid var(--denkor-green-soft); outline-offset: 2px; }

.denkor-btn--primary{
	background: var(--denkor-green);
	color: #fff;
	box-shadow: 0 8px 20px rgba(12,214,93,0.35);
}
.denkor-btn--primary:hover{ background: var(--denkor-green-dark); color: #fff; }

.denkor-btn--outline{
	background: transparent;
	border-color: rgba(255,255,255,0.75);
	color: #fff;
}
.denkor-btn--outline:hover{ background: rgba(255,255,255,0.12); color: #fff; }

.denkor-btn--dark-outline{
	background: transparent;
	border-color: var(--denkor-text-dark);
	color: var(--denkor-text-dark);
}
.denkor-btn--dark-outline:hover{ background: var(--denkor-text-dark); color: #fff; }

.denkor-btn--whatsapp{
	background: #25D366;
	color: #fff;
}
.denkor-btn--whatsapp:hover{ background: #1EBE59; color: #fff; }

.denkor-btn--sm{ padding: 10px 18px; font-size: 13px; }
.denkor-btn--block{ width: 100%; }

/* Botones nativos de WooCommerce alineados a la marca */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button{
	background: var(--denkor-green) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	font-family: var(--denkor-font-heading) !important;
	font-weight: 600 !important;
	padding: 12px 22px !important;
	box-shadow: none !important;
	transition: background-color .15s ease, transform .15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
	background: var(--denkor-green-dark) !important;
	color: #fff !important;
	transform: translateY(-1px);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
	background: var(--denkor-text-dark) !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{
	background: #000 !important;
}

/* -------------------------------------------------------------------------
   Barra de confianza (reutilizable: home, tienda, producto, carrito)
   ---------------------------------------------------------------------- */

.denkor-trust-bar{
	background: var(--denkor-bg-alt);
	border-bottom: 1px solid var(--denkor-border);
	padding: 22px 0;
}
.denkor-trust-bar__list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px 24px;
	list-style: none;
	margin: 0; padding: 0;
}
@media (min-width: 900px){
	.denkor-trust-bar__list{ grid-template-columns: repeat(4, 1fr); }
}
.denkor-trust-bar__item{
	display: flex;
	align-items: center;
	gap: 12px;
}
.denkor-trust-bar__item svg{
	flex: none;
	width: 30px; height: 30px;
	color: var(--denkor-green);
}
.denkor-trust-bar__item strong{
	display: block;
	font-family: var(--denkor-font-heading);
	font-size: 13.5px;
	color: var(--denkor-text-dark);
	line-height: 1.25;
}
.denkor-trust-bar__item span{
	display: block;
	font-size: 12.5px;
	color: var(--denkor-text);
	line-height: 1.3;
}
.denkor-trust-bar--compact{ padding: 14px 0; }
.denkor-trust-bar--compact .denkor-trust-bar__item span{ display: none; }

/* -------------------------------------------------------------------------
   Home: Hero
   ---------------------------------------------------------------------- */

.denkor-hero{
	position: relative;
	min-height: 560px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #10241a;
}
@media (min-width: 900px){ .denkor-hero{ min-height: 680px; } }

.denkor-hero__slide{
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	animation: denkorHeroFade 24s infinite;
}
.denkor-hero__slide:nth-child(1){ animation-delay: 0s; }
.denkor-hero__slide:nth-child(2){ animation-delay: 4s; }
.denkor-hero__slide:nth-child(3){ animation-delay: 8s; }
.denkor-hero__slide:nth-child(4){ animation-delay: 12s; }
.denkor-hero__slide:nth-child(5){ animation-delay: 16s; }
.denkor-hero__slide:nth-child(6){ animation-delay: 20s; }

@keyframes denkorHeroFade{
	0%{ opacity: 0; }
	3%{ opacity: 1; }
	17%{ opacity: 1; }
	21%{ opacity: 0; }
	100%{ opacity: 0; }
}
@media (prefers-reduced-motion: reduce){
	.denkor-hero__slide{ animation: none; opacity: 0; }
	.denkor-hero__slide:first-child{ opacity: 1; }
}

.denkor-hero__scrim{
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(10,20,14,0.86) 0%, rgba(10,20,14,0.62) 45%, rgba(10,20,14,0.25) 100%);
}

.denkor-hero__content{
	position: relative;
	z-index: 2;
	max-width: 620px;
	padding: 90px 20px;
}
.denkor-hero__eyebrow{
	display: inline-block;
	color: var(--denkor-green);
	background: rgba(12,214,93,0.14);
	border: 1px solid rgba(12,214,93,0.4);
	font-family: var(--denkor-font-heading);
	font-weight: 600;
	font-size: 12.5px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: 999px;
	margin-bottom: 18px;
}
.denkor-hero__title{
	font-family: var(--denkor-font-heading);
	font-weight: 700;
	color: #fff;
	font-size: 34px;
	line-height: 1.15;
	margin: 0 0 16px;
}
@media (min-width: 700px){ .denkor-hero__title{ font-size: 46px; } }

.denkor-hero__subtitle{
	color: rgba(255,255,255,0.88);
	font-size: 16.5px;
	line-height: 1.6;
	margin: 0 0 30px;
	max-width: 520px;
}
.denkor-hero__actions{
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}
.denkor-hero__link{
	color: #fff;
	font-family: var(--denkor-font-heading);
	font-weight: 600;
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* -------------------------------------------------------------------------
   Home: grid de categorias
   ---------------------------------------------------------------------- */

.denkor-section{ padding: 56px 0; }
.denkor-section--alt{ background: var(--denkor-bg-alt); }
.denkor-section__head{ text-align: center; max-width: 640px; margin: 0 auto 34px; }
.denkor-section__eyebrow{
	display: block;
	color: var(--denkor-green-darker);
	font-family: var(--denkor-font-heading);
	font-weight: 700;
	font-size: 12.5px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.denkor-section__title{
	font-family: var(--denkor-font-heading);
	font-weight: 700;
	color: var(--denkor-text-dark);
	font-size: 26px;
	margin: 0 0 10px;
}
.denkor-section__desc{ color: var(--denkor-text); font-size: 15px; line-height: 1.6; margin: 0; }

.denkor-category-grid{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}
@media (min-width: 700px){ .denkor-category-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px){ .denkor-category-grid{ grid-template-columns: repeat(4, 1fr); } }

.denkor-category-card{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 168px;
	border-radius: var(--denkor-radius);
	overflow: hidden;
	background: var(--denkor-text-dark);
	text-decoration: none;
	box-shadow: var(--denkor-shadow);
	transition: transform .18s ease, box-shadow .18s ease;
}
.denkor-category-card:hover{ transform: translateY(-3px); box-shadow: var(--denkor-shadow-hover); text-decoration: none; }
.denkor-category-card__bg{
	position: absolute; inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0.55;
	transition: opacity .18s ease, transform .3s ease;
}
.denkor-category-card:hover .denkor-category-card__bg{ opacity: 0.4; transform: scale(1.05); }
.denkor-category-card__scrim{
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(15,20,17,0.15) 0%, rgba(10,14,12,0.85) 100%);
}
.denkor-category-card__icon{
	position: relative; z-index: 1;
	width: 34px; height: 34px;
	margin: 16px 0 0 16px;
	color: var(--denkor-green);
}
.denkor-category-card__body{ position: relative; z-index: 1; padding: 14px 16px 16px; }
.denkor-category-card__name{
	color: #fff;
	font-family: var(--denkor-font-heading);
	font-weight: 600;
	font-size: 14.5px;
	line-height: 1.25;
	margin: 0 0 4px;
}
.denkor-category-card__count{ color: rgba(255,255,255,0.75); font-size: 12px; }

/* -------------------------------------------------------------------------
   Home: marcas (marquee con logos reales)
   ---------------------------------------------------------------------- */

.denkor-brands{ overflow: hidden; padding: 52px 0; background: #fff; border-top: 1px solid var(--denkor-border); border-bottom: 1px solid var(--denkor-border); }
.denkor-brands__title{
	text-align: center;
	font-family: var(--denkor-font-heading);
	font-weight: 600;
	color: var(--denkor-text-dark);
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 0 0 24px;
}
.denkor-brands__viewport{ overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.denkor-brands__track{
	display: flex;
	align-items: center;
	width: max-content;
	gap: 72px;
	animation: denkorBrandsScroll 36s linear infinite;
}
.denkor-brands__viewport:hover .denkor-brands__track{ animation-play-state: paused; }
@keyframes denkorBrandsScroll{
	from{ transform: translateX(0); }
	to{ transform: translateX(-50%); }
}
.denkor-brands__track img{
	height: 82px;
	width: auto;
	max-width: 220px;
	object-fit: contain;
	filter: grayscale(0.1) opacity(0.95);
	transition: filter .2s ease, transform .2s ease;
}
.denkor-brands__track img:hover{ filter: grayscale(0) opacity(1); transform: scale(1.06); }

/* -------------------------------------------------------------------------
   Home: destacados / mas vendidos + Tienda: grid de productos
   ---------------------------------------------------------------------- */

.denkor-products-grid{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}
@media (min-width: 640px){ .denkor-products-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px){ .denkor-products-grid.denkor-products-grid--4 { grid-template-columns: repeat(4, 1fr); } }

.denkor-product-card{
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--denkor-border);
	border-radius: var(--denkor-radius);
	overflow: hidden;
	transition: box-shadow .18s ease, transform .18s ease;
	list-style: none;
}
.denkor-product-card:hover{ box-shadow: var(--denkor-shadow-hover); transform: translateY(-2px); }

.denkor-product-card__media{ position: relative; display: block; aspect-ratio: 1 / 1; background: var(--denkor-bg-alt); overflow: hidden; }
.denkor-product-card__media img{ width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.denkor-product-card:hover .denkor-product-card__media img{ transform: scale(1.06); }

.denkor-badge-savings{
	position: absolute; top: 10px; left: 10px; z-index: 2;
	background: var(--denkor-green);
	color: #fff;
	font-family: var(--denkor-font-heading);
	font-weight: 700;
	font-size: 11.5px;
	padding: 5px 10px;
	border-radius: 999px;
	box-shadow: 0 4px 10px rgba(12,214,93,0.35);
}
.woocommerce span.onsale{
	background: var(--denkor-green) !important;
	top: 10px !important; left: 10px !important;
	font-family: var(--denkor-font-heading) !important;
}

.denkor-product-card__body{ padding: 14px 14px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.denkor-product-card__cat{ font-size: 11px; text-transform: uppercase; letter-spacing: 0.4px; color: var(--denkor-green-darker); font-weight: 600; }
/* WooCommerce imprime el titulo como h2.woocommerce-loop-product__title (no
   acepta una clase propia via hook), asi que se apunta directo a esa clase
   real para que no herede el h2 gigante del theme padre. Se recorta a 2
   lineas para que todas las tarjetas del grid midan lo mismo. */
.denkor-product-card .woocommerce-loop-product__title{
	font-family: var(--denkor-font-heading) !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	color: var(--denkor-text-dark) !important;
	letter-spacing: normal !important;
	margin: 4px 0 2px !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.denkor-product-card .price{ font-family: var(--denkor-font-heading); font-size: 15.5px; color: var(--denkor-green-darker); font-weight: 700; margin: 2px 0; }
.denkor-product-card .price ins{ text-decoration: none; color: var(--denkor-green-darker); font-weight: 700; }
.denkor-product-card .price del{ color: #9a9a9a; opacity: 1; font-size: 13px; font-weight: 400; margin-right: 6px; }

.denkor-card-stock{ font-size: 12px; }
.denkor-card-stock .stock{ font-weight: 600; }
.denkor-card-stock .stock.in-stock{ color: var(--denkor-green-darker); }
.denkor-card-stock .stock.out-of-stock{ color: var(--denkor-danger); }

.denkor-product-card__cta{ margin-top: auto; padding-top: 8px; }
.denkor-product-card__cta .button,
.denkor-product-card__cta a.button{
	width: 100%;
	text-align: center;
	font-size: 13.5px !important;
	padding: 10px 14px !important;
}

/* -------------------------------------------------------------------------
   Home: CTA final
   ---------------------------------------------------------------------- */

.denkor-final-cta{
	background: linear-gradient(120deg, #0c3a20, #0a2417);
	color: #fff;
	padding: 56px 0;
	text-align: center;
}
.denkor-final-cta h2{ font-family: var(--denkor-font-heading); font-weight: 700; font-size: 26px; margin: 0 0 10px; color: #fff; }
.denkor-final-cta p{ color: rgba(255,255,255,0.82); max-width: 540px; margin: 0 auto 26px; font-size: 15.5px; line-height: 1.6; }
.denkor-final-cta__actions{ display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }

.denkor-section__more{ text-align: center; margin-top: 30px; }

/* -------------------------------------------------------------------------
   Tienda: layout con sidebar de filtros
   ---------------------------------------------------------------------- */

.denkor-shop{ padding: 32px 0 64px; }
.denkor-shop__head{ margin-bottom: 22px; }
.denkor-shop__title{ font-family: var(--denkor-font-heading); font-weight: 700; font-size: 26px; color: var(--denkor-text-dark); margin: 0 0 6px; }
.denkor-shop__count{ color: var(--denkor-text); font-size: 13.5px; }

.denkor-shop__filters-toggle{
	display: inline-flex; align-items: center; gap: 8px;
	background: #fff; border: 1px solid var(--denkor-border);
	border-radius: 999px; padding: 10px 18px;
	font-family: var(--denkor-font-heading); font-weight: 600; font-size: 13.5px;
	color: var(--denkor-text-dark);
	margin-bottom: 16px;
}
@media (min-width: 992px){ .denkor-shop__filters-toggle{ display: none; } }

.denkor-shop__layout{ display: block; }
@media (min-width: 992px){
	.denkor-shop__layout{ display: grid; grid-template-columns: 260px 1fr; gap: 32px; align-items: start; }
}

.denkor-shop__sidebar{
	background: var(--denkor-bg-alt);
	border: 1px solid var(--denkor-border);
	border-radius: var(--denkor-radius);
	padding: 18px;
	margin-bottom: 24px;
	display: none;
}
.denkor-shop__sidebar.is-open{ display: block; }
@media (min-width: 992px){
	.denkor-shop__sidebar{ display: block; position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow-y: auto; }
}

.denkor-filter-widget{ margin-bottom: 22px; }
.denkor-filter-widget:last-child{ margin-bottom: 0; }
.denkor-filter-title{ font-family: var(--denkor-font-heading); font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 0.4px; color: var(--denkor-text-dark); margin: 0 0 12px; }
.denkor-shop__sidebar ul{ list-style: none; margin: 0; padding: 0; }
.denkor-shop__sidebar li{ margin-bottom: 8px; font-size: 13.5px; }
.denkor-shop__sidebar a{ color: var(--denkor-text); text-decoration: none; }
.denkor-shop__sidebar a:hover{ color: var(--denkor-green-darker); }

.denkor-shop__toolbar{ display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }

.denkor-shop__main .denkor-products-grid{ grid-template-columns: repeat(2, 1fr); }
@media (min-width: 640px){ .denkor-shop__main .denkor-products-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1240px){ .denkor-shop__main .denkor-products-grid{ grid-template-columns: repeat(4, 1fr); } }

.denkor-shop__empty{ text-align: center; padding: 60px 20px; color: var(--denkor-text); }
.denkor-shop__sidebar-hint{ font-size: 12px; color: var(--denkor-text); }

/* -------------------------------------------------------------------------
   Ficha de producto
   ---------------------------------------------------------------------- */

.denkor-product-chips{ display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.denkor-chip{
	display: inline-flex; align-items: center; gap: 6px;
	background: var(--denkor-green-soft);
	color: var(--denkor-green-darker);
	border-radius: 999px;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 600;
}
.denkor-chip svg{ width: 14px; height: 14px; }
.denkor-product-stock{ margin-bottom: 14px; font-size: 13.5px; }
.denkor-product-stock .stock.in-stock{ color: var(--denkor-green-darker); font-weight: 600; }
.denkor-product-stock .stock.out-of-stock{ color: var(--denkor-danger); font-weight: 600; }

.single-product div.product form.cart{
	margin-top: 18px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px;
}
.single-product div.product form.cart .quantity{ margin: 0; flex: none; }
.single-product div.product form.cart .qty{
	height: 50px;
	width: 76px;
	box-sizing: border-box;
	border: 1.5px solid var(--denkor-border);
	border-radius: var(--denkor-radius-sm);
	text-align: center;
	font-size: 15px;
	padding: 0 8px;
}
.single-product div.product form.cart .single_add_to_cart_button{
	height: 50px;
	box-sizing: border-box;
	padding: 0 34px !important;
	font-size: 15px !important;
	display: inline-flex;
	align-items: center;
}

/* Sticky mobile CTA en ficha de producto */
.denkor-sticky-cta{
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
	background: #fff;
	border-top: 1px solid var(--denkor-border);
	box-shadow: 0 -8px 24px rgba(0,0,0,0.12);
	padding: 10px 14px;
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	transform: translateY(100%);
	transition: transform .2s ease;
}
.denkor-sticky-cta.is-visible{ transform: translateY(0); }
.denkor-sticky-cta[hidden]{ display: none; }
.denkor-sticky-cta__info{ display: flex; align-items: center; gap: 10px; min-width: 0; }
.denkor-sticky-cta__info img{ width: 42px; height: 42px; object-fit: cover; border-radius: 8px; flex: none; }
.denkor-sticky-cta__info div{ min-width: 0; }
.denkor-sticky-cta__name{ display: block; font-size: 12.5px; color: var(--denkor-text-dark); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 42vw; }
.denkor-sticky-cta__price{ display: block; font-size: 13px; color: var(--denkor-green-darker); font-weight: 700; }
.denkor-sticky-cta .denkor-btn{ padding: 10px 18px; font-size: 13px; flex: none; }
@media (min-width: 992px){ .denkor-sticky-cta{ display: none !important; } }

/* -------------------------------------------------------------------------
   Carrito lateral (drawer)
   ---------------------------------------------------------------------- */

.denkor-cart-trigger{
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 55;
	width: 54px; height: 54px;
	border-radius: 50%;
	background: var(--denkor-green);
	border: none;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 26px rgba(12,214,93,0.4);
	cursor: pointer;
}
.denkor-cart-trigger svg{ width: 24px; height: 24px; }
.denkor-cart-count{
	position: absolute; top: -4px; right: -4px;
	background: var(--denkor-text-dark);
	color: #fff;
	font-size: 11px; font-weight: 700;
	min-width: 20px; height: 20px;
	border-radius: 999px;
	display: flex; align-items: center; justify-content: center;
	padding: 0 4px;
}
body.single-product .denkor-cart-trigger{ bottom: 84px; }
@media (min-width: 992px){ body.single-product .denkor-cart-trigger{ bottom: 18px; } }

.denkor-cart-drawer{ position: fixed; inset: 0; z-index: 200; visibility: hidden; }
.denkor-cart-drawer.is-open{ visibility: visible; }
.denkor-cart-drawer__overlay{
	position: absolute; inset: 0;
	background: rgba(10,20,14,0.5);
	opacity: 0; transition: opacity .2s ease;
}
.denkor-cart-drawer.is-open .denkor-cart-drawer__overlay{ opacity: 1; }
.denkor-cart-drawer__panel{
	position: absolute; top: 0; right: 0; bottom: 0;
	width: 100%; max-width: 400px;
	background: #fff;
	display: flex; flex-direction: column;
	transform: translateX(100%);
	transition: transform .25s ease;
	box-shadow: -12px 0 30px rgba(0,0,0,0.18);
}
.denkor-cart-drawer.is-open .denkor-cart-drawer__panel{ transform: translateX(0); }
.denkor-cart-drawer__header{
	display: flex; align-items: center; justify-content: space-between;
	padding: 18px 20px; border-bottom: 1px solid var(--denkor-border);
	font-family: var(--denkor-font-heading); font-weight: 700; font-size: 16px; color: var(--denkor-text-dark);
}
.denkor-cart-drawer__close{ background: none; border: none; font-size: 26px; line-height: 1; cursor: pointer; color: var(--denkor-text); }
.denkor-cart-drawer__body{ padding: 16px 20px; overflow-y: auto; flex: 1; }
.denkor-cart-drawer__body #denkor-cart-drawer-content{ height: 100%; display: flex; flex-direction: column; }
.denkor-cart-drawer__body .woocommerce-mini-cart{ list-style: none; margin: 0 0 16px; padding: 0; flex: 1; overflow-y: auto; }
.denkor-cart-drawer__body .woocommerce-mini-cart-item{ display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--denkor-border); position: relative; }
.denkor-cart-drawer__body .woocommerce-mini-cart-item img{ width: 56px; height: 56px; object-fit: cover; border-radius: 8px; }
.denkor-cart-drawer__body .woocommerce-mini-cart__total{ font-family: var(--denkor-font-heading); font-weight: 700; padding-top: 12px; border-top: 1px solid var(--denkor-border); }
.denkor-cart-drawer__body .woocommerce-mini-cart__buttons{ display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.denkor-cart-drawer__body .woocommerce-mini-cart__buttons a.button{
	width: 100% !important;
	text-align: center !important;
	box-sizing: border-box;
	display: flex !important;
	align-items: center;
	justify-content: center;
}
.denkor-cart-drawer__body .woocommerce-mini-cart__empty-message{ color: var(--denkor-text); text-align: center; padding: 40px 0; }
.denkor-cart-drawer__body .remove{ position: absolute; right: 0; top: 12px; color: var(--denkor-text) !important; text-decoration: none; }

/* -------------------------------------------------------------------------
   Carrito (pagina completa) y Checkout
   ---------------------------------------------------------------------- */

.denkor-payment-notice{
	background: var(--denkor-green-soft);
	border: 1px solid rgba(12,214,93,0.35);
	border-radius: var(--denkor-radius);
	padding: 14px 18px;
	margin: 0 0 22px;
}
.denkor-payment-notice__label{ display: block; font-family: var(--denkor-font-heading); font-weight: 700; font-size: 13px; color: var(--denkor-green-darker); margin-bottom: 6px; }
.denkor-payment-notice__list{ display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; margin: 0; padding: 0; }
.denkor-payment-notice__list li{ font-size: 13.5px; color: var(--denkor-text-dark); font-weight: 600; }
.denkor-payment-notice__empty{ margin: 0; font-size: 13.5px; color: var(--denkor-text-dark); }
.denkor-payment-notice__empty a{ color: var(--denkor-green-darker); font-weight: 600; }

.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th{ vertical-align: middle; }
.woocommerce-checkout #payment{ background: var(--denkor-bg-alt) !important; border-radius: var(--denkor-radius); }

/* -------------------------------------------------------------------------
   Utilidades responsive generales
   ---------------------------------------------------------------------- */

.woocommerce .add_to_cart_button.is-loading,
.woocommerce .single_add_to_cart_button.is-loading,
.woocommerce .add_to_cart_button.loading{
	opacity: 0.6;
	pointer-events: none;
}

/* WooCommerce agrega este link nativo ("Ver carrito") junto al boton de los
   listados despues de un add-to-cart exitoso. Como ya se abre nuestro
   drawer automaticamente, el link duplica esa misma accion y se ve como
   ruido junto al boton verde: se oculta. */
.woocommerce .added_to_cart.wc-forward{
	display: none !important;
}

@keyframes denkorPulse{
	0%{ box-shadow: 0 0 0 0 rgba(12,214,93,0.55); }
	100%{ box-shadow: 0 0 0 14px rgba(12,214,93,0); }
}
.woocommerce .single_add_to_cart_button.denkor-pulse{
	animation: denkorPulse .9s ease-out;
}

/* Pofo oculta su propio wrapper de mini-carrito por defecto (solo lo muestra
   con su propio hover/click en el header). Lo forzamos visible dentro de
   nuestro drawer, sin tocar su comportamiento nativo en el header. */
.denkor-cart-drawer .pofo-mini-cart-content-wrapper{
	display: block !important;
	position: static !important;
	box-shadow: none !important;
	width: 100% !important;
}

/* Los links del footer del theme padre heredaban negro puro sobre fondo
   casi negro (ilegibles). Se sube el contraste sin tocar el footer.php. */
footer a{
	color: rgba(255,255,255,0.75) !important;
	transition: color .15s ease;
}
footer a:hover{
	color: var(--denkor-green) !important;
}

@media (max-width: 480px){
	.denkor-hero__content{ padding: 64px 18px 48px; }
	.denkor-hero__title{ font-size: 28px; }
	.denkor-section{ padding: 40px 0; }
}

/* ==========================================================================
   Refuerzo de identidad "tech-green": insignias translucidas (como el
   eyebrow del hero), textura sutil tipo grid de puntos, glow en botones y
   tarjetas, y mas densidad de grilla donde hay espacio de sobra.
   ========================================================================== */

/* Iconos de la barra de confianza como insignia circular translucida */
.denkor-trust-bar__item svg{
	background: var(--denkor-green-soft);
	border: 1px solid rgba(12,214,93,0.35);
	border-radius: 50%;
	padding: 7px;
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	transition: box-shadow .25s ease;
}

/* Cada item de la barra de confianza como tarjeta individual con brillo al
   pasar el mouse, en vez de texto plano: se siente mas moderno/tecnologico. */
.denkor-trust-bar__item{
	background: #fff;
	border: 1px solid rgba(12,214,93,0.16);
	border-radius: var(--denkor-radius);
	padding: 14px 16px;
	box-shadow: 0 2px 10px rgba(15,30,20,0.05);
	transition: transform .28s cubic-bezier(.16,1,.3,1), box-shadow .28s cubic-bezier(.16,1,.3,1), border-color .28s ease;
}
.denkor-trust-bar__item:hover{
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(12,214,93,0.2);
	border-color: rgba(12,214,93,0.55);
}
.denkor-trust-bar__item:hover svg{
	box-shadow: 0 0 0 6px rgba(12,214,93,0.2);
}

/* Fondo con leve textura de puntos en secciones alternas, para el look
   tecnologico que se pidio (mismo tono verde translucido del eyebrow). */
.denkor-section--alt{
	position: relative;
	background: linear-gradient(180deg, #F2FAF6 0%, #E9F8F0 100%);
	overflow: hidden;
}
.denkor-section--alt::before{
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(12,214,93,0.16) 1px, transparent 1.5px);
	background-size: 22px 22px;
	pointer-events: none;
}
.denkor-section--alt > .denkor-container{
	position: relative;
	z-index: 1;
}

.denkor-trust-bar{
	position: relative;
	overflow: hidden;
}
.denkor-trust-bar::before{
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(12,214,93,0.12) 1px, transparent 1.5px);
	background-size: 20px 20px;
	pointer-events: none;
}
.denkor-trust-bar > .denkor-container{
	position: relative;
	z-index: 1;
}

.denkor-brands{
	background: linear-gradient(180deg, #FFFFFF 0%, #F2FAF6 100%);
}

/* Insignia circular translucida en el icono de cada categoria */
.denkor-category-card__icon{
	background: rgba(12,214,93,0.18);
	border: 1px solid rgba(12,214,93,0.4);
	border-radius: 50%;
	padding: 7px;
	box-sizing: border-box;
	backdrop-filter: blur(2px);
}

/* Contador de productos por categoria como pastilla translucida */
.denkor-category-card__count{
	display: inline-block;
	background: rgba(12,214,93,0.22);
	border: 1px solid rgba(12,214,93,0.4);
	color: #EAFFF3;
	padding: 2px 10px;
	border-radius: 999px;
	font-weight: 600;
	margin-top: 2px;
}

/* Boton primario con degrade sutil en vez de verde plano */
.denkor-btn--primary{
	background: linear-gradient(135deg, var(--denkor-green) 0%, var(--denkor-green-dark) 100%);
}
.denkor-btn--primary:hover{
	background: linear-gradient(135deg, var(--denkor-green-dark) 0%, var(--denkor-green-darker) 100%);
}

/* Anillo de brillo verde al pasar el mouse sobre una tarjeta de producto */
.denkor-product-card:hover{
	box-shadow: 0 0 0 2px rgba(12,214,93,0.3), var(--denkor-shadow-hover);
}

/* Barra de acento verde junto al titulo de cada filtro de la Tienda */
.denkor-filter-title{
	position: relative;
	padding-left: 14px;
}
.denkor-filter-title::before{
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	bottom: 2px;
	width: 3px;
	background: var(--denkor-green);
	border-radius: 2px;
}

/* Mas densidad de grilla en pantallas anchas donde sobra espacio */
@media (min-width: 1400px){
	.denkor-category-grid{ grid-template-columns: repeat(5, 1fr); }
	.denkor-section:not(.denkor-shop) .denkor-products-grid.denkor-products-grid--4{ grid-template-columns: repeat(5, 1fr); }
}

/* ==========================================================================
   Ronda 2 de pulido: header verde de marca, animaciones de scroll, foto del
   hero mejor encuadrada en mobile, y fix de alineacion del checkbox de
   terminos en el checkout.
   ========================================================================== */

/* Header verde en desktop (arriba de 992px, donde se ve el menu completo:
   Home / Nosotros / Tienda / Contacto). En mobile se deja el header por
   defecto para no arriesgar el contraste del menu desplegable. */
@media (min-width: 992px){
	#masthead .navbar{
		background-color: var(--denkor-green) !important;
		border-color: transparent !important;
		transition: background-color .2s ease;
	}
	#masthead .site-title a{ color: #fff !important; }
	#masthead .navbar-nav > li > a{ color: rgba(255,255,255,0.92) !important; }
	#masthead .navbar-nav > li > a:hover,
	#masthead .navbar-nav > li.current-menu-item > a{ color: #fff !important; }
	#masthead .navbar-nav > li > i.dropdown-toggle{ color: rgba(255,255,255,0.85) !important; }
	#masthead .header-search-form,
	#masthead .header-search-form i,
	#masthead .header-mini-cart,
	#masthead .header-mini-cart a,
	#masthead .header-mini-cart i{ color: #fff !important; }
}

/* Subrayado animado al pasar el mouse por los links del menu principal */
#masthead .navbar-nav > li > a{
	position: relative;
}
#masthead .navbar-nav > li > a::after{
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 4px;
	height: 2px;
	background: currentColor;
	opacity: .8;
	transition: right .2s ease;
}
#masthead .navbar-nav > li > a:hover::after,
#masthead .navbar-nav > li.current-menu-item > a::after{
	right: 0;
}

/* Encuadre del hero un poco mas alto en mobile, para que no se corte la
   parte importante de la foto (las fotos son horizontales, en mobile se
   ven recortadas por naturaleza, pero asi se prioriza la parte de arriba). */
@media (max-width: 767px){
	.denkor-hero__slide{ background-position: center 22%; }
}

/* Aparicion suave al hacer scroll (denkor-reveal.js agrega la clase
   denkor-in-view; si el JS no llega a cargar, el respaldo de abajo se
   encarga de que todo quede visible igual). */
.denkor-reveal{
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
}
.denkor-reveal.denkor-in-view{
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
	.denkor-reveal{ opacity: 1; transform: none; transition: none; }
}
/* Respaldo por si el JS no llega a cargar: todo visible pasados 2.5s. */
.denkor-reveal{ animation: denkorRevealFallback 0s 2.5s forwards; }
@keyframes denkorRevealFallback{
	to{ opacity: 1; transform: none; }
}

/* Checkbox de terminos y condiciones del checkout: WooCommerce lo deja mal
   alineado por defecto (el checkbox flota arriba del texto). Se ordena con
   flex para que quede centrado con el texto, como el resto del formulario. */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
	background: var(--denkor-bg-alt);
	border: 1px solid var(--denkor-border);
	border-radius: var(--denkor-radius);
	padding: 16px 18px;
	margin-bottom: 18px;
}
.woocommerce-checkout .woocommerce-privacy-policy-text{
	font-size: 13.5px;
	color: var(--denkor-text);
	margin-bottom: 14px;
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox{
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	color: var(--denkor-text-dark);
	cursor: pointer;
}
.woocommerce-checkout .woocommerce-form__input-checkbox{
	position: static !important;
	flex: none;
	width: 18px;
	height: 18px;
	margin: 2px 0 0 !important;
	accent-color: var(--denkor-green);
}

/* ==========================================================================
   Chat asesor guiado: reemplaza la burbuja flotante de Joinchat.
   ========================================================================== */

.joinchat{ display: none !important; }

.denkor-chat-trigger{
	position: fixed;
	right: 18px;
	bottom: 90px;
	z-index: 56;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: var(--denkor-text-dark);
	border: none;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 26px rgba(35,35,35,0.35);
	cursor: pointer;
	transition: transform .15s ease, background-color .15s ease;
}
.denkor-chat-trigger:hover{ background: #000; transform: translateY(-1px); }
.denkor-chat-trigger svg{ width: 24px; height: 24px; }
body.single-product .denkor-chat-trigger{ bottom: 156px; }
@media (min-width: 992px){ body.single-product .denkor-chat-trigger{ bottom: 90px; } }

.denkor-chat-panel{
	position: fixed;
	right: 18px;
	bottom: 156px;
	z-index: 210;
	width: 360px;
	max-width: calc(100vw - 36px);
	height: 500px;
	max-height: calc(100vh - 180px);
	background: #fff;
	border-radius: var(--denkor-radius-lg);
	box-shadow: 0 20px 50px rgba(20,30,25,0.25);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	opacity: 0;
	transform: translateY(16px) scale(.98);
	pointer-events: none;
	transition: opacity .2s ease, transform .2s ease;
}
.denkor-chat-panel.is-open{
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}
@media (max-width: 480px){
	.denkor-chat-panel{
		right: 10px;
		left: 10px;
		bottom: 90px;
		width: auto;
		max-width: none;
		height: calc(100vh - 150px);
	}
}
body.single-product .denkor-chat-panel{ bottom: 222px; }
@media (min-width: 992px){ body.single-product .denkor-chat-panel{ bottom: 156px; } }
@media (max-width: 480px){ body.single-product .denkor-chat-panel{ bottom: 90px; } }

.denkor-chat-panel__header{
	background: linear-gradient(135deg, var(--denkor-green) 0%, var(--denkor-green-dark) 100%);
	color: #fff;
	padding: 16px 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: var(--denkor-font-heading);
	font-weight: 700;
	font-size: 15px;
	flex: none;
}
.denkor-chat-panel__close{
	background: rgba(255,255,255,0.18);
	border: none;
	color: #fff;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.denkor-chat-panel__body{
	flex: 1;
	overflow-y: auto;
	padding: 16px;
	background: var(--denkor-bg-alt);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.denkor-chat-msg{ display: flex; }
.denkor-chat-msg--bot{ justify-content: flex-start; }
.denkor-chat-msg--user{ justify-content: flex-end; }
.denkor-chat-msg__bubble{
	max-width: 85%;
	padding: 10px 14px;
	border-radius: 14px;
	font-size: 13.5px;
	line-height: 1.5;
}
.denkor-chat-msg--bot .denkor-chat-msg__bubble{
	background: #fff;
	color: var(--denkor-text-dark);
	border-bottom-left-radius: 4px;
	box-shadow: 0 2px 8px rgba(35,35,35,0.06);
}
.denkor-chat-msg--user .denkor-chat-msg__bubble{
	background: var(--denkor-green);
	color: #fff;
	border-bottom-right-radius: 4px;
}
.denkor-chat-msg__bubble p{ margin: 0 0 6px; }
.denkor-chat-msg__bubble p:last-child{ margin-bottom: 0; }

.denkor-chat-options{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.denkor-chat-option{
	background: #fff;
	border: 1.5px solid var(--denkor-green);
	color: var(--denkor-green-darker);
	font-family: var(--denkor-font-heading);
	font-weight: 600;
	font-size: 12.5px;
	padding: 8px 14px;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, transform .15s ease;
}
.denkor-chat-option:hover{
	background: var(--denkor-green);
	color: #fff;
	transform: translateY(-1px);
}
.denkor-chat-option__icon{
	display: inline-flex;
	vertical-align: middle;
	width: 14px;
	height: 14px;
	margin-right: 5px;
}
.denkor-chat-option__icon svg{ width: 100%; height: 100%; }

.denkor-chat-products{
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 8px;
}
.denkor-chat-product{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px;
	border: 1px solid var(--denkor-border);
	border-radius: var(--denkor-radius-sm);
	text-decoration: none;
	transition: border-color .15s ease, background-color .15s ease;
}
.denkor-chat-product:hover{
	border-color: var(--denkor-green);
	background: var(--denkor-green-soft);
}
.denkor-chat-product img{ width: 40px; height: 40px; object-fit: cover; border-radius: 6px; flex: none; }
.denkor-chat-product__name{ flex: 1; font-size: 12.5px; color: var(--denkor-text-dark); font-weight: 600; line-height: 1.3; }
.denkor-chat-product__price{ font-size: 12px; color: var(--denkor-green-darker); font-weight: 700; white-space: nowrap; }

/* ==========================================================================
   Ronda 3: categorias mas grandes y con look tecnologico, header sin el
   icono de carrito duplicado de Pofo, footer sin ruido del theme padre.
   ========================================================================== */

/* Pofo trae su propio widget de mini-carrito en el header (ademas del
   nuestro): al hacer click abria su propio popup, sin el diseño del
   drawer y con textos recortados. Se oculta para que solo quede un
   carrito, el nuestro (boton flotante abajo a la derecha). */
.header-mini-cart{ display: none !important; }

/* La barra de creditos del theme padre (POFO / ThemeZaa) no aporta nada
   a la conversion, es puro ruido visual. */
.footer-bottom{ display: none !important; }

/* Las 4 columnas del footer tenian el mismo ancho fijo aunque la columna
   "Denkor" solo tiene 2 links cortos: eso dejaba un hueco visual grande
   antes de "Contactenos". Se reparte el ancho segun el contenido real. */
@media (min-width: 768px){
	.footer-widget-area .row{
		display: flex !important;
		flex-wrap: wrap;
		gap: 24px;
	}
	.footer-widget-area .row > .col-md-3{
		float: none !important;
		width: auto !important;
		flex: 1 1 0;
	}
	.footer-widget-area .row > .col-md-3:nth-child(3){
		flex: 0 1 140px;
	}
}

/* Categorias: tarjetas mas grandes, con degrade verde translucido igual
   al del hero, e indicador "Ver categoria" que aparece al pasar el mouse. */
.denkor-category-card{
	min-height: 240px;
}
.denkor-category-card::before{
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--denkor-green) 0%, var(--denkor-green-dark) 100%);
	z-index: 2;
}
.denkor-category-card__scrim{
	background: linear-gradient(165deg, rgba(12,214,93,0.22) 0%, rgba(10,20,14,0.55) 45%, rgba(8,14,11,0.93) 100%);
}
.denkor-category-card:hover{
	box-shadow: 0 0 0 3px rgba(12,214,93,0.35), var(--denkor-shadow-hover);
}
.denkor-category-card__icon{
	width: 50px;
	height: 50px;
	padding: 11px;
	margin: 22px 0 0 22px;
}
.denkor-category-card__icon svg{ width: 100%; height: 100%; }
.denkor-category-card__body{
	padding: 18px 20px 22px;
}
.denkor-category-card__name{
	font-size: 17px;
	line-height: 1.3;
}
.denkor-category-card__count{
	font-size: 12px;
	padding: 3px 12px;
}
.denkor-category-card__cta{
	display: block;
	margin-top: 10px;
	font-family: var(--denkor-font-heading);
	font-weight: 700;
	font-size: 12.5px;
	color: var(--denkor-green);
	opacity: 0;
	transform: translateY(6px);
	transition: opacity .2s ease, transform .2s ease;
}
.denkor-category-card:hover .denkor-category-card__cta{
	opacity: 1;
	transform: translateY(0);
}
@media (min-width: 1000px){
	.denkor-category-grid{ grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1400px){
	.denkor-category-grid{ grid-template-columns: repeat(4, 1fr); }
}

/* ==========================================================================
   Ronda 4: precios en verde de marca, espaciados de la ficha de producto,
   carrito lateral sin el titulo tapado por la barra de admin, boton de
   "Realizar el pedido" mas grande, buscador rediseñado (fondo con blur en
   vez de negro solido, tarjeta compacta, texto en español), Tienda/Categoria
   con estetica tech (fondo con textura + sidebar tipo panel oscuro), marcas
   mas grandes, y animaciones de entrada mas largas y cuidadas.
   ========================================================================== */

/* Precios en verde de marca en toda la tienda (antes salian en rojo por el
   estilo por defecto del theme padre). Se usa el verde mas oscuro de la
   paleta para que el texto sea legible sobre fondo blanco. */
.woocommerce .price,
.woocommerce-page .price,
.single-product .summary .price,
.woocommerce-cart .price,
.woocommerce-checkout .price,
.denkor-sticky-cta__price{
	color: var(--denkor-green-darker) !important;
}
.woocommerce .price ins,
.woocommerce .price ins .amount{
	color: var(--denkor-green-darker) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}
.woocommerce .price del,
.woocommerce .price del .amount{
	color: #9a9a9a !important;
	font-weight: 400 !important;
	opacity: 1 !important;
}

/* Carrito lateral: cuando se ve con la sesion de administrador abierta, la
   barra negra de WordPress (32px en escritorio) tapaba el titulo "Tu
   carrito". Se desplaza el drawer hacia abajo solo en ese caso; para
   cualquier cliente (sin sesion) el drawer no se ve afectado. */
body.admin-bar .denkor-cart-drawer{ top: 32px; }
@media screen and (max-width: 782px){
	body.admin-bar .denkor-cart-drawer{ top: 46px; }
}
.denkor-cart-drawer__header{
	padding: 20px 22px;
	font-size: 17px;
}

/* Checkout: boton "Realizar el pedido" mucho mas grande y alineado a la
   izquierda para que sea el punto focal de la pagina. */
.woocommerce-checkout #payment .form-row.place-order{
	text-align: left !important;
	margin-top: 22px !important;
	padding: 0 !important;
}
.woocommerce-checkout #payment #place_order{
	float: none !important;
	display: block !important;
	width: 100%;
	max-width: 440px;
	padding: 20px 34px !important;
	font-size: 17px !important;
	letter-spacing: 0.3px;
}

/* -------------------------------------------------------------------------
   Buscador: Pofo lo abre como un overlay negro solido a pantalla completa
   con el placeholder en ingles. Se cambia por un fondo con blur (se sigue
   viendo la pagina detras, tenue) y una tarjeta compacta cerca del header,
   con look tecnologico igual al resto del sitio. El texto del placeholder
   se corrige por JS (denkor-reveal.js) porque el theme padre no lo permite
   traducir desde el admin.
   ---------------------------------------------------------------------- */
.mfp-bg.pofo-search-popup{
	background: rgba(6,20,13,0.6) !important;
	backdrop-filter: blur(10px) saturate(1.15);
	-webkit-backdrop-filter: blur(10px) saturate(1.15);
}
.mfp-wrap.pofo-search-popup .mfp-content{
	transform: translateY(-24vh);
}
@media (max-width: 767px){
	.mfp-wrap.pofo-search-popup .mfp-content{ transform: translateY(-30vh); }
}
.mfp-wrap.pofo-search-popup .search-form{
	max-width: 640px;
	width: calc(100% - 40px) !important;
	left: 50% !important;
	transform: translateX(-50%);
	background: linear-gradient(165deg, #12261a 0%, #0a1710 100%);
	border: 1px solid rgba(12,214,93,0.4);
	border-radius: var(--denkor-radius-lg);
	box-shadow: 0 24px 60px rgba(0,0,0,0.4);
	padding: 8px 24px;
}
.mfp-wrap.pofo-search-popup .search-input{
	font-family: var(--denkor-font-heading);
	font-size: 18px !important;
	padding: 16px 46px 16px 2px !important;
	border-bottom: 1.6px solid rgba(255,255,255,0.25) !important;
	color: #fff !important;
}
.mfp-wrap.pofo-search-popup .search-input::placeholder{ color: rgba(255,255,255,0.5); }
.mfp-wrap.pofo-search-popup .close-search{
	position: absolute !important;
	right: 4px !important;
	top: 50% !important;
	bottom: auto !important;
	width: 38px !important;
	height: 38px !important;
	padding: 0 !important;
	font-size: 16px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: var(--denkor-green) !important;
	transform: translateY(-50%);
	transition: transform .2s ease, background-color .2s ease;
}
.mfp-wrap.pofo-search-popup .close-search:hover{ transform: translateY(-50%) scale(1.1); background: rgba(12,214,93,0.15); }
.mfp-close{ color: var(--denkor-green) !important; }

/* -------------------------------------------------------------------------
   Tienda / Categorias: mismo lenguaje "tech-green" del hero (textura de
   puntos, degrade oscuro, brillo verde) aplicado al fondo de la pagina y a
   la barra lateral de filtros, que pasa de una lista plana a un panel
   oscuro tipo vidrio esmerilado.
   ---------------------------------------------------------------------- */
.denkor-shop{
	position: relative;
	overflow: hidden;
}
.denkor-shop::before{
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 460px;
	background: linear-gradient(180deg, #EAFBF1 0%, rgba(234,251,241,0) 100%);
	pointer-events: none;
}
.denkor-shop::after{
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 460px;
	background-image: radial-gradient(rgba(12,214,93,0.16) 1px, transparent 1.5px);
	background-size: 22px 22px;
	pointer-events: none;
}
.denkor-shop > .denkor-container{ position: relative; z-index: 1; }

.denkor-shop__title{ position: relative; }
.denkor-shop__title::after{
	content: "";
	display: block;
	width: 56px;
	height: 4px;
	margin-top: 12px;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--denkor-green) 0%, var(--denkor-green-dark) 100%);
}

.denkor-shop__sidebar{
	background: #ffffff;
	border: 1px solid rgba(12,214,93,0.3);
	box-shadow: 0 16px 40px rgba(15,30,20,0.08);
	position: relative;
	overflow: hidden;
}
.denkor-shop__sidebar::after{
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--denkor-green) 0%, var(--denkor-green-dark) 100%);
}
.denkor-shop__sidebar > *{ position: relative; z-index: 1; }
.denkor-shop__sidebar .denkor-filter-title{ color: var(--denkor-text-dark); }
.denkor-shop__sidebar .denkor-filter-title::before{ box-shadow: 0 0 8px rgba(12,214,93,0.5); }
.denkor-shop__sidebar a{ color: var(--denkor-text-dark); transition: color .2s ease; }

/* Cada categoria como su propio "boton": tarjeta individual verde claro
   (mismo tono translucido de la insignia "Denkor . Insumos y equipos
   dentales" del hero), con un brillo que recorre la tarjeta y una flecha
   que se desliza al pasar el mouse, para que se sienta interactiva. */
.denkor-shop__sidebar li{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
	background: var(--denkor-green-soft);
	border: 1px solid rgba(12,214,93,0.32);
	border-radius: var(--denkor-radius-sm);
	padding: 12px 14px;
	position: relative;
	overflow: hidden;
	transition: background-color .25s cubic-bezier(.16,1,.3,1), border-color .25s cubic-bezier(.16,1,.3,1), transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s ease;
}
.denkor-shop__sidebar li::before{
	content: "";
	position: absolute;
	top: 0; left: -60%;
	width: 40%; height: 100%;
	background: linear-gradient(120deg, transparent, rgba(255,255,255,0.85), transparent);
	transform: skewX(-20deg);
	transition: left .65s cubic-bezier(.16,1,.3,1);
	pointer-events: none;
}
.denkor-shop__sidebar li:hover::before{ left: 130%; }
.denkor-shop__sidebar li:last-child{ margin-bottom: 0; }
.denkor-shop__sidebar li:hover{
	background: rgba(12,214,93,0.16);
	border-color: var(--denkor-green);
	transform: translateX(3px);
	box-shadow: 0 10px 22px rgba(12,214,93,0.2);
}
.denkor-shop__sidebar a{ font-weight: 600; font-size: 13.5px; flex: 1; display: flex; align-items: center; }
.denkor-shop__sidebar a::after{
	content: "\2192";
	opacity: 0;
	margin-left: 6px;
	color: var(--denkor-green-darker);
	transform: translateX(-4px);
	transition: opacity .2s ease, transform .2s ease;
}
.denkor-shop__sidebar li:hover a::after{ opacity: 1; transform: translateX(0); }
.denkor-shop__sidebar li span{
	background: var(--denkor-green);
	border: 1px solid var(--denkor-green);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 9px;
	border-radius: 999px;
	flex: none;
}
.denkor-shop__sidebar li.current-cat{
	background: rgba(12,214,93,0.24);
	border-color: var(--denkor-green);
}
.denkor-shop__sidebar li.current-cat > a{ color: var(--denkor-green-darker); font-weight: 700; }
.denkor-shop__sidebar-hint{ color: var(--denkor-text); }
.denkor-shop__filters-toggle{
	background: #ffffff;
	border-color: rgba(12,214,93,0.4);
	color: var(--denkor-text-dark);
}

/* -------------------------------------------------------------------------
   Widget nativo de WooCommerce "Filtrar productos por precio": mismo
   lenguaje verde/blanco, control deslizante estilizado a mano (por defecto
   sale con el estilo generico de jQuery UI).
   ---------------------------------------------------------------------- */
.denkor-shop__sidebar .price_slider_wrapper{ margin-top: 4px; }
.denkor-shop__sidebar .price_slider{ margin-bottom: 20px; }
.denkor-shop__sidebar .ui-slider{
	position: relative;
	height: 5px;
	background: var(--denkor-border);
	border-radius: 999px;
	border: none;
}
.denkor-shop__sidebar .ui-slider .ui-slider-range{
	position: absolute;
	top: 0; height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--denkor-green) 0%, var(--denkor-green-dark) 100%);
}
.denkor-shop__sidebar .ui-slider .ui-slider-handle{
	position: absolute;
	top: 50%;
	width: 16px; height: 16px;
	margin-top: -8px; margin-left: -8px;
	background: #fff;
	border: 2px solid var(--denkor-green);
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(12,214,93,0.45);
	outline: none;
	transition: transform .15s ease;
}
.denkor-shop__sidebar .ui-slider .ui-slider-handle:hover,
.denkor-shop__sidebar .ui-slider .ui-slider-handle:focus{ transform: scale(1.15); }
.denkor-shop__sidebar .price_slider_amount{ display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.denkor-shop__sidebar .price_slider_amount .price_label{ font-size: 12.5px; color: var(--denkor-text-dark); }
.denkor-shop__sidebar .price_slider_amount button,
.denkor-shop__sidebar .price_slider_amount .button{
	background: var(--denkor-green) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 8px 16px !important;
	font-size: 12px !important;
}

/* -------------------------------------------------------------------------
   Entrada del hero: aparicion escalonada mas larga y suave (en vez de que
   todo el texto aparezca de golpe con la pagina).
   ---------------------------------------------------------------------- */
@keyframes denkorFadeUp{
	from{ opacity: 0; transform: translateY(26px); }
	to{ opacity: 1; transform: translateY(0); }
}
.denkor-hero__eyebrow{ animation: denkorFadeUp .8s cubic-bezier(.16,1,.3,1) both; }
.denkor-hero__title{ animation: denkorFadeUp .9s cubic-bezier(.16,1,.3,1) .1s both; }
.denkor-hero__subtitle{ animation: denkorFadeUp .9s cubic-bezier(.16,1,.3,1) .2s both; }
.denkor-hero__actions{ animation: denkorFadeUp .9s cubic-bezier(.16,1,.3,1) .3s both; }
@media (prefers-reduced-motion: reduce){
	.denkor-hero__eyebrow,
	.denkor-hero__title,
	.denkor-hero__subtitle,
	.denkor-hero__actions{ animation: none; }
}

/* ==========================================================================
   Ronda 5: lupa del buscador dentro de su cuadro, marcas mas grandes,
   footer sin el texto pegado a los iconos sociales, y una seccion nueva:
   "Selector inteligente" (busca por especialidad y recibe recomendaciones
   reales al instante, con la misma estetica tech del resto del sitio).
   ========================================================================== */

/* Footer: el texto bajo el logo Denkor y la fila de iconos sociales
   comparten exactamente la misma clase (ambos son widgets de texto), asi
   que se distinguen por posicion: el 2do hijo de esa columna es el texto,
   el 3ro son los iconos. */
.footer-widget-area .row > div:nth-child(1) > *:nth-child(2) .textwidget{
	font-size: 13px;
	line-height: 1.6;
	margin-bottom: 16px;
}
.footer-widget-area .row > div:nth-child(1) > *:nth-child(3){
	margin-top: 4px;
}

/* -------------------------------------------------------------------------
   Selector inteligente (home): misma estetica blanca + verde que la columna
   de categorias de la Tienda (tarjeta blanca, acento verde arriba, botones
   en verde claro con destello al pasar el mouse). Trae recomendaciones
   reales por categoria via AJAX (mismo endpoint del chat).
   ---------------------------------------------------------------------- */
.denkor-finder{ padding: 60px 0; }
.denkor-finder__card{
	position: relative;
	max-width: 980px;
	margin: 0 auto;
	background: #ffffff;
	border: 1px solid rgba(12,214,93,0.3);
	border-radius: var(--denkor-radius-lg);
	padding: 40px 26px;
	overflow: hidden;
	box-shadow: 0 16px 40px rgba(15,30,20,0.08);
}
@media (min-width: 700px){ .denkor-finder__card{ padding: 46px 44px; } }
/* Barra de acento verde arriba, igual que la columna de categorias. */
.denkor-finder__card::after{
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--denkor-green) 0%, var(--denkor-green-dark) 100%);
}
.denkor-finder__card > *{ position: relative; z-index: 1; }

.denkor-finder__eyebrow{
	display: inline-block;
	color: var(--denkor-green-darker);
	background: var(--denkor-green-soft);
	border: 1px solid rgba(12,214,93,0.4);
	font-family: var(--denkor-font-heading);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: 999px;
	margin-bottom: 16px;
}
.denkor-finder__card h2{
	color: var(--denkor-text-dark);
	font-family: var(--denkor-font-heading);
	font-weight: 700;
	font-size: 24px;
	line-height: 1.25;
	margin: 0 0 10px;
}
@media (min-width: 700px){ .denkor-finder__card h2{ font-size: 27px; } }
.denkor-finder__card > p{
	color: var(--denkor-text);
	max-width: 560px;
	margin: 0 0 30px;
	font-size: 15px;
	line-height: 1.6;
}

.denkor-finder__categories{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}
@media (min-width: 640px){ .denkor-finder__categories{ grid-template-columns: repeat(4, 1fr); } }
.denkor-finder__cat{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
	background: var(--denkor-green-soft);
	border: 1px solid rgba(12,214,93,0.32);
	border-radius: var(--denkor-radius);
	padding: 20px 12px;
	color: var(--denkor-text-dark);
	font-family: var(--denkor-font-heading);
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s cubic-bezier(.16,1,.3,1), background-color .25s ease, border-color .25s ease;
}
/* Destello que recorre el boton, igual que en la columna de categorias. */
.denkor-finder__cat::before{
	content: "";
	position: absolute;
	top: 0; left: -60%;
	width: 40%; height: 100%;
	background: linear-gradient(120deg, transparent, rgba(255,255,255,0.85), transparent);
	transform: skewX(-20deg);
	transition: left .65s cubic-bezier(.16,1,.3,1);
	pointer-events: none;
}
.denkor-finder__cat:hover::before{ left: 130%; }
.denkor-finder__cat svg{ width: 26px; height: 26px; color: var(--denkor-green-darker); flex: none; position: relative; z-index: 1; }
.denkor-finder__cat span{ position: relative; z-index: 1; }
.denkor-finder__cat:hover{
	background: rgba(12,214,93,0.16);
	border-color: var(--denkor-green);
	transform: translateY(-4px);
	box-shadow: 0 14px 28px rgba(12,214,93,0.2);
}

.denkor-finder__back{
	background: none;
	border: none;
	color: var(--denkor-green-darker);
	font-family: var(--denkor-font-heading);
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	padding: 0;
	margin-bottom: 18px;
}
.denkor-finder__back:hover{ text-decoration: underline; }
.denkor-finder__result-title{
	color: var(--denkor-text-dark);
	font-family: var(--denkor-font-heading);
	font-weight: 700;
	font-size: 17px;
	margin: 0 0 16px;
}

.denkor-finder__results{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}
@media (min-width: 640px){ .denkor-finder__results{ grid-template-columns: repeat(3, 1fr); } }
.denkor-finder__product{
	background: #fff;
	border: 1px solid var(--denkor-border);
	border-radius: var(--denkor-radius);
	padding: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.denkor-finder__product:hover{
	transform: translateY(-3px);
	border-color: var(--denkor-green);
	box-shadow: 0 14px 28px rgba(12,214,93,0.2);
	text-decoration: none;
}
.denkor-finder__product img{ width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 8px; background: var(--denkor-bg-alt); }
.denkor-finder__product-name{
	font-size: 12.5px;
	font-weight: 600;
	color: var(--denkor-text-dark);
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.denkor-finder__product-price{ font-size: 13px; font-weight: 700; color: var(--denkor-green-darker); }

.denkor-finder__cta{ grid-column: 1 / -1; justify-self: start; margin-top: 8px; }
.denkor-finder__empty{ color: var(--denkor-text); grid-column: 1 / -1; }

.denkor-finder__skeleton{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.denkor-finder__skeleton span{
	display: block;
	aspect-ratio: 1 / 1.4;
	border-radius: var(--denkor-radius);
	background: linear-gradient(100deg, var(--denkor-green-soft) 25%, rgba(12,214,93,0.22) 37%, var(--denkor-green-soft) 63%);
	background-size: 400% 100%;
	animation: denkorShimmer 1.3s ease infinite;
}
@keyframes denkorShimmer{
	0%{ background-position: 100% 0; }
	100%{ background-position: 0 0; }
}
@media (prefers-reduced-motion: reduce){ .denkor-finder__skeleton span{ animation: none; } }

/* ==========================================================================
   Ronda 6: paridad mobile / escritorio.
   Antes el header verde de marca solo se aplicaba en pantallas grandes
   (min-width: 992px), asi que en celular la franja de arriba del banner
   seguia saliendo blanca. Aqui se lleva el mismo verde a mobile y se
   ajustan todos los elementos que viven dentro del header para que sigan
   siendo legibles sobre verde (hamburguesa, menu desplegable, buscador).
   ========================================================================== */

@media (max-width: 991px){

	/* Franja del header en el verde de marca, igual que en escritorio. */
	#masthead .navbar,
	#masthead .navbar.navbar-default{
		background-color: var(--denkor-green) !important;
		border-color: transparent !important;
	}
	#masthead .site-title a,
	#masthead .navbar-brand,
	#masthead .navbar-brand a{ color: #fff !important; }

	/* Las tres rayitas del boton de menu, en blanco sobre el verde. */
	#masthead .navbar-toggle .icon-bar{
		background-color: #fff !important;
	}
	#masthead .navbar-toggle{
		border-color: rgba(255,255,255,0.5) !important;
		background: transparent !important;
	}

	/* Lupa del buscador en blanco. */
	#masthead .header-search-form,
	#masthead .header-search-form i{ color: #fff !important; }

	/* Menu desplegable: verde oscuro. Se eligio este tono midiendo el
	   contraste real del texto blanco encima: sobre el verde claro del
	   header daba 2.8:1 (ilegible, el minimo es 4.5:1), con el verde
	   oscuro de marca 4.46:1 (aun por debajo), y con este 4.99:1. El
	   submenu queda en 6.24:1. Se mantiene la identidad verde. */
	#masthead .navbar-collapse{
		background: #068138 !important;
		border-top: 1px solid rgba(255,255,255,0.22) !important;
		box-shadow: 0 12px 24px rgba(6,20,12,0.18);
	}
	#masthead .navbar-nav > li > a{
		color: #fff !important;
		/* Area tactil comoda: 48px de alto minimo por opcion. */
		padding: 14px 20px !important;
		line-height: 1.4 !important;
		border-bottom: 1px solid rgba(255,255,255,0.14);
	}
	#masthead .navbar-nav > li:last-child > a{ border-bottom: none; }
	#masthead .navbar-nav > li > a:hover,
	#masthead .navbar-nav > li.current-menu-item > a{
		color: #fff !important;
		background: rgba(255,255,255,0.1) !important;
	}
	#masthead .navbar-nav > li > i.dropdown-toggle,
	#masthead .navbar-nav li i.dropdown-toggle{ color: #fff !important; }

	/* Submenu de categorias dentro del menu movil, un paso mas oscuro
	   para diferenciarlo del nivel principal. */
	#masthead .navbar-nav .dropdown-menu,
	#masthead .navbar-nav ul.dropdown-menu{
		background: #05702F !important;
		border: none !important;
		box-shadow: none !important;
	}
	#masthead .navbar-nav .dropdown-menu li a{
		color: rgba(255,255,255,0.94) !important;
		padding: 12px 20px 12px 32px !important;
		border-bottom: 1px solid rgba(255,255,255,0.1);
	}
	#masthead .navbar-nav .dropdown-menu li:last-child a{ border-bottom: none; }

	/* El subrayado animado de escritorio no aporta en el menu apilado de
	   mobile (saldria de lado a lado): se desactiva. */
	#masthead .navbar-nav > li > a::after{ display: none !important; }
}

/* -------------------------------------------------------------------------
   Ajustes de lectura en pantallas chicas: mismos colores y estilos que en
   escritorio, solo mejor repartidos para que nada quede amontonado.
   ---------------------------------------------------------------------- */
@media (max-width: 767px){

	/* Selector inteligente: 2 columnas y algo menos de aire interno. */
	.denkor-finder{ padding: 44px 0; }
	.denkor-finder__card{ padding: 30px 20px; }
	.denkor-finder__card h2{ font-size: 21px; }
	.denkor-finder__card > p{ font-size: 14px; margin-bottom: 24px; }
	.denkor-finder__cat{ padding: 16px 10px; font-size: 12.5px; }
	.denkor-finder__results{ grid-template-columns: repeat(2, 1fr); }
	.denkor-finder__skeleton{ grid-template-columns: repeat(2, 1fr); }
	.denkor-finder__cta{ justify-self: stretch; text-align: center; }

	/* Barra de confianza: las tarjetas quedan una debajo de otra, legibles. */
	.denkor-trust-bar__item{ padding: 12px 14px; }

	/* Marcas: en celular no hace falta que sean tan altas. */
	.denkor-brands__track{ gap: 44px; }
	.denkor-brands__track img{ height: 58px; max-width: 150px; }

	/* Columna de categorias de la Tienda: mismo estilo blanco + verde. */
	.denkor-shop__sidebar{ padding: 16px; }

	/* Ficha de producto: el selector de cantidad y el boton, uno debajo del
	   otro y a todo el ancho, para que no queden apretados. */
	.single-product div.product form.cart{ gap: 12px; }
	.single-product div.product form.cart .quantity,
	.single-product div.product form.cart .qty{ width: 100%; }
	.single-product div.product form.cart .single_add_to_cart_button{
		width: 100%;
		justify-content: center;
	}

	/* Checkout: boton de pedido a todo el ancho.
	   El theme padre (responsive.css) fuerza width:auto en mobile con la
	   misma especificidad que nuestra regla pero cargando despues, asi que
	   el boton quedaba angosto (264px de 345 disponibles). Se gana con
	   !important, que aqui si esta justificado. */
	.woocommerce-checkout #payment #place_order{
		width: 100% !important;
		max-width: none !important;
	}
}

/* ==========================================================================
   Ronda 7: ficha de producto rediseñada para vender.
   Fuera el collage de logos de bancos y el boton de WhatsApp que sacaba al
   cliente de la tienda; en su lugar, una jerarquia clara: precio -> comprar
   -> razones para confiar -> crear cuenta.
   ========================================================================== */

/* --- Precio como protagonista --- */
.single-product .summary .price{
	font-family: var(--denkor-font-heading);
	font-size: 32px !important;
	font-weight: 700;
	line-height: 1.1;
	margin: 6px 0 14px;
	display: block;
}
.single-product .summary .price del{ font-size: 18px; }
.single-product .summary .product_title{
	font-size: 27px;
	line-height: 1.25;
	margin-bottom: 4px;
}

/* --- Botonera de compra --- */
.single-product div.product form.cart{
	align-items: stretch;
	gap: 12px;
	padding: 20px;
	background: var(--denkor-bg-alt);
	border: 1px solid var(--denkor-border);
	border-radius: var(--denkor-radius);
}
.single-product div.product form.cart .single_add_to_cart_button{
	flex: 1 1 auto;
	background: #fff !important;
	color: var(--denkor-green-darker) !important;
	border: 2px solid var(--denkor-green) !important;
}
.single-product div.product form.cart .single_add_to_cart_button:hover{
	background: var(--denkor-green-soft) !important;
	color: var(--denkor-green-darker) !important;
}

/* "Comprar ahora": la accion principal, en verde lleno */
.denkor-buy-now{
	flex: 1 1 auto;
	min-height: 50px;
	padding: 0 30px;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	font-family: var(--denkor-font-heading);
	font-weight: 700;
	font-size: 15px;
	color: #fff;
	background: linear-gradient(135deg, var(--denkor-green) 0%, var(--denkor-green-dark) 100%);
	box-shadow: 0 8px 20px rgba(12,214,93,0.35);
	transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s ease;
}
.denkor-buy-now:hover{
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(12,214,93,0.42);
}
.denkor-buy-now.is-loading{ opacity: .7; pointer-events: none; }

/* --- Bloque de confianza (reemplaza al collage de bancos) --- */
.denkor-buy-trust{ margin-top: 20px; }
.denkor-buy-trust__list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}
@media (max-width: 600px){
	.denkor-buy-trust__list{ grid-template-columns: 1fr; }
}
.denkor-buy-trust__list li{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	background: #fff;
	border: 1px solid var(--denkor-border);
	border-radius: var(--denkor-radius-sm);
	padding: 12px 14px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.denkor-buy-trust__list li:hover{
	border-color: rgba(12,214,93,0.5);
	box-shadow: 0 6px 16px rgba(12,214,93,0.12);
}
.denkor-buy-trust__list svg{
	flex: none;
	width: 30px; height: 30px;
	padding: 6px;
	box-sizing: border-box;
	border-radius: 50%;
	background: var(--denkor-green-soft);
	border: 1px solid rgba(12,214,93,0.35);
	color: var(--denkor-green-darker);
}
.denkor-buy-trust__list span{
	font-size: 12.5px;
	color: var(--denkor-text);
	line-height: 1.45;
}
.denkor-buy-trust__list strong{
	display: block;
	font-family: var(--denkor-font-heading);
	font-size: 13px;
	color: var(--denkor-text-dark);
	margin-bottom: 1px;
}

/* --- Invitacion a crear cuenta --- */
.denkor-account-cta{
	margin-top: 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	background: linear-gradient(135deg, var(--denkor-green-soft) 0%, rgba(12,214,93,0.08) 100%);
	border: 1px dashed rgba(12,214,93,0.5);
	border-radius: var(--denkor-radius);
	padding: 16px 18px;
}
.denkor-account-cta__text{ flex: 1 1 220px; }
.denkor-account-cta strong{
	display: block;
	font-family: var(--denkor-font-heading);
	font-size: 14px;
	color: var(--denkor-text-dark);
	margin-bottom: 3px;
}
.denkor-account-cta span{
	font-size: 12.5px;
	color: var(--denkor-text);
	line-height: 1.5;
}
.denkor-btn--outline-green{
	background: #fff;
	border: 2px solid var(--denkor-green);
	color: var(--denkor-green-darker);
	white-space: nowrap;
}
.denkor-btn--outline-green:hover{
	background: var(--denkor-green);
	color: #fff;
}

/* --- Se oculta cualquier resto del boton de WhatsApp en la ficha --- */
.single-product .joinchat__woo-btn__wrapper,
.single-product .joinchat__woo-btn{ display: none !important; }

/* --- Mobile: los dos botones de compra, uno debajo del otro --- */
@media (max-width: 767px){
	.single-product div.product form.cart{ padding: 16px; }
	.denkor-buy-now{ width: 100%; }
	.single-product .summary .price{ font-size: 28px !important; }
	.denkor-account-cta{ flex-direction: column; align-items: stretch; }
	.denkor-btn--outline-green{ justify-content: center; }
}

/* ==========================================================================
   Ronda 8: checkout con la identidad de la tienda.
   Antes era el checkout gris por defecto de WooCommerce, con el nombre
   interno de la pasarela a la vista. Ahora sigue el mismo lenguaje
   blanco + verde del resto y guia al cliente hasta el pago.
   ========================================================================== */

/* --- Franja de confianza (arriba del formulario y del carrito) --- */
.denkor-checkout-trust{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin: 0 0 24px;
}
@media (max-width: 900px){ .denkor-checkout-trust{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px){ .denkor-checkout-trust{ grid-template-columns: 1fr; } }
.denkor-checkout-trust__item{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	background: #fff;
	border: 1px solid rgba(12,214,93,0.28);
	border-radius: var(--denkor-radius-sm);
	padding: 12px 14px;
}
.denkor-checkout-trust__item svg{
	flex: none;
	width: 30px; height: 30px;
	padding: 6px;
	box-sizing: border-box;
	border-radius: 50%;
	background: var(--denkor-green-soft);
	border: 1px solid rgba(12,214,93,0.35);
	color: var(--denkor-green-darker);
}
.denkor-checkout-trust__item span{ font-size: 12px; color: var(--denkor-text); line-height: 1.45; }
.denkor-checkout-trust__item strong{
	display: block;
	font-family: var(--denkor-font-heading);
	font-size: 12.5px;
	color: var(--denkor-text-dark);
}

/* --- Invitacion a crear cuenta --- */
.denkor-checkout-account{
	display: flex;
	align-items: flex-start;
	gap: 14px;
	background: linear-gradient(135deg, var(--denkor-green-soft) 0%, rgba(12,214,93,0.08) 100%);
	border: 1px dashed rgba(12,214,93,0.55);
	border-radius: var(--denkor-radius);
	padding: 16px 18px;
	margin-bottom: 24px;
}
.denkor-checkout-account__icon svg{
	width: 36px; height: 36px;
	padding: 8px;
	box-sizing: border-box;
	border-radius: 50%;
	background: #fff;
	border: 1px solid rgba(12,214,93,0.4);
	color: var(--denkor-green-darker);
}
.denkor-checkout-account strong{
	display: block;
	font-family: var(--denkor-font-heading);
	font-size: 14.5px;
	color: var(--denkor-text-dark);
	margin-bottom: 3px;
}
.denkor-checkout-account span{ font-size: 13px; color: var(--denkor-text); line-height: 1.55; }
.denkor-checkout-account em{ color: var(--denkor-green-darker); font-style: normal; font-weight: 600; }

/* --- Titulos y campos del formulario --- */
.woocommerce-checkout h3{
	font-family: var(--denkor-font-heading);
	font-size: 18px;
	color: var(--denkor-text-dark);
	padding-bottom: 10px;
	margin-bottom: 18px;
	border-bottom: 2px solid var(--denkor-green-soft);
	position: relative;
}
.woocommerce-checkout h3::after{
	content: "";
	position: absolute;
	left: 0; bottom: -2px;
	width: 48px; height: 2px;
	background: var(--denkor-green);
}
.woocommerce-checkout .form-row label{
	font-size: 13px;
	font-weight: 600;
	color: var(--denkor-text-dark);
	margin-bottom: 5px;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection--single{
	border: 1.5px solid var(--denkor-border) !important;
	border-radius: var(--denkor-radius-sm) !important;
	padding: 11px 14px !important;
	font-size: 14px;
	min-height: 46px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus{
	border-color: var(--denkor-green) !important;
	box-shadow: 0 0 0 3px rgba(12,214,93,0.15);
	outline: none;
}

/* --- Aviso de "ya tienes cuenta" y casilla de crear cuenta --- */
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info{
	background: var(--denkor-green-soft) !important;
	border-top: 3px solid var(--denkor-green) !important;
	border-radius: var(--denkor-radius-sm);
	color: var(--denkor-text-dark) !important;
}
.woocommerce-form-login-toggle .woocommerce-info a,
.woocommerce-form-coupon-toggle .woocommerce-info a{
	color: var(--denkor-green-darker) !important;
	font-weight: 700;
}
.woocommerce-account-fields{
	background: #fff;
	border: 2px solid var(--denkor-green);
	border-radius: var(--denkor-radius);
	padding: 16px 18px;
	margin: 18px 0;
}
.woocommerce-account-fields label{ font-size: 14px !important; font-weight: 700 !important; }
.woocommerce-account-fields .create-account{ margin-top: 10px; }

/* --- Resumen del pedido --- */
.woocommerce-checkout-review-order-table{
	border: 1px solid var(--denkor-border) !important;
	border-radius: var(--denkor-radius);
	overflow: hidden;
	background: #fff;
}
.woocommerce-checkout-review-order-table thead th{
	background: var(--denkor-green-soft) !important;
	color: var(--denkor-text-dark) !important;
	font-family: var(--denkor-font-heading);
	font-size: 13px;
	padding: 12px 14px !important;
}
.woocommerce-checkout-review-order-table .order-total .amount{
	color: var(--denkor-green-darker) !important;
	font-size: 20px;
	font-weight: 700;
}

/* --- Bloque de pago --- */
.woocommerce-checkout #payment{
	background: var(--denkor-bg-alt) !important;
	border: 1px solid var(--denkor-border);
	border-radius: var(--denkor-radius) !important;
}
.woocommerce-checkout #payment ul.payment_methods li{
	border-bottom: 1px solid var(--denkor-border);
	padding: 12px 0;
}
.woocommerce-checkout #payment ul.payment_methods label{
	font-weight: 600;
	color: var(--denkor-text-dark);
}

/* --- Boton final: verde de marca, el paso mas importante --- */
.woocommerce-checkout #payment #place_order{
	background: linear-gradient(135deg, var(--denkor-green) 0%, var(--denkor-green-dark) 100%) !important;
	color: #fff !important;
	box-shadow: 0 10px 24px rgba(12,214,93,0.35);
	transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s ease;
}
.woocommerce-checkout #payment #place_order:hover{
	transform: translateY(-2px);
	box-shadow: 0 16px 32px rgba(12,214,93,0.42);
}
