/* =====================================================================
   IBTDI V55 — Premium button system + services decision CTA
   Loaded last to unify legacy button styles without changing components.
   ===================================================================== */
:root{
  --v55-blue:#1677ff;
  --v55-cyan:#20b8ff;
  --v55-violet:#6b5cff;
  --v55-ink:#07101f;
  --v55-radius:18px;
}

.ibtdi_button_icon,
.ibtdi_button_icon_font{
  position:relative;
  z-index:2;
  flex:0 0 auto;
  width:19px;
  height:19px;
  font-size:19px;
  line-height:1;
}
.ibtdi_button_icon{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Consistent geometry and tactile depth for all action buttons. */
.saas_btn,
.future_white_btn,
.ibtdi_secondary_btn,
.ibtdi_light_btn,
.stack_action,
.product_selection_summary a,
.product_add_btn,
.product_store_contact,
.testimonial_contact_cta,
.portfolio_intro_cta,
.faq_cta,
.footer_v25_primary,
.footer_v25_whatsapp,
.audience_v11_primary > a,
.mock_panel > a,
.services_decision_primary,
.services_decision_whatsapp{
  position:relative;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:13px 21px;
  border-radius:var(--v55-radius);
  border:1px solid rgba(255,255,255,.18);
  font-weight:850;
  line-height:1.2;
  text-decoration:none!important;
  overflow:hidden;
  transform:translateZ(0);
  transition:transform .3s cubic-bezier(.2,.75,.2,1),box-shadow .3s ease,border-color .3s ease,filter .3s ease!important;
}

.saas_btn:after,
.future_white_btn:after,
.ibtdi_secondary_btn:after,
.ibtdi_light_btn:after,
.product_selection_summary a:after,
.product_add_btn:after,
.product_store_contact:after,
.testimonial_contact_cta:after,
.portfolio_intro_cta:after,
.faq_cta:after,
.footer_v25_primary:after,
.footer_v25_whatsapp:after,
.services_decision_primary:after,
.services_decision_whatsapp:after{
  content:"";
  position:absolute;
  z-index:1;
  inset:-120% -35%;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.48) 49%,transparent 60%);
  transform:translateX(65%);
  opacity:0;
  transition:transform .75s cubic-bezier(.2,.75,.2,1),opacity .25s ease;
}

.saas_btn:hover:after,
.future_white_btn:hover:after,
.ibtdi_secondary_btn:hover:after,
.ibtdi_light_btn:hover:after,
.product_selection_summary a:hover:after,
.product_add_btn:hover:after,
.product_store_contact:hover:after,
.testimonial_contact_cta:hover:after,
.portfolio_intro_cta:hover:after,
.faq_cta:hover:after,
.footer_v25_primary:hover:after,
.footer_v25_whatsapp:hover:after,
.services_decision_primary:hover:after,
.services_decision_whatsapp:hover:after{
  opacity:1;
  transform:translateX(-65%);
}

.saas_btn:hover,
.future_white_btn:hover,
.ibtdi_secondary_btn:hover,
.ibtdi_light_btn:hover,
.stack_action:hover,
.product_selection_summary a:hover,
.product_add_btn:hover,
.product_store_contact:hover,
.testimonial_contact_cta:hover,
.portfolio_intro_cta:hover,
.faq_cta:hover,
.footer_v25_primary:hover,
.footer_v25_whatsapp:hover,
.audience_v11_primary > a:hover,
.mock_panel > a:hover,
.services_decision_primary:hover,
.services_decision_whatsapp:hover{
  transform:translateY(-4px)!important;
  filter:saturate(1.06);
}

.saas_btn:focus-visible,
.future_white_btn:focus-visible,
.ibtdi_secondary_btn:focus-visible,
.ibtdi_light_btn:focus-visible,
.stack_action:focus-visible,
.product_filter:focus-visible,
.product_add_btn:focus-visible,
.product_store_contact:focus-visible,
.testimonial_contact_cta:focus-visible,
.portfolio_intro_cta:focus-visible,
.faq_cta:focus-visible,
.services_decision_primary:focus-visible,
.services_decision_whatsapp:focus-visible{
  outline:3px solid rgba(32,184,255,.38);
  outline-offset:4px;
}

