/* ============================================================
   ALUA DESIGNZ — Theme CSS v3
   Focus: Readable, elegant, properly contrasted.
   ============================================================ */

/* ── Tokens ──────────────────────────────────────────────── */
:root {
  --ivory:      #F7F3EC;
  --ivory-dk:   #EDE7DA;
  --paper:      #FAFAF7;
  --burg:       #5C1A27;
  --burg-dk:    #3D0F18;
  --gold:       #A8843C;
  --gold-lt:    #C9A96E;
  --slate:      #1A1714;
  --ink:        #1E1B18;   /* headings — near black */
  --body:       #3D3530;   /* body text — dark warm brown, high contrast */
  --mid:        #5C5048;   /* secondary text — still legible */
  --muted:      #7A6E66;   /* captions, meta — minimum use */
  --line:       rgba(92,26,39,0.12);
  --line-lt:    rgba(92,26,39,0.07);

  --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans:  'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ── Reset ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }

body {
  font-family: var(--sans);
  font-size: 1rem;        /* 16px — never go below this for body */
  font-weight: 400;
  line-height: 1.85;
  color: var(--body);     /* #3D3530 — strong contrast on ivory */
  background: var(--ivory);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img { display: block; max-width: 100%; height: auto; }
a   { color: var(--burg); text-decoration: none; transition: color .2s; }
a:hover { color: var(--burg-dk); }
ul  { list-style: none; margin: 0; padding: 0; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--serif);
  font-weight: 300;
  line-height: 1.1;
  color: var(--ink);
}

p { color: var(--body); line-height: 1.85; margin-bottom: 1em; }
p:last-child { margin-bottom: 0; }

/* ── Accessibility ───────────────────────────────────────── */
.skip-link {
  position: absolute; top: -100px; left: 1rem;
  background: var(--burg); color: #fff;
  padding: 10px 18px; z-index: 9999; font-size: .875rem;
}
.skip-link:focus { top: 1rem; }

/* ── WP overrides ────────────────────────────────────────── */
.wp-site-blocks { padding: 0 !important; }
.wp-block-group:not(.alignfull):not(.alignwide) { max-width: 100%; }
figure.wp-block-image { margin: 0; }
.wp-block-image img { width: 100%; height: auto; display: block; }

/* ════════════════════════════════════════════════════════════
   HEADER
════════════════════════════════════════════════════════════ */
.alua-site-header {
  position: fixed;
  top: 0; left: 0; right: 0; z-index: 500;
  background: rgba(247,243,236,.96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--line);
  transition: box-shadow .3s;
}
.alua-site-header.scrolled {
  box-shadow: 0 2px 20px rgba(30,27,24,.08);
}
.alua-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
}

/* Logo */
.alua-header-logo {
  display: flex; align-items: center; gap: 14px;
  text-decoration: none; flex-shrink: 0;
}
.alua-monogram {
  width: 44px !important; height: 44px !important; min-width: 44px;
  border: 1px solid var(--burg) !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0; padding: 0 !important; background: transparent;
}
.alua-monogram span {
  font-family: var(--serif);
  font-size: 1.1rem; font-weight: 600;
  color: var(--burg); letter-spacing: -.03em; line-height: 1;
}
.alua-header-brand strong {
  display: block;
  font-size: .75rem;       /* was .68rem — too small */
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink); line-height: 1.3;
}
.alua-header-brand small {
  display: block;
  font-size: .68rem;       /* was .56rem — unreadable */
  letter-spacing: .08em;
  color: var(--mid); font-weight: 400;
}

/* Primary nav */
.alua-header-nav { display: flex; align-items: center; }
.alua-nav-menu {
  display: flex; align-items: center;
  list-style: none; margin: 0; padding: 0;
}
.alua-nav-menu li { margin: 0; padding: 0; }
.alua-nav-menu > li > a {
  font-size: .72rem;       /* was .65rem — too small */
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mid);
  padding: 10px 18px;
  display: block;
  transition: color .2s;
}
.alua-nav-menu > li > a:hover,
.alua-nav-menu > .current-menu-item > a,
.alua-nav-menu > .current_page_item > a { color: var(--burg); }

