/*
Theme Name: Walter Carrera Fotografía
Theme URI: https://waltercarrera.com.ar
Author: Walter Carrera
Description: Tema personal — Fotografía Política, Casa Rosada, Imagen y Comunicación.
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.7
Requires PHP: 7.4
License: Private
Text Domain: wc
*/
:root{
  --c0:#faf7f2;--c1:#f5f0e8;--c2:#ede6d9;--c3:#e5dccf;--c4:#f0ebe2;--c5:#faf7f2;--c6:#e8e0d0;
  --ink:#1e1810;--ink-mid:#4a4235;--ink-light:#8a7e6e;
  --gold:#8a7340;--gold-lt:#a08c52;--gold-dim:rgba(138,115,64,.08);--gold-line:rgba(138,115,64,.22);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Montserrat',sans-serif;
  --body:'Libre Baskerville',Georgia,serif;
}

/* ===== ELIMINAR MENÚ VIEJO ===== */
/* Ocultar cualquier nav/ul que NO sea el nuestro */
body > nav,
body > div > nav,
body > ul,
.menu-main-container,
.menu-main-menu-container,
.menu-container,
nav.nav-menu,
#nav,
#main-menu,
#primary-menu,
#menu-main,
.nav-wrapper:not(.site-header),
div[class*="menu-"]:not(.site-header):not([class*="wc-"]) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}
/* Asegurar que nuestro header y su nav siempre sean visibles */
.site-header,
.site-header *,
#wcMobileNav,
#wcMobileNav * {
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  position: relative !important;
}
.site-header { position: fixed !important; }
#wcMobileNav { position: fixed !important; }
/* ================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--c0);color:var(--ink);font-family:var(--body);line-height:1.7;overflow-x:hidden;cursor:none}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}

/* Cursor */
.wc-cursor{position:fixed;top:0;left:0;width:7px;height:7px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%)}
.wc-ring{position:fixed;top:0;left:0;width:34px;height:34px;border:1px solid rgba(138,115,64,.35);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .2s,height .2s,border-color .2s}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:22px 60px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(250,247,242,.98),rgba(250,247,242,0));transition:background .4s,box-shadow .4s}
.site-header.scrolled{background:rgba(250,247,242,.97);box-shadow:0 1px 0 var(--gold-line)}
/* Ocultar menú del plugin fullscreen en todas las resoluciones */
#fullscreen-menu-open,#fullscreen-menu-close,.fullscreen-menu-overlay,.fs-menu-overlay,[class*="fullscreen-menu"],[id*="fullscreen-menu"]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
/* Ocultar cualquier nav flotante que no sea el nuestro */
body > nav:not(#wcMobileNav), body > ul.menu, .wp-block-navigation:not(.main-navigation){display:none!important}
/* Ocultar menú viejo que aparece como texto antes del header */
.main-navigation ~ nav, nav.nav-menu, #nav, #navigation, .navigation:not(.main-navigation){display:none!important}
.site-branding{display:flex;align-items:center;gap:11px}
.site-logo{width:36px;height:36px;object-fit:contain}
.site-title-text{font-family:var(--serif);font-size:1.1rem;font-weight:300;letter-spacing:.05em;color:var(--ink);display:flex;flex-direction:column;line-height:1.1}
.site-title-text span{font-size:.54rem;font-family:var(--sans);letter-spacing:.38em;color:var(--gold);text-transform:uppercase;font-weight:400;margin-top:3px}
.main-navigation ul{display:flex;gap:38px;list-style:none}
.main-navigation a{font-family:var(--sans);font-size:.62rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-light);transition:color .3s;position:relative;padding-bottom:4px}
.main-navigation a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .35s}
.main-navigation a:hover{color:var(--ink)}
.main-navigation a:hover::after{width:100%}
.header-cta{font-family:var(--sans);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-line);padding:9px 20px;transition:all .3s}
.header-cta:hover{background:var(--gold);color:#fff}

/* Hero */
.hero-section{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:0 0 70px 70px}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center center;animation:heroZoom 12s ease-out both}
@keyframes heroZoom{from{transform:scale(1.04)}to{transform:scale(1)}}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,8,5,.18) 0%,transparent 35%,rgba(15,10,5,.55) 65%,rgba(10,6,2,.88) 100%)}
.hero-content{position:relative;z-index:2;max-width:620px;width:100%}
.hero-text-box{display:block;background:rgba(3,1,0,.45);padding:28px 32px 36px;border-left:3px solid rgba(210,175,80,.7)}
.hero-eyebrow{font-family:var(--sans);font-size:.58rem;letter-spacing:.44em;text-transform:uppercase;color:rgba(255,248,220,1);margin-bottom:18px;animation:fadeUp 1s ease .3s both}
.hero-tagline{font-family:var(--serif);font-size:1.1rem;font-weight:300;font-style:italic;color:rgba(248,238,218,.98);margin-top:20px;max-width:440px;line-height:1.65;animation:fadeUp 1s ease .5s both}
.hero-sep{width:38px;height:1px;background:rgba(210,175,80,.7);margin:22px 0;animation:fadeUp 1s ease .6s both}
.hero-sub{font-family:var(--sans);font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(248,238,210,1);line-height:2.2;animation:fadeUp 1s ease .7s both;font-weight:500}
.hero-ctas{display:flex;align-items:center;gap:28px;margin-top:38px;animation:fadeUp 1s ease .85s both}
.btn-hero-primary{font-family:var(--sans);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;background:rgba(138,115,64,.85);color:#fff;padding:13px 30px;font-weight:500;transition:all .3s}
.btn-hero-primary:hover{background:#a08c52}
.btn-hero-text{font-family:var(--sans);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(240,228,200,.9);display:flex;align-items:center;gap:9px;transition:color .3s}
.btn-hero-text::after{content:'→';transition:transform .3s}
.btn-hero-text:hover{color:#d4af54}
.btn-hero-text:hover::after{transform:translateX(4px)}
.hero-scroll{position:absolute;bottom:34px;right:60px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:9px}
.hero-scroll-text{font-family:var(--sans);font-size:.48rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(245,237,224,.85);writing-mode:vertical-rl;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.hero-scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,rgba(210,175,80,.9),transparent);animation:scrollLine 2s ease-in-out infinite}
@keyframes scrollLine{0%,100%{opacity:1;transform:scaleY(1)}50%{opacity:.3;transform:scaleY(.5)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* Sections */
.wc-section{padding:110px 60px}
.wc-c1{background:var(--c1)}.wc-c2{background:var(--c2)}.wc-c3{background:var(--c3)}.wc-c4{background:var(--c4)}.wc-c5{background:var(--c5)}.wc-c6{background:var(--c6)}
.sec-label{font-family:var(--sans);font-size:.56rem;letter-spacing:.44em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:13px}
.sec-label::before{content:'';width:26px;height:1px;background:var(--gold);display:inline-block}
.sec-title{font-family:var(--serif);font-size:clamp(2.4rem,5vw,4.2rem);font-weight:300;line-height:1.05;color:var(--ink);max-width:660px;margin-bottom:14px}
.sec-title em{font-style:italic;color:var(--gold)}

/* Sobre mí */
.about-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:88px;align-items:start;margin-top:56px}
.about-photo{position:relative}
.about-photo img,.about-ph{width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--gold-line)}
.about-ph{background:linear-gradient(135deg,#e5ddd0,#ddd4c4);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:.52rem;letter-spacing:.28em;color:rgba(138,115,64,.28);text-transform:uppercase}
.about-accent{position:absolute;bottom:-16px;right:-16px;width:76%;height:76%;border:1px solid var(--gold-line);z-index:-1}
.about-name{font-family:var(--serif);font-size:2.2rem !important;font-weight:700 !important;font-style:italic;margin:0 0 6px 0;color:var(--ink)}
.about-subtitle{font-family:var(--serif);font-size:.85rem;font-weight:300 !important;font-style:italic;line-height:1.6;margin:0;color:var(--ink-mid)}
.about-body{font-size:.86rem;line-height:1.95;color:var(--ink-mid);margin:0 0 16px 0;padding-top:24px;border-top:1px solid var(--gold-line)}
.about-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}
.about-tag{font-family:var(--sans);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--gold-line);color:var(--gold);padding:7px 14px;transition:all .3s}
.about-tag:hover{background:var(--gold-dim)}

/* Portfolio */
.pf-filters{display:flex;margin-top:40px;margin-bottom:44px;border-bottom:1px solid rgba(138,115,64,.12)}
.pf-btn{font-family:var(--sans);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-light);background:none;border:none;cursor:pointer;padding:11px 22px;transition:all .3s;border-bottom:2px solid transparent;margin-bottom:-1px}
.pf-btn.active,.pf-btn:hover{color:var(--ink);border-bottom-color:var(--gold)}
.pf-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.pf-item{position:relative;overflow:hidden;background:var(--c2)}
.pf-item:nth-child(1){grid-column:span 7;height:520px}
.pf-item:nth-child(2){grid-column:span 5;height:254px}
.pf-item:nth-child(3){grid-column:span 5;height:254px}
.pf-item:nth-child(4){grid-column:span 4;height:310px}
.pf-item:nth-child(5){grid-column:span 4;height:310px}
.pf-item:nth-child(6){grid-column:span 4;height:310px}
.pf-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.pf-item:hover img{transform:scale(1.04)}
.pf-ph{width:100%;height:100%;background:linear-gradient(135deg,#ddd5c5,#d4cab8);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:.5rem;letter-spacing:.26em;color:rgba(138,115,64,.25);text-transform:uppercase;text-align:center}
.pf-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(30,24,16,.65) 0%,transparent 55%);opacity:0;transition:opacity .4s;display:flex;align-items:flex-end;padding:22px}
.pf-item:hover .pf-overlay{opacity:1}
.pf-overlay-cat{font-family:var(--sans);font-size:.5rem;letter-spacing:.3em;text-transform:uppercase;color:#d4af54;margin-bottom:4px}
.pf-overlay-title{font-family:var(--serif);font-size:1.2rem;font-weight:300;color:#faf7f2}

/* Blog */
.blog-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1px;margin-top:56px;background:rgba(138,115,64,.1)}
.blog-card{padding:36px;transition:background .3s}
.blog-card:hover{background:rgba(0,0,0,.04)}
.blog-card:first-child{padding:44px}
.blog-tag-label{display:inline-block;font-family:var(--sans);font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--gold-line);color:var(--gold);padding:4px 10px;margin-bottom:14px}
.blog-date-label{font-family:var(--sans);font-size:.54rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.blog-title{font-family:var(--serif);font-size:1.2rem;font-weight:400;line-height:1.3;color:var(--ink);margin-bottom:10px}
.blog-card:first-child .blog-title{font-size:1.75rem}
.blog-excerpt{font-size:.82rem;line-height:1.85;color:var(--ink-mid);margin-bottom:20px}
.blog-more{font-family:var(--sans);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:9px;transition:gap .3s}
.blog-more:hover{gap:16px}
.blog-more::after{content:'→'}

/* Prensa */
.prensa-intro{max-width:500px;font-size:.86rem;line-height:1.95;color:var(--ink-mid);margin-top:16px}
.prensa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:56px;background:var(--gold-line)}
.prensa-item{padding:30px;border-left:2px solid transparent;display:flex;flex-direction:column;gap:9px;transition:all .3s}
.prensa-item:hover{background:var(--c0);border-left-color:var(--gold);padding-left:22px}
.prensa-outlet{font-family:var(--sans);font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.prensa-date-label{font-family:var(--sans);font-size:.52rem;letter-spacing:.14em;color:var(--ink-light)}
.prensa-title{font-family:var(--serif);font-size:1.02rem;color:var(--ink);line-height:1.4}
.prensa-type{font-family:var(--sans);font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-light)}
.prensa-link{font-family:var(--sans);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:auto;opacity:0;transition:opacity .3s}
.prensa-item:hover .prensa-link{opacity:1}

/* Bodas */
.bodas-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.bodas-label{font-family:var(--sans);font-size:.56rem;letter-spacing:.44em;text-transform:uppercase;color:var(--ink-light);margin-bottom:14px;display:flex;align-items:center;gap:13px}
.bodas-label::before{content:'';width:26px;height:1px;background:var(--ink-light);display:inline-block}
.bodas-title{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:300;line-height:1.05;color:var(--ink);margin-bottom:16px}
.bodas-title em{font-style:italic;color:var(--gold)}
.bodas-body{font-size:.86rem;line-height:1.95;color:var(--ink-mid);margin-bottom:10px}
.bodas-quote{font-family:var(--serif);font-size:1.1rem;font-style:italic;color:var(--ink-mid);border-left:2px solid var(--gold-line);padding-left:18px;margin:22px 0;line-height:1.6}
.bodas-cta{display:inline-flex;align-items:center;gap:12px;margin-top:22px;font-family:var(--sans);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid rgba(30,24,16,.18);padding-bottom:6px;transition:all .3s}
.bodas-cta::after{content:'→';transition:transform .3s}
.bodas-cta:hover{color:var(--gold);border-bottom-color:var(--gold)}
.bodas-cta:hover::after{transform:translateX(5px)}
.bodas-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bodas-gallery-main{grid-row:span 2}
.bodas-gallery-main .pf-ph{min-height:360px}
.bodas-gallery-sm .pf-ph{aspect-ratio:4/3;height:auto}
.bodas-gallery-main img{width:100%;height:100%;object-fit:cover;min-height:360px}
.bodas-gallery-sm img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* Contacto */
.contact-section{min-height:70vh;display:flex;align-items:center;position:relative;overflow:hidden}
.contact-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(ellipse,rgba(138,115,64,.06) 0%,transparent 70%)}
.contact-inner{width:100%;max-width:700px;margin:0 auto;text-align:center;position:relative}
.contact-pre{font-family:var(--sans);font-size:.58rem;letter-spacing:.44em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.contact-title{font-family:var(--serif);font-size:clamp(3rem,7vw,5.5rem);font-weight:300;line-height:.95;color:var(--ink);margin-bottom:20px}
.contact-title em{font-style:italic;color:var(--gold)}
.contact-sub{font-size:.86rem;line-height:1.85;color:var(--ink-mid);max-width:380px;margin:0 auto 38px}
.contact-btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.btn-primary{font-family:var(--sans);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;padding:13px 28px;background:var(--ink);color:var(--c0);font-weight:500;transition:all .3s}
.btn-primary:hover{background:var(--gold)}
.btn-outline{font-family:var(--sans);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;padding:13px 28px;border:1px solid var(--gold-line);color:var(--gold);transition:all .3s}
.btn-outline:hover{background:var(--gold-dim)}
.contact-socials{display:flex;justify-content:center;gap:28px;margin-top:40px}
.contact-social{font-family:var(--sans);font-size:.54rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-light);transition:color .3s;display:flex;align-items:center;gap:8px}
.contact-social::before{content:'—';color:var(--gold-line)}
.contact-social:hover{color:var(--gold)}

