/*
Theme Name: HYPERION
Template: kadence
Description: Tema hijo de Kadence para HYPERION Nutrición.
Version: 1.0.0
Text Domain: hyperion
*/

/* ---------- Marca ---------- */
body {
	--hyp-negro: #0e0d0c;
	--hyp-negro-2: #161413;
	--hyp-oro: #c8a24b;
	--hyp-oro-claro: #e5c56b;
	--hyp-oro-osc: #9a7d3a;
	--hyp-crema: #f4efe6;
	--hyp-piedra: #c2b8a6;
	--hyp-serif: 'Cormorant Garamond', Georgia, serif;
	--hyp-sans: 'Montserrat', system-ui, sans-serif;

	--global-palette1: #c8a24b;
	--global-palette2: #9a7d3a;
	--global-palette3: #161413;
	--global-palette4: #2a2520;
	--global-palette5: #4a443c;
	--global-palette6: #8a8070;
	--global-palette7: #ece4d6;
	--global-palette8: #f4efe6;
	--global-palette9: #fffdf8;
	--global-palette-btn-bg: #c8a24b;
	--global-palette-btn-bg-hover: #e5c56b;
	--global-palette-btn: #0e0d0c;
	--global-palette-btn-hover: #0e0d0c;
	font-family: var(--hyp-sans);
	color: #2a2520;
}
h1, h2, h3, h4, .entry-title, .product_title, .woocommerce-loop-product__title {
	font-family: var(--hyp-serif);
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--hyp-negro-2);
}
h1 { font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1.05; }
h2 { font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.1; }
h3 { font-size: 1.5rem; }
a { color: var(--hyp-oro-osc); }
.button, button.button, .wp-block-button__link, .wc-block-components-button, input[type=submit] {
	font-family: var(--hyp-sans);
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	font-size: .82rem;
	border-radius: 999px !important;
	padding: .9em 2em;
}

/* ---------- Barra superior y cabecera ---------- */
.hyp-anuncio {
	background: var(--hyp-oro);
	color: var(--hyp-negro);
	text-align: center;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: .55em 1em;
}
#masthead, #masthead .site-header-row-container-inner, #mobile-header .site-header-row-container-inner {
	background: var(--hyp-negro) !important;
}
#masthead .item-is-stuck .main-navigation .primary-menu-container > ul > li.menu-item > a,
#mobile-header .item-is-stuck .menu-toggle-open, .item-is-stuck .header-cart-button { color: var(--hyp-crema) !important; }
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a,
#mobile-header .menu-toggle-open, .header-cart-wrap .header-cart-button, .search-toggle-open {
	color: var(--hyp-crema);
	font-size: .8rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 500;
}
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
#masthead .main-navigation .primary-menu-container > ul > li.current-menu-item > a { color: var(--hyp-oro-claro); }
#masthead .main-navigation ul ul { background: var(--hyp-negro-2); }
#masthead .main-navigation ul ul li a { color: var(--hyp-crema); }
.site-branding a.brand img { max-width: 170px; }
.site-branding .site-title { display: none; }
.header-cart-wrap .header-cart-total { background: var(--hyp-oro); color: var(--hyp-negro); }
.popup-drawer .drawer-inner { background: var(--hyp-negro); }

/* ---------- Secciones de página ---------- */
.content-area { margin-top: 0; }
.home .content-container, .hyp-landing .content-container { max-width: none; padding: 0; }
.home .entry-content-wrap, .hyp-landing .entry-content-wrap { padding: 0; }
.home .entry.content-bg, .hyp-landing .entry.content-bg { box-shadow: none; background: transparent; }
.home .entry-hero, .hyp-landing .entry-hero { display: none; }

.hyp-seccion { padding: clamp(56px, 8vw, 110px) 20px; margin: 0 !important; }
.hyp-seccion > * { max-width: 1160px; margin-left: auto !important; margin-right: auto !important; }
.hyp-seccion.hyp-angosta > * { max-width: 780px; }
.hyp-oscuro { background: var(--hyp-negro); color: var(--hyp-piedra); }
.hyp-oscuro h1, .hyp-oscuro h2, .hyp-oscuro h3 { color: var(--hyp-crema); }
.hyp-crema { background: var(--hyp-crema); }
.hyp-blanco { background: #fffdf8; }
.hyp-eyebrow {
	font-size: .75rem !important;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--hyp-oro) !important;
	margin-bottom: .6em !important;
}
.hyp-oro { color: var(--hyp-oro-claro); font-style: italic; }
.hyp-centro { text-align: center; }
.hyp-lead { font-size: 1.12rem; line-height: 1.7; max-width: 620px; }
.hyp-centro .hyp-lead { margin-left: auto; margin-right: auto; }

