/* =====================================================================
   AJS COLLECTIBLES — GLOBAL STYLES
   PEGAR UNA SOLA VEZ en: Apariencia > Personalizar > CSS adicional
   (o en Elementor > Ajustes del sitio > CSS personalizado)
   Esto alimenta TODOS los modulos. No lo dupliques en cada widget.
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@300;400;500;600;700;900&family=Oswald:wght@400;500;600;700&display=swap');

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --red: #00B7E4;
    --red-dark: #B01515;
    --red-light: #FF3333;
    --yellow: #FFD600;
    --yellow-dark: #FFAA00;
    --navy: #0A1628;
    --navy-mid: #112240;
    --navy-light: #1A3A6E;
    --white: #FFFFFF;
    --off-white: #F8F8F6;
    --gray-100: #F2F2F2;
    --gray-200: #E0E0E0;
    --gray-400: #AAAAAA;
    --gray-600: #666666;
    --gray-900: #111111;
    --font-display: 'Bebas Neue', 'Oswald', sans-serif;
    --font-heading: 'Oswald', sans-serif;
    --font-body: 'Inter', sans-serif;
  }

  html { scroll-behavior: smooth; }
  body { font-family: var(--font-body); background: var(--white); color: var(--gray-900); overflow-x: hidden; }

  a { text-decoration: none; color: inherit; }
  img { display: block; max-width: 100%; }
  button { cursor: pointer; border: none; background: none; font-family: inherit; }

  /* ========== TOP BAR ========== */
  .topbar {
    background: var(--navy);
    color: var(--gray-200);
    font-size: 12px;
    letter-spacing: 0.04em;
    padding: 7px 0;
    text-align: center;
  }
  .topbar span { color: var(--yellow); font-weight: 600; }

  /* ========== HEADER ========== */
  header {
    background: var(--navy);
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 3px solid var(--red);
  }
  .header-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    height: 74px;
    gap: 24px;
  }
  .logo-wrap {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
  }
  .logo-top {
    font-family: var(--font-display);
    font-size: 34px;
    color: var(--white);
    letter-spacing: 0.12em;
    line-height: 1;
  }
  .logo-top span { color: var(--red-light); }
  .logo-sub {
    font-size: 8px;
    letter-spacing: 0.3em;
    color: var(--yellow);
    text-transform: uppercase;
    font-weight: 600;
    margin-top: 2px;
  }
  .header-left { display: flex; align-items: center; gap: 8px; }
  .header-right { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }

  .search-bar {
    display: flex;
    align-items: center;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 4px;
    overflow: hidden;
    width: 260px;
  }
  .search-bar input {
    background: none;
    border: none;
    color: var(--white);
    font-size: 13px;
    padding: 8px 12px;
    outline: none;
    flex: 1;
    font-family: var(--font-body);
  }
  .search-bar input::placeholder { color: rgba(255,255,255,0.45); }
  .search-bar button {
    background: var(--red);
    color: white;
    padding: 8px 14px;
    font-size: 14px;
    transition: background 0.2s;
  }
  .search-bar button:hover { background: var(--red-dark); }

  .icon-btn {
    color: var(--white);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    font-size: 10px;
    letter-spacing: 0.04em;
    padding: 6px 8px;
    border-radius: 4px;
    transition: background 0.2s;
    position: relative;
  }
  .icon-btn:hover { background: rgba(255,255,255,0.1); }
  .icon-btn svg { width: 22px; height: 22px; }
  .cart-badge {
    position: absolute;
    top: 2px; right: 2px;
    background: var(--red);
    color: white;
    font-size: 9px;
    font-weight: 700;
    width: 16px; height: 16px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
  }

  /* ========== NAV ========== */
  nav {
    background: var(--navy-mid);
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }
  .nav-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    gap: 0;
  }
  .nav-item {
    color: var(--gray-200);
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    padding: 13px 16px;
    display: flex;
    align-items: center;
    gap: 4px;
    border-bottom: 3px solid transparent;
    transition: all 0.2s;
    white-space: nowrap;
  }
  .nav-item:hover { color: var(--white); background: rgba(255,255,255,0.06); border-bottom-color: var(--red); }
  .nav-item.active { color: var(--yellow); border-bottom-color: var(--yellow); }
  .nav-item .arrow { font-size: 10px; opacity: 0.6; }
  .nav-sale { color: var(--yellow) !important; }
  .nav-new { color: var(--red-light) !important; }

  /* ========== HERO CAROUSEL ========== */
  .hero { position: relative; overflow: hidden; background: var(--navy); }
  .hero-slides { display: flex; transition: transform 0.65s cubic-bezier(0.77,0,0.18,1); }
  .hero-slide {
    min-width: 100%;
    position: relative;
    height: 540px;
    overflow: hidden;
  }
  .hero-slide img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  .hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(10,22,40,0.88) 0%, rgba(10,22,40,0.45) 55%, rgba(10,22,40,0.1) 100%);
  }
  .hero-content {
    position: absolute;
    top: 50%; left: 80px;
    transform: translateY(-50%);
    max-width: 560px;
  }
  .hero-badge {
    display: inline-block;
    background: var(--red);
    color: var(--white);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 2px;
    margin-bottom: 16px;
  }
  .hero-title {
    font-family: var(--font-display);
    font-size: clamp(42px, 5.5vw, 78px);
    color: var(--white);
    line-height: 0.92;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 16px;
  }
  .hero-title em { color: var(--yellow); font-style: normal; }
  .hero-desc {
    color: rgba(255,255,255,0.8);
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 28px;
    max-width: 400px;
  }
  .hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
  .btn-primary {
    background: var(--red);
    color: var(--white);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 13px 30px;
    border-radius: 3px;
    transition: all 0.2s;
    display: inline-block;
  }
  .btn-primary:hover { background: var(--red-dark); transform: translateY(-1px); }
  .btn-outline {
    background: transparent;
    color: var(--white);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 12px 28px;
    border-radius: 3px;
    border: 2px solid rgba(255,255,255,0.5);
    transition: all 0.2s;
    display: inline-block;
  }
  .btn-outline:hover { border-color: var(--white); background: rgba(255,255,255,0.1); }

  .hero-nav {
    position: absolute;
    bottom: 24px; left: 50%;
    transform: translateX(-50%);
    display: flex; gap: 8px; z-index: 10;
  }
  .hero-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.35);
    border: none; cursor: pointer;
    transition: all 0.2s;
    padding: 0;
  }
  .hero-dot.active { background: var(--yellow); width: 24px; border-radius: 4px; }
  .hero-arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(10,22,40,0.6);
    border: 1px solid rgba(255,255,255,0.15);
    color: white;
    width: 46px; height: 46px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    z-index: 10;
    transition: all 0.2s;
    font-size: 20px;
  }
  .hero-arrow:hover { background: var(--red); border-color: var(--red); }
  .hero-prev { left: 24px; }
  .hero-next { right: 24px; }

  /* ========== TRUST BAR ========== */
  .trust-bar {
    background: var(--red);
    padding: 0;
  }
  .trust-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
  .trust-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 24px;
    border-right: 1px solid rgba(255,255,255,0.2);
    color: var(--white);
  }
  .trust-item:last-child { border-right: none; }
  .trust-icon { font-size: 24px; flex-shrink: 0; }
  .trust-label { font-weight: 700; font-size: 13px; letter-spacing: 0.04em; line-height: 1.3; }
  .trust-sub { font-size: 11px; opacity: 0.8; }

  /* ========== SECTION HEADER ========== */
  .section { padding: 56px 0; }
  .section-alt { background: var(--gray-100); }
  .section-dark { background: var(--navy); }
  .section-inner { max-width: 1400px; margin: 0 auto; padding: 0 24px; }
  .section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 3px solid var(--gray-200);
    position: relative;
  }
  .section-header::before {
    content: '';
    position: absolute;
    bottom: -3px; left: 0;
    width: 60px; height: 3px;
    background: var(--red);
  }
  .section-title {
    font-family: var(--font-heading);
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--navy);
  }
  .section-title span { color: var(--red); }
  .section-dark .section-title { color: var(--white); }
  .section-dark .section-header { border-bottom-color: rgba(255,255,255,0.1); }
  .section-dark .section-header::before { background: var(--yellow); }
  .view-all {
    color: var(--red);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    display: flex; align-items: center; gap: 4px;
    transition: gap 0.2s;
  }
  .view-all:hover { gap: 8px; }
  .section-dark .view-all { color: var(--yellow); }

  /* ========== CATEGORY TILES ========== */
  .cat-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
  }
  .cat-tile {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 0.85;
    cursor: pointer;
    group: true;
  }
  .cat-tile img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
  }
  .cat-tile:hover img { transform: scale(1.06); }
  .cat-tile-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(0deg, rgba(10,22,40,0.85) 0%, rgba(10,22,40,0.1) 55%);
  }
  .cat-tile-label {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 16px 14px;
  }
  .cat-tile-name {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 700;
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.1;
  }
  .cat-tile-count { font-size: 11px; color: rgba(255,255,255,0.6); margin-top: 3px; }
  .cat-tile-hot {
    position: absolute;
    top: 10px; right: 10px;
    background: var(--red);
    color: white;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    padding: 4px 8px;
    border-radius: 2px;
  }

  /* ========== PRODUCT CARDS ========== */
  .product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
  .product-card {
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    transition: all 0.25s;
    cursor: pointer;
  }
  .product-card:hover { border-color: var(--navy-light); box-shadow: 0 6px 24px rgba(10,22,40,0.12); transform: translateY(-3px); }
  .product-img-wrap {
    position: relative;
    background: var(--gray-100);
    aspect-ratio: 1;
    overflow: hidden;
  }
  .product-img-wrap img {
    width: 100%; height: 100%;
    object-fit: contain;
    padding: 12px;
    transition: transform 0.35s ease;
  }
  .product-card:hover .product-img-wrap img { transform: scale(1.05); }
  .product-badge {
    position: absolute;
    top: 10px; left: 10px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 2px;
  }
  .badge-new { background: var(--navy); color: var(--white); }
  .badge-sale { background: var(--red); color: var(--white); }
  .badge-hot { background: var(--yellow-dark); color: var(--navy); }
  .badge-ltd { background: var(--navy-light); color: var(--white); }
  .wishlist-btn {
    position: absolute;
    top: 10px; right: 10px;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    opacity: 0;
    transition: opacity 0.2s;
    color: var(--gray-600);
    font-size: 16px;
  }
  .product-card:hover .wishlist-btn { opacity: 1; }
  .wishlist-btn:hover { color: var(--red); background: white; }
  .product-info { padding: 14px 16px 16px; }
  .product-brand { font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--red); margin-bottom: 4px; }
  .product-name {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--gray-900);
    line-height: 1.4;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 38px;
  }
  .product-pricing { display: flex; align-items: baseline; gap: 8px; margin-bottom: 10px; }
  .price-current { font-size: 18px; font-weight: 700; color: var(--navy); }
  .price-old { font-size: 13px; color: var(--gray-400); text-decoration: line-through; }
  .price-save { font-size: 10px; font-weight: 700; color: var(--red); }
  .add-to-cart-btn {
    width: 100%;
    background: var(--navy);
    color: var(--white);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 9px 16px;
    border-radius: 4px;
    transition: background 0.2s;
    display: flex; align-items: center; justify-content: center; gap: 6px;
  }
  .add-to-cart-btn:hover { background: var(--red); }
  .stars { color: var(--yellow-dark); font-size: 11px; letter-spacing: 1px; margin-bottom: 6px; }
  .stars span { color: var(--gray-400); font-size: 11px; margin-left: 4px; }

  /* ========== PROMO BANNERS ========== */
  .promo-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
  .promo-wide { grid-column: span 2; }
  .promo-card {
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    height: 200px;
    display: flex; align-items: center;
  }
  .promo-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .promo-card-overlay { position: absolute; inset: 0; }
  .promo-card-content { position: relative; z-index: 1; padding: 28px 32px; }
  .promo-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 6px; }
  .promo-card-title {
    font-family: var(--font-display);
    font-size: 32px;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 12px;
  }
  .promo-card-wide { height: 260px; }
  .promo-card-wide .promo-card-title { font-size: 52px; }

  /* ========== BRANDS MARQUEE ========== */
  .brands-bar { background: var(--navy); padding: 28px 0; overflow: hidden; }
  .brands-track { display: flex; gap: 48px; animation: marquee 28s linear infinite; width: max-content; align-items: center; }
  .brands-track:hover { animation-play-state: paused; }
  @keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .brand-pill {
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 4px;
    padding: 8px 24px;
    color: rgba(255,255,255,0.7);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: all 0.2s;
  }
  .brand-pill:hover { background: rgba(255,255,255,0.14); color: var(--white); }

  /* ========== FUNKO SPOTLIGHT ========== */
  .spotlight-grid { display: grid; grid-template-columns: 350px 1fr; gap: 40px; align-items: center; }
  .spotlight-img-wrap {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 0.75;
  }
  .spotlight-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
  .spotlight-badge-corner {
    position: absolute;
    top: 0; right: 0;
    background: var(--yellow);
    color: var(--navy);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 8px 14px;
    border-bottom-left-radius: 8px;
  }
  .spotlight-content {}
  .spotlight-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.2em; color: var(--yellow); text-transform: uppercase; margin-bottom: 10px; }
  .spotlight-title {
    font-family: var(--font-display);
    font-size: 52px;
    color: var(--white);
    line-height: 0.9;
    text-transform: uppercase;
    margin-bottom: 16px;
    letter-spacing: 0.04em;
  }
  .spotlight-desc { color: rgba(255,255,255,0.7); font-size: 15px; line-height: 1.7; margin-bottom: 28px; }
  .spotlight-stats { display: flex; gap: 32px; margin-bottom: 32px; }
  .stat-item { }
  .stat-num { font-family: var(--font-heading); font-size: 32px; font-weight: 700; color: var(--yellow); line-height: 1; }
  .stat-label { font-size: 11px; color: rgba(255,255,255,0.5); letter-spacing: 0.08em; margin-top: 2px; }

  /* ========== NEWSLETTER ========== */
  .newsletter {
    background: var(--red);
    padding: 60px 0;
    position: relative;
    overflow: hidden;
  }
  .newsletter::before {
    content: 'AJS';
    position: absolute;
    font-family: var(--font-display);
    font-size: 280px;
    color: rgba(255,255,255,0.04);
    top: -40px; right: -20px;
    pointer-events: none;
    line-height: 1;
  }
  .newsletter-inner { max-width: 640px; margin: 0 auto; padding: 0 24px; text-align: center; position: relative; }
  .newsletter-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.25em; color: rgba(255,255,255,0.7); text-transform: uppercase; margin-bottom: 10px; }
  .newsletter-title {
    font-family: var(--font-display);
    font-size: 44px;
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 12px;
  }
  .newsletter-sub { color: rgba(255,255,255,0.8); font-size: 15px; margin-bottom: 28px; }
  .newsletter-form { display: flex; gap: 0; max-width: 480px; margin: 0 auto; }
  .newsletter-input {
    flex: 1;
    background: white;
    border: none;
    padding: 14px 18px;
    font-size: 14px;
    border-radius: 4px 0 0 4px;
    outline: none;
    font-family: var(--font-body);
  }
  .newsletter-btn {
    background: var(--navy);
    color: white;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 14px 22px;
    border-radius: 0 4px 4px 0;
    transition: background 0.2s;
  }
  .newsletter-btn:hover { background: var(--navy-mid); }
  .newsletter-note { font-size: 11px; color: rgba(255,255,255,0.55); margin-top: 12px; }

  /* ========== FOOTER ========== */
  footer {
    background: var(--navy);
    color: var(--gray-400);
    padding: 56px 0 0;
    border-top: 3px solid var(--red);
  }
  .footer-grid {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 260px 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 48px;
  }
  .footer-brand .logo-top { font-size: 28px; margin-bottom: 4px; }
  .footer-brand .logo-sub { margin-bottom: 16px; }
  .footer-tagline { font-size: 13px; line-height: 1.7; margin-bottom: 20px; color: rgba(255,255,255,0.55); }
  .social-row { display: flex; gap: 10px; }
  .social-btn {
    width: 36px; height: 36px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--gray-400);
    font-size: 15px;
    transition: all 0.2s;
  }
  .social-btn:hover { background: var(--red); border-color: var(--red); color: white; }
  .footer-col-title {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--white);
    margin-bottom: 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .footer-links { list-style: none; display: flex; flex-direction: column; gap: 10px; }
  .footer-links li a {
    font-size: 13px;
    color: rgba(255,255,255,0.5);
    transition: color 0.2s;
    display: flex; align-items: center; gap: 6px;
  }
  .footer-links li a:hover { color: var(--yellow); }
  .footer-links li a::before { content: '›'; color: var(--red); font-weight: 700; }
  .footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.07);
    padding: 20px 24px;
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    color: rgba(255,255,255,0.35);
  }
  .footer-bottom a { color: rgba(255,255,255,0.45); }
  .footer-bottom a:hover { color: var(--yellow); }

  /* ========== SALE TICKER ========== */
  .sale-ticker { background: var(--yellow); overflow: hidden; padding: 9px 0; }
  .ticker-track { display: flex; gap: 40px; animation: marquee 22s linear infinite; width: max-content; }
  .ticker-item {
    display: flex; align-items: center; gap: 10px;
    font-size: 12px; font-weight: 700; letter-spacing: 0.06em;
    text-transform: uppercase; color: var(--navy);
    white-space: nowrap;
  }
  .ticker-dot { width: 5px; height: 5px; background: var(--red); border-radius: 50%; flex-shrink: 0; }

  /* ========== RESPONSIVE ========== */
  @media (max-width: 1100px) {
    .cat-grid { grid-template-columns: repeat(3, 1fr); }
    .product-grid { grid-template-columns: repeat(3, 1fr); }
    .spotlight-grid { grid-template-columns: 1fr; }
    .spotlight-img-wrap { aspect-ratio: 1.8; }
  }
  @media (max-width: 768px) {
    .header-inner { grid-template-columns: 1fr auto; padding: 0 16px; }
    .header-right { display: none; }
    .nav-item { padding: 11px 10px; font-size: 11px; }
    .cat-grid { grid-template-columns: repeat(2, 1fr); }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .trust-inner { grid-template-columns: repeat(2, 1fr); }
    .promo-row { grid-template-columns: 1fr; }
    .promo-wide { grid-column: span 1; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .hero-slide { height: 380px; }
    .hero-content { left: 24px; right: 24px; }
  }

/* =====================================================================
   HERO — REFUERZO MÓVIL (añadido)
   Ancla el texto abajo, achica título, botones a todo el ancho,
   y degradado vertical para legibilidad sobre cualquier foto.
   ===================================================================== */
@media (max-width: 768px) {
  .hero-slide { height: 440px; }
  .hero-content {
    left: 20px; right: 20px;
    max-width: 100%;
    top: auto; bottom: 30px;
    transform: none;
  }
  .hero-title { font-size: 34px; line-height: 1; margin-bottom: 12px; }
  .hero-desc  { font-size: 13px; max-width: 100%; margin-bottom: 18px; }
  .hero-badge { font-size: 9px; margin-bottom: 10px; }
  .hero-ctas  { gap: 8px; }
  .btn-primary, .btn-outline {
    flex: 1; text-align: center;
    padding: 12px 14px; font-size: 12px;
  }
  .hero-overlay {
    background: linear-gradient(0deg, rgba(10,22,40,0.95) 0%, rgba(10,22,40,0.3) 75%) !important;
  }
  .hero-arrow { width: 36px; height: 36px; font-size: 16px; }
}
@media (max-width: 420px) {
  .hero-title { font-size: 28px; }
  .hero-desc  { display: none; }
}

/* =====================================================================
   WOOCOMMERCE — adaptar el listado nativo al grid del diseño
   (Woo envuelve los productos en ul.products > li.product;
    aqui lo convertimos en la misma rejilla que .product-grid)
   ===================================================================== */
ul.products {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
ul.products::before,
ul.products::after { display: none !important; } /* limpia floats del tema */

ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  list-style: none !important;
}

/* el enlace del nombre no debe verse como link azul del tema */
.product-name-link { text-decoration: none; color: inherit; display: block; }
.product-name-link:hover .product-name { color: var(--red); }

/* responsive del grid de Woo */
@media (max-width: 1024px) { ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px)  { ul.products { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (max-width: 480px)  { ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; } }

/* =====================================================================
   AJUSTES PARA EL CHILD THEME (header.php / footer.php / menu)
   ===================================================================== */
/* Contenedor de contenido: ancho completo, sin caja */
#ajsc-content { width: 100%; max-width: 100%; }

/* Logo de IMAGEN dentro del header (el del personaje, subido en Astra) */
.logo-wrap .custom-logo-link { display: inline-block; line-height: 0; }
.logo-wrap .custom-logo { max-height: 72px; width: auto; height: auto; }

/* Menu administrable (wp_nav_menu) dentro de .nav-inner:
   los <li> deben comportarse como los enlaces del diseño */
.nav-inner li { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }
.nav-inner ul { display: contents; }  /* ignora el <ul> si lo hubiera */

/* ===== PÁGINA DE PRODUCTO — domar la galería ===== */
.single-product div.product {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  max-width: 1200px;
  margin: 40px auto;
}
.single-product div.product .woocommerce-product-gallery {
  width: 48% !important;   /* la imagen ocupa la mitad izquierda */
  float: none !important;
}
.single-product div.product .summary {
  width: 48% !important;   /* el texto/precio/botón, la otra mitad */
  float: none !important;
  margin: 0 !important;
}
@media (max-width: 768px) {
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .summary { width: 100% !important; }
}

/* =====================================================================
   GALERÍA — ÚNICO bloque: cuadrado fijo, imagen completa, thumbs abajo
   (borra cualquier otro bloque de galería antes de pegar este)
   ===================================================================== */

/* la galería completa, centrada y con ancho fijo */
.single-product .woocommerce-product-gallery {
  max-width: 440px;              /* ⬅️ tamaño del cuadro */
  margin: 0 auto !important;
  float: none !important;
}

/* el VISOR del slider (la ventana visible) — aquí van marco y sombra */
.single-product .woocommerce-product-gallery .flex-viewport {
  border-radius: 10px;
  border: 1px solid var(--gray-200);
  background: #fff;
  box-shadow: 0 10px 30px rgba(10,22,40,0.18);
}

/* cada imagen: cuadrada, completa, con relleno blanco */
.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;              /* cuadrado */
  object-fit: contain !important;   /* completa, nunca cortada */
  background: #fff;                 /* relleno blanco */
  padding: 12px;
  box-sizing: border-box;
}

/* miniaturas: fila abajo, centradas, con hover */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  list-style: none;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  width: 72px !important;
  height: 72px !important;
  margin: 0 !important;
  float: none !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: #fff;
  display: block;
  border-radius: 8px;
  cursor: pointer;
  opacity: 0.65;
  border: 2px solid transparent;
  box-shadow: 0 2px 8px rgba(10,22,40,0.10);
  transition: opacity .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover {
  opacity: 1;
  transform: translateY(-3px);
  border-color: var(--red);
  box-shadow: 0 6px 14px rgba(10,22,40,0.22);
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  opacity: 1;
  border-color: var(--red);
}

@media (max-width: 768px) {
  .single-product .woocommerce-product-gallery { max-width: 100%; }
  .single-product .woocommerce-product-gallery .flex-control-thumbs li { width: 60px !important; height: 60px !important; }
}
/* =====================================================================
   AJSC — HEADER MÓVIL CON MENÚ HAMBURGUESA
   Pegar al FINAL de assets/global.css (o CSS adicional).
   IMPORTANTE: elimina los bloques móviles anteriores del header/nav
   (los de "HEADER / NAV / FOOTER RESPONSIVE" y el de position:static)
   para que no se peleen con este. El del FOOTER sí puedes dejarlo.
   ===================================================================== */

/* El botón hamburguesa NO se ve en escritorio */
.ajsc-burger { display: none; }
.ajsc-mobile-search { display: none; }
.ajsc-mobile-actions { display: none; }

@media (max-width: 768px) {

  /* ---- HEADER: logo izquierda, hamburguesa derecha ---- */
  header { position: static !important; top: auto !important; }

  .header-inner {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    gap: 12px;
  }

  /* logo a la izquierda */
  .logo-wrap { order: 0; width: auto; justify-content: flex-start; margin: 0; }
  .logo-wrap .custom-logo { max-height: 48px; }

  /* ocultar buscador e iconos en la barra superior */
  .header-left { display: none; }
  .header-right { display: none; }

  /* botón hamburguesa visible, a la derecha */
  .ajsc-burger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    background: none;
    border: 0;
    cursor: pointer;
    padding: 8px;
    margin-left: auto;
  }
  .ajsc-burger span {
    display: block;
    width: 26px;
    height: 3px;
    background: #fff;
    border-radius: 2px;
    transition: transform .25s, opacity .25s;
  }
  /* animación a "X" cuando está abierto */
  .ajsc-burger.is-open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .ajsc-burger.is-open span:nth-child(2) { opacity: 0; }
  .ajsc-burger.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

  /* ---- NAV: se convierte en panel desplegable ---- */
  nav { position: static !important; }
  .nav-inner {
    display: none;            /* oculto por defecto */
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
    overflow: visible;
  }
  /* cuando JS añade .is-open, se muestra */
  .nav-inner.is-open { display: flex; }

  .nav-inner .nav-item {
    width: 100%;
    white-space: normal;
    padding: 14px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  /* buscador dentro del menú desplegable */
  .ajsc-mobile-search {
    display: block;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .ajsc-mobile-search .search-bar { width: 100%; max-width: 100%; }

  /* accesos de cuenta/carrito dentro del menú */
  .ajsc-mobile-actions {
    display: flex;
    gap: 24px;
    justify-content: center;
    padding: 16px;
  }
}

/* =====================================================================
   FOOTER — versión simplificada para MÓVIL
   ===================================================================== */
@media (max-width: 768px) {

  /* Una sola columna, centrado */
  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px;
    text-align: center;
    padding: 36px 20px;
  }
  .footer-tagline { max-width: 320px; margin: 0 auto; }
  .footer-links { display: inline-block; text-align: left; }

  /* Ocultar las columnas de enlaces largas en móvil */
  .footer-grid > div:nth-child(2),   /* Shop */
  .footer-grid > div:nth-child(4) {  /* About AJ's */
    display: none;
  }

  /* En Customer Care, dejar solo los 2 primeros enlaces (Track + Returns) */
  .footer-grid > div:nth-child(3) .footer-links li:nth-child(n+3) {
    display: none;
  }

  /* Copyright apilado y centrado */
  .footer-bottom {
    flex-direction: column;
    gap: 12px;
    text-align: center;
    padding: 20px;
  }
  .footer-bottom > div { justify-content: center; }
}

/* Arreglar color de las barras en páginas de categoría */
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-products-header,
.tax-product_cat .ast-archive-description {
  background: transparent !important;
  color: #1A1A1A !important;
  padding: 16px 0 !important;
}
.tax-product_cat .woocommerce-breadcrumb a,
.tax-product_cat .woocommerce-products-header a,
.tax-product_cat .woocommerce-products-header__title {
  color: #1A1A1A !important;
}

/* Arreglar el breadcrumb en la página de PRODUCTO individual */
.single-product .woocommerce-breadcrumb {
  background: transparent !important;
  color: #1A1A1A !important;
  padding: 16px 0 !important;
  margin-bottom: 16px !important;
}
.single-product .woocommerce-breadcrumb a {
  color: #E01F1F !important;   /* enlaces en rojo de marca */
}

/* =====================================================================
   PÁGINA DE CATEGORÍA — título de marca + tarjetas más pequeñas/centradas
   ===================================================================== */

/* ---- Título y descripción de la categoría, centrados y con estilo ---- */
.tax-product_cat .woocommerce-products-header__title,
.tax-product_cat .page-title {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--navy) !important;
  text-align: center !important;
  font-size: clamp(32px, 4vw, 52px) !important;
  margin: 8px 0 4px !important;
}
.tax-product_cat .term-description,
.tax-product_cat .ast-archive-description {
  text-align: center !important;
  color: #6B7280 !important;
  font-size: 15px;
  margin-bottom: 8px !important;
}

