/*
 Theme Name:   Bestvivlio Store
 Theme URI:    https://bestvivlio.com
 Description:  Tema hijo de Storefront con la identidad visual de Bestvivlio: morado, naranja y verde lima, tipografía Poppins + Open Sans.
 Author:       Bestvivlio
 Template:     storefront
 Version:      1.0.0
 Text Domain:  bestvivlio-store
*/

/* =========================================================
   BESTVIVLIO STORE — Tema hijo de Storefront
   Paleta basada en bestvivlio.com
   ========================================================= */

:root {
  --bv-morado:       #6B4C9A;
  --bv-morado-osc:   #4E3470;
  --bv-naranja:      #F39C12;
  --bv-verde:        #8BC34A;
  --bv-verde-osc:    #76A83C;
  --bv-azul:         #3498DB;
  --bv-texto:        #2D2D2D;
  --bv-texto-suave:  #6B6B6B;
  --bv-fondo:        #FAFAFA;
  --bv-blanco:       #FFFFFF;
  --bv-borde:        #E6E1ED;
}

/* ---------- Tipografía ---------- */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600;700;800&family=Open+Sans:wght@400;500;600&display=swap');

body,
.woocommerce,
button,
input,
select,
textarea {
  font-family: 'Open Sans', -apple-system, sans-serif;
  color: var(--bv-texto);
}

h1, h2, h3, h4, h5, h6,
.site-title,
.woocommerce-loop-product__title,
.product_title {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  color: var(--bv-morado-osc);
  letter-spacing: -0.01em;
}

body { background-color: var(--bv-fondo); }

/* ---------- Header ---------- */
.site-header {
  background: linear-gradient(135deg, var(--bv-morado) 0%, var(--bv-morado-osc) 100%);
  border-bottom: none;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.site-header,
.site-header a,
.site-header .site-title a {
  color: var(--bv-blanco);
}

.site-branding .site-title a {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 1.6rem;
}

/* Acento naranja al estilo del logo (la "o" del isotipo) */
.site-branding .site-title a::first-letter {
  color: var(--bv-naranja);
}

.main-navigation ul li a {
  color: var(--bv-blanco);
  font-weight: 600;
  font-size: 0.92rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.main-navigation ul li a:hover {
  color: var(--bv-naranja);
}

.site-header-cart .cart-contents {
  color: var(--bv-blanco);
}

.site-header-cart .cart-contents .count {
  background: var(--bv-naranja);
  color: var(--bv-blanco);
  border-radius: 999px;
  padding: 0.05rem 0.45rem;
  margin-left: 0.3rem;
  font-size: 0.75rem;
}

/* ---------- Botones / CTA (verde lima del sitio original) ---------- */
.button,
button.button,
input.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
a.added_to_cart {
  background-color: var(--bv-verde);
  color: var(--bv-blanco) !important;
  border: none;
  border-radius: 999px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  padding: 0.8em 1.8em;
  text-transform: none;
  letter-spacing: 0.01em;
  transition: background-color 0.2s ease, transform 0.15s ease;
}

.button:hover,
button.button:hover,
input.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
a.added_to_cart:hover {
  background-color: var(--bv-verde-osc);
  transform: translateY(-1px);
}

/* Botón secundario (outline morado) */
.woocommerce a.button.alt,
.button.alt {
  background-color: var(--bv-morado);
}
.woocommerce a.button.alt:hover,
.button.alt:hover {
  background-color: var(--bv-morado-osc);
}

/* ---------- Enlaces y acentos ---------- */
a { color: var(--bv-azul); }
a:hover { color: var(--bv-morado); }

.woocommerce-loop-product__title:hover,
.products .product a:hover .woocommerce-loop-product__title {
  color: var(--bv-azul);
}

.price,
.woocommerce-Price-amount {
  color: var(--bv-morado-osc);
  font-weight: 700;
}

ins .woocommerce-Price-amount {
  color: var(--bv-verde-osc);
}

/* ---------- Tarjetas de producto ---------- */
ul.products li.product {
  background: var(--bv-blanco);
  border: 1px solid var(--bv-borde);
  border-radius: 14px;
  padding: 1rem;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

ul.products li.product:hover {
  box-shadow: 0 8px 24px rgba(107, 76, 154, 0.15);
  transform: translateY(-3px);
}

ul.products li.product .onsale {
  background: var(--bv-naranja);
  border-radius: 999px;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  min-height: 2.6em;
  min-width: 2.6em;
  line-height: 2.6em;
}

/* ---------- Breadcrumbs ---------- */
.woocommerce-breadcrumb {
  color: var(--bv-texto-suave);
}
.woocommerce-breadcrumb a {
  color: var(--bv-morado);
}

/* ---------- Footer ---------- */
.site-footer {
  background: var(--bv-morado-osc);
  color: var(--bv-blanco);
}

.site-footer a {
  color: var(--bv-naranja);
}

.site-footer .widget-title {
  font-family: 'Poppins', sans-serif;
  color: var(--bv-blanco);
}

/* ---------- Mensajes / notices ---------- */
.woocommerce-message,
.woocommerce-info {
  border-top-color: var(--bv-azul);
}
.woocommerce-message::before { color: var(--bv-azul); }

.woocommerce-error {
  border-top-color: var(--bv-naranja);
}

/* ---------- Responsive: respeta jerarquía en móvil ---------- */
@media (max-width: 768px) {
  .site-branding .site-title a { font-size: 1.3rem; }
  ul.products li.product { padding: 0.75rem; }
}

/* ---------- Accesibilidad: foco visible ---------- */
a:focus-visible,
button:focus-visible,
.button:focus-visible {
  outline: 3px solid var(--bv-naranja);
  outline-offset: 2px;
}
