/*
 Theme Name:   Blocksy Child
 Template:     blocksy
 Version:      1.0.0
*/

@layer properties {
  @property --button-shadow-opacity {
    syntax: "<number>";
    inherits: true;
    initial-value: 0;
  }
  @property --button-shadow-spread {
    syntax: "<number>";
    inherits: true;
    initial-value: 0;
  }
  @property --button-bg-opacity {
    syntax: "<number>";
    inherits: true;
    initial-value: 0;
  }
  @property --button-after-opacity {
    syntax: "<number>";
    inherits: true;
    initial-value: 0;
  }
  @property --coord-y {
    syntax: "<number>";
    inherits: true;
    initial-value: 0;
  }
  @property --coord-x {
    syntax: "<number>";
    inherits: true;
    initial-value: 0;
  }
}

/* ==========================================================================
   1. ESTRUCTURA GLOBAL (CABECERA, MENÚ, FOOTER)
   ========================================================================== */

/* CABECERA / HERO (Solo ocultar en la Home) */
.woocommerce.home .hero-section,
.woocommerce.home [data-hero] {
  display: none !important;
}

/* LOGO ANIMADO (Efecto Ta-da) */
@keyframes logoTada {
  0% { transform: scale3d(1, 1, 1); }
  10%, 20% { transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  100% { transform: scale3d(1, 1, 1); }
}

.site-logo-container img {
  transition: transform 0.1s ease-in-out !important; 
}

.site-logo-container img:hover {
  animation: logoTada 1s ease-in-out !important;
}

/* MENÚ PRINCIPAL */
.menu-resaltado {
    display: flex !important;
    align-items: center !important;
}

.menu-resaltado > a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    font-weight: 500 !important;
    background: transparent !important;
    z-index: 1 !important;
}

.menu-resaltado > a::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    right: 0 !important;
    transform: translateY(-50%) !important;
    height: 38px !important;
    border: 1.5px solid #E65A88 !important;
    border-radius: 50px !important;
    pointer-events: none !important;
    z-index: -1 !important;
    transition: all 0.3s ease !important;
    opacity: 1 !important;
    visibility: visible !important;
    background-color: transparent !important;
}

.menu-resaltado > a:hover {
    color: #ffffff !important;
}

.menu-resaltado > a:hover::before {
    background-color: #E65A88 !important;
}

.menu-resaltado > a::after {
    display: none !important;
}

/* PIE DE PÁGINA (FOOTER) */
footer[data-id="type-1"] .ct-widget > :is(h2, h3, h4, .wp-block-heading) {
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 18px;
  position: relative;
  display: inline-block;
}

footer[data-id="type-1"] .ct-widget > :is(h2, h3, h4, .wp-block-heading)::after {
  content: "";
  display: block;
  width: 24px;
  height: 3px;
  background: #f26b8a;
  border-radius: 2px;
  margin-top: 6px;
}

footer[data-id="type-1"] .widget_nav_menu ul,
.footer-social-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

footer[data-id="type-1"] .widget_nav_menu ul li,
.footer-social-list li {
  margin: 0 !important;
  padding: 0 !important;
}

footer[data-id="type-1"] .widget_nav_menu ul li a {
  color: #cbd5e1 !important;
  font-weight: 500;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  transition: all 0.2s ease;
}

footer[data-id="type-1"] .widget_nav_menu ul li a::before {
  content: "›";
  display: inline-block;
  color: #f5b041;
  line-height: 1;
  margin-right: 8px;
  font-weight: 700;
  transition: transform 0.2s ease, color 0.2s ease;
}

footer[data-id="type-1"] .widget_nav_menu ul li a:hover {
  color: #ffffff !important;
  transform: translateX(4px);
}

footer[data-id="type-1"] .widget_nav_menu ul li a:hover::before {
  color: #f26b8a;
  transform: translateX(2px);
}

.footer-social-list li a {
  color: #cbd5e1 !important;
  font-weight: 500;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.2s ease;
}

.footer-social-list .social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.2s ease;
}

.footer-social-list li a:hover {
  color: #ffffff !important;
  transform: translateX(4px);
}

.footer-social-list li a:hover .social-icon {
  background: #f26b8a;
  border-color: #f26b8a;
  transform: scale(1.08);
}

/* INDICADOR DE ESTADO EN CUENTA (LOGUEADO) */
.ct-header-account[data-state="in"] .ct-account-item,
body.logged-in [data-id="account"] .ct-account-item {
    position: relative !important;
    overflow: visible !important;
}

.ct-header-account[data-state="in"] .ct-account-item::after,
body.logged-in [data-id="account"] .ct-account-item::after {
    content: "" !important;
    position: absolute !important;
    bottom: -3px !important;
    right: -4px !important;
    width: 8px !important;
    height: 8px !important;
    background-color: #0ca678 !important;
    border: 1.5px solid #ffffff !important;
    border-radius: 50% !important;
    box-sizing: content-box !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

/* ==========================================================================
   2. WOOCOMMERCE - CATÁLOGO Y ARCHIVOS
   ========================================================================== */

/* CATEGORÍAS DE PRODUCTO Y TIENDA */
[data-prefix="woo_categories"] .entry-header,
[data-prefix="woo_tags"] .entry-header {
    padding-top: 15px;
    padding-bottom: 15px;
    text-align: center;
}

[data-prefix="woo_categories"] .entry-header .page-title,
[data-prefix="woo_tags"] .entry-header .page-title {
    font-size: 2.6rem;
    font-weight: 900;
    color: #2b2b2b;
    position: relative;
    display: block !important;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 14px auto !important;
    transform: translateX(-0.6em);
    letter-spacing: -0.5px;
    padding-bottom: 0;
}

/* Control del emoji en categorías */
[data-prefix="woo_categories"] .entry-header .page-title .cat-title-emoji,
[data-prefix="woo_tags"] .entry-header .page-title .cat-title-emoji {
    display: inline-block;
    margin-right: 8px;
    font-size: 2.2rem;
    vertical-align: middle;
}

[data-prefix="woo_categories"] .entry-header .page-description,
[data-prefix="woo_tags"] .entry-header .page-description {
    max-width: 600px;
    margin: 0 auto;
    font-size: 1.05rem;
    color: #555555;
    line-height: 1.6;
    background-color: rgba(255, 255, 255, 0.55);
    padding: 14px 28px;
    border-radius: 40px;
    box-shadow: none;
    font-weight: 500;
}

/* CABECERA EXCLUSIVA PARA PÁGINA PRINCIPAL DE TIENDA (TODO EL CATÁLOGO) */
body.post-type-archive-product:not(.search) [data-prefix="woo_categories"] .entry-header .page-title {
    transform: none !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    margin: 0 auto !important;
}

.shop-all-badge {
    font-family: 'Inter', sans-serif;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    color: #ea5b82;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 5px 16px;
    border: 1.5px solid #ea5b82;
    border-radius: 999px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    margin-bottom: 12px;
    line-height: 1.2;
}

.shop-all-main-title {
    display: block;
    line-height: 1.15;
}

.shop-all-description {
    font-family: 'Inter', sans-serif;
    display: block;
    max-width: 650px;
    margin: 16px auto 0 auto;
    font-size: 1.05rem;
    color: #555555;
    line-height: 1.6;
    background-color: rgba(255, 255, 255, 0.55);
    padding: 14px 28px;
    border-radius: 40px;
    font-weight: 500;
    letter-spacing: normal;
}

.shop-all-description strong {
    color: #2b2b2b;
    font-weight: 700;
}

@media (max-width: 768px) {
    [data-prefix="woo_categories"] .entry-header .page-title,
    [data-prefix="woo_tags"] .entry-header .page-title {
        font-size: 1.75rem;
        line-height: 1.3;
        padding-bottom: 0;
        margin-bottom: 12px !important;
        transform: translateX(-0.4em);
    }

    [data-prefix="woo_categories"] .entry-header .page-title .cat-title-emoji,
    [data-prefix="woo_tags"] .entry-header .page-title .cat-title-emoji {
        font-size: 1.4rem;
        margin-right: 4px;
    }

    [data-prefix="woo_categories"] .entry-header .page-description,
    [data-prefix="woo_tags"] .entry-header .page-description,
    .shop-all-description {
        font-size: 0.95rem;
        padding: 12px 20px;
        border-radius: 24px;
    }

    .shop-all-badge {
        font-size: 0.72rem;
        padding: 4px 12px;
        margin-bottom: 10px;
    }
}

/* BADGE DE PRODUCTO EN CATÁLOGO */
.woocommerce ul.products li.product {
  position: relative;
}

.custom-card-badge,
.woocommerce ul.products li.product .out-of-stock-badge,
ul.products li.product .out-of-stock-badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  z-index: 5 !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
  pointer-events: none !important;
  height: auto !important;
  min-width: unset !important;
  line-height: 1.2 !important;
}

.custom-card-badge {
  color: var(--theme-palette-color-1) !important;
  border: 1.5px solid #ea5b82 !important;
}

.woocommerce ul.products li.product .out-of-stock-badge,
ul.products li.product .out-of-stock-badge {
  color: #64748b !important;
  border: 1.5px solid #cbd5e1 !important;
}

/* ZOOM ELEGANTE EN TARJETAS DE PRODUCTO (ESTILO SWIPER) */

/* 1. Transición suave y rápida para la imagen del producto */
.woocommerce ul.products li.product .ct-media-container img,
.woocommerce ul.products li.product .has-hover-effect img {
    transition: transform 0.35s ease !important;
    will-change: transform;
}

/* 2. Cantidad de aumento al hacer hover sobre la tarjeta (4%) */
.woocommerce ul.products li.product:hover .ct-media-container img,
.woocommerce ul.products li.product:hover .has-hover-effect img {
    transform: scale(1.04) !important;
}


/* ==========================================================================
   3. WOOCOMMERCE - FICHA DE PRODUCTO (DISEÑO BASE)
   ========================================================================== */

/* ESPACIADOS GENERALES DE LA CABECERA (Título) */
.single-product .summary .product_title {
    margin-bottom: 16px !important;
    line-height: 1.25 !important;
}

/* ETIQUETA DE PRECIO EN FICHA PRODUCTO */
.single-product .summary .price {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    padding-bottom: 20px !important;
    border-bottom: 1.5px dashed #ECE7E1 !important;
    line-height: 1 !important;
}

.single-product .summary .price .woocommerce-Price-amount {
    font-size: 1.65rem !important;
    font-weight: 800 !important;
    color: #df5d7b !important;
    background-color: #fdf2f5 !important;
    border: 1.5px solid #f5d0da !important;
    padding: 8px 18px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 0.15em !important;
    line-height: 1 !important;
    box-shadow: 0 2px 6px rgba(223, 93, 123, 0.06) !important;
}

.single-product .stock {
    display: none !important;
}

/* LISTA DE CARACTERÍSTICAS (DESCRIPCIÓN CORTA EN TARJETA) */
.woocommerce-product-details__short-description {
    background-color: #ffffff !important;
    border: 1px solid #f1eff5 !important;
    border-radius: 16px !important;
    padding: 24px 22px !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04) !important;
    margin-bottom: 24px !important;
    box-sizing: border-box !important;
}

.hcm-resumen-title {
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    color: #2b2b2b !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
    border-bottom: 1.5px dashed #e2e8f0 !important;
}

/* El botón discreto de "Ir a la descripción" */
.hcm-enlace-desc-container {
    text-align: center !important;
    margin-top: 20px !important;
}

.hcm-enlace-desc {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    color: #df5d7b !important;
    background-color: #fdf2f5 !important;
    border: 1.5px solid #f5d0da !important;
    border-radius: 999px !important;
    padding: 8px 20px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.hcm-enlace-desc:hover {
    background-color: #df5d7b !important;
    color: #ffffff !important;
    border-color: #df5d7b !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(223, 93, 123, 0.2) !important;
}

/* 1. NIVEL INFORMATIVO: Listas de características (Emojis y Cajas de Regalo) */
.woocommerce-product-details__short-description ul,
.woocommerce-product-details__short-description ol.caja-incluye,
.caja-incluye {
    list-style: none !important;
    padding: 0 !important;
    margin: 16px 0 !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

.woocommerce-product-details__short-description ul li {
    color: #2B2B2B !important;
    font-weight: 600 !important;
    font-size: 0.94rem !important;
    line-height: 1.45 !important;
    margin-bottom: 12px !important;
    padding-left: 1.8em !important; 
    text-indent: -1.8em !important; 
}

.caja-incluye li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    line-height: 1.45 !important;
    color: #2B2B2B !important;
    font-weight: 600 !important;
    font-size: 0.94rem !important;
}

.woocommerce-product-details__short-description ul li:last-child,
.caja-incluye li:last-child {
    margin-bottom: 0 !important;
}

.caja-incluye li strong,
.caja-incluye li b {
    color: #2b2b2b !important;
}

/* El elemento ::before pasa a ser una máscara de color */
.caja-incluye li::before {
    content: '' !important;
    display: inline-block !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin-top: 1px !important;
    flex-shrink: 0 !important;
    
    /* COLOR DEL NÚMERO (Tono rosa corporativo suave/pastel): */
    background-color: #e26d85 !important; 
    
    /* Máscaras CSS (compatibles con todos los navegadores) */
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
}

/* Rutas de los SVG aplicadas como máscaras */
.caja-incluye li:nth-child(1)::before {
    -webkit-mask-image: url('/wp-content/uploads/2026/10/one-circle-stroke-rounded.svg') !important;
    mask-image: url('/wp-content/uploads/2026/10/one-circle-stroke-rounded.svg') !important;
}
.caja-incluye li:nth-child(2)::before {
    -webkit-mask-image: url('/wp-content/uploads/2026/10/two-circle-stroke-rounded.svg') !important;
    mask-image: url('/wp-content/uploads/2026/10/two-circle-stroke-rounded.svg') !important;
}
.caja-incluye li:nth-child(3)::before {
    -webkit-mask-image: url('/wp-content/uploads/2026/10/three-circle-stroke-rounded.svg') !important;
    mask-image: url('/wp-content/uploads/2026/10/three-circle-stroke-rounded.svg') !important;
}
.caja-incluye li:nth-child(4)::before {
    -webkit-mask-image: url('/wp-content/uploads/2026/10/four-circle-stroke-rounded.svg') !important;
    mask-image: url('/wp-content/uploads/2026/10/four-circle-stroke-rounded.svg') !important;
}
.caja-incluye li:nth-child(5)::before {
    -webkit-mask-image: url('/wp-content/uploads/2026/10/five-circle-stroke-rounded.svg') !important;
    mask-image: url('/wp-content/uploads/2026/10/five-circle-stroke-rounded.svg') !important;
}
.caja-incluye li:nth-child(6)::before {
    -webkit-mask-image: url('/wp-content/uploads/2026/10/six-circle-stroke-rounded.svg') !important;
    mask-image: url('/wp-content/uploads/2026/10/six-circle-stroke-rounded.svg') !important;
}
.caja-incluye li:nth-child(7)::before {
    -webkit-mask-image: url('/wp-content/uploads/2026/10/seven-circle-stroke-rounded.svg') !important;
    mask-image: url('/wp-content/uploads/2026/10/seven-circle-stroke-rounded.svg') !important;
}
.caja-incluye li:nth-child(8)::before {
    -webkit-mask-image: url('/wp-content/uploads/2026/10/eight-circle-stroke-rounded.svg') !important;
    mask-image: url('/wp-content/uploads/2026/10/eight-circle-stroke-rounded.svg') !important;
}
.caja-incluye li:nth-child(9)::before {
    -webkit-mask-image: url('/wp-content/uploads/2026/10/nine-circle-stroke-rounded.svg') !important;
    mask-image: url('/wp-content/uploads/2026/10/nine-circle-stroke-rounded.svg') !important;
}

/* Compensación para que la cabecera fija no tape el título de la descripción larga */
#tab-description {
    scroll-margin-top: 100px !important;
}

