/*
 * HEROS · Modo fácil (vendedores)
 * Letra grande, botones grandes, alto contraste y uso de toda la pantalla.
 * Va después de heros-portal.css: solo cambia cómo se ve, no qué hace.
 */

:root{
	--h-text:#1f2937;
	--h-muted:#4b5563;
	--h-line:#d7dbe3;
	--h-nav-h:84px;
	--g-gutter:clamp(12px,2.4vw,32px);
	--g-btn:56px;
	--g-input:56px;
}

/* ---------- Base: letra grande y legible ---------- */
html{font-size:100%}
html body{font-size:18px;line-height:1.55;color:var(--h-text)}
html body p,html body li,html body td,html body th,html body span,html body label{letter-spacing:0}
html body small{font-size:15px}

/* Más fluido en celulares y tablets sencillas: sin efectos costosos */
html body .botones-flotantes,
html body .xoo-wsc-opac,
html body.login #login form#loginform{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body ul.products li.product,
html body ul.products li.product:hover,
html body ul.products li.product .astra-shop-thumbnail-wrap img,
html body ul.products li.product:hover .astra-shop-thumbnail-wrap img,
html body ul.products li.product-category:hover img{transform:none!important;transition:none!important}

/* ---------- Toda la pantalla ---------- */
html body .ast-container,
html body .site-content > .ast-container,
html body #masthead .ast-container,
html body .site-header .ast-builder-grid-row,
html body #content .ast-container{
	max-width:100%!important;
	width:100%!important;
	padding-left:var(--g-gutter)!important;
	padding-right:var(--g-gutter)!important;
	box-sizing:border-box;
}
html body #primary,html body .content-area{width:100%!important;max-width:100%!important;float:none!important;padding:0!important}
html body #primary{margin-top:16px!important;margin-bottom:16px!important}
html body .entry-content > *,html body .entry-content .woocommerce{max-width:100%!important}
html body #secondary{display:none!important}

/* ---------- Encabezado: un solo logo y más espacio útil ---------- */
html body.ast-header-break-point #ast-desktop-header{display:none!important}
html body:not(.ast-header-break-point) #ast-mobile-header{display:none!important}
html body #masthead .custom-logo-link img,html body #masthead .custom-logo{max-height:66px!important}
html body #masthead .site-above-header-wrap,
html body #masthead .ast-primary-header-bar .ast-builder-grid-row{padding-top:6px!important;padding-bottom:4px!important}
html body #fecha-hora{font-size:15px!important;padding:8px 12px!important;color:#fff!important}

