/*
 * Mirage Enhancements — Custom Styles
 * Tienda Climas Mirage | tiendaclimasmirage.shop
 * Version: 1.0.0
 */

/* ── Variables ────────────────────────────────────────────────────────────── */
:root {
  --mirage-blue:       #1A73E8;
  --mirage-blue-dark:  #0d47a1;
  --mirage-blue-light: #e3f2fd;
  --mirage-green:      #2e7d32;
  --mirage-green-light:#e8f5e9;
  --mirage-wa:         #25D366;
  --mirage-wa-dark:    #1da851;
  --mirage-text:       #1a1a1a;
  --mirage-text-light: #555;
  --mirage-radius:     10px;
  --mirage-shadow:     0 2px 12px rgba(0,0,0,.10);
}

/* ── Reset helpers ────────────────────────────────────────────────────────── */
.mirage-hero *,
.mirage-value-props *,
.mirage-cat-section *,
.mirage-ton-section *,
.mirage-bestsellers *,
.mirage-cta-final *,
.mirage-page-hero *,
.mirage-page-section * {
  box-sizing: border-box;
}

/* ═══════════════════════════════════════════════════════════════════════════
   1. HERO
═══════════════════════════════════════════════════════════════════════════ */
.mirage-hero {
  background: linear-gradient(135deg, var(--mirage-blue) 0%, var(--mirage-blue-dark) 100%);
  color: #fff;
  padding: 80px 24px;
  text-align: center;
}

.mirage-hero-inner {
  max-width: 720px;
  margin: 0 auto;
}

.mirage-hero-title {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 800;
  margin: 0 0 16px;
  line-height: 1.2;
}

.mirage-hero-sub {
  font-size: 1.1rem;
  opacity: .9;
  margin: 0 0 32px;
}

.mirage-hero-cta {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════════════════════════════
   2. BUTTONS
═══════════════════════════════════════════════════════════════════════════ */
.mirage-btn-primary,
.mirage-btn-wa,
.mirage-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: var(--mirage-radius);
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  transition: background .2s, transform .1s;
  cursor: pointer;
}

.mirage-btn-primary {
  background: var(--mirage-blue);
  color: #fff;
}
.mirage-btn-primary:hover {
  background: var(--mirage-blue-dark);
  color: #fff;
}

.mirage-btn-wa {
  background: var(--mirage-wa);
  color: #fff;
}
.mirage-btn-wa:hover {
  background: var(--mirage-wa-dark);
  color: #fff;
}

.mirage-btn-outline {
  background: transparent;
  border: 2px solid var(--mirage-blue);
  color: var(--mirage-blue);
}
.mirage-btn-outline:hover {
  background: var(--mirage-blue-light);
}

.mirage-btn-lg {
  padding: 16px 36px;
  font-size: 1.05rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   3. VALUE PROPS BAR
═══════════════════════════════════════════════════════════════════════════ */
.mirage-value-props {
  background: var(--mirage-blue-light);
  padding: 24px 16px;
}

.mirage-vp-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px 32px;
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 960px;
  margin: 0 auto;
}

.mirage-vp-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  font-size: .9rem;
}

.mirage-vp-icon {
  font-size: 1.6rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   4. CATEGORY GRID
═══════════════════════════════════════════════════════════════════════════ */
.mirage-cat-section {
  padding: 56px 24px;
}

.mirage-section-title {
  text-align: center;
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--mirage-text);
}

.mirage-section-sub {
  text-align: center;
  color: var(--mirage-text-light);
  margin: 0 0 32px;
}

.mirage-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 16px;
  max-width: 960px;
  margin: 32px auto 0;
}

.mirage-cat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  padding: 24px 12px;
  border: 1px solid #e0e0e0;
  border-radius: var(--mirage-radius);
  text-decoration: none;
  color: var(--mirage-text);
  background: #fff;
  box-shadow: var(--mirage-shadow);
  transition: border-color .2s, box-shadow .2s, transform .1s;
}

.mirage-cat-card:hover {
  border-color: var(--mirage-blue);
  box-shadow: 0 4px 20px rgba(26,115,232,.15);
  transform: translateY(-2px);
  color: var(--mirage-blue);
}

.mirage-cat-card--all {
  background: var(--mirage-blue-light);
  border-color: var(--mirage-blue);
}

.mirage-cat-icon {
  font-size: 2rem;
}

.mirage-cat-card strong {
  font-size: .9rem;
}

.mirage-cat-card span:last-child {
  font-size: .78rem;
  color: var(--mirage-text-light);
}

/* ═══════════════════════════════════════════════════════════════════════════
   5. TONELAJE GUIDE (page + category page)
═══════════════════════════════════════════════════════════════════════════ */
.mirage-ton-section,
.mirage-tonelaje-guide {
  padding: 48px 24px;
  background: var(--mirage-blue-light);
}

.mirage-tonelaje-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--mirage-blue-dark);
  margin: 0 0 16px;
}

.mirage-tonelaje-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 800px;
  margin: 0 auto;
}

.mirage-tonelaje-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}

.mirage-tonelaje-table th {
  background: var(--mirage-blue);
  color: #fff;
  padding: 10px 16px;
  text-align: left;
  font-weight: 600;
}

.mirage-tonelaje-table td {
  padding: 10px 16px;
  border-bottom: 1px solid #c8dff6;
}

.mirage-tonelaje-table tr:last-child td {
  border-bottom: none;
}

.mirage-tonelaje-table tr:nth-child(even) td {
  background: rgba(26,115,232,.04);
}