/* ---- 4 tarjetas por fila, más compactas ---- */
.woocommerce ul.products {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

/* ---- Contenido de la tarjeta centrado ---- */
.woocommerce ul.products li.product .product-info {
  text-align: center;
}
.woocommerce ul.products li.product .product-pricing,
.woocommerce ul.products li.product .stars {
  justify-content: center;
}

/* la barra de "Showing X results / sorting" un poco más discreta */
.woocommerce-result-count,
.woocommerce-ordering { font-size: 14px; }

/* responsive */
@media (max-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 768px)  { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; } }
@media (max-width: 480px)  { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; } }

/* =====================================================================
   PÁGINAS DE TIENDA — padding lateral para que no se pegue al borde
   (NO afecta el hero ni las barras full-width de la home)
   ===================================================================== */
.tax-product_cat #ajsc-content,
.single-product #ajsc-content,
.woocommerce-page #ajsc-content,
.post-type-archive-product #ajsc-content {
  max-width: 1320px;
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
}

@media (max-width: 768px) {
  .tax-product_cat #ajsc-content,
  .single-product #ajsc-content,
  .woocommerce-page #ajsc-content,
  .post-type-archive-product #ajsc-content {
    padding-left: 20px;
    padding-right: 20px;
  }
}


/* =====================================================================
   BADGE "CHASE" (SVG dorado) para la categoría PREMIUM | CHASE
   slug de la categoría: premium-chase
   ===================================================================== */