/* Buscador grande */
html body .aws-container{padding:8px var(--g-gutter) 14px!important}
html body .aws-container .aws-search-form{max-width:900px!important;height:58px!important;border:2px solid var(--h-line)!important}
html body .aws-container .aws-search-form .aws-search-field{font-size:19px!important;padding:0 20px!important}
html body .aws-container .aws-search-form .aws-search-field::placeholder{color:#6b7280;opacity:1}
html body .aws-container .aws-search-form .aws-form-btn{padding:0 18px!important}
html body .aws-container .aws-search-form .aws-search-btn_icon svg{width:24px!important;height:24px!important}
html body .aws-search-result{font-size:17px!important}
html body .aws-search-result ul li{padding:10px 12px!important}
html body .aws-search-result .aws_result_title{font-size:17px!important}
html body .aws-search-result .aws_result_price{font-size:17px!important;font-weight:800}
html body .aws-search-result .aws_result_image img{width:64px!important;height:64px!important;object-fit:contain}

/* Títulos */
html body h1.entry-title,
html body .woocommerce-products-header__title.page-title,
html body .ast-archive-title{font-size:clamp(28px,4.5vw,40px)!important}
html body .entry-header{margin-bottom:12px!important}

/* ---------- Botones grandes ---------- */
html body button,
html body .button,
html body .btn,
html body .woocommerce-button,
html body a.button,
html body input[type="submit"],
html body input[type="button"],
html body .woocommerce a.button,
html body .woocommerce button.button,
html body .woocommerce button.button.alt{
	min-height:var(--g-btn)!important;
	padding:12px 22px!important;
	font-size:18px!important;
	border-radius:14px!important;
}
html body button:focus-visible,html body .button:focus-visible,html body a:focus-visible{outline:4px solid #f59e0b!important;outline-offset:2px!important}

/* ---------- Campos grandes ---------- */
html body input[type="text"],html body input[type="email"],html body input[type="tel"],
html body input[type="password"],html body input[type="number"],html body input[type="search"],
html body input[type="url"],html body input[type="date"],html body select,html body textarea,
html body .select2-container--default .select2-selection--single{
	min-height:var(--g-input)!important;
	font-size:18px!important;
	border:2px solid #c9ced8!important;
	border-radius:12px!important;
	padding:12px 14px!important;
	color:#111827!important;
}
html body .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:28px!important;font-size:18px}
html body .select2-container--default .select2-selection--single .select2-selection__arrow{height:52px!important}
html body .select2-results__option{font-size:18px;padding:10px 12px}
html body textarea{min-height:80px}
html body label,html body .woocommerce form .form-row label{font-size:17px!important;font-weight:700!important;color:#111827!important}
html body .woocommerce form .form-row{margin-bottom:18px!important}
html body input[type="file"]{font-size:17px!important;min-height:auto!important;padding:8px 0!important;border:0!important;box-shadow:none!important}
html body input[type="file"]::file-selector-button{font-size:17px;padding:12px 18px;margin-right:12px;border-radius:12px;border:2px solid var(--h-line);background:#fff;cursor:pointer}
html body input[type="checkbox"],html body input[type="radio"]{width:24px;height:24px}

/* Avisos más claros */
html body .woocommerce-message,html body .woocommerce-info,html body .woocommerce-error{font-size:18px!important;padding:18px 20px 18px 56px!important}
html body .woocommerce-error li{font-size:18px!important}

/* ---------- Catálogo: tarjetas grandes y claras ---------- */
html body.woocommerce ul.products,
html body .woocommerce ul.products,
html body.woocommerce-page ul.products{
	grid-template-columns:repeat(auto-fill,minmax(290px,1fr))!important;
	gap:18px!important;
}
/* Las tarjetas que no están en pantalla no se dibujan hasta que se acercan: la lista se mueve fluida */
html body ul.products li.product:not(.product-category){content-visibility:auto;contain-intrinsic-size:auto 760px}
html body ul.products li.product{padding:14px!important;border:2px solid var(--h-line)!important;box-shadow:none!important}
html body ul.products li.product .astra-shop-thumbnail-wrap img{max-height:340px}
html body ul.products li.product .woocommerce-loop-product__title{font-size:20px!important;line-height:1.3!important;font-weight:800!important}
html body ul.products li.product .ast-woo-shop-product-description,
html body ul.products li.product .ast-woo-shop-product-description p{font-size:17px!important;color:var(--h-text)!important}
html body ul.products li.product .product-sku{font-size:16px!important;font-weight:700!important;color:#111827!important;margin-top:10px}
html body ul.products li.product .stock{font-size:16px!important;padding:6px 14px!important}
html body ul.products li.product .stock span{width:11px!important;height:11px!important}
html body ul.products li.product .price,
html body ul.products li.product .price .amount,
html body ul.products li.product .price bdi{font-size:25px!important;font-weight:900!important}
html body ul.products li.product .price del{font-size:17px!important;opacity:.7}
html body ul.products li.product form.cart{gap:12px!important;padding-top:14px!important;border-top:2px dashed var(--h-line)!important}
html body ul.products li.product form.cart .h-variacion{font-size:18px!important;min-height:56px!important;padding:10px 40px 10px 14px!important}
html body ul.products li.product .product-note label{font-size:16px!important;font-weight:700!important;color:#111827!important}
html body ul.products li.product .product-note textarea{min-height:64px!important;height:64px;font-size:17px!important}
html body ul.products li.product form.cart button,
html body ul.products li.product .button{min-height:60px!important;font-size:19px!important;font-weight:800!important}
html body .woocommerce-result-count{font-size:17px!important;color:var(--h-text)!important}
html body .woocommerce-ordering select{min-height:52px!important;font-size:17px!important}

/* Cantidad con botones − y + */
html body .quantity.h-cant{display:flex!important;align-items:stretch;justify-content:center;gap:0;margin:0 auto!important}
html body .h-cant-label{display:block;text-align:center!important;font-size:16px;font-weight:700;color:#111827;margin:0 0 -4px}
html body .quantity.h-cant .qty{
	width:96px!important;min-height:58px!important;height:58px;font-size:24px!important;font-weight:800!important;
	text-align:center!important;border-radius:0!important;border-left:0!important;border-right:0!important;
	-moz-appearance:textfield;padding:0 4px!important;
}
html body .quantity.h-cant .qty::-webkit-outer-spin-button,html body .quantity.h-cant .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
html body .quantity.h-cant .h-menos,html body .quantity.h-cant .h-mas{
	width:58px!important;min-width:58px;min-height:58px!important;height:58px;padding:0!important;
	font-size:30px!important;font-weight:800!important;line-height:1!important;
	background:#f3f4f6!important;background-image:none!important;color:#111827!important;
	border:2px solid #c9ced8!important;box-shadow:none!important;
}
html body .quantity.h-cant .h-menos{border-radius:14px 0 0 14px!important}
html body .quantity.h-cant .h-mas{border-radius:0 14px 14px 0!important}
html body .quantity.h-cant .h-menos:active,html body .quantity.h-cant .h-mas:active{background:#e5e7eb!important}

/* Categorías del catálogo */
html body ul.products li.product-category .woocommerce-loop-category__title{font-size:20px!important;padding:16px 12px!important}
html body ul.products li.product-category .woocommerce-loop-category__title .count{font-size:16px!important;color:var(--h-text)!important}

/* Página de producto */
html body.single-product div.product{padding:20px!important;border:2px solid var(--h-line)!important}
html body.single-product .product_title{font-size:clamp(26px,3.6vw,36px)!important}
html body.single-product div.product p.price,html body.single-product div.product span.price{font-size:32px!important}
html body.single-product .woocommerce-product-details__short-description,html body.single-product .product_meta,html body.single-product .product_meta > span{font-size:18px!important}
html body.single-product div.product form.cart .single_add_to_cart_button{min-height:60px!important;font-size:19px!important}

/* ---------- Mi oficina (Mi cuenta) ---------- */
html body #my-account-menu{flex:0 0 300px!important;width:300px!important;padding:20px!important;border:2px solid var(--h-line)!important}
html body #my-account-menu .user-info .username{font-size:21px!important}
html body #my-account-menu .user-info .user-email{font-size:15px!important;color:var(--h-text)!important}
html body #my-account-menu .user-info .logout a{font-size:14px!important;padding:10px 16px!important}
html body #my-account-menu ul.myaccount-menu li a{font-size:19px!important;padding:14px 14px!important;min-height:60px}
html body #my-account-menu ul.myaccount-menu li a .item-icon{width:40px;height:40px;flex:0 0 40px;font-size:19px}
html body .woocommerce-MyAccount-content{padding:clamp(16px,2.5vw,32px)!important;font-size:18px!important;border:2px solid var(--h-line)!important}
html body .woocommerce-MyAccount-content > p:first-of-type{font-size:20px!important}

/* Panel "Mi oficina" */
html body .hv{font-size:18px!important}
html body .hv .hv-sub{font-size:23px!important;margin:28px 0 12px!important}
html body .hv .hv-btn{min-height:56px!important;padding:12px 20px!important;font-size:18px!important}
html body .hv-kpi{padding:18px!important;border-width:2px!important}
html body .hv-kpi span{font-size:17px!important;color:var(--h-text)!important;font-weight:700}
html body .hv-kpi small,html body .hv-kpi .hv-up,html body .hv-kpi .hv-down,html body .hv-kpi .hv-eq{font-size:15px!important;font-weight:700}
html body .hv .hv-chip{font-size:17px!important;padding:10px 16px!important}
html body .hv-aviso{font-size:18px!important;padding:16px 18px!important;border-width:2px!important}
html body .hv-buscar{min-height:60px!important;font-size:19px!important;border-width:2px!important}
html body .hv .hv-orden{font-size:17px!important}
html body .hv .hv-orden button{font-size:17px!important;padding:10px 16px!important}
html body .hv-lista{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))!important;gap:14px!important}
html body .hv-cli{padding:18px!important;border-width:2px!important}
html body .hv-cli-top strong{font-size:21px!important}
html body .hv-emp,html body .hv-dato{font-size:16px!important;color:var(--h-text)!important}
html body .hv-doc{font-size:15px!important;padding:6px 12px!important}
html body .hv-cli-num{font-size:17px!important;color:var(--h-text)!important;gap:6px 20px!important}
html body .hv-cli-acc .hv-btn{min-height:44px!important;font-size:16px!important;padding:8px 14px!important;flex:1 1 auto}
html body .hv .hv-cli-acc{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important}
html body .hv .hv-cli-acc .hv-btn{width:auto!important;margin:0!important}
html body .hv-tabla{font-size:17px!important}
html body .hv-tabla th,html body .hv-tabla td{padding:10px!important}

/* Tablas de pedidos */
html body table.shop_table th,html body .woocommerce table.shop_table th{font-size:15px!important;color:#111827!important}
html body table.shop_table td,html body .woocommerce table.shop_table td{font-size:17px!important}
html body .woocommerce-orders-table__cell-order-number a{font-size:19px!important}
html body .woocommerce-orders-table__cell-order-status{font-size:17px!important}
html body .woocommerce-orders-table__cell-order-actions .button,
html body .woocommerce-MyAccount-content table .button{min-height:50px!important;font-size:17px!important;padding:10px 16px!important}

/* ---------- Finalizar pedido ---------- */
html body #cliente-rutcc-block{max-width:760px!important;padding:26px 22px!important;border:2px solid var(--h-line)!important}
html body #cliente-rutcc-block label{font-size:21px!important}
html body #cliente-rutcc-block input[type="text"]{max-width:340px!important;width:100%!important;min-height:64px!important;font-size:26px!important;font-weight:800!important;letter-spacing:.04em}
html body #cliente-rutcc-block #cliente_rutcc_search{min-height:64px!important;font-size:20px!important;padding:12px 28px!important;margin-top:8px}
html body #cliente-rutcc-block #cliente_rutcc_status{display:block;margin:12px 0 0!important;font-size:19px!important;font-weight:800}
html body #cliente-rutcc-block #cliente_rutcc_aviso{font-size:16px!important}
html body #cliente-rutcc-block #cliente_rutcc_nota{font-size:18px!important;font-weight:700}
html body #cliente-rutcc-block #cliente_rutcc_view{font-size:18px!important}
html body.woocommerce-checkout #customer_details,html body.woocommerce-checkout #order_review{border-width:2px!important}
html body.woocommerce-checkout #order_review table.shop_table td,html body.woocommerce-checkout #order_review table.shop_table th{font-size:17px!important}
html body.woocommerce-checkout #order_review .order-total td,html body.woocommerce-checkout #order_review .order-total th{font-size:22px!important;font-weight:900!important}
html body.woocommerce-checkout #place_order{min-height:68px!important;font-size:22px!important;font-weight:900!important}
html body.woocommerce-checkout #payment ul.payment_methods li label{font-size:18px!important}

/* ---------- Pedido en curso (carrito lateral) ---------- */
html body .xoo-wsc-container,html body .xoo-wsc-slider{max-width:560px!important;width:100vw!important;right:-560px}
html body .xoo-wsch-text{font-size:23px!important}
html body span.xoo-wsch-close{width:48px!important;height:48px!important;font-size:20px!important}
html body .xoo-wsc-pname,html body .xoo-wsc-pname a{font-size:19px!important;line-height:1.3!important}
html body .xoo-wsc-product,html body .xoo-wsc-product *{font-size:17px}
html body .xoo-wsc-product .amount{font-size:19px!important;font-weight:800}
html body .xoo-wsc-qty-price,html body .xoo-wsc-pprice{font-size:17px!important}
html body .xoo-wsc-qty-box{min-height:48px}
html body .xoo-wsc-qty-box .xoo-wsc-chng{width:46px!important;font-size:22px!important}
html body .xoo-wsc-qty-box input.xoo-wsc-qty{font-size:19px!important;min-height:46px!important;width:64px!important}
html body .xoo-wsc-smr-del,html body .xoo-wsc-icon-trash{font-size:22px!important}
html body .xoo-wsc-ft-totals,html body .xoo-wsc-ft-totals *{font-size:19px!important}
html body .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn,html body .xoo-wsc-container .xoo-wsc-btn{min-height:60px!important;font-size:19px!important}
html body .xoo-wsc-empty-cart > span{font-size:20px!important}

/* ---------- Barra inferior: grande, a todo el ancho y con nombres ---------- */
html body{padding-bottom:calc(var(--h-nav-h) + 20px + env(safe-area-inset-bottom))!important}
html body .botones-flotantes{
	left:0!important;right:0!important;bottom:0!important;transform:none!important;
	width:100%!important;max-width:100%!important;
	display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));
	gap:6px!important;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom))!important;
	border-radius:0!important;border:0!important;border-top:2px solid var(--h-line)!important;
	background:#fff!important;box-shadow:0 -6px 20px rgba(16,24,40,.12)!important;
}
html body .botones-flotantes .boton{
	flex-direction:column!important;gap:4px!important;min-height:68px!important;padding:6px 4px!important;
	font-size:16px!important;font-weight:800!important;white-space:nowrap;text-align:center!important;border-radius:14px!important;
}
html body .botones-flotantes .boton .h-ico{font-size:28px!important}
html body .botones-flotantes .boton img.emoji{width:28px!important;height:28px!important}
html body .botones-flotantes .boton-volver::after{content:"Atrás";font-size:16px;font-weight:800}
html body .botones-flotantes .boton-carrito .h-badge{top:2px!important;right:calc(50% - 40px)!important;min-width:28px!important;height:28px!important;font-size:16px!important}
html body #ast-scroll-top{bottom:calc(var(--h-nav-h) + 24px)!important;width:54px!important;height:54px!important;line-height:54px!important}

/* Mensaje "Agregado al pedido" */
.h-toast{
	position:fixed;left:50%;bottom:calc(var(--h-nav-h) + 24px + env(safe-area-inset-bottom));transform:translate(-50%,20px);
	z-index:100000;max-width:calc(100vw - 32px);padding:16px 24px;border-radius:16px;
	background:#166534;color:#fff;font-size:20px;font-weight:800;line-height:1.3;text-align:center;
	box-shadow:0 12px 32px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;
}
.h-toast.h-visible{opacity:1;transform:translate(-50%,0)}

/* ---------- Pantallas medianas y pequeñas ---------- */
@media (max-width:921px){
	html body #my-account-menu{width:100%!important;flex:none!important}
	html body #my-account-menu ul.myaccount-menu{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible!important;gap:8px!important}
	html body #my-account-menu ul.myaccount-menu li a{justify-content:flex-start!important;font-size:18px!important;min-height:60px;white-space:normal!important}
	html body .hv-lista{grid-template-columns:1fr!important}
}
@media (max-width:600px){
	:root{--h-nav-h:80px}
	html body{font-size:17px}
	html body.woocommerce ul.products,
	html body .woocommerce ul.products,
	html body.woocommerce-page ul.products{grid-template-columns:1fr!important;gap:14px!important}
	html body ul.products li.product .astra-shop-thumbnail-wrap img{max-height:300px}
	html body ul.products li.product .woocommerce-loop-product__title{font-size:20px!important}
	html body ul.products li.product .price,
	html body ul.products li.product .price .amount,
	html body ul.products li.product .price bdi{font-size:25px!important}
	html body ul.products li.product .stock{font-size:16px!important}
	html body ul.products li.product .product-sku{font-size:16px!important}
	html body ul.products li.product-category .woocommerce-loop-category__title{font-size:18px!important}
	html body .woocommerce ul.products:has(li.product-category){grid-template-columns:repeat(2,minmax(0,1fr))!important}
	html body #masthead .custom-logo-link img,html body #masthead .custom-logo{max-height:54px!important}
	html body #fecha-hora{font-size:14px!important}
	html body .botones-flotantes{gap:2px!important;padding-left:4px!important;padding-right:4px!important}
	html body .botones-flotantes .boton{font-size:13.5px!important;min-height:64px!important}
	html body .botones-flotantes .boton-volver::after{font-size:13.5px}
	html body .botones-flotantes .boton .h-ico{font-size:26px!important}
	html body .hv-lista{grid-template-columns:1fr!important}
	html body #cliente-rutcc-block input[type="text"]{max-width:none!important}
	html body table.shop_table_responsive tbody tr td,html body table.shop_table_responsive tbody tr th{font-size:17px!important}
	html body table.shop_table_responsive tbody tr td::before,html body table.shop_table_responsive tbody tr th::before{font-size:14px!important;color:#374151!important}
	html body .xoo-wsc-container,html body .xoo-wsc-slider{border-radius:0!important}
}

/* ---------- Pantalla de acceso: una sola tarjeta, completa sin desplazar ----------
 * Logo del portal, saludo, usuario, contraseña, Recuérdame y Acceder,
 * centrados y a la vista en cualquier pantalla (celular o computador).
 */
html body.login:not(.interim-login){
	display:flex!important;align-items:center;justify-content:center;
	min-height:100vh;min-height:100dvh;margin:0!important;padding:16px!important;box-sizing:border-box;
	background-color:#0F1115!important;background-position:center!important;background-size:cover!important;
	font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
html body.login:not(.interim-login)::before{
	content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
	background:linear-gradient(180deg,rgba(15,17,21,.80) 0%,rgba(15,17,21,.66) 50%,rgba(15,17,21,.82) 100%)!important;
}
html body.login:not(.interim-login) #login{
	position:relative;z-index:1;box-sizing:border-box;
	width:100%!important;max-width:440px!important;margin:0 auto!important;
	padding:28px 26px 26px!important;
	background:#fff;border-radius:22px;box-shadow:0 24px 60px rgba(0,0,0,.45);
}
html body.login:not(.interim-login) #wlcms-login-wrapper{width:100%;max-width:440px;margin:0 auto;min-width:0}
html body.login:not(.interim-login) #login h1{margin:0 0 6px!important;padding:0!important}
html body.login:not(.interim-login) div#login h1 a{
	display:block!important;width:100%!important;height:84px!important;margin:0 auto!important;padding:0!important;
	background-image:var(--h-logo)!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;
	text-indent:-9999px;overflow:hidden;outline:0;
}
html body.login .h-login-tit{text-align:center;margin:0 0 18px}
html body.login .h-login-tit b{display:block;font-size:25px;line-height:1.2;font-weight:800;color:#0F1115}
html body.login .h-login-tit span{display:block;margin-top:4px;font-size:16px;line-height:1.35;color:#4b5563}
html body.login:not(.interim-login) #login form#loginform,
html body.login:not(.interim-login) #login form#lostpasswordform,
html body.login:not(.interim-login) #login form#resetpassform{
	margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;
	-webkit-backdrop-filter:none!important;backdrop-filter:none!important;overflow:visible!important;
}
html body.login #login form p{margin-bottom:14px}
html body.login #login form label{display:block;font-size:18px!important;font-weight:700!important;color:#111827!important;margin:0 0 6px!important}
html body.login #login form .input,
html body.login #login form input[type="text"],
html body.login #login form input[type="password"]{
	width:100%!important;margin:0!important;font-size:21px!important;min-height:58px!important;height:58px;padding:0 16px!important;
	border:2px solid #c9ced8!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;color:#0F1115!important;
}
html body.login #login form .input:focus,
html body.login #login form input[type="text"]:focus,
html body.login #login form input[type="password"]:focus{border-color:var(--hb-2)!important;box-shadow:0 0 0 4px rgba(15,17,21,.08)!important;outline:0!important}
html body.login .user-pass-wrap{margin-bottom:14px}
html body.login .wp-pwd{margin:0!important}
html body.login .wp-pwd .button.wp-hide-pw{top:0!important;right:4px!important;height:58px!important;min-height:58px!important;width:52px!important}
html body.login .wp-pwd .button.wp-hide-pw .dashicons{font-size:26px;width:26px;height:26px}
html body.login #login form .forgetmenot{float:none!important;display:flex;align-items:center;gap:10px;margin:0 0 16px!important}
html body.login #login form .forgetmenot label{display:inline!important;margin:0!important;font-size:17px!important;font-weight:600!important;color:#374151!important}
html body.login #login form input[type="checkbox"]{width:26px!important;height:26px!important;margin:0!important}
html body.login #login form .submit{float:none!important;clear:both;margin:0!important;padding:0!important}
html body.login #login form #wp-submit{display:block;width:100%!important;min-height:60px!important;height:auto!important;font-size:21px!important;margin:0!important;float:none!important}
html body.login #login_error,html body.login .message,html body.login .notice{margin:0 0 14px!important;padding:12px 14px!important;font-size:16px;border-radius:12px;box-shadow:none!important}
html body.login #nav,html body.login #backtoblog{margin:14px 0 0!important;padding:0!important;text-align:center}
html body.login #nav a,html body.login #backtoblog a{font-size:16px!important}
html body.login .privacy-policy-page-link,html body.login .language-switcher{display:none!important}
/* Pantallas bajitas: todo más compacto para que no haga falta desplazar */
@media (max-height:720px){
	html body.login:not(.interim-login) #login{padding:20px 20px 20px!important}
	html body.login:not(.interim-login) div#login h1 a{height:64px!important}
	html body.login .h-login-tit{margin-bottom:12px}
	html body.login .h-login-tit b{font-size:22px}
	html body.login #login form p,html body.login .user-pass-wrap{margin-bottom:10px}
	html body.login #login form .forgetmenot{margin-bottom:12px!important}
}
@media (max-height:600px){
	html body.login .h-login-tit span{display:none}
	html body.login:not(.interim-login) div#login h1 a{height:52px!important}
	html body.login #login form .input,
	html body.login #login form input[type="text"],
	html body.login #login form input[type="password"]{min-height:52px!important;height:52px}
	html body.login .wp-pwd .button.wp-hide-pw{height:52px!important;min-height:52px!important}
	html body.login #login form #wp-submit{min-height:54px!important}
}
@media (max-width:380px){
	html body.login:not(.interim-login){padding:10px!important}
	html body.login:not(.interim-login) #login{padding:20px 16px!important;border-radius:18px}
}

/* ---------- Ajustes finos ---------- */
html body .woocommerce .hv .hv-sub{font-size:23px!important}
html body .hv,html body .hv *{text-align:left!important}
html body ul.products:has(> li.product-category){grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important}
@media (max-width:921px){
	html body #ast-scroll-top{display:none!important}
	html body .woocommerce-MyAccount-content{order:-1}
}
@media (max-width:600px){
	html body ul.products:has(> li.product-category){grid-template-columns:repeat(2,minmax(0,1fr))!important}
	html body .botones-flotantes .boton-carrito{font-size:0!important}
	html body .botones-flotantes .boton-carrito .h-ico{font-size:26px!important}
	html body .botones-flotantes .boton-carrito::after{content:"Mi pedido";font-size:13.5px;font-weight:800;line-height:1.15}
	html body .hv-cli-top{flex-direction:column}
	html body #my-account-menu .user-info .user-email{display:none}
	html body #my-account-menu ul.myaccount-menu li a{font-size:16px!important;padding:10px!important;gap:8px!important;min-height:56px}
	html body #my-account-menu ul.myaccount-menu li a .item-icon{width:32px;height:32px;flex:0 0 32px}
}
html body ul.products li.product form.cart .quantity.h-cant .h-menos,
html body ul.products li.product form.cart .quantity.h-cant .h-mas,
html body.single-product div.product form.cart .quantity.h-cant .h-menos,
html body.single-product div.product form.cart .quantity.h-cant .h-mas{font-size:32px!important;width:58px!important;min-height:58px!important;padding:0!important;margin:0!important}

/* ---------- Botones HEROS: sobrios y profesionales ----------
 * Color sólido del rojo del logo, esquinas suaves y una respuesta discreta al tocar.
 * Sin brillos, degradados ni animaciones llamativas.
 * J&H Fiestas usa su azul (variables en heros-accesible.php).
 */
:root{
	--hb-1:#ee2431;
	--hb-2:#d71e28;
	--hb-3:#a3121c;
	--hb-glow:rgba(215,30,40,.45);
}
html body button,
html body .button,
html body .btn,
html body .woocommerce-button,
html body .ast-button,
html body a.button,
html body a.add_to_cart_button,
html body a.product_type_simple,
html body input[type="submit"],
html body input[type="button"],
html body .woocommerce a.button,
html body .woocommerce button.button,
html body .woocommerce button.button.alt,
html body .hv .hv-btn.hv-btn-pri,
html body .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn,
html body .xoo-wsc-container .xoo-wsc-btn,
html body .botones-flotantes .boton-carrito,
html body.login #login form .submit .button,
html body.login #login form #wp-submit{
	border:0!important;
	border-radius:12px!important;
	color:#fff!important;
	font-weight:700!important;
	letter-spacing:0!important;
	text-transform:none!important;
	text-shadow:none!important;
	background:var(--hb-2)!important;
	background-image:none!important;
	box-shadow:0 1px 2px rgba(16,24,40,.14)!important;
	transform:none!important;
	filter:none!important;
	animation:none!important;
	transition:background-color .15s ease,box-shadow .15s ease!important;
	cursor:pointer;
	-webkit-tap-highlight-color:transparent;
}
@media (hover:hover) and (pointer:fine){
	html body button:hover,
	html body .button:hover,
	html body .btn:hover,
	html body .woocommerce-button:hover,
	html body a.button:hover,
	html body input[type="submit"]:hover,
	html body input[type="button"]:hover,
	html body .woocommerce a.button:hover,
	html body .woocommerce button.button:hover,
	html body .hv .hv-btn.hv-btn-pri:hover,
	html body .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn:hover,
	html body .xoo-wsc-container .xoo-wsc-btn:hover,
	html body .botones-flotantes .boton-carrito:hover,
	html body.login #login form #wp-submit:hover{
		color:#fff!important;
		background:var(--hb-3)!important;
		background-image:none!important;
		box-shadow:0 2px 6px rgba(16,24,40,.18)!important;
		transform:none!important;
		filter:none!important;
	}
}
html body button:active,
html body .button:active,
html body .btn:active,
html body a.button:active,
html body input[type="submit"]:active,
html body .woocommerce button.button:active,
html body .hv .hv-btn.hv-btn-pri:active,
html body .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn:active,
html body .xoo-wsc-container .xoo-wsc-btn:active,
html body .botones-flotantes .boton-carrito:active,
html body.login #login form #wp-submit:active{
	background:var(--hb-3)!important;
	background-image:none!important;
	box-shadow:inset 0 2px 4px rgba(0,0,0,.2)!important;
	transform:none!important;
	filter:none!important;
}
html body button:focus-visible,
html body .button:focus-visible,
html body a.button:focus-visible,
html body input[type="submit"]:focus-visible,
html body .botones-flotantes .boton-carrito:focus-visible{
	outline:3px solid #111827!important;outline-offset:2px!important;
}
html body .button.disabled,html body .button:disabled,html body button:disabled,
html body .woocommerce button.button.alt.disabled{
	opacity:.5!important;cursor:not-allowed!important;
	box-shadow:none!important;
}