/* PESTAÑAS DE PRODUCTO */
.woocommerce-tabs {
  margin-top: 64px !important;
  padding-top: 35px !important;
}

.woocommerce-tabs ul.tabs {
  border: 1px solid #E8E5DF !important;
  background: #F3F1ED !important;
  border-radius: 14px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 5px !important;
  margin: 0 auto 24px auto !important;
  width: fit-content !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after {
  display: none !important;
}

.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto !important;
  text-align: center !important;
  transition: all 0.2s ease !important;
  overflow: hidden !important;
}

.woocommerce-tabs ul.tabs li a,
.woocommerce-tabs[data-type*="type-2"] .tabs li a {
  background: transparent !important;
  color: #686D76 !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  padding: 10px 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 10px !important;
  white-space: nowrap !important;
}

.woocommerce-tabs ul.tabs li.active {
  background: #FFFFFF !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs[data-type*="type-2"] .tabs li.active a {
  background: transparent !important;
  color: #2B2B2B !important;
  font-weight: 700 !important;
}

.woocommerce-tabs ul.tabs li.active a:not(:has(.icono-opinion-svg))::before {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  flex-shrink: 0 !important;
  border-radius: 50% !important;
  background-color: #E26D85 !important;
}

.woocommerce-tabs ul.tabs li.reviews_tab.active .icono-opinion-svg {
  background-color: #E26D85 !important;
}

.woocommerce-Tabs-panel--description,
.woocommerce-tabs .woocommerce-Tabs-panel {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.woocommerce-Tabs-panel--description {
  max-width: 850px;
  margin: 0 auto;
  color: #555A64;
  line-height: 1.6;
}

.woocommerce-Tabs-panel--description h2 {
  font-weight: 600 !important;
  color: #2D3139 !important;
  margin: 32px 0 14px 0 !important;
  padding-bottom: 8px !important;
  border-bottom: 1.5px solid #F1E8EC !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  letter-spacing: -0.01em !important;
}

.woocommerce-Tabs-panel--description h2:first-of-type {
  margin-top: 0 !important;
}

.woocommerce-Tabs-panel--description ul {
  padding-left: 20px !important;
  margin-bottom: 24px !important;
}

.woocommerce-Tabs-panel--description ul li {
  margin-bottom: 10px !important;
  color: #555A64 !important;
  line-height: 1.55 !important;
}

.woocommerce-Tabs-panel--description ul li strong {
  color: #2D3139 !important;
  font-weight: 600 !important;
}

.woocommerce-Tabs-panel--description p {
  color: #555A64 !important;
  margin-bottom: 18px !important;
}

.woocommerce-Tabs-panel--description img {
  border-radius: 12px !important;
}

@media (max-width: 768px) {
  .woocommerce-tabs {
    margin-top: 44px !important;
    padding-top: 32px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .woocommerce-tabs ul.tabs {
    width: 100% !important;
    margin-bottom: 20px !important;
  }

  .woocommerce-tabs ul.tabs li a,
  .woocommerce-tabs[data-type*="type-2"] .tabs li a {
    font-size: 0.82rem !important;
    padding: 10px 12px !important;
  }

  .woocommerce-Tabs-panel--description {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .woocommerce-Tabs-panel--description h2 {
    font-size: 1.18rem !important;
    line-height: 1.3 !important;
    align-items: flex-start !important;
  }
}

/* --- NAVEGACIÓN Y ENLACE DE CATEGORÍA --- */
.hcm-product-cat-nav {
    margin-bottom: 12px;
}

.hcm-product-cat-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.88rem;
    font-weight: 700;
    color: #555566;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 6px 14px;
    border-radius: 999px;
    text-decoration: none !important;
    transition: all 0.2s ease;
}

.hcm-product-cat-link:hover {
    color: #df5d7b;
    border-color: #f5d0da;
    background-color: #fdf2f5;
    transform: translateX(-2px);
}

.hcm-cat-prefix {
    font-size: 1rem;
    line-height: 1;
    color: #df5d7b;
}

.hidden-on-mobile {
    display: flex;
}

.hidden-on-desktop {
    display: none;
}

@media (max-width: 768px) {
    .hidden-on-mobile {
        display: none !important;
    }
    
    .hidden-on-desktop {
        display: flex !important;
    }

    /* Ajuste de espaciado para la píldora superior en móviles */
    .hcm-product-cat-nav.hidden-on-desktop {
        margin-top: -15px !important;
        margin-bottom: 20px !important;
    }
}

/* TARJETA INFORMATIVA DE PRODUCTO AGOTADO */
.hcm-agotado-card {
    background-color: #ffffff !important;
    border: 1px solid #f1eff5 !important;
    border-radius: 16px !important;
    padding: 26px 22px !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04) !important;
    margin-top: 10px !important;
    margin-bottom: 24px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.hcm-agotado-title {
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    color: #2b2b2b !important;
    margin: 0 0 12px 0 !important;
    line-height: 1.3 !important;
}

.hcm-agotado-desc {
    color: #555566 !important;
    font-size: 0.94rem !important;
    line-height: 1.55 !important;
    margin: 0 0 20px 0 !important;
    max-width: 480px !important;
}

.hcm-agotado-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background-color: #0ca678 !important;
    color: #ffffff !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    padding: 11px 22px !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 15px rgba(12, 166, 120, 0.25) !important;
    transition: all 0.25s ease !important;
    box-sizing: border-box !important;
}

.hcm-agotado-btn:hover {
    background-color: #099268 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(12, 166, 120, 0.35) !important;
}

.hcm-agotado-btn svg {
    flex-shrink: 0 !important;
}

/* ==========================================================================
   3.1 WOOCOMMERCE - GALERÍA DE PRODUCTO (SWIPER)
   ========================================================================== */

.woocommerce div.product,
.woocommerce div.product div.images,
.woocommerce-product-gallery {
    overflow: visible !important;
    position: relative !important;
}

.hcm-gallery-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
}

.hcm-gallery-main-container {
    position: relative !important;
    width: 100% !important;
}

.hcm-gallery-nav {
    position: absolute !important;
    top: 50% !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background-color: #ffffff !important;
    border: 1px solid #e8e5df !important;
    color: #595e66 !important;
    font-size: 0.95rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.06) !important;
    opacity: 0.65 !important;
    transition: all 0.2s ease !important;
    z-index: 10 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.hcm-gallery-prev {
    left: 0 !important;
    transform: translate(-50%, -50%) !important;
}

.hcm-gallery-next {
    right: 0 !important;
    transform: translate(50%, -50%) !important;
}

@media (hover: hover) {
    .hcm-gallery-nav:hover {
        opacity: 1 !important;
        background-color: #df5d7b !important;
        color: #ffffff !important;
        border-color: #df5d7b !important;
        box-shadow: 0 4px 12px rgba(223, 93, 123, 0.25) !important;
    }
}

.hcm-gallery-nav:active {
    opacity: 1 !important;
    background-color: #fdf2f4 !important;
    border-color: #f5d0da !important;
    color: #df5d7b !important;
}

.hcm-gallery-nav.swiper-button-disabled {
    opacity: 0 !important;
    pointer-events: none !important;
}

@media (max-width: 768px) {
    .hcm-gallery-nav {
        width: 32px !important;
        height: 32px !important;
        font-size: 0.85rem !important;
    }
}

@media (min-width: 1000px) {
    .product-entry-wrapper .hcm-gallery-wrapper {
        width: var(--product-gallery-width, 50%) !important;
        max-width: var(--product-gallery-width, 50%) !important;
        flex: 0 0 var(--product-gallery-width, 50%) !important;
        margin-right: var(--product-columns-gap, 50px) !important;
    }

    .product-entry-wrapper .summary.entry-summary {
        flex: 1 1 0% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 999px) {
    .hcm-gallery-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto 30px auto !important;
    }
}

.hcm-gallery-main {
    width: 100% !important;
    aspect-ratio: 3 / 4 !important;
    margin: 0 auto !important;
    background: transparent !important;
    border: none !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    position: relative !important;
    touch-action: pan-y pinch-zoom !important;
}

.hcm-gallery-main .swiper-slide {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #ffffff !important;
    border-radius: 16px !important;
    border: 1px solid #f1eff5 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    touch-action: pan-y pinch-zoom !important;
}

.hcm-gallery-image-inner {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 3 / 4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    cursor: grab !important;
    text-decoration: none !important;
    touch-action: manipulation !important;
}

.hcm-gallery-image-inner:active {
    cursor: grabbing !important;
}

.hcm-main-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.hcm-gallery-pagination {
    display: none !important;
}

.hcm-gallery-thumbs {
    width: 100% !important;
    margin-top: 14px !important;
}

.hcm-gallery-thumbs .swiper-slide {
    opacity: 0.45 !important;
    cursor: pointer !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 2px solid transparent !important;
    transition: opacity 0.2s ease, border-color 0.2s ease !important;
}

.hcm-gallery-thumbs .swiper-slide-thumb-active {
    opacity: 1 !important;
    border-color: #df5d7b !important;
}

.hcm-thumb-inner {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    background-color: #fafbfc !important;
    border: 1px solid #f1eff5 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.hcm-thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

@media (max-width: 768px) {
    .hcm-gallery-thumbs {
        display: none !important;
    }

    .hcm-gallery-pagination {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        width: 100% !important;
        position: static !important;
        margin-top: 12px !important;
        margin-bottom: 0 !important;
        background: transparent !important;
        padding: 0 !important;
    }

    .hcm-gallery-pagination .swiper-pagination-bullet {
        width: 7px !important;
        height: 7px !important;
        border-radius: 50% !important;
        background-color: #cbd5e1 !important;
        opacity: 0.8 !important;
        margin: 0 !important;
        transition: all 0.25s ease !important;
    }

    .hcm-gallery-pagination .swiper-pagination-bullet-active {
        background-color: #475569 !important;
        opacity: 1 !important;
        width: 18px !important;
        border-radius: 999px !important;
    }
}

/* ==========================================================================
   4. WOOCOMMERCE - FUNCIONALIDAD DE COMPRA Y FORMULARIOS
   ========================================================================== */

/* FORMULARIO DE COMPRA (CANTIDAD Y BOTÓN AÑADIR AL CARRITO) */
.woocommerce div.product form.cart .ct-cart-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
}

.woocommerce div.product form.cart div.quantity[data-type*="type-2"],
.woocommerce div.product form.cart .quantity {
  position: relative !important;
  border: 1px solid #E8E5DF !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #FFFFFF !important;
  height: 52px !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  flex: 0 0 104px !important;
  padding: 0 4px !important;
  box-sizing: border-box !important;
}

.woocommerce div.product form.cart .quantity.hidden {
    display: none !important;
}

.woocommerce div.product form.cart div.quantity .ct-decrease {
  order: 1 !important;
}

.woocommerce div.product form.cart div.quantity input.qty,
.woocommerce div.product form.cart div.quantity[data-type*="type-2"] input[type="number"] {
  order: 2 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  height: 100% !important;
  line-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  flex: 0 0 28px !important;
  font-size: 15px !important;
  -moz-appearance: textfield !important;
}

.woocommerce div.product form.cart div.quantity .ct-increase {
  order: 3 !important;
}

.woocommerce div.product form.cart div.quantity .ct-increase,
.woocommerce div.product form.cart div.quantity .ct-decrease {
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  border-radius: 50% !important;
  background: transparent !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  flex: 0 0 30px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 !important;
  color: #595E66 !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}

.woocommerce div.product form.cart div.quantity .ct-increase:hover,
.woocommerce div.product form.cart div.quantity .ct-decrease:hover {
  background-color: #E26D85 !important;
  color: #FFFFFF !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button[type="submit"].button {
  border-radius: 999px !important;
  padding: 0 16px !important;
  height: 52px !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
}

/* Variables y animación para el Glow Iridiscente */
@property --glow-angle {
    syntax: "<angle>";
    initial-value: 0deg;
    inherits: false;
}

@keyframes giroMagicoGlow {
    0% { --glow-angle: 0deg; }
    100% { --glow-angle: 360deg; }
}

/* Contenedor maestro - Le quitamos el fondo y el borde para usar capas */
.wcpa_form_outer {
    position: relative !important;
    z-index: 1 !important;
    border-radius: 16px !important;
    padding: 0 !important;
    margin-top: 8px !important;
    margin-bottom: 24px !important;
    border: none !important;
    background-color: transparent !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
}

/* 1. Capa de resplandor (Glow exterior animado y desenfocado) */
.wcpa_form_outer::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 16px !important;
    background: conic-gradient(
        from var(--glow-angle) at 50% 50%,
        color(display-p3 0.95 0.06 0.02 / 0.3) 0deg,
        color(display-p3 0.97 0.61 0.07 / 0.3) 40deg,
        color(display-p3 0.31 0.89 0.05 / 0.3) 120deg,
        color(display-p3 0.12 0.88 0.88 / 0.3) 180deg,
        color(display-p3 0.14 0.47 0.99 / 0.3) 240deg,
        color(display-p3 0.73 0.04 0.94 / 0.3) 300deg,
        color(display-p3 0.95 0.06 0.02 / 0.3) 360deg
    ) !important;
    filter: blur(14px) !important;
    animation: giroMagicoGlow 4s linear infinite !important;
    z-index: -2 !important;
    pointer-events: none !important;
}

