/*
Theme Name:   Fáctica Child
Theme URI:    https://factica.com.pe/
Description:  Tema hijo personalizado para Fáctica Store
Author:       Fáctica S.A.C.
Author URI:   https://factica.com.pe/
Template:     blocksy
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  factica-child
*/

/* ── Variables globales ── */
:root {
  --fac-brand: #1A6FD4;
  --fac-brand-dark: #0C4FA0;
  --fac-brand-light: #E8F1FB;
  --fac-accent: #F97316;
  --fac-text-h: #0F1824;
  --fac-text-b: #374151;
  --fac-text-m: #6B7280;
  --fac-bg: #F8FAFC;
  --fac-border: #E5E7EB;
  --fac-radius: 12px;
  --fac-shadow: 0 1px 3px rgba(0,0,0,0.07), 0 4px 12px rgba(0,0,0,0.05);
}

body {
  background: var(--fac-bg) !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  color: var(--fac-text-b) !important;
}

/* ── HEADER ── */
.site-header, #masthead, header.site-header {
  background: #FFFFFF !important;
  border-bottom: 0.5px solid var(--fac-border) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}
.site-branding .site-title a {
  font-weight: 700 !important;
  color: var(--fac-brand) !important;
  text-decoration: none !important;
}
.main-navigation ul li a, .ct-nav-links li a {
  color: var(--fac-text-b) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
  transition: background 0.15s, color 0.15s !important;
  text-decoration: none !important;
}
.main-navigation ul li a:hover, .ct-nav-links li a:hover {
  background: var(--fac-bg) !important;
  color: var(--fac-brand) !important;
}
.main-navigation ul li.current-menu-item > a,
.ct-nav-links li.current-menu-item > a {
  color: var(--fac-brand) !important;
}

/* Carrito en header */
.site-header .cart-contents,
.ct-header .woocommerce-cart-link,
[data-id="cart"] .ct-cart-content {
  background: var(--fac-brand) !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 7px 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* ── BOTONES ── */
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
a.button, button.button,
.ct-button {
  background: var(--fac-brand) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 11px 22px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: opacity 0.15s !important;
  text-decoration: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.ct-button:hover { opacity: 0.9 !important; color: #fff !important; }

/* Botón outline */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 1.5px solid var(--fac-brand) !important;
  color: var(--fac-brand) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--fac-brand) !important;
  color: #fff !important;
}

/* Botón añadir al carrito */
.woocommerce ul.products li.product .add_to_cart_button,
.single_add_to_cart_button {
  background: var(--fac-brand-light) !important;
  color: var(--fac-brand) !important;
  border: 0.5px solid var(--fac-brand) !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  width: 100% !important;
  padding: 10px 16px !important;
  transition: background 0.15s, color 0.15s !important;
}
.woocommerce ul.products li.product .add_to_cart_button:hover,
.single_add_to_cart_button:hover {
  background: var(--fac-brand) !important;
  color: #fff !important;
}

/* ── TARJETAS DE PRODUCTO ── */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 16px !important;
}
.woocommerce ul.products li.product {
  background: #fff !important;
  border: 0.5px solid var(--fac-border) !important;
  border-radius: var(--fac-radius) !important;
  overflow: hidden !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce ul.products li.product:hover {
  border-color: var(--fac-brand) !important;
  box-shadow: var(--fac-shadow) !important;
}
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 180px !important;
  object-fit: contain !important;
  background: var(--fac-bg) !important;
  padding: 12px !important;
  border-bottom: 0.5px solid var(--fac-border) !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--fac-text-h) !important;
  line-height: 1.4 !important;
  padding: 12px 14px 4px !important;
}
.woocommerce ul.products li.product .price {
  padding: 4px 14px 12px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--fac-brand) !important;
}
.woocommerce ul.products li.product .price del {
  color: var(--fac-text-m) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

/* Badge OFERTA */
.woocommerce span.onsale {
  background: var(--fac-accent) !important;
  color: #fff !important;
  border-radius: 5px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  min-height: unset !important;
  min-width: unset !important;
  top: 10px !important;
  left: 10px !important;
}

/* ── BARRA DE CONFIANZA ── */
.fac-trust-bar {
  background: #fff;
  border-top: 0.5px solid var(--fac-border);
  border-bottom: 0.5px solid var(--fac-border);
  padding: 14px 24px;
  display: flex;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
}
.fac-trust-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: var(--fac-text-m);
  font-weight: 500;
}
.fac-trust-icon {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: var(--fac-brand-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

/* ── BARRA DE SEGURIDAD ── */
.fac-security-bar {
  background: #0C1F3F;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}
.fac-sec-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: rgba(255,255,255,0.65);
}
.fac-sec-dot {
  width: 6px;
  height: 6px;
  background: #22C55E;
  border-radius: 50%;
}

/* ── FOOTER ── */
.site-footer, #colophon, .ct-footer {
  background: #0F172A !important;
  color: rgba(255,255,255,0.55) !important;
  padding: 40px 24px 20px !important;
  border-top: none !important;
}
.site-footer a, #colophon a, .ct-footer a {
  color: rgba(255,255,255,0.55) !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
}
.site-footer a:hover, #colophon a:hover, .ct-footer a:hover {
  color: #fff !important;
}
.site-footer .site-info, #colophon .site-info {
  font-size: 12px !important;
  color: rgba(255,255,255,0.4) !important;
  border-top: 0.5px solid rgba(255,255,255,0.08) !important;
  padding-top: 16px !important;
  margin-top: 24px !important;
}
.site-footer .widget-title, #colophon .widget-title, .ct-footer .widget-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.85) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin-bottom: 12px !important;
}

/* ── FORMULARIOS ── */
.woocommerce input.input-text,
.woocommerce textarea,
input[type="text"], input[type="email"],
input[type="password"], textarea {
  border: 0.5px solid var(--fac-border) !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  background: #fff !important;
  outline: none !important;
  transition: border-color 0.15s !important;
}
input:focus, .woocommerce input.input-text:focus {
  border-color: var(--fac-brand) !important;
  box-shadow: 0 0 0 3px rgba(26,111,212,0.12) !important;
}

/* ── MENSAJES WOOCOMMERCE ── */
.woocommerce-message {
  border-top-color: var(--fac-brand) !important;
  background: var(--fac-brand-light) !important;
  border-radius: 8px !important;
}
.woocommerce-error { border-radius: 8px !important; }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .fac-trust-bar { gap: 14px; padding: 12px 16px; }
  .fac-security-bar { gap: 12px; }
}
@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
}
