/*
Theme Name:   Tikcoco
Template:     storefront
Description:  Tema hijo de Storefront para la tienda de stickers Tikcoco. Los colores se cambian en Apariencia → Personalizar → Tikcoco.
Version:      1.7.3
Text Domain:  tikcoco
*/

/* ==========================================================================
   Variables — los valores reales vienen del Personalizador (functions.php).
   ========================================================================== */
:root {
	--tk-primary: #e6b028;
	--tk-primary-2: #fff1b8;
	--tk-dark: #0b0b0d;
	--tk-text: #111111;
	--tk-light: #f6f6f4;
	--tk-radius: 22px;
	--tk-pill: 999px;
	--tk-ease: cubic-bezier(.22, .8, .24, 1);
	--tk-font-display: 'Bebas Neue', 'Impact', sans-serif;
	--tk-font-body: 'Poppins', system-ui, sans-serif;
	--tk-gold-gradient: linear-gradient(180deg, var(--tk-primary-2) 0%, var(--tk-primary) 48%, color-mix(in srgb, var(--tk-primary) 70%, #000) 56%, var(--tk-primary-2) 100%);
	--tk-header-h: 88px;
}

html.tk-lock { overflow: hidden; }
body { font-family: var(--tk-font-body); color: var(--tk-text); background: #fff; overflow-x: hidden; }
body, button, input, select, textarea { font-family: var(--tk-font-body); }

h1, h2, h3, h4, .tk-display,
.entry-title, .page-title, .woocommerce-loop-product__title, .product_title {
	font-family: var(--tk-font-display);
	font-weight: 400;
	letter-spacing: .01em;
	text-transform: uppercase;
	line-height: 1.02;
	color: inherit;
}
h2 { font-size: clamp(2rem, 4.6vw, 3.6rem); }
a { color: inherit; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--tk-primary); outline-offset: 3px; }

.tk-wrap { max-width: 1280px; margin: 0 auto; padding: 0 clamp(16px, 3vw, 40px); }

/* Texto dorado con degradado (clase para bloques: "tk-gold") */
.tk-gold, .tk-gold * {
	background: var(--tk-gold-gradient);
	-webkit-background-clip: text; background-clip: text;
	color: transparent !important;
	filter: drop-shadow(0 3px 0 rgba(0, 0, 0, .35));
}

/* ==========================================================================
   Botones
   ========================================================================== */
.tk-btn,
.wp-block-button__link,
.button, button.button, input[type="submit"], .added_to_cart,
.woocommerce a.button, .woocommerce button.button,
.single_add_to_cart_button, .checkout-button, #place_order {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	padding: .95em 2.2em;
	border: 0; border-radius: var(--tk-pill);
	background: var(--tk-primary); color: var(--tk-dark) !important;
	font-family: var(--tk-font-body); font-weight: 700; font-size: 1rem;
	text-transform: uppercase; letter-spacing: .03em; text-decoration: none;
	box-shadow: 0 6px 18px color-mix(in srgb, var(--tk-primary) 35%, transparent);
	transition: transform .25s var(--tk-ease), box-shadow .25s var(--tk-ease), background-color .2s, filter .2s;
	position: relative; overflow: hidden; cursor: pointer;
}
.tk-btn::after, .wp-block-button__link::after, .button::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .55) 50%, transparent 70%);
	transform: translateX(-120%); transition: transform .6s var(--tk-ease);
	pointer-events: none;
}
.tk-btn:hover, .wp-block-button__link:hover, .button:hover, button.button:hover,
.single_add_to_cart_button:hover, .checkout-button:hover, #place_order:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px color-mix(in srgb, var(--tk-primary) 50%, transparent);
	background: var(--tk-primary); color: var(--tk-dark) !important;
	filter: brightness(1.06);
}
.tk-btn:hover::after, .wp-block-button__link:hover::after, .button:hover::after { transform: translateX(120%); }
.tk-btn:active, .wp-block-button__link:active, .button:active { transform: translateY(0) scale(.98); }

/* Variante blanca (estilo "Contorno" o clase tk-btn-light) */
.is-style-outline > .wp-block-button__link, .tk-btn-light .wp-block-button__link {
	background: #fff; color: var(--tk-dark) !important; border: 0; box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; }
.wp-block-buttons.is-full > .wp-block-button, .tk-btn-block .wp-block-button { width: 100%; }
.tk-btn-block .wp-block-button__link { width: 100%; padding-top: 1.25em; padding-bottom: 1.25em; font-size: 1.1rem; }

/* ==========================================================================
   Barra de anuncio + cabecera fija
   ========================================================================== */
.tk-announce { background: var(--tk-dark); color: #fff; font-size: .9rem; }
.tk-announce__row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 40px; }
.tk-announce__text { margin: 0; text-align: center; letter-spacing: .06em; font-weight: 600; }
.tk-socials { display: flex; gap: 14px; }
.tk-socials a { display: inline-flex; color: inherit; opacity: .85; transition: opacity .2s, transform .2s var(--tk-ease); }
.tk-socials a:hover { opacity: 1; transform: translateY(-2px) scale(1.08); color: var(--tk-primary); }

.tk-header {
	position: sticky; top: 0; z-index: 90;
	background: var(--tk-dark); color: #fff;
	padding: 0 !important; margin: 0 !important; border: 0 !important;
	transition: box-shadow .3s, background-color .3s;
}
.admin-bar .tk-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .tk-header { top: 46px; } }
.tk-header.is-stuck { box-shadow: 0 10px 30px rgba(0, 0, 0, .35); background: color-mix(in srgb, var(--tk-dark) 92%, transparent); backdrop-filter: blur(10px); }
.tk-header__row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: var(--tk-header-h); transition: height .3s var(--tk-ease); }
.tk-header.is-stuck .tk-header__row { height: 68px; }

