/* =====================================================================
   BEIRUT CLOTHES — Personalización PrestaShop 8.1.7 (tema Classic)
   FASE 1 · Reskin global (fuentes, color, botones, cabecera, pie, fichas)
   ---------------------------------------------------------------------
   Este archivo se carga SIEMPRE el último (PrestaScop lo registra con
   prioridad máxima), por lo que puede sobrescribir el Classic sin romperlo.
   Ubicación en el servidor: /themes/classic/assets/css/custom.css
   ===================================================================== */

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

:root{
  --cream:#F7F3EC;
  --sand:#E9E0D2;
  --sand-2:#DED2BE;
  --gold:#D99B3E;
  --gold-deep:#B77E2C;
  --ink:#1C1815;
  --ink-soft:#4A423B;
  --line:#E2D8C8;
  --serif:'Cormorant Garamond',serif;
  --sans:'Jost',sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ===================== BASE / TIPOGRAFÍA ===================== */
html,body{ overflow-x:hidden;max-width:100%; }
body{
  font-family:var(--sans)!important;
  color:var(--ink);
  background:var(--cream)!important;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}
#wrapper,.page-content,#main{ background:var(--cream); }

h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4,
.page-heading,.product-title,.featured-products .h2,.title_block{
  font-family:var(--serif)!important;
  font-weight:500!important;
  letter-spacing:.01em;
  color:var(--ink);
}

a{ color:var(--ink); }
a:hover{ color:var(--gold-deep); }

.eyebrow{
  font-family:var(--sans);font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold-deep);font-weight:500;
}

/* ===================== TOPBAR MARQUEE (inyectada por JS) ===================== */
.beirut-topbar{
  background:var(--ink);color:var(--cream);overflow:hidden;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  font-family:var(--sans);
}
.beirut-topbar .track{
  display:flex;gap:2.5rem;white-space:nowrap;padding:8px 0;width:max-content;
  animation:beirutMarquee 28s linear infinite;
}
.beirut-topbar .track span{opacity:.85}
@keyframes beirutMarquee{to{transform:translateX(-50%)}}

/* ===================== CABECERA ===================== */
#header{
  background:rgba(247,243,236,.9)!important;
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  box-shadow:none;
  transition:box-shadow .4s;
}
#header.beirut-scrolled{ box-shadow:0 8px 30px rgba(28,24,21,.08); }
#header .header-top{ background:transparent; }
#header .header-nav{ background:var(--ink); }
#header .header-nav a,#header .header-nav .expand-more{ color:var(--cream); }

/* Menú principal */
#_desktop_top_menu .top-menu a.dropdown-item,
#_desktop_top_menu .top-menu .sf-menu > li > a{
  font-family:var(--sans);
  font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:400;color:var(--ink);
}
#_desktop_top_menu .top-menu a:hover{ color:var(--gold-deep); }

/* Iconos (buscador, cuenta, carrito) */
.header-top .material-icons,
#_desktop_user_info a,#_desktop_cart a{ color:var(--ink); }
.blockcart.active,.blockcart{ background:transparent!important; }
.cart-products-count{
  color:var(--gold)!important;font-family:var(--sans);font-weight:500;
}

/* Buscador */
#search_widget input[type=text]{
  border:1px solid var(--line);border-radius:2px;background:#fff;
  font-family:var(--sans);
}
#search_widget button[type=submit]{ color:var(--gold-deep); }
/* Sugerencias del buscador: se ocultan las miniaturas (rotas tras la migración),
   dejando solo el nombre del producto. El texto se recoloca sin el hueco. */
.ui-autocomplete img.autocomplete-thumbnail,
.searchbar-autocomplete img{ display:none!important; }
.ui-autocomplete a,.searchbar-autocomplete a{ padding-left:12px!important; }

/* ===================== BOTONES ===================== */
.btn-primary,.btn-secondary,
button.btn-primary,.add-to-cart,
#product .product-add-to-cart .btn-primary{
  font-family:var(--sans);
  font-size:.78rem!important;letter-spacing:.18em;text-transform:uppercase;
  font-weight:500;padding:15px 34px;border-radius:2px;
  background:var(--ink)!important;border:1px solid var(--ink)!important;color:var(--cream)!important;
  transition:.4s var(--ease);
}
.btn-primary:hover,.add-to-cart:hover,
#product .product-add-to-cart .btn-primary:hover{
  background:var(--gold-deep)!important;border-color:var(--gold-deep)!important;color:#fff!important;
  transform:translateY(-2px);
}
.btn-outline-primary{ border-color:var(--ink)!important;color:var(--ink)!important; }
.btn-outline-primary:hover{ background:var(--ink)!important;color:var(--cream)!important; }

/* ===================== FICHAS DE PRODUCTO (miniature) ===================== */
.product-miniature .thumbnail-container{
  border:none;box-shadow:none;background:transparent;border-radius:4px;
}
.product-miniature .thumbnail-container:hover{ box-shadow:none; }
.product-miniature .thumbnail-container{ overflow:visible!important;aspect-ratio:auto!important; }
.product-miniature .product-title,.product-miniature .product-price-and-shipping{ display:block!important; }
.product-miniature .product-thumbnail{
  border-radius:4px;overflow:hidden;background:#fff;
  /* Las fotos de producto son CUADRADAS (250/800 px). Con 3:4 se agrandaban y
     recortaban (object-fit:cover) y salían borrosas; 1:1 respeta el original. */
  aspect-ratio:1/1;display:block;
}
.product-miniature .product-thumbnail img{
  width:100%!important;height:100%!important;object-fit:cover!important;display:block;
  transition:transform .9s var(--ease);
}
.product-miniature:hover .product-thumbnail img{ transform:scale(1.06); }

.product-miniature .product-title,
.product-miniature .product-title a{
  font-family:var(--sans)!important;font-weight:400!important;
  font-size:.95rem;letter-spacing:.02em;color:var(--ink);
}
.product-miniature .product-price-and-shipping .price{
  color:var(--ink);font-weight:500;font-family:var(--sans);
}
.product-miniature .product-price-and-shipping .regular-price{
  color:#a79b89;font-size:.85rem;
}
.product-miniature .discount,.product-flag.discount,
.product-flag.on-sale{
  background:var(--gold)!important;color:#fff!important;
  font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;
  font-size:.62rem;border-radius:2px;
}
.product-flag.new{
  background:var(--ink)!important;color:#fff!important;
  font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;
  font-size:.62rem;border-radius:2px;
}

/* ===================== TÍTULOS DE SECCIÓN (home / featured) ===================== */
.featured-products .h2,
.products-section-title,
section .h1.products-section-title{
  font-family:var(--serif)!important;
  font-size:clamp(2rem,4vw,3rem)!important;
  text-align:center;font-weight:500!important;text-transform:none;
  border:none;color:var(--ink);
}

/* ===================== PIE DE PÁGINA (reskin base — Fase 2 lo reestructura) ===================== */
.footer-container{
  background:var(--ink)!important;color:var(--cream);
  margin-top:0;box-shadow:none;
}
.footer-container li a,.footer-container .h3,.footer-container a,
.footer-container p,.footer-container .links .title{
  color:var(--cream)!important;
}
.footer-container .h3,.footer-container .title{
  font-family:var(--sans)!important;font-size:.72rem!important;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold)!important;font-weight:600;
}
.footer-container a:hover{ color:var(--gold)!important; }
.footer-container .block-contact,
.footer-container #footer_sub_menu,
.footer-container .links{ border-color:rgba(255,255,255,.12); }

/* Newsletter en pie */
.block_newsletter{ background:transparent; }
.block_newsletter input[type=email]{
  background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;
  border-radius:2px;font-family:var(--sans);
}
.block_newsletter input[type=email]::placeholder{ color:rgba(255,255,255,.5); }

/* ===================== BREADCRUMB / VARIOS ===================== */
.breadcrumb{ background:transparent;font-family:var(--sans);letter-spacing:.05em; }
.page-heading,.h1.page-heading{ font-family:var(--serif)!important; }

/* ===================== REVEAL (activado por JS) ===================== */
.beirut-reveal{
  opacity:0;transform:translateY(34px);
  transition:opacity .9s var(--ease),transform .9s var(--ease);
}
.beirut-reveal.in{ opacity:1;transform:translateY(0); }

