/**
 * Theme Name:     LDM Accounting
 * Author:         Abstraction
 * Template:       astra
 * Text Domain:	   ldm-accounting
 * Description:    Astra child theme CSS
 */

.elementor-526 .elementor-element.elementor-element-bc01907 > .elementor-widget-container {
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  border-radius: 10px;
}

.elementor-widget-video .e-hosted-video .elementor-video {
  border-radius: 10px;
}


@media (max-width: 767px) {
  .elementor-widget-button {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 520px) {
p.lead {
    font-size: clamp(0.85625rem, 3vw + 0.03125rem, 1.00625rem)!important;
  }
}

@media (max-width: 520px) {
h1 {font-size: clamp(1.1rem, 4vw, 1.4rem)!important;}
h2 {font-size: clamp(1.1rem, 3.8vw, 1.3rem)!important;}	
p { font-size: clamp(0.8rem, 3vw, 0.9rem)!important;}
 ul li {font-size: clamp(0.75rem, 3vw, 0.9rem)!important;}	
}

@media (min-width: 521px) {
h1 {
  font-size: clamp(1.5rem, 5vw, 2rem)!important;
}

h2 {
  margin-bottom: 12px;
	font-size: clamp(1.4rem, 4.5vw, 2.2rem)!important;
}

p {
  color: #333!important;
  font-size: clamp(0.9rem, 3.5vw, 1rem)!important;
}
	
p.lead {
  font-size: clamp(0.9rem, 3.5vw, 1.1rem)!important;
  color: #444!important;
  margin-bottom: 18px!important;
}
	

ul li {
  margin: 8px 0;
  font-size: clamp(0.85rem, 3.5vw, 1rem)!important;
}
}
@media (max-width: 767px) {
  .elementor-mobile-align-center .elementor-button, .elementor-mobile-align-left .elementor-button, .elementor-mobile-align-right .elementor-button {
    width: 100%;
  }
}

ul {
  margin: 0 0 1.5em 1em;
}
/* =========================================================
   MOBILE SOCIAL ICON FIX (keep ONLY this one block)
   Requires JS to set:
   --ldm-ig-fill: url(#<uniqueGradientId>)
   --ldm-fb-fill: url(#<uniqueGradientId>)
   ========================================================= */
@media (max-width: 544px){


  /* Keep foreground glyphs white */

 
  #ast-mobile-header .ast-header-social-wrap a.ast-facebook svg > path:last-of-type{
    fill: #fff !important;
    stroke: #fff !important;
  }
}


/* =========================================================
   Mobile menu close button styling
   ========================================================= */
.ast-mobile-popup-drawer.active .menu-toggle-close {
  color: #fff;
  background: #d2161a;
  padding: 5px 10px;
  margin: 15px;
}

.ast-button-wrap .menu-toggle.main-header-menu-toggle {
  padding: .3em;
}


/* =========================================================
   Header text block (name + status) spacing
   ========================================================= */
#ast-mobile-header .ast-header-html-2 .tagline .name,
#ast-mobile-header .ast-header-html-2 .tagline .status{
  margin: 0 !important;
  padding: 0 !important;
}

/* Desktop / tablet (545px and up) */
@media (min-width: 545px){
  #ast-mobile-header .ast-header-html-2 .tagline .name{
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
  }

  #ast-mobile-header .ast-header-html-2 .tagline .status,
  #ast-mobile-header .ast-header-html-2 .tagline .status span{
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
  }
}

/* Mobile (544px and below) */
@media (max-width: 544px){
  #ast-mobile-header .ast-header-html-2 .tagline .name{
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
  }

  #ast-mobile-header .ast-header-html-2 .tagline .status,
  #ast-mobile-header .ast-header-html-2 .tagline .status span{
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
  }
}


/* =========================================================
   MOBILE HEADER: phone first row centered, socials second row centered
   ========================================================= */
@media (max-width: 544px) {

  /* Make the center area a vertical stack */
  #ast-mobile-header .ast-above-header-bar .site-header-above-section-center{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  /* Ensure both elements are centered and full row */
  #ast-mobile-header .ast-above-header-bar .site-header-above-section-center
  [data-section="section-hb-html-1"],
  #ast-mobile-header .ast-above-header-bar .site-header-above-section-center
  [data-section="section-hb-social-icons-1"]{
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* Put phone first, socials second */
  #ast-mobile-header .ast-above-header-bar .site-header-above-section-center
  [data-section="section-hb-html-1"]{ order: 1 !important; }

  #ast-mobile-header .ast-above-header-bar .site-header-above-section-center
  [data-section="section-hb-social-icons-1"]{ order: 2 !important; padding: 0; }

  /* Make the "Call us:" line itself centered */
  #ast-mobile-header .ast-header-html-1 .tagline{
    text-align: center !important;
    width: 100% !important;
  }

  /* Center icon row */
  #ast-mobile-header .ast-header-social-1-wrap .header-social-inner-wrap{
    justify-content: center !important;
  }
}