/* CTA button in nav */
.alua-nav-menu .alua-nav-cta > a,
.alua-nav-menu li.alua-nav-cta > a {
  background: var(--burg); color: #fff !important;
  padding: 11px 22px; margin-left: 10px;
  transition: background .2s;
}
.alua-nav-menu .alua-nav-cta > a:hover,
.alua-nav-menu li.alua-nav-cta > a:hover { background: var(--burg-dk) !important; }

/* Hamburger */
.alua-ham {
  display: none; flex-direction: column;
  justify-content: center; gap: 6px;
  background: none; border: none; cursor: pointer;
  padding: 6px; width: 36px; height: 36px;
}
.alua-ham span { display: block; width: 22px; height: 1.5px; background: var(--ink); transition: .3s; }

/* Mobile nav overlay */
.alua-mnav {
  display: none; position: fixed; inset: 0; z-index: 600;
  background: var(--paper);
  flex-direction: column; justify-content: center;
  padding: 10% 12%;
}
.alua-mnav.open { display: flex; }
.alua-mnav-close {
  position: absolute; top: 28px; right: 28px;
  background: none; border: 1px solid var(--line);
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; cursor: pointer; color: var(--ink); transition: background .2s;
}
.alua-mnav-close:hover { background: var(--ivory-dk); }
.alua-mnav-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.alua-mnav-menu li { border-bottom: 1px solid var(--line-lt); }
.alua-mnav-menu > li > a {
  font-family: var(--serif);
  font-size: clamp(2rem, 5.5vw, 3.4rem);
  font-weight: 300; color: var(--ink);
  padding: 18px 0; display: block;
  transition: color .2s, padding-left .25s;
}
.alua-mnav-menu > li > a:hover { color: var(--burg); padding-left: 12px; }

/* ════════════════════════════════════════════════════════════
   PAGE MAIN
════════════════════════════════════════════════════════════ */
.alua-page-main { padding-top: 76px; min-height: 60vh; }
.alua-page-main--full { padding-top: 76px; }

/* ════════════════════════════════════════════════════════════
   HERO
════════════════════════════════════════════════════════════ */
.alua-hero {
  display: grid;
  grid-template-columns: 52% 48%;
  min-height: calc(100vh - 76px);
  background: var(--ivory);
}
.alua-hero__left {
  display: flex; flex-direction: column; justify-content: center;
  padding: clamp(60px,8vw,120px) clamp(40px,5%,80px) clamp(60px,8vw,120px) clamp(40px,7%,100px);
  position: relative;
}
.alua-hero__left::after {
  content: ''; position: absolute;
  right: 0; top: 15%; bottom: 15%;
  width: 1px; background: var(--line);
}

/* Hero eyebrow — keep as label but legible */
.hero-eyebrow {
  font-size: .75rem !important;     /* was .6rem */
  font-weight: 500 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin: 0 0 32px !important;
  line-height: 1.4 !important;
}

.alua-hero__left h1 {
  font-family: var(--serif);
  font-size: clamp(3rem, 5.5vw, 5.5rem);
  font-weight: 300; line-height: 1.02;
  color: var(--ink); margin: 0 0 32px;
}
.alua-hero__left h1 em { font-style: italic; color: var(--burg); }

/* Gold rule */
.hero-rule {
  display: block !important;
  width: 48px !important; height: 1px !important;
  background: var(--gold) !important;
  border: none !important; margin: 0 0 32px !important;
}

/* Hero sub-paragraph — must be full-size */
.alua-hero__left > .wp-block-paragraph,
.alua-hero__left p {
  font-size: 1.05rem !important;    /* was 1rem, force override */
  color: var(--mid) !important;
  line-height: 1.85 !important;
  max-width: 420px;
  margin: 0 0 44px !important;
}

.alua-hero__right {
  position: relative; overflow: hidden; background: var(--ivory-dk);
}
.alua-hero__right img,
.alua-hero__right .wp-block-image img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center 20% !important;
  display: block !important;
}
.alua-hero__right figure { height: 100%; }

/* Stat card */
.alua-hero-card {
  position: absolute !important; bottom: 48px !important; left: 0 !important;
  background: var(--paper) !important;
  border-top: 2px solid var(--gold) !important;
  padding: 24px 32px !important; z-index: 2;
  box-shadow: 0 4px 24px rgba(30,27,24,.12);
}
.alua-hero-card p { margin: 0 !important; line-height: 1 !important; }

