﻿:root{
    --brand:#00bdff;
    --brand-dark:#0090c7;
    --ink:#16294f;
    --ink-soft:#5b6472;
    --muted:#4f5a68;
    --line:#e6e6e6;
    --line-soft:#efefef;
    --bg-card:#efefef;
    --bg-page:#f4f6f8;
    --paper:#f5f5f5;
    --white:#fff;
    --radius:12px;
    --radius-sm:8px;
    --dark-blue--700:#16294f;
    --dark-blue-600:#012a4a;
    --navy:#00152B;
    --colortext:#5D5C5C;
    --filter-row-text:var(--ml-grey-700,#414750);
    --btn-blue:#0077a8;
    --btn-blue-dark:#005f87;
    --tint:rgb(227,242,253);
    --tint-text:rgb(0,110,165);
    --shadow-sm:0 1px 2px rgba(20,24,33,.05);
    --shadow-md:0 12px 28px rgba(20,24,33,.10);
    --focus-ring:0 0 0 3px rgba(0,189,255,.35);
    --ease:cubic-bezier(.22,.61,.36,1);
    --btn-dur:.2s;
    --font:'Noto Sans',sans-serif;
    --fs-sm:13px;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    font-family:'Noto Sans',sans-serif;
    color:var(--ink);
    background:var(--bg-page);
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none;}

  .crumb{
    padding:16px 20px 0;font-size:13px;color:var(--ink-soft);
    max-width:1500px;margin:0 auto;box-sizing:border-box;
    line-height:1.5;overflow-wrap:anywhere;
  }
  .crumb b{color:var(--brand-dark);}
  .crumb a{cursor:pointer;transition:color .12s ease,text-decoration-color .12s ease;}
  .crumb a:hover{text-decoration:underline;color:var(--dark-blue--700);}
  .crumb a:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:2px;}
  .crumb .crumb-active{color:var(--brand-dark);font-weight:700;}

  .layout{
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:50px;
    row-gap:36px;
    padding:24px 20px 60px;
    max-width:1500px;
    margin:auto;
    align-items:start;
    transition:grid-template-columns .32s ease,column-gap .32s ease;
  }
  .category-heading{
    grid-column:1;
    grid-row:1;
    margin:0;padding:0;max-width:none;
    min-width:0;
    align-self:start;
  }
  .category-heading h1{
    font-size:28px;font-weight:800;color:var(--dark-blue--700);margin:0;letter-spacing:-.2px;line-height:1.15;
    overflow-wrap:anywhere;word-break:break-word;
  }
  .category-heading .showing{
    margin:8px 0 0;
    font-size:14px;
    color:var(--ink-soft);
    line-height:1.4;
  }
  .category-heading .count{display:none !important;}
  .category-heading[hidden],
  .category-heading:empty{display:none !important;margin:0;}
  .filters-desktop-heading{
    display:none;align-items:center;justify-content:space-between;gap:12px;
    margin:0 0 8px;letter-spacing:0;
    padding:10px 8px;
    border-bottom:1px solid var(--line);
    user-select:none;
    background:#e8eef5;
    box-sizing:border-box;
  }
  .results-toolbar{
    grid-column:2;
    grid-row:1;
    position:relative;
    z-index:30;
    min-width:0;
    align-self:end;
    display:flex;
    align-items:flex-end;
    gap:12px;
  }
  .filters-rail{
    grid-column:1;
    grid-row:2;
    width:300px;
    max-width:300px;
    box-sizing:border-box;
    align-self:start;
    opacity:1;
    transition:max-width .32s ease,width .32s ease,opacity .28s ease;
  }
  .filters-desktop-only{display:block;}
  /* Drawer mobile: oculto en desktop */
  aside.filters{
    display:none;
  }
  .filters-desktop-heading:hover .filters-desktop-title,
  .filters-desktop-heading:hover .filters-collapse-btn{color:var(--dark-blue--700);}
  .filters-desktop-title{
    font-size: 16px;
    font-weight: 700;color:var(--ink);
    pointer-events:none;
  }
  .filters-collapse-btn{
    display:inline-flex;align-items:center;justify-content:center;
    width:auto;height:auto;padding:4px;flex:none;
    border:none;background:transparent;border-radius:6px;
    color:var(--ink-soft);cursor:pointer;
    transition:color .12s,background .12s;
    pointer-events:auto;
  }
  .filters-collapse-btn:hover{border:none;background:transparent;color:var(--dark-blue--700);}
  .filters-collapse-btn svg{display:block;}
  .filters-expand-btn{
    display:inline-flex;align-items:center;gap:8px;
    border:1px solid var(--line);background:#fff;
    border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;color:var(--ink);
    cursor:pointer;transition:border-color .12s,background .12s;flex:none;align-self:stretch;
  }
  .filters-expand-btn:hover{border-color:#c3cad6;background:var(--bg-card);}
  .count-row-left{display:none;align-items:center;gap:12px;min-width:0;flex-wrap:wrap;}
  .layout.filters-collapsed .count-row-left{display:flex;}
  .results-body{
    grid-column:2;
    grid-row:2;
    min-width:0;
    padding-top:0;
  }
  @media (min-width:901px){
    .layout.filters-collapsed{
      grid-template-columns:minmax(0,1fr);
      grid-template-rows:auto auto auto;
      column-gap:0;
    }
    .layout.filters-collapsed .filters-rail,
    .layout.filters-collapsed .filters-desktop-heading{
      display:none;
    }
    .layout.filters-collapsed .category-heading{
      grid-column:1;
      grid-row:1;
      margin:0;
    }
    .layout.filters-collapsed .results-toolbar{
      grid-column:1;
      grid-row:2;
      align-self:stretch;
    }
    .layout.filters-collapsed .results-body{
      grid-column:1;
      grid-row:3;
    }
    .layout.filters-collapsed .filters-expand-btn{display:inline-flex;}
    .layout.filters-collapsed .count-row-left{order:2;}
    .layout.filters-collapsed .toolbar-right{order:1;}
    .layout.filters-collapsed .grid{grid-template-columns:repeat(4,1fr);}
    .layout.filters-collapsed .grid.list{grid-template-columns:repeat(4,minmax(0,1fr));}
  }
  @media (min-width:901px) and (max-width:1440px){
    .crumb{padding:16px 48px 0;}
    .layout{padding:24px 48px 60px;}
  }
  @media (min-width:901px) and (max-width:1200px){
    .layout{
      grid-template-columns:260px minmax(0,1fr);
      column-gap:32px;
    }
    .filters-rail{width:260px;max-width:260px;}
    .layout.filters-collapsed .grid{grid-template-columns:repeat(3,1fr);}
    .layout.filters-collapsed .grid.list{grid-template-columns:repeat(3,minmax(0,1fr));}
    .grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (min-width:1600px){
    .crumb,
    .layout{max-width:1500px;}
    .grid{grid-template-columns:repeat(3,1fr);}
  }

  .facet-group{border-bottom:1px solid var(--line);padding:14px 0;}
  .facet-group:first-child{padding-top:6px;}
  .facet-group:last-child{border-bottom:none;}
  .facet-title{
    display:flex;align-items:center;justify-content:space-between;cursor:pointer;
    font-weight:600;font-size:16px;
    color:var(--dark-blue--700);transition:opacity .12s;
  }
  .facet-title:hover{opacity:.72;}
  .facet-title .chev{
    display:inline-flex;align-items:center;justify-content:center;
    color:#868686;line-height:0;flex:none;
    transform:rotate(90deg);
    transition:transform .18s ease;
  }
  .facet-title .chev svg{display:block;}
  .facet-group.collapsed .facet-title .chev{transform:rotate(0deg);}
  .facet-group.is-pinned .facet-title{cursor:default;}
  .facet-group.is-pinned .facet-title:hover{opacity:1;}
  .facet-group.is-pinned .facet-title .chev{display:none;}
  .ft-label{display:flex;align-items:center;gap:9px;}
  .ft-label svg{flex:none;color:rgb(0,110,165);}
  .facet-body{margin-top:16px;display:flex;flex-direction:column;gap:4px;}
  .facet-group.collapsed .facet-body{display:none;}
  .facet-row{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;user-select:none;
  color:var(--filter-row-text);border-radius:6px;margin:0;padding:6px 8px;transition:background .12s,color .12s,font-weight .12s;
  width:100%;min-width:0;max-width:none;}
  .facet-row > span:not(.cb-wrap):not(.count):not(.dot){
    min-width:0;overflow-wrap:anywhere;word-break:break-word;
  }
  .facet-row:hover{background:rgb(227,242,253);color:rgb(0,110,165);}
  .facet-row:hover .cb-wrap .box{border-color:rgb(0,110,165);}
  .cb-wrap{position:relative;width:18px;height:18px;flex:none;display:inline-block;}
  .cb-wrap input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer;}
  .cb-wrap .box{
    position:absolute;inset:0;border:1.5px solid #d5d9e0;border-radius:5px;background:#fff;
    display:flex;align-items:center;justify-content:center;pointer-events:none;transition:background .12s,border-color .12s;
  }
  .cb-wrap .box svg{width:11px;height:11px;opacity:0;transition:opacity .1s;}
  .cb-wrap input:checked + .box{background:var(--dark-blue--700);border-color:var(--dark-blue--700);}
  .cb-wrap input:checked + .box svg{opacity:1;}
  .cb-wrap input:focus-visible + .box{outline:2px solid var(--brand);outline-offset:2px;}
  .facet-row .count{
    margin-left:auto;color:var(--filter-row-text);font-size:12px;
  }
  .dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none;}
  .dot.luz-dot{
    width:10px;height:10px;
    box-shadow:0 0 0 1px rgba(20,24,33,.18) inset, 0 1px 2px rgba(20,24,33,.12);
  }
  .facet-row .dot.temp-dot,
  .fmn-option-row .dot.temp-dot,
  .facet-row .dot.color-dot,
  .fmn-option-row .dot.color-dot{
    width:12px;height:12px;
    box-shadow:0 0 0 1px rgba(20,24,33,.18) inset, 0 1px 2px rgba(20,24,33,.1);
  }
  .facet-row .dot.color-dot.light,
  .fmn-option-row .dot.color-dot.light{
    box-shadow:0 0 0 1px rgba(20,24,33,.28);
  }
  .facet-row.is-empty{opacity:.55;}
  .soon-note{font-size:12px;color:var(--ink-soft);font-style:italic;line-height:1.4;}
  .facet-row.familia-row{
    font-weight:400;
    padding:7px 8px 7px 25px;
  }
  .facet-row.familia-row.active{
    background:rgb(227,242,253);color:rgb(0,110,165);font-weight:400;
  }

  .facet-switch-group{padding:12px 0;}
  .facet-switch{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    cursor:pointer;user-select:none;margin:0;font-weight:600;font-size:16px;
    color:var(--dark-blue--700);
  }
  .facet-switch .ft-label{min-width:0;}
  .switch-ui{position:relative;flex:none;display:inline-flex;align-items:center;}
  .smart-switch-input{
    position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer;z-index:1;
  }
  .switch-track{
    width:40px;height:22px;border-radius:999px;background:#d5d9e0;
    position:relative;display:block;transition:background .18s var(--ease);
    pointer-events:none;
  }
  .switch-thumb{
    position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;
    background:#fff;box-shadow:0 1px 3px rgba(20,24,33,.22);
    transition:transform .18s var(--ease);
  }
  .smart-switch-input:checked + .switch-track{background:var(--dark-blue--700);}
  .smart-switch-input:checked + .switch-track .switch-thumb{transform:translateX(18px);}
  .smart-switch-input:focus-visible + .switch-track{
    outline:2px solid var(--brand);outline-offset:2px;
  }

  /* Banner de video arriba de la grilla (familia / macrofamilia). */
  .category-banner{
    position:relative;
    width:100%;
    max-width:100%;
    border-radius:16px;
    overflow:hidden;
    margin:0 0 18px;
    min-height:220px;
    background:#0a1420;
    box-sizing:border-box;
  }
  .category-banner.has-video{
    height:clamp(220px, 28vw, 380px);
    min-height:0;
    cursor:pointer;
  }
  .category-banner.has-video.is-loading::after{
    content:"";
    position:absolute;
    right:14px;
    top:14px;
    z-index:2;
    width:22px;
    height:22px;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.35);
    border-top-color:#fff;
    animation:category-banner-spin .7s linear infinite;
    pointer-events:none;
  }
  @keyframes category-banner-spin{to{transform:rotate(360deg);}}
  .category-banner[hidden]{display:none;}
  #macroled-productos .category-banner{
    display:block !important;
  }
  #macroled-productos .category-banner[hidden]{
    display:none !important;
  }
  #macroled-productos .category-banner.has-video{
    display:block !important;
  }
  #macroled-productos .category-banner video,
  #macroled-productos .category-banner__media{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .category-banner__media{
    position:absolute;inset:0;
    width:100%;height:100%;
    object-fit:cover;
    display:block;
    background:#0a1420;
  }
  .category-banner__toggle{
    position:absolute;
    left:14px;
    bottom:14px;
    z-index:2;
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,21,43,.72);
    color:#fff;
    cursor:pointer;
    backdrop-filter:blur(6px);
    transition:background .15s, transform .15s;
  }
  .category-banner__toggle:hover{
    background:rgba(0,21,43,.9);
    transform:scale(1.04);
  }
  .category-banner__toggle:focus-visible{
    outline:2px solid #fff;
    outline-offset:2px;
  }
  @media (max-width:900px){
    .category-banner{min-height:160px;margin-bottom:14px;}
    .category-banner.has-video{
      height:clamp(160px, 48vw, 260px);
      min-height:0;
    }
    .category-banner__toggle{width:38px;height:38px;left:10px;bottom:10px;}
  }

  .subfam-track{
    display:flex;gap:14px;overflow-x:auto;scroll-behavior:smooth;
    padding:4px 6px 12px;scrollbar-width:none;-ms-overflow-style:none;
  }
  .subfam-track::-webkit-scrollbar{display:none;}
  .subfam-card{
    position:relative;flex:none;width:148px;border-radius:10px;border:1.5px solid #e5e5e5;
    background:#ededed;display:flex;align-items:center;justify-content:center;
    gap:10px;padding:16px 10px;cursor:pointer;transition:border-color .12s,background .12s;user-select:none;
  }
  .subfam-card:hover{background:rgb(227,242,253);border-color:var(--brand);}
  .subfam-card:hover .subfam-label{color:rgb(66, 136, 171);font-weight:700;}
  .subfam-card.active{background:rgb(227,242,253); border-color:var(--brand);}
  .subfam-media{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex:none;}
  .subfam-media img{max-width:100%;max-height:100%;object-fit:contain;}
  .subfam-label{font-size:13px;font-weight:600;color:var(--ink);text-align:center;line-height:1.3;transition:color .12s,font-weight .12s;}
  .subfam-check{
    position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:5px;
    background:var(--dark-blue--700);display:flex;align-items:center;justify-content:center;
  }
  .subfam-check svg{width:11px;height:11px;}
  .subfam-nav{
    position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;
    background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
    cursor:pointer;font-size:15px;color:var(--ink-soft);box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:2;
  }
  .subfam-nav.prev{left:-14px;}
  .subfam-nav.next{right:-14px;}

  .macro-row{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:7px 8px 7px 25px;
    font-size:14px;font-weight:400;color:var(--filter-row-text);cursor:pointer;
    width:100%;margin:0;border-radius:6px;
    transition:color .12s,background .12s,font-weight .12s;
  }
  .macro-row:hover{
    background:rgb(227,242,253);
    color:rgb(0,110,165);
    font-weight:600;
  }
  .facet-row.familia-row:hover{font-weight:600;}
  .macro-row.active{color:var(--brand-dark);font-weight:400;}
  .macro-row .count{color:var(--filter-row-text);font-size:12px;font-weight:400;}

  /* Rango de Potencia (slider dual + inputs en W) */
  .potencia-range{display:flex;flex-direction:column;gap:14px;padding:4px 2px 2px;}
  .potencia-slider{
    position:relative;height:28px;display:flex;align-items:center;
  }
  .potencia-track{
    position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;border-radius:999px;
    background:#d9dee6;pointer-events:none;
  }
  .potencia-fill{
    position:absolute;top:0;bottom:0;border-radius:999px;background:var(--brand);
  }
  .potencia-slider input[type="range"]{
    position:absolute;left:0;right:0;top:0;width:100%;margin:0;appearance:none;background:transparent;
    pointer-events:none;height:28px;
  }
  .potencia-slider input[type="range"]::-webkit-slider-runnable-track{
    background:transparent;height:4px;border:none;
  }
  .potencia-slider input[type="range"]::-webkit-slider-thumb{
    appearance:none;pointer-events:auto;width:18px;height:18px;border-radius:50%;
    background:var(--brand);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.2);
    cursor:pointer;position:relative;z-index:2;
    margin-top:-7px; /* centra el thumb (18px) sobre el track (4px) */
  }
  .potencia-slider input[type="range"]::-moz-range-track{
    background:transparent;height:4px;border:none;
  }
  .potencia-slider input[type="range"]::-moz-range-thumb{
    pointer-events:auto;width:18px;height:18px;border-radius:50%;
    background:var(--brand);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.2);
    cursor:pointer;border:2px solid #fff;
  }
  .potencia-inputs{display:flex;align-items:center;justify-content:space-between;gap:12px;}
  .potencia-field{
    flex:1;display:flex;align-items:center;gap:8px;
    background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;
  }
  .potencia-field input{
    width:100%;min-width:0;border:0;outline:0;font:inherit;font-size:14px;font-weight:600;
    color:var(--dark-blue--700);background:transparent;
  }
  .potencia-field span{flex:none;font-size:13px;font-weight:700;color:var(--ink-soft);}

  .results-search{
    flex:1;min-width:0;margin-bottom:0;
    display:flex;align-items:stretch;gap:10px;
  }
  .results-search .search-bar{flex:1;min-width:0;}
  .results-search .filters-toggle{display:none;}
  .results-search select.sort{flex:none;align-self:stretch;}
  .results-search .view-toggle{flex:none;align-self:stretch;}
  .results-search .view-toggle button{height:100%;}
  .search-bar{
    display:flex;align-items:center;gap:10px;
    border:1px solid var(--line);border-radius:10px;
    padding:12px 16px;background:#fff;margin-bottom:0;
    transition:border-color .15s,box-shadow .15s;
  }
  .search-bar:focus-within{border-color:#0090c7;box-shadow:none;}
  .search-bar:focus-within svg{color:var(--brand-dark);}
  .search-bar svg{flex:none;color:var(--ink-soft);}
  .search-bar input{
    border:none;outline:none;flex:1;min-width:0;
    font-size:14px;font-family:inherit;color:var(--ink);background:transparent;
  }
  .search-bar input::placeholder{color:var(--ink-soft);}

  .toolbar-top{
    display:flex;align-items:center;flex-wrap:wrap;gap:12px;
    margin-bottom:18px;
  }
  .toolbar-top:empty{display:none;margin-bottom:0;}
  .toolbar-top .label{font-size:13px;color:var(--ink-soft);font-weight:600;}
  .chips-row{
    display:flex;align-items:center;flex-wrap:wrap;gap:8px;
    flex:1;min-width:0;
  }
  .chip{
    display:flex;align-items:center;gap:8px;background:#e1edfb;color:var(--brand-dark);
    border-radius:20px;padding:6px 12px;font-size:13px;font-weight:600;
  }
  .chip button{border:none;background:none;color:var(--brand-dark);cursor:pointer;font-size:14px;line-height:1;}
  .clear-btn{
    margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:var(--radius-sm);
    padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .12s,color .12s;
    position:relative;z-index:2;pointer-events:auto;
  }
  .clear-btn:hover{border-color:rgb(0,110,165);color:rgb(0,110,165);}
  .count-row{
    display:none;align-items:center;justify-content:flex-end;margin:0;flex-wrap:wrap;gap:10px;flex:none;
  }
  .layout.filters-collapsed .count-row{display:flex;}
  .toolbar-right{display:none;align-items:center;gap:10px;}
  select.sort{
    border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;background:#fff;cursor:pointer;
    transition:border-color .12s;
  }
  select.sort:hover{border-color:#c3cad6;}
  .sort-dropdown{position:relative;z-index:1;flex:none;align-self:stretch;width:max-content;min-width:0;}
  .sort-dropdown.open{z-index:40;}
  .sort-trigger{
    width:max-content;height:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;
    padding:8px 14px;background:#fff;color:var(--ink);cursor:pointer;
    display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;
    align-items:center;column-gap:14px;row-gap:1px;font:inherit;font-size:13px;text-align:left;
    transition:border-color .12s,box-shadow .12s;
  }
  .sort-trigger:hover{border-color:#c3cad6;}
  .sort-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}
  .sort-prefix{grid-column:1;grid-row:1;font-size:11px;font-weight:500;color:var(--ink-soft);line-height:1.2;}
  .sort-current{grid-column:1;grid-row:1/3;font-weight:600;color:#5f6670;white-space:nowrap;line-height:1.25;}
  .sort-trigger svg{grid-column:2;grid-row:1/3;transition:transform .18s;}
  .sort-dropdown.open .sort-trigger svg{transform:rotate(180deg);}
  .sort-menu{
    position:absolute;top:calc(100% + 6px);right:0;left:auto;z-index:10030;width:180px;
    box-sizing:border-box;
    padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px;
    box-shadow:0 12px 28px rgba(10,14,25,.15);
  }
  .sort-menu[hidden]{display:none;}
  .sort-menu-title{
    display:block;padding:5px 12px 4px;color:var(--ink-soft);
    font-size:11px;font-weight:500;line-height:1.2;
  }
  .sort-option{
    width:100%;border:0;background:transparent;color:var(--ink);border-radius:7px;
    padding:7px 12px;text-align:left;font:inherit;font-size:13px;font-weight:400;cursor:pointer;
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    transition:background-color .12s,font-weight .12s;
  }
  .sort-option::after{
    content:"";width:14px;height:11px;flex:none;opacity:0;
    background-color:currentColor;
    -webkit-mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 11'%3E%3Cpath d='M1.5 5.5 5.25 9 12.5 1.5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 11'%3E%3Cpath d='M1.5 5.5 5.25 9 12.5 1.5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    margin-right:2px;
  }
  .sort-option:hover,.sort-option:focus-visible{
    background:#f5f5f5;color:var(--ink);font-weight:600;outline:none;
  }
  .sort-option.active{font-weight:400;}
  .sort-option.active:hover,.sort-option.active:focus-visible{font-weight:600;}
  .sort-option.active::after{opacity:1;}
  select.sort-native{
    position:absolute !important;width:1px !important;height:1px !important;
    padding:0 !important;margin:-1px !important;overflow:hidden !important;
    clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;
  }
  .view-toggle{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
  .view-toggle button{
    border:none;background:transparent;padding:8px 10px;cursor:pointer;font-size:15px;color:var(--ink-soft);
    transition:background .12s,color .12s;
  }
  .view-toggle button:hover:not(.active){background:var(--bg-card);}
  .view-toggle button.active{background:#fff;color:var(--dark-blue--700);}

  .filters-toggle{
    display:none;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;
    border-radius:var(--radius-sm);padding:9px 16px;font-size:13px;font-weight:600;color:var(--ink);
    cursor:pointer;transition:border-color .12s,background .12s;position:relative;
  }
  .filters-toggle:hover{border-color:#c3cad6;background:var(--bg-card);}
  .filters-count{
    position:absolute;top:-7px;right:-7px;z-index:1;
    width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;
    display:inline-grid;place-items:center;place-content:center;
    font-size:11px;font-weight:700;line-height:1;text-align:center;
    box-shadow:0 0 0 2px #fff;
  }
  .filters-count[hidden]{display:none;}
  .filters-backdrop{
    display:none;position:fixed;inset:0;background:rgba(10,14,25,.45);z-index:10040;
  }
  .filters-backdrop.open{display:block;}
  .filters-mobile-header,.filters-mobile-footer,.filters-mobile-nav{display:none;}

  .grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
    transition:opacity .2s ease, filter .2s ease;
  }
  .grid-shell{
    position:relative;min-height:120px;
  }
  .card-skel{pointer-events:none;}
  .card-skel:hover{transform:none;box-shadow:2px 3px 20px 2px rgba(0,17,33,.04);}
  .card-skel .card-content{gap:16px;padding-top:8px;}
  .card-skel .skel-title{margin-bottom:6px;}
  .skel{
    display:block;border-radius:8px;
    background:#eee;
    background-image:linear-gradient(90deg,#eee 0%,#f5f5f5 40%,#eee 80%);
    background-size:200% 100%;
    animation:skel-shimmer 1.15s ease-in-out infinite;
  }
  .skel-media{
    position:absolute;inset:0;border-radius:.75rem;width:auto;height:auto;
  }
  .skel-title{height:16px;width:78%;}
  .skel-line{height:12px;width:92%;}
  .skel-short{width:52%;}
  @keyframes skel-shimmer{
    0%{background-position:100% 0;}
    100%{background-position:-100% 0;}
  }
  @media (prefers-reduced-motion:reduce){
    .skel{animation:none;background:#eee;background-image:none;}
  }
  .grid-shell.is-filtering .grid{
    opacity:.38;filter:grayscale(.12);
    pointer-events:none;user-select:none;
  }
  .grid-loading{
    position:absolute;z-index:1000;
    left:var(--grid-loading-x, 50%);
    top:var(--grid-loading-y, 50%);
    display:none;
    transform:translate(-50%,-50%);
    pointer-events:none;
  }
  .grid-shell.is-filtering .grid-loading{display:flex;}
  .grid-loading__card{
    display:flex;flex-direction:column;align-items:center;gap:12px;
    background:rgba(255,255,255,.92);border:1px solid #e8ebf0;
    border-radius:14px;padding:18px 22px;
    box-shadow:0 10px 28px rgba(20,24,33,.10);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  }
  .grid-loading__spinner{
    width:28px;height:28px;border-radius:50%;
    border:2.5px solid #d7dee6;border-top-color:var(--btn-blue);
    animation:grid-spin .7s linear infinite;
  }
  .grid-loading__text{
    font-size:13px;font-weight:600;color:var(--ink-soft);letter-spacing:.1px;
  }
  @keyframes grid-spin{to{transform:rotate(360deg)}}
  @media (prefers-reduced-motion:reduce){
    .grid-loading__spinner,
    .card .media-frame.is-loading::after{animation:none;border-top-color:var(--btn-blue);}
    .grid-shell.is-filtering .grid{transition:none;}
  }
  .grid.list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
  }
  .grid.list .card{
    display:flex;
    flex-direction:row;
    align-items:stretch;
    gap:18px;
    padding:20px;
    min-height:180px;
  }
  .grid.list .card:hover{transform:none;}
  .grid.list .card .media{
    display:block;
    flex:0 0 156px;
    width:156px;
    height:156px;
    aspect-ratio:auto;
    margin:0;
    min-height:0;
  }
  .grid.list .media-frame{
    position:relative;
    width:156px;height:156px;
    border-radius:12px;
    background:#f0efef;
    display:flex;align-items:center;justify-content:center;
    overflow:hidden;
    min-height:156px;
  }
  .grid.list .card:hover .media-frame{background:#e6f8ff;}
  .grid.list .media-frame img{
    width:68%;height:68%;
    transform:none !important;
  }
  .grid.list .media-frame .nav-arrow{display:none !important;}
  .grid.list .card-content{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:0;
  }
  /* Lista: mismos overlays que el mosaico (temp abajo en la imagen) */
  .grid.list .card-overlays{display:block;}
  .grid.list .card-meta{display:none;}
  .grid.list .media-badges-left{
    top:8px;right:8px;left:auto;
    align-items:flex-end;
  }
  .grid.list .media-frame .smart-badge{
    transform:none;
    transform-origin:top right;
    padding:.32rem .55rem;
    font-size:11px;
    gap:4px;
  }
  .grid.list .media-frame .badge{
    top:8px;left:8px;
    padding:.32rem .55rem;
    font-size:11px;
  }
  .grid.list .card .ml-card-body{
    padding:0;min-width:0;margin:0;
    flex:1 1 auto;
    display:flex;flex-direction:column;justify-content:center;gap:16px;
  }
  .grid.list .card-title{
    font-size:16px;line-height:1.3;margin:0;
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  }
  .grid.list .specs{
    margin:0;gap:8px 20px;
    grid-template-columns:repeat(2,minmax(0,max-content));
  }
  .grid.list .compare-row{
    margin:auto 0 0;padding:10px 0 0;border-top:1px solid #edeff2;
    width:auto;flex-direction:row;justify-content:flex-start;
  }

  .card{
    display:flex;flex-direction:column;gap:.55rem;
    padding:.8rem;
    border-radius:1rem;
    border:solid 1px #f1f1f1;
    background:#fff;
    box-shadow:2px 3px 20px 2px rgba(0,17,33,.04);
    transition:transform .2s ease,box-shadow .2s ease;
    color:#1c1c1a;
    user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;
    position:relative;
  }
  .card-content{
    display:flex;flex-direction:column;flex:1;min-width:0;gap:0;
  }
  .card[data-href]{cursor:pointer;}
  .card:hover{transform:translateY(-3px);}
  .card .media{
    position:relative;aspect-ratio:1/1;
    border-radius:.75rem;background:#f0efef;
    display:flex;align-items:center;justify-content:center;overflow:hidden;
    margin:0;min-height:0;
    transition:background-color .25s ease;
    border: solid #f5f4f4 1px;
  }
  .card:hover .media{background:#e6f8ff;}
  .card .media-frame{
    position:absolute;inset:0;
    display:flex;align-items:center;justify-content:center;
    border-radius:inherit;
  }
  .card .media-frame.is-loading::after{
    content:"";
    position:absolute;
    left:50%;top:50%;
    width:26px;height:26px;
    margin:-13px 0 0 -13px;
    border-radius:50%;
    border:2.5px solid #d7dee6;
    border-top-color:var(--btn-blue);
    animation:grid-spin .7s linear infinite;
    pointer-events:none;
    z-index:1;
  }
  .card .media-frame.is-loading img{
    opacity:0;
  }
  .card .media img{
    width:62%;height:62%;object-fit:contain;box-sizing:border-box;
    transition:transform .25s ease, opacity .15s ease;
  }
  .card:hover .media img{transform:scale(1.08);}
  /* Mosaico: variantes izq + temp der sobre la imagen */
  .card-meta{display:none;}
  .card-overlays{
    display:block;
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
    margin:0;padding:0;
  }
  .card-overlays:empty{display:none;}
  .card-overlays .badge,
  .card-overlays .temp-dots{pointer-events:auto;}
  .badge{
    position:absolute;top:.4rem;left:.35rem;right:auto;z-index:3;
    background:#fff8d6;border:solid #efd16a 1px;border-radius:8px;
    padding:.45rem .7rem;font-size:.68rem;font-weight:500;line-height:1;
    letter-spacing:.03em;color:#836a14;display:inline-flex;align-items:center;gap:6px;
    white-space:nowrap;margin:0;max-width:58%;
    overflow:hidden;text-overflow:ellipsis;
  }
  .badge svg{display:none;}
  .media-badges-left{
    position:absolute;top:.6rem;right:.6rem;left:auto;z-index:2;
    display:flex;flex-direction:column;align-items:flex-end;gap:6px;
  }
  .dim-badge{
    position:absolute;left:8px;bottom:8px;z-index:2;
    color:#3d3d3d;
    display:flex;flex-direction:column;align-items:center;gap:1px;
    pointer-events:none;
  }
  .dim-badge svg{display:block;width:24px;height:19px;}
  .dim-badge-label{
    font-size:9px;font-weight:700;letter-spacing:.06em;line-height:1;
    color:#3d3d3d;
  }
  .smart-badge{
    background:linear-gradient(135deg,#00bdff,#0090c7);color:#fff;
    border-radius:999px;padding:.45rem .7rem;font-size:.60rem;font-weight:500;
    letter-spacing:.03em;line-height:1;
    display:flex;align-items:center;gap:5px;
    box-shadow:0 3px 10px rgba(0,144,199,.35);white-space:nowrap;
  }
  .smart-badge svg{flex:none;}
  .count-badge{
    background:transparent;border:none;color:#00688c;
    border-radius:999px;padding:0;font-size:.9rem;font-weight:700;
    line-height:1.15;white-space:nowrap;
  }
  .temp-dots{
    position:absolute;bottom:8px;right:8px;top:auto;left:auto;z-index:2;
    display:inline-flex;flex-direction:row;align-items:center;gap:8px;
    background:#fff;border:1px solid var(--line);border-radius:20px;
    padding:5px 8px;box-shadow:0 1px 3px rgba(20,24,33,.06);
    max-width:calc(100% - 16px);
    overflow:hidden;
    margin:0;
  }
  .grid.list .card-overlays .temp-dots{
    bottom:6px;right:6px;padding:4px 6px;gap:5px;
  }
  .temp-dots-row{
    display:flex;align-items:center;gap:5px;min-width:0;
  }
  .temp-dots-label{
    font-size:12px;font-weight:600;color:var(--colortext);line-height:1;
    white-space:nowrap;
  }
  .temp-dots .luz-dot{width:10px;height:10px;flex:none;}
  .temp-dots-icon{
    display:none;
    align-items:center;justify-content:center;
    flex:none;color:var(--colortext);line-height:0;
  }
  .temp-dots-icon svg{display:block;width:12px;height:12px;}
  /* solo círculos; al hover se deslizan los nombres hacia la izquierda */
  .temp-dots.is-collapsed{
    gap:4px;
    padding:5px 7px;
  }
  .temp-dots.is-collapsed .temp-dots-label{
    max-width:0;
    opacity:0;
    overflow:hidden;
    margin:0;
    transform:translateX(6px);
    transition:max-width .28s ease, opacity .2s ease, transform .28s ease;
  }
  .temp-dots.is-collapsed .temp-dots-row{gap:0;}
  @media (hover:hover) and (pointer:fine){
    .card:hover .temp-dots.is-collapsed,
    .card:focus-within .temp-dots.is-collapsed{
      gap:14px;
      padding:5px 10px 5px 12px;
    }
    .card:hover .temp-dots.is-collapsed .temp-dots-label,
    .card:focus-within .temp-dots.is-collapsed .temp-dots-label{
      max-width:72px;
      opacity:1;
      transform:translateX(0);
    }
    .card:hover .temp-dots.is-collapsed .temp-dots-row,
    .card:focus-within .temp-dots.is-collapsed .temp-dots-row{
      gap:6px;
    }
  }
  .nav-arrow{
    position:absolute;top:50%;transform:translateY(-50%) scale(.85);background:rgba(255,255,255,.95);
    border:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    cursor:pointer;color:var(--dark-blue--700);z-index:3;
    opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease,background .15s,color .15s;
    box-shadow:0 4px 14px rgba(20,24,33,.18);
  }
  .nav-arrow svg{pointer-events:none;}
  .card:hover .nav-arrow{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1);}
  .nav-arrow.prev{left:10px;}
  .nav-arrow.next{right:10px;}
  .nav-arrow:hover{background:var(--brand);color:#fff;box-shadow:0 6px 18px rgba(0,189,255,.4);}

  .ml-card-body{
    padding:0;display:flex;flex-direction:column;flex:1;gap:0;min-width:0;
    margin:10px 5px 18px;font-size:inherit;line-height:inherit;color:inherit;
  }
  .card-title {
    font-family:var(--font);
    font-size:1.1rem;
    font-weight:600;
    line-height:1.35;
    letter-spacing:0;
    color:#16294f;
    margin:0 0 10px;
  }
  .specs{
    display:grid;grid-template-columns:repeat(2,minmax(0,max-content));
    justify-content:start;
    column-gap:28px;row-gap:.5rem;
    margin:0;
  }
  .spec{min-width:0;}
  .spec b,
  .spec .spec-label{
    display:block;color:#94989c;font-size:.70rem;font-weight:500;
    letter-spacing:0;margin:0 0 2px;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .spec .val{
    display:flex;align-items:center;gap:.25rem;
    font-size:.80rem;font-weight:500;color:#474747;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .nav-arrow:focus-visible,.pagination button:focus-visible,.view-toggle button:focus-visible,.card[data-href]:focus-visible{
    outline:none;box-shadow:var(--focus-ring);
  }
  .compare-row{
    display:flex;align-items:center;gap:8px;font-size:13px;font-weight:400;color:var(--dark-blue--700);
    padding:12px .8rem 14px;border-top:1px solid #edeff2;cursor:default;
    margin:auto -.8rem -.8rem;width:calc(100% + 1.6rem);box-sizing:border-box;
    position:relative;z-index:2;
  }
  .compare-action{
    display:inline-flex;align-items:center;gap:8px;
    cursor:pointer;user-select:none;
    color:inherit;font:inherit;
    transition:color .15s ease,font-weight .15s ease;
  }
  .compare-action:hover{
    color:#0090c7;
    font-weight:700;
  }
  .compare-action:hover .cb-wrap .box{
    border-color:#0090c7;
  }
  .compare-row:has(.compare-checkbox:checked) .compare-action{font-weight:700;color:#0090c7;}
  .compare-row:has(.compare-checkbox:checked) .cb-wrap .box{
    background:#0090c7;border-color:#0090c7;
  }
  .compare-row.row-disabled .compare-action,
  .compare-action.is-disabled{opacity:.4;cursor:not-allowed;}
  .compare-row.row-disabled .compare-action:hover,
  .compare-action.is-disabled:hover{color:var(--dark-blue--700);font-weight:400;}
  .compare-row.row-disabled .compare-action:hover .cb-wrap .box,
  .compare-action.is-disabled:hover .cb-wrap .box{border-color:#d5d9e0;}
  .compare-action .cb-wrap{width:16px;height:16px;pointer-events:none;}
  .compare-action .compare-checkbox{pointer-events:none;}
  .compare-label{line-height:1.2;}

  .pagination{display:flex;justify-content:center;gap:8px;margin-top:32px;}
  .pagination button{
    border:1px solid var(--line);background:#fff;border-radius:var(--radius-sm);padding:8px 14px;
    cursor:pointer;font-size:13px;font-weight:600;transition:border-color .12s,background .12s;
  }
  .pagination button:hover:not(.active):not(:disabled){border-color:#c3cad6;background:var(--bg-card);}
  .pagination button.active{background:var(--brand);color:#fff;border-color:var(--brand);}
  .pagination button:disabled{opacity:.4;cursor:not-allowed;}

  .state-msg{
    padding:64px 20px;text-align:center;color:var(--ink-soft);font-size:14px;grid-column:1/-1;
    display:flex;flex-direction:column;align-items:center;gap:12px;
  }
  .state-msg svg{color:#c3cad6;}
  .state-msg .state-title{font-size:15px;font-weight:700;color:var(--ink);}

  /* Compare bar — misma que ficha; hueco a la derecha para el asistente */
  .compare-bar{
    position:fixed;left:20px;bottom:20px;transform:none;
    width:calc(100% - 40px - 168px);z-index:10020;
    transition:width .3s var(--ease),left .3s var(--ease);
    touch-action:manipulation;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }
  .compare-bar-inner{
    background:#fff;border-radius:14px;box-shadow:0 12px 32px rgba(10,14,25,.18);
    padding:12px 16px;border:1px solid #eef0f3;
  }
  .compare-bar-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;}
  .compare-bar-title{font-size:14px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;}
  .compare-count{
    background:var(--brand);color:#fff;font-size:11px;font-weight:700;
    width:20px;height:20px;border-radius:50%;flex:none;
    display:inline-grid;place-items:center;place-content:center;
    line-height:1;padding:0;margin:0;text-align:center;
  }
  .compare-toggle{
    border:none;background:none;cursor:pointer;color:var(--ink-soft);
    width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;
    transition:background .12s,transform .2s;flex:none;
  }
  .compare-toggle svg{transform:rotate(180deg);transition:transform .2s;}
  .compare-toggle:hover{background:var(--bg-card);}
  .compare-bar.collapsed .compare-bar-body{display:none;}
  .compare-bar.collapsed .compare-toggle svg{transform:rotate(0deg);}
  .compare-bar-body{
    display:flex;
    align-items:stretch;
    gap:10px;
    margin-top:14px;
    flex-wrap:nowrap;
    min-width:0;
  }
  .compare-items{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
    flex:1 1 0;
    width:0; /* reparte los 3 slots y evita que el CTA baje de fila */
    min-width:0;
  }
  .compare-chip{
    position:relative;
    display:flex;align-items:center;gap:10px;background:#f5f6f7;border:1px solid #eceef1;
    border-radius:10px;padding:9px 30px 9px 8px;
    width:auto;min-width:0;max-width:none;flex:none;
    box-sizing:border-box;overflow:hidden;
  }
  .compare-chip-remove{
    position:absolute;top:6px;right:6px;
    border:none;background:#fff;color:var(--ink-soft);width:18px;height:18px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;
    cursor:pointer;flex:none;box-shadow:0 1px 3px rgba(10,14,25,.15);transition:background .12s,color .12s;
  }
  .compare-chip-remove:hover{background:#fff;color:var(--ink);}
  .compare-chip-thumb {
    width: 46px;
    height: 46px;
    border-radius: 8px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    overflow: hidden;
    padding: 4px;
  }
  .compare-chip-thumb img{width:100%;height:100%;object-fit:contain;}
  .compare-chip-info{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;min-width:0;flex:1;overflow:hidden;}
  .compare-chip-name{
    font-size:14px;font-weight:700;color:var(--ink);line-height:1.25;
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
    max-width:100%;
  }
  .compare-chip-sku{font-size:11px;color:#6a7687;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
  .compare-slot-empty{
    width:auto;min-width:0;min-height:64px;height:100%;border-radius:10px;border:1.5px dashed #d8dce1;
    display:flex;align-items:center;justify-content:center;color:#c3c9d1;flex:none;font-size:16px;
    box-sizing:border-box;background:#fafbfc;
  }
  .compare-cta{
    margin-left:0;background:var(--btn-blue);color:#fff;border:none;border-radius:var(--radius-sm);
    padding:9px 32px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;
    white-space:nowrap;transition:background .15s;flex:0 0 auto;align-self:center;text-decoration:none;
  }
  .compare-cta svg{width:14px;height:14px;}
  .compare-cta:hover{background:var(--btn-blue-dark);color:#fff;}
  .compare-cta.disabled{background:#c3cad6;cursor:not-allowed;pointer-events:none;}
  .compare-actions{
    display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:5px;flex:0 0 auto;
  }
  .compare-clear{
    border:0;background:transparent;color:var(--ink-soft);padding:3px 32px;
    display:flex;align-items:center;justify-content:center;gap:5px;
    font-size:13px;font-weight:600;line-height:1.2;cursor:pointer;border-radius:6px;
    transition:color .15s,background .15s;
  }
  .compare-clear svg{width:14px;height:14px;flex:none;}
  .compare-clear:hover{color:var(--ink);background:transparent;}

  @media (min-width:901px){
    .compare-bar-body{flex-wrap:nowrap !important;}
    .compare-items{
      grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
    .compare-slot-empty{display:flex !important;}
  }

  /* Desktop mediano: compacto, pero cards un poco más altas */
  @media (min-width:901px) and (max-width:1400px){
    .compare-bar-inner{padding:10px 14px;}
    .compare-bar-title{font-size:13px;}
    .compare-bar-body{gap:8px;margin-top:12px;}
    .compare-items{gap:6px;}
    .compare-chip{
      gap:8px;
      padding:8px 26px 8px 7px;
      border-radius:9px;
    }
    .compare-chip-thumb{
      width:40px;height:40px;padding:3px;border-radius:7px;
    }
    .compare-chip-name{font-size:14px;font-weight:700;}
    .compare-chip-sku{font-size:11px;}
    .compare-chip-remove{top:5px;right:5px;width:16px;height:16px;font-size:12px;}
    .compare-slot-empty{min-height:56px;font-size:15px;border-radius:9px;}
  }
  @media (max-width:900px){
    .compare-cta,.compare-clear{padding-left:12px;padding-right:12px;}
    .layout{
      display:flex;
      flex-direction:column;
      gap:20px;
      padding:16px 16px 40px;
    }
    .results-toolbar,.results-body{width:100%;}
    .results-body{padding-top:0;}
    .filters-rail{display:none !important;}
    .filters-desktop-only{display:none !important;}
    .filters-desktop-heading{display:none !important;}
    .category-heading{
      order:-1;
      width:100%;
      padding:0;
      margin:0 0 8px;
    }
    .category-heading h1{font-size:28px;}
    .crumb{padding:14px 16px 0;font-size:13px;}
    .grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px;}
    .subfam-card{width:120px;}

    .card{
      padding:.65rem;gap:.55rem;border-radius:.85rem;
    }
    .card:hover{transform:none;}
    .card:hover .media img{transform:none;}
    .card .media{border-radius:.65rem;}
    .card .media img{width:58%;height:58%;}
    .card-overlays{display:block;}
    .badge{
      top:.35rem;left:.3rem;right:auto;
      font-size:12px;font-weight:500;max-width:52%;
      overflow:hidden;text-overflow:ellipsis;
      padding:.4rem .6rem;
    }
    .badge svg{display:none !important;}
    .smart-badge{
      padding:.4rem .6rem;font-size:.60rem;
    }
    .media-badges-left{top:.45rem;right:.45rem;left:auto;max-width:42%;}
    .temp-dots{
      bottom:6px;right:6px;top:auto;left:auto;
      padding:4px 7px;gap:5px;
      max-width:46%;
      overflow:hidden;
    }
    .temp-dots-icon{display:inline-flex;}
    .temp-dots .luz-dot{width:8px;height:8px;}
    .temp-dots-label{font-size:12px;}
    /* Mobile: icono + círculos, sin texto de tono */
    .temp-dots-label,
    .temp-dots.is-collapsed .temp-dots-label,
    .temp-dots.is-collapsed:hover .temp-dots-label,
    .temp-dots.is-collapsed:focus-within .temp-dots-label{
      display:none !important;
      max-width:0 !important;
      opacity:0 !important;
    }
    .temp-dots.is-collapsed,
    .temp-dots.is-collapsed:hover,
    .temp-dots.is-collapsed:focus-within{
      gap:5px;
      padding:4px 7px;
    }
    .temp-dots.is-collapsed .temp-dots-row,
    .temp-dots.is-collapsed:hover .temp-dots-row,
    .temp-dots.is-collapsed:focus-within .temp-dots-row{
      gap:0;
    }
    .grid.list .card-meta{display:none;}
    .grid.list .card-overlays{display:block;}
    .card-title{
      font-size:16px !important;line-height:1.35;margin:0 0 8px !important;
      display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
    }
    .ml-card-body{margin:8px 3px 14px;}
    .specs{gap:.45rem 20px;margin:0 0 6px;}
    .spec .spec-label,.spec b{font-size:12px !important;margin-bottom:2px;}
    .spec .val{font-size:14px !important;}
    .compare-row{
      font-size:14px;padding:10px .65rem 12px;gap:6px;
      margin:auto -.65rem -.65rem;width:calc(100% + 1.3rem);
    }
    .compare-row .cb-wrap{width:15px;height:15px;}
    .count-badge{font-size:12px;}

    .results-toolbar{
      flex-direction:column;
      align-items:stretch;
      align-self:stretch;
      width:100%;
      gap:5px;
    }
    .results-search{
      display:flex;
      align-items:stretch;
      width:100%;
      gap:10px;
      margin-bottom:0;
    }
    .results-search .search-bar{
      flex:1 1 0;
      width:auto;
      min-width:0;
      margin:0;
    }
    .results-search .search-bar input{
      width:100%;
      flex:1;
      min-width:0;
    }
    .results-search .filters-toggle{
      display:inline-flex;
      flex:none;
      align-items:center;
      justify-content:center;
      gap:8px;
      align-self:stretch;
      padding:0 14px;
      min-height:48px;
      white-space:nowrap;
    }
    .nav-arrow{display:none !important;}
    .filters-expand-btn{display:none !important;}

    .count-row{
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      margin-bottom:0;
    }
    .count-row-left{flex:1;min-width:0;}
    .toolbar-right{flex:none;gap:6px;}
    .results-search .view-toggle,
    .results-search select.sort{
      display:none;
    }
    .view-toggle button{
      min-width:40px;
      min-height:40px;
      padding:8px 11px;
      font-size:16px;
    }
    .toolbar-top{
      display:flex;
      flex-wrap:wrap;
      align-items:flex-start;
      gap:8px;
      margin-bottom:12px;
    }
    .toolbar-top .label{
      flex:0 0 100%;
      width:100%;
      margin:0 0 2px;
      position:static;
    }
    .chips-row{
      flex:0 0 100%;
      width:100%;
      gap:8px;
    }
    .chip{
      font-size:13px;padding:6px 11px;max-width:100%;
      overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    }
    .clear-btn{margin-left:0;font-size:13px;}

    .grid.list{
      grid-template-columns:1fr !important;
      gap:12px;
    }
    .grid.list .card{
      display:flex;
      flex-direction:row;
      align-items:stretch;
      gap:14px;
      padding:16px;
      min-height:176px;
    }
    .grid.list .card .media{
      flex:0 0 148px;
      width:148px;
      height:148px;
    }
    .grid.list .media-frame{width:148px;height:148px;min-height:148px;border-radius:10px;}
    .grid.list .media-frame img{width:64%;height:64%;}
    .grid.list .specs{margin:4px 0 0;grid-template-columns:1fr;}
    .grid.list .card-title{font-size:17px !important;}
    .grid.list .compare-row{
      margin:auto 0 0;padding:8px 0 0;width:auto;
      font-size:14px;
    }

    aside.filters{
      display:flex;
      position:fixed;left:0;right:0;bottom:0;top:auto;
      width:auto;max-width:none;
      height:min(78vh,720px);max-height:min(78vh,720px);
      height:min(78dvh,720px);max-height:min(78dvh,720px);
      background:#fff;border-radius:18px 18px 0 0;
      box-shadow:0 -10px 34px rgba(10,14,25,.22);
      transform:translateY(100%);
      opacity:1;
      transition:transform .28s ease;
      z-index:10045;
      padding:0 20px max(12px,env(safe-area-inset-bottom));
      flex-direction:column;
      overflow:hidden;
      pointer-events:auto;
      box-sizing:border-box;
    }
    aside.filters.open{transform:translateY(0);}

    .filters-mobile-header{
      display:flex;align-items:center;justify-content:space-between;
      padding:18px 0 14px;position:sticky;top:0;background:#fff;
      font-size:17px;font-weight:800;color:var(--ink);z-index:2;
      flex:none;
    }
    .filters-close{
      border:none;background:var(--bg-card);width:30px;height:30px;border-radius:50%;
      font-size:18px;line-height:1;color:var(--ink-soft);cursor:pointer;
    }

    .filters-mobile-nav{
      display:block;flex:1;overflow:hidden;position:relative;min-height:0;
      margin-right:-20px;margin-left:-20px;
    }
    .fmn-screen{
      position:absolute;inset:0;overflow-y:auto;display:none;
      padding-right:32px;padding-left:20px;box-sizing:border-box;scrollbar-gutter:stable;
      -webkit-overflow-scrolling:touch;
    }
    .fmn-screen.active{display:block;}

    .fmn-row{
      display:flex;align-items:center;justify-content:space-between;gap:12px;
      padding:15px 4px;border-bottom:0;cursor:pointer;
      font-size:15px;font-weight:600;color:var(--ink);
    }
    .fmn-row-label{
      display:flex;align-items:center;gap:10px;min-width:0;
    }
    .fmn-row-label svg{
      width:16px;height:16px;flex:none;color:rgb(0,110,165);
    }
    .fmn-active-count{
      margin-left:6px;color:var(--ink-soft);font-size:13px;font-weight:600;
    }
    .fmn-section-end{
      border-bottom:0;
    }
    .fmn-filters-start,
    .fmn-secondary-start{
      position:relative;margin-top:18px;border-top:0;
    }
    .fmn-filters-start::before,
    .fmn-secondary-start::before{
      content:"";position:absolute;top:-10px;left:-20px;right:-32px;
      height:1px;background:var(--line);pointer-events:none;
    }
    .fmn-row.fmn-switch-row{cursor:pointer;}
    .fmn-row.fmn-switch-row{border-bottom:0;}
    .fmn-switch-row .ft-label{font-size:15px;font-weight:600;color:var(--ink);}
    .fmn-switch-row .ft-label svg{color:rgb(0,110,165);}
    .fmn-row-meta{display:flex;align-items:center;gap:8px;font-weight:400;color:var(--ink-soft);font-size:14px;min-width:0;}
    .fmn-row-meta span:first-child{max-width:min(160px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .fmn-chev{
      display:inline-flex;align-items:center;justify-content:center;
      color:#868686;line-height:0;flex:none;
    }
    .fmn-chev svg{display:block;}

    .fmn-detail-header{
      padding:14px 0;
      border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1;
    }
    .fmn-back{
      display:flex;align-items:center;gap:10px;border:none;background:none;cursor:pointer;
      padding:0;font-size:16px;font-weight:800;color:var(--ink);min-width:0;
    }
    .fmn-back-icon{
      width:26px;height:26px;border-radius:50%;background:var(--bg-card);
      display:flex;align-items:center;justify-content:center;
      color:#868686;flex:none;line-height:0;
    }
    .fmn-back-icon svg{
      display:block;
      transform:rotate(180deg);
    }
    .fmn-detail-title{font-size:16px;font-weight:800;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .fmn-detail-body{padding:6px 0 20px;}

    .fmn-option-row{
      display:flex;align-items:center;gap:12px;padding:12px 4px;
      font-size:15px;color:var(--colortext);cursor:pointer;
      min-width:0;
    }
    .fmn-option-row > span:not(.fmn-checkbox):not(.fmn-radio):not(.fmn-count):not(.dot){
      min-width:0;overflow-wrap:anywhere;
    }
    .fmn-option-row.active{color:var(--ink);font-weight:600;}
    .fmn-option-row.is-empty{opacity:.55;}
    .fmn-option-row.disabled{opacity:.4;pointer-events:none;}
    .fmn-count{margin-left:auto;color:var(--ink-soft);font-size:13px;font-weight:400;flex:none;}

    .fmn-radio{
      width:20px;height:20px;border-radius:50%;border:1.5px solid #d5d9e0;flex:none;
      display:flex;align-items:center;justify-content:center;
    }
    .fmn-option-row.active .fmn-radio{border-color:var(--dark-blue--700);}
    .fmn-option-row.active .fmn-radio::after{
      content:"";width:10px;height:10px;border-radius:50%;background:var(--dark-blue--700);
    }

    .fmn-checkbox{
      width:20px;height:20px;border:1.5px solid #d5d9e0;border-radius:5px;flex:none;
      display:flex;align-items:center;justify-content:center;background:#fff;
    }
    .fmn-checkbox svg{width:11px;height:11px;}
    .fmn-option-row.active .fmn-checkbox{background:var(--dark-blue--700);border-color:var(--dark-blue--700);}
    .fmn-view-option-icon{
      display:inline-flex;align-items:center;justify-content:center;
      margin-left:auto;color:var(--ink-soft);font-size:18px;font-weight:400;line-height:1;
    }

    .filters-mobile-footer{
      display:flex;flex-direction:column;gap:8px;position:sticky;bottom:0;background:#fff;
      padding:14px 0 max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);
    }
    .filters-apply{
      width:100%;background:#0077a8;color:#fff;border:none;border-radius:var(--radius-sm);
      padding:14px;font-size:14px;font-weight:700;cursor:pointer;
    }
    #macroled-productos .filters-mobile-footer .filters-clear{
      width:100%;height:auto;margin:0;padding:8px 14px;border:0;background:transparent;
      color:var(--ink-soft);font-size:14px;font-weight:600;text-align:center;
      transition:color .15s,background .15s;
    }
    #macroled-productos .filters-mobile-footer .filters-clear:hover{
      border:0;background:transparent;color:var(--ink);
    }

    .potencia-inputs{gap:8px;}
    .potencia-field{min-width:0;flex:1;}
    .potencia-field input{width:100%;min-width:0;}

    select.sort{display:none;}
  }
  @media (max-width:640px){
    .layout{padding:16px 16px 40px;gap:16px;}
    .crumb{padding:12px 16px 0;font-size:13px;}
    .category-heading h1{font-size:26px;}
    .category-banner{min-height:140px;border-radius:12px;}
    .category-banner.has-video{height:clamp(140px, 52vw, 220px);}
    .results-search{gap:8px;}
    .results-search .filters-toggle{padding:0 12px;font-size:12.5px;min-height:46px;}
    .count-row .showing{font-size:14px;}
    .filters-apply{font-size:15px;padding:15px;}
    #macroled-productos .filters-mobile-footer .filters-clear{font-size:15px;}

    /* Compare bar mobile — igual que ficha */
    .compare-bar{
      left:12px;
      bottom:12px;
      width:calc(100% - 84px);
      max-width:none;
    }
    .compare-bar-inner{padding:14px 16px;}
    .compare-bar-title{font-size:14px;}
    .compare-bar button,
    .compare-bar a,
    .compare-cta{
      font-size:14px;
      font-weight:600;
    }
    .compare-chip-name{font-size:14px;font-weight:700;}
    .compare-chip-sku{font-size:12px;}
    .compare-chip-remove{font-size:16px;}
    .compare-checkbox{font-size:16px;}
    .compare-row{font-size:14px;}
    .compare-bar-body{
      flex-direction:column;
      align-items:stretch;
      gap:12px;
      margin-top:12px;
    }
    .compare-items{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
      width:100%;
      flex:none;
    }
    .compare-chip{
      width:100%;
      min-width:0;
      max-width:none;
      flex:none;
    }
    .compare-slot-empty{display:none;}
    .compare-cta{
      margin-left:0;
      width:100%;
      justify-content:center;
    }
    .compare-actions{width:100%;gap:8px;}
    .compare-bar .compare-clear{width:100%;padding:7px 10px;font-size:14px;font-weight:600;}
  }
  @media (max-width:560px){
    .grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px;}
    .layout{padding:12px 12px max(28px,env(safe-area-inset-bottom));gap:12px;}
    .crumb{padding:12px 12px 0;font-size:13px;}
    .card{padding:.55rem;gap:.5rem;border-radius:.75rem;}
    .card .media{border-radius:.55rem;}
    .card .media img{width:54%;height:54%;}
    .badge{font-size:12px;font-weight:500;top:.3rem;left:.25rem;padding:.35rem .5rem;max-width:50%;}
    .badge svg{display:none !important;}
    .ml-card-body{margin:6px 2px 10px;padding-bottom:0;}
    .grid.list .card .ml-card-body{padding-bottom:12px;}
    .card-title{font-size:15px !important;margin:0 0 6px !important;line-height:1.35;}
    .count-badge{font-size:12px;}
    .smart-badge{padding:.35rem .5rem;font-size:.60rem;}
    .temp-dots{bottom:5px;right:5px;top:auto;padding:3px 5px;max-width:44%;}
    .temp-dots .luz-dot{width:7px;height:7px;}
    .temp-dots-label{font-size:12px;}
    .grid.list .card-meta{display:none;}
    .specs{gap:.35rem 16px;margin:0 0 4px;}
    .spec .spec-label,.spec b{font-size:12px !important;}
    .spec .val{font-size:13px !important;}
    .compare-row{
      padding:8px .55rem 10px;font-size:14px;
      margin:auto -.55rem -.55rem;width:calc(100% + 1.1rem);
    }
    .compare-row .cb-wrap{width:14px;height:14px;}
    .grid.list .card{
      display:flex;
      gap:12px;
      padding:14px;
      min-height:160px;
    }
    .grid.list .card .media{
      flex:0 0 136px;
      width:136px;
      height:136px;
    }
    .grid.list .media-frame{width:136px;height:136px;min-height:136px;}
    .grid.list .card-title{font-size:16px !important;}
    .grid.list .compare-row{margin:0;padding:6px 0 0;width:auto;font-size:14px;}
    .grid.list .specs{grid-template-columns:1fr;}
    .results-search .filters-toggle{padding:0;width:46px;min-width:46px;font-size:0;gap:0;}
    .results-search .filters-toggle svg{margin:0;}
    .pagination{margin-top:20px;gap:6px;}
    .pagination button{padding:7px 11px;font-size:13px;}
    .count-row{margin-bottom:0;}
    .showing{font-size:14px;}
    .chip{font-size:13px;}
    .fmn-row{font-size:15px;}
    .fmn-row-meta{font-size:14px;}
  }

  @media (max-width:900px) and (hover:hover) and (pointer:fine){
    .card:hover{transform:translateY(-2px);}
    .card:hover .media img{transform:scale(1.06);}
  }
/* ============================================================
   Asistente — mismos estilos visuales que la ficha (styles.css).
   Tokens compartidos via :root; sin lógica propia acá.
   ============================================================ */

body.assistant-open{overflow:hidden;}
body.has-compare-bar .ai-launch{
  bottom:max(20px,env(safe-area-inset-bottom,0px));
}
body.assistant-open .ai-launch{
  visibility:hidden;
  pointer-events:none;
}
@media (min-width:641px){
  body.assistant-open .compare-bar{
    width:calc(100% - 20px - 400px - 16px);
    max-width:none;
  }
}
@media (max-width:640px){
  body.has-compare-bar .ai-launch{
    bottom:max(12px,env(safe-area-inset-bottom,0px));
  }
  body.assistant-open .compare-bar{
    display:none !important;
  }
}

.ai-launch{
  position:fixed;
  right:max(16px,env(safe-area-inset-right,0px));
  left:auto;
  bottom:max(20px,env(safe-area-inset-bottom,0px));
  z-index:10050;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  width:auto;height:48px;padding:8px 18px 8px 14px;border:none;border-radius:999px;
  background:#00152B !important;color:#fff !important;
  font-family:var(--font);
  font-size:15px !important;font-weight:600 !important;cursor:pointer;
  box-shadow:0 12px 32px rgba(0,21,43,.28);
  transition:transform var(--btn-dur) var(--ease),background var(--btn-dur) var(--ease),box-shadow var(--btn-dur) var(--ease),visibility .2s;
  -webkit-font-smoothing:antialiased;
}
.ai-launch:hover{
  background:#021c38 !important;
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(0,21,43,.34);
}
.ai-launch svg,
.ai-launch img,
.ai-launch-icon{
  flex:none;width:18px;height:18px;object-fit:contain;display:block;pointer-events:none;
  color:#fff;stroke:#fff;fill:none;
}
.ai-launch svg .ai-icon-spark,
.ai-avatar svg .ai-icon-spark{
  fill:#fff !important;
  stroke:none !important;
}
.ai-launch > span:not(.ai-launch-dot){
  color:#fff !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  opacity:1 !important;
  visibility:visible !important;
}
.ai-launch-dot{
  display:block !important;
  position:static !important;
  width:8px !important;
  height:8px !important;
  flex:none;
  border-radius:50%;
  background:#00bdff !important;
  border:none !important;
  box-shadow:0 0 0 3px rgba(0,189,255,.25) !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
}

.ai-backdrop{
  position:fixed;inset:0;z-index:10060;
  background:rgba(6,12,22,.35);
  opacity:0;pointer-events:none;transition:opacity .25s;
}
.ai-backdrop.is-open{opacity:1;pointer-events:auto;}

.ai-panel{
  position:fixed;top:0;right:0;z-index:10070;
  width:min(400px,100%);height:100%;
  background:var(--white);
  border-left:1px solid var(--line);
  display:flex;flex-direction:column;
  font-family:var(--font);
  color:var(--ink);
  font-weight:400;
  transform:translateX(105%);
  transition:transform .3s var(--ease);
  box-shadow:-16px 0 48px rgba(0,21,43,.12);
  -webkit-font-smoothing:antialiased;
}
.ai-panel.is-open{transform:none;}
.ai-panel *{font-family:inherit;}
.ai-panel a{font-weight:inherit;text-decoration:none;}

.ai-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:26px 18px 16px;border-bottom:1px solid var(--line-soft);
  background:#fff;
}
.ai-head-main{
  display:flex;align-items:center;gap:14px;min-width:0;
}
.ai-avatar{
  position:relative;flex:none;
  width:52px;height:52px;border-radius:50%;
  background:#00152B;
  color:#fff;
  display:grid;place-items:center;
  box-shadow:0 8px 20px rgba(0,21,43,.22);
}
.ai-avatar svg,
.ai-avatar img,
.ai-avatar-icon{
  display:block;width:22px;height:22px;object-fit:contain;color:#fff;stroke:#fff;fill:none;
}
.ai-avatar-online{
  position:absolute;right:2px;bottom:2px;
  width:12px;height:12px;border-radius:50%;
  background:#22c55e;border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(34,197,94,.25);
}
.ai-head-copy{min-width:0;}
.ai-head-copy h2{
  margin:0 0 4px;font-size:18px;font-weight:800;color:var(--navy);
  letter-spacing:-.2px;line-height:1.15;
}
.ai-head-sub{
  margin:0;font-size:14px;color:var(--muted);line-height:1.35;
}
.ai-proto{display:none !important;}
.ai-close{
  width:36px;height:36px;border:none;border-radius:var(--radius-sm);
  background:transparent;color:var(--muted);cursor:pointer;
  display:grid;place-items:center;flex:none;
  transition:
    background var(--btn-dur) var(--ease),
    border-color var(--btn-dur) var(--ease),
    color var(--btn-dur) var(--ease),
    transform var(--btn-dur) var(--ease),
    box-shadow var(--btn-dur) var(--ease);
}
.ai-close:hover{background:var(--bg-card);color:var(--navy);}
.ai-close svg{color:currentColor;stroke:currentColor;}

/* Solo ficha lo usa en HTML; en catálogo no aplica. */
.ai-product{
  display:flex;align-items:center;gap:12px;
  padding:14px 20px;background:var(--paper);
  border-bottom:1px solid var(--line-soft);
}
.ai-product img{
  width:48px;height:48px;object-fit:contain;border-radius:8px;
  background:var(--white);border:1px solid var(--line);padding:4px;
}
.ai-product strong{display:block;font-size:13px;color:var(--navy);}
.ai-product span{font-size:11px;color:var(--muted);}

.ai-messages{
  flex:1;overflow-y:auto;overflow-x:hidden;padding:18px 20px;
  display:flex;flex-direction:column;gap:14px;
}
.ai-msg{min-width:0;max-width:92%;font-size:13.5px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word;}
.ai-msg.bot{align-self:flex-start;}
.ai-msg.user{align-self:flex-end;}
.ai-bubble{
  padding:12px 14px;border-radius:12px;
  overflow-wrap:anywhere;word-break:break-word;overflow-x:hidden;max-width:100%;
}
.ai-msg.bot .ai-bubble{
  background:var(--paper);color:var(--ink);border-radius:4px 12px 12px 12px;
}
.ai-msg.user .ai-bubble{
  background:var(--navy);color:#fff;border-radius:12px 12px 4px 12px;
}
.ai-msg a{color:var(--btn-blue);font-weight:600;text-decoration:underline;overflow-wrap:anywhere;word-break:break-word;}
.ai-msg.user a{color:#9fe0ff;}

.ai-typing{
  display:none;align-self:flex-start;gap:4px;padding:12px 14px;
  background:var(--paper);border-radius:4px 12px 12px 12px;
  margin:0 20px 8px;
}
.ai-typing.is-on{display:flex;}
.ai-typing span{
  width:6px;height:6px;border-radius:50%;background:#b0b8c4;
  animation:aiDot 1s infinite ease-in-out;
}
.ai-typing span:nth-child(2){animation-delay:.15s;}
.ai-typing span:nth-child(3){animation-delay:.3s;}
@keyframes aiDot{
  0%,80%,100%{transform:translateY(0);opacity:.4}
  40%{transform:translateY(-3px);opacity:1}
}

.ai-suggestions{
  display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 12px;
}
.ai-chip{
  border:1px solid var(--line);background:var(--white);
  border-radius:var(--radius-sm);padding:8px 12px;
  font-family:var(--font);
  font-size:12px;font-weight:500;color:var(--ink);cursor:pointer;
  transition:
    background var(--btn-dur) var(--ease),
    border-color var(--btn-dur) var(--ease),
    color var(--btn-dur) var(--ease),
    transform var(--btn-dur) var(--ease),
    box-shadow var(--btn-dur) var(--ease);
}
.ai-chip:hover{border-color:var(--tint-text);background:var(--tint);color:var(--tint-text);}

.ai-form{
  display:flex;gap:8px;padding:14px 16px 18px;
  border-top:1px solid var(--line-soft);background:var(--white);
}
.ai-form input{
  flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:12px 14px;font-size:13.5px;font-family:inherit;color:var(--ink);
}
.ai-form input:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus-ring);}
.ai-send{
  width:44px;height:44px;border:none;border-radius:var(--radius-sm);
  background:var(--btn-blue);color:#fff;cursor:pointer;display:grid;place-items:center;flex:none;
  transition:
    background var(--btn-dur) var(--ease),
    border-color var(--btn-dur) var(--ease),
    color var(--btn-dur) var(--ease),
    transform var(--btn-dur) var(--ease),
    box-shadow var(--btn-dur) var(--ease);
}
.ai-send:hover{background:var(--btn-blue-dark);}
.ai-send:disabled{opacity:.45;cursor:not-allowed;transform:none !important;}
@media (hover:hover) and (pointer:fine){
  .ai-send:hover,
  .ai-chip:hover{
    transform:translateY(-1px);
  }
  .ai-send:active,
  .ai-chip:active{
    transform:translateY(0) scale(.98);
  }
}

@keyframes ml-enter{
  from{opacity:0;transform:translateY(6px);}
  to{opacity:1;transform:none;}
}
@keyframes ml-enter-fade{
  from{opacity:0;}
  to{opacity:1;}
}
@media (prefers-reduced-motion:no-preference){
  .crumb{
    animation:ml-enter .85s var(--ease) .04s both;
  }
  .category-heading{
    animation:ml-enter .9s var(--ease) .1s both;
  }
  .filters-rail{
    animation:ml-enter-fade .95s var(--ease) .14s both;
  }
  .filters-desktop-heading,
  .results-toolbar{
    animation:ml-enter .9s var(--ease) .18s both;
  }
  .results-body{
    animation:ml-enter .95s var(--ease) .22s both;
  }
  .card{
    animation:ml-enter-fade .7s var(--ease) both;
  }
  .card:nth-child(1){animation-delay:.18s;}
  .card:nth-child(2){animation-delay:.24s;}
  .card:nth-child(3){animation-delay:.3s;}
  .card:nth-child(4){animation-delay:.36s;}
  .card:nth-child(5){animation-delay:.42s;}
  .card:nth-child(6){animation-delay:.48s;}
  .card:nth-child(n+7){animation-delay:.52s;}
  .pagination{
    animation:ml-enter-fade .7s var(--ease) .45s both;
  }
  .ai-launch{
    animation:ml-enter .85s var(--ease) .4s both;
  }
}
@media (prefers-reduced-motion:reduce){
  .crumb,
  .category-heading,
  .filters-rail,
  .filters-desktop-heading,
  .results-toolbar,
  .results-body,
  .card,
  .pagination,
  .ai-launch{animation:none !important;}
}

@media (max-width:640px){
  .ai-launch{
    width:auto;height:44px;padding:8px 16px 8px 11px;
    border-radius:999px;
    justify-content:center;
  }
  .ai-launch svg,
  .ai-launch img,
  .ai-launch-icon{width:18px;height:18px;}
  .ai-launch-dot{width:8px;height:8px;}
  .ai-panel{width:100%;}
  .ai-head{padding:24px 16px 14px;}
  .ai-avatar{width:48px;height:48px;}
  .ai-head-copy h2{font-size:17px;}
  .ai-head-sub{font-size:14px;}
  .ai-form{padding:12px 14px max(14px,env(safe-area-inset-bottom));}
  #aiInput,
  .ai-form input,
  .ai-form input:focus{
    font-size:16px !important;
  }
  .ai-msg{font-size:14px;line-height:1.45;}
  .ai-chip{font-size:12px;}
}

/* Asistente: texto blanco + encima del nav Webflow (va al final) */
button.ai-launch,
.ai-launch{
  z-index:10050 !important;
  width:auto !important;
  height:48px !important;
  padding:8px 18px 8px 14px !important;
  border-radius:999px !important;
  background:#00152B !important;
  color:#fff !important;
  font-family:var(--font) !important;
  font-size:15px !important;
  font-weight:600 !important;
  -webkit-text-fill-color:#fff !important;
}
@media (max-width:640px){
  button.ai-launch,
  .ai-launch{
    width:auto !important;
    height:44px !important;
    padding:8px 16px 8px 11px !important;
  }
}
button.ai-launch > span,
.ai-launch > span,
button.ai-launch svg,
.ai-launch svg,
button.ai-launch img,
.ai-launch img{
  opacity:1 !important;
  visibility:visible !important;
}
button.ai-launch .ai-launch-dot,
.ai-launch .ai-launch-dot{
  display:block !important;
  position:static !important;
  right:auto !important;
  bottom:auto !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#00bdff !important;
  border:none !important;
  color:transparent !important;
  font-size:0 !important;
  box-shadow:0 0 0 3px rgba(0,189,255,.25) !important;
}
button.ai-launch svg,
.ai-launch svg{
  color:#fff !important;
  stroke:#fff !important;
  fill:none !important;
  -webkit-text-fill-color:#fff !important;
}
.ai-avatar svg{
  color:#fff !important;
  stroke:#fff !important;
  fill:none !important;
}
button.ai-launch svg .ai-icon-g,
.ai-launch svg .ai-icon-g,
.ai-avatar svg .ai-icon-g{
  fill:#fff !important;
  stroke:none !important;
}
button.ai-launch svg .ai-bubble-cut,
.ai-launch svg .ai-bubble-cut,
.ai-avatar svg .ai-bubble-cut{
  fill:#00152B !important;
  stroke:none !important;
}
button.ai-launch svg .ai-bubble-solid,
.ai-launch svg .ai-bubble-solid,
.ai-avatar svg .ai-bubble-solid{
  fill:#fff !important;
  stroke:none !important;
}
button.ai-launch svg .ai-bubble-outline,
.ai-launch svg .ai-bubble-outline,
.ai-avatar svg .ai-bubble-outline{
  fill:#00152B !important;
  stroke:#fff !important;
  stroke-width:1.85px !important;
  stroke-linejoin:round !important;
  stroke-linecap:round !important;
}
button.ai-launch svg .ai-bubble-dot-navy,
.ai-launch svg .ai-bubble-dot-navy,
.ai-avatar svg .ai-bubble-dot-navy{
  fill:#00152B !important;
  stroke:none !important;
}
button.ai-launch svg .ai-bubble-dot-white,
.ai-launch svg .ai-bubble-dot-white,
.ai-avatar svg .ai-bubble-dot-white{
  fill:#fff !important;
  stroke:none !important;
}
button.ai-launch svg .ai-icon-spark,
.ai-launch svg .ai-icon-spark,
.ai-avatar svg .ai-icon-spark{
  fill:#fff !important;
  stroke:none !important;
}
.ai-backdrop{z-index:10060 !important;}
.ai-panel{z-index:10070 !important;}
.compare-bar{z-index:899 !important;}
.filters-backdrop{z-index:10040 !important;}
aside.filters{z-index:10045;}
aside.filters.open{z-index:10045 !important;}
/* Con filtros abiertos en mobile, el asistente queda detrás del drawer */
body.filters-open .ai-launch,
body.filters-open button.ai-launch{
  z-index:10030 !important;
}

/* =========================================================
   Webflow isolation — gana a estilos globales del sitio
   ========================================================= */
#macroled-productos,
#macroled-productos *,
#macroled-productos *::before,
#macroled-productos *::after{
  box-sizing:border-box !important;
}
#macroled-productos{
  font-family:var(--font) !important;
  color:var(--ink) !important;
  -webkit-font-smoothing:antialiased;
}
#macroled-productos img{
  max-width:none !important;
  border:0 !important;
}
#macroled-productos button,
#macroled-productos input,
#macroled-productos select{
  font-family:inherit !important;
}
/* Webflow aplica `label { margin-bottom:5px; font-weight:bold; display:block }` */
#macroled-productos label{
  font-family:inherit !important;
  margin-bottom:0 !important;
  display:revert !important;
}
#macroled-productos label.facet-row{
  display:flex !important;
  align-items:center !important;
  font-weight:400 !important;
  width:100% !important;
  margin:0 !important;
}
#macroled-productos label.facet-row:hover{
  font-weight:600 !important;
}
#macroled-productos label.facet-switch,
#macroled-productos label.fmn-switch-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  margin:0 !important;
  font-weight:600 !important;
  width:100% !important;
}
#macroled-productos label.potencia-field{
  display:flex !important;
  margin-bottom:0 !important;
}
#macroled-productos label.compare-action{
  display:inline-flex !important;
  margin-bottom:0 !important;
}

/* Layout + título en celda izq (arriba de filtros) */
#macroled-productos .crumb{
  padding:16px 20px 0 !important;
  max-width:1500px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#macroled-productos .layout{
  display:grid !important;
  grid-template-columns:300px minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  column-gap:50px !important;
  row-gap:36px !important;
  padding:24px 20px 60px !important;
  max-width:1500px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  align-items:start !important;
}
#macroled-productos .filters-desktop-heading{
  grid-column:auto !important;
  grid-row:auto !important;
  margin:0 0 8px !important;
  background:#e8eef5 !important;
}
#macroled-productos .filters-desktop-title{
  font-size:16px !important;
  font-weight:700 !important;
}
#macroled-productos .facet-title{
  font-size:16px !important;
  font-weight:600 !important;
}
#macroled-productos .category-heading{
  grid-column:1 !important;
  grid-row:1 !important;
  margin:0 !important;
  min-width:0 !important;
  align-self:start !important;
}
#macroled-productos .category-heading h1{
  font-family:var(--font) !important;
  font-size:28px !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  letter-spacing:-.2px !important;
  color:var(--dark-blue--700) !important;
  margin:0 !important;
}