/* ===================== WHATSAPP FLOTANTE (inyectado por JS) ===================== */
.beirut-wa{
  position:fixed;left:24px;bottom:24px;z-index:800;width:56px;height:56px;
  background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 26px rgba(37,211,102,.45);transition:transform .3s;
}
.beirut-wa:hover{ transform:scale(1.08); }
.beirut-wa svg{ width:30px;height:30px;fill:none;stroke:#fff;stroke-width:1.6; }

@media(max-width:768px){
  .beirut-wa{ left:16px;bottom:16px;width:50px;height:50px; }
}

/* =====================================================================
   FASE 2 · PIE DE PÁGINA A MEDIDA
   El footer del Classic se oculta y se inyecta este por JS (custom.js).
   ===================================================================== */

/* Ocultar el pie por defecto del Classic (lo sustituye .beirut-footer).
   OJO: no usar display:none — el módulo de favoritos (blockwishlist) monta sus
   modales dentro del hook del footer; con display:none el modal ("Debe iniciar
   sesión…" / elegir lista) no se puede mostrar y el corazón parece no funcionar.
   Con height:0 + overflow:hidden el pie desaparece visualmente, pero los modales
   (position:fixed) siguen mostrándose sobre la página. */
.footer-container{
  display:block!important;height:0!important;min-height:0!important;
  padding:0!important;margin:0!important;border:0!important;overflow:hidden!important;
}
/* Los modales de favoritos viven dentro de .footer-container y heredaban el texto
   claro del pie (crema) → ilegibles. Se fuerza texto e iconos en negro; el botón
   principal conserva su texto claro sobre fondo oscuro. */
.footer-container .wishlist-modal .modal-content,
.footer-container .wishlist-modal .modal-title,
.footer-container .wishlist-modal .modal-text,
.footer-container .wishlist-modal .modal-body,
.footer-container .wishlist-modal label,
.footer-container .wishlist-modal a,
.footer-container .wishlist-modal .material-icons,
.footer-container .wishlist-modal li,
.footer-container .wishlist-modal p,
.footer-container .wishlist-modal span:not(.btn){ color:var(--ink)!important; }
.footer-container .wishlist-modal .wishlist-add-to-new,
.footer-container .wishlist-modal .wishlist-add-to-new .material-icons{ color:var(--ink)!important; }
.footer-container .wishlist-modal .btn-primary,
.footer-container .wishlist-modal .btn-primary *{ color:#fff!important; }

/* Ocultar el bloque newsletter huérfano del Classic (el diseño no lo lleva) */
.block_newsletter,
.ps-emailsubscription,
#footer .block_newsletter{ display:none!important; }

.beirut-footer{
  background:var(--ink);color:var(--cream);
  padding:70px 40px 30px;font-family:var(--sans);font-weight:300;
}
.beirut-footer a{ color:var(--cream);text-decoration:none;transition:.25s; }

.bf-top{
  max-width:1300px;margin:0 auto;display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;
  padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.12);
}

/* Columna marca */
.bf-logo{
  font-family:var(--serif);font-size:2rem;font-weight:600;
  letter-spacing:.02em;color:var(--cream);display:inline-block;margin-bottom:1rem;line-height:1;
}
.bf-logo img{ height:44px;width:auto;display:block; }
.bf-logo small{
  display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.4em;
  text-transform:uppercase;color:var(--gold);font-weight:500;margin-top:6px;
}
.bf-brand p{ color:var(--cream);opacity:.82;max-width:300px;font-size:.92rem;line-height:1.6; }
.bf-contact{ list-style:none;margin:1.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.7rem; }
.bf-contact li{ display:flex;align-items:center;gap:10px;font-size:.9rem;opacity:.82; }
.bf-contact svg{ width:18px;height:18px;fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
.bf-contact a:hover{ color:var(--gold); }
.bf-social{ display:flex;gap:12px;margin-top:1.4rem; }
.bf-social a{
  width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:.3s;
}
.bf-social a svg{ width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4; }
.bf-social a:hover{ background:var(--gold);border-color:var(--gold);color:#fff; }

/* Columnas de enlaces */
.bf-col h4{
  font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:1.2rem;color:var(--gold);font-weight:600;
}
.bf-col a{ display:block;padding:.4rem 0;opacity:.72;font-size:.92rem; }
.bf-col a:hover{ opacity:1;padding-left:5px;color:var(--cream); }

/* Barra inferior */
.bf-bottom{
  max-width:1300px;margin:0 auto;padding-top:1.6rem;
  display:flex;justify-content:space-between;gap:1rem;font-size:.78rem;opacity:.6;
}
.bf-bottom a{ color:var(--gold); }
.bf-bottom a:hover{ opacity:.8; }

@media(max-width:768px){
  .beirut-footer{ padding:50px 20px 24px; }
  .bf-top{ grid-template-columns:1fr 1fr;gap:2rem; }
  .bf-brand{ grid-column:1 / -1; }
  .bf-bottom{ flex-direction:column;text-align:center;gap:6px; }
}
@media(max-width:480px){
  .bf-top{ grid-template-columns:1fr; }
}

/* =====================================================================
   FASE 3 · CABECERA ESTILO WEB-11
   Logo centrado · menú partido a los lados · iconos a la derecha.
   La estructura la reconstruye custom.js (initHeaderBeirut) reubicando los
   nodos REALES de carrito/cuenta (siguen funcionales). Reversible.
   ===================================================================== */

/* Ocultar la barra de utilidad oscura en escritorio (cuenta/carrito se mueven arriba) */
@media(min-width:992px){
  .header-nav .hidden-sm-down{ display:none!important; }
  .header-nav{ display:none!important; }
}

/* --- Fila reconstruida (grid: navIzq | logo | navDcha+iconos) --- */
#header .header-top{ padding:0!important; }
#header .header-top .container{ padding-top:0!important;padding-bottom:0!important; }
.beirut-built{
  display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;
  max-width:1400px;margin:0 auto;padding:14px 40px;position:relative;
}
.beirut-built #_desktop_top_menu{ display:none!important; } /* contenedor original vaciado */

/* Navegación a los lados */
.beirut-nav{ display:flex;align-items:center;gap:1.3rem;list-style:none;margin:0;padding:0;min-width:0;flex-wrap:nowrap; }
.beirut-nav-left{ justify-content:flex-end; }
.beirut-right{ display:flex;align-items:center;gap:1.3rem;min-width:0; }
.beirut-right .beirut-nav{ justify-content:flex-start; }

/* Que los desplegables no se recorten */
#header,.header-top,.header-top .container,.beirut-built,.beirut-right{ overflow:visible!important; }
.beirut-nav > li{ position:relative;list-style:none; }
.beirut-nav a.dropdown-item,.beirut-nav > li > a{
  font-family:var(--sans);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:400;color:var(--ink)!important;padding:6px 0;background:none!important;
  position:relative;display:inline-block;white-space:nowrap;
}
.beirut-nav a::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold-deep);
  transition:width .35s var(--ease);
}
.beirut-nav > li:hover > a{ color:var(--gold-deep)!important; }
.beirut-nav > li:hover > a::after{ width:100%; }

/* Logo centrado */
.beirut-built #_desktop_logo{
  grid-column:2;justify-self:center;width:auto!important;max-width:none!important;
  padding:0!important;margin:0;
}
.beirut-built #_desktop_logo h1{ margin:0;line-height:0; }
.beirut-built #_desktop_logo img.logo{ height:38px!important;width:auto!important;max-width:none!important; }

/* Grupo de iconos: en línea con el menú (centrado vertical) y pegado a la derecha */
.beirut-icons{ display:flex;align-items:center;gap:.1rem;margin-left:auto; }
.beirut-icons > *{ position:relative;flex:0 0 auto; }
.beirut-icons .material-icons{ color:var(--ink)!important;font-size:20px!important;line-height:1; }
.beirut-icons a,.beirut-icons .blockcart .header{
  display:flex;align-items:center;justify-content:center;padding:7px;border-radius:50%;
  color:var(--ink)!important;cursor:pointer;transition:background .3s,transform .3s;line-height:1;
}
.beirut-icons a:hover,.beirut-icons .blockcart .header:hover{ background:var(--sand);transform:translateY(-2px); }
/* ocultar textos (Iniciar/Cerrar sesión), dejar solo iconos */
.beirut-icons #_desktop_user_info span,
.beirut-icons #_desktop_cart .header > span.hidden-sm-down{ display:none!important; }
.beirut-icons #_desktop_user_info,.beirut-icons #_desktop_user_info .user-info{ display:flex!important;align-items:center; }
.beirut-icons #_desktop_user_info a{ font-size:0!important;display:flex!important;align-items:center;justify-content:center;padding:7px;line-height:1; }
.beirut-icons #_desktop_user_info .material-icons{ font-size:22px!important;line-height:1;display:block;vertical-align:middle; }
/* contador del carrito como badge */
.beirut-icons #_desktop_cart{ position:relative; }
.beirut-icons .cart-products-count{
  position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 3px;
  background:var(--gold)!important;color:#fff!important;border-radius:9px;
  font-size:.58rem!important;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1;
}
/* Corazón lista de deseos */
.beirut-icons .beirut-wishlist{ color:var(--ink)!important; }
.beirut-icons .beirut-wishlist svg{ width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5; }
.beirut-icons .beirut-wishlist:hover{ color:var(--gold-deep)!important; }

