:root{
  --lm-bg:#0b0a08;
  --lm-bg-soft:#131110;
  --lm-card:#17140f;
  --lm-line:#2a2419;
  --lm-gold:#c9a24b;
  --lm-gold-bright:#f0c877;
  --lm-amber-glow:rgba(240,200,119,0.28);
  --lm-text:#f3eee3;
  --lm-muted:#a89d86;
}
.luminarce-catalogo{
  background:var(--lm-bg);
  color:var(--lm-text);
  font-family:'Jost',sans-serif;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden !important;
  max-width:100vw !important;
  position:relative;
  margin:0;
  line-height:1.4;
}
.luminarce-catalogo *{box-sizing:border-box;}
.luminarce-catalogo h1,.luminarce-catalogo h2,.luminarce-catalogo h3{
  font-family:'Cormorant Garamond',serif !important; font-weight:500 !important; margin:0 !important;
  color:var(--lm-text) !important; text-decoration:none !important;
}
.luminarce-catalogo a{color:inherit;}
.luminarce-catalogo button{font-family:'Jost',sans-serif;}
.luminarce-catalogo button:focus-visible,.luminarce-catalogo a:focus-visible{outline:2px solid var(--lm-gold-bright);outline-offset:2px;}

/* header */
.lm-header{position:sticky;top:0;z-index:9999;background:rgba(11,10,8,0.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--lm-line);}
.lm-topbar{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;}
.lm-wordmark{font-family:'Cormorant Garamond',serif;font-size:26px;letter-spacing:.14em;font-weight:600;display:flex;align-items:center;gap:10px;}
.lm-dot{width:8px;height:8px;border-radius:50%;background:var(--lm-gold-bright);box-shadow:0 0 10px 3px var(--lm-amber-glow);animation:lm-pulse 2.6s ease-in-out infinite;}
@keyframes lm-pulse{0%,100%{opacity:.55;box-shadow:0 0 6px 2px var(--lm-amber-glow);}50%{opacity:1;box-shadow:0 0 16px 6px var(--lm-amber-glow);}}
@media (prefers-reduced-motion: reduce){.lm-dot{animation:none;}}
.lm-cart-btn{position:relative;background:transparent;border:1px solid var(--lm-line);color:var(--lm-text);padding:10px 18px;font-size:13px;letter-spacing:.06em;cursor:pointer;display:flex;align-items:center;gap:8px;transition:border-color .2s;}
.lm-cart-btn:hover{border-color:var(--lm-gold);}
.lm-badge{background:var(--lm-gold-bright);color:#1a1508;font-size:11px;font-weight:600;min-width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 4px;}

/* hero */
.lm-hero{position:relative;padding:100px 28px 90px;text-align:center !important;overflow:hidden;background:radial-gradient(ellipse 700px 420px at 50% 0%, var(--lm-amber-glow), transparent 65%), var(--lm-bg);}
.lm-hero h1,.lm-hero p,.lm-hero .lm-eyebrow,.lm-hero .lm-propuesta-inline{text-align:center !important; margin-left:auto !important; margin-right:auto !important;}
.lm-eyebrow{font-size:12px;letter-spacing:.32em;color:var(--lm-gold);text-transform:uppercase;margin-bottom:22px;}
.lm-hero h1{font-size:clamp(34px,6vw,68px);line-height:1.08;margin:0 auto 22px;max-width:820px;color:var(--lm-text);}
.lm-hero p{max-width:520px;margin:0 auto 34px;color:var(--lm-muted);font-size:16px;line-height:1.6;}
.lm-hero-cta{display:inline-block;border:1px solid var(--lm-gold);color:var(--lm-gold-bright);text-decoration:none;padding:14px 32px;font-size:13px;letter-spacing:.1em;transition:background .25s,color .25s;}
.lm-hero-cta:hover{background:var(--lm-gold);color:#141008;}

/* shell: sidebar de filtros + contenido */
.lm-shell{max-width:1320px;margin:0 auto;padding:0 28px 60px;display:flex;align-items:flex-start;gap:40px;}
.lm-sidebar{width:230px;flex-shrink:0;position:sticky;top:96px;max-height:calc(100vh - 116px);overflow-y:auto;padding-bottom:20px;}
.lm-sidebar::-webkit-scrollbar{width:5px;}
.lm-sidebar::-webkit-scrollbar-thumb{background:var(--lm-line);}
.lm-sidebar-title{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--lm-muted);margin:24px 0 14px;}

/* árbol colapsable (categorías y demás grupos de filtro) */
.lm-tree{border-bottom:1px solid var(--lm-line); padding:16px 0;}
.lm-tree:first-of-type{padding-top:0;}
.lm-tree-summary{
  cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between;
  font-size:13.5px; color:var(--lm-text); letter-spacing:.02em; padding:4px 2px;
  -webkit-tap-highlight-color:transparent;
}
.lm-tree-summary::-webkit-details-marker{display:none;}
.lm-tree-summary::marker{content:'';}
.lm-tree-summary::after{
  content:'+'; color:var(--lm-muted); font-size:15px; transition:transform .2s, color .2s; flex-shrink:0; margin-left:8px;
}
.lm-tree[open] > .lm-tree-summary::after{transform:rotate(45deg); color:var(--lm-gold);}
.lm-tree-summary.is-active{color:var(--lm-gold-bright);}
.lm-tree-summary--static{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--lm-muted); cursor:pointer;}
.lm-tree-summary--static:hover{color:var(--lm-gold-bright);}
.lm-tree-children{
  margin-top:12px; padding-left:14px; border-left:1px solid var(--lm-line);
  display:flex; flex-direction:column; gap:2px;
}

/* buscador */
.lm-search-wrap{margin-bottom:20px;}
.lm-search-input{
  width:100%; background:#0f0d0a; border:1px solid var(--lm-line); color:var(--lm-text);
  padding:10px 12px; font-family:'Jost',sans-serif; font-size:13px;
}
.lm-search-input:focus{outline:none; border-color:var(--lm-gold);}
.lm-search-input::placeholder{color:var(--lm-muted);}