/* Comparador y asistente: anclados al viewport, también dentro de Webflow. */
#macroled-productos .compare-bar{
  position:fixed !important;
  top:auto !important;
  bottom:max(var(--compare-bar-gap,20px),env(safe-area-inset-bottom,0px)) !important;
  transform:none !important;
}

body.assistant-open #macroled-productos .ai-launch{
  visibility:hidden !important;
  pointer-events:none !important;
}
#macroled-productos .ai-launch{
  position:fixed !important;
  top:auto !important;
  right:max(16px,env(safe-area-inset-right,0px)) !important;
  bottom:max(20px,env(safe-area-inset-bottom,0px)) !important;
  z-index:2147483645 !important;
  width:auto !important;
  height:48px !important;
  min-width:0 !important;
  padding:8px 18px 8px 14px !important;
  gap:10px !important;
  border-radius:999px !important;
}
#macroled-productos .ai-backdrop{position:fixed !important;z-index:2147483646 !important;}
#macroled-productos .ai-panel{position:fixed !important;z-index:2147483647 !important;}

@media (max-width:640px){
  #macroled-productos .compare-bar{
    width:calc(100% - 96px) !important;
  }
  #macroled-productos .ai-launch{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    padding:0 !important;
    gap:0 !important;
    border-radius:50% !important;
  }
  #macroled-productos .ai-launch svg{width:24px !important;height:24px !important;}
  #macroled-productos .ai-launch > span:not(.ai-launch-dot){display:none !important;}
  #macroled-productos .ai-launch .ai-launch-dot{
    display:block !important;
    position:absolute !important;
    right:2px !important;
    bottom:2px !important;
    width:12px !important;
    height:12px !important;
    border:2px solid #fff !important;
    background:#22c55e !important;
    box-shadow:none !important;
  }
  #macroled-productos .ai-panel{width:100% !important;}
  #macroled-productos .ai-head{padding:24px 16px 14px !important;}
  #macroled-productos .ai-avatar{width:48px !important;height:48px !important;}
  #macroled-productos .ai-head-copy h2{font-size:20px !important;}
  #macroled-productos .ai-head-sub{font-size:15px !important;}
  #macroled-productos .ai-form{padding:12px 14px max(14px,env(safe-area-inset-bottom)) !important;}
}