/* Primary actions */
.saas_btn.ibtdi_primary_btn,
.ibtdi_light_btn,
.product_selection_summary a,
.product_store_contact,
.testimonial_contact_cta,
.portfolio_intro_cta,
.footer_v25_primary,
.services_decision_primary{
  color:#fff!important;
  background:
    radial-gradient(circle at 20% 15%,rgba(255,255,255,.38),transparent 18%),
    linear-gradient(135deg,#0b68ee 0%,var(--v55-cyan) 48%,var(--v55-violet) 100%)!important;
  border-color:rgba(255,255,255,.24)!important;
  box-shadow:0 16px 34px rgba(17,119,255,.28),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,48,120,.20)!important;
}
.saas_btn.ibtdi_primary_btn:hover,
.ibtdi_light_btn:hover,
.product_selection_summary a:hover,
.product_store_contact:hover,
.testimonial_contact_cta:hover,
.portfolio_intro_cta:hover,
.footer_v25_primary:hover,
.services_decision_primary:hover{
  box-shadow:0 23px 48px rgba(17,119,255,.38),0 0 30px rgba(32,184,255,.18),inset 0 1px 0 rgba(255,255,255,.34)!important;
}

/* Light actions */
.future_white_btn,
.faq_cta,
.mock_panel > a{
  color:#07101f!important;
  background:linear-gradient(145deg,#fff,#f6f9ff 60%,#eaf2ff)!important;
  border-color:rgba(255,255,255,.8)!important;
  box-shadow:0 15px 34px rgba(7,16,31,.14),inset 0 1px 0 #fff,inset 0 0 0 1px rgba(22,119,255,.07)!important;
}
.future_white_btn:hover,
.faq_cta:hover,
.mock_panel > a:hover{
  box-shadow:0 22px 45px rgba(7,16,31,.18),0 0 28px rgba(32,184,255,.13),inset 0 1px 0 #fff!important;
}

/* Dark and card actions */
.stack_action,
.ibtdi_secondary_btn,
.footer_v25_whatsapp,
.audience_v11_primary > a{
  color:#fff!important;
  background:
    radial-gradient(circle at 18% 10%,rgba(32,184,255,.22),transparent 22%),
    linear-gradient(135deg,#07101f,#111c32 58%,#081426)!important;
  border-color:rgba(32,184,255,.22)!important;
  box-shadow:0 15px 34px rgba(7,16,31,.24),inset 0 1px 0 rgba(255,255,255,.09)!important;
}
.stack_action{
  min-height:50px;
  padding-inline:19px;
  border-radius:16px;
}
.stack_action:after{
  content:"←";
  position:relative;
  z-index:2;
  width:auto;
  height:auto;
  inset:auto;
  background:none;
  opacity:1;
  transform:none;
  font-size:18px;
  transition:transform .25s ease;
}
.stack_action:hover:after{transform:translateX(-4px);}

/* Store controls feel like part of one premium product UI. */
.product_filters{
  gap:9px!important;
}
.product_filter{
  min-height:45px;
  padding:10px 17px!important;
  border-radius:14px!important;
  border:1px solid rgba(18,40,75,.10)!important;
  background:rgba(255,255,255,.76)!important;
  color:#31415c!important;
  box-shadow:0 8px 22px rgba(20,40,75,.06),inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease!important;
}
.product_filter:hover{
  transform:translateY(-2px);
  color:var(--v55-blue)!important;
  box-shadow:0 13px 28px rgba(20,80,160,.11);
}
.product_filter.is-active{
  color:#fff!important;
  background:linear-gradient(135deg,var(--v55-blue),var(--v55-violet))!important;
  border-color:transparent!important;
  box-shadow:0 13px 28px rgba(22,119,255,.25)!important;
}
.product_add_btn{
  min-height:46px;
  border-radius:14px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#0d1729,#182945)!important;
  border:1px solid rgba(22,119,255,.2)!important;
  box-shadow:0 11px 25px rgba(7,16,31,.17),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.product_add_btn:hover{
  box-shadow:0 17px 34px rgba(7,16,31,.24),0 0 24px rgba(22,119,255,.14)!important;
}

/* Header controls: compact but still tactile. */
.ibtdi_header_v6 .nav_right a.login_btn,
.ibtdi_header_v6 .nav_right a.signup_btn{
  gap:8px!important;
  box-shadow:0 12px 28px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.20)!important;
}
.ibtdi_header_v6 .nav_right a.login_btn:hover,
.ibtdi_header_v6 .nav_right a.signup_btn:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 36px rgba(0,0,0,.25),0 0 22px rgba(32,184,255,.14)!important;
}

/* Use the former empty space below the sticky service stack. */
.ibtdi_services_stack_wrap{
  padding-bottom:64px!important;
}
.services_decision_cta{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:25px;
  margin-top:0;
  padding:30px 32px;
  border-radius:30px;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(115deg,rgba(7,16,31,.97),rgba(13,31,58,.96) 62%,rgba(13,58,94,.94)),
    #07101f;
  border:1px solid rgba(83,185,255,.22);
  box-shadow:0 28px 75px rgba(7,16,31,.22),inset 0 1px 0 rgba(255,255,255,.10);
}
.services_decision_cta:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(90deg,#000,transparent 78%);
}
.services_decision_glow{
  position:absolute;
  left:-90px;
  bottom:-140px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(32,184,255,.40),rgba(107,92,255,.13) 42%,transparent 70%);
  filter:blur(8px);
  pointer-events:none;
}
.services_decision_mark{
  position:relative;
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  border-radius:23px;
  color:#9bddff;
  background:linear-gradient(145deg,rgba(32,184,255,.22),rgba(107,92,255,.14));
  border:1px solid rgba(132,210,255,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 16px 38px rgba(0,0,0,.22);
}
.services_decision_mark svg{
  width:35px;
  height:35px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.services_decision_content{position:relative;z-index:1;}
.services_decision_eyebrow{
  display:block;
  margin-bottom:7px;
  color:#83d8ff;
  font-size:13px;
  font-weight:850;
}
.services_decision_content h3{
  margin:0 0 8px;
  color:#fff;
  font-size:clamp(24px,2.3vw,35px);
  line-height:1.3;
}
.services_decision_content p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:15px;
  line-height:1.85;
}
.services_decision_points{
  display:flex;
  flex-wrap:wrap;
  gap:9px 17px;
  margin-top:16px;
}
.services_decision_points span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:750;
}
.services_decision_points i{
  display:grid;
  place-items:center;
  width:19px;
  height:19px;
  border-radius:50%;
  color:#07101f;
  background:#68e3b5;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
.services_decision_actions{
  position:relative;
  z-index:1;
  display:grid;
  gap:11px;
  width:245px;
}
.services_decision_primary,
.services_decision_whatsapp{
  width:100%;
  min-height:55px;
}
.services_decision_whatsapp{
  color:#dffff0!important;
  background:rgba(29,193,103,.11)!important;
  border-color:rgba(66,224,139,.30)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 30px rgba(0,0,0,.14)!important;
}
.services_decision_whatsapp:hover{
  background:rgba(29,193,103,.18)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.20),0 0 26px rgba(37,211,102,.12)!important;
}

