/*
Theme Name: LH Barbería
Theme URI: https://lhbarberia.com
Description: Tema hijo de GeneratePress para LH Barbería — barbería de alto target en Quito. Diseño editorial minimalista monocromático.
Author: LH Barbería
Template: generatepress
Version: 0.9.0
Text Domain: lh-barberia
*/

:root{
  --ink:#000000;
  --gray:#666666;
  --gray-soft:#8d8d8d;
  --paper:#ffffff;
  --smoke:#f4f3f1;
  --charcoal:#111111;
  --line:rgba(0,0,0,.14);
  --line-light:rgba(255,255,255,.16);
  --display:"Montserrat", system-ui, sans-serif;
  --ui:"Montserrat", system-ui, sans-serif;
  --pad:clamp(1.4rem,5vw,7rem);
  --ease:cubic-bezier(.16,.84,.44,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body.home,body.lh-page{
  font-family:var(--ui);
  font-weight:300;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* grain overlay */
body.home::after,body.lh-page::after{
  content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- type system ---------- */
.eyebrow{
  font-family:var(--ui);font-weight:400;font-size:.7rem;letter-spacing:.42em;
  text-transform:uppercase;color:var(--gray);
}
.home h1,.home h2,.home h3,.lh-page h1,.lh-page h2,.lh-page h3{font-family:var(--display);font-weight:300;line-height:1.05;letter-spacing:-.01em}
.serif-italic{font-style:italic;font-weight:300}
.price{font-weight:500}

/* ---------- wordmark ---------- */
.wordmark{display:inline-flex;flex-direction:column;align-items:center;line-height:.82}
.wordmark .lh{font-family:var(--display);font-weight:700;font-size:1.7rem;letter-spacing:.02em}
.wordmark .lh .l{color:var(--ink)}
.wordmark .lh .h{color:var(--gray)}
.wordmark .sub{font-family:var(--ui);font-weight:300;font-size:.52rem;letter-spacing:.62em;color:var(--gray);text-indent:.62em;margin-top:.28em}
.wordmark.on-dark .lh .l{color:#fff}
.wordmark.on-dark .lh .h{color:var(--gray-soft)}
.wordmark.on-dark .sub{color:var(--gray-soft)}

/* ---------- nav ---------- */
.lh-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.4rem var(--pad);
  transition:padding .5s var(--ease);
  mix-blend-mode:difference;
}
.lh-header .wordmark .lh .l,.lh-header .wordmark .lh .h,.lh-header .wordmark .sub{color:#fff}
.lh-nav ul{display:flex;gap:2.4rem;list-style:none;align-items:center}
.lh-nav a{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;position:relative;padding:.3rem 0}
.lh-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:#fff;transition:width .4s var(--ease)}
.lh-nav a:hover::after{width:100%}
.nav-cart{display:flex;align-items:center;gap:.5rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#fff}
.nav-cart .count{display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;border:1px solid #fff;border-radius:50%;font-size:.6rem;letter-spacing:0}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer}
.menu-toggle span{width:26px;height:1px;background:#fff;display:block}

/* Header con fondo al hacer scroll (deja de usar mix-blend para no perderse) */
.lh-header{transition:background .4s var(--ease),padding .4s var(--ease),box-shadow .4s var(--ease)}
.lh-header.scrolled{
  mix-blend-mode:normal;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
  padding-top:.9rem;padding-bottom:.9rem;
}
.lh-header.scrolled .wordmark .lh .l{color:var(--ink)}
.lh-header.scrolled .wordmark .lh .h{color:var(--gray)}
.lh-header.scrolled .wordmark .sub{color:var(--gray)}
.lh-header.scrolled .lh-nav a{color:var(--ink)}
.lh-header.scrolled .lh-nav a::after{background:var(--ink)}
.lh-header.scrolled .nav-cart{color:var(--ink)}
.lh-header.scrolled .nav-cart .count{border-color:var(--ink)}
.lh-header.scrolled .menu-toggle span{background:var(--ink)}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:100vh;display:grid;
  grid-template-columns:1.1fr .9fr;background:var(--ink);color:#fff;overflow:hidden;
}
.hero-copy{
  display:flex;flex-direction:column;justify-content:center;
  padding:7rem var(--pad) 4rem;position:relative;z-index:3;
}
.hero-copy .eyebrow{color:var(--gray-soft);margin-bottom:2.2rem;opacity:0;animation:fadeUp 1s var(--ease) .3s forwards}
.hero-copy h1{font-size:clamp(3.2rem,9vw,8.5rem);color:#fff;font-weight:300}
.hero-copy h1 .ln{display:block;overflow:hidden}
.hero-copy h1 .ln span{display:block;transform:translateY(110%);animation:reveal 1.1s var(--ease) forwards}
.hero-copy h1 .ln:nth-child(1) span{animation-delay:.45s}
.hero-copy h1 .ln:nth-child(2) span{animation-delay:.6s}
.hero-copy h1 .ln:nth-child(3) span{animation-delay:.75s}
.hero-copy h1 em{font-style:italic;color:var(--gray-soft)}
.hero-copy p{max-width:34ch;color:rgba(255,255,255,.7);font-size:1.02rem;margin:2.4rem 0 2.8rem;opacity:0;animation:fadeUp 1s var(--ease) 1s forwards}
.hero-actions{display:flex;gap:1.5rem;align-items:center;opacity:0;animation:fadeUp 1s var(--ease) 1.15s forwards}

.btn{
  font-family:var(--ui);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
  padding:1.05rem 2.4rem;border:1px solid #fff;color:#fff;background:transparent;cursor:pointer;
  transition:.45s var(--ease);position:relative;overflow:hidden;display:inline-block;
}
.btn span{position:relative;z-index:2;transition:color .45s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:#fff;transform:translateY(101%);transition:transform .45s var(--ease);z-index:1}
.btn:hover::before{transform:translateY(0)}
.btn:hover span{color:var(--ink)}
.btn.dark{border-color:var(--ink);color:var(--ink)}
.btn.dark::before{background:var(--ink)}
.btn.dark:hover span{color:#fff}
.link-arrow{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.6rem;color:#fff}
.link-arrow .line{width:2.2rem;height:1px;background:currentColor;transition:width .4s var(--ease)}
.link-arrow:hover .line{width:3.4rem}

.hero-visual{position:relative;overflow:hidden}
.hero-visual .ph{position:absolute;inset:0}
.hero-visual::before{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(90deg,var(--ink),transparent 30%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 60%);
}
.hero-mono{
  position:absolute;right:var(--pad);bottom:7%;z-index:3;
  font-family:var(--display);font-size:clamp(8rem,22vw,20rem);line-height:.8;color:rgba(255,255,255,.06);
  font-weight:500;pointer-events:none;
}
.scroll-cue{
  position:absolute;left:var(--pad);bottom:2.4rem;z-index:4;display:flex;align-items:center;gap:1rem;
  font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.55);
  opacity:0;animation:fadeUp 1s var(--ease) 1.4s forwards;
}
.scroll-cue .bar{width:1px;height:46px;background:rgba(255,255,255,.4);position:relative;overflow:hidden}
.scroll-cue .bar::after{content:"";position:absolute;inset:0;background:#fff;animation:scrollbar 2.4s var(--ease) infinite}

/* photo placeholder treatment */
.ph{
  background:
    radial-gradient(120% 90% at 70% 20%, #2a2a2a, #0a0a0a 70%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.02) 0 2px, transparent 2px 9px);
  position:relative;
}
.ph[data-label]::after{
  content:attr(data-label);position:absolute;left:1.2rem;bottom:1rem;
  font-family:var(--ui);font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.35);
}

/* ---------- section frame ---------- */
.home section,.lh-page section,.lh-section{padding:clamp(4.5rem,11vw,9rem) var(--pad)}
.sec-head{display:flex;align-items:baseline;gap:1.4rem;margin-bottom:3.5rem}
.sec-head .num{font-family:var(--display);font-style:italic;font-size:1.1rem;color:var(--gray)}
.sec-head .eyebrow{position:relative;top:-.1rem}
.sec-head .rule{flex:1;height:1px;background:var(--line)}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}.reveal.d4{transition-delay:.4s}

/* ---------- manifesto ---------- */
.manifesto{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.manifesto h2{font-size:clamp(2.2rem,4.4vw,4rem);font-weight:300}
.manifesto h2 em{font-style:italic;color:var(--gray)}
.manifesto .body{color:var(--gray);max-width:46ch;font-size:1.05rem}
.manifesto .body p+p{margin-top:1.2rem}
.manifesto .sign{font-family:var(--display);font-style:italic;font-size:1.5rem;margin-top:1.8rem;color:var(--ink)}

/* ---------- services ---------- */
.services{background:var(--smoke)}
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.svc{
  display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;
  padding:2.4rem .4rem;border-bottom:1px solid var(--line);transition:.5s var(--ease);
}
.svc:nth-child(odd){border-right:1px solid var(--line);padding-right:3rem}
.svc:nth-child(even){padding-left:3rem}
.svc .idx{font-family:var(--display);font-style:italic;color:var(--gray);font-size:1.1rem}
.svc h3{font-size:1.7rem;font-weight:400}
.svc .desc{display:block;font-family:var(--ui);font-size:.8rem;color:var(--gray);letter-spacing:.02em;margin-top:.2rem}
.svc .price{font-family:var(--display);font-size:1.6rem;color:var(--ink)}
.svc:hover{background:#fff;padding-left:1.4rem;padding-right:1.4rem}
.svc:nth-child(odd):hover{padding-left:1.4rem}
.svc .note{font-size:.95rem;color:var(--gray);font-family:var(--display);font-style:italic}
.svc-right{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;text-align:right}
.svc-go{font-family:var(--ui);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);transition:color .3s var(--ease)}
.svc:hover .svc-go{color:var(--ink)}
.svc-feature{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;
  background:var(--ink);color:#fff;padding:2.2rem clamp(1.6rem,4vw,3rem);margin-bottom:2.5rem;
}
.svc-feature .tag{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gray-soft);display:block;margin-bottom:.5rem}
.svc-feature h3{font-size:1.9rem;color:#fff;font-weight:400}
.svc-feature .desc{font-size:.82rem;color:rgba(255,255,255,.6);margin-top:.3rem}
.svc-feature .price{font-family:var(--display);font-size:2rem;color:#fff}

/* ---------- team ---------- */
.team{background:var(--charcoal);color:#fff}
.team .sec-head .rule{background:var(--line-light)}
.team .sec-head .num{color:var(--gray-soft)}
.team .eyebrow{color:var(--gray-soft)}
.team-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1.4rem}
@media(max-width:1150px){.team-grid{grid-template-columns:repeat(4,1fr)}}
.barber{position:relative}
.barber .photo{aspect-ratio:3/4;overflow:hidden;position:relative}
.barber .photo .ph{position:absolute;inset:0;transition:transform 1s var(--ease)}
.barber:hover .photo .ph{transform:scale(1.04)}
.barber .meta{display:flex;justify-content:space-between;align-items:baseline;padding-top:1.1rem;border-top:1px solid var(--line-light);margin-top:1.1rem}
.barber .meta h3{font-size:1.5rem;color:#fff}
.barber .meta .role{font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gray-soft)}

/* ---------- gallery ---------- */
.gallery .sec-head{margin-bottom:2.5rem}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:13rem;gap:1rem}
.gal-grid figure{overflow:hidden;position:relative}
.gal-grid figure .ph{position:absolute;inset:0;transition:transform 1.1s var(--ease)}
.gal-grid figure:hover .ph{transform:scale(1.06)}
.gal-grid .tall{grid-row:span 2}
.gal-grid .wide{grid-column:span 2}

/* ---------- shop teaser ---------- */
.shop{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.shop .intro{padding:clamp(3rem,7vw,7rem) var(--pad);display:flex;flex-direction:column;justify-content:center}
.shop .intro h2{font-size:clamp(2rem,4vw,3.4rem);font-weight:300;margin:.6rem 0 1.4rem}
.shop .intro h2 em{font-style:italic;color:var(--gray)}
.shop .intro p{color:var(--gray);max-width:38ch;margin-bottom:2.2rem}
.shop .products{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line)}
.product{padding:2.2rem;border-bottom:1px solid var(--line)}
.product:nth-child(odd){border-right:1px solid var(--line)}
.product .pimg{aspect-ratio:1;margin-bottom:1.4rem;position:relative;overflow:hidden;background:var(--smoke)}
.product .pimg .ph{position:absolute;inset:0}
.product .pimg{display:block}
.product .pimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:1rem;mix-blend-mode:multiply}
.product .cat{font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gray)}
.product h3{font-size:1.25rem;font-weight:500;font-family:var(--display);margin:.3rem 0 .6rem}
.product .row{display:flex;justify-content:space-between;align-items:center}
.product .price{font-family:var(--display);font-size:1.3rem}
.product .add{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:2px;transition:.3s var(--ease)}
.product .add:hover{color:var(--gray);border-color:var(--gray)}

/* ---------- stats ---------- */
.stats{background:var(--ink);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding:0}
.stat{padding:clamp(3rem,7vw,6rem) 1rem;border-right:1px solid var(--line-light)}
.stat:last-child{border-right:none}
.stat .n{font-family:var(--display);font-size:clamp(3.5rem,7vw,6rem);font-weight:300;line-height:1}
.stat .l{font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gray-soft);margin-top:1rem}

/* ---------- CTA ---------- */
.cta{position:relative;text-align:center;color:#fff;background:var(--charcoal);overflow:hidden}
.cta .ph{position:absolute;inset:0;opacity:.35}
.cta .inner{position:relative;z-index:2}
.cta .eyebrow{color:var(--gray-soft);margin-bottom:1.6rem}
.cta h2{font-size:clamp(2.4rem,6vw,5rem);font-weight:300;margin-bottom:2.4rem}
.cta h2 em{font-style:italic;color:var(--gray-soft)}

/* ---------- footer ---------- */
.lh-footer{background:var(--ink);color:#fff;padding:clamp(3.5rem,7vw,6rem) var(--pad) 2.5rem}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:3.5rem;border-bottom:1px solid var(--line-light)}
.foot-col h4{font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gray-soft);margin-bottom:1.3rem;font-family:var(--ui);font-weight:400}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.foot-col a,.foot-col p{color:rgba(255,255,255,.78);font-size:.92rem}
.foot-col a:hover{color:#fff}
.foot-brand .wordmark{align-items:flex-start;margin-bottom:1.2rem}
.foot-brand p{color:rgba(255,255,255,.6);max-width:30ch;font-size:.92rem}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;flex-wrap:wrap;gap:1rem}
.foot-bottom p{font-size:.7rem;letter-spacing:.1em;color:var(--gray-soft)}
.foot-bottom .socials{display:flex;gap:1.6rem}
.foot-bottom .socials a{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase}
.foot-bottom .powered{color:var(--gray-soft)}
.foot-bottom .powered a{color:#fff;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:1px;transition:border-color .3s var(--ease)}
.foot-bottom .powered a:hover{border-color:#fff}

/* ---------- páginas internas ---------- */
.page-hero{
  background:var(--ink);color:#fff;padding:clamp(8rem,16vw,12rem) var(--pad) clamp(3.5rem,7vw,6rem);
  position:relative;overflow:hidden;
}
.page-hero .eyebrow{color:var(--gray-soft);margin-bottom:1.4rem;display:block}
.page-hero h1{font-size:clamp(2.8rem,7vw,6rem);font-weight:300;color:#fff;line-height:1}
.page-hero h1 em{font-style:italic;color:var(--gray-soft)}
.page-hero p{color:rgba(255,255,255,.65);max-width:48ch;margin-top:1.6rem;font-size:1.05rem}
.page-hero .mono-bg{position:absolute;right:var(--pad);bottom:-3rem;font-family:var(--display);font-weight:500;font-size:clamp(9rem,20vw,18rem);color:rgba(255,255,255,.05);line-height:.8;pointer-events:none}

.lh-prose{max-width:62ch;color:var(--gray);font-size:1.08rem}
.lh-prose p+p{margin-top:1.3rem}
.lh-prose h2{font-family:var(--display);color:var(--ink);font-weight:400;font-size:clamp(1.8rem,3.5vw,2.8rem);margin:0 0 1.4rem}
.lh-prose h2 em{font-style:italic;color:var(--gray)}

.about-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.about-split .ph{aspect-ratio:4/5;border:1px solid var(--line)}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-top:1rem}
.value{padding:2.2rem 1.6rem;border-bottom:1px solid var(--line)}
.value:not(:last-child){border-right:1px solid var(--line)}
.value .vnum{font-family:var(--display);font-style:italic;color:var(--gray);font-size:1.1rem}
.value h3{font-size:1.3rem;font-weight:400;margin:.6rem 0 .5rem}
.value p{color:var(--gray);font-size:.92rem}

/* contacto */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:0;border:1px solid var(--line)}
.contact-info{padding:clamp(2rem,5vw,3.5rem)}
.contact-info .row{padding:1.4rem 0;border-bottom:1px solid var(--line)}
.contact-info .row:last-child{border-bottom:none}
.contact-info .lbl{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gray);display:block;margin-bottom:.5rem}
.contact-info .val{font-size:1.1rem;color:var(--ink)}
.contact-info .val a:hover{color:var(--gray)}
.contact-map{position:relative;min-height:420px;border-left:1px solid var(--line)}
.contact-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.contact-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.6rem}

@media(max-width:880px){
  .about-split,.contact-grid{grid-template-columns:1fr}
  .contact-map{border-left:none;border-top:1px solid var(--line);min-height:340px}
  .values{grid-template-columns:1fr}
  .value:not(:last-child){border-right:none}
}

/* ============================================================
   WOOCOMMERCE — tienda, producto, carrito, checkout, pedido
   ============================================================ */
.shop-hero{padding-bottom:clamp(2.5rem,5vw,4rem)}
body.single-product .lh-content{padding-top:clamp(7rem,14vw,9.5rem)}
.lh-shop{max-width:1280px;margin:0 auto}

/* Filtros de tienda (categoría / marca) */
.shop-filters{display:flex;flex-direction:column;gap:.9rem;margin:0 0 2.5rem;padding-bottom:1.8rem;border-bottom:1px solid var(--line)}
.shop-filters .filter-group{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.shop-filters .flabel{font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gray);min-width:5.5rem}
.shop-filters .chip{font-family:var(--ui);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:.5rem .95rem;border:1px solid var(--line);color:var(--ink);transition:.3s var(--ease);white-space:nowrap}
.shop-filters .chip:hover{border-color:var(--ink)}
.shop-filters .chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(max-width:620px){.shop-filters .flabel{min-width:100%}}
.lh-shop h1,.lh-shop h2,.lh-shop h3,.woocommerce .lh-shop h2{font-family:var(--display);font-weight:400;letter-spacing:-.01em}

/* Botones WooCommerce -> estilo LH */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce .button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce #place_order{
  font-family:var(--ui);font-weight:400;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:0;
  padding:1rem 2rem;transition:.4s var(--ease);cursor:pointer;box-shadow:none;text-shadow:none;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce .button:hover,.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #place_order:hover{
  background:#fff;color:var(--ink);
}
.woocommerce .button.added::after{display:none}

/* Result count + ordering */
.woocommerce .woocommerce-result-count{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gray)}
.woocommerce .woocommerce-ordering select,.woocommerce select,.lh-page select{
  font-family:var(--ui);border:1px solid var(--line);border-radius:0;padding:.6rem 1rem;background:#fff;font-size:.85rem;
}

/* Grilla de productos (tienda + relacionados) */
.woocommerce ul.products{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);margin:2.5rem 0 !important;padding:0 !important;list-style:none;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{
  background:#fff;margin:0 !important;padding:1.8rem !important;width:auto !important;
  text-align:left;float:none !important;transition:background .4s var(--ease);
}
.woocommerce ul.products li.product:hover{background:var(--smoke)}
.woocommerce ul.products li.product a img{margin:0 0 1.2rem;border-radius:0;mix-blend-mode:multiply}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--display);font-size:1.25rem;font-weight:500;color:var(--ink);padding:0;line-height:1.2;
}
.woocommerce ul.products li.product .price{color:var(--ink) !important;font-family:var(--display);font-size:1.25rem;font-weight:500;display:block;margin:.4rem 0 0}
.woocommerce ul.products li.product .price del{color:var(--gray);font-weight:400}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button{margin-top:1.1rem !important;display:inline-block}
.woocommerce .star-rating{display:none}
.woocommerce span.onsale{
  background:var(--ink);color:#fff;border-radius:0;padding:.35rem .7rem;font-size:.58rem;letter-spacing:.14em;
  text-transform:uppercase;min-height:0;min-width:0;line-height:1.3;top:0;left:0;margin:0;
}

/* Single product */
.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.woocommerce div.product .woocommerce-product-gallery{width:100% !important;float:none !important;margin:0;opacity:1 !important}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:0}
.woocommerce div.product .summary.entry-summary{width:auto !important;float:none !important;margin:0}
.woocommerce div.product .product_title{font-family:var(--display);font-weight:400;font-size:clamp(2rem,4vw,3rem);line-height:1.05}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-family:var(--display);font-size:1.9rem;font-weight:500}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--gray)}
.woocommerce div.product form.cart{margin:1.6rem 0;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.woocommerce .quantity input.qty{border:1px solid var(--line);border-radius:0;padding:.85rem .6rem;width:4.5rem;font-family:var(--ui);text-align:center}
.woocommerce div.product .product_meta{font-size:.78rem;color:var(--gray);margin-top:1.6rem;border-top:1px solid var(--line);padding-top:1.2rem}
.woocommerce div.product .product_meta a{color:var(--ink)}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:1.5rem}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0 1.6rem 0 0;padding:0 0 .8rem}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--ui);text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;color:var(--gray);padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:1px solid var(--ink)}
.woocommerce div.product .related.products,.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product .related.products>h2,.woocommerce div.product .upsells>h2{font-family:var(--display);font-weight:400;font-size:2rem}

