/* ==================================================================
   MAXIMUEBLES — Estilo global del sitio
   Aplica la misma tipografía, paleta y ritmo de la home a la tienda,
   las categorías, las fichas de producto y el resto de páginas.
   ================================================================== */

:root{
  --papel:#FBF9F7; --tinta:#1F1A17; --tinta-2:#554B45;
  --vino:#663243; --oscuro:#1F1A17; --crema:#EDE7E1;
  --miel-claro:#DCA96D; --miel:#8A6134;
  --linea:rgba(31,26,23,.16);
  --wa:#1EA855;
}

/* ---------- TIPOGRAFÍA Y BASE ---------- */
body,
body p, body li, body td, body input, body textarea, body select,
.et_pb_text, .woocommerce, .woocommerce-page{
  font-family:'Karla',system-ui,-apple-system,sans-serif !important;
  color:var(--tinta);
}
body{background:var(--papel) !important;font-size:17px;line-height:1.62;}

h1,h2,h3,h4,h5,h6,
.woocommerce div.product .product_title,
.woocommerce-products-header__title,
.related h2, .upsells h2, .cross-sells h2{
  font-family:'Fraunces',Georgia,serif !important;
  font-weight:600 !important;
  line-height:1.12 !important;
  letter-spacing:-.015em;
  color:var(--tinta) !important;
  font-variation-settings:'SOFT' 0,'WONK' 0;
}

a{color:var(--vino);}
a:hover{color:var(--tinta);}

/* ---------- ENCABEZADO DE TIENDA Y CATEGORÍAS ---------- */
.woocommerce-products-header{
  padding:44px 0 8px;
  border-bottom:1px solid var(--linea);
  margin-bottom:34px;
}
.woocommerce-products-header__title{font-size:clamp(30px,4vw,44px) !important;margin-bottom:10px !important;}
.woocommerce-products-header .term-description,
.woocommerce-products-header .term-description p{display:none;}

.woocommerce-breadcrumb{
  font-size:13px !important;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--tinta-2) !important;
  margin-bottom:18px !important;
}
.woocommerce-breadcrumb a{color:var(--miel) !important;text-decoration:none;}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select{
  font-size:14px;color:var(--tinta-2);
}
.woocommerce .woocommerce-ordering select{
  border:1px solid var(--linea);border-radius:3px;padding:9px 12px;background:#FFF;
}

/* ---------- REJILLA DE PRODUCTOS ---------- */
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:26px 22px !important;
  margin:0 0 40px !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none !important;}
