/* =====================================================================
   ACM Legal — "Modern Heritage" design system, site-wide (inner pages)
   Stage 1: applies the homepage's palette, type, buttons, forms & cards
   to the parent theme's inner-page markup. Content is untouched.
   Loaded on every page EXCEPT the bespoke front page (see functions.php).
   ===================================================================== */

:root{
  --bone:#f7f3ec; --bone2:#efe7db; --card:#fffdf9; --line:#e3d9c8; --line2:#ded2bf;
  --ink:#241820; --body:#5f5058; --muted:#8a7a83;
  --wine:#5a152e; --wine-deep:#3c0c24; --wine-soft:#7a2a44;
  --bronze:#9a7b4f; --bronze-d:#836745; --bronze-l:#c2a56a;
}

/* ---------- BASE ---------- */
body{
  background:var(--bone);
  font-family:'Mulish',system-ui,-apple-system,sans-serif;
  color:var(--body);
  font-size:16.5px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.pxl-content-main, .pxl-content-area, .site-content, #content{ background:transparent; }

/* Headings → Fraunces, wine, in content + page banners */
.pxl-content-main :is(h1,h2,h3,h4,h5,h6),
.entry-content :is(h1,h2,h3,h4,h5,h6),
.elementor-widget-heading .elementor-heading-title,
h1.main-title, .main-title{
  font-family:'Fraunces',Georgia,serif !important;
  font-weight:500 !important;
  letter-spacing:-.01em;
  line-height:1.12;
  color:var(--wine);
}
.pxl-content-main :is(h4,h5,h6), .entry-content :is(h4,h5,h6){ color:var(--ink); }

/* Body copy colour in content */
.pxl-content-main p, .entry-content p, .entry-content li,
.elementor-widget-text-editor{ color:var(--body); }

/* Content links */
.pxl-content-main a:not(.btn):not(.elementor-button),
.entry-content a:not(.btn):not(.elementor-button){
  color:var(--wine); text-underline-offset:2px;
}
.pxl-content-main a:not(.btn):hover, .entry-content a:not(.btn):hover{ color:var(--bronze-d); }

/* ---------- BUTTONS (match Heritage .acm-btn--wine) ---------- */
.btn, .btn-default,
.elementor-button,
.wp-block-button__link,
.wpcf7-submit, button[type="submit"], input[type="submit"]{
  background-color:var(--wine) !important;
  color:#fff !important;
  border:1.5px solid var(--wine) !important;
  border-radius:9px !important;
  font-family:'Mulish',sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.01em;
  transition:background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.btn:hover, .btn-default:hover,
.elementor-button:hover,
.wp-block-button__link:hover,
.wpcf7-submit:hover, button[type="submit"]:hover, input[type="submit"]:hover{
  background-color:var(--wine-deep) !important;
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 10px 24px -12px rgba(60,12,36,.55);
}

/* ---------- FORM FIELDS (match Heritage) ---------- */
input[type="text"], input[type="email"], input[type="tel"],
input[type="search"], input[type="url"], input[type="number"],
textarea, select,
.wpcf7 input, .wpcf7 textarea, .wpcf7 select{
  border:1px solid var(--line2) !important;
  border-radius:9px !important;
  background:#fff !important;
  color:var(--ink) !important;
  font-family:'Mulish',sans-serif !important;
}
input:focus, textarea:focus, select:focus,
.wpcf7 input:focus, .wpcf7 textarea:focus{
  outline:none !important;
  border-color:var(--wine) !important;
  box-shadow:0 0 0 3px rgba(90,21,46,.12) !important;
}
::placeholder{ color:#9a8f93; opacity:1; }

/* ---------- CARDS (match Heritage card language) ---------- */
article.pxl-archive-post,
.pxl-icon-box, .pxl-post--grid, .service-box{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
article.pxl-archive-post:hover,
.pxl-icon-box:hover, .pxl-post--grid:hover, .service-box:hover{
  transform:translateY(-3px);
  border-color:var(--line2);
  box-shadow:0 24px 46px -30px rgba(60,12,36,.45);
}

/* ---------- FOCUS (accessibility) ---------- */
a:focus-visible, button:focus-visible, .btn:focus-visible,
input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--wine); outline-offset:3px;
}

/* ---------- HEADER re-skin (match Heritage) ---------- */
.pxl-header{ background:var(--bone) !important; border-bottom:1px solid var(--line); }

/* top utility bar (email / address) → wine-deep with bronze icons */
.pxl-header .elementor-element-e3719cd{ background:var(--wine-deep) !important; }
.pxl-header .elementor-element-e3719cd,
.pxl-header .elementor-element-e3719cd a,
.pxl-header .elementor-element-e3719cd span{ color:#e5d3c6 !important; }
.pxl-header .elementor-element-e3719cd a:hover{ color:#fff !important; }
.pxl-header .elementor-element-e3719cd svg,
.pxl-header .elementor-element-e3719cd i,
.pxl-header .elementor-element-e3719cd .elementor-icon-list-icon{ color:var(--bronze-l) !important; fill:var(--bronze-l) !important; }

/* main navigation → Mulish, ink, wine hover */
.pxl-primary-menu > li > a{
  font-family:'Mulish',sans-serif !important;
  font-weight:600 !important;
  font-size:15px !important;
  letter-spacing:0 !important;
  color:var(--ink) !important;
}
.pxl-primary-menu > li > a:hover,
.pxl-primary-menu > li.current-menu-item > a,
.pxl-primary-menu > li.current-menu-ancestor > a{ color:var(--wine) !important; }
.pxl-primary-menu .sub-menu a{ font-family:'Mulish',sans-serif !important; color:var(--ink) !important; }
.pxl-primary-menu .sub-menu a:hover{ color:var(--wine) !important; }

/* ---------- FOOTER re-skin (match Heritage) ---------- */
.pxl-footer .elementor-top-section{ background-color:var(--wine-deep) !important; }
.pxl-footer, .pxl-footer p, .pxl-footer li, .pxl-footer span{ color:#d7c3b6 !important; }
.pxl-footer a{ color:#d7c3b6 !important; }
.pxl-footer a:hover{ color:#fff !important; }
.pxl-footer .elementor-heading-title,
.pxl-footer .elementor-icon-box-title{
  font-family:'Mulish',sans-serif !important;
  font-weight:800 !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--bronze-l) !important;
}

@media (prefers-reduced-motion:reduce){
  .btn, .elementor-button, article.pxl-archive-post, .pxl-icon-box{ transition:none !important; }
}