/* Tipografía uniforme del comparador en desktop, tablet y mobile. */
#macroled-productos .compare-chip-name{
  font-size:14px !important;
}
#macroled-productos .compare-actions .compare-cta,
#macroled-productos .compare-actions .compare-clear{
  font-family:var(--font) !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}

/* Flotantes portados a body: evita que el contenedor de Webflow capture fixed. */
body > #compareBar.compare-bar{
  --compare-bar-gap:20px;
  position:fixed !important;
  top:auto !important;
  bottom:calc(max(var(--compare-bar-gap,20px),env(safe-area-inset-bottom,0px)) + var(--product-floating-lift,0px)) !important;
  z-index:899 !important;
  transform:none !important;
}
body > #compareBar .compare-chip-name,
body > #compareBar .compare-cta,
body > #compareBar .compare-clear{
  font-family:var(--font) !important;
  font-size:14px !important;
}
body > #compareBar .compare-cta,
body > #compareBar .compare-clear{
  font-weight:600 !important;
  line-height:1.2 !important;
}
body > #aiLaunch.ai-launch{
  position:fixed !important;
  top:auto !important;
  right:max(16px,env(safe-area-inset-right,0px)) !important;
  bottom:calc(max(20px,env(safe-area-inset-bottom,0px)) + var(--product-floating-lift,0px)) !important;
  z-index:2147483645 !important;
  width:auto !important;
  height:48px !important;
  min-width:0 !important;
  padding:8px 18px 8px 14px !important;
  gap:10px !important;
  border-radius:999px !important;
}
body > #aiBackdrop.ai-backdrop{position:fixed !important;z-index:2147483646 !important;}
body > #aiPanel.ai-panel{position:fixed !important;z-index:2147483647 !important;}
body.assistant-open > #aiLaunch.ai-launch{
  visibility:hidden !important;
  pointer-events:none !important;
}
@media (max-width:640px){
  body > #compareBar.compare-bar{
    --compare-bar-gap:12px;
    left:12px !important;
    width:calc(100% - 96px) !important;
  }
  body > #aiLaunch.ai-launch{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    padding:0 !important;
    gap:0 !important;
    border-radius:50% !important;
  }
  body > #aiLaunch.ai-launch svg{width:24px !important;height:24px !important;}
  body > #aiLaunch.ai-launch > span:not(.ai-launch-dot){display:none !important;}
  body > #aiLaunch.ai-launch .ai-launch-dot{
    display:block !important;
    position:absolute !important;
    right:2px !important;
    bottom:2px !important;
    width:12px !important;
    height:12px !important;
    border:2px solid #fff !important;
    background:#22c55e !important;
    box-shadow:none !important;
  }
  body > #aiPanel.ai-panel{width:100% !important;}
}
#macroled-productos .category-heading .showing{
  display:block !important;
  margin:8px 0 0 !important;
  font-size:14px !important;
  color:var(--ink-soft) !important;
}
#macroled-productos .category-heading .count{
  display:none !important;
}
#macroled-productos .filters-rail{
  grid-column:1 !important;
  grid-row:2 !important;
}
#macroled-productos .results-toolbar{
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  align-self:end !important;
  position:relative !important;
  z-index:30 !important;
  overflow:visible !important;
}
#macroled-productos .toolbar-right{
  display:none !important;
}
#macroled-productos .results-search select.sort{
  display:block !important;
  flex:none !important;
  align-self:stretch !important;
}
#macroled-productos .count-row{
  display:none !important;
}
#macroled-productos .search-bar{
  display:flex !important;
  align-items:center !important;
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:10px !important;
  box-shadow:none !important;
}
#macroled-productos .search-bar input{
  border:none !important;
  outline:none !important;
  background:transparent !important;
  box-shadow:none !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  font-family:var(--font) !important;
  font-size:14px !important;
  color:var(--ink) !important;
}
#macroled-productos .results-body{
  grid-column:2 !important;
  grid-row:2 !important;
  min-width:0 !important;
  padding-top:0 !important;
}
@media (min-width:901px){
  #macroled-productos .layout.filters-collapsed{
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:auto auto auto !important;
    column-gap:0 !important;
  }
  #macroled-productos .layout.filters-collapsed .filters-rail,
  #macroled-productos .layout.filters-collapsed .filters-desktop-heading{
    display:none !important;
  }
  #macroled-productos .layout.filters-collapsed .category-heading{
    grid-column:1 !important;
    grid-row:1 !important;
    margin:0 !important;
  }
  #macroled-productos .layout.filters-collapsed .results-toolbar{
    grid-column:1 !important;
    grid-row:2 !important;
    align-self:stretch !important;
  }
  #macroled-productos .layout.filters-collapsed .results-body{
    grid-column:1 !important;
    grid-row:3 !important;
  }
  #macroled-productos .layout.filters-collapsed .filters-expand-btn{
    display:inline-flex !important;
  }
  #macroled-productos .layout.filters-collapsed .count-row{
    display:flex !important;
  }
  #macroled-productos .layout.filters-collapsed .grid{
    grid-template-columns:repeat(3,1fr) !important;
  }
  #macroled-productos .layout.filters-collapsed .grid.list{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (min-width:901px) and (max-width:1440px){
  #macroled-productos .crumb{
    padding:16px 48px 0 !important;
  }
  #macroled-productos .layout{
    padding:24px 48px 60px !important;
  }
}
@media (min-width:901px) and (max-width:1200px){
  #macroled-productos .layout{
    grid-template-columns:260px minmax(0,1fr) !important;
    column-gap:32px !important;
  }
  #macroled-productos .layout.filters-collapsed .grid{
    grid-template-columns:repeat(3,1fr) !important;
  }
  #macroled-productos .layout.filters-collapsed .grid.list{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (min-width:1600px){
  #macroled-productos .crumb,
  #macroled-productos .layout{
    max-width:1500px !important;
  }
  #macroled-productos .grid{
    grid-template-columns:repeat(3,1fr) !important;
  }
}