/* 2. Capa frontal de la tarjeta (Tapa el centro y le da diseño normal) */
.wcpa_form_outer::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background-color: #ffffff !important;
    border: 1.5px solid #EDE8E3 !important;
    border-radius: 16px !important;
    z-index: -1 !important;
    pointer-events: none !important;
}

/* ESTADO DESPLEGADO (Tarjeta abierta sin glow) */
.wcpa_form_outer.wcpa-open {
    background-color: #ffffff !important;
    border: 1.5px solid #EDE8E3 !important;
}

.wcpa_form_outer.wcpa-open::before,
.wcpa_form_outer.wcpa-open::after {
    display: none !important;
}

.wcpa-custom-header {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    color: #2b2b2b !important;
    padding: 20px !important;
    margin: 0 !important;
    cursor: pointer !important;
    background-color: transparent !important;
    position: relative !important;
    z-index: 2 !important;
    user-select: none !important;
}

.wcpa_form_outer.wcpa-open .wcpa-custom-header {
    padding: 22px !important;
    border-bottom: 1.5px dashed #e2e8f0 !important;
    margin-bottom: 18px !important;
}

.wcpa-header-arrow {
    display: inline-block !important;
    font-size: 0.9rem !important;
    color: #df5d7b !important;
    animation: latidoAbajo 2.5s infinite !important;
    line-height: 1 !important;
}

.wcpa_form_outer.wcpa-open .wcpa-header-arrow {
    animation: none !important;
    transform: rotate(180deg) !important;
    color: #2b2b2b !important;
}

.wcpa_form_outer .wcpa_wrap {
    display: none !important;
    padding: 0 22px 10px 22px !important;
    position: relative !important;
    z-index: 2 !important;
}

.wcpa_form_outer.wcpa-open .wcpa_wrap {
    display: block !important;
}

.wcpa_form_outer .wcpa_row {
    margin-bottom: 0 !important;
}

.wcpa_form_outer .wcpa_field_wrap {
    margin-bottom: 22px !important;
    padding-bottom: 20px !important;
    border-bottom: 1.5px dashed #f1eff5 !important;
}

.wcpa_form_outer .wcpa_field_wrap:last-child,
.wcpa_form_outer .wcpa_field_wrap.wcpa-geo-output,
.wcpa_form_outer .wcpa_field_wrap.wcpa-moon-output {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.wcpa_form_outer .wcpa_field_wrap.wcpa-geo-output {
    margin-bottom: 14px !important;
}

.wcpa_form_outer .wcpa_type_text,
.wcpa_form_outer .wcpa_type_textarea,
.wcpa_form_outer .wcpa_type_select,
.wcpa_form_outer .wcpa_type_date,
.wcpa_form_outer .wcpa_type_time,
.wcpa_form_outer .wcpa_type_file,
.wcpa_form_outer .wcpa_type_number,
.wcpa_form_outer .wcpa_type_color-group,
.wcpa_form_outer .wcpa_type_image-group,
.wcpa_form_outer .wcpa_type_radio-group,
.wcpa_form_outer .wcpa_type_checkbox-group {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    position: relative !important;
    text-align: left !important;
}

.wcpa_form_outer .wcpa_field_label,
.wcpa_form_outer label.wcpa_field_label,
.wcpa_form_outer .wcpa_type_color-group legend.wcpa_field_label,
.wcpa_form_outer .wcpa_type_image-group legend.wcpa_field_label,
.wcpa_form_outer .wcpa_type_radio-group legend.wcpa_field_label,
.wcpa_form_outer .wcpa_type_checkbox-group legend.wcpa_field_label {
    position: static !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    color: #2b2b2b !important;
    transform: none !important;
    background: transparent !important;
    text-align: left !important;
}

.wcpa_form_outer .wcpa_field_label .required,
.wcpa_form_outer label.wcpa_field_label .required {
    color: #df5d7b !important;
    margin-left: 2px !important;
}

/* Campos de entrada con fondo sutil para invitar a escribir */
.wcpa_form_outer input[type="text"],
.wcpa_form_outer input[type="email"],
.wcpa_form_outer input[type="date"],
.wcpa_form_outer input[type="time"],
.wcpa_form_outer input[type="number"],
.wcpa_form_outer textarea,
.wcpa_form_outer select {
    width: 100% !important;
    box-sizing: border-box !important;
    background-color: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 11px 14px !important;
    font-size: 0.95rem !important;
    color: #2b2b2b !important;
    transition: all 0.2s ease !important;
}

.wcpa_form_outer select {
    cursor: pointer !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

.wcpa_form_outer input[type="text"]:focus,
.wcpa_form_outer input[type="email"]:focus,
.wcpa_form_outer input[type="date"]:focus,
.wcpa_form_outer input[type="time"]:focus,
.wcpa_form_outer input[type="number"]:focus,
.wcpa_form_outer textarea:focus,
.wcpa_form_outer select:focus {
    background-color: #ffffff !important;
    border-color: #6392c9 !important;
    box-shadow: 0 0 0 3px rgba(99, 146, 201, 0.2) !important;
    outline: none !important;
}

/* Estilos de Radio Buttons (Originales) */
.wcpa_form_outer .wcpa_radio input[type="radio"],
.wcpa_wrap .wcpa_radio input[type="radio"] {
    accent-color: #df5d7b !important;
}

.wcpa_form_outer .wcpa_radio input:checked ~ .wcpa_radio_custom,
.wcpa_wrap .wcpa_radio input:checked ~ .wcpa_radio_custom {
    border-color: #df5d7b !important;
}

.wcpa_form_outer .wcpa_radio input:checked ~ .wcpa_radio_custom::after,
.wcpa_form_outer .wcpa_radio input:checked ~ .wcpa_radio_custom:after,
.wcpa_wrap .wcpa_radio input:checked ~ .wcpa_radio_custom::after,
.wcpa_wrap .wcpa_radio input:checked ~ .wcpa_radio_custom:after {
    background-color: #df5d7b !important;
    border-color: #df5d7b !important;
}

.wcpa_form_outer .wcpa_radio:hover .wcpa_radio_custom,
.wcpa_wrap .wcpa_radio:hover .wcpa_radio_custom {
    border-color: #df5d7b !important;
}

/* Botón de Subida de Archivos (Original) */
.wcpa_form_outer .wcpa_type_file .wcpa_file_style,
.wcpa_wrap .wcpa_type_file .wcpa_file_style {
    border-color: #e2e8f0 !important;
    border-radius: 8px !important;
}

.wcpa_form_outer .wcpa_type_file .wcpa_file_style:focus-within,
.wcpa_wrap .wcpa_type_file .wcpa_file_style:focus-within,
.wcpa_form_outer .wcpa_type_file .wcpa_file_style:active,
.wcpa_wrap .wcpa_type_file .wcpa_file_style:active {
    border-color: #df5d7b !important;
    box-shadow: 0 0 0 3px rgba(223, 93, 123, 0.15) !important;
}

.wcpa_form_outer .wcpa_type_file .wcpa_file_style button,
.wcpa_wrap .wcpa_type_file .wcpa_file_style button,
.wcpa_form_outer .wcpa_type_file .wcpa_file_style [class*="button"],
.wcpa_wrap .wcpa_type_file .wcpa_file_style [class*="button"],
.wcpa_form_outer .wcpa_type_file .wcpa_file_style [class*="btn"],
.wcpa_wrap .wcpa_type_file .wcpa_file_style [class*="btn"],
.wcpa_form_outer .wcpa_type_file .wcpa_file_style [class*="custom_file"] > *:last-child,
.wcpa_wrap .wcpa_type_file .wcpa_file_style [class*="custom_file"] > *:last-child {
    background-color: var(--theme-button-background-initial-color) !important;
    background: var(--theme-button-background-initial-color) !important;
    color: #ffffff !important;
    border-color: var(--theme-button-background-initial-color) !important;
    transition: background-color 0.2s ease, opacity 0.2s ease !important;
}

.wcpa_form_outer .wcpa_type_file .wcpa_file_style button:hover,
.wcpa_wrap .wcpa_type_file .wcpa_file_style button:hover,
.wcpa_form_outer .wcpa_type_file .wcpa_file_style [class*="button"]:hover,
.wcpa_wrap .wcpa_type_file .wcpa_file_style [class*="button"]:hover,
.wcpa_form_outer .wcpa_type_file .wcpa_file_style [class*="btn"]:hover,
.wcpa_wrap .wcpa_type_file .wcpa_file_style [class*="btn"]:hover,
.wcpa_form_outer .wcpa_type_file .wcpa_file_style [class*="custom_file"] > *:last-child:hover,
.wcpa_wrap .wcpa_type_file .wcpa_file_style [class*="custom_file"] > *:last-child:hover {
    background-color: var(--theme-button-background-initial-color) !important;
    background: var(--theme-button-background-initial-color) !important;
    opacity: 0.9 !important;
}

/* Párrafos de texto del formulario */
.wcpa_form_outer .wcpa_type_content {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    color: #2b2b2b !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}

.wcpa_form_outer .wcpa_type_color-group .wcpa_color {
    text-align: center !important;
}

.wcpa_form_outer .wcpa_type_color-group .wcpa_color label {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 auto !important;
    width: 100% !important;
}

.wcpa_form_outer .wcpa_type_color-group .wcpa_color .wcpa_color_wrap {
    margin: 0 auto !important;
}

.wcpa_form_outer .wcpa_type_color-group .wcpa_color .wcpa_color_label {
    text-align: center !important;
    width: 100% !important;
    margin: 6px 0 0 0 !important;
    padding: 0 !important;
    display: block !important;
}

.wcpa_form_outer .wcpa_type_color-group .wcpa_color .wcpa_color_label span {
    display: block !important;
    text-align: center !important;
    font-size: 0.8rem !important;
    line-height: 1.2 !important;
}

.wcpa_form_outer .wcpa_type_separator {
    display: none !important;
}

/* MENSAJE DE ERROR GLOBAL DEL FORMULARIO */
.wcpa_form_outer .wcpa_form_error {
    background-color: #fdf2f4 !important;
    border: 1px solid #f5c2c7 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    color: #d80b24 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    margin-top: 15px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    box-shadow: 0 2px 8px rgba(216, 11, 36, 0.08) !important;
}

.wcpa_form_outer .wcpa_form_error::before {
    content: "⚠️" !important;
    font-size: 1.1rem !important;
}

/* ERRORES INDIVIDUALES EN CASILLAS WCPA */
.wcpa_form_outer .wcpa_field_wrap:has(.wcpa_error) input[type="text"],
.wcpa_form_outer .wcpa_field_wrap:has(.wcpa_error) input[type="email"],
.wcpa_form_outer .wcpa_field_wrap:has(.wcpa_error) input[type="date"],
.wcpa_form_outer .wcpa_field_wrap:has(.wcpa_error) input[type="time"],
.wcpa_form_outer .wcpa_field_wrap:has(.wcpa_error) input[type="number"],
.wcpa_form_outer .wcpa_field_wrap:has(.wcpa_error) textarea,
.wcpa_form_outer .wcpa_field_wrap:has(.wcpa_error) select,
.wcpa_form_outer .wcpa_field_wrap:has(.wcpa_error) .wcpa_file_style,
.wcpa_form_outer .wcpa_has_error input,
.wcpa_form_outer .wcpa_has_error textarea,
.wcpa_form_outer .wcpa_has_error select,
.wcpa_form_outer input.wcpa_error,
.wcpa_form_outer textarea.wcpa_error,
.wcpa_form_outer select.wcpa_error {
    border-color: #d80b24 !important;
    box-shadow: 0 0 0 3px rgba(216, 11, 36, 0.15) !important;
}

.wcpa_form_outer .wcpa_error,
.wcpa_form_outer .wcpa_error_msg,
.wcpa_form_outer .wcpa_field_error,
.wcpa_form_outer .wcpa_validation_error {
    color: #d80b24 !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    margin-top: 6px !important;
    display: block !important;
}

/* AUTOCOMPLETADO DE POBLACIÓN (WCPA) - LISTA */
.wcpa_field_wrap.wcpa-geo-input {
    position: relative !important;
}

.wcpa-geo-list {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-top: 4px !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    z-index: 99999 !important;
    max-height: 220px !important;
    overflow-y: auto !important;
    padding: 0 !important;
    list-style: none !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
}

.wcpa-geo-list li {
    padding: 10px 14px !important;
    cursor: pointer !important;
    font-size: 0.92rem !important;
    color: #333333 !important;
    border-bottom: 1px solid #f1eff5 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

.wcpa-geo-list li:last-child {
    border-bottom: none !important;
}

.wcpa-geo-list li:hover {
    background-color: #fdf2f4 !important;
    color: #df5d7b !important;
    font-weight: 600 !important;
}

/* Ajuste de los campos autocalculados (Coordenadas y Fase Lunar) */
.wcpa_form_outer .wcpa_field_wrap.wcpa-geo-output,
.wcpa_wrap .wcpa_field_wrap.wcpa-geo-output {
    background-color: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-bottom: 1.5px dashed #e2e8f0 !important;
    border-radius: 12px 12px 0 0 !important;
    padding: 12px 14px 10px 14px !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
}

.wcpa_form_outer .wcpa_field_wrap.wcpa-moon-output,
.wcpa_wrap .wcpa_field_wrap.wcpa-moon-output {
    background-color: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-top: none !important;
    border-radius: 0 0 12px 12px !important;
    padding: 10px 14px 12px 14px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
}

.wcpa_form_outer .wcpa-geo-output .wcpa_field_label,
.wcpa_form_outer .wcpa-moon-output .wcpa_field_label,
.wcpa_wrap .wcpa-geo-output .wcpa_field_label,
.wcpa_wrap .wcpa-moon-output .wcpa_field_label {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    color: #8a8e99 !important;
    margin-bottom: 3px !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.wcpa_form_outer .wcpa-geo-output input[type="text"],
.wcpa_form_outer .wcpa-moon-output input[type="text"],
.wcpa_wrap .wcpa-geo-output input[type="text"],
.wcpa_wrap .wcpa-moon-output input[type="text"] {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    height: auto !important;
    line-height: 1.3 !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: #2b2b2b !important;
    pointer-events: none !important;
    cursor: default !important;
    width: 100% !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.wcpa_form_outer .wcpa-geo-output input[type="text"]::placeholder,
.wcpa_form_outer .wcpa-moon-output input[type="text"]::placeholder,
.wcpa_wrap .wcpa-geo-output input[type="text"]::placeholder,
.wcpa_wrap .wcpa-moon-output input[type="text"]::placeholder {
    font-family: inherit !important;
    font-size: 0.82rem !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #a0aec0 !important;
}

@media (max-width: 768px) {
    .wcpa_form_outer .wcpa-geo-output input[type="text"],
    .wcpa_form_outer .wcpa-moon-output input[type="text"],
    .wcpa_wrap .wcpa-geo-output input[type="text"],
    .wcpa_wrap .wcpa-moon-output input[type="text"] {
        font-size: 0.80rem !important;
    }

    .wcpa_form_outer .wcpa-geo-output input[type="text"]::placeholder,
    .wcpa_form_outer .wcpa-moon-output input[type="text"]::placeholder,
    .wcpa_wrap .wcpa-geo-output input[type="text"]::placeholder,
    .wcpa_wrap .wcpa-moon-output input[type="text"]::placeholder {
        font-size: 0.78rem !important;
    }
}

/* ESTADO AÑADIDO Y RESPONSIVE DEL BOTÓN DE COMPRA */
.woocommerce div.product form.cart button.single_add_to_cart_button.added,
.woocommerce div.product form.cart button[type="submit"].button.added {
    display: none !important;
}

.woocommerce div.product form.cart .added_to_cart {
    border-radius: 999px !important;
    padding: 0 16px !important;
    height: 52px !important;
    flex: 1 1 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #0ca678 !important;
    color: #ffffff !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 15px rgba(12, 166, 120, 0.25) !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

.woocommerce div.product form.cart .added_to_cart:hover {
    background-color: #099268 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 20px rgba(12, 166, 120, 0.35) !important;
    opacity: 1 !important;
}

@media (max-width: 768px) {
    .woocommerce div.product form.cart .ct-cart-actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }

    .woocommerce div.product form.cart div.quantity[data-type*="type-2"],
    .woocommerce div.product form.cart .quantity {
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
        flex: 0 0 46px !important;
        height: 46px !important;
        align-self: flex-start !important;
    }

    .woocommerce div.product form.cart div.quantity input.qty,
    .woocommerce div.product form.cart div.quantity[data-type*="type-2"] input[type="number"] {
        line-height: 46px !important;
    }

    .woocommerce div.product form.cart .single_add_to_cart_button,
    .woocommerce div.product form.cart button[type="submit"].button,
    .woocommerce div.product form.cart .added_to_cart {
        width: 100% !important;
        flex: 0 0 54px !important;
        height: 54px !important;
        font-size: 1.1rem !important;
    }
}

/* AVISO EXCLUSIVO DE MATERIAS PRIMAS (DEBAJO DEL BOTÓN DE COMPRA) */
.woocommerce-error:has(li[data-hcm_bom="true"]:only-child),
.woocommerce-error:has(li[data-hcm-bom="true"]:only-child) {
    display: none !important;
}

.woocommerce-error li[data-hcm_bom="true"],
.woocommerce-error li[data-hcm-bom="true"] {
    display: none !important;
}

.hcm-bom-notice {
    display: grid !important;
    grid-template-columns: 32px 1fr !important;
    align-items: center !important;
    column-gap: 12px !important;
    background-color: #fdf2f4 !important;
    border: 1.5px solid #f5c2c7 !important;
    border-radius: 14px !important;
    padding: 14px 18px !important;
    margin-top: 18px !important;
    margin-bottom: 0 !important;
    box-shadow: 0 4px 16px rgba(216, 11, 36, 0.06) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.hcm-bom-icon {
    grid-column: 1 / 2 !important;
    font-size: 1.35rem !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    height: 100% !important;
}

.hcm-bom-text {
    grid-column: 2 / 3 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 6px !important;
}

.hcm-bom-text p {
    color: #2b2b2b !important;
    font-size: 0.93rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* ==========================================================================
   5. PÁGINAS ESPECÍFICAS
   ========================================================================== */

/* PÁGINA PREGUNTAS FRECUENTES (FAQ) */
.page-id-212 .entry-content h2,
article#post-212 .entry-content h2 {
  color: #6392c9;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.page-id-212 .wp-block-accordion,
article#post-212 .wp-block-accordion {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 2.5rem;
}

.page-id-212 .wp-block-accordion-item,
article#post-212 .wp-block-accordion-item {
  background-color: #ffffff;
  border-radius: 16px;
  border: 1px solid #f1eff5;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  transition: all 0.25s ease-in-out;
}

.page-id-212 .wp-block-accordion-item:hover,
article#post-212 .wp-block-accordion-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(235, 94, 137, 0.08);
  border-color: #fcd5e0;
}

.page-id-212 .wp-block-accordion-heading,
article#post-212 .wp-block-accordion-heading {
  padding: 18px 24px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-weight: 700;
  font-size: 1.05rem;
  color: #2b2b2b;
  user-select: none;
}

.page-id-212 .wp-block-accordion-heading:hover,
article#post-212 .wp-block-accordion-heading:hover {
  color: #eb5e89;
}

.page-id-212 .wp-block-accordion-heading .gb-icon,
article#post-212 .wp-block-accordion-heading .gb-icon {
  color: #eb5e89;
  font-size: 1.2rem;
  transition: transform 0.2s ease;
}

.page-id-212 .wp-block-accordion-item.is-open,
article#post-212 .wp-block-accordion-item.is-open {
  border-color: #f7a9bf;
  box-shadow: 0 8px 26px rgba(235, 94, 137, 0.12);
}

.page-id-212 .wp-block-accordion-item.is-open .wp-block-accordion-heading,
article#post-212 .wp-block-accordion-item.is-open .wp-block-accordion-heading {
  color: #eb5e89;
  border-bottom: 1px dashed #f5e1e8;
}