/* Tablas (carrito, totales, pedido) */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:0;border-collapse:collapse}
.woocommerce table.shop_table th{font-family:var(--ui);text-transform:uppercase;letter-spacing:.13em;font-size:.66rem;font-weight:400;color:var(--gray)}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-top:1px solid var(--line);padding:1.1rem}
.woocommerce-cart table.cart img{width:72px}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-cart .cart-collaterals{float:none;width:100%}
.woocommerce .cart_totals h2,.woocommerce .cart-collaterals h2{font-family:var(--display);font-weight:400;font-size:1.6rem}
.woocommerce a.remove{color:var(--ink) !important;border-radius:0}
.woocommerce a.remove:hover{background:var(--ink);color:#fff !important}

/* Formularios (checkout, cuenta) */
.woocommerce form .form-row{margin:0 0 1rem}
.woocommerce form .form-row label,.woocommerce-checkout label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce-checkout input[type=text],.woocommerce-checkout input[type=email],.woocommerce-checkout input[type=tel],
.woocommerce-checkout input[type=password],.lh-page input[type=text],.lh-page input[type=email]{
  border:1px solid var(--line);border-radius:0;padding:.9rem 1rem;font-family:var(--ui);width:100%;background:#fff;
}
.woocommerce-checkout #order_review_heading,.woocommerce-checkout h3,.woocommerce-checkout #payment{margin-top:1rem}
.woocommerce-checkout h3{font-family:var(--display);font-weight:400;font-size:1.5rem}
#add_payment_method #payment,.woocommerce-cart #payment,.woocommerce-checkout #payment{background:var(--smoke);border-radius:0;border:1px solid var(--line)}
.select2-container--default .select2-selection--single{border:1px solid var(--line);border-radius:0;height:auto;padding:.5rem}

/* Avisos */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.woocommerce-store-notice{
  border-top:2px solid var(--ink) !important;background:var(--smoke);border-radius:0;color:var(--ink);font-size:.92rem;
}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{color:var(--ink)}

/* Pedido confirmado / order received */
.woocommerce ul.order_overview,.woocommerce-order .woocommerce-order-overview{
  border:1px solid var(--line);border-radius:0;padding:1.5rem;list-style:none;display:flex;flex-wrap:wrap;gap:1.5rem;
}
.woocommerce-order-overview li{border:0 !important;text-transform:none;font-size:.95rem;color:var(--ink)}
.woocommerce-order-overview li strong{font-family:var(--display);font-size:1.2rem;display:block;margin-top:.2rem}
.woocommerce-thankyou-order-received{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.2rem);color:var(--ink);margin-bottom:1.5rem}

