/*
Theme Name: Astra White Belt
Template: astra
Author: White Belt
Version: 1.0
Description: Child theme de Astra con la identidad de marca White Belt (negro / rojo sangre, titulos en Angel Wish, texto en Patrick Hand). BJJ / Grappling / No-Gi / Streetwear.
*/

/* ===================== FUENTES DE MARCA ===================== */
@font-face{
  font-family:'AngelWish';
  src:url('fonts/AngelWish.ttf') format('truetype');
  font-display:swap;
}
:root{
  --wb-blood:#ff1a1a;
  --wb-blood-deep:#c20009;
  --wb-ink:#0a0a0a;
  --wb-display:'AngelWish','Georgia',serif;            /* titulos: Angel Wish (blackletter) */
  --wb-body:'Michroma','Segoe UI',sans-serif;          /* textos/precios: Michroma (racing) */
}

/* Texto general -> Play Pretend (sustituto) */
body,p,li,td,th,input,textarea,select,button,
.woocommerce-Price-amount,.price,.ast-container{
  font-family:var(--wb-body);
}
/* Titulos de seccion / marca -> Angel Wish */
h1,h2,h3,.site-title,.entry-title,.widget-title,
.wp-block-heading,.cart_totals h2,.cross-sells h2,.related h2{
  font-family:var(--wb-display)!important;
  text-transform:none;
  letter-spacing:.01em;
  line-height:1.08;
  /* Angel Wish trae un solo grosor: evitar faux-bold disparejo */
  font-weight:400!important;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
}
/* nombres de producto -> Michroma (mas legible) */
.woocommerce-loop-product__title,.product_title{font-family:var(--wb-body)!important;letter-spacing:-.01em;}
/* Michroma es ancha: apretar un poco el cuerpo */
body,p,li,.woocommerce-Price-amount{letter-spacing:-.01em;}

/* ===================== CABECERA / NAV NEGRA ===================== */
.site-header,.ast-primary-header-bar,.main-header-bar,
.ast-header-break-point .main-navigation,.ast-mobile-header-wrap .main-header-bar{
  background:#fff!important;border-bottom:1px solid var(--line)!important;
}
.main-header-menu a,.site-title a,.ast-masthead-custom-menu-items,
.main-header-menu .menu-link,.ast-mobile-menu-buttons-minimal,
.ast-header-break-point .main-header-menu a,.ast-mobile-menu-trigger-minimal{
  color:var(--wb-ink)!important;
}
.main-header-menu a:hover,.site-title a:hover{ color:var(--wb-blood)!important; }
/* mostrar SOLO el logo (ocultar el texto del titulo del sitio, que salia duplicado) */
.ast-site-identity .site-title,.site-branding .site-title,.ast-site-title-wrap .site-title,
.site-header .site-title,.ast-logo-title-inline .site-title{display:none!important;}
/* iconos del header (carrito, cuenta, buscar) en oscuro */
.ast-header-woo-cart .ast-woo-header-cart-info-wrap,.ast-cart-menu-wrap *,
.ast-header-account-wrap *,.astra-search-icon::before{ color:var(--wb-ink)!important; }

/* ===================== BOTONES ROJOS ===================== */
.button,.wp-element-button,.single_add_to_cart_button,.ast-custom-button,
.woocommerce a.button,.woocommerce button.button,.woocommerce button.button.alt,
.woocommerce #respond input#submit,.woocommerce .widget_price_filter .button{
  background:var(--wb-blood)!important;
  border-color:var(--wb-blood)!important;
  color:#fff!important;
  border-radius:0!important;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:700;
}
.button:hover,.single_add_to_cart_button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce button.button.alt:hover{
  background:var(--wb-blood-deep)!important;
  border-color:var(--wb-blood-deep)!important;
  color:#fff!important;
}

/* ===================== PRECIOS / OFERTAS ===================== */
.price,.woocommerce-Price-amount{ color:var(--wb-ink); font-weight:700; }
.onsale{
  background:var(--wb-blood)!important;
  border-radius:0!important;
  color:#fff!important;
  text-transform:uppercase;
  letter-spacing:.04em;
}

