/*
Theme Name: Analog 47 — Storefront Child
Theme URI: https://analog47.cl
Description: Child theme de Storefront con el sistema de diseño atelier de Analog 47 Dream Maker Garage (Barlow Condensed, paleta dorado/negro, seams, sin bordes redondeados). Pensado para la tienda de merchandising con WooCommerce + Mercado Pago.
Author: LaTazaBC
Author URI: https://latazabc.com
Template: storefront
Version: 1.0.0
Requires Plugins: woocommerce
Text Domain: analog47-storefront
*/

/* =====================================================================
   ANALOG 47 — Atelier design tokens
   ===================================================================== */
:root {
  --a47-gold:   #CBB587;
  --a47-gold-f: rgba(203,181,135,0.08);
  --a47-red:    #C41217;
  --a47-bg:     #080808;
  --a47-bg-s:   #0F0F0F;
  --a47-bg-r:   #171717;
  --a47-bg-r2:  #202020;
  --a47-text:   #EAE4D9;
  --a47-text-m: #8A8480;
  --a47-text-d: #3E3A36;
  --a47-border: rgba(203,181,135,0.14);
  --a47-border-m: rgba(203,181,135,0.28);
  --a47-fd: "Barlow Condensed", "Arial Narrow", sans-serif;
  --a47-fb: "Barlow", system-ui, sans-serif;
}

/* =====================================================================
   Base
   ===================================================================== */
body,
.site,
#page {
  background-color: var(--a47-bg) !important;
  color: var(--a47-text);
  font-family: var(--a47-fb);
  font-weight: 300;
}
body { font-size: 16px; line-height: 1.6; }

a { color: var(--a47-gold); transition: color .25s ease; }
a:hover, a:focus { color: var(--a47-text); }

::selection { background: var(--a47-gold); color: #0b0b0b; }

/* Kill rounded corners + shadows (atelier = square, flat) */
*,
.woocommerce ul.products li.product,
.woocommerce div.product,
img, input, textarea, select, button, .button,
.woocommerce .button, .woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-radius: 0 !important;
  box-shadow: none !important;
}

h1, h2, h3, h4, h5, h6,
.page-title, .entry-title, .product_title,
.site-title, .widget-title, .section-title {
  font-family: var(--a47-fd) !important;
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: var(--a47-text);
  line-height: 1.05;
}

/* =====================================================================
   Header / navigation
   ===================================================================== */
.site-header {
  background-color: var(--a47-bg-s) !important;
  border-bottom: 1px solid var(--a47-border);
  color: var(--a47-text);
}
.site-header,
.site-branding,
.storefront-primary-navigation {
  background-color: transparent !important;
}
.site-title a, .site-title a:hover { color: var(--a47-text) !important; }
.site-header .site-header-cart .cart-contents,
.main-navigation ul li a,
.site-header a {
  color: var(--a47-text) !important;
  font-family: var(--a47-fd);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 14px;
}
.main-navigation ul li a:hover,
.site-header a:hover { color: var(--a47-gold) !important; }
.main-navigation ul.menu > li.current-menu-item > a { color: var(--a47-gold) !important; }
.storefront-primary-navigation,
.secondary-navigation ul.menu,
.main-navigation ul.nav-menu ul.children,
.main-navigation ul.menu ul.sub-menu {
  background-color: var(--a47-bg-r) !important;
  border: 1px solid var(--a47-border);
}

/* Search field in header */
.site-search .widget_product_search input[type="search"],
.widget_product_search input[type="search"] {
  background: var(--a47-bg-r) !important;
  color: var(--a47-text) !important;
  border: 1px solid var(--a47-border) !important;
}

/* =====================================================================
   Buttons
   ===================================================================== */
button, input[type="button"], input[type="reset"], input[type="submit"],
.button, .added_to_cart,
.woocommerce #respond input#submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce #respond input#submit.alt, .woocommerce input.button.alt {
  background-color: var(--a47-gold) !important;
  color: #0b0b0b !important;
  font-family: var(--a47-fd) !important;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 13px;
  padding: 14px 26px;
  border: 1px solid var(--a47-gold) !important;
  transition: background-color .25s ease, color .25s ease;
}
button:hover, .button:hover, .added_to_cart:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce #respond input#submit:hover {
  background-color: transparent !important;
  color: var(--a47-gold) !important;
}

/* Secondary / ghost buttons */
.woocommerce a.button.wc-backward,
.woocommerce .widget_shopping_cart a.button,
.added_to_cart.wc-forward {
  background-color: transparent !important;
  color: var(--a47-gold) !important;
  border: 1px solid var(--a47-border-m) !important;
}