.mirage-tonelaje-note,
.mirage-ton-note {
  margin: 16px auto 0;
  max-width: 800px;
  font-size: .85rem;
  color: var(--mirage-text-light);
}

.mirage-ton-note a,
.mirage-tonelaje-note a {
  color: var(--mirage-blue);
}

/* ═══════════════════════════════════════════════════════════════════════════
   6. BEST SELLERS SECTION
═══════════════════════════════════════════════════════════════════════════ */
.mirage-bestsellers {
  padding: 56px 24px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   7. FINAL CTA
═══════════════════════════════════════════════════════════════════════════ */
.mirage-cta-final {
  background: linear-gradient(135deg, var(--mirage-blue) 0%, var(--mirage-blue-dark) 100%);
  color: #fff;
  padding: 64px 24px;
  text-align: center;
}

.mirage-cta-inner {
  max-width: 600px;
  margin: 0 auto;
}

.mirage-cta-final h2 {
  font-size: 1.75rem;
  margin: 0 0 12px;
  color: #fff;
}

.mirage-cta-final p {
  opacity: .9;
  margin: 0 0 28px;
  font-size: 1rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   8. MSI CONSULTATION BLOCK
═══════════════════════════════════════════════════════════════════════════ */
/* MSI Consultation block */
.mirage-msi-consult {
  background: #fff8e1;
  border-left: 3px solid #f59e0b;
  padding: 8px 14px;
  border-radius: 0 6px 6px 0;
  font-size: 13px;
  margin: 8px 0 14px;
}
.mirage-msi-consult a { color: #1A73E8; font-weight: 600; }

/* Product specs table */
.mirage-specs-table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0 20px;
  font-size: 14px;
}
.mirage-specs-table tr:nth-child(even) { background: #f8f9fa; }
.mirage-specs-table td {
  padding: 8px 12px;
  border-bottom: 1px solid #e0e0e0;
}
.mirage-specs-table td:first-child { width: 45%; color: #555; }

/* Quick specs badges */
.mirage-quick-specs {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 8px 0 16px;
}
.mirage-quick-specs span {
  background: #e3f2fd;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
}

/* ═══════════════════════════════════════════════════════════════════════════
   9. TRUST BAR
═══════════════════════════════════════════════════════════════════════════ */
.mirage-trust-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 900;
  background: #fff;
  border-top: 1px solid #e0e0e0;
  box-shadow: 0 -2px 12px rgba(0,0,0,.08);
  padding: 8px 16px;
}

.mirage-trust-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 20px;
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 960px;
  margin: 0 auto;
}

.mirage-trust-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: .8rem;
  color: var(--mirage-text);
  white-space: nowrap;
}

.mirage-trust-icon {
  font-size: 1rem;
}

/* On mobile only show 3 badges */
@media (max-width: 600px) {
  .mirage-trust-item:nth-child(n+4) {
    display: none;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   10. WHATSAPP BUTTON (product page)
═══════════════════════════════════════════════════════════════════════════ */
.mirage-whatsapp-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  background: var(--mirage-wa);
  color: #fff;
  font-weight: 700;
  font-size: .95rem;
  border-radius: var(--mirage-radius);
  text-decoration: none;
  margin: 8px 0;
  transition: background .2s;
  width: 100%;
  justify-content: center;
}

.mirage-whatsapp-btn:hover {
  background: var(--mirage-wa-dark);
  color: #fff;
}

.mirage-whatsapp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   12. PAGE HERO (inner pages)
═══════════════════════════════════════════════════════════════════════════ */
.mirage-page-hero {
  padding: 64px 24px;
  text-align: center;
  color: #fff;
}

.mirage-page-hero--blue {
  background: linear-gradient(135deg, var(--mirage-blue) 0%, var(--mirage-blue-dark) 100%);
}

.mirage-page-hero--dark {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
}

.mirage-page-hero h1 {
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  margin: 0 0 12px;
  color: #fff;
}

.mirage-page-hero p {
  opacity: .9;
  max-width: 560px;
  margin: 0 auto;
}

.mirage-page-hero a {
  color: #90caf9;
}

/* ═══════════════════════════════════════════════════════════════════════════
   13. PAGE SECTIONS
═══════════════════════════════════════════════════════════════════════════ */
.mirage-page-section {
  padding: 48px 24px;
  max-width: 900px;
  margin: 0 auto;
}

.mirage-page-section h2 {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0 0 16px;
  color: var(--mirage-blue-dark);
}

.mirage-bg-light {
  background: var(--mirage-blue-light);
  max-width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

.mirage-bg-light .mirage-page-section {
  padding-left: 0;
  padding-right: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   14. CONTACT PAGE
═══════════════════════════════════════════════════════════════════════════ */
.mirage-contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
  margin-top: 8px;
}

.mirage-contact-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: var(--mirage-radius);
  padding: 28px 20px;
  text-align: center;
  box-shadow: var(--mirage-shadow);
}

.mirage-contact-icon {
  font-size: 2.4rem;
  display: block;
  margin-bottom: 12px;
}

.mirage-contact-card h3 {
  margin: 0 0 8px;
  font-size: 1.1rem;
}

.mirage-contact-card p {
  color: var(--mirage-text-light);
  margin: 0 0 16px;
  font-size: .9rem;
}

.mirage-contact-detail {
  font-size: .85rem !important;
  color: var(--mirage-text-light) !important;
  margin-top: 10px !important;
}

.mirage-horario-table {
  width: 100%;
  max-width: 480px;
  border-collapse: collapse;
  font-size: .9rem;
  margin-bottom: 16px;
}

.mirage-horario-table td {
  padding: 8px 12px;
  border-bottom: 1px solid #e0e0e0;
}

.mirage-map-embed {
  margin-top: 20px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   15. FAQ PAGE
═══════════════════════════════════════════════════════════════════════════ */
.mirage-faq-item {
  border: 1px solid #e0e0e0;
  border-radius: var(--mirage-radius);
  margin-bottom: 10px;
  overflow: hidden;
}

.mirage-faq-item summary {
  padding: 14px 18px;
  font-weight: 600;
  cursor: pointer;
  background: #fafafa;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .95rem;
  transition: background .15s;
}

.mirage-faq-item summary::-webkit-details-marker {
  display: none;
}

.mirage-faq-item summary::after {
  content: '+';
  font-size: 1.2rem;
  color: var(--mirage-blue);
  transition: transform .2s;
}

.mirage-faq-item[open] summary {
  background: var(--mirage-blue-light);
  color: var(--mirage-blue-dark);
}

.mirage-faq-item[open] summary::after {
  content: '−';
}

.mirage-faq-item > p {
  padding: 12px 18px 16px;
  margin: 0;
  font-size: .9rem;
  color: var(--mirage-text-light);
  border-top: 1px solid #e0e0e0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   16. GARANTIA PAGE
═══════════════════════════════════════════════════════════════════════════ */
.mirage-garantia-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 8px;
}

.mirage-garantia-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: var(--mirage-radius);
  padding: 20px;
  box-shadow: var(--mirage-shadow);
}

.mirage-garantia-card h3 {
  margin: 0 0 12px;
  font-size: 1rem;
  color: var(--mirage-blue-dark);
}

.mirage-garantia-card ul {
  padding-left: 18px;
  margin: 0;
  font-size: .85rem;
  color: var(--mirage-text-light);
}

.mirage-garantia-card li {
  margin-bottom: 6px;
}

.mirage-steps-list {
  padding-left: 20px;
  margin: 0;
}

.mirage-steps-list li {
  margin-bottom: 20px;
  font-size: .95rem;
  line-height: 1.6;
}

/* ═══════════════════════════════════════════════════════════════════════════
   17. NOSOTROS PAGE
═══════════════════════════════════════════════════════════════════════════ */
.mirage-check-list,
.mirage-x-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mirage-check-list li,
.mirage-x-list li {
  padding: 6px 0;
  font-size: .95rem;
  border-bottom: 1px solid #f0f0f0;
}

.mirage-municipios-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.mirage-municipios-grid span {
  background: #fff;
  border: 1px solid #c8dff6;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: .85rem;
  color: var(--mirage-blue-dark);
  font-weight: 500;
}

/* ═══════════════════════════════════════════════════════════════════════════
   18. LEGAL (Privacidad)
═══════════════════════════════════════════════════════════════════════════ */
.mirage-legal h2 {
  margin-top: 32px;
}

.mirage-legal ul,
.mirage-legal ol {
  padding-left: 20px;
}

.mirage-legal li {
  margin-bottom: 8px;
  font-size: .95rem;
  line-height: 1.6;
}

.mirage-legal p {
  font-size: .95rem;
  line-height: 1.7;
}

/* ═══════════════════════════════════════════════════════════════════════════
   19. WooCommerce stock text overrides
═══════════════════════════════════════════════════════════════════════════ */
.stock.low-stock {
  color: #e65100 !important;
  font-weight: 600;
}

.stock.in-stock {
  color: var(--mirage-green) !important;
}

.stock.out-of-stock {
  color: #b71c1c !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   20. Body padding to account for fixed trust bar
═══════════════════════════════════════════════════════════════════════════ */
.woocommerce-shop .site-main,
.woocommerce-product-category .site-main,
.woocommerce-checkout .site-main,
.woocommerce-cart .site-main {
  padding-bottom: 60px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   21. Responsive
═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .mirage-hero {
    padding: 56px 16px;
  }

  .mirage-cat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .mirage-contact-grid {
    grid-template-columns: 1fr;
  }

  .mirage-garantia-grid {
    grid-template-columns: 1fr;
  }

  .mirage-cta-final {
    padding: 40px 16px;
  }
}

@media (max-width: 480px) {
  .mirage-vp-list {
    gap: 12px 16px;
  }

  .mirage-cat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .mirage-trust-bar {
    padding: 6px 10px;
  }

  .mirage-trust-text {
    font-size: .72rem;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   22. CART TRUST HEADER
═══════════════════════════════════════════════════════════════════════════ */
.mirage-cart-trust {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px 32px;
  padding: 16px 20px;
  background: linear-gradient(135deg, var(--mirage-blue) 0%, var(--mirage-blue-dark) 100%);
  color: #fff;
  border-radius: var(--mirage-radius);
  margin-bottom: 24px;
  font-size: .9rem;
  text-align: center;
}

.mirage-cart-trust span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   23. CHECKOUT HEADER
═══════════════════════════════════════════════════════════════════════════ */
.mirage-checkout-header {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 28px;
  padding: 14px 20px;
  background: var(--mirage-blue-light);
  border: 1px solid #c8dff6;
  border-radius: var(--mirage-radius);
  margin-bottom: 24px;
  font-size: .85rem;
  color: var(--mirage-blue-dark);
  font-weight: 500;
}

.mirage-checkout-header a {
  color: var(--mirage-wa);
  font-weight: 700;
  text-decoration: none;
}

.mirage-checkout-header a:hover {
  text-decoration: underline;
}

@media (max-width: 600px) {
  .mirage-cart-trust {
    flex-direction: column;
    gap: 8px;
    font-size: .82rem;
  }
  .mirage-checkout-header {
    flex-direction: column;
    gap: 6px;
    text-align: center;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   24. GLOBAL WOOCOMMERCE OVERRIDES — Modern Design System
   Replaces orange/gold WooCommerce defaults with clean blue/green/white
═══════════════════════════════════════════════════════════════════════════ */

/* Global font & background reset for WooCommerce pages */
body.woocommerce,
body.woocommerce-page,
.woocommerce,
.woocommerce-page {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: #1a1a1a;
}

/* Replace ALL orange WooCommerce buttons with blue */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce ul.products li.product .button {
  background-color: #1A73E8 !important;
  color: #fff !important;
  border-color: #1A73E8 !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  transition: background .2s, transform .1s !important;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce ul.products li.product .button:hover {
  background-color: #0d47a1 !important;
  color: #fff !important;
}

/* Sale badge: replace orange with blue */
.woocommerce span.onsale,
.woocommerce-page span.onsale {
  background-color: #1A73E8 !important;
  color: #fff !important;
  border-radius: 20px !important;
  font-weight: 700 !important;
  font-size: .75rem !important;
  padding: 4px 10px !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.5 !important;
}

/* Price color */
.woocommerce .price,
.woocommerce-page .price,
.woocommerce .woocommerce-Price-amount,
.woocommerce-page .woocommerce-Price-amount,
ins .woocommerce-Price-amount {
  color: #1A73E8 !important;
}

del .woocommerce-Price-amount {
  color: #999 !important;
  font-weight: 400 !important;
}

/* Star rating: amber, not orange */
.woocommerce .star-rating span::before,
.woocommerce-page .star-rating span::before {
  color: #f59e0b !important;
}

.woocommerce .star-rating::before,
.woocommerce-page .star-rating::before {
  color: #ddd !important;
}

/* Global link override (kill theme orange) */
.woocommerce a,
.woocommerce-page a {
  color: #1A73E8;
}

.woocommerce a:hover,
.woocommerce-page a:hover {
  color: #0d47a1;
}

/* ═══════════════════════════════════════════════════════════════════════════
   25. CATALOG / SHOP PAGE — Modern product grid
═══════════════════════════════════════════════════════════════════════════ */

.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 24px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none;
}

/* Product card */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: #fff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.07) !important;
  overflow: hidden;
  transition: box-shadow .25s, transform .2s !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative;
  float: none !important;
  width: auto !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  box-shadow: 0 8px 32px rgba(26,115,232,.15) !important;
  transform: translateY(-4px);
}

/* Uniform product image height */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  transition: transform .3s ease !important;
}

.woocommerce ul.products li.product:hover a img,
.woocommerce-page ul.products li.product:hover a img {
  transform: scale(1.04);
}

/* Product title on card */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  padding: 16px 16px 4px !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

/* Price on card */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  padding: 4px 16px 8px !important;
  display: block !important;
  margin: 0 !important;
}

/* Add to cart button on catalog cards */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: 8px 16px 16px !important;
  padding: 11px 16px !important;
  background: #1A73E8 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: .875rem !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background .2s, transform .1s !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover {
  background: #0d47a1 !important;
  transform: translateY(-1px);
}

/* Star rating positioning on cards */
.woocommerce ul.products li.product .star-rating,
.woocommerce-page ul.products li.product .star-rating {
  padding: 4px 16px 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Ordering + result count */
.woocommerce-result-count {
  font-size: .875rem;
  color: #777;
}

.woocommerce-ordering select {
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: .875rem;
  color: #444;
  transition: border-color .2s;
}

.woocommerce-ordering select:focus {
  outline: none;
  border-color: #1A73E8;
  box-shadow: 0 0 0 3px rgba(26,115,232,.15);
}

/* ═══════════════════════════════════════════════════════════════════════════
   26. SINGLE PRODUCT PAGE — Modern product detail
═══════════════════════════════════════════════════════════════════════════ */

/* Wrapper card */
.single-product div.product {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 24px rgba(0,0,0,.07);
  padding: 32px;
  margin-bottom: 40px;
}

/* Product title */
.single-product .product_title.entry-title {
  font-size: clamp(1.4rem, 3vw, 2rem) !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  margin-bottom: 8px !important;
  line-height: 1.25 !important;
}

/* Price block */
.single-product p.price .woocommerce-Price-amount,
.single-product span.price .woocommerce-Price-amount {
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: #1A73E8 !important;
}

.single-product p.price del .woocommerce-Price-amount {
  font-size: 1.2rem !important;
  color: #999 !important;
  font-weight: 400 !important;
}

/* Rating row */
.single-product .woocommerce-product-rating {
  margin-bottom: 16px !important;
}

.single-product .woocommerce-review-link {
  color: #1A73E8;
  font-size: .875rem;
}

/* Short description */
.single-product .woocommerce-product-details__short-description {
  font-size: .95rem;
  line-height: 1.7;
  color: #444;
  margin-bottom: 20px !important;
  padding-bottom: 20px;
  border-bottom: 1px solid #e0e0e0;
}

/* Quantity input */
.single-product .quantity input.qty {
  width: 64px !important;
  height: 48px !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #000000 !important;
  text-align: center;
  border: 2px solid #e0e0e0 !important;
  border-radius: 10px !important;
  background: #f8f9fa !important;
  transition: border-color .2s;
}

.single-product .quantity input.qty:focus {
  border-color: #1A73E8 !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(26,115,232,.15);
}

/* Add to cart button — green CTA */
.single-product button.single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart button {
  background: #25D366 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 16px 32px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  width: 100% !important;
  cursor: pointer;
  transition: background .2s, transform .1s !important;
  letter-spacing: .3px;
  text-transform: uppercase;
}

.single-product button.single_add_to_cart_button:hover,
.single-product .woocommerce-variation-add-to-cart button:hover {
  background: #1da851 !important;
  transform: translateY(-2px);
}

/* Cart form row */
.single-product form.cart {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.single-product form.cart .button {
  flex: 1;
  min-width: 180px;
}

/* Product meta */
.single-product .product_meta {
  font-size: .85rem;
  color: #777;
  border-top: 1px solid #f0f0f0;
  padding-top: 16px;
  margin-top: 8px;
}

.single-product .product_meta span {
  display: block;
  margin-bottom: 4px;
}

.single-product .product_meta a {
  color: #1A73E8;
}

/* Product gallery thumbnails */
.single-product .woocommerce-product-gallery__image img {
  border-radius: 12px;
  border: 1px solid #e0e0e0;
}

.single-product .flex-control-thumbs li img {
  border-radius: 8px;
  border: 2px solid transparent;
  transition: border-color .2s;
}

.single-product .flex-control-thumbs li img:hover,
.single-product .flex-control-thumbs li img.flex-active {
  border-color: #1A73E8;
}

/* Product tabs — clean underline style */
.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid #e0e0e0 !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
  background: none !important;
}

.single-product .woocommerce-tabs ul.tabs::before {
  display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li {
  border: none !important;
  background: none !important;
  border-radius: 0 !important;
  margin: 0 2px 0 0 !important;
  padding: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
  font-size: .9rem !important;
  font-weight: 600 !important;
  color: #777 !important;
  padding: 12px 20px !important;
  display: block;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  background: none !important;
  transition: color .2s, border-color .2s;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
  color: #1A73E8 !important;
  border-bottom-color: #1A73E8 !important;
  background: none !important;
}

.single-product .woocommerce-tabs .panel {
  border: 1px solid #e0e0e0 !important;
  border-top: none !important;
  border-radius: 0 0 12px 12px !important;
  padding: 24px !important;
  background: #fff !important;
  box-shadow: none !important;
  margin: 0 !important;
}

.single-product .woocommerce-tabs .panel h2 {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
  color: #1a1a1a !important;
}

/* Related / upsell products titles */
.related.products h2,
.upsells.products h2 {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px;
  border-bottom: 2px solid #e0e0e0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   27. CART PAGE — Modern card layout
═══════════════════════════════════════════════════════════════════════════ */

/* Cart page header gradient */
.woocommerce-cart .entry-header {
  background: linear-gradient(135deg, #1A73E8 0%, #0d47a1 100%);
  color: #fff;
  padding: 28px 24px;
  border-radius: 14px;
  margin-bottom: 28px;
}

.woocommerce-cart .entry-header h1,
.woocommerce-cart .page-title {
  color: #fff !important;
  margin: 0 !important;
  font-size: 1.6rem;
  font-weight: 800;
}

/* Cart table reset */
.woocommerce-cart table.cart,
.woocommerce table.shop_table.cart {
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 12px !important;
  background: transparent !important;
  width: 100%;
}

/* Cart table header */
.woocommerce-cart table.cart thead th {
  background: #f8f9fa !important;
  border: none !important;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #777;
  padding: 10px 16px !important;
}

/* Cart row as card */
.woocommerce-cart table.cart tbody tr,
.woocommerce table.shop_table.cart tbody tr {
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}

.woocommerce-cart table.cart tbody td,
.woocommerce table.shop_table.cart tbody td {
  border: none !important;
  padding: 20px 16px !important;
  vertical-align: middle;
}

/* Product image in cart */
.woocommerce-cart table.cart .product-thumbnail img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  border: 1px solid #e0e0e0 !important;
}

/* Product name link */
.woocommerce-cart table.cart .product-name a {
  font-weight: 700;
  color: #1a1a1a;
  text-decoration: none;
  font-size: .95rem;
  transition: color .2s;
}

.woocommerce-cart table.cart .product-name a:hover {
  color: #1A73E8;
}

/* Cart quantity input */
.woocommerce-cart table.cart .quantity input.qty {
  width: 60px !important;
  height: 44px !important;
  text-align: center !important;
  border: 2px solid #e0e0e0 !important;
  border-radius: 8px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #000000 !important;
  background: #f8f9fa !important;
  transition: border-color .2s;
}

.woocommerce-cart table.cart .quantity input.qty:focus {
  border-color: #1A73E8 !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(26,115,232,.15);
}

/* Remove item × */
.woocommerce-cart table.cart .product-remove a.remove {
  font-size: 1.2rem;
  color: #ccc !important;
  background: none !important;
  transition: color .2s;
}

.woocommerce-cart table.cart .product-remove a.remove:hover {
  color: #e53935 !important;
  background: none !important;
}

/* Cart totals box */
.woocommerce .cart_totals h2 {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
  color: #1a1a1a !important;
}

.woocommerce .cart_totals table.shop_table {
  border: 1px solid #e0e0e0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
}

.woocommerce .cart_totals table.shop_table tr th {
  background: #f8f9fa !important;
  font-weight: 600 !important;
  color: #555 !important;
  padding: 14px 20px !important;
  border-bottom: 1px solid #e0e0e0 !important;
  border-right: 1px solid #e0e0e0 !important;
  font-size: .875rem !important;
}

.woocommerce .cart_totals table.shop_table tr td {
  padding: 14px 20px !important;
  border-bottom: 1px solid #e0e0e0 !important;
  font-weight: 600 !important;
  font-size: .95rem !important;
}

.woocommerce .cart_totals table.shop_table tr.order-total th,
.woocommerce .cart_totals table.shop_table tr.order-total td {
  background: #e3f2fd !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #1A73E8 !important;
}

/* Update cart button */
.woocommerce-cart .button[name="update_cart"] {
  background: #f8f9fa !important;
  color: #555 !important;
  border: 2px solid #e0e0e0 !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  padding: 10px 20px !important;
  transition: all .2s !important;
}

.woocommerce-cart .button[name="update_cart"]:hover {
  border-color: #1A73E8 !important;
  color: #1A73E8 !important;
  background: #e3f2fd !important;
}

/* Proceed to checkout CTA — full width green */
.woocommerce .checkout-button,
.woocommerce a.checkout-button {
  display: block !important;
  width: 100% !important;
  padding: 18px 24px !important;
  background: #25D366 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background .2s, transform .1s !important;
  letter-spacing: .3px;
  margin-top: 8px;
}

.woocommerce .checkout-button:hover,
.woocommerce a.checkout-button:hover {
  background: #1da851 !important;
  color: #fff !important;
  transform: translateY(-2px);
}

/* Inline trust badges below cart total */
.woocommerce .cart_totals::after {
  content: "Pago 100% Seguro  |  Envio Rapido  |  Atencion Personalizada";
  display: block;
  text-align: center;
  font-size: .78rem;
  color: #777;
  margin-top: 16px;
  padding: 10px 12px;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  letter-spacing: .2px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   28. CHECKOUT PAGE — Clean, conversion-optimized
═══════════════════════════════════════════════════════════════════════════ */

/* Visually rename "Revisar Pedido" to "Finalizar Compra" */
.woocommerce-checkout .entry-header h1 {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  margin-bottom: 8px !important;
  visibility: hidden;
  position: relative;
  height: 2rem;
}

.woocommerce-checkout .entry-header h1::after {
  content: "Finalizar Compra";
  visibility: visible;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.75rem;
  font-weight: 800;
  color: #1a1a1a;
}

/* Section headings inside checkout */
.woocommerce-checkout h3#order_review_heading,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #1A73E8 !important;
  border-bottom: 2px solid #e3f2fd !important;
  padding-bottom: 8px !important;
  margin-bottom: 20px !important;
}

/* Billing / shipping field cards */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 14px;
  padding: 24px;
  margin-bottom: 20px;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
}

/* Form labels */
.woocommerce-checkout .woocommerce form .form-row label,
.woocommerce form .form-row label {
  font-size: .875rem !important;
  font-weight: 600 !important;
  color: #444 !important;
  margin-bottom: 4px !important;
  display: block;
}

/* Form inputs */
.woocommerce-checkout .woocommerce form .form-row input.input-text,
.woocommerce-checkout .woocommerce form .form-row select,
.woocommerce-checkout .woocommerce form .form-row textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 2px solid #e0e0e0 !important;
  border-radius: 10px !important;
  font-size: .95rem !important;
  color: #1a1a1a !important;
  background: #fff !important;
  transition: border-color .2s, box-shadow .2s !important;
}

.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout .woocommerce form .form-row select:focus,
.woocommerce-checkout .woocommerce form .form-row textarea:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  border-color: #1A73E8 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(26,115,232,.15) !important;
}

/* Order review card */
.woocommerce-checkout #order_review {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 2px 16px rgba(0,0,0,.07);
}

/* Order review table */
.woocommerce-checkout table.woocommerce-checkout-review-order-table th {
  background: #f8f9fa !important;
  padding: 10px 16px !important;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #777;
  border-bottom: 2px solid #e0e0e0 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
  padding: 12px 16px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  font-size: .9rem;
}

.woocommerce-checkout table.shop_table tfoot tr.order-total td,
.woocommerce-checkout table.shop_table tfoot tr.order-total th {
  font-weight: 800 !important;
  font-size: 1.1rem !important;
  color: #1A73E8 !important;
  background: #e3f2fd !important;
  padding: 14px 16px !important;
}

/* Payment section */
.woocommerce-checkout #payment {
  background: #fff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 14px !important;
  padding: 24px !important;
  margin-top: 20px;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid #e0e0e0 !important;
  padding-bottom: 16px !important;
  margin-bottom: 16px !important;
  list-style: none !important;
  padding-left: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  padding: 10px 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  font-weight: 600 !important;
  font-size: .9rem !important;
  cursor: pointer;
}