/* Hero */
.hyp-hero { padding-top: clamp(40px, 6vw, 80px); background: radial-gradient(ellipse at 75% 40%, #2a2216 0%, var(--hyp-negro) 60%); }
.hyp-hero .wp-block-columns { align-items: center; }
.hyp-hero img { filter: drop-shadow(0 30px 60px rgba(0,0,0,.6)); }
.hyp-checks { list-style: none; padding: 0; margin: 1.4em 0; }
.hyp-checks li { padding-left: 1.7em; position: relative; margin: .45em 0; color: var(--hyp-negro-2); }
.hyp-oscuro .hyp-checks li { color: var(--hyp-crema); }
.hyp-checks li::before { content: "✓"; position: absolute; left: 0; color: var(--hyp-oro); font-weight: 700; }
.hyp-btn-sec .wp-block-button__link { background: transparent !important; color: var(--hyp-crema) !important; border: 1px solid var(--hyp-oro) !important; }
.hyp-btn-sec .wp-block-button__link:hover { background: var(--hyp-oro) !important; color: var(--hyp-negro) !important; }
.hyp-sellos { display: flex; flex-wrap: wrap; gap: .5em; margin-top: 1.6em !important; }
.hyp-sellos span { border: 1px solid rgba(200,162,75,.4); color: var(--hyp-oro-claro); border-radius: 999px; padding: .35em 1em; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }

/* Franja de confianza */
.hyp-confianza { background: var(--hyp-negro-2); border-top: 1px solid rgba(200,162,75,.2); border-bottom: 1px solid rgba(200,162,75,.2); padding: 28px 20px; }
.hyp-confianza .wp-block-columns { margin-bottom: 0; }
.hyp-confianza p { margin: 0; text-align: center; color: var(--hyp-piedra); font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; }
.hyp-confianza strong { display: block; font-family: var(--hyp-serif); font-size: 2rem; color: var(--hyp-oro-claro); text-transform: none; letter-spacing: 0; }

/* Tarjetas */
.hyp-tarjetas { gap: 18px !important; }
.hyp-tarjeta {
	background: #fffdf8;
	border: 1px solid #e6dcc8;
	border-radius: 18px;
	padding: 28px 22px !important;
	height: 100%;
}
.hyp-oscuro .hyp-tarjeta { background: var(--hyp-negro-2); border-color: rgba(200,162,75,.25); }
.hyp-tarjeta h3 { font-size: 1.45rem; margin: .2em 0 .3em; }
.hyp-tarjeta p { margin: 0; font-size: .95rem; }
.hyp-num { font-family: var(--hyp-serif); font-size: 2.6rem !important; color: var(--hyp-oro); line-height: 1; margin: 0 !important; }

/* Tabla comparativa */
.hyp-tabla table { border-collapse: separate; border-spacing: 0; width: 100%; background: #fffdf8; border-radius: 18px; overflow: hidden; border: 1px solid #e6dcc8; }
.hyp-tabla th, .hyp-tabla td { padding: 16px 18px; border: 0; border-bottom: 1px solid #ece4d6; text-align: center; }
.hyp-tabla th:first-child, .hyp-tabla td:first-child { text-align: left; }
.hyp-tabla thead th { background: var(--hyp-negro); color: var(--hyp-crema); font-family: var(--hyp-serif); font-size: 1.25rem; }
.hyp-tabla thead th:nth-child(2) { color: var(--hyp-oro-claro); }
.hyp-tabla td:nth-child(2) { color: var(--hyp-oro-osc); font-weight: 700; font-size: 1.15rem; }

/* Testimonios */
.hyp-testimonio { font-family: var(--hyp-serif); font-size: 1.35rem !important; line-height: 1.4; color: var(--hyp-crema); font-style: italic; }
.hyp-autor { font-size: .85rem !important; color: var(--hyp-oro) !important; margin-top: 1em !important; }

/* Productos */
.woocommerce ul.products li.product, .wc-block-grid__product {
	background: #fffdf8;
	border: 1px solid #e6dcc8;
	border-radius: 18px;
	padding: 14px 14px 22px !important;
	text-align: center;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.3rem; }
.woocommerce ul.products li.product img { border-radius: 12px; }
.price, .woocommerce-Price-amount { color: var(--hyp-negro-2); font-weight: 600; }
.price del .woocommerce-Price-amount { color: var(--hyp-piedra); font-weight: 400; }
.onsale { background: var(--hyp-oro) !important; color: var(--hyp-negro) !important; }

/* Bloque Creatina */
.hyp-creatina { background: linear-gradient(135deg, #0e0d0c 0%, #1d1813 55%, #2b2a14 100%); }
.hyp-pildora { display: inline-block; background: #d4e157; color: var(--hyp-negro); border-radius: 999px; padding: .3em 1em; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

/* Preguntas frecuentes (bloque Detalles) */
.wp-block-details { border-bottom: 1px solid #e0d5bf; padding: 18px 0; }
.wp-block-details summary { font-family: var(--hyp-serif); font-size: 1.3rem; font-weight: 600; cursor: pointer; color: var(--hyp-negro-2); list-style: none; position: relative; padding-right: 2em; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 0; color: var(--hyp-oro); font-size: 1.6rem; line-height: 1; }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > *:not(summary) { margin-top: .8em; }
.hyp-oscuro .wp-block-details summary { color: var(--hyp-crema); }

/* Formularios */
.hyp-form { background: #fffdf8; border: 1px solid #e6dcc8; border-radius: 18px; padding: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.hyp-form p { margin: 0 0 14px; }
.hyp-form p:nth-last-child(-n+2) { grid-column: 1 / -1; }
.hyp-form label { display: block; font-size: .8rem; font-weight: 600; letter-spacing: .04em; color: var(--hyp-negro-2); }
.hyp-form input, .hyp-form select, .hyp-form textarea { width: 100%; margin-top: 6px; border-radius: 10px; border: 1px solid #d9cdb5; background: #fff; padding: 10px 12px; }
.hyp-form-corto { grid-template-columns: 1fr auto; align-items: end; }
.hyp-form-corto p:nth-last-child(-n+2) { grid-column: auto; }
.hyp-aviso { padding: 14px 18px; border-radius: 12px; }
.hyp-ok { background: #e9f3e1; color: #2f5a1e; }
.hyp-error { background: #fbe5e1; color: #8a2a1a; }
@media (max-width: 640px) {
	.hyp-form, .hyp-form-corto { grid-template-columns: 1fr; }
	.hyp-form p { grid-column: 1 / -1 !important; }
}

/* Pie de página */
.hyp-footer { background: var(--hyp-negro); color: var(--hyp-piedra); padding: 64px 20px 32px; font-size: .92rem; }
.hyp-footer-grid { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 36px; }
.hyp-footer h4 { color: var(--hyp-oro); font-family: var(--hyp-sans); font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; margin: 0 0 1em; }
.hyp-footer ul { list-style: none; margin: 0; padding: 0; }
.hyp-footer li { margin: .5em 0; }
.hyp-footer a { color: var(--hyp-crema); text-decoration: none; }
.hyp-footer a:hover { color: var(--hyp-oro-claro); }
.hyp-footer img { max-width: 170px; margin-bottom: 1em; }
.hyp-footer-legal { max-width: 1160px; margin: 40px auto 0; padding-top: 20px; border-top: 1px solid rgba(200,162,75,.2); font-size: .75rem; color: #8a8070; }
#colophon { display: none; }
@media (max-width: 900px) { .hyp-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .hyp-footer-grid { grid-template-columns: 1fr; } }

/* WhatsApp */
.hyp-whatsapp {
	position: fixed; right: 18px; bottom: 18px; z-index: 999;
	width: 58px; height: 58px; border-radius: 50%;
	background: #25d366; display: grid; place-items: center;
	box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.hyp-whatsapp svg { width: 30px; height: 30px; fill: #fff; }

@media (max-width: 781px) {
	.hyp-hero .wp-block-column:last-child { order: -1; }
	.hyp-hero img { max-width: 70%; margin: 0 auto; display: block; }
	.hyp-tabla { overflow-x: auto; }
}

/* Ajustes tras revisión */
.hyp-crema .hyp-btn-sec .wp-block-button__link, .hyp-blanco .hyp-btn-sec .wp-block-button__link { color: var(--hyp-negro-2) !important; }
.hyp-hero figure img { mix-blend-mode: lighten; }
.wp-block-latest-posts.is-grid li { background: #fffdf8; border: 1px solid #e6dcc8; border-radius: 18px; overflow: hidden; padding-bottom: 18px; }
.wp-block-latest-posts__featured-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.wp-block-latest-posts__post-title { display: block; padding: 14px 18px 0; font-family: var(--hyp-serif); font-size: 1.35rem; font-weight: 600; color: var(--hyp-negro-2); text-decoration: none; }
.hyp-seccion { padding-left: 20px !important; padding-right: 20px !important; }
@media (max-width: 640px) { .hyp-anuncio .hyp-anuncio-extra { display: none; } }
.home article.entry, .hyp-landing article.entry { margin-left: 0 !important; margin-right: 0 !important; }
.hyp-footer-legal a { color: var(--hyp-piedra); text-decoration: underline; }

/* Dónde comprar */
.hyp-dc-canales { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 56px; }
.hyp-dc-canal { background: #fffdf8; border: 1px solid #e6dcc8; border-radius: 18px; padding: 28px; }
.hyp-dc-canal h3 { margin-top: 0; }
.hyp-btn-claro.button { background: transparent; color: var(--hyp-negro-2); border: 1px solid var(--hyp-oro); }
.hyp-dc-filtro { margin-left: .5em; border-radius: 10px; padding: 6px 10px; }
.hyp-dc-estado { margin-top: 32px; }
.hyp-dc-estado h3 { border-bottom: 1px solid #e0d5bf; padding-bottom: .3em; }
.hyp-dc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.hyp-dc-punto { background: #fffdf8; border: 1px solid #e6dcc8; border-radius: 14px; padding: 20px; }
.hyp-dc-punto h4 { font-family: var(--hyp-serif); font-size: 1.3rem; margin: .3em 0; }
.hyp-dc-punto p { margin: .3em 0; font-size: .92rem; }
.hyp-dc-tipo { font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--hyp-oro-osc); }
.hyp-dc-acciones a { font-weight: 600; }
.hyp-amazon-badge { display: inline-block; margin: .4em 0 1em; font-size: .88rem; color: var(--hyp-negro-2); text-decoration: none; }
.hyp-amazon-badge .hyp-estrellas { color: #e5a00d; letter-spacing: 1px; }
@media (max-width: 700px) { .hyp-dc-canales { grid-template-columns: 1fr; } }

/* ---------- Efectos ---------- */
/* Aparición al hacer scroll (solo si el JS cargó; sin JS todo se ve normal). */
.hyp-efectos .hyp-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);
	transition-delay: var(--hyp-delay, 0ms);
}
.hyp-efectos .hyp-reveal.hyp-visible { opacity: 1; transform: none; }

/* Hero: entrada y flotación suave del tarro. */
@keyframes hyp-flotar { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes hyp-brillo { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
.hyp-hero figure img { animation: hyp-flotar 6s ease-in-out infinite; }
.hyp-hero .hyp-oro, .hyp-creatina .hyp-oro {
	background: linear-gradient(100deg, var(--hyp-oro) 20%, #fff1c4 40%, var(--hyp-oro-claro) 60%, var(--hyp-oro) 80%);
	background-size: 200% 100%;
	-webkit-background-clip: text; background-clip: text; color: transparent;
	animation: hyp-brillo 6s linear infinite;
}

/* Tarjetas y productos: elevación al pasar el mouse. */
.hyp-tarjeta, .hyp-dc-canal, .hyp-dc-punto, .woocommerce ul.products li.product, .wp-block-latest-posts.is-grid li {
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.hyp-tarjeta:hover, .hyp-dc-canal:hover, .hyp-dc-punto:hover, .woocommerce ul.products li.product:hover, .wp-block-latest-posts.is-grid li:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 40px -18px rgba(14,13,12,.35);
	border-color: var(--hyp-oro);
}
.hyp-oscuro .hyp-tarjeta:hover { box-shadow: 0 18px 40px -18px rgba(200,162,75,.35); }
.woocommerce ul.products li.product a img, .wp-block-latest-posts__featured-image img { transition: transform .6s ease; }
.woocommerce ul.products li.product:hover a img, .wp-block-latest-posts.is-grid li:hover .wp-block-latest-posts__featured-image img { transform: scale(1.05); }
.woocommerce ul.products li.product a:first-child, .wp-block-latest-posts__featured-image { overflow: hidden; display: block; border-radius: 12px; }

/* Botones: brillo que cruza al pasar el mouse. */
.wp-block-button__link, .button, button.button { position: relative; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease; }
.wp-block-button__link::after, .button::after {
	content: ""; position: absolute; inset: 0; transform: translateX(-120%);
	background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,.45) 50%, transparent 70%);
	transition: transform .7s ease; pointer-events: none;
}
.wp-block-button__link:hover::after, .button:hover::after { transform: translateX(120%); }
.wp-block-button__link:hover, .button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px -10px rgba(200,162,75,.7); }

/* Menú: subrayado dorado animado. */
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a { position: relative; }
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a::before {
	content: ""; position: absolute; left: 1em; right: 1em; bottom: .6em; height: 1px;
	background: var(--hyp-oro); transform: scaleX(0); transform-origin: left; transition: transform .35s ease;
}
#masthead .main-navigation .primary-menu-container > ul > li.menu-item:hover > a::before,
#masthead .main-navigation .primary-menu-container > ul > li.current-menu-item > a::before { transform: scaleX(1); }

/* Cabecera fija: se compacta y difumina al bajar. */
#masthead .site-main-header-inner-wrap, #mobile-header .site-main-header-inner-wrap { transition: min-height .3s ease; }
#masthead .site-branding img, #mobile-header .site-branding img { transition: max-width .3s ease; }
.hyp-scrolled #masthead .item-is-stuck .site-header-row-container-inner,
.hyp-scrolled #mobile-header .item-is-stuck .site-header-row-container-inner {
	background: rgba(14,13,12,.84) !important; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
	box-shadow: 0 8px 30px -12px rgba(0,0,0,.6);
}
.hyp-scrolled #masthead .item-is-stuck .site-main-header-inner-wrap { min-height: 64px; }
.hyp-scrolled #masthead .item-is-stuck .site-branding img { max-width: 130px; }

/* Preguntas: apertura suave. */
.wp-block-details summary::after { transition: transform .3s ease; }
.wp-block-details[open] > *:not(summary) { animation: hyp-abrir .4s ease; }
@keyframes hyp-abrir { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* WhatsApp: pulso sutil. */
@keyframes hyp-pulso { 0% { box-shadow: 0 0 0 0 rgba(37,211,102,.55); } 70% { box-shadow: 0 0 0 16px rgba(37,211,102,0); } 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); } }
.hyp-whatsapp { animation: hyp-pulso 2.6s ease-out infinite; transition: transform .25s ease; }
.hyp-whatsapp:hover { transform: scale(1.08); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Ficha de producto */
.hyp-por-porcion { margin: -.4em 0 1em; font-size: .95rem; color: var(--hyp-oro-osc); }
.single-product .woocommerce-product-details__short-description { font-size: 1.05rem; line-height: 1.65; }
.single-product .woocommerce-Tabs-panel--description h2 { font-size: 1.9rem; margin-top: 1.6em; }
.single-product .woocommerce-Tabs-panel--description h2:first-child { margin-top: 0; }
.hyp-ficha table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fffdf8; border: 1px solid #e6dcc8; border-radius: 14px; overflow: hidden; font-size: .95rem; }
.hyp-ficha th, .hyp-ficha td { padding: 11px 16px; border: 0; border-bottom: 1px solid #efe7d8; text-align: left; }
.hyp-ficha tr:last-child td { border-bottom: 0; }
.hyp-ficha thead th { background: var(--hyp-negro); color: var(--hyp-crema); font-weight: 600; }
.hyp-ficha td:first-child { font-weight: 600; color: var(--hyp-negro-2); }
.hyp-ficha .hyp-sub td:first-child { padding-left: 32px; font-weight: 400; }
.hyp-recetas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; list-style: none; padding: 0; }
.hyp-recetas li { background: #fffdf8; border: 1px solid #e6dcc8; border-radius: 12px; padding: 14px 16px; }
.hyp-recetas a { font-family: var(--hyp-serif); font-size: 1.15rem; font-weight: 600; color: var(--hyp-negro-2); text-decoration: none; }
.hyp-aviso-legal { font-size: .8rem; color: #8a8070; }
@media (max-width: 700px) { .hyp-recetas { grid-template-columns: 1fr; } .hyp-ficha { overflow-x: auto; } }
.hyp-por-porcion { margin: -.6em 0 .4em; }

/* Mi cuenta: direcciones y facturación */
.hyp-dirs { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.hyp-dir { background: #fffdf8; border: 1px solid #e6dcc8; border-radius: 14px; padding: 18px 20px; }
.hyp-dir.es-pred { border-color: var(--hyp-oro); box-shadow: 0 0 0 1px var(--hyp-oro) inset; }
.hyp-dir h4 { margin: 0 0 .5em; font-family: var(--hyp-serif); font-size: 1.25rem; }
.hyp-dir p { margin: .3em 0; font-size: .92rem; }
.hyp-dir-badge { font-family: var(--hyp-sans); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; background: var(--hyp-oro); color: var(--hyp-negro); border-radius: 999px; padding: .2em .7em; vertical-align: middle; }
.hyp-dir-acciones { font-size: .85rem !important; }
.hyp-dir-nueva { display: grid; place-items: center; min-height: 140px; border-style: dashed; font-weight: 600; text-decoration: none; color: var(--hyp-oro-osc); }
.hyp-dir-nueva:hover { border-color: var(--hyp-oro); }
.hyp-dir-form, .hyp-fiscal-form { max-width: 720px; }
.hyp-dir-form::after, .hyp-fiscal-form::after, .hyp-factura-campos::after { content: ""; display: table; clear: both; }
.hyp-factura { margin-top: 1.4em; padding: 18px 20px; border: 1px solid #e6dcc8; border-radius: 14px; background: #fffdf8; }
.hyp-factura .form-row { margin-bottom: .8em; }
body .woocommerce .hyp-factura .form-row label:not(.checkbox), body .woocommerce .hyp-fiscal-form .form-row label:not(.checkbox), .hyp-fiscal-etiqueta { display: block; line-height: 1.35; margin-bottom: .35em; }
.hyp-fiscal-etiqueta { font-weight: 600; }
body .woocommerce .hyp-fiscal-uso, body .woocommerce .hyp-fiscal-uso .hyp-fiscal-etiqueta { color: inherit; }
body .woocommerce .hyp-factura .form-row .description { font-size: .82rem; line-height: 1.4; margin-top: .3em; }
.hyp-factura-nota { clear: both; margin: .4em 0 0; line-height: 1.4; }
.hyp-factura select, .hyp-fiscal-form select { width: 100%; text-overflow: ellipsis; }
/* En la columna del checkout no caben dos campos por renglón. */
body .woocommerce .hyp-factura .form-row-first, body .woocommerce .hyp-factura .form-row-last { float: none; width: 100%; }

/* El tema oculta las casillas (ancho 0): se dibujan con el control nativo en dorado. */
.woocommerce form input[type="checkbox"] { -webkit-appearance: checkbox; appearance: auto; width: 18px; height: 18px; min-width: 18px; margin: 0 .5em 0 0; vertical-align: -3px; accent-color: var(--hyp-oro); }
.woocommerce form .woocommerce-form__label-for-checkbox, .woocommerce form label.checkbox { display: inline-flex; align-items: flex-start; gap: .1em; line-height: 1.4; }
.woocommerce form .woocommerce-form__label-for-checkbox input[type="checkbox"], .woocommerce form label.checkbox input[type="checkbox"] { margin-top: .15em; }
.hyp-dir-elegir select { width: 100%; }

/* Tabla nutrimental con selector de sabor [hyperion_nutricion] */
.hyp-nutri { max-width: 760px; margin: 0 auto; color: var(--hyp-piedra); }
.hyp-nutri-sabores { display: flex; justify-content: center; gap: 10px; margin-bottom: 22px; }
.hyp-nutri-sabores button { font: 600 .78rem/1 var(--hyp-sans); letter-spacing: .14em; text-transform: uppercase; padding: 14px 26px; border-radius: 999px; border: 1px solid rgba(200,162,75,.35); background: transparent; color: var(--hyp-crema); cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.hyp-nutri-sabores button:hover { border-color: var(--hyp-oro); }
.hyp-nutri-sabores button[aria-pressed="true"] { background: rgba(200,162,75,.16); border-color: var(--hyp-oro-claro); color: var(--hyp-oro-claro); }
.hyp-nutri-panel { background: var(--hyp-negro); border: 1px solid rgba(200,162,75,.25); border-radius: 18px; padding: clamp(18px, 3vw, 28px); }
.hyp-nutri-titulo { margin: 0 0 14px; font: 600 .72rem/1.4 var(--hyp-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--hyp-oro); }
.hyp-nutri-titulo span { color: var(--hyp-crema); }
.hyp-nutri ul.hyp-nutri-destacados { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; list-style: none; margin: 0 0 22px; padding: 0; }
.hyp-nutri-destacados li { background: var(--hyp-negro-2); border: 1px solid rgba(200,162,75,.2); border-radius: 12px; padding: 14px; font-size: .78rem; line-height: 1.3; }
.hyp-nutri-destacados strong { display: block; font-family: var(--hyp-serif); font-size: 1.9rem; line-height: 1.1; color: var(--hyp-oro-claro); }
.hyp-nutri-tabla { width: 100%; border-collapse: collapse; margin: 0; font-size: .92rem; border: 0; }
.hyp-nutri-tabla caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hyp-nutri-tabla th, .hyp-nutri-tabla td { padding: 12px 6px; border: 0; border-bottom: 1px solid rgba(244,239,230,.08); background: transparent; }
.hyp-nutri-tabla thead th { font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--hyp-piedra); font-weight: 600; text-align: right; vertical-align: bottom; border-bottom-color: rgba(200,162,75,.35); }
.hyp-nutri-tabla thead th:first-child { text-align: left; }
.hyp-nutri-tabla thead th span { letter-spacing: .05em; text-transform: none; color: var(--hyp-oro); }
.hyp-nutri-tabla tbody th { text-align: left; font-weight: 600; color: var(--hyp-crema); }
.hyp-nutri-tabla td { text-align: right; white-space: nowrap; color: var(--hyp-piedra); }
.hyp-nutri-tabla td:nth-child(2) { font-weight: 700; color: var(--hyp-oro-claro); }
.hyp-nutri-tabla .hyp-sub th { padding-left: 22px; font-weight: 400; color: var(--hyp-piedra); }
.hyp-nutri-tabla tr:last-child > * { border-bottom: 0; }
.hyp-nutri-link { margin: 16px 0 0; text-align: center; font-size: .9rem; }
.hyp-nutri-link a { color: var(--hyp-oro-claro); }
.hyp-nutri-nota { margin: 14px 0 0; text-align: center; font-size: .78rem; color: inherit; opacity: .85; }
@media (max-width: 600px) {
	.hyp-nutri ul.hyp-nutri-destacados { grid-template-columns: repeat(2, 1fr); }
	.hyp-nutri-tabla { font-size: .8rem; }
}

/* Testimonios con video [hyperion_testimonios] */
.hyp-testi { display: grid; grid-template-columns: minmax(0, 340px) 1fr; gap: clamp(20px, 4vw, 48px); align-items: center; max-width: 1000px; margin: 0 auto; }
.hyp-testi-video { margin: 0; display: grid; gap: 14px; }
.hyp-yt { display: block; position: relative; width: 100%; aspect-ratio: 9 / 16; border: 1px solid rgba(200,162,75,.35); border-radius: 18px; overflow: hidden; padding: 0; background: #000; cursor: pointer; }
.hyp-yt img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.hyp-yt:hover img { transform: scale(1.03); }
.hyp-yt-play { position: absolute; inset: 50% auto auto 50%; width: 72px; height: 72px; margin: -36px 0 0 -36px; border-radius: 50%; background: rgba(14,13,12,.72); border: 2px solid var(--hyp-oro-claro); }
.hyp-yt-play::after { content: ""; position: absolute; left: 28px; top: 21px; border-style: solid; border-width: 15px 0 15px 24px; border-color: transparent transparent transparent var(--hyp-oro-claro); }
.hyp-testi-video figcaption { display: grid; gap: 4px; font-size: .9rem; line-height: 1.5; }
.hyp-testi-video figcaption .hyp-eyebrow { margin: 0; }
.hyp-testi-video figcaption strong { font-family: var(--hyp-serif); font-size: 1.5rem; color: var(--hyp-crema); }
.hyp-testi-video figcaption small { color: var(--hyp-oro); }
.hyp-testi-citas { display: grid; gap: 18px; }
.hyp-testi-cita { margin: 0; padding: 26px 28px; background: var(--hyp-negro-2); border: 1px solid rgba(200,162,75,.25); border-radius: 18px; }
.hyp-testi-cita p { margin: 0 0 14px; font-family: var(--hyp-serif); font-size: 1.45rem; line-height: 1.35; font-style: italic; color: var(--hyp-crema); }
.hyp-testi-cita footer { font-size: .82rem; color: var(--hyp-piedra); }
.hyp-testi-cita footer strong { display: block; color: var(--hyp-oro-claro); font-size: .9rem; }
.single-product .hyp-testi { padding: clamp(20px, 3vw, 32px); background: var(--hyp-negro); border-radius: 22px; color: var(--hyp-piedra); }
@media (max-width: 760px) {
	.hyp-testi { grid-template-columns: 1fr; }
	.hyp-testi-video { max-width: 320px; margin: 0 auto; width: 100%; }
}

/* Video 360° del tarro en la ficha */
.hyp-video-360 { margin: 0 0 1.5em; }
.hyp-video-360 video { display: block; width: 100%; max-width: 260px; aspect-ratio: 406 / 720; object-fit: cover; border-radius: 16px; background: #f1ede6; }
.hyp-video-360 figcaption { margin-top: 6px; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--hyp-oro-osc); }
.single-product .hyp-nutri-sabores button { color: var(--hyp-negro-2); border-color: #d9ccb2; }
.single-product .hyp-nutri-sabores button[aria-pressed="true"] { background: var(--hyp-negro); border-color: var(--hyp-negro); color: var(--hyp-oro-claro); }
.single-product .hyp-nutri-nota { color: #6f665a; }
.hyp-lead.hyp-centro { margin-left: auto; margin-right: auto; }
.single-product div.product .hyp-video-360 { float: left; clear: left; width: 48%; display: flex; flex-direction: column; align-items: center; margin-top: 1.5em; }
@media (max-width: 767px) { .single-product div.product .hyp-video-360 { float: none; width: 100%; } }
.hyp-nutri-tabla td small { display: block; font-size: .78em; font-weight: 400; opacity: .8; }
@media (max-width: 600px) {
	.hyp-nutri-panel { padding: 16px 14px; border-radius: 14px; }
	.hyp-nutri-tabla th, .hyp-nutri-tabla td { padding: 10px 4px; }
	.hyp-nutri-tabla .hyp-sub th { padding-left: 14px; }
	.hyp-nutri-destacados strong { font-size: 1.6rem; }
	.single-product .hyp-testi { padding: 16px; }
}
@media (max-width: 600px) {
	.single-product .hyp-nutri { margin: 0 -17px; }
	.single-product .hyp-nutri-panel { border-radius: 0; padding: 16px 10px; }
	.hyp-nutri-tabla thead th { letter-spacing: .06em; }
}

/* Galería de videos [hyperion_videos] */
.hyp-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 28px 24px; list-style: none; margin: 0; padding: 0; }
.hyp-videos li { margin: 0; }
.hyp-yt.hyp-yt-ancho { aspect-ratio: 16 / 9; border-radius: 14px; }
.hyp-videos p { margin: 12px 0 0; font-size: .85rem; line-height: 1.45; color: inherit; }
.hyp-videos p strong { display: block; font-family: var(--hyp-serif); font-size: 1.3rem; font-weight: 600; }
.hyp-oscuro .hyp-videos p strong { color: var(--hyp-crema); }
.hyp-yt-dura { position: absolute; right: 10px; bottom: 10px; padding: 3px 7px; border-radius: 6px; background: rgba(14,13,12,.8); color: var(--hyp-crema); font: 600 .72rem/1 var(--hyp-sans); }
.hyp-yt-ancho .hyp-yt-play { width: 60px; height: 60px; margin: -30px 0 0 -30px; }
.hyp-yt-ancho .hyp-yt-play::after { left: 23px; top: 16px; border-width: 13px 0 13px 20px; }
.hyp-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Blog: carga automática al bajar */
.hyp-mas { min-height: 64px; display: flex; align-items: center; justify-content: center; gap: 10px; margin: 24px 0 8px; font-size: .9rem; color: var(--hyp-oro-osc); }
.hyp-mas-spin { width: 22px; height: 22px; border: 2px solid rgba(200,162,75,.3); border-top-color: var(--hyp-oro); border-radius: 50%; animation: hyp-girar .8s linear infinite; }
@keyframes hyp-girar { to { transform: rotate(360deg); } }
.hyp-mas-nuevo { animation: hyp-entrar .5s ease both; }
@keyframes hyp-entrar { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
