﻿/* ============================================
   LOESSBRAND — IDENTIDAD VISUAL (Figma accurate)
   Fonts: Anonymous Pro (headings/bold) + Courier New (body/nav)
   Palette: #ffffff body | #fcfbf8 header | #000000 black
   ============================================ */

/* Elimina el outline de focus al hacer clic con ratón.
   Se mantiene para navegación por teclado (:focus-visible). */
*:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

/* --- Variables (extraídas de Figma) --- */
:root {
  --lb-white:     #ffffff;
  --lb-cream:     #fcfbf8;   /* Header/menu bg exacto de Figma */
  --lb-black:     #000000;
  --lb-cream-btn: #fdf7da;   /* Color texto botón footer en Figma */
  --lb-sand:      #a7a295;   /* Color swatch taupe */
  --lb-gold:      #e7d7af;   /* Color swatch dorado/arena */

  --lb-font-heading: 'Anonymous Pro', 'Courier New', monospace;
  --lb-font-body:    'Courier New', Courier, monospace;
  --lb-transition:   0.3s ease;

  /* Letter-spacing del nav en Figma: 3.5px */
  --lb-nav-ls: 3.5px;
}

/* Override Bootstrap */
:root {
  --bs-primary:     #000000;
  --bs-primary-rgb: 0, 0, 0;
  --bs-link-color:       #000000;
  --bs-link-hover-color: rgba(0,0,0,0.5);
  --bs-border-radius: 0;
}

/* ============================================
   BASE
   ============================================ */
body {
  background: var(--lb-white);
  color: var(--lb-black);
  font-family: var(--lb-font-body);
  font-size: 14px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--lb-black); text-decoration: none; }
a:hover { color: rgba(0,0,0,0.5); text-decoration: none; }

img { display: block; max-width: 100%; }

/* ============================================
   TYPOGRAPHY
   ============================================ */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--lb-font-heading);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--lb-black);
  line-height: 1.1;
}

/* Tamaños tipográficos del Figma */
.lb-title-xl  { font-size: 38px; letter-spacing: 2px; }   /* Shops page */
.lb-title-lg  { font-size: 28px; letter-spacing: 2.8px; } /* Product name */
.lb-title-md  { font-size: 26px; letter-spacing: 2.6px; } /* Category heading */
.lb-title-sm  { font-size: 18px; }                        /* Product card name */
.lb-body      { font-family: var(--lb-font-body); font-size: 14px; }
.lb-small     { font-family: var(--lb-font-body); font-size: 12px; }

/* ============================================
   HEADER
   ============================================ */
.header-banner { display: none !important; }

/* Top bar (languaje, currency, sign-in) */
.header-top {
  background: var(--lb-cream);
  border-bottom: 1px solid rgba(0,0,0,0.07);
  font-family: var(--lb-font-body);
  font-size: 12px;
  letter-spacing: 1px;
}

/* Main header bar */
.header-bottom {
  background: var(--lb-cream);
  border-bottom: 1px solid rgba(0,0,0,0.1);
  padding: 0.6rem 0;
  overflow: visible !important;
}

.header-bottom__logo img {
  max-height: 36px;
  width: auto;
}

/* ============================================
   NAVIGATION — Figma: Courier 14px, ls 3.5px
   ============================================ */
#_desktop_top_menu .top-menu {
  font-family: var(--lb-font-body);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: var(--lb-nav-ls);
  text-transform: uppercase;
}

#_desktop_top_menu .top-menu > li > a,
#_desktop_top_menu .top-menu > li > span {
  color: var(--lb-black);
  padding: 0.5rem 0.75rem;
  transition: opacity var(--lb-transition);
  background: transparent;
  border: none;
}

#_desktop_top_menu .top-menu > li > a:hover { opacity: 0.5; }

/* Dropdown */
.top-menu .sub-menu,
.top-menu .dropdown-menu {
  background: var(--lb-white);
  border: none;
  border-top: 2px solid var(--lb-black);
  border-radius: 0;
  box-shadow: 0 10px 28px rgba(0,0,0,0.08);
  min-width: 180px;
}

.top-menu .sub-menu a,
.top-menu .dropdown-menu a {
  font-family: var(--lb-font-body);
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--lb-black);
  padding: 0.6rem 1.2rem;
  display: block;
  transition: background var(--lb-transition);
}

.top-menu .sub-menu a:hover,
.top-menu .dropdown-menu a:hover {
  background: var(--lb-cream);
  color: var(--lb-black);
}

/* ============================================
   BUTTONS — Figma: Anonymous Pro 18px bold, black bg
   ============================================ */
.btn {
  font-family: var(--lb-font-heading);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-radius: 0;
  padding: 0.8rem 1.6rem;
  transition: all var(--lb-transition);
  line-height: 1.2;
}

.btn-primary {
  background: var(--lb-black);
  border-color: var(--lb-black);
  color: var(--lb-white);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background: var(--lb-white);
  border-color: var(--lb-black);
  color: var(--lb-black);
}

.btn-secondary,
.btn-outline-primary {
  background: transparent;
  border: 1px solid var(--lb-black);
  color: var(--lb-black);
}
.btn-secondary:hover,
.btn-outline-primary:hover {
  background: var(--lb-black);
  color: var(--lb-white);
}

/* ============================================
   CATALOG MODE — Ocultar elementos de tienda
   ============================================ */
.add-to-cart,
#add-to-cart-or-refresh .product__actions-qty-add,
[data-button-action="add-to-cart"],
.blockcart,
#_desktop_ps_shoppingcart,
#_mobile_ps_shoppingcart,
.wishlist-button-product,
.wishlist-button-add,
.product-miniature__actions,
.product-miniature__form,
.product__availability,
.product__minimal-quantity,
.product-price,
.product-prices,
.product-discount,
.product__price,
.product-miniature__prices,
.product-miniature__price,
.product-miniature__discount-price {
  display: none !important;
}

/* ============================================
   PRODUCT MINIATURES (Cards)
   ============================================ */
.product-miniature {
  background: transparent;
  border: none;
  position: relative;
}

.product-miniature .card,
.product-miniature .card-body {
  border: none;
  background: transparent;
  padding: 0;
}

.product-miniature__inner { display: flex; flex-direction: column; }

/* Image container */
.product-miniature__top {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/4;
  background: #f5f3f0;
}

.product-miniature__top img,
.product-miniature__top picture,
.product-miniature__top .product-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Second image hover — apuntamos al <picture> wrapper, no al <img> */
.product-miniature__top picture:nth-child(2) {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity var(--lb-transition);
  width: 100%;
  height: 100%;
}

.product-miniature:hover:has(picture:nth-child(2)) picture:nth-child(1) { opacity: 0; }
.product-miniature:hover picture:nth-child(2) { opacity: 1; }

/* Product name — Figma: Anonymous Pro 18px bold */
.product-miniature__bottom {
  padding: 0.6rem 0 0;
}

.product-miniature__title,
.product-miniature__title a {
  font-family: var(--lb-font-heading);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--lb-black);
  text-decoration: none;
  display: block;
}

.product-miniature__title a:hover { color: rgba(0,0,0,0.5); }

/* Hide flags, quick-view, reviews, variants on cards */
.product-miniature .product-flags,
.product-miniature .quick-view-button,
.product-miniature .product-miniature__variants,
.product-miniature [data-link-action="quickview"] {
  display: none !important;
}

/* ============================================
   PRODUCT LISTING GRID — 4 cols / 2 mobile
   ============================================ */
#js-product-list .products,
.products-grid .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (max-width: 1199px) {
  #js-product-list .products,
  .products-grid .products {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767px) {
  #js-product-list .products,
  .products-grid .products {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 0.75rem;
  }
}

/* Sort/filter bar */
.products-sort-order .select-title,
#js-product-list-top {
  font-family: var(--lb-font-body);
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

/* ============================================
   CATEGORY PAGE — Figma: editorial layout
   ============================================ */
.page-header {
  padding: 3rem 0 1.5rem;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  margin-bottom: 2.5rem;
}

.page-header h1,
.page-title {
  font-family: var(--lb-font-heading);
  font-size: clamp(22px, 4vw, 38px);
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin: 0;
}

/* Hide default category cover image */
.block-category .category-cover,
.category-cover { display: none; }

/* Sidebar layout → full width for catalog */
#left-column { display: none; }
#content-wrapper { flex: 0 0 100%; max-width: 100%; }

/* ============================================
   PRODUCT PAGE — Figma layout
   ============================================ */

/* Two-column layout: gallery auto (fit-content) | info 1fr */
.product__container {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 48px;
  align-items: start;
  max-width: 1300px;
  margin: 0 auto;
  padding: 40px 20px 48px;
}

@media (max-width: 991px) {
  .product__container {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 24px 16px 48px;
  }
}

/* ---- Galería: thumbnails izquierda + imagen principal derecha ---- */
.lb-gallery {
  display: flex !important;
  flex-direction: row !important;
  gap: 12px;
  align-items: flex-start;
  position: relative;
  width: fit-content;
}

/* Wrapper de thumbs: columna vertical con flechas */
.lb-gallery__thumbs-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex: 0 0 72px;
  width: 72px;
}

/* Botones de navegación arriba/abajo */
.lb-gallery__nav {
  width: 72px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--lb-black);
  transition: opacity 0.2s;
  flex-shrink: 0;
}
.lb-gallery__nav .material-icons { font-size: 16px; }
.lb-gallery__nav:hover { opacity: 0.5; }

/* Columna de miniaturas: ancho fijo 72px */
.lb-gallery__thumbs {
  flex: 1 1 auto !important;  /* crece en el eje column del wrap, no 72px fijo */
  width: 72px !important;
  min-width: 0;
  overflow: hidden;
  scroll-behavior: smooth;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lb-gallery__thumb {
  display: block !important;
  width: 72px !important;
  height: 96px !important;
  overflow: hidden !important;
  border: 1px solid transparent;
  padding: 0 !important;
  background: none;
  cursor: pointer;
  transition: border-color 0.2s ease;
  flex-shrink: 0;
  border-radius: 0;
  box-sizing: border-box;
}

.lb-gallery__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  opacity: 0.45;
  transition: opacity 0.2s ease;
  max-width: none !important;
}

.lb-gallery__thumb.is-active img,
.lb-gallery__thumb:hover img {
  opacity: 1;
}

.lb-gallery__thumb.is-active {
  border-color: var(--lb-black);
}

/* Imagen principal: ancho fijo 460px, imagen proporcional sin bordes */
.lb-gallery__main {
  flex: 0 0 460px;
  width: 460px;
  min-width: 0;
  position: relative;
  overflow: hidden;
}

.lb-gallery__main img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  display: block !important;
  object-fit: initial !important;
}

/* Flags (Nuevo, Fuera de stock) */
.lb-gallery .product-flag-list,
.lb-gallery .product-flags {
  position: absolute;
  top: 12px;
  left: 84px; /* 72px thumbs + 12px gap */
  z-index: 2;
  display: flex;
  gap: 6px;
  pointer-events: none;
}

@media (max-width: 991px) {
  .lb-gallery {
    width: 100% !important;
  }
  .lb-gallery__thumbs-wrap {
    flex: 0 0 72px !important;
    width: 72px !important;
  }
  .lb-gallery__main {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
  }
}

@media (max-width: 767px) {
  .lb-gallery__thumbs-wrap { flex: 0 0 52px !important; width: 52px !important; }
  .lb-gallery__thumbs { width: 52px !important; flex: 1 1 auto !important; }
  .lb-gallery__thumb  { width: 52px !important; height: 70px !important; }
  .lb-gallery__nav    { width: 52px !important; }
  .lb-gallery .product-flag-list,
  .lb-gallery .product-flags { left: 64px; }
}

/* ---- Right column: product info ---- */
.product__right {
  padding-top: 0.5rem;
}

