/*
 * Diseño de tablet y ordenador de La Tienda de Seguridad.
 * Solo se aplica en pantallas de 768 px o más (el móvil lo lleva movil.css).
 */
/* Las tipografías (Sora y JetBrains Mono) se cargan desde functions.php. */

.ltsd { display: none; }


@media (min-width: 768px) {
  :root {
    --d-ink: #0A1F45;
    --d-text: #1E2430;
    --d-muted: #5A6578;
    --d-soft: #4A566B;
    --d-blue: #1F6BFF;
    --d-cyan: #00B8FF;
    --d-link: #0068A8;
    --d-line: rgba(1,60,152,0.12);
    --d-line2: rgba(1,60,152,0.18);
    --d-grad: linear-gradient(135deg, #1F6BFF, #00B8FF);
  }

  /* Mostrar lo nuevo y ocultar lo de Divi que sustituye */
  #ltsd-top { display: block; }
  #ltsd-main { display: block; }
  .ltsd-chrome .ltsd, .ltsd-full .ltsd { display: block; }
  body.ltsd-full #page-container { display: none !important; }
  body.ltsd-chrome .et-l--header,
  body.ltsd-chrome .et-l--footer,
  body.ltsd-chrome #main-header,
  body.ltsd-chrome #top-header { display: none !important; }
  body.ltsd-chrome #page-container { padding-top: 0 !important; margin-top: 0 !important; }
  html.ltsm-lock, html.ltsm-lock body { overflow: hidden; }

  body.ltsd-full, body.ltsd-chrome {
    background-color: #FFFFFF !important;
    background-image: linear-gradient(rgba(1,60,152,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(1,60,152,.045) 1px, transparent 1px) !important;
    background-size: 56px 56px !important;
  }

  .ltsd, .ltsd * { box-sizing: border-box; }
  .ltsd {
    font-family: 'Sora', system-ui, -apple-system, 'Segoe UI', sans-serif;
    color: var(--d-text); font-size: 15px; line-height: 1.5; -webkit-font-smoothing: antialiased;
  }
  .ltsd a { color: var(--d-link); text-decoration: none; }
  .ltsd a:hover { color: #004E80; }
  .ltsd svg { width: 20px; height: 20px; flex-shrink: 0; }
  .ltsd h1, .ltsd h2, .ltsd p { padding: 0; }
  .ltsd [hidden] { display: none !important; }
  .ltsd :focus-visible { outline: 3px solid #FFB020; outline-offset: 2px; }
  .ltsd .ltsm-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ltsd-mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: .12em; color: var(--d-muted); }
  .ltsd-muted { color: var(--d-muted); font-size: 13px; }
  .ltsd-flex { flex: 1; }
  .ltsd-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
  .ltsd-wrap { max-width: 1280px; margin: 0 auto; padding-left: 32px; padding-right: 32px; width: 100%; }
  .ltsd-sec { padding-top: 28px; padding-bottom: 28px; }
  .ltsd-h2, .ltsd-h2row h2 { margin: 0; font-size: 30px; font-weight: 700; letter-spacing: -.02em; color: var(--d-ink); line-height: 1.2; }
  .ltsd-sec > .ltsd-h2 { margin-bottom: 18px; }
  .ltsd-h2row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
  .ltsd-h2row a { font-size: 14px; font-weight: 600; }

  .ltsd-dot { display: inline-block; width: 8px; height: 8px; border-radius: 4px; background: var(--d-cyan); }
  .ltsd-pulse { background: #2EE68C; animation: ltsd-p 2.4s ease-in-out infinite; }
  @keyframes ltsd-p { 0%,100% { box-shadow: 0 0 0 0 rgba(46,230,140,.6); } 50% { box-shadow: 0 0 0 6px rgba(46,230,140,0); } }

  /* Botones */
  .ltsd-btn {
    height: 48px; padding: 0 20px; border: 0; border-radius: 14px; background: var(--d-grad); color: #FFFFFF !important;
    font: inherit; font-weight: 700; font-size: 15px; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    cursor: pointer; transition: box-shadow .2s, transform .2s;
  }
  .ltsd-btn:hover { box-shadow: 0 0 0 4px rgba(0,184,255,.18), 0 10px 30px -8px rgba(0,184,255,.6); transform: translateY(-1px); }
  .ltsd-btn--sm { height: 44px; padding: 0 16px; font-size: 14px; }
  .ltsd-btn--lg { height: 54px; padding: 0 26px; font-size: 16px; }
  .ltsd-btn--ghost { background: #FFFFFF; color: var(--d-text) !important; border: 1px solid var(--d-line2); }
  .ltsd-icon {
    width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--d-line2); display: inline-flex;
    align-items: center; justify-content: center; color: var(--d-text) !important; background: #FFFFFF;
  }

  /* Franja y cabecera */
  .ltsd-strip { border-bottom: 1px solid var(--d-line); background: rgba(255,255,255,.9); }
  .ltsd-strip .ltsd-wrap {
    display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; padding-top: 8px; padding-bottom: 8px;
    font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: .04em; color: var(--d-muted);
  }
  .ltsd-strip span { display: flex; align-items: center; gap: 8px; }
  .ltsd-strip-r { gap: 20px !important; }
  .ltsd-strip a { color: var(--d-muted) !important; }
  #ltsd-top { position: sticky; top: 0; z-index: 9990; }
  body.admin-bar #ltsd-top { top: 32px; }
  .ltsd-header { background: rgba(255,255,255,.88); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--d-line); }
  .ltsd-header .ltsd-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; padding-top: 12px; padding-bottom: 6px; }
  .ltsd-logo { display: flex; align-items: center; gap: 12px; }
  .ltsd-logo img { width: 44px; height: 40px; object-fit: contain; }
  .ltsd-logo span { display: flex; flex-direction: column; line-height: 1; }
  .ltsd-logo small { font-size: 19px; font-weight: 800; letter-spacing: .02em; color: var(--d-ink); }
  .ltsd-logo b { font-size: 19px; font-weight: 800; color: var(--d-ink); letter-spacing: .02em; }
  .ltsd-nav { display: flex; flex-wrap: wrap; gap: 2px; order: 3; flex: 1 1 100%; margin: 0 -12px; border-top: 1px solid var(--d-line); padding-top: 6px; }
  .ltsd-nav-a {
    display: inline-flex; align-items: center; gap: 4px; padding: 10px 12px; border-radius: 10px;
    color: var(--d-soft) !important; font-size: 14px; font-weight: 500; white-space: nowrap;
  }
  .ltsd-nav-a svg { width: 14px; height: 14px; opacity: .6; }
  .ltsd-nav-a:hover, .ltsd-nav-a.is-on { background: rgba(31,107,255,.1); color: var(--d-ink) !important; }
  .ltsd-nav-a.is-hot { color: #B45309 !important; font-weight: 600; }
  .ltsd-nav-a.is-pro { color: var(--d-blue) !important; font-weight: 600; background: rgba(31,107,255,.08); }
  .ltsd-nav-item { position: relative; }
  .ltsd-drop {
    position: absolute; top: 100%; left: 0; min-width: 240px; padding: 8px; border-radius: 16px; background: #FFFFFF;
    border: 1px solid var(--d-line2); box-shadow: 0 24px 60px -20px rgba(10,31,69,.35); display: none; flex-direction: column; z-index: 5;
  }
  .ltsd-nav-item:hover .ltsd-drop, .ltsd-nav-item:focus-within .ltsd-drop { display: flex; }
  .ltsd-drop a { padding: 10px 12px; border-radius: 10px; color: var(--d-text) !important; font-size: 14px; }
  .ltsd-drop a:hover { background: rgba(0,184,255,.1); }
  .ltsd-drop .ltsd-drop-all { color: var(--d-link) !important; font-weight: 600; border-top: 1px solid var(--d-line); border-radius: 0 0 10px 10px; margin-top: 4px; }
  .ltsd-tools { display: flex; align-items: center; gap: 10px; margin-left: auto; }
  .ltsd-search { margin: 0; }
  .ltsd-search label {
    display: flex; align-items: center; gap: 10px; height: 44px; width: 360px; padding: 0 14px; margin: 0; border-radius: 12px;
    background: #F4F7FC; border: 1px solid var(--d-line); color: var(--d-muted);
  }
  .ltsd-search input[type=search] {
    border: 0 !important; background: transparent !important; color: var(--d-text); font: inherit; font-size: 14px;
    outline: none; min-width: 0; flex: 1; padding: 0 !important; box-shadow: none !important;
  }

  /* Avisos de WooCommerce */
  .ltsd-notices { padding-top: 20px; }
  .ltsd-notices > * { margin: 0 0 10px !important; border-radius: 14px !important; }

  /* Portada */
  .ltsd-hero { display: flex; flex-wrap: wrap; align-items: center; gap: 48px; padding-top: 64px; padding-bottom: 48px; }
  .ltsd-hero-txt { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
  .ltsd-badge {
    align-self: flex-start; display: flex; align-items: center; gap: 10px; padding: 8px 14px; border-radius: 999px;
    border: 1px solid rgba(0,184,255,.35); background: rgba(0,184,255,.08);
    font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: .12em; color: var(--d-link);
  }
  .ltsd-hero h1 { margin: 0; font-size: clamp(40px, 5vw, 64px); line-height: 1.03; font-weight: 800; letter-spacing: -.035em; color: var(--d-ink); }
  .ltsd-hero h1 em { font-style: normal; background: linear-gradient(90deg, #0068A8, #1F6BFF); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .ltsd-hero p { margin: 0; max-width: 520px; font-size: 18px; line-height: 1.6; color: var(--d-soft); }
  .ltsd-facts { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 8px; padding-top: 22px; border-top: 1px solid var(--d-line); }
  .ltsd-facts div { display: flex; flex-direction: column; gap: 4px; }
  .ltsd-facts .ltsd-mono { font-size: 11px; }
  .ltsd-facts strong { font-size: 16px; color: var(--d-ink); }
  .ltsd-visor { flex: 1 1 420px; min-width: 0; display: flex; justify-content: center; }
  .ltsd-visor > div { position: relative; width: 100%; max-width: 520px; aspect-ratio: 1 / 1; }
  .ltsd-ring { position: absolute; inset: 4%; border-radius: 50%; border: 1px dashed rgba(0,184,255,.45); }
  .ltsd-spin { animation: ltsd-r 18s linear infinite; }
  @keyframes ltsd-r { to { transform: rotate(360deg); } }
  .ltsd-halo { position: absolute; inset: 14%; border-radius: 50%; border: 1px solid rgba(31,107,255,.25); background: radial-gradient(circle at 50% 45%, rgba(31,107,255,.2), rgba(255,255,255,0) 68%); }
  .ltsd-core { position: absolute; inset: 24%; border-radius: 50%; background: radial-gradient(circle, #FFFFFF, rgba(220,230,247,.9) 60%, rgba(220,230,247,0) 72%); }
  .ltsd-visor-a { position: absolute; left: 20%; top: 22%; width: 42%; height: 42%; object-fit: contain; }
  .ltsd-visor-b { position: absolute; left: 40%; top: 40%; width: 46%; height: 40%; object-fit: contain; }
  .ltsd-scan { position: absolute; left: 18%; right: 18%; height: 2px; background: linear-gradient(90deg, transparent, #00B8FF, transparent); box-shadow: 0 0 18px #00B8FF; animation: ltsd-s 4s linear infinite; }
  @keyframes ltsd-s { 0% { top: 8%; } 100% { top: 88%; } }
  .ltsd-hud {
    position: absolute; max-width: 62%; padding: 10px 14px; border-radius: 12px; background: rgba(255,255,255,.94);
    border: 1px solid rgba(0,184,255,.4); box-shadow: 0 14px 40px -18px rgba(10,31,69,.4); display: flex; flex-direction: column; gap: 4px;
  }
  .ltsd-hud .ltsd-mono { font-size: 11px; color: var(--d-link); letter-spacing: .08em; }
  .ltsd-hud span + span { font-size: 13px; color: var(--d-text); }
  .ltsd-hud--a { left: 0; top: 12%; }
  .ltsd-hud--b { right: 0; bottom: 12%; }

  /* Categorías */
  .ltsd-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
  .ltsd-cat, .ltsd-card, .ltsd-sol {
    background: #FFFFFF; border: 1px solid var(--d-line); transition: border-color .2s, transform .2s, box-shadow .2s;
  }
  .ltsd-cat:hover, .ltsd-card:hover, .ltsd-sol:hover {
    border-color: rgba(0,184,255,.55); transform: translateY(-3px); box-shadow: 0 18px 50px -22px rgba(0,120,220,.45);
  }
  .ltsd-cat { padding: 18px; border-radius: 18px; display: flex; flex-direction: column; gap: 12px; color: var(--d-text) !important; }
  .ltsd-code {
    width: 42px; height: 42px; border-radius: 12px; background: rgba(31,107,255,.12); color: var(--d-link);
    display: inline-flex; align-items: center; justify-content: center; font-family: 'JetBrains Mono', monospace; font-size: 13px; font-weight: 600; flex-shrink: 0;
  }
  .ltsd-cat strong { font-size: 15px; font-weight: 600; color: var(--d-ink); }
  .ltsd-cat span:last-child { font-size: 12px; color: var(--d-muted); }

  /* Soluciones */
  .ltsd-sols { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
  .ltsd-sol {
    position: relative; overflow: hidden; min-height: 260px; padding: 28px; border-radius: 24px;
    background: linear-gradient(140deg, rgba(31,107,255,.14), rgba(255,255,255,0) 60%) #FFFFFF;
    display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; color: var(--d-text) !important;
  }
  .ltsd-sol.is-hot { border-color: rgba(255,176,32,.35); background: linear-gradient(140deg, rgba(255,176,32,.14), rgba(255,255,255,0) 60%) #FFFFFF; }
  .ltsd-sol .ltsd-mono { color: var(--d-link); font-size: 12px; }
  .ltsd-sol.is-hot .ltsd-mono { color: #B45309; }
  .ltsd-sol strong { font-size: 26px; font-weight: 700; letter-spacing: -.02em; color: var(--d-ink); line-height: 1.15; }
  .ltsd-sol span:not(.ltsd-mono) { font-size: 15px; color: var(--d-soft); max-width: 360px; }
  .ltsd-sol img { position: absolute; right: 22px; top: 22px; width: 116px; height: 116px; object-fit: contain; border-radius: 20px; background: radial-gradient(circle, #FFFFFF, #DCE6F7); padding: 8px; }

  /* Tarjetas de producto */
  .ltsd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
  .ltsd-card { border-radius: 20px; padding: 12px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
  .ltsd-pod {
    position: relative; height: 200px; border-radius: 14px; background: radial-gradient(circle at 50% 40%, #FFFFFF, #DCE6F7);
    display: flex; align-items: center; justify-content: center;
  }
  .ltsd-pod img { width: 170px; height: 170px; object-fit: contain; }
  .ltsd-tag {
    position: absolute; top: 10px; left: 10px; padding: 4px 8px; border-radius: 6px; background: var(--d-ink); color: #7FE9FF;
    font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .1em;
  }
  .ltsd-card-body { padding: 0 4px 4px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
  .ltsd-ref { font-size: 11px; letter-spacing: .04em; }
  .ltsd-card-name { font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--d-ink) !important; }
  .ltsd-chipline { display: flex; flex-wrap: wrap; gap: 6px; }
  .ltsd-chipline span {
    padding: 4px 8px; border-radius: 6px; border: 1px solid var(--d-line2); font-family: 'JetBrains Mono', monospace;
    font-size: 11px; color: #3B4556; line-height: 1.3;
  }
  .ltsd-stock { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; color: #11743B; }
  .ltsd-stock i { width: 8px; height: 8px; border-radius: 4px; background: #2EE68C; animation: ltsd-p 2.4s ease-in-out infinite; }
  .ltsd-stock--pill { padding: 8px 12px; border-radius: 10px; background: rgba(46,230,140,.12); font-size: 13px; }
  .ltsd-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 6px; }
  .ltsd-card-foot strong { font-size: 21px; font-weight: 700; color: var(--d-ink); letter-spacing: -.01em; }
  .ltsd-add {
    width: 46px; height: 46px; border-radius: 12px; background: var(--d-grad); color: #FFFFFF !important;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: box-shadow .2s;
  }
  .ltsd-add:hover { box-shadow: 0 0 0 4px rgba(0,184,255,.18); }

  /* Marcas y suscripción */
  .ltsd-brands {
    border-radius: 20px; border: 1px solid var(--d-line); background: #FFFFFF; padding: 22px 28px;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px;
  }
  .ltsd-brands b { font-size: 18px; font-weight: 800; letter-spacing: .08em; color: #3B4556; }
  .ltsd-news {
    border-radius: 28px; padding: 36px 40px; background: linear-gradient(120deg, #EAF1FD, #F6FAFF 55%, #E4F7FC);
    border: 1px solid rgba(0,184,255,.3); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px;
  }
  .ltsd-news > div { display: flex; flex-direction: column; gap: 10px; max-width: 620px; }
  .ltsd-news strong { font-size: 28px; line-height: 1.15; letter-spacing: -.02em; color: var(--d-ink); }
  .ltsd .ltsm-pill { align-self: flex-start; padding: 6px 12px; border-radius: 8px; background: #FFB020; color: var(--d-ink); font-weight: 800; font-size: 14px; }

  /* Pie */
  .ltsd-footer { border-top: 1px solid var(--d-line); background: #F4F7FC; margin-top: 40px; }
  .ltsd-footer .ltsd-wrap {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; padding-top: 44px; padding-bottom: 44px;
    font-size: 14px; color: var(--d-soft);
  }
  .ltsd-footer .ltsd-wrap > div { display: flex; flex-direction: column; gap: 10px; }
  .ltsd-footer strong { font-size: 16px; color: var(--d-ink); }
  .ltsd-footer a { color: var(--d-text) !important; }
  .ltsd-footer .ltsd-mono { font-size: 11px; }

  /* Categoría */
  .ltsd-cathead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; padding-top: 36px; padding-bottom: 24px; }
  .ltsd-cathead > div { display: flex; flex-direction: column; gap: 10px; max-width: 760px; }
  .ltsd-crumbs { font-size: 12px; letter-spacing: .1em; }
  .ltsd-crumbs a { color: var(--d-muted) !important; }
  .ltsd-cathead h1 { margin: 0; font-size: clamp(32px, 4vw, 46px); font-weight: 800; letter-spacing: -.03em; color: var(--d-ink); line-height: 1.1; }
  .ltsd-cathead p { margin: 0; font-size: 15px; color: var(--d-soft); }
  .ltsd-count { color: var(--d-link); padding: 10px 14px; border-radius: 12px; border: 1px solid rgba(0,184,255,.35); background: rgba(0,184,255,.06); }
  .ltsd-shop { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px; padding-bottom: 32px; }
  .ltsd-filters {
    flex: 1 1 250px; max-width: 290px; border-radius: 22px; border: 1px solid var(--d-line); background: #FFFFFF; padding: 18px 20px;
    position: sticky; top: 140px; max-height: calc(100vh - 160px); overflow-y: auto;
  }
  .ltsd-filters-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid var(--d-line); }
  .ltsd-filters-head strong { font-size: 17px; color: var(--d-ink); }
  .ltsd-filters-head a { font-size: 13px; font-weight: 600; }
  .ltsd-filters fieldset { border: 0; margin: 0; padding: 14px 0; border-bottom: 1px solid rgba(1,60,152,.08); }
  .ltsd-filters fieldset:last-child { border-bottom: 0; }
  .ltsd-filters legend { padding: 0 0 10px; font-size: 11px; float: left; width: 100%; }
  .ltsd-filters fieldset > div { clear: both; display: flex; flex-wrap: wrap; gap: 6px; }
  .ltsd-fchip {
    min-height: 36px; padding: 6px 12px; border-radius: 10px; border: 1px solid var(--d-line2); background: #FFFFFF;
    color: #3B4556 !important; font-size: 13px; display: inline-flex; align-items: center; gap: 6px; line-height: 1.25;
  }
  .ltsd-fchip small { font-size: 11px; color: var(--d-muted); }
  .ltsd-fchip:hover { border-color: rgba(0,184,255,.6); }
  .ltsd-fchip.is-on { border-color: #00B8FF; background: rgba(0,184,255,.12); color: var(--d-ink) !important; font-weight: 600; }
  .ltsd-fchip.is-on svg { width: 14px; height: 14px; color: #0090D0; }
  .ltsd-results { flex: 999 1 540px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
  .ltsd-shop--full .ltsd-results { flex-basis: 100%; }
  .ltsd-toolbar {
    border-radius: 18px; border: 1px solid var(--d-line); background: #FFFFFF; padding: 10px 14px;
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  }
  .ltsd-active {
    height: 34px; padding: 0 8px 0 12px; border-radius: 10px; background: rgba(0,184,255,.12); color: var(--d-ink) !important;
    font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 6px;
  }
  .ltsd-active svg { width: 14px; height: 14px; }
  .ltsd-order { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; margin: 0; border-radius: 12px; border: 1px solid var(--d-line2); }
  .ltsd-order select { border: 0 !important; background: transparent !important; color: var(--d-ink); font: inherit; font-size: 13px; font-weight: 600; padding: 0 !important; }
  .ltsd-empty { padding: 48px; text-align: center; border-radius: 20px; border: 1px dashed var(--d-line2); color: var(--d-muted); }
  .ltsd-pages { display: flex; justify-content: center; gap: 8px; padding-top: 12px; }
  .ltsd-pages a, .ltsd-pages span {
    min-width: 44px; height: 44px; padding: 0 10px; border-radius: 12px; border: 1px solid var(--d-line2); background: #FFFFFF;
    color: var(--d-text) !important; display: inline-flex; align-items: center; justify-content: center; font-weight: 600;
  }
  .ltsd-pages .is-on { background: var(--d-grad); border-color: transparent; color: #FFFFFF !important; }

  /* Ficha de producto */
  .ltsd-pdp { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; padding-top: 36px; padding-bottom: 24px; }
  .ltsd-gal { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
  .ltsd-gal-main {
    position: relative; aspect-ratio: 1 / 1; max-height: 600px; border-radius: 28px; border: 1px solid var(--d-line2);
    background: radial-gradient(circle at 50% 45%, rgba(31,107,255,.16), rgba(255,255,255,0) 70%) #FFFFFF;
    display: flex; align-items: center; justify-content: center; overflow: hidden;
  }
  .ltsd-gal-main .ltsd-ring { inset: 8%; }
  .ltsd-gal-main .ltsd-core { inset: 18%; }
  .ltsd-gal-main img { position: relative; width: 62%; height: 62%; object-fit: contain; }
  .ltsd-gal-main .ltsd-tag { top: 18px; left: 18px; font-size: 11px; padding: 6px 10px; }
  .ltsd-gal-n { position: absolute; bottom: 18px; right: 18px; padding: 6px 12px; border-radius: 10px; background: rgba(255,255,255,.94); border: 1px solid rgba(0,184,255,.35); color: var(--d-text); }
  .ltsd-thumbs { display: flex; gap: 10px; flex-wrap: wrap; }
  .ltsd-thumbs button {
    width: 84px; height: 84px; border-radius: 16px; border: 1px solid var(--d-line2); background: radial-gradient(circle, #FFFFFF, #DCE6F7);
    padding: 8px; cursor: pointer;
  }
  .ltsd-thumbs button.is-on { border: 2px solid #00B8FF; box-shadow: 0 0 20px -6px #00B8FF; }
  .ltsd-thumbs img { width: 100%; height: 100%; object-fit: contain; }
  .ltsd-buybox { flex: 1 1 400px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
  .ltsd-buybox h1 { margin: 0; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.08; font-weight: 800; letter-spacing: -.03em; color: var(--d-ink); }
  .ltsd-pill-o { padding: 8px 12px; border-radius: 10px; border: 1px solid var(--d-line2); color: #3B4556; font-size: 13px; }
  .ltsd-buy {
    border-radius: 24px; border: 1px solid rgba(0,184,255,.3); background: linear-gradient(150deg, rgba(31,107,255,.1), rgba(255,255,255,0)) #FFFFFF;
    padding: 24px; display: flex; flex-direction: column; gap: 18px;
  }
  .ltsd-price { display: flex; align-items: baseline; gap: 10px; }
  .ltsd-price strong { font-size: 44px; font-weight: 800; letter-spacing: -.03em; color: var(--d-ink); line-height: 1; }
  .ltsd-price span { font-size: 14px; color: var(--d-muted); }
  .ltsd-buy-form { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
  .ltsd-buy-form .ltsd-btn { flex: 1 1 220px; }
  .ltsd-qty { display: flex; align-items: center; height: 54px; border-radius: 14px; border: 1px solid var(--d-line2); background: #FFFFFF; }
  .ltsd-qty button { width: 46px; height: 52px; border: 0; background: transparent; color: var(--d-ink); font-size: 20px; cursor: pointer; }
  .ltsd-qty input {
    width: 36px; border: 0 !important; background: transparent !important; text-align: center; font: inherit; font-weight: 700;
    padding: 0 !important; -moz-appearance: textfield;
  }
  .ltsd-qty input::-webkit-outer-spin-button, .ltsd-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
  .ltsd-help {
    display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 18px; border: 1px solid var(--d-line); background: #FFFFFF;
    color: var(--d-text) !important;
  }
  .ltsd-help > span:last-child { display: flex; flex-direction: column; gap: 2px; }
  .ltsd-help strong { font-size: 15px; color: var(--d-ink); }
  .ltsd-help span span { font-size: 13px; color: var(--d-soft); }
  .ltsd-specs { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
  .ltsd-specs > div {
    border-radius: 18px; border: 1px solid var(--d-line); background: #FFFFFF; padding: 16px 18px; display: flex; align-items: center; gap: 12px;
  }
  .ltsd-specs .ltsd-mono { color: var(--d-link); display: flex; }
  .ltsd-specs svg { width: 18px; height: 18px; }
  .ltsd-specs strong { font-size: 15px; font-weight: 600; color: var(--d-ink); }
  .ltsd-desc { border-radius: 20px; border: 1px solid var(--d-line); background: #FFFFFF; padding: 24px 28px; color: #3B4556; font-size: 15px; line-height: 1.7; }
  .ltsd-desc img { max-width: 100%; height: auto; }

  /* Ventana de suscripción de Brevo (también en tablet y ordenador) */
  #ltsm-brevo { display: flex; position: fixed; inset: 0; z-index: 99999; align-items: center; justify-content: center; padding: 24px; }
  #ltsm-brevo .ltsm-sheet-bg { position: absolute; inset: 0; background: rgba(10,31,69,.55); }
  #ltsm-brevo .ltsm-brevo-card {
    position: relative; width: 100%; max-width: 460px; height: min(600px, 85vh); background: #FFFFFF; border-radius: 20px; overflow: hidden; padding-top: 52px;
  }
  #ltsm-brevo .ltsm-icon {
    position: absolute; top: 6px; right: 6px; z-index: 1; width: 44px; height: 44px; border: 0; border-radius: 12px; background: #F0F2F5;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
  }
  #ltsm-brevo .ltsm-icon svg { width: 22px; height: 22px; }
  #ltsm-brevo iframe { width: 100%; height: 100%; border: 0; display: block; }

  @media (prefers-reduced-motion: reduce) {
    .ltsd-pulse, .ltsd-spin, .ltsd-scan, .ltsd-stock i { animation: none !important; }
  }
}

/* Tablet: menos aire */
@media (min-width: 768px) and (max-width: 1099px) {
  .ltsd-wrap { padding-left: 24px; padding-right: 24px; }
  .ltsd-search label { width: 240px; }
  .ltsd-hero { gap: 28px; padding-top: 40px; }
  .ltsd-filters {
    position: static; max-height: none; max-width: none; flex-basis: 100%;
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 20px;
  }
  .ltsd-filters-head { grid-column: 1 / -1; }
  .ltsd-filters fieldset { border-bottom: 0; }
  .ltsd-grid { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
}
