/* Base Styles */
.sifency-pricing-btn:hover,
.sifency-pricing-ribbon,
.sifency-toggle-badge {
   color: var(--sifency-addons-whitecolor);
}

.sifency-pricing-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px;
   width: 100%;
}

.sifency-pricing-ribbon {
   position: absolute;
   top: 15px;
   right: -30px;
   background: #f8732c;
   padding: 5px 30px;
   transform: rotate(45deg);
   font-size: 11px;
   font-weight: 700;
   text-transform: uppercase;
   z-index: 10;
}

.sifency-toggle-container {
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 50px;
   font-weight: 600;
   gap: 15px;
}

.sifency-toggle-label {
   position: relative;
   display: inline-block;
   width: 60px;
   height: 30px;
   background-color: #ccc;
   cursor: pointer;
   transition: .3s;
   border-radius: 30px;
}

.sifency-toggle-badge {
   background: #f8732c;
   font-size: 10px;
   padding: 2px 6px;
   margin-left: 5px;
   vertical-align: middle;
   border-radius: 3px;
}

.sifency-pricing-card {
   background: var(--sifency-addons-whitecolor);
   padding: 40px;
   border: 1px solid #eee;
   display: flex;
   flex-direction: column;
   transition: 0.3s;
   position: relative;
}

.sifency-pricing-card.is-featured {
   border-color: var(--e-global-color-primary);
   z-index: 1;
   overflow: hidden;
}

.sifency-pricing-card.is-featured .sifency-pricing-btn {
   background-color: var(--e-global-color-primary);
   color: var(--sifency-addons-whitecolor);
}

.sifency-pricing-title {
   margin: 0 0 10px;
   font-size: 22px;
}

.sifency-pricing-subtitle {
   color: #888;
   margin: 0;
   font-size: 14px;
}

.sifency-price-wrap {
   margin: 25px 0;
   display: flex;
   align-items: baseline;
}

.sifency-price-currency {
   font-size: 20px;
   font-weight: 600;
   margin-right: 3px;
}

.sifency-price-amount {
   font-size: 45px;
   font-weight: 800;
   line-height: 1;
}

.sifency-price-period {
   color: #999;
   font-size: 14px;
   margin-left: 5px;
}

.sifency-pricing-features ul {
   list-style: none;
   padding: 0;
   margin: 0 0 30px;
}

.sifency-pricing-features li {
   margin-bottom: 12px;
   display: flex;
   align-items: center;
   color: #555;
   font-size: 15px;
}

.sifency-pricing-features li i {
   width: 25px;
   font-size: 14px;
}

.sifency-pricing-features li.included i {
   color: var(--e-global-color-primary);
}

.sifency-pricing-features li.excluded {
   opacity: .5;
   text-decoration: line-through;
}

.sifency-pricing-features li.excluded i {
   color: #aaa;
}

.sifency-pricing-footer {
   margin-top: auto;
}

.sifency-price-wrap {
   transition: opacity .2s ease-in-out, transform .2s ease-in-out;
   opacity: 1;
   transform: translateY(0);
}

.sifency-price-wrap.sifency-switching {
   opacity: 0;
   transform: translateY(10px);
}

.sifency-toggle-text {
   opacity: .5;
   transition: opacity .3s;
}

.sifency-toggle-text.active {
   opacity: 1;
   font-weight: 700;
}

.sifency-toggle-checkbox {
   display: none;
}

.sifency-toggle-label::after {
   content: "";
   position: absolute;
   width: 24px;
   height: 24px;
   left: 3px;
   top: 3px;
   background-color: #fff;
   transition: .3s;
   border-radius: 50%;
}

.sifency-toggle-checkbox:checked+.sifency-toggle-label::after {
   left: calc(100% - 27px);
}

.sifency-toggle-checkbox:checked~.text-yearly {
   opacity: 1;
   font-weight: 700;
}

.sifency-toggle-checkbox:checked~.text-monthly {
   opacity: 0.5;
   font-weight: 400;
}

/* LOGIC: Separate Yearly Features */
.sifency-pricing-grid.sifency-plan-yearly .sifency-features-list.is-monthly {
   display: none !important;
}