@media(max-width:991.98px){
  .ibtdi_services_stack_wrap{padding-bottom:30px!important;}
  .services_decision_cta{
    grid-template-columns:auto minmax(0,1fr);
    padding:27px;
  }
  .services_decision_actions{
    grid-column:1/-1;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
}

@media(max-width:575.98px){
  .services_decision_cta{
    display:block;
    padding:23px 19px;
    border-radius:24px;
  }
  .services_decision_mark{
    width:58px;
    height:58px;
    margin-bottom:18px;
    border-radius:18px;
  }
  .services_decision_content h3{font-size:25px;}
  .services_decision_points{display:grid;}
  .services_decision_actions{
    display:grid;
    grid-template-columns:1fr;
    margin-top:22px;
  }
  .services_decision_primary,
  .services_decision_whatsapp{min-height:54px;padding-inline:15px;}
  .product_filter{min-height:43px;padding:9px 14px!important;}
}

@media(prefers-reduced-motion:reduce){
  .saas_btn,
  .future_white_btn,
  .stack_action,
  .product_filter,
  .product_add_btn,
  .product_store_contact,
  .testimonial_contact_cta,
  .portfolio_intro_cta,
  .faq_cta,
  .services_decision_primary,
  .services_decision_whatsapp{
    transition:none!important;
    animation:none!important;
  }
}