/* ===================== FOOTER OSCURO ===================== */
.site-footer,.ast-small-footer,.footer-adv{
  background:#050505!important;
  color:#9b9ba3!important;
}
.site-footer a{ color:#cfcfd6!important; }
.site-footer a:hover{ color:var(--wb-blood)!important; }

/* ===================== BOTON WHATSAPP (ficha de producto) ===================== */
.wb-whatsapp{
  display:block;width:100%;margin-top:12px;background:#1f7a3d!important;color:#fff!important;
  text-align:center;padding:14px;text-transform:uppercase;letter-spacing:.06em;
  font-weight:700;border-radius:0;border:none;
}
.wb-whatsapp:hover{ background:#25994c!important; }

/* Campo de personalizacion (Contender) */
.wb-perso{margin-top:14px;padding:14px 16px;border:1px solid var(--wb-blood);background:#fff5f5;}
.wb-perso label{display:block;font-family:var(--wb-body);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--wb-ink);margin-bottom:8px;}
.wb-perso label span{color:var(--wb-blood);}
.wb-perso input,.wb-perso select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:0;font-family:var(--wb-body);font-size:.95rem;letter-spacing:-.01em;background:#fff;margin-bottom:8px;}
.wb-perso input:focus,.wb-perso select:focus{outline:none;border-color:var(--wb-blood);}
.wb-perso small{display:block;margin-top:7px;font-size:.72rem;color:#777;line-height:1.4;}

/* ============================================================
   PRESENTACION DE PRODUCTOS (estilo deadbushi / streetx)
   Tienda (loop) + ficha de producto
   ============================================================ */
.woocommerce ul.products,.woocommerce-page ul.products{gap:30px 22px;}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
  text-align:left;margin:0 0 6px;padding:0;background:#fff;border:1px solid var(--line);
  position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .25s;
}
.woocommerce ul.products li.product:hover{border-color:var(--wb-ink);transform:translateY(-4px);}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block;}
.woocommerce ul.products li.product a img{
  width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top center;margin:0;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.woocommerce ul.products li.product:hover a img{transform:scale(1.05);}
/* micro-marca sobre el titulo */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--wb-body)!important;font-size:.82rem;font-weight:700;line-height:1.3;letter-spacing:-.01em;
  padding:14px 16px 0!important;text-transform:none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title::before{
  content:"WHITE BELT";display:block;font-size:.6rem;letter-spacing:.2em;
  color:var(--wb-blood);margin-bottom:5px;font-weight:700;
}
.woocommerce ul.products li.product .price{
  display:block;padding:6px 16px 0;margin:0;font-family:var(--wb-body)!important;
  font-size:1.15rem;color:var(--wb-ink)!important;font-weight:400;letter-spacing:-.02em;
}
.woocommerce ul.products li.product .price del{opacity:.45;font-size:.8rem;font-family:var(--wb-body);}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  display:block!important;margin:14px 16px 18px!important;text-align:center;border-radius:0!important;
  opacity:1;transform:none;transition:.2s;
}
/* badges */
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{
  background:var(--wb-blood)!important;color:#fff!important;border-radius:0!important;
  min-height:auto;min-width:auto;height:auto;width:auto;line-height:1.2;margin:0;
  padding:6px 11px;font-family:var(--wb-body);font-size:.55rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;top:12px;left:12px;position:absolute;
}
.woocommerce ul.products li.product.outofstock::after{
  content:"Agotado";position:absolute;top:12px;right:12px;z-index:3;background:#2a2a30;color:#fff;
  font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;font-weight:700;
}
/* ficha de producto: galeria e info mas limpias */
.single-product div.product .product_title{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:8px;}
.single-product div.product p.price,.single-product div.product span.price{
  font-family:var(--wb-body)!important;font-size:1.5rem;color:var(--wb-ink)!important;letter-spacing:-.02em;
}
.single-product div.product .woocommerce-product-details__short-description{color:#444;}
.single-product .woocommerce-tabs .tabs li.active a{color:var(--wb-blood);}

/* carrusel frente/espalda en las cards de tienda (swap al hover) */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{position:relative;display:block;}
.woocommerce ul.products li.product .wb-hover-img{
  position:absolute;top:0;left:0;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top center;
  z-index:1;opacity:0;transition:opacity .45s ease;pointer-events:none;margin:0;
}
.woocommerce ul.products li.product:hover .wb-hover-img{opacity:1;}

/* ============================================================
   IDENTIDAD EN PAGINAS INTERNAS (tienda, producto, carrito, checkout)
   ============================================================ */
/* barra de ofertas */
.wb-announce{background:#9e0007;color:#fff;text-align:center;font-family:var(--wb-body);
  font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;padding:9px 16px;}
/* iconos en el header */
.wb-hicons{display:flex!important;align-items:center;gap:10px;margin-left:auto;list-style:none;padding:0!important;}
.wb-hicons::before,.wb-hicons::after{display:none!important;}
.main-header-menu .wb-hicons a{padding:0!important;line-height:1!important;}
.wb-hicons a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  color:var(--wb-ink)!important;position:relative;transition:.2s;}
.wb-hicons a:hover{color:var(--wb-blood)!important;}
.wb-hicons svg{width:22px;height:22px;}
.wb-hicons .wb-cart span{position:absolute;top:-2px;right:-2px;background:var(--wb-blood);color:#fff;
  font-size:.55rem;font-weight:700;min-width:16px;height:16px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;padding:0 4px;}