/* Cards */
#macroled-productos .grid{
  display:grid !important;
  gap:20px !important;
}
@media (min-width:990px){
  #macroled-productos .grid{
    gap:16px !important;
  }
}
#macroled-productos .card-skel:hover{
  transform:none !important;
}
#macroled-productos .card{
  display:flex !important;
  flex-direction:column !important;
  gap:.55rem !important;
  padding:.8rem !important;
  position:relative !important;
  background:#fff !important;
  border:solid 1px #f1f1f1 !important;
  border-radius:1rem !important;
  box-shadow:2px 3px 20px 2px rgba(0,17,33,.04) !important;
  overflow:visible !important;
}
/* Vista lista: imagen + contenido en fila */
#macroled-productos .grid.list{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px !important;
}
#macroled-productos .grid.list .card{
  flex-direction:row !important;
  align-items:stretch !important;
  gap:18px !important;
  padding:20px !important;
  min-height:180px !important;
}
#macroled-productos .grid.list .card-content{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:0 !important;
}
#macroled-productos .grid.list .card .media{
  position:relative !important;
  flex:0 0 156px !important;
  width:156px !important;
  height:156px !important;
  max-width:156px !important;
  aspect-ratio:auto !important;
  display:block !important;
  overflow:hidden !important;
  margin:0 !important;
  border-radius:12px !important;
}
#macroled-productos .grid.list .media-frame{
  position:relative !important;
  inset:auto !important;
  width:156px !important;
  height:156px !important;
  min-height:156px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
}
#macroled-productos .grid.list .card .media img{
  width:68% !important;
  height:68% !important;
}
#macroled-productos .grid.list .compare-row{
  margin:auto 0 0 !important;
  width:auto !important;
  padding:10px 0 0 !important;
}
#macroled-productos .grid.list .ml-card-body{
  margin:0 !important;
  padding:0 !important;
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:16px !important;
}
#macroled-productos .grid.list .card-title{
  margin:0 !important;
}
#macroled-productos .card-content{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  gap:0 !important;
  position:relative !important;
}
#macroled-productos .card-skel .card-content{
  gap:16px !important;
  padding-top:8px !important;
}
#macroled-productos .card-skel .skel{
  display:block !important;
}
#macroled-productos .card-skel .skel-title{
  margin-bottom:6px !important;
}
#macroled-productos .card .media{
  position:relative !important;
  aspect-ratio:1 / 1 !important;
  width:100% !important;
  border-radius:.75rem !important;
  background:#f0efef !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  margin:0 !important;
  min-height:0 !important;
  flex:none !important;
  transition:background-color .25s ease !important;
}
#macroled-productos .card:hover .media{
  background:#e6f8ff !important;
}
#macroled-productos .grid.list .card:hover .media-frame{
  background:#e6f8ff !important;
}
#macroled-productos .card .media-frame{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  height:auto !important;
}
#macroled-productos .card .media-frame.is-loading::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:26px !important;
  height:26px !important;
  margin:-13px 0 0 -13px !important;
  border-radius:50% !important;
  border:2.5px solid #d7dee6 !important;
  border-top-color:var(--btn-blue) !important;
  animation:grid-spin .7s linear infinite !important;
  pointer-events:none !important;
  z-index:1 !important;
  background:none !important;
}
#macroled-productos .card .media-frame.is-loading img{
  opacity:0 !important;
}
#macroled-productos .card .media img{
  width:62% !important;
  height:62% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  position:relative !important;
  margin:0 !important;
}
/* Mosaico: badges sobre la imagen */
#macroled-productos .card-meta{
  display:none !important;
}
#macroled-productos .media-badges-left{
  position:absolute !important;
  top:.6rem !important;
  right:.6rem !important;
  left:auto !important;
  z-index:2 !important;
}
#macroled-productos .dim-badge{
  position:absolute !important;
  left:8px !important;
  bottom:8px !important;
  z-index:2 !important;
  width:auto !important;
  height:auto !important;
  color:#3d3d3d !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:1px !important;
  pointer-events:none !important;
}
#macroled-productos .dim-badge svg{
  display:block !important;
  width:24px !important;
  height:19px !important;
}
#macroled-productos .dim-badge-label{
  font-size:9px !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
  line-height:1 !important;
  color:#3d3d3d !important;
}
#macroled-productos .card-overlays{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  pointer-events:none !important;
  margin:0 !important;
  padding:0 !important;
}
#macroled-productos .card-overlays:empty{
  display:none !important;
}
#macroled-productos .card-overlays .badge,
#macroled-productos .card-overlays .temp-dots{
  pointer-events:auto !important;
  display:inline-flex !important;
}
#macroled-productos .badge{
  position:absolute !important;
  top:.6rem !important;
  left:.6rem !important;
  right:auto !important;
  bottom:auto !important;
  z-index:3 !important;
  display:inline-flex !important;
  background:#ddca97 !important;
  border:0 !important;
  border-radius:999px !important;
  padding:.45rem .7rem !important;
  font-size:.60rem !important;
  font-weight:600 !important;
  color:var(--dark-blue--700) !important;
  line-height:1 !important;
  letter-spacing:.03em !important;
  align-items:center !important;
  white-space:nowrap !important;
  margin:0 !important;
  max-width:58% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  text-transform:uppercase !important;
  box-shadow:0 3px 10px rgba(201,179,118,.35) !important;
}
#macroled-productos .temp-dots{
  position:absolute !important;
  bottom:8px !important;
  right:8px !important;
  top:auto !important;
  left:auto !important;
  z-index:2 !important;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:8px !important;
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:20px !important;
  padding:5px 8px !important;
  margin:0 !important;
  max-width:calc(100% - 16px) !important;
  overflow:hidden !important;
  box-shadow:0 1px 3px rgba(20,24,33,.06) !important;
  float:none !important;
}
#macroled-productos .temp-dots .luz-dot{
  width:10px !important;
  height:10px !important;
  border-radius:50% !important;
  display:inline-block !important;
  flex:none !important;
}
#macroled-productos .temp-dots.is-collapsed{
  gap:4px !important;
  padding:5px 7px !important;
}
@media (hover:hover) and (pointer:fine){
  #macroled-productos .card:hover .temp-dots.is-collapsed,
  #macroled-productos .card:focus-within .temp-dots.is-collapsed{
    gap:14px !important;
    padding:5px 10px 5px 12px !important;
  }
  #macroled-productos .card:hover .temp-dots.is-collapsed .temp-dots-label,
  #macroled-productos .card:focus-within .temp-dots.is-collapsed .temp-dots-label{
    max-width:72px;
    opacity:1;
    transform:translateX(0);
  }
  #macroled-productos .card:hover .temp-dots.is-collapsed .temp-dots-row,
  #macroled-productos .card:focus-within .temp-dots.is-collapsed .temp-dots-row{
    gap:6px;
  }
}
/* Lista: overlays sobre la imagen, como el mosaico */
#macroled-productos .grid.list .card-overlays{
  display:block !important;
}
#macroled-productos .grid.list .card-meta{
  display:none !important;
}
#macroled-productos .grid.list .media-badges-left{
  top:8px !important;
  right:8px !important;
  left:auto !important;
  align-items:flex-end !important;
}
#macroled-productos .grid.list .smart-badge{
  transform:none !important;
  transform-origin:top right !important;
  padding:.32rem .55rem !important;
  font-size:.60rem !important;
  gap:4px !important;
}
#macroled-productos .grid.list .badge{
  top:8px !important;
  left:8px !important;
  padding:.32rem .55rem !important;
  font-size:.60rem !important;
}
#macroled-productos .grid.list .card-overlays .temp-dots{
  position:absolute !important;
  bottom:6px !important;
  right:6px !important;
  top:auto !important;
  left:auto !important;
  margin:0 !important;
  padding:4px 6px !important;
  max-width:calc(100% - 12px) !important;
}
#macroled-productos .ml-card-body{
  padding:0 !important;
  margin:10px 5px 14px !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  gap:0 !important;
  min-width:0 !important;
  font-size:inherit !important;
  line-height:inherit !important;
  color:inherit !important;
}
#macroled-productos .grid.list .ml-card-body{
  margin:0 !important;
  padding:0 !important;
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:16px !important;
}
@media (max-width:900px){
  #macroled-productos .ml-card-body{
    margin:8px 3px 14px !important;
    padding-bottom:0 !important;
  }
  #macroled-productos .grid.list .ml-card-body{
    margin:0 !important;
    padding:0 !important;
    gap:14px !important;
  }
  #macroled-productos .grid.list .smart-badge,
  #macroled-productos .grid.list .badge{
    padding:.28rem .45rem !important;
    font-size:.60rem !important;
  }
  #macroled-productos .grid.list .media-badges-left{
    top:6px !important;
    right:6px !important;
  }
}

