/*
Theme Name: Arosa Medical
Theme URI: https://arosagt.com
Description: Tema hijo de Astra para el catálogo informativo de Arosa Medical. Reproduce el diseño azul médico: tarjetas de producto con etiqueta de categoría y sello "Estéril", barra lateral de categorías y ficha de producto con botón de descarga.
Author: Arosa Medical
Template: astra
Version: 1.0
Text Domain: arosa-medical
*/

/* =====================================================================
   AROSA MEDICAL — Diseño (tema hijo de Astra)
   Las fuentes (Sora + Inter) se cargan desde functions.php
   ===================================================================== */

:root{
  --azul:        #0a6fb8;
  --azul-deep:   #064e84;
  --azul-dark:   #06375e;
  --celeste:     #1ba0e0;
  --verde:       #1f9d6b;
  --tinta:       #102a3f;
  --gris:        #5b7283;
  --linea:       #e2eaf0;
  --papel:       #f3f7fb;
  --papel-2:     #e9f1f8;
}

/* ---------- Tipografía ---------- */
body,
.ast-container{ font-family:'Inter', sans-serif; color:var(--tinta); }
h1,h2,h3,h4,h5,
.site-title,
.entry-title,
.woocommerce-loop-product__title,
.product_title,
.widget-title{
  font-family:'Sora', sans-serif !important;
  letter-spacing:-.01em;
}

/* ---------- Encabezado ---------- */
.site-header{ box-shadow:0 1px 3px rgba(16,42,63,.08); }
.main-header-menu a,
.ast-builder-menu .menu-item > a{ font-family:'Sora', sans-serif; font-weight:600; }
.main-header-menu a:hover,
.ast-builder-menu .menu-item > a:hover{ color:var(--azul) !important; }

/* ---------- Botones ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button,
.wp-block-button__link,
.ast-button,
input[type="submit"],
button[type="submit"]{
  background-color:var(--azul) !important;
  color:#fff !important;
  border:none !important;
  border-radius:40px !important;
  padding:11px 22px !important;
  font-family:'Sora', sans-serif !important;
  font-weight:600 !important;
  box-shadow:0 4px 14px rgba(10,111,184,.28);
  transition:background-color .15s, transform .15s !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wp-block-button__link:hover,
.ast-button:hover,
input[type="submit"]:hover{
  background-color:var(--azul-deep) !important;
  transform:translateY(-1px);
}

/* ---------- Catálogo: cuadrícula de 3 ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin:0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{ display:none !important; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  position:relative;
  width:auto !important;
  float:none !important;
  margin:0 !important;
  background:#fff;
  border:1px solid var(--linea);
  border-radius:14px;
  overflow:hidden;
  padding:0 0 16px 0 !important;
  transition:transform .18s, box-shadow .18s, border-color .18s;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-4px);
  box-shadow:0 6px 18px rgba(16,42,63,.10);
  border-color:#c9dcec;
}
.woocommerce ul.products li.product a img{
  margin:0 0 14px 0 !important;
  border-radius:0;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:var(--papel-2);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:0 16px !important;
  font-size:1.04rem !important;
  font-weight:700 !important;
  line-height:1.25;
  margin:0 0 6px 0;
}
.woocommerce ul.products li.product .price{
  display:none; /* catálogo informativo: sin precios */
}
.woocommerce ul.products li.product .button{
  margin:10px 16px 0 16px !important;
}

/* Etiqueta de categoría (arriba-izquierda) y sello Estéril (arriba-derecha) */
.arosa-card-cat{
  position:absolute; top:11px; left:11px; z-index:3;
  background:rgba(255,255,255,.94); color:var(--azul-deep);
  font-family:'Sora', sans-serif; font-weight:700; font-size:.7rem;
  padding:5px 11px; border-radius:20px; box-shadow:0 1px 3px rgba(16,42,63,.12);
}
.arosa-card-ster{
  position:absolute; top:11px; right:11px; z-index:3;
  background:var(--verde); color:#fff;
  font-family:'Sora', sans-serif; font-weight:700; font-size:.66rem;
  padding:4px 9px; border-radius:20px; letter-spacing:.03em;
}
.woocommerce span.onsale{ display:none; } /* ocultamos el "oferta" de tienda */

@media (max-width:1024px){
  .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .woocommerce ul.products{ grid-template-columns:1fr; }
}