.page-id-212 .wp-block-accordion-panel,
article#post-212 .wp-block-accordion-panel {
  padding: 18px 24px 22px 24px;
  background-color: #fafbfc;
}

.page-id-212 .wp-block-accordion-panel p.wp-block-paragraph,
article#post-212 .wp-block-accordion-panel p.wp-block-paragraph {
  color: #555566;
  font-size: 0.96rem;
  line-height: 1.65;
  margin: 0;
}

/* ==========================================================================
   6. PÁGINA DE CARRITO (CART)
   ========================================================================== */

/* 6.1 Estructura principal de la tabla */
.woocommerce-cart table.cart {
    border-collapse: separate;
    border-spacing: 0 15px;
    border: none;
    width: 100%;
}

.woocommerce-cart table.cart th {
    border: none;
    padding: 15px;
    color: #2b2b2b;
    font-weight: 700;
    background: transparent;
}

.woocommerce-cart table.cart th:first-child {
    padding-left: 30px;
}

.woocommerce-cart table.cart th:last-child {
    padding-right: 30px;
}

.woocommerce-cart table.cart td {
    border: none;
    border-top: 1px solid #f1eff5;
    border-bottom: 1px solid #f1eff5;
    padding: 20px 15px;
    vertical-align: middle;
    background-color: #ffffff;
}

.woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item td:first-child {
    border-left: 1px solid #f1eff5;
    border-radius: 16px 0 0 16px;
    padding-left: 30px !important;
}

.woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item td:last-child {
    border-right: 1px solid #f1eff5;
    border-radius: 0 16px 16px 0;
    padding-right: 30px !important;
}

