/*
Theme Name: 221E78 Elegance
Theme URI: https://221e78.com/
Author: Steven D'Angelo (Site owner)
Author URI: https://221e78.com/
Description: A classic, black-and-white, NYC editorial WordPress theme designed to pair beautifully with Elementor. Timeless typography, refined spacing, and understated details.
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 221e78-elegance
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ========== Base / Reset-ish ========== */
:root{
  --bg:#ffffff;
  --fg:#0b0b0b;
  --muted:#444444;
  --hairline:#e8e8e8;
  --max: 1120px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  color:var(--fg);
  background:var(--bg);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.6;
  letter-spacing:0.01em;
}
img{ max-width:100%; height:auto; }
a{ color:var(--fg); text-decoration:none; border-bottom:1px solid rgba(0,0,0,.15); }
a:hover{ border-bottom-color: rgba(0,0,0,.45); }
hr{ border:0; border-top:1px solid var(--hairline); margin:40px 0; }

/* ========== Typography ========== */
h1,h2,h3,h4,h5,h6{
  margin:0 0 14px;
  font-family: ui-serif, Georgia, "Times New Roman", Times, serif;
  letter-spacing:0.01em;
  line-height:1.18;
}
h1{ font-size: clamp(34px, 4vw, 56px); }
h2{ font-size: clamp(22px, 2.6vw, 34px); }
p{ margin:0 0 18px; color: var(--fg); }
.small, small{ color:var(--muted); }

/* ========== Layout ========== */
.site-header{
  position:sticky; top:0; z-index:50;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--hairline);
}
.header-inner{
  max-width: var(--max);
  margin:0 auto;
  padding: 14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.brand{
  display:flex; flex-direction:column; gap:2px;
}
.brand a{
  border:0;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
}
.brand .tagline{ font-size:12px; color:var(--muted); letter-spacing:0.03em; }

.nav{
  display:flex; gap:18px; flex-wrap:wrap;
  font-size:14px;
}
.nav a{ border:0; color: var(--fg); opacity:.9; }
.nav a:hover{ opacity:1; }
.nav .current-menu-item > a{ text-decoration:underline; text-underline-offset: 6px; }

.site-main{
  max-width: var(--max);
  margin:0 auto;
  padding: 56px 18px 70px;
}
.site-footer{
  border-top:1px solid var(--hairline);
  padding: 26px 18px;
}
.footer-inner{
  max-width: var(--max);
  margin:0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  flex-wrap:wrap;
}
.footer-note{ font-size:12.5px; color:var(--muted); max-width: 720px; }
.footer-links a{ border:0; margin-right: 14px; font-size:13px; color:var(--muted); }
.footer-links a:hover{ color:var(--fg); }

.card{
  border:1px solid var(--hairline);
  border-radius: 18px;
  padding: 26px;
}
.hero{
  padding: 46px 0 22px;
}
.kicker{
  font-size: 12px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom: 12px;
}
.hero p{ font-size: 18px; color: var(--muted); max-width: 820px; }
.grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
}
.col-7{ grid-column: span 7; }
.col-5{ grid-column: span 5; }
@media (max-width: 900px){
  .col-7, .col-5{ grid-column: span 12; }
  .site-main{ padding-top: 38px; }
}

/* Gutenberg blocks in this theme */
.wp-block-image img{ border-radius: 18px; }
.wp-block-columns{ gap: 18px; }


/* ========== Classic refinements (v1.1) ========== */
:root{
  --fg:#0a0a0a;
  --muted:#3f3f3f;
  --hairline:#e3e3e3;
  --radius: 20px;
}

.site-header{
  background: rgba(255,255,255,.95);
}
.header-inner{
  padding-top: 16px;
  padding-bottom: 16px;
}
.brand a{
  font-weight:700;
  letter-spacing:0.12em;
}
.brand .tagline{
  font-family: ui-serif, Georgia, "Times New Roman", Times, serif;
  font-style: italic;
  letter-spacing:0.02em;
  color: var(--muted);
}

/* Centered nav on large screens for a more "classic" feel */
@media (min-width: 980px){
  .header-inner{
    display:grid;
    grid-template-columns: 1fr auto 1fr;
    align-items:center;
  }
  .brand{ justify-self:start; }
  .nav{ justify-self:center; }
}

/* Elegant buttons/links for Elementor buttons */
.elementor a.elementor-button,
a.button, .wp-block-button__link{
  border-radius: 999px !important;
  border: 1px solid var(--fg) !important;
  background: transparent !important;
  color: var(--fg) !important;
  padding: 12px 18px !important;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px !important;
}
.elementor a.elementor-button:hover,
a.button:hover, .wp-block-button__link:hover{
  background: var(--fg) !important;
  color: #fff !important;
}

/* Cards */
.card{ border-radius: var(--radius); }
.wp-block-image img{ border-radius: var(--radius); }

/* Subtle caption styling */
figcaption, .wp-caption-text{
  font-size: 12px;
  color: var(--muted);
  letter-spacing: .02em;
}