/* slider de precio */
.lm-price-slider-wrap{padding:2px 2px 4px;}
.lm-price-slider-label{color:var(--lm-gold-bright); font-family:'Cormorant Garamond',serif; font-size:19px; margin-bottom:10px;}
.lm-price-slider-wrap input[type="range"]{
  -webkit-appearance:none; appearance:none; width:100%; height:2px;
  background:var(--lm-line); outline:none; cursor:pointer; margin:10px 0;
}
.lm-price-slider-wrap input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none; width:16px; height:16px; border-radius:50%;
  background:var(--lm-gold-bright); border:2px solid #0f0d0a; box-shadow:0 0 0 1px var(--lm-gold);
  cursor:pointer;
}
.lm-price-slider-wrap input[type="range"]::-moz-range-thumb{
  width:16px; height:16px; border-radius:50%; background:var(--lm-gold-bright);
  border:2px solid #0f0d0a; box-shadow:0 0 0 1px var(--lm-gold); cursor:pointer;
}
.lm-price-slider-ends{display:flex; justify-content:space-between; font-size:11px; color:var(--lm-muted);}
.lm-filter-btn{
  text-align:left;background:none;border:none;border-left:2px solid transparent;
  color:var(--lm-muted);font-family:'Jost',sans-serif;font-size:13.5px;letter-spacing:.02em;
  padding:9px 14px;cursor:pointer;transition:color .2s,border-color .2s,background .2s;
}
.lm-filter-btn:hover{color:var(--lm-text);background:rgba(240,200,119,0.05);}
.lm-filter-btn.is-active{color:var(--lm-gold-bright);border-left-color:var(--lm-gold);background:rgba(240,200,119,0.07);}

/* buscador */
.lm-search-wrap{margin-bottom:6px;}
.lm-search-input{
  width:100%; background:#0f0d0a; border:1px solid var(--lm-line); color:var(--lm-text);
  padding:10px 12px; font-family:'Jost',sans-serif; font-size:13px;
}
.lm-search-input:focus{outline:none; border-color:var(--lm-gold);}
.lm-search-input::placeholder{color:var(--lm-muted);}

/* checkboxes de atributos */
.lm-checkgroup{display:flex;flex-direction:column;gap:2px;}
.lm-check{
  display:flex; align-items:center; gap:9px;
  font-size:13px; color:var(--lm-muted); padding:6px 4px; cursor:pointer;
  transition:color .2s;
}
.lm-check:hover{color:var(--lm-text);}
.lm-check input{
  appearance:none; -webkit-appearance:none; width:15px; height:15px; flex-shrink:0;
  border:1px solid var(--lm-line); background:#0f0d0a; cursor:pointer; position:relative;
}
.lm-check input:checked{border-color:var(--lm-gold); background:var(--lm-gold);}
.lm-check input:checked::after{
  content:''; position:absolute; left:4px; top:1px; width:4px; height:8px;
  border:solid #1a1508; border-width:0 2px 2px 0; transform:rotate(45deg);
}

.lm-clear-filters{
  margin-top:22px; width:100%; background:none; border:1px solid var(--lm-line); color:var(--lm-muted);
  font-family:'Jost',sans-serif; font-size:12px; letter-spacing:.05em; padding:10px; cursor:pointer;
  transition:border-color .2s, color .2s;
}
.lm-clear-filters:hover{border-color:var(--lm-gold); color:var(--lm-gold-bright);}