/* Place order button — most prominent CTA */
.woocommerce #payment #place_order,
.woocommerce-checkout #payment #place_order {
  display: block !important;
  width: 100% !important;
  padding: 18px 24px !important;
  background: #25D366 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  text-align: center !important;
  cursor: pointer;
  transition: background .2s, transform .1s !important;
  letter-spacing: .3px;
  text-transform: uppercase;
}

.woocommerce #payment #place_order:hover,
.woocommerce-checkout #payment #place_order:hover {
  background: #1da851 !important;
  transform: translateY(-2px);
}

/* Trust note below place order */
.woocommerce-checkout #payment .place-order::after {
  content: "Pago Seguro y Encriptado  |  Datos Protegidos";
  display: block;
  text-align: center;
  font-size: .78rem;
  color: #777;
  margin-top: 12px;
  letter-spacing: .2px;
}

/* Gutenberg/block checkout compatibility */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-textarea textarea {
  border: 2px solid #e0e0e0 !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-size: .95rem !important;
  transition: border-color .2s !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-textarea textarea:focus {
  border-color: #1A73E8 !important;
  box-shadow: 0 0 0 3px rgba(26,115,232,.15) !important;
  outline: none !important;
}

.wc-block-components-button,
.wc-block-components-checkout-place-order-button {
  background: #25D366 !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  transition: background .2s !important;
}

.wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  background: #1da851 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   29. RESPONSIVE — WooCommerce mobile tweaks
═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  /* Catalog: 2 columns on tablet */
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .woocommerce ul.products li.product a img,
  .woocommerce-page ul.products li.product a img {
    height: 160px !important;
  }

  /* Single product no extra padding on mobile */
  .single-product div.product {
    padding: 16px;
    border-radius: 0;
    box-shadow: none;
  }

  .single-product button.single_add_to_cart_button {
    padding: 14px 20px !important;
    font-size: 1rem !important;
  }

  /* Cart: hide thumbnail to save space */
  .woocommerce-cart table.cart .product-thumbnail {
    display: none;
  }

  .woocommerce-cart table.cart td,
  .woocommerce table.shop_table.cart td {
    padding: 12px 8px !important;
  }

  /* Checkout: all fields full width */
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    width: 100% !important;
    float: none !important;
  }

  /* Checkout billing/shipping cards flatten */
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields,
  .woocommerce-checkout .woocommerce-additional-fields {
    padding: 16px;
    border-radius: 10px;
  }
}

