/* Navegación y pie de página compartidos. No altera formularios, donaciones ni deep links. */
:root { --launch-dark: #291a16; --launch-coffee: #50372c; --launch-gold: #cba470; --launch-paper: #f7f2ea; }
html { scroll-padding-top: 90px; }
.nav { position: sticky; top: 0; z-index: 40; background: rgba(253,249,242,.96); box-shadow: 0 2px 20px rgba(60,39,26,.04); }
.nav::after { display:none; }
.nav-inner { max-width: 1232px; padding: 13px 28px; min-height: 75px; }
.brand { font-size: 26px; font-weight: 700; letter-spacing: -.035em; }
.brand:hover { text-decoration: none; }
.brand-logo { width: 43px; height:43px; filter:none; }
.nav-links { gap:6px; }
.nav-links a { padding: 9px 12px; color: #4a382e; font-weight: 650; font-size: 13.5px; border-radius:10px; }
.nav-links a:hover,.nav-links a[aria-current=page] { background:rgba(106,76,52,.07); }
.nav-links .nav-download { margin-left:12px; padding:11px 17px; background:#482c21; color:white; border-radius:99px; }
.nav-links .nav-download:hover { background:#674334; color:white; }
.nav-toggle { display:none; width:44px; height:44px; flex-direction:column; align-items:center; justify-content:center; gap:5px; border:1px solid rgba(75,29,12,.2); border-radius:12px; background:#fff9f0; cursor:pointer; }
.nav-toggle span { display:block; width:20px; height:2px; border-radius:2px; background:#3b271c; }
.nav-toggle:focus-visible { outline:3px solid #cba470; outline-offset:2px; }
.skip-link { position:absolute; top:-100px; left:12px; background:#fff; color:#2b1710; padding:10px 14px; z-index:999; border-radius:8px; }
.skip-link:focus { top:12px; }
.footer { background: #2b1c17; color: #ebddca; border-top:0; }
.footer-inner.upgraded-footer { display:grid; grid-template-columns: minmax(230px,1.65fr) repeat(3,minmax(120px,1fr)); gap:36px; max-width:1232px; padding:58px 28px; color:#c7b9ab; }
.footer .brand { color:#f5e9d4; }
.footer-brand p { font-size:14px; line-height:1.8; max-width:280px; margin:14px 0 20px; }
.footer-brand small { font-size:12px; color:#a99b8c; }
.footer-nav-group { display:flex; flex-direction:column; gap:12px; }
.footer-nav-group strong { color:#e9cba0; font-size:14px; margin-bottom:5px; }
.footer-nav-group a { color:#dacfc2; font-size:13px; font-weight:550; }
.footer-nav-group a:hover { color:#fff; }
.store-actions { display:flex; gap:12px; flex-wrap:wrap; }
.store-link { min-width:174px; display:inline-flex; align-items:center; gap:11px; justify-content:center; padding:12px 17px; background:#f6f0e7; border:1px solid transparent; border-radius:14px; color:#33241e; box-shadow:0 8px 26px rgba(0,0,0,.08); font-weight:600; text-decoration:none; transition:transform .18s,box-shadow .18s; }
.store-link:hover { text-decoration:none; transform:translateY(-2px); box-shadow:0 10px 30px rgba(0,0,0,.12); }
.store-link:focus-visible { outline:3px solid #cba470; outline-offset:3px; }
.store-link span { display:flex; flex-direction:column; gap:1px; line-height:1.1; text-align:left; }
.store-link small { display:block; font-size:11px; font-weight:500; }
.store-link strong { font-size:19px; letter-spacing:-.035em; font-weight:850; }
.store-icon { display:block; width:29px; height:29px; flex:none; }
.store-actions--subpage { justify-content:flex-start; }
.store-actions--subpage .store-link { background:#4b2f24; color:#fff8ed; }
@media (max-width:980px) {
  .nav { position:sticky; }
  .nav-inner { flex-direction:row; align-items:center; padding:10px 20px; flex-wrap:wrap; }
  .nav-toggle { display:flex; }
  .nav-links { display:none; flex-basis:100%; width:100%; flex-direction:column; align-items:stretch; gap:0; padding:8px 0 12px; border-top:1px solid rgba(75,29,12,.1); }
  .nav-open .nav-links { display:flex; }
  .nav-links a { display:block; padding:13px 14px; font-size:15px; }
  .nav-links .nav-download { margin:8px 0 0; text-align:center; }
  .footer-inner.upgraded-footer { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
}
@media (max-width:560px) {
  .footer-inner.upgraded-footer { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 18px; padding:42px 22px; }
  .footer-brand { grid-column:1/-1; }
  .store-link { flex:1 1 150px; min-width:0; padding:12px 13px; }
  .store-link strong { font-size:17px; }
  .store-icon { width:25px; height:25px; }
}
@media (prefers-reduced-motion:reduce) { html {scroll-behavior:auto} .store-link {transition:none} }
