/* ============================================================
   BRAVOTOWER — site-wide redesign layer (demo only)
   Safe, additive enhancements over Astra + Spectra.
   No forced text colors (keeps light/dark sections intact).
   ============================================================ */
:root{
  --bt-red:#DD183B; --bt-red-d:#CC1939; --bt-navy:#0F172A; --bt-ink:#3A3A3A;
  --bt-peach:#FFEDE6; --bt-peach2:#FFD1BF; --bt-line:#ece3df;
  --bt-r:12px; --bt-r-lg:18px;
  --bt-shadow:0 22px 50px -28px rgba(15,23,42,.34);
  --bt-shadow-sm:0 12px 28px -18px rgba(15,23,42,.30);
  --bt-ease:cubic-bezier(.22,.68,.2,1);
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ---- Typography polish (NO color changes — keep section contrast) ---- */
.uagb-heading-text,h1,h2,h3,h4{ letter-spacing:-.01em; }

/* ---- HERO (homepage container 8ecd5811): dramatic overlay + readable white title ---- */
.uagb-block-8ecd5811{ position:relative; }
.uagb-block-8ecd5811::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(105deg, rgba(15,23,42,.88) 0%, rgba(15,23,42,.6) 52%, rgba(221,24,59,.5) 100%);
}
.uagb-block-8ecd5811 > .uagb-container-inner-blocks-wrap{ position:relative; z-index:1; }
.uagb-block-8ecd5811 .uagb-ifb-title{
  color:#fff!important; text-shadow:0 2px 22px rgba(0,0,0,.45); font-size:clamp(34px,5vw,58px); line-height:1.1;
}
.uagb-block-8ecd5811 .uagb-ifb-desc{ color:#eef2f8!important; text-shadow:0 1px 10px rgba(0,0,0,.35); }

/* ---- Buttons: unify to brand pill ---- */
.ast-button,.wp-block-button__link,
.uagb-buttons-repeat .uagb-button__wrapper a,
.wp-block-uagb-buttons-child a,
.wp-block-uagb-call-to-action .uagb-cta__button-wrapper a{
  background:var(--bt-red)!important; color:#fff!important;
  border:2px solid var(--bt-red)!important; border-radius:var(--bt-r)!important;
  font-weight:700!important; letter-spacing:.2px;
  box-shadow:0 14px 30px -14px rgba(221,24,59,.7);
  transition:transform .18s var(--bt-ease), background .18s var(--bt-ease), box-shadow .18s var(--bt-ease);
}
.ast-button:hover,.wp-block-button__link:hover,
.uagb-buttons-repeat .uagb-button__wrapper a:hover,
.wp-block-uagb-buttons-child a:hover,
.wp-block-uagb-call-to-action .uagb-cta__button-wrapper a:hover{
  background:var(--bt-red-d)!important; border-color:var(--bt-red-d)!important;
  transform:translateY(-2px); color:#fff!important;
}

/* ---- Spectra info-box → subtle elevated cards (no color forcing) ---- */
.wp-block-uagb-info-box{
  border-radius:var(--bt-r-lg);
  transition:transform .25s var(--bt-ease), box-shadow .25s var(--bt-ease);
}
.wp-block-uagb-info-box:hover{ transform:translateY(-6px); box-shadow:var(--bt-shadow); }
.uagb-ifb-icon-wrap,.uagb-ifb-image-content img{ transition:transform .3s var(--bt-ease); }
.wp-block-uagb-info-box:hover .uagb-ifb-icon-wrap,
.wp-block-uagb-info-box:hover .uagb-ifb-image-content img{ transform:scale(1.06); }

/* ---- Images: soft radius + gentle hover zoom ---- */
.wp-block-uagb-image,.entry-content .wp-block-image{ overflow:hidden; border-radius:var(--bt-r-lg); }
.wp-block-uagb-image img,.entry-content .wp-block-image img{
  border-radius:var(--bt-r-lg);
  transition:transform .5s var(--bt-ease);
}
.wp-block-uagb-image:hover img,.entry-content .wp-block-image:hover img{ transform:scale(1.04); }

/* ---- Header & menu polish (header bg is brand red → hover must stay light) ---- */
.site-header,.ast-primary-header-bar{ box-shadow:0 8px 28px -22px rgba(15,23,42,.5); }
/* top-level items sit on the RED header bar → white hover + underline (stays visible) */
.ast-builder-menu .menu-link:hover,.main-header-menu .menu-link:hover,
.ast-builder-menu .menu-link:focus,.ast-header-account-wrap a:hover{
  color:#fff!important; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:7px;
  text-decoration-color:rgba(255,255,255,.85);
}
.ast-builder-menu .current-menu-item > .menu-link{ text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:7px; }
/* dropdown submenu is WHITE → text must be navy, hover RED (never white-on-white = invisible) */
.ast-builder-menu .sub-menu,.main-header-menu .sub-menu{ border-top:3px solid var(--bt-red)!important; box-shadow:0 20px 44px -20px rgba(15,23,42,.45)!important; border-radius:0 0 10px 10px; }
.ast-builder-menu .sub-menu .menu-link,.main-header-menu .sub-menu .menu-link{ color:var(--bt-navy)!important; text-decoration:none!important; }
.ast-builder-menu .sub-menu .menu-link:hover,.ast-builder-menu .sub-menu .menu-item:hover>.menu-link,
.main-header-menu .sub-menu .menu-link:hover,.main-header-menu .sub-menu .menu-item:hover>.menu-link{ color:var(--bt-red)!important; background:var(--bt-peach)!important; text-decoration:none!important; }
.ast-builder-menu .sub-menu .current-menu-item>.menu-link{ color:var(--bt-red)!important; text-decoration:none; }

/* ---- Blog / archive cards ---- */
.blog .ast-article-post,.archive .ast-article-post{
  background:#fff; border:1px solid var(--bt-line); border-radius:var(--bt-r-lg);
  padding:8px; box-shadow:var(--bt-shadow-sm);
  transition:transform .22s var(--bt-ease), box-shadow .22s var(--bt-ease);
}
.blog .ast-article-post:hover,.archive .ast-article-post:hover{ transform:translateY(-5px); box-shadow:var(--bt-shadow); }
.blog .ast-article-post .post-thumb img,.archive .ast-article-post .post-thumb img{ border-radius:var(--bt-r); }

/* ---- Red sections (testimonials #dacaaaef + team #ae4b22ad): readable light text ---- */
.uagb-block-dacaaaef .uagb-tm__desc,
.uagb-block-dacaaaef .uagb-tm__author-name,
.uagb-block-dacaaaef .uagb-heading-text,
.uagb-block-ae4b22ad .uagb-heading-text{ color:#ffffff!important; }
.uagb-block-dacaaaef .uagb-tm__author-name{ font-weight:700; }
.uagb-block-dacaaaef .uagb-tm__company,
.uagb-block-ae4b22ad .uagb-desc-text{ color:var(--bt-peach2)!important; }
.uagb-block-dacaaaef .uagb-tm__desc{ font-size:1.02em; }

/* ---- Selection ---- */
::selection{ background:var(--bt-red); color:#fff; }

/* ============================================================
   HEADER (Astra) — large-screen scaling, proportional & aligned.
   (1) Header content box = body content width (.bt-wrap) → margins match.
   (2) Logo/menu/icons scale MODESTLY (compact header, not bulky).
   (3) Dropdown panels widen + reserve room for the › arrow so text
       never collides; submenu text scales too.
   (4) Social icons: real horizontal row with proper spacing.
   Below 1600px: untouched (laptop/tablet/phone safe).
   ============================================================ */
/* Social icons: neat horizontal row. Astra wraps each icon, so `gap`
   on the wrap doesn't reach them — space the direct children directly. */
.ast-header-social-wrap,.ast-header-social-1-wrap{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;width:auto!important}
.ast-header-social-wrap>*{margin:0!important}
.ast-header-social-wrap>*:last-child{margin-right:0!important}

@media(min-width:1600px){
  .ast-primary-header-bar .ast-container{max-width:1440px!important;padding-left:24px!important;padding-right:24px!important}
  .ast-primary-header-bar.main-header-bar{padding-top:5px!important;padding-bottom:5px!important}
  .custom-logo{width:270px!important;max-width:270px!important;height:auto!important}
  .main-header-menu,.ast-builder-menu .main-header-menu,.main-navigation{flex-wrap:nowrap!important;white-space:nowrap}
  .main-header-menu>.menu-item>.menu-link{white-space:nowrap}
  .ast-builder-menu .menu-link,.main-header-menu .menu-link{font-size:18.5px}
  .ast-builder-menu .sub-menu,.main-header-menu .sub-menu{min-width:300px!important}
  .ast-builder-menu .sub-menu .menu-link,.main-header-menu .sub-menu .menu-link{font-size:16.5px;padding:14px 46px 14px 22px!important}
  .ast-search-icon{font-size:20px}.ast-search-icon svg{width:1.05em;height:1.05em}
  .ast-header-social-wrap>*{margin:0 7px!important}
  .ast-header-social-wrap svg,.ast-header-social-wrap img,.ast-header-social-1-wrap svg{width:22px;height:22px}
}
@media(min-width:2000px){
  .ast-primary-header-bar .ast-container{max-width:1780px!important}
  .ast-primary-header-bar.main-header-bar{padding-top:7px!important;padding-bottom:7px!important}
  .custom-logo{width:310px!important;max-width:310px!important}
  .ast-builder-menu .menu-link,.main-header-menu .menu-link{font-size:21px}
  .ast-builder-menu .sub-menu,.main-header-menu .sub-menu{min-width:345px!important}
  .ast-builder-menu .sub-menu .menu-link,.main-header-menu .sub-menu .menu-link{font-size:18.5px;padding:16px 52px 16px 24px!important}
  .ast-search-icon{font-size:23px}
  .ast-header-social-wrap>*{margin:0 9px!important}
  .ast-header-social-wrap svg,.ast-header-social-wrap img,.ast-header-social-1-wrap svg{width:25px;height:25px}
}
@media(min-width:2560px){ /* 2K */
  .ast-primary-header-bar .ast-container{max-width:2240px!important}
  .ast-primary-header-bar.main-header-bar{padding-top:10px!important;padding-bottom:10px!important}
  .custom-logo{width:360px!important;max-width:360px!important}
  .ast-builder-menu .menu-link,.main-header-menu .menu-link{font-size:25px}
  .ast-builder-menu .sub-menu,.main-header-menu .sub-menu{min-width:410px!important}
  .ast-builder-menu .sub-menu .menu-link,.main-header-menu .sub-menu .menu-link{font-size:22px;padding:19px 60px 19px 28px!important}
  .ast-search-icon{font-size:27px}
  .ast-header-social-wrap>*{margin:0 12px!important}
  .ast-header-social-wrap svg,.ast-header-social-wrap img,.ast-header-social-1-wrap svg{width:30px;height:30px}
}
@media(min-width:3500px){ /* 4K */
  .ast-primary-header-bar .ast-container{max-width:3100px!important}
  .ast-primary-header-bar.main-header-bar{padding-top:16px!important;padding-bottom:16px!important}
  .custom-logo{width:470px!important;max-width:470px!important}
  .ast-builder-menu .menu-link,.main-header-menu .menu-link{font-size:33px}
  .ast-builder-menu .sub-menu,.main-header-menu .sub-menu{min-width:560px!important}
  .ast-builder-menu .sub-menu .menu-link,.main-header-menu .sub-menu .menu-link{font-size:29px;padding:26px 80px 26px 38px!important}
  .ast-search-icon{font-size:36px}
  .ast-header-social-wrap>*{margin:0 18px!important}
  .ast-header-social-wrap svg,.ast-header-social-wrap img,.ast-header-social-1-wrap svg{width:40px;height:40px}
}
@media(min-width:6000px){ /* 8K */
  .ast-primary-header-bar .ast-container{max-width:5400px!important}
  .ast-primary-header-bar.main-header-bar{padding-top:30px!important;padding-bottom:30px!important}
  .custom-logo{width:760px!important;max-width:760px!important}
  .ast-builder-menu .menu-link,.main-header-menu .menu-link{font-size:54px}
  .ast-builder-menu .sub-menu,.main-header-menu .sub-menu{min-width:920px!important}
  .ast-builder-menu .sub-menu .menu-link,.main-header-menu .sub-menu .menu-link{font-size:47px;padding:42px 130px 42px 60px!important}
  .ast-search-icon{font-size:58px}
  .ast-header-social-wrap>*{margin:0 30px!important}
  .ast-header-social-wrap svg,.ast-header-social-wrap img,.ast-header-social-1-wrap svg{width:66px;height:66px}
}
