/* Fortbrand Elementor Blocks – v2.1.2 */
/* Fixes: logo bar padding restored, sections flush, duplicate arrows removed */

#page-wrap {
    padding: 0!important;
}


/* Fortbrand Elementor Blocks – v2.1.6 (Scoped)
   -----------------------------------------------------
   All selectors are safely namespaced to `.fb-elb`
   so no CSS leaks outside plugin shortcodes.
   ----------------------------------------------------- */

.fb-elb {
  --fb-navy: #0f1724;    /* GSE header */
  --fb-red:  #801616;    /* AME header */
  --fb-mid:  #2e374c;    /* logo bar navy */
  --fb-steel:#353c49;    /* logo bar steel */
  --fb-white:#fff;
  --fb-dark: #111;
  --fb-vpad-lg: 64px;
  --fb-vpad-md: 48px;
  --fb-vpad-sm: 28px;
}

#page-wrap {
  padding: 0!important;
}

/* ===============================
   FEATURED PRODUCTS
   =============================== */
.fb-elb .prods-featured--gse { background: var(--fb-navy); color: var(--fb-white); }
.fb-elb .prods-featured--ame { background: var(--fb-red);  color: var(--fb-white); }

.fb-elb .prods-featured { position:relative; width:100%; margin:0; padding:0; }
.fb-elb .prods-featured .limit { max-width:90%; margin:0 auto; }
.fb-elb .prods-featured .sect-block {
  display:flex; align-items:center; justify-content:space-between;
  padding:28px 20px 14px; color:#fff;
}
.fb-elb .prods-featured .head2 {
  margin:0; font-weight:700; font-size:28px; letter-spacing:.4px;
}
.fb-elb .prods-featured .link {
  color:#fff; text-decoration:none; border-bottom:2px solid #fff;
  text-transform:uppercase; font-size:13px;
}
.fb-elb .prods-featured .link:hover { opacity:.8; }

/* --- Arrows --- */
.fb-elb .pf-nav {
  display:flex; align-items:center; gap:14px; justify-content:center;
}
.fb-elb .pf-btn {
  width:42px; height:42px; border-radius:50%; border:none!important;
  display:grid; place-items:center; background:transparent;
  transition:all 0.2s ease;
}
.fb-elb .pf-btn::before {
  font-size:26px; color:#fff; line-height:1;
}
.fb-elb .pf-prev::before,
.fb-elb .pf-next::before { content:""; }
.fb-elb .pf-btn:hover { opacity:1; }

/* --- Slider --- */
.fb-elb .pf-slider {
  display:flex; gap:24px;
  overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-padding:24px; padding:0 24px 32px;
}
.fb-elb .pf-slider::-webkit-scrollbar { height:10px; }
.fb-elb .pf-slider::-webkit-scrollbar-thumb {
  background:rgba(255,255,255,.25); border-radius:6px;
}

/* --- Cards --- */
.fb-elb .pf-prod {
  scroll-snap-align:start;
  flex:0 0 32%;
  background:#f2f2f2!important; color:var(--fb-dark);
  border-radius:0; overflow:hidden;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
  position:relative; z-index:1;
}
@media (max-width:1024px){ .fb-elb .pf-prod{ flex:0 0 48%; } }
@media (max-width:640px){ .fb-elb .pf-prod{ flex:0 0 85%; } }