/* ════════════════════════════════════════════════════════════
   BUTTONS
════════════════════════════════════════════════════════════ */
.wp-block-button__link,
.wp-element-button {
  font-family: var(--sans) !important;
  font-size: .78rem !important;     /* was .65rem — too small to read */
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  cursor: pointer; display: inline-block; text-decoration: none;
  transition: background .22s, color .22s !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--burg) !important;
  color: #fff !important;
  padding: 15px 36px !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: var(--burg-dk) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 1.5px solid var(--burg) !important;
  color: var(--burg) !important;
  padding: 14px 36px !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--burg) !important; color: #fff !important;
}

/* ════════════════════════════════════════════════════════════
   FORMS
════════════════════════════════════════════════════════════ */
input[type="text"], input[type="email"], input[type="tel"],
input[type="url"], input[type="search"], input[type="password"],
input[type="number"], textarea, select {
  font-family: var(--sans);
  font-size: 1rem;          /* 16px — never smaller or iOS zooms */
  font-weight: 400;
  color: var(--ink);
  background: var(--ivory);
  border: 1px solid rgba(92,26,39,.2);
  padding: 13px 16px;
  width: 100%;
  outline: none; border-radius: 0;
  -webkit-appearance: none;
  transition: border-color .2s, box-shadow .2s;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--burg);
  box-shadow: 0 0 0 3px rgba(92,26,39,.07);
}
label {
  display: block;
  font-size: .78rem;        /* was .58rem — invisible */
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--mid);
  margin-bottom: 8px;
}
textarea { resize: vertical; min-height: 130px; }

/* ════════════════════════════════════════════════════════════
   BLOG LOOP
════════════════════════════════════════════════════════════ */
.alua-loop-wrap {
  max-width: 1200px; margin: 0 auto; padding: 80px 40px;
  display: grid; grid-template-columns: repeat(3,1fr); gap: 2px;
}
.alua-article {
  background: var(--paper);
  border: 1px solid var(--line-lt);
  display: flex; flex-direction: column;
}
.alua-article__thumb { overflow: hidden; }
.alua-article__thumb img {
  width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block;
  transition: transform .6s cubic-bezier(.25,.46,.45,.94);
}
.alua-article:hover .alua-article__thumb img { transform: scale(1.04); }
.alua-article__body { padding: 28px 28px 32px; flex: 1; display: flex; flex-direction: column; }
.alua-article__meta {
  font-size: .72rem;        /* was .58rem */
  font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 10px;
}
.alua-article__title {
  font-family: var(--serif); font-size: 1.4rem; font-weight: 400;
  color: var(--ink); line-height: 1.2; margin-bottom: 12px; flex: 1;
}
.alua-article__title a { color: inherit; transition: color .2s; }
.alua-article__title a:hover { color: var(--burg); }
.alua-article__excerpt {
  font-size: .95rem;        /* was .85rem */
  color: var(--body); line-height: 1.8; margin-bottom: 20px;
}
.alua-article__more {
  font-size: .72rem;        /* was .6rem */
  font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
  color: var(--burg); border-bottom: 1px solid var(--burg);
  padding-bottom: 2px; display: inline-block; transition: opacity .2s;
}
.alua-article__more:hover { opacity: .65; }
.alua-no-results {
  text-align: center; padding: 100px 5%;
  color: var(--mid); font-size: 1.1rem;
}

/* Single post */
.alua-single-wrap {
  max-width: 760px; margin: 0 auto; padding: 80px 40px;
}
.alua-article-single__header { margin-bottom: 32px; }
.alua-article-single__title {
  font-family: var(--serif);
  font-size: clamp(2rem, 4vw, 3rem); font-weight: 300;
  color: var(--ink); line-height: 1.1; margin: 12px 0 0;
}
.alua-article-single__thumb { margin-bottom: 40px; }
.alua-article-single__thumb img { width: 100%; }
.alua-article-single__content {
  font-size: 1.05rem; line-height: 1.9; color: var(--body);
}
.alua-article-single__content h2,
.alua-article-single__content h3 { margin: 40px 0 16px; }
.alua-article-single__content p { margin-bottom: 1.2em; }
.alua-post-nav { margin-top: 60px; padding-top: 32px; border-top: 1px solid var(--line); }
.alua-post-nav .nav-links { display: flex; justify-content: space-between; gap: 20px; }
.alua-post-nav a { font-size: .85rem; color: var(--burg); }

