/* ==========================================================================
   ALGEDI — alma: orden de almacén y ticket de venta. Plano técnico crema, ticket térmico
   que se imprime, etiquetas de producto, promociones y un plano de almacenes en movimiento.
   ========================================================================== */
body.ag { --c: #da7d51; --cg: #f5b08e; --paper: #faf2e8; --paper2: #f2e3d0; --white: #fdf8f1; --line: #e8d5bd; --ink: #2a1d14; --ink2: #4e3a2b; --mut: #8a6f58; background: #faf2e8; }
body.ag .hdr { background: rgba(10,10,10,.94); }
body.ag .btn-primary { background: #da7d51; box-shadow: none; color: #fff; } body.ag .btn-primary:hover { background: #c46a3f; }
body.ag .faq summary::after { color: #da7d51; }
body.ag .cp { background: radial-gradient(110% 120% at 0% 110%, #ee9a6e 0%, #da7d51 28%, #8f4220 62%, #2a1209 100%); }
body.ag .cb-ch button.on { background: #2a1d14; }

/* ---------- Hero: ticket que se imprime sobre plano técnico ---------- */
.ag-hero { position: relative; overflow: hidden; padding: calc(var(--hdr) + clamp(34px, 6vw, 76px)) 0 clamp(60px, 8vw, 110px); background: #faf2e8; }
.ag-bp { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .9; pointer-events: none; }
.ag-bp .g { stroke: #ecd9c1; stroke-width: 1; } .ag-bp .g2 { stroke: #e3c9a9; stroke-width: 1; stroke-dasharray: 5 6; }
.ag-bp .bld { fill: #f5e6d3; stroke: #d9b894; stroke-width: 1.4; } .ag-bp .rk { fill: #efd8bd; stroke: #d6b48c; stroke-width: 1; }
.ag-bp text { font: 500 11px 'Geist Mono', monospace; fill: #b08a66; letter-spacing: .12em; }
.ag-bp .crate { fill: #da7d51; }
.ag-hero .container { position: relative; z-index: 2; display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(24px, 5vw, 80px); align-items: center; }
.ag-rc-wrap { position: relative; justify-self: center; width: min(340px, 86vw); }
.ag-slot { position: relative; z-index: 3; height: 22px; border-radius: 99px; background: linear-gradient(#3b2a1d, #20150d); box-shadow: 0 10px 20px -8px rgba(42,29,20,.6); }
.ag-rc-clip { height: 540px; overflow: hidden; margin-top: -12px; position: relative; z-index: 2; }
.ag-rc { background: #fffefb; font-family: 'Geist Mono', monospace; font-size: 12px; color: #2a1d14; padding: 26px 20px 38px; box-shadow: 0 30px 50px -26px rgba(42,29,20,.45), 0 0 0 1px rgba(42,29,20,.05); transform: rotate(-1.5deg); transform-origin: top center; position: relative; transition: transform 1.2s var(--ease), opacity 1s; }
.ag-rc.tear { transform: translateY(-110%) rotate(-3deg); opacity: 0; }
.ag-rc::after { content: ''; position: absolute; left: 0; right: 0; bottom: -12px; height: 12px; background: linear-gradient(-45deg, transparent 8px, #fffefb 0), linear-gradient(45deg, transparent 8px, #fffefb 0); background-size: 16px 16px; background-position: left bottom; background-repeat: repeat-x; }
.ag-rc .h { text-align: center; border-bottom: 1px dashed #c9b49a; padding-bottom: 12px; margin-bottom: 12px; } .ag-rc .h b { font: 600 14px 'Geist Mono'; display: block; letter-spacing: .06em; } .ag-rc .h small { color: #8a6f58; font-size: 10.5px; }
.ag-rc .ln { display: flex; justify-content: space-between; gap: 10px; padding: 4px 0; animation: lnIn .5s var(--ease) both; } .ag-rc .ln.promo { color: #047857; } .ag-rc .ln span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@keyframes lnIn { from { opacity: 0; transform: translateY(8px); } }
.ag-rc .sep { border-top: 1px dashed #c9b49a; margin: 10px 0; }
.ag-rc .tt { display: flex; justify-content: space-between; align-items: baseline; font-weight: 600; font-size: 13px; } .ag-rc .tt b { font: 600 22px 'Geist Mono'; letter-spacing: -.04em; }
.ag-rc .bar { height: 42px; margin-top: 16px; background: repeating-linear-gradient(90deg, #2a1d14 0 2px, transparent 2px 4px, #2a1d14 4px 5px, transparent 5px 8px, #2a1d14 8px 11px, transparent 11px 13px); }
.ag-rc .th { text-align: center; color: #8a6f58; margin-top: 10px; font-size: 10.5px; }
.ag-copy { display: grid; gap: 1.4rem; justify-items: start; }
.ag-copy h1 { font-size: clamp(2.3rem, 4.4vw, 4.3rem); letter-spacing: -.045em; line-height: 1.02; font-weight: 500; color: var(--ink); }
.ag-copy h1 em { font-family: 'Bricolage Grotesque', 'Geist', sans-serif; font-style: normal; font-weight: 600; letter-spacing: -.035em; color: #c46a3f; }
.ag-copy .lead { color: var(--ink2); }
.ag-cta { display: flex; gap: 10px; flex-wrap: wrap; }
.ag-tagrow { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 6px; }
.ag-price { display: inline-flex; gap: 8px; align-items: center; font: 500 .78rem 'Geist Mono', monospace; letter-spacing: .04em; padding: 6px 13px 6px 22px; background: #fff; border: 1px solid #e1c7a8; border-radius: 4px 99px 99px 4px; position: relative; color: var(--ink2); }
.ag-price::before { content: ''; position: absolute; left: 8px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: #faf2e8; border: 1px solid #e1c7a8; }
.ag-price b { color: #c46a3f; font-weight: 600; }
.ag-pill { display: inline-flex; gap: 10px; align-items: center; font: 500 .74rem 'Geist Mono', monospace; letter-spacing: .1em; color: #c46a3f; }
.ag-pill i { width: 8px; height: 8px; background: #da7d51; transform: rotate(45deg); }
@media (max-width: 900px) { .ag-hero .container { grid-template-columns: 1fr; } .ag-rc-clip { height: 470px; } .ag-rc-wrap { order: 2; } }

/* ---------- Etiquetas de rubro ---------- */
.ag-tags { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: start; }
.ag-tag { position: relative; background: #fffdf9; border: 1px solid #e3cdb2; border-radius: 8px 8px 20px 20px; padding: 44px 22px 26px; box-shadow: 0 18px 30px -24px rgba(122,66,30,.45); transition: transform .4s var(--ease); }
.ag-tag:nth-child(even) { margin-top: 34px; } .ag-tag:hover { transform: translateY(-5px) rotate(-.6deg); }
.ag-tag::before { content: ''; position: absolute; left: 50%; top: 14px; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: #faf2e8; box-shadow: inset 0 2px 3px rgba(0,0,0,.2); border: 1px solid #e3cdb2; }
.ag-tag h3 { font-size: 1.3rem; letter-spacing: -.025em; margin-bottom: 14px; } .ag-tag ul { display: grid; } .ag-tag li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px dotted #d9bd9b; font-size: .88rem; color: var(--ink2); } .ag-tag li::after { content: '▢'; color: #da7d51; font-size: .8rem; }
.ag-tag p { color: var(--mut); font-size: .92rem; font-family: var(--serif); line-height: 1.38; font-size: 1.05rem; }
@media (max-width: 1000px) { .ag-tags { grid-template-columns: 1fr 1fr; } } @media (max-width: 560px) { .ag-tags { grid-template-columns: 1fr; } .ag-tag:nth-child(even) { margin-top: 0; } }

/* ---------- Promociones ---------- */
.ag-promo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 80px); align-items: center; }
.ag-seg { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 6px; }
.ag-seg button { appearance: none; border: 1px solid #e1c7a8; background: #fffdf9; color: var(--ink2); padding: .55rem 1rem; border-radius: 99px; font-weight: 500; font-size: .9rem; transition: all .2s; } .ag-seg button:hover { border-color: #2a1d14; } .ag-seg button.on { background: #2a1d14; color: #fff; border-color: #2a1d14; }
.ag-scope { display: grid; grid-template-columns: auto 1fr; gap: 10px 16px; margin-top: 20px; padding-top: 16px; border-top: 1px dashed #d9bd9b; font-size: .92rem; } .ag-scope .lab { align-self: center; } .ag-scope div { display: flex; flex-wrap: wrap; gap: 6px; } .ag-scope span.c { font: 500 .78rem 'Geist Mono'; padding: 4px 10px; border-radius: 6px; background: #f5e6d3; color: #7a4a22; }
.ag-ticket { position: relative; background: #fff; border: 1px solid #e3cdb2; border-radius: 18px; padding: 28px; box-shadow: 0 30px 50px -30px rgba(122,66,30,.5); display: grid; gap: 18px; overflow: hidden; }
.ag-ticket::before, .ag-ticket::after { content: ''; position: absolute; top: 52%; width: 26px; height: 26px; border-radius: 50%; background: var(--paper); border: 1px solid #e3cdb2; } .ag-ticket::before { left: -14px; } .ag-ticket::after { right: -14px; }
.ag-ticket .top { display: flex; justify-content: space-between; align-items: center; } .ag-ticket .top b { font-size: 1.15rem; letter-spacing: -.02em; }
.ag-ticket .badge2 { font: 600 .68rem 'Geist Mono'; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px; border-radius: 99px; background: #fde8d9; color: #b4521e; }
.ag-big { font: 600 4.4rem 'Geist Mono', monospace; letter-spacing: -.08em; line-height: .95; color: #da7d51; text-align: center; padding: 10px 0; border-top: 1px dashed #e3cdb2; border-bottom: 1px dashed #e3cdb2; }
.ag-big small { display: block; font: 500 .9rem 'Geist', sans-serif; letter-spacing: 0; color: var(--mut); margin-top: 8px; }
.ag-calc { display: grid; gap: 6px; font-size: .92rem; } .ag-calc div { display: flex; justify-content: space-between; } .ag-calc .old { color: #a8917a; text-decoration: line-through; font-family: 'Geist Mono'; } .ag-calc .new { font: 600 1.2rem 'Geist Mono'; letter-spacing: -.03em; } .ag-calc .sv { color: #047857; font-weight: 600; }
@media (max-width: 900px) { .ag-promo { grid-template-columns: 1fr; } }

/* ---------- Plano de almacenes ---------- */
.ag-dark { background: #24170f; color: #e9d9c6; }
.ag-dark h2 { color: #fff; } .ag-dark .lead { color: #cdb8a1; } .ag-dark .eyebrow { color: #f5b08e; }
.ag-wh { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(20px, 4vw, 70px); align-items: center; }
.ag-plan { width: 100%; height: auto; border: 1px dashed #5a4130; border-radius: 4px; background: #1c110a; }
.ag-plan .g { stroke: #33231a; stroke-width: 1; } .ag-plan .bld { fill: #2b1c12; stroke: #8a6143; stroke-width: 1.4; } .ag-plan .rk { fill: #3a281b; stroke: #6d4c33; stroke-width: 1; } .ag-plan .rk.hot { fill: #6b3a1e; stroke: #da7d51; }
.ag-plan text { font: 500 15px 'Geist Mono', monospace; fill: #a98765; letter-spacing: .1em; } .ag-plan text.big { font-size: 34px; fill: #fff; letter-spacing: -.04em; font-weight: 500; }
.ag-plan .route { fill: none; stroke: #da7d51; stroke-width: 1.6; stroke-dasharray: 4 6; opacity: .75; }
.ag-trk { margin-top: 26px; border: 1px solid #4a3425; border-radius: 16px; padding: 20px; background: #1c110a; display: grid; gap: 16px; }
.ag-trk .row { display: flex; justify-content: space-between; align-items: center; font-size: .92rem; color: #cdb8a1; } .ag-trk .row b { color: #fff; font-weight: 500; }
.ag-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .ag-steps span { text-align: center; padding: 9px 4px; border-radius: 10px; border: 1px solid #4a3425; font: 500 .72rem 'Geist Mono'; letter-spacing: .06em; text-transform: uppercase; color: #8d7358; transition: all .4s; } .ag-steps span.on { background: #da7d51; color: #1c110a; border-color: #da7d51; font-weight: 600; } .ag-steps span.done { border-color: #da7d51; color: #f5b08e; }
@media (max-width: 960px) { .ag-wh { grid-template-columns: 1fr; } }

/* ---------- Planes (provisionales) ---------- */
.ag-prov { display: inline-flex; font: 600 .66rem 'Geist Mono', monospace; letter-spacing: .1em; text-transform: uppercase; padding: 4px 11px; border-radius: 99px; background: #fff3c4; color: #8a5a00; border: 1px solid #f1d98a; margin-left: 12px; vertical-align: middle; }
.plans5 { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px dashed #d1b392; background: #fffdf9; }
.plans5 > div { padding: 24px 20px 26px; display: grid; gap: 10px; align-content: start; border-left: 1px dashed #d1b392; } .plans5 > div:first-child { border-left: 0; }
.plans5 .nm { font: 500 .72rem 'Geist Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: #c46a3f; }
.plans5 .cap { font: 500 2rem 'Geist Mono', monospace; letter-spacing: -.06em; line-height: 1; } .plans5 .cap small { display: block; font: 400 .78rem 'Geist', sans-serif; letter-spacing: 0; color: var(--mut); margin-top: 6px; }
.plans5 p { font-size: .9rem; color: var(--ink2); }
@media (max-width: 1100px) { .plans5 { grid-template-columns: 1fr 1fr; } .plans5 > div:nth-child(odd) { border-left: 0; } .plans5 > div:nth-child(n+3) { border-top: 1px dashed #d1b392; } } @media (max-width: 560px) { .plans5 { grid-template-columns: 1fr; } .plans5 > div { border-left: 0; border-top: 1px dashed #d1b392; } .plans5 > div:first-child { border-top: 0; } }
.ag-sell { display: grid; grid-template-columns: 1fr; gap: 28px; }
.ag-sell ul { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); } .ag-sell li { display: flex; gap: 12px; padding: 14px 4px; border-bottom: 1px solid var(--line); color: var(--ink2); } .ag-sell li svg { width: 18px; height: 18px; color: #da7d51; flex: none; margin-top: 3px; }
@media (max-width: 700px) { .ag-sell ul { grid-template-columns: 1fr; } }