/* Buscador propio (el nativo se oculta en escritorio) */
@media(min-width:992px){ #search_widget{ display:none!important; } }
.beirut-search{ position:relative;display:flex;align-items:center; }
.beirut-search-btn{
  background:none;border:none;cursor:pointer;color:var(--ink);padding:7px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:background .3s;
}
.beirut-search-btn:hover{ background:var(--sand); }
.beirut-search-btn svg{ width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round; }
.beirut-search-form{
  position:absolute;top:calc(100% + 12px);right:0;z-index:200;display:none;
  background:var(--cream);border:1px solid var(--line);box-shadow:0 16px 34px rgba(28,24,21,.14);
  padding:10px;border-radius:2px;
}
.beirut-search.open .beirut-search-form{ display:block; }
.beirut-search-form input[name=s]{
  width:260px;max-width:70vw;border:none;border-bottom:1px solid var(--line);background:transparent;
  font-family:var(--sans);font-size:.95rem;padding:8px 6px;outline:none;color:var(--ink);
}
.beirut-search-form input[name=s]:focus{ border-bottom-color:var(--gold); }

/* Buscador como icono que se despliega */
.beirut-icons #search_widget{ display:flex;align-items:center;position:relative; }
.beirut-icons #search_widget form{ display:flex;align-items:center;position:static; }
/* Lupa dibujada con CSS (no depende de Material Icons) */
.beirut-icons #search_widget .material-icons.search{
  color:var(--ink)!important;cursor:pointer;position:relative;z-index:2;
  width:34px;height:34px;border-radius:50%;font-size:0!important;
  display:flex;align-items:center;justify-content:center;transition:background .3s;
}
.beirut-icons #search_widget .material-icons.search::before{
  content:'';width:12px;height:12px;border:1.7px solid currentColor;border-radius:50%;
  position:relative;top:-1px;left:-1px;
}
.beirut-icons #search_widget .material-icons.search::after{
  content:'';position:absolute;width:7px;height:1.7px;background:currentColor;
  transform:rotate(45deg);bottom:9px;right:8px;border-radius:1px;
}
.beirut-icons #search_widget .material-icons.search:hover{ background:var(--sand); }
/* input flotante: no empuja la maqueta, se despliega hacia la izquierda del icono */
.beirut-icons #search_widget input[type=text]{
  position:absolute;right:36px;top:50%;transform:translateY(-50%);
  width:0;padding:0;border:none;border-bottom:1px solid transparent;background:var(--cream);
  font-family:var(--sans);font-size:.85rem;color:var(--ink);opacity:0;overflow:hidden;
  transition:width .35s var(--ease),opacity .35s var(--ease),padding .35s var(--ease);z-index:3;
}
.beirut-icons #search_widget.beirut-search-open input[type=text]{
  width:220px;opacity:1;padding:8px 6px;border-bottom-color:var(--gold);
}
.beirut-icons #search_widget .material-icons.clear{ display:none!important; }

/* --- DESPLEGABLES / MEGA-MENÚ (se abren al pasar el ratón) --- */
.beirut-nav > li.category{ position:relative; }
.beirut-nav > li.category > .sub-menu,
.beirut-nav > li.category > .collapse{
  display:block!important;position:absolute;top:100%;left:0;z-index:120;min-width:230px;
  background:var(--cream)!important;border:none!important;border-top:2px solid var(--gold);
  box-shadow:0 20px 40px rgba(28,24,21,.12);border-radius:0!important;
  padding:1rem 0!important;margin:0;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;
}
/* la de la derecha se alinea a la derecha para no salirse */
.beirut-nav-right > li.category > .sub-menu,
.beirut-nav-right > li.category > .collapse{ left:auto;right:0; }
.beirut-nav > li.category:hover > .sub-menu,
.beirut-nav > li.category:hover > .collapse{ opacity:1;visibility:visible;transform:translateY(0); }

.beirut-nav .sub-menu ul.top-menu,.beirut-nav .collapse ul.top-menu{ list-style:none;margin:0;padding:0; }
.beirut-nav .sub-menu li.category,.beirut-nav .collapse li.category{ display:block;position:static; }
.beirut-nav .sub-menu a.dropdown-item,.beirut-nav .collapse a.dropdown-item{
  display:block;padding:.4rem 1.4rem;text-transform:none;letter-spacing:.02em;
  font-size:.9rem;color:var(--ink-soft)!important;white-space:nowrap;
}
.beirut-nav .sub-menu a.dropdown-item::after,.beirut-nav .collapse a.dropdown-item::after{ display:none; }
.beirut-nav .sub-menu a.dropdown-item:hover,.beirut-nav .collapse a.dropdown-item:hover{
  color:var(--ink)!important;padding-left:1.6rem;
}
/* ocultar los +/- de móvil dentro del desplegable en escritorio */
.beirut-nav .navbar-toggler.collapse-icons{ display:none!important; }

/* Ocultar la cabecera reconstruida en móvil (se usa la del Classic) */
@media(max-width:991px){
  .beirut-built{ display:none!important; }
}

/* =====================================================================
   FASE 4 · BANNER / HERO  (módulo ps_imageslider = Bootstrap #carousel)
   Estilo WEB-11: a pantalla, degradado, título Cormorant, botón y flechas.
   ===================================================================== */

/* A todo el ancho real (100vw centrado; body ya tiene overflow-x:hidden) */
#carousel.carousel{
  position:relative;left:50%;right:50%;width:100vw;margin:0 -50vw!important;
  overflow:hidden;background:var(--cream);
}
/* Quitar las franjas beige arriba/abajo del hero (relleno del contenedor del slider) */
#index #wrapper,#index #content-wrapper{ padding-top:0!important; }
#index #wrapper > .container{ padding-top:0!important; }
.block_hometop,.imageslider,#homepage-slider,.ps-emptyslider{ margin:0!important;padding:0!important; }
#carousel.carousel{ margin-top:0!important;margin-bottom:0!important; }
#carousel + *{ margin-top:0!important; }
/* Altura hasta el borde inferior de la ventana. El JS la fija exacta;
   el respaldo va algo CORTO a propósito para que nunca sobresalga. */
#carousel .carousel-inner{ width:100%;height:calc(100vh - 130px);min-height:460px;margin:0!important;padding:0; }
#carousel.carousel{ margin-bottom:0!important; }
#carousel .carousel-item{ width:100%;height:100%; }
#carousel .carousel-item > a{ display:block!important;width:100%;height:100%; }
#carousel .carousel-item figure{ position:relative;width:100%;height:100%;margin:0; }
#carousel .carousel-item img{ width:100%!important;height:100%!important;object-fit:cover;display:block; }

/* Degradado oscuro para legibilidad del texto */
#carousel .carousel-item figure::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(15,12,10,.68),rgba(15,12,10,.4) 60%,rgba(15,12,10,.3)),rgba(15,12,10,.28);
}

/* Badge flotante "Envío gratuito" */
.beirut-hero-badge{
  position:absolute;left:50%;margin-left:2rem;right:auto;top:50%;z-index:4;
  width:min(32vw,420px)!important;height:auto!important;max-width:420px!important;pointer-events:none;
  filter:drop-shadow(0 20px 40px rgba(0,0,0,.45));animation:beirutBadgeFloat 5s ease-in-out infinite;
}
@keyframes beirutBadgeFloat{ 0%,100%{transform:translateY(-50%)} 50%{transform:translateY(calc(-50% - 12px))} }