/* ════════════════════════════════════════════════════════════
   BLOCK CONTENT — inline styles in page content
   These rules ensure block-editor inline style values
   render correctly and override WP defaults.
════════════════════════════════════════════════════════════ */
.wp-block-heading {
  font-family: var(--serif); font-weight: 300;
  letter-spacing: .01em; color: var(--ink); line-height: 1.1;
}

/* Paragraphs inside block groups — ensure legibility */
.wp-block-group p,
.wp-block-group .wp-block-paragraph {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--body);
}

/* Columns */
.wp-block-columns { display: flex; flex-wrap: wrap; gap: 0; }
.wp-block-column  { min-width: 0; }

/* Separator as gold rule */
.wp-block-separator.hero-rule {
  width: 48px !important; height: 1px !important;
  background: var(--gold) !important;
  border: none !important; margin: 0 0 32px !important;
}

/* Stat cell numbers */
.stat-cell p:first-child {
  font-family: var(--serif) !important;
  font-weight: 300 !important; line-height: 1 !important;
}

/* Services list items inside page content */
.wp-block-group span[style*="font-size:.84rem"] {
  font-size: .95rem !important;   /* was .84rem — bump up */
  color: var(--body) !important;
  line-height: 1.7 !important;
}

/* ════════════════════════════════════════════════════════════
   FOOTER
════════════════════════════════════════════════════════════ */
.alua-site-footer { background: var(--slate); position: relative; }
.alua-site-footer::before {
  content: ''; display: block; height: 3px;
  background: linear-gradient(to right, var(--burg) 0%, var(--gold) 50%, var(--burg) 100%);
}
.alua-footer-inner {
  max-width: 1320px; margin: 0 auto;
  padding: clamp(56px,7vw,90px) 40px 36px;
}
.alua-footer-top {
  display: grid; grid-template-columns: 2fr 1fr 1fr;
  gap: clamp(40px,5vw,80px);
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 32px;
}
.alua-footer-brand .alua-footer-logo {
  display: flex; align-items: center; gap: 14px; margin-bottom: 20px;
}
.alua-footer-brand > p {
  font-size: .9rem;         /* was .84rem */
  line-height: 1.85;
  color: rgba(255,255,255,.5);  /* was .35 — too faint to read */
  max-width: 320px;
}
.alua-monogram--light { border-color: rgba(255,255,255,.2) !important; }
.alua-monogram--light span { color: var(--gold-lt) !important; }
.alua-header-brand--light strong {
  color: rgba(255,255,255,.85) !important; /* was .72 */
  font-size: .75rem !important;
}
.alua-header-brand--light small { color: rgba(255,255,255,.45) !important; } /* was .28 */

.alua-footer-col h4 {
  font-size: .72rem;        /* was .58rem */
  font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold-lt); margin-bottom: 20px;
}
.alua-footer-col ul { list-style: none; margin: 0; padding: 0; }
.alua-footer-col ul li { margin-bottom: 12px; }
.alua-footer-col ul a {
  font-size: .9rem;         /* was .84rem */
  color: rgba(255,255,255,.52); /* was .36 — nearly invisible */
  transition: color .2s;
}
.alua-footer-col ul a:hover { color: rgba(255,255,255,.9); }
.alua-footer-col ul li:not([class]) {
  color: rgba(255,255,255,.52); font-size: .9rem;
}
.alua-footer-bottom {
  display: flex; justify-content: space-between;
  align-items: center; flex-wrap: wrap; gap: 10px;
  padding: 20px 40px;
}
.alua-footer-bottom p { font-size: .75rem; color: rgba(255,255,255,.35); margin: 0; }
.alua-footer-bottom a { color: rgba(255,255,255,.45); }
.alua-footer-bottom a:hover { color: rgba(255,255,255,.8); }

