/*
Theme Name: Legacy Style Barbershop
Theme URI: https://legacystylebarbershop.com
Author: GY Security Data
Description: Custom conversion-focused WordPress theme for Legacy Style Barbershop with Square, Google Business, social, WhatsApp and RingCentral-ready integrations.
Version: 1.6.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: legacy-style
*/

:root {
  --legacy-bg: #0b0b0b;
  --legacy-surface: #151515;
  --legacy-surface-2: #1d1d1d;
  --legacy-text: #f7f2e8;
  --legacy-muted: #b5afa5;
  --legacy-gold: #c9a35d;
  --legacy-gold-2: #e3c889;
  --legacy-border: rgba(255,255,255,.10);
  --legacy-shadow: 0 24px 80px rgba(0,0,0,.34);
  --legacy-radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--legacy-bg);
  color: var(--legacy-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }

.legacy-container { width: min(1280px, calc(100% - 48px)); margin: 0 auto; }
.legacy-section { padding: 100px 0; position: relative; }
.legacy-kicker {
  display: inline-flex; align-items: center; gap: 10px;
  color: var(--legacy-gold-2); text-transform: uppercase; letter-spacing: .18em;
  font-weight: 800; font-size: .78rem;
}
.legacy-kicker::before { content: ""; width: 28px; height: 1px; background: var(--legacy-gold); }
.legacy-section h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.4rem, 5vw, 4.4rem); line-height: 1.02; margin: 18px 0 18px;
  letter-spacing: -.035em;
}
.legacy-section-lead { color: var(--legacy-muted); font-size: 1.08rem; max-width: 700px; }

/* Header */
.legacy-header {
  position: absolute; inset: 0 0 auto; z-index: 50;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(to bottom, rgba(8,8,8,.84), rgba(8,8,8,.38), transparent);
}
.legacy-header-inner {
  min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 26px;
}
.legacy-brand { display: flex; align-items: center; gap: 14px; min-width: 230px; }
.legacy-brand-mark {
  width: 42px; height: 42px; border: 1px solid rgba(201,163,93,.55); border-radius: 50%;
  display: grid; place-items: center; font-family: "Playfair Display", serif; font-weight: 800; color: var(--legacy-gold-2);
  box-shadow: inset 0 0 30px rgba(201,163,93,.08);
}
.legacy-brand-copy strong { display: block; letter-spacing: .08em; font-size: .98rem; }
.legacy-brand-copy span { display: block; color: var(--legacy-muted); font-size: .68rem; letter-spacing: .23em; margin-top: 2px; }
.legacy-custom-logo .custom-logo-link { display:block; line-height:0; }
.legacy-custom-logo img { max-height:58px; width:auto; }
.legacy-nav { display: flex; align-items: center; gap: 26px; }
.legacy-nav a { color: #eee9df; font-size: .88rem; transition: color .2s ease; }
.legacy-nav a:hover { color: var(--legacy-gold-2); }
.legacy-header-actions { display: flex; gap: 12px; align-items: center; }
.legacy-menu-toggle { display: none; background: transparent; border: 1px solid var(--legacy-border); color: #fff; border-radius: 12px; width: 46px; height: 46px; }

/* Buttons */
.legacy-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid transparent;
  font-weight: 800; font-size: .84rem; letter-spacing: .035em; transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.legacy-btn:hover { transform: translateY(-2px); }
.legacy-btn-primary { background: var(--legacy-gold); color: #12100c; box-shadow: 0 10px 30px rgba(201,163,93,.18); }
.legacy-btn-primary:hover { background: var(--legacy-gold-2); }
.legacy-btn-ghost { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.04); color: #fff; backdrop-filter: blur(12px); }
.legacy-btn-ghost:hover { border-color: rgba(255,255,255,.58); background: rgba(255,255,255,.08); }

/* Hero */
.legacy-hero {
  min-height: 690px; position: relative; isolation: isolate; overflow: hidden;
  padding: 132px 0 64px;
  background:
    radial-gradient(circle at 78% 30%, rgba(201,163,93,.13), transparent 30%),
    linear-gradient(135deg, #0b0b0b 0%, #11100e 58%, #17130e 100%);
}
.legacy-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -3;
  background-image: var(--legacy-hero-image, none);
  background-size: 116% auto; background-position: right center;
  transform: scale(1.015);
}
.legacy-hero::after {
  content: ""; position: absolute; inset: 0; z-index: -2;
  background:
    radial-gradient(circle at 82% 38%, rgba(201,163,93,.12), transparent 31%),
    linear-gradient(90deg, rgba(6,6,6,.98) 0%, rgba(6,6,6,.89) 41%, rgba(6,6,6,.40) 67%, rgba(6,6,6,.20) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.31));
}
.legacy-hero-grid { display: grid; grid-template-columns: minmax(0, 1.68fr) minmax(270px, .52fr); gap: 52px; align-items: center; }
.legacy-hero h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(3.15rem, 4.05vw, 4.25rem); line-height: .94; letter-spacing: -.052em; margin: 22px 0 24px;
  max-width: 720px;
}
.legacy-hero h1 em { color: var(--legacy-gold-2); font-style: italic; font-weight: 600; }
.legacy-heading-line { display:block; white-space:nowrap; }
.legacy-hero-copy > p { color: #d7d1c8; font-size: clamp(.96rem, 1.05vw, 1.06rem); max-width: 620px; }
.legacy-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 24px; }
.legacy-trust-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 22px; color: var(--legacy-muted); font-size: .80rem; }
.legacy-stars { color: var(--legacy-gold-2); letter-spacing: .10em; font-size:.84em; }