/* Filtros aplicados debajo de los controles y scroll lateral sin barra visible. */
#macroled-productos .filters-rail{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
#macroled-productos .filters-rail::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}
@media (min-width:901px){
  #macroled-productos .results-body > .toolbar-top{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:start !important;
    gap:8px 12px !important;
    width:100% !important;
    margin:0 0 18px !important;
  }
  #macroled-productos .results-body > .toolbar-top:empty{
    display:none !important;
    margin:0 !important;
  }
  #macroled-productos .results-body > .toolbar-top .chips-row{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:start !important;
  }
  #macroled-productos .results-body > .toolbar-top .clear-btn{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:start !important;
    margin:0 !important;
  }
}
@media (max-width:560px){
  #macroled-productos .ml-card-body{
    margin:6px 2px 10px !important;
    padding-bottom:0 !important;
  }
  #macroled-productos .grid.list .ml-card-body{
    padding:0 !important;
    gap:12px !important;
  }
}
#macroled-productos .card-title{
  font-family:var(--font) !important;
  font-size:1.1rem !important;
  font-weight:600 !important;
  line-height:1.35 !important;
  margin:0 0 10px !important;
  color:#16294f !important;
}
#macroled-productos .card .specs{
  display:grid !important;
  margin:0 !important;
  margin-top:0 !important;
  grid-template-columns:repeat(2,minmax(0,max-content)) !important;
  justify-content:start !important;
  column-gap:28px !important;
  row-gap:.5rem !important;
}
#macroled-productos .compare-row{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  position:relative !important;
  z-index:2 !important;
  margin:auto -.8rem -.8rem !important;
  width:calc(100% + 1.6rem) !important;
  padding:12px .8rem 14px !important;
  border-top:1px solid #edeff2 !important;
  background:transparent !important;
}