/* Breadcrumb — Figma: Courier 14px */
.breadcrumb {
  font-family: var(--lb-font-body);
  font-size: 13px;
  letter-spacing: 0.5px;
  background: transparent;
  padding: 0 0 1.5rem;
  margin: 0;
}

.breadcrumb-item a { color: rgba(0,0,0,0.45); }
.breadcrumb-item a:hover { color: var(--lb-black); }
.breadcrumb-item.active { color: var(--lb-black); }
.breadcrumb-item + .breadcrumb-item::before { color: rgba(0,0,0,0.3); }

/* Product name — Figma: Anonymous Pro 28px weight 400, ls 2.8px */
.product__name,
h1.product__name {
  font-family: var(--lb-font-heading);
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 2.8px;
  text-transform: uppercase;
  line-height: 1.15;
  margin-bottom: 1.5rem;
}

/* Manufacturer/brand */
.product__manufacturer { display: none; }

/* Short description — Figma: Anonymous Pro 14px, ls -0.3 */
.product__description-short,
.product__description-short p {
  font-family: var(--lb-font-heading);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: -0.3px;
  line-height: 1.7;
  color: var(--lb-black);
  margin-bottom: 1.5rem;
}

/* Variant labels — Figma: Anonymous Pro 16px bold */
.product-variants__label,
.product-variants .form-label,
.product-variants label.form-label {
  font-family: var(--lb-font-heading);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: none;
  color: var(--lb-black);
  display: block;
  margin-bottom: 0.6rem;
}

/* Color swatches */
.product-variants .color,
.product-variants .input-container .color {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,0.2) !important;
  transition: box-shadow var(--lb-transition);
  cursor: pointer;
}

.product-variants input[type="radio"]:checked + span.color,
.product-variants .input-container input:checked ~ .color {
  box-shadow: 0 0 0 2px var(--lb-white), 0 0 0 3px var(--lb-black);
}

/* Talla única: texto fijo sin desplegable */
.product-variant__single-value {
  font-family: var(--lb-font-heading);
  font-size: 20px;
  font-weight: 400;
  border-bottom: 1px solid rgba(0,0,0,0.3);
  padding: 0.4rem 0;
  color: var(--lb-black);
}

/* Size dropdown — selector correcto: product__variants (doble guión bajo) */
.product__variants .form-select,
.product__variants select {
  font-family: var(--lb-font-heading) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  /* Reset bordes de Hummingbird: solo borde inferior */
  border: none !important;
  border-bottom: 1px solid rgba(0,0,0,0.3) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  /* Fondo transparente siempre */
  background-color: transparent !important;
  /* Flecha: chevron negro, override variable de Bootstrap */
  --bs-form-select-bg-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23000000' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-image: var(--bs-form-select-bg-img) !important;
  background-repeat: no-repeat !important;
  background-position: right 0.4rem center !important;
  background-size: 12px 8px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  /* Ancho: full-width del contenedor de variante */
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  /* Altura compacta: reset padding flotante de Hummingbird */
  height: auto !important;
  min-height: unset !important;
  padding: 0.4rem 2rem 0.4rem 0 !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
}

.product__variants .form-select:focus,
.product__variants select:focus,
.product__variants .form-select:focus-visible,
.product__variants select:focus-visible {
  border-color: var(--lb-black) !important;
  box-shadow: none !important;
  outline: none !important;
  background-color: transparent !important;
}

/* Opciones del dropdown: fondo blanco, sin azul del OS (truco box-shadow para Chrome) */
.product__variants select option {
  background-color: #fff;
  color: var(--lb-black);
}
.product__variants select option:checked,
.product__variants select option:hover {
  background-color: var(--lb-cream) !important;
  color: var(--lb-black) !important;
  box-shadow: 0 0 10px 100px var(--lb-cream) inset !important;
}

/* ---- CTA catálogo — línea de texto con enlace ---- */
.lb-cta-line {
  font-family: var(--lb-font-heading);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: var(--lb-black);
  margin-top: 1.75rem;
  margin-bottom: 0;
  border: 1px solid var(--lb-black);
  padding: 14px 20px;
  display: block;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}

.lb-cta-line__link {
  color: var(--lb-black);
  text-decoration: underline;
  font-weight: 700;
  transition: opacity 0.2s ease;
}

.lb-cta-line__link:hover {
  opacity: 0.55;
}

/* ============================================
   PRODUCT TABS — Figma: Courier 16px, ls -0.3
   ============================================ */
.product__bottom {
  display: block !important;
  width: 100% !important;
  grid-column: 1 / -1 !important; /* salir del grid si estuviera dentro */
  clear: both;
  padding-top: 0;
}

/* Convert accordion to tabs */
.product__accordion {
  border-top: 1px solid rgba(0,0,0,0.12);
}

.product__accordion .accordion-item {
  border: none;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  background: transparent;
}

.product__accordion .accordion-button {
  font-family: var(--lb-font-body);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: -0.3px;
  color: var(--lb-black);
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 1.2rem 0;
  box-shadow: none;
}

.product__accordion .accordion-button:not(.collapsed) {
  color: var(--lb-black);
  background: transparent;
  box-shadow: none;
}

.product__accordion .accordion-button::after {
  filter: none;
}

.product__accordion .accordion-body {
  padding: 1rem 0 1.5rem;
  font-family: var(--lb-font-body);
  font-size: 14px;
  line-height: 1.75;
}

/* Size guide table */
.lb-size-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--lb-font-body);
  font-size: 14px;
  margin-top: 1rem;
}

.lb-size-table th {
  font-family: var(--lb-font-heading);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 0.6rem 1rem;
  border-bottom: 1px solid var(--lb-black);
  text-align: center;
}

.lb-size-table td {
  padding: 0.6rem 1rem;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  text-align: center;
}

/* ============================================
   FOOTER — Figma: negro, Courier 14px + Anonymous Pro 14 bold
   ============================================ */
