/* ============================================================
   Solo Libros Cúcuta — ajustes de diseño para la portada Elementor
   (tipografías y detalles del diseño anterior "Bookix")
   ============================================================ */

/* ---------- Tipografía global (Inicio, Sobre Nosotros, Contacto) ---------- */
:is(.page-id-270, .page-id-276, .page-id-277),
:is(.page-id-270, .page-id-276, .page-id-277) .elementor-widget-container,
:is(.page-id-270, .page-id-276, .page-id-277) .elementor-button,
:is(.page-id-270, .page-id-276, .page-id-277) .elementor-icon-box-title,
:is(.page-id-270, .page-id-276, .page-id-277) .elementor-icon-box-description,
:is(.page-id-270, .page-id-276, .page-id-277) .elementor-heading-title {
  font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif !important;
}

/* Títulos grandes de sección en serif (como el diseño anterior) */
.page-id-270 .elementor-element-b3a4324 .elementor-heading-title,
.page-id-270 .elementor-element-8f9a924 .elementor-heading-title,
.page-id-270 .elementor-element-391bb54 .elementor-heading-title,
.page-id-270 .elementor-element-3443d7a .elementor-heading-title,
.page-id-270 .elementor-element-c40b87c .elementor-heading-title,
.page-id-270 .elementor-element-152d56d .elementor-heading-title,
.page-id-276 .elementor-element-c31713f .elementor-heading-title,
.page-id-277 .elementor-element-10a9a84 .elementor-heading-title,
.page-id-277 .elementor-element-a7dde82 .elementor-heading-title {
  font-family: 'Libre Baskerville', Georgia, serif !important;
  font-weight: 400 !important;
  line-height: 1.15;
}

/* Badge del hero (píldora como en el diseño anterior) */
.page-id-270 .elementor-element-fbe7eca .elementor-heading-title {
  display: inline-block;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .28);
  padding: 8px 18px;
  border-radius: 999px;
}

/* Eyebrows (antetítulos) — fondos claros */
.page-id-270 .elementor-element-c88548c .elementor-heading-title,
.page-id-270 .elementor-element-13a125e .elementor-heading-title,
.page-id-270 .elementor-element-72d6215 .elementor-heading-title {
  display: inline-block;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #B34E38 !important;
}
/* Eyebrows — fondos oscuros */
.page-id-270 .elementor-element-0644b49 .elementor-heading-title,
.page-id-270 .elementor-element-62dda8e .elementor-heading-title {
  display: inline-block;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #F0BFB2 !important;
}

/* ---------- Header fijo al hacer scroll (todas las páginas) ---------- */
.elementor-element-e510d0e {
  position: sticky !important;
  top: 0;
  z-index: 400;
  box-shadow: 0 1px 0 #EDEDED, 0 6px 18px -12px rgba(32, 55, 55, .18);
}

/* Menú de navegación centrado entre el logo y el botón de WhatsApp */
.elementor-element-49545f1 {
  flex-grow: 1;
  justify-content: center;
}
.elementor-element-49545f1 > .e-con-inner {
  justify-content: center;
}

/* En celular: el header NO queda fijo (ocupaba mucha pantalla) y es más compacto */
@media (max-width: 767px) {
  .elementor-element.elementor-element-e510d0e {
    position: static !important;
    padding: 10px 14px;
    box-shadow: none;
  }
  .elementor-element-49545f1,
  .elementor-element-49545f1 > .e-con-inner {
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* ---------- Tarjetas de libros ---------- */
.page-id-270 .elementor-element-d4faf93 > .e-con-inner > .e-con,
.page-id-270 .elementor-element-d4faf93 > .e-con {
  transition: transform .25s ease, box-shadow .25s ease;
}
.page-id-270 .elementor-element-d4faf93 .e-con:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 34px -16px rgba(32, 55, 55, .22);
}

/* ---------- Botones flotantes (WhatsApp / Instagram / Facebook) ---------- */
/* Aplica a cualquier botón con posición fija (los flotantes de todas las páginas) */
.elementor-widget-button.elementor-fixed .elementor-button {
  width: 54px;
  height: 54px;
  padding: 0 !important;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .25);
  transition: transform .2s ease;
}
.elementor-widget-button.elementor-fixed .elementor-button:hover {
  transform: scale(1.08);
}
.elementor-widget-button.elementor-fixed .elementor-button .elementor-button-icon {
  font-size: 24px;
  line-height: 1;
}
.elementor-widget-button.elementor-fixed .elementor-button-icon svg {
  width: 24px;
  height: 24px;
  fill: #fff;
}
/* El contenedor de los flotantes no debe ocupar espacio en el flujo */
.elementor-element-440c628 {
  height: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
}

