/* Tema claro de Laboratorio Digital. Se carga después de la hoja histórica. */
:root { color-scheme: light; --bg:#f7faf7; --panel:#fff; --panel-2:#eff7f0; --line:#d7e4d9; --line-soft:#e7eee8; --text:#18231b; --muted:#617165; --accent:#168342; --success:#168342; }
body { background:#f7faf7 !important; color:var(--text) !important; }
.store-header { background:rgba(255,255,255,.97) !important; border-color:var(--line) !important; box-shadow:0 8px 25px rgba(24,35,27,.08) !important; }
.brand strong,.header-link { color:var(--text) !important; }.header-link:hover { color:var(--accent) !important; background:#edf7ef !important; }
.category-panel { background:rgba(255,255,255,.99) !important; border-color:var(--line) !important; box-shadow:14px 0 34px rgba(24,35,27,.12) !important; }.category-title,.eyebrow { color:var(--muted) !important; }.category-button { color:#344238 !important; }.category-button:hover,.category-button.active { color:var(--accent) !important; background:#e6f4e9 !important; border-color:#b9dbbf !important; }.category-help { background:#edf7ef !important; border-color:#c7dec9 !important; }
.catalog-intro { background:linear-gradient(135deg,#fff,#edf7ef) !important; }.catalog-intro .eyebrow { color:var(--accent) !important; background:#e6f4e9 !important; border-color:#b9dbbf !important; }.catalog-intro h1 { color:var(--text) !important; text-shadow:none !important; }.catalog-intro>p:last-child { color:var(--muted) !important; }
.search-wrap { background:rgba(247,250,247,.96) !important; }.search-wrap .search-field input { background:#fff !important; color:var(--text) !important; border-color:#b9cdbd !important; box-shadow:0 8px 20px rgba(24,35,27,.07) !important; }.search-field svg { stroke:var(--accent) !important; }
.catalog-product-summary,.opened-variant-row,.cart-line,.order-panel,.home-search-prompt,.home-how-it-works,.quick-categories button,.product-row { background:#fff !important; color:var(--text) !important; border-color:var(--line) !important; box-shadow:0 6px 18px rgba(24,35,27,.06) !important; }.catalog-product-summary:hover,.opened-variant-row:hover,.quick-categories button:hover { background:#fbfefb !important; border-color:#9ec8a5 !important; }
.summary-product-title>strong,.summary-product-title button>strong,.summary-product-price,.opened-variant-price,.order-panel h2,.order-total strong { color:var(--text) !important; }.summary-product-title>small,.summary-product-title button+small,.search-result-count { color:var(--muted) !important; }.summary-variant-count,.summary-product-chevron,.opened-product-back { color:var(--accent) !important; background:#e6f4e9 !important; border-color:#b9dbbf !important; }.summary-product-stock:not(.none),.opened-variant-stock:not(.none) { color:var(--accent) !important; }
.quantity-control,.quantity-control button,.quantity-control input { background:#fff !important; color:var(--text) !important; border-color:#b9cdbd !important; }.quantity-control button { color:var(--accent) !important; }.quantity-control button:hover:not(:disabled),.primary-button { background:var(--accent) !important; color:#fff !important; }.store-contact { background:#f0f7f1 !important; color:var(--text) !important; }.store-contact strong,.store-contact a { color:var(--text) !important; }
.brand-logo + span { display:none; }
.cart-mobile { justify-content:center; min-width:44px; padding:9px 10px !important; }.cart-mobile svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }.cart-mobile span { min-width:21px; height:21px; }
.catalog-breadcrumb { display:flex; align-items:center; gap:7px; }.catalog-breadcrumb button { padding:0; border:0; background:transparent; color:var(--accent); font:inherit; font-weight:800; cursor:pointer; }.catalog-breadcrumb button:hover { text-decoration:underline; }
.modal-card { background:#fff !important; color:var(--text) !important; border-color:var(--line) !important; box-shadow:0 24px 70px rgba(24,35,27,.2) !important; }.modal-card h2,.modal-card label,.modal-card .checkout-line strong,.modal-card .order-total strong { color:var(--text) !important; }.modal-close { background:#fff !important; color:var(--text) !important; border-color:var(--line) !important; }.modal-card input,.modal-card label.payment-option { background:#fff !important; color:var(--text) !important; border-color:#b9cdbd !important; }.modal-card label.payment-option:has(input:checked) { background:#edf7ef !important; border-color:var(--accent) !important; }.modal-card .payment-option input { accent-color:var(--accent) !important; }.checkout-steps li.active,.checkout-steps li.done { color:var(--text) !important; }.checkout-steps li.active span { border-color:var(--accent) !important; background:var(--accent) !important; color:#fff !important; }
.modal-card .bank-details div { background:#f0f7f1 !important; border-color:#c7dec9 !important; }.modal-card .bank-details dt { color:var(--muted) !important; }.modal-card .bank-details dd { color:var(--text) !important; }.modal-card .copy-button { background:#fff !important; border-color:#b9cdbd !important; color:var(--accent) !important; }
.modal-card .cash-reservation-warning { background:#edf7ef !important; border-color:#9fcfa8 !important; color:#1a3522 !important; font-weight:600; }
.modal-card .cash-reservation-warning strong { color:#0d4c24 !important; font-weight:850; }

/* Escritorio: listado compacto y carrito bajo demanda, como en el administrador. */
@media (min-width:761px){
  .store-shell{grid-template-columns:minmax(0,1fr) !important;}
  .order-panel{position:fixed;z-index:80;top:0;right:0;width:min(380px,92vw);max-height:100vh;min-height:100vh;transform:translateX(105%);transition:transform .22s ease;box-shadow:-20px 0 70px rgba(24,35,27,.22) !important;}
  .order-panel.mobile-open{transform:translateX(0);}
  .cart-mobile,.icon-button{display:inline-flex;}
  .cart-mobile{align-items:center;gap:7px;border:1px solid var(--accent) !important;border-radius:9px;background:var(--accent) !important;color:#fff !important;}
  .cart-mobile span{display:grid;min-width:22px;height:22px;place-items:center;border-radius:50%;background:#fff;color:var(--accent);font-size:11px;font-weight:850;}
  .icon-button{border:0;background:transparent;color:var(--text);font-size:28px;}
  .catalog-product-summary.unified-product-row{grid-template-columns:76px minmax(0,1.75fr) minmax(118px,.5fr) minmax(160px,.55fr) 42px;min-height:88px;padding-block:8px;}
  .unified-product-row .summary-product-title{min-width:0;}
  .unified-product-row .summary-product-title>strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px !important;line-height:1.25;letter-spacing:0;}
  .unified-product-row .summary-product-title>small{font-size:9px;}
  .unified-product-row .summary-variant-count,.unified-product-row .summary-product-price{font-size:13px;white-space:nowrap;}
  .catalog-intro h1{font-size:clamp(26px,2.4vw,36px);line-height:1.05;}
  .catalog-column > .search-wrap{margin:22px 0 18px;z-index:15;}
  .category-backdrop{z-index:40;}
  .category-panel{z-index:41;}
}

/* Checkout claro y legible en teléfonos. */
@media (max-width:760px){.modal{padding:0 !important;align-items:end !important;}.modal.open{place-items:end stretch !important;}.modal-backdrop{background:rgba(24,35,27,.3) !important;}.modal-card{width:100% !important;max-height:calc(100vh - 42px) !important;padding:22px 18px 28px !important;border-radius:18px 18px 0 0 !important;background:#fff !important;color:var(--text) !important;box-shadow:0 -14px 40px rgba(24,35,27,.16) !important;}.modal-card p,.modal-card small,.checkout-footnote{color:var(--muted) !important;}.modal-close{background:#fff !important;color:var(--text) !important;}.payment-focus,.cash-confirmation,.cash-expiry-explanation,.payment-instructions,.bank-details{background:#f0f7f1 !important;border-color:#c7dec9 !important;color:var(--text) !important;}.payment-focus span,.cash-confirmation span,.payment-instructions span,.cash-expiry-explanation p,.bank-details dt{color:var(--muted) !important;}.payment-focus strong,.cash-confirmation strong,.bank-details dd{color:var(--text) !important;}.button-link{display:block;text-align:center;text-decoration:none;}}

/* Confirmación legible también fuera de móvil. */
.modal-card .payment-focus,.modal-card .payment-instructions,.modal-card .bank-details{color:#173b28 !important;background:#eef7f0 !important;border-color:#bad8c1 !important}.modal-card .payment-focus strong,.modal-card .bank-details dd{color:#102d1d !important}.modal-card [data-finish-order]{background:#167a42 !important;color:#fff !important;border-color:#167a42 !important}.modal-card [data-finish-order]:hover{background:#0f6233 !important}