.legacy-popular-card {
  align-self: center; justify-self:end; width:100%; max-width:340px; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; padding: 22px 24px;
  background: linear-gradient(180deg, rgba(28,28,28,.52), rgba(16,16,16,.40));
  backdrop-filter: blur(9px) saturate(108%); box-shadow: 0 18px 52px rgba(0,0,0,.24);
}
.legacy-popular-card h3 { margin: 4px 0 14px; font-family: "Playfair Display", serif; font-size: 1.30rem; line-height:1.18; }
.legacy-service-mini { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-top: 1px solid var(--legacy-border); }
.legacy-service-mini:first-of-type { border-top: 0; }
.legacy-service-mini span { color: #e5dfd5; }
.legacy-service-mini strong { color: var(--legacy-gold-2); }
.legacy-mini-link { display: inline-flex; margin-top: 11px; color: var(--legacy-gold-2); font-weight: 800; }


.legacy-hero-copy { position:relative; z-index:1; }
.legacy-hero-copy::before {
  content:""; position:absolute; width:145px; height:145px; left:-62px; top:-66px; z-index:-1;
  border:1px solid rgba(201,163,93,.09); border-radius:50%;
}
.legacy-popular-card { position:relative; z-index:1; }

/* Services */
.legacy-services {
  padding-top: 54px;
  padding-bottom: 92px;
  background: linear-gradient(180deg, #10100f 0%, #0f0f0f 100%);
  border-top: 1px solid rgba(201,163,93,.08);
}
.legacy-services h2 {
  font-size: clamp(2.15rem, 4.25vw, 3.9rem);
  max-width: 1100px;
}
.legacy-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 44px; }
.legacy-service-card {
  position: relative; min-height: 260px; padding: 30px; border: 1px solid var(--legacy-border); border-radius: var(--legacy-radius);
  background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)); overflow: hidden;
  transition: transform .24s ease, border-color .24s ease, background .24s ease;
}
.legacy-service-card:hover { transform: translateY(-5px); border-color: rgba(201,163,93,.42); background: linear-gradient(145deg, rgba(201,163,93,.09), rgba(255,255,255,.018)); }
.legacy-service-card::after { content:""; position:absolute; width:110px; height:110px; right:-35px; bottom:-35px; border:1px solid rgba(201,163,93,.12); border-radius:50%; }
.legacy-service-number { color: var(--legacy-gold); font-size: .75rem; letter-spacing: .16em; font-weight: 800; }
.legacy-service-card h3 { font-family: "Playfair Display", serif; font-size: 1.85rem; margin: 28px 0 8px; }
.legacy-service-meta { color: var(--legacy-muted); }
.legacy-service-bottom { position: absolute; left: 30px; right: 30px; bottom: 26px; display: flex; justify-content: space-between; align-items: center; }
.legacy-service-price { font-size: 1.4rem; font-weight: 900; color: var(--legacy-gold-2); }
.legacy-service-book { color: #fff; font-weight: 800; font-size: .86rem; }

/* Barbers */
.legacy-barbers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 44px; }
.legacy-barber-card { border: 1px solid var(--legacy-border); border-radius: var(--legacy-radius); overflow: hidden; background: var(--legacy-surface); }
.legacy-barber-media { aspect-ratio: 4/5; background: linear-gradient(145deg,#26221d,#111); position: relative; overflow: hidden; }
.legacy-barber-media img { width:100%; height:100%; object-fit:cover; filter: saturate(.84) contrast(1.03); }
.legacy-barber-placeholder { position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.28); font-family:"Playfair Display",serif; font-size:5rem; }
.legacy-barber-info { padding: 24px; }
.legacy-barber-info h3 { margin: 0; font-size: 1.6rem; font-family: "Playfair Display", serif; }
.legacy-barber-info p { margin: 5px 0 18px; color: var(--legacy-muted); }
.legacy-text-link { color: var(--legacy-gold-2); font-weight: 800; }

/* Reviews */
.legacy-reviews { background: linear-gradient(180deg, #15120f, #0b0b0b); }
.legacy-review-shell { display: grid; grid-template-columns: .8fr 1.2fr; gap: 28px; margin-top: 42px; }
.legacy-rating-card, .legacy-quote-card { border: 1px solid var(--legacy-border); border-radius: var(--legacy-radius); background: rgba(255,255,255,.035); padding: 34px; }
.legacy-rating-big { font-family:"Playfair Display",serif; font-size: 5rem; line-height:1; color:var(--legacy-gold-2); }
.legacy-quote-card blockquote { margin: 0; font-family:"Playfair Display",serif; font-size: clamp(1.7rem,3vw,2.8rem); line-height:1.25; }
.legacy-quote-card p { color: var(--legacy-muted); margin-bottom: 0; }

/* Instagram/Gallery */
.legacy-gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 42px; }
.legacy-gallery-tile { aspect-ratio: 1/1; background: linear-gradient(135deg,#241f1a,#0f0f0f); border-radius: 18px; overflow:hidden; border:1px solid var(--legacy-border); }
.legacy-gallery-tile img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.legacy-gallery-tile:hover img { transform:scale(1.035); }

/* Location */
.legacy-location-grid { display:grid; grid-template-columns: 1.05fr .95fr; gap:22px; margin-top:42px; }
.legacy-map { min-height: 470px; border-radius: var(--legacy-radius); overflow:hidden; border:1px solid var(--legacy-border); background:#151515; }
.legacy-map iframe { width:100%; height:100%; min-height:470px; border:0; display:block; }
.legacy-location-card { border:1px solid var(--legacy-border); border-radius:var(--legacy-radius); padding:34px; background:var(--legacy-surface); }
.legacy-location-card h3 { font-family:"Playfair Display",serif; font-size:2rem; margin-top:0; }
.legacy-location-card p { color:var(--legacy-muted); }
.legacy-location-list { list-style:none; padding:0; margin:24px 0; }
.legacy-location-list li { padding:13px 0; border-top:1px solid var(--legacy-border); }

/* CTA/Footer */
.legacy-final-cta { padding: 86px 0; background: var(--legacy-gold); color:#15110b; }
.legacy-final-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.legacy-final-cta h2 { margin:0; color:#15110b; }
.legacy-final-cta p { margin:10px 0 0; color:rgba(21,17,11,.72); }
.legacy-final-cta .legacy-btn { background:#111; color:#fff; }
.legacy-footer { padding: 48px 0 100px; border-top:1px solid var(--legacy-border); }
.legacy-footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:40px; }
.legacy-footer p, .legacy-footer a { color:var(--legacy-muted); }
.legacy-footer-credit {
  margin-top: 34px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.06);
  text-align: center; color: rgba(181,175,165,.62); font-size: .72rem; letter-spacing: .035em;
}
.legacy-footer-credit a { color: rgba(227,200,137,.72); transition: color .2s ease; }
.legacy-footer-credit a:hover { color: var(--legacy-gold-2); }
.legacy-socials { display:flex; flex-wrap:wrap; gap:12px; }
.legacy-socials a { border:1px solid var(--legacy-border); padding:10px 14px; border-radius:999px; }

/* Floating + Mobile CTA */
.legacy-whatsapp-float { position:fixed; right:22px; bottom:22px; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; z-index:90; background:#25d366; color:#071b0f; font-weight:900; box-shadow:0 14px 34px rgba(0,0,0,.3); }
.legacy-mobile-bar { display:none; }

/* Utility */
.legacy-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }


@media (max-width: 1180px) and (min-width: 981px) {
  .legacy-container { width: min(1120px, calc(100% - 40px)); }
  .legacy-header-inner { gap:20px; }
  .legacy-nav { gap:20px; }
  .legacy-hero-grid { grid-template-columns:minmax(0,1.62fr) minmax(265px,.54fr); gap:34px; }
  .legacy-hero h1 { font-size:clamp(3rem,4.45vw,3.85rem); }
  .legacy-popular-card { max-width:315px; padding:20px 21px; }
}

@media (max-width: 980px) {
  .legacy-nav { display:none; position:absolute; top:92px; left:20px; right:20px; background:#111; border:1px solid var(--legacy-border); border-radius:18px; padding:18px; flex-direction:column; align-items:stretch; gap:4px; box-shadow:var(--legacy-shadow); }
  .legacy-nav.is-open { display:flex; }
  .legacy-nav a { padding:12px; }
  .legacy-header-actions .legacy-btn { display:none; }
  .legacy-menu-toggle { display:inline-grid; place-items:center; }
  .legacy-hero { min-height:auto; padding: 132px 0 86px; }
  .legacy-hero-grid { grid-template-columns:1fr; gap:34px; }
  .legacy-popular-card { max-width:520px; justify-self:start; }
  .legacy-services-grid, .legacy-barbers-grid { grid-template-columns:repeat(2,1fr); }
  .legacy-review-shell, .legacy-location-grid { grid-template-columns:1fr; }
  .legacy-footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 680px) {
  .legacy-container { width:min(100% - 28px, 1180px); }
  .legacy-section { padding:76px 0; }
  .legacy-header-inner { min-height:78px; }
  .legacy-brand-copy span { display:none; }
  .legacy-brand { min-width:0; }
  .legacy-hero { padding-top:112px; }
  .legacy-hero h1 { font-size: clamp(2.75rem, 12vw, 4rem); }
  .legacy-heading-line { white-space:normal; }
  .legacy-hero-actions { flex-direction:column; align-items:stretch; }
  .legacy-hero-actions .legacy-btn { width:100%; }
  .legacy-services-grid, .legacy-barbers-grid, .legacy-gallery-grid { grid-template-columns:1fr; }
  .legacy-service-card { min-height:240px; }
  .legacy-final-cta-inner { flex-direction:column; align-items:flex-start; }
  .legacy-footer-grid { grid-template-columns:1fr; }
  .legacy-whatsapp-float { display:none; }
  .legacy-mobile-bar { position:fixed; left:0; right:0; bottom:0; z-index:99; display:grid; grid-template-columns:1fr 1.25fr 1fr; background:#0c0c0c; border-top:1px solid var(--legacy-border); padding:8px; gap:7px; }
  .legacy-mobile-bar a { display:grid; place-items:center; min-height:50px; border-radius:12px; font-size:.78rem; font-weight:900; letter-spacing:.035em; background:#181818; color:#fff; }
  .legacy-mobile-bar a:nth-child(2) { background:var(--legacy-gold); color:#171109; }
}

/* v1.5 Services transition refinement */
@media (max-width: 980px) {
  .legacy-services { padding-top: 48px; padding-bottom: 76px; }
  .legacy-services h2 { font-size: clamp(2.1rem, 6.5vw, 3.35rem); }
}
@media (max-width: 640px) {
  .legacy-services { padding-top: 42px; padding-bottom: 64px; }
  .legacy-services h2 { max-width: 18ch; }
}