.footer-container {
  background: var(--lb-black);
  color: rgba(255,255,255,0.75);
  font-family: var(--lb-font-body);
  font-size: 14px;
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

.footer-container a {
  color: rgba(255,255,255,0.65);
  transition: color var(--lb-transition);
}

.footer-container a:hover { color: #fff; }

/* Section titles — Figma: Anonymous Pro 14px bold */
.footer-container .h3,
.footer-container h3,
.footer-container .block-title,
.footer-container .footer__title {
  font-family: var(--lb-font-heading);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 1.2rem;
}

/* Nav links list in footer — letter-spacing 3.5px as per Figma */
.footer-container .footer__navigation a {
  font-family: var(--lb-font-body);
  font-size: 14px;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  display: block;
  padding: 0.2rem 0;
}

.footer-copyright {
  background: var(--lb-black);
  color: rgba(255,255,255,0.3);
  font-family: var(--lb-font-body);
  font-size: 12px;
  letter-spacing: 0.5px;
  border-top: 1px solid rgba(255,255,255,0.1);
  padding: 1.5rem 0;
  text-align: center;
}

/* ============================================
   BREADCRUMB
   ============================================ */
nav.breadcrumb-wrapper,
.breadcrumb-wrapper {
  padding: 1rem 0 0;
}

/* ============================================
   PAGINATION
   ============================================ */
.pagination .page-link {
  font-family: var(--lb-font-body);
  font-size: 13px;
  letter-spacing: 1px;
  color: var(--lb-black);
  border: 1px solid rgba(0,0,0,0.2);
  border-radius: 0;
  background: transparent;
  padding: 0.5rem 0.9rem;
}

.pagination .page-item.active .page-link {
  background: var(--lb-black);
  border-color: var(--lb-black);
  color: #fff;
}

.pagination .page-link:hover {
  background: var(--lb-cream);
  color: var(--lb-black);
}

/* ============================================
   FORMS
   ============================================ */
.form-control, .form-select {
  font-family: var(--lb-font-body);
  font-size: 14px;
  border-radius: 0;
  border-color: rgba(0,0,0,0.25);
  background: transparent;
}

.form-control:focus, .form-select:focus {
  border-color: var(--lb-black);
  box-shadow: none;
}

input[type="email"],
input[type="text"],
textarea {
  font-family: var(--lb-font-body);
  border-radius: 0;
}

/* ============================================
   SEARCH
   ============================================ */
#search_widget input {
  font-family: var(--lb-font-body);
  font-size: 13px;
  letter-spacing: 1px;
  border: none;
  border-bottom: 1px solid rgba(0,0,0,0.3);
  border-radius: 0;
  background: transparent;
  padding: 0.3rem 0;
}

/* ============================================
   PRODUCT ACCESSORIES / RELATED
   ============================================ */
.products-accessories .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

@media (max-width: 767px) {
  .products-accessories .products {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ============================================
   CATEGORY HERO — Figma editorial layout
   ============================================ */
.lb-cat-hero {
  display: grid;
  grid-template-columns: 40px 1fr 1fr;
  grid-template-rows: auto;
  gap: 0 2rem;
  align-items: stretch;
  margin-bottom: 3rem;
  min-height: 60vh;
}

/* Texto rotado vertical izquierda */
.lb-cat-hero__brand {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lb-cat-hero__brand span {
  font-family: var(--lb-font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  color: var(--lb-black);
}

/* Imagen principal */
.lb-cat-hero__image {
  grid-column: 2;
  grid-row: 1;
  overflow: hidden;
}

.lb-cat-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Bloque de info */
.lb-cat-hero__info {
  grid-column: 3;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 2rem 0 2rem 1rem;
}

.lb-cat-hero__season {
  font-family: var(--lb-font-body);
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  color: rgba(0,0,0,0.55);
}

.lb-cat-hero__title {
  font-family: var(--lb-font-heading);
  font-size: clamp(20px, 3.5vw, 38px);
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  line-height: 1.05;
  margin: 0 0 1rem;
}

.lb-cat-hero__desc {
  font-family: var(--lb-font-heading);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  line-height: 1.4;
  color: var(--lb-black);
}

/* Sin imagen: solo texto */
.lb-cat-title-only {
  display: flex;
  align-items: baseline;
  gap: 2rem;
  padding: 3rem 0 2rem;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  margin-bottom: 3rem;
}

.lb-cat-title-only__brand {
  font-family: var(--lb-font-heading);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  color: rgba(0,0,0,0.3);
}

.lb-cat-title-only__name {
  font-family: var(--lb-font-heading);
  font-size: clamp(22px, 4vw, 48px);
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin: 0;
}


/* ============================================
   PRODUCT TABS — Figma: Courier 16px, underline active
   ============================================ */
.lb-tabs-section {
  display: block !important;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 20px 4rem;
}

.lb-tabs__nav {
  display: flex !important;
  flex-direction: row !important;
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(0,0,0,0.12);
  gap: 32px;
  width: 100%;
}

.lb-tabs__content {
  display: block !important;
  width: 100% !important;
}

.lb-tabs__btn {
  font-family: var(--lb-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.4);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 1.25rem 0 1.25rem;
  margin-bottom: -1px;
  cursor: pointer;
  transition: color var(--lb-transition), border-color var(--lb-transition);
}

.lb-tabs__btn:hover { color: var(--lb-black); }

.lb-tabs__btn.active,
.lb-tabs__btn[aria-selected="true"] {
  color: var(--lb-black);
  border-bottom-color: var(--lb-black);
}

.lb-tabs__panel {
  width: 100% !important;
  padding: 1.5rem 0 2rem;
}

.lb-tabs__panel p {
  font-family: var(--lb-font-heading);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: -0.3px;
  line-height: 1.75;
  margin-bottom: 1rem;
}

.lb-tabs__intro {
  max-width: 600px;
  margin-bottom: 1.5rem !important;
}

.lb-tabs__note {
  color: rgba(0,0,0,0.6);
  font-size: 13px !important;
  margin-top: 1.5rem !important;
}

.lb-tabs__linen-note {
  background: var(--lb-cream);
  padding: 1rem 1.5rem;
  font-size: 13px !important;
  border-left: 2px solid var(--lb-black);
  margin-top: 1.5rem !important;
}

.lb-size-table-wrapper {
  overflow-x: auto;
  margin: 1rem 0;
}

/* Contenido dinámico del tab Guía de tallas (viene de $product.description) */
.lb-tabs__description-content {
  max-width: 700px;
}

.lb-tabs__description-content p {
  font-family: var(--lb-font-heading);
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: -0.3px;
  margin-bottom: 1rem;
}

.lb-tabs__description-content table {
  border-collapse: collapse;
  width: 100%;
  max-width: 520px;
  font-family: var(--lb-font-body);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 1.25rem 0;
}

.lb-tabs__description-content table th {
  border-bottom: 1px solid var(--lb-black);
  padding: 8px 16px;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.12em;
}

.lb-tabs__description-content table td {
  border-bottom: 1px solid rgba(0,0,0,0.1);
  padding: 8px 16px;
  text-align: center;
}

.lb-tabs__description-content table tr:last-child td {
  border-bottom: none;
}

/* Contenido de Cuidados */
.lb-tabs__care-content p {
  font-family: var(--lb-font-heading);
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: -0.3px;
  margin-bottom: 0.75rem;
}

/* Mensaje tab vacío */
.lb-tabs__empty {
  color: rgba(0,0,0,0.4);
  font-style: italic;
}

/* Módulo artículos relacionados (ps_categoryproducts) en ficha de producto */
.page-product .ps-categoryproducts {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 20px 60px;
}

.lb-catproducts__title {
  font-family: var(--lb-font-body);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 28px;
}

.lb-catproducts {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-start;
}

.lb-catproducts__item {
  width: 300px;
}

.lb-catproducts__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.lb-catproducts__img-wrap {
  width: 300px;
  overflow: hidden;
}

.lb-catproducts__img {
  width: 100%;
  aspect-ratio: 300 / 530;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 0.5s ease;
}

.lb-catproducts__link:hover .lb-catproducts__img {
  transform: scale(1.03);
}

.lb-catproducts__name {
  font-family: var(--lb-font-body);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-align: center;
  margin: 14px 0 0;
  color: var(--lb-black);
}


/* ============================================
   HEADER — estilo sobre Bootstrap row de Hummingbird
   NO se toca el layout, solo se estiliza
   ============================================ */

/* Ocultar barra superior y borde gris de Hummingbird */
.header-top { display: none !important; }
.header-bottom { border-bottom: none !important; padding: 0.25rem 0 !important; background-color: var(--lb-cream); }

/* Altura mínima de la fila */
.header-bottom__row { min-height: 60px; }

/* ── Logo: anular max-width:8rem de Hummingbird ── */
.header-bottom .navbar-brand { padding: 0 !important; }
.header-bottom .navbar-brand .logo {
  max-height: 42px !important;
  max-width: none !important;
  width: auto !important;
  height: auto !important;
}
.header-bottom__h1 { margin: 0; font-size: inherit; }

/* ── Menú: fuente y separadores ── */
.ps-mainmenu__tree {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ps-mainmenu__tree-item {
  display: flex;
  align-items: center;
}

.ps-mainmenu__tree-item-wrapper { display: contents; }

/* Pipes entre items */
.ps-mainmenu__tree-item:not(:last-child)::after {
  content: '|';
  color: rgba(0,0,0,0.25);
  font-family: var(--lb-font-body);
  font-size: 11px;
  padding: 0 0.1rem;
  flex-shrink: 0;
}

/* Links del menú */
.ps-mainmenu__tree-link {
  font-family: var(--lb-font-body);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: var(--lb-nav-ls);
  text-transform: uppercase;
  color: var(--lb-black) !important;
  padding: 1.1rem 0.6rem;
  display: block;
  white-space: nowrap;
  text-decoration: none !important;
  transition: opacity var(--lb-transition);
}
.ps-mainmenu__tree-link:hover { opacity: 0.45; }

/* LOESSBRAND, TIENDAS y ¿HABLAMOS? — negrita */
[data-id="cms-page-8"] .ps-mainmenu__tree-link,
[data-id="cms-page-9"] .ps-mainmenu__tree-link,
[data-id="cms-page-11"] .ps-mainmenu__tree-link,
[data-id="lnk-tiendas"] .ps-mainmenu__tree-link,
[data-id="lnk-shops"] .ps-mainmenu__tree-link {
  font-weight: 700;
}

/* Submenús */
.ps-mainmenu__submenu {
  background: var(--lb-white);
  border: none !important;
  border-top: 2px solid var(--lb-black) !important;
  border-radius: 0 !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
}
.ps-mainmenu__submenu .ps-mainmenu__tree-link {
  font-size: 12px;
  letter-spacing: 2.5px;
  padding: 0.5rem 1.2rem;
}
.ps-mainmenu__submenu .ps-mainmenu__tree-link:hover {
  background: var(--lb-cream);
  opacity: 1;
}

/* Ocultar moneda */
#_desktop_currency_selector { display: none !important; }

/* ============================================
   HOME — Slider hero (ps_imageslider / responsiveSlides)
   ============================================ */

/* Sin margen ni padding en la home */
.lb-home { padding: 0; margin: 0; }
.page-content--home { padding: 0 !important; }

/* Wrapper del slider: fullwidth, sin margen */
.lb-home__slider { width: 100%; overflow: hidden; }

.lb-home__slider .homeslider-container,
.lb-home__slider .lb-slider {
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
}

/* Imagen del slider: fullwidth */
.lb-home__slider .rslides,
.lb-home__slider .lb-slider__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.lb-home__slider .lb-slider__image,
.lb-home__slider .rslides li img,
.lb-home__slider .homeslider img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* ── Ocultar caption del slider (caja de texto oscura) ── */
.homeslider .caption,
.homeslider-container .caption,
.lb-slider .caption,
.rslides .caption { display: none !important; }

/* ── Flechas de navegación del slider ── */
a.homeslider_nav {
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: rgba(0,0,0,0.22) !important;
  border: none;
  text-indent: 0 !important;
  overflow: visible !important;
  margin-top: 0 !important;
  z-index: 10 !important;
  opacity: 1 !important;
  cursor: pointer;
  transition: background 0.25s ease;
  text-decoration: none;
}
a.homeslider_nav:hover {
  background: rgba(0,0,0,0.45) !important;
  opacity: 1 !important;
}
a.homeslider_nav.prev { left: 24px !important; right: auto !important; }
a.homeslider_nav.next { right: 24px !important; left: auto !important; }

/* Chevron blanco via ::after */
a.homeslider_nav::after {
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
a.homeslider_nav.prev::after { transform: rotate(-135deg) translate(-1px, 1px); }
a.homeslider_nav.next::after { transform: rotate(45deg) translate(-1px, 1px); }

@media (max-width: 767px) {
  a.homeslider_nav { width: 36px !important; height: 36px !important; }
  a.homeslider_nav.prev { left: 12px !important; }
  a.homeslider_nav.next { right: 12px !important; }
  a.homeslider_nav::after { width: 9px; height: 9px; }
}

/* Ocultar el resto de módulos de displayHome que no son el slider
   (ps_featuredproducts, ps_banner, ps_customtext, etc.)
   Se activan individualmente si se necesitan */
.lb-home__slider .featured-products,
.lb-home__slider .block-featured,
.lb-home__slider .new-products,
.lb-home__slider .block-bestsellers,
.lb-home__slider .block-specials,
.lb-home__slider .ps-banner,
.lb-home__slider .banner-wrapper,
.lb-home__slider .block_custom_text { display: none; }

/* ============================================
   HOME — Sección Editorial Fullwidth (SS26)
   Imagen ancho completo con label overlay top-left
   ============================================ */
.lb-home__editorial { padding-top: 4rem; border: none; }

.lb-editorial-full {
  width: 100%;
  overflow: hidden;
}

.lb-editorial-full__link {
  display: block;
  position: relative;
  text-decoration: none;
  color: var(--lb-black);
}

.lb-editorial-full__link img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.6s ease;
}

.lb-editorial-full__link:hover img { transform: scale(1.01); }

/* Label overlay — top left */
.lb-editorial-full__label {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  z-index: 2;
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  border-bottom: 1px solid rgba(0,0,0,0.4);
  padding-bottom: 0.3rem;
}

.lb-editorial-full__season,
.lb-editorial-full__title {
  font-family: var(--lb-font-body);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--lb-black);
}

.lb-editorial-full__title { font-weight: 700; }

/* ── Responsive label ── */
@media (max-width: 767px) {
  .lb-editorial-full__label {
    top: 1rem;
    left: 1rem;
    font-size: 10px;
  }
}

/* ── Editorial Split — label dentro de la imagen, arriba a la izquierda ── */
.lb-editorial-split__img-label {
  position: absolute;
  top: 0;
  left: 1.5rem;
  z-index: 2;
  display: inline-block;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(0,0,0,0.35);
}

.lb-editorial-split__img-label span {
  font-family: var(--lb-font-body);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--lb-black);
  white-space: nowrap;
}

.lb-editorial-split__img-label strong {
  font-weight: 700;
  font-family: var(--lb-font-body);
}

/* ============================================
   HOME — Editorial Split (sección 2)
   Izquierda: foto SS26 | Derecha: icono + texto
   ============================================ */


.lb-editorial-split {
  display: grid;
  grid-template-columns: 50% 50%;
  min-height: 520px;
}

/* Columna izquierda: imagen con label absolute encima */
.lb-editorial-split__image {
  position: relative;
  overflow: hidden;
  height: clamp(900px, 90vh, 1200px);
  background: #fff;
}

.lb-editorial-split__image img,
.lb-editorial-split__image video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Botón de sonido sobre el vídeo home */
.lb-home-video__sound {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  z-index: 10;
  background: rgba(0,0,0,0.45);
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  transition: background 0.2s;
}
.lb-home-video__sound:hover { background: rgba(0,0,0,0.65); }
.lb-home-video__sound svg { width: 20px; height: 20px; fill: #fff; display: block; }

@keyframes lb-sound-pulse {
  0%, 100% { transform: scale(1);   box-shadow: 0 0 0 0 rgba(255,255,255,0.4); }
  50%       { transform: scale(1.1); box-shadow: 0 0 0 8px rgba(255,255,255,0); }
}
.lb-home-video__sound--pulse {
  animation: lb-sound-pulse 1.8s ease-in-out infinite;
}

/* Columna derecha: contenido centrado */
.lb-editorial-split__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 5rem;
  background: #fff;
  text-align: center;
}

.lb-editorial-split__icon {
  width: auto;
  height: 220px;
  display: block;
  margin-bottom: 2rem;
}

.lb-editorial-split__brand-logo {
  height: 49px;
  width: auto;
  display: block;
  margin-bottom: 2rem;
}

.lb-editorial-split__desc {
  font-family: var(--lb-font-heading);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.01em;
  color: var(--lb-black);
  max-width: 520px;
  margin: 0;
}

@media (max-width: 991px) {
  .lb-editorial-split {
    grid-template-columns: 1fr;
    min-height: unset;
  }
  .lb-home__editorial { padding-top: 0 !important; }
  .lb-editorial-split__image { height: auto !important; min-height: unset !important; max-height: 85vh; overflow: hidden; background: #fff; }
  .lb-editorial-split__image video,
  .lb-editorial-split__image img { height: auto !important; width: 100% !important; object-fit: initial !important; }
  .lb-editorial-split__text  { padding: 2rem 1.25rem !important; }
}

/* ============================================
   HOME — Tagline (sección 3)
   ============================================ */
.lb-home__tagline {
  padding: 4rem clamp(40px, 10vw, 160px);
  text-align: center;
  background: #fff;
}

.lb-home__tagline-text {
  font-family: var(--lb-font-heading);
  font-size: clamp(13px, 1.8vw, 22px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--lb-black);
  margin: 0;
}

/* ============================================
   HOME — Banner Atemporal Collection
   Imagen fullwidth sin texto, clicable
   ============================================ */
.lb-home__banner { padding-top: 0; border: none; }

.lb-home-banner__link {
  display: block;
  overflow: hidden;
  text-decoration: none;
}

.lb-home-banner__image {
  width: 100%;
  display: block;
  transition: transform 0.6s ease;
}

.lb-home-banner__link:hover .lb-home-banner__image { transform: scale(1.02); }

/* ============================================
   HOME — CTA B2B (sección 5)
   ============================================ */
.lb-home__b2b {
  padding: 5rem 20px 6rem;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.lb-b2b {
  max-width: 1600px;
  width: 100%;
  border: 1px solid rgba(0,0,0,0.5);
  padding: 3rem 3.5rem;
  text-align: center;
}

.lb-b2b__title {
  font-family: var(--lb-font-heading);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--lb-black);
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

.lb-b2b__desc {
  font-family: var(--lb-font-heading);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.01em;
  color: rgba(0,0,0,0.85);
  margin-bottom: 2.5rem;
}

.lb-b2b__btn {
  display: inline-block;
  background: var(--lb-black);
  color: #fff;
  font-family: var(--lb-font-body);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 13px 40px;
  border: 1px solid var(--lb-black);
  border-radius: 5px;
  transition: background 0.2s ease, color 0.2s ease;
}

.lb-b2b__btn strong {
  font-weight: 700;
}

.lb-b2b__btn:hover {
  background: transparent;
  color: var(--lb-black);
}

@media (max-width: 767px) {
  /* Header hamburger */
  .lb-header__icons { gap: 12px !important; }
  .lb-hamburger {
    padding: 0 !important;
    width: 24px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    color: var(--lb-black) !important;
    pointer-events: auto !important;
  }
  .lb-hamburger .material-icons { font-size: 20px !important; line-height: 1 !important; }

  /* Editorial: icono, logo, texto */
  .lb-editorial-split__icon { height: 120px !important; margin-bottom: 1.25rem !important; }
  .lb-editorial-split__brand-logo { height: 36px !important; margin-bottom: 1.5rem !important; }
  .lb-editorial-split__desc { font-size: 14px !important; line-height: 1.7 !important; }

  /* Tagline */
  .lb-home__tagline { padding: 2.5rem 1.25rem !important; }
  .lb-home__tagline-text { line-height: 1.4 !important; }

  /* B2B */
  .lb-home__b2b { padding: 3rem 1.25rem !important; }
  .lb-b2b { padding: 2rem 1.5rem !important; }
  .lb-b2b__title { font-size: 16px; }

  /* Newsletter */
  .lb-newsletter-header {
    flex-direction: column !important;
    gap: 0.5rem !important;
    align-items: flex-start !important;
  }
}

/* ============================================
   FOOTER — estructura Figma
   ============================================ */
.lb-footer {
  background: var(--lb-black);
  color: rgba(255,255,255,0.88);
  font-family: var(--lb-font-body);
  font-size: 14px;
  padding: 4.5rem 0 0;
  margin-top: 0;
}

.lb-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 100px;
  column-gap: 1.5rem;
  row-gap: 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

@media (max-width: 991px) {
  .lb-footer__grid { grid-template-columns: 1fr 1fr; }
  .lb-footer__col--info { grid-column: 1 / -1; }
  .lb-footer__col--social { grid-column: 1 / -1; }
  .lb-footer__social-icons { flex-direction: row !important; justify-content: center; }
}

@media (max-width: 767px) {
  .lb-footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .lb-footer__col--info { grid-column: 1 / -1; }
  .lb-footer__col--social { grid-column: 1 / -1; }
  .lb-footer__social-icons { flex-direction: row !important; justify-content: center; }
}

.lb-footer__col { display: flex; flex-direction: column; }

.lb-footer__heading {
  font-family: var(--lb-font-heading);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 1rem;
}

.lb-footer__address {
  font-style: normal;
  color: rgba(255,255,255,0.82);
  line-height: 1.75;
  margin-bottom: 0.25rem;
}

.lb-footer__link {
  color: rgba(255,255,255,0.82);
  font-size: 14px;
  letter-spacing: 0.5px;
  transition: color var(--lb-transition);
}

.lb-footer__link:hover { color: #fff; text-decoration: none; }

.lb-footer__text {
  color: rgba(255,255,255,0.82);
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

/* Newsletter — módulo ps_emailsubscription / block_newsletter
   Ocultar título propio del módulo (lo sustituimos por lb-footer__heading) */
.lb-footer .block_newsletter,
.lb-footer .blocknewsletter,
.lb-footer [id*="block_newsletter"],
.lb-footer [class*="email-subscription"] {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.lb-footer .block_newsletter h2,
.lb-footer .block_newsletter h3,
.lb-footer .block_newsletter h4,
.lb-footer .block_newsletter .block-title,
.lb-footer .block_newsletter .title,
.lb-footer .blocknewsletter h2,
.lb-footer .blocknewsletter h3,
.lb-footer .blocknewsletter h4,
.lb-footer [id*="block_newsletter"] h2,
.lb-footer [id*="block_newsletter"] h4,
.lb-footer [id*="blockEmailSubscription"] h4,
.lb-footer .ps-emailsubscription h2,
.lb-footer .ps-emailsubscription h4,
.lb-footer .ps-emailsubscription .block-title { display: none !important; }

/* Ocultar texto informativo extra del módulo newsletter */
.lb-footer .block_newsletter .news-desc,
.lb-footer .blocknewsletter p,
.lb-footer .ps-emailsubscription .form-desc,
.lb-footer .ps-emailsubscription p { display: none !important; }

.lb-footer .block_newsletter input[type="email"],
.lb-footer [id*="blockEmailSubscription"] input[type="email"],
.lb-footer .ps-emailsubscription input[type="email"] {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 0 !important;
  color: #fff !important;
  padding: 0.5rem 0 !important;
  font-family: var(--lb-font-body) !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
  box-shadow: none !important;
}

.lb-footer .block_newsletter input::placeholder,
.lb-footer .ps-emailsubscription input::placeholder {
  color: rgba(255,255,255,0.4);
}

.lb-footer .block_newsletter button,
.lb-footer .block_newsletter .btn,
.lb-footer .ps-emailsubscription button,
.lb-footer [id*="blockEmailSubscription"] input[type="submit"] {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.5);
  color: #fff;
  font-family: var(--lb-font-heading);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 0.6rem 1.2rem;
  border-radius: 0;
  margin-top: 0.75rem;
  transition: all var(--lb-transition);
  width: 100%;
  cursor: pointer;
}

.lb-footer .block_newsletter button:hover,
.lb-footer [id*="blockEmailSubscription"] input[type="submit"]:hover {
  background: #fff;
  color: var(--lb-black);
}

/* Navegación footer */
.lb-footer__navigation {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.lb-footer__nav-link {
  font-family: var(--lb-font-body);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
  transition: color var(--lb-transition);
  padding: 0.15rem 0;
}

.lb-footer__nav-link:hover { color: #fff; text-decoration: none; }

/* Legal + Copyright */
.lb-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 0;
  gap: 1rem;
  flex-wrap: wrap;
}

.lb-footer__legal-link {
  font-family: var(--lb-font-body);
  font-size: 12px;
  letter-spacing: 0.3px;
  color: rgba(255,255,255,0.55);
  transition: color var(--lb-transition);
}

.lb-footer__legal-link:hover { color: rgba(255,255,255,0.65); text-decoration: none; }

.lb-footer__copyright {
  font-family: var(--lb-font-body);
  font-size: 12px;
  letter-spacing: 0.3px;
  color: rgba(255,255,255,0.5);
}

@media (max-width: 767px) {
  .lb-footer { padding-top: 3rem !important; }
  .lb-footer__col--nav { align-items: flex-start !important; }
  .lb-footer__grid { padding-bottom: 2rem !important; }
  .lb-newsletter-header {
    flex-direction: column !important;
    gap: 0.4rem !important;
    align-items: flex-start !important;
  }
  .lb-footer__bottom { padding: 1rem 0 !important; gap: 8px !important; }
  .lb-footer__copyright,
  .lb-footer__legal,
  .lb-footer__legal a { font-size: 11px !important; }
}

@media (max-width: 575px) {
  .lb-footer__bottom { flex-direction: column; text-align: center; }
}

/* ── ps_linklist PS9 — footer-block ──────────────────────────────── */
.lb-footer__col--nav { align-items: center; }
.lb-footer .ps-linklist { width: auto !important; max-width: none !important; padding: 0 !important; flex: none !important; }
.lb-footer .footer-block__title { display: none !important; }
.lb-footer .footer-block__content { display: block !important; }
.lb-footer .footer-block__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.lb-footer .footer-block__list a {
  font-family: var(--lb-font-body);
  font-size: 14px;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
  transition: color var(--lb-transition);
  display: block;
  padding: 0.15rem 0;
  text-decoration: none;
}
.lb-footer .footer-block__list a:hover { color: #fff; }

/* ── Instagram hardcoded SVG link ────────────────────────────────── */
.lb-footer__insta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,0.4);
  border-radius: 50%;
  color: rgba(255,255,255,0.7);
  transition: border-color var(--lb-transition), color var(--lb-transition);
}
.lb-footer__insta:hover { border-color: rgba(255,255,255,0.9); color: #fff; }

/* Legal separator */
.lb-footer__legal-sep { color: rgba(255,255,255,0.2); }

/* ── lb-newsletter header (Figma: texto desc + CTA en fila) ─────── */
.lb-newsletter-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 0.75rem;
  margin-top: 2rem;
}
.lb-newsletter-header__desc {
  font-family: var(--lb-font-body);
  font-size: 14px;
  color: rgba(255,255,255,0.65);
  margin: 0;
}
.lb-newsletter-header__cta {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: var(--lb-font-body) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  color: #fff !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  outline: none !important;
}
.lb-newsletter-header__cta:hover { color: rgba(255,255,255,0.75) !important; }

/* ── lb-newsletter form ──────────────────────────────────────────── */
.lb-newsletter__input {
  display: block;
  width: 100%;
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  border-radius: 0 !important;
  color: rgba(255,255,255,0.65) !important;
  padding: 0.65rem 0.75rem !important;
  font-family: var(--lb-font-body) !important;
  font-size: 14px !important;
  box-shadow: none !important;
  outline: none;
}
.lb-newsletter__input::placeholder { color: rgba(255,255,255,0.4); }
.lb-newsletter__input:focus { outline: none; border-color: rgba(255,255,255,0.6) !important; box-shadow: none !important; }
.lb-newsletter__msg { font-size: 13px; margin-bottom: 0.5rem; }
.lb-newsletter__msg--error { color: #ff6b6b; }
.lb-newsletter__msg--ok { color: rgba(255,255,255,0.7); }

/* ── ps_emailsubscription PS9 — ID#footer para superar Bootstrap !important ── */
#footer .ps-emailsubscription { background: transparent !important; background-color: transparent !important; padding: 0 !important; }
#footer .ps-emailsubscription .container { padding: 0 !important; max-width: none !important; }
#footer .ps-emailsubscription .row { display: block !important; margin: 0 !important; }
#footer .ps-emailsubscription .h3,
#footer .ps-emailsubscription p.h3,
#footer .ps-emailsubscription p.fs-6 { display: none !important; }
#footer .ps-emailsubscription form { width: 100% !important; max-width: 100% !important; padding: 0 !important; flex: none !important; }
#footer .ps-emailsubscription .d-flex { flex-direction: column !important; gap: 0 !important; }
#footer .ps-emailsubscription input.form-control {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 0 !important;
  color: #fff !important;
  padding: 0.5rem 0 !important;
  font-family: var(--lb-font-body) !important;
  font-size: 14px !important;
  width: 100% !important;
  box-shadow: none !important;
}
#footer .ps-emailsubscription input.form-control::placeholder { color: rgba(255,255,255,0.4) !important; }
#footer .ps-emailsubscription input.btn {
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(255,255,255,0.5) !important;
  color: #fff !important;
  font-family: var(--lb-font-heading) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 0.6rem 1.2rem !important;
  border-radius: 0 !important;
  margin-top: 0.75rem !important;
  width: 100% !important;
  cursor: pointer !important;
}
#footer .ps-emailsubscription input.btn:hover { background: #fff !important; background-color: #fff !important; color: var(--lb-black) !important; }

/* ============================================
   MISC
   ============================================ */
#main, .page-content { background: var(--lb-white); }

/* Remove PS colored badges */
.badge.bg-primary  { background-color: var(--lb-black) !important; }
.text-primary      { color: var(--lb-black) !important; }
.border-primary    { border-color: var(--lb-black) !important; }

/* Facets */
.facets-title, .facet-title {
  font-family: var(--lb-font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* Transitions */
.product-miniature { transition: none; }
.product-miniature:hover { cursor: pointer; }

/* ── Wider containers: header + footer ────────────────────────────── */
@media (min-width: 1400px) {
  .header-bottom__container.container-xl,
  .lb-footer > .container-xl {
    max-width: 1600px;
  }
}

/* ── Category page: hero full-width fix ────────────────────────────── */

/* 0. Container categoría al mismo ancho que header/footer (1600px) */
.page-category .columns-container.container {
  max-width: 1600px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 1. Anular col-lg-9 de Bootstrap (usa flex+width, no max-width) */
.page-category #center-column {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 2. Eliminar márgenes negativos del .row de Bootstrap */
.page-category .columns-container.container > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── Product page: container al mismo ancho que header/footer (1600px) ── */
.page-product .columns-container.container,
.page-product #wrapper .container {
  max-width: 1600px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-product .columns-container.container > .row,
.page-product #wrapper .container > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.page-product #center-column {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* 3. Gap 0 en el hero para evitar overflow horizontal */
.lb-cat-hero {
  gap: 0 !important;
}


/* =============================================
   LOESS BRAND — HEADER FIX
   Logo left | Nav centered | Icons right
   ============================================= */

/* Contenedor: también relativo para anclar bien el right:0 de los iconos */
.header-bottom__container {
  position: relative !important;
}

/* 1. Row: contenedor relativo para posicionamiento absoluto */
.header-bottom__row {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  min-height: 60px !important;
}

/* 2. Logo: izquierda, sin margin auto que desplace el menú */
.header-bottom__logo {
  flex: 0 0 auto !important;
  z-index: 2 !important;
  position: relative !important;
}
.header-bottom__logo.me-auto { margin-right: 0 !important; }
.header-bottom__logo.me-md-0 { margin-right: 0 !important; }

/* 3. Menú de navegación: absolutamente centrado en la row */
.ps-mainmenu--desktop {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  flex: none !important;
  width: auto !important;
  z-index: 1 !important;
}
.ps-mainmenu__desktop {
  display: flex !important;
  justify-content: center !important;
  width: auto !important;
}
.ps-mainmenu__desktop .ps-mainmenu__tree {
  display: flex !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Grupo de iconos derecha — selector de idioma + Instagram */
.lb-header__icons {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  z-index: 100 !important;
  pointer-events: none !important;
}

.lb-header__icons > * {
  pointer-events: auto !important;
}

/* Selector de idioma: ES | EN inline */
.lb-header__icons #_desktop_ps_languageselector {
  display: flex !important;
  align-items: center !important;
}

.lb-lang-selector {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: var(--lb-font-body);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: var(--lb-nav-ls);
  text-transform: uppercase;
}

.lb-lang-selector__link {
  color: var(--lb-black);
  text-decoration: none !important;
  opacity: 0.5;
  transition: opacity var(--lb-transition);
}

.lb-lang-selector__link.is-active,
.lb-lang-selector__link:hover {
  opacity: 1;
}

.lb-lang-selector__sep {
  opacity: 0.35;
  font-size: 11px;
}

/* Icono Instagram derecha */
.lb-header__instagram {
  display: flex;
  align-items: center;
  color: var(--lb-black);
  text-decoration: none !important;
  opacity: 0.85;
  transition: opacity var(--lb-transition);
}

.lb-header__instagram:hover { opacity: 0.45; }

/* ── Header menú: versión portátil (≤1499px) ── */
@media (max-width: 1499px) {
  .ps-mainmenu__tree-link {
    font-size: 12px;
    letter-spacing: 1.5px;
    padding: 1.1rem 0.3rem;
  }
  .ps-mainmenu__tree-item:not(:last-child)::after {
    padding: 0;
  }
}

/* ============================================================
   CATEGORY LANDING PAGE
   ============================================================ */

/* Ocultar título por defecto y breadcrumb en categorías */
.page-category #js-product-list-header .page-title-section,
.page-category .breadcrumb-wrapper { display: none; }

/* =====================================================
   HERO DE CATEGORÍA — Diseño de referencia
   ===================================================== */

/* Grid principal: centrado con max-width, columnas simétricas */
.lb-cat-hero {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0;
  height: auto;
  min-height: unset;
  align-items: start;
  background: #fff;
  max-width: 1280px;
  margin: 0 auto 80px;
  overflow: hidden;
  position: relative;
}

/* Columna izquierda: logo rotado vertical de abajo a arriba */
.lb-cat-hero__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  align-self: stretch;
}
.lb-cat-hero__logo img {
  display: block;
  transform: rotate(-90deg);
  width: 560px;
  height: auto;
  max-width: none;
}

/* Columna centro: la columna se ajusta al ancho exacto de la foto */
.lb-cat-hero__image {
  overflow: hidden;
  align-self: start;
}

.lb-cat-hero__image img {
  display: block;
  width: auto;
  height: 680px;
  max-width: 100%;
}

/* Columna derecha: nombre + descripción agrupados arriba */
.lb-cat-hero__text {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 40px;
  padding: 40px 40px 52px 40px;
  margin-left: 0;
  position: relative;
  z-index: 2;
  align-self: stretch;
}

/* Nombre de categoría: arriba, con línea hasta el borde */
.lb-cat-hero__cat-name {
  font-family: var(--lb-font-heading);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #000;
  margin: 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  white-space: nowrap;
  display: block;
  width: 100%;
}

/* Descripción: centrada, abajo — se estila directamente el <p> sin clases */
.lb-cat-hero__desc {
  text-align: center;
}

.lb-cat-hero__desc p {
  font-family: var(--lb-font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #000;
  text-align: center;
  margin: 0 0 0.4em;
  line-height: 1.9;
}
.lb-cat-hero__desc p:last-child {
  margin-bottom: 0;
}

/* ---- Listado de productos ---- */
.lb-cat-products {
  padding-bottom: 0;
}

.lb-cat-product {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 70px;
  padding-top: 10px;
  padding-left: 20px;
  padding-right: 20px;
}

.lb-cat-product__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.lb-cat-product__title {
  font-family: var(--lb-font-heading, 'Anonymous Pro', monospace);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #000;
  margin: 0;
}

.lb-cat-product__divider {
  border: none;
  border-top: 1px solid #000;
  margin: 0 0 20px 0;
  opacity: 1;
}

.lb-cat-product__images {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}

.lb-cat-product__img-wrap {
  display: block;
  overflow: hidden;
}

.lb-cat-product__img-wrap img {
  width: 100%;
  aspect-ratio: 300 / 530;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: opacity 0.3s ease;
}

.lb-cat-product__img-wrap:hover img {
  opacity: 0.85;
}

.lb-cat-product__more {
  display: inline-block;
  font-family: var(--lb-font-body);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--lb-black);
  border-bottom: 1px solid var(--lb-black);
  padding-bottom: 2px;
  text-decoration: none;
  transition: opacity 0.2s;
}
.lb-cat-product__more:hover { opacity: 0.55; color: var(--lb-black); }

/* ---- Responsive ---- */
@media (max-width: 1199px) {
  .lb-cat-hero { max-width: 900px; }
  .lb-cat-hero__logo img { width: 420px; }
  .lb-cat-hero__image img { height: 560px; }
}

@media (max-width: 767px) {
  /* ── Category hero: columna única ── */
  .lb-cat-hero {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    min-height: unset !important;
    margin-bottom: 0 !important;
    gap: 0 !important;
  }
  .lb-cat-hero__logo {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding: 10px 16px !important;
    justify-content: flex-start !important;
    height: auto !important;
    min-height: unset !important;
    display: flex !important;
    align-items: center !important;
  }
  .lb-cat-hero__logo img {
    width: 72px !important;
    height: auto !important;
    transform: none !important;
    max-width: none !important;
  }
  .lb-cat-hero__image {
    grid-column: 1 !important;
    grid-row: 2 !important;
    height: 72vw !important;
    min-height: unset !important;
    overflow: hidden !important;
  }
  .lb-cat-hero__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
  }
  .lb-cat-hero__text {
    grid-column: 1 !important;
    grid-row: 3 !important;
    margin-left: 0 !important;
    padding: 14px 16px 18px !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .lb-cat-hero__cat-name {
    width: 100% !important;
    white-space: normal !important;
    font-size: 18px !important;
    padding-bottom: 8px !important;
  }
  .lb-cat-hero__desc,
  .lb-cat-hero__desc p {
    text-align: left !important;
    font-size: 10px !important;
    letter-spacing: 1.8px !important;
    line-height: 2 !important;
    margin: 0 !important;
  }
}

/* =====================================================
   BREADCRUMB — Diseño LOESS
   ===================================================== */

/* Sin fondo gris, integrado con el header */
.breadcrumb__wrapper {
  background: var(--lb-white, #fff);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding: 0;
}

/* Alinear container con el header */
.breadcrumb__wrapper .container {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 12px;
  padding-right: 12px;
}

/* Lista horizontal compacta */
.breadcrumb__wrapper .breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  list-style: none;
  margin: 0;
  padding: 10px 0 10px 20px;
  gap: 0;
}

/* Cada item: monospace uppercase pequeño */
.breadcrumb__wrapper .breadcrumb-item {
  display: flex;
  align-items: center;
  font-family: var(--lb-font-body);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.35);
  line-height: 1;
}

/* Link: gris claro con hover */
.breadcrumb__wrapper .breadcrumb-link {
  color: rgba(0, 0, 0, 0.35);
  text-decoration: none;
  transition: color 0.2s ease;
}
.breadcrumb__wrapper .breadcrumb-link:hover {
  color: rgba(0, 0, 0, 0.75);
}

/* Último item (página actual): bold, más visible */
.breadcrumb__wrapper .breadcrumb-item:last-child {
  color: rgba(0, 0, 0, 0.75);
  font-weight: 700;
}

/* Separador "—" en lugar de "/" */
.breadcrumb__wrapper .breadcrumb-item + .breadcrumb-item::before {
  content: "—";
  color: rgba(0, 0, 0, 0.2);
  font-size: 8px;
  margin: 0 10px;
  font-weight: 300;
  letter-spacing: 0;
}

/* ============================================================
   PÁGINAS CMS LEGALES — Aviso legal, Privacidad, Cookies
   Alinea el contenedor con el ancho del header/footer (1600px)
   ============================================================ */

.page-cms .columns-container.container {
  max-width: 1600px !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* ============================================================
   LANDING PUNTOS DE VENTA — /shops
   Sección 1: Formulario B2B  |  Sección 2: Tiendas
   ============================================================ */

/* ── Limpiar chrome de página (cms-id-8 = /shops) ── */
/* Ocultar page-header vacío, breadcrumb, page-footer vacío */
.cms-id-8 .page-header      { display: none !important; }
.cms-id-8 .breadcrumb__wrapper { display: none !important; }
.cms-id-8 .page-footer      { display: none !important; }

/* Fondo continuo en todo el wrapper para evitar líneas entre secciones */
.cms-id-8 #wrapper,
.cms-id-8 #main { background: var(--lb-cream) !important; }

/* Full-width container — igual que product/category */
.cms-id-8 .columns-container.container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}
.cms-id-8 #center-column {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── CMS id=12 — /contacto-ficha-cliente — mismo chrome que cms-id-8 ── */
.cms-id-12 .page-header      { display: none !important; }
.cms-id-12 .breadcrumb__wrapper { display: none !important; }
.cms-id-12 .page-footer      { display: none !important; }
.cms-id-12 #wrapper,
.cms-id-12 #main { background: var(--lb-cream) !important; }
.cms-id-12 .columns-container.container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}
.cms-id-12 #center-column {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Mensajes sent / error ── */
.lb-shops-msg {
  max-width: 820px;
  margin: 0 auto 2rem;
  padding: 14px 20px;
  font-family: var(--lb-font-body);
  font-size: 13px;
  letter-spacing: 0.05em;
  text-align: center;
}
.lb-shops-msg--ok    { border: 1px solid #000; background: #f0f4f0; }
.lb-shops-msg--error { border: 1px solid #c00; background: #fdf0f0; color: #c00; }

/* ── Sección 1: B2B wrapper — fondo full-width ── */
.lb-shops-b2b {
  width: 100%;
  background: var(--lb-cream);
}

.lb-shops-b2b__inner {
  max-width: 820px;
  margin: 0 auto;
  padding: 64px 20px 72px;
}

.lb-shops-b2b__title {
  font-family: var(--lb-font-body);
  font-size: 21px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.04em;
  margin: 0 0 28px;
  color: var(--lb-black);
}

.lb-shops-b2b__desc {
  font-family: var(--lb-font-body);
  font-size: 14px;
  font-weight: 400;
  text-align: center;
  line-height: 1.75;
  color: var(--lb-black);
  margin: 0 0 48px;
}

/* ── Formulario ── */
.lb-shops-form__field {
  margin-bottom: 24px;
}

.lb-shops-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 24px;
}

.lb-shops-form__label {
  display: block;
  font-family: var(--lb-font-body);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--lb-black);
  margin-bottom: 8px;
}

.lb-shops-form__input,
.lb-shops-form__textarea {
  display: block;
  width: 100%;
  background: transparent;
  border: 1px solid rgba(0,0,0,0.25);
  border-radius: 0;
  padding: 10px 12px;
  font-family: var(--lb-font-body);
  font-size: 14px;
  color: var(--lb-black);
  outline: none;
  transition: border-color 0.18s ease;
  box-sizing: border-box;
  -webkit-appearance: none;
}

.lb-shops-form__input:focus,
.lb-shops-form__textarea:focus {
  border-color: var(--lb-black);
}

.lb-shops-form__textarea {
  resize: vertical;
  min-height: 140px;
  font-size: 13px;
  color: rgba(0,0,0,0.55);
}

.lb-shops-form__textarea::placeholder {
  color: rgba(0,0,0,0.38);
  font-style: normal;
}

.lb-shops-form__footer {
  margin-top: 32px;
}

.lb-shops-form__submit {
  display: inline-block;
  background: var(--lb-black);
  color: #fff;
  font-family: var(--lb-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: var(--lb-nav-ls);
  text-transform: uppercase;
  padding: 14px 32px;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: opacity var(--lb-transition);
  -webkit-appearance: none;
}

.lb-shops-form__submit:hover { opacity: 0.75; }

.lb-shops-form__legal {
  margin-top: 16px;
  font-family: var(--lb-font-body);
  font-size: 12px;
  color: rgba(0,0,0,0.5);
  line-height: 1.6;
}

.lb-shops-form__legal a {
  color: rgba(0,0,0,0.5);
  text-decoration: underline;
}

/* ── Sección 2: Tiendas wrapper — fondo full-width ── */
.lb-shops-stores-wrapper {
  width: 100%;
  background: var(--lb-cream);
}

/* ── Bloque tiendas (HTML que pega el usuario) ── */
.lb-shops-stores {
  max-width: 1600px;
  margin: 0 auto;
  padding: 80px 20px 100px;
  text-align: center;
}

.lb-shops-stores__logo {
  font-family: var(--lb-font-heading);
  font-size: 120px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1;
  color: var(--lb-black);
  margin: 0 0 16px;
}

.lb-shops-stores__title {
  font-family: var(--lb-font-body);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--lb-black);
  margin: 0 0 64px;
}

.lb-shops-stores__title strong { font-weight: 700; }

.lb-shops-stores__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 600px;
  margin: 0 auto;
}

.lb-shops-store h3 {
  font-family: var(--lb-font-body);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 16px;
}

.lb-shops-store address {
  font-family: var(--lb-font-body);
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.9;
  color: rgba(0,0,0,0.75);
}

/* ── Responsive ── */
@media (max-width: 767px) {
  .lb-shops-form__row        { grid-template-columns: 1fr; }
  .lb-shops-stores__logo     { font-size: 72px; }
  .lb-shops-stores__grid     { grid-template-columns: 1fr; gap: 40px; }
  .lb-shops-b2b              { padding: 48px 20px 56px; }
}

/* ============================================================
   PÁGINA DE CONTACTO — /contactenos
   ============================================================ */

/* Ocultar H1 bajo breadcrumbs (el título del form ya tiene su propio h1) */
.page-contact .page-header { display: none !important; }

/* Contenedor al ancho del header/footer */
.page-contact .columns-container.container {
  max-width: 1600px !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* Ocultar columna lateral (ps_contactinfo usa clases BS3 incompatibles) */
.page-contact #left-column {
  display: none !important;
}

/* Centro al 100% */
.page-contact #center-column {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* Formulario centrado con ancho cómodo de lectura */
.page-contact .contact-form {
  max-width: 680px;
  margin: 64px auto 80px;
}

/* Título */
.page-contact .page-title-section {
  font-family: var(--lb-font-body);
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--lb-nav-ls);
  text-align: center;
  margin-bottom: 40px;
}

/* Labels */
.page-contact .form-label {
  font-family: var(--lb-font-body);
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: rgba(0, 0, 0, 0.55);
  margin-bottom: 6px;
}

/* Inputs, selects, textarea */
.page-contact .form-control,
.page-contact .form-select {
  font-family: var(--lb-font-body);
  font-size: 13px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0;
  padding: 10px 14px;
  background-color: #fff;
  color: #000;
  box-shadow: none !important;
  transition: border-color 0.2s;
}

.page-contact .form-control:focus,
.page-contact .form-select:focus {
  border-color: #000;
  outline: none;
}

.page-contact textarea.form-control {
  resize: vertical;
  min-height: 160px;
}

/* Botón enviar */
.page-contact .btn-primary,
.page-contact [type="submit"] {
  font-family: var(--lb-font-body);
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: var(--lb-nav-ls);
  background: #000;
  color: #fff;
  border: none;
  border-radius: 0;
  padding: 14px 40px;
  cursor: pointer;
  transition: opacity 0.2s;
}

.page-contact .btn-primary:hover,
.page-contact [type="submit"]:hover {
  background: #000;
  opacity: 0.7;
}

/* Aviso adjunto / mensaje de error */
.page-contact .alert {
  font-family: var(--lb-font-body);
  font-size: 13px;
  border-radius: 0;
  border-left: 3px solid #000;
  background: transparent;
  padding: 12px 16px;
}

@media (max-width: 767px) {
  .page-contact .contact-form { margin: 40px auto 60px; }
  .page-contact .columns-container.container { padding-left: 20px !important; padding-right: 20px !important; }
}

/* ── Ficha producto: bloques Puntos de venta + Contacto ── */
.lb-product-blocks {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 28px;
}
.lb-product-block {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease;
}
.lb-product-block:hover { text-decoration: none; }
.lb-product-block--stores:hover { background: #ede9e1; border-color: rgba(0,0,0,0.3); color: var(--lb-black); }
.lb-product-block--contact:hover { background: #222; color: rgba(255,255,255,0.88); }
.lb-product-block__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lb-product-block__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.lb-product-block__title {
  font-family: var(--lb-font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.lb-product-block__subtitle {
  font-family: var(--lb-font-body);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.55;
}
.lb-product-block__arrow {
  flex: 0 0 auto;
  font-size: 17px;
}
/* Bloque 1 — Puntos de venta (claro) */
.lb-product-block--stores {
  background: var(--lb-cream);
  border: 1px solid rgba(0,0,0,0.15);
  color: var(--lb-black);
}
/* Bloque 2 — Contacto (oscuro / invertido) */
.lb-product-block--contact {
  background: var(--lb-black);
  color: rgba(255,255,255,0.88);
}
.lb-product-block--contact .lb-product-block__subtitle { opacity: 0.5; }
/* Bloque 3 — B2B / Lo quieres en tu tienda */
.lb-product-block--b2b {
  background: transparent;
  border: 1px solid rgba(0,0,0,0.18);
  color: var(--lb-black);
}
.lb-product-block--b2b:hover {
  background: var(--lb-cream);
  border-color: rgba(0,0,0,0.32);
  color: var(--lb-black);
}
.lb-product-block--b2b .lb-product-block__subtitle { opacity: 0.5; }

/* ── Ficha producto: enlace guía de tallas ── */
.lb-size-guide-wrap {
  margin-top: 18px;
  margin-bottom: 6px;
  text-align: left;
}
.lb-size-guide-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--lb-font-body);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--lb-black);
  text-decoration: none;
  border-bottom: 1.5px solid rgba(0,0,0,0.6);
  padding-bottom: 2px;
  transition: opacity 0.15s ease;
}
.lb-size-guide-link:hover {
  opacity: 0.55;
  color: var(--lb-black);
}

/* ── Ficha producto: fila de redes sociales ── */
.lb-social-share {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  gap: 14px;
}
.lb-social-share__label {
  font-family: var(--lb-font-body);
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(0,0,0,0.4);
}
.lb-social-share__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 14px;
  align-items: center;
}
.lb-social-share__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--lb-black);
  transition: color 0.18s ease;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.lb-social-share__btn:hover { color: rgba(0,0,0,0.4); }

/* ── Checkbox aviso legal (formulario hablamos) ── */
.lb-shops-form__field--check {
  margin-top: 4px;
}

.lb-shops-form__check-label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  font-family: var(--lb-font-body);
  font-size: 12px;
  letter-spacing: 0.04em;
  color: rgba(0,0,0,0.65);
  line-height: 1.6;
}

.lb-shops-form__check {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  border: 1px solid rgba(0,0,0,0.4);
  border-radius: 2px;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.lb-shops-form__check:checked {
  background: var(--lb-black);
  border-color: var(--lb-black);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpolyline points='1,5 4.5,8.5 11,1' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px 8px;
}

.lb-shops-form__check:focus-visible {
  outline: 2px solid var(--lb-black);
  outline-offset: 2px;
}

.lb-shops-form__check-label a {
  color: var(--lb-black);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Ajuste spacing cuando el checkbox está en el formulario de contacto nativo */
.lb-contact-legal {
  margin-top: 20px;
  margin-bottom: 8px;
}

/* Contenedor página de contacto — centrado y con margen inferior */
.page-contact .columns-container.container {
  max-width: 1600px !important;
  padding: 0 40px !important;
}
.page-contact #center-column {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
.page-contact .login-form {
  max-width: 820px;
  margin: 56px auto 96px;
}

/* Layout formulario de contacto nativo (/contactenos) */
.page-contact .form-fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 0;
}
.page-contact .form-fields label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: var(--lb-font-body);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
}
.page-contact .form-fields label select,
.page-contact .form-fields label input,
.page-contact .form-fields label textarea {
  font-family: var(--lb-font-body);
  font-size: 13px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.02em;
  border: 1px solid rgba(0,0,0,0.2);
  padding: 10px 12px;
  background: transparent;
  outline: none;
  transition: border-color 0.2s ease;
  width: 100%;
}
.page-contact .form-fields label select:focus,
.page-contact .form-fields label input:focus,
.page-contact .form-fields label textarea:focus {
  border-color: var(--lb-black);
}
.page-contact .form-fields label textarea {
  resize: vertical;
  min-height: 120px;
}

/* ═══════════════════════════════════════════════════════════════
   TIENDAS — CMS page id=11 (link_rewrite: tiendas)
   ═══════════════════════════════════════════════════════════════ */

/* Layout overrides — full width + cream bg */
.cms-id-11 .page-header               { display: none !important; }
.cms-id-11 .breadcrumb__wrapper        { display: none !important; }
.cms-id-11 .page-footer                { display: none !important; }
.cms-id-11 #wrapper,
.cms-id-11 #main                       { background: var(--lb-cream) !important; }
.cms-id-11 .columns-container.container {
  max-width: 100% !important;
  padding: 0 !important;
  width: 100% !important;
}
.cms-id-11 #center-column {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.cms-id-11 .columns-container.container > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── Wrapper principal ── */
.lb-stores {
  width: 100%;
  background: var(--lb-cream);
  padding: 36px 40px 100px;
}

.lb-stores__inner {
  max-width: 1100px;
  margin: 0 auto;
}

/* ── Hero: logo + subtitle ── */
.lb-stores__hero {
  text-align: center;
  margin-bottom: 72px;
  padding-bottom: 0;
}

.lb-stores__hero-logo {
  display: block;
  height: 64px;
  width: auto;
  margin: 0 auto 20px;
}

.lb-stores__hero-sub {
  font-family: var(--lb-font-body);
  font-size: 14px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.55);
  margin: 0;
}

/* ── Región ── */
.lb-stores__region {
  margin-bottom: 60px;
}

.lb-stores__region--last {
  margin-bottom: 0;
}

.lb-stores__region-name {
  font-family: var(--lb-font-body);
  font-size: 24px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--lb-black);
  font-weight: 700;
  margin: 0 0 28px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(0,0,0,0.15);
  display: block;
  width: 100%;
}

/* ── Madrid + País Vasco en fila compartida ── */
.lb-stores__regions-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 48px;
}