/* ---------- Formulario de contacto (Contacto) ---------- */
.slc-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 640px) {
  .slc-form-grid { grid-template-columns: 1fr; }
}
#sl-contact-form .sl-input {
  font-family: 'Plus Jakarta Sans', sans-serif;
}
#sl-contact-form button[type="submit"]:hover {
  background: #FBF7ED !important;
}

/* ---------- Mockups de la revista: celular + libro ---------- */
.sl-mockups {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  min-height: 380px;
}
.sl-mock-book {
  width: 215px;
  aspect-ratio: 141 / 200;
  border-radius: 6px 14px 14px 6px;
  overflow: hidden;
  position: relative;
  transform: rotate(-7deg) translateX(30px);
  box-shadow: 0 26px 48px -18px rgba(0, 0, 0, .55);
  background: #fff;
}
.sl-mock-book::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 14px;
  background: linear-gradient(90deg, rgba(0, 0, 0, .40), rgba(0, 0, 0, 0));
  z-index: 2;
}
.sl-mock-book::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 8px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .28));
}
.sl-mock-book img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sl-mock-phone {
  width: 185px;
  background: #0f1417;
  border-radius: 34px;
  padding: 10px;
  position: relative;
  z-index: 3;
  transform: rotate(4deg) translateX(-28px);
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6), inset 0 0 0 2px #2a3238;
  animation: sl-mock-float 6s ease-in-out infinite;
}
.sl-mock-notch {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  width: 66px;
  height: 15px;
  background: #0f1417;
  border-radius: 10px;
  z-index: 4;
}
.sl-mock-screen {
  border-radius: 25px;
  overflow: hidden;
  aspect-ratio: 9 / 18.5;
  background: #111;
}
.sl-mock-screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
}
@keyframes sl-mock-float {
  0%, 100% { transform: rotate(4deg) translate(-28px, 0); }
  50%      { transform: rotate(4deg) translate(-28px, -10px); }
}
@media (max-width: 767px) {
  .sl-mockups { min-height: 300px; }
  .sl-mock-book { width: 150px; }
  .sl-mock-phone { width: 140px; border-radius: 26px; padding: 8px; }
  .sl-mock-screen { border-radius: 19px; }
}

/* ---------- Video del hero siempre visible y en bucle ---------- */
.page-id-270 .elementor-element-92e8a51 .elementor-background-video-container {
  opacity: 1 !important;
}

/* ============================================================
   TIENDA WOOCOMMERCE — estilo Bookix / Solo Libros
   (body.sl-wc lo añade sl-woocommerce.php en páginas de la tienda)
   ============================================================ */

