/* Extraído de salud-01-carrito.html (lo que añade sobre base.css). NO EDITAR: se regenera. */

/* ═══════════ Pedido · salud-01 ═══════════
   Sin referencia que medir (la referencia no tiene carrito). Todo del sistema propio:
     retícula 12 · gap 12.8 · radios 2.4 controles / 9.6 contenedores · regla 1px
   ═══════════════════════════════════════ */

.s01-ped-head{ padding:56px var(--edge) 0; }
.s01-ped{ padding:70px var(--edge) 96px; }
.s01-ped-grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:12.8px; align-items:start; }
.s01-ped-col{ grid-column:1 / 9; min-width:0; }
.s01-ped-res{ grid-column:9 / 13; min-width:0; position:sticky; top:calc(var(--header-h) + 16px); display:flex; flex-direction:column; gap:12.8px; }

/* ── franja continua de líneas ── */
.s01-ped-lista{ background:#F1F4FB; border-radius:9.6px; overflow:hidden; }
.s01-ped-l{ display:grid; grid-template-columns:96px minmax(0,1fr) auto auto; align-items:center; gap:24px; padding:22px 24px; }
.s01-ped-l + .s01-ped-l{ border-top:1px solid rgba(26,34,48,.10); }
.s01-ped-l-img{ width:96px; height:88px; border-radius:7px; overflow:hidden; }
.s01-ped-l-img img{ width:100%; height:100%; object-fit:contain; display:block; }
.s01-ped-l-txt{ min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.s01-ped-l-n{ font-family:"Neue Montreal","Helvetica Neue",Helvetica,Arial,sans-serif; font-weight:400; font-size:19px; line-height:1.16; letter-spacing:-.02em; color:var(--ink); text-decoration:none; }
.s01-ped-l-n:hover{ color:var(--azul-fuerte); }
.s01-ped-l-m{ font-family:ui-monospace,Menlo,Consolas,monospace; font-size:9.6px; line-height:11.52px; letter-spacing:.64px; text-transform:uppercase; color:var(--azul-medio); }
/* Stepper portado de la PDP: reusé su clase pero su CSS vivía en el generador de la PDP, así que
   aquí salía como un campo suelto en vez de un control. Mismos valores, sin tocar nada. */
.s01-pdp-qty{ display:flex; align-items:center; gap:4px; background:rgba(53,57,142,.07); border-radius:2.4px; padding:4px; }
.s01-pdp-qty button{ width:34px; height:34px; border:0; border-radius:2.4px; background:transparent; color:var(--azul-fuerte); font-size:18px; line-height:1; cursor:pointer; transition:background .15s ease; }
.s01-pdp-qty button:hover{ background:rgba(53,57,142,.14); }
.s01-pdp-qty input{ width:52px; height:34px; border:0; background:transparent; text-align:center; font-family:var(--font-ui); font-size:16px; font-weight:600; color:var(--azul-fuerte); font-variant-numeric:tabular-nums; }
.s01-pdp-qty input:focus-visible{ outline:2px solid var(--azul-fuerte); outline-offset:1px; border-radius:2px; }
.s01-ped-l-q{ display:flex; flex-direction:column; align-items:center; gap:8px; }
.s01-ped-l-u{ font-family:var(--font-ui); font-size:13px; letter-spacing:-.01em; color:var(--gris-medio); white-space:nowrap; }
.s01-ped-l-u span{ font-family:ui-monospace,Menlo,Consolas,monospace; font-size:9.6px; letter-spacing:.64px; text-transform:uppercase; }
.s01-ped-l-t{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; min-width:128px; }
.s01-ped-l-tot{ font-family:"Neue Montreal","Helvetica Neue",Helvetica,Arial,sans-serif; font-size:22px; line-height:1; letter-spacing:-.02em; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; }
.s01-ped-l-tot i{ font-style:normal; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:9.6px; letter-spacing:.64px; color:var(--gris-medio); margin-left:3px; }
.s01-ped-l-rm{ background:none; border:0; padding:0; cursor:pointer; font-family:var(--font-ui); font-size:13px; letter-spacing:-.01em; color:var(--gris-medio); }
.s01-ped-l-rm:hover{ color:#C0392B; text-decoration:underline; }

/* El chip de existencia aquí va DENTRO de la línea (no flotando): en el pedido es un dato de la
   línea, no una etiqueta de tarjeta. Se le da el tratamiento claro de la PLP. */
.s01-ped-l .s01-pcard-note{ align-self:flex-start; color:#5A6472; background:rgba(26,34,48,.06); }
.s01-ped-l .s01-pcard-note.is-out{ color:var(--gris-medio); }
.s01-ped-l .s01-pcard-note.is-out i{ background:var(--gris-medio); }

.s01-ped-pie{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 4px 0; }
.s01-ped-seguir{ font-family:var(--font-ui); font-size:15px; font-weight:500; letter-spacing:-.01em; color:var(--azul-fuerte); text-decoration:none; }
.s01-ped-seguir:hover{ text-decoration:underline; }
.s01-ped-vaciar{ background:none; border:0; padding:0; cursor:pointer; font-family:var(--font-ui); font-size:14px; letter-spacing:-.01em; color:var(--gris-medio); }
.s01-ped-vaciar:hover{ color:#C0392B; }

/* ── resumen ── */
.s01-ped-res-card{ background:#F1F4FB; border-radius:9.6px; padding:26px 24px; display:flex; flex-direction:column; gap:12px; }
.s01-ped-res-t{ font-family:ui-monospace,Menlo,Consolas,monospace; font-size:9.6px; line-height:11.52px; letter-spacing:.64px; text-transform:uppercase; color:var(--azul-medio); margin-bottom:4px; }
.s01-ped-f{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; font-family:var(--font-ui); font-size:15px; letter-spacing:-.01em; color:#5A6472; }
.s01-ped-f b{ font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums; }
.s01-ped-sub{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding-top:14px; margin-top:4px; border-top:1px solid var(--gris-claro);
  font-family:var(--font-ui); font-size:15px; letter-spacing:-.01em; color:#5A6472; }
.s01-ped-sub b{ font-family:"Neue Montreal","Helvetica Neue",Helvetica,Arial,sans-serif; font-weight:400; font-size:26px; line-height:1; letter-spacing:-.02em; color:var(--ink); font-variant-numeric:tabular-nums; }
.s01-ped-sub b i{ font-style:normal; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:9.6px; letter-spacing:.64px; color:var(--gris-medio); margin-left:3px; }
.s01-ped-nota{ margin:0 0 4px; font-family:var(--font-ui); font-size:13px; line-height:19px; letter-spacing:-.01em; color:var(--gris-medio); }
.s01-ped-res-card .s01-pcard-btn{ flex:none; }
.s01-pcard-btn.is-wide{ width:100%; display:block; }
.s01-ped-acc{ display:flex; flex-direction:column; gap:10px; }
.s01-ped-cotiza{ display:block; text-align:center; padding:14px 12px; border-radius:2.4px; background:rgba(53,57,142,.10);
  font-family:var(--font-ui); font-size:15px; font-weight:600; letter-spacing:-.01em; color:var(--azul-fuerte); text-decoration:none; transition:background .16s ease; }
.s01-ped-cotiza:hover{ background:rgba(53,57,142,.18); }

.s01-ped-ayuda{ background:var(--gris-claro); border-radius:9.6px; padding:22px 24px; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.s01-ped-ayuda p{ margin:0; font-family:var(--font-ui); font-size:14px; line-height:20px; letter-spacing:-.01em; color:#41485A; }
.s01-ped-ayuda .s01-pcard-btn{ flex:none; background:#fff; }

/* ── vacío ── */
.s01-ped-vacio{ background:#F1F4FB; border-radius:9.6px; text-align:center; padding:80px 24px; }
.s01-ped-vacio-t{ font-family:"Neue Montreal","Helvetica Neue",Helvetica,Arial,sans-serif; font-size:26px; letter-spacing:-.02em; color:var(--ink); }
.s01-ped-vacio p{ margin:10px auto 20px; max-width:44ch; font-family:var(--font-ui); font-size:15px; line-height:24px; color:#5A6472; }
.s01-ped-vacio .s01-pcard-btn{ display:inline-block; flex:none; padding-left:28px; padding-right:28px; }

.s01-ped [hidden]{ display:none !important; }

@media (max-width:1024px){
  .s01-ped{ padding-top:40px; }
  .s01-ped-grid{ grid-template-columns:1fr; }
  .s01-ped-col,.s01-ped-res{ grid-column:auto; }
  .s01-ped-res{ position:static; }
  .s01-ped-l{ grid-template-columns:80px minmax(0,1fr); gap:14px 18px; }
  .s01-ped-l-img{ width:80px; height:74px; }
  .s01-ped-l-q{ grid-column:2; align-items:flex-start; flex-direction:row; gap:14px; }
  .s01-ped-l-t{ grid-column:1 / -1; flex-direction:row; align-items:baseline; justify-content:space-between; min-width:0; }
}
@media (max-width:767px){
  .s01-ped-head{ padding-top:36px; }
  .s01-ped-l{ padding:18px 16px; }
  .s01-ped-pie{ flex-direction:column; align-items:flex-start; gap:12px; }
}


.s01-siteheader.is-inner{ margin-bottom:0; }
.s01-stage{ background:var(--paper); min-height:100vh; }
.s01-siteheader.is-inner:not(.paint) .s01-links > a,
.s01-siteheader.is-inner:not(.paint) .s01-navitem > a,
.s01-siteheader.is-inner:not(.paint) .s01-login,
.s01-siteheader.is-inner:not(.paint) .s01-icon{ color:var(--ink); }
.s01-siteheader.is-inner:not(.paint) .s01-logo-img{ filter:brightness(0); }
.s01-siteheader.is-inner:not(.paint) .s01-cta{ background:var(--azul-fuerte); color:#fff; }
.s01-siteheader.is-inner:not(.paint) .s01-cta:hover{ background:var(--azul-navy); }

