/*
Theme Name:  Union Web Studio Child
Theme URI:   https://unionwebstudio.com
Description: Child theme for Union Web Studio — modern websites for growing businesses. A service of Infivion LLC.
Author:      Infivion LLC
Author URI:  https://unionwebstudio.com
Template:    astra
Version:     1.0.0
License:     GNU General Public License v2 or later
Text Domain: union-child
*/

/* ──────────────────────────────────────────────────────────────────────────
   IMPORTANT — PARENT THEME
   This child theme is set to `Template: astra`. If the installed parent
   theme is different (Blocksy, GeneratePress, Kadence, Neve …), change the
   `Template:` line above to that theme's folder slug, otherwise WordPress
   will not let you activate the child theme.
   ────────────────────────────────────────────────────────────────────────── */

/* =====================================================================
   UNION WEB STUDIO — DESIGN TOKENS
   Style direction: "Corporate Clean" — white surfaces, one deep navy
   accent, generous whitespace, restrained radii. Reads as a mid-size
   American agency: solid, not flashy.
   ===================================================================== */
:root{
  /* Surfaces */
  --u-bg:          #FFFFFF;   /* page */
  --u-bg-soft:     #F4F7FB;   /* alternating section wash */
  --u-surface:     #FFFFFF;   /* cards */
  --u-surface-2:   #F9FBFD;   /* nested */

  /* Ink */
  --u-ink:         #0B2545;   /* headings — deep navy */
  --u-text:        #3E5068;   /* body */
  --u-muted:       #647692;   /* secondary */
  --u-dim:         #94A3B8;   /* captions */

  /* Brand */
  --u-navy:        #0B2545;
  --u-navy-2:      #123A6B;
  --u-blue:        #1B6AC9;   /* interactive accent */
  --u-blue-deep:   #14539F;
  --u-blue-soft:   #E8F0FB;
  --u-ok:          #128A5B;   /* checkmarks, success */
  --u-warn:        #C2410C;   /* "before" / problem accents */

  /* Lines */
  --u-line:        rgba(11,37,69,0.12);
  --u-line-soft:   rgba(11,37,69,0.07);

  /* Shape & motion — corporate: modest radii, soft shadows */
  --u-r:           14px;
  --u-r-lg:        20px;
  --u-r-sm:        10px;
  --u-r-pill:      999px;
  --u-shadow:      0 12px 34px rgba(11,37,69,0.10);
  --u-shadow-sm:   0 4px 14px rgba(11,37,69,0.07);
  --u-shadow-lg:   0 26px 60px rgba(11,37,69,0.14);
  --u-ease:        all .26s cubic-bezier(.22,.61,.36,1);

  --u-font: 'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --u-nav-h: 76px;
}

/* ---- Reset & base ---- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--u-bg);
  color:var(--u-text);
  font-family:var(--u-font);
  font-size:16px;
  line-height:1.68;
  margin:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5{color:var(--u-ink);font-weight:700;line-height:1.18;margin:0;letter-spacing:-.022em;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;list-style:none;}

/* ── Make theme/Gutenberg wrappers transparent + full-width so our
      edge-to-edge sections paint correctly on any parent theme ───────── */
#page,.site,#content,.site-content,.ast-container,.entry-content,
.page-content,.wp-block-post-content,.is-layout-constrained,
.is-layout-flow,.ct-container,.ct-container-fluid,.entry,
article,.post-inner,main,#primary{
  background:transparent !important;
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
  border:none !important;
}

.u-container{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}
.u-container-narrow{
  max-width:860px;
  margin:0 auto;
  padding:0 24px;
}

/* ── Hide parent theme's default header & footer (Astra / Blocksy /
      GeneratePress / Kadence / Twenty*) — our custom ones replace them ── */
#ast-desktop-header,#masthead,.ast-desktop-header-wrap,.site-header-focus-item,
#colophon,.site-footer,.footer-widget-area,
.ct-header,#site-header,.site-footer-row,
.generate-header,.gen-sidebar-nav,.site-info,
.wp-block-template-part header,.wp-block-template-part footer,
header.wp-block-template-part,footer.wp-block-template-part{
  display:none !important;
}

/* Edge-to-edge landing sections regardless of parent container padding */
.u-section,.u-hero,.u-strip,.u-footer,.u-header{
  width:100% !important;
  max-width:none !important;
}

/* =====================================================================
   BUTTONS  (shared across home + inner pages via this child stylesheet)
   ===================================================================== */
.u-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--u-font);font-weight:600;font-size:15px;
  border:1px solid transparent;border-radius:var(--u-r-sm);cursor:pointer;
  text-decoration:none;transition:var(--u-ease);line-height:1;
  padding:15px 26px;white-space:nowrap;
}
.u-btn-primary{background:var(--u-navy);color:#fff;box-shadow:0 8px 22px rgba(11,37,69,.22);}
.u-btn-primary:hover{background:var(--u-navy-2);color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px rgba(11,37,69,.26);}
.u-btn-blue{background:var(--u-blue);color:#fff;box-shadow:0 8px 22px rgba(27,106,201,.26);}
.u-btn-blue:hover{background:var(--u-blue-deep);color:#fff;transform:translateY(-2px);}
.u-btn-ghost{background:#fff;color:var(--u-navy);border-color:var(--u-line);}
.u-btn-ghost:hover{border-color:var(--u-navy);color:var(--u-navy);transform:translateY(-2px);box-shadow:var(--u-shadow-sm);}
.u-btn-light{background:#fff;color:var(--u-navy);}
.u-btn-light:hover{background:#F1F5FA;color:var(--u-navy);transform:translateY(-2px);}
.u-btn-wa{background:#25D366;color:#fff;box-shadow:0 8px 22px rgba(37,211,102,.28);}
.u-btn-wa:hover{background:#1FB855;color:#fff;transform:translateY(-2px);}
.u-btn-lg{padding:18px 34px;font-size:16px;}
.u-btn-sm{padding:11px 19px;font-size:14px;}
.u-btn-full{width:100%;}
.u-btn svg{width:18px;height:18px;fill:currentColor;flex-shrink:0;}

@media (max-width:768px){
  .u-container,.u-container-narrow{padding:0 16px;}
  body{font-size:15px;}
}