/* Caption — por defecto CENTRADO (como slides 2 y 3 de WEB-11) */
#carousel .caption{
  position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);
  max-width:640px;color:#fff;text-align:center;
}
#carousel .caption-description p{ margin-left:auto;margin-right:auto; }
/* Primera diapositiva: dos columnas centradas → texto (izq) | badge (der) */
#carousel .carousel-item:first-child .caption{
  left:auto;right:50%;margin-right:2rem;transform:translateY(-50%);text-align:left;width:min(46vw,520px);max-width:520px;
}
#carousel .carousel-item:first-child .caption-description p{ margin-left:0;margin-right:0; }
/* Diapositivas 2 y 3: texto totalmente centrado */
#carousel .carousel-item:nth-child(2) .caption,
#carousel .carousel-item:nth-child(3) .caption{
  left:50%!important;right:auto!important;top:50%!important;transform:translate(-50%,-50%)!important;
  text-align:center!important;max-width:640px;
}
#carousel .carousel-item:nth-child(2) .caption *,
#carousel .carousel-item:nth-child(3) .caption *{ text-align:center!important; }
#carousel .carousel-item:nth-child(2) .caption-description p,
#carousel .carousel-item:nth-child(3) .caption-description p{ margin-left:auto!important;margin-right:auto!important; }
#carousel .caption h2.display-1{ display:none!important; } /* oculta el nombre "Diapositiva-X" */
#carousel .caption-description h3{
  font-family:var(--serif)!important;font-weight:500!important;color:#fff!important;
  font-size:clamp(2.6rem,6vw,5rem)!important;line-height:1.05;margin:0 0 1rem;letter-spacing:.01em;
}
#carousel .caption-description p{
  font-family:var(--sans);font-weight:300;font-size:1.05rem;max-width:440px;margin:0 0 2rem;color:#fff;
}
#carousel .caption-description .hero-btn{
  display:inline-block;font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:500;padding:15px 38px;border-radius:2px;background:#fff;color:var(--ink);
  transition:background .4s var(--ease),color .4s var(--ease);cursor:pointer;
}
#carousel .caption-description .hero-btn:hover{ background:var(--gold);color:#fff; }

/* Indicadores (líneas) abajo a la izquierda, como WEB-11 */
#carousel .carousel-indicators{
  z-index:6;bottom:34px;left:0;right:0;top:auto;margin:0 auto;
  display:flex!important;justify-content:center;
}
#carousel .carousel-indicators li{
  width:38px;height:3px;border-radius:0;background:rgba(255,255,255,.4);border:none;opacity:1;
  margin:0 6px 0 0;position:relative;overflow:hidden;
}
#carousel .carousel-indicators li.active{ background:rgba(255,255,255,.35); }
/* la línea activa se rellena durante los 5s antes de pasar de diapositiva */
#carousel .carousel-indicators li.active::after{
  content:'';position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left;
  animation:beirutDotFill 5s linear forwards;
}
@keyframes beirutDotFill{ to{ transform:scaleX(1); } }

/* Indicador "SCROLL" abajo a la derecha */
.beirut-scroll{
  position:absolute;right:34px;bottom:30px;z-index:5;color:#fff;font-size:.65rem;
  letter-spacing:.25em;text-transform:uppercase;display:flex;align-items:center;gap:10px;opacity:.85;
}
.beirut-scroll span{
  width:1px;height:34px;background:#fff;display:block;transform-origin:bottom;
  animation:beirutScrollLine 1.8s ease infinite;
}
@keyframes beirutScrollLine{ 0%,100%{transform:scaleY(.4);opacity:.4} 50%{transform:scaleY(1);opacity:1} }
@media(max-width:768px){ .beirut-scroll{ display:none; } }

/* Flechas */
#carousel .carousel-control{ z-index:4;width:auto;opacity:1;background:none;font-size:0!important; }
#carousel .left.carousel-control{ left:24px; }
#carousel .right.carousel-control{ right:24px; }
#carousel .carousel-control .icon-prev,#carousel .carousel-control .icon-next{
  display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.4);color:#fff;
  backdrop-filter:blur(6px);transition:background .3s,color .3s;
}
/* anular CUALQUIER texto/ligadura interno de la flecha */
#carousel .carousel-control span,
#carousel .carousel-control .material-icons{ font-size:0!important;text-indent:0!important; }
/* dibujar ‹ › centrada dentro del círculo */
#carousel .icon-prev::after,#carousel .icon-next::after{
  font-family:Georgia,'Times New Roman',serif;font-size:2rem!important;line-height:1;color:inherit;
}
#carousel .icon-prev::after{ content:'‹'; }
#carousel .icon-next::after{ content:'›'; }
#carousel .carousel-control:hover .icon-prev,#carousel .carousel-control:hover .icon-next{ background:#fff;color:var(--ink); }

@media(max-width:768px){
  #carousel .carousel-inner{ height:68vh;min-height:400px; }
  #carousel .caption,
  #carousel .carousel-item:first-child .caption{ left:50%;right:auto;margin:0;transform:translate(-50%,-50%);max-width:88%;text-align:center; }
  #carousel .caption-description p{ margin-left:auto;margin-right:auto; }
  #carousel .carousel-control{ display:none!important; }
}

/* =====================================================================
   SECCIONES DE LA HOME (bloques a medida, inyectados por custom.js)
   ===================================================================== */

/* Quitar la etiqueta "Nuevo" de la foto (el % de rebaja se muestra vía JS) */
.product-flag.new,.product-flag.online-only,.product-flag.pack{ display:none!important; }

/* CARRITO: precio y etiqueta de descuento en color del logo (oro) */
#cart .current-price .price,#cart .product-price,#cart .price,#cart .value,
.product-line-info .price,.cart-summary-products .price,.cart-item .price{ color:var(--gold-deep)!important; }
#cart .discount,#cart .product-discount .discount,.product-line-info .discount,
.cart-item .discount,.blockcart .discount,.product-price .discount{
  background:var(--gold)!important;color:#fff!important;border-radius:2px;
}

/* Botón carrito en color del logo (oro) */
.add-to-cart,button.add-to-cart,#product .product-add-to-cart .btn-primary,
#product .add-to-cart{
  background:var(--gold)!important;border-color:var(--gold)!important;color:#fff!important;
}
.add-to-cart:hover,button.add-to-cart:hover,#product .product-add-to-cart .btn-primary:hover{
  background:var(--gold-deep)!important;border-color:var(--gold-deep)!important;color:#fff!important;
}

/* ===== Selector de cantidad (touchspin): input + flechas SIEMPRE en fila =====
   El Classic lo dejaba en display:block y las flechas caían debajo del input
   (roto en móviles pequeños tipo iPhone 12). Se fuerza fila flex en carrito y ficha. */
.bootstrap-touchspin{ display:inline-flex!important;align-items:stretch!important;width:auto!important;vertical-align:middle; }
.bootstrap-touchspin > input,.bootstrap-touchspin > .form-control{
  display:block!important;width:46px!important;min-height:38px;flex:0 0 auto!important;text-align:center;height:auto!important;
}
.bootstrap-touchspin .input-group-btn-vertical{
  float:none!important;display:flex!important;flex-direction:column!important;flex:0 0 auto!important;position:static!important;width:auto!important;
}
.bootstrap-touchspin .input-group-btn-vertical .btn-touchspin{
  display:flex!important;align-items:center;justify-content:center;flex:1 1 50%;height:auto!important;min-height:0!important;padding:0 7px!important;
}