.fb-elb .pf-thumb img { display:block; width:100%; height:auto; }
.fb-elb .pfv-txt { padding:16px; }
.fb-elb .pf-short { font-size:.92rem; color:#333; margin:0 0 8px; }
.fb-elb .pf-prod h3 { margin:0; font-size:1.1rem; font-weight:800; color:var(--fb-dark); }

/* --- Buttons --- */
.fb-elb .pf-hid { padding:12px 16px 16px; }
.fb-elb .pf-btns { display:flex; gap:12px; flex-wrap:wrap; }
.fb-elb .pf-btns .btn {
  display:inline-block; padding:8px 14px; border-radius:4px;
  background:var(--fb-navy); color:#fff; text-decoration:none; font-size:14px;
}
.fb-elb .prods-featured--ame .pf-btns .btn { background:var(--fb-red); }
.fb-elb .pf-btns .btn.btn-alt { background:#222; }

/* --- Active Card Highlight --- */
.fb-elb .prods-featured .pf-prod.is-active {
  background:#fff!important;
  transform:scale(1.02);
  z-index:3;
  box-shadow:0 14px 30px rgba(0,0,0,.25);
  opacity:1!important;
}
.fb-elb .pf-prod:not(.is-active) { opacity:0.9; }

/* --- Hide Overlays and Duplicates --- */
.fb-elb .prods-featured--gse .pf-prod::before,
.fb-elb .prods-featured--ame .pf-prod::before,
.fb-elb .prods-featured .pf-nav + .pf-nav {
  display:none!important;
}

/* ===============================
   LOGO BARS
   =============================== */
.fb-elb .fort-brands-bar {
  display:flex; justify-content:center;
  background:var(--fb-mid);
  padding:36px 0;
  margin:0;
}
.fb-elb .fort-brands-bar.ame {
  background:var(--fb-steel);
  border-top:3px solid var(--fb-red);
}
.fb-elb .fort-brands-inner {
  display:flex; align-items:center; justify-content:center;
  gap:70px; flex-wrap:wrap; max-width:90%; margin:0 auto;
}
.fb-elb .fort-brands-inner img {
  max-height:45px; opacity:.85; transition:opacity .2s ease;
}
.fb-elb .fort-brands-inner img:hover { opacity:1; }

@media (max-width:780px){
  .fb-elb .fort-brands-inner { gap:40px; }
  .fb-elb .fort-brands-inner img { max-height:40px; }
}

/* ===============================
   LATEST NEWS (Full Bleed)
   =============================== */
.fb-elb.fort-latest-news {
  position:relative;
  width:100vw;
  background:url('https://fortbrand.com/wp-content/uploads/bg-latest.webp') center/cover no-repeat;
  padding:80px 0;
  color:#fff;
  overflow:hidden;
}
.fb-elb.fort-latest-news::before {
  content:""; position:absolute; inset:0;
  background:rgba(15,23,36,0.75);
  z-index:0;
}
.fb-elb.fort-latest-news .limit {
  position:relative; z-index:2;
  max-width:90%; margin:0 auto; padding:0 20px;
}
.fb-elb.fort-latest-news .sect-block {
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:40px;
}
.fb-elb.fort-latest-news .head2 {
  font-size:2rem; font-weight:700; margin:0;
}
.fb-elb.fort-latest-news .head2 span { color:#fff; }
.fb-elb.fort-latest-news .link {
  color:#fff; text-decoration:none;
  border-bottom:2px solid #801616;
  text-transform:uppercase; font-size:.9rem; font-weight:600;
}
.fb-elb .news-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}
@media (max-width:1024px){
  .fb-elb .news-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .fb-elb .news-grid{ grid-template-columns:1fr; }
}
.fb-elb .news-card {
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  border-radius:4px;
  display:flex; flex-direction:column;
  transition:transform .3s ease, box-shadow .3s ease;
}
.fb-elb .news-card:hover {
  transform:translateY(-4px);
  box-shadow:0 10px 20px rgba(0,0,0,.3);
}
.fb-elb .news-thumb img {
  width:100%; height:240px; object-fit:cover;
  border-bottom:1px solid rgba(255,255,255,.1);
  border-radius:4px 4px 0 0;
}
.fb-elb .news-content {
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(6px);
  padding:20px;
  flex-grow:1;
  display:flex; flex-direction:column; justify-content:space-between;
  min-height:220px;
}
.fb-elb .news-content h3 {
  margin:0 0 8px; font-size:1rem; line-height:1.4;
  font-weight:700; color:#fff;
}
.fb-elb .news-content h3 a {
  color:#fff; text-decoration:none;
}
.fb-elb .news-content h3 a:hover { opacity:.85; }
.fb-elb .news-content .date {
  font-size:.85rem; color:rgba(255,255,255,.7);
  margin-bottom:10px;
}
.fb-elb .news-content .excerpt {
  color:rgba(255,255,255,.85);
  font-size:.95rem; line-height:1.5;
  flex-grow:1; margin-bottom:20px;
}
.fb-elb .news-content .read-more a {
  color:#fff; border-bottom:2px solid #801616;
  text-transform:uppercase; text-decoration:none;
  font-weight:600; font-size:.85rem;
}

/* ===============================
   PARTNERSHIPS SECTION
   =============================== */
.fb-elb .fort-partnerships.fullwidth {
  width:100%; overflow:hidden;
}

/* --- Cooperative (white) --- */
.fb-elb .coop-section {
  background:#fff;
  padding:80px 0;
}
.fb-elb .coop-inner {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  max-width:90%;
  margin:0 auto;
  gap:40px;
  padding:0 40px;
}
.fb-elb .coop-left h2 {
  font-size:2rem; font-weight:700; margin-bottom:14px;
}
.fb-elb .coop-left h2 span { color:#801616; }
.fb-elb .coop-left p { line-height:1.6; color:#222; }
.fb-elb .coop-left .link {
  color:#801616; border-bottom:2px solid #801616;
  text-decoration:none; text-transform:uppercase;
  font-weight:600; font-size:0.9rem;
}
.fb-elb .coop-logos .logo-item {
  display:flex; align-items:center; gap:14px; margin-bottom:18px;
}
.fb-elb .coop-logos img {
  max-width:100px; height:auto;
  border:1px solid #ccc; border-radius:3px;
}
.fb-elb .coop-logos span {
  font-size:0.95rem; color:#333; line-height:1.4;
}
.fb-elb .coop-img img {
  width:100%; height:auto; border-radius:6px;
  box-shadow:0 6px 18px rgba(0,0,0,.15);
}

/* --- Professional (gray) --- */
.fb-elb .assoc-section {
  background:#f5f5f5; padding:80px 0;
}
.fb-elb .assoc-inner {
  display:grid; grid-template-columns:1fr 1fr;
  align-items:center;
  max-width:90%; margin:0 auto;
  gap:40px; padding:0 40px;
}
.fb-elb .assoc-img img {
  width:100%; border-radius:6px;
  box-shadow:0 6px 18px rgba(0,0,0,.15);
}
.fb-elb .assoc-right h2 {
  font-size:2rem; font-weight:700; margin-bottom:14px;
}
.fb-elb .assoc-right h2 span { color:#801616; }
.fb-elb .assoc-right p {
  line-height:1.6; color:#222; margin-bottom:20px;
}
.fb-elb .assoc-logos .logo-item {
  display:flex; align-items:center; gap:14px; margin-bottom:18px;
}
.fb-elb .assoc-logos img {
  max-width:100px; height:auto;
  border:1px solid #ccc; border-radius:3px; background:#fff;
}
.fb-elb .assoc-logos span {
  font-size:0.95rem; color:#333; line-height:1.4;
}

/* --- Responsive stacking --- */
@media (max-width:900px){
  .fb-elb .coop-inner,
  .fb-elb .assoc-inner {
    grid-template-columns:1fr;
    text-align:center;
  }
  .fb-elb .coop-inner { gap:24px; }
  .fb-elb .assoc-inner { gap:24px; }
  .fb-elb .coop-logos .logo-item,
  .fb-elb .assoc-logos .logo-item {
    justify-content:center;
  }
  .fb-elb .coop-img,
  .fb-elb .assoc-img { order:-1; }
}

/* ===============================
   SPACING & ALIGNMENT FIXES
   =============================== */
.fb-elb .fort-brands-bar.gse,
.fb-elb .fort-brands-bar.ame,
.fb-elb.fort-latest-news {
  padding-top:var(--fb-vpad-md)!important;
  padding-bottom:var(--fb-vpad-md)!important;
  margin:0!important;
}
@media (min-width:1200px){
  .fb-elb .fort-brands-bar.gse,
  .fb-elb .fort-brands-bar.ame,
  .fb-elb.fort-latest-news {
    padding-top:var(--fb-vpad-lg)!important;
    padding-bottom:var(--fb-vpad-lg)!important;
  }
}
@media (max-width:767px){
  .fb-elb .fort-brands-bar.gse,
  .fb-elb .fort-brands-bar.ame,
  .fb-elb.fort-latest-news {
    padding-top:var(--fb-vpad-sm)!important;
    padding-bottom:var(--fb-vpad-sm)!important;
  }
}

html, body { overflow-x:hidden; }

/* ===== v2.1.7 – Carousel Arrow Fix (SVG chevrons, one pair only) ===== */

/* hide any Elementor/Swiper default arrows inside the plugin blocks */
.fb-elb .prods-featured .swiper-button-prev,
.fb-elb .prods-featured .swiper-button-next { display: none !important; }

/* keep just one nav group if Elementor duplicated it */
.fb-elb .prods-featured .pf-nav + .pf-nav { display: none !important; }

/* arrow buttons container */
.fb-elb .prods-featured .pf-nav{
  display:flex; align-items:center; justify-content:center; gap:16px;
}

/* circular buttons */
.fb-elb .prods-featured .pf-btn{
  width:42px; height:42px; border-radius:50%;
  border:2px solid #fff; background:transparent;
  display:grid; place-items:center; cursor:pointer; opacity:.95;
  transition:opacity .2s ease, transform .2s ease;
}
.fb-elb .prods-featured .pf-btn:hover{ opacity:1; transform:translateY(-1px); }

/* nuke any text/icon that Elementor might inject */
.fb-elb .prods-featured .pf-btn span{ display:none !important; }

/* draw chevrons via inline SVG so fonts don’t matter */
.fb-elb .prods-featured .pf-btn::before{
  content:""; display:block; width:22px; height:22px; background-repeat:no-repeat;
  background-position:center; background-size:20px 20px;
}

/* left chevron */
.fb-elb .prods-featured .pf-prev::before{
  background-image:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'>\
<polyline points='15 18 9 12 15 6'/></svg>");
}

/* right chevron */
.fb-elb .prods-featured .pf-next::before{
  background-image:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'>\
<polyline points='9 18 15 12 9 6'/></svg>");
}

/* optional: disable text selection flicker on rapid clicks */
.fb-elb .prods-featured .pf-btn{ user-select:none; -webkit-user-select:none; }
