/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: Astra is fast, fully customizable &amp; beautiful WordPress theme suitable for blog, personal portfolio, business website and WooCommerce storefront. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with Schema.org code integrated and is Native AMP ready so search engines will love your site. It offers special features and templates so it works perfectly with all page builders like Elementor, Beaver Builder, Visual Composer, SiteOrigin, Divi, etc. Some of the other features: # WooCommerce Ready # Responsive # RTL &amp; Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained &amp; Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and WooCommerce ready theme that you can use for building any kind of website!
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.8.7.1734112348
Updated: 2024-12-13 17:52:28

*/
/*
Theme Name: Astra Child
Template: astra
*/

/* =========================
   0) GLOBAL TOKENS
   ========================= */
:root{
  /* Brand / Ink */
  --ink: #241815;
  --ink-weak: #444;
  --ink-muted: #6b6b6b;

  --brand-red: #d64534;      /* CTA base */
  --brand-red-hover: #b93828;/* CTA hover */
  --accent: #ff5a47;         /* links/hover */

  /* Surfaces / Borders */
  --bg: #ffffff;
  --bg-muted: #faf9f8;
  --bg-soft: #f9f7f5;
  --border: #eeeeee;
  --border-ink-40: #24181566;

  /* Layout */
  --container-max: 1280px;
  --space-1: 6px;
  --space-2: 10px;
  --space-3: 14px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 28px;
  --space-7: 40px;
  --radius-pill: 999px;
  --radius-lg: 16px;
  --radius-xl: 20px;

  /* Shadows */
  --shadow-soft: 0 10px 20px #0000000a;

  /* Typography */
  --font-body: "GT Walsheim", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --font-serif: "Libre Baskerville", Georgia, "Times New Roman", serif;

  --fs-13: 13px;
  --fs-14: 14px;
  --fs-15: 15px;
  --fs-16: 16px;
  --fs-18: 18px;
  --fs-20: 20px;
  --fs-28: 28px;
  --fs-40: 2.5rem;
}

/* =========================
   1) SELF-HOSTED FONTS
   ========================= */
