/* Colección Orbital: configurador de una pieza física, no una landing genérica. */
.cta-flotante { display:none !important; }
.lamp-page {
    --lamp-ink:#141517;
    --lamp-night:#171719;
    --lamp-deep:#0b0b0c;
    --lamp-paper:#ece6d8;
    --lamp-sand:#c8bcaa;
    --lamp-muted:#807a70;
    --lamp-line:rgba(236,230,216,.19);
    --lamp-signal:#e47032;
    --lamp-signal-soft:rgba(228,112,50,.14);
    --lamp-space:clamp(1.25rem,3vw,3.4rem);
    background:var(--lamp-night);
    color:var(--lamp-paper);
}
.lamp-page * { box-sizing:border-box; }
.lamp-page button,.lamp-page input { font:inherit; }
.lamp-topline { display:flex; justify-content:space-between; gap:1rem; padding:.85rem var(--lamp-space); border-bottom:1px solid var(--lamp-line); color:#b8b0a3; font:600 .64rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.12em; text-transform:uppercase; }
.lamp-topline b { color:var(--lamp-signal); font-weight:700; }
.lamp-hero { min-height:min(48rem,calc(100vh - 4rem)); display:grid; grid-template-columns:minmax(0,5fr) minmax(25rem,7fr); border-bottom:1px solid var(--lamp-line); }
.lamp-hero-copy { display:flex; flex-direction:column; justify-content:space-between; padding:clamp(2.5rem,7vw,7.5rem) var(--lamp-space) clamp(2.5rem,5vw,4.2rem) max(var(--lamp-space),calc((100vw - 86rem)/2)); border-right:1px solid var(--lamp-line); }
.lamp-kicker { display:flex; align-items:center; gap:.7rem; color:#b9b1a5; font:700 .68rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.13em; text-transform:uppercase; }
.lamp-kicker::before { content:""; width:2.4rem; height:1px; background:var(--lamp-signal); }
.lamp-display { margin:1.25rem 0 0; max-width:8.5ch; color:#f4efe4; font:400 clamp(3.6rem,7.1vw,7.6rem)/.87 Georgia,"Times New Roman",serif; letter-spacing:-.072em; }
.lamp-lede { max-width:31rem; margin:1.65rem 0 0; color:#bdb6aa; font-size:clamp(1rem,1.4vw,1.15rem); line-height:1.65; }
.lamp-hero-index { display:grid; grid-template-columns:repeat(3,1fr); margin-top:4rem; border-top:1px solid var(--lamp-line); }
.lamp-hero-index div { padding:1rem .75rem 0 0; border-right:1px solid var(--lamp-line); }
.lamp-hero-index div+div { padding-left:.8rem; }
.lamp-hero-index div:last-child { border:0; }
.lamp-hero-index b { display:block; color:var(--lamp-signal); font:700 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; }
.lamp-hero-index span { display:block; margin-top:.5rem; color:#ada69a; font-size:.74rem; line-height:1.35; }
.lamp-stage { position:relative; display:grid; place-items:center; min-height:34rem; overflow:hidden; background:radial-gradient(circle at 45% 36%,#37322b 0,#1b1b1c 43%,#0b0c0d 100%); }
.lamp-stage::before { content:""; position:absolute; inset:0; opacity:.5; background-image:linear-gradient(rgba(236,230,216,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(236,230,216,.055) 1px,transparent 1px); background-size:2rem 2rem; mask-image:linear-gradient(90deg,transparent,black 20%,black 80%,transparent); }
.lamp-stage::after { content:""; position:absolute; width:72%; aspect-ratio:1.55; border-radius:50%; background:#050505; filter:blur(32px); transform:translateY(11rem); }
.lamp-stage-caption { position:absolute; z-index:2; top:1.3rem; left:1.4rem; color:#b9b1a5; font:600 .62rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.1em; text-transform:uppercase; }
.lamp-stage-meta { position:absolute; z-index:3; right:1.4rem; bottom:1.35rem; padding:.7rem .8rem; border-left:2px solid var(--lamp-signal); background:rgba(11,11,12,.75); color:#bdb6aa; font:600 .6rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; text-transform:uppercase; }
.lamp-stage-meta strong { display:block; color:#f0eadf; font:400 clamp(1.2rem,2vw,1.65rem)/1 Georgia,"Times New Roman",serif; letter-spacing:-.045em; text-transform:none; }
.lamp-stage-tools { position:absolute; z-index:4; top:3.7rem; left:1.4rem; display:flex; border:1px solid rgba(236,230,216,.23); background:rgba(11,11,12,.76); }
.lamp-view-toggle { min-height:2rem; padding:0 .7rem; border:0; border-right:1px solid rgba(236,230,216,.18); background:transparent; color:#a8a095; cursor:pointer; font:700 .58rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; text-transform:uppercase; }
.lamp-view-toggle:last-child { border-right:0; }
.lamp-view-toggle[aria-pressed="true"] { background:var(--lamp-signal); color:#fff7ec; }
.lamp-canvas-wrap { position:relative; z-index:1; width:min(92%,44rem); aspect-ratio:1; touch-action:none; cursor:grab; }
.lamp-canvas-wrap:active { cursor:grabbing; }
.lamp-canvas { width:100%; height:100%; display:block; }
.lamp-drag-guide { position:absolute; z-index:3; left:1.4rem; bottom:1.35rem; color:#9d968c; font:600 .6rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.1em; text-transform:uppercase; }
.lamp-builder { max-width:86rem; margin:0 auto; padding:clamp(4.5rem,9vw,8.5rem) var(--lamp-space); }
.lamp-builder-header { display:grid; grid-template-columns:minmax(0,1fr) minmax(15rem,.52fr); gap:2.5rem; align-items:end; padding-bottom:2.75rem; border-bottom:1px solid var(--lamp-line); }
.lamp-builder-title { margin:.85rem 0 0; max-width:9.5ch; color:#f1ebe0; font:400 clamp(3rem,5.3vw,5.8rem)/.9 Georgia,"Times New Roman",serif; letter-spacing:-.066em; }
.lamp-builder-header p { max-width:23rem; margin:0; color:#b7b0a5; font-size:.92rem; line-height:1.65; }
.lamp-config { display:grid; grid-template-columns:minmax(0,1fr) minmax(17rem,.67fr) minmax(18rem,.62fr); gap:clamp(1.5rem,3.5vw,3.5rem); padding-top:3rem; }
.lamp-section { min-width:0; }
.lamp-section-head { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; padding-bottom:1rem; border-bottom:1px solid var(--lamp-line); }
.lamp-section-head h2 { margin:0; color:#f2ece1; font:400 1.55rem/1 Georgia,"Times New Roman",serif; letter-spacing:-.035em; }
.lamp-section-head span { color:#a8a095; font:700 .6rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.1em; text-transform:uppercase; }
.lamp-catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin-top:1rem; }
.lamp-catalog-item { position:relative; display:grid; grid-template-columns:2.9rem minmax(0,1fr); gap:.7rem; align-items:center; min-height:4.25rem; padding:.55rem; border:1px solid var(--lamp-line); background:transparent; color:#d6cec1; text-align:left; cursor:pointer; transition:border-color 140ms ease,background 140ms ease,transform 140ms ease; }
.lamp-catalog-item:hover { border-color:rgba(236,230,216,.55); transform:translateY(-1px); }
.lamp-catalog-item[aria-pressed="true"] { border-color:var(--lamp-signal); background:var(--lamp-signal-soft); color:#fff4e9; }
.lamp-orb-chip { width:2.65rem; aspect-ratio:1; border-radius:50%; background:var(--chip,#cf7e33); box-shadow:inset -.32rem -.35rem .5rem rgba(0,0,0,.5),inset .18rem .12rem .3rem rgba(255,242,205,.22); }
.lamp-catalog-item b { display:block; font-size:.79rem; font-weight:650; line-height:1.1; }
.lamp-catalog-item small { display:block; margin-top:.24rem; color:#a8a095; font-size:.63rem; line-height:1.25; }
.lamp-catalog-item[aria-pressed="true"] small { color:#e2c6b6; }
.lamp-custom-choice { display:grid; grid-template-columns:2.9rem minmax(0,1fr); gap:.7rem; align-items:center; min-height:4.25rem; margin-top:.55rem; padding:.55rem; border:1px dashed rgba(236,230,216,.45); color:#d6cec1; cursor:pointer; }
.lamp-custom-choice.is-active { border-color:var(--lamp-signal); background:var(--lamp-signal-soft); }
.lamp-custom-choice input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.lamp-custom-choice svg { width:2.25rem; color:var(--lamp-signal); }
.lamp-custom-choice b,.lamp-custom-choice span { display:block; }
.lamp-custom-choice b { font-size:.8rem; }
.lamp-custom-choice span { margin-top:.22rem; color:#a8a095; font-size:.63rem; line-height:1.3; }
.lamp-controls { display:grid; gap:2rem; padding-top:1rem; }
.lamp-control { padding-bottom:1.8rem; border-bottom:1px solid var(--lamp-line); }
.lamp-control:last-child { border-bottom:0; }
.lamp-control h3 { margin:0; color:#f2ece1; font:400 1.38rem/1 Georgia,"Times New Roman",serif; letter-spacing:-.03em; }
.lamp-help { margin:.5rem 0 1.05rem; color:#a8a095; font-size:.78rem; line-height:1.5; }
.lamp-size-list { display:grid; gap:.5rem; }
.lamp-size-choice { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.8rem; align-items:center; width:100%; min-height:4.25rem; padding:.75rem .85rem; border:1px solid var(--lamp-line); background:transparent; color:#d6cec1; text-align:left; cursor:pointer; }
.lamp-size-choice[aria-pressed="true"] { border-color:var(--lamp-signal); background:var(--lamp-signal-soft); color:#fff4e9; }
.lamp-size-choice b,.lamp-size-choice span { display:block; }
.lamp-size-choice b { font-size:.84rem; }
.lamp-size-choice span { margin-top:.2rem; color:#a8a095; font-size:.65rem; }
.lamp-size-choice strong { color:var(--lamp-signal); font:700 .78rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.lamp-base-list { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }
.lamp-base-choice { position:relative; min-height:4.8rem; padding:.75rem; border:1px solid var(--lamp-line); cursor:pointer; }
.lamp-base-choice:has(input:checked) { border-color:var(--lamp-signal); background:var(--lamp-signal-soft); }
.lamp-base-choice input { position:absolute; opacity:0; }
.lamp-base-choice i { display:block; width:1.65rem; height:.48rem; margin-bottom:.55rem; border:1px solid rgba(236,230,216,.35); border-radius:50%; background:var(--base); }
.lamp-base-choice b { font-size:.75rem; }
.lamp-summary { position:sticky; top:6rem; padding:1.3rem; border:1px solid #bba889; background:#e6dece; color:#23211f; }
.lamp-summary-top { display:flex; justify-content:space-between; gap:.7rem; padding-bottom:1rem; border-bottom:1px solid #b9af9e; }
.lamp-summary-top span { color:#71695d; font:700 .6rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.1em; text-transform:uppercase; }
.lamp-summary-top b { font:600 .94rem/1 Georgia,"Times New Roman",serif; }
.lamp-summary-price { margin:1.5rem 0 .25rem; font:400 clamp(3.2rem,5vw,4.3rem)/.85 Georgia,"Times New Roman",serif; letter-spacing:-.077em; }
.lamp-summary-note { margin:0 0 1.4rem; color:#71695d; font-size:.68rem; }
.lamp-summary-list { display:grid; gap:.65rem; padding:1rem 0; border-block:1px solid #b9af9e; color:#71695d; font-size:.73rem; }
.lamp-summary-list div { display:flex; justify-content:space-between; gap:.8rem; }
.lamp-summary-list b { max-width:62%; color:#23211f; font-weight:650; text-align:right; }
.lamp-contact { display:grid; gap:.65rem; margin-top:1.15rem; }
.lamp-contact label { color:#71695d; font:700 .6rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.09em; text-transform:uppercase; }
.lamp-contact input { min-height:3rem; width:100%; padding:.7rem .8rem; border:1px solid #aaa091; border-radius:0; background:#f1ebdf; color:#23211f; }
.lamp-contact input:focus { outline:2px solid var(--lamp-signal); outline-offset:2px; }
.lamp-order { width:100%; min-height:3.25rem; margin-top:1rem; border:0; border-radius:0; background:var(--lamp-ink); color:#f4ede2; cursor:pointer; font:700 .68rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.09em; text-transform:uppercase; transition:transform 150ms ease,background 150ms ease; }
.lamp-order:hover { background:var(--lamp-signal); transform:translateY(-2px); }
.lamp-order:disabled { cursor:wait; opacity:.72; transform:none; }
.lamp-status { min-height:1.25rem; margin:.75rem 0 0; color:#8e3520; font-size:.72rem; line-height:1.45; }
.lamp-status[data-state="ok"] { color:#45693c; }
.lamp-process { border-top:1px solid var(--lamp-line); background:var(--lamp-deep); }
.lamp-process-inner { display:grid; grid-template-columns:repeat(3,1fr); max-width:86rem; margin:0 auto; padding:0 var(--lamp-space); }
.lamp-process-item { min-height:10rem; padding:1.55rem 1.3rem 1.6rem 0; border-right:1px solid var(--lamp-line); }
.lamp-process-item+.lamp-process-item { padding-left:1.3rem; }
.lamp-process-item:last-child { border:0; }
.lamp-process-item b { color:var(--lamp-signal); font:700 .67rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.09em; }
.lamp-process-item strong { display:block; margin-top:.75rem; color:#f1ebe0; font:400 1.28rem/1 Georgia,"Times New Roman",serif; letter-spacing:-.03em; }
.lamp-process-item p { margin:.65rem 0 0; color:#a8a095; font-size:.76rem; line-height:1.55; }
.lamp-notes { max-width:86rem; margin:0 auto; padding:clamp(4rem,8vw,7rem) var(--lamp-space); }
.lamp-notes h2 { max-width:11ch; margin:.9rem 0 2.4rem; color:#f1ebe0; font:400 clamp(2.65rem,4.4vw,4.7rem)/.92 Georgia,"Times New Roman",serif; letter-spacing:-.062em; }
.lamp-notes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--lamp-line); border:1px solid var(--lamp-line); }
.lamp-note { min-height:11rem; padding:1.45rem; background:var(--lamp-night); }
.lamp-note b { color:#f1ebe0; font:400 1.22rem/1 Georgia,"Times New Roman",serif; letter-spacing:-.03em; }
.lamp-note p { margin:.75rem 0 0; color:#aaa398; font-size:.78rem; line-height:1.58; }
.lamp-page button:focus-visible,.lamp-page input:focus-visible,.lamp-custom-choice:focus-within { outline:2px solid var(--lamp-signal); outline-offset:3px; }
@media (max-width:1000px) {
    .lamp-hero { grid-template-columns:1fr; }
    .lamp-hero-copy { min-height:35rem; border-right:0; padding-left:var(--lamp-space); }
    .lamp-stage { min-height:34rem; }
    .lamp-config { grid-template-columns:minmax(0,1fr) minmax(18rem,.68fr); }
    .lamp-summary { grid-column:1 / -1; position:relative; top:auto; max-width:35rem; }
}
@media (max-width:700px) {
    .lamp-topline span:last-child { display:none; }
    .lamp-hero-index { grid-template-columns:1fr; gap:.85rem; }
    .lamp-hero-index div,.lamp-hero-index div+div { padding:.85rem 0 0; border-right:0; border-top:1px solid var(--lamp-line); }
    .lamp-hero-index div:first-child { border-top:0; }
    .lamp-builder-header,.lamp-config { grid-template-columns:1fr; }
    .lamp-catalog-grid { grid-template-columns:1fr 1fr; }
    .lamp-process-inner,.lamp-notes-grid { grid-template-columns:1fr; }
    .lamp-process-item,.lamp-process-item+.lamp-process-item { min-height:auto; padding:1.4rem 0; border-right:0; border-bottom:1px solid var(--lamp-line); }
    .lamp-process-item:last-child { border-bottom:0; }
    .lamp-stage-meta { max-width:10rem; }
}
@media (prefers-reduced-motion:reduce) { .lamp-catalog-item,.lamp-order { transition:none; } }