.woocommerce ul.products li.product{
  width:100% !important;
  margin:0 !important;
  float:none !important;
  clear:none !important;
  background:#FFFFFF;
  border:1px solid var(--linea);
  border-radius:4px;
  overflow:hidden;
  padding:0 0 20px;
  display:flex;
  flex-direction:column;
  transition:box-shadow .2s ease,transform .2s ease;
}
.woocommerce ul.products li.product:hover{
  box-shadow:0 10px 28px rgba(31,26,23,.10);
  transform:translateY(-2px);
}
/* La foto se muestra completa, nunca recortada */
.woocommerce ul.products li.product a img{
  margin:0 0 14px !important;
  aspect-ratio:1/1;
  object-fit:contain !important;
  width:100%;
  background:#F4F0EC;
  padding:12px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3{
  font-family:'Karla',system-ui,sans-serif !important;
  font-size:16.5px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-align:left !important;
  color:#1F1A17 !important;
  padding:0 18px !important;
  margin:0 0 6px !important;
}
.woocommerce ul.products li.product .price{
  padding:0 18px;
  text-align:left !important;
  margin-bottom:14px;
  font-size:17px !important;
  font-weight:700;
  color:var(--tinta) !important;
  display:block;
}
.woocommerce ul.products li.product .price del{color:var(--tinta-2) !important;font-weight:400;opacity:1;margin-right:8px;}
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins span{text-decoration:none !important;color:#663243 !important;font-weight:700 !important;}
.woocommerce ul.products li.product .button{
  margin:auto 18px 0 !important;
  text-align:center;
}
.woocommerce span.onsale{
  background:var(--vino) !important;
  color:#FFFFFF !important;
  font-family:'Karla',sans-serif !important;
  font-size:12px !important;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  border-radius:2px !important;
  padding:6px 12px !important;
  min-height:0 !important;
  line-height:1.2 !important;
  top:12px !important;left:12px !important;right:auto !important;
}

/* ---------- BOTONES ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.et_pb_button{
  background:#1F1A17 !important;
  color:#FFFFFF !important;
  border:1.5px solid #1F1A17 !important;
  border-radius:3px !important;
  font-family:'Karla',sans-serif !important;
  font-weight:700 !important;
  font-size:15.5px !important;
  letter-spacing:0 !important;
  padding:13px 22px !important;
  text-transform:none !important;
  transition:background .18s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.et_pb_button:hover{background:#3A302A !important;color:#FFFFFF !important;border-color:#3A302A !important;}
.et_pb_button:after{display:none !important;}

/* ---------- FICHA DE PRODUCTO ---------- */
.woocommerce div.product{padding-top:26px;}
.woocommerce div.product .product_title{
  font-size:clamp(28px,3.4vw,40px) !important;
  margin-bottom:14px !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:'Karla',sans-serif !important;
  font-size:26px !important;
  font-weight:700 !important;
  color:var(--tinta) !important;
  margin-bottom:6px !important;
}
.woocommerce div.product p.price del{font-size:19px !important;color:var(--tinta-2) !important;font-weight:400;}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--vino) !important;}
.woocommerce div.product .woocommerce-product-details__short-description{
  color:var(--tinta-2);
  margin-bottom:6px;
}
.woocommerce div.product div.images img{border-radius:4px;background:#F4F0EC;}
.woocommerce div.product .flex-control-thumbs li img{border-radius:3px;}

/* Pestañas de información */
.woocommerce div.product .woocommerce-tabs{margin-top:54px;}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  padding:0 !important;
  border-bottom:1px solid var(--linea);
  margin-bottom:0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 26px 0 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:'Fraunces',serif !important;
  font-size:18px !important;
  font-weight:600 !important;
  color:var(--tinta-2) !important;
  padding:14px 0 !important;
  display:inline-block;
  border-bottom:2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--tinta) !important;
  border-bottom-color:var(--miel);
}
.woocommerce div.product .woocommerce-tabs .panel{padding-top:26px;}
.woocommerce div.product .woocommerce-tabs .panel h2{display:none;}

/* Tabla de atributos = ficha técnica */
.woocommerce table.shop_attributes{border:0 !important;}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td{
  border:0 !important;
  border-bottom:1px solid var(--linea) !important;
  padding:14px 0 !important;
  font-style:normal !important;
  background:transparent !important;
}
.woocommerce table.shop_attributes th{
  font-weight:500 !important;
  color:var(--tinta-2) !important;
  width:40%;
}
.woocommerce table.shop_attributes td{font-weight:700;}

/* Productos relacionados */
.woocommerce .related,
.woocommerce .upsells{
  margin-top:64px;
  padding-top:44px;
  border-top:1px solid var(--linea);
}
.woocommerce .related h2,
.woocommerce .upsells h2{font-size:28px !important;margin-bottom:28px !important;}

/* ---------- WIDGETS Y FILTROS ---------- */
.widget h4.widgettitle,
.widget h4{
  font-family:'Fraunces',serif !important;
  font-size:18px !important;
  font-weight:600 !important;
  border-bottom:1px solid var(--linea);
  padding-bottom:12px;
  margin-bottom:14px;
}
.woocommerce ul.product-categories li a,
.widget ul li a{color:var(--tinta) !important;text-decoration:none;}
.woocommerce ul.product-categories li a:hover,
.widget ul li a:hover{color:var(--vino) !important;}

