.chipacoin-product-earn,
.chipacoin-redeem-box {
    border: 1px solid rgba(255, 209, 102, .35);
    background: linear-gradient(135deg, rgba(15,23,42,.96), rgba(30,41,59,.92));
    color: #f8fafc;
    border-radius: 18px;
    padding: 14px 16px;
    box-shadow: 0 14px 35px rgba(0,0,0,.18), inset 0 0 24px rgba(255,209,102,.08);
}

.chipacoin-product-earn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 12px 0;
    font-weight: 700;
}

.chipacoin-product-earn img,
.chipacoin-redeem-title img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    filter: drop-shadow(0 0 10px rgba(255,209,102,.55));
    animation: chipacoinPulse 1.8s ease-in-out infinite;
}

.chipacoin-redeem-row td {
    padding: 12px 0 !important;
}

.chipacoin-redeem-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    margin-bottom: 8px;
}

.chipacoin-redeem-box p {
    margin: 6px 0;
    color: #dbeafe;
}

.chipacoin-redeem-help {
    font-size: 13px;
    opacity: .85;
}

.chipacoin-redeem-form {
    margin-top: 10px;
}

.chipacoin-redeem-form .button {
    border-radius: 999px !important;
    border: 0 !important;
    background: linear-gradient(135deg, #f59e0b, #facc15) !important;
    color: #1f1300 !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 22px rgba(245,158,11,.25) !important;
}

.chipacoin-redeem-form .chipacoin-redeem-remove {
    background: linear-gradient(135deg, #334155, #0f172a) !important;
    color: #fff !important;
}

.chipacoin-fx-overlay {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 999999;
    overflow: hidden;
}

.chipacoin-fx-toast {
    position: fixed;
    left: 50%;
    top: 18%;
    transform: translateX(-50%) scale(.94);
    display: flex;
    align-items: center;
    gap: 14px;
    border-radius: 22px;
    padding: 16px 22px;
    color: #fff;
    background: radial-gradient(circle at top left, rgba(255,255,255,.22), transparent 40%), linear-gradient(135deg, rgba(15,23,42,.98), rgba(88,28,135,.94));
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 24px 70px rgba(0,0,0,.35), 0 0 40px rgba(255,209,102,.18);
    opacity: 0;
    animation: chipacoinToast 3.4s ease forwards;
    max-width: min(92vw, 460px);
}

.chipacoin-fx-toast img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    animation: chipacoinSpinPop 1.1s cubic-bezier(.2,.8,.2,1) infinite alternate;
}

.chipacoin-fx-toast strong {
    display: block;
    font-size: clamp(18px, 4vw, 26px);
    line-height: 1.05;
}

.chipacoin-fx-toast span {
    display: block;
    color: #fde68a;
    font-size: 14px;
    margin-top: 3px;
}

.chipacoin-fx-coin {
    position: fixed;
    width: 42px;
    height: 42px;
    object-fit: contain;
    left: var(--x);
    top: var(--y);
    opacity: 0;
    filter: drop-shadow(0 0 14px rgba(255,209,102,.75));
    animation: chipacoinCoinBurst 1.45s ease-out forwards;
    animation-delay: var(--delay);
}

.chipacoin-coin-orbit {
    position: absolute;
    right: 24px;
    bottom: 24px;
    width: 110px;
    height: 110px;
    opacity: .24;
}

.chipacoin-coin-orbit img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    animation: chipacoinFloat 4.2s ease-in-out infinite;
}

.chipacoin-simple-rule {
    margin-top: 18px;
    color: #fef3c7;
    font-weight: 600;
}

.badge-simple {
    background: linear-gradient(135deg, #f59e0b, #facc15);
    color: #1f1300;
}

@keyframes chipacoinPulse {
    0%,100% { transform: scale(1); }
    50% { transform: scale(1.08) rotate(-4deg); }
}

@keyframes chipacoinToast {
    0% { opacity: 0; transform: translateX(-50%) translateY(20px) scale(.92); }
    14% { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
    82% { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
    100% { opacity: 0; transform: translateX(-50%) translateY(-14px) scale(.98); }
}

@keyframes chipacoinSpinPop {
    from { transform: rotateY(0deg) scale(1); }
    to { transform: rotateY(32deg) scale(1.12); }
}

@keyframes chipacoinCoinBurst {
    0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.35) rotate(0deg); }
    12% { opacity: 1; }
    100% { opacity: 0; transform: translate3d(var(--dx), var(--dy), 0) scale(1.1) rotate(520deg); }
}

@keyframes chipacoinFloat {
    0%,100% { transform: translateY(0) rotate(-8deg); }
    50% { transform: translateY(-10px) rotate(8deg); }
}

@media (max-width: 680px) {
    .chipacoin-fx-toast {
        top: 12%;
        padding: 14px 16px;
    }
    .chipacoin-fx-toast img {
        width: 44px;
        height: 44px;
    }
    .chipacoin-coin-orbit {
        width: 72px;
        height: 72px;
        right: 14px;
        bottom: 14px;
    }
}

.chipacoin-product-earn span {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.chipacoin-product-earn small {
    margin-top: 3px;
    color: #fde68a;
    font-size: 12px;
    font-weight: 600;
}

.chipacoin-product-earn-loop,
.chipacoin-product-earn-elementor {
    width: 100%;
    box-sizing: border-box;
    margin: 8px 0 10px;
    padding: 9px 11px;
    border-radius: 14px;
    font-size: 13px;
}

.chipacoin-product-earn-loop img,
.chipacoin-product-earn-elementor img {
    width: 26px;
    height: 26px;
    flex: 0 0 auto;
}

.chipacoin-product-earn-loop small,
.chipacoin-product-earn-elementor small {
    font-size: 11px;
}

.chipacoin-shop-message {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    margin: 14px 0;
    padding: 14px 16px;
    border-radius: 18px;
    color: #f8fafc;
    font-weight: 800;
    background: radial-gradient(circle at left, rgba(250,204,21,.18), transparent 36%), linear-gradient(135deg, rgba(15,23,42,.98), rgba(30,41,59,.94));
    border: 1px solid rgba(255, 209, 102, .35);
    box-shadow: 0 14px 35px rgba(0,0,0,.16), inset 0 0 22px rgba(255,209,102,.08);
}

.chipacoin-shop-message img {
    width: 38px;
    height: 38px;
    object-fit: contain;
    filter: drop-shadow(0 0 10px rgba(255,209,102,.55));
    animation: chipacoinPulse 1.8s ease-in-out infinite;
}

@media (max-width: 680px) {
    .chipacoin-product-earn {
        width: 100%;
        box-sizing: border-box;
        padding: 11px 12px;
        font-size: 13px;
    }

    .chipacoin-product-earn img {
        width: 28px;
        height: 28px;
    }

    .chipacoin-shop-message {
        align-items: flex-start;
        padding: 12px;
        font-size: 13px;
    }

    .chipacoin-shop-message img {
        width: 32px;
        height: 32px;
    }
}

/* Fase 9: badge de producto compacto, vertical y legible para grillas Elementor/WooCommerce. */
.chipacoin-product-earn {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    gap: 6px !important;
    margin: 10px auto !important;
    padding: 10px 9px !important;
    text-align: center !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    color: #ffffff !important;
    background: #111827 !important;
    border: 1px solid rgba(250, 204, 21, .45) !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.16), inset 0 0 14px rgba(250,204,21,.08) !important;
}

.chipacoin-product-earn-coin {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 999px !important;
    background: radial-gradient(circle, rgba(250,204,21,.22), rgba(15,23,42,.92)) !important;
    overflow: hidden !important;
}

.chipacoin-product-earn img,
.chipacoin-product-earn-loop img,
.chipacoin-product-earn-elementor img {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 0 6px rgba(255,209,102,.45)) !important;
}

