/* Astra Lorcana Style – by ChatGPT
   Colores & tipografía */
:root {
    --li-primary: #4F7DF3;
    --li-primary-hover: #315FE0;
    --li-text-dark: #1b1b1b;
    --li-card-shadow: 0 6px 18px rgba(0,0,0,.08);
    --li-card-shadow-lg: 0 10px 28px rgba(0,0,0,.12);
    --li-radius-xl: 1rem;
    --li-radius-pill: 999px;
}

/* Fuente global solo en tienda y producto (porque el plugin se encola solo ahí) */
body {
    font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    color: var(--li-text-dark);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ========= Botones: tienda + ficha de producto ========= */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button,
.single_add_to_cart_button,
.add_to_cart_button,
.ast-button {
    background: linear-gradient(135deg, var(--li-primary), var(--li-primary-hover));
    color: #fff !important;
    border: none;
    border-radius: var(--li-radius-pill);
    padding: 14px 22px;
    font-weight: 600;
    box-shadow: 0 8px 20px rgba(79,125,243,.25);
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
    text-transform: none;
}

.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled,
.single_add_to_cart_button.disabled,
.single_add_to_cart_button:disabled {
    opacity: .6;
    cursor: not-allowed;
    filter: grayscale(.15);
}

/* Hover SOLO escritorio/puntero fino */
@media (hover:hover) and (pointer:fine) {
  .woocommerce a.button:hover,
  .woocommerce button.button:hover,
  .woocommerce input.button:hover,
  .woocommerce #respond input#submit:hover,
  .woocommerce .button:hover,
  .single_add_to_cart_button:hover,
  .add_to_cart_button:hover,
  .ast-button:hover {
      transform: translateY(-2px);
      box-shadow: 0 14px 30px rgba(49,95,224,.35);
  }
}

/* Botón principal en ficha de producto: ancho mayor/píldora */
.single-product .single_add_to_cart_button {
    width: 100%;
    padding: 16px 28px;
    font-size: 18px;
    border-radius: var(--li-radius-pill);
}

/* ========= Cards de productos en la tienda ========= */
.woocommerce ul.products li.product {
    background: #fff;
    border-radius: var(--li-radius-xl);
    box-shadow: var(--li-card-shadow);
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease;
    border: 1px solid rgba(0,0,0,.04);
}

@media (hover:hover) and (pointer:fine) {
  .woocommerce ul.products li.product:hover {
      transform: translateY(-3px);
      box-shadow: var(--li-card-shadow-lg);
  }
}

/* Imágenes redondeadas sutiles dentro de la card */
.woocommerce ul.products li.product a img {
    border-top-left-radius: var(--li-radius-xl);
    border-top-right-radius: var(--li-radius-xl);
}

/* Precio y títulos más limpios */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.single-product .product_title {
    font-weight: 700;
    letter-spacing: .2px;
}

.woocommerce div.product p.price,
.woocommerce ul.products li.product .price {
    font-weight: 600;
    color: var(--li-primary);
}

/* Aviso de stock bajo estilo "pill" */
.woocommerce .stock, .woocommerce div.product .stock {
    display: inline-block;
    background: rgba(79,125,243,.12);
    color: var(--li-primary);
    padding: 6px 10px;
    border-radius: 999px;
    font-weight: 600;
}

/* Wishlist/otros enlaces que parezcan texto */
.woocommerce a.add_to_wishlist,
.yith-wcwl-add-to-wishlist a {
    color: var(--li-text-dark);
    font-weight: 500;
}

/* Espaciado y contenedores */
.woocommerce ul.products {
    gap: 18px;
}

/* ========= Accesibilidad ========= */
.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus,
.single_add_to_cart_button:focus {
    outline: 2px solid var(--li-primary-hover);
    outline-offset: 2px;
}

/* ================= SHOP FIXES (v1.0.1) ================= */
/* Forzar layout limpio en cards de tienda (Astra) */
.woocommerce ul.products li.product .astra-shop-summary-wrap,
.woocommerce ul.products li.product .woocommerce-loop-product__link + .astra-shop-summary-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: 100%;
    padding: 14px 16px 18px;
    background: #fff;
    border-bottom-left-radius: var(--li-radius-xl);
    border-bottom-right-radius: var(--li-radius-xl);
}