.woocommerce-cart table.cart img {
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

/* 6.2 Metadatos y variaciones del producto */
.woocommerce-cart .product-name > a {
    color: #2b2b2b;
    font-weight: 700;
    text-decoration: none;
    font-size: 1.1rem;
    display: block;
    margin-bottom: 4px;
}

.woocommerce-cart .product-name > a:hover {
    color: #df5d7b;
}

.woocommerce-cart .product-name ul.wc-item-meta,
.woocommerce-cart .product-name ul.wcpa_cart_meta,
.woocommerce-cart .product-name dl.variation {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0.88rem !important;
    max-width: 100% !important;
}

.woocommerce-cart .product-name ul.wc-item-meta li,
.woocommerce-cart .product-name ul.wcpa_cart_meta li,
.woocommerce-cart .product-name dl.variation {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 6px !important;
    margin-bottom: 2px !important;
    line-height: 1.3 !important;
    max-width: 100% !important;
}

.woocommerce-cart .product-name ul.wcpa_cart_meta li *,
.woocommerce-cart .product-name ul.wc-item-meta li *,
.woocommerce-cart .product-name dl.variation dt,
.woocommerce-cart .product-name dl.variation dd {
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-cart .product-name ul.wcpa_cart_meta .wcpa_cart_meta_item-label,
.woocommerce-cart .product-name ul.wc-item-meta li strong,
.woocommerce-cart .product-name dl.variation dt {
    font-weight: 700 !important;
    color: #2b2b2b !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
}

.woocommerce-cart .product-name ul.wcpa_cart_meta .wcpa_cart_meta_item-value,
.woocommerce-cart .product-name ul.wc-item-meta li p,
.woocommerce-cart .product-name dl.variation dd,
.woocommerce-cart .product-name dl.variation dd p {
    color: #555566 !important;
    display: inline-block !important;
    max-width: 100% !important;
    min-width: 0 !important;
    word-break: break-word !important;
}

.woocommerce-cart .product-name ul.wcpa_cart_meta li.wcpa_cart_item_file {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

.woocommerce-cart .product-name ul.wcpa_cart_meta li.wcpa_cart_item_file .wcpa_cart_meta_item-label {
    display: block !important;
    margin-bottom: 2px !important;
}

.woocommerce-cart .product-name ul.wcpa_cart_meta li.wcpa_cart_item_file .wcpa_cart_meta_item-value,
.woocommerce-cart .product-name ul.wcpa_cart_meta li.wcpa_cart_item_file .wcpa_cart_meta_item-value p {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.woocommerce-cart .product-name ul.wcpa_cart_meta a.wcpa_file_link {
    pointer-events: none !important;
    cursor: default !important;
    color: #555566 !important;
    font-size: 0.88rem !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.3 !important;
}

.woocommerce-cart .product-name ul.wcpa_cart_meta a.wcpa_file_link span {
    font-size: 0.88rem !important;
    font-weight: 400 !important;
    color: #555566 !important;
}
.woocommerce-cart table.cart div.quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 42px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    border: 1px solid #E8E5DF !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;
    position: relative !important;
}

.woocommerce-cart table.cart div.quantity input.qty {
    border: none !important;
    background: transparent !important;
    height: 100% !important;
    width: 32px !important;
    text-align: center !important;
    font-size: 15px !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    box-shadow: none !important;
    order: 2 !important;
}

.woocommerce-cart table.cart div.quantity .ct-decrease {
    order: 1 !important;
}

.woocommerce-cart table.cart div.quantity .ct-increase {
    order: 3 !important;
}

.woocommerce-cart table.cart div.quantity .ct-decrease,
.woocommerce-cart table.cart div.quantity .ct-increase {
    width: 26px !important;
    height: 26px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border-radius: 50% !important;
    font-size: 16px !important;
    color: #595E66 !important;
    cursor: pointer !important;
    position: static !important;
}

.woocommerce-cart table.cart div.quantity .ct-decrease:hover,
.woocommerce-cart table.cart div.quantity .ct-increase:hover {
    background-color: #e2e8f0 !important;
}

.woocommerce-cart .product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #fdf2f4 !important;
    color: #d80b24 !important;
    border: 1px solid #f5c2c7 !important;
    font-size: 18px !important;
    line-height: 0 !important;
    text-decoration: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    transition: all 0.2s ease !important;
}

.woocommerce-cart .product-remove a.remove:hover {
    background: #d80b24 !important;
    border-color: #d80b24 !important;
    color: #ffffff !important;
}

.woocommerce-cart .product-remove a.remove:hover::before,
.woocommerce-cart .product-remove a.remove:hover svg,
.woocommerce-cart .product-remove a.remove:hover path {
    color: #ffffff !important;
    fill: #ffffff !important;
}

.woocommerce-cart .product-remove a.remove::before {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

/* 6.4 TARJETA DE CUPÓN Y ACCIONES */
.woocommerce-cart table.cart td.actions {
    background-color: transparent !important;
    border: none !important;
    padding: 15px 0 10px 0 !important;
}

.woocommerce-cart table.cart .coupon {
    background-color: #ffffff !important;
    border: 1px solid #f1eff5 !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    padding: 20px 24px !important;
    margin-bottom: 20px !important;
    width: 100% !important;
    max-width: 480px !important;
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

.woocommerce-cart .coupon input.input-text {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 999px !important;
    padding: 0 18px !important;
    height: 48px !important;
    font-size: 0.95rem !important;
    background-color: #f8fafc !important;
    color: #333333 !important;
    flex: 1 1 180px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

.woocommerce-cart .coupon input.input-text:focus {
    background-color: #ffffff !important;
    border-color: #df5d7b !important;
    box-shadow: 0 0 0 3px rgba(223, 93, 123, 0.15) !important;
    outline: none !important;
}

.woocommerce-cart .coupon .button {
    border-radius: 999px !important;
    padding: 0 22px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #df5d7b !important;
    color: #ffffff !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
}

.woocommerce-cart .coupon .button:hover {
    opacity: 0.9 !important;
    background-color: #d65d7a !important;
}

.woocommerce-cart .button[name="update_cart"] {
    display: none !important;
}

/* 6.5 Caja de Totales (Diseño Ticket) */
.woocommerce-cart .cart-collaterals .cart_totals,
.ct-woocommerce-cart-form .cart_totals {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 35px 30px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
    width: 100% !important;
    margin-top: 20px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals h2,
.ct-woocommerce-cart-form .cart_totals h2 {
    font-weight: 800 !important;
    font-size: 1.4rem !important;
    color: #2b2b2b !important;
    margin-bottom: 20px !important;
    border-bottom: 2px dashed #e2e8f0 !important;
    padding-bottom: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table,
.ct-woocommerce-cart-form .cart_totals table {
    width: 100% !important;
    border: none !important;
    margin-bottom: 25px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table td,
.ct-woocommerce-cart-form .cart_totals table th,
.ct-woocommerce-cart-form .cart_totals table td {
    border: none !important;
    border-bottom: 1px solid #f1eff5 !important;
    padding: 18px 0 !important;
    background: transparent !important;
    color: #555566 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table tr:has(+ tr.order-total) th,
.woocommerce-cart .cart-collaterals .cart_totals table tr:has(+ tr.order-total) td,
.ct-woocommerce-cart-form .cart_totals table tr:has(+ tr.order-total) th,
.ct-woocommerce-cart-form .cart_totals table tr:has(+ tr.order-total) td {
    border-bottom: none !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table th,
.ct-woocommerce-cart-form .cart_totals table th {
    font-weight: 600 !important;
    color: #2b2b2b !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table tr.order-total,
.ct-woocommerce-cart-form .cart_totals table tr.order-total {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    border-top: 2px dashed #e2e8f0 !important;
    padding-top: 25px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table tr.order-total th,
.woocommerce-cart .cart-collaterals .cart_totals table tr.order-total td,
.ct-woocommerce-cart-form .cart_totals table tr.order-total th,
.ct-woocommerce-cart-form .cart_totals table tr.order-total td {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    border: none !important;
    padding: 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table tr.order-total th,
.ct-woocommerce-cart-form .cart_totals table tr.order-total th {
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    margin-bottom: 8px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table tr.order-total td,
.ct-woocommerce-cart-form .cart_totals table tr.order-total td {
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    color: #df5d7b !important;
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    column-gap: 8px !important;
    row-gap: 4px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table tr.order-total td small.includes_tax,
.ct-woocommerce-cart-form .cart_totals table tr.order-total td small.includes_tax {
    display: inline-block !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #8a8e99 !important;
    margin: 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .checkout-button,
.ct-woocommerce-cart-form .cart_totals .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    border-radius: 999px !important;
    width: 100% !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    padding: 0 24px !important;
    height: 56px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 15px rgba(223, 93, 123, 0.25) !important;
    transition: all 0.3s ease !important;
}

/* 6.6 Estilos para móviles */
@media (max-width: 768px) {
    .woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item {
        display: block !important;
        background-color: #ffffff !important;
        border-radius: 16px !important;
        padding: 24px 20px !important;
        margin-bottom: 20px !important;
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04) !important;
        border: 1px solid #f1eff5 !important;
    }

    .woocommerce-cart table.cart td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        border: none !important;
        text-align: left !important;
    }

    .woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item td:first-child,
    .woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item td:last-child {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .woocommerce-cart table.cart td.product-price,
    .woocommerce-cart table.cart td.product-quantity,
    .woocommerce-cart table.cart td.product-subtotal,
    .woocommerce-cart table.cart td.product-remove {
        display: none !important;
    }

    .woocommerce-cart table.cart td.product-name .product-mobile-actions a.remove {
        margin-left: auto !important;
        margin-right: 0 !important;
    }

    .woocommerce-cart table.cart td.product-thumbnail {
        float: left !important;
        width: 75px !important;
        margin: 0 15px 10px 0 !important;
    }

    .woocommerce-cart table.cart td.product-thumbnail img {
        width: 100% !important;
        height: auto !important;
        border-radius: 8px !important;
    }

    .woocommerce-cart table.cart td.product-name {
        width: auto !important;
    }

    .woocommerce-cart .product-name > a {
        display: block !important;
        font-size: 1.1rem !important;
        margin-bottom: 8px !important;
        line-height: 1.3 !important;
        padding-top: 4px !important;
    }

    .woocommerce-cart .product-name ul.wcpa_cart_meta,
    .woocommerce-cart .product-name ul.wc-item-meta,
    .woocommerce-cart .product-name dl.variation {
        clear: both !important;
        display: block !important;
        width: 100% !important;
        padding-top: 8px !important;
    }

    .woocommerce-cart .product-mobile-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        margin-top: 15px !important;
        padding-top: 20px !important;
        border-top: 1px dashed #f1eff5 !important;
        clear: both !important;
    }

    .woocommerce-cart .product-mobile-actions .quantity {
        margin: 0 !important;
    }

    .woocommerce-cart .product-mobile-actions .price {
        font-size: 1.1rem !important;
        font-weight: 700 !important;
        color: #2b2b2b !important;
    }

    .woocommerce-cart .coupon {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .woocommerce-cart .coupon input.input-text,
    .woocommerce-cart .coupon .button,
    .woocommerce-cart .button[name="update_cart"] {
        width: 100% !important;
        max-width: 100% !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals,
    .ct-woocommerce-cart-form .cart_totals {
        padding: 25px 20px !important;
    }
}

/* ==========================================================================
   6.7 AJUSTE DE ACCIONES DEL CARRITO (TABLET Y MÓVIL) - DEFINITIVO
   ========================================================================== */
@media (max-width: 1024px) {
    .ct-woocommerce-cart-form {
        gap: 20px !important;
        row-gap: 20px !important;
    }

    .woocommerce-cart-form,
    .woocommerce-cart table.cart {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .woocommerce-cart table.cart td.actions {
        display: table-cell !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .woocommerce-cart table.cart .coupon {
        max-width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        padding: 20px 18px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .woocommerce-cart .coupon input.input-text,
    .woocommerce-cart .coupon .button {
        width: 100% !important;
        flex: 1 1 auto !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals,
    .ct-woocommerce-cart-form .cart_totals {
        margin-top: 0 !important;
    }

    .woocommerce-cart table.cart td.product-name .product-mobile-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        margin-top: 15px !important;
        padding-top: 20px !important;
        border-top: 1px dashed #f1eff5 !important;
        clear: both !important;
    }

    .woocommerce-cart table.cart td.product-name .product-mobile-actions a.remove {
        margin-left: auto !important;
        margin-right: 15px !important;
    }
}

/* ==========================================================================
   6.8 AVISO INFORMATIVO Y DE ÉXITO EN EL CARRITO
   ========================================================================== */

.woocommerce-cart .woocommerce-notices-wrapper {
    margin-bottom: 25px !important;
}

.woocommerce-cart .woocommerce-message {
    background-color: #ffffff !important;
    border: 1.5px solid #d3f9d8 !important;
    border-radius: 14px !important;
    padding: 14px 20px !important;
    margin: 0 !important;
    box-shadow: 0 4px 18px rgba(12, 166, 120, 0.08) !important;
    color: #2b2b2b !important;
    font-size: 0.94rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .woocommerce-message::before {
    content: "" !important;
    display: inline-block !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    background-color: #0ca678 !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'%3E%3C/path%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'%3E%3C/path%3E%3C/svg%3E") !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    margin: 0 !important;
    position: static !important;
}

.woocommerce-cart .woocommerce-message .button {
    margin-left: auto !important;
    border-radius: 999px !important;
    background-color: #0ca678 !important;
    color: #ffffff !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    padding: 8px 18px !important;
    border: none !important;
    line-height: 1.2 !important;
    transition: all 0.2s ease !important;
}

.woocommerce-cart .woocommerce-message .button:hover {
    background-color: #099268 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   7. PÁGINA DE PAGO (CHECKOUT)
   ========================================================================== */

/* 7.1 Tarjetas de los pasos (Fieldsets de la columna izquierda) */
.wc-block-components-checkout-step {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 30px 35px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
    margin-bottom: 25px !important;
}


/* 7.2 Títulos de cada paso y botón de Iniciar sesión */
.wc-block-components-checkout-step__title,
.wc-block-components-checkout-step__content {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.wc-block-components-checkout-step__heading-container,
.wc-block-components-checkout-step__heading {
    position: relative !important;
}

.wc-block-components-checkout-step__title {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: #2b2b2b !important;
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px dashed #e2e8f0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: flex !important;
    align-items: center !important;
}

.wc-block-components-checkout-step__title .wc-block-components-checkout-step__number,
.wc-block-components-checkout-step__title::before {
    display: none !important;
}

.wc-block-components-checkout-step__content {
    margin-top: 20px !important;
}

#order-notes .wc-block-components-checkout-step__content,
.wc-block-checkout__order-notes .wc-block-components-checkout-step__content {
    margin-top: 0 !important;
}

#order-notes .wc-block-components-checkbox,
.wc-block-checkout__order-notes .wc-block-components-checkbox {
    margin: 0 !important;
}

.wc-block-components-checkout-step__heading-content .wc-block-checkout__login-prompt {
    display: none !important;
}

a.hcm-custom-login-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #df5d7b !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 6px 18px !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    box-shadow: 0 4px 15px rgba(223, 93, 123, 0.25) !important;
    transition: all 0.3s ease !important;
    z-index: 2 !important;
}

a.hcm-custom-login-btn:hover {
    opacity: 0.9 !important;
    background-color: #d65d7a !important;
    color: #ffffff !important;
    box-shadow: 0 6px 20px rgba(223, 93, 123, 0.35) !important;
    transform: none !important;
}

@media (min-width: 782px) {
    a.hcm-custom-login-btn {
        position: absolute !important;
        right: 0 !important;
        top: -2px !important;
        margin: 0 !important;
    }
}

@media (max-width: 781px) {
    a.hcm-custom-login-btn {
        position: static !important;
        margin: 0 0 18px 0 !important;
        width: auto !important;
    }
}

/* 7.3 Eliminar línea vertical conectora de los pasos */
.wc-block-components-checkout-step__content::before {
    display: none !important;
}

/* 7.4 Tarjeta de Resumen del pedido (Columna Derecha) */
.wp-block-woocommerce-checkout-order-summary-block {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 35px 30px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
}

/* Título del resumen del pedido ("Ticket") */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
    border-bottom: 2px dashed #e2e8f0 !important;
    padding-bottom: 20px !important;
    margin-bottom: 20px !important;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text {
    font-weight: 800 !important;
    font-size: 1.4rem !important;
    color: #2b2b2b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 !important;
}

.wc-block-components-product-metadata__description {
    display: none !important;
}

/* 7.5 Campos de formulario (Inputs, Selectores y Textareas) */
.wc-block-components-text-input input,
.wc-block-components-select-input select,
.wc-block-components-combobox-control input,
.wc-block-checkout__form input[type="text"],
.wc-block-checkout__form input[type="email"],
.wc-block-checkout__form input[type="tel"],
.wc-block-checkout__form select,
.wc-block-checkout__form textarea {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    background-color: #ffffff !important;
    color: #333333 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: none !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-select-input select:focus,
.wc-block-components-combobox-control input:focus,
.wc-block-checkout__form input[type="text"]:focus,
.wc-block-checkout__form input[type="email"]:focus,
.wc-block-checkout__form input[type="tel"]:focus,
.wc-block-checkout__form select:focus,
.wc-block-checkout__form textarea:focus {
    border-color: #d65d7a !important;
    box-shadow: 0 0 0 3px rgba(214, 93, 122, 0.15) !important;
    outline: none !important;
}

.wc-block-components-address-form__country {
    display: none !important;
}

/* ==========================================================================
   7.5.1 CASILLA DE TÉRMINOS Y CONDICIONES (TARJETA INDEPENDIENTE)
   ========================================================================== */
.wc-block-checkout__terms,
.wp-block-woocommerce-checkout-terms-block {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 30px 35px !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
    box-sizing: border-box !important;
}

.wc-block-checkout__terms.has-separator,
.wp-block-woocommerce-checkout-terms-block.has-separator {
    border-top: none !important;
    padding-top: 30px !important;
}

.wc-block-checkout__terms::before,
.wp-block-woocommerce-checkout-terms-block::before {
    display: none !important;
}

/* Evitar que el label ocupe toda la tarjeta para no marcarlo haciendo clic en zonas vacías */
.wc-block-checkout__terms .wc-block-components-checkbox,
.wp-block-woocommerce-checkout-terms-block .wc-block-components-checkbox {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    max-width: 100% !important;
    width: auto !important;
}

/* Textos y enlaces (el cuadradito hereda ahora la estética nativa igual que "Notas") */
.wc-block-checkout__terms .wc-block-components-checkbox__label,
.wp-block-woocommerce-checkout-terms-block .wc-block-components-checkbox__label {
    font-size: 0.95rem !important;
    color: #2b2b2b !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.wc-block-checkout__terms .wc-block-components-checkbox__label a,
.wp-block-woocommerce-checkout-terms-block .wc-block-components-checkbox__label a {
    color: #df5d7b !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    transition: color 0.2s ease !important;
}

.wc-block-checkout__terms .wc-block-components-checkbox__label a:hover,
.wp-block-woocommerce-checkout-terms-block .wc-block-components-checkbox__label a:hover {
    color: #c94665 !important;
}

@media (max-width: 781px) {
    .wc-block-checkout__terms,
    .wp-block-woocommerce-checkout-terms-block {
        padding: 24px 20px !important;
        margin-bottom: 20px !important;
    }

    .wc-block-checkout__terms.has-separator,
    .wp-block-woocommerce-checkout-terms-block.has-separator {
        padding-top: 24px !important;
    }

    .wc-block-checkout__terms .wc-block-components-checkbox__label,
    .wp-block-woocommerce-checkout-terms-block .wc-block-components-checkbox__label {
        font-size: 0.88rem !important;
    }
}

/* 7.6 Botón de Realizar Pedido */
.wc-block-components-checkout-place-order-button {
    background-color: #df5d7b !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    padding: 0 24px !important;
    height: 56px !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    box-shadow: 0 4px 15px rgba(223, 93, 123, 0.25) !important;
    margin-top: 15px !important;
}

.wc-block-components-checkout-place-order-button:hover {
    opacity: 0.9 !important;
    background-color: #d65d7a !important;
    box-shadow: 0 6px 20px rgba(223, 93, 123, 0.35) !important;
}

/* 7.7 AVISOS DE ERROR */
.woocommerce-page .wc-block-components-notice-banner.is-error,
.wc-block-components-notice-banner.is-error {
    background-color: #fdf2f4 !important;
    border: 1.5px solid #f5c2c7 !important;
    border-radius: 12px !important;
    padding: 16px 18px !important;
    box-shadow: 0 4px 16px rgba(216, 11, 36, 0.06) !important;
    margin-bottom: 24px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

.woocommerce-page .wc-block-components-notice-banner.is-error > svg,
.wc-block-components-notice-banner.is-error > svg {
    fill: #ffffff !important;
    color: #ffffff !important;
    background-color: #d80b24 !important;
    border-radius: 50% !important;
    padding: 3px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
}

.wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__content {
    flex-grow: 1 !important;
    font-size: 0.92rem !important;
    line-height: 1.45 !important;
}

.wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__summary {
    font-weight: 700 !important;
    color: #c92a2a !important;
    margin: 0 0 4px 0 !important;
}

.wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    color: #495057 !important;
    font-weight: 500 !important;
}

.woocommerce-page .wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__dismiss,
.wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__dismiss {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 50% !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 0 0 8px !important;
    cursor: pointer !important;
    color: #8a8e99 !important;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
    flex-shrink: 0 !important;
}

.woocommerce-page .wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__dismiss:hover,
.wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__dismiss:hover {
    background-color: rgba(216, 11, 36, 0.12) !important;
    color: #d80b24 !important;
    transform: scale(1.08) !important;
}

.woocommerce-page .wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__dismiss svg,
.wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__dismiss svg {
    background: transparent !important;
    background-color: transparent !important;
    fill: currentColor !important;
    color: currentColor !important;
    width: 14px !important;
    height: 14px !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* 7.7.1 AVISOS INFORMATIVOS (PAGO EXPRÉS) */
.wc-block-checkout__main > .woocommerce-info,
.woocommerce-info[class*="taxes-info"] {
    display: none !important;
}

/* ==========================================================================
   7.8 ESTILOS MÓVILES (CHECKOUT) - Hasta 781px (Modo Acordeón)
   ========================================================================== */
@media (max-width: 781px) {
    /* 1. Ocultar estrictamente el resumen del pedido duplicado inferior */
    .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper {
        display: none !important;
    }

    /* 2. Ajustar el espaciado interior de las tarjetas blancas */
    .wc-block-components-checkout-step {
        padding: 24px 20px !important;
        margin-bottom: 20px !important;
    }

    /* 3. Reducir ligeramente el tamaño del título de cada paso */
    .wc-block-components-checkout-step__title {
        font-size: 1.15rem !important;
        padding-bottom: 12px !important;
        margin-bottom: 15px !important;
    }

    /* 4. Estructura de cuadrícula (Grid) para apilar título y precio en el desplegable */
    .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        align-items: center !important;
        row-gap: 4px !important;
        padding-bottom: 15px !important;
    }

    .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text {
        grid-column: 1 / 2 !important;
        grid-row: 1 / 2 !important;
        font-size: 1.05rem !important;
        line-height: 1.2 !important;
        margin: 0 !important;
        border: none !important;
        padding: 0 !important;
    }

    /* Precio debajo del título */
    .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-price {
        grid-column: 1 / 2 !important;
        grid-row: 2 / 3 !important;
        font-size: 1.2rem !important;
        color: #df5d7b !important;
        font-weight: 800 !important;
        margin: 0 !important;
    }

    /* Contenedor del icono de la flecha */
    .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-icon {
        grid-column: 2 / 3 !important;
        grid-row: 1 / 3 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* 5. Convertir la flecha en un botón táctil circular */
    .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title svg {
        background-color: #fdf2f4 !important;
        fill: #df5d7b !important;
        color: #df5d7b !important;
        border-radius: 50% !important;
        padding: 8px !important;
        width: 36px !important;
        height: 36px !important;
        box-sizing: border-box !important;
        transition: transform 0.3s ease, background-color 0.2s ease !important;
        margin: 0 !important;
    }
}

/* ==========================================================================
   7.9 ESTILOS TABLET (CHECKOUT) - De 782px a 1024px (Modo Apilado)
   ========================================================================== */
@media (min-width: 782px) and (max-width: 1024px) {
    /* 1. Forzar una sola columna al 100% de ancho */
    .wc-block-checkout {
        display: flex !important;
        flex-direction: column !important;
        box-sizing: border-box !important;
    }

    .wc-block-checkout__main,
    .wc-block-checkout__sidebar {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* 2. Orden lógico: Formulario arriba, Ticket de resumen abajo */
    .wc-block-checkout__main {
        order: 1 !important;
        margin-bottom: 30px !important;
    }

    .wc-block-checkout__sidebar {
        order: 2 !important;
    }

    /* 3. Romper el comportamiento "flotante/sticky" para eliminar solapamientos */
    .wc-block-components-sidebar-layout.is-large {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        padding: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* 4. Ajustar tarjetas para tablet */
    .wc-block-components-checkout-step {
        padding: 24px 20px !important;
        margin-bottom: 20px !important;
    }

    .wc-block-components-checkout-step__title {
        font-size: 1.2rem !important;
        padding-bottom: 12px !important;
        margin-bottom: 15px !important;
    }
    
    /* 5. Asegurar que la tarjeta de resumen se muestra correctamente al 100% */
    .wp-block-woocommerce-checkout-order-summary-block {
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ==========================================================================
   8. WOOCOMMERCE - DESCRIPCIÓN LARGA DE PRODUCTO (CUSTOM)
   ========================================================================== */

.custom-product-desc {
    font-family: inherit;
    color: #555A64;
}

.custom-product-desc h2 {
    font-family: 'Quicksand', sans-serif !important;
    font-size: 1.5rem !important;
    color: #2D3139 !important;
    margin: 60px 0 20px 0 !important;
    padding-bottom: 8px !important;
    border-bottom: 1.5px solid #F1E8EC !important;
    letter-spacing: -0.01em !important;
}

.custom-product-desc h2:first-of-type {
    margin-top: 0 !important;
}

.custom-product-desc .intro-text {
    font-size: 1.05rem;
    color: #555A64;
    margin-bottom: 35px !important;
    line-height: 1.6;
}

.custom-product-desc .usp-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 35px !important;
}

@media (min-width: 768px) {
    .custom-product-desc .usp-row {
        grid-template-columns: repeat(3, 1fr);
    }
}

.custom-product-desc .usp-card {
    background-color: #ffffff;
    border: 1px solid #E8E5DF;
    border-radius: 12px;
    padding: 20px 15px;
    text-align: center;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.02);
}

.custom-product-desc .usp-icon {
    font-size: 28px;
    display: block;
    margin-bottom: 10px;
}

.custom-product-desc .usp-card > strong:first-of-type {
    display: block;
    font-size: 1rem;
    color: #2b2b2b;
    margin-bottom: 8px;
    font-weight: 700;
}

.custom-product-desc .usp-card p {
    font-size: 0.9rem;
    color: #555A64;
    margin: 0;
    line-height: 1.4;
}

.custom-product-desc img {
    border-radius: 12px !important;
    max-width: 100%;
    height: auto;
    margin: 10px 0 25px 0;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}

.custom-product-desc .features-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 20px;
    margin-bottom: 30px;
}

.custom-product-desc .features-grid > p {
    display: none !important;
}

@media (min-width: 768px) {
    .custom-product-desc .features-grid:has(> div.feature-item:nth-of-type(2):last-of-type) {
        grid-template-columns: repeat(2, 1fr);
    }

    .custom-product-desc .features-grid:has(> div.feature-item:nth-of-type(3):last-of-type) {
        grid-template-columns: repeat(3, 1fr);
    }

    .custom-product-desc .features-grid:has(> div.feature-item:nth-of-type(4):last-of-type) {
        grid-template-columns: repeat(2, 1fr);
    }
}

.custom-product-desc .feature-item {
    background: #ffffff;
    border-left: 4px solid #E26D85;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    padding: 15px 18px;
    border-radius: 0 12px 12px 0;
}

.custom-product-desc .feature-item > strong:first-child {
    display: block;
    font-size: 0.95rem;
    margin-bottom: 6px;
    color: #2b2b2b;
    font-weight: 700;
}

.custom-product-desc .feature-item p {
    font-size: 0.9rem;
    color: #555A64;
    margin: 0;
    line-height: 1.5;
}

.custom-product-desc .gift-box {
    background-color: #fafbfc;
    border: 1px solid #f1eff5;
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    margin-top: 40px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.02);
}

.custom-product-desc .gift-box h3 {
    color: #df5d7b;
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 1.3rem;
    font-weight: 800;
}

.custom-product-desc .gift-box p {
    margin: 0;
    color: #555A64;
    line-height: 1.5;
}

/* Eliminar saltos de línea y párrafos vacíos fantasma que inyecta WordPress */
.custom-product-desc .usp-card br,
.custom-product-desc .usp-card p:empty {
    display: none !important;
}

@media (max-width: 767px) {
    .custom-product-desc h2 {
        font-size: 1.18rem !important;
        line-height: 1.3 !important;
        margin: 36px 0 16px 0 !important;
    }

    .custom-product-desc h2:first-of-type {
        margin-top: 0 !important;
    }

    .custom-product-desc .intro-text {
        font-size: 0.96rem;
        margin-bottom: 24px !important;
    }

    .custom-product-desc .usp-card {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: 16px;
        text-align: left;
        padding: 16px 18px;
        align-items: center;
    }

    .custom-product-desc .usp-icon {
        grid-column: 1 / 2;
        grid-row: 1 / 3;
        margin-bottom: 0;
        font-size: 32px;
        align-self: center;
    }

    .custom-product-desc .usp-card > strong:first-of-type {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        margin-bottom: 4px;
        font-size: 1rem;
    }

    .custom-product-desc .usp-card p {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
    }
}

/* ==========================================================================
   BOTÓN VOLVER ARRIBA Y OCULTAR FLECHA FLOTANTE (FICHA DE PRODUCTO)
   ========================================================================== */

html {
    scroll-behavior: smooth !important;
}

#ancla-resumen {
    scroll-margin-top: 40px !important;
}

.btn-subir-personalizar-container {
    text-align: center !important;
    margin-top: 50px !important;
    margin-bottom: 20px !important;
}

.btn-subir-personalizar {
    align-items: center !important;
    justify-content: center !important;
    background-color: #fdf2f5 !important;
    color: #df5d7b !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    padding: 14px 32px !important;
    border: 2px solid #f5d0da !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 15px rgba(223, 93, 123, 0.1) !important;
    transition: all 0.3s ease !important;
}

.btn-subir-personalizar:hover {
    background-color: #df5d7b !important;
    color: #ffffff !important;
    border-color: #df5d7b !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 20px rgba(223, 93, 123, 0.25) !important;
}

.btn-desktop {
    display: inline-flex !important;
}

.btn-movil {
    display: none !important;
}

.single-product .ct-back-to-top {
    display: none !important;
}

@media (max-width: 768px) {
    .btn-desktop {
        display: none !important;
    }
    
    .btn-movil {
        display: inline-flex !important;
    }
}

/* ==========================================================================
   9. WOOCOMMERCE - TARJETAS VERTICALES DE CONTENIDO (CAJAS DE REGALO)
   ========================================================================== */
.custom-product-desc .vertical-product-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
}

.custom-product-desc .vertical-product-card {
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 24px;
    background-color: #ffffff;
    border: 1px solid #E8E5DF;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.02);
}

.custom-product-desc .vpc-badge {
    position: absolute;
    top: -11px;
    left: 16px;
    background-color: #ffffff;
    color: #686D76;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    line-height: 1;
    padding: 5px 12px;
    border-radius: 999px;
    border: 1px solid #E8E5DF;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
    z-index: 2;
}

.custom-product-desc .vpc-image {
    flex: 0 0 180px;
    border-radius: 8px;
    overflow: hidden;
    background-color: #f9f8f6;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
}

.custom-product-desc .vpc-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.custom-product-desc .vpc-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 0;
}

.custom-product-desc .vpc-title {
    font-family: 'Quicksand', sans-serif !important;
    display: block;
    font-size: 1.35rem;
    color: #2b2b2b;
    font-weight: 800;
    margin-bottom: 10px;
    line-height: 1.25;
}

.custom-product-desc .vpc-desc {
    display: block;
    font-size: 1rem;
    color: #555A64;
    margin-bottom: 0;
    line-height: 1.6;
}

/* --- INFORMACIÓN TÉCNICA --- */
.custom-product-desc .vpc-tech-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 12px;
    font-size: 0.85rem;
    color: #8a8e99;
    font-weight: 600;
}

.custom-product-desc .vpc-tech-info br {
    display: none !important;
}

.custom-product-desc .vpc-tech-info span {
    display: flex;
    align-items: center;
}

@media (min-width: 769px) {
    .custom-product-desc .vpc-tech-info {
        flex-direction: row;
        gap: 0;
    }
    
    .custom-product-desc .vpc-tech-info span:not(:last-child)::after {
        content: "•";
        color: #d1d5db;
        margin-left: 12px;
        margin-right: 12px;
        display: inline-block;
    }
}

/* --- RESPONSIVE MÓVIL --- */
@media (max-width: 768px) {
    .custom-product-desc .vertical-product-card {
        flex-direction: column;
        gap: 16px;
        padding: 16px;
    }
    
    .custom-product-desc .vpc-image {
        width: 100%;
        height: auto;
        flex: none;
    }
    
    .custom-product-desc .vpc-content {
        padding: 0;
    }

    .custom-product-desc .vpc-tech-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

/* ==========================================================================
   11. FORMULARIO DE CONTACTO (FLUENT FORMS)
   ========================================================================== */

/* 11.1 CONTENEDOR TIPO TARJETA */
.fluentform_wrapper_1,
.fluentform {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 35px 30px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
    box-sizing: border-box !important;
    max-width: 720px;
    margin: 0 auto;
}

/* 11.2 ESTRUCTURA DE FILAS Y GRUPOS */
.fluentform .ff-el-group {
    margin-bottom: 22px !important;
}

/* 11.3 ETIQUETAS Y ASTERISCO */
.fluentform .ff-el-input--label label {
    display: inline-block !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #2b2b2b !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
}

.fluentform .ff-el-is-required.asterisk-right label::after,
.fluentform label .text-danger {
    color: #d80b24 !important;
    margin-left: 4px !important;
}

/* 11.4 CAMPOS DE TEXTO, EMAIL Y TEXTAREA */
.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform textarea {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 0.95rem !important;
    color: #333333 !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.fluentform input[type="text"]::placeholder,
.fluentform input[type="email"]::placeholder,
.fluentform textarea::placeholder {
    color: #a0aec0 !important;
    font-size: 0.95rem !important;
}

/* 11.5 EFECTO FOCUS EN CAMPOS */
.fluentform input[type="text"]:focus,
.fluentform input[type="email"]:focus,
.fluentform textarea:focus {
    border-color: #d65d7a !important;
    box-shadow: 0 0 0 3px rgba(214, 93, 122, 0.15) !important;
    outline: none !important;
}

/* 11.6 TEXTAREA */
.fluentform textarea {
    min-height: 140px !important;
    resize: vertical !important;
    line-height: 1.5 !important;
}

/* 11.7 BOTÓN DE ENVÍO */
.fluentform .ff-btn-submit {
    background-color: #df5d7b !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    padding: 0 32px !important;
    height: 52px !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 15px rgba(223, 93, 123, 0.25) !important;
    transition: all 0.3s ease !important;
}

.fluentform .ff-btn-submit:hover {
    opacity: 0.9 !important;
    background-color: #d65d7a !important;
    box-shadow: 0 6px 20px rgba(223, 93, 123, 0.35) !important;
}

/* 11.8 AVISOS DE ÉXITO Y ERROR */
.fluentform .ff-message-success {
    background-color: #f6ffed !important;
    border: 1px solid #b7eb8f !important;
    color: #389e0d !important;
    border-radius: 8px !important;
    padding: 14px 18px !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    margin-top: 15px !important;
}

.fluentform .error,
.fluentform .text-danger,
.fluentform .ff-errors-in-stack {
    color: #d80b24 !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    margin-top: 4px !important;
}

/* 11.9 RESPONSIVE MÓVIL */
@media (max-width: 768px) {
    .fluentform_wrapper_1,
    .fluentform {
        padding: 24px 20px !important;
        border-radius: 16px !important;
    }

    .fluentform .ff-btn-submit {
        width: 100% !important;
    }
}

/* ==========================================================================
   12. PÁGINA DE CONTACTO (CABECERA Y DETALLES)
   ========================================================================== */

/* 12.1 HERO Y TÍTULOS */
.contacto-hero {
    text-align: center;
    max-width: 680px;
    margin: 50px auto 35px auto;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contacto-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    color: #ea5b82;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 6px 16px;
    border: 1.5px solid #ea5b82;
    border-radius: 999px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    margin-bottom: 16px;
}

.contacto-title {
    font-size: 2.6rem;
    font-weight: 900;
    color: #2b2b2b;
    position: relative;
    display: block !important;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 16px auto !important;
    letter-spacing: -0.5px;
    padding-bottom: 0;
}

.contacto-subtitle {
    font-size: 1.05rem;
    color: #555555;
    line-height: 1.6;
    background-color: rgba(255, 255, 255, 0.6);
    padding: 14px 28px;
    border-radius: 40px;
    font-weight: 500;
    margin: 0 auto;
    max-width: 580px;
}

/* 12.2 AJUSTES MÓVILES */
@media (max-width: 768px) {
    .contacto-hero {
        margin: 30px auto 25px auto;
    }

    .contacto-title {
        font-size: 1.7rem;
        line-height: 1.3;
        padding-bottom: 0;
        margin-bottom: 14px !important;
    }

    .contacto-subtitle {
        font-size: 0.95rem;
        padding: 12px 20px;
        border-radius: 24px;
    }
}

/* ==========================================================================
   13. VALORACIONES DE PRODUCTOS
   ========================================================================== */

.icono-opinion-svg {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 6px;
    vertical-align: sub;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 8.5H16.5M7.5 12.5H13'%3E%3C/path%3E%3Cpath d='M22 10.5C22 9.72921 21.9865 8.97679 21.9609 8.2503C21.8772 5.87683 21.8353 4.69009 20.8699 3.71745C19.9046 2.74481 18.6843 2.6926 16.2438 2.58819C14.9048 2.5309 13.4791 2.5 12 2.5C10.5209 2.5 9.09517 2.5309 7.7562 2.58819C5.3157 2.6926 4.09545 2.74481 3.13007 3.71745C2.16469 4.69009 2.12282 5.87683 2.03909 8.2503C2.01346 8.97679 2 9.72921 2 10.5C2 11.2708 2.01346 12.0232 2.03909 12.7497C2.12282 15.1232 2.16469 16.3099 3.13007 17.2826C4.09545 18.2552 5.31573 18.3074 7.7563 18.4118C8.4902 18.4432 9.25016 18.4667 10.0307 18.4815C10.7718 18.4955 11.1424 18.5026 11.468 18.6266C11.7936 18.7506 12.0675 18.9855 12.6155 19.4553L14.795 21.3242C14.9273 21.4376 15.0958 21.5 15.2701 21.5C15.6732 21.5 16 21.1732 16 20.7701V18.4219C16.0816 18.4186 16.1629 18.4153 16.2438 18.4118C18.6843 18.3074 19.9046 18.2552 20.8699 17.2825C21.8353 16.3099 21.8772 15.1232 21.9609 12.7497C21.9865 12.0232 22 11.2708 22 10.5Z'%3E%3C/path%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

#reviews #comments,
#reviews #review_form_wrapper {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 35px 30px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
    box-sizing: border-box !important;
}

#reviews.woocommerce-Reviews {
    gap: 30px !important;
}

/* Tarjeta compacta con comportamiento sticky */
#reviews #review_form_wrapper {
    align-self: start !important;
    height: fit-content !important;
    position: sticky !important;
    top: 100px !important;
    z-index: 2 !important;
}

#reviews #comments h2.woocommerce-Reviews-title,
#reviews #review_form_wrapper .comment-reply-title {
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: #2b2b2b !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px dashed #e2e8f0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    letter-spacing: 0.5px !important;
    line-height: 1.4 !important;
}

#reviews #comments h2.woocommerce-Reviews-title span {
    font-weight: 600 !important;
    color: #555566 !important;
    display: inline-block !important;
    margin-left: 6px !important;
}

#reviews .commentlist li.ct-reviews-summary {
    border-top: none !important;
}

#reviews #review_form_wrapper label {
    display: inline-block !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #2b2b2b !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
}

#reviews #review_form_wrapper label .required {
    color: #d80b24 !important;
    text-decoration: none !important;
    margin-left: 4px !important;
}

#reviews #review_form_wrapper .comment-form-rating {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
}

#reviews #review_form_wrapper .comment-form-rating label {
    margin-bottom: 0 !important;
}

#reviews #review_form_wrapper .comment-form-rating .stars {
    margin: 0 !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
}

#reviews #review_form_wrapper .comment-form-rating .stars span {
    display: flex !important;
    align-items: center !important;
}

#reviews #review_form_wrapper .comment-form-rating .stars a {
    font-size: 0 !important; 
    line-height: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#reviews #review_form_wrapper .comment-form-rating .stars a::before {
    font-size: 1.4rem !important; 
    line-height: 1 !important;
    display: block !important;
}

#reviews #review_form_wrapper textarea,
#reviews #review_form_wrapper input[type="text"],
#reviews #review_form_wrapper input[type="email"] {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 0.95rem !important;
    color: #333333 !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

#reviews #review_form_wrapper textarea {
    min-height: 140px !important;
    resize: vertical !important;
    line-height: 1.5 !important;
}

#reviews #review_form_wrapper textarea:focus,
#reviews #review_form_wrapper input[type="text"]:focus,
#reviews #review_form_wrapper input[type="email"]:focus {
    border-color: #d65d7a !important;
    box-shadow: 0 0 0 3px rgba(214, 93, 122, 0.15) !important;
    outline: none !important;
}

#reviews #review_form_wrapper .submit {
    background-color: #df5d7b !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    padding: 0 32px !important;
    height: 52px !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 15px rgba(223, 93, 123, 0.25) !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    margin-top: 15px !important;
}

#reviews #review_form_wrapper .submit:hover {
    opacity: 0.9 !important;
    background-color: #d65d7a !important;
    box-shadow: 0 6px 20px rgba(223, 93, 123, 0.35) !important;
}

#reviews .commentlist {
    padding: 0 !important;
    margin: 0 !important;
}

#reviews .commentlist li.review {
    background-color: #fafbfc !important;
    border: 1px solid #f1eff5 !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    list-style: none !important;
}

#reviews .commentlist li.review .description {
    color: #555566 !important;
    font-size: 0.96rem !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
}

.ct-review-upload-section {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

#reviews #review_form_wrapper label.ct-upload-button {
    border: 1.5px dashed #e2e8f0 !important;
    border-radius: 8px !important;
    background-color: #fafbfc !important;
    color: #df5d7b !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ct-review-upload-section .ct-upload-button:hover {
    border-color: #df5d7b !important;
    background-color: #fdf2f4 !important;
}

#reviews #comments:has(.woocommerce-noreviews) {
    display: none !important;
}

#reviews.woocommerce-Reviews:has(.woocommerce-noreviews) {
    display: flex !important;
    justify-content: center !important;
}

