/* SUBSCRIPTION PAGE - Nested Scoped CSS */

/* App About */
.app-about {
    padding: 40px 0;

    & .app-header {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        margin-bottom: 40px;
        text-align: center;

        & h2 {
            font-weight: 700;
            font-size: 30px;
            line-height: 1.21;
        }

        & p {
            line-height: 1.16;
            color: var(--text-dark-muted);
        }
    }

    & .content {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 40px;
    }

    & .cards-column {
        display: flex;
        flex-direction: column;
        gap: 90px;
        width: 300px;
    }

    & .app-feature {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 20px;
        background: #fff;
        border-radius: 20px;
        box-shadow: 0 4px 24px rgba(0,0,0,0.05);
        transition: all 0.3s;
        color: var(--text-dark-muted);
        font-weight: 600;
        font-size: 15px;
        line-height: 1.64;

        &:hover {
            box-shadow: 0 8px 32px rgba(0,0,0,0.08);
            transform: translateY(-2px);
        }

        & .card-header {
            display: flex;
            align-items: center;
            gap: 16px;
        }

        & h3 {
            font-weight: 700;
            font-size: 20px;
            line-height: 1.21;
            color: var(--text-primary);
            margin: 0;
        }

        & .icon {
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(15,127,211,0.05);
            border-radius: 12px;
            color: #0F7FD3;
        }
    }

    & .phone-wrapper {
        width: 367px;
        height: 482px;
        background: linear-gradient(180deg, #f0f1f9 34.62%, #f2f5ff 100%);
        border-radius: 20px;
        position: relative;
        overflow: hidden;
        flex-shrink: 0;

        & img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        &::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 123px;
            background: linear-gradient(180deg, transparent 0%, #f0f1f9 100%);
            pointer-events: none;
        }
    }

    /* Responsive */
    @media (max-width: 992px) {
        & .content {
            flex-direction: column;
            gap: 30px;
        }

        & .cards-column {
            width: 100%;
            max-width: 500px;
            gap: 20px;

            &:first-child {
                order: 1;
            }

            &:last-child {
                order: 3;
            }
        }

        & .phone-wrapper {
            order: 2;
            width: 100%;
            max-width: 320px;
            height: 400px;
        }
    }

    @media (max-width: 576px) {
        padding: 30px 0;

        & .app-header {
            margin-bottom: 30px;

            & h2 {
                font-size: 24px;
            }
        }

        & .cards-column {
            gap: 16px;
        }

        & .app-feature {
            padding: 16px;

            & h3 {
                font-size: 18px;
            }
        }

        & .phone-wrapper {
            max-width: 280px;
            height: 350px;
        }
    }
}

/* PRICING SECTION - Nested Scoped CSS */

#pricing {
    padding: 60px 0;
    color: #666F94;
    font-weight: 600;
    font-size: 16px;

    & .pricing-title {
        text-align: center;
        margin-bottom: 20px;

        & .title {
            display: block;
            font-size: 30px;
            color: #4C5473;

            & em {
                font-style: normal;
                color: #7844E4;
            }
        }
        & p {
            font-size: 16px;
            color: #666F94;
            line-height: 24px;
        }
    }

    & .billing-toggle {
        display: inline-flex;
        gap: 5px;
        padding: 12px;
        background: #fff;
        border: 1px solid #EAEAED;
        border-radius: 14px;
        margin-bottom: 30px;

        & button {
            padding: 10px 30px;
            border: none;
            border-radius: 12px;
            background: transparent;
            cursor: pointer;
            transition: 0.2s;
            font-size: 17px;
            font-weight: 500;
            color: #666F94;

            &.active {
                background: #1A1D2A;
                color: #fff;
            }
        }

        & a {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 10px 20px;
            border-radius: 12px;
            text-decoration: none;
            transition: 0.2s;
            font-size: 17px;
            font-weight: 500;
            color: #666F94;

            & i { font-size: 18px; }

            &.active {
                background: #7844E4;
                color: #fff;
            }
        }
    }

    & .pricing-cards {
        display: flex;
        justify-content: center;
        gap: 24px;
        flex-wrap: nowrap;
    }

    & .pricing-card {
        position: relative;
        flex: 1;
        background: #F6F7FB;
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 24px;
        box-shadow: 0 10px 50px -4px rgba(0,0,0,0.01), 0 2px 11px -2px rgba(0,0,0,0.03), 0 0.6px 3px -1px rgba(0,0,0,0.04);
        overflow: hidden;
        padding: 40px;
        display: flex;
        flex-direction: column;
        gap: 20px;

        &::before {
            content: '';
            position: absolute;
            inset: 4px;
            background: #fff;
            border-radius: 20px;
            z-index: 0;
        }

        & > * {
            position: relative;
            z-index: 1;
        }

        &.featured {
            background: transparent;
            border: none;
            overflow: visible;

            &::before {
                inset: 0;
                border-radius: 24px;
                background: #fff;
                z-index: 0;
            }

            &::after {
                content: '';
                position: absolute;
                inset: -2px;
                border-radius: 26px;
                background: conic-gradient(from var(--angle, 0deg), var(--card-color, #7844E4), #E8E4F8, var(--card-color, #7844E4));
                animation: rotate-border 6s linear infinite;
                z-index: -1;
                opacity: 0.6;
            }
        }
    }

    & .card-header {
        display: flex;
        align-items: center;
        gap: 16px;

        & i {
            font-size: 22px;
            color: var(--card-color, #7844E4);
        }

        & h3 {
            font-size: 20px;
            font-weight: 500;
            color: #33353E;
            margin: 0;
            & strong { font-weight: 600; }
        }
    }

    & .card-pricing {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px;
    }

    & .price {
        font-size: 32px;
        font-weight: 700;
        background: var(--card-gradient, linear-gradient(135deg, #9462FB, #7624BF));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;

        & small {
            font-size: 22px;
        }
    }

    & .badge {
        display: inline-flex;
        align-items: center;
        padding: 8px;
        background: #FCD34D;
        border-radius: 10px;
        font-weight: 600;
        font-size: 12px;
        color: #78350F;
        line-height: 16px;
    }

    & .old-price {
        width: 100%;
        font-weight: 500;
        font-size: 18px;
        color: #6F769B;
    }

    & .card-desc {
        font-weight: 500;
        line-height: 22px;
        color: #666F94
    }

    & .card-btn {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 52px;
        border: none;
        border-radius: 12px;
        background: var(--card-gradient, linear-gradient(135deg, #9462FB, #7624BF));
        transition: transform 0.25s, opacity 0.25s;
        font: inherit;
        color: #fff;
        text-shadow: 0 1px 10px rgba(0,0,0,0.12);
        cursor: pointer;

        &:hover {
            transform: translateY(-3px);
            opacity: 0.9;
        }

        &:disabled {
            background: #666F94;
            cursor: not-allowed;
            opacity: 0.7;

            &:hover {
                transform: none;
            }
        }
    }

    & .card-features {
        & h4 {
            color: #000;
            margin-bottom: 16px;
            font-size: 16px;
        }

        & ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        & li {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 15px;
            color: #4A4A4A;
            text-transform: capitalize;

            & i {
                color: var(--card-color, #7844E4);
            }

            & u {
                text-decoration: underline;
            }
        }
    }

    & .view-all {
        text-align: center;
        font-size: 15px;
        color: var(--card-color, #7844E4);
        text-decoration: none;
        cursor: pointer;
        margin-top: auto;

        &:hover {
            text-decoration: underline;
        }
    }
}

/* Responsive */
@media (max-width: 1200px) {
    #pricing .pricing-cards {
        flex-wrap: wrap;
    }

    #pricing .pricing-card {
        flex: 0 0 calc(50% - 12px);
        max-width: calc(50% - 12px);
    }
}

@media (max-width: 768px) {
    #pricing {
        padding: 40px 0;

        & .pricing-title  {

            & .title {
                font-size: 24px;
                display: none;
            }
            & p {
                font-size: 14px;
                display: none;
            }
        }

        & .pricing-cards {
            flex-wrap: nowrap;
            justify-content: flex-start;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            padding: 10px 15px 20px;
            margin: 0 -15px;
            gap: 16px;
            scrollbar-width: none;

            &::-webkit-scrollbar { display: none; }
        }

        & .pricing-card {
            flex: 0 0 125vw;
            max-width: 400px;
            min-height: auto;
            padding: 24px;
            scroll-snap-align: center;

            &.featured::after { display: none; }
        }
    }
}

@keyframes rotate-border {
    to { --angle: 360deg; }
}

@property --angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}


/* Tab Slider Section */
.tab-slider {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    padding: 48px 16px;
  
    & .nav {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 8px;
      background: #fff;
      border: 1px solid rgba(234, 234, 237, 0.5);
      padding: 12px;
      border-radius: 16px;
      box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
  
      & button {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 8px 14px;
        border-radius: 12px;
        border: none;
        background: transparent;
        color: #666f94;
        cursor: pointer;
        opacity: 0.6;
        transition: opacity 0.25s;
  
        &:hover {
          opacity: 0.85;
        }
  
        &.active {
          opacity: 1;
          background: rgba(var(--theme-rgb), 0.1);
          color: var(--theme-color);
        }
      }
    }
  
    & .slider-card {
      width: 100%;
      max-width: 1120px;
      border-radius: 30px;
      overflow: hidden;
      background: #fffdfa;
      border: 1px solid rgba(234, 234, 237, 0.5);
    }
  
    & .panel {
      display: none;
      grid-template-columns: 1fr 1fr;
      min-height: 450px;
      background: var(--card-bg, #fffdfa);
  
      &.active {
        display: grid;
      }
    }
  
    & .content {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 20px;
      padding: 40px;
  
      & .badge {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        border-radius: 10px;
        background: rgba(var(--theme-rgb), 0.1);
        color: var(--theme-color);
        font-size: 12px;
      }
  
      & h2 {
        font-size: clamp(24px, 3vw, 30px);
        font-weight: 600;
        line-height: 1.3;
        margin: 0;
      }
    }
  
    & .slider-features {
      display: flex;
      flex-direction: column;
      gap: 14px;
  
      & .feature {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 15px;
  
        & i {
          flex-shrink: 0;
          padding: 10px;
          border-radius: 10px;
          background: rgba(var(--theme-rgb), 0.1);
          color: var(--theme-color);
        }
      }
    }
  
    & .slider-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 20px;
      border-radius: 14px;
      background: var(--theme-color);
      border: 4px solid var(--theme-color-light);
      color: #fff;
      width: fit-content;
      margin-top: 12px;
  
      &:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(var(--theme-rgb), 0.3);
  
        & i {
          transform: translateX(4px);
        }
      }
  
      & i {
        transition: transform 0.2s;
      }
    }
  
    & .image {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 32px;
      background: linear-gradient(90deg, var(--theme-gradient-from, #fff0d9), #fff);
  
      & img {
        max-width: 100%;
        max-height: 390px;
      }
    }
  
    /* Themes */
    & [data-theme="orange"],
    & [data-theme="takipci"] {
      --theme-color: #ffa10d;
      --theme-color-light: #ffebcb;
      --theme-rgb: 255, 161, 13;
      --card-bg: #fffdfa;
      --theme-gradient-from: #fff0d9;
    }
  
    & [data-theme="pink"],
    & [data-theme="begeni"] {
      /* Figma: Begeni = mor */
      --theme-color: #7844e4;
      --theme-color-light: #e4d8f6;
      --theme-rgb: 120, 68, 228;
      --card-bg: #fffdfa;
      --theme-gradient-from: #f0e9ff;
    }
  
    & [data-theme="blue"],
    & [data-theme="yorum"] {
      /* Figma: Yorum = lacivert */
      --theme-color: #0066ba;
      --theme-color-light: #ccdfed;
      --theme-rgb: 0, 102, 186;
      --card-bg: #fffdfa;
      --theme-gradient-from: #dbefff;
    }
  
    & [data-theme="purple"],
    & [data-theme="izlenme"] {
      /* Figma: Izlenme = yesil/teal */
      --theme-color: #00ae91;
      --theme-color-light: #ccf0e7;
      --theme-rgb: 0, 174, 145;
      --card-bg: #fffdfa;
      --theme-gradient-from: #ebfffc;
    }
  
    & [data-theme="teal"],
    & [data-theme="kaydet"] {
      /* Figma: Kaydet = magenta */
      --theme-color: #c60bdf;
      --theme-color-light: #f4cdf5;
      --theme-rgb: 198, 11, 223;
      --card-bg: #fffdfa;
      --theme-gradient-from: #fbdeff;
    }
  
    /* Responsive */
    @media (max-width: 1024px) {
      & .panel {
        grid-template-columns: 1fr;
      }
  
      & .content {
        padding: 40px 32px;
      }
  
      & .image {
        border-radius: 0 0 30px 30px;
        padding: 24px;
      }
    }
  
    @media (max-width: 768px) {
      & {
        padding: 32px 16px;
        gap: 24px;
      }
  
      & .nav {
        width: 100%;
        max-width: 398px;
        padding: 12px;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 10px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
  
        &::-webkit-scrollbar {
          display: none;
        }
  
        & button {
          padding: 7px 12px;
          flex: 0 0 auto;
          white-space: nowrap;
          font-size: 16px;
          line-height: 22px;
  
          & i {
            font-size: 20px;
          }
  
          & svg {
            width: 20px;
            height: 20px;
          }
        }
      }
  
      & .slider-card {
        max-width: 398px;
        border-radius: 30px;
      }
  
      & .panel {
        min-height: 428px;
      }
  
      & .content {
        padding: 29px;
        gap: 16px;
  
        & h2 {
          font-size: 26px;
          line-height: 1.15;
        }
      }
  
      & .slider-features {
        gap: 14px;
  
        & .feature {
          font-size: 15px;
          line-height: 24.657px;
  
          & i,
          & svg {
            padding: 8px;
          }
        }
      }
  
      & .image {
        display: none;
      }
  
      & .slider-btn {
        width: 100%;
        justify-content: space-between;
      }
    }
  
    @media (max-width: 480px) {
      & .nav {
        width: 100%;
  
        & button {
          justify-content: flex-start;
        }
      }
  
      & .content {
        padding: 24px 20px;
  
        & h2 {
          font-size: 24px;
        }
      }
  
      & .slider-btn {
        width: 100%;
        justify-content: space-between;
      }
    }
  }
  