@media (max-width:900px){
  #macroled-productos .layout{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
    padding:16px 16px 40px !important;
  }
  #macroled-productos .results-toolbar{
    flex-direction:column !important;
    align-items:stretch !important;
    align-self:stretch !important;
    width:100% !important;
    gap:5px !important;
  }
  #macroled-productos .results-search{
    display:flex !important;
    align-items:stretch !important;
    width:100% !important;
    gap:10px !important;
  }
  #macroled-productos .results-search .search-bar{
    flex:1 1 0% !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    border-radius:10px !important;
  }
  #macroled-productos .results-search .search-bar input{
    width:100% !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:none !important;
  }
  #macroled-productos .results-search .filters-toggle{
    display:inline-flex !important;
    flex:none !important;
    border-radius:10px !important;
  }
  #macroled-productos .results-search .view-toggle,
  #macroled-productos .results-search select.sort{
    display:none !important;
  }
  #macroled-productos .results-search .sort-dropdown{
    display:none !important;
  }
  #macroled-productos .filters-rail,
  #macroled-productos .filters-desktop-heading{
    display:none !important;
  }
  #macroled-productos .category-heading{
    order:-1 !important;
    width:100% !important;
    margin:0 0 8px !important;
  }
  #macroled-productos .category-heading h1{
    font-size:28px !important;
  }
  #macroled-productos .filters-expand-btn{
    display:none !important;
  }
  #macroled-productos .toolbar-top{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    width:100% !important;
    gap:8px !important;
  }
  #macroled-productos .toolbar-top .label{
    flex:0 0 100% !important;
    width:100% !important;
    margin:0 0 2px !important;
    position:static !important;
  }
  #macroled-productos .chips-row{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    flex:0 0 100% !important;
    width:100% !important;
    gap:8px !important;
  }
  #macroled-productos .clear-btn{
    margin-left:0 !important;
    pointer-events:auto !important;
    position:relative !important;
    z-index:2 !important;
  }
  #macroled-productos .grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #macroled-productos .badge{
    top:.6rem !important;
    left:.6rem !important;
    font-size:.60rem !important;
    padding:.4rem .6rem !important;
    max-width:52% !important;
  }
  #macroled-productos .card-title{
    font-size:16px !important;
    line-height:1.35 !important;
  }
  #macroled-productos .spec .spec-label,
  #macroled-productos .spec b{
    font-size:12px !important;
  }
  #macroled-productos .spec .val{
    font-size:14px !important;
  }
  #macroled-productos .compare-row{
    font-size:14px !important;
  }
  #macroled-productos .showing{
    font-size:14px !important;
  }
  #macroled-productos .grid.list .card-title{
    font-size:17px !important;
    margin:0 !important;
  }
  #macroled-productos .temp-dots{
    bottom:6px !important;
    right:6px !important;
    top:auto !important;
    padding:4px 7px !important;
    max-width:46% !important;
  }
  #macroled-productos .grid.list .card-meta{
    display:none !important;
  }
  #macroled-productos .grid.list .card-overlays{
    display:block !important;
  }
  #macroled-productos .grid.list{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  #macroled-productos .grid.list .card{
    flex-direction:row !important;
    align-items:stretch !important;
    gap:14px !important;
    padding:16px !important;
    min-height:176px !important;
  }
  #macroled-productos .grid.list .card .media{
    flex:0 0 148px !important;
    width:148px !important;
    height:148px !important;
    max-width:148px !important;
    aspect-ratio:auto !important;
  }
  #macroled-productos .grid.list .media-frame{
    width:148px !important;
    height:148px !important;
    min-height:148px !important;
  }
  #macroled-productos .grid.list .card .media img{
    width:64% !important;
    height:64% !important;
  }
  #macroled-productos .grid.list .compare-row{
    margin:auto 0 0 !important;
    width:auto !important;
    padding:8px 0 0 !important;
  }
}
@media (max-width:560px){
  #macroled-productos .grid{
    gap:8px !important;
  }
  #macroled-productos .grid.list .card{
    min-height:160px !important;
    padding:14px !important;
  }
  #macroled-productos .grid.list .card .media{
    flex:0 0 136px !important;
    width:136px !important;
    height:136px !important;
    max-width:136px !important;
  }
  #macroled-productos .grid.list .media-frame{
    width:136px !important;
    height:136px !important;
    min-height:136px !important;
  }
  #macroled-productos .badge{
    font-size:.60rem !important;
    padding:.35rem .5rem !important;
  }
  #macroled-productos .card-title{
    font-size:16px !important;
  }
  #macroled-productos .spec .val{
    font-size:14px !important;
  }
  #macroled-productos .grid.list .card-title{
    font-size:16px !important;
  }
}
@media (max-width:640px){
  #macroled-productos .category-heading h1{
    font-size:26px !important;
  }
  #macroled-productos .ai-launch{
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    padding:0 !important;
    border-radius:50% !important;
    gap:0 !important;
  }
  #macroled-productos .ai-launch > span{
    display:none !important;
  }
  #macroled-productos .ai-launch > svg{
    width:20px !important;
    height:20px !important;
    margin:0 !important;
  }
}

/* El comparador pertenece al catálogo, no al body de Webflow.
   El padding reserva lugar después de los resultados y el lift calculado por
   JS lo ancla al final del componente antes de que comience el footer. */
#macroled-productos{
  position:relative !important;
  padding-bottom:var(--compare-bar-offset, 0px) !important;
}
#macroled-productos .compare-bar{
  --compare-bar-gap:20px;
  bottom:calc(var(--compare-bar-gap) + var(--compare-boundary-lift, 0px)) !important;
}
#macroled-productos .search-bar:focus-within{
  border-color:#0090c7 !important;
  box-shadow:none !important;
}
#macroled-productos .ai-launch{
  bottom:calc(max(20px,env(safe-area-inset-bottom,0px)) + var(--compare-boundary-lift, 0px)) !important;
}
@media (max-width:640px){
  #macroled-productos .compare-bar{
    --compare-bar-gap:12px;
  }
  #macroled-productos .ai-launch{
    bottom:calc(max(12px,env(safe-area-inset-bottom,0px)) + var(--compare-boundary-lift, 0px)) !important;
  }
}

/* Comparador: nombre del producto en tablet y desktop. */
@media (min-width:641px){
  #macroled-productos .compare-chip-name{
    font-size:14px !important;
  }
}

/* Controles principales visibles durante el scroll. */
#macroled-productos .catalog-controls-row{
  position:sticky !important;
  top:0;
  z-index:10020;
  background:var(--bg-page);
  transition:padding-top .18s ease;
}
#macroled-productos .catalog-controls-row.is-stuck{
  padding-top:10px;
}