#reviews.woocommerce-Reviews:has(.woocommerce-noreviews) #review_form_wrapper {
    max-width: 600px !important;
    width: 100% !important;
}

.woocommerce-Reviews .woocommerce-review-link {
    display: none !important;
}

.ct-reviews-average-rating-info .star-rating {
    font-size: 1.25rem !important;
}

.wc-review-badge-wrapper {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

#reviews .commentlist li.review .meta {
    margin-block-end: 4px !important;
    margin-bottom: 4px !important;
}

.wc-review-badge.badge-unverified {
    display: inline-flex;
    align-items: center;
    background-color: #f1f3f5;
    color: #6c757d;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid #dee2e6;
    line-height: 1.2;
}

/* 1. Ocultar la etiqueta original nativa junto al nombre */
#reviews .woocommerce-review__verified {
    display: none !important;
}

/* 2. Diseño premium de la nueva etiqueta de Comprador verificado */
.wc-review-badge.badge-verified {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background-color: #e6fcf5;
    color: #0ca678;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.3px;
    padding: 4px 12px;
    border-radius: 999px;
    border: 1px solid #20c997;
    line-height: 1.2;
    box-shadow: 0 2px 8px rgba(12, 166, 120, 0.18);
}

/* Ajuste fino del icono SVG para que quede centrado con el texto */
.wc-review-badge.badge-verified svg {
    display: block;
    margin-top: -1px; 
}