.sifency-pricing-grid.sifency-plan-yearly .sifency-features-list.is-yearly {
   display: block !important;
   animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
   from {
      opacity: 0;
   }

   to {
      opacity: 1;
   }
}

/* =========================================
   STYLE VARIATIONS
   ========================================= */

/* Style 1: Classic (Default) - Bordered Card */
.sifency-pricing-grid.style-1 .sifency-pricing-card {
   border-radius: 5px;
}

/* Style 2: Button Middle (Content Separated) */
.sifency-pricing-grid.style-2 .sifency-pricing-card {
   border-radius: 10px;
   border: none;
}

.sifency-pricing-grid.style-2 .sifency-pricing-header {
   order: 1;
   text-align: center;
}

.sifency-pricing-grid.style-2 .sifency-price-wrap {
   order: 2;
   justify-content: center;
   margin-bottom: 30px;
}

.sifency-pricing-grid.style-2 .sifency-pricing-footer {
   order: 3;
   margin-bottom: 30px;
   margin-top: 0;
}

.sifency-pricing-grid.style-2 .sifency-pricing-features {
   order: 4;
   border-top: 1px solid #eee;
   padding-top: 25px;
}

.sifency-pricing-grid.style-2 .sifency-pricing-btn {
   border-radius: 50px;
}

/* Style 3: Minimal (Clean, Shadow Only) */
.sifency-pricing-grid.style-3 {
   gap: 40px;
}

.sifency-pricing-grid.style-3 .sifency-pricing-card {
   border: none;
   padding: 50px 30px;
}

.sifency-pricing-grid.style-3 .sifency-pricing-title {
   text-transform: uppercase;
   letter-spacing: 1px;
   font-size: 16px;
   font-weight: 700;
   color: #333;
}

.sifency-pricing-grid.style-3 .sifency-price-wrap {
   border-bottom: 1px solid #eee;
   padding-bottom: 20px;
}

.sifency-pricing-grid.style-3 .sifency-pricing-footer {
   margin-top: 20px;
}

/* Style 4: Dark Header */
.sifency-pricing-grid.style-4 .sifency-pricing-card {
   padding: 0;
   border: none;
   overflow: hidden;
}

.sifency-pricing-grid.style-4 .sifency-pricing-header {
   background: #222;
   padding: 40px 30px 20px;
   color: #fff;
}

.sifency-pricing-grid.style-4 .sifency-pricing-title {
   color: #fff;
}

.sifency-pricing-grid.style-4 .sifency-pricing-subtitle {
   color: #aaa;
}

.sifency-pricing-grid.style-4 .sifency-pricing-card.is-featured .sifency-pricing-header {
   background: var(--e-global-color-primary);
}

.sifency-pricing-grid.style-4 .sifency-price-wrap,
.sifency-pricing-grid.style-4 .sifency-pricing-features,
.sifency-pricing-grid.style-4 .sifency-pricing-footer {
   padding: 0 30px;
}

.sifency-pricing-grid.style-4 .sifency-pricing-footer {
   padding-bottom: 40px;
}

/* Style 5: Bordered Header & Button Outline */
.sifency-pricing-grid.style-5 .sifency-pricing-card {
   border: 2px solid #eee;
   border-radius: 15px;
   padding: 0;
}

.sifency-pricing-grid.style-5 .sifency-pricing-header {
   padding: 30px;
   border-bottom: 2px solid #eee;
   background: #f9f9f9;
   text-align: center;
}

.sifency-pricing-grid.style-5 .sifency-price-wrap {
   justify-content: center;
   margin-top: 30px;
   padding: 0 30px;
}

.sifency-pricing-grid.style-5 .sifency-pricing-features {
   padding: 0 30px;
}

.sifency-pricing-grid.style-5 .sifency-pricing-footer {
   padding: 0 30px 30px;
}

.sifency-pricing-grid.style-5 .sifency-pricing-btn {
   background: transparent;
   border: 2px solid #333;
   color: #333;
}

.sifency-pricing-grid.style-5 .sifency-pricing-btn:hover {
   background: #333;
   color: #fff;
}

/* Style 6: Floating Price Circle */
.sifency-pricing-grid.style-6 {
   margin-top: 30px;
}