/* =====================================================================
   Shop loop — product cards (seams, not rounded cards)
   ===================================================================== */
.woocommerce ul.products,
.woocommerce-page ul.products { gap: 1px; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background-color: var(--a47-bg-s) !important;
  border: 1px solid var(--a47-border);
  padding: 18px 18px 26px;
}
.woocommerce ul.products li.product a img { margin-bottom: 18px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
  font-family: var(--a47-fd) !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--a47-text) !important;
  font-size: 18px !important;
  padding: 0 !important;
}
.woocommerce ul.products li.product .price {
  color: var(--a47-gold) !important;
  font-family: var(--a47-fd) !important;
  font-weight: 600;
}
.woocommerce ul.products li.product .star-rating { color: var(--a47-gold); }

/* Sale badge */
.woocommerce span.onsale {
  background-color: var(--a47-red) !important;
  color: #fff !important;
  font-family: var(--a47-fd);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 11px;
  min-height: auto;
  min-width: auto;
  line-height: 1;
  padding: 7px 12px;
  border: 0;
}

/* =====================================================================
   Single product
   ===================================================================== */
.woocommerce div.product .product_title { font-size: clamp(28px, 4vw, 48px); }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--a47-gold) !important;
  font-family: var(--a47-fd) !important;
  font-weight: 700;
  font-size: 30px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--a47-bg-r) !important;
  border-color: var(--a47-border) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--a47-bg-s) !important;
  border-bottom-color: var(--a47-bg-s) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--a47-text) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--a47-border); }
.woocommerce div.product form.cart div.quantity .qty {
  background: var(--a47-bg-r) !important;
  color: var(--a47-text) !important;
  border: 1px solid var(--a47-border) !important;
}
.stock.in-stock { color: var(--a47-gold) !important; }

/* =====================================================================
   Forms / inputs
   ===================================================================== */
input[type="text"], input[type="email"], input[type="password"],
input[type="tel"], input[type="number"], input[type="search"],
input[type="url"], textarea, select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single {
  background-color: var(--a47-bg-r) !important;
  color: var(--a47-text) !important;
  border: 1px solid var(--a47-border) !important;
}
input:focus, textarea:focus, select:focus { border-color: var(--a47-gold) !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--a47-text); }
label, .woocommerce-input-wrapper { color: var(--a47-text); }

/* =====================================================================
   Cart / checkout tables
   ===================================================================== */
.woocommerce table.shop_table,
.woocommerce-cart table.cart,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  background-color: var(--a47-bg-s) !important;
  color: var(--a47-text) !important;
  border-color: var(--a47-border) !important;
}
.woocommerce table.shop_table thead th { color: var(--a47-text-m) !important; text-transform: uppercase; font-family: var(--a47-fd); letter-spacing: .14em; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce .cart_totals, .woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
  background-color: var(--a47-bg-s) !important;
  border: 1px solid var(--a47-border);
  color: var(--a47-text);
}
.woocommerce-checkout #payment,
.woocommerce .woocommerce-checkout-review-order-table {
  background-color: var(--a47-bg-r) !important;
}
.woocommerce-info, .woocommerce-message, .woocommerce-error,
.woocommerce-noreviews, p.no-comments {
  background-color: var(--a47-bg-r) !important;
  color: var(--a47-text) !important;
  border-top: 3px solid var(--a47-gold) !important;
}
.woocommerce-error { border-top-color: var(--a47-red) !important; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--a47-gold) !important; }
.woocommerce-error::before { color: var(--a47-red) !important; }

/* =====================================================================
   Footer
   ===================================================================== */
.site-footer {
  background-color: var(--a47-bg-s) !important;
  color: var(--a47-text-m) !important;
  border-top: 1px solid var(--a47-border);
}
.site-footer a { color: var(--a47-gold) !important; }
.site-footer a:hover { color: var(--a47-text) !important; }

/* =====================================================================
   Misc polish
   ===================================================================== */
.price del { color: var(--a47-text-d) !important; opacity: 1; }
.price ins { text-decoration: none; color: var(--a47-gold) !important; }
.woocommerce-breadcrumb { color: var(--a47-text-m); font-family: var(--a47-fd); letter-spacing: .1em; text-transform: uppercase; font-size: 13px; }
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li { border-color: var(--a47-border) !important; }
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--a47-gold) !important; color: #0b0b0b !important;
}
hr, .woocommerce-tabs, .entry-content { border-color: var(--a47-border) !important; }