#reviews .comment_container {
    padding-top: 0 !important;
}

@media (max-width: 768px) {
    #reviews.woocommerce-Reviews {
        gap: 20px !important;
    }

    #reviews #comments,
    #reviews #review_form_wrapper {
        padding: 24px 20px !important;
    }

    #reviews #review_form_wrapper {
        position: static !important;
        top: auto !important;
    }

    #reviews #comments h2.woocommerce-Reviews-title,
    #reviews #review_form_wrapper .comment-reply-title {
        font-size: 1.15rem !important;
        padding-bottom: 12px !important;
        margin-bottom: 15px !important;
    }
    
    #reviews .commentlist li.review {
        padding: 20px 16px !important;
    }

    #reviews .comment_container {
        grid-template-columns: auto 1fr !important;
        column-gap: 14px !important;
    }
}

/* --- CASILLA DE CONSENTIMIENTO DE COMENTARIOS --- */
.comment-form-cookies-consent {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

.comment-form-cookies-consent input[type="checkbox"] {
    margin-top: 3px !important;
    flex-shrink: 0 !important;
}

.comment-form-cookies-consent label {
    margin: 0 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
}

/* ==========================================================================
   14. CARRUSEL DE VALORACIONES DESTACADAS (HOME)
   ========================================================================== */

.carrusel-reviews-wrapper {
    position: relative;
    max-width: 1200px;
    margin: 40px auto 100px auto !important; 
    padding: 0 45px;
    box-sizing: border-box;
}

.carrusel-reviews-swiper {
    width: 100%;
    overflow: hidden;
    padding-bottom: 20px;
    margin-bottom: -20px;
}

/* 1. Forzamos a Swiper a estirar los contenedores (las columnas invisibles) */
.carrusel-reviews-swiper .swiper-wrapper {
    align-items: stretch !important;
}

/* 2. El slide (.swiper-slide) adopta la altura que le da Swiper y se hace flex */
.carrusel-reviews-swiper .swiper-slide {
    height: auto !important; 
    display: flex; /* Esto es clave: transmite la altura a la tarjeta interior */
}

/* 3. La tarjeta interior. Al ser hija de flex, ahora sí tiene una altura calculada real */
.carrusel-review-card {
    width: 100%;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid #f1eff5;
    border-radius: 16px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Imagen del producto superior */
.carrusel-card-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background-color: #fafbfc;
    flex-shrink: 0;
}

.carrusel-card-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.carrusel-card-image img.carrusel-product-thumb {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: transform 0.35s ease;
}

.carrusel-review-card:hover .carrusel-card-image img.carrusel-product-thumb {
    transform: scale(1.04);
}

/* Contenedor del contenido inferior */
.carrusel-card-content {
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Al fin, esto funcionará porque su padre tiene una altura real */
    text-align: center;
}

/* Estrellas Hugeicons */
.carrusel-stars {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-bottom: 10px;
}

.carrusel-star-svg {
    width: 24px;
    height: 24px;
    display: block;
    flex-shrink: 0;
}

.carrusel-star-svg.filled {
    color: #f5b041;
    fill: #f5b041;
}

.carrusel-star-svg.empty {
    color: #e2e8f0;
    fill: #e2e8f0;
}

/* Nombre del autor + check */
.carrusel-author-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 12px;
}

.carrusel-author-name {
    font-size: 0.98rem;
    color: #2b2b2b;
    font-weight: 700;
}

.carrusel-verified-check {
    display: inline-flex;
    align-items: center;
}

/* Valoración con corte estricto a 5 líneas */
.carrusel-card-body {
    margin-bottom: 16px;
}

.carrusel-comment-text {
    font-size: 0.92rem;
    color: #555566;
    line-height: 1.55;
    margin: 0;
    font-style: italic;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* Pie con enlace al producto */
.carrusel-card-footer {
    border-top: 1px dashed #f1eff5;
    padding-top: 14px;
    font-size: 0.84rem;
    color: #8a8e99;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0;
    overflow: hidden;
    margin-top: auto; /* Empuja impecablemente al fondo en todos los navegadores */
}

.carrusel-product-label {
    flex-shrink: 0;
}

.carrusel-product-link {
    color: #df5d7b;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.carrusel-product-link:hover {
    text-decoration: underline;
}

/* Botones de navegación laterales */
.carrusel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1px solid #e8e5df;
    color: #595e66;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    transition: all 0.2s ease;
    z-index: 5;
    padding: 0;
}

.carrusel-nav:hover {
    background-color: #df5d7b;
    color: #ffffff;
    border-color: #df5d7b;
}

.carrusel-prev {
    left: 0;
}

.carrusel-next {
    right: 0;
}

/* Móvil: Ajustes */
@media (max-width: 680px) {
    .carrusel-reviews-wrapper {
        padding: 0 38px;
        margin-bottom: 70px !important;
    }
    .carrusel-card-content {
        padding: 16px 14px;
    }
    .carrusel-nav {
        width: 30px;
        height: 30px;
        font-size: 0.9rem;
    }
}

/* ==========================================================================
   15. PÁGINA DE CARRITO VACÍO
   ========================================================================== */

.hcm-empty-cart-box {
    text-align: center;
    max-width: 650px;
    margin: 50px auto 20px auto;
    padding: 0 15px;
    box-sizing: border-box;
}

.hcm-empty-cart-image {
    margin-bottom: 30px;
    display: inline-block;
    width: 100%;
}

.hcm-empty-cart-image img {
    max-width: 500px;
    width: 100%;      
    height: auto;
    display: inline-block;
    border-radius: 20px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.06);
    border: 1px solid #f1eff5;
    object-fit: cover;
}