/* catalog */
.lm-main{flex:1;min-width:0;padding-top:10px;}
.lm-cat-section{padding-top:64px;scroll-margin-top:120px;}
.lm-cat-section.lm-hidden{display:none;}
.lm-empty-filter{color:var(--lm-muted);text-align:center;padding:80px 20px;font-size:14px;}
.lm-cat-header{display:flex;align-items:baseline;gap:18px;margin-bottom:26px;border-bottom:1px solid var(--lm-line);padding-bottom:14px;}
.lm-cat-header h2{font-size:28px;color:var(--lm-text);}
.lm-cat-header .lm-count{color:var(--lm-muted);font-size:13px;}
.lm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;}
.lm-card{background:var(--lm-card);border:1px solid var(--lm-line);position:relative;display:flex;flex-direction:column;transition:border-color .25s,transform .25s;}
.lm-card:hover{border-color:var(--lm-gold);transform:translateY(-2px);}
.lm-imgwrap{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 40%, #201a10 0%, #0f0d0a 75%);cursor:zoom-in;}
.lm-zoom-hint{
  position:absolute; left:50%; bottom:10px; transform:translateX(-50%);
  background:rgba(11,10,8,0.75); color:var(--lm-gold-bright);
  font-size:11px; letter-spacing:.04em; padding:5px 12px; border:1px solid var(--lm-line);
  opacity:0; transition:opacity .25s; white-space:nowrap; pointer-events:none;
}
.lm-card:hover .lm-zoom-hint{opacity:1;}
.lm-imgwrap::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 35%, var(--lm-amber-glow), transparent 60%);opacity:0;transition:opacity .35s;}
.lm-card:hover .lm-imgwrap::after{opacity:1;}
.lm-imgwrap img{width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5));transition:transform .4s ease;}
.lm-card:hover .lm-imgwrap img{transform:scale(1.045);}
.lm-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:10px;flex:1;}
.lm-sku{font-size:11px;letter-spacing:.06em;color:var(--lm-muted);}
.lm-cname{font-size:14.5px;color:var(--lm-text);line-height:1.3;}
.lm-price{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--lm-gold-bright);}
.lm-actions{display:flex;align-items:center;gap:8px;margin-top:auto;}
.lm-qty{display:flex;align-items:center;border:1px solid var(--lm-line);}
.lm-qty button{background:none;border:none;color:var(--lm-text);width:28px;height:32px;cursor:pointer;font-size:15px;}
.lm-qty button:hover{color:var(--lm-gold-bright);}
.lm-qty span{width:26px;text-align:center;font-size:13px;}
.lm-add-btn{flex:1;background:var(--lm-gold);color:#161006;border:none;height:34px;font-size:12px;letter-spacing:.06em;font-weight:500;cursor:pointer;transition:background .2s;}
.lm-add-btn:hover{background:var(--lm-gold-bright);}
.lm-add-btn.lm-added{background:#4a7a53;color:#eafcee;}

/* footer */
.lm-footer{border-top:1px solid var(--lm-line);padding:50px 28px 40px;text-align:center;color:var(--lm-muted);font-size:13px;}
.lm-footer .lm-wordmark{justify-content:center;margin-bottom:14px;}
.lm-fnote{max-width:480px;margin:0 auto;line-height:1.6;}

/* drawer */
.lm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .3s;z-index:99998;}
.lm-overlay.lm-open{opacity:1;pointer-events:auto;}
.lm-drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,92vw);background:var(--lm-bg-soft);border-left:1px solid var(--lm-line);transform:translateX(100%);transition:transform .35s ease;z-index:99999;display:flex;flex-direction:column;color:var(--lm-text);font-family:'Jost',sans-serif;}
.lm-drawer.lm-open{transform:translateX(0);}
.lm-drawer-head{padding:22px 22px 16px;border-bottom:1px solid var(--lm-line);display:flex;align-items:center;justify-content:space-between;}
.lm-drawer-head h3{font-size:22px;}
.lm-drawer-head button{background:none;border:none;color:var(--lm-muted);font-size:22px;cursor:pointer;line-height:1;}
.lm-drawer-items{flex:1;overflow-y:auto;padding:12px 22px;}
.lm-empty-cart{color:var(--lm-muted);text-align:center;padding:60px 20px;font-size:14px;}
.lm-drawer-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--lm-line);}
.lm-drawer-item img{width:64px;height:64px;object-fit:contain;background:#0f0d0a;padding:4px;}
.lm-di-info{flex:1;display:flex;flex-direction:column;gap:6px;}
.lm-di-top{display:flex;justify-content:space-between;gap:8px;}
.lm-di-name{font-size:13px;line-height:1.3;}
.lm-di-sku{font-size:10.5px;color:var(--lm-muted);}
.lm-di-remove{background:none;border:none;color:var(--lm-muted);cursor:pointer;font-size:13px;}
.lm-di-remove:hover{color:#e08a8a;}
.lm-di-bottom{display:flex;align-items:center;justify-content:space-between;}
.lm-di-price{font-family:'Cormorant Garamond',serif;color:var(--lm-gold-bright);font-size:16px;}
.lm-drawer-foot{border-top:1px solid var(--lm-line);padding:18px 22px 24px;}
.lm-subtotal-row{display:flex;justify-content:space-between;margin-bottom:16px;font-size:15px;}
.lm-subtotal-row .lm-amt{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--lm-gold-bright);}
.lm-whatsapp-btn{width:100%;border:none;background:#3aa15c;color:#f3fff5;padding:15px;font-size:14px;letter-spacing:.04em;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s;}
.lm-whatsapp-btn:hover{background:#43b969;}
.lm-hint{font-size:11px;color:var(--lm-muted);text-align:center;margin-top:10px;}
.lm-drawer-items::-webkit-scrollbar{width:6px;}
.lm-drawer-items::-webkit-scrollbar-thumb{background:var(--lm-line);}

/* modal de datos de contacto */
.lm-modal{
  position:fixed; top:50%; left:50%; transform:translate(-50%,-50%) scale(.97);
  width:min(420px,92vw);
  background:var(--lm-bg-soft);
  border:1px solid var(--lm-line);
  z-index:100001;
  padding:26px 26px 22px;
  opacity:0; pointer-events:none;
  transition:opacity .25s, transform .25s;
  color:var(--lm-text); font-family:'Jost',sans-serif; font-weight:300; line-height:1.4;
}
.lm-modal.lm-open{opacity:1; pointer-events:auto; transform:translate(-50%,-50%) scale(1);}
.lm-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.lm-modal-head h3,
#lmHomeLeadModal h3,#lmOfertasModal h3,#lmFormModal h3{
  font-size:24px !important; font-family:'Cormorant Garamond',serif !important;
  color:var(--lm-gold-bright) !important; font-weight:500 !important; margin:0 !important;
  text-decoration:none !important; line-height:1.2 !important;
}
.lm-modal-head button{background:none;border:none;color:var(--lm-muted);font-size:22px;cursor:pointer;line-height:1;}
.lm-modal-sub{color:var(--lm-muted);font-size:13px;line-height:1.5;margin:0 0 18px;}
.lm-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:12.5px;color:var(--lm-muted);}
.lm-field input{
  background:#0f0d0a; border:1px solid var(--lm-line); color:var(--lm-text);
  padding:11px 12px; font-family:'Jost',sans-serif; font-size:14px;
}
.lm-field input:focus{outline:none; border-color:var(--lm-gold);}
.lm-field input.lm-invalid{border-color:#d9736f;}
.lm-error{color:#e08a8a; font-size:11.5px; min-height:14px;}
#lmFormSubmit{margin-top:6px;}

/* lightbox con zoom */
.lm-lightbox{
  position:fixed; inset:0; z-index:100010;
  background:rgba(6,5,4,0.94);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:14px; padding:40px 20px;
  opacity:0; pointer-events:none; transition:opacity .25s;
  color:var(--lm-text); font-family:'Jost',sans-serif; font-weight:300; line-height:1.4;
}
.lm-lightbox.lm-open{opacity:1; pointer-events:auto;}
.lm-lightbox-close{
  position:absolute; top:22px; right:26px;
  background:none; border:1px solid var(--lm-line); color:var(--lm-text);
  width:40px; height:40px; font-size:22px; cursor:pointer; line-height:1;
  transition:border-color .2s, color .2s;
}
.lm-lightbox-close:hover{border-color:var(--lm-gold); color:var(--lm-gold-bright);}
.lm-zoom-box{
  width:min(760px,92vw); height:min(760px,72vh);
  position:relative; overflow:hidden;
  background:#0f0d0a; border:1px solid var(--lm-line);
  cursor:zoom-in;
}
.lm-zoom-box img{
  width:100%; height:100%; object-fit:contain;
  transition:transform .08s linear;
  transform-origin:50% 50%;
  will-change:transform;
}
.lm-zoom-box.lm-zoomed img{cursor:zoom-out;}
.lm-zoom-caption{color:var(--lm-muted); font-size:13px; letter-spacing:.03em; text-align:center;}

@media(max-width:640px){
  .lm-zoom-box{width:94vw; height:60vh;}
  .lm-lightbox-close{top:14px; right:14px;}
}

@media(max-width:960px){
  .lm-shell{flex-direction:column !important; gap:0 !important;}
  .lm-sidebar{
    position:static !important; width:100% !important; max-width:100% !important;
    max-height:none !important; overflow:visible !important; padding-bottom:0 !important; float:none !important;
  }
  .lm-tree-children{flex-direction:row !important; overflow-x:auto; gap:8px; padding-bottom:6px; scrollbar-width:none; border-left:none !important; padding-left:0 !important;}
  .lm-tree-children::-webkit-scrollbar{display:none;}
  .lm-tree-children .lm-filter-btn{
    white-space:nowrap; border-left:none !important; border:1px solid var(--lm-line) !important; border-radius:100px !important;
  }
  .lm-tree-children .lm-filter-btn.is-active{border-color:var(--lm-gold) !important; background:rgba(240,200,119,0.07) !important;}
  .lm-checkgroup{flex-direction:row !important; flex-wrap:wrap; gap:8px;}
  .lm-check{border:1px solid var(--lm-line) !important; border-radius:100px !important; padding:6px 12px !important;}
  .lm-sidebar-title{margin:20px 0 10px !important;}
}

@media(max-width:640px){
  .lm-topbar{padding:14px 18px !important;}
  .lm-hero{padding:70px 18px 60px !important;}
  .lm-shell{padding:0 18px 40px !important;}
  .lm-cat-section{padding-top:44px !important;}
}

/* ================= SITIO COMPLETO: nav, secciones, contacto, mapa, redes, flotantes ================= */

.lm-mainnav{display:flex; font-family:'Jost',sans-serif;}
.lm-mainnav-list{display:flex !important; gap:28px; list-style:none !important; margin:0 !important; padding:0 !important; float:none !important;}
.lm-mainnav-list li{margin:0 !important; padding:0 !important; float:none !important; display:list-item;}
.lm-mainnav-list a{
  color:var(--lm-muted); text-decoration:none; font-size:13px; letter-spacing:.05em;
  transition:color .2s; white-space:nowrap;
}
.lm-mainnav-list a:hover, .lm-mainnav-list .current-menu-item > a{color:var(--lm-gold-bright);}

.lm-header-actions{display:flex; align-items:center; gap:10px;}

/* botón hamburguesa (oculto en desktop) */
.lm-burger{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; background:none; border:1px solid var(--lm-line); cursor:pointer;
  flex-shrink:0;
}
.lm-burger span{display:block !important; width:16px !important; height:1.5px !important; background:var(--lm-text); margin:0 auto; transition:transform .25s, opacity .25s; float:none !important; position:static !important;}
.lm-burger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.lm-burger.is-open span:nth-child(2){opacity:0;}
.lm-burger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.lm-nav-overlay{
  position:fixed !important; inset:0 !important; background:rgba(0,0,0,.6) !important; z-index:99997 !important;
  opacity:0; pointer-events:none; transition:opacity .3s;
  display:block !important; margin:0 !important; float:none !important;
}
.lm-nav-overlay.lm-open{opacity:1 !important; pointer-events:auto !important;}

.lm-section-inner{max-width:900px; margin:0 auto; padding:0 28px;}
.lm-section-inner--wide{max-width:1320px;}

.lm-section-nosotros{
  padding:90px 0; text-align:center;
  border-top:1px solid var(--lm-line); border-bottom:1px solid var(--lm-line);
  background:radial-gradient(ellipse 600px 300px at 50% 0%, var(--lm-amber-glow), transparent 70%);
}
.lm-section-nosotros h2{font-size:clamp(28px,4vw,42px); margin:10px 0 22px;}
.lm-section-nosotros p{color:var(--lm-muted); font-size:16px; line-height:1.8; white-space:pre-line;}

#lm-catalogo-section{padding-top:80px;}

.lm-section-contacto{padding:90px 0 40px;}
.lm-section-contacto h2{font-size:clamp(28px,4vw,42px); margin:10px 0 34px;}
.lm-contacto-grid{display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start;}
.lm-contacto-datos{display:flex; flex-direction:column; gap:22px;}
.lm-dato{border-bottom:1px solid var(--lm-line); padding-bottom:16px;}
.lm-dato-label{display:block; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--lm-gold); margin-bottom:6px;}
.lm-dato-valor{font-size:15px; line-height:1.7; color:var(--lm-text);}
.lm-dato-link{color:var(--lm-text); text-decoration:none; border-bottom:1px solid var(--lm-line); transition:color .2s, border-color .2s;}
.lm-dato-link:hover{color:var(--lm-gold-bright); border-color:var(--lm-gold);}
.lm-contacto-mapa{
  height:420px; border:1px solid var(--lm-line); overflow:hidden; background:#0f0d0a;
  position:relative; box-shadow:0 0 0 1px rgba(0,0,0,.4), 0 20px 40px rgba(0,0,0,.35);
}
.lm-contacto-mapa::before{
  content:''; position:absolute; inset:0; pointer-events:none; z-index:1;
  box-shadow:inset 0 0 0 1px var(--lm-line);
}
.lm-contacto-mapa iframe{position:absolute; inset:0; width:100%; height:100%; border:0; display:block; opacity:.92;}

.lm-footer-social{display:flex; justify-content:center; gap:16px; margin-bottom:18px;}
.lm-footer-social a{
  width:38px; height:38px; border:1px solid var(--lm-line); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--lm-muted);
  transition:border-color .2s, color .2s;
}
.lm-footer-social a:hover{border-color:var(--lm-gold); color:var(--lm-gold-bright);}
.lm-fnote-legal{color:#6a624f; font-size:11px; margin-top:6px;}

/* botones flotantes */
.lm-floating-buttons{
  position:fixed; right:20px; bottom:20px; z-index:9000;
  display:flex; flex-direction:column; gap:12px; align-items:flex-end;
}
.lm-float-btn{
  width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.4); transition:transform .2s;
}
.lm-float-btn:hover{transform:scale(1.08);}
.lm-float-whatsapp{background:#3aa15c;}
.lm-float-facebook{background:#3b5998;}
.lm-float-instagram{background:radial-gradient(circle at 30% 110%, #ffdb73 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%);}

/* miniaturas de galería en el lightbox */
.lm-thumbs{
  display:flex; gap:8px; justify-content:center; flex-wrap:wrap; max-width:760px;
}
.lm-thumb{
  width:56px; height:56px; padding:0; border:1px solid var(--lm-line); background:#0f0d0a;
  cursor:pointer; overflow:hidden; opacity:.6; transition:opacity .2s, border-color .2s;
}
.lm-thumb img{width:100%; height:100%; object-fit:contain;}
.lm-thumb:hover{opacity:1;}
.lm-thumb.is-active{opacity:1; border-color:var(--lm-gold);}

@media(max-width:900px){
  .lm-burger{display:flex !important;}

  .lm-mainnav{
    display:block !important;
    position:fixed !important; top:0 !important; right:0 !important; left:auto !important;
    bottom:0 !important; height:100% !important; width:min(300px,80vw) !important;
    max-width:80vw !important; margin:0 !important; float:none !important;
    background:#131110 !important; border-left:1px solid #2a2419 !important;
    box-shadow:-10px 0 30px rgba(0,0,0,.5) !important;
    z-index:99998 !important; padding:90px 28px 28px !important;
    transform:translateX(100%) !important; transition:transform .3s ease !important;
    overflow-y:auto !important;
  }
  .lm-mainnav.lm-open{transform:translateX(0) !important;}
  .lm-mainnav-list{flex-direction:column !important; gap:6px !important;}
  .lm-mainnav-list a{
    display:block !important; padding:12px 4px !important; font-size:15px !important;
    border-bottom:1px solid #2a2419 !important; white-space:normal !important;
  }

  .lm-contacto-grid{grid-template-columns:1fr !important;}
  .lm-contacto-mapa{height:260px !important;}
}

@media(max-width:640px){
  .lm-floating-buttons{right:14px !important; bottom:14px !important; gap:10px !important;}
  .lm-float-btn{width:46px !important; height:46px !important;}
  .lm-topbar{gap:10px !important; flex-wrap:nowrap !important;}
  .lm-cart-btn{padding:9px 12px !important; font-size:12px !important;}
  .lm-wordmark{font-size:21px !important;}
  .lm-dato-valor{font-size:14px !important;}
}

/* Página completa (sin tema): reset básico */
html.luminarce-html, body.luminarce-fullpage{margin:0; padding:0; overflow-x:hidden !important; max-width:100%;}
html, body{overflow-x:hidden !important; transform:none !important; filter:none !important; perspective:none !important; background:#0b0a08 !important;}

/* ================= Mejoras: CTA, propuesta de valor, confianza, ofertas, specs ================= */

/* barra de ofertas */
.lm-oferta-banner{
  background:var(--lm-gold); color:#161006; text-align:center;
  font-size:12.5px; letter-spacing:.03em; font-weight:500;
  padding:9px 16px;
}

/* doble CTA en el hero */
.lm-hero-ctas{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.lm-hero-cta--solid{background:var(--lm-gold); color:#141008;}
.lm-hero-cta--solid:hover{background:var(--lm-gold-bright); color:#141008;}

/* propuesta de valor */
.lm-propuesta{
  text-align:center; padding:44px 28px 70px; max-width:760px; margin:0 auto;
}
.lm-propuesta p{
  font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(20px,3vw,28px);
  color:var(--lm-gold-bright); line-height:1.5; margin:0;
}

/* confianza: métodos de pago / política de cambios */
.lm-confianza-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:36px;
  border-top:1px solid var(--lm-line); padding-top:32px;
}
.lm-confianza-item p{color:var(--lm-muted); font-size:14px; line-height:1.7; margin:8px 0 0;}

/* etiqueta de oferta sobre la imagen del producto */
.lm-oferta-ribbon{
  position:absolute; top:10px; left:10px; z-index:2;
  background:var(--lm-gold); color:#161006; font-size:10.5px; font-weight:600;
  letter-spacing:.04em; text-transform:uppercase; padding:5px 10px;
}

/* especificaciones técnicas en la tarjeta */
.lm-specs{list-style:none; margin:0 0 4px; padding:0; display:flex; flex-direction:column; gap:2px;}
.lm-specs li{font-size:11.5px; color:var(--lm-muted);}
.lm-specs li span{color:var(--lm-text);}

/* botón "Comprar por WhatsApp" en la tarjeta */
.lm-buy-now-btn{
  width:100%; margin-top:8px; background:none; border:1px solid #3aa15c; color:#6fd08c;
  height:36px; font-size:12px; letter-spacing:.03em; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:7px;
  transition:background .2s, color .2s;
}
.lm-buy-now-btn:hover{background:#3aa15c; color:#f3fff5;}

/* ================= Móvil: objetivos táctiles más grandes ================= */
@media(max-width:640px){
  .lm-add-btn, .lm-buy-now-btn{min-height:42px !important;}
  .lm-qty button{width:34px !important; height:38px !important; font-size:17px !important;}
  .lm-filter-btn, .lm-check{min-height:38px !important; display:flex !important; align-items:center !important;}
  .lm-hero-cta{padding:14px 26px !important; font-size:13.5px !important;}
  .lm-confianza-grid{grid-template-columns:1fr !important;}
}

/* propuesta de valor dentro del hero (debajo del subtítulo) */
.lm-propuesta-inline{
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:clamp(17px,2.4vw,21px); color:var(--lm-gold-bright);
  max-width:560px; margin:-6px auto 30px; line-height:1.5;
}

/* burbuja de chat junto al botón flotante de WhatsApp */
.lm-wa-wrap{position:relative;}
.lm-wa-bubble{
  position:absolute; right:0; bottom:64px; width:220px;
  background:var(--lm-bg-soft); border:1px solid var(--lm-line);
  padding:12px 30px 12px 14px; font-size:13px; color:var(--lm-text);
  box-shadow:0 10px 24px rgba(0,0,0,.35);
  animation:lm-bubble-in .4s ease;
  font-family:'Jost',sans-serif;
}
.lm-wa-bubble::after{
  content:''; position:absolute; right:22px; bottom:-7px;
  width:12px; height:12px; background:var(--lm-bg-soft);
  border-right:1px solid var(--lm-line); border-bottom:1px solid var(--lm-line);
  transform:rotate(45deg);
}
.lm-wa-bubble a{color:var(--lm-text); text-decoration:none;}
.lm-wa-bubble a:hover{color:var(--lm-gold-bright);}
.lm-wa-bubble-close{
  position:absolute; top:4px; right:6px; background:none; border:none;
  color:var(--lm-muted); font-size:16px; cursor:pointer; line-height:1; padding:4px;
}
@keyframes lm-bubble-in{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}

@media(max-width:640px){
  .lm-wa-bubble{width:190px !important; font-size:12.5px !important; bottom:58px !important;}
}

/* ================= Página individual de producto ================= */
.lm-product-page{max-width:1200px; margin:0 auto; padding:36px 28px 80px;}
.lm-breadcrumb{
  display:inline-block; color:var(--lm-muted); text-decoration:none; font-size:13px;
  margin-bottom:28px; transition:color .2s;
}
.lm-breadcrumb:hover{color:var(--lm-gold-bright);}

.lm-product-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}

.lm-product-gallery{position:sticky; top:96px;}
.lm-product-zoom-box{
  position:relative; aspect-ratio:1/1; overflow:hidden; cursor:zoom-in;
  background:radial-gradient(circle at 50% 40%, #201a10 0%, #0f0d0a 75%);
  border:1px solid var(--lm-line);
}
.lm-product-zoom-box img{
  width:100%; height:100%; object-fit:contain; transition:transform .08s linear;
  transform-origin:50% 50%; will-change:transform;
}
.lm-product-thumbs{display:flex; gap:10px; margin-top:14px; flex-wrap:wrap;}
.lm-product-thumb{
  width:64px; height:64px; padding:0; border:1px solid var(--lm-line); background:#0f0d0a;
  cursor:pointer; overflow:hidden; opacity:.6; transition:opacity .2s, border-color .2s;
}
.lm-product-thumb img{width:100%; height:100%; object-fit:contain;}
.lm-product-thumb:hover{opacity:1;}
.lm-product-thumb.is-active{opacity:1; border-color:var(--lm-gold);}

.lm-product-info h1{font-size:clamp(26px,3.2vw,36px); margin:8px 0 14px; line-height:1.2;}
.lm-product-price{font-family:'Cormorant Garamond',serif; font-size:34px; color:var(--lm-gold-bright); margin-bottom:22px;}

.lm-specs-table{
  width:100% !important; border-collapse:collapse !important; margin:0 0 26px !important;
  background:transparent !important; border:none !important;
}
.lm-specs-table tr{border:none !important; border-bottom:1px solid var(--lm-line) !important; background:transparent !important;}
.lm-specs-table th{
  text-align:left !important; padding:9px 14px 9px 0 !important; color:var(--lm-muted) !important; font-weight:400 !important;
  font-size:12.5px !important; width:150px; white-space:nowrap; border:none !important; background:transparent !important;
  font-family:'Jost',sans-serif !important;
}
.lm-specs-table td{
  padding:9px 0 !important; color:var(--lm-text) !important; font-size:13.5px !important;
  border:none !important; background:transparent !important; font-family:'Jost',sans-serif !important;
}

.lm-product-actions{display:flex; gap:12px; margin-bottom:12px;}
.lm-product-actions .lm-add-btn{height:44px; font-size:13px;}
.lm-product-actions .lm-qty{height:44px;}
.lm-product-actions .lm-qty button{height:44px;}

.lm-buy-now-btn--big{height:46px; font-size:13.5px; margin-top:0;}
.lm-product-desc{margin-top:30px; padding-top:24px; border-top:1px solid var(--lm-line); color:var(--lm-muted); font-size:14px; line-height:1.8;}

@media(max-width:900px){
  .lm-product-grid{grid-template-columns:1fr !important; gap:30px !important;}
  .lm-product-gallery{position:static !important;}
}
@media(max-width:640px){
  .lm-product-page{padding:24px 18px 60px !important;}
  .lm-product-price{font-size:28px !important;}
}

/* precio con oferta */
.lm-price--oferta{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;}
.lm-price-old{
  font-family:'Jost',sans-serif; font-size:13px; color:var(--lm-muted);
  text-decoration:line-through; font-weight:300;
}

/* ================= Formulario de registro en Inicio + grilla por ambiente ================= */

.lm-lead-section{padding:70px 0; border-top:1px solid var(--lm-line);}
.lm-home-lead-form{
  display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:720px; margin:0 auto;
}
.lm-home-lead-form input{
  flex:1; min-width:180px; background:#0f0d0a; border:1px solid var(--lm-line); color:var(--lm-text);
  padding:13px 14px; font-family:'Jost',sans-serif; font-size:14px;
}
.lm-home-lead-form input:focus{outline:none; border-color:var(--lm-gold);}
.lm-home-lead-form input::placeholder{color:var(--lm-muted);}
.lm-home-lead-form button{flex:0 0 auto; border:none; cursor:pointer;}
.lm-home-lead-msg{text-align:center; color:var(--lm-gold-bright); font-family:'Cormorant Garamond',serif; font-size:19px; max-width:480px; margin:0 auto;}

.lm-usos-section{padding:70px 0 90px; border-top:1px solid var(--lm-line);}
.lm-usos-grid{
  max-width:1320px; margin:0 auto; padding:0 28px;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:18px;
}
.lm-uso-tile{
  position:relative; aspect-ratio:4/5; overflow:hidden; display:block;
  background:radial-gradient(circle at 50% 40%, #201a10 0%, #0f0d0a 75%);
  border:1px solid var(--lm-line);
}
.lm-uso-tile img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  filter:brightness(.55); transition:transform .4s ease, filter .3s ease;
}
.lm-uso-tile:hover img{transform:scale(1.06); filter:brightness(.4);}
.lm-uso-tile-label{
  position:absolute; left:16px; bottom:16px; right:16px;
  color:#fff; font-family:'Cormorant Garamond',serif; font-size:20px; letter-spacing:.02em;
}

@media(max-width:640px){
  .lm-home-lead-form{flex-direction:column !important;}
  .lm-home-lead-form input, .lm-home-lead-form button{width:100% !important;}
  .lm-usos-grid{grid-template-columns:repeat(2,1fr) !important; gap:10px !important; padding:0 18px !important;}
  .lm-uso-tile-label{font-size:16px !important;}
}

/* ================= Popup de ofertas activas ================= */
.lm-ofertas-modal{
  width:min(760px,94vw); max-height:86vh; overflow-y:auto;
}
.lm-ofertas-filtros{
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px;
}
.lm-ofertas-filtro-btn{
  background:none; border:1px solid var(--lm-line); color:var(--lm-muted);
  font-family:'Jost',sans-serif; font-size:12.5px; padding:8px 16px; border-radius:100px;
  cursor:pointer; transition:all .2s;
}
.lm-ofertas-filtro-btn:hover{color:var(--lm-text); border-color:var(--lm-gold);}
.lm-ofertas-filtro-btn.is-active{color:#141008; background:var(--lm-gold); border-color:var(--lm-gold);}

.lm-ofertas-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px;
}
.lm-oferta-card{
  display:block; text-decoration:none; background:var(--lm-card); border:1px solid var(--lm-line);
  transition:border-color .2s, transform .2s;
}
.lm-oferta-card:hover{border-color:var(--lm-gold); transform:translateY(-2px);}
.lm-oferta-card-img{
  position:relative; aspect-ratio:1/1;
  background:radial-gradient(circle at 50% 40%, #201a10 0%, #0f0d0a 75%);
}
.lm-oferta-card-img img{width:100%; height:100%; object-fit:contain;}
.lm-oferta-card-body{padding:10px 12px 14px;}
.lm-oferta-card-name{font-size:12px; color:var(--lm-text); line-height:1.3; margin-bottom:6px; min-height:31px;}
.lm-ofertas-empty{text-align:center; color:var(--lm-muted); padding:30px 10px; font-size:14px;}

@media(max-width:640px){
  .lm-ofertas-grid{grid-template-columns:repeat(2,1fr) !important;}
}

/* etiqueta de stock (últimas unidades / agotado) */
.lm-stock-ribbon{
  position:absolute; top:10px; right:10px; z-index:2;
  background:#c9463f; color:#fff; font-size:10.5px; font-weight:600;
  letter-spacing:.04em; text-transform:uppercase; padding:5px 10px;
}
.lm-stock-ribbon--agotado{background:#3a352c;}
.lm-card--agotado .lm-imgwrap img{opacity:.5;}

/* ================= Chatbot ================= */
.lm-chat-wrap{position:fixed; left:20px; bottom:20px; z-index:8999; display:flex; align-items:flex-end; gap:0;}

.lm-chat-bubble-hint{
  position:relative; margin-right:12px; margin-bottom:6px;
  background:var(--lm-bg-soft); border:1px solid var(--lm-line);
  padding:10px 26px 10px 14px; font-size:12.5px; line-height:1.4; color:var(--lm-text);
  font-family:'Jost',sans-serif; white-space:nowrap;
  box-shadow:0 10px 24px rgba(0,0,0,.35);
  animation:lm-bubble-in .4s ease;
}
.lm-chat-bubble-hint strong{color:var(--lm-gold-bright); font-weight:500;}
.lm-chat-bubble-content{display:flex; align-items:center; gap:10px;}
.lm-chat-bubble-avatar{
  flex-shrink:0; width:36px; height:36px; border-radius:50%;
  background:var(--lm-gold); overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.lm-chat-bubble-avatar img{width:100%; height:100%; object-fit:cover;}
.lm-chat-bubble-text{line-height:1.4;}
.lm-chat-bubble-hint::after{
  content:''; position:absolute; right:-6px; bottom:14px;
  width:12px; height:12px; background:var(--lm-bg-soft);
  border-right:1px solid var(--lm-line); border-bottom:1px solid var(--lm-line);
  transform:rotate(-45deg);
}
.lm-chat-bubble-close{
  position:absolute; top:2px; right:4px; background:none; border:none;
  color:var(--lm-muted); font-size:15px; cursor:pointer; padding:4px; line-height:1;
}
.lm-chat-bubble-hint.lm-hidden{display:none;}

.lm-chat-toggle{
  position:relative; z-index:8999; flex-shrink:0;
  width:56px; height:56px; border-radius:50%; border:none; cursor:pointer;
  background:var(--lm-gold); color:#141008; overflow:hidden; padding:0;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.4); transition:transform .2s;
}
.lm-chat-toggle img{width:100%; height:100%; object-fit:cover;}
.lm-chat-toggle:hover{transform:scale(1.08);}
.lm-chat-toggle.lm-hidden{display:none;}

.lm-chat-panel{
  position:fixed; left:20px; bottom:90px; z-index:99000;
  width:min(360px,90vw); height:min(520px,70vh);
  background:var(--lm-bg-soft); border:1px solid var(--lm-line);
  box-shadow:0 20px 50px rgba(0,0,0,.5);
  display:flex; flex-direction:column;
  opacity:0; transform:translateY(12px); pointer-events:none; transition:opacity .25s, transform .25s;
  font-family:'Jost',sans-serif; color:var(--lm-text);
}
.lm-chat-panel.lm-open{opacity:1; transform:translateY(0); pointer-events:auto;}

.lm-chat-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-bottom:1px solid var(--lm-line);
  font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--lm-gold-bright);
}
.lm-chat-head button{background:none; border:none; color:var(--lm-muted); font-size:20px; cursor:pointer;}

.lm-chat-messages{flex:1; overflow-y:auto; padding:14px 16px; display:flex; flex-direction:column; gap:10px;}
.lm-chat-msg{
  max-width:85%; padding:9px 12px; font-size:13.5px; line-height:1.5; border-radius:2px;
}
.lm-chat-msg--bot{background:var(--lm-card); border:1px solid var(--lm-line); align-self:flex-start;}
.lm-chat-msg--user{background:var(--lm-gold); color:#141008; align-self:flex-end;}
.lm-chat-msg--typing{color:var(--lm-muted); font-style:italic;}

.lm-chat-products{display:flex; flex-direction:column; gap:8px; align-self:flex-start; max-width:92%; width:100%;}
.lm-chat-product{
  display:flex; gap:10px; padding:8px; background:var(--lm-card); border:1px solid var(--lm-line);
  align-items:center;
}
.lm-chat-product-link{
  display:flex; gap:10px; align-items:center; flex:1; min-width:0;
  text-decoration:none; color:var(--lm-text); cursor:pointer;
}
.lm-chat-product-link:hover .lm-chat-product-name{color:var(--lm-gold-bright);}
.lm-chat-product img{width:48px; height:48px; object-fit:contain; background:#0f0d0a; flex-shrink:0;}
.lm-chat-product-info{flex:1; min-width:0;}
.lm-chat-product-name{font-size:12px; line-height:1.3; transition:color .15s;}
.lm-chat-product-price{font-family:'Cormorant Garamond',serif; color:var(--lm-gold-bright); font-size:15px;}
.lm-chat-product{transition:border-color .2s;}
.lm-chat-product--seleccionado{border-color:var(--lm-gold);}
.lm-chat-product-qty{
  flex-shrink:0; display:flex; align-items:center; border:1px solid var(--lm-line);
}
.lm-chat-product-qty button{
  background:none; border:none; color:var(--lm-text); width:26px; height:28px; cursor:pointer; font-size:14px;
}
.lm-chat-product-qty button:hover{color:var(--lm-gold-bright);}
.lm-chat-qval{width:20px; text-align:center; font-size:12px; color:var(--lm-gold-bright);}

.lm-chat-input-row{display:flex; border-top:1px solid var(--lm-line);}
.lm-chat-input-row input{
  flex:1; background:none; border:none; color:var(--lm-text); padding:12px 14px; font-size:13.5px; font-family:'Jost',sans-serif;
}
.lm-chat-input-row input:focus{outline:none;}
.lm-chat-input-row input::placeholder{color:var(--lm-muted);}
.lm-chat-input-row button{background:none; border:none; color:var(--lm-gold); cursor:pointer; padding:0 16px;}

.lm-chat-cart-bar{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:10px 14px; border-top:1px solid var(--lm-line); background:#0f0d0a;
  font-size:12px; color:var(--lm-muted);
}
.lm-chat-cart-actions{display:flex; gap:8px;}
.lm-chat-cart-bar button{
  background:#3aa15c; color:#f3fff5; border:none; padding:9px 12px; font-size:12px; cursor:pointer; white-space:nowrap;
}
.lm-chat-clear-btn{background:none !important; color:var(--lm-muted) !important; border:1px solid var(--lm-line) !important;}
.lm-chat-clear-btn:hover{color:#e08a8a !important; border-color:#e08a8a !important;}

@media(max-width:640px){
  .lm-chat-wrap{left:14px !important; bottom:14px !important;}
  .lm-chat-bubble-hint{max-width:180px !important; white-space:normal !important;}
  .lm-chat-panel{left:10px !important; right:10px !important; width:auto !important; bottom:82px !important;}
}

/* botones de opciones del chatbot guiado */
.lm-chat-options{display:flex; flex-wrap:wrap; gap:6px; align-self:flex-start; max-width:92%;}
.lm-chat-option-btn{
  background:none; border:1px solid var(--lm-gold); color:var(--lm-gold-bright);
  font-family:'Jost',sans-serif; font-size:12px; padding:7px 12px; border-radius:100px;
  cursor:pointer; transition:background .2s, color .2s;
}
.lm-chat-option-btn:hover:not(:disabled){background:var(--lm-gold); color:#141008;}
.lm-chat-option-btn:disabled{opacity:.4; cursor:default;}
