[hidden]{display:none!important}.google-login{margin:18px 0}.google-login button{width:100%;max-width:520px;min-height:48px}.library-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.library-tabs a{padding:10px 15px;border:1px solid var(--border);border-radius:8px}.library-tabs a[aria-current]{border-color:var(--cyan);color:var(--cyan)}.library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.library-card{background:#0e1723;border:1px solid var(--border);border-radius:12px;overflow:hidden;padding-bottom:20px}.library-card img,.library-cover{width:100%;aspect-ratio:3/4;object-fit:contain;background:#101a28}.library-cover{display:flex;align-items:center;justify-content:center;padding:20px;font-weight:bold}.library-card h2,.library-card>span{display:block;margin:14px 16px 0;overflow-wrap:anywhere}.library-card h2{font-size:19px}.library-card>span{font-size:13px;color:var(--cyan)}.library-detail{display:flex;gap:25px;align-items:center;margin:24px 0}.library-detail img{width:150px;max-width:40%;border-radius:10px}.announcement{height:auto;min-height:34px;padding:8px 44px 8px 16px;position:relative;text-align:center;white-space:normal;overflow-wrap:anywhere}.announcement button{position:absolute;right:10px;top:0;bottom:0;margin:auto 0;height:30px;background:transparent;color:white;border:0;min-width:30px;min-height:30px;font-size:22px;cursor:pointer}.announcement a{text-decoration:underline}.site-header{top:0}.header-tools{display:flex;gap:8px;align-items:center}.flyer-carousel{margin-top:24px;margin-bottom:32px;outline-offset:5px}.flyer-stage{position:relative;aspect-ratio:8/3;background:#0d1622;border-radius:16px;overflow:hidden}.flyer-slide,.flyer-slide a,.flyer-slide picture{display:block;width:100%;height:100%}.flyer-slide img{width:100%;height:100%;object-fit:cover;object-position:center}.flyer-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:12px}.flyer-controls button{cursor:pointer;color:#fff;background:#101c29;border:1px solid #304353;border-radius:7px;padding:9px 13px;min-height:40px}.flyer-dots{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.flyer-dots button{min-height:12px;width:12px;height:12px;padding:0;border-radius:50%}.flyer-dots button[aria-pressed=true]{background:var(--cyan)}.hero-fallback{min-height:320px;padding:60px 0}.hero-fallback h1{font-size:clamp(34px,5vw,64px);margin:18px 0}.hero-fallback h1 span{color:var(--cyan)}.hero-fallback p{margin-bottom:24px}.mobile-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-menu details{border:1px solid var(--border);border-radius:10px;margin-top:10px;padding:12px}.mobile-menu summary{cursor:pointer;font-weight:700;color:var(--cyan)}
@media(max-width:1050px){.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-menu.open{max-height:calc(100dvh - 130px);overflow:auto}.mobile-menu a{min-height:44px;display:flex;align-items:center}.mobile-quick a{background:#14212f;border-radius:8px;padding:10px}.mobile-menu .mobile-search{display:none}}
@media(max-width:780px){.nav-shell{display:grid;height:auto;min-height:110px;grid-template-columns:minmax(0,1fr) 105px;gap:10px;padding:10px 0}.nav-shell>.brand{grid-row:1;grid-column:1}.header-actions{display:contents}.header-tools{grid-column:2;grid-row:1;justify-content:flex-end}.header-tools .icon-btn{width:30px;height:33px}.header-tools .menu-toggle{width:30px}.nav-shell .currency-picker{grid-column:2;grid-row:2;margin:0;justify-self:end}.currency-picker select{width:105px;min-height:40px}.nav-shell .search-box{display:flex;grid-column:1;grid-row:2;width:100%;min-width:0}.search-box input{min-width:0;width:100%}.announcement{display:flex;justify-content:center;font-size:11px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flyer-carousel{margin-top:16px}}
@media(max-width:600px){.flyer-stage{aspect-ratio:4/3}.flyer-controls{gap:8px}.library-card h2{font-size:16px}.library-detail{align-items:flex-start}.library-detail>div{min-width:0;overflow-wrap:anywhere}.header-tools{gap:4px}}
@media(prefers-reduced-motion:reduce){.flyer-carousel *{transition:none!important;animation:none!important}}

@media(prefers-reduced-motion:no-preference){.flyer-slide:not([hidden]){animation:flyer-in .35s ease-out}}@keyframes flyer-in{from{opacity:.65}to{opacity:1}}

.flyer-arrow{position:absolute;top:0;bottom:0;margin:auto 0;width:36px;height:36px;border-radius:50%;border:1px solid #63cee18c;background:#07121dcc;color:#d3f6ff;font:28px/1 sans-serif;display:grid;place-items:center;cursor:pointer;z-index:2}.flyer-prev{left:12px}.flyer-next{right:12px}.flyer-arrow:hover{background:#124557}.flyer-arrow:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.flyer-controls{margin-top:12px}.legal-page{min-height:40vh;padding:50px 0}.footer-legal{display:flex;gap:20px;flex-wrap:wrap}.footer-legal a:hover{color:var(--cyan)}

.auth-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center;max-width:1000px;margin:28px auto 0}.auth-panel{min-width:0;padding:32px;border:1px solid var(--border);border-radius:16px;background:#0d1621}.auth-panel .account-form{margin:0;max-width:none;width:100%;display:grid;gap:20px}.auth-panel .account-form p{margin:0;font-size:14px}.auth-aside{padding:20px}.auth-aside h2{font-size:clamp(26px,3vw,40px);line-height:1.18;margin:16px 0}.auth-aside p{color:#a9b8c9;line-height:1.8;margin-bottom:24px}.auth-divider{display:flex;align-items:center;gap:14px;margin:28px 0 18px;color:#91a4b9;font-size:10px;letter-spacing:.14em}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:#2b3b4b;flex:1}.auth-divider span{white-space:nowrap}.auth-panel .google-login{margin:0}.google-button{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px 20px;border:1px solid #aab8c5;border-radius:8px;background:#fff;color:#202124;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer}.google-button svg{flex:0 0 20px}.google-button:hover{background:#eaf2f9;border-color:#52cfff}.google-button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
@media(max-width:768px){.auth-layout{grid-template-columns:1fr;gap:24px}.auth-panel{padding:24px}.auth-aside{padding:8px 0}.auth-aside h2{font-size:26px}.footer-bottom{gap:16px;flex-wrap:wrap}}
@media(max-width:390px){.auth-panel{padding:18px}.auth-layout{margin-top:20px}.flyer-arrow{width:32px;height:32px}.flyer-prev{left:8px}.flyer-next{right:8px}}

/* V0.6.1 QoL hotfix v2: panel de registro lateral del login */
.auth-layout.auth-layout-login{
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:0;
  align-items:stretch;
}
.auth-layout-login .auth-panel{
  margin-right:48px;
}
.auth-layout-login .auth-register-aside{
  position:relative;
  min-width:0;
  padding:32px 0 32px 48px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.auth-layout-login .auth-register-aside::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:1px;
  background:#2b3745;
}
.auth-layout-login .auth-register-content{
  width:100%;
  max-width:410px;
  margin:0 auto;
  text-align:center!important;
}
.auth-layout-login .auth-register-content h2{
  margin:0 0 22px;
  font-size:clamp(24px,2.3vw,32px);
  line-height:1.2;
  letter-spacing:.01em;
  text-align:center!important;
}
.auth-layout-login .auth-register-content p{
  margin:0 auto 26px;
  color:#b5c1d0;
  font-size:16px;
  line-height:1.7;
  text-align:center!important;
}
.auth-layout-login .auth-register-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:142px;
  border-radius:999px;
  background:#08111b;
  border-color:#2a3c4f;
  color:#fff;
}
.auth-layout-login .auth-register-button:hover{
  background:#102433;
  border-color:var(--cyan);
  color:var(--cyan);
  transform:translateY(-1px);
}
.auth-layout-login .auth-register-button:focus-visible{
  outline:3px solid var(--cyan);
  outline-offset:4px;
}
@media(max-width:768px){
  .auth-layout.auth-layout-login{grid-template-columns:1fr;gap:24px}
  .auth-layout-login .auth-panel{margin-right:0}
  .auth-layout-login .auth-register-aside{padding:28px 0 4px;min-height:0}
  .auth-layout-login .auth-register-aside::before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px}
  .auth-layout-login .auth-register-content{max-width:520px}
}

/* V0.7: targeted presentation, preserves the approved login hotfix above. */
.flyer-carousel.container{width:calc(100% - 48px);max-width:1680px}.legal-content{line-height:1.8;overflow-wrap:anywhere}.legal-content p,.legal-content ul{margin:16px 0}.legal-content ul{padding-left:24px}.legal-content a{color:var(--cyan);text-decoration:underline}.legal-content h2,.legal-content h3,.legal-content h4{margin-top:28px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.brand-mark.brand-custom{background:transparent;border:0;padding:0;overflow:hidden;flex-shrink:0}.brand-custom img{display:block;width:100%;height:100%;object-fit:contain}.mail-notice{font-size:14px;line-height:1.6}
@media(max-width:600px){.flyer-carousel.container{width:calc(100% - 24px)}}

.brand-mark.brand-custom{transform:none;box-shadow:none}

/* V0.7.1: only mobile hero dimensions; desktop and focal logic unchanged. */
@media(max-width:600px){.flyer-stage{aspect-ratio:2/1}.flyer-carousel{margin-bottom:12px}.flyer-carousel+.section{padding-top:12px}}
.site-header .brand{gap:6px}.site-header .brand-mark{width:40px;height:40px;flex:0 0 40px}
@media(max-width:520px){.site-header .brand{gap:5px}.site-header .brand-mark{width:34px;height:34px;flex-basis:34px}}
@media(min-width:900px){.footer-col h4{font-size:14px}.footer-col a{font-size:13px}.footer-bottom{font-size:12px}}
.product-description{margin-top:28px;line-height:1.7}.product-description h2{font-size:20px}.buyer-session{display:block!important;padding:14px;border-radius:10px;margin:16px 0;overflow-wrap:anywhere;line-height:1.5;font-size:13px}.buyer-session p{margin:8px 0}.buyer-logged{background:#102c25;border:1px solid #295747;color:#d0eee1}.buyer-guest{background:#2b1c22;border:1px solid #65414b;color:#ead6dc}.cart-summary #cart-checkout{display:grid;gap:14px;margin:18px 0;max-width:none;width:100%}.cart-summary #cart-checkout small{line-height:1.5;color:var(--muted)}.cart-summary #cart-checkout .btn{width:100%}

/* V0.8: scoped recovery/Guard and the two existing cart notices. */
.buyer-session{text-align:center}
.recovery-center{max-width:850px}.recovery-center .panel{margin:20px 0;padding:24px}.recovery-center form{display:grid;gap:16px}.recovery-center label{display:grid;gap:8px}.recovery-center input,.recovery-center textarea{width:100%;min-width:0}.guard-panel{margin-top:22px;padding:18px;border:1px solid #33475e;border-radius:12px}.guard-panel p{line-height:1.6}.guard-panel output{font-size:28px;letter-spacing:6px;display:block;margin:16px 0;color:#72ddff}.guard-waiting [data-guard-status]::before{content:"";display:inline-block;width:14px;height:14px;margin-right:10px;border:2px solid #33475e;border-top-color:#72ddff;border-radius:50%;animation:guard-spin .8s linear infinite}@keyframes guard-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.guard-waiting [data-guard-status]::before{animation:none}}@media(max-width:420px){.recovery-center .panel,.guard-panel{padding:14px}.guard-panel .btn{width:100%;white-space:normal}}
.recovery-center input:not([type=hidden]),.recovery-center textarea{border:1px solid #33475e;border-radius:9px;padding:12px;background:#0c1520;color:#edf5ff;font:inherit}.recovery-center input:focus-visible,.recovery-center textarea:focus-visible{outline:2px solid #72ddff;outline-offset:2px}.recovery-center p{overflow-wrap:anywhere}

/* V0.8.2 — presentation only. */
.flyer-stage .flyer-arrow{top:50%;bottom:auto;transform:translateY(-50%);margin:0;padding:0;display:grid;place-items:center;box-sizing:border-box}
.flyer-arrow svg{display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.flyer-carousel{margin-bottom:12px}
.flyer-carousel+.section{padding-top:24px}
.product-card .card-platform-badge{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;margin-left:auto;border-radius:50%;border:1px solid #31516a;background:#102333;box-sizing:border-box}
.product-card .price-row .card-platform-badge .card-platform-icon{width:20px;height:20px;margin:0;opacity:.95}
.mobile-backdrop{position:fixed;inset:0;z-index:110;background:rgba(2,7,14,.72)}
.mobile-menu.open{display:block;position:fixed;inset:0 0 0 auto;width:min(360px,calc(100% - 24px));height:100dvh;max-height:100dvh;padding:24px 20px;overflow-y:auto;overscroll-behavior:contain;background:#0b1421;border:0;border-left:1px solid #2c4055;box-shadow:-16px 0 50px #0006;z-index:111}
.mobile-panel-heading{display:flex;align-items:flex-start;gap:16px;padding-bottom:24px;border-bottom:1px solid #25364a}
.mobile-panel-heading small{color:var(--cyan);font-size:10px;letter-spacing:.15em;font-weight:700}
.mobile-panel-heading h2{font-size:20px;line-height:1.3;margin:10px 0 0;color:#edf6ff}
.mobile-close{flex:0 0 36px;height:36px;padding:0;border:1px solid #30495f;border-radius:50%;background:#142536;color:#d7f4ff;font-size:26px;cursor:pointer}
.mobile-nav-group{margin-top:26px}
.mobile-nav-group h3{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#849bb3;margin:0 0 10px}
.mobile-menu a.mobile-nav-row,.mobile-menu .mobile-platform-row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 14px;margin:6px 0;border:1px solid #23394d;border-radius:10px;background:#112033;color:#e0edfa;font-size:14px;font-weight:600;text-decoration:none;box-sizing:border-box}
.mobile-nav-row span,.mobile-platform-row span{color:#72d9fa}
.mobile-menu details.mobile-platform{padding:0;margin:6px 0;border:0;background:transparent}
.mobile-menu details.mobile-platform summary{list-style:none;cursor:pointer;margin:0}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-platform-links{padding:6px 14px 10px;border-left:1px solid #315069;margin-left:14px}
.mobile-menu .mobile-platform-links a{padding:10px 8px;color:#b3c8dc;font-size:13px;min-height:40px}
.mobile-menu .mobile-nav-row:hover,.mobile-menu .mobile-platform-row:hover{border-color:#4ea4c8;background:#152c41}
.recovery-center{max-width:760px;min-height:45vh}
.recovery-selector{display:grid;gap:12px;margin:24px 0}
.recovery-selector label{font-size:16px;font-weight:600;color:#d8eafa}
.recovery-selector select{width:100%;min-width:0;padding:15px 40px 15px 14px;border:1px solid #37546d;border-radius:12px;background:#101f31;color:#edf6ff;font:inherit;font-size:14px;min-height:50px}
.recovery-case{margin-top:20px}.recovery-case h2{font-size:20px;margin-top:0}.recovery-case p{line-height:1.65;color:#adbed1}
@media(max-width:600px){.flyer-carousel{margin-bottom:8px}.flyer-carousel+.section{padding-top:10px}.recovery-center{padding-top:28px}.recovery-center h1{font-size:28px}.recovery-case{padding:20px}}
@media(min-width:1051px){.mobile-menu,.mobile-menu.open,.mobile-backdrop{display:none!important}}
