/*
Theme Name: Jeffrey Anderson Photography - Astra Child
Theme URI: https://jeffreyandersonphotography.com
Description: Warm editorial photography child theme for Astra.
Author: Jeffrey Anderson Photography
Template: astra
Version: 1.0.0
Text Domain: jap-astra-child
*/

:root {
  --jap-espresso: #1D1815;
  --jap-charcoal: #2E2A27;
  --jap-ivory: #F4EFE7;
  --jap-taupe: #B8A99A;
  --jap-tobacco: #8A624A;
  --jap-clay: #D8C8B8;
  --jap-white: #FFFCF7;
  --jap-muted: #6F6259;
  --jap-border: rgba(46, 42, 39, .16);
  --jap-shadow: 0 22px 70px rgba(29, 24, 21, .12);
}

body {
  background: var(--jap-ivory);
  color: var(--jap-espresso);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.75;
}

h1, h2, h3, h4, .site-title, .main-header-menu .menu-link {
  color: var(--jap-espresso);
}

h1, h2, h3, .jap-serif {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.025em;
}

h1 { font-size: clamp(3.4rem, 8vw, 8.8rem); line-height: .9; }
h2 { font-size: clamp(2.4rem, 5vw, 5.4rem); line-height: .95; }
h3 { font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1.05; }

.ast-container, .site-content .ast-container { max-width: 1240px; }
.site-header { background: rgba(244, 239, 231, .90); backdrop-filter: blur(18px); border-bottom: 1px solid var(--jap-border); }
.site-title a { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.7rem; letter-spacing: .02em; }
.main-header-menu .menu-link { text-transform: uppercase; letter-spacing: .14em; font-size: .76rem; }

button, .button, input[type="submit"], .wp-block-button__link, .ast-button, .jap-button {
  background: var(--jap-charcoal) !important;
  border: 1px solid var(--jap-charcoal) !important;
  border-radius: 999px !important;
  color: var(--jap-white) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  padding: 15px 24px !important;
  text-transform: uppercase !important;
  transition: all .25s ease;
}
button:hover, .button:hover, input[type="submit"]:hover, .wp-block-button__link:hover, .ast-button:hover, .jap-button:hover {
  background: var(--jap-tobacco) !important;
  border-color: var(--jap-tobacco) !important;
  transform: translateY(-1px);
}

.jap-section { padding: clamp(70px, 10vw, 140px) 0; }
.jap-kicker { text-transform: uppercase; letter-spacing: .22em; font-size: .74rem; font-weight: 800; color: var(--jap-tobacco); margin-bottom: 18px; }
.jap-muted { color: var(--jap-muted); }
.jap-rule { border-top: 1px solid var(--jap-border); }

.jap-hero {
  min-height: 86vh;
  display: grid;
  align-items: end;
  padding: 120px 0 44px;
  position: relative;
}
.jap-hero-card {
  background: rgba(255, 252, 247, .80);
  border: 1px solid var(--jap-border);
  box-shadow: var(--jap-shadow);
  max-width: 820px;
  padding: clamp(28px, 5vw, 58px);
  backdrop-filter: blur(16px);
}
.jap-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(29,24,21,.08), rgba(244,239,231,.94)), var(--jap-clay);
}
.jap-hero-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .78; }

.jap-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.jap-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.jap-card { background: var(--jap-white); border: 1px solid var(--jap-border); padding: clamp(24px, 4vw, 44px); }
.jap-card-dark { background: var(--jap-charcoal); color: var(--jap-white); }
.jap-card-dark h2, .jap-card-dark h3, .jap-card-dark p { color: var(--jap-white); }

.jap-image-frame { background: var(--jap-clay); aspect-ratio: 4 / 5; overflow: hidden; }
.jap-image-frame.wide { aspect-ratio: 16 / 10; }
.jap-image-frame.square { aspect-ratio: 1; }
.jap-image-frame img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; }
.jap-image-frame:hover img { transform: scale(1.035); }