/* ── Grid de tiendas ── */
.lb-stores__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}

/* ── Tarjeta individual ── */
.lb-stores__card {
  padding: 28px 36px 28px 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.lb-stores__card:nth-child(3n) {
  padding-right: 0;
}

.lb-stores__name {
  font-family: var(--lb-font-body);
  font-size: 14px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--lb-black);
  margin: 0 0 10px;
}

.lb-stores__address {
  font-family: var(--lb-font-body);
  font-size: 16px;
  letter-spacing: 0.03em;
  color: rgba(0,0,0,0.65);
  line-height: 1.85;
  margin: 0 0 14px;
}

.lb-stores__map {
  display: inline-block;
  font-family: var(--lb-font-body);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--lb-black);
  text-decoration: none;
  border-bottom: 1px solid var(--lb-black);
  transition: color 0.2s ease, border-color 0.2s ease;
}

.lb-stores__map:hover {
  color: var(--lb-black);
  border-bottom-color: var(--lb-black);
}

/* ── Responsive tablet ── */
@media (max-width: 900px) {
  .lb-stores {
    padding: 28px 28px 72px;
  }
  .lb-stores__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .lb-stores__card:nth-child(3n) {
    padding-right: 36px;
  }
  .lb-stores__card:nth-child(2n) {
    padding-right: 0;
  }
  .lb-stores__regions-row {
    grid-template-columns: 1fr 1fr;
  }
}

