.lpo-wrap{max-width:1120px!important;margin:30px auto!important;font-family:Arial,Helvetica,sans-serif!important;color:#222!important}
.lpo-header{display:flex!important;gap:30px!important;align-items:flex-end!important;justify-content:space-between!important;margin-bottom:25px!important}
.lpo-heading{min-width:0!important}
.lpo-eyebrow{font-size:11px!important;font-weight:700!important;letter-spacing:1.7px!important;text-transform:uppercase!important;opacity:.62!important;margin-bottom:6px!important}
.lpo-title{margin:0 0 8px!important;font-size:32px!important;line-height:1.15!important;font-weight:600!important}
.lpo-trm{margin:0!important;font-size:14px!important;color:#444!important}
.lpo-trm span{opacity:.72!important}
.lpo-warning{padding:10px 12px!important;background:#fff4e5!important;border-left:3px solid #d9822b!important}
.lpo-tools{width:280px!important;flex:0 0 280px!important}
.lpo-search-label{display:block!important;font-size:12px!important;font-weight:700!important;margin-bottom:6px!important}
.lpo-search{width:100%!important;box-sizing:border-box!important;padding:11px 13px!important;border:1px solid #bfc5cb!important;border-radius:5px!important;background:#fff!important;color:#222!important;font-size:15px!important}
.lpo-search::placeholder{color:#777!important}
.lpo-search:focus{outline:2px solid rgba(110,166,70,.25)!important;border-color:#6ea646!important}
.lpo-categories{display:flex!important;flex-direction:column!important;gap:22px!important}
.lpo-category{display:block!important;overflow:visible!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
.lpo-category-title{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 190px 145px!important;
  align-items:center!important;
  gap:0!important;
  padding:9px 13px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  font-size:13px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
}
.lpo-category-name{min-width:0!important}
.lpo-category-prices{display:contents!important}
.lpo-category-prices span{text-align:right!important;white-space:nowrap!important;font-size:11px!important;letter-spacing:.1px!important}
.lpo-table-wrap{display:block!important;overflow:visible!important;border:0!important;border-left:0!important;border-right:0!important;border-top:0!important;border-bottom:0!important;padding:0!important;margin:0!important;background:transparent!important}
.lpo-table-wrap table.lpo-table{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  table-layout:fixed!important;
}
.lpo-table-wrap table.lpo-table tbody,
.lpo-table-wrap table.lpo-table tr,
.lpo-table-wrap table.lpo-table td{
  border:0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-bottom:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.lpo-table-wrap table.lpo-table tbody tr:nth-child(even){background:#f7f7f7!important}
.lpo-table-wrap table.lpo-table td{
  padding:8px 13px!important;
  font-size:14px!important;
  line-height:1.2!important;
  background:transparent!important;
}
.lpo-table-wrap table.lpo-table td:first-child{width:auto!important;text-align:left!important}
.lpo-table-wrap table.lpo-table td:nth-child(2){width:190px!important;text-align:right!important;white-space:nowrap!important}
.lpo-table-wrap table.lpo-table td:nth-child(3){width:145px!important;text-align:right!important;white-space:nowrap!important}
.lpo-product{text-transform:uppercase!important}
.lpo-cop,.lpo-usd{font-variant-numeric:tabular-nums!important}
.lpo-usd{font-weight:600!important}
.lpo-note{font-size:12px!important;opacity:.68!important;margin-top:12px!important}
.lpo-empty{text-align:center!important;padding:25px!important}
.lpo-row.lpo-hidden{display:none!important}
.lpo-category.lpo-hidden{display:none!important}

/* Automatic category palette */
.lpo-color-vitaminas .lpo-category-title{background:#f2b705!important;color:#222!important}
.lpo-color-individuales .lpo-category-title{background:#3f70c5!important;color:#fff!important}
.lpo-color-aminoacidos .lpo-category-title{background:#ef7b2d!important;color:#fff!important}
.lpo-color-otras .lpo-category-title{background:#6ea646!important;color:#fff!important}
.lpo-color-compuestos .lpo-category-title{background:#7b61a8!important;color:#fff!important}
.lpo-color-default .lpo-category-title{background:#5d6d7e!important;color:#fff!important}

@media(max-width:760px){
  .lpo-header{display:block!important}
  .lpo-tools{width:auto!important;min-width:0!important;margin-top:17px!important}
  .lpo-title{font-size:27px!important}
  .lpo-category-title{grid-template-columns:minmax(0,1fr) 125px 105px!important;padding:9px 8px!important}
  .lpo-category-prices span{font-size:9px!important;white-space:normal!important;line-height:1.1!important}
  .lpo-table-wrap table.lpo-table td{padding:8px 8px!important;font-size:12px!important}
  .lpo-table-wrap table.lpo-table td:nth-child(2){width:125px!important}
  .lpo-table-wrap table.lpo-table td:nth-child(3){width:105px!important}
}

/* v1.7: alineación de precios con sus encabezados */
.lpo-table-wrap table.lpo-table td:nth-child(2){text-align:center!important}
.lpo-table-wrap table.lpo-table td:nth-child(3){text-align:center!important}

/* v1.9: botón de impresión como icono */
.lpo-print{
  width:36px!important;
  height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 0 8px auto!important;
  padding:7px!important;
  border:1px solid #6ea646!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#6ea646!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}
.lpo-print:hover{
  background:#6ea646!important;
  color:#fff!important;
}
.lpo-print svg{
  width:19px!important;
  height:19px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.lpo-product-link{
  color:inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.lpo-product-link:hover{
  text-decoration:underline!important;
}

/* v1.9: impresión profesional en formato carta */
@media print{
  @page{
    size:Letter portrait;
    margin:0.45in 0.5in;
  }

  html,body{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }

  /* Ocultar completamente el tema/Divi y mostrar únicamente la lista */
  body *{
    visibility:hidden!important;
  }
  .lpo-wrap,
  .lpo-wrap *{
    visibility:visible!important;
  }

  .lpo-wrap{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    font-family:Arial,Helvetica,sans-serif!important;
    color:#222!important;
    background:#fff!important;
  }

  .lpo-header{
    display:block!important;
    margin:0 0 14px!important;
    padding:0 0 9px!important;
    border-bottom:1px solid #d9d9d9!important;
  }

  .lpo-heading{
    width:100%!important;
  }

  .lpo-title{
    margin:0 0 5px!important;
    font-size:22px!important;
    line-height:1.15!important;
    font-weight:700!important;
    color:#222!important;
  }

  .lpo-trm{
    margin:0!important;
    font-size:10px!important;
    color:#444!important;
  }

  .lpo-tools,
  .lpo-search-label,
  .lpo-search,
  .lpo-print{
    display:none!important;
  }

  .lpo-categories{
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
    width:100%!important;
  }

  .lpo-category{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    border:0!important;
    box-shadow:none!important;
  }

  .lpo-category-title{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 155px 105px!important;
    width:100%!important;
    box-sizing:border-box!important;
    min-height:30px!important;
    padding:7px 9px!important;
    margin:0!important;
    font-size:10px!important;
    line-height:1.15!important;
    font-weight:700!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .lpo-category-prices{
    display:contents!important;
  }

  .lpo-category-prices span{
    font-size:8.5px!important;
    line-height:1.1!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  .lpo-table-wrap{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:visible!important;
  }

  .lpo-table-wrap table.lpo-table{
    width:100%!important;
    margin:0!important;
    border:0!important;
    border-collapse:collapse!important;
    table-layout:fixed!important;
    background:#fff!important;
  }

  .lpo-table-wrap table.lpo-table tbody,
  .lpo-table-wrap table.lpo-table tr,
  .lpo-table-wrap table.lpo-table td{
    border:0!important;
    box-shadow:none!important;
  }

  .lpo-table-wrap table.lpo-table td{
    padding:5px 9px!important;
    font-size:10px!important;
    line-height:1.15!important;
    background:transparent!important;
  }

  .lpo-table-wrap table.lpo-table td:first-child{
    width:auto!important;
    text-align:left!important;
  }

  .lpo-table-wrap table.lpo-table td:nth-child(2){
    width:155px!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  .lpo-table-wrap table.lpo-table td:nth-child(3){
    width:105px!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  .lpo-table-wrap table.lpo-table tbody tr:nth-child(even){
    background:#f7f7f7!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .lpo-product-link{
    color:#222!important;
    text-decoration:none!important;
  }

  .lpo-note{
    margin:12px 0 0!important;
    padding-top:7px!important;
    border-top:1px solid #ddd!important;
    font-size:8.5px!important;
    line-height:1.35!important;
    color:#666!important;
  }
}

/* v2.0 overrides */
.lpo-tools{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
}
.lpo-search{
  flex:1 1 auto!important;
  min-width:0!important;
}
.lpo-print{
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  margin:0!important;
  padding:7px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
.lpo-print svg{
  width:19px!important;
  height:19px!important;
  display:block!important;
}
.lpo-print-brand{display:none!important;}

@media screen and (min-width:768px){
  .lpo-tools{
    width:46%!important;
    max-width:520px!important;
  }
}

@media screen and (max-width:767px){
  .lpo-tools{
    width:100%!important;
    justify-content:stretch!important;
  }
  .lpo-search{
    width:auto!important;
  }
}

@media print{
  @page{
    size:Letter portrait;
    margin:0.45in 0.5in;
  }

  .lpo-print-brand{
    display:block!important;
    width:100%!important;
    margin:0 0 10px!important;
    padding:0 0 9px!important;
    border-bottom:1px solid #ddd!important;
  }
  .lpo-print-brand img{
    display:block!important;
    width:auto!important;
    max-width:210px!important;
    max-height:55px!important;
    object-fit:contain!important;
  }

  .lpo-header{
    display:block!important;
    margin:0 0 12px!important;
    padding:0 0 9px!important;
  }

  .lpo-heading{
    width:100%!important;
  }

  .lpo-title{
    font-size:22px!important;
    margin:0 0 5px!important;
  }

  .lpo-trm{
    font-size:10px!important;
    margin:0!important;
  }

  .lpo-tools{
    display:none!important;
  }

  .lpo-category-title{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .lpo-table-wrap table.lpo-table tbody tr:nth-child(even){
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
}

/* v2.1 - logo de Nutrición Ortomolecular en impresión */
@media print{
  .lpo-print-brand{
    display:block !important;
    visibility:visible !important;
    position:relative !important;
    width:100% !important;
    height:auto !important;
    min-height:45px !important;
    margin:0 0 12px !important;
    padding:0 0 8px !important;
    border-bottom:1px solid #d9d9d9 !important;
    overflow:visible !important;
  }
  .lpo-print-brand img{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:auto !important;
    height:auto !important;
    max-width:220px !important;
    max-height:60px !important;
    margin:0 !important;
    padding:0 !important;
  }
}

/* v2.2: encabezado y búsqueda por categoría */
.lpo-subtitle{
  margin:0!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:600!important;
  color:#555!important;
}
@media print{
  .lpo-subtitle{
    margin:0 0 4px!important;
    font-size:10px!important;
    line-height:1.2!important;
    color:#555!important;
  }
  .lpo-note{
    font-size:8.5px!important;
  }
}