.sifency-pricing-grid.style-6 .sifency-pricing-card {
   overflow: visible;
   padding-top: 60px;
   text-align: center;
}

.sifency-pricing-grid.style-6 .sifency-pricing-header {
   margin-bottom: 20px;
}

.sifency-pricing-grid.style-6 .sifency-price-wrap {
   position: absolute;
   top: -40px;
   left: 50%;
   transform: translateX(-50%);
   background: var(--sifency-addons-whitecolor);
   width: 100px;
   height: 100px;
   border-radius: 50%;
   justify-content: center;
   flex-direction: column;
   align-items: center;
   border: 4px solid #fff;
}

.sifency-pricing-grid.style-6 .sifency-price-amount {
   font-size: 28px;
}

.sifency-pricing-grid.style-6 .sifency-price-period {
   font-size: 11px;
   margin: 0;
}

.sifency-pricing-grid.style-6 .sifency-pricing-features li {
   justify-content: center;
}

/* Style 7: Left Border Accent */
.sifency-pricing-grid.style-7 .sifency-pricing-card {
   border: none;
   border-left: 5px solid #ddd;
   background: #fff;
}

.sifency-pricing-grid.style-7 .sifency-pricing-card.is-featured {
   border-left-color: var(--e-global-color-primary);
}

.sifency-pricing-grid.style-7 .sifency-pricing-header {
   padding-bottom: 15px;
   border-bottom: 1px dashed #ddd;
   margin-bottom: 15px;
}

/* Style 8: Compact / Small */
.sifency-pricing-grid.style-8 {
   gap: 15px;
}

.sifency-pricing-grid.style-8 .sifency-pricing-card {
   padding: 25px;
   border-radius: 8px;
}

.sifency-pricing-grid.style-8 .sifency-pricing-title {
   font-size: 18px;
}

.sifency-pricing-grid.style-8 .sifency-price-amount {
   font-size: 32px;
}

.sifency-pricing-grid.style-8 .sifency-pricing-features li {
   font-size: 13px;
   margin-bottom: 8px;
}

/* Style 9: Gradient Header */
.sifency-pricing-grid.style-9 .sifency-pricing-card {
   padding: 0;
   border: none;
   border-radius: 12px;
   overflow: hidden;
}

.sifency-pricing-grid.style-9 .sifency-pricing-header {
   background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
   padding: 40px;
   color: #fff;
   text-align: center;
}

.sifency-pricing-grid.style-9 .sifency-pricing-card.is-featured .sifency-pricing-header {
   background: linear-gradient(135deg, #ff0844 0%, #ffb199 100%);
}

.sifency-pricing-grid.style-9 .sifency-pricing-title,
.sifency-pricing-grid.style-9 .sifency-pricing-subtitle {
   color: #fff;
}

.sifency-pricing-grid.style-9 .sifency-price-wrap {
   justify-content: center;
   margin-top: -25px;
   background: #fff;
   display: inline-flex;
   padding: 10px 30px;
   border-radius: 30px;
   align-self: center;
   position: relative;
   width: fit-content;
   margin-left: auto;
   margin-right: auto;
}

.sifency-pricing-grid.style-9 .sifency-pricing-features {
   padding: 40px 30px 20px;
}

.sifency-pricing-grid.style-9 .sifency-pricing-footer {
   padding: 0 30px 40px;
}

/* Style 10: Boxed Features */
.sifency-pricing-grid.style-10 .sifency-pricing-card {
   border: none;
   background: transparent;
}

.sifency-pricing-grid.style-10 .sifency-pricing-header {
   text-align: center;
}

.sifency-pricing-grid.style-10 .sifency-price-wrap {
   justify-content: center;
}

.sifency-pricing-grid.style-10 .sifency-pricing-features {
   background: #fff;
   padding: 25px;
   border-radius: 10px;
   margin-bottom: 20px;
}

.sifency-pricing-grid.style-10 .sifency-pricing-features li {
   border-bottom: 1px solid #f5f5f5;
   padding-bottom: 8px;
}

.sifency-pricing-grid.style-10 .sifency-pricing-features li:last-child {
   border-bottom: none;
}