/* ---------- MENSAJES ---------- */
.woocommerce-info,
.woocommerce-message{
  border-top-color:var(--miel) !important;
  background:#F4F0EC !important;
  color:var(--tinta) !important;
}
.woocommerce-info::before,
.woocommerce-message::before{color:var(--miel) !important;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1100px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr) !important;gap:22px 18px !important;}
}
@media (max-width:600px){
  body{font-size:16px;}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:17px !important;padding:0 14px !important;}
  .woocommerce ul.products li.product .price{padding:0 14px;font-size:16px !important;}
  .woocommerce ul.products li.product .button{margin:auto 14px 0 !important;font-size:14.5px !important;padding:12px 14px !important;}
  .woocommerce-products-header{padding:28px 0 6px;margin-bottom:24px;}
  .woocommerce div.product .woocommerce-tabs ul.tabs li{margin-right:18px !important;}
  .woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:16px !important;}
}
@media (prefers-reduced-motion:reduce){
  .woocommerce ul.products li.product{transition:none !important;}
  .woocommerce ul.products li.product:hover{transform:none !important;}
}


/* ==================================================================
   MÓDULOS DE DIVI (Theme Builder)
   Las categorías y fichas de este sitio no usan las plantillas de
   WooCommerce sino los módulos de Divi, cuyo CSS es más específico.
   Estas reglas lo igualan sin tocar el maquetado.
   ================================================================== */

/* --- Rejilla de productos dentro del módulo Tienda de Divi --- */
body .et_pb_shop ul.products,
body .et_pb_wc_related_products ul.products,
body .et_pb_wc_upsells ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:26px 22px !important;
}
body .et_pb_shop ul.products li.product,
body .et_pb_wc_related_products ul.products li.product{
  width:100% !important;
  margin:0 !important;
  float:none !important;
  background:#FFFFFF !important;
  border:1px solid rgba(31,26,23,.16) !important;
  border-radius:4px !important;
  overflow:hidden !important;
  padding:0 0 20px !important;
  display:flex !important;
  flex-direction:column !important;
}

/* --- Foto completa, nunca recortada --- */
body .et_pb_shop ul.products li.product a img,
body .et_pb_shop ul.products li.product img.attachment-woocommerce_thumbnail{
  aspect-ratio:1/1 !important;
  object-fit:contain !important;
  width:100% !important;
  background:#F4F0EC !important;
  padding:12px !important;
  margin:0 0 14px !important;
  border-radius:0 !important;
}

/* --- Nombre del producto en sans, sin mayúsculas forzadas --- */
body .et_pb_shop ul.products li.product h1,
body .et_pb_shop ul.products li.product h2,
body .et_pb_shop ul.products li.product h3,
body .et_pb_shop ul.products li.product h4,
body .et_pb_shop ul.products li.product .woocommerce-loop-product__title,
body .et_pb_wc_related_products ul.products li.product h2,
body .et_pb_wc_related_products ul.products li.product h3{
  font-family:'Karla',system-ui,sans-serif !important;
  font-size:16.5px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-align:left !important;
  color:#1F1A17 !important;
  padding:0 18px !important;
  margin:0 0 6px !important;
}

/* --- Precio --- */
body .et_pb_shop ul.products li.product .price,
body .et_pb_wc_related_products ul.products li.product .price{
  font-family:'Karla',sans-serif !important;
  font-size:17px !important;
  font-weight:700 !important;
  color:#1F1A17 !important;
  text-align:left !important;
  padding:0 18px !important;
  margin:0 0 4px !important;
}
body .et_pb_shop ul.products li.product .price del,
body .et_pb_shop ul.products li.product .price del span{
  color:#554B45 !important;font-weight:400 !important;opacity:1 !important;font-size:15px !important;
}
body .et_pb_shop ul.products li.product .price ins,
body .et_pb_shop ul.products li.product .price ins span{
  color:#663243 !important;text-decoration:none !important;font-weight:700 !important;
}