/* Botones secundarios: blancos con borde gris */
html body .hv .hv-btn:not(.hv-btn-pri),
html body .hv .hv-orden button,
html body .woocommerce-orders-table__cell-order-actions .button.view{
	background:#fff!important;background-image:none!important;
	color:var(--h-ink,#0f1115)!important;text-shadow:none!important;font-weight:700!important;
	border:1.5px solid #c4cad4!important;border-radius:12px!important;
	box-shadow:none!important;transform:none!important;filter:none!important;animation:none!important;
	transition:background-color .15s ease,border-color .15s ease!important;
}
@media (hover:hover) and (pointer:fine){
	html body .hv .hv-btn:not(.hv-btn-pri):hover,
	html body .hv .hv-orden button:not(.activo):hover,
	html body .woocommerce-orders-table__cell-order-actions .button.view:hover{
		background:#f5f6f8!important;border-color:#8b94a3!important;color:var(--h-ink,#0f1115)!important;
		box-shadow:none!important;transform:none!important;
	}
}
html body .hv .hv-btn:not(.hv-btn-pri):active,
html body .hv .hv-orden button:active,
html body .woocommerce-orders-table__cell-order-actions .button.view:active{
	background:#eceef2!important;box-shadow:none!important;
}
html body .hv .hv-orden button.activo{
	background:var(--hb-2)!important;background-image:none!important;
	border-color:var(--hb-2)!important;color:#fff!important;box-shadow:none!important;
}

/* Botones que no llevan el estilo rojo */
html body .quantity.h-cant .h-menos,
html body .quantity.h-cant .h-mas{
	text-shadow:none!important;transform:none!important;animation:none!important;filter:none!important;
	transition:background-color .15s ease,border-color .15s ease!important;
}
html body ul.products li.product form.cart .quantity.h-cant .h-menos:hover,
html body ul.products li.product form.cart .quantity.h-cant .h-mas:hover,
html body.single-product div.product form.cart .quantity.h-cant .h-menos:hover,
html body.single-product div.product form.cart .quantity.h-cant .h-mas:hover{
	background:#fff!important;border-color:#8b94a3!important;color:#111827!important;box-shadow:none!important;
}
html body.login .wp-pwd .button.wp-hide-pw{
	background:transparent!important;background-image:none!important;
	box-shadow:none!important;text-shadow:none!important;transform:none!important;animation:none!important;filter:none!important;
}

/* Números del mes: completos y grandes en cualquier pantalla */
html body .hv .hv-kpis{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:14px!important}
html body .hv .hv-kpis .hv-kpi{container-type:inline-size;min-width:0}
@media (min-width:1200px){html body .hv .hv-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
html body .hv .hv-btn.hv-btn-wa{background:#1DA851!important;border-color:#1DA851!important;color:#fff!important}
html body .hv .hv-btn{text-align:center!important}
@media (max-width:600px){html body .hv .hv-aviso{font-size:16px!important;padding:12px 14px!important}html body .hv .hv-final .hv-btn{flex:1 1 100%}}
html body .hv .hv-mini-acc .hv-btn{flex:0 0 auto;min-height:44px!important;padding:8px 18px!important;font-size:16px!important}
@media (hover:hover) and (pointer:fine){html body .hv .hv-btn.hv-btn-wa:hover{background:#178a43!important;border-color:#178a43!important;color:#fff!important}}
html body .hv .hv-kpis .hv-kpi b{
	white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;
	font-size:26px!important;font-size:clamp(18px,14cqi,34px)!important;line-height:1.2!important;
}
html body .hv .hv-kpis .hv-kpi small{white-space:normal}
html body .hv .hv-kpis .hv-kpi > span:first-child{word-break:normal!important;overflow-wrap:normal!important;font-size:17px!important;font-size:clamp(12px,18cqi,17px)!important}
@media (max-width:560px){
	html body .hv .hv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:dense}
	html body .hv .hv-kpis .hv-kpi-dinero{grid-column:1 / -1}
	html body .hv .hv-kpis .hv-kpi b{font-size:30px!important;font-size:clamp(20px,14cqi,36px)!important}
}

/* Cantidad legible también en celular y ayuda de "Recuérdame" sin color */
html body ul.products li.product form.cart .quantity.h-cant .qty,
html body.single-product div.product form.cart .quantity.h-cant .qty{font-size:24px!important;font-weight:800!important;width:96px!important}
html body.login .wp-tooltip__toggle,
html body.login .wp-tooltip__close{
	min-height:44px!important;min-width:44px;padding:0 10px!important;border-radius:999px!important;
	background:transparent!important;background-image:none!important;color:#4b5563!important;
	box-shadow:none!important;text-shadow:none!important;transform:none!important;animation:none!important;filter:none!important;
}

/* ---------- Textos siempre completos ----------
 * Las palabras nunca se parten por la mitad: el texto baja de línea entre palabras.
 * Solo un código o correo más ancho que su caja se acomoda para no salirse.
 * Nada de puntos suspensivos ni textos recortados.
 */
html body{
	word-break:normal;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;
	-webkit-text-size-adjust:100%;text-size-adjust:100%;
}
html body h1,html body h2,html body h3,html body h4,
html body ul.products li.product .woocommerce-loop-product__title,
html body ul.products li.product-category .woocommerce-loop-category__title,
html body.single-product .product_title,
html body .xoo-wsc-pname,html body .xoo-wsc-pname a,
html body .aws-search-result .aws_result_title,
html body .hv-cli-top strong,html body .hv-emp,html body .hv-dato,
html body #my-account-menu ul.myaccount-menu li a{
	white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;
	text-overflow:clip!important;-webkit-line-clamp:unset!important;line-clamp:none!important;
	max-height:none!important;overflow:visible!important;
}
/* Códigos y correos: enteros mientras quepan */
html body ul.products li.product .product-sku,
html body .product_meta .sku,
html body #my-account-menu .user-info .user-email,
html body .hv-dato,html body .hv-doc{
	word-break:normal!important;overflow-wrap:anywhere!important;
}
/* Precios: el valor nunca se separa */
html body .woocommerce-Price-amount,html body .woocommerce-Price-amount bdi{white-space:nowrap}
/* Botones: el texto completo, bajando de línea entre palabras si hace falta */
html body button,html body .button,html body a.button,html body input[type="submit"],
html body .hv .hv-btn,html body .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn{
	white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;
	height:auto;line-height:1.2!important;text-overflow:clip!important;
}
html body #cliente-rutcc-block #cliente_rutcc_search{min-width:max-content}

/* Barra inferior: los cinco nombres completos en cualquier celular */
html body .botones-flotantes .boton{min-width:0!important;overflow:visible!important;white-space:normal!important;line-height:1.1!important}
html body .botones-flotantes .boton-carrito::after,
html body .botones-flotantes .boton-volver::after{display:block;white-space:normal;word-break:keep-all;text-align:center;line-height:1.1}
@media (max-width:420px){
	html body .botones-flotantes{gap:2px!important;padding-left:2px!important;padding-right:2px!important}
	html body .botones-flotantes .boton{padding:6px 1px!important}
	html body .botones-flotantes .boton:not(.boton-carrito){font-size:clamp(11px,3.4vw,13.5px)!important}
	html body .botones-flotantes .boton-carrito::after,
	html body .botones-flotantes .boton-volver::after{font-size:clamp(11px,3.4vw,13.5px)}
	html body .botones-flotantes .boton .h-ico{font-size:24px!important}
}

/* Finalizar pedido · "Tu pedido": la tabla cabe completa en el celular, sin textos partidos ni columnas cortadas */
html body.woocommerce-checkout #order_review table.shop_table{table-layout:fixed!important;width:100%!important;min-width:0!important;margin:0!important}
html body.woocommerce-checkout #order_review table.shop_table th.product-total,html body.woocommerce-checkout #order_review table.shop_table td.product-total,html body.woocommerce-checkout #order_review table.shop_table tfoot td{width:38%;text-align:right!important;white-space:nowrap;padding-right:14px!important}
html body.woocommerce-checkout #order_review table.shop_table th.product-name,html body.woocommerce-checkout #order_review table.shop_table tfoot th{text-align:left!important;padding-left:14px!important}
html body.woocommerce-checkout #order_review table.shop_table td.product-name{display:table-cell!important;text-align:left!important;padding-left:14px!important;font-weight:700;line-height:1.35;overflow-wrap:break-word;word-break:normal;hyphens:none}
html body.woocommerce-checkout #order_review td.product-name br{display:none}
html body.woocommerce-checkout #order_review td.product-name .dp3-unit-price{display:block;margin-top:4px;font-size:15px!important;font-weight:400;color:#4b5563}
html body.woocommerce-checkout #order_review td.product-name .product-quantity{display:inline-block;margin-top:4px;white-space:nowrap}
html body.woocommerce-checkout #order_review td.product-name dl.variation,html body.woocommerce-checkout #order_review td.product-name .wc-item-meta{display:block;margin:6px 0 0!important;padding:0;font-size:15px!important;font-weight:400;color:#4b5563}
html body.woocommerce-checkout #order_review td.product-name dl.variation dt,html body.woocommerce-checkout #order_review td.product-name dl.variation dd,html body.woocommerce-checkout #order_review td.product-name .wc-item-meta li,html body.woocommerce-checkout #order_review td.product-name .wc-item-meta strong{float:none!important;display:inline!important;margin:0!important;padding:0!important;font-size:inherit!important}
html body.woocommerce-checkout #order_review td.product-name dl.variation dd p,html body.woocommerce-checkout #order_review td.product-name .wc-item-meta p{display:inline!important;margin:0!important}
@media (max-width:600px){
	html body.woocommerce-checkout #order_review table.shop_table th,html body.woocommerce-checkout #order_review table.shop_table td{font-size:16px!important;padding-top:12px!important;padding-bottom:12px!important}
	html body.woocommerce-checkout #order_review table.shop_table thead th,html body.woocommerce-checkout #order_review table.shop_table tfoot th{font-size:14px!important;letter-spacing:.02em}
	html body.woocommerce-checkout #order_review table.shop_table tr.order-total td{font-size:18px!important}
}
html body.woocommerce-checkout #order_review td.product-name *{text-align:left!important}
html body.woocommerce-checkout #order_review table.shop_table tfoot td{background:#f8f9fb!important}