@font-face{
  font-family: "GT Walsheim";
  src: url("assets/fonts/GT-Walsheim-Condensed-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: "GT Walsheim";
  src: url("assets/fonts/GT-Walsheim-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* =========================
   9) GLOBAL LAYOUT HELPERS
   ========================= */

/* Container wrapper */
.container {
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* Flex basics */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-row { flex-direction: row; }
.flex-wrap { flex-wrap: wrap; }
.flex-nowrap { flex-wrap: nowrap; }

/* Alignment */
.items-start { align-items: flex-start; }
.items-center { align-items: center; }
.items-end { align-items: flex-end; }
.justify-start { justify-content: flex-start; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.justify-end { justify-content: flex-end; }

/* Gap utilities */
.gap-1 { gap: var(--space-1); }
.gap-2 { gap: var(--space-2); }
.gap-3 { gap: var(--space-3); }
.gap-4 { gap: var(--space-4); }
.gap-5 { gap: var(--space-5); }
.gap-6 { gap: var(--space-6); }
.gap-7 { gap: var(--space-7); }

/* Grow / shrink */
.flex-1 { flex: 1 1 0%; }
.flex-auto { flex: 1 1 auto; }
.flex-none { flex: none; }
/* (Google CSS for Libre Baskerville is enqueued in functions.php) */
.libre-baskerville-regular{ font-family: var(--font-serif); font-weight:400; font-style:normal; }
.libre-baskerville-bold{ font-family: var(--font-serif); font-weight:700; font-style:normal; }
.libre-baskerville-regular-italic{ font-family: var(--font-serif); font-weight:400; font-style:italic; }

/* =========================
   2) BASE TYPOGRAPHY
   ========================= */
body{
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--bg);
  font-size: var(--fs-15);
}
h1,h2,h3{ font-family: "GT Walsheim", sans-serif; font-weight:700; color: #1a1a1a; }
h2{ font-size: var(--fs-40); line-height:1.2; margin-bottom: 1rem; }

/* =========================
   3) UTILITIES
   ========================= */
.tw-container{
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 14px 20px;
  display:flex; align-items:center; gap: var(--space-4);
}
.pill, .tw-pill{
  padding: 6px 14px;
  border:1px solid #ddd;
  border-radius: var(--radius-pill);
  font-size: var(--fs-14);
  color: var(--ink);
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
}
.pill:hover, .tw-pill:hover{ border-color:#aaa; }
.btn, .tw-cta{
  display:inline-block;
  padding:10px 18px;
  border-radius: calc(var(--radius-lg) + 0.4rem);
  background: var(--brand-red);
  color:#fff !important;
  font-weight:500;
  text-decoration:none;
  white-space:nowrap;
  transition: background .2s ease;
}
.btn:hover, .tw-cta:hover{ background: var(--brand-red-hover); }

/* =========================
   4) HEADER
   ========================= */
.tw-header{
  position: sticky; top:0; z-index:50;
  background:#fff; border-bottom:1px solid var(--border);
}
.tw-logo img{ height:28px; width:auto; display:block; }
.tw-nav{ flex:1; margin-left:24px; }
.tw-menu{ list-style:none; display:flex; gap:28px; margin:0; padding:0; }
.tw-menu>li>a{
  text-decoration:none; color: var(--ink);
  font-weight:500; font-size: var(--fs-15);
  padding: 6px 0; border-radius: .8rem; transition: color .2s ease, background .2s ease;
}
.tw-menu>li.current-menu-item>a,
.tw-menu>li>a:hover{
  /* Subtle bg highlight on hover/active */
  background: rgba(36,24,21,.05);
  color: var(--ink);
}

/* Burger */
.tw-burger{ background:transparent; border:0; cursor:pointer; padding:10px; }
.tw-burger span, .tw-burger span::before, .tw-burger span::after{
  display:block; width:20px; height:2px; background: var(--ink); position:relative;
}
.tw-burger span::before, .tw-burger span::after{ content:""; position:absolute; left:0; }
.tw-burger span::before{ top:-6px; }
.tw-burger span::after{ top:6px; }

/* Mobile menu */
.tw-mobile{ background:#fff; border-top:1px solid var(--border); }
.tw-mobile-menu{ list-style:none; margin:0; padding:0; }
.tw-mobile-menu>li>a{
  display:block; padding:14px 20px; text-decoration:none; color:#1b1b1b;
  font-weight:500; border-bottom:1px solid var(--border);
}
.tw-mobile-menu .sub-menu{ display:none; padding-left:20px; background:#fafafa; }
.tw-mobile-menu li.open>.sub-menu{ display:block; }

/* Responsive header visibility */
@media (max-width: 991.98px){
  .tw-nav, .link-block-46{ display:none; }
  .tw-burger{ display:inline-flex; }
}
@media (min-width: 992px){
  .tw-burger{ display:none; }
  .tw-mobile{ display:none !important; }
}

/* “Link block” pill used near header */
.link-block-46{
  font-size: var(--fs-16);
  display:flex; align-items:center; justify-content:center;
  padding: 4px 16px; gap:4px;
  border:1px solid var(--border-ink-40); border-radius: var(--radius-lg);
}

/* =========================
   5) PAGE SECTIONS
   ========================= */
.section-header{
  text-align:center; padding: 3rem 1rem 2rem; background: var(--bg-muted);
}
.section-header h2{
  font-size: var(--fs-40); line-height:1.3; font-weight:600; color:#2b2b2b; margin-bottom:1rem;
}
.section-header p{
  font-size: var(--fs-18); color:#666; max-width:700px; margin:0 auto;
}

.managed-expert-section{
  display:flex; justify-content:center; align-items:center;
  width:100%; max-width: var(--container-max);
  padding: 48px 32px; background: var(--bg-muted); gap:2rem; flex-wrap:nowrap;
}
.text-content, .diagram{ flex:1 1 50%; max-width:50%; }
.diagram img{ width:100%; height:auto; }
.text-content p{ font-size:1.1rem; color: var(--ink-weak); line-height:1.6; }

.service-section{
  display:flex; flex-wrap:wrap; justify-content:center; gap:2rem;
  padding:4rem 2rem; background: var(--bg-soft);
}
.service-card{
  background:#fff; border-radius: var(--radius-xl); box-shadow: var(--shadow-soft);
  padding:2rem; max-width:350px; flex:1 1 300px; text-align:left;
  display:flex; flex-direction:column; justify-content:space-between;
}
.icon{ font-size:2.5rem; color: var(--accent); margin-bottom:1rem; }
.service-card h3{ font-size:1.25rem; margin-bottom:1rem; color:#1e1e1e; }
.service-card p{ font-size:1rem; font-weight:300; line-height:1.5; color:#555; flex-grow:1; }
.service-card a{ margin-top:1.5rem; color:#5c3df0; font-weight:500; text-decoration:none; }
.service-card a:hover{ text-decoration:underline; }

/* =========================
   6) FOOTER
   ========================= */
.tw-footer{
  background:#fff; border-top:1px solid var(--border);
  padding: var(--space-7) 20px; font-size: var(--fs-15); color: var(--ink);
}
.tw-footer__container{
  max-width: var(--container-max); margin:0 auto;
  display:flex; flex-wrap:wrap; justify-content:space-between; gap: var(--space-7);
}
.tw-footer__logo img{ height:26px; display:block; margin-bottom:14px; }
.tw-footer__address{ font-style:normal; line-height:1.6; }
.tw-footer__address a{ color:#0066cc; text-decoration:none; }
.tw-footer__address a:hover{ text-decoration:underline; }
.tw-footer__newsletter{ flex:1 1 300px; }
.tw-footer__newsletter h4{ font-weight:600; margin-bottom:12px; }
.tw-footer__newsletter form{ max-width:360px; }
.tw-footer__right{ text-align:right; flex:1 1 200px; }
.tw-footer__social a{ margin-left:10px; font-size:20px; color: var(--ink); }
.tw-footer__social a:hover{ color: var(--accent); }
.tw-footer__legal{ margin-top:12px; font-size: var(--fs-14); }
.tw-footer__legal a{ color: var(--ink); text-decoration:none; }
.tw-footer__legal a:hover{ text-decoration:underline; }

@media (max-width:768px){
  .tw-footer__container{ flex-direction:column; text-align:center; }
  .tw-footer__right{ text-align:center; }
  .tw-footer__social a{ margin:0 8px; }
}

/* Contact Form 7 tweaks (newsletter) */
.wpcf7-form-control{
  border:1px solid var(--border-ink-40);
  padding:10px; border-radius: var(--radius-lg);
}
.wpcf7-submit{
  border:none; margin-top:20px;
  padding:10px 18px; border-radius: calc(var(--radius-lg) + 0.4rem);
  background: var(--brand-red); color:#fff !important; font-weight:500;
  transition: background .2s ease;
}
.wpcf7-submit:hover{ background: var(--brand-red-hover); }

/* =========================
   7) WIDGETS / EXTRAS
   ========================= */
.tw-tax-calculator{
  border:1px solid var(--border); padding:12px; margin:20px 0;
  border-radius:8px; background:#fafafa;
}
.tw-tax-calculator h4{ margin-bottom:8px; }
.tw-tax-calculator button{
  background: var(--accent); color:#fff; border:none; padding:6px 14px; border-radius:6px; cursor:pointer;
}
.tw-tax-calculator button:hover{ background:#e34c3e; }

/* =========================
   8) RESPONSIVE TWEAKS
   ========================= */
@media (max-width: 900px){
  .managed-expert-section{ flex-direction:column; }
  .text-content, .diagram{ max-width:100%; flex:none; }
}
@media (max-width: 600px){
  .section-header h2, .text-content h2{ font-size:1.8rem; }
  .section-header p{ font-size: var(--fs-18); line-height:1.4; text-align:left; }
}