.hcm-empty-cart-title {
    font-size: 1.95rem;
    font-weight: 800;
    color: #2b2b2b;
    margin-bottom: 12px;
}

.hcm-empty-cart-desc {
    font-size: 1.05rem;
    color: #595e66;
    line-height: 1.55;
    margin-bottom: 0;
}

.woocommerce .return-to-shop {
    text-align: center !important;
    margin-top: 25px !important;
    margin-bottom: 80px !important;
}

.woocommerce .return-to-shop .button {
    background-color: #df5d7b !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    padding: 14px 38px !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(223, 93, 123, 0.3) !important;
    transition: all 0.25s ease !important;
    display: inline-flex !important;
}

.woocommerce .return-to-shop .button:hover {
    background-color: #c94665 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(223, 93, 123, 0.4) !important;
}

@media (max-width: 480px) {
    .hcm-empty-cart-box {
        margin: 30px auto 10px auto;
    }
    .hcm-empty-cart-image img {
        border-radius: 16px;
    }
    .hcm-empty-cart-title {
        font-size: 1.6rem;
    }
}

/* ==========================================================================
   16. LIGHTBOX (LIGHTGALLERY)
   ========================================================================== */

/* CAPA SUPERIOR ABSOLUTA */
.lg-backdrop,
.lg-outer {
    z-index: 1000000 !important;
}

body.lg-on .hcm-whatsapp-float,
body.lg-on .ct-back-to-top {
    display: none !important;
}

/* FONDO NEGRO SÓLIDO */
.lg-backdrop {
    background-color: #000000 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* BLOQUEO DE SCROLL EN FONDO */
html.lg-on,
body.lg-on {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

.lg-outer,
.lg-container,
.lg-backdrop {
    overscroll-behavior: none !important;
}

/* ZOOM EN SECO SIN REBOTE Y ARRASTRE FIJO AL DEDO */
.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap,
.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-image {
    -webkit-transition: -webkit-transform 0.22s ease-out 0s !important;
    transition: transform 0.22s ease-out 0s !important;
}

.lg-outer.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap,
.lg-outer.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image {
    -webkit-transition-duration: 0s !important;
    transition-duration: 0s !important;
}

/* ==========================================================================
   17. BOTONES FLOTANTES (WHATSAPP Y SUBIR ARRIBA)
   ========================================================================== */

.hcm-whatsapp-float,
.ct-back-to-top {
    bottom: 24px !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08) !important;
}

.ct-back-to-top {
    right: 24px !important;
    border: none !important;
    outline: none !important;
}

.hcm-whatsapp-float {
    position: fixed !important;
    left: 24px !important;
    width: 48px !important;
    height: 48px !important;
    background-color: #ffffff !important;
    color: #25d366 !important;
    border: 1px solid #e8e5df !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 99999 !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease !important;
    text-decoration: none !important;
}

.hcm-whatsapp-float::after {
    content: "¿Hablamos?";
    position: absolute !important;
    left: calc(100% + 12px) !important;
    top: 50% !important;
    transform: translateY(-50%) translateX(-6px) !important;
    background-color: #2b2b2b !important;
    color: #ffffff !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    line-height: 1 !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease !important;
}

@media (hover: hover) {
    .hcm-whatsapp-float:hover {
        background-color: #25d366 !important;
        color: #ffffff !important;
        border-color: #25d366 !important;
        transform: scale(1.08) translateY(-2px) !important;
        box-shadow: 0 5px 14px rgba(37, 211, 102, 0.35) !important;
    }

    .hcm-whatsapp-float:hover::after {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(-50%) translateX(0) !important;
    }
}

.hcm-whatsapp-float svg {
    width: 26px !important;
    height: 26px !important;
    display: block !important;
}

@media (max-width: 768px) {
    .hcm-whatsapp-float,
    .ct-back-to-top {
        bottom: 20px !important;
        width: 36px !important;
        height: 36px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    }

    .hcm-whatsapp-float {
        left: 20px !important;
    }

    .ct-back-to-top {
        right: 20px !important;
    }

    .hcm-whatsapp-float svg {
        width: 20px !important;
        height: 20px !important;
    }

    .hcm-whatsapp-float::after {
        display: none !important;
    }
}

/* ==========================================================================
   18. PÁGINA DE GRACIAS (ORDER RECEIVED)
   ========================================================================== */

/* --- CONTENEDOR Y CABECERA HERO --- */
.woocommerce-order.hcm-thankyou-container {
    max-width: 960px;
    margin: 40px auto 80px auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.hcm-thankyou-hero {
    text-align: center;
    max-width: 680px;
    margin: 10px auto 35px auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.hcm-thankyou-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    color: #ea5b82;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 6px 16px;
    border: 1.5px solid #ea5b82;
    border-radius: 999px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    margin-bottom: 16px;
}

.hcm-thankyou-heading {
    font-size: 2.5rem;
    font-weight: 900;
    color: #2b2b2b;
    margin: 0 0 16px 0;
    letter-spacing: -0.5px;
    line-height: 1.2;
    text-align: center;
}

.hcm-thankyou-subtitle {
    font-size: 1.05rem;
    color: #555555;
    line-height: 1.6;
    background-color: rgba(255, 255, 255, 0.6);
    padding: 14px 28px;
    border-radius: 40px;
    font-weight: 500;
    margin: 0 auto;
    max-width: 580px;
    text-align: center;
}

/* --- CUADRÍCULA DE DATOS DEL PEDIDO (TARJETAS) --- */
.hcm-thankyou-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 35px;
}

.hcm-overview-item {
    background-color: #ffffff;
    border: 1px solid #f1eff5;
    border-radius: 16px;
    padding: 22px 16px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
}

.hcm-overview-label {
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #8a8e99;
    line-height: 1.2;
}

.hcm-overview-value {
    font-size: 1.15rem;
    font-weight: 800;
    color: #2b2b2b;
    line-height: 1.3;
}

.hcm-overview-value--highlight {
    color: #df5d7b;
    font-size: 1.35rem;
}

/* --- TARJETA DE DETALLES DEL PEDIDO (TABLA TIPO TICKET) --- */
.woocommerce-order-details {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 35px 30px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
    margin-bottom: 30px !important;
}

.woocommerce-order-details__title {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: #2b2b2b !important;
    margin: 0 0 20px 0 !important;
    padding-bottom: 15px !important;
    border-bottom: 2px dashed #e2e8f0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.woocommerce-table--order-details {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    margin-bottom: 0 !important;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
    border: none !important;
    border-bottom: 1px solid #f1eff5 !important;
    padding: 16px 8px !important;
    font-size: 0.95rem !important;
    color: #555566 !important;
    vertical-align: middle !important;
}

.woocommerce-table--order-details thead th {
    font-weight: 700 !important;
    color: #2b2b2b !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.5px !important;
    padding-bottom: 14px !important;
    border-bottom: 2px solid #f1eff5 !important;
}

.woocommerce-table--order-details thead th:last-child,
.woocommerce-table--order-details tbody td.woocommerce-table__product-total,
.woocommerce-table--order-details tbody td:last-child {
    text-align: right !important;
}

.woocommerce-table--order-details tbody td.woocommerce-table__product-name a {
    color: #2b2b2b !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.woocommerce-table--order-details tbody td.woocommerce-table__product-name a:hover {
    color: #df5d7b !important;
}

.woocommerce-table--order-details tbody td.woocommerce-table__product-name strong.product-quantity {
    color: #8a8e99 !important;
    font-weight: 600 !important;
}

.woocommerce-table--order-details tbody ul.wc-item-meta {
    list-style: none !important;
    padding: 0 !important;
    margin: 6px 0 0 0 !important;
    font-size: 0.85rem !important;
}

.woocommerce-table--order-details tbody ul.wc-item-meta li {
    margin: 2px 0 !important;
    color: #555566 !important;
}

.woocommerce-table--order-details tbody ul.wc-item-meta strong {
    color: #2b2b2b !important;
}

.woocommerce-table--order-details tfoot th {
    font-weight: 600 !important;
    color: #2b2b2b !important;
    text-align: left !important;
    border-bottom: 1px solid #f1eff5 !important;
}

.woocommerce-table--order-details tfoot td {
    text-align: right !important;
    border-bottom: 1px solid #f1eff5 !important;
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
    border-bottom: none !important;
    border-top: 2px dashed #e2e8f0 !important;
    padding-top: 20px !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
}

.woocommerce-table--order-details tfoot tr:last-child td {
    color: #df5d7b !important;
}

/* --- TARJETAS DE DIRECCIONES DE ENVÍO Y FACTURACIÓN --- */
.woocommerce-customer-details.hcm-customer-details {
    margin-top: 30px !important;
}

.hcm-addresses-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
}

@media (min-width: 769px) {
    .hcm-addresses-grid--two-cols {
        grid-template-columns: 1fr 1fr !important;
    }
}

.hcm-address-card {
    background-color: #ffffff !important;
    border: 1px solid #f1eff5 !important;
    border-radius: 16px !important;
    padding: 28px 24px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
}

.hcm-address-card__title {
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: #2b2b2b !important;
    margin: 0 0 16px 0 !important;
    padding-bottom: 12px !important;
    border-bottom: 1.5px dashed #e2e8f0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.hcm-address-card__body {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
    color: #555566 !important;
}

.hcm-address-line--name {
    font-weight: 700 !important;
    color: #2b2b2b !important;
    margin-bottom: 2px !important;
}

/* --- ESTILOS EN CASO DE ERROR DE PAGO --- */
.hcm-thankyou-card--failed {
    background-color: #ffffff;
    border-radius: 16px;
    padding: 35px 30px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    text-align: center;
    margin-bottom: 30px;
}

.hcm-thankyou-badge--error {
    color: #d80b24;
    border-color: #f5c2c7;
    background-color: #fdf2f4;
}

.hcm-thankyou-failed-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 25px;
}

.hcm-thankyou-failed-actions a.button {
    border-radius: 999px !important;
    padding: 12px 28px !important;
    font-weight: 700 !important;
    background-color: #df5d7b !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
}

.hcm-thankyou-failed-actions a.button:hover {
    background-color: #d65d7a !important;
    box-shadow: 0 4px 15px rgba(223, 93, 123, 0.25) !important;
}

/* --- RESPONSIVE MÓVIL (HASTA 768px) --- */
@media (max-width: 768px) {
    .woocommerce-order.hcm-thankyou-container {
        margin: 20px auto 50px auto;
        padding: 0 15px;
    }

    .hcm-thankyou-heading {
        font-size: 1.75rem;
    }

    .hcm-thankyou-subtitle {
        font-size: 0.95rem;
        padding: 12px 20px;
        border-radius: 24px;
    }

    .hcm-thankyou-overview-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        margin-bottom: 24px;
    }

    .hcm-overview-item {
        padding: 16px 12px;
    }

    .hcm-overview-label {
        font-size: 0.72rem;
    }

    .hcm-overview-value {
        font-size: 1.05rem;
    }

    .hcm-overview-value--highlight {
        font-size: 1.18rem;
    }

    .woocommerce-order-details {
        padding: 24px 18px !important;
        margin-bottom: 20px !important;
    }

    .woocommerce-order-details__title {
        font-size: 1.15rem !important;
    }

    .hcm-addresses-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .hcm-address-card {
        padding: 22px 18px !important;
    }
}

/* ==========================================================================
   19. BANNER DE COOKIES (BLOCKSY EXTENSION)
   ========================================================================== */

.cookie-notification {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 490px !important;
    bottom: 24px !important;
    left: 24px !important;
    right: auto !important;
    inset-inline-start: 24px !important;
    inset-inline-end: auto !important;
    margin: 0 !important;
    transform: none !important;
}

.cookie-notification .container {
    background-color: #ffffff !important;
    border: 1.5px solid #f1eff5 !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.1) !important;
    padding: 26px 24px !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    box-sizing: border-box !important;
}

.cookie-notification .ct-cookies-content {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
}

.cookie-notification .ct-cookies-content::before {
    content: "" !important;
    display: block !important;
    width: 110px !important;
    height: 110px !important;
    min-width: 110px !important;
    background-image: url('/wp-content/uploads/2026/10/unicornio-cookies.png') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    flex-shrink: 0 !important;
}

.cookie-notification .ct-cookies-content p {
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
    color: #555566 !important;
    margin: 0 !important;
    font-weight: 500 !important;
}

.cookie-notification .ct-cookies-content a {
    color: #df5d7b !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    transition: color 0.2s ease !important;
}

.cookie-notification .ct-cookies-content a:hover {
    color: #c94665 !important;
}

.cookie-notification .ct-button-group {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
}

.cookie-notification .ct-button-group .ct-cookies-accept-button,
.cookie-notification .ct-button-group .ct-cookies-decline-button {
    flex: 1 1 50% !important;
    height: 46px !important;
    border-radius: 999px !important;
    font-size: 0.94rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    text-transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-sizing: border-box !important;
    padding: 0 14px !important;
    background-color: #df5d7b !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(223, 93, 123, 0.25) !important;
}

.cookie-notification .ct-button-group .ct-cookies-accept-button:hover,
.cookie-notification .ct-button-group .ct-cookies-decline-button:hover {
    background-color: #c94665 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(223, 93, 123, 0.35) !important;
}

@media (max-width: 768px) {
    .cookie-notification {
        top: auto !important;
        bottom: 16px !important;
        left: 0 !important;
        right: 0 !important;
        inset-inline-start: 0 !important;
        inset-inline-end: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        transform: none !important;
        width: calc(100% - 32px) !important;
        max-width: 380px !important;
        box-sizing: border-box !important;
    }

    .cookie-notification .container {
        padding: 22px 18px !important;
        gap: 16px !important;
        width: 100% !important;
    }

    .cookie-notification .ct-cookies-content {
        flex-direction: column !important;
        text-align: center !important;
        gap: 14px !important;
    }

    .cookie-notification .ct-cookies-content::before {
        width: 100px !important;
        height: 100px !important;
        min-width: 100px !important;
        margin: 0 auto !important;
    }
}

/* ==========================================================================
   20. ETIQUETAS DE CÓDIGO (CODE)
   ========================================================================== */

code {
    background-color: #fdf2f5 !important;
    color: #df5d7b !important;
    border: 1px solid #f5d0da !important;
    border-radius: 6px !important;
    padding: 3px 8px !important;
    font-size: 0.85em !important;
    font-weight: 600 !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
    word-break: break-word !important;
}

.wp-block-table td code {
    display: inline-block !important;
    line-height: 1.35 !important;
}