/*
Theme Name: Astra Child
Template: astra
Author: Your Name
Version: 1.0.0
Text Domain: astra-child
*/

@import url('https://db.onlinewebfonts.com/c/0435447fd9d43de93de189e00f2f3dcf?family=Cerebri+Sans+Pro');

/* 13 Sep 2026: review trust band on the navy strip.
   Two long-standing faults, both visible with WP Rocket fully bypassed:
   the GOOGLE / TRUSTPILOT headings wrapped mid-word inside a flex item
   that was allowed to shrink, and the rating caption was slate #334155
   on a navy background, i.e. unreadable. */
.company-star-row-item h2.wp-block-heading{
  white-space: nowrap;
  flex: 0 0 auto;
}
.company-star-row-item .ts4m-rating-line{
  color: #ffffff;
  flex: 0 1 auto;
}
@media (max-width: 600px){
  .company-star-row-item h2.wp-block-heading{ white-space: normal; }
}

/* 13 Sep 2026: PageSpeed accessibility and layout fixes. */

/* Contrast: header phone + email were #8C8686 on #EDEDED = 3.06:1 (needs 4.5:1). */
.header-phone-number, .header-email { color: #5f5f5f !important; }

/* Contrast: primary CTA was #b31942 with white text = 3.93:1 (needs 4.5:1). */
.button_link .wp-block-button__link { background: #b31942 !important; }

/* Hero image was stretched: height:100% + width:100% with object-fit:fill
   distorted it at mobile widths (0.93 vs the true 1.17). */
.big_paragraph_block .image_block img { object-fit: cover; object-position: center; }

/* Contrast: footer links were #6C757D on #F8F9FA = 4.45:1 (needs 4.5:1). */
/* All of these used the same #6C757D on #F8F9FA = 4.45:1, just under the 4.5:1 minimum. */
.site-footer-above-section-2 a,
.page_link_block a,
.category-link span,
.ast-footer-copyright p { color: #666666 !important; }

/* 13 Sep 2026: 'why sell' sections. Tabs on desktop, accordion on mobile.
   Replaces a Swiper carousel that hid four of the five sections behind arrows
   and left 303px of empty space inside every card. */
.ts4m-tabs{ max-width:1000px; margin:0 auto; }
.ts4m-tabs *{ box-sizing:border-box; }
.ts4m-tabs__nav{ display:flex; flex-wrap:wrap; gap:6px; }
.ts4m-tabs__tab{
  -webkit-appearance:none; appearance:none; border:1px solid #d7dded; border-bottom-color:transparent;
  background:#fff; color:#0a3161; font-weight:600; font-size:15px; line-height:1.2;
  padding:13px 20px; border-radius:10px 10px 0 0; cursor:pointer; margin:0;
}
.ts4m-tabs__tab:hover{ background:#eef3fb; }
.ts4m-tabs__tab.is-active{ background:#0a3161; border-color:#0a3161; color:#fff; }
.ts4m-tabs__tab:focus-visible{ outline:3px solid #b31942; outline-offset:2px; }
.ts4m-tabs__panel{
  background:#0a3161; color:#eaf1f9; border-radius:0 16px 16px 16px;
  padding:38px 42px; box-shadow:0 12px 25px rgba(0,0,0,.06);
}
.ts4m-tabs__body{ max-width:68ch; text-align:left; }
.ts4m-tabs__title{ color:#fff; font-size:clamp(22px,2.3vw,31px); line-height:1.25; margin:0 0 18px; }
.ts4m-tabs__body p{ font-size:17px; line-height:1.65; margin:0 0 15px; color:#eaf1f9; text-align:left; }
.ts4m-tabs__lead{ font-weight:600; color:#fff; }
.ts4m-tabs__cta{ font-weight:700; color:#fff; margin-top:22px; }
.ts4m-tabs__sub{ color:#fff; font-size:19px; margin:24px 0 10px; }
.ts4m-tabs__list{ list-style:none; margin:20px 0; padding:0; }
.ts4m-tabs__list li{ position:relative; padding-left:32px; margin:0 0 11px; font-size:17px; line-height:1.55; }
.ts4m-tabs__list li::before{
  content:''; position:absolute; left:2px; top:.38em; width:15px; height:8px;
  border-left:3px solid #6fe2a0; border-bottom:3px solid #6fe2a0; transform:rotate(-45deg);
}
.ts4m-tabs__body a{ color:#ffd66e; text-decoration:underline; }
.ts4m-tabs__body a:hover{ color:#fff; }
.ts4m-tabs__note{ display:inline-block; margin-top:10px; font-size:14px; line-height:1.5; color:#c9d8ea; font-weight:400; }
.ts4m-tabs__acc{ display:none; }

/* Panels are hidden from the first paint so enabling the tabs causes no layout shift.
   The noscript block in the shortcode reopens them when JavaScript is off. */
.ts4m-tabs .ts4m-tabs__panel:not(.is-active){ display:none; }
.ts4m-tabs.no-js .ts4m-tabs__nav{ display:none; }
.ts4m-tabs.no-js .ts4m-tabs__panel{ display:block; border-radius:16px; margin-bottom:14px; }

@media (max-width:860px){
  .ts4m-tabs__nav{ display:none; }
  .ts4m-tabs__panel{ display:block !important; border-radius:14px; margin-bottom:10px; padding:0; }
  .ts4m-tabs__acc{
    display:flex; width:100%; align-items:center; justify-content:space-between; gap:14px;
    background:transparent; border:0; color:#fff; font-weight:700; font-size:17px; line-height:1.35;
    padding:18px 20px; cursor:pointer; text-align:left;
  }
  .ts4m-tabs__acc:focus-visible{ outline:3px solid #b31942; outline-offset:-3px; }
  .ts4m-tabs__chev{
    width:10px; height:10px; border-right:3px solid #fff; border-bottom:3px solid #fff;
    transform:rotate(45deg); transition:transform .2s ease; flex:0 0 auto; margin-top:-5px;
  }
  .ts4m-tabs__acc.is-open .ts4m-tabs__chev{ transform:rotate(-135deg); margin-top:4px; }
  .ts4m-tabs__body{ padding:0 20px 22px; max-width:none; }
  .ts4m-tabs .ts4m-tabs__body{ display:none; }
  .ts4m-tabs .ts4m-tabs__body.is-open{ display:block; }
  .ts4m-tabs__title{ font-size:20px; margin-bottom:14px; }
  .ts4m-tabs__body p, .ts4m-tabs__list li{ font-size:16px; }
}