/* Etiqueta "Fuera de stock" en color de marca (oro), no cian */
.product-flag.out_of_stock,.product-flag.out-of-stock{ background:var(--gold-deep)!important;color:#fff!important; }

/* Nombre de producto: nunca azul (tampoco al hacer click); negro, y oro al pasar */
.product-miniature .product-title a,
.product-miniature .product-title a:link,.product-miniature .product-title a:visited,
.product-miniature .product-title a:focus,.product-miniature .product-title a:active,
.cart-item .product-line-info a,.product-line-grid .product-line-info a,
.cart-item .product-line-info a:link,.cart-item .product-line-info a:visited,
.cart-item .product-line-info a:focus,.cart-item .product-line-info a:active{ color:var(--ink)!important; }
.product-miniature .product-title a:hover,
.cart-item .product-line-info a:hover,.product-line-grid .product-line-info a:hover{ color:var(--gold-deep)!important; }

/* Ficha en móviles pequeños (≤575px): que la fila cantidad · añadir · corazón
   quepa y el corazón no quede pegado/desbordado en el borde derecho */
@media(max-width:575px){
  #product .product-quantity{ flex-wrap:nowrap!important;align-items:center;gap:8px; }
  #product .product-quantity .add{ flex:1 1 auto!important;min-width:0!important; }
  #product .product-quantity .add .add-to-cart{ width:100%!important;min-width:0!important;padding-left:12px!important;padding-right:12px!important; }
  #product .product-quantity .wishlist-button-add{ flex:0 0 auto!important;margin:0!important; }
}

/* Ficha de producto: precio rebajado en ORO (color de marca), no salmón */
.product-prices .current-price-value,
.product-prices .current-price .price,
.product-price .current-price-value,
.current-price-value{ color:var(--gold-deep)!important; }
.product-prices .regular-price{ color:var(--ink-soft)!important; }

/* Fuera el cian del tema Classic → oro de marca (pestañas, enlaces de contenido) */
.nav-tabs .nav-link.active,
.nav-tabs li.active > a,
.nav-tabs .active .nav-link,
.tabs .nav-tabs .nav-link.active{
  color:var(--gold-deep)!important;border-bottom-color:var(--gold-deep)!important;
}
.nav-tabs .nav-link:hover{ color:var(--gold-deep)!important; }
.product-information a,.product-description a,.product-features a,
.rte-content a,.page-content a,#description a,.product-tabs a,
.product-additional-info a,.data-sheet a{ color:var(--gold-deep); }
.product-information a:hover,.rte-content a:hover,.page-content a:hover{ color:var(--gold); }
/* Miniatura de la galería seleccionada/hover: borde cian del tema → oro */
.product-images .thumb.selected,
.product-images .thumb:hover,
.js-thumb.selected,.js-thumb:hover,
img.thumb.selected,
.product-thumbnails .thumb.selected{ border-color:var(--gold-deep)!important; }
/* Combinación (talla) seleccionada y otros acentos cian residuales */
.tab-content{ border-color:var(--line)!important; }
.input-color:checked + span,.input-container input:checked ~ .radio-label{ border-color:var(--gold-deep)!important; }

/* Página de PRODUCTO: quitar políticas (reassurance) y comentarios/reseñas */
.blockreassurance_product{ display:none!important; }
#block-reassurance,.block-reassurance{ display:none!important; }
[id^="product-comments"],[class*="product-comments"],
.product-comments-additional-info,#product-comments-list,#product-comments-list-footer{ display:none!important; }
.nav-tabs a[href*="product-comments"],.tabs a[href*="product-comments"],
li a[href*="product-comments"]{ display:none!important; }

/* En categorías: ocultar el bloque de subcategorías → los productos salen directos
   (las subcategorías siguen en la columna izquierda) */
#subcategories{ display:none!important; }

/* Ocultar la cabecera/box "COLECCIÓN" del área central (queda la de la izquierda) */
#js-product-list-header,.block-category,#category-description{ display:none!important; }

/* Columna de filtros (Búsqueda por facetas) — estilo Beirut */
#search_filters_wrapper #search_filters,#search_filters{
  background:#fff;border:1px solid var(--line);border-radius:4px;padding:22px 20px;
  font-family:var(--sans);box-shadow:none;
}
#search_filters .h6,#search_filters .facet-title,
#left-column .block .title_block{
  font-family:var(--sans)!important;font-size:.72rem!important;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-deep)!important;font-weight:600;margin-bottom:.9rem;
}
#search_filters .facet{ border-top:1px solid var(--line);padding:1.1rem 0 0;margin-top:1.1rem; }
#search_filters .facet:first-child{ border-top:none;margin-top:0;padding-top:0; }
#search_filters .facet .facet-label{ margin:.35rem 0; }
#search_filters .facet-label a,#search_filters .facet-label label{ color:var(--ink);font-size:.9rem;font-weight:400; }
#search_filters .facet-label a:hover{ color:var(--gold-deep); }
#search_filters .facet .magnitude{ color:var(--ink-soft);font-size:.82rem; }
#search_filters .custom-checkbox span{ border-color:var(--sand-2); }
#search_filters .custom-checkbox input[type=checkbox]:checked + span,
#search_filters .custom-checkbox input[type=checkbox]:checked + span .checkbox-checked{ color:var(--gold-deep)!important;border-color:var(--gold-deep); }
/* slider de precio */
#search_filters .ui-slider{ background:var(--sand);height:3px;border:none;border-radius:0; }
#search_filters .ui-slider .ui-slider-range{ background:var(--gold); }
#search_filters .ui-slider .ui-slider-handle{ background:var(--ink);border:none;border-radius:50%;width:15px;height:15px;top:-6px;cursor:pointer; }
#search_filters .ui-slider .ui-slider-handle:focus{ outline:none; }

/* Lista de categorías (izquierda): sin negrita salvo el título */
#left-column .category-sub-menu a,#left-column .block ul a,
#left-column .block-categories a,#left-column ul li a{ font-weight:400!important; }
#left-column .title_block,#left-column .block .h6{ font-weight:600!important; }

/* Filtros: checkbox y texto en la MISMA fila y centrados verticalmente.
   El Classic empuja el .custom-checkbox con top:-7px (pensado para un label sin
   flex); al usar flex+align-items:center ese desplazamiento descuadra el check,
   por eso se neutraliza (top:0). */
#search_filters .facet-label,
#search_filters .facet ul li label,
#search_filters .facet ul li a{ display:flex!important;align-items:center;gap:8px;margin:.4rem 0; }
#search_filters .facet .custom-checkbox{ margin:0!important;flex:0 0 auto;position:relative!important;top:0!important;display:inline-flex!important;align-items:center;align-self:stretch!important; }
#search_filters .facet input[type=checkbox]{ margin:0!important;flex:0 0 auto; }
#search_filters .facet-label > span:not(.custom-checkbox),
#search_filters .facet-label a{ line-height:1.2; }
#search_filters .facet ul li{ margin:.4rem 0; }

/* Paginación: números en oro y mismo tamaño */
.pagination .page-list a,.pagination .page-list span,.pagination a,.pagination li span{
  color:var(--gold-deep)!important;font-size:1rem!important;font-family:var(--sans);border:none!important;background:none!important;
}
.pagination .current a,.pagination .current span,.pagination li.active a,.pagination li.active span{
  color:var(--gold)!important;font-weight:700;font-size:1rem!important;
}
.pagination .next,.pagination .previous{ color:var(--ink)!important; }

/* Ocultar módulos por defecto que no usamos (banner "20% OFF" y bloque de texto) */
#custom-text,.ps_customtext,.custom-text,.block-banner,#ps_banner,.banner-container,
section.ps-custom-text,.block_customtext{ display:none!important; }

/* Todas las secciones a ancho completo (rompen el contenedor estrecho de PrestaShop) */
.beirut-usp,.beirut-cats,.beirut-products,.beirut-lookbook,.beirut-sale,.beirut-insta{
  position:relative;left:50%;right:50%;width:100vw;margin-left:-50vw;margin-right:-50vw;
}

/* 1) TIRA USP */
.beirut-usp{ padding:34px 0;background:var(--cream); }
.beirut-usp-grid{
  display:grid;grid-template-columns:repeat(4,1fr);max-width:1400px;margin:0 auto;
  padding:0 40px;gap:1rem;
}
.beirut-usp .usp-item{
  display:flex;align-items:center;gap:14px;justify-content:center;
  border-right:1px solid var(--line);
}
.beirut-usp .usp-item:last-child{ border:none; }
.beirut-usp .usp-item svg{
  width:54px;height:54px;fill:none;stroke:var(--gold-deep);stroke-width:1.2;
  stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;
}
.beirut-usp strong{ display:block;font-weight:500;font-size:.98rem;font-family:var(--sans);color:var(--ink); }
.beirut-usp span{ font-size:.82rem;color:var(--ink-soft); }
@media(max-width:768px){
  .beirut-usp{ grid-template-columns:1fr 1fr;gap:1.6rem 1rem;padding:28px 20px; }
  .beirut-usp .usp-item{ border:none;justify-content:flex-start; }
}