@media (min-width:901px){
  #macroled-productos .layout.filters-collapsed
    .catalog-controls-row > .filters-expand-btn,
  #macroled-productos .layout.filters-collapsed
    .catalog-controls-row > .filters-expand-btn:hover{
    padding-right:16px;
    border-right:1px solid #e3e7ec;
  }
}

@media (min-width:901px){
  #macroled-productos .grid.list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #macroled-productos .layout.filters-collapsed .grid.list{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

/* Prueba de layout: controles secundarios debajo del buscador. */
@media (min-width:901px){
  #macroled-productos .layout{
    row-gap:20px !important;
  }
  #macroled-productos .catalog-controls-row{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    column-gap:48px;
    align-items:start;
    min-width:0;
    margin:0;
    padding:0 0 10px;
    min-height:44px;
    border-bottom:1px solid #e3e7ec;
  }
  #macroled-productos .filters-rail{grid-row:3 !important;}
  #macroled-productos .results-body{grid-row:3 !important;}
  #macroled-productos .catalog-controls-main{
    display:flex;
    align-items:stretch;
    min-width:0;
  }
  #macroled-productos .catalog-controls-row > .filters-expand-btn{
    align-self:center;
  }
  #macroled-productos .catalog-controls-row .toolbar-top{
    flex:1 1 auto;
    min-width:0;
    margin:0;
    align-self:center;
  }
  #macroled-productos .catalog-controls-row .toolbar-top:not(:empty){
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-rows:auto;
    align-items:start;
    column-gap:16px;
    row-gap:8px;
  }
  #macroled-productos .catalog-controls-row .toolbar-top .label{
    grid-column:1;
    grid-row:1;
    align-self:start;
    padding-top:6px;
    white-space:nowrap;
  }
  #macroled-productos .catalog-controls-row .chips-row{
    grid-column:2;
    grid-row:1;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    min-width:0;
  }
  #macroled-productos .catalog-controls-row .clear-btn{
    grid-column:3;
    grid-row:1;
    align-self:start;
    margin-left:0;
    height:32px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--dark-blue-600);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    white-space:nowrap;
  }
  #macroled-productos .catalog-controls-row .clear-btn:hover{
    border:0;
    background:transparent;
    color:var(--dark-blue-600);
  }
  #macroled-productos .catalog-controls-row .filters-expand-btn,
  #macroled-productos .catalog-controls-row .sort-trigger{
    min-height:0;
    height:100%;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:var(--dark-blue-600);
    align-self:start;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    line-height:1;
  }
  #macroled-productos .catalog-controls-row .filters-expand-btn:hover,
  #macroled-productos .catalog-controls-row .sort-trigger:hover{
    border:0;
    background:transparent;
    color:var(--dark-blue--700);
  }
  #macroled-productos .catalog-controls-row .sort-trigger{
    column-gap:8px;
  }
  #macroled-productos .catalog-controls-row .sort-current{
    color:var(--dark-blue-600);
  }
  #macroled-productos .catalog-controls-row .sort-dropdown{
    margin-left:auto;
    align-self:start;
    height:auto;
  }
  #macroled-productos .catalog-controls-row:has(.toolbar-top:not(:empty)) .sort-dropdown{
    border-left:1px solid #e3e7ec;
    padding-left:16px;
    align-self:stretch;
    display:flex;
    align-items:flex-start;
  }
  #macroled-productos .layout.filters-collapsed .catalog-controls-row{
    grid-column:1 !important;
    grid-row:3 !important;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:16px;
  }
  #macroled-productos .layout.filters-collapsed{
    grid-template-rows:auto auto auto auto !important;
  }
  #macroled-productos .layout.filters-collapsed .results-body{grid-row:4 !important;}
  #macroled-productos .layout.filters-collapsed
    .catalog-controls-row:has(.toolbar-top:not(:empty))
    .sort-dropdown{
    border-left:1px solid #e3e7ec;
    padding-left:16px;
    align-self:stretch;
    display:flex;
    align-items:flex-start;
  }
}
@media (min-width:901px) and (max-width:1200px){
  #macroled-productos .catalog-controls-row{
    grid-template-columns:260px minmax(0,1fr);
    column-gap:32px;
  }
}

/* Prueba de layout: búsqueda en la fila de controles y chips en el lateral. */
@media (min-width:901px){
  #macroled-productos .catalog-controls-main .results-search{
    flex:1 1 auto;
    width:auto;
    min-width:0;
  }
  #macroled-productos .catalog-controls-main .sort-dropdown{
    flex:none;
    margin-left:16px;
    padding-left:16px;
    border-left:1px solid #e3e7ec;
    align-self:stretch;
    display:flex;
    align-items:center;
  }
  #macroled-productos .catalog-controls-main .sort-trigger{
    width:max-content;
  }
  #macroled-productos .catalog-controls-main .sort-prefix{
    color:var(--dark-blue-600);
    font-size:13px;
    font-weight:500;
  }
  #macroled-productos .catalog-controls-main .sort-current,
  #macroled-productos .catalog-controls-main .sort-trigger svg{
    color:var(--dark-blue-600);
    transition:color .15s ease;
  }
  #macroled-productos .catalog-controls-main .sort-trigger:hover .sort-current,
  #macroled-productos .catalog-controls-main .sort-trigger:hover svg{
    color:var(--btn-blue);
  }
  #macroled-productos .catalog-controls-row > .filters-expand-btn:hover{
    color:var(--btn-blue);
  }
  #macroled-productos .filters-rail .toolbar-top:not(:empty){
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    width:100%;
    margin:0 0 16px;
    padding:0 0 8px;
    border-bottom:1px solid #e3e7ec;
  }
  #macroled-productos .filters-rail .toolbar-top .label{
    width:100%;
    padding:0;
  }
  #macroled-productos .filters-rail .chips-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    width:100%;
  }
  #macroled-productos .filters-rail .clear-btn{
    align-self:flex-start;
    height:32px;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:var(--ml-dark-blue-400,#334b63);
  }
}
@media (max-width:900px){
  #macroled-productos .catalog-controls-row{
    display:block !important;
    width:100% !important;
    padding:0 !important;
    border:0 !important;
  }
  #macroled-productos .catalog-controls-main{
    display:block !important;
    width:100% !important;
  }
  #macroled-productos .catalog-controls-main .sort-dropdown{
    display:none !important;
  }
}
/* Cierre/apertura fluido de la columna de filtros en desktop. */
@media (min-width:901px){
  #macroled-productos .layout{
    transition:
      grid-template-columns .58s cubic-bezier(.22,1,.36,1),
      column-gap .58s cubic-bezier(.22,1,.36,1) !important;
  }
  #macroled-productos .category-heading{
    width:300px !important;
    min-width:300px !important;
    max-width:300px !important;
    position:relative !important;
    z-index:31 !important;
    overflow:visible !important;
    background:var(--bg,#f5f6f8) !important;
    transition:none !important;
  }
  #macroled-productos .filters-rail{
    transition:
      max-width .58s cubic-bezier(.22,1,.36,1),
      width .58s cubic-bezier(.22,1,.36,1),
      opacity .42s ease !important;
  }
  #macroled-productos .layout.filters-collapsed{
    grid-template-columns:0 minmax(0,1fr) !important;
    grid-template-rows:auto auto auto auto !important;
    column-gap:0 !important;
  }
  #macroled-productos .layout.filters-collapsed .filters-rail{
    display:block !important;
    grid-column:1 !important;
    grid-row:4 !important;
    width:0 !important;
    max-width:0 !important;
    opacity:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }
  #macroled-productos .layout.filters-collapsed .category-heading{
    grid-column:1 !important;
    grid-row:1 !important;
    width:300px !important;
    max-width:300px !important;
    position:relative !important;
    z-index:31 !important;
    overflow:visible !important;
    background:var(--bg,#f5f6f8) !important;
    transition:none !important;
  }
  #macroled-productos .layout.filters-collapsed .results-toolbar{
    grid-column:2 !important;
    grid-row:2 !important;
  }
  #macroled-productos .layout.filters-collapsed .catalog-controls-row{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
  }
  #macroled-productos .layout.filters-collapsed .results-body{
    grid-column:2 !important;
    grid-row:4 !important;
  }
  #macroled-productos .layout.filters-collapsed .grid,
  #macroled-productos .layout.filters-collapsed .grid.list{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}
@media (min-width:901px) and (max-width:1200px){
  #macroled-productos .category-heading,
  #macroled-productos .layout.filters-collapsed .category-heading{
    width:260px !important;
    min-width:260px !important;
    max-width:260px !important;
  }
}

/* El encabezado no cambia al mostrar/ocultar filtros: solo se anima el área inferior. */
@media (min-width:901px){
  #macroled-productos .results-body{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    margin-left:348px !important;
    transition:margin-left .58s cubic-bezier(.22,1,.36,1) !important;
  }
  #macroled-productos .layout.filters-collapsed{
    grid-template-columns:300px minmax(0,1fr) !important;
    grid-template-rows:auto auto auto !important;
    column-gap:16px !important;
  }
  #macroled-productos .layout.filters-collapsed .category-heading{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  #macroled-productos .layout.filters-collapsed .results-toolbar{
    grid-column:2 !important;
    grid-row:1 !important;
  }
  #macroled-productos .layout.filters-collapsed .catalog-controls-row{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:16px;
  }
  #macroled-productos .layout.filters-collapsed .filters-rail{
    grid-column:1 !important;
    grid-row:3 !important;
  }
  #macroled-productos .layout.filters-collapsed .results-body{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    margin-left:0 !important;
  }
}
@media (min-width:901px) and (max-width:1200px){
  #macroled-productos .results-body{
    margin-left:292px !important;
  }
  #macroled-productos .layout.filters-collapsed{
    grid-template-columns:260px minmax(0,1fr) !important;
    column-gap:16px !important;
  }
  #macroled-productos .layout.filters-collapsed .catalog-controls-row{
    grid-template-columns:auto minmax(0,1fr);
    column-gap:16px;
  }
  #macroled-productos .layout.filters-collapsed .results-body{
    margin-left:0 !important;
  }
}

@media (min-width:641px){
  #macroled-productos .grid.list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #macroled-productos .layout.filters-collapsed .grid.list{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

/* Borrar filtros: mismo tratamiento de texto que "Borrar" del comparador. */
#macroled-productos .filters-rail .clear-btn,
#macroled-productos .catalog-controls-row .clear-btn{
  color:var(--ink-soft);
  transition:color .15s,background .15s;
}
#macroled-productos .filters-rail .clear-btn:hover,
#macroled-productos .catalog-controls-row .clear-btn:hover{
  color:var(--ink);
  background:transparent;
}

/* Comparador desktop: selector específico para prevalecer sobre Webflow. */
@media (min-width:901px){
  #macroled-productos .compare-cta{
    padding:8px 32px;
  }
}

/* Comparador: nombre del producto en tablet y desktop. */
@media (min-width:641px){
  #macroled-productos .compare-chip-name{
    font-size:14px !important;
  }
}

/* Controles principales visibles durante el scroll. */
#macroled-productos .catalog-controls-row{
  position:sticky !important;
  top:0;
  z-index:10020;
  background:var(--bg-page);
  transition:padding-top .18s ease;
}
#macroled-productos .catalog-controls-row.is-stuck{
  padding-top:10px;
}

@media (min-width:901px){
  #macroled-productos .layout.filters-collapsed
    .catalog-controls-row > .filters-expand-btn,
  #macroled-productos .layout.filters-collapsed
    .catalog-controls-row > .filters-expand-btn:hover{
    padding-right:16px;
    border-right:1px solid #e3e7ec;
  }
}

@media (min-width:901px){
  #macroled-productos .grid.list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #macroled-productos .layout.filters-collapsed .grid.list{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

/* Prueba de layout: controles secundarios debajo del buscador. */
@media (min-width:901px){
  #macroled-productos .layout{
    row-gap:20px !important;
  }
  #macroled-productos .catalog-controls-row{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    column-gap:48px;
    align-items:start;
    min-width:0;
    margin:0;
    padding:0 0 10px;
    min-height:44px;
    border-bottom:1px solid #e3e7ec;
  }
  #macroled-productos .filters-rail{grid-row:3 !important;}
  #macroled-productos .results-body{grid-row:3 !important;}
  #macroled-productos .catalog-controls-main{
    display:flex;
    align-items:stretch;
    min-width:0;
  }
  #macroled-productos .catalog-controls-row > .filters-expand-btn{
    align-self:center;
  }
  #macroled-productos .catalog-controls-row .toolbar-top{
    flex:1 1 auto;
    min-width:0;
    margin:0;
    align-self:center;
  }
  #macroled-productos .catalog-controls-row .toolbar-top:not(:empty){
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-rows:auto;
    align-items:start;
    column-gap:16px;
    row-gap:8px;
  }
  #macroled-productos .catalog-controls-row .toolbar-top .label{
    grid-column:1;
    grid-row:1;
    align-self:start;
    padding-top:6px;
    white-space:nowrap;
  }
  #macroled-productos .catalog-controls-row .chips-row{
    grid-column:2;
    grid-row:1;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    min-width:0;
  }
  #macroled-productos .catalog-controls-row .clear-btn{
    grid-column:3;
    grid-row:1;
    align-self:start;
    margin-left:0;
    height:32px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--dark-blue-600);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    white-space:nowrap;
  }
  #macroled-productos .catalog-controls-row .clear-btn:hover{
    border:0;
    background:transparent;
    color:var(--dark-blue-600);
  }
  #macroled-productos .catalog-controls-row .filters-expand-btn,
  #macroled-productos .catalog-controls-row .sort-trigger{
    min-height:0;
    height:100%;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:var(--dark-blue-600);
    align-self:start;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    line-height:1;
  }
  #macroled-productos .catalog-controls-row .filters-expand-btn:hover,
  #macroled-productos .catalog-controls-row .sort-trigger:hover{
    border:0;
    background:transparent;
    color:var(--dark-blue--700);
  }
  #macroled-productos .catalog-controls-row .sort-trigger{
    column-gap:8px;
  }
  #macroled-productos .catalog-controls-row .sort-current{
    color:var(--dark-blue-600);
  }
  #macroled-productos .catalog-controls-row .sort-dropdown{
    margin-left:auto;
    align-self:start;
    height:auto;
  }
  #macroled-productos .catalog-controls-row:has(.toolbar-top:not(:empty)) .sort-dropdown{
    border-left:1px solid #e3e7ec;
    padding-left:16px;
    align-self:stretch;
    display:flex;
    align-items:flex-start;
  }
  #macroled-productos .layout.filters-collapsed .catalog-controls-row{
    grid-column:1 !important;
    grid-row:3 !important;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:16px;
  }
  #macroled-productos .layout.filters-collapsed{
    grid-template-rows:auto auto auto auto !important;
  }
  #macroled-productos .layout.filters-collapsed .results-body{grid-row:4 !important;}
  #macroled-productos .layout.filters-collapsed
    .catalog-controls-row:has(.toolbar-top:not(:empty))
    .sort-dropdown{
    border-left:1px solid #e3e7ec;
    padding-left:16px;
    align-self:stretch;
    display:flex;
    align-items:flex-start;
  }
}
@media (min-width:901px) and (max-width:1200px){
  #macroled-productos .catalog-controls-row{
    grid-template-columns:260px minmax(0,1fr);
    column-gap:32px;
  }
}

