/* Regalos estilo sobrio */
.gpill{display:none}
.gift{color:var(--ink);font-weight:500}
.card .gift{display:none}
.fx-info:has(.gbox) .fx-perks .gift{display:none}

.gbox{--box1:#FFFFFF;--box2:#E8E8ED;--boxl:#C7C7CC;display:flex;flex-direction:column;gap:14px;width:100%;text-align:left;margin-top:6px;padding:18px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface),var(--tint));color:var(--ink);font:inherit;position:relative}
@media (prefers-color-scheme:dark){.gbox{--box1:#48484A;--box2:#2C2C2E;--boxl:#5A5A5E}}
button.gbox{flex-direction:row;align-items:center;gap:16px;cursor:pointer;transition:border-color .2s,transform .2s}
button.gbox:hover{border-color:color-mix(in srgb,var(--ink) 30%,var(--line))}
button.gbox:active{transform:scale(.99)}
.gbox svg.box{width:56px;height:56px;flex:none;overflow:visible}
button.gbox svg.box{animation:gFloat 3.2s ease-in-out infinite}
@keyframes gFloat{50%{transform:translateY(-3px)}}
.box .b{fill:url(#gbg);stroke:var(--boxl);stroke-width:1}
.box .r{fill:var(--ink);opacity:.82}
.box .bw{fill:none;stroke:var(--ink);stroke-width:2;opacity:.82;stroke-linejoin:round}
.box .lid{transform-box:fill-box;transform-origin:50% 100%;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .55s}
.gbox.opening .lid{transform:translate(-5px,-11px) rotate(-16deg)}
.gbox.opening svg.box{animation:none}
.gbox.opening .gb-tx{opacity:.35;transition:opacity .4s}
.gbox.open .lid{transform:translate(-5px,-11px) rotate(-16deg)}
.gb-head{display:flex;align-items:center;gap:16px}
.gb-tx b{display:block;font-size:1.02rem;font-weight:600;letter-spacing:-.01em}
.gb-tx small{display:block;color:var(--muted);font-size:.85rem;margin-top:1px}
.gb-list{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--line);display:grid;gap:10px}
.gb-list li{display:flex;align-items:center;gap:12px;animation:gIn .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 120ms + 120ms)}
@keyframes gIn{from{opacity:0;transform:translateY(8px)}}
.gb-ic{width:40px;height:40px;border-radius:11px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;flex:none;color:var(--ink)}
.gb-ic svg{width:22px;height:22px}
.gb-list b{display:block;font-weight:600;font-size:.95rem}
.gb-list small{display:block;color:var(--muted);font-size:.8rem}
.gb-val{font-size:.88rem;color:var(--muted);animation:gIn .5s .4s cubic-bezier(.2,.8,.2,1) both}
.gb-val b{color:var(--ink);font-weight:600}
.gbox.pop{animation:gPop .45s cubic-bezier(.2,.8,.2,1)}
@keyframes gPop{from{opacity:.4;transform:scale(.985)}}
@media (prefers-reduced-motion:reduce){button.gbox svg.box,.gb-list li,.gb-val,.gbox.pop{animation:none}.box .lid{transition:none}}
/* Sin etiqueta de estado sobre la foto (el estado se lee abajo: Sellado o Batería) */
.art .badge{display:none}
@media (max-width:640px){.sec-head .chips{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch}.sec-head .chips::-webkit-scrollbar{display:none}.sec-head .chips .chip{flex:none}}
/* Marca grande y centrada en la barra de arriba */
.nav-in{display:grid;grid-template-columns:1fr auto 1fr;height:68px;padding:0 10px}
.hero2 .wrap{padding-top:22px}
.nav-right{display:contents}
.nav-right .nav-icon{grid-column:1;grid-row:1;justify-self:start}
.nav-right .nav-cta{grid-column:3;grid-row:1;justify-self:end}
.nav .brand{grid-column:2;grid-row:1;font-size:2rem;font-weight:700;letter-spacing:-.02em;text-transform:none;line-height:1}
@media (max-width:640px){.nav-in{height:60px}.hero2 .wrap{padding-top:14px}.nav .brand{font-size:1.5rem}.nav .wa-cta span{display:none}.nav .wa-cta{padding:9px 11px}.nav .wa-cta svg{margin:0}}
/* Pestañas de novedades (iPhone 18 Pro | iPhone Duo) */
.nov-tabs{display:flex;width:fit-content;gap:4px;padding:4px;margin:0 auto 18px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);max-width:100%;overflow-x:auto;scrollbar-width:none}
.nov-tabs::-webkit-scrollbar{display:none}
.nov-tabs button{position:relative;flex:none;border:0;background:transparent;color:rgba(245,245,247,.7);font:inherit;font-size:.92rem;font-weight:600;padding:8px 18px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s,box-shadow .25s}
.nov-tabs button[aria-selected="true"]{background:#F5F5F7;color:#1D1D1F;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.nov-tabs button::after{content:"";position:absolute;left:18px;right:18px;bottom:4px;height:2px;border-radius:2px;background:currentColor;opacity:.35;transform:scaleX(0);transform-origin:left}
.nov-tabs.auto button[aria-selected="true"]::after{animation:novBar 6s linear forwards}
@keyframes novBar{to{transform:scaleX(1)}}
/* Cambio suave entre novedades: primero se va la actual y después entra la otra */
.hero2 .wrap>:not(.nov-tabs):not(.tag),.hero2 .stage{transition:opacity .55s ease,transform .55s ease,filter .55s ease}
.hero2.nov-sale .wrap>:not(.nov-tabs):not(.tag),.hero2.nov-sale .stage{opacity:0;transform:translateY(-8px);filter:blur(4px)}
.hero2.nov-cambio .wrap>:not(.nov-tabs):not(.tag),.hero2.nov-cambio .stage{animation:novIn 1.2s cubic-bezier(.25,.1,.25,1) both}
.hero2.nov-cambio .stage{animation-delay:.15s}
@keyframes novIn{from{opacity:0;transform:translateY(12px);filter:blur(4px)}}
/* "¡Novedades!" arriba de las pestañas */
.hero2 .wrap{display:flex;flex-direction:column}
.hero2 .wrap>.tag{order:-1;align-self:center}
.nov-admin{margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
/* Fotos anchas (como el Duo abierto) sin espacio vacío */
.shot .pic,.shot .refl{height:auto!important;max-height:min(54vh,580px)}
@media (max-width:640px){.shot .pic,.shot .refl{max-height:min(48vh,440px)}.nov-tabs button{padding:8px 14px;font-size:.86rem}}
@media (prefers-reduced-motion:reduce){.hero2.nov-cambio .wrap>*,.hero2.nov-cambio .stage{animation:none}.hero2 .wrap>*,.hero2 .stage{transition:none}}