.tk-logo { text-align: center; line-height: 0; }
.tk-logo img, .tk-logo .custom-logo {
	width: auto !important; max-width: min(300px, 52vw) !important; max-height: 70px; height: auto;
	transition: max-height .3s var(--tk-ease), transform .3s var(--tk-ease);
}
.tk-header.is-stuck .tk-logo img { max-height: 52px; }
.tk-logo a:hover img { transform: scale(1.03); }
.tk-logo__text { font-family: var(--tk-font-display); font-size: 2.2rem; color: #fff; text-decoration: none; line-height: 1; }

.tk-burger {
	justify-self: start; width: 46px; height: 46px; padding: 0;
	display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px;
	background: rgba(255, 255, 255, .14) !important; border: 0; border-radius: 12px; cursor: pointer;
	transition: background-color .2s, transform .2s var(--tk-ease);
	box-shadow: none !important;
}
.tk-burger::after { display: none; }
.tk-burger:hover { background: rgba(255, 255, 255, .24) !important; transform: scale(1.05); }
.tk-burger span { display: block; width: 18px; height: 2px; border-radius: 2px; background: #fff; transition: transform .3s var(--tk-ease), opacity .2s, width .3s var(--tk-ease); }
.tk-burger span:nth-child(3) { width: 12px; align-self: center; transform: translateX(-3px); }
.tk-burger:hover span:nth-child(3) { width: 18px; transform: none; }
.tk-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.tk-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.tk-burger[aria-expanded="true"] span:nth-child(3) { width: 18px; transform: translateY(-7px) rotate(-45deg); }

.tk-cart { justify-self: end; position: relative; display: inline-flex; color: #fff; padding: 8px; transition: transform .2s var(--tk-ease), color .2s; }
.tk-cart:hover { transform: translateY(-2px); color: var(--tk-primary); }
.tk-cart__count {
	position: absolute; top: 0; right: -2px; min-width: 19px; height: 19px; padding: 0 5px;
	border-radius: 10px; background: var(--tk-primary); color: var(--tk-dark);
	font-size: 11px; font-weight: 700; line-height: 19px; text-align: center;
	animation: tk-pop .35s var(--tk-ease);
}
.tk-cart__count.is-empty { display: none; }
@keyframes tk-pop { 0% { transform: scale(0); } 70% { transform: scale(1.25); } 100% { transform: scale(1); } }

/* ==========================================================================
   Menú lateral
   ========================================================================== */
.tk-drawer { position: fixed; inset: 0; z-index: 200; visibility: hidden; pointer-events: none; }
.tk-drawer.is-open { visibility: visible; pointer-events: auto; }
.tk-drawer__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); opacity: 0; transition: opacity .35s ease; backdrop-filter: blur(2px); }
.tk-drawer.is-open .tk-drawer__overlay { opacity: 1; }
.tk-drawer__panel {
	position: absolute; top: 0; bottom: 0; left: 0;
	width: min(400px, 92vw); padding: 70px 28px 28px;
	background: var(--tk-light); color: var(--tk-text);
	display: flex; flex-direction: column;
	transform: translateX(-100%); transition: transform .45s var(--tk-ease);
	box-shadow: 20px 0 60px rgba(0, 0, 0, .3); overflow-y: auto;
}
.tk-drawer.is-open .tk-drawer__panel { transform: none; }
.tk-drawer__close {
	position: absolute; top: 16px; left: 16px; width: 42px; height: 42px; padding: 0;
	display: inline-flex; align-items: center; justify-content: center;
	background: transparent !important; color: var(--tk-text) !important; border: 0; border-radius: 50%; box-shadow: none !important;
	cursor: pointer; transition: transform .3s var(--tk-ease), background-color .2s;
}
.tk-drawer__close::after { display: none; }
.tk-drawer__close:hover { transform: rotate(90deg); background: rgba(0, 0, 0, .06) !important; }
.tk-drawer__menu { list-style: none; margin: 0; padding: 0; }
.tk-drawer__menu li {
	opacity: 0; transform: translateX(-24px);
	transition: opacity .4s ease, transform .5s var(--tk-ease);
	transition-delay: calc(.12s + var(--i, 0) * .06s);
}
.tk-drawer.is-open .tk-drawer__menu li { opacity: 1; transform: none; }
.tk-drawer__menu a {
	display: inline-block; padding: .28em 0;
	font-family: var(--tk-font-display); font-size: clamp(2rem, 5vw, 2.5rem); line-height: 1.1; text-transform: uppercase;
	text-decoration: none; color: var(--tk-text);
	background: linear-gradient(currentColor, currentColor) left bottom / 0 3px no-repeat;
	transition: background-size .35s var(--tk-ease), color .2s, transform .3s var(--tk-ease);
}
.tk-drawer__menu a:hover, .tk-drawer__menu .current-menu-item > a { background-size: 100% 3px; transform: translateX(6px); }
.tk-drawer__menu .current-menu-item > a { color: color-mix(in srgb, var(--tk-primary) 75%, #000); }
.tk-drawer__foot { margin-top: auto; padding-top: 32px; display: grid; gap: 20px; opacity: 0; transform: translateY(16px); transition: opacity .4s ease .35s, transform .5s var(--tk-ease) .35s; }
.tk-drawer.is-open .tk-drawer__foot { opacity: 1; transform: none; }
.tk-drawer__socials a { color: var(--tk-text); }

/* ==========================================================================
   Estructura Storefront
   ========================================================================== */
.site-content { padding-top: 0; }
.home .site-content .col-full { max-width: none; padding: 0; margin: 0; }
.home .entry-header, .home .storefront-breadcrumb { display: none; }
.home .site-main { margin-bottom: 0; }
.home .hentry, .home .type-page { margin: 0; padding: 0; border: 0; }
.home .entry-content > * { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: clamp(16px, 3vw, 40px); padding-right: clamp(16px, 3vw, 40px); }
.home .entry-content > .alignfull { max-width: none; width: 100%; padding-left: 0; padding-right: 0; }
.home .entry-content > .alignwide { max-width: 1400px; }
.storefront-breadcrumb { margin-bottom: 2em; padding: 1em 0; }
.page-template-template-fullwidth .entry-header .entry-title { font-size: clamp(2.4rem, 6vw, 4rem); }
.storefront-handheld-footer-bar { display: none !important; }

/* Aparición al hacer scroll */
.tk-js .tk-will-reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .9s var(--tk-ease); }
.tk-js .tk-will-reveal.is-visible { opacity: 1; transform: none; }

/* Títulos de sección */
.tk-section-title { margin: 1.4em auto .2em !important; text-align: center; }
.tk-section-sub { margin-top: 0 !important; text-align: center; font-family: var(--tk-font-display); font-style: italic; font-size: clamp(1.1rem, 2.2vw, 1.5rem); text-transform: uppercase; }
.tk-lead { text-align: center; margin-top: -.2em !important; }

/* ==========================================================================
   Portada — Hero
   ========================================================================== */
.tk-hero.wp-block-cover { min-height: min(88vh, 820px) !important; padding: clamp(40px, 6vw, 90px) 0 !important; align-items: center; }
.tk-hero .wp-block-cover__inner-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 clamp(16px, 3vw, 40px); color: #fff; }
.tk-hero .wp-block-cover__image-background { animation: tk-kenburns 18s ease-out both; }
@keyframes tk-kenburns { from { transform: scale(1.12); } to { transform: scale(1); } }
.tk-hero__content { max-width: 620px; }
.tk-hero h1, .tk-hero .tk-hero__kicker { margin: 0 !important; line-height: .9; color: #fff; }
.tk-hero .tk-hero__kicker { font-family: var(--tk-font-display); font-size: clamp(2.6rem, 6vw, 4.6rem); text-transform: uppercase; }
.tk-hero h1 { font-size: clamp(4.4rem, 12vw, 9.5rem); }
.tk-hero .tk-hero__sub { font-family: var(--tk-font-display); font-size: clamp(1.8rem, 4vw, 3rem); text-transform: uppercase; margin: 0 0 .6em !important; color: #fff; }
.tk-hero__tag { font-family: var(--tk-font-body); font-weight: 700; font-style: italic; text-transform: uppercase; font-size: clamp(1rem, 1.8vw, 1.3rem); line-height: 1.25; margin: 0 0 1.2em !important; }
.tk-hero__tag strong { color: var(--tk-primary); }
.tk-hero .tk-hero__kicker, .tk-hero h1, .tk-hero .tk-hero__sub, .tk-hero__tag, .tk-features, .tk-hero .wp-block-buttons {
	animation: tk-rise .9s var(--tk-ease) both;
}
.tk-hero h1 { animation-delay: .08s; }
.tk-hero .tk-hero__sub { animation-delay: .16s; }
.tk-hero__tag { animation-delay: .24s; }
.tk-features { animation-delay: .32s; }
.tk-hero .wp-block-buttons { animation-delay: .4s; }
@keyframes tk-rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }

.tk-features { list-style: none; margin: 0 0 1.8em !important; padding: 0 !important; max-width: 420px; }
.tk-features li {
	display: flex; flex-direction: column; padding: .7em 0 .7em 3.2em; position: relative;
	border-top: 1px solid color-mix(in srgb, var(--tk-primary) 45%, transparent);
	font-family: var(--tk-font-display); font-size: 1.6rem; line-height: 1; text-transform: uppercase;
}
.tk-features li:last-child { border-bottom: 1px solid color-mix(in srgb, var(--tk-primary) 45%, transparent); }
.tk-features li::before {
	content: ""; position: absolute; left: 0; top: 50%; width: 2.2em; height: 2.2em; transform: translateY(-50%);
	font-size: .9em; background: var(--tk-primary);
	-webkit-mask: var(--tk-ico) center / contain no-repeat; mask: var(--tk-ico) center / contain no-repeat;
}
.tk-features li:nth-child(1) { --tk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }
.tk-features li:nth-child(2) { --tk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 9-12h-7l1-8z'/%3E%3C/svg%3E"); }
.tk-features li:nth-child(3) { --tk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9a2 2 0 0 0 0 6v3h18v-3a2 2 0 0 1 0-6V6H3v3z'/%3E%3Cpath d='M14 6v12' stroke-dasharray='2 2'/%3E%3C/svg%3E"); }
.tk-features li em { font-family: var(--tk-font-body); font-style: normal; font-weight: 600; font-size: .78rem; letter-spacing: .04em; opacity: .85; margin-top: .25em; }
.tk-hero .wp-block-button__link { font-size: 1.15rem; padding: 1.05em 2.8em; }

/* ==========================================================================
   Banner con brillo (clase "tk-shine" en un Grupo)
   ========================================================================== */
.tk-shine {
	position: relative; overflow: hidden; isolation: isolate;
	margin-top: 18px !important; border-radius: var(--tk-radius);
	background: radial-gradient(120% 140% at 70% 0%, color-mix(in srgb, var(--tk-primary) 22%, var(--tk-dark)) 0%, var(--tk-dark) 60%) !important;
	color: #fff; box-shadow: 0 24px 50px rgba(0, 0, 0, .28);
	padding: 26px clamp(20px, 3vw, 36px) !important;
	max-width: calc(1200px - 2 * clamp(16px, 3vw, 40px)) !important;
}
.tk-shine::before {
	content: ""; position: absolute; z-index: -1; width: 520px; height: 520px; right: 10%; top: 50%;
	margin-top: -260px; border-radius: 50%;
	background: conic-gradient(from 0deg, transparent 0 40%, color-mix(in srgb, var(--tk-primary) 55%, transparent) 50%, transparent 60% 100%);
	filter: blur(40px); opacity: .55; animation: tk-spin 8s linear infinite;
}
.tk-shine::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .12) 50%, transparent 65%);
	transform: translateX(-100%); animation: tk-sweep 3.8s ease-in-out infinite;
}
@keyframes tk-spin { to { transform: rotate(360deg); } }
@keyframes tk-sweep { 0%, 35% { transform: translateX(-100%); } 75%, 100% { transform: translateX(100%); } }
.tk-shine h2, .tk-shine h3 { margin: .2em 0 .15em !important; font-size: clamp(1.6rem, 3vw, 2.4rem); color: #fff; }
.tk-shine p { margin: 0; color: rgba(255, 255, 255, .82); }
.tk-badge {
	display: inline-flex !important; align-items: center; gap: .5em; margin: 0 !important;
	padding: .35em 1em; border-radius: var(--tk-pill);
	border: 1px solid color-mix(in srgb, var(--tk-primary) 70%, transparent);
	background: color-mix(in srgb, var(--tk-primary) 16%, transparent);
	color: var(--tk-primary) !important; font-size: .75rem !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.tk-shine .wp-block-columns { margin: 0; align-items: center !important; }
.tk-shine .tikcoco-countdown { justify-content: flex-end; margin: 0; }

/* ==========================================================================
   Cuenta regresiva
   ========================================================================== */
.tikcoco-countdown { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin: 14px 0; }
.tikcoco-countdown span {
	min-width: 74px; padding: 10px 12px; border-radius: 14px; text-align: center;
	background: rgba(255, 255, 255, .06); border: 1px solid color-mix(in srgb, var(--tk-primary) 45%, transparent);
	color: #fff; backdrop-filter: blur(4px);
}
.tikcoco-countdown b { display: block; font-family: var(--tk-font-display); font-weight: 400; font-size: 2.3rem; line-height: 1; color: var(--tk-primary); }
.tikcoco-countdown small { font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; opacity: .75; }
.tk-countdown-light .tikcoco-countdown span { background: var(--tk-dark); }

/* ==========================================================================
   Cinta de stickers (shortcode [tikcoco_marquee])
   ========================================================================== */
.tk-marquee {
	overflow: hidden; padding: 12px 0 28px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.tk-marquee__track { display: flex; gap: 28px; width: max-content; animation: tk-marquee var(--tk-marquee-speed, 40s) linear infinite; }
.tk-marquee:hover .tk-marquee__track { animation-play-state: paused; }
@keyframes tk-marquee { to { transform: translateX(calc(-50% - 14px)); } }
.tk-marquee__card {
	flex: 0 0 auto; width: clamp(200px, 22vw, 290px); text-decoration: none; text-align: center;
	border-radius: var(--tk-radius); background: var(--tk-dark); padding: 18px 18px 14px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .14);
	transition: transform .35s var(--tk-ease), box-shadow .35s var(--tk-ease);
}
.tk-marquee__card img { display: block; width: 100%; height: auto; border-radius: 16px; transition: transform .5s var(--tk-ease); }
.tk-marquee__card span { display: block; margin-top: 10px; color: #fff; font-family: var(--tk-font-display); font-size: 1.4rem; text-transform: uppercase; }
.tk-marquee__card:hover { transform: translateY(-8px) rotate(-1.5deg); box-shadow: 0 22px 40px rgba(0, 0, 0, .25); }
.tk-marquee__card:hover img { transform: scale(1.06) rotate(2deg); }

/* ==========================================================================
   Tarjetas de oferta (Columnas con clase "tk-offers")
   ========================================================================== */
.tk-offers { gap: 40px !important; max-width: 1000px !important; }
.tk-offers .wp-block-image { margin: 0 0 18px; }
.tk-offers .wp-block-image img {
	border-radius: var(--tk-radius); width: 100%; height: auto; display: block;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .22);
	transition: transform .45s var(--tk-ease), box-shadow .45s var(--tk-ease);
}
.tk-offers .wp-block-column:hover .wp-block-image img { transform: translateY(-8px) scale(1.015); box-shadow: 0 30px 60px rgba(0, 0, 0, .3); }
.tk-offers .wp-block-button__link { background: var(--tk-dark); color: #fff !important; box-shadow: 0 10px 24px rgba(0, 0, 0, .25); }
.tk-offers .wp-block-button__link:hover { background: var(--tk-dark); color: var(--tk-primary) !important; }

/* ==========================================================================
   Carrusel de premios (Galería con clase "tk-carousel")
   ========================================================================== */
.tk-carousel-wrap { position: relative; max-width: 1100px; margin: 0 auto; padding: 0 clamp(16px, 3vw, 40px); }
.wp-block-gallery.tk-carousel {
	display: flex !important; flex-wrap: nowrap !important; gap: 24px !important;
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 10px 2px 20px !important; margin: 0 !important;
}
.wp-block-gallery.tk-carousel::-webkit-scrollbar { display: none; }
.wp-block-gallery.tk-carousel figure.wp-block-image {
	flex: 0 0 100% !important; width: 100% !important; margin: 0 !important; scroll-snap-align: start;
	background: #fff; border-radius: var(--tk-radius); overflow: hidden; display: flex; flex-direction: column;
}
.wp-block-gallery.tk-carousel figure img { width: 100% !important; height: clamp(260px, 42vw, 520px) !important; object-fit: contain !important; flex: 1 1 auto; }
.wp-block-gallery.tk-carousel figure figcaption {
	position: static !important; background: none !important; color: var(--tk-text) !important;
	font-family: var(--tk-font-display); font-size: clamp(1.4rem, 3vw, 2.2rem); text-transform: uppercase; padding: 8px 0 0 !important; text-align: center;
}
.tk-carousel__arrow {
	position: absolute; top: 45%; transform: translateY(-50%); z-index: 2;
	width: 50px; height: 50px; padding: 0 !important; border-radius: 50% !important;
	background: var(--tk-dark) !important; color: #fff !important; font-size: 30px !important; line-height: 1 !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .25) !important; border: 0; cursor: pointer;
	transition: transform .25s var(--tk-ease), background-color .2s;
}
.tk-carousel__arrow::after { display: none; }
.tk-carousel__arrow:hover { transform: translateY(-50%) scale(1.1); background: var(--tk-primary) !important; color: var(--tk-dark) !important; }
.tk-carousel__arrow.is-prev { left: 0; }
.tk-carousel__arrow.is-next { right: 0; }
.tk-carousel__dots { display: flex; justify-content: center; gap: 8px; margin-top: 6px; }
.tk-carousel__dots button { width: 9px; height: 9px; padding: 0 !important; border-radius: 9px !important; background: #d4d4d4 !important; border: 0; box-shadow: none !important; transition: width .3s var(--tk-ease), background-color .3s; cursor: pointer; }
.tk-carousel__dots button::after { display: none; }
.tk-carousel__dots button.is-active { width: 28px; background: var(--tk-primary) !important; }

/* ==========================================================================
   Imagen + texto (Medios y texto con clase "tk-media")
   ========================================================================== */
.tk-media { margin: 70px auto !important; gap: 40px; }
.tk-media .wp-block-media-text__media img { border-radius: var(--tk-radius); box-shadow: 0 20px 50px rgba(0, 0, 0, .2); transition: transform .5s var(--tk-ease); }
.tk-media:hover .wp-block-media-text__media img { transform: scale(1.02) rotate(-.5deg); }
.tk-media .wp-block-media-text__content { text-align: center; }
.tk-media h2 { font-size: clamp(1.8rem, 3.2vw, 2.6rem); }

/* ==========================================================================
   Banda de ayuda (Portada con clase "tk-cta")
   ========================================================================== */
.tk-cta.wp-block-cover { min-height: 560px !important; margin-top: 60px !important; }
.tk-cta .wp-block-cover__inner-container { text-align: center; color: #fff; }
.tk-cta .tk-cta__kicker { font-family: var(--tk-font-display); font-size: clamp(1.3rem, 2.4vw, 1.8rem); text-transform: uppercase; margin-bottom: 0; }
.tk-cta h2 { font-size: clamp(3rem, 7vw, 5.4rem); color: #fff; margin: .1em 0 .5em !important; }
.tk-cta .wp-block-buttons { gap: 14px; }
.tk-cta .wp-block-button__link { min-width: 230px; }

.tk-sandbox-note { text-align: center; font-size: .85rem; color: #b91c1c; font-weight: 700; margin: 26px auto !important; }

/* ==========================================================================
   Tienda
   ========================================================================== */
ul.products li.product {
	background: #fff; border-radius: var(--tk-radius); padding: 16px 16px 20px !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .07); text-align: center;
	transition: transform .35s var(--tk-ease), box-shadow .35s var(--tk-ease);
}
ul.products li.product:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(0, 0, 0, .14); }
ul.products li.product img { border-radius: 16px; transition: transform .5s var(--tk-ease); margin-bottom: 12px !important; }
ul.products li.product:hover img { transform: scale(1.05) rotate(-2deg); }
ul.products li.product .woocommerce-loop-product__title { font-size: 1.6rem !important; color: var(--tk-text); }
ul.products li.product .price { color: var(--tk-text); font-weight: 700; font-size: 1.05rem; }
ul.products li.product .button { margin-top: 10px; padding: .8em 1.6em; font-size: .85rem; }
.product_title { font-size: clamp(2.6rem, 6vw, 4rem); }
.single-product div.product .price { font-size: 1.6rem; font-weight: 700; color: var(--tk-text); }
.single-product div.product .woocommerce-product-gallery img { border-radius: var(--tk-radius); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--tk-primary) !important; border-radius: 14px; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--tk-primary) !important; }
.site-main ul.products { margin-bottom: 3em; }

/* ==========================================================================
   Pie de página
   ========================================================================== */
.tk-footer { background: var(--tk-dark); color: #fff; padding: 44px 0 26px; }
.tk-footer__top { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; padding-bottom: 28px; border-bottom: 1px solid rgba(255, 255, 255, .16); }
.tk-footer__logo img { width: auto !important; max-width: 240px !important; max-height: 80px; height: auto; }
.tk-footer__brand p { margin: 14px 0 0; max-width: 380px; font-size: .9rem; color: rgba(255, 255, 255, .7); }
.tk-footer__menu { list-style: none; margin: 0; padding: 0; }
.tk-footer__menu a {
	display: inline-block; padding: .3em 0; color: #fff; text-decoration: none; font-size: 1.02rem;
	background: linear-gradient(var(--tk-primary), var(--tk-primary)) left bottom / 0 2px no-repeat;
	transition: background-size .3s var(--tk-ease), color .2s, transform .25s var(--tk-ease);
}
.tk-footer__menu a:hover { color: var(--tk-primary); background-size: 100% 2px; transform: translateX(4px); }
.tk-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 20px; }
.tk-footer__bottom p { margin: 0; font-size: .82rem; color: rgba(255, 255, 255, .6); }

/* Botón flotante de contacto */
.tk-fab {
	position: fixed; right: 20px; bottom: 20px; z-index: 80;
	width: 60px; height: 60px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--tk-primary); color: var(--tk-dark);
	box-shadow: 0 10px 28px color-mix(in srgb, var(--tk-primary) 50%, transparent);
	transition: transform .3s var(--tk-ease), box-shadow .3s;
	animation: tk-fab-in .6s var(--tk-ease) .8s both;
}
.tk-fab::before { content: ""; position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 0 color-mix(in srgb, var(--tk-primary) 60%, transparent); animation: tk-pulse 2.6s ease-out 2s infinite; }
.tk-fab:hover { transform: translateY(-3px) scale(1.06); color: var(--tk-dark); }
@keyframes tk-fab-in { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: none; } }
@keyframes tk-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--tk-primary) 55%, transparent); } 70%, 100% { box-shadow: 0 0 0 18px transparent; } }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 767px) {
	:root { --tk-header-h: 72px; }
	.tk-announce { font-size: .72rem; }
	.tk-announce__row { grid-template-columns: auto 1fr; gap: 10px; }
	.tk-announce__text { text-align: right; }
	.tk-announce__spacer { display: none; }
	.tk-logo img { max-height: 54px; }
	.tk-hero.wp-block-cover { min-height: 640px !important; }
	.tk-hero .wp-block-cover__image-background { object-position: 70% center !important; }
	.tk-features li { font-size: 1.35rem; }
	.tk-shine .wp-block-columns { gap: 14px; }
	.tk-shine .tikcoco-countdown { justify-content: flex-start; }
	.tk-offers { gap: 36px !important; }
	.tk-media { gap: 20px; }
	.tk-footer__top { grid-template-columns: 1fr; }
	.tk-footer__bottom { flex-direction: column-reverse; align-items: flex-start; }
	.tk-carousel__arrow { width: 40px; height: 40px; font-size: 24px !important; }
	.tk-fab { width: 54px; height: 54px; right: 14px; bottom: 14px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.tk-marquee__track { animation: none; }
}

/* ==========================================================================
   Ajustes sobre los estilos de bloques de Storefront
   (Storefront usa ".hentry .entry-content ..." con mucha especificidad)
   ========================================================================== */
.hentry .entry-content .wp-block-button .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center;
	padding: .95em 2.2em; border: 0; border-radius: var(--tk-pill);
	background: var(--tk-primary); color: var(--tk-dark);
	font-size: 1rem; line-height: 1.2; font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
}
.hentry .entry-content .wp-block-button .wp-block-button__link:hover { background: var(--tk-primary); color: var(--tk-dark); }
.hentry .entry-content .wp-block-button.is-style-outline .wp-block-button__link,
.hentry .entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover,
.hentry .entry-content .wp-block-button.is-style-outline .wp-block-button__link:focus {
	background: #fff; color: var(--tk-dark); border: 0; box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
}
.hentry .entry-content .tk-offers .wp-block-button .wp-block-button__link { background: var(--tk-dark); color: #fff; box-shadow: 0 10px 24px rgba(0, 0, 0, .25); }
.hentry .entry-content .tk-offers .wp-block-button .wp-block-button__link:hover { background: var(--tk-dark); color: var(--tk-primary); }
.hentry .entry-content .tk-btn-block .wp-block-button .wp-block-button__link { width: 100%; padding: 1.3em 1em; font-size: 1.1rem; }
.hentry .entry-content .tk-hero .wp-block-button .wp-block-button__link { font-size: 1.15rem; padding: 1.05em 2.8em; }
.hentry .entry-content .tk-cta .wp-block-button .wp-block-button__link { min-width: 230px; }

.hentry .entry-content .wp-block-cover.tk-hero .wp-block-cover__inner-container { width: 100% !important; max-width: 1200px; margin: 0 auto !important; }
.hentry .entry-content .wp-block-cover.tk-hero .wp-block-cover__inner-container h1 { font-size: clamp(4.4rem, 12vw, 9.5rem); margin: 0; line-height: .9; }
.hentry .entry-content .wp-block-cover.tk-hero .wp-block-cover__inner-container .tk-hero__kicker { font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: .9; margin: 0; }
.hentry .entry-content .wp-block-cover.tk-hero .wp-block-cover__inner-container .tk-hero__sub { font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1; margin: 0 0 .5em; }
.hentry .entry-content .wp-block-cover.tk-hero .wp-block-cover__inner-container .tk-hero__tag { font-size: clamp(1rem, 1.8vw, 1.3rem); margin: 0 0 1.2em; }
.hentry .entry-content .wp-block-cover.tk-cta .wp-block-cover__inner-container h2 { font-size: clamp(3rem, 7vw, 5.4rem); line-height: 1; margin: .1em 0 .5em; }
.hentry .entry-content .wp-block-cover.tk-cta .wp-block-cover__inner-container .tk-cta__kicker { font-size: clamp(1.3rem, 2.4vw, 1.8rem); margin: 0; }
.hentry .entry-content .tk-shine h3 { font-size: clamp(1.6rem, 3vw, 2.4rem); margin: .25em 0 .15em; }

.hentry .entry-content .wp-block-gallery.tk-carousel { align-items: flex-start; }
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image { height: auto !important; flex-grow: 0 !important; justify-content: flex-start; }
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image img { flex: 0 0 auto !important; height: clamp(240px, 38vw, 460px) !important; }
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image figcaption {
	position: static; margin: 0; padding: 10px 0 0; max-height: none; overflow: visible;
	background: none; color: var(--tk-text); text-shadow: none;
	font-family: var(--tk-font-display); font-size: clamp(1.4rem, 3vw, 2.2rem); line-height: 1.1; text-transform: uppercase; text-align: center;
}
.hentry .entry-content .tk-media h2 { font-size: clamp(1.8rem, 3.2vw, 2.6rem); }
.tk-footer__bottom { padding-right: 80px; }
@media (max-width: 767px) { .tk-footer__bottom { padding-right: 0; padding-bottom: 60px; } }
/* Storefront fija el tamaño de los párrafos dentro de Portadas con una cadena de :not() muy específica. */
.hentry .entry-content .wp-block-cover.tk-hero .wp-block-cover__inner-container .tk-hero__kicker { font-size: clamp(2.6rem, 6vw, 4.6rem) !important; }
.hentry .entry-content .wp-block-cover.tk-hero .wp-block-cover__inner-container .tk-hero__sub { font-size: clamp(2.2rem, 5vw, 3.6rem) !important; }
.hentry .entry-content .wp-block-cover.tk-hero .wp-block-cover__inner-container .tk-hero__tag { font-size: clamp(1rem, 1.8vw, 1.3rem) !important; }
.hentry .entry-content .wp-block-cover.tk-cta .wp-block-cover__inner-container .tk-cta__kicker { font-size: clamp(1.3rem, 2.4vw, 1.8rem) !important; }
.hentry .entry-content .wp-block-cover .wp-block-cover__inner-container h2 { color: #fff; }
.hentry .entry-content .wp-block-cover.tk-cta .wp-block-cover__inner-container { width: 100%; max-width: 1100px; }
.hentry .entry-content .wp-block-buttons { align-items: center; }
.hentry .entry-content .wp-block-buttons > .wp-block-button { margin: 0; }
.home .entry-content > .tk-shine { width: calc(100% - 2 * clamp(16px, 3vw, 40px)); max-width: 1120px !important; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 767px) { .tk-announce__text { font-size: .66rem; letter-spacing: .03em; } }
.tk-drawer button:focus:not(:focus-visible), .tk-burger:focus:not(:focus-visible) { outline: none; }
.tk-drawer button:focus-visible, .tk-burger:focus-visible { outline: 2px solid var(--tk-primary); outline-offset: 2px; }

/* ==========================================================================
   Foco: sin contorno al hacer clic; dorado solo al navegar con teclado
   ========================================================================== */
a:focus, button:focus, .button:focus, input[type="submit"]:focus, .custom-logo-link:focus { outline: none; }
a:focus-visible, button:focus-visible, .button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: 2px solid var(--tk-primary) !important; outline-offset: 3px;
}
.custom-logo-link, .custom-logo-link:visited, .custom-logo-link:hover { border: 0; box-shadow: none; text-decoration: none; }

/* ==========================================================================
   Páginas internas
   ========================================================================== */
.tk-pagehead {
	position: relative; overflow: hidden; isolation: isolate;
	background: var(--tk-dark); color: #fff;
	padding: clamp(46px, 7vw, 90px) 0 clamp(40px, 6vw, 70px);
	text-align: center;
}
.tk-pagehead::before {
	content: ""; position: absolute; inset: -40% -10% auto; height: 180%; z-index: -1;
	background: radial-gradient(50% 45% at 50% 0%, color-mix(in srgb, var(--tk-primary) 30%, transparent) 0%, transparent 70%);
}
.tk-pagehead::after {
	content: ""; position: absolute; left: 50%; bottom: 0; width: min(420px, 60vw); height: 2px; transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, var(--tk-primary), transparent);
}
.tk-pagehead__title {
	margin: .15em 0 0; font-size: clamp(3rem, 8vw, 5.6rem); line-height: .95;
	background: var(--tk-gold-gradient); -webkit-background-clip: text; background-clip: text; color: transparent;
	filter: drop-shadow(0 3px 0 rgba(0, 0, 0, .4));
	animation: tk-rise .8s var(--tk-ease) both;
}
.tk-pagehead.is-slim { padding: 22px 0; text-align: left; }
.tk-pagehead.is-slim::after { display: none; }
.tk-crumbs { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .6); animation: tk-rise .6s var(--tk-ease) both; }
.tk-crumbs a { color: rgba(255, 255, 255, .85); text-decoration: none; transition: color .2s; }
.tk-crumbs a:hover { color: var(--tk-primary); }
.tk-crumbs__sep { margin: 0 .7em; color: var(--tk-primary); }