.woocommerce ul.products li.product.product_cat-premium-chase .product-img-wrap { position: relative; }

.woocommerce ul.products li.product.product_cat-premium-chase .product-img-wrap::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 8px;
  width: 46px;
  height: 46px;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='matrix(1.443445,0,0,1.445302,-31.748072,-25.997426)'%3E%3Cpath d='M56.634,24.334C56.634,24.334 57.725,26.456 58.946,28.833C60.785,32.412 65.161,33.856 68.774,32.075C71.077,30.94 73.106,29.94 73.106,29.94C73.106,29.94 73.029,30.472 72.906,31.313C72.501,34.096 73.237,36.925 74.947,39.16C76.657,41.395 79.197,42.846 81.992,43.187C83.75,43.402 85.013,43.555 85.013,43.555C85.013,43.555 84.199,44.278 83.032,45.314C80.896,47.21 79.63,49.897 79.528,52.75C79.426,55.602 80.496,58.373 82.491,60.417C82.983,60.92 83.286,61.231 83.286,61.231C83.286,61.231 82.806,61.313 82.037,61.445C79.241,61.924 76.76,63.516 75.162,65.857C73.564,68.198 72.986,71.086 73.56,73.861C73.875,75.381 74.095,76.442 74.095,76.442C74.095,76.442 73.068,75.873 71.62,75.07C69.158,73.704 66.248,73.388 63.55,74.192C60.851,74.996 58.591,76.853 57.28,79.342C56.885,80.094 56.634,80.57 56.634,80.57C56.634,80.57 56.416,80.156 56.065,79.49C54.742,76.975 52.45,75.108 49.718,74.316C46.987,73.525 44.05,73.879 41.585,75.296C40.579,75.874 39.913,76.257 39.913,76.257C39.913,76.257 40.095,75.071 40.348,73.416C41.21,67.785 37.397,62.501 31.775,61.538C30.696,61.353 29.982,61.231 29.982,61.231C29.982,61.231 30.264,60.942 30.725,60.47C32.728,58.417 33.799,55.632 33.687,52.768C33.575,49.903 32.289,47.21 30.131,45.32C29.296,44.589 28.749,44.11 28.749,44.11C28.749,44.11 30.043,43.892 31.819,43.592C37.424,42.647 41.248,37.405 40.431,31.786C40.269,30.678 40.162,29.94 40.162,29.94C40.162,29.94 40.802,30.255 41.771,30.733C46.895,33.258 53.1,31.211 55.709,26.133C56.262,25.058 56.634,24.334 56.634,24.334Z' fill='%23cb8f00'/%3E%3C/g%3E%3Cg transform='matrix(1.41662,0,0,1.309065,-31.290801,-21.300293)'%3E%3Cpath d='M57.384,23.278C57.384,23.278 58.532,25.634 59.8,28.237C61.658,32.052 65.945,33.634 69.57,31.843C71.966,30.66 74.112,29.6 74.112,29.6C74.112,29.6 74.101,29.647 74.082,29.735C73.382,32.866 73.925,36.171 75.578,38.85C77.231,41.529 79.843,43.338 82.784,43.84C84.816,44.187 86.3,44.44 86.3,44.44C86.3,44.44 85.499,45.205 84.343,46.309C82.155,48.398 80.855,51.365 80.744,54.52C80.633,57.675 81.721,60.741 83.755,63.003C84.317,63.629 84.669,64.02 84.669,64.02C84.669,64.02 84.296,63.999 83.676,63.964C80.584,63.791 77.576,65.08 75.432,67.496C73.289,69.913 72.222,73.218 72.508,76.553C72.557,77.125 72.586,77.463 72.586,77.463C72.586,77.463 72.118,77.119 71.381,76.578C69.108,74.908 66.272,74.404 63.626,75.199C60.979,75.994 58.788,78.007 57.635,80.706C57.635,80.706 57.594,80.64 57.52,80.518C55.856,77.8 53.206,75.972 50.227,75.486C47.247,75.001 44.218,75.904 41.888,77.971C41.887,77.971 41.931,77.565 42.004,76.89C42.36,73.603 41.395,70.31 39.354,67.846C37.313,65.383 34.393,63.986 31.336,64.011C30.613,64.016 30.17,64.02 30.17,64.02C30.17,64.02 30.74,63.23 31.58,62.066C33.368,59.588 34.144,56.428 33.728,53.316C33.313,50.205 31.742,47.412 29.379,45.583C29.119,45.381 28.97,45.266 28.97,45.266C28.97,45.266 30.633,44.833 32.765,44.276C37.986,42.914 41.455,37.561 40.861,31.785C40.723,30.441 40.628,29.516 40.628,29.516C40.628,29.516 41.15,29.806 41.961,30.257C47.024,33.071 53.237,31.084 56.074,25.744C56.842,24.298 57.384,23.278 57.384,23.278Z' fill='%23ffc12c'/%3E%3C/g%3E%3Cg transform='matrix(1,0,0,1,0.076243,10.40125)'%3E%3Cg transform='matrix(10.634482,-6.569459,6.569459,10.634482,29.518725,42.206695)'%3E%3Cpath d='M0.531,-0.263L0.671,-0.219C0.649,-0.141 0.614,-0.083 0.564,-0.045C0.514,-0.007 0.45,0.012 0.374,0.012C0.278,0.012 0.2,-0.02 0.139,-0.085C0.078,-0.15 0.047,-0.239 0.047,-0.352C0.047,-0.471 0.078,-0.563 0.14,-0.629C0.201,-0.695 0.282,-0.728 0.382,-0.728C0.47,-0.728 0.541,-0.702 0.596,-0.65C0.628,-0.62 0.653,-0.576 0.669,-0.519L0.526,-0.484C0.517,-0.521 0.5,-0.551 0.473,-0.572C0.446,-0.594 0.413,-0.604 0.375,-0.604C0.322,-0.604 0.279,-0.585 0.246,-0.547C0.213,-0.509 0.196,-0.448 0.196,-0.362C0.196,-0.272 0.213,-0.207 0.245,-0.169C0.278,-0.131 0.32,-0.111 0.372,-0.111C0.41,-0.111 0.444,-0.124 0.471,-0.148C0.499,-0.172 0.519,-0.211 0.531,-0.263Z' fill='%236a4b00'/%3E%3C/g%3E%3Cg transform='matrix(12.284499,-2.31108,2.31108,12.284499,37.367808,37.633282)'%3E%3Cpath d='M0.073,-0L0.073,-0.716L0.218,-0.716L0.218,-0.434L0.501,-0.434L0.501,-0.716L0.646,-0.716L0.646,-0L0.501,-0L0.501,-0.313L0.218,-0.313L0.218,-0L0.073,-0Z' fill='%236a4b00'/%3E%3C/g%3E%3Cg transform='matrix(12.498534,0.191405,-0.191405,12.498534,46.283369,36.025701)'%3E%3Cpath d='M0.718,-0L0.561,-0L0.499,-0.163L0.212,-0.163L0.153,-0L0,-0L0.279,-0.716L0.432,-0.716L0.718,-0ZM0.452,-0.283L0.354,-0.549L0.257,-0.283L0.452,-0.283Z' fill='%236a4b00'/%3E%3C/g%3E%3Cg transform='matrix(12.318319,2.123442,-2.123442,12.318319,55.329015,36.203149)'%3E%3Cpath d='M0.036,-0.233L0.177,-0.247C0.185,-0.199 0.202,-0.165 0.228,-0.143C0.254,-0.12 0.289,-0.109 0.333,-0.109C0.38,-0.109 0.415,-0.119 0.438,-0.139C0.462,-0.159 0.474,-0.182 0.474,-0.208C0.474,-0.225 0.469,-0.239 0.459,-0.251C0.449,-0.263 0.431,-0.273 0.407,-0.282C0.39,-0.288 0.351,-0.299 0.291,-0.313C0.214,-0.333 0.159,-0.356 0.128,-0.384C0.084,-0.424 0.062,-0.472 0.062,-0.528C0.062,-0.565 0.072,-0.599 0.093,-0.631C0.114,-0.662 0.143,-0.687 0.182,-0.703C0.221,-0.72 0.268,-0.728 0.323,-0.728C0.413,-0.728 0.481,-0.708 0.526,-0.669C0.572,-0.63 0.595,-0.577 0.598,-0.511L0.453,-0.505C0.447,-0.542 0.434,-0.568 0.413,-0.584C0.393,-0.6 0.362,-0.608 0.322,-0.608C0.28,-0.608 0.247,-0.6 0.223,-0.583C0.208,-0.571 0.2,-0.557 0.2,-0.538C0.2,-0.521 0.207,-0.507 0.222,-0.495C0.24,-0.479 0.284,-0.463 0.354,-0.447C0.425,-0.43 0.477,-0.413 0.51,-0.395C0.544,-0.378 0.571,-0.353 0.59,-0.323C0.609,-0.292 0.618,-0.254 0.618,-0.208C0.618,-0.167 0.607,-0.129 0.584,-0.093C0.561,-0.057 0.529,-0.031 0.487,-0.013C0.446,0.004 0.394,0.013 0.332,0.013C0.241,0.013 0.172,-0.008 0.123,-0.05C0.075,-0.092 0.046,-0.153 0.036,-0.233Z' fill='%236a4b00'/%3E%3C/g%3E%3Cg transform='matrix(11.712033,4.367869,-4.367869,11.712033,63.567376,37.561847)'%3E%3Cpath d='M0.073,-0L0.073,-0.716L0.604,-0.716L0.604,-0.595L0.217,-0.595L0.217,-0.436L0.577,-0.436L0.577,-0.315L0.217,-0.315L0.217,-0.121L0.617,-0.121L0.617,-0L0.073,-0Z' fill='%236a4b00'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 5;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,0.35));
  pointer-events: none;
}

