/*
Theme Name: GeneratePress Child — Arsh Art
Description: Arsh Art Cabinet Refinishing — custom child theme.
Author: Arsh Art / Royal Home Painters
Template: generatepress
Version: 1.3.0
*/

:root {
  --aa-navy:#0E2A47; --aa-navy-dark:#091E33;
  --aa-red:#D32030; --aa-red-dark:#B0192A;
  --aa-gold:#B5894A; --aa-gold-text:#7A5C2E; --aa-gold-dark:#97713B;
  --aa-cream:#FAF6EE; --aa-white:#FFFFFF;
  --aa-text:#1F2937; --aa-muted:#5B6473; --aa-border:#EAE2D2;
  --aa-radius:6px; --aa-radius-lg:12px;
  --aa-shadow-sm:0 1px 3px rgba(14,42,71,.06);
  --aa-shadow-md:0 8px 24px rgba(14,42,71,.08);
  --aa-shadow-lg:0 16px 48px rgba(14,42,71,.12);
}

img { height:auto; max-width:100%; }
.site-logo img,.is-logo-image,.header-image { content-visibility:visible !important; opacity:1 !important; }
.aa-topbar { min-height:41px; }
.site-logo { min-height:70px; }

html { scroll-behavior:smooth; scroll-padding-top:80px; }
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;} *{animation:none !important; transition:none !important;}
}
section { content-visibility:auto; contain-intrinsic-size:1px 800px; }
section.aa-hero, section.aa-topbar, header.site-header, .site-header { content-visibility:visible; }

/* ================ EYEBROW ================ */
.aa-eyebrow {
  display:inline-block;
  font-family:'DM Sans',sans-serif;
  font-size:13px; font-weight:700;
  letter-spacing:3px; text-transform:uppercase;
  color:var(--aa-gold-text);
  margin-bottom:14px; padding:4px 0;
  border-bottom:1px solid var(--aa-gold);
}
.aa-eyebrow-dark { color:var(--aa-gold); border-bottom-color:rgba(181,137,74,.5); }

/* OVERRIDE all inline gold spans/divs (broader matches) */
[style*="color:var(--aa-gold)"],
[style*="color: var(--aa-gold)"],
[style*="color:#B5894A"],
[style*="color: #B5894A"] {
  color: var(--aa-gold-text) !important;
}
.aa-section-navy [style*="color:var(--aa-gold)"],
.aa-section-navy [style*="color: var(--aa-gold)"] {
  color: var(--aa-gold) !important;
}

/* Process step numbers — also catch by font-size 64px in style attr */
[style*="font-size: 64px"],
[style*="font-size:64px"] {
  color: var(--aa-gold-text) !important;
  opacity: 1 !important;
}

/* ================ BUTTONS — guaranteed 52px touch ================ */
.aa-btn-primary,a.aa-btn-primary,
.aa-btn-secondary,a.aa-btn-secondary,
.aa-btn-outline-navy,a.aa-btn-outline-navy {
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 36px; min-height:52px;
  font-family:'DM Sans',sans-serif; font-size:15px; font-weight:700;
  letter-spacing:1px; text-transform:uppercase;
  text-decoration:none; border-radius:var(--aa-radius);
  line-height:1; transition:all .2s ease;
}
.aa-btn-primary,a.aa-btn-primary {
  background:var(--aa-red); color:var(--aa-white) !important; border:2px solid var(--aa-red);
}
.aa-btn-primary:hover { background:var(--aa-red-dark); border-color:var(--aa-red-dark); box-shadow:0 8px 20px rgba(211,32,48,.28); }
.aa-btn-secondary,a.aa-btn-secondary {
  background:transparent; color:var(--aa-white) !important; border:2px solid var(--aa-white);
}
.aa-btn-secondary:hover { background:rgba(255,255,255,.12); }
.aa-btn-outline-navy,a.aa-btn-outline-navy {
  background:transparent; color:var(--aa-navy) !important; border:2px solid var(--aa-navy);
}
.aa-btn-outline-navy:hover { background:var(--aa-navy); color:var(--aa-white) !important; }