.tk-inner .site-content { padding-top: clamp(36px, 5vw, 64px); padding-bottom: clamp(40px, 6vw, 80px); }
.tk-inner .site-main { margin-bottom: 0; }
.tk-inner .hentry { margin: 0; padding: 0; border: 0; }
.tk-inner .entry-header { display: none; }
.storefront-full-width-content .content-area { width: 100%; float: none; margin: 0; }

/* Páginas de texto (bases, contacto, verificar…) */
.page.tk-inner:not(.woocommerce-page) .entry-content {
	max-width: 820px; margin: 0 auto;
	background: #fff; border-radius: var(--tk-radius);
	padding: clamp(24px, 4vw, 48px);
	box-shadow: 0 20px 60px rgba(0, 0, 0, .08); border: 1px solid rgba(0, 0, 0, .05);
	font-size: 1.02rem; line-height: 1.75;
}
.tk-inner .entry-content > :first-child { margin-top: 0; }
.tk-inner .entry-content h2 { font-size: clamp(1.8rem, 3.4vw, 2.4rem); margin: 1.4em 0 .4em; }
.tk-inner .entry-content h3 { font-size: 1.6rem; margin: 1.2em 0 .4em; }
.tk-inner .entry-content a:not(.button):not(.wp-block-button__link) {
	color: var(--tk-text); font-weight: 600; text-decoration: none;
	background: linear-gradient(var(--tk-primary), var(--tk-primary)) left bottom / 100% 2px no-repeat;
	transition: background-size .3s var(--tk-ease), color .2s;
}
.tk-inner .entry-content a:not(.button):not(.wp-block-button__link):hover { background-size: 100% 100%; color: var(--tk-dark); }
.tk-inner .entry-content ol { counter-reset: tk; list-style: none; margin: 1.2em 0; padding: 0; }
.tk-inner .entry-content ol > li { counter-increment: tk; position: relative; padding: .7em 0 .7em 3.4em; border-bottom: 1px solid rgba(0, 0, 0, .07); }
.tk-inner .entry-content ol > li:last-child { border-bottom: 0; }
.tk-inner .entry-content ol > li::before {
	content: counter(tk, decimal-leading-zero); position: absolute; left: 0; top: .55em;
	width: 2.4em; height: 2.4em; border-radius: 50%; display: grid; place-items: center;
	background: var(--tk-dark); color: var(--tk-primary);
	font-family: var(--tk-font-display); font-size: .95rem; line-height: 1;
}
.tk-inner .entry-content ul:not(.products):not(.wp-block-list.tk-features) { padding-left: 1.2em; }
.tk-inner .entry-content ul:not(.products) > li::marker { color: var(--tk-primary); }