/* Página individual del producto Chase: medalla más grande sobre la foto */
.single-product.product_cat-premium-chase .woocommerce-product-gallery { position: relative; }
.single-product.product_cat-premium-chase .woocommerce-product-gallery::after {
  content: "";
  position: absolute;
  top: 14px;
  left: 14px;
  width: 64px;
  height: 64px;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='matrix(1.443445,0,0,1.445302,-31.748072,-25.997426)'%3E%3Cpath d='M56.634,24.334C56.634,24.334 57.725,26.456 58.946,28.833C60.785,32.412 65.161,33.856 68.774,32.075C71.077,30.94 73.106,29.94 73.106,29.94C73.106,29.94 73.029,30.472 72.906,31.313C72.501,34.096 73.237,36.925 74.947,39.16C76.657,41.395 79.197,42.846 81.992,43.187C83.75,43.402 85.013,43.555 85.013,43.555C85.013,43.555 84.199,44.278 83.032,45.314C80.896,47.21 79.63,49.897 79.528,52.75C79.426,55.602 80.496,58.373 82.491,60.417C82.983,60.92 83.286,61.231 83.286,61.231C83.286,61.231 82.806,61.313 82.037,61.445C79.241,61.924 76.76,63.516 75.162,65.857C73.564,68.198 72.986,71.086 73.56,73.861C73.875,75.381 74.095,76.442 74.095,76.442C74.095,76.442 73.068,75.873 71.62,75.07C69.158,73.704 66.248,73.388 63.55,74.192C60.851,74.996 58.591,76.853 57.28,79.342C56.885,80.094 56.634,80.57 56.634,80.57C56.634,80.57 56.416,80.156 56.065,79.49C54.742,76.975 52.45,75.108 49.718,74.316C46.987,73.525 44.05,73.879 41.585,75.296C40.579,75.874 39.913,76.257 39.913,76.257C39.913,76.257 40.095,75.071 40.348,73.416C41.21,67.785 37.397,62.501 31.775,61.538C30.696,61.353 29.982,61.231 29.982,61.231C29.982,61.231 30.264,60.942 30.725,60.47C32.728,58.417 33.799,55.632 33.687,52.768C33.575,49.903 32.289,47.21 30.131,45.32C29.296,44.589 28.749,44.11 28.749,44.11C28.749,44.11 30.043,43.892 31.819,43.592C37.424,42.647 41.248,37.405 40.431,31.786C40.269,30.678 40.162,29.94 40.162,29.94C40.162,29.94 40.802,30.255 41.771,30.733C46.895,33.258 53.1,31.211 55.709,26.133C56.262,25.058 56.634,24.334 56.634,24.334Z' fill='%23cb8f00'/%3E%3C/g%3E%3Cg transform='matrix(1.41662,0,0,1.309065,-31.290801,-21.300293)'%3E%3Cpath d='M57.384,23.278C57.384,23.278 58.532,25.634 59.8,28.237C61.658,32.052 65.945,33.634 69.57,31.843C71.966,30.66 74.112,29.6 74.112,29.6C74.112,29.6 74.101,29.647 74.082,29.735C73.382,32.866 73.925,36.171 75.578,38.85C77.231,41.529 79.843,43.338 82.784,43.84C84.816,44.187 86.3,44.44 86.3,44.44C86.3,44.44 85.499,45.205 84.343,46.309C82.155,48.398 80.855,51.365 80.744,54.52C80.633,57.675 81.721,60.741 83.755,63.003C84.317,63.629 84.669,64.02 84.669,64.02C84.669,64.02 84.296,63.999 83.676,63.964C80.584,63.791 77.576,65.08 75.432,67.496C73.289,69.913 72.222,73.218 72.508,76.553C72.557,77.125 72.586,77.463 72.586,77.463C72.586,77.463 72.118,77.119 71.381,76.578C69.108,74.908 66.272,74.404 63.626,75.199C60.979,75.994 58.788,78.007 57.635,80.706C57.635,80.706 57.594,80.64 57.52,80.518C55.856,77.8 53.206,75.972 50.227,75.486C47.247,75.001 44.218,75.904 41.888,77.971C41.887,77.971 41.931,77.565 42.004,76.89C42.36,73.603 41.395,70.31 39.354,67.846C37.313,65.383 34.393,63.986 31.336,64.011C30.613,64.016 30.17,64.02 30.17,64.02C30.17,64.02 30.74,63.23 31.58,62.066C33.368,59.588 34.144,56.428 33.728,53.316C33.313,50.205 31.742,47.412 29.379,45.583C29.119,45.381 28.97,45.266 28.97,45.266C28.97,45.266 30.633,44.833 32.765,44.276C37.986,42.914 41.455,37.561 40.861,31.785C40.723,30.441 40.628,29.516 40.628,29.516C40.628,29.516 41.15,29.806 41.961,30.257C47.024,33.071 53.237,31.084 56.074,25.744C56.842,24.298 57.384,23.278 57.384,23.278Z' fill='%23ffc12c'/%3E%3C/g%3E%3Cg transform='matrix(1,0,0,1,0.076243,10.40125)'%3E%3Cg transform='matrix(10.634482,-6.569459,6.569459,10.634482,29.518725,42.206695)'%3E%3Cpath d='M0.531,-0.263L0.671,-0.219C0.649,-0.141 0.614,-0.083 0.564,-0.045C0.514,-0.007 0.45,0.012 0.374,0.012C0.278,0.012 0.2,-0.02 0.139,-0.085C0.078,-0.15 0.047,-0.239 0.047,-0.352C0.047,-0.471 0.078,-0.563 0.14,-0.629C0.201,-0.695 0.282,-0.728 0.382,-0.728C0.47,-0.728 0.541,-0.702 0.596,-0.65C0.628,-0.62 0.653,-0.576 0.669,-0.519L0.526,-0.484C0.517,-0.521 0.5,-0.551 0.473,-0.572C0.446,-0.594 0.413,-0.604 0.375,-0.604C0.322,-0.604 0.279,-0.585 0.246,-0.547C0.213,-0.509 0.196,-0.448 0.196,-0.362C0.196,-0.272 0.213,-0.207 0.245,-0.169C0.278,-0.131 0.32,-0.111 0.372,-0.111C0.41,-0.111 0.444,-0.124 0.471,-0.148C0.499,-0.172 0.519,-0.211 0.531,-0.263Z' fill='%236a4b00'/%3E%3C/g%3E%3Cg transform='matrix(12.284499,-2.31108,2.31108,12.284499,37.367808,37.633282)'%3E%3Cpath d='M0.073,-0L0.073,-0.716L0.218,-0.716L0.218,-0.434L0.501,-0.434L0.501,-0.716L0.646,-0.716L0.646,-0L0.501,-0L0.501,-0.313L0.218,-0.313L0.218,-0L0.073,-0Z' fill='%236a4b00'/%3E%3C/g%3E%3Cg transform='matrix(12.498534,0.191405,-0.191405,12.498534,46.283369,36.025701)'%3E%3Cpath d='M0.718,-0L0.561,-0L0.499,-0.163L0.212,-0.163L0.153,-0L0,-0L0.279,-0.716L0.432,-0.716L0.718,-0ZM0.452,-0.283L0.354,-0.549L0.257,-0.283L0.452,-0.283Z' fill='%236a4b00'/%3E%3C/g%3E%3Cg transform='matrix(12.318319,2.123442,-2.123442,12.318319,55.329015,36.203149)'%3E%3Cpath d='M0.036,-0.233L0.177,-0.247C0.185,-0.199 0.202,-0.165 0.228,-0.143C0.254,-0.12 0.289,-0.109 0.333,-0.109C0.38,-0.109 0.415,-0.119 0.438,-0.139C0.462,-0.159 0.474,-0.182 0.474,-0.208C0.474,-0.225 0.469,-0.239 0.459,-0.251C0.449,-0.263 0.431,-0.273 0.407,-0.282C0.39,-0.288 0.351,-0.299 0.291,-0.313C0.214,-0.333 0.159,-0.356 0.128,-0.384C0.084,-0.424 0.062,-0.472 0.062,-0.528C0.062,-0.565 0.072,-0.599 0.093,-0.631C0.114,-0.662 0.143,-0.687 0.182,-0.703C0.221,-0.72 0.268,-0.728 0.323,-0.728C0.413,-0.728 0.481,-0.708 0.526,-0.669C0.572,-0.63 0.595,-0.577 0.598,-0.511L0.453,-0.505C0.447,-0.542 0.434,-0.568 0.413,-0.584C0.393,-0.6 0.362,-0.608 0.322,-0.608C0.28,-0.608 0.247,-0.6 0.223,-0.583C0.208,-0.571 0.2,-0.557 0.2,-0.538C0.2,-0.521 0.207,-0.507 0.222,-0.495C0.24,-0.479 0.284,-0.463 0.354,-0.447C0.425,-0.43 0.477,-0.413 0.51,-0.395C0.544,-0.378 0.571,-0.353 0.59,-0.323C0.609,-0.292 0.618,-0.254 0.618,-0.208C0.618,-0.167 0.607,-0.129 0.584,-0.093C0.561,-0.057 0.529,-0.031 0.487,-0.013C0.446,0.004 0.394,0.013 0.332,0.013C0.241,0.013 0.172,-0.008 0.123,-0.05C0.075,-0.092 0.046,-0.153 0.036,-0.233Z' fill='%236a4b00'/%3E%3C/g%3E%3Cg transform='matrix(11.712033,4.367869,-4.367869,11.712033,63.567376,37.561847)'%3E%3Cpath d='M0.073,-0L0.073,-0.716L0.604,-0.716L0.604,-0.595L0.217,-0.595L0.217,-0.436L0.577,-0.436L0.577,-0.315L0.217,-0.315L0.217,-0.121L0.617,-0.121L0.617,-0L0.073,-0Z' fill='%236a4b00'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 5;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.4));
  pointer-events: none;
}