.jap-portfolio-grid { display: grid; grid-template-columns: 1.25fr .85fr 1fr; gap: 18px; align-items: stretch; }
.jap-portfolio-grid .jap-image-frame:nth-child(2) { margin-top: 48px; }
.jap-portfolio-grid .jap-image-frame:nth-child(3) { margin-top: 18px; }

.jap-quote { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2.1rem, 4vw, 4.3rem); line-height: 1.02; max-width: 980px; }
.jap-form-wrap { background: var(--jap-white); border: 1px solid var(--jap-border); padding: clamp(26px, 4vw, 54px); }
.jap-form-wrap input, .jap-form-wrap textarea, .jap-form-wrap select { width: 100%; border: 1px solid var(--jap-border); background: #fff; padding: 14px 16px; margin-bottom: 16px; }

footer.site-footer { background: var(--jap-charcoal); color: rgba(255,255,255,.78); }
footer.site-footer a, footer.site-footer h2, footer.site-footer h3 { color: var(--jap-white); }

@media (max-width: 900px) {
  .jap-grid-2, .jap-grid-3, .jap-portfolio-grid { grid-template-columns: 1fr; }
  .jap-portfolio-grid .jap-image-frame:nth-child(2), .jap-portfolio-grid .jap-image-frame:nth-child(3) { margin-top: 0; }
  .jap-hero { min-height: 78vh; padding-top: 90px; }
}

/* Force neutral editorial palette over Astra starter/default colors */
html body,
body.ast-theme-transparent-header,
.ast-separate-container,
.ast-page-builder-template,
.site,
.site-content,
.ast-container,
.entry-content,
.ast-plain-container,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.wp-site-blocks {
  background-color: var(--jap-ivory) !important;
  color: var(--jap-espresso) !important;
}

.site-header,
.ast-primary-header-bar,
.main-header-bar,
.ast-mobile-header-wrap .ast-primary-header-bar,
.ast-builder-menu-1,
.ast-above-header-bar,
.ast-below-header-bar {
  background-color: rgba(244, 239, 231, .94) !important;
  border-color: var(--jap-border) !important;
}

.site-title a,
.site-description,
.ast-builder-menu-1 .menu-item > .menu-link,
.main-header-menu .menu-link,
.ast-header-account-wrap a,
.ast-icon,
.ast-menu-toggle {
  color: var(--jap-espresso) !important;
}

.entry-title,
.page-title,
.wp-block-heading,
h1, h2, h3, h4, h5, h6 {
  color: var(--jap-espresso) !important;
}

a,
.ast-builder-menu-1 .menu-item:hover > .menu-link,
.main-header-menu .menu-item:hover > .menu-link,
.current-menu-item > .menu-link {
  color: var(--jap-tobacco) !important;
}

.wp-block-cover,
.wp-block-group,
.wp-block-columns,
.wp-block-media-text,
.ast-single-post .entry-content,
.ast-article-single {
  background-color: transparent;
}

.wp-block-button__link,
.wp-element-button,
.ast-button,
.button,
button,
input[type="submit"] {
  background-color: var(--jap-charcoal) !important;
  color: var(--jap-white) !important;
  border-color: var(--jap-charcoal) !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.ast-button:hover,
.button:hover,
button:hover,
input[type="submit"]:hover {
  background-color: var(--jap-tobacco) !important;
  border-color: var(--jap-tobacco) !important;
}

.site-footer,
.ast-footer-copyright,
.ast-builder-footer-grid-columns,
.site-below-footer-wrap,
.site-primary-footer-wrap,
.site-above-footer-wrap {
  background-color: var(--jap-charcoal) !important;
  color: rgba(255,252,247,.78) !important;
}

.site-footer a,
.site-footer .widget-title,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4 {
  color: var(--jap-white) !important;
}