/* Formularios */
.tk-inner input[type="text"], .tk-inner input[type="email"], .tk-inner input[type="number"], .tk-inner input[type="tel"],
.tk-inner input[type="password"], .tk-inner input[type="search"], .tk-inner textarea, .tk-inner select, .tk-inner .select2-selection {
	background: #fff !important; border: 1.5px solid #e2e2de !important; border-radius: 14px !important;
	padding: .85em 1.1em !important; box-shadow: none !important; color: var(--tk-text);
	transition: border-color .2s, box-shadow .2s;
}
.tk-inner input:focus, .tk-inner textarea:focus, .tk-inner select:focus {
	border-color: var(--tk-primary) !important; outline: none !important;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--tk-primary) 22%, transparent) !important;
}
.tk-inner label { font-weight: 600; font-size: .88rem; }
.tikcoco-verificar { gap: 14px !important; }
.tikcoco-verificar .button { padding: .95em 2em; }

/* Tienda */
.woocommerce-products-header { display: none; }
.storefront-sorting { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 2em; padding: 0 0 1.2em; border-bottom: 1px solid rgba(0, 0, 0, .07); }
.storefront-sorting .woocommerce-ordering, .storefront-sorting .woocommerce-result-count { margin: 0; float: none; }
.storefront-sorting .woocommerce-result-count { font-size: .85rem; color: #777; }
.storefront-sorting select.orderby { border-radius: var(--tk-pill) !important; padding: .6em 2.4em .6em 1.2em !important; }
.storefront-sorting + .storefront-sorting, .woocommerce-pagination + .storefront-sorting { display: none; }
ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 28px; }
ul.products::before, ul.products::after { display: none !important; }
ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }

/* Ficha de producto */
.single-product div.product { margin-top: 10px; }
.single-product div.product .summary { padding: clamp(10px, 2vw, 24px) 0; }
.single-product div.product .product_title { margin-bottom: .2em; }
.single-product div.product form.cart { display: flex; gap: 12px; align-items: stretch; padding: 1.2em 0; border-top: 1px solid rgba(0, 0, 0, .07); border-bottom: 1px solid rgba(0, 0, 0, .07); }
.single-product div.product form.cart .quantity .qty { width: 5em; height: 100%; text-align: center; border-radius: var(--tk-pill) !important; }
.single-product .woocommerce-tabs { padding-top: 2em; }
.single-product .woocommerce-tabs ul.tabs li a { font-weight: 600; }
.single-product .related > h2, .single-product .upsells > h2 { text-align: center; font-size: clamp(2rem, 4vw, 3rem); margin: 1em 0 .6em; }
.storefront-product-pagination { display: none; }

/* Carrito / checkout / mi cuenta */
.woocommerce-cart .entry-content, .woocommerce-checkout .entry-content, .woocommerce-account .entry-content { max-width: 1100px; margin: 0 auto; }
.woocommerce-checkout-review-order-table, .cart_totals table { border-radius: var(--tk-radius); overflow: hidden; }
.woocommerce-cart table.cart img { border-radius: 12px; }
#payment { border-radius: var(--tk-radius); }