/* --- Etiqueta de oferta --- */
body .et_pb_shop span.onsale{
  background:#663243 !important;color:#FFFFFF !important;
  font-family:'Karla',sans-serif !important;font-size:12px !important;font-weight:700 !important;
  letter-spacing:.06em !important;text-transform:uppercase !important;
  border-radius:2px !important;padding:6px 12px !important;
  top:12px !important;left:12px !important;right:auto !important;
}

/* --- Módulos de la ficha de producto --- */
body .et_pb_wc_title h1{font-family:'Fraunces',Georgia,serif !important;font-weight:600 !important;letter-spacing:-.015em !important;}
body .et_pb_wc_price .price,
body .et_pb_wc_price .amount{font-family:'Karla',sans-serif !important;font-weight:700 !important;color:#1F1A17 !important;}
body .et_pb_wc_description,
body .et_pb_wc_description p{font-family:'Karla',sans-serif !important;color:#554B45 !important;}
body .et_pb_wc_tabs ul.tabs li a{font-family:'Fraunces',serif !important;font-weight:600 !important;}

@media (max-width:980px){
  body .et_pb_shop ul.products,
  body .et_pb_wc_related_products ul.products{grid-template-columns:repeat(2,1fr) !important;gap:18px 14px !important;}
}
@media (max-width:600px){
  body .et_pb_shop ul.products li.product h2,
  body .et_pb_shop ul.products li.product h3,
  body .et_pb_shop ul.products li.product .woocommerce-loop-product__title{font-size:15px !important;padding:0 12px !important;}
  body .et_pb_shop ul.products li.product .price{font-size:15.5px !important;padding:0 12px !important;}
}


/* ==================================================================
   TARJETA PROPIA (plantilla del plugin)
   Solo aplica cuando WooCommerce usa sus plantillas, no Divi.
   ================================================================== */
body.woocommerce ul.products li.product.mx-card,
body.woocommerce-page ul.products li.product.mx-card{
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  float:none !important;
  clear:none !important;
  padding:0 !important;
  background:#FFFFFF !important;
  border:0 !important;
  border-radius:6px !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  box-shadow:0 1px 3px rgba(31,26,23,.08);
  transition:box-shadow .2s ease,transform .2s ease;
}
body ul.products li.product.mx-card:hover{box-shadow:0 16px 34px rgba(31,26,23,.14);transform:translateY(-3px);}

.mx-card__media{position:relative;display:block;background:#F4F0EC;}
.mx-card__media img{
  display:block !important;width:100% !important;height:auto !important;
  aspect-ratio:1/1 !important;object-fit:contain !important;
  padding:0 !important;margin:0 !important;border-radius:0 !important;
  mix-blend-mode:normal;
}
.mx-card__flag{
  position:absolute;top:12px;left:12px;z-index:2;
  background:#663243;color:#FFFFFF;
  font-family:'Karla',sans-serif;font-size:11.5px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  padding:6px 11px;border-radius:2px;line-height:1;
}
.mx-card__body{padding:16px 16px 18px;display:flex;flex-direction:column;flex-grow:1;}
.mx-card__title{
  font-family:'Karla',system-ui,sans-serif !important;
  font-size:16px !important;font-weight:700 !important;
  line-height:1.35 !important;letter-spacing:0 !important;
  text-transform:none !important;text-align:left !important;
  margin:0 0 6px !important;padding:0 !important;
}
.mx-card__title a{color:#1F1A17 !important;text-decoration:none !important;}
.mx-card__title a:hover{color:#663243 !important;}
.mx-card__price{
  font-family:'Karla',sans-serif;font-size:16.5px;font-weight:700;
  color:#1F1A17;margin-bottom:14px;line-height:1.4;
}
.mx-card__price del,.mx-card__price del span,.mx-card__price del .amount{
  color:#7B716A !important;font-weight:400 !important;font-size:14px !important;
  text-decoration:line-through !important;margin-right:7px;display:inline !important;
}
.mx-card__price ins,.mx-card__price ins span{
  color:#663243 !important;text-decoration:none !important;font-weight:700 !important;display:inline !important;
}
.mx-card__actions{margin-top:auto;display:flex;gap:8px;}
.mx-card__btn{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:11px 8px;border-radius:3px;font-family:'Karla',sans-serif;
  font-size:14px !important;font-weight:700;text-decoration:none !important;
  border:1.5px solid transparent;white-space:nowrap;
}
.mx-card__btn--ver{background:transparent;color:#1F1A17 !important;border-color:#1F1A17;}
.mx-card__btn--ver:hover{background:#1F1A17;color:#FFFFFF !important;}
.mx-card__btn--wa{background:#1EA855;color:#FFFFFF !important;border-color:#1EA855;}
.mx-card__btn--wa:hover{background:#178744;color:#FFFFFF !important;}

/* Franja de garantías en categorías */
.mx-franja{
  list-style:none;margin:0 0 30px !important;padding:20px 0;
  border-top:1px solid rgba(31,26,23,.14);border-bottom:1px solid rgba(31,26,23,.14);
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}
.mx-franja li{margin:0 !important;padding:0 !important;display:flex;flex-direction:column;list-style:none;}
.mx-franja strong{font-family:'Karla',sans-serif;font-size:14.5px;color:#1F1A17;}
.mx-franja span{font-size:12.5px;color:#554B45;line-height:1.35;margin-top:2px;}

/* Cierre de categoría */
.mx-cierre-cat{
  clear:both;margin:56px 0 0;padding:52px 30px;text-align:center;
  background:#1F1A17;border-radius:5px;
}
.mx-cierre-cat h2{font-family:'Fraunces',Georgia,serif !important;color:#FBF9F7 !important;font-size:clamp(24px,3vw,32px) !important;margin:0 0 12px !important;}
.mx-cierre-cat p{color:#EDE7E1 !important;max-width:48ch;margin:0 auto 26px !important;}
.mx-cierre-cat a{
  display:inline-flex;align-items:center;justify-content:center;
  background:#1EA855 !important;color:#FFFFFF !important;
  padding:14px 28px;border-radius:3px;font-weight:700;text-decoration:none !important;
}
.mx-cierre-cat a:hover{background:#178744 !important;color:#FFFFFF !important;}

@media (max-width:900px){
  .mx-franja{grid-template-columns:1fr 1fr;gap:14px 18px;}
}
@media (max-width:600px){
  .mx-card__body{padding:13px 13px 15px;}
  .mx-card__title{font-size:15px !important;}
  .mx-card__price{font-size:15.5px;margin-bottom:11px;}
  .mx-card__actions{flex-direction:column;gap:7px;}
  .mx-card__btn{padding:10px 8px;font-size:13.5px !important;}
  .mx-cierre-cat{padding:38px 20px;margin-top:38px;}
}


/* ==================================================================
   DESCRIPCIÓN DE CATEGORÍA (rediseñada)
   ================================================================== */
.mx-cat-desc{margin:14px 0 28px;max-width:70ch;}
.mx-cat-desc__lead{
  font-family:'Karla',sans-serif;font-size:17px;line-height:1.6;
  color:#554B45;margin:0 !important;
}
.mx-cat-desc__mas{margin-top:10px;}
.mx-cat-desc__mas summary{
  display:inline-flex;align-items:center;gap:5px;cursor:pointer;list-style:none;
  font-family:'Karla',sans-serif;font-size:14px;font-weight:700;
  color:#663243;padding:2px 0;
}
.mx-cat-desc__mas summary::-webkit-details-marker{display:none;}
.mx-cat-desc__mas summary::after{content:'↓';font-size:12px;transition:transform .15s ease;}
.mx-cat-desc__mas[open] summary::after{transform:rotate(180deg);}
.mx-cat-desc__mas p{
  font-family:'Karla',sans-serif;font-size:15.5px;line-height:1.6;
  color:#554B45;margin:12px 0 0 !important;
}

/* Rejilla con mas aire entre tarjetas, en desktop */
@media (min-width:1101px){
  .woocommerce ul.products{gap:32px 26px !important;}
}