.chipacoin-product-earn-copy {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.chipacoin-product-earn-copy strong {
    display: block !important;
    width: 100% !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.chipacoin-product-earn small,
.chipacoin-product-earn-copy small {
    display: block !important;
    width: 100% !important;
    margin-top: 3px !important;
    color: #fde68a !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.woocommerce ul.products li.product .chipacoin-product-earn,
.elementor-widget-container .chipacoin-product-earn,
.elementor-products-grid .chipacoin-product-earn {
    clear: both !important;
    float: none !important;
}

.chipacoin-redeem-form .button:disabled {
    cursor: not-allowed !important;
    opacity: .68 !important;
    background: #e5e7eb !important;
    color: #6b7280 !important;
    box-shadow: none !important;
}

@media (max-width: 680px) {
    .chipacoin-product-earn {
        padding: 9px 8px !important;
        gap: 5px !important;
    }
    .chipacoin-product-earn-coin {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        min-height: 30px !important;
    }
    .chipacoin-product-earn img,
    .chipacoin-product-earn-loop img,
    .chipacoin-product-earn-elementor img {
        width: 21px !important;
        height: 21px !important;
        max-width: 21px !important;
        max-height: 21px !important;
    }
    .chipacoin-product-earn-copy strong { font-size: 12px !important; }
    .chipacoin-product-earn small,
    .chipacoin-product-earn-copy small { font-size: 10.5px !important; }
}


/* Fase 10: moneda de producto apenas más grande para imágenes personalizadas. */
.chipacoin-product-earn-coin {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
}

.chipacoin-product-earn img,
.chipacoin-product-earn-loop img,
.chipacoin-product-earn-elementor img {
    width: 30px !important;
    height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
}

@media (max-width: 680px) {
    .chipacoin-product-earn-coin {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;
    }
    .chipacoin-product-earn img,
    .chipacoin-product-earn-loop img,
    .chipacoin-product-earn-elementor img {
        width: 27px !important;
        height: 27px !important;
        max-width: 27px !important;
        max-height: 27px !important;
    }
}

/* Fase 12: imagen PNG personalizada más protagonista y halo dorado controlado. */
.chipacoin-product-earn-coin {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    background: radial-gradient(circle, rgba(250,204,21,.16) 0%, rgba(250,204,21,.10) 42%, rgba(15,23,42,.88) 78%) !important;
}

.chipacoin-product-earn img,
.chipacoin-product-earn-loop img,
.chipacoin-product-earn-elementor img {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
}

.chipacoin-redeem-main {
    margin: 4px 0 12px !important;
    font-weight: 750 !important;
    color: #ffffff !important;
}

.chipacoin-redeem-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 10px 0 12px !important;
}

.chipacoin-redeem-stats span {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    padding: 9px 7px !important;
    border-radius: 14px !important;
    text-align: center !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
}

.chipacoin-redeem-stats small {
    color: #cbd5e1 !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
}

.chipacoin-redeem-stats strong {
    color: #facc15 !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    margin-top: 4px !important;
    font-weight: 900 !important;
}

.chipacoin-redeem-stats em {
    color: #fde68a !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    margin-top: 2px !important;
    font-style: normal !important;
    font-weight: 700 !important;
}

@media (max-width: 680px) {
    .chipacoin-product-earn-coin {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
    }
    .chipacoin-product-earn img,
    .chipacoin-product-earn-loop img,
    .chipacoin-product-earn-elementor img {
        width: 32px !important;
        height: 32px !important;
        max-width: 32px !important;
        max-height: 32px !important;
    }
    .chipacoin-redeem-stats {
        grid-template-columns: 1fr !important;
    }
}

/* Fase 15: Carrito y checkout con estilo Alto Chipa claro/unificado.
   ChipaCoin mantiene su identidad propia solo en billetera y bloque de canje. */
/* Alto Chipa - estilos unificados para Carrito, Ubicar entrega y Checkout */
:root {
  --color-primary: #2563eb;
  --color-primary-dark: #1d4ed8;
  --color-dark: #0f172a;
  --color-muted: #475569;
  --color-border: #e2e8f0;
  --color-bg: #f8fafc;
  --color-error: #dc2626;
  --radius-card: 20px;
}

.woocommerce-cart,
.woocommerce-checkout,
.entrega-flow,
.ccm-cart-flow,
.ccm-checkout-flow {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--color-dark);
}

/* Indicador de pasos */
.ccm-cart-flow,
.ccm-checkout-flow,
.entrega-flow {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.entrega-flow__header,
.ccm-progress-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.entrega-flow__progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-bottom: 0.6rem;
  flex-wrap: nowrap;
}

.progress-pill {
  font-size: 0.8rem;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  color: var(--color-muted);
  background: #fff;
  font-weight: 600;
  white-space: nowrap;
}

.progress-pill.is-complete {
  background: #e0f2fe;
  color: #0c4a6e;
  border-color: #bae6fd;
}

.progress-pill.is-current {
  background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
}

.progress-divider {
  width: 18px;
  height: 2px;
  background: var(--color-border);
  border-radius: 999px;
  flex: 0 0 18px;
}

.entrega-flow__subtitle {
  font-size: 0.95rem;
  color: var(--color-muted);
  margin: 0;
}

/* Tarjetas / contenedores */
.entrega-step,
.checkout-resumen-entrega,
.woocommerce-cart .cart_totals,
.woocommerce-cart table.shop_table,
.woocommerce-checkout-review-order,
.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-review-order-table {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}

.entrega-step,
.checkout-resumen-entrega,
.woocommerce-cart .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-checkout #payment {
  padding: 1.25rem;
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order-table {
  overflow: hidden;
}

/* Formularios */
.input-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 0.9rem;
}

.input-field label,
.woocommerce form .form-row label {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-dark);
}

.input-field input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  border: 1px solid #cbd5f5 !important;
  border-radius: 14px !important;
  padding: 0.85rem 0.95rem !important;
  font-size: 1rem !important;
  min-height: 48px;
  background: #fff;
  transition: border 0.15s ease, box-shadow 0.15s ease;
}

.input-field input:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.select2-container--default.select2-container--open .select2-selection--single {
  outline: none !important;
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

.input-field.has-error input,
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
  border-color: var(--color-error) !important;
  background: #fff1f2 !important;
}