/* Footer */
.site-footer{background:var(--c1);border-top:1px solid var(--gold-line);padding:32px 60px;display:flex;align-items:center;justify-content:space-between}
.footer-brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:.92rem;font-weight:300;letter-spacing:.05em;color:var(--ink)}
.footer-brand img{width:26px;height:26px;object-fit:contain}
.footer-brand-sub{font-family:var(--sans);font-size:.5rem;letter-spacing:.35em;color:var(--gold);display:block;margin-top:2px}
.footer-copy{font-family:var(--sans);font-size:.52rem;letter-spacing:.13em;color:var(--ink-light)}
.footer-nav{display:flex;gap:22px}
.footer-nav a{font-family:var(--sans);font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-light);transition:color .3s}
.footer-nav a:hover{color:var(--gold)}

/* Reveal */
.wc-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.wc-reveal.visible{opacity:1;transform:translateY(0)}

/* WP core */
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}
.aligncenter{margin:0 auto 1em;display:block}


/* Aggressively hide stray menu rendered outside site-header */
body > nav, body > div > nav:not(#wcMobileNav),
.menu-main-container, .menu-main-menu-container,
nav:not(#wcMobileNav):not(.main-navigation),
.nav-menu:not(.main-navigation ul){display:none!important}

/* Hamburger button */
.wc-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;z-index:200}
.wc-hamburger span{display:block;width:24px;height:1.5px;background:var(--ink);transition:all .3s;transform-origin:center}
.wc-hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.wc-hamburger.open span:nth-child(2){opacity:0}
.wc-hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile drawer */
.wc-mobile-nav{display:none;position:fixed;inset:0;background:rgba(250,247,242,.98);z-index:150;flex-direction:column;align-items:center;justify-content:center;gap:32px}
.wc-mobile-nav.open{display:flex}
.wc-mobile-nav a{font-family:var(--sans);font-size:1rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);text-decoration:none;transition:color .3s}
.wc-mobile-nav a:hover{color:var(--gold)}
.wc-mobile-nav .wc-mobile-cta{color:var(--gold);border:1px solid var(--gold-line);padding:12px 28px;margin-top:8px}

/* Responsive */
@media(max-width:900px){
  .site-header{padding:16px 22px}
  .main-navigation{display:none}
  .wc-hamburger{display:flex}
  /* Hide fullscreen menu plugin elements */
  #fullscreen-menu-open,#fullscreen-menu-close,.fullscreen-menu-overlay,.fs-menu-overlay,[class*="fullscreen-menu"]{display:none!important;visibility:hidden!important}
  .wc-section{padding:80px 22px}
  .hero-section{padding:0 0 48px 22px}
  .hero-content{padding:22px 20px 24px;max-width:100%}
  .about-grid,.bodas-grid{grid-template-columns:1fr;gap:40px}
  .pf-item{grid-column:span 12!important;height:240px!important}
  .blog-grid,.prensa-grid{grid-template-columns:1fr}
  .bodas-gallery{display:none}
  .site-footer{flex-direction:column;gap:16px;text-align:center}
}