/* ════════════════════════════════════════════════════════════
   SCROLL REVEAL
════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: no-preference) {
  .reveal {
    opacity: 0; transform: translateY(28px);
    transition: opacity .75s ease, transform .75s ease;
  }
  .reveal.on { opacity: 1; transform: translateY(0); }
  .reveal-l {
    opacity: 0; transform: translateX(-28px);
    transition: opacity .75s ease, transform .75s ease;
  }
  .reveal-l.on { opacity: 1; transform: translateX(0); }
  .alua-fade-up {
    opacity: 0; transform: translateY(20px);
    transition: opacity .6s ease, transform .6s ease;
  }
  .alua-fade-up.is-visible { opacity: 1; transform: translateY(0); }
}

/* ════════════════════════════════════════════════════════════
   WOOCOMMERCE
════════════════════════════════════════════════════════════ */
.woocommerce .star-rating::before,
.woocommerce .star-rating span::before { color: var(--gold); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--serif); font-size: 1.25rem; font-weight: 400; color: var(--ink);
}
.woocommerce ul.products li.product .price { color: var(--burg); font-weight: 600; }
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit {
  background: var(--burg) !important; color: #fff !important;
  border-radius: 0 !important; font-family: var(--sans) !important;
  font-size: .78rem !important; font-weight: 500 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important;
  padding: 14px 32px !important; transition: background .2s !important;
  box-shadow: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover { background: var(--burg-dk) !important; }
.woocommerce .woocommerce-breadcrumb { display: none; }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .alua-header-inner { padding: 0 24px; }
  .alua-footer-inner { padding: clamp(48px,6vw,80px) 24px 32px; }
  .alua-loop-wrap    { padding: 60px 24px; gap: 20px; }
}

@media (max-width: 960px) {
  .alua-nav-menu, .alua-header-nav { display: none !important; }
  .alua-ham { display: flex; }

  .alua-hero { grid-template-columns: 1fr; min-height: auto; }
  .alua-hero__left { padding: 64px 24px 52px; }
  .alua-hero__left::after { display: none; }
  .alua-hero__right { height: 56vw; min-height: 280px; }
  .alua-hero-card { bottom: 20px !important; }

  .alua-footer-top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .alua-loop-wrap { grid-template-columns: 1fr; padding: 48px 20px; }
  .alua-footer-top { grid-template-columns: 1fr; gap: 36px; }
  .alua-footer-inner { padding: 48px 20px 28px; }
  .alua-header-inner { padding: 0 20px; }
  .alua-footer-bottom { flex-direction: column; align-items: flex-start; gap: 6px; }
  .alua-single-wrap { padding: 60px 20px; }
  .wp-block-columns { flex-direction: column; }
  .wp-block-column  { flex-basis: 100% !important; width: 100%; }
}

@media (max-width: 480px) {
  .alua-hero__right { height: 72vw; }
  .alua-hero__left h1 { font-size: clamp(2.6rem, 9vw, 3.6rem); }
}

/* ════════════════════════════════════════════════════════════
   SERVICES PAGE — split section responsive fixes
   Targeting inline-styled blocks via attribute selectors
════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  /* Stack hero band */
  .page-services .wp-block-group.alignfull > div,
  .is-front-page .alua-hero {
    display: flex !important;
    flex-direction: column !important;
  }
  /* Any inline-grid div inside a full-width block group */
  .wp-block-group.alignfull [style*="display:grid"][style*="grid-template-columns"] {
    display: flex !important;
    flex-direction: column !important;
  }
  /* Image panels: fixed height when stacked */
  .wp-block-group.alignfull [style*="position:relative"][style*="overflow:hidden"][style*="min-height"] {
    min-height: 280px !important;
    height: 280px !important;
  }
  /* Hero stat badges stay visible */
  .wp-block-group.alignfull [style*="position:absolute;bottom:32px"] {
    position: relative !important;
    bottom: auto !important; left: auto !important;
    padding: 16px 20px;
  }
}

@media (max-width: 560px) {
  /* Inline padded content divs get compressed */
  .wp-block-group.alignfull [style*="padding:clamp"] {
    padding: 48px 20px !important;
  }
  /* 2-col feature grids collapse */
  .wp-block-group.alignfull [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
  /* Feature pills smaller on mobile */
  .wp-block-group.alignfull [style*="display:flex;flex-wrap:wrap;gap:8px"] span,
  .wp-block-group.alignfull [style*="display:inline-block;border:1px solid"] {
    font-size: .75rem !important;
    padding: 5px 10px !important;
  }
}

.alua-page-main--home { padding-top: 0; } /* hero handles its own offset */