body.sl-wc { font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif; background: #fff; }
body.sl-wc .site-header, body.sl-wc .site-footer, body.sl-wc header.header { display: none !important; }

/* ---------- Header de marca ---------- */
.sl-wc-topbar { background: #203737; color: #fff; text-align: center; font-size: 13px; padding: 9px 16px; letter-spacing: .03em; }
.sl-wc-header { background: #fff; border-bottom: 1px solid #EDEDED; position: sticky; top: 0; z-index: 400; box-shadow: 0 6px 18px -12px rgba(32,55,55,.18); }
.sl-wc-header-in { max-width: 1280px; margin: 0 auto; padding: 12px 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.sl-wc-logo img { width: 170px; height: auto; display: block; }
.sl-wc-nav { display: flex; align-items: center; justify-content: center; gap: 26px; flex: 1; flex-wrap: wrap; }
.sl-wc-nav a { font-size: 14px; font-weight: 600; color: rgba(32,55,55,.75); text-decoration: none; }
.sl-wc-nav a:hover { color: #203737; }
.sl-wc-nav a.sl-wc-nav-active { color: #B34E38; }
.sl-wc-actions { display: flex; align-items: center; gap: 12px; }
.sl-wc-cart { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid #E5E2D9; border-radius: 50%; color: #203737; }
.sl-wc-cart:hover { background: #F4F3ED; }
.sl-wc-wa { background: #B34E38; color: #fff !important; font-size: 14px; font-weight: 700; border-radius: 999px; padding: 11px 20px; text-decoration: none; white-space: nowrap; }
.sl-wc-wa:hover { background: #8C3A2C; }
@media (max-width: 767px) {
  .sl-wc-header { position: static; box-shadow: none; }
  .sl-wc-header-in { justify-content: center; }
  .sl-wc-nav { gap: 14px; }
}

/* ---------- Contenedor general ---------- */
body.sl-wc .site-main, body.sl-wc main { max-width: 1280px; margin: 0 auto; padding: 28px 24px 64px; }
body.sl-wc .woocommerce-breadcrumb { font-size: 12px; color: #969696; margin-bottom: 18px; }
body.sl-wc .woocommerce-breadcrumb a { color: #696969; }
body.sl-wc .woocommerce-products-header { background: #FBF7ED; border-radius: 24px; padding: 34px 40px; margin-bottom: 30px; }
body.sl-wc .woocommerce-products-header__title { font-family: 'Libre Baskerville', Georgia, serif !important; font-weight: 400; font-size: 38px; color: #203737; margin: 0; }
body.sl-wc .term-description { color: #696969; margin-top: 8px; }

/* ---------- Layout con barra lateral ---------- */
.sl-shop-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 36px; align-items: start; }
.sl-shop-sidebar { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 18px; }
.sl-side-block { background: #fff; border: 1px solid #ECE8DD; border-radius: 20px; padding: 20px 22px; }
.sl-side-block h3 { font-family: 'Libre Baskerville', Georgia, serif; font-weight: 400; font-size: 19px; color: #203737; margin: 0 0 14px; }
.sl-side-block form.woocommerce-product-search { display: flex; gap: 6px; }
.sl-side-block .woocommerce-product-search input[type="search"] { flex: 1; min-width: 0; border: 1px solid #E5E2D9; border-radius: 999px; padding: 9px 16px; font-size: 13px; font-family: inherit; }
.sl-side-block .woocommerce-product-search button { background: #203737; color: #fff; border: 0; border-radius: 999px; padding: 9px 14px; font-size: 13px; font-weight: 700; cursor: pointer; }
.sl-cat-list { list-style: none; margin: 0; padding: 0; }
.sl-cat-list li { margin: 0 0 9px; }
.sl-cat-list a { color: #696969; font-size: 14px; text-decoration: none; }
.sl-cat-list a:hover { color: #B34E38; }
.sl-cat-list li.current-cat > a { color: #B34E38; font-weight: 700; }
.sl-side-block .price_slider_wrapper { margin-top: 6px; }
.sl-side-block .ui-slider { background: #EDE9DE; border: 0; height: 5px; border-radius: 999px; margin: 14px 8px 20px; }
.sl-side-block .ui-slider .ui-slider-range { background: #B34E38; }
.sl-side-block .ui-slider .ui-slider-handle { background: #203737; border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,.25); width: 16px; height: 16px; top: -6px; border-radius: 50%; }
.sl-side-block .price_slider_amount { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; color: #696969; }
.sl-side-block .price_slider_amount .button { background: #203737; color: #fff; border: 0; border-radius: 999px; padding: 8px 18px; font-size: 12px; font-weight: 700; cursor: pointer; }
.sl-side-help p { font-size: 13px; color: #696969; margin: 0 0 12px; }
.sl-side-wa { display: inline-block; background: #25D366; color: #fff !important; font-size: 13px; font-weight: 700; border-radius: 999px; padding: 9px 16px; text-decoration: none; }
@media (max-width: 991px) {
  .sl-shop-layout { grid-template-columns: 1fr; }
  .sl-shop-sidebar { position: static; order: 2; }
  .sl-shop-main { order: 1; }
}

/* ---------- Barra de resultados / orden ---------- */
.sl-shop-main { display: block; }
.sl-shop-main .woocommerce-result-count { float: none; display: inline-block; color: #969696; font-size: 13px; margin: 4px 0 18px; }
.sl-shop-main .woocommerce-ordering { float: right; margin: 0 0 18px; }
.sl-shop-main .woocommerce-ordering select { border: 1px solid #E5E2D9; border-radius: 999px; padding: 8px 34px 8px 16px; font-size: 13px; color: #203737; font-family: inherit; background-color: #fff; }

/* ---------- Grid de productos ---------- */
body.sl-wc ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 0 0 30px !important; padding: 0; list-style: none; }
.sl-shop-layout ul.products { grid-template-columns: repeat(3, 1fr); }
body.sl-wc ul.products::before, body.sl-wc ul.products::after { display: none; }
body.sl-wc ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; position: relative; background: #fff; border: 1px solid #ECE8DD; border-radius: 20px; padding: 14px 14px 18px; display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease; }
body.sl-wc ul.products li.product:hover { transform: translateY(-4px); box-shadow: 0 18px 34px -16px rgba(32,55,55,.22); }
body.sl-wc ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; text-decoration: none; }
body.sl-wc ul.products li.product img { width: 100% !important; aspect-ratio: 3 / 4; object-fit: contain; border-radius: 12px; background: #FBF7ED; margin: 0 0 4px !important; padding: 6px; box-sizing: border-box; }
.sl-card-cat { display: block; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; color: #B34E38; margin: 10px 0 3px; }
body.sl-wc ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; font-weight: 800; color: #203737; line-height: 1.35; padding: 0 !important; margin: 0 0 6px; }
body.sl-wc ul.products li.product .price { color: #203737 !important; font-weight: 800; font-size: 16px; margin: auto 0 10px !important; }
body.sl-wc ul.products li.product .price del { color: #B9B4A5; font-weight: 600; margin-right: 6px; }
body.sl-wc ul.products li.product .price ins { text-decoration: none; }
body.sl-wc ul.products li.product .button { background: #203737 !important; color: #fff !important; border-radius: 999px !important; padding: 10px 18px !important; font-size: 13px !important; font-weight: 700 !important; text-align: center; border: 0; margin: 0 !important; transition: background .2s ease; }
body.sl-wc ul.products li.product .button:hover { background: #B34E38 !important; }
body.sl-wc ul.products li.product .added_to_cart { margin-top: 8px; font-size: 12px; font-weight: 700; color: #B34E38; text-align: center; }
body.sl-wc span.onsale { position: absolute; top: 22px; left: 22px; z-index: 5; background: #D36047 !important; color: #fff !important; border-radius: 999px !important; font-size: 11px !important; font-weight: 800 !important; padding: 5px 12px !important; min-width: 0 !important; min-height: 0 !important; line-height: 1.3 !important; }
@media (max-width: 1100px) { body.sl-wc ul.products, .sl-shop-layout ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 860px) { body.sl-wc ul.products, .sl-shop-layout ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px) { body.sl-wc ul.products, .sl-shop-layout ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; } }

/* ---------- Paginación ---------- */
body.sl-wc .woocommerce-pagination { text-align: center; }
body.sl-wc .woocommerce-pagination ul { border: 0 !important; display: inline-flex; gap: 8px; }
body.sl-wc .woocommerce-pagination ul li { border: 0 !important; }
body.sl-wc .woocommerce-pagination ul li a, body.sl-wc .woocommerce-pagination ul li span { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50% !important; border: 1px solid #E5E2D9; color: #203737; font-weight: 700; }
body.sl-wc .woocommerce-pagination ul li span.current { background: #203737 !important; color: #fff !important; border-color: #203737; }
body.sl-wc .woocommerce-pagination ul li a:hover { background: #F4F3ED; }

/* ---------- Ficha de producto ---------- */
body.sl-wc div.product .woocommerce-product-gallery img { border-radius: 20px; background: #FBF7ED; }
body.sl-wc div.product .product_title { font-family: 'Libre Baskerville', Georgia, serif !important; font-weight: 400 !important; font-size: 34px; color: #203737; line-height: 1.2; }
body.sl-wc div.product p.price { color: #203737 !important; font-weight: 800; font-size: 26px; margin: 14px 0 18px; }
body.sl-wc div.product p.price del { color: #B9B4A5; }
body.sl-wc div.product p.price ins { text-decoration: none; }
body.sl-wc div.product .woocommerce-product-details__short-description { color: #696969; font-size: 15px; line-height: 1.7; }
body.sl-wc div.product form.cart { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 20px 0 6px !important; }
body.sl-wc div.product form.cart .quantity .qty { width: 74px; height: 48px; border: 1px solid #E5E2D9; border-radius: 12px; text-align: center; font-family: inherit; font-weight: 700; color: #203737; }
body.sl-wc div.product form.cart .single_add_to_cart_button { background: #203737 !important; color: #fff !important; border-radius: 999px !important; height: 48px; padding: 0 30px !important; font-weight: 800 !important; font-size: 14px !important; border: 0; transition: background .2s ease; }
body.sl-wc div.product form.cart .single_add_to_cart_button:hover { background: #B34E38 !important; }
.sl-wa-buy { display: inline-flex; align-items: center; gap: 9px; background: #25D366; color: #fff !important; border-radius: 999px; padding: 13px 26px; font-weight: 800; font-size: 14px; text-decoration: none !important; margin: 10px 0 16px; }
.sl-wa-buy:hover { background: #1EBE5A; }
body.sl-wc div.product .product_meta { border-top: 1px solid #ECE8DD; padding-top: 14px; font-size: 13px; color: #969696; }
body.sl-wc div.product .product_meta a { color: #B34E38; }

/* Pestañas */
body.sl-wc .woocommerce-tabs ul.tabs { display: flex; gap: 8px; padding: 0 !important; margin: 0 0 18px !important; border: 0; overflow: visible; }
body.sl-wc .woocommerce-tabs ul.tabs::before, body.sl-wc .woocommerce-tabs ul.tabs::after { display: none !important; }
body.sl-wc .woocommerce-tabs ul.tabs li { background: #F4F3ED !important; border: 0 !important; border-radius: 999px !important; margin: 0 !important; padding: 0 !important; }
body.sl-wc .woocommerce-tabs ul.tabs li::before, body.sl-wc .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.sl-wc .woocommerce-tabs ul.tabs li a { padding: 10px 22px !important; font-weight: 700 !important; font-size: 13px; color: #696969 !important; }
body.sl-wc .woocommerce-tabs ul.tabs li.active { background: #203737 !important; }
body.sl-wc .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
body.sl-wc .woocommerce-tabs .panel { background: #fff; border: 1px solid #ECE8DD; border-radius: 20px; padding: 26px 30px !important; color: #696969; line-height: 1.7; }
body.sl-wc .woocommerce-tabs .panel h2 { font-family: 'Libre Baskerville', Georgia, serif; font-weight: 400; font-size: 22px; color: #203737; }

/* Relacionados */
body.sl-wc .related.products > h2, body.sl-wc .upsells.products > h2 { font-family: 'Libre Baskerville', Georgia, serif; font-weight: 400; font-size: 28px; color: #203737; margin: 40px 0 20px; }

/* ---------- Carrito / Checkout / Cuenta ---------- */
body.sl-wc table.shop_table { border: 1px solid #ECE8DD !important; border-radius: 16px; overflow: hidden; }
body.sl-wc table.shop_table th { color: #203737; }
body.sl-wc .woocommerce a.button, body.sl-wc .woocommerce button.button, body.sl-wc a.checkout-button, body.sl-wc button[name="update_cart"], body.sl-wc button[name="apply_coupon"], body.sl-wc #place_order { background: #203737 !important; color: #fff !important; border-radius: 999px !important; font-weight: 700 !important; border: 0 !important; padding: 12px 24px !important; }
body.sl-wc a.checkout-button, body.sl-wc #place_order { background: #B34E38 !important; font-size: 15px !important; }
body.sl-wc a.checkout-button:hover, body.sl-wc #place_order:hover { background: #8C3A2C !important; }
body.sl-wc .woocommerce form .form-row input.input-text, body.sl-wc .woocommerce form .form-row textarea, body.sl-wc .woocommerce form .form-row select { border: 1px solid #E5E2D9; border-radius: 12px; padding: 11px 14px; font-family: inherit; }
body.sl-wc .woocommerce-message, body.sl-wc .woocommerce-info { border-top-color: #203737; }
body.sl-wc .woocommerce-message a.button { background: #B34E38 !important; }
body.sl-wc h1.entry-title, body.sl-wc .entry-title { font-family: 'Libre Baskerville', Georgia, serif !important; font-weight: 400; color: #203737; }

/* ---------- Footer de marca ---------- */
.sl-wc-footer { background: #050B20; color: rgba(255,255,255,.7); margin-top: 60px; }
.sl-wc-footer-in { max-width: 1280px; margin: 0 auto; padding: 54px 24px 30px; display: grid; grid-template-columns: 2fr 1fr 1fr 1.2fr; gap: 36px; }
.sl-wc-fbrand h3 { font-family: 'Libre Baskerville', Georgia, serif; font-weight: 400; color: #fff; font-size: 22px; margin: 0 0 12px; }
.sl-wc-fbrand p { font-size: 14px; color: rgba(255,255,255,.6); line-height: 1.7; margin: 0; max-width: 340px; }
.sl-wc-fcol h4 { color: #fff; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 14px; }
.sl-wc-fcol a, .sl-wc-fcol span { display: block; color: rgba(255,255,255,.65); font-size: 14px; text-decoration: none; margin-bottom: 9px; }
.sl-wc-fcol a:hover { color: #fff; }
.sl-wc-copy { border-top: 1px solid rgba(255,255,255,.1); text-align: center; font-size: 12px; color: rgba(255,255,255,.5); padding: 18px 24px; }
@media (max-width: 860px) { .sl-wc-footer-in { grid-template-columns: 1fr 1fr; } }

/* ---------- Botones flotantes en la tienda ---------- */
.sl-wc-floats { position: fixed; right: 24px; bottom: 24px; z-index: 999; display: flex; flex-direction: column-reverse; gap: 10px; }
.sl-float { width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff !important; box-shadow: 0 10px 26px rgba(0,0,0,.25); transition: transform .2s ease; }
.sl-float:hover { transform: scale(1.08); }
.sl-float-wa { background: #25D366; }
.sl-float-ig { background: #B34E38; }
.sl-float-fb { background: #1877f2; }

/* ============================================================
   TIENDA v2 — título oculto, imagen de producto reducida,
   carrito flotante (drawer) y pedido por WhatsApp
   ============================================================ */

/* Sin el título grande "Tienda" antes de los libros */
body.sl-wc .woocommerce-products-header { display: none; }

/* Ficha de producto: imagen a la mitad del tamaño anterior */
body.sl-wc div.product div.images.woocommerce-product-gallery { width: 24% !important; min-width: 210px; }
body.sl-wc div.product div.summary.entry-summary { width: 70% !important; }
@media (max-width: 767px) {
  body.sl-wc div.product div.images.woocommerce-product-gallery { width: 60% !important; min-width: 0; margin: 0 auto 20px; float: none; }
  body.sl-wc div.product div.summary.entry-summary { width: 100% !important; }
}

/* ---------- Carrito flotante (drawer) ---------- */
.sl-cart-drawer { position: fixed; inset: 0; z-index: 1200; pointer-events: none; }
.sl-cart-overlay { position: absolute; inset: 0; background: rgba(15, 20, 23, .45); opacity: 0; transition: opacity .25s ease; }
.sl-cart-panel { position: absolute; top: 0; right: 0; bottom: 0; width: 400px; max-width: 92vw; background: #fff; transform: translateX(105%); transition: transform .3s ease; display: flex; flex-direction: column; box-shadow: -18px 0 50px rgba(0, 0, 0, .22); }
.sl-cart-drawer.open { pointer-events: auto; }
.sl-cart-drawer.open .sl-cart-overlay { opacity: 1; }
.sl-cart-drawer.open .sl-cart-panel { transform: none; }
body.sl-cart-open { overflow: hidden; }
.sl-cart-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid #ECE8DD; }
.sl-cart-head h3 { font-family: 'Libre Baskerville', Georgia, serif; font-weight: 400; font-size: 21px; color: #203737; margin: 0; }
.sl-cart-close { background: #F4F3ED; border: 0; width: 36px; height: 36px; border-radius: 50%; font-size: 15px; cursor: pointer; color: #203737; }
.sl-cart-close:hover { background: #ECE8DD; }
.sl-cart-panel .widget_shopping_cart_content { flex: 1; overflow-y: auto; padding: 18px 22px 22px; display: flex; flex-direction: column; }
.sl-cart-panel ul.woocommerce-mini-cart { list-style: none; margin: 0 0 16px; padding: 0; flex: 1; }
.sl-cart-panel li.woocommerce-mini-cart-item { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px 0 12px 26px; border-bottom: 1px solid #F1EEE4; }
.sl-cart-panel li.woocommerce-mini-cart-item a { color: #203737; font-weight: 700; font-size: 14px; text-decoration: none; display: flex; align-items: center; gap: 12px; }
.sl-cart-panel li.woocommerce-mini-cart-item img { width: 48px !important; height: 64px; object-fit: contain; border-radius: 8px; float: none !important; margin: 0 !important; background: #FBF7ED; }
.sl-cart-panel li.woocommerce-mini-cart-item a.remove { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #F4F3ED; color: #B34E38 !important; font-size: 14px; font-weight: 700; }
.sl-cart-panel li.woocommerce-mini-cart-item a.remove:hover { background: #B34E38; color: #fff !important; }
.sl-cart-panel .quantity { display: block; color: #696969; font-size: 13px; font-weight: 600; margin-top: 2px; }
.sl-cart-panel .woocommerce-mini-cart__total { display: flex; justify-content: space-between; border-top: 2px solid #ECE8DD; padding-top: 14px; margin: 0 0 14px; color: #203737; font-weight: 800; font-size: 16px; }
.sl-cart-panel .woocommerce-mini-cart__buttons { display: flex; gap: 10px; margin: 0; }
.sl-cart-panel .woocommerce-mini-cart__buttons a.button { flex: 1; text-align: center; background: #203737 !important; color: #fff !important; border-radius: 999px !important; padding: 13px 10px !important; font-weight: 700 !important; font-size: 13px !important; text-decoration: none; }
.sl-cart-panel .woocommerce-mini-cart__buttons a.button.checkout { background: #B34E38 !important; }
.sl-cart-panel .woocommerce-mini-cart__buttons a.button.checkout:hover { background: #8C3A2C !important; }
.sl-cart-panel .woocommerce-mini-cart__empty-message { color: #696969; text-align: center; margin-top: 40px; font-size: 15px; }

/* ---------- Pedido por WhatsApp (página de gracias) ---------- */
.sl-order-wa { background: #FFEDE8; border: 1px solid #F0BFB2; border-radius: 20px; padding: 24px 28px; margin: 0 0 28px; text-align: center; }
.sl-order-wa p { color: #203737; font-size: 15px; margin: 0 0 14px; }
.sl-order-wa-btn { display: inline-flex; align-items: center; gap: 10px; background: #25D366; color: #fff !important; border-radius: 999px; padding: 15px 30px; font-weight: 800; font-size: 15px; text-decoration: none !important; }
.sl-order-wa-btn:hover { background: #1EBE5A; }

/* ============================================================
   PORTADA — Libros por categoría ([sl_libros_home])
   ============================================================ */

.sl-hb-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 26px; }
.sl-hb-tab { background: #F4F3ED; border: 0; border-radius: 999px; padding: 9px 18px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13px; font-weight: 700; color: #696969; cursor: pointer; transition: background .2s ease, color .2s ease; }
.sl-hb-tab:hover { background: #ECE8DD; color: #203737; }
.sl-hb-tab.active { background: #203737; color: #fff; }

.sl-hb-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; transition: opacity .2s ease; }
.sl-hb-grid.loading { opacity: .35; pointer-events: none; }
.sl-hb-empty { grid-column: 1 / -1; text-align: center; color: #696969; padding: 40px 0; }

.sl-hb-card { background: #fff; border: 1px solid #ECE8DD; border-radius: 16px; padding: 10px 10px 14px; display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease; }
.sl-hb-card:hover { transform: translateY(-4px); box-shadow: 0 18px 34px -16px rgba(32, 55, 55, .22); }
.sl-hb-media img { width: 100%; aspect-ratio: 3 / 4; object-fit: contain; border-radius: 10px; background: #FBF7ED; display: block; padding: 4px; box-sizing: border-box; }
.sl-hb-cat { font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #B34E38; margin: 9px 0 2px; }
.sl-hb-title { font-size: 13px; font-weight: 800; line-height: 1.3; margin: 0 0 5px; }
.sl-hb-title a { color: #203737; text-decoration: none; }
.sl-hb-title a:hover { color: #B34E38; }
.sl-hb-price { font-weight: 800; color: #203737; font-size: 13px; margin: auto 0 9px; }
.sl-hb-price del { color: #B9B4A5; font-weight: 600; margin-right: 6px; }
.sl-hb-price ins { text-decoration: none; }
.sl-hb-btn { background: #203737; color: #fff !important; border-radius: 999px; padding: 8px 12px; font-weight: 700; font-size: 12px; text-align: center; text-decoration: none !important; transition: background .2s ease; }
.sl-hb-btn:hover { background: #B34E38; }

/* Botón rojo "Ver más" (cuadro) hacia la tienda */
.sl-hb-more { display: flex; justify-content: center; margin-top: 32px; }
.sl-hb-more a { background: #E02B2B; color: #fff !important; border-radius: 10px; padding: 15px 42px; font-weight: 800; font-size: 15px; text-decoration: none !important; box-shadow: 0 10px 24px -10px rgba(224, 43, 43, .55); transition: background .2s ease, transform .2s ease; }
.sl-hb-more a:hover { background: #B91C1C; transform: translateY(-2px); }

@media (max-width: 1024px) {
  .sl-hb-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .sl-hb-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .sl-hb-title { font-size: 13px; }
  .sl-hb-btn { padding: 8px 10px; font-size: 11px; }
}

/* ============================================================
   MENU MOVIL COMPACTO — fuera del inicio, 3 puntos para abrir
   ============================================================ */
.sl-nav-dots { display: none; }
@media (max-width: 767px) {
  body.sl-nav-collapsed .elementor-element-49545f1,
  body.sl-nav-collapsed .sl-wc-nav { display: none !important; }
  body.sl-nav-collapsed .sl-nav-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid #E5E2D9;
    background: #fff;
    color: #203737;
    cursor: pointer;
    flex: 0 0 auto;
  }
  body.sl-nav-collapsed.sl-nav-open .sl-nav-dots { background: #203737; color: #fff; border-color: #203737; }
  body.sl-nav-collapsed.sl-nav-open .elementor-element-49545f1,
  body.sl-nav-collapsed.sl-nav-open .sl-wc-nav {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    width: 100%;
    order: 10;
    gap: 2px;
    padding: 8px 0 4px;
    border-top: 1px solid #F1EEE4;
    margin-top: 8px;
  }
  body.sl-nav-collapsed.sl-nav-open .elementor-element-49545f1 > .e-con-inner {
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 2px;
  }
  body.sl-nav-collapsed.sl-nav-open .sl-wc-nav a { padding: 8px 0; font-size: 15px; }
}