@media (max-width: 767px) {
	.storefront-sorting { flex-direction: column; align-items: stretch; }
	ul.products { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	ul.products li.product { padding: 10px 10px 14px !important; }
	ul.products li.product .woocommerce-loop-product__title { font-size: 1.25rem !important; }
	ul.products li.product .button { padding: .7em 1em; font-size: .72rem; }
}

/* Recuadro de tickets (verificador / pedido): en la web usa los colores del tema. */
.tikcoco-tickets { border: 2px dashed var(--tk-primary) !important; background: color-mix(in srgb, var(--tk-primary) 7%, #fff) !important; border-radius: var(--tk-radius) !important; padding: clamp(16px, 3vw, 28px) !important; }
.tikcoco-tickets h2 { color: var(--tk-text) !important; font-size: clamp(1.8rem, 3.4vw, 2.4rem) !important; margin: 0 0 .2em !important; }
.tikcoco-tickets table { border-radius: 14px; overflow: hidden; }
.tikcoco-tickets td:first-child { font-family: var(--tk-font-body) !important; font-weight: 700 !important; font-size: 1.15rem !important; letter-spacing: .06em; font-variant-numeric: tabular-nums; color: var(--tk-text) !important; }

/* ==========================================================================
   Agregar al carrito (listados): estados progresivos + "Ver carrito" en línea
   ========================================================================== */
.tk-atc { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; }
.tk-atc .button { margin: 0 !important; }
ul.products li.product .tk-atc .add_to_cart_button { transition: transform .25s var(--tk-ease), box-shadow .25s var(--tk-ease), background-color .3s, color .3s, padding .3s var(--tk-ease); }

/* Cargando: el texto se desvanece y aparece un indicador de carga */
.add_to_cart_button.loading { opacity: 1 !important; color: transparent !important; pointer-events: none; }
.add_to_cart_button.loading::before {
	content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px;
	border-radius: 50%; border: 2.5px solid color-mix(in srgb, var(--tk-dark) 25%, transparent); border-top-color: var(--tk-dark);
	animation: tk-spin .7s linear infinite;
}
/* Storefront agrega íconos FontAwesome en ::after de .loading/.added: se reemplazan por el brillo del tema */
.button.loading::after, .button.added::after, .add_to_cart_button.added::after, .add_to_cart_button.loading::after {
	content: "" !important; font-family: inherit !important; margin: 0 !important;
	position: absolute; inset: 0; animation: none !important;
}

/* ¡Agregado! */
.add_to_cart_button.tk-just-added {
	background: var(--tk-dark) !important; color: var(--tk-primary) !important;
	animation: tk-btn-pop .5s var(--tk-ease);
}
.tk-atc__check { display: inline-grid; place-items: center; width: 1.35em; height: 1.35em; border-radius: 50%; background: var(--tk-primary); color: var(--tk-dark); font-size: .85em; animation: tk-pop .45s var(--tk-ease); }
@keyframes tk-btn-pop { 0% { transform: scale(1); } 35% { transform: scale(.94); } 70% { transform: scale(1.05); } 100% { transform: scale(1); } }

/* "Ver carrito": botón redondo con ícono */
.tk-atc a.added_to_cart {
	flex: 0 0 auto; width: 44px; height: 44px; padding: 0 !important; margin: 0 !important;
	border-radius: 50% !important; font-size: 0 !important; line-height: 0;
	background: var(--tk-dark) !important; color: var(--tk-primary) !important;
	box-shadow: 0 8px 18px rgba(0, 0, 0, .22) !important; position: relative; overflow: visible;
	animation: tk-atc-in .55s var(--tk-ease) both;
	transition: transform .25s var(--tk-ease), background-color .2s, color .2s, box-shadow .25s;
}
.tk-atc a.added_to_cart::before {
	content: ""; position: absolute; inset: 0; margin: auto; width: 22px; height: 22px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3Cpath d='M10 14h4m-1.5-1.5L14 14l-1.5 1.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3Cpath d='M10 14h4m-1.5-1.5L14 14l-1.5 1.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.tk-atc a.added_to_cart::after {
	content: attr(data-tk-tip); position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translate(-50%, 4px);
	padding: .35em .7em; border-radius: 8px; background: var(--tk-dark); color: #fff;
	font-size: 11px; font-weight: 600; line-height: 1.2; letter-spacing: .03em; white-space: nowrap; text-transform: none;
	opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s var(--tk-ease);
}
.tk-atc a.added_to_cart:hover { transform: translateY(-2px) scale(1.06); background: var(--tk-primary) !important; color: var(--tk-dark) !important; filter: none; }
.tk-atc a.added_to_cart:hover::after { opacity: 1; transform: translate(-50%, 0); }
@keyframes tk-atc-in { 0% { opacity: 0; transform: scale(.3) translateX(-16px); } 60% { opacity: 1; transform: scale(1.12); } 100% { transform: none; } }

/* Carrito de la cabecera: saltito al agregar */
.tk-cart.tk-bump { animation: tk-bump .6s var(--tk-ease); }
@keyframes tk-bump { 0% { transform: none; } 30% { transform: translateY(-5px) rotate(-10deg); } 60% { transform: translateY(0) rotate(6deg); } 100% { transform: none; } }

/* Ficha de producto: aviso "agregado al carrito" con el mismo estilo */
.woocommerce-message { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .07); animation: tk-rise .5s var(--tk-ease); }
.woocommerce-message .button, .woocommerce-message .button.wc-forward {
	order: 2; float: none !important; background: var(--tk-dark) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(0, 0, 0, .2);
}
.woocommerce-message .button:hover { background: var(--tk-primary) !important; color: var(--tk-dark) !important; }

@media (max-width: 767px) {
	.tk-atc { gap: 6px; }
	.tk-atc a.added_to_cart { width: 38px; height: 38px; }
	.tk-atc a.added_to_cart::before { width: 18px; height: 18px; }
}

/* Storefront: los botones ".alt" (Finalizar compra, Realizar el pedido, Agregar al carrito
 * en la ficha…) pasan a negro #1a1a1a al hacer hover. Se igualan al resto de botones. */
button.alt, input[type="button"].alt, input[type="reset"].alt, input[type="submit"].alt, .button.alt,
.widget-area .widget a.button.alt, .wc-block-components-button:not(.is-link) {
	background-color: var(--tk-primary) !important; border-color: var(--tk-primary) !important; color: var(--tk-dark) !important;
}
button.alt:hover, input[type="button"].alt:hover, input[type="reset"].alt:hover, input[type="submit"].alt:hover, .button.alt:hover,
.widget-area .widget a.button.alt:hover, .wc-block-components-button:not(.is-link):hover,
button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, .button:hover {
	background-color: var(--tk-primary); border-color: var(--tk-primary); color: var(--tk-dark);
}
button.alt:hover, input[type="submit"].alt:hover, .button.alt:hover, .wc-block-components-button:not(.is-link):hover {
	background-color: var(--tk-primary) !important; border-color: var(--tk-primary) !important; color: var(--tk-dark) !important;
	transform: translateY(-2px); filter: brightness(1.06);
	box-shadow: 0 12px 28px color-mix(in srgb, var(--tk-primary) 50%, transparent);
}
.checkout-button.button.alt, #place_order { width: 100%; padding: 1.15em 2em !important; font-size: 1.05rem !important; }

/* Estados del botón con más especificidad que la regla general de .button */
ul.products li.product .tk-atc .add_to_cart_button { white-space: nowrap; }
ul.products li.product .tk-atc .add_to_cart_button.added { padding-left: 1.3em; padding-right: 1.3em; }
ul.products li.product .tk-atc .add_to_cart_button.loading { color: transparent !important; }
ul.products li.product .tk-atc .add_to_cart_button.tk-just-added { background: var(--tk-dark) !important; color: #fff !important; }
.tk-atc a.added_to_cart::after { font-family: var(--tk-font-body); }
@media (max-width: 767px) {
	ul.products li.product .tk-atc .add_to_cart_button { padding: .75em .9em; font-size: .68rem; letter-spacing: .01em; }
}

.tk-inner .entry-content a.remove { background: none !important; }

/* ==========================================================================
   Avisos de WooCommerce (agregado al carrito, info, errores)
   ========================================================================== */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	color: var(--tk-text) !important; background: #fff !important;
	border: 1px solid rgba(0, 0, 0, .06) !important; border-left: 5px solid var(--tk-primary) !important;
	border-radius: 16px !important; padding: 1em 1.3em 1em 3.4em !important; position: relative;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .07);
}
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button) { color: var(--tk-text); font-weight: 600; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { color: var(--tk-primary) !important; left: 1.2em !important; top: 50% !important; transform: translateY(-50%); }
.woocommerce-error { border-left-color: #dc2626 !important; }
.woocommerce-error::before { color: #dc2626 !important; }
.woocommerce-notices-wrapper { margin-bottom: 1.5em; }

/* ==========================================================================
   Carrito
   ========================================================================== */
.woocommerce-cart table.cart { border-collapse: separate; border-spacing: 0; background: transparent; margin-bottom: 1.5em; }
.woocommerce-cart table.cart thead th { background: var(--tk-dark); color: #fff; font-family: var(--tk-font-body); font-weight: 600; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; padding: 1em 1.2em; }
.woocommerce-cart table.cart thead th:first-child { border-radius: 16px 0 0 16px; }
.woocommerce-cart table.cart thead th:last-child { border-radius: 0 16px 16px 0; }
.woocommerce-cart table.cart td { vertical-align: middle !important; padding: 1em 1.2em; background: #fff; border-bottom: 1px solid rgba(0, 0, 0, .06); }
.woocommerce-cart table.cart tr.cart_item:hover td { background: #fcfbf7; }
.woocommerce-cart table.cart td.product-thumbnail { width: 96px; }
.woocommerce-cart table.cart td.product-thumbnail img { width: 72px !important; max-width: none; height: auto; display: block; margin: 0 auto; border-radius: 50%; transition: transform .35s var(--tk-ease); }
.woocommerce-cart table.cart tr.cart_item:hover td.product-thumbnail img { transform: rotate(-6deg) scale(1.06); }
.woocommerce-cart table.cart td.product-name a { font-family: var(--tk-font-display); font-size: 1.5rem; font-weight: 400; text-transform: uppercase; background: none !important; }
.woocommerce-cart table.cart td.product-name a:hover { color: color-mix(in srgb, var(--tk-primary) 75%, #000); }
.woocommerce-cart table.cart td.product-subtotal { font-weight: 700; }
.woocommerce-cart table.cart td.product-remove { width: 56px; text-align: center; }
.woocommerce-cart table.cart a.remove {
	display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%;
	background: #f1f1ef !important; color: #555 !important; font-size: 0; position: relative;
	transition: background-color .2s, color .2s, transform .25s var(--tk-ease);
}
.woocommerce-cart table.cart a.remove::before { font-size: 14px; color: inherit !important; }
.woocommerce-cart table.cart a.remove:hover { background: #dc2626 !important; color: #fff !important; transform: rotate(90deg); }

/* Cantidad: − [n] + con el campo legible */
.tk-inner .quantity { display: inline-flex; align-items: center; }
.tk-inner .quantity .qty {
	width: 4.2em !important; height: 44px; padding: 0 .4em !important; text-align: center;
	font-weight: 700; font-size: 1rem; border-radius: 12px !important; -moz-appearance: textfield;
}
.tk-inner .quantity .qty::-webkit-inner-spin-button, .tk-inner .quantity .qty::-webkit-outer-spin-button { opacity: 1; height: 30px; }
.single-product div.product form.cart .quantity .qty { height: 100%; min-height: 52px; border-radius: var(--tk-pill) !important; }

/* Fila de acciones: cupón + actualizar, sin recortes */
.woocommerce-cart table.cart td.actions { background: transparent !important; border: 0; padding: 1.2em 0 0 !important; }
.woocommerce-cart table.cart td.actions .coupon { display: inline-flex; gap: 8px; align-items: center; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 240px !important; margin: 0 !important; height: 48px; }
.woocommerce-cart table.cart td.actions .coupon .button { height: 48px; padding: 0 1.6em !important; white-space: nowrap; }
.woocommerce-cart table.cart td.actions > .button[name="update_cart"] { height: 48px; padding: 0 1.6em !important; }
.woocommerce-cart table.cart td.actions > .button[name="update_cart"]:disabled { opacity: .45; box-shadow: none; transform: none; filter: none; cursor: not-allowed; }

/* Totales */
.cart-collaterals .cart_totals { background: #fff; border-radius: var(--tk-radius); padding: clamp(18px, 3vw, 30px); box-shadow: 0 20px 50px rgba(0, 0, 0, .08); border: 1px solid rgba(0, 0, 0, .05); }
.cart-collaterals .cart_totals h2 { font-size: 2rem; margin-top: 0; }
.cart_totals table th, .cart_totals table td { background: transparent !important; padding: .9em 0 !important; border-bottom: 1px solid rgba(0, 0, 0, .06); }
.cart_totals table tr.order-total td, .cart_totals table tr.order-total th { font-size: 1.15rem; border-bottom: 0; }
.cart_totals table { border-radius: 0; overflow: visible; }

/* Carrito en móvil: cada producto es una tarjeta, la X queda visible dentro */
@media (max-width: 767px) {
	.woocommerce-cart table.cart thead { display: none; }
	.woocommerce-cart table.shop_table_responsive tr.cart_item {
		display: block; position: relative; margin: 0 0 16px; padding: 14px 14px 6px;
		background: #fff; border-radius: 18px; border: 1px solid rgba(0, 0, 0, .06); box-shadow: 0 10px 26px rgba(0, 0, 0, .06);
	}
	.woocommerce-cart table.shop_table_responsive tr.cart_item td { background: transparent !important; border: 0; padding: .5em 0 !important; }
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove {
		position: absolute; top: 10px; right: 10px; width: auto; padding: 0 !important; z-index: 2;
	}
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove::before { display: none; }
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail { display: block !important; width: auto; text-align: center; padding-top: 0 !important; }
	.woocommerce-cart table.cart td.product-thumbnail img { width: 84px !important; }
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name { text-align: center !important; }
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name::before { display: none; }
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity,
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price,
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal { display: flex; justify-content: space-between; align-items: center; }
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal { border-top: 1px dashed rgba(0, 0, 0, .1); margin-top: 4px; }
	.woocommerce-cart table.cart td.actions .coupon { display: flex; width: 100%; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1 1 auto; width: auto !important; }
	.woocommerce-cart table.cart td.actions > .button[name="update_cart"] { width: 100%; margin-top: 10px; }
	.tk-fab { bottom: 16px; }
}
@media (max-width: 767px) {
	/* La fila del cupón no debe ensanchar la tabla (el input tiene min-width implícito) */
	.woocommerce-cart table.cart, .woocommerce-cart table.cart tbody { display: block; width: 100% !important; }
	.woocommerce-cart table.cart tr:not(.cart_item) { display: block; }
	.woocommerce-cart table.cart td.actions { display: block; width: 100%; }
	.woocommerce-cart table.cart td.actions .coupon { flex-wrap: nowrap; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { min-width: 0; }
	.woocommerce-cart table.cart td.actions .coupon .button { flex: 0 0 auto; padding: 0 1.1em !important; font-size: .8rem; }
	.woocommerce-cart table.cart td.actions::before { display: none; }
}

/* Cinta de stickers: movida por JS (arrastrable) */
.tk-marquee { cursor: grab; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.tk-marquee.is-dragging { cursor: grabbing; }
.tk-marquee.is-dragging .tk-marquee__card { transition: none; }
.tk-marquee__track { will-change: transform; }
.tk-marquee__card img { -webkit-user-drag: none; pointer-events: none; }

/* La cinta de stickers ocupa todo el ancho, como la referencia */
.home .entry-content > .tk-marquee { max-width: none; padding-left: 0; padding-right: 0; }
@media (max-width: 767px) {
	.woocommerce-cart table.shop_table_responsive tr.cart_item td::before { float: none; width: auto; margin-right: auto; }
	.woocommerce-cart table.shop_table_responsive tr.cart_item td { text-align: right !important; }
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail,
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name { text-align: center !important; }
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove { top: 14px; right: 14px; }
}
@media (max-width: 767px) { .woocommerce-cart table.shop_table_responsive tr.cart_item td::after { display: none !important; } }
@media (max-width: 767px) {
	.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove a.remove { position: static; margin: 0; }
}
/* En carrito y checkout el botón flotante tapa contenido: se oculta */
.woocommerce-cart .tk-fab, .woocommerce-checkout .tk-fab { display: none; }

/* ==========================================================================
   Cinta de stickers: el transform de cada tarjeta lo pinta JS (efecto coverflow),
   así que el hover se traslada a la imagen para no pelear con él.
   ========================================================================== */
.tk-marquee { padding: 34px 0 40px; }
.tk-marquee__card { transition: box-shadow .35s var(--tk-ease); will-change: transform, opacity; }
.tk-marquee__card:hover { transform: none; box-shadow: 0 26px 50px rgba(0, 0, 0, .3); }
.tk-marquee__card img { transition: transform .5s var(--tk-ease); }
.tk-marquee__card:hover img { transform: scale(1.07) rotate(3deg); }
.tk-marquee__card span { transition: color .25s, letter-spacing .35s var(--tk-ease); }
.tk-marquee__card:hover span { color: var(--tk-primary); letter-spacing: .04em; }

/* ==========================================================================
   Carrusel de premios: diapositiva central + vecinas reducidas a los lados
   ========================================================================== */
.hentry .entry-content .wp-block-gallery.tk-carousel {
	gap: clamp(12px, 2vw, 28px) !important; scroll-snap-type: x mandatory;
	padding: 24px 14% 30px !important; scroll-padding: 0 14%;
}
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image {
	flex: 0 0 72% !important; width: 72% !important; scroll-snap-align: center;
	transform: scale(.84) translateY(14px); opacity: .38; filter: saturate(.6);
	transition: transform .7s var(--tk-ease), opacity .6s ease, filter .6s ease, box-shadow .6s ease;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image.is-active {
	transform: none; opacity: 1; filter: none; box-shadow: 0 30px 70px rgba(0, 0, 0, .14);
}
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image img { transition: transform 1s var(--tk-ease); transform: translateX(28px) scale(.96); }
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image.is-active img { transform: none; }
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image figcaption {
	opacity: 0; transform: translateY(16px); transition: opacity .5s ease .15s, transform .7s var(--tk-ease) .15s;
}
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image.is-active figcaption { opacity: 1; transform: none; }
.tk-carousel-wrap { max-width: 1320px; }
.tk-carousel__arrow.is-prev { left: max(8px, 4%); }
.tk-carousel__arrow.is-next { right: max(8px, 4%); }
@media (max-width: 767px) {
	.hentry .entry-content .wp-block-gallery.tk-carousel { padding: 16px 8% 24px !important; scroll-padding: 0 8%; }
	.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image { flex-basis: 84% !important; width: 84% !important; }
}
@media (prefers-reduced-motion: reduce) {
	.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image,
	.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image img,
	.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image figcaption { transform: none; }
}

/* Sin cambio de sombra al pasar el mouse sobre los stickers */
.tk-marquee__card:hover { box-shadow: 0 10px 24px rgba(0, 0, 0, .14); }
ul.products li.product:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, .07); }
.tk-marquee__card { transition: box-shadow .35s var(--tk-ease); }
.tk-marquee__card:hover { box-shadow: none; }

/* Carrusel de premios: sin sombras en ningún estado (tampoco en hover) */
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image,
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image.is-active,
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image:hover,
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image img,
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image:hover img { box-shadow: none !important; }

/* Rótulos de premios en Poppins: en Bayon el "1" se confunde con "I" ("1er premio") */
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image figcaption {
	font-family: var(--tk-font-body) !important; font-weight: 700; font-size: clamp(1rem, 2vw, 1.35rem) !important; letter-spacing: .04em;
}

/* ==========================================================================
   Carrusel de premios con translate: la galería es la ventana, la pista se mueve
   ========================================================================== */
.hentry .entry-content .wp-block-gallery.tk-carousel.is-ready {
	display: block !important; overflow: hidden !important; scroll-snap-type: none;
	padding: 24px 0 30px !important; cursor: grab; touch-action: pan-y; user-select: none; -webkit-user-select: none;
}
.hentry .entry-content .wp-block-gallery.tk-carousel.is-dragging { cursor: grabbing; }
.tk-carousel__track { display: flex; gap: clamp(12px, 2vw, 28px); will-change: transform; }
.hentry .entry-content .wp-block-gallery.tk-carousel.is-ready figure.wp-block-image { margin: 0 !important; }
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image img { pointer-events: none; -webkit-user-drag: none; }
/* vecinas: se inclinan hacia el centro y quedan más atrás */
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image.is-prev { transform: scale(.84) translate3d(6%, 14px, 0) rotate(-1.5deg); }
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image.is-next { transform: scale(.84) translate3d(-6%, 14px, 0) rotate(1.5deg); }
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image.is-prev img { transform: translateX(-28px) scale(.96); }
.hentry .entry-content .wp-block-gallery.tk-carousel.is-dragging figure.wp-block-image { transition-duration: .35s; }

/* ==========================================================================
   Menú lateral: desplazamiento más notorio con barra dorada y resto atenuado
   ========================================================================== */
.tk-drawer__menu a {
	position: relative; padding-left: 0; background: none !important;
	transition: transform .45s var(--tk-ease), color .3s ease, opacity .3s ease, padding-left .45s var(--tk-ease);
}
.tk-drawer__menu a::before {
	content: ""; position: absolute; left: 0; top: 50%; width: 0; height: 4px; margin-top: -2px; border-radius: 4px;
	background: var(--tk-primary); transition: width .45s var(--tk-ease);
}
.tk-drawer__menu a:hover, .tk-drawer__menu a:focus-visible { transform: translateX(10px); padding-left: 34px; }
.tk-drawer__menu a:hover::before, .tk-drawer__menu a:focus-visible::before { width: 24px; }
.tk-drawer__menu:hover a:not(:hover) { opacity: .4; transform: translateX(-2px); }
.tk-drawer__menu .current-menu-item > a { color: color-mix(in srgb, var(--tk-primary) 75%, #000); transform: none; }
.tk-drawer__menu .current-menu-item > a::before { width: 12px; }
.tk-drawer__menu .current-menu-item > a:not(:hover) { padding-left: 22px; }

/* ==========================================================================
   Menú lateral v2: entrada/salida con translate y links sin saltos
   ========================================================================== */
:root { --tk-drawer-ease: cubic-bezier(.65, 0, .25, 1); --tk-drawer-time: .6s; }
/* visibility espera a que termine la salida (si no, el panel desaparece de golpe) */
.tk-drawer { transition: visibility 0s linear var(--tk-drawer-time); }
.tk-drawer.is-open { transition-delay: 0s; }
.tk-drawer__overlay { transition: opacity var(--tk-drawer-time) ease; }
.tk-drawer__panel { transform: translate3d(-104%, 0, 0); transition: transform var(--tk-drawer-time) var(--tk-drawer-ease), box-shadow var(--tk-drawer-time) ease; box-shadow: none; }
.tk-drawer.is-open .tk-drawer__panel { transform: translate3d(0, 0, 0); box-shadow: 20px 0 60px rgba(0, 0, 0, .3); }
/* links: entran escalonados desde la izquierda al abrir y salen juntos al cerrar */
.tk-drawer__menu li { transform: translate3d(-40px, 0, 0); transition: opacity .35s ease, transform .35s var(--tk-drawer-ease); transition-delay: 0s; }
.tk-drawer.is-open .tk-drawer__menu li { transition: opacity .6s ease, transform .8s var(--tk-ease); transition-delay: calc(.18s + var(--i, 0) * .07s); }
.tk-drawer__close { transform: rotate(-90deg); opacity: 0; transition: transform .6s var(--tk-ease), opacity .4s ease, background-color .2s; }
.tk-drawer.is-open .tk-drawer__close { transform: none; opacity: 1; transition-delay: .25s, .25s, 0s; }
.tk-drawer.is-open .tk-drawer__close:hover { transform: rotate(90deg); transition-delay: 0s; }

/* hover: solo transform/opacity (nada que mueva el layout) y cada link ocupa todo su
 * renglón, así al pasar de uno a otro no hay hueco donde se "desatenúen" todos */
.tk-drawer__menu a {
	display: block; padding: .22em 0 !important;
	transition: transform .6s var(--tk-ease), color .45s ease, opacity .45s ease !important;
}
.tk-drawer__menu a::before {
	left: 0; width: 24px; transform: scaleX(0); transform-origin: left center;
	transition: transform .6s var(--tk-ease) !important;
}
.tk-drawer__menu a:hover, .tk-drawer__menu a:focus-visible { padding-left: 0 !important; transform: translate3d(36px, 0, 0); }
.tk-drawer__menu a:hover::before, .tk-drawer__menu a:focus-visible::before { width: 24px; transform: translateX(-36px) scaleX(1); }
.tk-drawer__menu:hover a:not(:hover) { opacity: .4; transform: none; }
.tk-drawer__menu .current-menu-item > a, .tk-drawer__menu .current-menu-item > a:not(:hover) { padding-left: 0 !important; }
.tk-drawer__menu .current-menu-item > a:not(:hover)::before { width: 24px; transform: translateX(-36px) scaleX(.5); }
.tk-drawer__menu .current-menu-item > a:not(:hover) { transform: translate3d(36px, 0, 0); }

/* Menú: siempre renderizado (fuera de pantalla) para que la salida también se anime.
 * Cerrado no recibe clics (pointer-events) ni foco (atributo inert, en JS). */
.tk-drawer, .tk-drawer.is-open { visibility: visible !important; transition: none !important; }
.tk-drawer { pointer-events: none; }
.tk-drawer.is-open { pointer-events: auto; }
.tk-drawer:not(.is-open) .tk-drawer__overlay { backdrop-filter: none; }

/* Carrusel de premios: transiciones más lentas y suaves, en sintonía con la pista (1.4s) */
:root { --tk-slide-ease: cubic-bezier(.45, 0, .2, 1); }
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image {
	transition: transform 1.4s var(--tk-slide-ease), opacity 1.1s ease, filter 1.1s ease !important;
}
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image img { transition: transform 1.6s var(--tk-slide-ease) !important; }
.hentry .entry-content .wp-block-gallery.tk-carousel figure.wp-block-image figcaption { transition: opacity .8s ease .45s, transform 1.1s var(--tk-slide-ease) .45s !important; }
.hentry .entry-content .wp-block-gallery.tk-carousel.is-dragging figure.wp-block-image { transition-duration: .5s !important; }

/* ==========================================================================
   Logo 20% más grande + más aire bajo él en Inicio
   ========================================================================== */
.tk-logo img, .tk-logo .custom-logo { max-width: min(360px, 60vw) !important; max-height: 84px; }
.tk-header.is-stuck .tk-logo img { max-height: 62px; }
.home .tk-header:not(.is-stuck) .tk-header__row { height: calc(var(--tk-header-h) + 30px); padding-bottom: 10px; }
@media (max-width: 767px) {
	.tk-logo img, .tk-logo .custom-logo { max-height: 65px; }
	.home .tk-header:not(.is-stuck) .tk-header__row { height: calc(var(--tk-header-h) + 18px); padding-bottom: 6px; }
}

/* Botón "Ver todos los stickers" bajo la cinta */
.home .entry-content > .tk-see-all { margin: 6px auto 30px !important; }
.hentry .entry-content .tk-see-all .wp-block-button .wp-block-button__link {
	font-size: 1.15rem; padding: 1.15em 3.4em; letter-spacing: .06em;
	background: var(--tk-dark); color: #fff;
	box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
}
.hentry .entry-content .tk-see-all .wp-block-button .wp-block-button__link::before {
	content: "→"; order: 2; margin-left: .2em; transition: transform .45s var(--tk-ease);
}
.hentry .entry-content .tk-see-all .wp-block-button .wp-block-button__link:hover { background: var(--tk-primary); color: var(--tk-dark); }
.hentry .entry-content .tk-see-all .wp-block-button .wp-block-button__link:hover::before { transform: translateX(6px); }
@media (max-width: 767px) {
	.hentry .entry-content .tk-see-all .wp-block-button { width: 100%; }
	.hentry .entry-content .tk-see-all .wp-block-button .wp-block-button__link { width: 100%; padding: 1.15em 1em; font-size: 1rem; }
}
.hentry .entry-content .tk-see-all .wp-block-button .wp-block-button__link { color: #fff !important; }
.hentry .entry-content .tk-see-all .wp-block-button .wp-block-button__link:hover { color: var(--tk-dark) !important; }
/* "Ver todos los stickers": dorado siempre; en hover solo se eleva y avanza la flecha */
.hentry .entry-content .tk-see-all .wp-block-button .wp-block-button__link,
.hentry .entry-content .tk-see-all .wp-block-button .wp-block-button__link:hover {
	background: var(--tk-primary) !important; color: var(--tk-dark) !important;
	box-shadow: 0 14px 34px color-mix(in srgb, var(--tk-primary) 45%, transparent);
}
.hentry .entry-content .tk-see-all .wp-block-button .wp-block-button__link:hover {
	transform: translateY(-3px); filter: brightness(1.05);
	box-shadow: 0 20px 44px color-mix(in srgb, var(--tk-primary) 55%, transparent);
}

/* Quitar producto: solo una "×" (sin círculo). Storefront usaba un ícono FontAwesome con círculo. */
.woocommerce-cart table.cart a.remove,
.woocommerce-cart table.cart a.remove:hover {
	display: inline-block; width: 32px; height: 32px; padding: 0;
	background: none !important; border-radius: 0; box-shadow: none;
	text-indent: -9999px; overflow: hidden; position: relative;
}
.woocommerce-cart table.cart a.remove::before {
	content: "×" !important; font-family: var(--tk-font-body) !important; font-weight: 400;
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	text-indent: 0; font-size: 30px !important; line-height: 1; color: #9a9a9a !important;
	transition: color .25s ease, transform .35s var(--tk-ease);
}
.woocommerce-cart table.cart a.remove:hover { transform: none; }
.woocommerce-cart table.cart a.remove:hover::before { color: #dc2626 !important; transform: rotate(90deg) scale(1.1); }

/* ==========================================================================
   Checkout
   ========================================================================== */
.woocommerce-checkout form.checkout {
	display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); column-gap: clamp(24px, 3vw, 44px); align-items: start;
}
.woocommerce-checkout form.checkout > * { float: none !important; width: auto !important; margin: 0; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }

/* Tarjeta del formulario */
.woocommerce-checkout #customer_details {
	background: #fff; border-radius: var(--tk-radius); padding: clamp(20px, 3vw, 36px);
	border: 1px solid rgba(0, 0, 0, .06); box-shadow: 0 20px 50px rgba(0, 0, 0, .07);
}
.woocommerce-checkout #customer_details h3 { font-size: 1.9rem; margin: 0 0 .6em; }
.woocommerce-checkout #customer_details .col-2 h3 { margin-top: 1em; padding-top: 1em; border-top: 1px dashed rgba(0, 0, 0, .1); }
.woocommerce-checkout .form-row { margin-bottom: 1.1em; }
.woocommerce-checkout .form-row label { margin-bottom: .35em; display: block; }
.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: calc(50% - 8px) !important; }
.woocommerce-checkout .form-row .input-text, .woocommerce-checkout .form-row select { width: 100%; }

/* Tarjeta "Tu pedido": cabecera oscura + cuerpo blanco */
.woocommerce-checkout #order_review_heading {
	background: var(--tk-dark); color: var(--tk-primary); padding: 22px 28px 20px; margin: 0 !important;
	border-radius: var(--tk-radius) var(--tk-radius) 0 0; font-size: 1.9rem; line-height: 1;
	position: relative; overflow: hidden;
}
.woocommerce-checkout #order_review_heading::after {
	content: ""; position: absolute; inset: 0; background: radial-gradient(60% 120% at 100% 0%, color-mix(in srgb, var(--tk-primary) 28%, transparent), transparent 70%);
	pointer-events: none;
}
.woocommerce-checkout #order_review {
	background: #fff; padding: 8px 28px 28px; border-radius: 0 0 var(--tk-radius) var(--tk-radius);
	border: 1px solid rgba(0, 0, 0, .06); border-top: 0; box-shadow: 0 24px 60px rgba(0, 0, 0, .1);
}
.woocommerce-checkout-review-order-table { border-radius: 0 !important; overflow: visible !important; margin: 0 0 20px !important; border: 0 !important; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid rgba(0, 0, 0, .07) !important;
	padding: 14px 0 !important; vertical-align: middle;
}
.woocommerce-checkout-review-order-table thead th { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #8a8a8a; font-weight: 600; padding-top: 18px !important; }
.woocommerce-checkout-review-order-table th:last-child, .woocommerce-checkout-review-order-table td:last-child { text-align: right; }
.woocommerce-checkout-review-order-table td.product-name { font-weight: 600; }
.woocommerce-checkout-review-order-table .product-quantity { color: #8a8a8a; font-weight: 600; margin-left: .3em; }
.tk-co-item { display: inline-flex; align-items: center; gap: 12px; }
.tk-co-item img { width: 52px !important; height: 52px !important; border-radius: 50%; flex: 0 0 auto; box-shadow: none; }
.woocommerce-checkout-review-order-table tfoot th { font-weight: 600; color: #555; }
.woocommerce-checkout-review-order-table tfoot .order-total th, .woocommerce-checkout-review-order-table tfoot .order-total td { border-bottom: 0 !important; padding-top: 18px !important; }
.woocommerce-checkout-review-order-table tfoot .order-total th { font-family: var(--tk-font-display); font-weight: 400; font-size: 1.6rem; color: var(--tk-text); text-transform: uppercase; }
.woocommerce-checkout-review-order-table tfoot .order-total td, .woocommerce-checkout-review-order-table tfoot .order-total td strong { font-size: 1.6rem; font-weight: 700; color: var(--tk-text); }

/* Método de pago */
.woocommerce-checkout #payment { background: transparent !important; border-radius: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0 !important; margin: 0 0 18px !important; border: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li {
	list-style: none; margin: 0 0 10px; padding: 14px 18px !important;
	border: 2px solid var(--tk-primary); border-radius: 16px; background: color-mix(in srgb, var(--tk-primary) 8%, #fff) !important;
}
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 700; cursor: pointer; }
.woocommerce-checkout #payment ul.payment_methods li input[type=radio] { accent-color: var(--tk-primary); }
.woocommerce-checkout #payment .payment_methods li input[type=radio]:first-child:checked + label::before { color: var(--tk-primary) !important; }
.woocommerce-checkout #payment .payment_methods li input[type=radio]:first-child + label::before { color: #bbb; }
.woocommerce-checkout #payment div.payment_box {
	background: transparent !important; padding: 6px 0 0 !important; margin: 0 !important; font-size: .9rem; color: #555;
}
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment .place-order { padding: 0 !important; background: transparent !important; border: 0 !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { font-size: .8rem; line-height: 1.55; color: #777; margin-bottom: 16px; }
.woocommerce-checkout #place_order { margin-top: 4px; }

/* Select2 (selector de país) */
.tk-inner .select2-container .select2-selection--single {
	height: 52px !important; padding: 0 44px 0 1.1em !important; display: flex !important; align-items: center;
	border: 1.5px solid #e2e2de !important; border-radius: 14px !important; background: #fff !important;
	transition: border-color .2s, box-shadow .2s;
}
.tk-inner .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0 !important; line-height: 1.4 !important; color: var(--tk-text) !important; font-size: 1rem;
}
.tk-inner .select2-container .select2-selection--single .select2-selection__arrow { height: 50px !important; right: 12px !important; top: 0 !important; }
.tk-inner .select2-container .select2-selection--single .select2-selection__arrow b { border-color: var(--tk-text) transparent transparent !important; border-width: 6px 5px 0 !important; transition: transform .25s var(--tk-ease); }
.tk-inner .select2-container--open .select2-selection--single .select2-selection__arrow b { transform: rotate(180deg); }
.tk-inner .select2-container--open .select2-selection--single,
.tk-inner .select2-container--focus .select2-selection--single {
	border-color: var(--tk-primary) !important; box-shadow: 0 0 0 4px color-mix(in srgb, var(--tk-primary) 22%, transparent) !important;
}
.select2-dropdown {
	border: 1.5px solid var(--tk-primary) !important; border-radius: 14px !important; overflow: hidden;
	box-shadow: 0 20px 44px rgba(0, 0, 0, .14); font-family: var(--tk-font-body); margin-top: 6px;
}
.select2-container--open .select2-dropdown--below { border-top: 1.5px solid var(--tk-primary) !important; }
.select2-search--dropdown { padding: 10px !important; }
.select2-search--dropdown .select2-search__field { border: 1.5px solid #e2e2de !important; border-radius: 10px !important; padding: .6em .9em !important; }
.select2-results__option { padding: .6em 1em !important; }
.select2-results__option--highlighted, .select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--tk-primary) !important; color: var(--tk-dark) !important;
}
.select2-container--default .select2-results__option[aria-selected=true] { background: color-mix(in srgb, var(--tk-primary) 15%, #fff); font-weight: 600; }

@media (max-width: 900px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; row-gap: 28px; }
	.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; }
	.woocommerce-checkout #order_review_heading { margin-top: 8px !important; }
	.woocommerce-checkout form.checkout { row-gap: 0; }
	.woocommerce-checkout #customer_details { margin-bottom: 28px; }
}
@media (max-width: 480px) {
	.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: 100% !important; float: none; }
	.woocommerce-checkout #order_review { padding: 4px 18px 22px; }
	.woocommerce-checkout #order_review_heading { padding: 18px 18px 16px; }
}

/* Checkout: ajustes finos */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper { display: flex; flex-wrap: wrap; column-gap: 16px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row { float: none !important; width: 100% !important; margin-left: 0; margin-right: 0; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last { width: calc(50% - 8px) !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::before, .woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after { display: none; }

.woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th { word-break: normal !important; overflow-wrap: normal !important; }
.woocommerce-checkout-review-order-table td.product-name { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.woocommerce-checkout-review-order-table td.product-total, .woocommerce-checkout-review-order-table th.product-total { width: 1%; white-space: nowrap; padding-left: 12px !important; }
.woocommerce-checkout-review-order-table .product-quantity { margin-left: 0; }
.tk-co-item__name { line-height: 1.3; }

.woocommerce-checkout #payment ul.payment_methods li, .woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: 2px solid var(--tk-primary) !important; }
.woocommerce-checkout #payment ul.payment_methods li label { display: inline; margin: 0; padding: 0; }
.woocommerce-checkout #payment ul.payment_methods li > input[type=radio]:first-child + label::before { margin-right: .5em; }

@media (max-width: 480px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last { width: 100% !important; }
	.tk-co-item img { width: 44px !important; height: 44px !important; }
}
.woocommerce-checkout-review-order-table td.product-name { display: table-cell; }
.tk-co-item { display: flex; align-items: center; gap: 12px; }
.tk-co-item__name { display: flex; flex-direction: column; }
.tk-co-item__qty { font-size: .8rem; font-weight: 600; color: #8a8a8a; margin-top: 2px; }

/* Bebas Neue (con tildes y ñ) reemplaza a Bayon: un poco más de interletra */
h1, h2, h3, h4, .tk-display, .entry-title, .page-title, .woocommerce-loop-product__title, .product_title { letter-spacing: .02em; }
/* El formulario abarca 2 filas: el espacio sobrante va a la 2ª para que "Tu pedido" quede pegado a su cabecera */
.woocommerce-checkout form.checkout { grid-template-rows: auto 1fr; }
.woocommerce-checkout #order_review_heading { align-self: end; }
.woocommerce-checkout #order_review { align-self: start; }
@media (max-width: 900px) { .woocommerce-checkout form.checkout { grid-template-rows: none; } }

/* ==========================================================================
   Pedido recibido (gracias)
   ========================================================================== */
.woocommerce-order-received .entry-content { max-width: 1040px !important; background: none !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; }
.tk-thanks { display: grid; gap: 22px; }
.tk-thanks__hero {
	position: relative; overflow: hidden; isolation: isolate; text-align: center;
	background: var(--tk-dark); color: #fff; border-radius: var(--tk-radius);
	padding: clamp(32px, 5vw, 56px) clamp(20px, 4vw, 48px);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .18);
}
.tk-thanks__hero::before {
	content: ""; position: absolute; inset: -40% -20% auto; height: 160%; z-index: -1;
	background: radial-gradient(45% 50% at 50% 0%, color-mix(in srgb, var(--tk-primary) 38%, transparent), transparent 70%);
}
.tk-thanks__hero h2 { margin: .1em 0 .2em; font-size: clamp(2.6rem, 6vw, 4.2rem); color: #fff; }
.tk-thanks__hero.is-ok h2 { background: var(--tk-gold-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tk-thanks__kicker { margin: 14px 0 0; font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--tk-primary); }
.tk-thanks__lead { max-width: 560px; margin: 0 auto; color: rgba(255, 255, 255, .82); font-size: 1.05rem; }
.tk-thanks__icon { display: inline-grid; place-items: center; width: 86px; height: 86px; border-radius: 50%; background: color-mix(in srgb, var(--tk-primary) 16%, transparent); animation: tk-pop .6s var(--tk-ease) both; }
.tk-thanks__icon svg { width: 60px; height: 60px; stroke: var(--tk-primary); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.tk-thanks__icon svg circle { stroke-dasharray: 151; stroke-dashoffset: 151; animation: tk-draw .8s var(--tk-ease) .15s forwards; }
.tk-thanks__icon svg path { stroke-dasharray: 40; stroke-dashoffset: 40; animation: tk-draw .5s var(--tk-ease) .75s forwards; }
@keyframes tk-draw { to { stroke-dashoffset: 0; } }
.tk-thanks__hero.is-pending .tk-thanks__icon svg path { animation: tk-draw .5s var(--tk-ease) .75s forwards, tk-tick 2.4s linear 1.3s infinite; transform-origin: 26px 26px; }
@keyframes tk-tick { to { transform: rotate(360deg); } }
.tk-thanks__hero.is-failed .tk-thanks__icon { background: rgba(220, 38, 38, .15); color: #f87171; font: 700 44px/1 var(--tk-font-body); }
.tk-thanks__hero.is-failed h2 { color: #fff; }

.tk-thanks__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.tk-thanks__mail, .tk-thanks__tickets.is-waiting {
	background: #fff; border-radius: var(--tk-radius); padding: clamp(20px, 3vw, 30px);
	border: 1px solid rgba(0, 0, 0, .06); box-shadow: 0 16px 44px rgba(0, 0, 0, .07);
	animation: tk-rise .7s var(--tk-ease) .15s both;
}
.tk-thanks__mail h3, .tk-thanks__tickets h3 { font-size: 1.8rem; margin: .3em 0 .2em; }
.tk-thanks__mail > p { margin: 0 0 12px; }
.tk-thanks__mail-ico { display: inline-grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: var(--tk-dark); color: var(--tk-primary); }
.tk-thanks__list { list-style: none; margin: 0 0 14px; padding: 0; }
.tk-thanks__list li { position: relative; padding: .45em 0 .45em 1.9em; border-bottom: 1px dashed rgba(0, 0, 0, .08); }
.tk-thanks__list li:last-child { border-bottom: 0; }
.tk-thanks__list li::before { content: "✓"; position: absolute; left: 0; top: .45em; width: 1.3em; height: 1.3em; border-radius: 50%; display: grid; place-items: center; background: var(--tk-primary); color: var(--tk-dark); font-size: .8em; font-weight: 700; }
.tk-thanks__note { margin: 0; padding: 10px 14px; border-radius: 12px; background: #f6f6f4; font-size: .85rem; color: #555; }
.tk-thanks__tickets { animation: tk-rise .7s var(--tk-ease) .25s both; }
.tk-thanks__tickets .tikcoco-tickets { margin: 0 !important; height: 100%; }
.tk-thanks__tickets.is-waiting p { color: #666; }
.tk-thanks__dots { display: inline-flex; gap: 6px; margin-top: 6px; }
.tk-thanks__dots i { width: 10px; height: 10px; border-radius: 50%; background: var(--tk-primary); animation: tk-dot 1.2s ease-in-out infinite; }
.tk-thanks__dots i:nth-child(2) { animation-delay: .15s; } .tk-thanks__dots i:nth-child(3) { animation-delay: .3s; }
@keyframes tk-dot { 0%, 80%, 100% { transform: scale(.5); opacity: .4; } 40% { transform: scale(1); opacity: 1; } }

.tk-thanks__steps { counter-reset: tkstep; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tk-thanks__steps li {
	counter-increment: tkstep; position: relative; background: #fff; border-radius: 18px; padding: 22px 20px 20px 20px;
	border: 1px solid rgba(0, 0, 0, .06); animation: tk-rise .7s var(--tk-ease) both;
}
.tk-thanks__steps li:nth-child(1) { animation-delay: .3s; } .tk-thanks__steps li:nth-child(2) { animation-delay: .4s; } .tk-thanks__steps li:nth-child(3) { animation-delay: .5s; }
.tk-thanks__steps li::before {
	content: counter(tkstep); display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 10px; border-radius: 50%;
	background: var(--tk-dark); color: var(--tk-primary); font: 400 1.3rem/1 var(--tk-font-display);
}
.tk-thanks__steps strong { display: block; font-family: var(--tk-font-display); font-weight: 400; font-size: 1.45rem; text-transform: uppercase; }
.tk-thanks__steps li > span { display: block; font-size: .9rem; color: #555; margin-top: 2px; }
.tk-thanks__steps .tikcoco-countdown { justify-content: flex-start; gap: 6px; margin: 10px 0 0; }
.tk-thanks__steps .tikcoco-countdown span { min-width: 52px; padding: 6px 6px; background: var(--tk-dark); border-radius: 10px; margin: 0; }
.tk-thanks__steps .tikcoco-countdown b { font-size: 1.4rem; }
.tk-thanks__steps .tikcoco-countdown small { color: #fff; font-size: .55rem; }

.tk-thanks__summary { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.tk-thanks__summary li { background: #f6f6f4; border-radius: 14px; padding: 12px 16px; }
.tk-thanks__summary li > span { display: block; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: #888; font-weight: 600; }
.tk-thanks__summary strong { font-size: 1.02rem; }
.tk-thanks__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 4px; }
.tk-thanks__hero .tk-thanks__actions { margin-top: 20px; }
.tk-btn-ghost, a.button.tk-btn-ghost { background: transparent !important; color: var(--tk-text) !important; box-shadow: inset 0 0 0 2px var(--tk-text) !important; }
.tk-thanks__hero a.button.tk-btn-ghost { color: #fff !important; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .6) !important; }
a.button.tk-btn-ghost:hover { background: var(--tk-text) !important; color: #fff !important; }

.tk-thanks__details { background: #fff; border-radius: 18px; border: 1px solid rgba(0, 0, 0, .06); padding: 0 22px; }
.tk-thanks__details summary { cursor: pointer; list-style: none; padding: 16px 0; font-weight: 700; display: flex; align-items: center; justify-content: space-between; }
.tk-thanks__details summary::-webkit-details-marker { display: none; }
.tk-thanks__details summary::after { content: "+"; font-size: 1.4rem; line-height: 1; color: var(--tk-primary); transition: transform .3s var(--tk-ease); }
.tk-thanks__details[open] summary::after { transform: rotate(45deg); }
.tk-thanks__details[open] { padding-bottom: 20px; }
.tk-thanks__details .woocommerce-order-details__title, .tk-thanks__details .woocommerce-column__title, .tk-thanks__details .woocommerce-order-downloads__title { font-size: 1.5rem; margin: .8em 0 .4em; }
.tk-thanks__details table { border-radius: 12px; overflow: hidden; }
.tk-thanks__details table th, .tk-thanks__details table td { background: #fafafa; }
.tk-thanks__details .woocommerce-customer-details address { border: 0; background: #fafafa; border-radius: 12px; padding: 14px 18px; }
.woocommerce-order-received .woocommerce-thankyou-order-received, .woocommerce-order-received ul.woocommerce-order-overview { display: none; }

@media (max-width: 800px) {
	.tk-thanks__grid, .tk-thanks__steps { grid-template-columns: 1fr; }
	.tk-thanks__summary { grid-template-columns: 1fr 1fr; }
}

/* Pasos: anulan el estilo de lista numerada de las páginas internas (Bases) */
.tk-inner .entry-content ol.tk-thanks__steps > li { padding: 22px 20px 20px; border-bottom: 1px solid rgba(0, 0, 0, .06); }
.tk-inner .entry-content ol.tk-thanks__steps > li::before {
	position: static; display: grid; width: 38px; height: 38px; margin: 0 0 10px; font-size: 1.3rem;
	content: counter(tkstep, decimal-leading-zero);
}
.tk-thanks__summary strong .woocommerce-Price-amount, .tk-thanks__summary strong bdi { display: inline; font-size: inherit; letter-spacing: 0; text-transform: none; color: inherit; font-weight: 700; }
.tk-thanks .tikcoco-tickets td:first-child { white-space: nowrap; }
.tk-inner .entry-content ol.tk-thanks__steps { counter-reset: tkstep; }
.tk-inner .entry-content ol.tk-thanks__steps > li { counter-increment: tkstep; }
.tk-inner .entry-content ul.tk-thanks__summary, .tk-inner .entry-content ul.tk-thanks__list { padding-left: 0; }
.tk-inner .entry-content ul.tk-thanks__summary > li::marker, .tk-inner .entry-content ul.tk-thanks__list > li::marker { content: none; }