/* =====================================================================
   HEADER REDISEÑADO v2 — sin franja azul + iconos al nivel del menú
   (reemplaza el bloque anterior de "HEADER REDISEÑADO")
   ===================================================================== */

/* Quitar la barra de búsqueda grande del escritorio */
.header-left { display: none !important; }

/* Quitar las franjas/bordes azules de arriba */
header { border-bottom: none !important; }
nav { border-top: none !important; border-bottom: none !important; }

/* HEADER: solo contiene el logo (los iconos los bajamos al nav) */
.header-inner {
  grid-template-columns: 1fr !important;
  align-items: center;
  height: 70px;
  overflow: visible;
}

/* Logo sello grande a la izquierda, flotando sin romper la barra */
.logo-wrap {
  grid-column: 1 !important;
  align-items: flex-start !important;
  margin: 0 !important;
}
.logo-wrap .custom-logo {
  max-height: 180px;
  width: auto;
  position: absolute;
  top: 6px;
  left: 24px;
  z-index: 5;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4));
}

/* NAV: menú al centro/izquierda + iconos a la derecha, MISMA línea */
.nav-inner {
  display: flex !important;
  align-items: center;
  padding-left: 180px;   /* espacio para el logo grande */
  position: relative;
}
/* Mover los iconos del header hacia el nav (a la derecha) */
.header-right {
  display: flex !important;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  gap: 12px;
  z-index: 6;
}