/* Botón genérico secciones */
.btn-hero{
  display:inline-block;font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:500;padding:15px 38px;border-radius:2px;background:#fff;color:var(--ink);border:1px solid var(--ink);
  transition:.4s var(--ease);cursor:pointer;
}
.btn-hero:hover{ background:var(--gold);color:#fff;border-color:var(--gold); }
.btn-hero-dark{ background:var(--ink);color:var(--cream); }
.btn-hero-dark:hover{ background:var(--gold-deep);color:#fff;border-color:var(--gold-deep); }

/* Cabecera de sección */
.beirut-head{ text-align:center;margin-bottom:3rem; }
.beirut-head .eyebrow{ display:block;margin-bottom:.8rem; }
.beirut-head h2{ font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);font-weight:500;color:var(--ink); }
.beirut-head.split{ display:flex;justify-content:space-between;align-items:flex-end;text-align:left; }
.btn-text{ font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:3px;transition:.3s;white-space:nowrap; }
.btn-text:hover{ color:var(--gold-deep);border-color:var(--gold-deep); }

/* 3/6) BLOQUES DE PRODUCTO (muestra) */
.beirut-products{ padding:80px 0; }
.beirut-products .beirut-head,.beirut-products .prod-grid{ max-width:1400px;margin-left:auto;margin-right:auto;padding:0 40px; }
.beirut-products .prod-grid{ display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem; }
.beirut-products .prod-card{ position:relative;cursor:pointer; }
.beirut-products .prod-media{ position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:4px;background:var(--sand);margin-bottom:14px; }
.beirut-products .prod-media img{ width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease); }
.beirut-products .prod-card:hover .prod-media img{ transform:scale(1.05); }
.beirut-products .prod-badge{ position:absolute;top:12px;left:12px;z-index:3;background:var(--ink);color:#fff;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:2px; }
.beirut-products .prod-badge.sale{ background:var(--gold); }
.beirut-products .prod-add{ position:absolute;left:12px;right:12px;bottom:12px;z-index:3;background:var(--ink);color:#fff;border:none;padding:12px;font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:2px;opacity:0;transform:translateY(14px);transition:.4s var(--ease); }
.beirut-products .prod-card:hover .prod-add{ opacity:1;transform:translateY(0); }
.beirut-products .prod-add:hover{ background:var(--gold-deep); }
.beirut-products .prod-info h3{ font-family:var(--sans);font-weight:400;font-size:.95rem;letter-spacing:.02em;color:var(--ink); }
.beirut-products .prod-cat{ font-size:.72rem;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;display:block; }
.beirut-products .prod-price{ display:flex;gap:10px;align-items:baseline;margin-top:4px; }
.beirut-products .prod-price .now{ font-weight:500;color:var(--ink); }
.beirut-products .prod-price .was{ text-decoration:line-through;color:#a79b89;font-size:.85rem; }
.beirut-products .prod-price .now.red{ color:var(--gold-deep); }
@media(max-width:1024px){ .beirut-products .prod-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:768px){ .beirut-products{ padding:60px 0; } .beirut-head.split{ flex-direction:column;align-items:flex-start;gap:1rem; } }

/* PÁGINA DE CONTACTO */
.beirut-contact{ max-width:1300px;margin:0 auto;padding:60px 20px 40px; }
.beirut-contact .bc-head{ text-align:center;margin-bottom:3rem; }
.beirut-contact .bc-head .eyebrow{ display:block;margin-bottom:.8rem; }
.beirut-contact .bc-head h2{ font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:500;color:var(--ink);margin-bottom:.6rem; }
.beirut-contact .bc-head p{ color:var(--ink-soft);max-width:520px;margin:0 auto; }
.beirut-contact .bc-grid{ display:grid;grid-template-columns:1fr 1.3fr;gap:2.5rem;align-items:stretch; }
.beirut-contact .bc-info{ display:flex;flex-direction:column;gap:1.6rem;justify-content:center; }
.beirut-contact .bc-item{ display:flex;align-items:flex-start;gap:16px; }
.beirut-contact .bc-item svg{ width:26px;height:26px;fill:none;stroke:var(--gold-deep);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-top:2px; }
.beirut-contact .bc-item strong{ display:block;font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:3px;font-weight:600; }
.beirut-contact .bc-item span,.beirut-contact .bc-item a{ color:var(--ink);font-size:1rem; }
.beirut-contact .bc-item a:hover{ color:var(--gold-deep); }
.beirut-contact .bc-map{ border-radius:6px;overflow:hidden;min-height:380px;box-shadow:0 20px 40px rgba(28,24,21,.12); }
.beirut-contact .bc-map iframe{ width:100%;height:100%;min-height:380px;border:0;display:block;filter:grayscale(.2); }
@media(max-width:768px){ .beirut-contact .bc-grid{ grid-template-columns:1fr;gap:2rem; } }

/* =====================================================================
   RESPONSIVE — pasada global para móvil/tablet
   ===================================================================== */
@media(max-width:991px){
  /* padding lateral coherente en secciones a ancho completo */
  .beirut-usp-grid,
  .beirut-cats .beirut-head,.beirut-cats .cat-grid,
  .beirut-products .beirut-head,.beirut-products .prod-grid,
  .beirut-insta .beirut-head,.beirut-insta .insta-cta{ padding-left:18px!important;padding-right:18px!important; }
  .beirut-lookbook,.beirut-sale{ padding-left:18px;padding-right:18px; }
  .beirut-cats,.beirut-products,.beirut-insta{ padding-top:56px;padding-bottom:56px; }
}
@media(max-width:600px){
  .beirut-usp-grid{ grid-template-columns:1fr 1fr!important;gap:1.2rem 1rem; }
  .beirut-usp .usp-item{ border:none!important;justify-content:flex-start; }
  .beirut-usp .usp-item svg{ width:40px;height:40px; }
  .beirut-products .prod-grid{ grid-template-columns:1fr 1fr; }
  .beirut-cats .cat-grid{ grid-template-columns:1fr; }
  #carousel .caption h2,#carousel .caption-description h3{ font-size:clamp(2rem,9vw,3rem)!important; }
  #carousel .caption-description p{ font-size:.95rem; }
  .beirut-sale::before{ font-size:34vw; }
  .beirut-head h2,.beirut-products .beirut-head h2{ font-size:clamp(1.8rem,7vw,2.4rem); }
  .beirut-contact .bc-map,.beirut-contact .bc-map iframe{ min-height:300px; }
}
@media(max-width:400px){
  .beirut-products .prod-grid{ grid-template-columns:1fr; }
  .beirut-usp-grid{ grid-template-columns:1fr!important; }
}

/* Ocultar el bloque nativo "Productos destacados" (duplica nuestras secciones) */
.featured-products{ display:none!important; }

/* ===================== ARREGLOS MÓVIL ===================== */
@media(max-width:991px){
  /* fondo crema pegado a TODA la cabecera móvil (para que el menú no flote sobre el banner) */
  #header,#header .header-top,#header .header-nav,
  #header .header-nav .container,#header .header-nav .row,#header .header-nav .mobile{ background:var(--cream)!important; }
  /* cabecera SIEMPRE por encima del banner y sin recortes */
  #header{ position:relative!important;z-index:200!important;overflow:visible!important; }
  #header .header-nav,#header .header-nav .container,#header .header-nav .row,#header .header-top{ overflow:visible!important; }
  #carousel.carousel{ margin-top:0!important; }

  /* Cabecera móvil en flex: hamburguesa · logo · (empuja) · cuenta carrito corazón lupa — todo alineado */
  .header-nav .mobile{ display:flex!important;align-items:center;justify-content:flex-start;gap:2px;padding:24px 16px!important;min-height:76px; }
  .header-nav .mobile > *{ float:none!important;margin:0;display:flex;align-items:center;flex:0 0 auto; }
  /* separación entre logo y el grupo de iconos; los iconos van juntos a la derecha */
  .header-nav .mobile #menu-icon{ margin-right:10px; }
  .header-nav .mobile .clearfix{ display:none!important; }
  .header-nav .mobile #menu-icon{ margin:0 10px 0 0!important;transform:translateY(-6px); }
  .header-nav .mobile #_mobile_logo{ margin:0 auto 0 0!important; } /* empuja el grupo de iconos a la derecha */
  .header-nav .mobile #_mobile_logo img{ height:32px;width:auto; }
  /* GRUPO de iconos (buscador · cuenta · corazón · carrito) juntos a la derecha */
  .header-nav .mobile .beirut-m-right{ display:flex!important;align-items:center;gap:4px;flex:0 0 auto; }
  .header-nav .mobile .beirut-m-right > *{ margin:0!important;padding:0 2px;display:flex;align-items:center; }
  /* ROBUSTO: funcione con grupo (JS nuevo) o con iconos sueltos (JS viejo) */
  .header-nav .mobile{ flex-wrap:nowrap!important;justify-content:flex-start!important; }
  .header-nav .mobile > *{ width:auto!important; }
  .header-nav .mobile #menu-icon{ order:1!important; }
  .header-nav .mobile #_mobile_logo{ order:2!important;margin:0 auto 0 0!important; }
  .header-nav .mobile .beirut-m-right{ order:9!important; }
  .header-nav .mobile .beirut-m-search{ order:3!important; }
  .header-nav .mobile #_mobile_user_info{ order:4!important; }
  .header-nav .mobile .beirut-m-wish{ order:5!important; }
  .header-nav .mobile #_mobile_cart{ order:6!important; }
  .header-nav .mobile .beirut-m-search,.header-nav .mobile #_mobile_user_info,
  .header-nav .mobile .beirut-m-wish,.header-nav .mobile #_mobile_cart{ margin:0!important;padding:0 3px!important; }
  /* dejar SOLO la cuenta (fuera el enlace de cerrar sesión que ensancha) */
  .header-nav .mobile #_mobile_user_info .logout{ display:none!important; }
  .header-nav .mobile #_mobile_user_info .user-info{ display:flex!important;align-items:center;margin:0!important;padding:0!important; }
  /* reset de márgenes/paddings por defecto del Classic que ensanchaban el grupo y lo sacaban de pantalla */
  .header-nav .mobile #_mobile_cart .blockcart{ margin:0!important;padding:0!important;background:transparent!important;display:flex!important;align-items:center!important;height:32px!important; }
  .header-nav .mobile #_mobile_cart .header{ height:32px!important; }
  .header-nav .mobile #_mobile_user_info a,.header-nav .mobile #_mobile_cart a,.header-nav .mobile #_mobile_cart .header{ display:flex!important;align-items:center;padding:5px;margin:0; }
  .header-nav .mobile #_mobile_user_info .material-icons,.header-nav .mobile #_mobile_cart .material-icons{ font-size:22px;line-height:1; }
  /* cuenta/carrito móvil: solo icono, sin texto (Cerrar sesión / Carrito / nombre) ni logout duplicado */
  .header-nav .mobile #_mobile_user_info,.header-nav .mobile #_mobile_cart{ white-space:nowrap; }
  .header-nav .mobile #_mobile_user_info span,
  .header-nav .mobile #_mobile_cart .header > span:not(.cart-products-count){ display:none!important; }
  .header-nav .mobile #_mobile_user_info a[href*="mylogout"],
  .header-nav .mobile #_mobile_user_info .logout{ display:none!important; }
  .header-nav .mobile #_mobile_user_info a{ font-size:0!important; }
  .header-nav .mobile #_mobile_cart .cart-products-count{ background:var(--gold)!important;color:#fff!important;border-radius:9px;font-size:.6rem;padding:0 4px;margin-left:2px; }
  .beirut-m-icon button,.beirut-m-icon a{ background:none;border:none;padding:5px;display:flex;align-items:center;color:var(--ink)!important;cursor:pointer; }
  .beirut-m-icon svg{ width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round; }
  .header-nav .material-icons,#menu-icon .material-icons,#_mobile_cart .material-icons,#_mobile_user_info .material-icons{ color:var(--ink)!important;font-size:22px; }

  /* Categoría en móvil: rejilla de 2 columnas limpia (como beirutclothes) */
  #js-product-list .products,.products.row,#js-product-list ul.products{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px 10px!important;margin:0!important;
  }
  #js-product-list .products > *,.products.row > *{
    width:auto!important;max-width:none!important;flex:none!important;padding:0!important;margin:0!important;
  }

  /* Menú desplegable en crema, un poco más alto */
  #mobile_top_menu_wrapper,.js-top-menu.mobile,#_mobile_top_menu{ background:var(--cream)!important; }
  #mobile_top_menu_wrapper{ border-top:1px solid var(--line);padding:10px 0 30px; }
  #_mobile_top_menu .top-menu a,#mobile_top_menu_wrapper a{ color:var(--ink)!important;font-family:var(--sans);letter-spacing:.06em; }
  #_mobile_top_menu .top-menu a:hover{ color:var(--gold-deep)!important; }
  /* Fuera el enlace duplicado "Contacte con nosotros" del pie del menú móvil */
  #mobile_top_menu_wrapper #_mobile_contact_link,#mobile_top_menu_wrapper .js-top-menu-bottom{ display:none!important; }

  /* Menú hamburguesa y búsqueda: caen como panel debajo de la cabecera (no encima) */
  #header{ position:relative!important; }
  /* El Classic limita .header-nav a max-height:50px y la barra móvil (98px) se
     desbordaba; el panel desplegable se anclaba arriba y tapaba logo/iconos.
     Al liberar la altura, la barra queda contenida y el panel cae justo debajo. */
  #header .header-nav{ max-height:none!important;height:auto!important; }
  #mobile_top_menu_wrapper,#search_widget.beirut-m-open{
    position:absolute!important;left:0;right:0;top:100%;z-index:210!important;
    background:var(--cream)!important;box-shadow:0 14px 26px rgba(28,24,21,.14);margin:0!important;
    border-top:1px solid var(--line);
  }
  /* Barra de búsqueda oculta; se despliega al pulsar la lupa */
  #search_widget{ display:none!important; }
  #search_widget.beirut-m-open{ display:block!important;padding:14px 16px; }

  /* Carrusel pegado */
  #carousel.carousel{ margin-bottom:0!important;background:var(--cream); }
  #carousel .carousel-inner{ margin:0!important; }
}
@media(max-width:768px){
  /* Banner: caption centrado sin solaparse (dejando hueco abajo para el badge) */
  #carousel .caption,
  #carousel .carousel-item:first-child .caption{
    left:50%!important;right:auto!important;top:44%!important;
    transform:translate(-50%,-50%)!important;
    width:auto!important;max-width:88%!important;margin:0!important;text-align:center!important;
  }
  #carousel .caption h2.display-1{ display:none!important; }
  #carousel .caption .eyebrow{ display:block;margin-bottom:.7rem; }
  #carousel .caption-description h3{ font-size:clamp(1.9rem,8vw,2.6rem)!important;line-height:1.12!important;margin:0 0 .9rem!important; }
  #carousel .caption-description p{ font-size:.92rem!important;line-height:1.5!important;margin:0 auto 1.4rem!important;max-width:32ch; }
  #carousel .caption-description .hero-btn{ padding:16px 34px; }
  /* Badge centrado DEBAJO del botón "Descubrir" (el JS placeHeroBadge lo clava
     justo bajo el botón y ajusta el tamaño al hueco). Esto es solo el fallback. */
  .beirut-hero-badge{
    left:50%;right:auto;margin:0;transform:translateX(-50%);top:auto;bottom:10px;
    width:min(30vw,150px)!important;max-width:150px!important;height:auto;animation:none;
  }
}