.input-error,
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  border-radius: 14px;
  font-size: 0.9rem;
}

.input-hint {
  font-size: 0.9rem;
  color: var(--color-muted);
  margin: 0.2rem 0 0;
}

/* Botones */
.btn-primary,
.btn-ghost,
.btn-location,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  font-weight: 600 !important;
  border-radius: 999px !important;
  padding: 0.95rem 1.1rem !important;
  font-size: 1rem !important;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  text-decoration: none !important;
}

.btn-primary,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #payment #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  border: none !important;
  background: var(--color-primary) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.25);
}

.btn-primary:hover:not(:disabled),
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #payment #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--color-primary-dark) !important;
  transform: translateY(-1px);
}

.btn-primary:disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
  opacity: 0.45 !important;
  pointer-events: none;
}

.btn-ghost,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: #fff !important;
  border: 1px solid var(--color-border) !important;
  color: var(--color-dark) !important;
}

.btn-location,
.checkout-resumen-entrega .btn-edit-ubicacion {
  border: none !important;
  background: #e0f2fe !important;
  color: #0c4a6e !important;
}

/* Tablas WooCommerce */
.woocommerce table.shop_table {
  border-collapse: separate !important;
  border-spacing: 0;
  border-color: var(--color-border) !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-color: var(--color-border) !important;
  padding: 1rem !important;
}

.woocommerce table.shop_table thead,
.woocommerce table.shop_table tfoot th {
  background: var(--color-bg);
}

.woocommerce .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-checkout-review-order h3 {
  font-size: 1.28rem;
  margin-top: 0;
  color: var(--color-dark);
}

/* Checkout */
.checkout-resumen-entrega {
  margin-bottom: 2rem;
  background: var(--color-bg);
  line-height: 1.4;
}

.checkout-resumen-entrega ul {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}

.checkout-resumen-entrega li + li {
  margin-top: 0.35rem;
}

.woocommerce-checkout #payment {
  background: #fff !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--color-border) !important;
}

.woocommerce-checkout #payment div.payment_box {
  background: var(--color-bg) !important;
  border-radius: 14px;
}

