/* Química Olivos — referencia visual PlusQuímica, interpretación propia.
 * No replica branding, copys, certificados, cifras ni composiciones ajenas. */
:root {
  --qo-font-ui:"Plus Jakarta Sans",Manrope,Inter,system-ui,Arial,sans-serif;
  --qo-surface:#fff;
  --qo-soft:#f4f7fc;
  --qo-shadow:0 14px 38px rgba(10,39,85,.06);
}
body,
body .elementor-widget-text-editor,
body .elementor-heading-title,
body .elementor-widget-button .elementor-button,
.qo-catalogo,.qo-presupuesto,
.woocommerce,
.qo-header,.qo-footer {
  font-family:var(--qo-font-ui)!important;
}
h1,h2,h3,h4,h5,
.woocommerce div.product .product_title,
.qo-catalogo h2,.qo-producto h3 {
  font-family:var(--qo-font-ui)!important;
  letter-spacing:-.035em;
}
body {line-height:1.64;}
html {scroll-padding-top:130px;}
.qo-header {position:sticky;top:0;z-index:501;}
.admin-bar .qo-header {top:32px;}
.qo-header-row {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);}
.qo-header-row > .qo-logo {justify-self:start;}
.qo-header-row > .qo-nav {justify-self:center;}
.qo-desktop-quote {justify-self:end;white-space:nowrap;}
.qo-desktop-quote .qo-action {font-size:13px;}
@media(max-width:782px) {.admin-bar .qo-header {top:46px;}}
@media(max-width:600px) {body.admin-bar #wpadminbar {position:fixed;}}
h1,h2,h3,h4 {font-weight:650;}
/* Tipografía liviana solicitada: navegación y descripción editorial.
 * Mantener 350/400 en microtextos para legibilidad; botones y títulos con jerarquía. */
.qo-nav a:not(.qo-action),
.qo-mobile-nav nav a:not(.qo-action) {
  font-weight:300;
  font-size:14px;
  letter-spacing:0;
}
.qo-article p,
.qo-article li,
body .elementor-widget-text-editor p,
body .elementor-widget-text-editor li,
.qo-catalog-intro,
.qo-catalogo .qo-descripcion,
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-tabs .panel p,
.qo-presupuesto > p {
  font-weight:300;
  line-height:1.7;
}
.qo-producto .qo-descripcion {font-size:14px;}
.woocommerce div.product .woocommerce-product-details__short-description {font-size:16px;}
.qo-categoria,
.qo-meta,
.qo-catalog-sidebar .qo-filtros label,
.qo-catalog-categories a,
.qo-resultados {font-weight:350;}
.qo-nav a.qo-action,.qo-mobile-nav nav a.qo-action,
.qo-agregar,.qo-enviar,.qo-mobile-count {font-weight:700;}
@media(max-width:590px) {
  .qo-mobile-nav nav a:not(.qo-action) {font-size:15px;font-weight:350;}
  .qo-catalogo .qo-descripcion,.qo-catalog-intro {font-weight:350;}
}

/* Cotización siempre visible en el encabezado móvil; el contador sigue usando
 * data-qo-count (lógica existente del plugin). No es un carrito de compras. */
.qo-mobile-actions {display:none;align-items:center;gap:9px;margin-left:auto;}
.qo-mobile-quote {
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:#0867f7;color:#fff;border-radius:17px;padding:9px 10px 9px 14px;
  min-height:54px;min-width:94px;box-shadow:0 7px 18px rgba(8,103,247,.17);
  text-decoration:none;
}
.qo-mobile-quote:hover,.qo-mobile-quote:focus-visible {background:#0759d7;color:#fff;text-decoration:none;}
.qo-mobile-quote .qo-quote-icon {width:25px;height:25px;stroke:#fff;stroke-width:1.9;}
.qo-mobile-count {
  display:grid;place-items:center;min-width:35px;height:35px;padding:0 6px;
  border-radius:50%;background:white;color:#0867f7;font-size:17px;
  font-weight:800;line-height:1;flex:none;
}
.qo-hamburger {display:grid;gap:5px;place-items:center;}
.qo-hamburger i {display:block;width:23px;height:3px;background:#122b52;border-radius:5px;}
.qo-mobile-nav summary {display:grid;place-items:center;width:54px;height:54px;padding:0!important;background:#f2f4f9;border:0!important;border-radius:17px!important;}
.qo-mobile-nav summary::-webkit-details-marker {display:none;}
.qo-mobile-nav[open] summary {background:#e9eef8;}
.qo-mobile-nav[open] nav {max-height:calc(100vh - 100px);overflow-y:auto;}
@media(max-width:800px) {
  .qo-desktop-quote {display:none;}
  .qo-mobile-actions,.qo-mobile-nav {display:flex;}
  .qo-mobile-nav {position:static;}
  .qo-mobile-nav[open] nav {top:calc(100% + 6px);}
  .qo-header-row {display:flex;justify-content:space-between;gap:10px;}
}
@media(max-width:480px){
  .qo-header-row {min-height:76px;}
  .qo-mobile-actions {gap:7px;}
  .qo-logo {max-width:min(44%,155px);min-width:0;}
  .qo-logo img {width:100%;max-width:150px;max-height:52px;}
  .qo-mobile-quote {min-width:81px;min-height:48px;padding:7px 7px 7px 11px;gap:7px;border-radius:15px;}
  .qo-mobile-quote .qo-quote-icon {width:22px;height:22px;}
  .qo-mobile-count {min-width:31px;height:31px;font-size:15px;}
  .qo-mobile-nav summary {width:48px;height:48px;border-radius:15px!important;}
}
@media(max-width:350px){
  .qo-logo {max-width:40%;}
  .qo-mobile-actions {gap:5px;}
  .qo-mobile-quote {min-width:75px;padding-inline:8px;}
}

/* Catálogo: panel de categorías a la izquierda, contenido a la derecha. */
.qo-catalogo {--qo-stroke:#e5ebf3;--qo-sub:#65758f;}
.qo-catalogo > h2 {font-weight:700!important;font-size:clamp(27px,3.2vw,40px);margin:0 0 26px;}
.qo-main > .qo-catalogo > h2 {display:none;}
.qo-catalog-layout {display:grid;grid-template-columns:minmax(200px,250px) minmax(0,1fr);align-items:start;gap:28px;}
.qo-catalog-sidebar {
  background:var(--qo-surface);border:1px solid #e5eaf3;border-radius:20px;
  padding:23px 20px;box-shadow:var(--qo-shadow);
}
.qo-catalog-sidebar h3 {margin:24px 0 12px;font-size:15px;font-weight:700;letter-spacing:-.025em;}
.qo-catalog-sidebar .qo-filtros {display:grid;gap:10px;padding:0;background:none;border:0;border-radius:0;}
.qo-catalog-sidebar .qo-filtros label {font-size:12px;font-weight:650;line-height:1.4;}
.qo-catalog-sidebar .qo-filtros input,.qo-catalog-sidebar .qo-filtros select {
  width:100%;min-width:0;border-color:#dce5f1;background:#fff;
}
.qo-catalog-sidebar .qo-filtros button {width:100%;border-radius:11px;}
.qo-catalog-categories {list-style:none;margin:0;padding:0;display:grid;gap:1px;}
.qo-catalog-categories li {list-style:none;margin:0;}
.qo-catalog-categories a {
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:9px 11px;border-radius:10px;text-decoration:none;
  color:#284565;font-size:13px;font-weight:550;
}
.qo-catalog-categories a:hover,.qo-catalog-categories a[aria-current="true"] {
  background:#eaf1ff;color:#0867f7;text-decoration:none;
}
.qo-catalog-categories small {color:#7790aa;font-size:11px;white-space:nowrap;}
.qo-catalog-main {min-width:0;}
.qo-catalog-tools {display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px;}
.qo-catalog-tools .qo-resultados {margin:0;font-size:13px;}
.qo-view-toggle {display:inline-flex;gap:4px;padding:4px;background:#f1f4fa;border-radius:12px;}
.qo-view-toggle button {border:0;border-radius:9px;padding:7px 11px;font-size:12px;color:#597091;background:transparent;cursor:pointer;}
.qo-view-toggle button[aria-pressed="true"] {background:#fff;color:#0a2755;box-shadow:0 2px 7px rgba(10,39,85,.09);}
.qo-catalogo .qo-productos {grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.qo-catalogo .qo-producto {
  border-radius:16px;box-shadow:0 7px 22px rgba(24,48,86,.05);
  overflow:hidden;min-width:0;border:1px solid #e6ecf5;
}
.qo-catalogo .qo-producto-arte {
  min-height:100px;place-items:center;font-size:34px;font-weight:750;letter-spacing:-.06em;
}
.qo-catalogo .qo-producto-cuerpo {padding:16px 17px 17px;}
.qo-catalogo .qo-producto h3 {font-size:15px;line-height:1.4;font-weight:700!important;margin:7px 0 8px;overflow-wrap:anywhere;}
.qo-catalogo .qo-categoria {color:#607ea5;font-size:11px;line-height:1.4;}
.qo-catalogo .qo-categoria a {color:inherit;text-decoration:none;}
.qo-catalogo .qo-descripcion {font-size:14px;color:#64758d;line-height:1.7;margin:5px 0 14px;}
.qo-catalogo .qo-acciones {display:flex;flex-direction:row;gap:8px;margin-top:auto;align-items:stretch;}
.qo-catalogo .qo-acciones .qo-agregar,.qo-catalogo .qo-acciones a {
  flex:1 1 auto;font-size:12px;line-height:1.35;font-weight:700;
  padding:10px 9px;min-height:42px;border-radius:9px;text-align:center;
  display:grid;place-items:center;text-decoration:none;
}
.qo-catalogo .qo-acciones .qo-agregar {color:#fff;background:#0867f7;}
.qo-catalogo .qo-acciones a {background:#f0f5ff;border:1px solid #dce6f5;color:#12335f;}
.qo-catalogo .qo-acciones .qo-agregar:hover {background:#0753ca;}
.qo-catalogo .qo-acciones a:hover {background:#e4efff;}
.qo-catalogo .qo-productos.is-list {grid-template-columns:1fr;}
.qo-catalogo .qo-productos.is-list .qo-producto {flex-direction:row;min-height:130px;}
.qo-catalogo .qo-productos.is-list .qo-producto-arte {flex:0 0 150px;min-height:130px;}
.qo-catalogo .qo-productos.is-list .qo-producto-cuerpo {flex:1;}
.qo-catalogo .qo-productos.is-list .qo-acciones {justify-content:flex-end;}
.qo-catalogo .qo-productos.is-list .qo-acciones>* {flex:0 1 160px;}
@media(max-width:1150px) {
  .qo-catalogo .qo-productos {grid-template-columns:repeat(2,minmax(0,1fr));}
  .qo-catalog-layout {grid-template-columns:215px minmax(0,1fr);gap:18px;}
}
@media(max-width:780px) {
  .qo-catalog-layout {display:block;}
  .qo-catalog-sidebar {margin-bottom:20px;padding:18px;}
  .qo-catalog-sidebar .qo-filtros {grid-template-columns:minmax(0,1fr);}
  .qo-catalog-sidebar .qo-filtros button {grid-column:1/-1;}
  /* El selector mantiene todas las categorías; evitar repetir 23 enlaces antes de los productos. */
  .qo-catalog-sidebar > h3:last-of-type,.qo-catalog-categories {display:none;}
}
@media(max-width:590px) {
  .qo-catalog-sidebar .qo-filtros {display:grid;grid-template-columns:1fr;}
  .qo-catalog-sidebar .qo-filtros button {grid-column:auto;}
  .qo-catalogo .qo-productos {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .qo-catalogo .qo-producto-arte {min-height:78px;font-size:28px;}
  .qo-catalogo .qo-producto-cuerpo {padding:10px;}
  .qo-catalogo .qo-producto h3 {font-size:13px;line-height:1.45;}
  .qo-catalogo .qo-categoria {font-size:10px;overflow-wrap:anywhere;}
  .qo-catalogo .qo-descripcion {font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
  .qo-catalogo .qo-acciones {flex-direction:column;gap:6px;}
  .qo-catalogo .qo-acciones .qo-agregar,.qo-catalogo .qo-acciones a {min-height:44px;padding:9px 6px;font-size:12px;}
  .qo-catalogo .qo-productos.is-list .qo-producto {display:block;}
  .qo-catalogo .qo-productos.is-list .qo-producto-arte {min-height:88px;}
  .qo-catalog-categories {grid-template-columns:1fr;}
}
@media(max-width:700px) {
  .woocommerce ul.products {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .woocommerce ul.products li.product {min-width:0;padding:12px;}
  .woocommerce ul.products li.product .woocommerce-loop-product__title {font-size:15px;line-height:1.45;}
  .woocommerce ul.products li.product .button {min-height:44px;width:100%;font-size:12px;text-align:center;padding:10px 6px;}
}

/* Ficha individual: visual abstracto de iniciales, resumen comercial y CTA.
 * No representa fórmula, CAS, grado, inventario ni documentación disponible. */
.woocommerce div.product {
  display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);
  gap:clamp(20px,3vw,48px);align-items:start;
}
.woocommerce div.product .qo-single-visual {
  min-height:340px;display:grid;place-content:center;place-items:center;
  background:linear-gradient(140deg,#eef1ff,#dceaf9 62%,#f6f0ff);
  border:1px solid #e0e8f3;border-radius:24px;
  box-shadow:var(--qo-shadow);color:#416dad;
}
.qo-single-visual .qo-single-monogram {font-size:clamp(62px,8vw,104px);font-weight:750;letter-spacing:-.08em;line-height:1;}
.qo-single-visual small {font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin-top:16px;font-weight:700;}
.woocommerce div.product .summary {
  width:auto!important;float:none!important;margin:0!important;
  background:#fff;border:1px solid #e4ebf5;border-radius:24px;padding:clamp(24px,3vw,40px);
}
.woocommerce div.product .product_title {font-size:clamp(29px,3.6vw,43px);line-height:1.17;margin:0 0 18px;font-weight:700!important;letter-spacing:-.045em;}
.woocommerce div.product .woocommerce-product-details__short-description {color:#4f6280;font-size:16px;line-height:1.75;}
.woocommerce div.product .qo-boton-ficha {min-height:50px;width:100%;margin:22px 0 20px;border-radius:12px;font-weight:700;cursor:pointer;}
.woocommerce div.product .product_meta {font-size:13px;border-top:1px solid #e4eaf3;padding-top:18px;line-height:1.7;}
.woocommerce div.product .product_meta a {color:#0867f7;text-decoration:none;}
.woocommerce div.product .woocommerce-tabs {grid-column:1/-1;margin:5px 0 0!important;padding:27px clamp(20px,3vw,38px);background:#fff;border:1px solid #e6ebf3;border-radius:21px;}
.woocommerce div.product .woocommerce-tabs h2 {font-size:23px;font-weight:700;}
.woocommerce div.product .woocommerce-tabs .panel {margin:0;}
.woocommerce div.product .qo-single-back {grid-column:1/-1;font-size:13px;color:#5b7291;}
.woocommerce div.product .qo-single-back a {text-decoration:none;}
.woocommerce div.product .qo-single-back a:hover {text-decoration:underline;}
@media(max-width:760px) {
  .woocommerce div.product {grid-template-columns:minmax(0,1fr);gap:15px;}
  .woocommerce div.product .qo-single-visual {min-height:185px;border-radius:17px;}
  .qo-single-visual .qo-single-monogram {font-size:62px;}
  .woocommerce div.product .summary {border-radius:18px;padding:23px;}
  .woocommerce div.product .woocommerce-tabs {grid-column:auto;border-radius:18px;}
}