/* 2) GRID CATEGORÍAS */
.beirut-cats{ padding:80px 0; }
.beirut-cats .beirut-head,.beirut-cats .cat-grid{ max-width:1400px;margin-left:auto;margin-right:auto;padding:0 40px; }
.beirut-cats .cat-grid{ display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem; }
/* Tarjetas de categoría estilo "catálogo": las fotos de producto vienen con
   fondo blanco, así que la tarjeta es blanca con un degradado suave a crema
   abajo y el título en tinta/oro (en vez del degradado oscuro de antes). */
.beirut-cats .cat-card{ position:relative;border-radius:6px;overflow:hidden;aspect-ratio:3/4;display:block;background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px rgba(28,24,21,.06);transition:box-shadow .5s,transform .5s; }
/* zoom para recortar los márgenes blancos de las fotos de catálogo (arriba/abajo) */
.beirut-cats .cat-card img{ width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.22);transform-origin:center 40%;transition:transform .9s var(--ease); }
.beirut-cats .cat-card::after{ content:'';position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(to top,var(--cream) 6%,rgba(247,243,236,0)); }
.beirut-cats .cat-card:hover img{ transform:scale(1.3); }
.beirut-cats .cat-card:hover{ box-shadow:0 26px 46px rgba(28,24,21,.14);transform:translateY(-3px); }
.beirut-cats .cat-body{ position:absolute;left:0;right:0;bottom:0;z-index:2;padding:20px 22px;color:var(--ink); }
.beirut-cats .cat-body h3{ font-family:var(--serif);font-size:1.65rem;margin-bottom:2px;color:var(--ink); }
.beirut-cats .cat-link{ font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);opacity:0;transform:translateY(8px);transition:.4s;display:inline-block; }
.beirut-cats .cat-card:hover .cat-link{ opacity:1;transform:translateY(0); }

/* 4) LOOKBOOK 3D */
.beirut-lookbook{ position:relative;padding:120px 40px;overflow:hidden;background:var(--ink);color:var(--cream);perspective:1400px; }
.beirut-lookbook .look-inner{ position:relative;max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center; }
.beirut-lookbook .look-text h2{ font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,3.6rem);margin:1rem 0;color:var(--cream); }
.beirut-lookbook .look-text p{ max-width:420px;margin-bottom:2rem;opacity:.85;font-weight:300; }
.beirut-lookbook .look-3d{ position:relative;height:460px;transform-style:preserve-3d; }
.beirut-lookbook .look-card{ position:absolute;width:230px;height:320px;border-radius:8px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.45);transition:transform .2s ease-out; }
.beirut-lookbook .look-card img{ width:100%;height:100%;object-fit:cover; }
.beirut-lookbook .look-card:nth-child(1){ left:8%;top:20%;transform:translateZ(-60px) rotateY(12deg); }
.beirut-lookbook .look-card:nth-child(2){ left:34%;top:6%;z-index:3;transform:translateZ(40px); }
.beirut-lookbook .look-card:nth-child(3){ left:60%;top:26%;transform:translateZ(-30px) rotateY(-12deg); }