/* Título compacto y legible */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 18px;
    line-height: 1.25;
    margin: 0;
}

/* Categoría/Meta arriba del título */
.woocommerce ul.products li.product .ast-woo-product-category {
    color: #7a7a7a;
    font-weight: 500;
    margin-bottom: 2px;
}

/* Precio: valor en primario; tachado tenue */
.woocommerce ul.products li.product .price {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    color: var(--li-primary);
    font-weight: 700;
    font-size: 18px;
}
.woocommerce ul.products li.product .price del {
    color: #9aa4b2;
    opacity: .85;
    font-weight: 500;
}
.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    color: var(--li-primary);
}

/* Botón Add to cart: ancho completo y al fondo */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
    width: 100%;
    justify-content: center;
    margin-top: auto;
    border-radius: var(--li-radius-pill);
    font-size: 16px;
    padding: 14px 20px;
}

/* Imagen con esquinas redondas solo arriba; sin aplastar */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img {
    width: 100%;
    height: auto;
    display: block;
    border-top-left-radius: var(--li-radius-xl);
    border-top-right-radius: var(--li-radius-xl);
}

/* Badge SALE en verde, pill en la esquina */
.woocommerce span.onsale {
    background: #22c55e !important; /* verde */
    color: #fff !important;
    border-radius: 999px;
    padding: 6px 10px;
    line-height: 1;
    min-height: unset;
    min-width: unset;
    box-shadow: 0 6px 16px rgba(34,197,94,.25);
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
}

/* Sombra y borde de la card más suaves para móviles */
@media (max-width: 782px) {
    .woocommerce ul.products li.product {
        border-radius: 18px;
        box-shadow: 0 8px 24px rgba(0,0,0,.06);
    }
}

/* Rating color sutil */
.star-rating span::before {
    color: #f59e0b; /* amber */
}

/* ================= SINGLE PRODUCT BADGE FIX (v1.0.2) ================= */
/* Asegurar ancla en el contenedor de la galería */
.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product .woocommerce-product-gallery {
    position: relative;
}
/* Mover el badge "Sale" a la esquina superior IZQUIERDA de la imagen y en azul */
.single-product .woocommerce span.onsale {
    background: var(--li-primary) !important; /* azul */
    color: #fff !important;
    border-radius: 999px;
    padding: 8px 12px;
    line-height: 1;
    min-height: unset;
    min-width: unset;
    box-shadow: 0 6px 16px rgba(79,125,243,.28);
    left: 12px !important;
    right: auto !important;
    top: 12px !important;
    z-index: 3;
}
/* Evitar que tape el título en el summary, por si algún tema lo coloca allí */
.single-product .summary .onsale {
    position: static !important;
    display: inline-block;
    margin-left: 8px;
    transform: none !important;
}

/* ================= v1.0.4 Custom Dynamic Badges ================= */
.li-onsale-badge{
    position:absolute;
    z-index:5;
    display:inline-block;
    padding:8px 12px;
    border-radius:999px;
    line-height:1;
    font-weight:700;
    font-size:14px;
    color:#fff;
    box-shadow:0 8px 18px rgba(0,0,0,.15);
    user-select:none;
    -webkit-user-select:none;
    pointer-events:none;
}
/* Shop: esquina sup. derecha, verde */
.li-onsale-badge.li-shop{
    right:12px;
    top:12px;
    background:#22c55e;
}
/* Single: esquina sup. izquierda de la galería, azul */
.li-onsale-badge.li-single{
    left:12px;
    top:12px;
    background:var(--li-primary);
}
/* Asegurar posicionamiento relativo en contenedores */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{ position:relative; display:block; }
.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product .woocommerce-product-gallery{ position:relative; }