/* Migas */
.woocommerce .woocommerce-breadcrumb{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-bottom:1.5rem}
.woocommerce .woocommerce-breadcrumb a{color:var(--ink)}

@media(max-width:880px){
  .woocommerce div.product{grid-template-columns:1fr}
}

/* ---------- página de servicios ---------- */
.svc-detail{display:grid;grid-template-columns:250px 1fr 1.5fr;gap:clamp(1.6rem,3.5vw,3rem);padding:clamp(2.5rem,5vw,4rem) 0;border-top:1px solid var(--line);align-items:center;scroll-margin-top:6rem}
.svc-photo{margin:0;overflow:hidden}
.svc-photo .ph{display:block;aspect-ratio:6/5;background-size:cover;background-position:center}
@media(max-width:900px){.svc-detail{grid-template-columns:1fr;gap:1.2rem;align-items:start}.svc-photo .ph{aspect-ratio:16/9}}
.svc-list .svc-detail:last-child{border-bottom:1px solid var(--line)}
.svc-detail .svc-meta .idx{font-family:var(--display);font-style:italic;color:var(--gray);font-size:1.1rem}
.svc-detail .svc-meta h2{font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,3vw,2.4rem);margin:.4rem 0 .8rem;line-height:1.05}
.svc-detail .svc-meta .price{font-family:var(--display);font-size:1.8rem;color:var(--ink)}
.svc-detail .svc-meta .price-text{font-family:var(--display);font-style:italic;font-size:1.2rem;color:var(--gray)}
.svc-detail .svc-meta .plabel{font-family:var(--ui);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);display:block;margin-top:.35rem}
.svc-detail .svc-body{color:var(--gray);font-size:1.05rem}
.svc-detail .svc-body p+p{margin-top:1rem}
.svc-detail .svc-note{margin-top:1.2rem;font-size:.9rem;color:var(--ink);border-left:2px solid var(--ink);padding-left:1rem}
.svc-detail .reservar{margin-top:1.5rem}