/* 5) BANNER REBAJAS */
.beirut-sale{ background:linear-gradient(135deg,var(--sand),var(--sand-2));padding:100px 40px;text-align:center;position:relative;overflow:hidden; }
.beirut-sale::before{ content:'REBAJAS';position:absolute;font-family:var(--serif);font-size:22vw;font-weight:600;color:rgba(255,255,255,.28);top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;letter-spacing:-.02em; }
.beirut-sale .sale-inner{ position:relative;z-index:2; }
.beirut-sale .eyebrow{ display:block;margin-bottom:1rem; }
.beirut-sale h2{ font-family:var(--serif);font-size:clamp(2.6rem,6vw,4.6rem);color:var(--ink); }
.beirut-sale h2 em{ font-style:italic;color:var(--gold-deep); }
.beirut-sale p{ margin:1rem 0 2rem;color:var(--ink-soft); }

/* 7) INSTAGRAM REELS */
.beirut-insta{ padding:80px 0; }
.beirut-insta .beirut-head,.beirut-insta .stories-track,.beirut-insta .insta-cta{ max-width:1400px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px; }
.beirut-insta .stories-track{ display:flex;gap:16px;overflow-x:auto;padding:6px 42px 18px;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--sand-2) transparent; }
.beirut-insta .stories-track.grabbing{ cursor:grabbing; }
.beirut-insta .stories-track::-webkit-scrollbar{ height:6px; }
.beirut-insta .stories-track::-webkit-scrollbar-thumb{ background:var(--sand-2);border-radius:3px; }
.beirut-insta .story-card{ position:relative;flex:0 0 auto;width:230px;aspect-ratio:3/4;border-radius:14px;overflow:hidden;background:var(--sand);box-shadow:0 12px 30px rgba(28,24,21,.12);transition:transform .35s var(--ease),box-shadow .35s;user-select:none; }
.beirut-insta .story-card:hover{ transform:translateY(-4px) scale(1.015);box-shadow:0 22px 44px rgba(28,24,21,.22); }
.beirut-insta .story-media{ position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;transition:transform .8s var(--ease); }
.beirut-insta .story-card:hover .story-media{ transform:scale(1.06); }
.beirut-insta .story-shade{ position:absolute;left:0;right:0;pointer-events:none; }
.beirut-insta .story-shade.top{ top:0;height:42%;background:linear-gradient(to bottom,rgba(20,16,13,.5),transparent); }
.beirut-insta .story-shade.bottom{ bottom:0;height:55%;background:linear-gradient(to top,rgba(20,16,13,.72),transparent); }
.beirut-insta .story-play{ position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:54px;height:54px;border-radius:50%;background:rgba(247,243,236,.9);color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.25);transition:.3s; }
.beirut-insta .story-play svg{ width:22px;height:22px;margin-left:3px; }
.beirut-insta .story-card:hover .story-play{ background:var(--gold);color:#fff;transform:translate(-50%,-50%) scale(1.08); }
.beirut-insta .story-author{ position:absolute;left:14px;bottom:14px;z-index:3;display:flex;align-items:center;gap:8px;color:#fff;font-size:.82rem; }
.beirut-insta .story-ava{ width:26px;height:26px;border-radius:50%;overflow:hidden;background:#fff;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center; }
.beirut-insta .story-ava img{ width:120%;height:auto;object-fit:contain; }
.beirut-insta .insta-cta{ text-align:center;margin-top:2.4rem; }

@media(max-width:1024px){ .beirut-cats .cat-grid{ grid-template-columns:repeat(2,1fr); } .beirut-lookbook .look-inner{ grid-template-columns:1fr;gap:2rem; } .beirut-lookbook{ perspective:none; } .beirut-lookbook .look-3d{ height:auto;display:flex;gap:14px;overflow-x:auto;padding:6px 2px 16px; } .beirut-lookbook .look-card{ position:static!important;transform:none!important;left:auto!important;top:auto!important;width:66%;max-width:260px;flex:0 0 auto; } }
@media(max-width:768px){ .beirut-cats,.beirut-insta{ padding:60px 20px; } .beirut-cats .cat-grid{ grid-template-columns:1fr; } .beirut-lookbook{ padding:70px 20px; } .beirut-sale{ padding:70px 20px; } }

/* =====================================================================
   FASE 4 · ARREGLOS MÓVIL/TABLET (cabecera + ficha + carrito)
   Solo afecta a <=991px salvo color de etiquetas/enlaces (global).
   Verificado en 375 / 390 (iPhone 12) / 360 px. Escritorio intacto.
   ===================================================================== */
@media(max-width:991px){
  /* --- Cabecera: logo más presente (sin el tope de 2rem del tema) --- */
  .header-nav .mobile #_mobile_logo img{ height:42px!important;max-height:none!important;width:auto!important; }
  /* --- Grupo de iconos: encoger DE VERDAD para que el carrito no se corte --- */
  .header-nav .mobile .beirut-m-right{ gap:6px!important; }
  .header-nav .mobile .beirut-m-right > *{ width:auto!important;min-width:0!important;flex:0 0 auto!important;margin:0!important;padding:0!important; }
  .header-nav .mobile #_mobile_user_info,
  .header-nav .mobile #_mobile_cart{ padding:0!important;margin:0!important; }
  .header-nav .mobile #_mobile_user_info .user-info{ margin:0!important;padding:0!important; } /* tema mete margin-left:40px */
  .header-nav .mobile #_mobile_user_info a,
  .header-nav .mobile #_mobile_cart a,
  .header-nav .mobile #_mobile_cart .header{ padding:0!important;margin:0!important; }
  .header-nav .mobile #_mobile_cart .blockcart{ padding:0!important;margin:0!important;background:none!important;border:0!important; } /* quita padding:12px del tema */
  .header-nav .mobile .beirut-m-icon button,
  .header-nav .mobile .beirut-m-icon a{ padding:0!important; }

  /* --- Ficha: fila cantidad + añadir + deseos sin desbordar; corazón separado del borde --- */
  .product-add-to-cart .product-quantity.clearfix{ display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important; }
  .product-quantity.clearfix .qty{ flex:0 0 auto!important; }
  .product-quantity.clearfix .add{ flex:1 1 auto!important;min-width:0!important; }
  .product-quantity.clearfix .add .add-to-cart{ width:100%!important; }
  .product-quantity.clearfix .wishlist-button-add{ flex:0 0 40px!important;margin:0 0 0 2px!important; }

  /* --- Selector +/− (ficha y carrito): flechas AL LADO del número, no debajo --- */
  .bootstrap-touchspin{ display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;width:auto!important; }
  .bootstrap-touchspin input.form-control,
  .bootstrap-touchspin > input[type=number]{ flex:0 0 44px!important;width:44px!important;height:44px!important; }
  .bootstrap-touchspin .input-group-btn-vertical{ display:flex!important;flex-direction:column!important;flex:0 0 auto!important;width:auto!important;height:44px!important; }
  .bootstrap-touchspin .input-group-btn-vertical > .btn{ flex:1 1 auto!important;display:flex!important;align-items:center!important;justify-content:center!important;height:22px!important;min-height:0!important;padding:0 8px!important; }
}
/* Pantallas muy estrechas (<=360): logo un pelín menor para que todo quepa */
@media(max-width:360px){
  .header-nav .mobile #_mobile_logo img{ height:36px!important; }
}

/* --- Etiqueta "fuera de stock" / no disponible en color del logo (global) --- */
.product-unavailable{ color:var(--gold)!important; }
.product-flag.out-of-stock,.product-flag.out_of_stock{ background:var(--gold)!important;color:#fff!important; }

/* --- Nombre de producto: al pulsar NO en azul, en color del logo (global) --- */
.product-title a,.product-miniature .product-title a,.product-line-info a.label,.cart-item a.label{ color:var(--ink); }
.product-title a:hover,.product-title a:focus,.product-title a:active,.product-title a:visited,
.product-miniature .product-title a:hover,.product-miniature .product-title a:focus,.product-miniature .product-title a:active,.product-miniature .product-title a:visited,
.product-line-info a.label:hover,.product-line-info a.label:focus,.product-line-info a.label:active,.product-line-info a.label:visited,
.cart-item a.label:hover,.cart-item a.label:focus,.cart-item a.label:active,.cart-item a.label:visited{ color:var(--gold-deep)!important; }