/* =========================================================
   Footer mobile centering
   ========================================================= */
@media (max-width: 544px) {

  #colophon .site-primary-footer-inner-wrap,
  #colophon .site-primary-footer-inner-wrap * {
    text-align: center !important;
  }

  #colophon .site-footer-primary-section-1 .footer-widget-area-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #colophon .site-footer-primary-section-1 figure.wp-block-image,
  #colophon .site-footer-primary-section-1 .wp-block-image {
    margin: 0 auto 12px auto !important;
    display: block !important;
  }

  #colophon .site-footer-primary-section-1 figure.wp-block-image img,
  #colophon .site-footer-primary-section-1 .wp-block-image img {
    display: block !important;
    margin: 0 auto !important;
  }

  #colophon .site-footer-primary-section-1 .textwidget,
  #colophon .site-footer-primary-section-1 .textwidget p,
  #colophon .site-footer-primary-section-1 .textwidget span {
    text-align: center !important;
    margin: 0 !important;
  }
}


/* =========================================================
   Show/hide the right brand version
   ========================================================= */
@media (max-width: 544px){
  .ldm-brand--desktop{ display:none !important; }
  .ldm-brand--mobile{ display:block !important; }
}

@media (min-width: 545px){
  .ldm-brand--desktop{ display:flex !important; }
  .ldm-brand--mobile{ display:none !important; }
}


/* =========================================================
   General typography/layout
   ========================================================= */
.menu-item { line-height: 3; }
li { line-height: 2; }

.entry-title {
  font-size: 3rem;
  font-weight: 700;
}

/* Article padding */
@media (max-width: 544px) {
  .ast-separate-container .ast-article-post,
  .ast-separate-container .ast-article-single,
  .ast-separate-container .comments-title,
  .ast-separate-container .ast-archive-description {
    padding: 10.5em 1em;
  }
}

@media (max-width: 1079px) {
  .ast-separate-container .ast-article-post,
  .ast-separate-container .ast-article-single {
    padding: 10.5em 2.14em;
  }
}

.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single {
  padding: 10.5em 2.14em;
}


/* Keep Services text dark even when submenu is open */
#ast-hf-menu-1 li.menu-item-has-children > a,
#ast-hf-menu-1 li.menu-item-has-children:hover > a,
#ast-hf-menu-1 li.menu-item-has-children:focus-within > a {
  color: #333 !important;
}


/* Card hover effect */
.make-column-clickable-elementor{
  transition: box-shadow .25s ease, transform .25s ease;
  border-radius: 10px;
  overflow: hidden;
}

.make-column-clickable-elementor:hover,
.make-column-clickable-elementor:focus-within{
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
  transform: translateY(-2px);
}


/* Menu dropdown styling */
.ast-builder-menu-1 .main-header-menu > .menu-item > .sub-menu,
.ast-builder-menu-1 .main-header-menu > .menu-item > .astra-full-megamenu-wrapper {
  margin-top: 0px;
  background-color: #fff;
  padding: 5px 10px 5px 10px;
  line-height: 3;
}

.ast-404-layout-1 {
  text-align: center;
  margin: 10em auto 5em auto !important;
}

#menu-item-1060 {
  color: #333 !important;
}

.ast-container,
.ast-container-fluid {
  margin-left: auto;
  margin-right: auto;
  padding-left: 12px;
  padding-right: 12px;
}

.footer-widget-area[data-section="sidebar-widgets-footer-widget-1"].footer-widget-area-inner {
  text-align: left;
}

.widget { margin: 0 0 0em 0; }


/* Footer background */
.site-footer {
  background-color: #d2161a;
  background-image: none;
}


/* Transparent header menu colors */
.ast-theme-transparent-header.ast-header-break-point .ast-builder-menu .main-header-menu {
  background-color: #fff !important;
}

.ast-theme-transparent-header .ast-builder-menu .main-header-menu .menu-link,
.ast-theme-transparent-header [CLASS*="ast-builder-menu-"] .main-header-menu .menu-item > .menu-link {
  color: #333;
  font-weight: 600;
}

.ast-theme-transparent-header .ast-builder-menu .main-header-menu .menu-link:hover,
.ast-theme-transparent-header [CLASS*="ast-builder-menu-"] .main-header-menu .menu-item > .menu-link:hover {
  color: #a50f12;
  font-weight: 600;
}


/* Desktop menu sizing */
@media (min-width: 1080px) {
  #ast-hf-menu-1 { font-size: 14px; }
  .ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item { margin-left:10px; }
}

@media (min-width: 1210px) {
  #ast-hf-menu-1 { font-size: 16px; }
  .ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item { margin-left:20px; }
}

.ast-builder-menu-1 .main-header-menu .menu-item > .menu-link {
  background-color: #fff;
}
