/* ============================================================================
   Heladería DS (hl-*) — rediseño Stitch ago-2026. Copito Helados = cliente cero.
   Dirección: "fábrica, no heladería" — naranja único, neutros crema cálidos,
   tinta marrón (nunca negro), Fraunces para titulares, Plex Mono para precios.
   Convive con Porto: todo va prefijado hl- y scopeado a html.demo-heladeria
   cuando hay riesgo de cascada.
   ========================================================================== */

:root {
    --hl-naranja: #FF6600;
    --hl-naranja-ink: #C24800;      /* naranja de texto, AA sobre crema */
    --hl-naranja-soft: #FFE7D4;
    --hl-polar: #17697E;            /* frío de apoyo, con cuentagotas */
    --hl-polar-soft: #DEF0F5;
    --hl-bg: #FDF7F1;               /* crema, lienzo principal */
    --hl-bg2: #F7EDE2;              /* crema 2, bloques alternos */
    --hl-card: #FFFFFF;
    --hl-ink: #23150C;              /* tinta marrón */
    --hl-muted: #7C6A5C;
    --hl-line: #EADCCC;
    --hl-ok: #1F7A46;
    --hl-shadow: 0 2px 4px rgba(35, 21, 12, 0.08);
    --hl-r: 10px;                   /* tarjetas */
    --hl-r-pill: 999px;             /* botones y chips */
    --hl-font-display: "Fraunces", "Iowan Old Style", Georgia, serif;
    --hl-font-body: "Public Sans", system-ui, -apple-system, sans-serif;
    --hl-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;
    --hl-wrap: 1200px;
}