/* Header y nav fijos al hacer scroll */
header { position: sticky; top: 0; z-index: 999; overflow: visible; }
nav { position: sticky; top: 70px; z-index: 998; }

@media (max-width: 768px) {
  .logo-wrap .custom-logo { max-height: 56px; position: static; filter: none; }
  .nav-inner { padding-left: 0; }
  .header-right { display: none !important; }  /* en móvil van en el menú hamburguesa */
}

/* =====================================================================
   HEADER MÁS COMPACTO (más delgado)
   ===================================================================== */
.header-inner { height: 48px !important; }   /* antes 70px */
nav { top: 48px !important; }                 /* el nav se pega justo debajo */
.nav-inner .nav-item { padding-top: 10px !important; padding-bottom: 10px !important; }

/* logo más contenido para que no infle la barra */
.logo-wrap .custom-logo {
  max-height: 92px !important;   /* antes 130px */
  top: 2px !important;
}
.nav-inner { padding-left: 150px !important; }  /* ajusta el espacio al logo más chico */

/* =====================================================================
   FIX — el menú hamburguesa debe estar CERRADO por defecto en móvil
   (vence los !important de los bloques de escritorio)
   ===================================================================== */
@media (max-width: 768px) {
  .nav-inner {
    display: none !important;
    padding-left: 0 !important;
  }
  .nav-inner.is-open {
    display: flex !important;   /* solo se abre al tocar la hamburguesa */
    flex-direction: column;
  }
  /* en móvil, header normal (no absoluto raro) */
  .header-right { display: none !important; }
  .header-inner { height: auto !important; }
}

