/*
Theme Name: Tache Juguetes
Template: twentytwentyfive
Description: Tienda de juguetes con la identidad de Tache Technology.
Version: 1.0.0
Text Domain: tache-juguetes
*/

/* ── Detalles juguetones ─────────────────────────────────────────────── */
.tj-hero { position: relative; overflow: hidden; isolation: isolate; }
.tj-hero::before, .tj-hero::after {
  content: ""; position: absolute; z-index: -1; border-radius: 50%;
}
.tj-hero::before { width: 420px; height: 420px; right: -120px; top: -140px; background: rgba(255,255,255,.10); }
.tj-hero::after  { width: 260px; height: 260px; left: -90px; bottom: -120px; background: rgba(255,255,255,.08); }
.tj-hero .tj-stars { position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
  background-image:
    radial-gradient(circle at 12% 30%, #ffd84d 0 5px, transparent 6px),
    radial-gradient(circle at 78% 72%, #ff7eb6 0 7px, transparent 8px),
    radial-gradient(circle at 88% 20%, #6ee7b7 0 5px, transparent 6px),
    radial-gradient(circle at 35% 82%, #ffd84d 0 4px, transparent 5px),
    radial-gradient(circle at 60% 14%, #ffffff 0 3px, transparent 4px);
}
.tj-badge { display: inline-block; padding: .35rem .9rem; border-radius: 999px;
  background: rgba(255,255,255,.16); font-weight: 600; font-size: .9rem; }

.tj-card { transition: transform .2s ease, box-shadow .2s ease; }
.tj-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px -12px rgba(29,12,223,.35); }

/* ── Productos (bloques y shortcodes de WooCommerce) ─────────────────── */
.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-product {
  background: #fff; border-radius: 20px; padding: 14px 14px 18px;
  box-shadow: 0 1px 2px rgba(17,24,39,.06); border: 1px solid #eef0ff;
  transition: transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover,
.wc-block-product:hover { transform: translateY(-4px); box-shadow: 0 14px 30px -12px rgba(29,12,223,.30); }
.woocommerce ul.products li.product a img,
.wc-block-components-product-image img { border-radius: 14px; background: #f7f8fc; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--wp--preset--font-family--fredoka); font-weight: 600; font-size: 1.1rem; color: #111827;
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price, .woocommerce div.product span.price {
  color: var(--wp--preset--color--primary) !important; font-weight: 700; font-size: 1.15rem;
}
.woocommerce span.onsale {
  background: #ff5c8a; color: #fff; border-radius: 999px; min-height: auto; min-width: auto;
  padding: .3rem .8rem; line-height: 1.4; font-weight: 700; top: 10px; left: 10px;
}
.woocommerce ul.products li.product .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
  background: var(--wp--preset--color--primary); color: #fff; border-radius: 999px;
  padding: .7rem 1.3rem; font-weight: 600; border: 0;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
  background: var(--wp--preset--color--primary-dark); color: #fff;
}
.woocommerce ul.products li.product-category a { text-align: center; display: block; }
.woocommerce ul.products li.product-category h2 {
  font-family: var(--wp--preset--font-family--fredoka); font-size: 1.15rem; color: #111827;
}
.woocommerce ul.products li.product-category mark { background: none; color: var(--wp--preset--color--primary); }
.woocommerce-store-notice, p.demo_store { background: var(--wp--preset--color--primary); }

/* Cabecera */
.tj-header .wp-block-search__input { border-radius: 999px 0 0 999px; border-color: #dde0ff; padding-left: 1rem; }
.tj-header .wp-block-search__button { border-radius: 0 999px 999px 0; margin-left: 0; }
.tj-topbar a { color: inherit; }

@media (max-width: 781px) {
  .tj-hero::before { width: 240px; height: 240px; }
  .tj-header .wp-block-search { display: none; }
}

/* Entrega 7–20 días */
.tj-entrega { display: flex; gap: .8rem; align-items: center; margin: 1rem 0 1.4rem; padding: .85rem 1rem;
  background: #eef0ff; border-radius: 14px; color: #111827; line-height: 1.4; }
.tj-entrega > span { font-size: 1.6rem; }
.tj-entrega small { color: #4b5563; }
.tj-entrega--wide { max-width: var(--wp--style--global--wide-size); margin: 1.5rem auto; }

/* Hero de carros eléctricos */
.tj-hero-car { position: relative; background: #fff; border-radius: 28px; padding: 18px;
  box-shadow: 0 30px 60px -25px rgba(0,0,0,.45); transform: rotate(2deg); }
.tj-hero-car img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; border-radius: 18px; }
.tj-hero-car .tj-price-tag { position: absolute; left: -18px; bottom: 28px; background: #ffd84d; color: #111827;
  font-family: var(--wp--preset--font-family--fredoka); font-weight: 700; padding: .6rem 1.1rem; border-radius: 16px;
  box-shadow: 0 10px 20px -8px rgba(0,0,0,.35); transform: rotate(-4deg); line-height: 1.2; }
.tj-hero-car .tj-price-tag small { display: block; font-weight: 500; font-size: .8rem; }
.tj-hero-car .tj-volt { position: absolute; right: -14px; top: -14px; width: 64px; height: 64px; border-radius: 50%;
  background: #ff5c8a; color: #fff; display: grid; place-items: center; font-size: 1.8rem;
  box-shadow: 0 10px 20px -8px rgba(0,0,0,.35); }
.tj-checks { list-style: none; padding: 0; margin: 1.2rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; font-weight: 600; }
.tj-checks li::before { content: "✓ "; color: #ffd84d; }

/* Títulos de sección con enlace */
.tj-section-head { align-items: flex-end !important; }
.tj-section-head p { margin: 0; }

/* Logo */
.wp-block-site-logo img { border-radius: 50%; }

/* Cuadrícula de productos: grid en lugar de floats (alturas iguales por fila) */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 1.5rem 0 2rem !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important;
  display: flex; flex-direction: column; }
.woocommerce ul.products li.product > a:first-child { display: flex; flex-direction: column; flex: 1; }
.woocommerce ul.products li.product a img { aspect-ratio: 1; object-fit: contain; padding: 10px; margin-bottom: .8rem !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 1rem !important; line-height: 1.3; min-height: 3.9em; padding: 0 !important; margin-bottom: .5rem !important; }
.woocommerce ul.products li.product .price { margin-top: auto; }
.woocommerce ul.products li.product .button { align-self: flex-start; margin-top: .6rem !important; }
.woocommerce ul.products li.product-category a img { padding: 0; object-fit: cover; }
@media (max-width: 1000px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px)  { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .woocommerce ul.products li.product { padding: 10px 10px 14px; }
  .woocommerce ul.products li.product .button { padding: .55rem .9rem; font-size: .85rem; } }

/* Ficha de producto */
.single-product .wp-block-post-title, .woocommerce div.product .product_title {
  font-size: clamp(1.5rem, 2.4vw, 2.1rem) !important; line-height: 1.2; font-weight: 600; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 10px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none; }
.woocommerce div.product div.images .flex-control-thumbs li img { aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: 10px; border: 1px solid #eef0ff; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.wc-block-product-gallery-large-image img { background: #fff; border-radius: 18px; aspect-ratio: 1; object-fit: contain; }
.woocommerce div.product .woocommerce-product-gallery { background: #fff; border-radius: 22px; padding: 12px; }
.woocommerce div.product p.price { font-size: 1.8rem !important; }

/* ════════════════════════════════════════════════════════════════════════
   Componentes compartidos
   ════════════════════════════════════════════════════════════════════════ */
:root { --tj-radius: 20px; --tj-shadow: 0 1px 2px rgba(17,24,39,.05), 0 10px 30px -18px rgba(29,12,223,.25);
  --tj-border: 1px solid #e8eaff; }
.tj-eyebrow { margin: 0 0 .35rem; color: var(--wp--preset--color--primary); font-weight: 700; font-size: .8rem;
  letter-spacing: .09em; text-transform: uppercase; }
.tj-chip { display: inline-flex; align-items: center; padding: .3rem .8rem; border-radius: 999px; background: #eef0ff;
  color: var(--wp--preset--color--primary); font-weight: 600; font-size: .85rem; text-decoration: none; }
.tj-chip:hover { background: #dde0ff; }
.tj-chip--brand { background: var(--wp--preset--color--primary); color: #fff; }
.tj-chip--brand:hover { background: var(--wp--preset--color--primary-dark); color: #fff; }
.tj-note { color: #6b7280; font-size: .9rem; }
.tj-stars-rating { position: relative; display: inline-block; width: 5.6em; height: 1em; line-height: 1;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23dde0ff' d='M10 1.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L10 14.9l-5.2 2.7 1-5.8L1.5 7.7l5.9-.9z'/%3E%3C/svg%3E") repeat-x 0 0 / 1.12em 1em; }
.tj-stars-rating > span { position: absolute; inset: 0 auto 0 0; overflow: hidden;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23f5b301' d='M10 1.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L10 14.9l-5.2 2.7 1-5.8L1.5 7.7l5.9-.9z'/%3E%3C/svg%3E") repeat-x 0 0 / 1.12em 1em; }

/* Migas de pan */
.woocommerce-breadcrumb, .wc-block-breadcrumbs { font-size: .875rem !important; color: #6b7280 !important; margin-bottom: 1rem !important; }
.woocommerce-breadcrumb a, .wc-block-breadcrumbs a { color: #6b7280 !important; text-decoration: none; }
.woocommerce-breadcrumb a:hover, .wc-block-breadcrumbs a:hover { color: var(--wp--preset--color--primary) !important; }

/* ════════════════════════════════════════════════════════════════════════
   Ficha de producto
   ════════════════════════════════════════════════════════════════════════ */
.tj-pdp-main { align-items: flex-start !important; }
.tj-pdp-gallery { position: sticky; top: 1.5rem; }
.tj-pdp-gallery .woocommerce-product-gallery { background: #fff; border-radius: 26px; padding: 16px; border: var(--tj-border); box-shadow: var(--tj-shadow); margin: 0 !important; width: 100% !important; float: none !important; }
.tj-pdp-gallery .woocommerce-product-gallery__image img { aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: 16px; }
.tj-pdp-gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 10px; margin: 14px 0 0 !important; }
.tj-pdp-gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none !important; }
.tj-pdp-gallery .flex-control-thumbs li img { aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: 12px; border: 2px solid #eef0ff; opacity: .75 !important; transition: .15s; }
.tj-pdp-gallery .flex-control-thumbs li img.flex-active, .tj-pdp-gallery .flex-control-thumbs li img:hover { border-color: var(--wp--preset--color--primary); opacity: 1 !important; }
.tj-pdp-gallery .woocommerce-product-gallery__trigger { top: 28px !important; right: 28px !important; background: #fff; border-radius: 50%; box-shadow: var(--tj-shadow); }

.tj-pdp-summary > * { margin-block-start: 0 !important; }
.tj-pdp-summary > * + * { margin-top: 1rem !important; }
.tj-pdp-top { display: flex; flex-wrap: wrap; gap: .4rem; }
.tj-pdp-summary .wp-block-post-title { font-size: clamp(1.55rem, 2.5vw, 2.15rem) !important; line-height: 1.18; font-weight: 600; margin-top: .8rem !important; }
.tj-pdp-rating { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .5rem; color: #4b5563; text-decoration: none; font-size: .92rem; }
.tj-pdp-rating strong { color: #111827; }
.tj-pdp-rating:hover span:last-child { text-decoration: underline; }
.tj-pdp-price, .tj-pdp-price .wc-block-components-product-price { font-family: var(--wp--preset--font-family--fredoka); font-size: 2.3rem !important; font-weight: 700; color: var(--wp--preset--color--primary) !important; line-height: 1; margin-top: 1.4rem !important; }
.tj-price-note { margin-top: .35rem !important; color: #16a34a; font-weight: 600; font-size: .9rem; }
.tj-highlights { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: .6rem; }
.tj-highlights li { background: #fff; border: var(--tj-border); border-radius: 16px; padding: .75rem .85rem; display: grid; grid-template-columns: auto 1fr; column-gap: .55rem; align-items: center; }
.tj-highlights li span { grid-row: span 2; font-size: 1.4rem; }
.tj-highlights li small { color: #6b7280; font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; }
.tj-highlights li strong { font-size: .92rem; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.tj-bullets { margin: 0; padding-left: 0; list-style: none; display: grid; gap: .45rem; }
.tj-bullets li { padding-left: 1.7rem; position: relative; line-height: 1.45; }
.tj-bullets li::before { content: "✓"; position: absolute; left: 0; top: .05rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: #dcfce7; color: #16a34a; font-size: .75rem; font-weight: 800; display: grid; place-items: center; }
.tj-more { display: inline-block; margin-top: .4rem; font-weight: 600; font-size: .92rem; text-decoration: none; }
.tj-pdp-summary form.cart { display: flex; gap: .8rem; align-items: stretch; flex-wrap: wrap; padding: 1.1rem; background: #fff; border: var(--tj-border); border-radius: 20px; box-shadow: var(--tj-shadow); margin-top: 1.4rem !important; }
.tj-pdp-summary .stock { width: 100%; margin: 0 0 .2rem; font-weight: 600; color: #16a34a !important; font-size: .92rem; }
.tj-pdp-summary form.cart .quantity input.qty { height: 100%; min-height: 3.2rem; width: 4.5rem; border-radius: 999px; border: 1.5px solid #dde0ff; font-size: 1.05rem; text-align: center; }
.tj-pdp-summary form.cart .single_add_to_cart_button, .tj-pdp-summary form.cart button[type=submit] { flex: 1; min-height: 3.2rem; font-size: 1.1rem !important; border-radius: 999px !important;
  background: var(--wp--preset--color--primary) !important; box-shadow: 0 12px 24px -12px rgba(29,12,223,.7); }
.tj-pdp-summary form.cart .single_add_to_cart_button:hover { background: var(--wp--preset--color--primary-dark) !important; transform: translateY(-1px); }
.tj-trust { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.tj-trust li { display: flex; gap: .55rem; align-items: center; padding: .7rem; border-radius: 14px; background: #fff; border: var(--tj-border); line-height: 1.25; }
.tj-trust li span { font-size: 1.25rem; }
.tj-trust strong { display: block; font-size: .85rem; }
.tj-trust small { color: #6b7280; font-size: .75rem; }

.tj-pdp-nav { position: sticky; top: 0; z-index: 20; display: flex; gap: .3rem; overflow-x: auto; margin: 3.5rem 0 0 !important; padding: .6rem;
  background: rgba(255,255,255,.92); backdrop-filter: blur(10px); border: var(--tj-border); border-radius: 999px; box-shadow: var(--tj-shadow); scrollbar-width: none; }
.tj-pdp-nav a { flex: none; padding: .55rem 1.1rem; border-radius: 999px; text-decoration: none; color: #111827; font-weight: 600; font-size: .92rem; }
.tj-pdp-nav a:hover { background: #eef0ff; color: var(--wp--preset--color--primary); }
.tj-pdp-section { margin-top: 4rem !important; scroll-margin-top: 5rem; }
.tj-pdp-section > h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); margin: 0 0 1.5rem; }
.tj-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.tj-feature { background: #fff; border: var(--tj-border); border-radius: var(--tj-radius); padding: 1.6rem 1.6rem 1.4rem; box-shadow: var(--tj-shadow); position: relative; }
.tj-feature__n { font-family: var(--wp--preset--font-family--fredoka); font-weight: 700; color: #dde0ff; font-size: 2.2rem; line-height: 1; position: absolute; top: 1.2rem; right: 1.4rem; }
.tj-feature h3 { font-size: 1.2rem; margin: 0 2.5rem .6rem 0; line-height: 1.25; }
.tj-feature p { margin: 0; color: #4b5563; line-height: 1.6; }
.tj-feature:only-child { grid-column: 1 / -1; }
.tj-feature details summary { list-style: none; cursor: pointer; }
.tj-feature details summary::-webkit-details-marker { display: none; }
.tj-feature details summary span { display: inline-block; margin-top: .5rem; color: var(--wp--preset--color--primary); font-weight: 600; }
.tj-feature details[open] summary { display: none; }
.tj-aplus { display: grid; gap: 1rem; }
.tj-aplus img { width: 100%; height: auto; border-radius: var(--tj-radius); box-shadow: var(--tj-shadow); background: #fff; }
.tj-specs { background: #fff; border: var(--tj-border); border-radius: var(--tj-radius); overflow: hidden; box-shadow: var(--tj-shadow); }
.tj-specs table { width: 100%; border-collapse: collapse; }
.tj-specs th, .tj-specs td { text-align: left; padding: .85rem 1.3rem; border-bottom: 1px solid #f0f1fb; vertical-align: top; font-size: .95rem; }
.tj-specs th { width: 38%; color: #4b5563; font-weight: 600; background: #fafbff; }
.tj-specs tr:nth-child(even) td { background: #fcfcff; }
.tj-specs__more summary { cursor: pointer; padding: 1rem 1.3rem; font-weight: 700; color: var(--wp--preset--color--primary); list-style: none; text-align: center; }
.tj-specs__more summary::-webkit-details-marker { display: none; }
.tj-specs__more[open] summary { display: none; }
.tj-reviews { display: grid; grid-template-columns: 280px 1fr; gap: 1.4rem; align-items: start; }
.tj-reviews__summary { background: linear-gradient(135deg,#1d0cdf,#5b4bf5); color: #fff; border-radius: var(--tj-radius); padding: 1.8rem; text-align: center; position: sticky; top: 5.5rem; }
.tj-reviews__summary > strong { display: block; font-family: var(--wp--preset--font-family--fredoka); font-size: 3.6rem; line-height: 1; }
.tj-reviews__summary .tj-stars-rating { font-size: 1.4rem; margin: .6rem 0; }
.tj-reviews__summary p { margin: 0 0 .8rem; font-weight: 600; }
.tj-reviews__summary small { opacity: .85; font-size: .8rem; line-height: 1.4; display: block; }
.tj-reviews__list { display: grid; gap: 1rem; }
.tj-review { background: #fff; border: var(--tj-border); border-radius: var(--tj-radius); padding: 1.3rem 1.5rem; box-shadow: var(--tj-shadow); }
.tj-review h3 { font-size: 1.05rem; margin: .5rem 0 .4rem; font-family: var(--wp--preset--font-family--inter); font-weight: 700; }
.tj-review p { margin: 0; color: #374151; line-height: 1.55; }
.tj-review footer { margin-top: .7rem; color: #9ca3af; font-size: .85rem; }
.tj-policies { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.tj-policies a { display: flex; flex-direction: column; gap: .35rem; padding: 1.4rem; background: #fff; border: var(--tj-border); border-radius: var(--tj-radius); text-decoration: none; color: #111827; box-shadow: var(--tj-shadow); transition: .2s; }
.tj-policies a:hover { transform: translateY(-3px); border-color: #c7cbff; }
.tj-policies span { font-size: 1.7rem; }
.tj-policies small { color: #6b7280; line-height: 1.45; }

/* ════════════════════════════════════════════════════════════════════════
   Catálogo
   ════════════════════════════════════════════════════════════════════════ */
.tj-catalog .woocommerce-products-header { margin: 0; }
.tj-cat-hero { background: linear-gradient(135deg,#1d0cdf 0%,#4b3cf0 60%,#7b5cff 100%); color: #fff; border-radius: 28px; padding: 2.6rem 2.8rem; margin: .5rem 0 1.4rem; position: relative; overflow: hidden; }
.tj-cat-hero::after { content: ""; position: absolute; width: 320px; height: 320px; border-radius: 50%; right: -80px; top: -120px; background: rgba(255,255,255,.1); }
.tj-cat-hero--ev::before { content: "⚡"; position: absolute; right: 2.5rem; bottom: 1.2rem; font-size: 5rem; opacity: .9; }
.tj-cat-hero .tj-eyebrow { color: #ffd84d; }
.tj-cat-hero h1 { color: #fff; margin: 0; font-size: clamp(2rem, 4vw, 3rem); }
.tj-cat-hero__desc { max-width: 640px; color: #e3e6ff; margin: .6rem 0 0; font-size: 1.05rem; }
.tj-cat-hero__count { margin: 1rem 0 0; display: inline-block; background: rgba(255,255,255,.16); padding: .3rem .9rem; border-radius: 999px; font-weight: 600; font-size: .9rem; }
.tj-cat-chips { display: flex; gap: .5rem; overflow-x: auto; padding: .2rem 0 .8rem; scrollbar-width: thin; }
.tj-cat-chips a { flex: none; padding: .5rem 1rem; border-radius: 999px; background: #fff; border: var(--tj-border); text-decoration: none; color: #111827; font-weight: 600; font-size: .9rem; }
.tj-cat-chips a:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary); }
.tj-cat-chips a[aria-current] { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: #fff; }
.tj-filters { display: flex; flex-wrap: wrap; gap: .7rem; align-items: flex-end; background: #fff; border: var(--tj-border); border-radius: 20px; padding: 1rem 1.1rem; box-shadow: var(--tj-shadow); margin: .4rem 0 1rem; }
.tj-filters label { display: flex; flex-direction: column; gap: .3rem; flex: 1 1 170px; }
.tj-filters label span { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #6b7280; }
.tj-filters select { appearance: none; -webkit-appearance: none; width: 100%; padding: .65rem 2.2rem .65rem .9rem; border-radius: 12px; border: 1.5px solid #e3e6ff; background: #f7f8fc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231d0cdf' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right .9rem center; font: inherit; font-size: .95rem; color: #111827; cursor: pointer; }
.tj-filters select:focus { outline: 2px solid #c7cbff; border-color: var(--wp--preset--color--primary); }
.tj-filters__sort { margin-left: auto; }
.tj-active-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.tj-active-filters a { padding: .35rem .8rem; border-radius: 999px; background: #eef0ff; color: var(--wp--preset--color--primary); font-weight: 600; font-size: .85rem; text-decoration: none; }
.tj-active-filters a.tj-clear { background: none; color: #6b7280; text-decoration: underline; }
.tj-empty { text-align: center; padding: 4rem 1rem; background: #fff; border-radius: 24px; border: var(--tj-border); }
.tj-empty > span { font-size: 3.5rem; }
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: flex; justify-content: center; gap: .4rem; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 2.6rem; height: 2.6rem; display: grid !important; place-items: center; border-radius: 50%; background: #fff; border: var(--tj-border) !important; font-weight: 600; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--wp--preset--color--primary); color: #fff; }

/* Tarjeta de producto: marca y detalles */
.woocommerce ul.products li.product .price { font-family: var(--wp--preset--font-family--fredoka); font-size: 1.25rem !important; }

/* ════════════════════════════════════════════════════════════════════════
   Carrito, pago y cuenta
   ════════════════════════════════════════════════════════════════════════ */
.woocommerce-cart .wp-block-post-title, .woocommerce-checkout .wp-block-post-title, .woocommerce-account .wp-block-post-title { font-size: clamp(2rem, 4vw, 2.8rem); }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { max-width: 1240px; margin-inline: auto; }
.wc-block-cart, .wc-block-checkout { gap: 2rem; }
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar { background: #fff; border: var(--tj-border); border-radius: 24px; padding: 1.6rem !important; box-shadow: var(--tj-shadow); }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  border-radius: 999px !important; background: var(--wp--preset--color--primary) !important; color: #fff !important; font-weight: 700 !important; min-height: 3.3rem; }
.wc-block-components-button:not(.is-link):hover { background: var(--wp--preset--color--primary-dark) !important; }
.wc-block-cart-item__image img { border-radius: 14px; background: #fff; border: var(--tj-border); aspect-ratio: 1; object-fit: contain; }
.wc-block-components-product-name { font-weight: 600; color: #111827 !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-blocks-components-select__select { border-radius: 12px !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--wp--preset--color--primary); font-family: var(--wp--preset--font-family--fredoka); font-size: 1.5rem; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { font-size: 1.8rem; }
.woocommerce-account .woocommerce { max-width: 1100px; margin-inline: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; background: #fff; border: var(--tj-border); border-radius: 20px; padding: .6rem; box-shadow: var(--tj-shadow); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display: block; padding: .7rem 1rem; border-radius: 12px; text-decoration: none; color: #111827; font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: #eef0ff; color: var(--wp--preset--color--primary); }
.woocommerce form.login, .woocommerce form.register, .woocommerce-account .woocommerce-MyAccount-content { background: #fff; border: var(--tj-border) !important; border-radius: 24px !important; padding: 2rem !important; box-shadow: var(--tj-shadow); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border-radius: 12px; border: 1.5px solid #e3e6ff; padding: .75rem .9rem; background: #f7f8fc; }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .wc-block-components-notice-banner { border-radius: 16px !important; border: 0 !important; background: #eef0ff !important; color: #111827 !important; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--wp--preset--color--primary) !important; }

/* Páginas de contenido (legales) */
.tj-page-hero .wp-block-post-title { margin: 0; }
.tj-page-card { background: #fff; border: var(--tj-border); border-radius: 28px; padding: clamp(1.5rem, 4vw, 3.2rem) !important; box-shadow: var(--tj-shadow); }
.tj-page-card h2 { font-size: 1.45rem; margin-top: 2.2rem; }
.tj-page-card h2:first-child { margin-top: 0; }
.tj-page-card p, .tj-page-card li { color: #374151; line-height: 1.7; }
.tj-page-card ul { padding-left: 1.2rem; }
.tj-page-card li { margin-bottom: .35rem; }
.woocommerce-cart .tj-page-card, .woocommerce-checkout .tj-page-card, .woocommerce-account .tj-page-card { background: none; border: 0; box-shadow: none; padding: 0 !important; }

/* ════════════════════════════════════════════════════════════════════════
   Responsive
   ════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1000px) {
  .tj-policies { grid-template-columns: repeat(2, 1fr); }
  .tj-reviews { grid-template-columns: 1fr; }
  .tj-reviews__summary { position: static; }
}
@media (max-width: 781px) {
  .tj-pdp-gallery { position: static; }
  .tj-features { grid-template-columns: 1fr; }
  .tj-trust { grid-template-columns: 1fr; }
  .tj-cat-hero { padding: 1.8rem 1.4rem; border-radius: 22px; }
  .tj-cat-hero--ev::before { font-size: 3rem; right: 1rem; }
  .tj-filters label { flex: 1 1 45%; }
  .tj-filters__sort { margin-left: 0; }
  .tj-specs th, .tj-specs td { display: block; width: auto; padding: .55rem 1rem; }
  .tj-specs th { padding-bottom: 0; background: none; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
  .tj-specs tr { display: block; border-bottom: 1px solid #f0f1fb; padding: .3rem 0; }
  .tj-specs tr:nth-child(even) td { background: none; }
}
@media (max-width: 560px) { .tj-policies { grid-template-columns: 1fr; } }
.tj-404 h1 { font-size: clamp(2rem, 4vw, 2.8rem); margin: .2rem 0 .6rem; }
.tj-404 > span { font-size: 4.5rem; display: block; }

/* Pago/carrito: columnas lado a lado (el padding de tarjeta no debe romper el 65/35) */
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar { box-sizing: border-box; }
.wc-block-components-sidebar-layout.is-large, .wc-block-components-sidebar-layout.is-medium { flex-wrap: nowrap !important; gap: 1.6rem; }
.wc-block-components-sidebar-layout.is-large .wc-block-components-main, .wc-block-components-sidebar-layout.is-medium .wc-block-components-main { width: auto !important; flex: 1 1 62%; padding-right: 1.6rem !important; }
.wc-block-components-sidebar-layout.is-large .wc-block-components-sidebar, .wc-block-components-sidebar-layout.is-medium .wc-block-components-sidebar { width: auto !important; flex: 0 0 36%; position: sticky; top: 1.5rem; align-self: flex-start; }
.wc-block-components-sidebar .wc-block-components-order-summary, .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; }
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
.wc-block-cart-item__product .wc-block-components-product-metadata { display: none; }

/* Ajustes móviles */
.tj-feature, .tj-review, .tj-policies a, .tj-filters, .tj-cat-hero { box-sizing: border-box; }
.tj-pdp-gallery .woocommerce-product-gallery { width: auto !important; box-sizing: content-box; }
.tj-pdp-summary form.cart .quantity input.qty { height: 3.2rem; min-height: 0; }
@media (max-width: 600px) {
  .tj-tb-extra { display: none; }
  .tj-header .wp-block-site-title { font-size: 1.25rem !important; line-height: 1.1; }
  .tj-header .wp-block-site-logo img { width: 46px !important; }
  .woocommerce-breadcrumb, .wc-block-breadcrumbs { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .tj-filters { padding: .8rem; gap: .55rem; }
  .tj-filters select { font-size: .88rem; padding: .6rem 1.7rem .6rem .7rem; background-position: right .6rem center; }
  .tj-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tj-pdp-rating span:last-child { flex-basis: 100%; font-size: .85rem; }
  .tj-pdp-price, .tj-pdp-price .wc-block-components-product-price { font-size: 2rem !important; }
  .tj-cat-hero__desc { font-size: .95rem; }
}
.tj-pdp-gallery .wp-block-woocommerce-product-image-gallery { max-width: none !important; width: 100%; }

/* Menú de secciones de la ficha: centrado y del ancho de su contenido */
.tj-pdp-nav { width: fit-content; max-width: 100%; box-sizing: border-box; margin-left: auto !important; margin-right: auto !important; justify-content: flex-start; }

/* Imágenes del fabricante (A+): un solo bloque continuo, sin espacios */
.tj-aplus { display: flex; flex-direction: column; gap: 0; border-radius: var(--tj-radius); overflow: hidden; box-shadow: var(--tj-shadow); background: #fff; }
.tj-aplus img { display: block; width: 100%; height: auto; margin: 0; border-radius: 0; box-shadow: none; vertical-align: top; }