/* ── Responsive móvil ── */
@media (max-width: 575px) {
  .lb-stores {
    padding: 24px 20px 64px;
  }
  .lb-stores__hero {
    margin-bottom: 48px;
    padding-bottom: 36px;
  }
  .lb-stores__hero-logo {
    height: 46px;
    margin-bottom: 16px;
  }
  .lb-stores__hero-sub {
    font-size: 11px;
    letter-spacing: 0.22em;
  }
  .lb-stores__regions-row {
    grid-template-columns: 1fr;
  }
  .lb-stores__grid {
    grid-template-columns: 1fr;
  }
  .lb-stores__card {
    padding: 22px 0;
  }
  .lb-stores__card:nth-child(3n),
  .lb-stores__card:nth-child(2n) {
    padding-right: 0;
  }
  .lb-stores__region-name {
    margin-bottom: 20px;
  }
}

/* ============================================
   FICHA PRODUCTO — Tab Cuidados (símbolos ISO)
   ============================================ */

.lb-care {
  padding: 32px 0 8px;
}

.lb-care__symbols {
  display: flex;
  gap: 40px;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

.lb-care__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 80px;
}

.lb-care__icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--lb-black);
}

.lb-care__icon svg,
.lb-care__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lb-care__label {
  font-family: var(--lb-font-body);
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  color: rgba(0,0,0,0.65);
  line-height: 1.5;
}