/* =====================================================================
   Quitar las franjas de título/breadcrumb que Astra pone por defecto
   ===================================================================== */
.ast-breadcrumbs-wrapper,
.ast-breadcrumbs,
.ast-archive-description,
.page-title,
.entry-banner,
.ast-single-entry-banner,
header.entry-header .ast-archive-description,
.ast-title-bar {
  display: none !important;
}

/* =====================================================================
   Quitar SOLO el fondo azul de las barras de título (mantener el texto)
   ===================================================================== */
.page-title,
.entry-header,
.ast-single-entry-banner,
.woocommerce-products-header,
.ast-archive-description,
.entry-banner,
.ast-title-bar {
  background: transparent !important;
  background-color: transparent !important;
}

/* que el texto del título sea oscuro y legible sobre fondo blanco */
.page-title,
.entry-title,
.page-title .ast-archive-title,
.woocommerce-products-header__title {
  color: var(--navy) !important;
}

/* =====================================================================
   LOGO — más grande en escritorio, más pequeño + padding en móvil
   ===================================================================== */
.logo-wrap .custom-logo {
  max-height: 175px !important;   /* ⬅️ más grande. Sube este número cuanto quieras */
  width: auto;
  position: absolute;
  top: 4px;
  left: 20px;
  z-index: 5;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4));
}

/* En móvil: logo más pequeño y con espacio arriba */
@media (max-width: 768px) {
  .logo-wrap .custom-logo {
    max-height: 70px !important;
    position: static;            /* vuelve al flujo normal en móvil */
    padding-top: 12px;           /* el padding top que pediste */
    filter: none;
  }
}

/* =====================================================================
   HERO — más alto (muestra más imagen)
   ===================================================================== */
.hero-slide {
  height: 640px !important;   /* antes 540px. Súbelo a 700 si quieres aún más */
}

/* =====================================================================
   Quitar el espacio blanco antes del título (área de contenido Astra)
   ===================================================================== */
/* La cabecera vacía del artículo que mete Astra */
.page .entry-header.ast-no-title,
.page header.entry-header.ast-no-thumbnail {
  display: none !important;
}

/* Quitar el padding superior del contenedor de contenido en la home/páginas Elementor */
#primary.content-area,
.elementor-page #primary,
.home #primary {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Por si el #main o el article tienen su propio espacio arriba */
.elementor-page #main,
.home #main,
.elementor-page .entry-content,
.home .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Barra completa fija, sin resbalar */
header {
  position: sticky;
  top: 0;
  z-index: 1000;
}
nav {
  position: sticky;
  top: 0;               /* se apila junto al header */
  z-index: 999;
}

/* =====================================================================
   PÁGINA DE PRODUCTO — resumen (lado derecho) con diseño de marca
   ===================================================================== */

/* categorías de arriba (Disney, Funko Pop!) como "eyebrow" de marca */
.single-product .summary .posted_in,
.single-product .summary > .product_meta ~ *,
.single-product .summary .product-categories {
  font-size: 12px;
}

/* título del producto: tipografía de marca */
.single-product .summary .product_title {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--navy) !important;
  font-size: clamp(24px, 2.6vw, 34px) !important;
  line-height: 1.15 !important;
  margin-bottom: 10px !important;
  position: relative;
  padding-bottom: 14px;
}
/* subrayado corto rojo de marca bajo el título (como los section-header) */
.single-product .summary .product_title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 56px; height: 3px;
  background: var(--red);
  border-radius: 2px;
}

/* precio: grande, navy, con presencia */
.single-product .summary .price {
  font-family: 'Oswald', sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  margin: 14px 0 !important;
}

/* descripción corta: más aire y gris suave */
.single-product .summary .woocommerce-product-details__short-description {
  color: #4B5563;
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 22px;
  padding: 16px 18px;
  background: var(--gray-100);
  border-left: 3px solid var(--red);
  border-radius: 0 8px 8px 0;
}

/* fila de cantidad + botón */
.single-product .summary form.cart {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 18px 0 22px !important;
}