/* ---------- Barra lateral de categorías ---------- */
.widget_product_categories ul,
.wc-block-product-categories ul{ list-style:none; margin:0; padding:0; }
.widget_product_categories ul li,
.wc-block-product-categories-list-item{ margin:2px 0; }
.widget_product_categories ul li a,
.wc-block-product-categories-list-item a{
  display:block; padding:9px 12px; border-radius:9px; color:var(--tinta);
  text-decoration:none; transition:background .14s, color .14s;
}
.widget_product_categories ul li a:hover,
.wc-block-product-categories-list-item a:hover{
  background:var(--papel); color:var(--azul-deep);
}
.widget_product_categories .count{
  background:var(--papel-2); color:var(--gris); border-radius:20px;
  padding:1px 9px; font-size:.74rem; font-weight:600; float:right;
}
.widget-title{
  font-size:.82rem !important; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gris); margin-bottom:12px;
}

/* ---------- Página de producto individual ---------- */
.single-product .product_title{
  font-size:clamp(1.6rem,3.5vw,2.2rem) !important;
  font-weight:800 !important; margin-bottom:14px !important;
}
.single-product div.product .woocommerce-product-gallery{
  border:1px solid var(--linea); border-radius:14px; padding:14px; background:#fff;
}
.single-product .woocommerce-product-details__short-description{
  font-size:1.04rem; color:var(--gris);
}
.single-product .product_meta{
  font-size:.9rem; color:var(--gris);
  border-top:1px solid var(--linea); padding-top:16px; margin-top:18px;
}

/* Pestañas (Descripción, Información adicional) */
.woocommerce-tabs ul.tabs{ padding-left:0 !important; }
.woocommerce-tabs ul.tabs li{ border-radius:8px 8px 0 0 !important; background:var(--papel); border-color:var(--linea) !important; }
.woocommerce-tabs ul.tabs li.active{ background:var(--azul) !important; border-color:var(--azul) !important; }
.woocommerce-tabs ul.tabs li.active a{ color:#fff !important; }
.woocommerce-tabs ul.tabs::before{ border-bottom-color:var(--linea) !important; }
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3{
  font-family:'Sora', sans-serif; color:var(--azul-dark);
}

/* Tablas (empaque / atributos) */
.woocommerce table.shop_attributes,
.woocommerce .woocommerce-tabs table{
  border:1px solid var(--linea); border-radius:10px; overflow:hidden; border-collapse:collapse;
}
.woocommerce table.shop_attributes th,
.woocommerce .woocommerce-tabs table th{
  background:var(--azul-dark); color:#fff;
  font-family:'Sora', sans-serif; font-weight:600; text-align:left; padding:11px 14px;
}
.woocommerce table.shop_attributes td,
.woocommerce .woocommerce-tabs table td{ padding:10px 14px; border-top:1px solid var(--linea); }

/* ---------- Botón "Descargar ficha técnica" ---------- */
.arosa-ficha-wrap{ margin:18px 0 6px 0; }
.arosa-ficha-btn{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--azul); color:#fff !important;
  font-family:'Sora', sans-serif; font-weight:600; font-size:.95rem;
  padding:12px 22px; border-radius:40px; text-decoration:none !important;
  box-shadow:0 4px 14px rgba(10,111,184,.28);
  transition:background-color .15s, transform .15s;
}
.arosa-ficha-btn:hover{ background:var(--azul-deep); transform:translateY(-1px); color:#fff !important; }
.arosa-ficha-btn::before{ content:"⤓"; font-size:1.1rem; line-height:1; }

/* ---------- Encabezado de categoría / tienda ---------- */
.woocommerce-products-header__title,
.woocommerce .page-title{
  font-family:'Sora', sans-serif !important; font-weight:800 !important;
}
.term-description{ color:var(--gris); }

/* ---------- Pie de página ---------- */
.site-footer, .footer-sml-layout, .ast-small-footer{
  background:#062941 !important; color:#9fc0d8 !important;
}
.site-footer a, .ast-small-footer a{ color:#9fc0d8; }
.site-footer a:hover, .ast-small-footer a:hover{ color:#fff; }

/* ---------- Varios ---------- */
a{ color:var(--azul); }
.woocommerce-message, .woocommerce-info{ border-top-color:var(--azul) !important; }
.woocommerce-message::before, .woocommerce-info::before{ color:var(--azul) !important; }
