/*
Theme Name:   Carite Shop Child
Theme URI:    https://cariteshop.com
Description:  Tema hijo de Astra para Carite Shop — Fotografías del mar Caribe
Author:       Carite Shop
Author URI:   https://cariteshop.com
Template:     astra
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:  cariteshop-child
*/

/* ═══════════════════════════════════════════════════════
   CARITE SHOP — ESTILOS GLOBALES
   Estos estilos se cargan en TODO el sitio WordPress
   ═══════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap');

:root {
  --cs-deep:   #0a1628;
  --cs-mid:    #0d2644;
  --cs-light:  #1a4a72;
  --cs-wave:   #2a7ab0;
  --cs-foam:   #a8d8ea;
  --cs-coral:  #e8734a;
  --cs-coral2: #f0956e;
  --cs-white:  #faf8f4;
  --cs-serif:  'Cormorant Garamond', serif;
  --cs-sans:   'DM Sans', sans-serif;
}

/* ── Tipografía base ── */
body {
  font-family: var(--cs-sans) !important;
  background: #fff;
  color: #1a1a1a;
}

/* ── Links globales ── */
a { transition: color 0.3s; }

/* ══════════════════════════════════════════
   HEADER DE ASTRA — personalizado
   ══════════════════════════════════════════ */
.site-header,
#masthead {
  background: var(--cs-deep) !important;
  border-bottom: 1px solid rgba(168,216,234,0.1) !important;
  box-shadow: none !important;
}

.site-header .ast-site-identity .site-title a,
.ast-site-title-wrap .site-title a {
  font-family: var(--cs-serif) !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  color: var(--cs-white) !important;
  text-decoration: none !important;
  letter-spacing: 0.05em !important;
}

/* Nav links */
.main-navigation a,
.ast-main-navigation a,
#site-navigation a {
  color: rgba(250,248,244,0.7) !important;
  font-family: var(--cs-sans) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  transition: color 0.3s !important;
}
.main-navigation a:hover,
.ast-main-navigation a:hover {
  color: var(--cs-white) !important;
}

/* Botón CTA en nav */
.ast-header-custom-item .cs-nav-btn,
.header-widget-area .cs-nav-btn {
  background: var(--cs-coral) !important;
  color: var(--cs-white) !important;
  padding: 0.5rem 1.2rem !important;
  border-radius: 2px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background 0.3s !important;
}
.cs-nav-btn:hover { background: var(--cs-coral2) !important; }

/* ══════════════════════════════════════════
   FOOTER DE ASTRA — personalizado
   ══════════════════════════════════════════ */
.site-footer,
#colophon {
  background: #040e1c !important;
  color: rgba(250,248,244,0.5) !important;
  border-top: 1px solid rgba(168,216,234,0.08) !important;
  font-family: var(--cs-sans) !important;
  font-size: 0.78rem !important;
  padding: 1.5rem 2rem !important;
}
.site-footer a { color: rgba(250,248,244,0.5) !important; }
.site-footer a:hover { color: var(--cs-foam) !important; }

/* ══════════════════════════════════════════
   WOOCOMMERCE — TIENDA
   ══════════════════════════════════════════ */

/* Fondo de páginas WooCommerce */
.woocommerce-page,
body.woocommerce {
  background: var(--cs-deep) !important;
  color: var(--cs-white) !important;
}

/* Grid de productos */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.3rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce ul.products li.product {
  background: var(--cs-mid) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  transition: transform 0.4s !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.3) !important;
}

/* Imagen del producto */
.woocommerce ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  transition: transform 0.7s !important;
  border-radius: 0 !important;
}
.woocommerce ul.products li.product:hover img {
  transform: scale(1.05) !important;
}

/* Título del producto */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--cs-serif) !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  color: var(--cs-white) !important;
  padding: 1rem 1.2rem 0.3rem !important;
  margin: 0 !important;
}

/* Precio */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount {
  color: var(--cs-foam) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  padding: 0 1.2rem !important;
  font-family: var(--cs-sans) !important;
}

/* Botón añadir al carrito */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  display: block !important;
  margin: 0.8rem 1.2rem 1.3rem !important;
  background: var(--cs-coral) !important;
  color: var(--cs-white) !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: var(--cs-sans) !important;
  font-size: 0.76rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0.7rem !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: background 0.3s !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
.woocommerce ul.products li.product .button:hover {
  background: var(--cs-coral2) !important;
  color: var(--cs-white) !important;
}

/* Página de producto individual */
.woocommerce div.product .product_title {
  font-family: var(--cs-serif) !important;
  font-size: clamp(2rem, 4vw, 3.5rem) !important;
  font-weight: 300 !important;
  color: var(--cs-white) !important;
  line-height: 1.1 !important;
}

.woocommerce div.product .price,
.woocommerce div.product p.price {
  color: var(--cs-foam) !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  color: rgba(250,248,244,0.7) !important;
  font-size: 0.95rem !important;
  line-height: 1.75 !important;
}

/* Botón añadir al carrito en producto */
.woocommerce div.product .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button {
  background: var(--cs-coral) !important;
  color: var(--cs-white) !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: var(--cs-sans) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0.9rem 2rem !important;
  transition: background 0.3s, transform 0.2s !important;
  box-shadow: 0 4px 20px rgba(232,115,74,0.3) !important;
}
.woocommerce div.product .single_add_to_cart_button:hover {
  background: var(--cs-coral2) !important;
  transform: translateY(-2px) !important;
}

/* Carrito */
.woocommerce-cart .cart-collaterals,
.woocommerce-cart table.cart {
  background: var(--cs-mid) !important;
  color: var(--cs-white) !important;
  border-radius: 8px !important;
}
.woocommerce-cart table.cart th {
  color: rgba(250,248,244,0.5) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid rgba(168,216,234,0.1) !important;
}

/* Checkout */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
  background: var(--cs-mid) !important;
  color: var(--cs-white) !important;
}

/* Badges */
.woocommerce span.onsale {
  background: var(--cs-coral) !important;
  border-radius: 2px !important;
  font-family: var(--cs-sans) !important;
  font-size: 0.65rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  min-height: auto !important;
  min-width: auto !important;
  padding: 0.3rem 0.7rem !important;
  line-height: 1 !important;
}

/* Rating estrellas */
.star-rating span::before,
.woocommerce .star-rating::before {
  color: #f5c842 !important;
}

/* Paginación */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: var(--cs-mid) !important;
  color: rgba(250,248,244,0.6) !important;
  border-color: rgba(168,216,234,0.1) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--cs-coral) !important;
  color: var(--cs-white) !important;
}

/* Responsive */
@media (max-width: 900px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 580px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}