/* caja de cantidad más pulida */
.single-product .summary form.cart .quantity .qty {
  border: 1px solid var(--gray-200);
  border-radius: 8px;
  padding: 12px 8px;
  font-size: 15px;
  font-weight: 600;
  color: var(--navy);
  background: #fff;
  box-shadow: 0 2px 6px rgba(10,22,40,0.06);
}

/* botón Add to cart: estilo de marca con hover con vida */
.single-product .summary form.cart .single_add_to_cart_button {
  background: var(--red) !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 13.5px !important;
  padding: 15px 34px !important;
  border-radius: 10px !important;
  border: none !important;
  box-shadow: 0 8px 20px rgba(224,31,31,0.28);
  transition: transform .2s, box-shadow .2s, filter .2s !important;
}
.single-product .summary form.cart .single_add_to_cart_button:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 12px 26px rgba(224,31,31,0.36);
}

/* meta de abajo (Categories:) más discreto y separado con línea */
.single-product .summary .product_meta {
  border-top: 1px solid var(--gray-200);
  padding-top: 16px;
  font-size: 13px;
  color: var(--gray-600);
}
.single-product .summary .product_meta a {
  color: var(--red);
  font-weight: 600;
}
.single-product .summary .product_meta a:hover { text-decoration: underline; }

/* breadcrumb de arriba un pelín más discreto */
.single-product .woocommerce-breadcrumb {
  font-size: 13px !important;
  opacity: 0.85;
}

/* =====================================================================
   PÁGINA DE PRODUCTO — pestaña Descripción con toques de marca (sutil)
   ===================================================================== */

/* pestañas (Description / Reviews): estilo de marca, subrayado rojo activo */
.single-product .woocommerce-tabs ul.tabs li a {
  font-family: 'Oswald', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 14px !important;
  color: var(--gray-600) !important;
}
.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--navy) !important;
  border-bottom: 3px solid var(--red) !important;
}

/* texto general de la descripción: más aire */
.single-product .woocommerce-Tabs-panel {
  font-size: 15px;
  line-height: 1.85;
  color: #374151;
  max-width: 900px;      /* evita líneas kilométricas, lee mejor */
}

/* subtítulos (Key Features, Product Details): estilo de sección de marca */
.single-product .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h3 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--navy) !important;
  font-size: 21px !important;
  margin: 34px 0 16px !important;
  padding-bottom: 10px;
  position: relative;
  border-bottom: 2px solid var(--gray-200);
}
/* subrayado corto rojo, igual que el título del producto */
.single-product .woocommerce-Tabs-panel h2::after,
.single-product .woocommerce-Tabs-panel h3::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 44px; height: 2px;
  background: var(--red);
}

/* listas: viñetas de marca (cuadrito rojo) y mejor espaciado */
.single-product .woocommerce-Tabs-panel ul {
  list-style: none;
  padding-left: 4px;
  margin: 0 0 8px;
}
.single-product .woocommerce-Tabs-panel ul li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 9px;
}
.single-product .woocommerce-Tabs-panel ul li::before {
  content: '';
  position: absolute;
  left: 0; top: 0.62em;
  width: 7px; height: 7px;
  background: var(--red);
  border-radius: 2px;      /* cuadrito con esquinas suaves, detalle de marca */
}

/* en "Product Details", resaltar la etiqueta antes de los dos puntos */
.single-product .woocommerce-Tabs-panel ul li strong {
  color: var(--navy);
  font-weight: 700;
}

/* =====================================================================
   TARJETAS DE PRODUCTO — imagen completa (contain) + fondo blanco
   ===================================================================== */

/* el contenedor de la imagen: cuadrado, fondo BLANCO como la página */
.product-img-wrap,
.woocommerce ul.products li.product .product-img-wrap {
  background: #fff !important;      /* ⬅️ adiós gris, fondo blanco */
  aspect-ratio: 1 / 1;              /* cuadrado fijo */
  overflow: hidden;
}

/* la imagen: completa, jamás recortada, centrada */
.product-img-wrap img,
.woocommerce ul.products li.product .product-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;   /* ⬅️ completa, sin cortes */
  padding: 14px;
  box-sizing: border-box;
  background: #fff;
}

/* =====================================================================
   CHECKOUT (WooCommerce BLOQUES) — diseño de marca + padding superior
   ===================================================================== */

/* padding arriba SOLO en checkout (y carrito si quieres, ver nota) */
body.woocommerce-checkout #ajsc-content,
body.page-template-default.woocommerce-checkout #ajsc-content {
  padding-top: 48px;
}

/* títulos de sección del checkout de bloques (Contact, Shipping, etc.) */
.wc-block-checkout .wc-block-components-title,
.wc-block-checkout .wc-block-components-checkout-step__title {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--navy) !important;
}

/* campos del formulario de bloques: pulidos */
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control__suggestions-container input,
.wc-block-components-select .components-custom-select-control__button,
.wc-block-components-textarea {
  border: 1px solid var(--gray-200) !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 6px rgba(10,22,40,0.05) !important;
  transition: border-color .2s, box-shadow .2s;
}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus {
  border-color: var(--red) !important;
  box-shadow: 0 0 0 3px rgba(224,31,31,0.12) !important;
  outline: none !important;
}

/* la columna del resumen (sidebar del pedido): tarjeta con sombra */
.wc-block-checkout__sidebar .wc-block-components-sidebar,
.wc-block-checkout__sidebar {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(10,22,40,0.10);
}

/* total del pedido con presencia */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: 'Oswald', sans-serif !important;
  font-size: 22px !important;
  color: var(--navy) !important;
}

/* botón Place Order (bloques): estilo de marca con hover */
.wc-block-components-checkout-place-order-button {
  background: var(--red) !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 14px !important;
  padding: 16px 34px !important;
  border-radius: 10px !important;
  border: none !important;
  box-shadow: 0 8px 20px rgba(224,31,31,0.28);
  transition: transform .2s, box-shadow .2s, filter .2s !important;
}
.wc-block-components-checkout-place-order-button:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 12px 26px rgba(224,31,31,0.36);
}

@media (max-width: 768px) {
  body.woocommerce-checkout #ajsc-content { padding-top: 28px; }
}

/* =====================================================================
   PAGINACIÓN de productos — rescatarla del estilo del nav + diseño
   ===================================================================== */

/* 1) Quitarle lo heredado del nav del header (fondo azul, sticky) */
nav.woocommerce-pagination {
  background: transparent !important;
  position: static !important;
  border: none !important;
  padding: 28px 0 !important;
  text-align: center;
}

/* 2) Diseño de los números: pastillas limpias de marca */
nav.woocommerce-pagination ul.page-numbers {
  display: inline-flex !important;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
  border: none !important;
}
nav.woocommerce-pagination ul.page-numbers li {
  border: none !important;
  margin: 0;
}
nav.woocommerce-pagination ul.page-numbers .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid var(--gray-200);
  color: var(--navy);
  font-weight: 700;
  font-size: 14px;
  box-shadow: 0 2px 6px rgba(10,22,40,0.06);
  transition: all .2s;
}
/* hover: se levanta y marca rojo */
nav.woocommerce-pagination ul.page-numbers a.page-numbers:hover {
  border-color: var(--red);
  color: var(--red);
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(10,22,40,0.14);
}
/* la página actual: rellena de rojo */
nav.woocommerce-pagination ul.page-numbers .page-numbers.current {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
  box-shadow: 0 6px 16px rgba(224,31,31,0.30);
}
/* flechas prev/next un poco más anchas */
nav.woocommerce-pagination ul.page-numbers .page-numbers.prev,
nav.woocommerce-pagination ul.page-numbers .page-numbers.next {
  padding: 0 16px;
}

/* Breadcrumb: a la izquierda pero SIN chocar con el logo */
nav.woocommerce-breadcrumb {
  background: transparent !important;
  position: static !important;
  border: none !important;
  text-align: left !important;
  padding: 18px 0 10px !important;
  margin: 0 0 8px 0 !important;
  display: block !important;
}

/* En pantallas grandes: empujarlo a la derecha del logo */
@media (min-width: 769px) {
  nav.woocommerce-breadcrumb {
    padding-left: 175px !important;   /* ⬅️ el espacio que ocupa el logo. Ajusta */
  }
}