@media (max-width: 480px) {
  /* Single column product grid on phones */
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }

  .woocommerce ul.products li.product a img,
  .woocommerce-page ul.products li.product a img {
    height: 200px !important;
  }

  /* Bigger price on phone */
  .single-product p.price .woocommerce-Price-amount {
    font-size: 1.6rem !important;
  }

  /* Scrollable cart on small screens */
  .woocommerce-cart .woocommerce {
    overflow-x: auto;
  }

  /* Prominent place order on small screens */
  .woocommerce #payment #place_order,
  .woocommerce-checkout #payment #place_order {
    font-size: 1rem !important;
    padding: 16px !important;
  }
}

/* ────────────────────────────────────────────────────────────────
   30. PAGE HEADER / HERO — Compact blue header for all pages
   ──────────────────────────────────────────────────────────────── */

/* Page title hero — compact blue gradient for ALL pages */
.ct-page-title,
.hero-section,
.page-title-section,
body:not(.home) .entry-header {
  background: linear-gradient(135deg, #1A73E8 0%, #1565c0 50%, #0d47a1 100%) !important;
  padding: 30px 20px 26px !important;
  margin: 0 !important;
  min-height: 70px !important;
  max-height: none !important;
  overflow: visible !important;
  position: relative !important;
}

/* Hero section specifically (Blocksy uses this with figure > img) */
.hero-section,
.hero-section[data-type="type-2"],
.hero-section[data-type="type-1"] {
  background: linear-gradient(135deg, #1A73E8 0%, #1565c0 50%, #0d47a1 100%) !important;
  min-height: 70px !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 30px 20px 26px !important;
  --min-height: 70px !important;
}

/* Kill the mountain climber image and ANY background image in hero */
.hero-section figure,
.hero-section .ct-media-container,
.hero-section img,
.hero-section::before,
.hero-section::after,
.ct-page-title figure,
.ct-page-title .ct-media-container,
.ct-page-title img,
.ct-page-title::before,
.ct-page-title::after {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Override any inline background-image styles */
.hero-section[style],
.ct-page-title[style],
div.hero-section[style],
div.ct-page-title[style] {
  background-image: none !important;
  background: linear-gradient(135deg, #1A73E8 0%, #1565c0 50%, #0d47a1 100%) !important;
}

/* Title text — white, centered, clean */
.hero-section .page-title,
.hero-section h1,
.hero-section .entry-title,
.ct-page-title .page-title,
.ct-page-title h1,
.ct-page-title .woocommerce-products-header__title,
body:not(.home) .entry-header .entry-title,
body:not(.home) .entry-header h1 {
  color: #fff !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.15) !important;
  letter-spacing: 0.5px !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Category description under title */
.hero-section .term-description,
.hero-section .taxonomy-description,
.ct-page-title .term-description,
.ct-page-title .taxonomy-description {
  color: rgba(255,255,255,0.85) !important;
  font-size: 14px !important;
  text-align: center !important;
  max-width: 600px !important;
  margin: 8px auto 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Breadcrumbs */
.hero-section .ct-breadcrumbs,
.hero-section nav[class*="breadcrumb"],
.ct-page-title .ct-breadcrumbs,
.ct-page-title nav[class*="breadcrumb"] {
  color: rgba(255,255,255,0.8) !important;
  font-size: 13px !important;
  text-align: center !important;
  position: relative !important;
  z-index: 2 !important;
}

.hero-section .ct-breadcrumbs a,
.ct-page-title .ct-breadcrumbs a,
.ct-page-title nav[class*="breadcrumb"] a {
  color: rgba(255,255,255,0.9) !important;
}

/* Remove extra spacing around page content */
.page .site-main > article {
  padding-top: 0 !important;
}

/* Parallax data attribute removal */
.hero-section[data-parallax] {
  background-attachment: scroll !important;
}

/* Force remove Blocksy's parallax/image overlays */
.ct-page-title .ct-hero-element,
.ct-page-title .ct-dynamic-media,
.hero-section .ct-hero-element,
.hero-section .ct-dynamic-media {
  display: none !important;
}

/* ────────────────────────────────────────────────────────────────
   30b. PRODUCT PAGE — Hide SKU, categories, breadcrumbs
   ──────────────────────────────────────────────────────────────── */

/* Hide SKU */
.product_meta .sku_wrapper,
.single-product .product_meta .sku_wrapper {
  display: none !important;
}

/* Hide categories */
.product_meta .posted_in,
.single-product .product_meta .posted_in {
  display: none !important;
}

/* Hide tags too if present */
.product_meta .tagged_as,
.single-product .product_meta .tagged_as {
  display: none !important;
}

/* Hide the entire product_meta block if it becomes empty */
.single-product .product_meta {
  display: none !important;
}

/* Hide breadcrumbs on product pages */
.single-product .woocommerce-breadcrumb,
.single-product .ct-breadcrumbs,
.single-product nav.woocommerce-breadcrumb,
.single-product .breadcrumb,
.single-product [class*="breadcrumb"] {
  display: none !important;
}

/* ────────────────────────────────────────────────────────────────
   30c. CATALOG — Hide default "Add to Cart" / "Quiero Este!" button
   ──────────────────────────────────────────────────────────────── */

/* Hide ALL add-to-cart buttons in product listings (keep only Ver Producto) */
.products .product .button.add_to_cart_button,
.products .product .ajax_add_to_cart,
.products .product a.button.product_type_simple,
ul.products li.product .add_to_cart_button,
ul.products li.product a.button:not(.mirage-view-product),
.wc-block-grid__product .wp-block-button,
.wc-block-grid__product .wc-block-grid__product-add-to-cart,
.wc-block-components-product-button {
  display: none !important;
}

/* Also hide category tags under product name in catalog */
.products .product .posted_in,
.products .product .tagged_as,
ul.products li.product .posted_in,
ul.products li.product .tagged_as {
  display: none !important;
}

/* ────────────────────────────────────────────────────────────────
   30d. CATALOG "VER PRODUCTO" BUTTON STYLE
   ──────────────────────────────────────────────────────────────── */

.mirage-view-product,
a.button.mirage-view-product {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: #1A73E8 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  transition: background 0.2s, transform 0.15s !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  margin-top: 8px !important;
}

.mirage-view-product:hover,
a.button.mirage-view-product:hover {
  background: #1565c0 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(26,115,232,0.3) !important;
}

/* ────────────────────────────────────────────────────────────────
   31. SITE HEADER — Compact professional header with blue branding
   ──────────────────────────────────────────────────────────────── */

/* Top bar — blue gradient with contact info */
.ct-header [data-row="top-row"] {
  background: linear-gradient(135deg, #1A73E8 0%, #0d47a1 100%) !important;
  padding: 6px 0 !important;
  min-height: auto !important;
}

/* Top bar items (icons, text) — white on blue */
.ct-header [data-row="top-row"] a,
.ct-header [data-row="top-row"] span,
.ct-header [data-row="top-row"] .ct-icon-container {
  color: #fff !important;
  fill: #fff !important;
}
.ct-header [data-row="top-row"] a:hover {
  color: #bbdefb !important;
  opacity: 0.9;
}
.ct-header [data-row="top-row"] svg {
  fill: #fff !important;
  color: #fff !important;
}

/* Middle row (social icons, cart) — HIDDEN (empty white space) */
.ct-header [data-row="middle-row"] {
  display: none !important;
}

/* Bottom row (nav menu) — clean with subtle border */
.ct-header [data-row="bottom-row"] {
  padding: 0 !important;
  min-height: auto !important;
  border-top: 1px solid #e8e8e8;
  background: #fff !important;
}

/* Navigation links — modern, uppercase, compact */
.ct-header .ct-menu > li > a {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: #333 !important;
  padding: 12px 14px !important;
  transition: color 0.2s, background 0.2s !important;
  border-bottom: 3px solid transparent !important;
}

.ct-header .ct-menu > li > a:hover,
.ct-header .ct-menu > li.current-menu-item > a {
  color: #1A73E8 !important;
  border-bottom-color: #1A73E8 !important;
}

/* Header overall — clean shadow */
.site-header,
header[data-id="type-1"] {
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}

/* Site logo — ensure it doesn't blow up */
.ct-header .site-logo-container img,
.ct-header .site-branding img {
  max-height: 50px !important;
  width: auto !important;
}

/* Cart & search icons in middle row — clean */
.ct-header [data-row="middle-row"] .ct-cart-icon,
.ct-header [data-row="middle-row"] .ct-search {
  color: #333 !important;
}

/* WooCommerce page titles (shop, cart, checkout) — same blue style */
.woocommerce .ct-page-title,
.woocommerce-page .ct-page-title {
  background: linear-gradient(135deg, #1A73E8 0%, #0d47a1 100%) !important;
  padding: 28px 20px 24px !important;
}

.woocommerce .ct-page-title h1,
.woocommerce-page .ct-page-title h1 {
  color: #fff !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  text-align: center !important;
}

/* Responsive header */
@media (max-width: 768px) {
  .ct-page-title .page-title,
  .ct-page-title h1,
  body:not(.home):not(.woocommerce) .entry-header h1 {
    font-size: 1.3rem !important;
  }

  .ct-header .ct-menu > li > a {
    font-size: 11px !important;
    padding: 10px 8px !important;
    letter-spacing: 0.3px !important;
  }

  .ct-header .site-logo-container img,
  .ct-header .site-branding img {
    max-height: 40px !important;
  }
}