/* Prueba de layout: búsqueda en la fila de controles y chips en el lateral. */
@media (min-width:901px){
  #macroled-productos .catalog-controls-main .results-search{
    flex:1 1 auto;
    width:auto;
    min-width:0;
  }
  #macroled-productos .catalog-controls-main .sort-dropdown{
    flex:none;
    margin-left:16px;
    padding-left:16px;
    border-left:1px solid #e3e7ec;
    align-self:stretch;
    display:flex;
    align-items:center;
  }
  #macroled-productos .catalog-controls-main .sort-trigger{
    width:max-content;
  }
  #macroled-productos .catalog-controls-main .sort-prefix{
    color:var(--dark-blue-600);
    font-size:13px;
    font-weight:500;
  }
  #macroled-productos .catalog-controls-main .sort-current,
  #macroled-productos .catalog-controls-main .sort-trigger svg{
    color:var(--dark-blue-600);
    transition:color .15s ease;
  }
  #macroled-productos .catalog-controls-main .sort-trigger:hover .sort-current,
  #macroled-productos .catalog-controls-main .sort-trigger:hover svg{
    color:var(--btn-blue);
  }
  #macroled-productos .catalog-controls-row > .filters-expand-btn:hover{
    color:var(--btn-blue);
  }
  #macroled-productos .filters-rail .toolbar-top:not(:empty){
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    width:100%;
    margin:0 0 16px;
    padding:0 0 8px;
    border-bottom:1px solid #e3e7ec;
  }
  #macroled-productos .filters-rail .toolbar-top .label{
    width:100%;
    padding:0;
  }
  #macroled-productos .filters-rail .chips-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    width:100%;
  }
  #macroled-productos .filters-rail .clear-btn{
    align-self:flex-start;
    height:32px;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:var(--ml-dark-blue-400,#334b63);
  }
}
@media (max-width:900px){
  #macroled-productos .catalog-controls-row{
    display:block !important;
    width:100% !important;
    padding:0 !important;
    border:0 !important;
  }
  #macroled-productos .catalog-controls-main{
    display:block !important;
    width:100% !important;
  }
  #macroled-productos .catalog-controls-main .sort-dropdown{
    display:none !important;
  }
}
/* Cierre/apertura fluido de la columna de filtros en desktop. */
@media (min-width:901px){
  #macroled-productos .layout{
    transition:
      grid-template-columns .58s cubic-bezier(.22,1,.36,1),
      column-gap .58s cubic-bezier(.22,1,.36,1) !important;
  }
  #macroled-productos .category-heading{
    width:300px !important;
    min-width:300px !important;
    max-width:300px !important;
    position:relative !important;
    z-index:31 !important;
    overflow:visible !important;
    background:var(--bg,#f5f6f8) !important;
    transition:none !important;
  }
  #macroled-productos .filters-rail{
    transition:
      max-width .58s cubic-bezier(.22,1,.36,1),
      width .58s cubic-bezier(.22,1,.36,1),
      opacity .42s ease !important;
  }
  #macroled-productos .layout.filters-collapsed{
    grid-template-columns:0 minmax(0,1fr) !important;
    grid-template-rows:auto auto auto auto !important;
    column-gap:0 !important;
  }
  #macroled-productos .layout.filters-collapsed .filters-rail{
    display:block !important;
    grid-column:1 !important;
    grid-row:4 !important;
    width:0 !important;
    max-width:0 !important;
    opacity:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }
  #macroled-productos .layout.filters-collapsed .category-heading{
    grid-column:1 !important;
    grid-row:1 !important;
    width:300px !important;
    max-width:300px !important;
    position:relative !important;
    z-index:31 !important;
    overflow:visible !important;
    background:var(--bg,#f5f6f8) !important;
    transition:none !important;
  }
  #macroled-productos .layout.filters-collapsed .results-toolbar{
    grid-column:2 !important;
    grid-row:2 !important;
  }
  #macroled-productos .layout.filters-collapsed .catalog-controls-row{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
  }
  #macroled-productos .layout.filters-collapsed .results-body{
    grid-column:2 !important;
    grid-row:4 !important;
  }
  #macroled-productos .layout.filters-collapsed .grid,
  #macroled-productos .layout.filters-collapsed .grid.list{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}
@media (min-width:901px) and (max-width:1200px){
  #macroled-productos .category-heading,
  #macroled-productos .layout.filters-collapsed .category-heading{
    width:260px !important;
    min-width:260px !important;
    max-width:260px !important;
  }
}

/* El encabezado no cambia al mostrar/ocultar filtros: solo se anima el área inferior. */
@media (min-width:901px){
  #macroled-productos .results-body{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    margin-left:348px !important;
    transition:margin-left .58s cubic-bezier(.22,1,.36,1) !important;
  }
  #macroled-productos .layout.filters-collapsed{
    grid-template-columns:300px minmax(0,1fr) !important;
    grid-template-rows:auto auto auto !important;
    column-gap:16px !important;
  }
  #macroled-productos .layout.filters-collapsed .category-heading{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  #macroled-productos .layout.filters-collapsed .results-toolbar{
    grid-column:2 !important;
    grid-row:1 !important;
  }
  #macroled-productos .layout.filters-collapsed .catalog-controls-row{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:16px;
  }
  #macroled-productos .layout.filters-collapsed .filters-rail{
    grid-column:1 !important;
    grid-row:3 !important;
  }
  #macroled-productos .layout.filters-collapsed .results-body{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    margin-left:0 !important;
  }
}
@media (min-width:901px) and (max-width:1200px){
  #macroled-productos .results-body{
    margin-left:292px !important;
  }
  #macroled-productos .layout.filters-collapsed{
    grid-template-columns:260px minmax(0,1fr) !important;
    column-gap:16px !important;
  }
  #macroled-productos .layout.filters-collapsed .catalog-controls-row{
    grid-template-columns:auto minmax(0,1fr);
    column-gap:16px;
  }
  #macroled-productos .layout.filters-collapsed .results-body{
    margin-left:0 !important;
  }
}

@media (min-width:641px){
  #macroled-productos .grid.list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #macroled-productos .layout.filters-collapsed .grid.list{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

/* Borrar filtros: mismo tratamiento de texto que "Borrar" del comparador. */
#macroled-productos .filters-rail .clear-btn,
#macroled-productos .catalog-controls-row .clear-btn{
  color:var(--ink-soft);
  transition:color .15s,background .15s;
}
#macroled-productos .filters-rail .clear-btn:hover,
#macroled-productos .catalog-controls-row .clear-btn:hover{
  color:var(--ink);
  background:transparent;
}

/* Comparador desktop: selector específico para prevalecer sobre Webflow. */
@media (min-width:901px){
  #macroled-productos .compare-cta{
    padding:8px 32px;
  }
}

/* Catálogo híbrido: base 09f45eb + cabecera desktop aprobada. */
@media (min-width:901px){
  #macroled-productos .layout,
  #macroled-productos .layout.filters-collapsed{
    grid-template-columns:300px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    column-gap:50px !important;
    row-gap:28px !important;
  }
  #macroled-productos .category-heading,
  #macroled-productos .layout.filters-collapsed .category-heading{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:start !important;
  }
  #macroled-productos .catalog-controls-row,
  #macroled-productos .layout.filters-collapsed .catalog-controls-row{
    position:relative !important;
    top:auto !important;
    grid-column:2 !important;
    grid-row:1 !important;
    display:block !important;
    width:100% !important;
    padding:8px 0 0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  #macroled-productos .catalog-controls-row.is-stuck{
    box-shadow:none !important;
  }
  #macroled-productos .catalog-controls-main{
    display:grid !important;
    grid-template-columns:minmax(280px,1fr) auto auto !important;
    grid-template-rows:46px !important;
    align-items:stretch !important;
    column-gap:10px !important;
    row-gap:0 !important;
    width:100% !important;
  }
  #macroled-productos .catalog-controls-main .results-search{
    display:contents !important;
  }
  #macroled-productos .catalog-controls-main .search-bar{
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    margin:0 !important;
  }
  #macroled-productos .catalog-controls-main .sort-dropdown{
    grid-column:2 !important;
    grid-row:1 !important;
    display:flex !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    align-self:stretch !important;
    width:max-content !important;
  }
  #macroled-productos .catalog-controls-main .sort-trigger{
    width:max-content !important;
    min-width:0 !important;
    height:46px !important;
    padding:0 14px !important;
    border:1px solid var(--line) !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#5f6670 !important;
  }
  #macroled-productos .catalog-controls-main .view-toggle{
    grid-column:3 !important;
    grid-row:1 !important;
    display:flex !important;
    height:46px !important;
    align-self:stretch !important;
    background:transparent !important;
  }
  #macroled-productos .catalog-controls-main .view-toggle button{
    min-width:36px !important;
    height:44px !important;
    padding:0 10px !important;
    background:transparent !important;
    color:var(--ink-soft) !important;
  }
  #macroled-productos .catalog-controls-main .view-toggle button.active{
    background:#fff !important;
    color:var(--dark-blue--700) !important;
  }
  #macroled-productos .catalog-controls-main .filters-toggle{
    display:none !important;
  }
  #macroled-productos .results-body > .toolbar-top{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    align-items:start !important;
    gap:10px !important;
    width:100% !important;
    min-height:0 !important;
    margin:0 0 18px !important;
    padding:0 !important;
    border:0 !important;
  }
  #macroled-productos .results-body > .toolbar-top:empty{
    display:none !important;
    margin:0 !important;
  }
  #macroled-productos .results-body > .toolbar-top .label{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:start !important;
    display:flex !important;
    align-items:center !important;
    min-height:30px !important;
    flex:none !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
  }
  #macroled-productos .results-body > .toolbar-top .chips-row{
    grid-column:2 !important;
    grid-row:1 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:8px !important;
    min-width:0 !important;
  }
  #macroled-productos .results-body > .toolbar-top .clear-btn{
    grid-column:3 !important;
    grid-row:1 !important;
    align-self:start !important;
    min-height:30px !important;
    margin-left:0 !important;
    color:#16294f !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:0 !important;
  }
  #macroled-productos .filters-rail,
  #macroled-productos .layout.filters-collapsed .filters-rail{
    display:block !important;
    grid-column:1 !important;
    grid-row:2 !important;
    width:300px !important;
    max-width:300px !important;
    opacity:1 !important;
    overflow:visible !important;
    pointer-events:auto !important;
  }
  #macroled-productos .results-body,
  #macroled-productos .layout.filters-collapsed .results-body{
    grid-column:2 !important;
    grid-row:2 !important;
    margin-left:0 !important;
  }
  #macroled-productos .filters-desktop-heading,
  #macroled-productos .filters-expand-btn,
  #macroled-productos .filters-collapse-btn{
    display:none !important;
  }
}
@media (min-width:901px) and (max-width:1200px){
  #macroled-productos .layout,
  #macroled-productos .layout.filters-collapsed{
    grid-template-columns:260px minmax(0,1fr) !important;
    column-gap:32px !important;
  }
  #macroled-productos .filters-rail,
  #macroled-productos .layout.filters-collapsed .filters-rail{
    width:260px !important;
    max-width:260px !important;
  }
}

/* Comparativa y asistente permanecen anclados al viewport. */
#macroled-productos .compare-bar{
  bottom:var(--compare-bar-gap,20px) !important;
}

#macroled-productos .sort-current,
#macroled-productos .sort-trigger svg{
  color:#5f6670 !important;
}
#macroled-productos .results-body > .toolbar-top .clear-btn:hover,
#macroled-productos .results-body > .toolbar-top .clear-btn:focus-visible{
  color:var(--btn-blue,#00adef) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
#macroled-productos .catalog-controls-main .sort-trigger:hover,
#macroled-productos .catalog-controls-main .sort-trigger:focus-visible,
#macroled-productos .catalog-controls-main .sort-trigger:hover .sort-current,
#macroled-productos .catalog-controls-main .sort-trigger:focus-visible .sort-current,
#macroled-productos .catalog-controls-main .sort-trigger:hover svg,
#macroled-productos .catalog-controls-main .sort-trigger:focus-visible svg{
  color:#16294f !important;
}
#macroled-productos .facet-row.is-muted,
#macroled-productos .fmn-option-row.is-muted{
  opacity:.45;
}
#macroled-productos .facet-row.is-muted:hover,
#macroled-productos .fmn-option-row.is-muted:hover{
  opacity:.72;
}
#macroled-productos .ai-launch{
  bottom:max(20px,env(safe-area-inset-bottom,0px)) !important;
}
@media (max-width:640px){
  #macroled-productos .ai-launch{
    bottom:max(12px,env(safe-area-inset-bottom,0px)) !important;
  }
}

/* Filtros aplicados en móvil: encabezado y acción en la misma línea. */
@media (max-width:900px){
  #macroled-productos .results-body > .toolbar-top{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:auto auto !important;
    align-items:center !important;
    gap:12px 12px !important;
    margin-bottom:20px !important;
  }
  #macroled-productos .results-body > .toolbar-top:empty{
    display:none !important;
  }
  #macroled-productos .results-body > .toolbar-top .label{
    grid-column:1 !important;
    grid-row:1 !important;
    margin:0 !important;
  }
  #macroled-productos .results-body > .toolbar-top .clear-btn{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#16294f !important;
  }
  #macroled-productos .results-body > .toolbar-top .clear-btn:hover,
  #macroled-productos .results-body > .toolbar-top .clear-btn:focus-visible{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--btn-blue,#00adef) !important;
  }
  #macroled-productos .results-body > .toolbar-top .chips-row{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
  }
}

/* Sin etiqueta, chips y acción comparten siempre la primera fila disponible. */
@media (max-width:900px){
  #macroled-productos .results-body > .toolbar-top{
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:auto !important;
    align-items:start !important;
  }
  #macroled-productos .results-body > .toolbar-top .chips-row{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  #macroled-productos .results-body > .toolbar-top .clear-btn{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:start !important;
  }
}

@media (min-width:901px){
  #macroled-productos .layout,
  #macroled-productos .layout.filters-collapsed{
    row-gap:24px !important;
  }
}

/* Chips sin separación inicial; 20px únicamente antes de Borrar filtros. */
#macroled-productos .results-body > .toolbar-top{
  grid-template-columns:minmax(0,1fr) auto !important;
  column-gap:20px !important;
  row-gap:8px !important;
  margin-left:0 !important;
  padding-left:0 !important;
}
#macroled-productos .results-body > .toolbar-top .chips-row{
  grid-column:1 !important;
  margin-left:0 !important;
  padding-left:0 !important;
}
#macroled-productos .results-body > .toolbar-top .clear-btn{
  grid-column:2 !important;
  margin-left:0 !important;
}

/* CTA del bottom sheet mobile con el azul de marca. */
@media (max-width:900px){
  #macroled-productos .filters-apply{
    background:#0086b5 !important;
  }
  #macroled-productos .filters-apply:hover{
    background:#00688c !important;
  }
}

/* Breadcrumb idéntico en mobile para Productos y Descargas. */
@media (max-width:900px){
  #macroled-productos .crumb{
    padding:16px 20px 0 !important;
  }
  #macroled-productos .results-body > .toolbar-top{
    margin-bottom:20px !important;
  }
  #macroled-productos .results-body > .toolbar-top:empty{
    margin-bottom:0 !important;
  }
}

/* Los controles acompañan la altura dinámica del título de categoría. */
@media (min-width:901px){
  #macroled-productos .catalog-controls-row,
  #macroled-productos .layout.filters-collapsed .catalog-controls-row{
    align-self:end !important;
  }
}

/* Acción para limpiar la búsqueda. */
#macroled-productos .search-clear{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:none !important;
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  min-height:26px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  color:#9aa1aa !important;
  font:400 18px/1 var(--font) !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
#macroled-productos .search-clear:hover{background:#f1f3f5 !important;color:#6f7781 !important;}
#macroled-productos .search-clear[hidden]{display:none !important;}

/* Contenedor compartido de escritorio: 1500px con laterales de 40px. */
@media (min-width:901px){
  #macroled-productos .crumb{
    width:100% !important;
    max-width:1500px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:16px 40px 0 !important;
  }
  #macroled-productos .layout,
  #macroled-productos .layout.filters-collapsed{
    width:100% !important;
    max-width:1500px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:24px 40px 60px !important;
  }
}

/* Título principal compartido en desktop y mobile. */
#macroled-productos .category-heading h1{
  font-size:32px !important;
  font-weight:700 !important;
  letter-spacing:-.02em !important;
}
@media (max-width:900px){
  #macroled-productos .category-heading h1{
    font-size:28px !important;
  }
}
@media (max-width:680px){
  #macroled-productos .category-heading h1{
    font-size:26px !important;
  }
}

/* Overrides finales: flotantes independientes del alto del embed y del footer. */
#macroled-productos{
  /* El cambio de alto debe acompañar inmediatamente a la barra. Animar este
     padding producía un hueco temporal y realimentaba el cálculo del footer. */
  transition:none !important;
}
body.has-compare-bar #macroled-productos .layout{
  /* La reserva de la barra ya incorpora los 32px de separación. Evita sumar
     también los 60/40/28px de padding inferior propios del catálogo. */
  padding-bottom:0 !important;
}
#macroled-productos .compare-bar{
  position:fixed !important;
  top:auto !important;
  bottom:max(var(--compare-bar-gap,20px),env(safe-area-inset-bottom,0px)) !important;
  z-index:899 !important;
  transform:none !important;
}
body.assistant-open #macroled-productos .ai-launch{
  visibility:hidden !important;
  pointer-events:none !important;
}
#macroled-productos .ai-launch{
  position:fixed !important;
  top:auto !important;
  right:max(16px,env(safe-area-inset-right,0px)) !important;
  bottom:max(20px,env(safe-area-inset-bottom,0px)) !important;
  z-index:2147483645 !important;
  width:auto !important;
  height:48px !important;
  min-width:0 !important;
  padding:8px 18px 8px 14px !important;
  gap:10px !important;
  border-radius:999px !important;
}
#macroled-productos .ai-backdrop{position:fixed !important;z-index:2147483646 !important;}
#macroled-productos .ai-panel{position:fixed !important;z-index:2147483647 !important;}
@media (max-width:640px){
  #macroled-productos .ai-launch{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    padding:0 !important;
    gap:0 !important;
    border-radius:50% !important;
  }
  #macroled-productos .ai-launch svg{width:24px !important;height:24px !important;}
  #macroled-productos .ai-launch > span:not(.ai-launch-dot){display:none !important;}
  #macroled-productos .ai-launch .ai-launch-dot{
    display:block !important;
    position:absolute !important;
    right:2px !important;
    bottom:2px !important;
    width:12px !important;
    height:12px !important;
    border:2px solid #fff !important;
    background:#22c55e !important;
    box-shadow:none !important;
  }
  #macroled-productos .ai-panel{width:100% !important;}
  #macroled-productos .ai-head{padding:24px 16px 14px !important;}
  #macroled-productos .ai-avatar{width:48px !important;height:48px !important;}
  #macroled-productos .ai-head-copy h2{font-size:20px !important;}
  #macroled-productos .ai-head-sub{font-size:15px !important;}
  #macroled-productos .ai-form{padding:12px 14px max(14px,env(safe-area-inset-bottom)) !important;}
}