/* que el contenido del header quede alineado */
.ast-primary-header-bar .ast-container,.main-header-bar .ast-container{display:flex;align-items:center;}
/* logo del header interno mas chico (venia muy grande) */
.site-header .custom-logo,.ast-site-identity img.custom-logo,.site-logo-img .custom-logo,
.ast-logo-title-inline .custom-logo-link img,.site-branding img{
  max-height:46px!important;width:auto!important;height:auto!important;}

/* titulos de seccion woo en Angel Wish */
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-order-received h2,
.cart-collaterals h2,.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3{
  font-family:var(--wb-display)!important;}
/* tablas y cajas sin bordes redondos, mas de marca */
.woocommerce table.shop_table,.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #payment,.woocommerce form .form-row input,
.select2-container--default .select2-selection--single{border-radius:0!important;}
.woocommerce table.shop_table th{font-family:var(--wb-display);text-transform:none;}
.woocommerce .cart_totals .order-total .woocommerce-Price-amount{font-family:var(--wb-body);font-weight:700;}
/* botones grandes de carrito/checkout en rojo */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce #payment #place_order,.woocommerce .cart .button,
.woocommerce-cart .actions .button{
  background:var(--wb-blood)!important;border-color:var(--wb-blood)!important;color:#fff!important;
  border-radius:0!important;text-transform:uppercase;letter-spacing:.05em;font-weight:700;}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce #payment #place_order:hover{background:var(--wb-blood-deep)!important;}
/* aviso cuando no hay medio de pago / carrito vacio */
.woocommerce-info,.woocommerce-message{border-top-color:var(--wb-blood)!important;}
.woocommerce-message::before,.woocommerce-info::before{color:var(--wb-blood)!important;}

/* ============================================================
   MÓVIL — carrito y checkout centrados (padding lateral)
   ============================================================ */
@media (max-width: 921px){
  /* padding lateral consistente en el contenido woo */
  .woocommerce-cart .entry-content, .woocommerce-checkout .entry-content,
  .woocommerce-account .entry-content, .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce, .woocommerce-account .woocommerce,
  .single-product .entry-content{
    padding-left:16px!important; padding-right:16px!important; box-sizing:border-box;
    max-width:100%!important;
  }
  /* CLAVE: bloques Cart/Checkout de WooCommerce traen margin -20px (full-bleed)
     que en movil los descuadra a la izquierda -> neutralizarlo */
  .wp-block-woocommerce-checkout, .wc-block-checkout,
  .wp-block-woocommerce-cart, .wc-block-cart{
    margin-left:0!important; margin-right:0!important;
    padding-left:0!important; padding-right:0!important;
    max-width:100%!important; box-sizing:border-box;
  }
  /* columnas del bloque a ancho completo */
  .wc-block-checkout__main, .wc-block-checkout__sidebar,
  .wc-block-cart__main, .wc-block-cart__sidebar{
    width:100%!important; max-width:100%!important; box-sizing:border-box;
  }
  /* columnas del checkout a ancho completo, sin flotar */
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2,
  .woocommerce #order_review, .woocommerce #order_review_heading,
  .woocommerce-cart .cart-collaterals, .woocommerce-cart .cart-collaterals .cart_totals{
    width:100%!important; float:none!important; padding-left:0!important; padding-right:0!important;
  }
  /* inputs/selects no desbordan */
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row textarea,
  .woocommerce form .form-row .select2-container,
  .woocommerce-checkout select, .woocommerce form .form-row{
    width:100%!important; box-sizing:border-box;
  }
  /* tabla del carrito responsive sin desbordar */
  .woocommerce-cart table.cart, .woocommerce table.shop_table_responsive{
    width:100%!important; box-sizing:border-box;
  }
  /* logo movil: un solo tamaño, ocultar cualquier duplicado */
  .ast-mobile-header-wrap .custom-logo, .ast-mobile-header-wrap .site-branding img{
    max-height:38px!important; width:auto!important; height:auto!important;
  }
  #masthead .ast-mobile-header-wrap .site-branding ~ .site-branding{ display:none!important; }
  /* que nada genere scroll horizontal */
  body.woocommerce-cart, body.woocommerce-checkout{ overflow-x:hidden; }
}