.lb-care__note {
  font-family: var(--lb-font-body);
  font-size: 11px;
  color: rgba(0,0,0,0.55);
  letter-spacing: 0.04em;
  line-height: 1.8;
  text-align: left;
  max-width: none;
  margin: 24px 0 0;
  border-top: 1px solid rgba(0,0,0,0.08);
  padding-top: 20px;
}

/* ============================================
   FICHA PRODUCTO — Tab Tejido / Gramaje
   ============================================ */

.lb-fabric__text {
  font-family: var(--lb-font-body);
  font-size: 13px;
  letter-spacing: 0.06em;
  line-height: 1.9;
  color: rgba(0,0,0,0.8);
  text-align: left;
}
.lb-fabric__cert-text {
  margin-top: 16px;
  opacity: 0.75;
}
.lb-fabric__logos {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-top: 24px;
  flex-wrap: wrap;
}
.lb-fabric__logo {
  display: block;
  max-height: 80px;
  width: auto;
  object-fit: contain;
  opacity: 0.85;
}
.lb-fabric__logo--oekotex {
  max-height: 72px;
}

/* ============================================
   FICHA PRODUCTO — Modal Guía de Tallas
   ============================================ */

/* Botón trigger — misma apariencia que el antiguo <a> */
button.lb-size-guide-link {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: var(--lb-font-body);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--lb-black);
  text-decoration: underline;
  text-underline-offset: 3px;
}
button.lb-size-guide-link:hover {
  opacity: 0.6;
}