/* ================ INLINE GOLD LINKS — underlined ================ */
.aa-link-gold,a.aa-link-gold,
.aa-faq-body a,
.aa-card a.aa-card-link,.aa-card-link {
  color:var(--aa-gold-text) !important;
  font-weight:700;
  text-decoration:underline !important;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.aa-link-gold:hover,.aa-faq-body a:hover,.aa-card-link:hover { color:var(--aa-navy) !important; }

a[style*="color:var(--aa-gold)"],
a[style*="color: var(--aa-gold)"] {
  color:var(--aa-gold-text) !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px; text-underline-offset:3px;
}

/* ================ TRUST PILLS ================ */
.aa-trust-pill {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.32);
  border-radius:50px; padding:10px 20px;
  font-size:13px; font-weight:600; color:#fff;
  margin:4px 6px 4px 0;
}

/* ================ TOPBAR ================ */
.aa-topbar {
  background:var(--aa-navy); color:rgba(255,255,255,.95);
  font-size:13px; padding:10px 0; text-align:center;
}
.aa-topbar a { color:var(--aa-gold); font-weight:700; text-decoration:none; }
.aa-topbar a:hover { color:#fff; }

/* ================ CARDS ================ */
.aa-card {
  background:#fff; border:1px solid var(--aa-border);
  border-radius:var(--aa-radius-lg);
  padding:32px 28px; height:100%;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.aa-card:hover { transform:translateY(-4px); box-shadow:var(--aa-shadow-md); border-color:var(--aa-gold); }
.aa-card-featured {
  border:2px solid var(--aa-gold); position:relative;
  transform:translateY(-8px); box-shadow:var(--aa-shadow-lg);
}
.aa-card-featured::before {
  content:"MOST COMMON"; position:absolute; top:-14px; left:50%;
  transform:translateX(-50%); background:var(--aa-navy); color:#fff;
  font-family:'DM Sans',sans-serif; font-size:11px; font-weight:700;
  letter-spacing:2px; padding:6px 16px; border-radius:50px; white-space:nowrap;
}

/* ================ STAT BADGE ================ */
.aa-stat { text-align:center; padding:16px; }
.aa-stat-num {
  font-family:'Cormorant Garamond',serif; font-size:44px; font-weight:700;
  color:var(--aa-gold-text); line-height:1; display:block; margin-bottom:6px;
}
.aa-stat-label {
  font-family:'DM Sans',sans-serif; font-size:13px; font-weight:700;
  letter-spacing:1px; text-transform:uppercase; color:var(--aa-navy);
}

/* ================ SECTIONS ================ */
.aa-section { padding:90px 0; }
.aa-section-tight { padding:60px 0; }
.aa-section-cream { background:var(--aa-cream); }
.aa-section-navy { background:var(--aa-navy); color:rgba(255,255,255,.95); }
.aa-section-navy h1,.aa-section-navy h2,.aa-section-navy h3 { color:#fff; }
.aa-section-head { text-align:center; max-width:760px; margin:0 auto 56px; }
.aa-section-head h2 { margin-bottom:14px; }
.aa-section-sub { font-size:17px; color:var(--aa-text); line-height:1.7; }
.aa-section-navy .aa-section-sub { color:rgba(255,255,255,.92); }

/* ================ TABLES ================ */
.aa-table { width:100%; border-collapse:collapse; background:#fff; border-radius:var(--aa-radius-lg); overflow:hidden; box-shadow:var(--aa-shadow-sm); }
.aa-table th,.aa-table td { padding:16px 20px; text-align:left; border-bottom:1px solid var(--aa-border); font-size:15px; vertical-align:top; }
.aa-table th { background:var(--aa-navy); color:#fff; font-family:'Cormorant Garamond',serif; font-weight:700; font-size:18px; text-align:center; }
.aa-table th.aa-th-highlight { background:var(--aa-gold-text); color:#fff; }
.aa-table td:first-child { font-weight:700; color:var(--aa-navy); background:var(--aa-cream); }
@media (max-width:768px){ .aa-table th,.aa-table td { padding:12px 10px; font-size:13px; }}

/* ================ FAQ ================ */
.aa-faq details { background:#fff; border:1px solid var(--aa-border); border-radius:var(--aa-radius); margin-bottom:12px; }
.aa-faq details[open] { border-color:var(--aa-gold); }
.aa-faq summary {
  list-style:none; cursor:pointer; padding:22px 28px;
  font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:700;
  color:var(--aa-navy); position:relative; padding-right:60px; min-height:48px;
}
.aa-faq summary::-webkit-details-marker { display:none; }
.aa-faq summary::after {
  content:"+"; position:absolute; right:28px; top:50%;
  transform:translateY(-50%); font-size:24px; color:var(--aa-gold-text); font-weight:700;
}
.aa-faq details[open] summary::after { content:"−"; }
.aa-faq .aa-faq-body { padding:0 28px 24px; font-size:16px; line-height:1.75; color:var(--aa-text); }

/* ================ STICKY MOBILE CTA ================ */
.aa-mobile-cta {
  display:none; position:fixed; left:0; right:0; bottom:0;
  background:var(--aa-navy); border-top:1px solid rgba(255,255,255,.1);
  padding:8px; z-index:9999; box-shadow:0 -4px 20px rgba(0,0,0,.15);
}
.aa-mobile-cta a {
  display:flex; align-items:center; justify-content:center; gap:8px; flex:1;
  min-height:52px; padding:14px 8px;
  font-family:'DM Sans',sans-serif; font-size:14px; font-weight:700;
  letter-spacing:.5px; text-transform:uppercase; text-decoration:none; border-radius:var(--aa-radius);
}
.aa-mobile-cta a.aa-mobile-call { background:#fff; color:var(--aa-navy) !important; margin-right:6px; }
.aa-mobile-cta a.aa-mobile-quote { background:var(--aa-red); color:#fff !important; }
@media (max-width:768px){ .aa-mobile-cta { display:flex; } body { padding-bottom:88px; }}

/* ================ HERO ================ */
.aa-hero { background:var(--aa-navy); color:#fff; padding:80px 0 90px; position:relative; overflow:hidden; }
.aa-hero h1 { color:#fff; font-size:clamp(32px,5vw,56px); line-height:1.12; margin-bottom:22px; max-width:780px; }
.aa-hero p.aa-hero-sub { font-size:clamp(16px,1.6vw,19px); color:rgba(255,255,255,.95); line-height:1.65; max-width:620px; margin-bottom:36px; }
.aa-hero-cta-row { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:36px; }
.aa-hero-trust-row { display:flex; flex-wrap:wrap; gap:8px; }

/* ================ OWNER STORY ================ */
.aa-owner { display:grid; grid-template-columns:320px 1fr; gap:56px; align-items:center; }
.aa-owner img { width:100%; height:auto; border-radius:var(--aa-radius-lg); box-shadow:var(--aa-shadow-md); object-fit:cover; }
.aa-owner blockquote { border-left:4px solid var(--aa-gold); padding:8px 0 8px 28px; margin:0 0 24px; font-family:'Cormorant Garamond',serif; font-size:22px; line-height:1.5; font-style:italic; color:var(--aa-navy); }
.aa-owner cite { font-style:normal; font-weight:700; color:var(--aa-navy); font-size:15px; letter-spacing:.5px; }
@media (max-width:768px){ .aa-owner { grid-template-columns:1fr; gap:28px; } .aa-owner img { max-width:280px; margin:0 auto; }}

/* ================ AREA CHIPS — guaranteed 48px regardless of badge ================ */
.aa-area-chip {
  display:inline-flex; align-items:center; justify-content:center;
  padding:14px 24px; margin:6px;
  min-height:50px; min-width:48px;
  background:var(--aa-cream); border:1px solid var(--aa-border);
  border-radius:50px; font-size:15px; font-weight:600;
  color:var(--aa-navy); text-decoration:none; line-height:1.2;
  transition:all .2s ease;
}
.aa-area-chip:hover { background:var(--aa-navy); color:#fff; border-color:var(--aa-navy); }
.aa-area-chip .aa-area-count {
  display:inline-block; margin-left:8px;
  padding:2px 8px; background:var(--aa-navy); color:#fff;
  font-size:11px; font-weight:700; border-radius:50px;
}
.aa-area-chip:hover .aa-area-count { background:var(--aa-gold); color:var(--aa-navy); }

/* ================ VIDEO ================ */
.aa-video-wrap { position:relative; width:100%; aspect-ratio:16/9; border-radius:var(--aa-radius-lg); overflow:hidden; background:var(--aa-navy); box-shadow:var(--aa-shadow-md); }
.aa-video-wrap iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* ================ FOOTER ================ */
.site-footer,.site-footer .footer-widgets,.site-footer .site-info { background:var(--aa-navy-dark) !important; color:rgba(255,255,255,.92); }
.site-footer .footer-widgets { padding:64px 0 36px; }
.site-footer .footer-widgets .inside-footer-widgets { display:grid; grid-template-columns:repeat(4,1fr); gap:40px; max-width:1200px; margin:0 auto; padding:0 20px; }
.site-footer .footer-widgets .widget { margin-bottom:0; padding:0; }
.site-footer .footer-widgets .widget-title,.site-footer .footer-widgets h3 { font-family:'DM Sans',sans-serif !important; font-size:13px !important; font-weight:700 !important; letter-spacing:2px !important; text-transform:uppercase !important; color:#fff !important; margin:0 0 18px 0 !important; padding:0; line-height:1.4; }
.site-footer .footer-widgets a { color:rgba(255,255,255,.92) !important; text-decoration:none; transition:color .2s; }
.site-footer .footer-widgets a:hover { color:var(--aa-gold) !important; text-decoration:underline; }
.site-footer .footer-widgets ul { list-style:none !important; padding:0 !important; margin:0 !important; }
.site-footer .footer-widgets li { list-style:none !important; padding:6px 0 !important; margin:0 !important; border:0 !important; }
.site-footer .footer-widgets p,.site-footer .footer-widgets address { color:rgba(255,255,255,.92); font-size:14px; line-height:1.75; margin:0 0 12px; font-style:normal; }
.site-footer .footer-widgets strong { color:#fff; }
.site-footer .footer-widgets img { max-width:180px; height:auto; }
.site-footer .site-info { background:#050F1C !important; border-top:1px solid rgba(255,255,255,.08); font-size:13px; padding:18px 20px; text-align:center; color:rgba(255,255,255,.85); }
.site-footer .site-info a { color:#fff !important; text-decoration:underline; }
.site-footer .site-info a:hover { color:var(--aa-gold) !important; }
@media (max-width:900px){ .site-footer .footer-widgets .inside-footer-widgets { grid-template-columns:repeat(2,1fr); gap:32px; }}
@media (max-width:600px){ .site-footer .footer-widgets .inside-footer-widgets { grid-template-columns:1fr; gap:28px; } .site-footer .footer-widgets { padding:48px 0 24px; }}

/* ================ HOME OVERRIDES ================ */
.home .entry-header { display:none; }
.home .entry-content { margin-top:0; }
.home .site-main > article > .entry-content > * { margin:0; }
.home .inside-article { padding:0; background:transparent; box-shadow:none; }
.home #content { padding:0; }

/* ================ A11Y ================ */
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid var(--aa-gold); outline-offset:3px; border-radius:3px;
}