/* Responsive */
@media (max-width: 420px) {
  .ccm-cart-flow,
  .ccm-checkout-flow,
  .entrega-flow {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  .progress-pill {
    font-size: 0.74rem;
    padding: 0.32rem 0.62rem;
  }

  .progress-divider {
    width: 12px;
    flex-basis: 12px;
  }
}


/* Mantener el bloque ChipaCoin con identidad propia dentro del checkout/carrito */
.woocommerce-cart .chipacoin-redeem-box,
.woocommerce-checkout .chipacoin-redeem-box {
  background: radial-gradient(circle at top left, rgba(250, 204, 21, 0.18), transparent 32%), linear-gradient(135deg, #07101f 0%, #0b1f3a 100%) !important;
  border: 1px solid rgba(250, 204, 21, 0.30) !important;
  border-radius: 20px !important;
  color: #f8fafc !important;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.18) !important;
}
.woocommerce-cart .chipacoin-redeem-box *,
.woocommerce-checkout .chipacoin-redeem-box * {
  color: inherit;
}
.woocommerce-cart .chipacoin-redeem-box .chipacoin-redeem-title strong,
.woocommerce-checkout .chipacoin-redeem-box .chipacoin-redeem-title strong {
  color: #fef3c7 !important;
}
.woocommerce-cart .chipacoin-redeem-box .button,
.woocommerce-checkout .chipacoin-redeem-box .button {
  background: #facc15 !important;
  color: #111827 !important;
  border: none !important;
}

/* Fase 17: ajustes visuales finos pedidos en producto, botones y pedido recibido. */
.woocommerce div.product form.cart .button.single_add_to_cart_button,
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce ul.products li.product a.button.add_to_cart_button,
.woocommerce ul.products li.product a.button.product_type_simple,
.woocommerce a.added_to_cart,
.woocommerce-cart .actions .button[name="update_cart"] {
  background: var(--color-primary, #2563eb) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.24) !important;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button:hover,
.woocommerce div.product form.cart button.single_add_to_cart_button:hover,
.woocommerce ul.products li.product a.button.add_to_cart_button:hover,
.woocommerce ul.products li.product a.button.product_type_simple:hover,
.woocommerce a.added_to_cart:hover,
.woocommerce-cart .actions .button[name="update_cart"]:hover {
  background: var(--color-primary-dark, #1d4ed8) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

.chipacoin-product-earn-coin {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  background: radial-gradient(circle, rgba(250,204,21,.24) 0%, rgba(250,204,21,.13) 44%, rgba(15,23,42,.90) 78%) !important;
}

.chipacoin-product-earn img,
.chipacoin-product-earn-loop img,
.chipacoin-product-earn-elementor img {
  width: 43px !important;
  height: 43px !important;
  max-width: 43px !important;
  max-height: 43px !important;
}

.chipacoin-fx-toast {
  background: radial-gradient(circle at top left, rgba(250,204,21,.20), transparent 42%), linear-gradient(135deg, rgba(2,6,23,.98), rgba(15,23,42,.97), rgba(30,64,175,.92)) !important;
  border: 1px solid rgba(250,204,21,.36) !important;
  box-shadow: 0 26px 76px rgba(2,6,23,.48), 0 0 44px rgba(250,204,21,.20) !important;
  animation: chipacoinToastLong 5.8s ease forwards !important;
}

.chipacoin-fx-toast img {
  width: 64px !important;
  height: 64px !important;
}

.chipacoin-thankyou-actions {
  display: flex;
  justify-content: center;
  margin: 22px auto 10px;
}

.chipacoin-wallet-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.95rem 1.35rem;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff !important;
  font-weight: 800;
  text-decoration: none !important;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.24);
}

.chipacoin-wallet-button:hover {
  background: #1d4ed8;
  color: #ffffff !important;
  transform: translateY(-1px);
}

@keyframes chipacoinToastLong {
  0% { opacity: 0; transform: translateX(-50%) translateY(24px) scale(.92); }
  10% { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
  86% { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
  100% { opacity: 0; transform: translateX(-50%) translateY(-16px) scale(.98); }
}

@media (max-width: 680px) {
  .chipacoin-product-earn-coin {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
  }
  .chipacoin-product-earn img,
  .chipacoin-product-earn-loop img,
  .chipacoin-product-earn-elementor img {
    width: 39px !important;
    height: 39px !important;
    max-width: 39px !important;
    max-height: 39px !important;
  }
  .chipacoin-fx-toast {
    top: 10% !important;
  }
  .chipacoin-fx-toast img {
    width: 52px !important;
    height: 52px !important;
  }
}

/* Fase 18: respetar botones diseñados en Elementor/producto y ajustar aviso de producto/pedido recibido. */
.woocommerce div.product form.cart .button.single_add_to_cart_button,
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce ul.products li.product a.button.add_to_cart_button,
.woocommerce ul.products li.product a.button.product_type_simple,
.woocommerce a.added_to_cart {
  background: inherit !important;
  color: inherit !important;
  border: inherit !important;
  border-radius: inherit !important;
  box-shadow: inherit !important;
  font-weight: inherit !important;
  transform: none !important;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button:hover,
.woocommerce div.product form.cart button.single_add_to_cart_button:hover,
.woocommerce ul.products li.product a.button.add_to_cart_button:hover,
.woocommerce ul.products li.product a.button.product_type_simple:hover,
.woocommerce a.added_to_cart:hover {
  background: inherit !important;
  color: inherit !important;
  transform: none !important;
}

.chipacoin-product-earn,
.chipacoin-product-earn-loop,
.chipacoin-product-earn-elementor {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin: 10px auto 0 !important;
  padding: 6px 4px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  overflow: visible !important;
}

.chipacoin-product-earn-coin {
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  min-height: 72px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(250,204,21,.32) 0%, rgba(250,204,21,.18) 42%, rgba(250,204,21,0) 72%) !important;
  box-shadow: 0 0 22px rgba(250,204,21,.22) !important;
}

.chipacoin-product-earn img,
.chipacoin-product-earn-loop img,
.chipacoin-product-earn-elementor img {
  width: 58px !important;
  height: 58px !important;
  max-width: 58px !important;
  max-height: 58px !important;
  object-fit: contain !important;
}

.chipacoin-product-earn-copy,
.chipacoin-product-earn span:not(.chipacoin-product-earn-coin) {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

.chipacoin-product-earn-copy strong {
  display: block !important;
  color: #0f172a !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: -0.01em !important;
}

.chipacoin-product-earn small,
.chipacoin-product-earn-copy small {
  display: none !important;
}

body.woocommerce-order-received .woocommerce-order {
  display: flex;
  flex-direction: column;
}

body.woocommerce-order-received .chipacoin-thankyou-actions-top {
  order: -999;
  margin: 0 auto 18px !important;
}

@media (max-width: 680px) {
  .chipacoin-product-earn-coin {
    width: 66px !important;
    height: 66px !important;
    min-width: 66px !important;
    min-height: 66px !important;
  }
  .chipacoin-product-earn img,
  .chipacoin-product-earn-loop img,
  .chipacoin-product-earn-elementor img {
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
  }
}

/* Fase 22 final: ajustes mobile/producto/canje/animación pedidos. */
.chipacoin-product-earn,
.chipacoin-product-earn-loop,
.chipacoin-product-earn-elementor {
  margin: 12px auto 10px !important;
  gap: 8px !important;
  padding: 4px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.chipacoin-product-earn-coin {
  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  min-height: 96px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: radial-gradient(circle, rgba(250,204,21,.34) 0%, rgba(250,204,21,.22) 34%, rgba(250,204,21,.08) 56%, rgba(250,204,21,0) 76%) !important;
  box-shadow: 0 0 30px rgba(250,204,21,.24) !important;
}

.chipacoin-product-earn img,
.chipacoin-product-earn-loop img,
.chipacoin-product-earn-elementor img {
  width: 72px !important;
  height: 72px !important;
  max-width: 72px !important;
  max-height: 72px !important;
  object-fit: contain !important;
}

.chipacoin-product-earn-copy strong {
  color: #172033 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  text-align: center !important;
}

/* Solo estiliza botones dentro de una tarjeta/columna que contiene el aviso ChipaCoin. No toca botones globales de Elementor. */
@supports selector(:has(*)) {
  .elementor-widget-container:has(.chipacoin-product-earn) a.button,
  .elementor-widget-container:has(.chipacoin-product-earn) button,
  .woocommerce ul.products li.product:has(.chipacoin-product-earn) a.button,
  .woocommerce ul.products li.product:has(.chipacoin-product-earn) .add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px !important;
    min-width: 210px !important;
    padding: 0 24px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%) !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    font-size: 16px !important;
    text-decoration: none !important;
    box-shadow: 0 16px 34px rgba(245, 158, 11, .26) !important;
  }
}

.chipacoin-redeem-box {
  max-width: 420px !important;
  margin: 0 auto !important;
  padding: 24px 22px !important;
  border-radius: 24px !important;
}

.chipacoin-redeem-title {
  justify-content: flex-start !important;
  margin-bottom: 16px !important;
  color: #fef3c7 !important;
}

.chipacoin-redeem-title img {
  width: 40px !important;
  height: 40px !important;
}

.chipacoin-redeem-heading {
  margin: 0 0 8px !important;
  color: #ffffff !important;
  font-size: clamp(22px, 5vw, 30px) !important;
  line-height: 1.12 !important;
  text-align: center !important;
  font-weight: 950 !important;
  letter-spacing: -0.03em !important;
}

.chipacoin-redeem-main {
  max-width: 340px !important;
  margin: 0 auto 18px !important;
  color: #dbeafe !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  text-align: center !important;
  font-weight: 700 !important;
}

.chipacoin-redeem-help {
  max-width: 340px !important;
  margin: 12px auto 0 !important;
  color: #bfdbfe !important;
  text-align: center !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  opacity: .9 !important;
}

.chipacoin-redeem-stats {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  max-width: 340px !important;
  margin: 0 auto 14px !important;
}

.chipacoin-redeem-stats span {
  padding: 14px 12px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}

.chipacoin-redeem-stats small {
  font-size: 13px !important;
  color: #cbd5e1 !important;
}

.chipacoin-redeem-stats strong {
  font-size: 27px !important;
  color: #facc15 !important;
}

.chipacoin-redeem-stats em {
  font-size: 12px !important;
  color: #fde68a !important;
}

.chipacoin-redeem-form {
  display: flex !important;
  justify-content: center !important;
  margin-top: 16px !important;
}

.chipacoin-fx-toast {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.55) !important;
  flex-direction: column !important;
  gap: 8px !important;
  text-align: center !important;
  padding: 8px !important;
  animation: chipacoinToastGold 5.8s ease forwards !important;
}

.chipacoin-fx-toast img {
  width: 96px !important;
  height: 96px !important;
  filter: drop-shadow(0 0 28px rgba(250,204,21,.65)) !important;
}

.chipacoin-fx-toast strong {
  color: #ffffff !important;
  font-size: clamp(22px, 6vw, 34px) !important;
  font-weight: 950 !important;
}

.chipacoin-fx-toast span {
  color: #fde68a !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.chipacoin-fx-coin {
  width: 48px !important;
  height: 48px !important;
  filter: drop-shadow(0 0 18px rgba(250,204,21,.82)) !important;
}

@keyframes chipacoinToastGold {
  0% { opacity: 0; transform: translateX(-50%) translateY(26px) scale(.88); }
  12% { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
  84% { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
  100% { opacity: 0; transform: translateX(-50%) translateY(-16px) scale(.98); }
}

@media (max-width: 680px) {
  .chipacoin-product-earn-coin {
    width: 92px !important;
    height: 92px !important;
    min-width: 92px !important;
    min-height: 92px !important;
  }
  .chipacoin-product-earn img,
  .chipacoin-product-earn-loop img,
  .chipacoin-product-earn-elementor img {
    width: 70px !important;
    height: 70px !important;
    max-width: 70px !important;
    max-height: 70px !important;
  }
  .chipacoin-product-earn-copy strong {
    font-size: 16px !important;
  }
  .chipacoin-redeem-box {
    width: min(100%, 390px) !important;
    padding: 22px 18px !important;
  }
  .chipacoin-fx-toast {
    top: 12% !important;
  }
}

/* Fase 23: mejoras mobile, copy corto y contraste de animaciones. */
.chipacoin-product-earn,
.chipacoin-product-earn-loop,
.chipacoin-product-earn-elementor {
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.chipacoin-product-earn-copy strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-size: 18px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  color: #111827 !important;
  text-wrap: balance !important;
}

.chipacoin-product-earn-copy strong::after {
  content: " ChipaCoins";
  font-size: .72em;
  font-weight: 850;
  opacity: .88;
  margin-left: .25em;
}

.chipacoin-redeem-heading {
  font-size: clamp(20px, 4.5vw, 27px) !important;
  line-height: 1.14 !important;
}

.chipacoin-redeem-main {
  font-size: 14px !important;
  font-weight: 650 !important;
  color: #e5eefb !important;
}

.chipacoin-redeem-stats span {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-areas: "label value" "hint hint" !important;
  align-items: center !important;
  gap: 2px 10px !important;
  text-align: left !important;
}

.chipacoin-redeem-stats small { grid-area: label !important; }
.chipacoin-redeem-stats strong { grid-area: value !important; font-size: 24px !important; }
.chipacoin-redeem-stats em { grid-area: hint !important; }

.chipacoin-fx-toast {
  color: #ffffff !important;
  text-shadow: 0 4px 18px rgba(0,0,0,.92), 0 1px 2px rgba(0,0,0,.95) !important;
}

.chipacoin-fx-toast > div {
  padding: 10px 14px !important;
  border-radius: 18px !important;
  background: rgba(11, 18, 32, .58) !important;
  border: 1px solid rgba(250, 204, 21, .22) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.22), 0 0 32px rgba(250,204,21,.18) !important;
  backdrop-filter: blur(8px) !important;
}

.chipacoin-fx-toast strong {
  -webkit-text-stroke: .35px rgba(0,0,0,.45) !important;
}

.chipacoin-is-celebrating {
  opacity: .82 !important;
  pointer-events: none !important;
}

@media (max-width: 680px) {
  .chipacoin-product-earn,
  .chipacoin-product-earn-loop,
  .chipacoin-product-earn-elementor {
    margin-top: 18px !important;
    margin-bottom: 18px !important;
    gap: 8px !important;
  }
  .chipacoin-product-earn-coin {
    width: 128px !important;
    height: 128px !important;
    min-width: 128px !important;
    min-height: 128px !important;
    background: radial-gradient(circle, rgba(255,214,64,.38) 0%, rgba(255,214,64,.25) 34%, rgba(255,214,64,.10) 56%, rgba(255,214,64,0) 75%) !important;
    box-shadow: 0 0 38px rgba(250,204,21,.27) !important;
  }
  .chipacoin-product-earn img,
  .chipacoin-product-earn-loop img,
  .chipacoin-product-earn-elementor img {
    width: 94px !important;
    height: 94px !important;
    max-width: 94px !important;
    max-height: 94px !important;
  }
  .chipacoin-product-earn-copy strong {
    font-size: 18px !important;
  }
  .chipacoin-product-earn-copy strong::after {
    font-size: .68em;
  }
}


/* Fase 25: aviso de producto mobile más limpio: sin redondel grande, moneda protagonista y texto Fredoka. */
.chipacoin-product-earn {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 8px 0 10px !important;
    margin: 12px auto 14px !important;
    gap: 8px !important;
    overflow: visible !important;
}

.chipacoin-product-earn-coin {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
    background: transparent !important;
    border-radius: 999px !important;
    overflow: visible !important;
    box-shadow: none !important;
    position: relative !important;
}

.chipacoin-product-earn-coin::before {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 213, 79, .36) 0%, rgba(255, 213, 79, .18) 36%, rgba(255, 213, 79, 0) 72%);
    filter: blur(8px);
    z-index: 0;
}

.chipacoin-product-earn img,
.chipacoin-product-earn-loop img,
.chipacoin-product-earn-elementor img {
    position: relative !important;
    z-index: 1 !important;
    width: 58px !important;
    height: 58px !important;
    max-width: 58px !important;
    max-height: 58px !important;
    filter: drop-shadow(0 8px 18px rgba(180, 105, 0, .32)) drop-shadow(0 0 10px rgba(255, 215, 99, .42)) !important;
}

.chipacoin-product-earn-copy strong {
    font-family: "Fredoka", "Fredoka One", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    color: #1f2937 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    letter-spacing: -.035em !important;
    line-height: 1.05 !important;
    text-shadow: none !important;
}

@media (max-width: 680px) {
    .chipacoin-product-earn {
        margin: 16px auto 18px !important;
        gap: 10px !important;
    }
    .chipacoin-product-earn-coin {
        width: 104px !important;
        height: 104px !important;
        min-width: 104px !important;
        min-height: 104px !important;
    }
    .chipacoin-product-earn-coin::before {
        inset: 15px;
        filter: blur(10px);
        background: radial-gradient(circle, rgba(255, 213, 79, .34) 0%, rgba(255, 213, 79, .16) 38%, rgba(255, 213, 79, 0) 70%);
    }
    .chipacoin-product-earn img,
    .chipacoin-product-earn-loop img,
    .chipacoin-product-earn-elementor img {
        width: 78px !important;
        height: 78px !important;
        max-width: 78px !important;
        max-height: 78px !important;
    }
    .chipacoin-product-earn-copy strong {
        font-size: 28px !important;
    }
}

/* Fase 26: ajuste final del aviso de producto en mobile. Moneda más grande, glow suave y texto uniforme. */
.chipacoin-product-earn,
.chipacoin-product-earn-loop,
.chipacoin-product-earn-elementor {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.chipacoin-product-earn-coin {
    width: 96px !important;
    height: 96px !important;
    min-width: 96px !important;
    min-height: 96px !important;
    background: transparent !important;
    box-shadow: none !important;
}

.chipacoin-product-earn-coin::before {
    inset: 4px !important;
    background: radial-gradient(circle, rgba(255, 210, 64, .18) 0%, rgba(255, 210, 64, .10) 36%, rgba(255, 210, 64, 0) 68%) !important;
    filter: blur(9px) !important;
}

.chipacoin-product-earn img,
.chipacoin-product-earn-loop img,
.chipacoin-product-earn-elementor img {
    width: 84px !important;
    height: 84px !important;
    max-width: 84px !important;
    max-height: 84px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 8px 18px rgba(180, 105, 0, .30)) drop-shadow(0 0 9px rgba(255, 215, 99, .34)) !important;
}

.chipacoin-product-earn-copy strong {
    font-family: "Fredoka", "Fredoka One", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 18px !important;
    font-weight: 850 !important;
    letter-spacing: -.025em !important;
    line-height: 1.08 !important;
    color: #1f2937 !important;
    text-shadow: none !important;
}

.chipacoin-product-earn-copy strong::after {
    font-size: 1em !important;
    font-weight: 850 !important;
    opacity: 1 !important;
    margin-left: .22em !important;
}

@media (max-width: 680px) {
    .chipacoin-product-earn {
        margin: 16px auto 18px !important;
        gap: 8px !important;
    }

    .chipacoin-product-earn-coin {
        width: 128px !important;
        height: 128px !important;
        min-width: 128px !important;
        min-height: 128px !important;
    }

    .chipacoin-product-earn-coin::before {
        inset: 8px !important;
        filter: blur(10px) !important;
        background: radial-gradient(circle, rgba(255, 210, 64, .20) 0%, rgba(255, 210, 64, .10) 36%, rgba(255, 210, 64, 0) 70%) !important;
    }

    .chipacoin-product-earn img,
    .chipacoin-product-earn-loop img,
    .chipacoin-product-earn-elementor img {
        width: 108px !important;
        height: 108px !important;
        max-width: 108px !important;
        max-height: 108px !important;
    }

    .chipacoin-product-earn-copy strong {
        font-size: 20px !important;
        letter-spacing: -.025em !important;
    }
}

/* Ruleta Alto Chipa */
.chipacoin-roulette {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 22px;
    align-items: center;
    margin: 20px 0;
    padding: 20px;
    border-radius: 26px;
    border: 1px solid rgba(248, 181, 0, .22);
    background: radial-gradient(circle at 86% 10%, rgba(255, 196, 0, .18), transparent 34%), linear-gradient(135deg, #fff 0%, #fff7ed 100%);
    box-shadow: 0 18px 42px rgba(120, 53, 15, .13);
    overflow: hidden;
}

.chipacoin-roulette::before {
    content: "";
    position: absolute;
    inset: auto -54px -74px auto;
    width: 230px;
    height: 230px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 193, 7, .22), rgba(255, 193, 7, 0) 70%);
    pointer-events: none;
}

.chipacoin-roulette-copy,
.chipacoin-roulette-form,
.chipacoin-roulette-wheel-wrap {
    position: relative;
    z-index: 1;
}

.chipacoin-roulette-kicker {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 6px 11px;
    border-radius: 999px;
    background: #fff3c4;
    color: #92400e;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.chipacoin-roulette h3 {
    margin: 0 0 7px;
    color: #431407;
    font-size: 22px;
    line-height: 1.08;
    font-weight: 950;
}

.chipacoin-roulette p {
    margin: 0;
    max-width: 430px;
    color: #7c2d12;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 650;
}

.chipacoin-roulette-result {
    display: grid;
    gap: 4px;
    margin-top: 14px;
    padding: 13px 15px;
    border-radius: 18px;
    background: linear-gradient(135deg, #111827, #451a03);
    color: #fff;
    box-shadow: 0 14px 26px rgba(67, 20, 7, .16);
}

.chipacoin-roulette-result strong {
    color: #facc15;
    font-size: 17px;
    font-weight: 900;
}

.chipacoin-roulette-result span {
    color: #fed7aa;
    font-size: 14px;
    font-weight: 650;
}

.chipacoin-roulette-result.muted {
    background: #fff7ed;
    color: #431407;
    border: 1px solid rgba(251, 191, 36, .28);
}

.chipacoin-roulette-result.muted strong { color: #431407; }
.chipacoin-roulette-result.muted span { color: #9a3412; }
.chipacoin-roulette.has-error .chipacoin-roulette-wheel { box-shadow: 0 0 0 5px #f97316, 0 0 0 9px rgba(255, 214, 10, .30), inset 0 0 0 3px rgba(255,255,255,.28); }

.chipacoin-roulette-wheel-wrap {
    justify-self: center;
    width: 238px;
    height: 238px;
    filter: drop-shadow(0 18px 22px rgba(120, 53, 15, .22));
}

.chipacoin-roulette-pointer {
    position: absolute;
    left: 50%;
    top: -8px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 28px solid #ffce24;
    filter: drop-shadow(0 5px 6px rgba(67, 20, 7, .28));
    z-index: 3;
}

.chipacoin-roulette-wheel {
    position: relative;
    width: 238px;
    height: 238px;
    border-radius: 50%;
    background: conic-gradient(#b91c1c 0 12.5%, #ffcf24 12.5% 25%, #dc2626 25% 37.5%, #ffb703 37.5% 50%, #991b1b 50% 62.5%, #ffd449 62.5% 75%, #c2410c 75% 87.5%, #ffbd00 87.5% 100%);
    border: 8px solid #fff7ed;
    box-shadow: 0 0 0 5px #f59e0b, 0 0 0 9px rgba(255, 214, 10, .45), 0 0 35px rgba(245, 158, 11, .55), inset 0 0 0 3px rgba(255,255,255,.28);
    overflow: hidden;
    transition: transform 3.2s cubic-bezier(.12,.72,.19,1);
}

.chipacoin-roulette-wheel::before {
    content: "";
    position: absolute;
    inset: 7px;
    border-radius: 50%;
    border: 2px dashed rgba(255, 255, 255, .46);
    pointer-events: none;
}

.chipacoin-roulette.is-spinning .chipacoin-roulette-wheel,
.chipacoin-roulette[data-chipacoin-roulette-pending="1"] .chipacoin-roulette-wheel {
    animation: chipacoinRouletteSpin 3.8s cubic-bezier(.12,.72,.19,1) both;
}

.chipacoin-roulette-wheel span {
    position: absolute;
    left: calc(50% + var(--x, 0px));
    top: calc(50% + var(--y, 0px));
    width: 66px;
    min-height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform-origin: 50% 50%;
    transform: translate(-50%, -50%) rotate(var(--text-angle, 0deg));
    color: #fff;
    font-size: 12.5px;
    line-height: 1.02;
    font-weight: 950;
    letter-spacing: -.025em;
    text-shadow: 0 2px 3px rgba(67,20,7,.45);
    white-space: normal;
    text-align: center;
    padding: 0 2px;
    box-sizing: border-box;
    pointer-events: none;
}

.chipacoin-roulette-wheel span:nth-child(even) {
    color: #7c2d12;
    text-shadow: 0 1px 0 rgba(255,255,255,.36);
}

.chipacoin-roulette-wheel span.is-legendary {
    color: #ffffff;
    text-shadow: 0 0 8px rgba(255,255,255,.72), 0 2px 4px rgba(67,20,7,.55);
}

@media (max-width: 680px) {
    .chipacoin-roulette-wheel span {
        width: 60px;
        min-height: 22px;
        font-size: 11.5px;
    }
}

.chipacoin-roulette-center {
    position: absolute;
    inset: 50%;
    width: 78px;
    height: 78px;
    transform: translate(-50%, -50%);
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: radial-gradient(circle, #fff7ed 0%, #facc15 54%, #b45309 100%);
    box-shadow: 0 0 22px rgba(250, 204, 21, .7), inset 0 2px 8px rgba(255,255,255,.6);
    z-index: 2;
}

.chipacoin-roulette-center img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.chipacoin-roulette-form {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    margin-top: 2px;
}

.woocommerce .chipacoin-roulette-button,
.chipacoin-roulette-button {
    min-width: 210px;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 15px 24px !important;
    background: linear-gradient(135deg, #ffb703, #f59e0b) !important;
    color: #431407 !important;
    font-weight: 950 !important;
    box-shadow: 0 14px 28px rgba(245, 158, 11, .34) !important;
}

.woocommerce .chipacoin-roulette-button:hover,
.chipacoin-roulette-button:hover {
    background: linear-gradient(135deg, #facc15, #f97316) !important;
    transform: translateY(-1px);
}

.woocommerce .chipacoin-roulette-button:disabled,
.chipacoin-roulette-button:disabled {
    opacity: .62 !important;
    cursor: not-allowed;
}

@keyframes chipacoinRouletteSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(var(--roulette-spin-rotation, 1890deg)); }
}

@media (max-width: 680px) {
    .chipacoin-roulette {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 16px;
        text-align: center;
    }

    .chipacoin-roulette p {
        margin-left: auto;
        margin-right: auto;
    }

    .chipacoin-roulette-wheel-wrap {
        width: 230px;
        height: 230px;
        order: -1;
    }

    .chipacoin-roulette-wheel {
        width: 230px;
        height: 230px;
    }

    .chipacoin-roulette-wheel span {
        font-size: 12px;
        width: 78px;
        transform: rotate(var(--angle)) translate(45px, -50%) rotate(var(--flip, 0deg));
    }

    .chipacoin-roulette-form {
        margin-top: 0;
    }

    .woocommerce .chipacoin-roulette-button,
    .chipacoin-roulette-button {
        width: 100%;
        max-width: 260px;
    }
}


/* Fase 30: textos de ruleta alineados radialmente dentro de cada porción */
.chipacoin-roulette-kicker { display: none !important; }
.chipacoin-roulette-copy h3 { margin-top: .35rem; }
.chipacoin-roulette-wheel span.is-flipped { text-align: center; }

/* Fase 34: ajuste fino de textos de ruleta
   Los textos se ubican más hacia el interior útil de cada porción, sin pisar el centro. */
.chipacoin-roulette-wheel-wrap {
    width: 260px;
    height: 260px;
}

.chipacoin-roulette-wheel {
    width: 260px;
    height: 260px;
}

.chipacoin-roulette-wheel span {
    width: 58px;
    min-height: 21px;
    font-size: 12px;
    line-height: .98;
    z-index: 2;
    padding: 0;
}

.chipacoin-roulette-wheel span.roulette-label-4,
.chipacoin-roulette-wheel span.roulette-label-5 {
    width: 64px;
    font-size: 11px;
    line-height: 1.02;
}

.chipacoin-roulette-center {
    width: 64px;
    height: 64px;
    z-index: 3;
}

.chipacoin-roulette-center img {
    width: 42px;
    height: 42px;
}

@media (max-width: 680px) {
    .chipacoin-roulette-wheel-wrap,
    .chipacoin-roulette-wheel {
        width: 260px;
        height: 260px;
    }

    .chipacoin-roulette-wheel span {
        width: 54px;
        min-height: 20px;
        font-size: 11px;
    }

    .chipacoin-roulette-wheel span.roulette-label-4,
    .chipacoin-roulette-wheel span.roulette-label-5 {
        width: 60px;
        font-size: 10.5px;
    }

    .chipacoin-roulette-center {
        width: 60px;
        height: 60px;
    }

    .chipacoin-roulette-center img {
        width: 39px;
        height: 39px;
    }
}

/* FASE 35 - Corrección final de textos de ruleta: radial, no horizontal. */
.chipacoin-roulette-wheel span {
    width: 52px !important;
    min-height: 20px !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    transform: translate(-50%, -50%) rotate(var(--text-angle, 0deg)) !important;
    transform-origin: 50% 50% !important;
    text-align: center !important;
    white-space: normal !important;
    color: #fff !important;
    text-shadow: 0 2px 4px rgba(67,20,7,.70), 0 0 5px rgba(255,255,255,.28) !important;
    z-index: 2 !important;
}
.chipacoin-roulette-wheel span:nth-child(even) {
    color: #7c2d12 !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.42), 0 2px 3px rgba(255,255,255,.18) !important;
}
.chipacoin-roulette-wheel span.is-legendary {
    color: #ffffff !important;
    text-shadow: 0 0 8px rgba(255,255,255,.72), 0 2px 4px rgba(67,20,7,.60) !important;
}
.chipacoin-roulette-wheel span.roulette-label-3,
.chipacoin-roulette-wheel span.roulette-label-4 {
    width: 60px !important;
    font-size: 10.8px !important;
}
@media (max-width: 680px) {
    .chipacoin-roulette-wheel span {
        width: 50px !important;
        font-size: 10.8px !important;
    }
    .chipacoin-roulette-wheel span.roulette-label-3,
    .chipacoin-roulette-wheel span.roulette-label-4 {
        width: 56px !important;
        font-size: 10.2px !important;
    }
}

/* Fase 36: herramienta de prueba para administradores */
.chipacoin-roulette-reset-form {
  position: relative;
  z-index: 2;
  text-align: center;
  margin-top: .75rem;
}
.chipacoin-roulette-reset-button {
  border: 1px solid rgba(124, 45, 18, .22);
  background: rgba(255, 247, 237, .82);
  color: #7c2d12;
  border-radius: 999px;
  padding: .55rem .9rem;
  font-size: .82rem;
  font-weight: 800;
  cursor: pointer;
}
.chipacoin-roulette-reset-button:hover {
  background: #ffedd5;
}

/* Fase 40: ruleta minimizada cuando la tirada diaria ya fue usada */
.chipacoin-roulette.chipacoin-roulette--compact {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px 16px;
    margin: 14px 0;
    border-radius: 20px;
    min-height: 0;
}
.chipacoin-roulette.chipacoin-roulette--compact .chipacoin-roulette-wheel-wrap,
.chipacoin-roulette.chipacoin-roulette--compact .chipacoin-roulette-result,
.chipacoin-roulette.chipacoin-roulette--compact .chipacoin-roulette-form {
    display: none !important;
}
.chipacoin-roulette.chipacoin-roulette--compact .chipacoin-roulette-copy {
    text-align: left;
}
.chipacoin-roulette.chipacoin-roulette--compact .chipacoin-roulette-copy h3 {
    margin: 0;
    font-size: 18px;
}
.chipacoin-roulette.chipacoin-roulette--compact .chipacoin-roulette-copy p {
    margin-top: 4px;
    font-size: 13px;
    max-width: none;
}
.chipacoin-roulette.chipacoin-roulette--compact .chipacoin-roulette-copy::after {
    content: "Mañana volvés a tener una tirada disponible.";
    display: block;
    margin-top: 8px;
    padding: 9px 11px;
    border-radius: 14px;
    background: rgba(255, 247, 237, .86);
    border: 1px solid rgba(251, 191, 36, .24);
    color: #9a3412;
    font-size: 13px;
    font-weight: 800;
}
@media (max-width: 680px) {
    .chipacoin-roulette.chipacoin-roulette--compact {
        padding: 12px 14px;
        text-align: left;
    }
}

/* Fase 41: ruleta como ventana emergente en carrito */
.chipacoin-roulette-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 18px;
}
.chipacoin-roulette-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .58);
  backdrop-filter: blur(6px);
}
.chipacoin-roulette-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(520px, 94vw);
  max-height: 92vh;
  overflow: auto;
  border-radius: 28px;
  animation: chipacoinModalIn .22s ease-out both;
}
.chipacoin-roulette-modal-close {
  position: absolute;
  z-index: 4;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  background: rgba(67, 20, 7, .82);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(67, 20, 7, .24);
}
.chipacoin-roulette--modal-card {
  margin: 0 !important;
  width: 100%;
}
.chipacoin-roulette-admin-mini {
  margin: 12px 0;
  padding: 12px 14px;
  border-radius: 16px;
  background: #fff7ed;
  border: 1px solid rgba(251, 191, 36, .35);
  color: #7c2d12;
  font-weight: 800;
}
@keyframes chipacoinModalIn {
  from { opacity: 0; transform: translateY(18px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
body.chipacoin-roulette-modal-open { overflow: hidden; }
@media (max-width: 680px) {
  .chipacoin-roulette-modal { padding: 10px; align-items: center; }
  .chipacoin-roulette-modal-dialog { width: min(430px, 96vw); max-height: 90vh; }
  .chipacoin-roulette-modal-close { top: 8px; right: 8px; }
}

/* Fase 45: aviso de ChipaCoins en producto alineado a la identidad de billetera */
.chipacoin-product-earn,
.chipacoin-product-earn-loop,
.chipacoin-product-earn-elementor {
  width: min(245px, 92%) !important;
  margin: 18px auto 20px !important;
  padding: 14px 16px 16px !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(251, 191, 36, .22), transparent 46%),
    linear-gradient(145deg, rgba(31, 37, 48, .96), rgba(15, 23, 42, .98)) !important;
  border: 1px solid rgba(251, 191, 36, .20) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .16), 0 0 34px rgba(251, 191, 36, .14) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  overflow: visible !important;
}

.chipacoin-product-earn-coin {
  width: 104px !important;
  height: 104px !important;
  min-width: 104px !important;
  min-height: 104px !important;
  margin-top: -8px !important;
  background: transparent !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  position: relative !important;
}

.chipacoin-product-earn-coin::before {
  content: "" !important;
  position: absolute !important;
  inset: 8px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(251, 191, 36, .32) 0%, rgba(251, 191, 36, .16) 42%, rgba(251, 191, 36, 0) 72%) !important;
  filter: blur(9px) !important;
  z-index: 0 !important;
}

.chipacoin-product-earn img,
.chipacoin-product-earn-loop img,
.chipacoin-product-earn-elementor img {
  position: relative !important;
  z-index: 1 !important;
  width: 90px !important;
  height: 90px !important;
  max-width: 90px !important;
  max-height: 90px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.18)) drop-shadow(0 0 14px rgba(251,191,36,.34)) !important;
}

.chipacoin-product-earn-copy strong {
  display: inline-flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  color: #f8fafc !important;
  font-family: "Fredoka", "Fredoka One", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 21px !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
  letter-spacing: -.035em !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.28) !important;
}

.chipacoin-product-earn-copy strong::after {
  content: " ChipaCoins" !important;
  color: #fde68a !important;
  font-size: .72em !important;
  font-weight: 850 !important;
  opacity: 1 !important;
  margin-left: .25em !important;
}

@media (max-width: 680px) {
  .chipacoin-product-earn,
  .chipacoin-product-earn-loop,
  .chipacoin-product-earn-elementor {
    width: min(270px, 88%) !important;
    margin: 18px auto 22px !important;
    padding: 16px 16px 18px !important;
    border-radius: 30px !important;
  }
  .chipacoin-product-earn-coin {
    width: 128px !important;
    height: 128px !important;
    min-width: 128px !important;
    min-height: 128px !important;
  }
  .chipacoin-product-earn-coin::before {
    inset: 11px !important;
    filter: blur(11px) !important;
  }
  .chipacoin-product-earn img,
  .chipacoin-product-earn-loop img,
  .chipacoin-product-earn-elementor img {
    width: 112px !important;
    height: 112px !important;
    max-width: 112px !important;
    max-height: 112px !important;
  }
  .chipacoin-product-earn-copy strong {
    font-size: 22px !important;
  }
}


/* Fase 46: tarjeta de producto más ancha en escritorio para evitar cortes de “ChipaCoins”. */
@media (min-width: 681px) {
  .chipacoin-product-earn,
  .chipacoin-product-earn-loop,
  .chipacoin-product-earn-elementor {
    width: min(310px, 96%) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .chipacoin-product-earn-copy strong {
    white-space: nowrap !important;
    font-size: 20px !important;
  }
}

/* Fase 48: pedido recibido coherente con Alto Chipa / ChipaCoin. */
body.woocommerce-order-received .chipacoin-wallet-button {
  background: linear-gradient(135deg, #f59e0b, #facc15) !important;
  color: #1f2937 !important;
  box-shadow: 0 14px 28px rgba(245, 158, 11, 0.28) !important;
}
body.woocommerce-order-received .chipacoin-wallet-button:hover {
  background: linear-gradient(135deg, #f59e0b, #fde047) !important;
  color: #111827 !important;
}
body.woocommerce-order-received .woocommerce-order > div:not(.chipacoin-order-fx):not(.chipacoin-thankyou-actions):not(.chipacoin-thankyou-actions-top),
body.woocommerce-order-received .woocommerce-order .woocommerce-notice,
body.woocommerce-order-received .woocommerce-order .woocommerce-thankyou-order-received {
  border-top-color: #facc15 !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08) !important;
}
body.woocommerce-order-received .woocommerce-order > div:not(.chipacoin-order-fx):not(.chipacoin-thankyou-actions):not(.chipacoin-thankyou-actions-top) a.button,
body.woocommerce-order-received .woocommerce-order > div:not(.chipacoin-order-fx):not(.chipacoin-thankyou-actions):not(.chipacoin-thankyou-actions-top) button,
body.woocommerce-order-received .woocommerce-order > div:not(.chipacoin-order-fx):not(.chipacoin-thankyou-actions):not(.chipacoin-thankyou-actions-top) .button {
  border-radius: 999px !important;
}

/* Fase 48: quitar ChipaCoins debe comportarse como acción secundaria, no como submit del checkout. */
.chipacoin-redeem-form a.chipacoin-redeem-remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}