/* Modal content */
.lb-sg {
  border-radius: 0;
  border: none;
  font-family: var(--lb-font-body);
}
.lb-sg__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 32px 16px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
}
.lb-sg__title {
  font-family: var(--lb-font-body);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0;
  color: var(--lb-black);
}
.lb-sg__close {
  background: none;
  border: none;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: rgba(0,0,0,0.4);
  padding: 0;
  margin-left: 16px;
}
.lb-sg__close:hover { color: var(--lb-black); }

.lb-sg__body {
  padding: 28px 32px 36px;
}
.lb-sg__tag {
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lb-black);
  font-weight: 700;
  margin: 0 0 12px;
}
.lb-sg__intro {
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 1.85;
  color: rgba(0,0,0,0.75);
  margin: 0 0 20px;
}
.lb-sg__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  letter-spacing: 0.05em;
  margin-top: 4px;
}
.lb-sg__table th {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.18em;
  font-weight: 700;
  color: rgba(0,0,0,0.45);
  border-bottom: 1px solid rgba(0,0,0,0.1);
  padding: 8px 12px;
  text-align: left;
}
.lb-sg__table td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  color: rgba(0,0,0,0.8);
}
.lb-sg__table td:first-child {
  font-weight: 700;
  letter-spacing: 0.12em;
}
.lb-sg__table tbody tr:last-child td { border-bottom: none; }
.lb-sg__note {
  font-size: 11px;
  color: rgba(0,0,0,0.45);
  margin: 16px 0 0;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

/* ============================================
   CMS id=9 — LOESSBRAND "Crear sin prisa"
   ============================================ */

.cms-id-9 .page-header      { display: none !important; }
.cms-id-9 .breadcrumb__wrapper { display: none !important; }
.cms-id-9 #wrapper, .cms-id-9 #main { background: var(--lb-cream) !important; }
.cms-id-9 .columns-container.container {
  max-width: 100% !important; padding: 0 !important; width: 100% !important;
}
.cms-id-9 #center-column {
  flex: 0 0 100% !important; width: 100% !important;
  max-width: 100% !important; padding: 0 !important; margin: 0 !important;
}

/* Split hero */
.lb-about__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 80vh;
}
.lb-about__split-img {
  position: relative;
  overflow: hidden;
}
.lb-about__split-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
.lb-about__split-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 72px 72px 72px 80px;
  background: var(--lb-cream);
}
.lb-about__header-logo {
  height: 44px;
  width: auto;
  display: block;
  align-self: center;
  margin: 0 auto 28px;
}
.lb-about__header-tag {
  font-family: var(--lb-font-body);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #000;
  margin: 0 0 32px;
}
.lb-about__split-lead {
  font-family: var(--lb-font-body);
  font-size: 18px;
  letter-spacing: 0.04em;
  line-height: 2;
  color: var(--lb-black);
  margin: 0 0 36px;
}
.lb-about__split-manifesto p {
  font-family: var(--lb-font-body);
  font-size: 15px;
  letter-spacing: 0.04em;
  line-height: 2;
  color: rgba(0,0,0,0.72);
  margin: 0 0 1em;
}
.lb-about__split-manifesto p:last-child { margin: 0; }

/* Sections wrapper */
.lb-about__sections {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 60px 80px;
}

/* Divider between section groups */
.lb-about__divider {
  border: none;
  border-top: 1px solid rgba(0,0,0,0.1);
  margin: 0;
}

/* Full-width section */
.lb-about__sec--full {
  display: grid;
  grid-template-columns: 480px 1fr;
  gap: 0 72px;
  padding: 80px 0 88px;
  align-items: start;
}

/* Individual section */
.lb-about__sec-title {
  font-family: var(--lb-font-body);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #000;
  line-height: 1.2;
  margin: 0;
  white-space: nowrap;
}
.lb-about__sec--full .lb-about__sec-title {
  font-size: 24px;
  letter-spacing: 0.1em;
  position: sticky;
  top: 100px;
}

/* Section body text */
.lb-about__sec-body {
  padding-top: 6px;
}
.lb-about__sec-body p {
  font-family: var(--lb-font-body);
  font-size: 17px;
  letter-spacing: 0.04em;
  line-height: 2.1;
  color: rgba(0,0,0,0.88);
  margin: 0 0 1.2em;
}
.lb-about__sec-body p:last-child { margin: 0; }
.lb-about__sec-body--cols {
  column-count: 2;
  column-gap: 64px;
}
.lb-about__sec-body--cols p { break-inside: avoid; }
.lb-about__certif {
  font-size: 13px !important;
  color: rgba(0,0,0,0.5) !important;
  margin-top: 4px;
}

/* Quote & closing */
.lb-about__quote-section {
  padding: 0 60px 110px;
  max-width: 1300px;
  margin: 0 auto;
}
.lb-about__quote-inner {
  max-width: 1060px;
  margin: 0 auto;
  text-align: center;
}
.lb-about__rule {
  border: none;
  border-top: 1px solid rgba(0,0,0,0.15);
  margin: 0 0 60px;
}
.lb-about__quote {
  display: block;
  font-family: var(--lb-font-body);
  font-size: 26px;
  letter-spacing: 0.06em;
  line-height: 1.85;
  color: var(--lb-black);
  font-style: italic;
  margin: 0 0 60px;
  padding: 0;
}
.lb-about__closing {
  font-family: var(--lb-font-body);
  font-size: 17px;
  letter-spacing: 0.05em;
  line-height: 2;
  color: rgba(0,0,0,0.75);
  margin: 52px 0 0;
}