/* ---------- base sobre Porto ---------- */
html.demo-heladeria body {
    background: var(--hl-bg);
    color: var(--hl-ink);
    font-family: var(--hl-font-body);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
/* Porto pone h3/h4 en mayúsculas: en este DS los titulares son serif sin caps. */
html.demo-heladeria h1, html.demo-heladeria h2, html.demo-heladeria h3,
html.demo-heladeria h4 {
    font-family: var(--hl-font-display);
    text-transform: none;
    letter-spacing: normal;
    color: var(--hl-ink);
}
/* cd-system-base fuerza border-radius con !important sobre [role=main] .btn:
   se gana redefiniendo la variable en el contenedor. */
html.demo-heladeria [role="main"], html.demo-heladeria .main { --border-radius: var(--hl-r-pill); }

.hl-wrap { max-width: var(--hl-wrap); margin: 0 auto; padding: 0 40px; }
@media (max-width: 767.98px) { .hl-wrap { padding: 0 16px; } }

/* ---------- tipografía ---------- */
.hl-display { font-family: var(--hl-font-display); font-weight: 900; font-size: clamp(34px, 4.6vw, 52px); line-height: 1.08; letter-spacing: -0.02em; text-wrap: balance; }
.hl-h2 { font-family: var(--hl-font-display); font-weight: 800; font-size: clamp(26px, 3.2vw, 34px); line-height: 1.2; text-wrap: balance; }
.hl-h3 { font-family: var(--hl-font-display); font-weight: 800; font-size: 21px; line-height: 1.3; }
.hl-kicker { font-family: var(--hl-font-body); font-weight: 600; font-size: 12.5px; letter-spacing: 0.09em; text-transform: uppercase; color: var(--hl-naranja-ink); }
.hl-lead { font-size: 17.5px; color: var(--hl-muted); max-width: 62ch; }
.hl-muted { color: var(--hl-muted); }

/* precio: NUNCA sin su unidad al lado */
.hl-price { font-family: var(--hl-font-mono); font-weight: 600; font-size: 21px; color: var(--hl-ink); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; line-height: 1.1; }
.hl-price small, .hl-unit { display: block; font-family: var(--hl-font-body); font-weight: 400; font-size: 12.5px; color: var(--hl-muted); letter-spacing: 0; margin-top: 3px; }
.hl-price .hl-desde { display: inline; font-family: var(--hl-font-body); font-size: 12.5px; font-weight: 400; color: var(--hl-muted); margin-right: 2px; }

/* ---------- botones ---------- */
.hl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--hl-font-body); font-weight: 600; font-size: 15px; line-height: 1; border-radius: var(--hl-r-pill); padding: 14px 26px; border: 2px solid transparent; cursor: pointer; text-decoration: none !important; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.hl-btn--primary { background: var(--hl-naranja); color: #fff !important; }
.hl-btn--primary:hover, .hl-btn--primary:focus { background: var(--hl-naranja-ink); color: #fff !important; }
.hl-btn--ghost { background: transparent; color: var(--hl-naranja-ink) !important; border-color: var(--hl-naranja); }
.hl-btn--ghost:hover, .hl-btn--ghost:focus { background: var(--hl-naranja-soft); color: var(--hl-naranja-ink) !important; }
.hl-btn--light { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.65); }
.hl-btn--light:hover, .hl-btn--light:focus { background: rgba(255,255,255,.12); color: #fff !important; border-color: #fff; }
.hl-btn--sm { padding: 9px 18px; font-size: 13.5px; }
.hl-btn:focus-visible { outline: 3px solid var(--hl-naranja-soft); outline-offset: 2px; }

/* ---------- secciones ---------- */
.hl-section { padding: 72px 0; border: 0; margin: 0; background: var(--hl-bg); }
.hl-section--alt { background: var(--hl-bg2); }
.hl-section--ink { background: var(--hl-ink); color: #F6ECE2; }
.hl-section--ink .hl-h2, .hl-section--ink .hl-h3, .hl-section--ink h2, .hl-section--ink h3 { color: #FFF8F1; }
.hl-section--ink .hl-muted, .hl-section--ink .hl-lead { color: #C9B6A6; }
.hl-sechead { max-width: 640px; margin-bottom: 36px; }
.hl-sechead .hl-h2 { margin: 6px 0 10px; }
.hl-sechead--center { margin-left: auto; margin-right: auto; text-align: center; }
@media (max-width: 767.98px) { .hl-section { padding: 52px 0; } }

/* ---------- tarjeta genérica ---------- */
.hl-card { background: var(--hl-card); border: 1px solid var(--hl-line); border-radius: var(--hl-r); box-shadow: var(--hl-shadow); }

/* ---------- hero ---------- */
.hl-hero { position: relative; min-height: 560px; display: flex; align-items: center; background: var(--hl-ink); overflow: hidden; }
.hl-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.hl-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(35,21,12,.72) 0%, rgba(35,21,12,.40) 48%, rgba(35,21,12,.10) 100%); }
.hl-hero__content { position: relative; z-index: 1; padding: 96px 0; max-width: 640px; }
.hl-hero__content .hl-kicker { color: #FFB98A; }
.hl-hero__content .hl-display { color: #FFF8F1; margin: 10px 0 14px; }
.hl-hero__content .hl-lead { color: #EBD9C8; }
.hl-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
@media (max-width: 767.98px) {
    .hl-hero { min-height: 480px; }
    .hl-hero__content { padding: 64px 0; }
    .hl-hero__actions { flex-direction: column; align-items: stretch; }
}

/* ---------- franja de confianza ---------- */
.hl-trust { display: grid; grid-template-columns: repeat(4, 1fr); }
.hl-trust__item { padding: 8px 24px; text-align: center; border-left: 1px solid var(--hl-line); min-width: 0; }
.hl-trust__item:first-child { border-left: 0; }
.hl-trust__num { font-family: var(--hl-font-display); font-weight: 800; font-size: 23px; line-height: 1.2; }
.hl-trust__label { font-size: 13.5px; color: var(--hl-muted); margin-top: 2px; }
@media (max-width: 767.98px) {
    .hl-trust { grid-template-columns: 1fr 1fr; row-gap: 22px; }
    .hl-trust__item:nth-child(3) { border-left: 0; }
}

/* ---------- grillas de tarjetas ---------- */
.hl-grid { display: grid; gap: 20px; }
.hl-grid--3 { grid-template-columns: repeat(3, 1fr); }
.hl-grid--3 > * { min-width: 0; }
@media (max-width: 991.98px) { .hl-grid--3 { grid-template-columns: 1fr; } }

/* tarjeta de línea (Qué vendemos) */
.hl-line-card { display: flex; flex-direction: column; overflow: hidden; }
.hl-line-card__img { aspect-ratio: 4 / 3; background: var(--hl-bg2); background-size: cover; background-position: center; border-bottom: 1px solid var(--hl-line); }
.hl-line-card__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.hl-line-card__body .hl-h3 { margin: 0; }
.hl-line-card__desc { font-size: 14px; color: var(--hl-muted); }
.hl-line-card__foot { margin-top: auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding-top: 14px; }

/* ---------- cómo comprar ---------- */
.hl-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; counter-reset: hlstep; }
.hl-step { text-align: center; padding: 0 12px; position: relative; min-width: 0; }
.hl-step__n { counter-increment: hlstep; width: 58px; height: 58px; margin: 0 auto 14px; border: 2px solid var(--hl-naranja); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--hl-font-display); font-weight: 800; font-size: 24px; color: var(--hl-naranja-ink); background: var(--hl-card); }
.hl-step__n::before { content: counter(hlstep); }
.hl-step__t { font-family: var(--hl-font-display); font-weight: 800; font-size: 18px; margin-bottom: 6px; }
.hl-step__d { font-size: 14px; color: var(--hl-muted); }
.hl-step + .hl-step::before { content: ""; position: absolute; top: 29px; right: calc(50% + 44px); width: calc(100% - 88px); height: 1px; background: var(--hl-line); }
@media (max-width: 767.98px) {
    .hl-steps { grid-template-columns: 1fr; gap: 22px; }
    .hl-step { text-align: left; display: grid; grid-template-columns: 58px 1fr; column-gap: 16px; }
    .hl-step__n { margin: 0; grid-row: 1 / 3; }
    .hl-step + .hl-step::before { display: none; }
}

/* franja de condiciones */
.hl-conditions { background: var(--hl-ink); color: #EBD9C8; text-align: center; font-size: 13.5px; letter-spacing: 0.04em; padding: 13px 20px; }
.hl-conditions b { color: #FFF; font-weight: 600; }

/* ---------- escalera de precios ---------- */
.hl-ladder { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: end; }
.hl-ladder__step { padding: 24px 24px 26px; display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.hl-ladder__step--1 { min-height: 240px; }
.hl-ladder__step--2 { min-height: 280px; }
.hl-ladder__step--3 { min-height: 320px; border: 2px solid var(--hl-naranja); position: relative; }
.hl-ladder__tag { position: absolute; top: -12px; right: 18px; background: var(--hl-naranja); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; border-radius: var(--hl-r-pill); padding: 4px 12px; }
.hl-ladder__name { font-family: var(--hl-font-body); font-weight: 700; font-size: 13px; letter-spacing: 0.09em; text-transform: uppercase; color: var(--hl-naranja-ink); }
.hl-ladder__who { font-size: 14.5px; color: var(--hl-muted); }
.hl-ladder__min { font-family: var(--hl-font-mono); font-size: 12px; color: var(--hl-muted); background: var(--hl-bg2); border-radius: 6px; padding: 4px 9px; align-self: flex-start; }
.hl-ladder__benefit { font-family: var(--hl-font-display); font-weight: 800; font-size: 19px; margin-top: auto; }
@media (max-width: 991.98px) {
    .hl-ladder { grid-template-columns: 1fr; align-items: stretch; }
    .hl-ladder__step--1, .hl-ladder__step--2, .hl-ladder__step--3 { min-height: 0; }
    .hl-ladder__step--3 { order: -1; }
}

/* ---------- productos (más pedidos / catálogo) ---------- */
.hl-products { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
@media (max-width: 1199.98px) { .hl-products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767.98px) { .hl-products { grid-template-columns: repeat(2, 1fr); } }
.hl-product { padding: 12px; display: flex; flex-direction: column; gap: 8px; position: relative; min-width: 0; }
.hl-product__img { aspect-ratio: 1 / 1; border-radius: 7px; background: var(--hl-bg2); background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; color: var(--hl-muted); font-size: 12px; overflow: hidden; }
.hl-product__img img { width: 100%; height: 100%; object-fit: cover; }
.hl-product__name { font-weight: 600; font-size: 14px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.7em; }
.hl-product .hl-price { font-size: 17px; }
.hl-product__badge { position: absolute; top: 18px; left: 18px; background: var(--hl-naranja); color: #fff; font-size: 10.5px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; border-radius: var(--hl-r-pill); padding: 3px 10px; z-index: 1; }

/* ---------- la fábrica ---------- */
.hl-factory { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.hl-factory__shots { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hl-factory__shot { border-radius: var(--hl-r); background: var(--hl-bg2); border: 1px solid var(--hl-line); background-size: cover; background-position: center; aspect-ratio: 4 / 5; display: flex; align-items: center; justify-content: center; color: var(--hl-muted); font-size: 12.5px; overflow: hidden; }
.hl-factory__shot img { width: 100%; height: 100%; object-fit: cover; }
.hl-factory__shot:first-child { grid-row: 1 / 3; aspect-ratio: auto; }
.hl-factory__text p { color: var(--hl-muted); margin-bottom: 14px; }
@media (max-width: 991.98px) { .hl-factory { grid-template-columns: 1fr; gap: 32px; } }

/* ---------- acordeón FAQs ---------- */
.hl-acc { display: flex; flex-direction: column; gap: 10px; max-width: 760px; margin: 0 auto; }
.hl-acc__item { overflow: hidden; }
.hl-acc__q { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; background: none; border: 0; text-align: left; font-family: var(--hl-font-display); font-weight: 800; font-size: 16.5px; color: var(--hl-ink); padding: 17px 20px; cursor: pointer; }
.hl-acc__q::after { content: "+"; font-family: var(--hl-font-mono); font-size: 20px; color: var(--hl-naranja-ink); flex: 0 0 auto; transition: transform .15s ease; }
.hl-acc__item.is-open .hl-acc__q::after { content: "−"; }
.hl-acc__a { display: none; padding: 0 20px 18px; color: var(--hl-muted); font-size: 14.5px; max-width: 68ch; }
.hl-acc__item.is-open .hl-acc__a { display: block; }
.hl-acc__q:focus-visible { outline: 3px solid var(--hl-naranja-soft); outline-offset: -3px; }

/* ---------- cierre revendedores ---------- */
.hl-reseller-cta { position: relative; text-align: center; padding: 84px 0; overflow: hidden; }
.hl-reseller-cta .hl-display { color: #FFF8F1; font-size: clamp(28px, 3.8vw, 42px); }
.hl-reseller-cta__mascot { position: absolute; right: -60px; bottom: -80px; width: 380px; opacity: 0.07; pointer-events: none; filter: grayscale(1) brightness(3); }
.hl-reseller-cta__sub { color: #C9B6A6; margin: 12px auto 26px; max-width: 46ch; }
.hl-reseller-cta__aside { display: block; margin-top: 16px; font-size: 13.5px; }
.hl-reseller-cta__aside a { color: #FFB98A; }

/* ---------- header ---------- */
.hl-header { background: var(--hl-bg); border-bottom: 1px solid var(--hl-line); }
/* Porto centra el header-body con flex en algunos temas: se fuerza block y el
   row toma el ancho completo — sin esto logo/nav/acciones quedan apiñados al centro. */
.hl-header .header-body { background: transparent !important; border: 0 !important; display: block !important; padding: 0 !important; }
.hl-header .hl-wrap { width: 100%; }
.hl-header__row { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
.hl-header__logo { display: flex; align-items: center; flex: 0 0 auto; }
.hl-header__logo img { max-height: 52px; width: auto; }
.hl-header__nav { display: flex; gap: 26px; }
.hl-header__nav a { font-weight: 600; font-size: 14.5px; color: var(--hl-ink); text-decoration: none; padding: 6px 0; border-bottom: 2px solid transparent; }
.hl-header__nav a:hover { color: var(--hl-naranja-ink); }
.hl-header__nav a.is-active { color: var(--hl-naranja-ink); border-bottom-color: var(--hl-naranja); }
.hl-header__actions { display: flex; align-items: center; gap: 14px; }
.hl-cart-link { position: relative; color: var(--hl-ink); font-size: 19px; text-decoration: none; padding: 4px; }
.hl-cart-link:hover { color: var(--hl-naranja-ink); }
.hl-cart-link .hl-cart-count { position: absolute; top: -5px; right: -7px; background: var(--hl-naranja); color: #fff; font-family: var(--hl-font-mono); font-size: 10.5px; font-weight: 600; min-width: 17px; height: 17px; border-radius: 99px; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
.hl-burger { display: none; background: none; border: 0; font-size: 21px; color: var(--hl-ink); padding: 6px; cursor: pointer; }
@media (max-width: 991.98px) {
    .hl-header__nav, .hl-header__actions .hl-btn { display: none; }
    .hl-burger { display: block; }
}
/* offcanvas móvil — panel con identidad: banda naranja arriba, links grandes
   en Fraunces, CTA doble y las condiciones de venta al pie. */
.hl-offcanvas { background: var(--hl-bg); color: var(--hl-ink); max-width: min(88vw, 360px); border-left: 0; }
.hl-offcanvas .offcanvas-header {
    background: var(--hl-naranja); border-bottom: 0; padding: 16px 20px;
}
.hl-offcanvas .offcanvas-header .offcanvas-title { color: #fff; font-family: var(--hl-font-display); font-weight: 800; font-size: 18px; }
.hl-offcanvas .offcanvas-header img { max-height: 40px; }
.hl-offcanvas .btn-close { filter: brightness(0) invert(1); opacity: .9; }
.hl-offcanvas .offcanvas-body { display: flex; flex-direction: column; padding: 10px 20px 20px; }
.hl-offcanvas__link {
    display: flex; align-items: center; justify-content: space-between;
    padding: 15px 2px; font-family: var(--hl-font-display); font-weight: 800;
    font-size: 20px; color: var(--hl-ink); text-decoration: none;
    border-bottom: 1px solid var(--hl-line);
}
.hl-offcanvas__link::after { content: "→"; font-family: var(--hl-font-mono); font-size: 15px; color: var(--hl-naranja); opacity: 0; transform: translateX(-6px); transition: opacity .15s ease, transform .15s ease; }
.hl-offcanvas__link:hover::after, .hl-offcanvas__link.is-active::after { opacity: 1; transform: none; }
.hl-offcanvas__link.is-active { color: var(--hl-naranja-ink); }
.hl-offcanvas__ctas { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; }
.hl-offcanvas__foot { margin-top: auto; padding-top: 22px; font-size: 12.5px; color: var(--hl-muted); line-height: 1.6; }
.hl-offcanvas__foot b { color: var(--hl-ink); font-weight: 600; }

/* ---------- footer ---------- */
html.demo-heladeria #footer.hl-footer { background: var(--hl-ink) !important; border-top: 0; margin-top: 0; }
.hl-footer { color: #C9B6A6; font-size: 14px; }
.hl-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; padding: 56px 0 40px; }
.hl-footer__brand img { max-height: 64px; margin-bottom: 14px; }
.hl-footer__tagline { max-width: 34ch; }
.hl-footer__since { font-family: var(--hl-font-mono); font-size: 12px; margin-top: 10px; color: #8A7767; }
.hl-footer h4 { color: #FFF8F1; font-size: 15px; margin-bottom: 14px; }
.hl-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.hl-footer__list a { color: #C9B6A6; text-decoration: none; }
.hl-footer__list a:hover { color: #FFB98A; }
.hl-footer__list i { width: 20px; color: #FFB98A; margin-right: 6px; text-align: center; }
.hl-footer__bar { border-top: 1px solid rgba(255,248,241,.12); padding: 16px 0; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 12.5px; color: #8A7767; }
@media (max-width: 767.98px) { .hl-footer__grid { grid-template-columns: 1fr; gap: 28px; padding: 40px 0 28px; } }

/* ---------- reveal ---------- */
.hl-reveal { opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
.hl-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .hl-reveal { opacity: 1; transform: none; transition: none; } }

/* ---------- contacto ---------- */
.hl-contact-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: start; }
@media (max-width: 991.98px) { .hl-contact-grid { grid-template-columns: 1fr; } }
.hl-contact-list { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.hl-contact-list li { display: flex; gap: 13px; align-items: flex-start; font-size: 15px; }
.hl-contact-list i { color: var(--hl-naranja-ink); width: 20px; text-align: center; margin-top: 4px; flex: 0 0 auto; }
.hl-contact-list a { color: var(--hl-naranja-ink); font-weight: 600; }
.hl-map { overflow: hidden; aspect-ratio: 4 / 3; }
.hl-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.hl-form-card { padding: 28px; }
.hl-field { margin-bottom: 15px; }
.hl-field label { display: block; font-weight: 600; font-size: 13.5px; margin-bottom: 5px; color: var(--hl-ink); }

/* ---------- faqs ---------- */
.hl-faq-search { max-width: 480px; margin: 0 auto 26px; }
.hl-faq-search input { border-radius: var(--hl-r-pill); padding: 12px 20px; }
.hl-faq-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 24px 26px; max-width: 760px; margin: 30px auto 0; }

/* ---------- footer siempre al fondo ---------- */
/* En páginas cortas (éxito del alta, gracias del pedido) el footer quedaba a
   mitad de pantalla. La estructura Porto es .body > header + .main + footer:
   con columna flex el main estira y el footer baja al borde. */
html.demo-heladeria .body { display: flex; flex-direction: column; min-height: 100vh; }
html.demo-heladeria .body > [role="main"], html.demo-heladeria .body > .main { flex: 1 0 auto; }
html.demo-heladeria .body > #footer { margin-top: auto; }

/* sesión del cliente en el header */
.hl-session, a.hl-session { text-decoration: none; } .hl-session { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; font-size: 13.5px; color: var(--hl-ink); white-space: nowrap; }
.hl-session i { color: var(--hl-ok); }
.hl-session-out { display: inline; margin: 0; }
.hl-offcanvas__session { font-size: 14.5px; color: var(--hl-muted); padding: 4px 2px 0; }
.hl-offcanvas__session b { color: var(--hl-ink); }
@media (max-width: 991.98px) { .hl-session, .hl-session-out { display: none; } }

/* ---------- mis pedidos ---------- */
.hl-pedidos { display: flex; flex-direction: column; gap: 14px; }
.hl-pedido { padding: 18px 20px; }
.hl-pedido__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.hl-pedido__id { font-family: var(--hl-font-mono); font-weight: 600; font-size: 15px; margin-right: 10px; }
.hl-pedido__right { display: flex; align-items: center; gap: 12px; }
.hl-est { font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; border-radius: var(--hl-r-pill); padding: 3px 11px; }
.hl-est--pend  { background: var(--hl-warn-soft, #FAEDD5); color: var(--hl-warn, #96600B); }
.hl-est--curso { background: var(--hl-polar-soft); color: var(--hl-polar); }
.hl-est--ok    { background: #DFF0E5; color: var(--hl-ok); }
.hl-est--off   { background: var(--hl-bg2); color: var(--hl-muted); }
.hl-pedido__items { list-style: none; margin: 12px 0 0; padding: 10px 0 0; border-top: 1px dashed var(--hl-line); display: flex; flex-direction: column; gap: 5px; font-size: 14px; }
.hl-pedido__items li { display: flex; justify-content: space-between; gap: 14px; }
.hl-mono { font-family: var(--hl-font-mono); font-variant-numeric: tabular-nums; }