/* ============================================================
   IMÁGENES DE STOCK TEMPORALES  (assets/img/stock/)
   ⚠️ Reemplazar por las fotos reales del cliente cuando lleguen.
   Para volver a placeholders, borrar este bloque.
   ============================================================ */
.hero-visual .ph,
.about-split .ph,
.team-grid .barber .photo .ph,
.gal-grid figure .ph,
.cta .ph{
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.hero-visual .ph::after,
.about-split .ph::after,
.team-grid .ph::after,
.gal-grid .ph::after{content:none}

.hero-visual .ph{background-image:url("assets/img/stock/hero.jpg")}
.about-split .ph{background-image:url("assets/img/stock/about.jpg")}
.cta .ph{background-image:url("assets/img/stock/gal3.jpg")}

.team-grid .barber:nth-child(1) .ph{background-image:url("assets/img/stock/team1.jpg")}
.team-grid .barber:nth-child(2) .ph{background-image:url("assets/img/stock/team2.jpg")}
.team-grid .barber:nth-child(3) .ph{background-image:url("assets/img/stock/team3.jpg")}
.team-grid .barber:nth-child(4) .ph{background-image:url("assets/img/stock/team4.jpg")}
.team-grid .barber:nth-child(5) .ph{background-image:url("assets/img/stock/team5.jpg")}
.team-grid .barber:nth-child(6) .ph{background-image:url("assets/img/stock/team6.jpg")}
.team-grid .barber:nth-child(7) .ph{background-image:url("assets/img/stock/team7.jpg")}

.gal-grid figure:nth-child(1) .ph{background-image:url("assets/img/stock/gal1.jpg")}
.gal-grid figure:nth-child(2) .ph{background-image:url("assets/img/stock/gal2.jpg")}
.gal-grid figure:nth-child(3) .ph{background-image:url("assets/img/stock/gal3.jpg")}
.gal-grid figure:nth-child(4) .ph{background-image:url("assets/img/stock/gal4.jpg")}
.gal-grid figure:nth-child(5) .ph{background-image:url("assets/img/stock/gal5.jpg")}
.gal-grid figure:nth-child(6) .ph{background-image:url("assets/img/stock/gal6.jpg")}
.gal-grid figure:nth-child(7) .ph{background-image:url("assets/img/stock/gal7.jpg")}

/* ---------- botón flotante WhatsApp ---------- */
.wa-float{
  position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:1500;
  width:3.4rem;height:3.4rem;border-radius:50%;background:var(--ink);color:#fff;
  display:grid;place-items:center;box-shadow:0 8px 28px rgba(0,0,0,.28);
  transition:transform .35s var(--ease),background .35s var(--ease);
}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--ink);animation:waPulse 2.6s var(--ease) infinite}
.wa-float:hover{transform:translateY(-3px) scale(1.06)}
.wa-float svg{width:1.75rem;height:1.75rem;fill:#fff;position:relative;z-index:2}
@keyframes waPulse{0%{transform:scale(1);opacity:.5}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}

/* ---------- keyframes ---------- */
@keyframes reveal{to{transform:translateY(0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes scrollbar{0%{transform:translateY(-100%)}50%{transform:translateY(0)}100%{transform:translateY(100%)}}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .hero{grid-template-columns:1fr}
  .hero-visual{position:absolute;inset:0;opacity:.45}
  .hero-copy{z-index:5}
  .hero-mono{display:none}
  .manifesto,.shop{grid-template-columns:1fr}
  .shop .products{border-left:none;border-top:1px solid var(--line)}
  .team-grid{grid-template-columns:repeat(4,1fr)}
  .gal-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .lh-nav ul,.nav-cart{display:none}
  .menu-toggle{display:flex}
  .svc-grid{grid-template-columns:1fr}
  .svc:nth-child(odd){border-right:none;padding-right:.4rem}
  .svc:nth-child(even){padding-left:.4rem}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:1fr}
  .stat{border-right:none;border-bottom:1px solid var(--line-light)}
  .foot-top{grid-template-columns:1fr 1fr}
  .shop .products{grid-template-columns:1fr 1fr}
}
