/*
Theme Name:   Black Badger Divi 
Theme URI:    https://staging-new.blackbadger.biz/
Description:  Child theme for Divi customised for Black Badger
Author:       Jon Teychenne for Black Badger
Template:     Divi
Version:      1.0
*/

/* Prevent icon flash before Divi font loads */
[class*="et-social-icon"] a::before,
.et_pb_font_icon,
.et_pb_social_icon a::before {
  font-family: "ETmodules" !important;
  font-size: 16px;
  color: inherit;
  display: inline-block;
  line-height: 1;
  visibility: hidden;
}

/* Reveal icons after the font is ready */
html.fonts-loaded [class*="et-social-icon"] a::before,
html.fonts-loaded .et_pb_font_icon,
html.fonts-loaded .et_pb_social_icon a::before {
  visibility: visible;
}


@import url("../Divi/style.css");

/* =========================================================
   Landing Layout
========================================================= */
.landing-container { width:80%; max-width:1100px; margin:auto; }
.standard-text,
.cluster-text p,
.landing-implementation-steps-item p,
.landing-implementation-intro p,
.landing-implementation-outro p,
.landing-service-intro p,
.landing-serivce-features-item p { font-size:22px; font-weight:300; line-height:1.4em; padding-top:25px; }

.landing-title-text { text-align:center; color:#fff; padding-top:40vh; }
.landing-title-text h1 { font-size:50px; line-height:1.3em; color:#fff; }
.landing-sub-text { padding-top:20px; }
.landing-sub-text p { font-family:lato,arial; color:#fff; font-weight:300; font-size:25px; text-align:center; }

.landing-button { text-align:center; padding-top:50px; }
.landing-button button,
.landing-cta-block button,
.whitepaper-download-form .wpcf7-submit,
.col-50 input.wpcf7-form-control.has-spinner.wpcf7-submit {
  color:#fff!important; background:#3d4d42; border:none; border-radius:10px;
  font-family:'Lato',Helvetica,Arial,Lucida,sans-serif!important;
  font-size:20px; letter-spacing:0; text-align:center; cursor:pointer;
}
.landing-button button a { padding:21px 32px; border-radius:10px}
.landing-button button { padding:21px 32px; border-radius:10px}
.landing-green-bg .landing-button button a {border:solid 1px #fff;color:#fff !important}
.landing-green-bg .landing-button a:hover {border:solid 1px #fff;background-color:#fff;color:#3d4d42 !important;}
.landing-implementation-outro .landing-button button a, .landing-white-bg .landing-button button a, .landing-hero .landing-button button a {color:#fff}
.landing-implementation-outro .landing-button button:hover, .landing-white-bg .landing-button button:hover, .landing-hero .landing-button button:hover {background: #3d5b52;}

.landing-partner-logo { max-width:500px; margin:auto; padding:90px 30px 0; }

.landing-green-bg { background:#3d4d42; color:#fff; }
.landing-green-bg h2,
.landing-implementation-steps-section h2,
.landing-implementation-intro h2,
.landing-service-intro h2,
.landing-serivce-features-item h2 { color:#fff; font-size:35px; }
.cluster-block-two h2 { color:#000; font-size:35px; }

.landing-cluster-left,
.landing-cluster-right { display:flex; }
.landing-cluster-right { flex-direction:row-reverse; }
.cluster-text, .cluster-image { width:50%; }
.landing-cluster-left .cluster-image { margin:-90px 0 -7px; }
.landing-cluster-right .cluster-image { margin-bottom:-90px; }
.landing-cluster-left .cluster-text { padding:100px 40px 0; }
.landing-cluster-right .cluster-text { padding:100px 0 0 40px; }
.cluster-block-two { padding:100px 0; }
.cluster-block-two .landing-cluster-left .cluster-image { margin-top:-17px; }
.cluster-block-two .landing-cluster-right .cluster-image { margin-bottom:0; }


.landing-cta-block { padding:100px 0; text-align:center; }
.landing-cta-block p { padding-bottom:100px; font-weight:400; font-size:25px; line-height:1.4em; }



.landing-implementation-section { padding:100px 0; }
.landing-implementation-steps-section { display:flex; max-width:1100px; flex-wrap:wrap; }
.landing-implementation-steps-item {
  background:#4d4545; padding:80px; background-size:cover; background-position:50%;
  background-repeat:no-repeat; float:left; position:relative; z-index:1; width:46%; margin:20px 2%;
}
.landing-implementation-intro,
.landing-implementation-outro,
.landing-service-intro { text-align:center; max-width:980px; margin:auto; padding:0 20px 50px 0; }

.landing-serivce-features { padding-bottom:50px; }
.landing-service-features-section { display:flex; flex-wrap:wrap; }
.landing-service-features-section .landing-serivce-features-item {
  width:50%; text-align:center; padding:50px;
}
.services-icon { text-align:center; padding-bottom:40px; }
.services-icon img { max-width:150px!important; }

.page-template-page-locations .et-l--footer {margin-top:0px}

/* =========================================================
   Partners Menu
========================================================= */
.partners-menu { display:flex; background:#fff; max-width:1200px; margin:0 auto; font-family:'Lato',sans-serif; }
.partners-tabs { flex:0 0 220px; display:flex; flex-direction:column; }
.partners-tabs button {
  padding:14px 18px; border:0; background:none; font-weight:500; font-size:16px; color:#444;
  text-align:left; cursor:pointer; transition:all .2s;
}
.partners-tabs button:hover, .partners-tabs button.active { background:#2f4237; color:#fff; }
.partners-content { flex:1; padding:0 32px; }
.partner-panel { display:none; animation:fadeIn .25s ease; }
.partner-panel.active { display:block; }
.partner-panel h3, .partner-panel h4 { font-family:'Playfair Display',serif; color:#2a2a2a; }
.partner-panel h3 { font-size:23px; margin:0 0 8px; }
.partner-panel h4 { font-size:18px; margin:0 0 6px; }
.partner-panel p, .partner-panel li { font-size:16px; color:#333; font-weight:300; }
.partner-panel p, .partner-panel a { padding-bottom:1em!important; }
.partner-panel a { color:#000; text-decoration:underline; }
.partner-panel a:hover { text-decoration:underline; }
.partner-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-items:start; }
.partner-columns img { max-width:100%; height:auto; margin:12px 0 20px; }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

/* =========================================================
   Responsive Adjustments
========================================================= */
@media(max-width:980px){
  .partners-menu{flex-direction:column;}
  .partners-tabs{flex-direction:row;overflow-x:auto;}
  .partners-tabs button{white-space:nowrap;}
  .partner-columns{grid-template-columns:1fr;}
}
@media only screen and (max-width:600px){
  .landing-hero{height:auto!important;padding-bottom:50px!important;}
  .landing-cluster-left,.landing-cluster-right{display:block;}
  .cluster-text,.cluster-image{width:100%;}
  .landing-cluster-left .cluster-image,.landing-cluster-right .cluster-image{margin:0;}
  .landing-cluster-left .cluster-text,.landing-cluster-right .cluster-text{padding:50px 0;}
  .cluster-block-two{padding:0;}
  .landing-implementation-steps-section{display:block;}
  .landing-implementation-steps-item{width:100%;padding:30px;}
  .landing-service-features-section{display:block!important;}
  .landing-service-features-section .landing-serivce-features-item{width:100%!important;text-align:center;padding:50px 0;}
}

/* =========================================================
   Misc Components
========================================================= */
.cky-revisit-bottom-left{bottom:20px!important;left:100px!important;}
.mobile-menu-section .et_pb_row{width:100%;}
.et_mobile_menu{border:0;}
.megatabs p{font-size:16px!important;}
.small-text{font-size:12px!important;}
.tooltip{position:relative;display:inline-block;text-decoration:underline dotted!important;}
.tooltip .tooltiptext{
  visibility:hidden;width:180px;background:#000;color:#fff;text-align:center;border-radius:6px;padding:10px;
  position:absolute;z-index:99;
}
.tooltip:hover .tooltiptext{visibility:visible;}

/* =========================================================
   Pricing Columns
========================================================= */
.price-columns{display:flex;width:100%;}
.price-col{
  width:24%;min-height:440px;margin:auto;margin-bottom:20px!important;padding:15px;
  text-align:center;border:1px solid #c2c2c2;border-radius:10px;border-top-width:10px;
}
.price-col h2{font-size:30px;font-weight:600;padding-bottom:40px;}
.price-col h3{font-weight:600;font-family:lato;}
.price-col h4{font-size:25px;padding:15px;}
.price-col span{font-weight:400;font-size:20px;}
.price-col .button{display:block;color:#fff;background:#3d4d42;padding:15px 32px;margin-top:50px;font-size:16px;}
.col-bronze{border-top-color:#a67b60;}
.col-silver{border-top-color:silver;}
.col-gold{border-top-color:gold;}
.col-enterprise{border-top-color:#3d4d42;}

/* =========================================================
   Footer & Forms
========================================================= */
#menu-footer-menu{list-style:none;margin:0;padding:0;font-size:18px;}
.menu-footer-menu-container{margin-top:50px;}
#footer-widgets .footer-widget li::before{content:"";border:none;}
#footer-info{text-align:center!important;float:none;}
.footer-widget input[type="email"],
.footer-widget input[type="submit"]{
  width:100%;border:none;border-radius:10px;font-size:17px;font-weight:500;
  font-family:'Lato',Helvetica,Arial,Lucida,sans-serif!important;
}
.footer-widget input[type="email"]{
  padding:17px 15px;background:rgba(255,255,255,0.5);color:#fff!important;margin-top:30px;
}
.footer-widget input[type="submit"]{
  padding:17px 15px;background:#333;color:#fff!important;margin-top:30px;
}
.footer-widget input::placeholder{color:#fff!important;}

/* =========================================================
   Accessibility / UX Tweaks
========================================================= */
.et-waypoint,
.et_pb_animation_top,
.et_pb_animation_bottom,
.et_pb_animation_left,
.et_pb_animation_right,
.et_pb_animation_fade_in,
.et_animated,
.et_pb_section.et_pb_section_0 .et_pb_fullwidth_header {
  opacity:1!important; transform:none!important; transition:none!important; animation:none!important;
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* =========================================================
   Groovy Nav
========================================================= */
@media (min-width:1024px){
  .gm-navbar .gm-logo > a img{height:155px!important;}
}
.et_pb_row_0_tb_header.et_pb_row{padding:15px 0!important;}

/* =========================================================
   Icon Lists
========================================================= */
.fa-circle-tick, .fa-tick-list{
  list-style:none;margin:0;padding:0;font-size:18px;font-weight:400;line-height:1.6;color:#3e3e3e;
}
.fa-circle-tick li, .fa-tick-list li{display:flex;align-items:flex-start;gap:.7rem;padding:.55rem 0;margin:0;}
.fa-circle-tick i, .fa-tick-list i{
  flex:0 0 auto;font-size:1.2em;color:#3d4d42;margin-top:.2em;opacity:.95;
}
@media(max-width:767px){.fa-circle-tick, .fa-tick-list{font-size:16px;}}


/* === Basic CF7 Field Styling === */
.wpcf7 form {
  max-width: 800px;
  margin: 0 auto;
  background: #fff;
  padding: 2rem;
  border-radius: 12px;
  box-sizing: border-box;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  padding: 14px 16px;
  margin-bottom: 1rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 16px;
  font-family: inherit;
  color: #333;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
  outline: none;
  border-color: #2f463f; /* your brand green */
  box-shadow: 0 0 0 2px rgba(47, 70, 63, 0.1);
}

.wpcf7 textarea {
  min-height: 150px;
  resize: vertical;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #888;
}

/* === Submit button === */
.wpcf7 input[type="submit"] {
  display: inline-block;
  background: #3d4d42;
  font-size: 20px;
  cursor: pointer;
  transition: background 0.3s ease;
  
  padding-top: 16px !important;
  padding-right: 32px !important;
  padding-bottom: 16px !important;
  padding-left: 32px !important;
  
  color: #ffffff !important;
  border-width: 0px !important;
  border-radius: 10px;
  font-family: 'Lato',Helvetica,Arial,Lucida,sans-serif !important;
  background-color: #3d4d42;
  
  float:right;
}

.wpcf7 input[type="submit"]:hover {
  background: #3d5b52;
}

/* === reCAPTCHA alignment === */
.wpcf7 .wpcf7-form-control.g-recaptcha {
  margin-bottom: 1rem;
}

/* === Error messages === */
.wpcf7 .wpcf7-not-valid-tip {
  color: #b30000;
  font-size: 14px;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
}

.wpcf7 .wpcf7-response-output {
  border: none;
  padding: 0;
  margin-top: 1rem;
  font-size: 15px;
  color: #2f463f;
}


.et-l--footer {margin-top: 140px;}
.et_pb_section_1_tb_footer {height:initial !important}
.et_pb_section_2_tb_footer {margin-top:-160px !important}
.landing-implementation-steps-item p {color:#fff}