/* FRESH CUT FILMS — estilos compartidos (index.html + portafolio.html) */

/* ===== THEME VARIABLES ===== */
:root{
  --bg:#0A0A0A;
  --surface:#111111;
  --text:#ffffff;
  --text-soft:rgba(255,255,255,.55);
  --text-muted:rgba(255,255,255,.22);
  --border:rgba(255,255,255,.08);
  --border-soft:rgba(255,255,255,.06);
  --nav-bg:rgba(10,10,10,.45);
  --logo-fill:#ffffff;
}
[data-theme="light"]{
  --bg:#F2F0EB;
  --surface:#FFFFFF;
  --text:#0A0A0A;
  --text-soft:rgba(10,10,10,.55);
  --text-muted:rgba(10,10,10,.32);
  --border:rgba(0,0,0,.1);
  --border-soft:rgba(0,0,0,.07);
  --nav-bg:rgba(242,240,235,.9);
  --logo-fill:#0A0A0A;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;background:var(--bg);}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-text-size-adjust:100%;}

/* NAV */
.nav-outer{position:sticky;top:0;z-index:200;background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:.5px solid var(--border);}
nav{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 48px;}
.logo{display:flex;align-items:center;height:28px;text-decoration:none;}
.logo svg{height:100%;width:auto;fill:var(--logo-fill);transition:fill .25s;}
.nav-wa{width:36px;height:36px;display:flex;align-items:center;justify-content:center;text-decoration:none;opacity:.6;transition:opacity .2s;}
.nav-wa:hover{opacity:1;}
.nav-wa svg{width:20px;height:20px;fill:#25D366;}

/* THEME TOGGLE BUTTON */
.theme-btn{background:none;border:.5px solid var(--border);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;color:var(--text-soft);transition:border-color .2s,color .2s;flex-shrink:0;}
.theme-btn:hover{border-color:#BF1736;color:var(--text);}
.theme-btn svg{width:15px;height:15px;}
.theme-btn .icon-moon{display:none;}
[data-theme="light"] .theme-btn .icon-sun{display:none;}
[data-theme="light"] .theme-btn .icon-moon{display:block;}

/* LIGHTBOX */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:1000;align-items:center;justify-content:center;}
.lightbox.active{display:flex;}
.lightbox-inner{position:relative;width:90vw;max-width:1100px;}
.lightbox-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;}
.lightbox-video iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
.lightbox-close{position:absolute;top:-44px;right:0;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);background:none;border:none;cursor:pointer;padding:8px 0;transition:color .2s;}
.lightbox-close:hover{color:#fff;}

/* FOOTER */
.footer-outer{border-top:.5px solid var(--border-soft);background:var(--bg);}
footer{max-width:1400px;margin:0 auto;padding:32px 48px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.footer-left{display:flex;align-items:center;gap:20px;}
.footer-copy{font-size:11px;color:var(--text-muted);letter-spacing:.04em;}
.footer-links{display:flex;gap:28px;list-style:none;}
.footer-links a{font-size:11px;color:var(--text-muted);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;transition:color .2s;}
.footer-links a:hover{color:var(--text-soft);}

/* SVG SPRITE */
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden;}

/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
  .hero-grain::after{animation:none !important;}
}

/* MOBILE */
@media(max-width:768px){
  nav{padding:16px 24px;}
  footer{padding:24px;flex-direction:column;align-items:flex-start;}
  .lightbox-inner{width:95vw;}
}
