/* CSS File 
	===================
	Item Name: Sava - Creative pricing tables
	Author: Ashish Maraviya
	Version: 3.0
	Copyright 2023-2024
===================*/
/*==============
	Page General css
=================*/
body {
  font-family: "Poppins", sans-serif;
}

h1 {
  font-family: "Poppins", sans-serif;
}

h2 {
  font-family: "Poppins", sans-serif;
  margin-top: -5px;
  font-weight: 600;
  color: #555;
}

h3 {
  font-family: "Poppins", sans-serif;
}

h4 {
  font-family: "Poppins", sans-serif;
}

h5 {
  font-family: "Poppins", sans-serif;
}

h6 {
  font-family: "Poppins", sans-serif;
}

.pp-section {
  padding: 100px 0 85px 0;
}

.section-header {
  margin-bottom: 33px;
}

.section-bg {
  background-color: #eee;
}



.color-1 {
  background: -webkit-gradient(linear, left top, right top, from(#b76cd2), to(#4c3bb3));
  background: linear-gradient(to right, #b76cd2, #4c3bb3);
}

.color-2 {
  background: -webkit-gradient(linear, left top, right top, from(#00eefa), to(#05b6eb));
  background: linear-gradient(to right, #00eefa, #05b6eb);
}

.color-3 {
  background: -webkit-gradient(linear, left top, right top, from(#ff9f0e), to(#ff4a10));
  background: linear-gradient(to right, #ff9f0e, #ff4a10);
}

.color-4 {
  background: -webkit-gradient(linear, left top, right top, from(#09e072), to(#007d1d));
  background: linear-gradient(to right, #09e072, #007d1d);
}

.color-5 {
  background: -webkit-gradient(linear, left top, right top, from(#ff729b), to(#ce002f));
  background: linear-gradient(to right, #ff729b, #ce002f);
}

.color-6 {
  background: -webkit-gradient(linear, left top, right top, from(#fde08d), to(#df9f28));
  background: linear-gradient(to right, #fde08d, #df9f28);
}

.plan-header .plan-title {
  font-family: "Poppins", sans-serif;
}

.plan-price .price {
  font-family: "Poppins", sans-serif;
}

.plan-list li {
  font-family: "Poppins", sans-serif;
}

.plan-button {
  font-family: "Poppins", sans-serif;
}

.owl-carousel-plan .owl-dots {
  position: absolute;
  bottom: -30px;
  right: 0;
  left: 0;
}
.owl-carousel-plan button:focus {
  outline: 0;
}

.owl-carousel-plan.owl-theme .owl-dots .owl-dot.active span {
  width: 25px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.owl-carousel-plan.owl-theme .owl-dots .owl-dot span {
  border: 1px solid #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/*==============
	End Page General css
=================*/
/* Start all plan general */
/* End all plan general */

/* Start Pricing plan style 4 */
.plan-style-4 {
  margin: 15px auto;
  overflow: hidden;
  position: relative;
  text-align: center;
  border: 1px solid #eee;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.plan-style-4:hover {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
.plan-style-4 .plan-header {
  padding: 25px 0 20px 0;
  position: relative;
  background: #fff;
}
.plan-style-4 .plan-header .plan-label {
  font-size: 14px;
  line-height: 40px;
  font-weight: 900;
  color: #fff;
  text-transform: uppercase;
  width: 281px;
  text-align: center;
  display: block;
  position: absolute;
  right: -100px;
  top: 15px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-transform: rotate(-45deg);
  transform: rotate(45deg);
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}
.plan-style-4 .plan-header .plan-icon {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 20px 0 30px 0;
  width: 100px;
  height: 100px;
  display: block;
  border: 5px solid #fff;
  border-radius: 50%;
  color: #fff;
  font-size: 35px;
}
.plan-style-4 .plan-header .plan-title {
  margin: 101px 0 -3px 0;
  line-height: 41px;
  font-size: 20px;
  color: #555;
  font-weight: 400;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.plan-style-4 .plan-price {
  position: relative;
}
.plan-style-4 .plan-price:after {
  content: "";
  width: 100%;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/price_style_4.png);
  background-size: 100% 100%;
  background-position: bottom;
}
.plan-style-4 .plan-price .price {
  margin-bottom: 0;
  padding: 22px 0 10px 0;
  font-size: 55px;
  font-weight: 900;
  line-height: 45px;
  color: #fff;
  position: relative;
  z-index: 1;
}
.plan-style-4 .plan-price .price span {
  padding: 0 5px;
  font-size: 16px;
  font-weight: 400;
  color: #fff;
}
.plan-style-4 .plan-list {
  margin-bottom: 0;
  padding: 17px 0 20px 0;
  background-color: #fff;
  z-index: 1;
}
.plan-style-4 .plan-list li {
  margin: 0 30px;
  position: relative;
  list-style-type: none;
  font-size: 14px;
  color: #888;
  font-weight: 400;
  line-height: 35px;
  letter-spacing: 0.02rem;
}
.plan-style-4 .plan-list .tooltip-info {
  cursor: pointer;
}
.plan-style-4 .plan-list .tooltip-hover-text {
  color: #555;
  font-weight: 600;
}
.plan-style-4 .tooltip-info .tooltiptext {
  visibility: hidden;
  width: 150px;
  background-color: rgba(0, 0, 0, 0.8);
  font-size: 12px;
  letter-spacing: 0.02rem;
  color: #fff;
  text-align: center;
  line-height: 20px;
  border-radius: 6px;
  padding: 5px;
  position: absolute;
  z-index: 2;
  bottom: 35px;
  left: 45%;
  margin-left: -60px;
}
.plan-style-4 .tooltip-info .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent;
}
.plan-style-4 .tooltip-info:hover .tooltiptext {
  visibility: visible;
}
.plan-style-4 .plan-bottom {
  padding: 40px 0;
  position: relative;
  overflow: hidden;
  background: #fff;
}
.plan-style-4 .plan-button {
  padding: 13px 30px;
  font-size: 15px;
  color: #fff;
  font-weight: 400;
  text-transform: uppercase;
  text-decoration: none;
  background-size: 300% 100%;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.plan-style-4 .plan-button:hover {
  background-position: 100% 0;
  color: #fff;
  -webkit-box-shadow: 0px 20px 20px #eee;
          box-shadow: 0px 20px 20px #eee;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

/* End Pricing plan style 4 */
/* 🔹 Fix all pricing plan heights */
.plan-style-4 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 650px; /* Adjust this value for your design */
  background: #fff;
  border-radius: 15px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.plan-style-4:hover {
  transform: translateY(-10px);
}

/* 🔹 Ensure lists fit properly */
.plan-style-4 .plan-list {
  flex-grow: 1;
  padding: 0 20px;
  margin-bottom: 20px;
  overflow: hidden;
}

/* 🔹 Keep header and price visible */
.plan-style-4 .plan-header,
.plan-style-4 .plan-price {
  flex-shrink: 0;
}

/* 🔹 Adjust button area at bottom */
.plan-style-4 .plan-bottom {
  flex-shrink: 0;
  padding-bottom: 15px;
}

/* 🔹 Responsive adjustment for mobile */
@media (max-width: 768px) {
  .plan-style-4 {
    height: auto; /* Let it expand naturally on small screens */
  }
}
/* === ALIGNER TOUS LES HEADERS DES PACKS === */
.plan-style-4 .plan-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;

  /* 🔹 Fixer la même hauteur pour tous */
  height: 160px; /* Ajuste entre 140px et 180px selon ton design */

  padding: 20px 10px;
  border-bottom: 4px solid #0B49A5;
  box-sizing: border-box;
}

/* === Icône circulaire === */
.plan-style-4 .plan-icon {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
  background: linear-gradient(to right, #2E77FF, #0B49A5);
  color: #fff;
  font-size: 26px;
}

/* === Titre du pack === */
.plan-style-4 .plan-title {
  font-size: 16px;
  font-weight: 700;
  color: #0B49A5;
  line-height: 1.4em;
  margin: 0;
  padding: 0 10px;
}

/* === S'assurer que les cartes sont de la même hauteur === */
.plan-style-4 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 680px; /* Ajuste selon ton contenu */
}

/* === Responsive === */
@media (max-width: 992px) {
  .plan-style-4 .plan-header {
    height: 140px; /* légèrement plus petit pour tablettes */
  }
}

@media (max-width: 768px) {
  .plan-style-4 {
    height: auto; /* en mobile : on laisse respirer */
  }
  .plan-style-4 .plan-header {
    height: auto;
  }
}

/* === ALIGNER TOUS LES HEADERS DES PACKS === */
.plan-style-4 .plan-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;

  /* 🔹 Fixer la même hauteur pour tous */
  height: 160px; /* Ajuste entre 140px et 180px selon ton design */

  padding: 20px 10px;
  border-bottom: 4px solid #0B49A5;
  box-sizing: border-box;
}

/* === Icône circulaire === */
.plan-style-4 .plan-icon {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
  background: linear-gradient(to right, #2E77FF, #0B49A5);
  color: #fff;
  font-size: 26px;
}

/* === Titre du pack === */
.plan-style-4 .plan-title {
  font-size: 16px;
  font-weight: 700;
  color: #0B49A5;
  line-height: 1.4em;
  margin: 0;
  padding: 0 10px;
}

/* === S'assurer que les cartes sont de la même hauteur === */
.plan-style-4 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 680px; /* Ajuste selon ton contenu */
}

/* === Responsive === */
@media (max-width: 992px) {
  .plan-style-4 .plan-header {
    height: 140px; /* légèrement plus petit pour tablettes */
  }
}

@media (max-width: 768px) {
  .plan-style-4 {
    height: auto; /* en mobile : on laisse respirer */
  }
  .plan-style-4 .plan-header {
    height: auto;
  }
}

/* === KEEP PACK TITLES & CENTER ICON === */
.plan-style-4 .plan-title {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #0B49A5;
  line-height: 1.4em;
  margin-top: 50px; /* adds space under the floating icon */
  text-align: center;
}

/* === HEADER REBALANCE === */
.plan-style-4 .plan-header {
  position: relative;
  height: 160px; /* enough space for both icon + title */
  border-bottom: 4px solid #0B49A5;
  background: #fff;
  text-align: center;
  overflow: visible;
  padding-top: 40px;
}

/* === ICON: 50% OUTSIDE / 50% INSIDE === */
.plan-style-4 .plan-icon {
  position: absolute;
  top: -40px; /* half of icon’s height (80px) */
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(to right, #2E77FF, #0B49A5);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 30px;
  border: 4px solid #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  z-index: 3;
}



/* === PLAN HEADER FIX === */
.plan-style-4 .plan-header {
  position: relative;
  height: 190px; /* increased height so the title fits comfortably */
  border-bottom: 4px solid #0B49A5;
  background: #fff;
  text-align: center;
  overflow: visible;
  padding-top: 70px; /* gives room for icon overlap and title below it */
  box-sizing: border-box;
}

/* === ICON: HALF OUTSIDE, HALF INSIDE === */
.plan-style-4 .plan-icon {
  position: absolute;
  top: -40px; /* half of icon height (80px) above box */
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(to right, #2E77FF, #0B49A5);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 30px;
  border: 4px solid #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  z-index: 3;
}

/* === TITLE BELOW ICON === */
.plan-style-4 .plan-title {
  font-size: 17px;
  font-weight: 700;
  color: #0B49A5;
  line-height: 1.4em;
  margin-top: 25px; /* pushes the text below the icon */
  margin-bottom: 0;
  padding: 0 15px;
  text-align: center;
  word-wrap: break-word;
}

/* === PLAN STYLE FIX === */
.plan-style-4 {
  position: relative;
  background: #fff;
  border-radius: 15px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  text-align: center;
  overflow: hidden;
  height: 680px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-top: 60px; /* space for floating icon */
}

/* === ICON (floating half out / half in) === */
.plan-style-4 .plan-icon {
  position: absolute;
  top: -40px; /* half outside the card */
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(to right, #2E77FF, #0B49A5);
  color: #fff;
  font-size: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 4px solid #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  z-index: 3;
}

/* === HEADER === */
.plan-style-4 .plan-header {
  background: #fff;
  padding-top: 60px; /* spacing for icon above */
  padding-bottom: 15px;
  border-bottom: 4px solid #0B49A5;
}

.plan-style-4 .plan-title {
  font-size: 17px;
  font-weight: 700;
  color: #0B49A5;
  line-height: 1.4em;
  margin: 0;
  padding: 0 15px;
}
.plan-style-4 .plan-header .plan-title{
    margin:0 !important;
}

/* === Price Styling (MAD) === */
.plan-style-4 .plan-price {
  background: linear-gradient(to right, #2E77FF, #0B49A5);
  color: #fff;
  padding: 25px 0 15px;
  position: relative;
}

.plan-style-4 .plan-price .plan-amount {
  font-size: 28px;
  font-weight: 800;
  margin: 0;
  line-height: 1.2;
}

.plan-style-4 .plan-price .plan-amount span {
  font-size: 15px;
  font-weight: 500;
}

.plan-style-4 .plan-price .price {
  margin: 8px 0 0;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
}


/* === PRICE SECTION (no Pack text) === */
.plan-style-4 .plan-price {
  background: linear-gradient(to right, #2E77FF, #0B49A5);
  color: #fff;
  padding: 25px 0 20px;
  position: relative;
  border-top: 2px solid #0B49A5;
}

.plan-style-4 .plan-price .plan-amount {
  font-size: 30px;
  font-weight: 800;
  margin: 0;
  line-height: 1.2;
}

.plan-style-4 .plan-price .plan-amount span {
  font-size: 16px;
  font-weight: 500;
}


/*new code */



/* 2️⃣ Rounded buttons (pill shape) */
.plan-style-1 .plan-button,
.plan-style-2 .plan-button,
.plan-style-3 .plan-button,
.plan-style-4 .plan-button,
.plan-style-5 .plan-button {
  border-radius: 100px !important;
  padding: 14px 40px !important;
  transition: all 0.3s ease-in-out;
  background: #0B49A5 !important;
  color: #fff !important;
  font-weight: bold !important;
  border: none !important;
}

/* Hover effect for buttons */
.plan-style-4 .plan-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* 3️⃣ Apply Poppins font globally */
body,
.plan-style-1,
.plan-style-2,
.plan-style-3,
.plan-style-4,
.plan-style-5,
.plan-header,
.plan-price,
.plan-list,
.plan-button {
  font-family: "Poppins", sans-serif !important;
}

/* 4️⃣ Elementor control for outer section container */
.pp-section.section-bg {
  background: transparent !important; /* remove fixed #eee so Elementor background works */
  background-color: transparent !important;
  border-radius: 20px !important; /* Rounded section edges */
}

.pp-section {
  padding: 0 !important;
  margin: 0 !important;
}

/* Ensure Elementor spacing overrides everything */
.elementor-section.pp-section,
.elementor-container.pp-section,
.elementor-widget-container.pp-section {
  margin: inherit !important;
  padding: inherit !important;
}  










/* === COLOR HARMONIZATION OVERRIDE === */
/* Apply consistent primary color palette throughout pricing tables */

/* 1️⃣ Primary brand blue tone */
:root {
  --primary-color: #0B49A5;
  --primary-light: #2E6DFF;
  --primary-dark: #083B85;
}

/* === Header Borders & Accents === */
.plan-style-4 .plan-header {
  border-bottom: 4px solid var(--primary-color) !important;
}

/* === Icon Styling === */
.plan-style-4 .plan-icon {
  background: linear-gradient(to right, var(--primary-light), var(--primary-color)) !important;
  border: 4px solid #fff !important;
  color: #fff !important;
  box-shadow: 0 4px 10px rgba(11, 73, 165, 0.3) !important;
}

/* === Title === */
.plan-style-4 .plan-title {
  color: var(--primary-color) !important;
}

/* === Price Section === */
.plan-style-4 .plan-price {
  background: linear-gradient(to right, var(--primary-light), var(--primary-color)) !important;
  color: #fff !important;
  border-top: 2px solid var(--primary-dark) !important;
}

/* === List Text === */
.plan-style-4 .plan-list li {
  color: #444 !important;
}

/* === Buttons (Rounded, Primary) === */
.plan-style-1 .plan-button,
.plan-style-2 .plan-button,
.plan-style-3 .plan-button,
.plan-style-4 .plan-button,
.plan-style-5 .plan-button {
  border-radius: 100px !important;
  padding: 14px 40px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px;
  background: linear-gradient(to right, var(--primary-light), var(--primary-color)) !important;
  color: #fff !important;
  border: none !important;
  transition: all 0.3s ease-in-out;
}

/* === Button Hover === */
.plan-style-4 .plan-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(11, 73, 165, 0.3) !important;
  background: linear-gradient(to right, var(--primary-color), var(--primary-dark)) !important;
}

/* === Plan Label (Top Ribbon) === */
.plan-style-4 .plan-header .plan-label {
  background: linear-gradient(to right, var(--primary-light), var(--primary-color)) !important;
  color: #fff !important;
}

/* === Carousel Dots === */
.owl-carousel-plan.owl-theme .owl-dots .owl-dot span {
  background: var(--primary-color) !important;
}
.owl-carousel-plan.owl-theme .owl-dots .owl-dot.active span {
  background: var(--primary-dark) !important;
}

/* === Section Background Control (Elementor) === */
.pp-section.section-bg {
  background: transparent !important;
  border-radius: 20px !important;
}


.plan-style-4{
    overflow: visible !important;
}
.plan-title{
    font-weight: bold !important;
}

.owl-nav{
    display: none !important;
}


/* === ICONS BEFORE LIST ITEMS (Altea Custom Style) === */
.plan-style-4 .plan-list li {
  position: relative;
  padding-left: 28px; /* space for the icon */
  margin-bottom: 6px;
}

/* === Icon Style (Font Awesome Checkmark) === */
.plan-style-4 .plan-list li::before {
  content: "\f00c"; /* Font Awesome check icon */
  font-family: "Font Awesome 5 Free"; /* make sure Font Awesome 5 is loaded */
  font-weight: 900;
  color: #0B49A5; /* your primary brand color */
  position: absolute;
  left: 0;
  top: 0;
  font-size: 14px;
  line-height: 1.6;
}