/* Responsive — tablet */
@media (max-width: 1200px) {
  .lb-about__sec--full {
    grid-template-columns: 380px 1fr;
    gap: 0 56px;
  }
  .lb-about__sec-title { white-space: normal; }
  .lb-about__sec-body--cols { column-count: 1; }
}
@media (max-width: 900px) {
  .lb-about__split { grid-template-columns: 1fr; min-height: auto; }
  .lb-about__split-img { height: 60vw; min-height: 300px; }
  .lb-about__split-text { padding: 56px 40px; }
  .lb-about__split-lead { font-size: 16px; }
}
@media (max-width: 768px) {
  .lb-about__sections { padding: 0 32px 60px; }
  .lb-about__sec--full {
    grid-template-columns: 1fr;
    gap: 24px 0;
    padding: 60px 0 72px;
  }
  .lb-about__sec--full .lb-about__sec-title { position: static; font-size: 20px; }
  .lb-about__sec-title { font-size: 18px; white-space: normal; }
  .lb-about__quote-section { padding: 0 32px 80px; }
  .lb-about__quote { font-size: 20px; }
}
@media (max-width: 480px) {
  .lb-about__split-text { padding: 44px 24px; }
  .lb-about__split-lead { font-size: 14px; }
  .lb-about__sections { padding: 0 20px 48px; }
  .lb-about__sec-body p { font-size: 15px; }
  .lb-about__sec-title { font-size: 16px; }
  .lb-about__quote-section { padding: 0 20px 64px; }
  .lb-about__quote { font-size: 17px; }
  .lb-about__closing { font-size: 15px; }
}

/* ── LOESSBRAND landing v2 (cms-id-9) ────────────────────────────────── */

/* Hero */
.lb-about2__hero {
  max-width: 900px;
  height: 650px;
  margin: 0 auto;
  padding: 0 60px;
  overflow: hidden;
}
.lb-about2__hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Intro */
.lb-about2__intro {
  max-width: 640px;
  margin: 72px auto;
  padding: 0 20px;
  text-align: justify;
}
.lb-about2__intro p {
  font-family: var(--lb-font-body);
  font-size: 14px;
  line-height: 2.15;
  letter-spacing: 0.07em;
  color: var(--lb-black);
}

/* Crear sin prisa */
.lb-about2__csp {
  max-width: 1600px;
  margin: 0 auto 88px;
  padding: 0 60px;
}
.lb-about2__csp-title {
  font-family: var(--lb-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  margin: 0 0 28px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(0,0,0,0.15);
}
.lb-about2__csp-body p {
  font-family: var(--lb-font-body);
  font-size: 14px;
  line-height: 1.95;
  letter-spacing: 0.06em;
  color: rgba(0,0,0,0.78);
  margin: 0 0 18px;
}
.lb-about2__csp-body p:last-child { margin-bottom: 0; }

/* Pilares — grid 4 tarjetas */
.lb-about2__pillars {
  padding-bottom: 100px;
}
.lb-about2__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.lb-about2__card {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: center;
  display: flex;
  flex-direction: column;
  outline: none;
}
.lb-about2__card-img {
  overflow: hidden;
  aspect-ratio: 3 / 4;
  flex: 1 1 auto;
  position: relative;
}
.lb-about2__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.lb-about2__card:hover .lb-about2__card-img img { transform: scale(1.04); }
/* Overlay con título dentro de la imagen */
.lb-about2__card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.52);
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  transition: background 0.3s ease;
}
.lb-about2__card:hover .lb-about2__card-overlay { background: rgba(0, 0, 0, 0.68); }
.lb-about2__card-label {
  display: block;
  font-family: var(--lb-font-body);
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #fff;
  text-align: left;
}
.lb-about2__card-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  color: #fff;
  font-size: 14px;
  flex-shrink: 0;
  transition: background 0.3s ease, border-color 0.3s ease;
}
.lb-about2__card:hover .lb-about2__card-arrow {
  background: rgba(255, 255, 255, 0.2);
  border-color: #fff;
}

/* Panel acordeón */
.lb-about2__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.55s cubic-bezier(0.4, 0, 0.2, 1);
  background: var(--lb-cream);
  grid-column: 1 / -1;
}
.lb-about2__panel.is-open {
  grid-template-rows: 1fr;
}
.lb-about2__panel-inner {
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.38s ease 0.12s;
}
.lb-about2__panel.is-open .lb-about2__panel-inner { opacity: 1; }
.lb-about2__panel-content {
  position: relative;
  max-width: 1600px;
  margin: 0 auto;
  padding: 52px 60px 60px;
}
.lb-about2__panel-close {
  position: absolute;
  top: 24px;
  right: 24px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 22px;
  font-family: var(--lb-font-body);
  color: rgba(0,0,0,0.35);
  padding: 0;
  line-height: 1;
  transition: color 0.2s ease;
}
.lb-about2__panel-close:hover { color: var(--lb-black); }
.lb-about2__panel-title {
  font-family: var(--lb-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  margin: 0 0 24px;
  color: var(--lb-black);
}
.lb-about2__panel-body p {
  font-family: var(--lb-font-body);
  font-size: 14px;
  line-height: 1.95;
  letter-spacing: 0.06em;
  color: rgba(0,0,0,0.78);
  margin: 0 0 16px;
}
.lb-about2__panel-body p:last-child { margin-bottom: 0; }

/* Paneles en grid: ocupan toda la fila pero el grid-column 1/-1 no funciona
   con display:grid padre; los paneles están DENTRO de .lb-about2__pillars,
   fuera del .lb-about2__grid, así que no necesitan grid-column extra */

/* Responsive */
@media (max-width: 991px) {
  .lb-about2__grid { grid-template-columns: repeat(2, 1fr); }
  .lb-about2__intro { margin: 56px auto; }
  .lb-about2__csp { margin-bottom: 64px; }
}
@media (max-width: 767px) {
  .lb-about2__hero { max-width: 100%; height: 82vw; padding: 0; }
  .lb-about2__grid { grid-template-columns: 1fr; }
  .lb-about2__intro { margin: 48px auto; padding: 0 32px; }
  .lb-about2__csp { padding: 0 32px; margin-bottom: 52px; max-width: 100%; }
  .lb-about2__pillars { padding-bottom: 72px; }
  .lb-about2__panel-content { padding: 40px 32px 48px; max-width: 100%; }
}
@media (max-width: 575px) {
  .lb-about2__intro { padding: 0 24px; margin: 40px auto; }
  .lb-about2__csp { padding: 0 24px; }
  .lb-about2__panel-content { padding: 32px 24px 40px; max-width: 100%; }
  .lb-about2__panel-close { top: 16px; right: 16px; }
}

/* ── Subcategory grid (e.g. ACCESORIOS → BOLSOS) ──────────────────────── */
.lb-cat-subcategories {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 50px 0 0 0;
  padding: 0 0 80px 40px;
  justify-content: flex-start;
}
.lb-cat-subcat {
  display: block;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  width: 230px;
}
.lb-cat-subcat__img-wrap {
  overflow: hidden;
  height: 320px;
}
.lb-cat-subcat__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.lb-cat-subcat:hover .lb-cat-subcat__img-wrap img { transform: scale(1.03); }
.lb-cat-subcat__info {
  padding: 18px 0 8px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.lb-cat-subcat__name {
  font-family: var(--lb-font-body);
  font-size: 13px;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  color: var(--lb-black);
  margin: 0;
  font-weight: 400;
}
.lb-cat-subcat__cta {
  font-family: var(--lb-font-body);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(0,0,0,0.45);
  border-bottom: 1px solid rgba(0,0,0,0.25);
  padding-bottom: 1px;
}
@media (max-width: 767px) {
  .lb-cat-subcategories { margin-top: 40px; padding-bottom: 60px; }
  .lb-cat-subcat__img-wrap { height: 80vw; }
}


/* ============================================
   CORRECCIONES 2026-06-04
   ============================================ */

/* Editorial split móvil: texto arriba, vídeo abajo */
@media (max-width: 991px) {
  .lb-editorial-split__text  { order: 1; }
  .lb-editorial-split__image { order: 2; }
}

/* Footer social — wrapper para múltiples iconos apilados */
.lb-footer__social-icons {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}

/* Newsletter — nueva estructura: heading + descripción + fila input+botón */
.lb-newsletter {
  margin-top: 2rem;
}
.lb-newsletter__heading {
  font-family: var(--lb-font-body);
  font-size: 15px;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  letter-spacing: 0.06em;
  margin: 0 0 4px;
}
.lb-newsletter__desc {
  font-family: var(--lb-font-body);
  font-size: 14px;
  color: rgba(255,255,255,0.65);
  margin: 0 0 0.75rem;
}
.lb-newsletter__row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  border: 1px solid rgba(255,255,255,0.35);
}
.lb-newsletter__row .lb-newsletter__input {
  flex: 1 1 auto;
  min-width: 0;
  border: none !important;
  box-shadow: none !important;
}
.lb-newsletter__submit {
  flex: 0 0 auto;
  background: none;
  background-color: transparent;
  border: none;
  border-left: 1px solid rgba(255,255,255,0.35);
  color: #fff;
  font-family: var(--lb-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 0 1rem;
  cursor: pointer;
  white-space: nowrap;
  border-radius: 0;
  outline: none;
}
.lb-newsletter__submit:hover { color: rgba(255,255,255,0.75); }

/* Newsletter — feedback AJAX (mensaje en sitio, sin redirección) */
.lb-newsletter__feedback {
  margin-top: 2rem;
  font-family: var(--lb-font-body);
  font-size: 13px;
  padding: 0.5rem 0;
}

/* ============================================
   MENÚ — Dropdown subcategorías
   ============================================ */

/* El item padre necesita position:relative para anclar el absolute */
.ps-mainmenu__tree-item {
  position: relative !important;
}

.js-sub-menu.submenu {
  left: 50% !important;
  right: auto !important;
  width: auto !important;
  min-width: 220px !important;
  max-width: 300px !important;
  position: absolute !important;
  top: 100% !important;
  transform: translateX(-50%) !important;
  background: #ffffff !important;
  border: none !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.07), 0 2px 8px rgba(0,0,0,0.04) !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.js-sub-menu.submenu .container {
  max-width: none !important;
  width: auto !important;
  padding: 0 !important;
}

.js-sub-menu.submenu .submenu__row {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 6px 0 !important;
}

.js-sub-menu.submenu .submenu__left {
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  flex: none !important;
}

.js-sub-menu.submenu .submenu__left-item {
  font-family: 'Courier New', Courier, monospace !important;
  font-size: 10.5px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  padding: 11px 32px !important;
  display: block !important;
  white-space: nowrap !important;
  transition: background 0.25s ease, letter-spacing 0.25s ease !important;
  border-left: 2px solid transparent !important;
  background: transparent !important;
  position: relative !important;
  text-decoration: none !important;
}

.js-sub-menu.submenu .submenu__left-item::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 16px !important;
  right: 16px !important;
  height: 1px !important;
  background: rgba(0,0,0,0.06) !important;
}

.js-sub-menu.submenu .submenu__left-item:last-child::after {
  display: none !important;
}

.js-sub-menu.submenu .submenu__left-item:hover {
  background: #fcfbf8 !important;
  letter-spacing: 3px !important;
  border-left: 2px solid #000000 !important;
}

.js-sub-menu.submenu .submenu__right {
  display: none !important;
}

/* ── Ficha producto: ajustes visuales ──────────────────────────────────── */

/* Ocultar flag "Nuevo" */
.badge.new,
.product-flag.new,
li.badge.new { display: none !important; }

/* Swatches de color: quitar cuadrícula, mostrar color liso */
.input-color__label .color.texture,
.input-color__label--texture .color {
  background-size: 100% 100% !important;
  background-position: center !important;
}
