     :root {
            --brand: #5b36f2;
            --brand-dark: #3217a8;
            --brand-soft: #f0edff;
            --accent: #ffb703;
            --ink: #151525;
            --muted: #68687a;
            --line: #e9e9f2;
            --surface: #ffffff;
            --page: #f7f7fb;
        }

        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            background: var(--page);
            color: var(--ink);
            font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }
        a { text-decoration: none; }
        img { max-width: 100%; }

        .announcement-bar {
            background: #171229;
            color: #fff;
            font-size: 13px;
            padding: 9px 0;
        }
        .announcement-bar a { color: #ffd166; font-weight: 700; }

        .store-header {
            position: sticky;
            top: 0;
            z-index: 1040;
            background: rgba(255,255,255,.96);
            border-bottom: 1px solid var(--line);
            backdrop-filter: blur(14px);
        }
        .header-main { padding: 15px 0; }
            /* Default Header */
        .logo-img{
            display:block;
            width:auto;
            height:70px;
            transition:.3s ease;
        }

        /* Offcanvas */
        .mobile-logo{
            height:45px;
        }

        /* Footer */
        .footer-logo-img{
            height:55px;
            width:auto;
        }

        /* Tablet */
        @media (max-width:991px){

            .logo-img{
                height:55px;
            }

            .mobile-logo{
                height:40px;
            }

            .footer-logo-img{
                height:48px;
            }

        }

        /* Mobile */
        @media (max-width:767px){

            .logo-img{
                height:42px;
            }

            .mobile-logo{
                height:36px;
            }

            .footer-logo-img{
                height:42px;
            }

        }

        /* Small Mobile */
        @media (max-width:480px){

            .logo-img{
                height:36px;
            }

            .mobile-logo{
                height:32px;
            }

            .footer-logo-img{
                height:36px;
            }

        }
        .header-search {
            display: flex;
            height: 48px;
            border: 1px solid #dcdcea;
            border-radius: 14px;
            overflow: hidden;
            background: #fff;
            transition: .2s ease;
        }
        .header-search:focus-within {
            border-color: var(--brand);
            box-shadow: 0 0 0 4px rgba(91,54,242,.10);
        }
        .header-search input {
            border: 0;
            outline: 0;
            flex: 1;
            min-width: 0;
            padding: 0 16px;
            background: transparent;
        }
        .header-search button {
            width: 54px;
            border: 0;
            color: #fff;
            background: var(--brand);
        }

        .header-action {
            width: 44px;
            height: 44px;
            border: 1px solid var(--line);
            border-radius: 12px;
            display: inline-grid;
            place-items: center;
            color: var(--ink);
            background: #fff;
            position: relative;
        }
        .header-action:hover { color: #fff; background: var(--brand); border-color: var(--brand); }
        .cart-count {
            position: absolute;
            top: -7px;
            right: -7px;
            min-width: 20px;
            height: 20px;
            padding: 0 5px;
            display: grid;
            place-items: center;
            border: 2px solid #fff;
            border-radius: 999px;
            color: #fff;
            background: #ef476f;
            font-size: 10px;
            font-weight: 800;
        }

        .category-nav { border-top: 1px solid var(--line); }
        .category-scroll {
            display: flex;
            align-items: center;
            gap: 5px;
            overflow-x: auto;
            scrollbar-width: none;
        }
        .category-scroll::-webkit-scrollbar { display: none; }
        .category-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 12px 14px;
            color: #454556;
            font-size: 14px;
            font-weight: 700;
            white-space: nowrap;
            border-radius: 10px;
        }
        .category-link:hover { color: var(--brand); background: var(--brand-soft); }
        .category-link.active { color: #fff; background: var(--brand); }

        .hero-wrap { padding: 34px 0 20px; }
        .hero-card {
            overflow: hidden;
            border-radius: 28px;
            min-height: 500px;
            color: #fff;
            background:
                radial-gradient(circle at 85% 15%, rgba(255,255,255,.24), transparent 24%),
                radial-gradient(circle at 70% 85%, rgba(255,183,3,.35), transparent 22%),
                linear-gradient(125deg, #291468 0%, #5b36f2 52%, #8969ff 100%);
            box-shadow: 0 28px 70px rgba(51,29,148,.22);
        }
        .hero-content { padding: 70px 60px; }
        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 13px;
            border-radius: 999px;
            background: rgba(255,255,255,.14);
            border: 1px solid rgba(255,255,255,.22);
            font-size: 13px;
            font-weight: 800;
        }
        .hero-title {
            max-width: 680px;
            margin: 20px 0 18px;
            font-size: clamp(42px, 5vw, 72px);
            line-height: 1.03;
            letter-spacing: -2.5px;
            font-weight: 900;
        }
        .hero-text {
            max-width: 610px;
            margin-bottom: 30px;
            color: rgba(255,255,255,.82);
            font-size: 18px;
            line-height: 1.7;
        }
        .btn-store-primary,
        .btn-store-light {
            min-height: 50px;
            padding: 13px 22px;
            border-radius: 13px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            font-weight: 800;
        }
        .btn-store-primary { color: #fff; background: var(--brand); border: 1px solid var(--brand); }
        .btn-store-light { color: var(--brand-dark); background: #fff; border: 1px solid #fff; }
        .btn-store-light:hover { color: var(--brand-dark); transform: translateY(-2px); }
        .btn-hero-outline {
            color: #fff;
            border: 1px solid rgba(255,255,255,.38);
            background: rgba(255,255,255,.10);
        }
        .btn-hero-outline:hover { color: #fff; background: rgba(255,255,255,.18); }

        .hero-preview {
            min-height: 500px;
            position: relative;
            display: grid;
            place-items: center;
            padding: 45px 55px 45px 10px;
        }
        .preview-browser {
            width: 100%;
            max-width: 530px;
            padding: 13px;
            border: 1px solid rgba(255,255,255,.24);
            border-radius: 22px;
            background: rgba(255,255,255,.14);
            backdrop-filter: blur(10px);
            transform: rotate(2deg);
            box-shadow: 0 35px 70px rgba(16,4,62,.28);
        }
        .browser-bar {
            display: flex;
            gap: 6px;
            padding: 4px 3px 12px;
        }
        .browser-bar i { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.65); }
        .preview-screen {
            aspect-ratio: 4 / 3;
            border-radius: 15px;
            overflow: hidden;
            background: #f8f8ff;
            position: relative;
        }
        .preview-screen::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(90deg, #201453 0 20%, transparent 20%),
                linear-gradient(#fff 0 18%, transparent 18%),
                radial-gradient(circle at 63% 43%, #8a63ff 0 15%, transparent 15%),
                linear-gradient(135deg, #efedff, #dcd5ff);
        }
        .floating-sale {
            position: absolute;
            right: 6%;
            top: 17%;
            padding: 12px 16px;
            border-radius: 13px;
            color: var(--ink);
            background: #ffd166;
            font-weight: 900;
            transform: rotate(7deg);
            box-shadow: 0 13px 35px rgba(0,0,0,.18);
        }

        .trust-strip { padding: 18px 0 36px; }
        .trust-card {
            height: 100%;
            padding: 18px;
            display: flex;
            align-items: center;
            gap: 14px;
            border: 1px solid var(--line);
            border-radius: 16px;
            background: #fff;
        }
        .trust-icon {
            width: 44px;
            height: 44px;
            flex: 0 0 44px;
            display: grid;
            place-items: center;
            border-radius: 12px;
            color: var(--brand);
            background: var(--brand-soft);
        }
        .trust-card strong { display: block; font-size: 14px; }
        .trust-card span { color: var(--muted); font-size: 12px; }

        .store-section { padding: 55px 0; }
        .section-heading { margin-bottom: 28px; }
        .section-kicker { color: var(--brand); font-weight: 900; font-size: 13px; text-transform: uppercase; letter-spacing: 1.3px; }
        .section-title { margin: 7px 0 8px; font-size: clamp(29px, 3vw, 42px); font-weight: 900; letter-spacing: -1.2px; }
        .section-subtitle { color: var(--muted); margin: 0; }

        .category-card {
            height: 100%;
            padding: 24px;
            border: 1px solid var(--line);
            border-radius: 20px;
            color: var(--ink);
            background: #fff;
            transition: .25s ease;
        }
        .category-card:hover {
            color: var(--ink);
            transform: translateY(-6px);
            border-color: rgba(91,54,242,.35);
            box-shadow: 0 18px 45px rgba(24,20,57,.09);
        }
        .category-card-icon {
            width: 52px;
            height: 52px;
            display: grid;
            place-items: center;
            margin-bottom: 20px;
            border-radius: 15px;
            color: #fff;
            background: linear-gradient(135deg, var(--brand), #9a7cff);
            font-size: 20px;
        }
        .category-card h5 { font-weight: 850; }
        .category-card p { margin: 0; color: var(--muted); font-size: 13px; }

        .product-card {
            height: 100%;
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: 20px;
            background: #fff;
            transition: .28s ease;
        }
        .product-card:hover {
            transform: translateY(-7px);
            border-color: rgba(91,54,242,.25);
            box-shadow: 0 22px 50px rgba(24,20,57,.11);
        }
        .product-media {
            position: relative;
            aspect-ratio: 16 / 10;
            overflow: hidden;
            background: #efeff6;
        }
        .product-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: .45s ease;
        }
        .product-card:hover .product-media img { transform: scale(1.055); }
        .product-badge {
            position: absolute;
            bottom: 4px;
            left: 14px;
            padding: 6px 10px;
            border-radius: 999px;
            color: var(--brand-dark);
            background: #fff;
            box-shadow: 0 6px 18px rgba(0,0,0,.10);
            font-size: 11px;
            font-weight: 900;
        }
        .wishlist-btn {
            position: absolute;
            top: 13px;
            right: 13px;
            width: 37px;
            height: 37px;
            border: 0;
            border-radius: 50%;
            color: #4c4c5e;
            background: #fff;
            box-shadow: 0 6px 18px rgba(0,0,0,.10);
        }
        .product-body { padding: 20px; }
        .product-category { color: var(--brand); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .8px; }
        .product-title {
            margin: 8px 0 9px;
            color: var(--ink);
            font-size: 17px;
            font-weight: 850;
            line-height: 1.35;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        .product-description {
            height: 40px;
            overflow: hidden;
            color: var(--muted);
            font-size: 13px;
            line-height: 1.55;
        }
        .product-rating { color: #ffad00; font-size: 12px; }
        .product-price { color: var(--ink); font-size: 21px; font-weight: 900; }
        .product-cta {
            width: 41px;
            height: 41px;
            display: grid;
            place-items: center;
            border-radius: 12px;
            color: #fff;
            background: var(--brand);
        }



        .category-products-area {
            padding: 20px 0 35px;
        }
        .category-product-block {
            padding: 42px 0;
            border-top: 1px solid var(--line);
        }
        .category-product-block:first-child {
            border-top: 0;
        }
        .category-product-head {
            margin-bottom: 24px;
        }
        .category-product-title {
            margin: 6px 0 7px;
            font-size: clamp(26px, 3vw, 38px);
            font-weight: 900;
            letter-spacing: -1px;
        }
        .category-product-meta {
            color: var(--muted);
            margin: 0;
            font-size: 14px;
        }
        .category-product-swiper {
            overflow: hidden;
        }
        .category-product-swiper .swiper-slide {
            height: auto;
        }
        .category-product-swiper .product-card {
            height: 100%;
        }
        .category-product-controls {
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .category-product-prev,
        .category-product-next {
            width: 44px;
            height: 44px;
            border: 1px solid var(--line);
            border-radius: 13px;
            display: grid;
            place-items: center;
            background: #fff;
            color: var(--ink);
            cursor: pointer;
            transition: .2s ease;
        }
        .category-product-prev:hover,
        .category-product-next:hover {
            color: #fff;
            background: var(--brand);
            border-color: var(--brand);
        }
        .category-product-empty {
            padding: 35px;
            border: 1px dashed var(--line);
            border-radius: 18px;
            text-align: center;
            color: var(--muted);
            background: #fff;
        }

        .benefits-section { padding: 20px 0 65px; }
        .benefit-card {
            height: 100%;
            padding: 30px;
            border: 1px solid var(--line);
            border-radius: 22px;
            background: #fff;
            transition: .25s ease;
        }
        .benefit-card:hover { transform: translateY(-5px); box-shadow: 0 18px 45px rgba(24,20,57,.08); }
        .benefit-number {
            width: 48px;
            height: 48px;
            display: grid;
            place-items: center;
            margin-bottom: 20px;
            border-radius: 14px;
            color: #fff;
            background: linear-gradient(135deg, var(--brand), #9a7cff);
            font-weight: 900;
        }
        .benefit-card h4 { font-size: 19px; font-weight: 850; }
        .benefit-card p { margin: 0; color: var(--muted); line-height: 1.7; font-size: 14px; }

        .testimonial-section { padding: 10px 0 70px; }
        .testimonial-wrap {
            padding: 48px;
            border-radius: 28px;
            background: linear-gradient(135deg, #f1edff, #fff 55%, #fff7df);
            border: 1px solid #e4defe;
        }
        .testimonial-card {
            height: 100%;
            padding: 26px;
            border-radius: 20px;
            background: #fff;
            box-shadow: 0 15px 40px rgba(24,20,57,.07);
        }
        .testimonial-stars { color: #ffad00; font-size: 13px; }
        .testimonial-card p { color: #555568; line-height: 1.75; margin: 16px 0 22px; }
        .customer-avatar {
            width: 46px;
            height: 46px;
            display: grid;
            place-items: center;
            border-radius: 50%;
            color: #fff;
            background: linear-gradient(135deg, var(--brand-dark), var(--brand));
            font-weight: 900;
        }
        .customer-meta strong { display: block; font-size: 14px; }
        .customer-meta span { color: var(--muted); font-size: 12px; }

        .promo-section { padding: 30px 0 75px; }
        .promo-card {
            overflow: hidden;
            padding: 55px;
            border-radius: 27px;
            color: #fff;
            background:
                radial-gradient(circle at 85% 25%, rgba(255,183,3,.40), transparent 20%),
                linear-gradient(120deg, #171229, #3d238d);
        }
        .promo-card h2 { max-width: 700px; font-size: clamp(31px, 4vw, 50px); font-weight: 900; letter-spacing: -1.5px; }
        .promo-card p { max-width: 620px; color: rgba(255,255,255,.72); font-size: 17px; }

        .store-footer { padding: 60px 0 25px; color: #b9b5ca; background: #171229; }
        .store-footer h6 { color: #fff; font-weight: 850; margin-bottom: 18px; }
        .store-footer a { color: #b9b5ca; }
        .store-footer a:hover { color: #fff; }
        .footer-list { margin: 0; padding: 0; list-style: none; }
        .footer-list li { margin-bottom: 10px; }
        .footer-bottom { margin-top: 42px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.10); }

        @media (max-width: 991.98px) {
            .hero-content { padding: 52px 35px 20px; }
            .hero-preview { min-height: 390px; padding: 20px 35px 50px; }
            .hero-card { min-height: auto; }
            .header-search { order: 3; width: 100%; margin-top: 12px; }
        }
        @media (max-width: 767.98px) {
            .announcement-detail { display: none; }
            .header-main { padding: 11px 0; }
            .store-logo { font-size: 19px; }
            .logo-mark { width: 38px; height: 38px; }
            .hero-wrap { padding-top: 18px; }
            .hero-card { border-radius: 20px; }
            .hero-content { padding: 42px 23px 15px; }
            .hero-title { font-size: 39px; letter-spacing: -1.6px; }
            .hero-text { font-size: 15px; }
            .hero-preview { min-height: 300px; padding: 20px 22px 38px; }
            .floating-sale { right: 3%; top: 8%; }
            .store-section { padding: 42px 0; }
            .testimonial-wrap { padding: 32px 20px; }
            .promo-card { padding: 38px 24px; }
        }


        /* ===== Enhanced responsive ecommerce UI ===== */
        .mobile-menu-btn { display:none; }
        .desktop-category-nav { display:block; }
        .offcanvas-store { width:min(88vw, 360px) !important; }
        .offcanvas-store .offcanvas-header { border-bottom:1px solid var(--line); }
        .mobile-nav-link { display:flex; align-items:center; gap:12px; padding:13px 14px; border-radius:12px; color:var(--ink); font-weight:750; }
        .mobile-nav-link:hover { background:var(--brand-soft); color:var(--brand); }
        .mobile-nav-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--brand); background:var(--brand-soft); }
        .mobile-search { margin:15px 0; }

        .hero-carousel { border-radius:28px; overflow:hidden; box-shadow:0 28px 70px rgba(51,29,148,.22); }
        .hero-carousel .carousel-item { min-height:500px; }
        .hero-slide { min-height:500px; color:#fff; display:flex; align-items:center; position:relative; overflow:hidden; }
        .hero-slide::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 88% 15%,rgba(255,255,255,.25),transparent 24%),radial-gradient(circle at 70% 85%,rgba(255,183,3,.30),transparent 22%); }
        .hero-slide-1 { background:linear-gradient(125deg,#291468 0%,#5b36f2 52%,#8969ff 100%); }
        .hero-slide-2 { background:linear-gradient(125deg,#071f36 0%,#006d77 52%,#4cc9b0 100%); }
        .hero-slide-3 { background:linear-gradient(125deg,#3b1029 0%,#b12a5b 52%,#ff7a59 100%); }
        .hero-slide .container-fluid { position:relative; z-index:2; }
        .hero-carousel .carousel-indicators { margin-bottom:20px; }
        .hero-carousel .carousel-indicators [data-bs-target] { width:9px; height:9px; border-radius:50%; border:0; }
        .hero-carousel .carousel-control-prev,.hero-carousel .carousel-control-next { width:7%; }
        .hero-mini-card { width:100%; max-width:500px; padding:16px; border:1px solid rgba(255,255,255,.26); border-radius:24px; background:rgba(255,255,255,.14); backdrop-filter:blur(14px); box-shadow:0 30px 70px rgba(0,0,0,.24); }
        .hero-mini-screen { min-height:310px; border-radius:17px; background:#fff; padding:22px; color:var(--ink); }
        .mock-top { height:13px; width:46%; border-radius:30px; background:#ddd8ff; margin-bottom:22px; }
        .mock-banner { height:105px; border-radius:14px; background:linear-gradient(135deg,#5b36f2,#a98fff); margin-bottom:15px; }
        .mock-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
        .mock-grid span { height:75px; border-radius:12px; background:#f1efff; }

        .carousel-section { overflow:hidden; }
        .swiper { padding:5px 3px 48px; }
        .swiper-pagination-bullet-active { background:var(--brand); }
        .swiper-button-next,.swiper-button-prev { width:42px; height:42px; border-radius:50%; background:#fff; color:var(--brand); box-shadow:0 8px 25px rgba(31,20,84,.14); }
        .swiper-button-next::after,.swiper-button-prev::after { font-size:15px; font-weight:900; }
        .swiper-nav-wrap { display:flex; gap:10px; }
        .section-arrow { width:44px; height:44px; border:1px solid var(--line); border-radius:13px; display:grid; place-items:center; background:#fff; color:var(--ink); cursor:pointer; transition:.2s; }
        .section-arrow:hover { color:#fff; background:var(--brand); border-color:var(--brand); }
        .category-swiper .swiper-slide,.product-swiper .swiper-slide,.testimonial-swiper .swiper-slide { height:auto; }
        .category-swiper .category-card,.product-swiper .product-card,.testimonial-swiper .testimonial-card { height:100%; }

        .stats-band { margin:15px 0 0; padding:28px 0; background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
        .stat-item { text-align:center; padding:12px; }
        .stat-item strong { display:block; font-size:clamp(25px,3vw,38px); color:var(--brand); font-weight:950; }
        .stat-item span { color:var(--muted); font-size:13px; }

        .newsletter-box { border-radius:24px; padding:34px; background:linear-gradient(135deg,#fff,#f1eeff); border:1px solid #ded8ff; }
        .newsletter-form { display:flex; gap:10px; padding:7px; background:#fff; border:1px solid var(--line); border-radius:15px; }
        .newsletter-form input { flex:1; min-width:0; border:0; outline:0; padding:0 12px; background:transparent; }
        .newsletter-form button { border:0; }

        @media (max-width: 991.98px) {
            .desktop-category-nav { display:none; }
            .mobile-menu-btn { display:inline-grid; }
            .header-search-col { display:none; }
            .header-main .row { flex-wrap:nowrap; }
            .hero-carousel,.hero-slide { border-radius:20px; }
            .hero-carousel .carousel-item,.hero-slide { min-height:auto; }
            .hero-content { padding:52px 34px 20px; }
            .hero-preview { min-height:360px; padding:20px 34px 55px; }
            .hero-carousel .carousel-control-prev,.hero-carousel .carousel-control-next { display:none; }
        }
        @media (max-width: 575.98px) {
            .announcement-bar { font-size:11px; }
            .header-main { padding:9px 0; }
            .store-logo span:last-child { display:none; }
            .logo-mark { width:39px; height:39px; }
            .header-action { width:39px; height:39px; border-radius:11px; }
            .mobile-menu-btn { width:39px; height:39px; }
            .hero-wrap { padding-top:12px; }
            .hero-content { padding:37px 20px 10px; text-align:left; }
            .hero-title { font-size:35px; line-height:1.06; }
            .hero-text { font-size:14px; line-height:1.6; }
            .hero-content .btn-store-light,.hero-content .btn-store-primary { width:100%; }
            .hero-preview { min-height:255px; padding:18px 20px 42px; }
            .hero-mini-screen { min-height:205px; padding:14px; }
            .mock-banner { height:72px; }
            .mock-grid span { height:49px; }
            .floating-sale { font-size:11px; padding:9px 11px; }
            .trust-card { padding:13px 10px; gap:9px; }
            .trust-icon { width:36px; height:36px; flex-basis:36px; }
            .trust-card strong { font-size:12px; }
            .trust-card span { font-size:10px; }
            .section-heading { margin-bottom:20px; }
            .section-title { font-size:29px; }
            .swiper { padding-bottom:40px; }
            .newsletter-box { padding:25px 18px; }
            .newsletter-form { flex-direction:column; }
            .newsletter-form input { min-height:44px; }
        }

    /* =====================================================
   Single Modern Hero Section
===================================================== */

.hero-wrap {
    padding: 32px 0 24px;
}

.single-hero-section {
    position: relative;
    overflow: hidden;
    padding: 70px 65px;
    border-radius: 30px;
    color: #fff;
    background:
        radial-gradient(
            circle at 12% 15%,
            rgba(255, 255, 255, 0.13),
            transparent 24%
        ),
        radial-gradient(
            circle at 88% 85%,
            rgba(255, 183, 3, 0.24),
            transparent 23%
        ),
        linear-gradient(
            125deg,
            #171229 0%,
            #3217a8 48%,
            #6847ee 100%
        );
    box-shadow: 0 30px 75px rgba(50, 23, 168, 0.22);
}

.single-hero-section::before {
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    top: -170px;
    left: 42%;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
}

.single-hero-section::after {
    content: "";
    position: absolute;
    width: 450px;
    height: 450px;
    right: -230px;
    bottom: -270px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
}

.single-hero-section .row {
    position: relative;
    z-index: 2;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 15px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50px;
    color: #fff;
    background: rgba(255, 255, 255, 0.11);
    font-size: 13px;
    font-weight: 800;
    backdrop-filter: blur(8px);
}

.single-hero-title {
    max-width: 650px;
    margin: 22px 0 20px;
    color: #fff;
    font-size: clamp(42px, 5vw, 68px);
    font-weight: 950;
    line-height: 1.04;
    letter-spacing: -2.4px;
}

.single-hero-title span {
    display: block;
    color: #ffd166;
}

.single-hero-description {
    max-width: 600px;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 17px;
    line-height: 1.75;
}

.hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
}

.hero-primary-btn,
.hero-secondary-btn {
    min-height: 52px;
    padding: 13px 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 850;
    transition: 0.25s ease;
}

.hero-primary-btn {
    color: var(--brand-dark);
    background: #fff;
    border: 1px solid #fff;
}

.hero-primary-btn:hover {
    color: var(--brand-dark);
    background: #ffd166;
    border-color: #ffd166;
    transform: translateY(-3px);
}

.hero-secondary-btn {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.hero-secondary-btn:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.18);
    transform: translateY(-3px);
}

.hero-features {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin-top: 34px;
}

.hero-feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.hero-feature-item > span {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: #ffd166;
    background: rgba(255, 255, 255, 0.12);
}

.hero-feature-item strong {
    display: block;
    color: #fff;
    font-size: 13px;
}

.hero-feature-item small {
    display: block;
    margin-top: 2px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 11px;
}

/* Right Hero Image */

.single-hero-image-wrapper {
    position: relative;
    min-height: 470px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.single-hero-image-card {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 540px;
    padding: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.13);
    box-shadow: 0 35px 70px rgba(13, 5, 54, 0.35);
    backdrop-filter: blur(12px);
    transform: rotate(1.5deg);
}

.single-hero-image {
    display: block;
    width: 100%;
    height: 410px;
    object-fit: cover;
    border-radius: 18px;
}

.hero-image-decoration {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
}

.hero-decoration-one {
    width: 160px;
    height: 160px;
    top: 20px;
    right: 5px;
    background: rgba(255, 209, 102, 0.22);
}

.hero-decoration-two {
    width: 210px;
    height: 210px;
    left: -20px;
    bottom: 5px;
    background: rgba(138, 99, 255, 0.35);
}

.hero-floating-card {
    position: absolute;
    z-index: 3;
    min-width: 190px;
    padding: 13px 16px;
    display: flex;
    align-items: center;
    gap: 11px;
    border-radius: 16px;
    color: var(--ink);
    background: #fff;
    box-shadow: 0 17px 40px rgba(13, 5, 54, 0.22);
}

.floating-card-top {
    top: 42px;
    left: -5px;
}

.floating-card-bottom {
    right: -8px;
    bottom: 38px;
}

.floating-icon {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(
        135deg,
        var(--brand),
        #9a7cff
    );
}

.hero-floating-card strong {
    display: block;
    font-size: 12px;
}

.hero-floating-card small {
    display: block;
    margin-top: 2px;
    color: var(--muted);
    font-size: 10px;
}

/* Tablet */

@media (max-width: 1199.98px) {

    .single-hero-section {
        padding: 58px 42px;
    }

    .single-hero-image {
        height: 360px;
    }

    .single-hero-image-wrapper {
        min-height: 420px;
    }

    .floating-card-top {
        left: -15px;
    }

    .floating-card-bottom {
        right: -15px;
    }
}

/* Mobile and Tablet */

@media (max-width: 991.98px) {

    .single-hero-section {
        padding: 50px 35px;
    }

    .single-hero-content {
        text-align: center;
    }

    .single-hero-description {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-buttons,
    .hero-features {
        justify-content: center;
    }

    .single-hero-image-wrapper {
        min-height: auto;
        margin-top: 20px;
        padding: 35px 30px;
    }

    .single-hero-image-card {
        max-width: 590px;
        transform: none;
    }

    .single-hero-image {
        height: 390px;
    }

    .floating-card-top {
        top: 10px;
        left: 0;
    }

    .floating-card-bottom {
        right: 0;
        bottom: 10px;
    }
}

/* Mobile */

@media (max-width: 767.98px) {

    .hero-wrap {
        padding-top: 15px;
    }

    .single-hero-section {
        padding: 40px 22px 28px;
        border-radius: 21px;
    }

    .single-hero-title {
        margin-top: 18px;
        font-size: 38px;
        letter-spacing: -1.5px;
    }

    .single-hero-description {
        font-size: 14px;
        line-height: 1.65;
    }

    .hero-primary-btn,
    .hero-secondary-btn {
        width: 100%;
    }

    .hero-features {
        gap: 17px;
        justify-content: flex-start;
    }

    .hero-feature-item {
        width: 100%;
        text-align: left;
    }

    .single-hero-image-wrapper {
        padding: 30px 0 10px;
    }

    .single-hero-image-card {
        padding: 8px;
        border-radius: 19px;
    }

    .single-hero-image {
        height: 280px;
        border-radius: 14px;
    }

    .hero-floating-card {
        position: relative;
        inset: auto;
        width: 100%;
        min-width: auto;
        margin-top: 12px;
    }

    .hero-decoration-one,
    .hero-decoration-two {
        display: none;
    }
}

/* Small Mobile */

@media (max-width: 480px) {

    .single-hero-section {
        padding: 34px 17px 22px;
    }

    .hero-badge {
        font-size: 11px;
    }

    .single-hero-title {
        font-size: 32px;
    }

    .single-hero-image {
        height: 225px;
    }
}


/* =====================================================
   UI Templates / Product Listing Page
   Add this file after store-style.css
===================================================== */

.catalog-hero {
    padding: 34px 0 22px;
}

.catalog-hero-card {
    position: relative;
    overflow: hidden;
    padding: 66px 60px;
    border-radius: 30px;
    color: #fff;
    background:
        radial-gradient(circle at 88% 16%, rgba(255,255,255,.18), transparent 24%),
        radial-gradient(circle at 70% 92%, rgba(255,183,3,.24), transparent 22%),
        linear-gradient(125deg, #171229 0%, var(--brand-dark) 48%, #6847ee 100%);
    box-shadow: 0 28px 70px rgba(50,23,168,.20);
}

.catalog-hero-card::before,
.catalog-hero-card::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 50%;
}

.catalog-hero-card::before {
    width: 360px;
    height: 360px;
    top: -220px;
    left: 40%;
}

.catalog-hero-card::after {
    width: 520px;
    height: 520px;
    right: -290px;
    bottom: -330px;
}

.catalog-hero-card .row {
    position: relative;
    z-index: 2;
}

.catalog-kicker {
    color: #ffd166;
}

.catalog-hero-title {
    max-width: 760px;
    margin: 13px 0 18px;
    color: #fff;
    font-size: clamp(42px, 5vw, 67px);
    font-weight: 950;
    line-height: 1.05;
    letter-spacing: -2.2px;
}

.catalog-hero-text {
    max-width: 680px;
    margin: 0 0 28px;
    color: rgba(255,255,255,.78);
    font-size: 17px;
    line-height: 1.75;
}

.catalog-hero-search {
    max-width: 680px;
    min-height: 58px;
    padding: 6px 7px 6px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255,255,255,.23);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(16,4,62,.18);
}

.catalog-hero-search > i {
    color: var(--brand);
}

.catalog-hero-search input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    color: var(--ink);
    background: transparent;
}

.catalog-hero-search button {
    min-height: 46px;
    padding: 10px 19px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: var(--brand);
    font-weight: 850;
}

.catalog-hero-meta {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 17px 24px;
    color: rgba(255,255,255,.76);
    font-size: 13px;
    font-weight: 700;
}

.catalog-hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.catalog-hero-meta i {
    color: #ffd166;
}

.catalog-visual {
    position: relative;
    min-height: 390px;
    display: grid;
    place-items: center;
}

.catalog-visual-window {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 500px;
    padding: 13px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 24px;
    background: rgba(255,255,255,.13);
    box-shadow: 0 35px 70px rgba(11,4,48,.30);
    backdrop-filter: blur(12px);
    transform: rotate(1.5deg);
}

.catalog-window-top {
    display: flex;
    gap: 6px;
    padding: 3px 3px 12px;
}

.catalog-window-top i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: rgba(255,255,255,.65);
}

.catalog-window-content {
    min-height: 300px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 24% 1fr;
    border-radius: 16px;
    background: #f8f8ff;
}

.catalog-sidebar-mock {
    background: linear-gradient(180deg, #211651, #3217a8);
}

.catalog-content-mock {
    padding: 28px 24px;
}

.catalog-line {
    display: block;
    height: 12px;
    margin-bottom: 12px;
    border-radius: 999px;
    background: #d9d3ff;
}

.catalog-line-lg { width: 64%; }
.catalog-line-sm { width: 40%; }

.catalog-card-mock-grid {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.catalog-card-mock-grid span {
    height: 92px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ece9ff, #d8d1ff);
}

.catalog-floating-badge {
    position: absolute;
    z-index: 3;
    padding: 12px 15px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    border-radius: 14px;
    color: var(--ink);
    background: #fff;
    box-shadow: 0 16px 38px rgba(10,4,46,.25);
    font-size: 12px;
    font-weight: 850;
}

.catalog-floating-badge i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(135deg, var(--brand), #9a7cff);
}

.catalog-badge-one { top: 20px; left: -12px; }
.catalog-badge-two { right: -12px; bottom: 22px; }

.catalog-section {
    padding: 42px 0 75px;
}

.catalog-toolbar-card {
    margin-bottom: 38px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 13px 34px rgba(24,20,57,.05);
}

.catalog-category-scroll {
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
}

.catalog-category-scroll::-webkit-scrollbar {
    display: none;
}

.catalog-filter-btn {
    min-height: 44px;
    padding: 10px 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    border: 0;
    border-radius: 12px;
    color: #4f4f60;
    background: transparent;
    font-size: 13px;
    font-weight: 800;
    transition: .22s ease;
}

.catalog-filter-btn:hover {
    color: var(--brand);
    background: var(--brand-soft);
}

.catalog-filter-btn.active {
    color: #fff;
    background: var(--brand);
    box-shadow: 0 10px 26px rgba(91,54,242,.24);
}

.catalog-filter-btn span {
    min-width: 25px;
    height: 25px;
    padding: 0 7px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    color: inherit;
    background: rgba(91,54,242,.10);
    font-size: 10px;
}

.catalog-filter-btn.active span {
    background: rgba(255,255,255,.18);
}

.catalog-results-head {
    margin-bottom: 27px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
}

.catalog-controls {
    display: flex;
    align-items: center;
    gap: 11px;
}

.catalog-search-box,
.catalog-sort-box {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
}

.catalog-search-box {
    min-width: 250px;
    padding: 0 14px;
}

.catalog-sort-box {
    padding: 0 13px;
}

.catalog-search-box i,
.catalog-sort-box i {
    color: var(--brand);
}

.catalog-search-box input,
.catalog-sort-box select {
    min-width: 0;
    border: 0;
    outline: 0;
    color: var(--ink);
    background: transparent;
    font-size: 13px;
}

.catalog-sort-box select {
    cursor: pointer;
}

.catalog-product-item {
    animation: catalogFadeUp .35s ease both;
}

@keyframes catalogFadeUp {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.catalog-price-label {
    color: var(--muted);
    font-size: 10px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.wishlist-btn.is-active {
    color: #fff;
    background: #ef476f;
}

.catalog-empty-state {
    padding: 65px 20px;
    text-align: center;
    border: 1px dashed #d9d5eb;
    border-radius: 22px;
    background: #fff;
}

.catalog-empty-state > span {
    width: 76px;
    height: 76px;
    margin: 0 auto 18px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    color: var(--brand);
    background: var(--brand-soft);
    font-size: 28px;
}

.catalog-empty-state h3 {
    font-weight: 900;
}

.catalog-empty-state p {
    color: var(--muted);
}

.catalog-load-more {
    min-width: 220px;
    border: 0;
}

.catalog-help-section {
    padding: 0 0 75px;
}

.catalog-help-card {
    padding: 48px 50px;
    overflow: hidden;
    border-radius: 26px;
    color: #fff;
    background:
        radial-gradient(circle at 88% 20%, rgba(255,183,3,.32), transparent 22%),
        linear-gradient(120deg, #171229, #3d238d);
}

.catalog-help-card h2 {
    margin: 8px 0 12px;
    color: #fff;
    font-size: clamp(29px, 4vw, 46px);
    font-weight: 950;
    letter-spacing: -1.4px;
}

.catalog-help-card p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.72);
    line-height: 1.75;
}

@media (max-width: 1199.98px) {
    .catalog-hero-card { padding: 55px 42px; }
    .catalog-visual { min-height: 350px; }
    .catalog-window-content { min-height: 270px; }
}

@media (max-width: 991.98px) {
    .catalog-hero-card { padding: 48px 34px; }
    .catalog-visual { margin-top: 12px; min-height: 360px; }
    .catalog-visual-window { max-width: 580px; transform: none; }
    .catalog-results-head { align-items: stretch; flex-direction: column; }
    .catalog-controls { width: 100%; }
    .catalog-search-box { flex: 1; }
}

@media (max-width: 767.98px) {
    .catalog-hero { padding-top: 16px; }
    .catalog-hero-card { padding: 39px 22px 28px; border-radius: 22px; }
    .catalog-hero-title { font-size: 38px; letter-spacing: -1.5px; }
    .catalog-hero-text { font-size: 14px; }
    .catalog-hero-search { padding: 8px 10px 8px 15px; flex-wrap: wrap; }
    .catalog-hero-search input { min-height: 40px; }
    .catalog-hero-search button { width: 100%; }
    .catalog-hero-meta { gap: 12px 17px; }
    .catalog-visual { min-height: auto; padding: 28px 0 8px; }
    .catalog-window-content { min-height: 240px; }
    .catalog-floating-badge { position: relative; inset: auto; width: 100%; margin-top: 10px; }
    .catalog-results-head { margin-bottom: 22px; }
    .catalog-controls { flex-direction: column; }
    .catalog-search-box,
    .catalog-sort-box { width: 100%; min-width: 0; }
    .catalog-search-box input,
    .catalog-sort-box select { width: 100%; }
    .catalog-help-card { padding: 37px 24px; }
}

@media (max-width: 480px) {
    .catalog-hero-card { padding: 34px 17px 23px; }
    .catalog-hero-title { font-size: 32px; }
    .catalog-window-content { min-height: 205px; }
    .catalog-content-mock { padding: 20px 16px; }
    .catalog-card-mock-grid span { height: 65px; }
    .catalog-filter-btn { font-size: 12px; }
}


/* =====================================================
   Product Details Page
===================================================== */

.product-detail-breadcrumb {
    padding: 22px 0 0;
}

.product-detail-breadcrumb .breadcrumb {
    font-size: 13px;
}

.product-detail-breadcrumb .breadcrumb a {
    color: var(--muted);
}

.product-detail-breadcrumb .breadcrumb a:hover {
    color: var(--brand);
}

.product-detail-section {
    padding: 28px 0 60px;
}

.product-gallery-card,
.product-purchase-card,
.product-description-card,
.product-info-card {
    border: 1px solid var(--line);
    border-radius: 24px;
    background: var(--surface);
}

.product-gallery-card {
    position: relative;
    overflow: hidden;
    padding: 20px;
}

.product-gallery-top {
    position: absolute;
    z-index: 5;
    top: 34px;
    left: 34px;
    right: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
}

.product-gallery-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    color: var(--brand-dark);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 24px rgba(24, 20, 57, .12);
    font-size: 11px;
    font-weight: 900;
}

.product-gallery-wishlist {
    position: static;
    pointer-events: auto;
}

.product-main-swiper {
    overflow: hidden;
    border-radius: 18px;
    background: #f0f0f7;
}

.product-gallery-image {
    aspect-ratio: 4 / 3;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.product-gallery-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-gallery-nav {
    position: absolute;
    z-index: 5;
    top: 50%;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 50%;
    color: var(--ink);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 28px rgba(24, 20, 57, .14);
    transform: translateY(-50%);
}

.product-gallery-prev {
    left: 16px;
}

.product-gallery-next {
    right: 16px;
}

.product-thumb-swiper {
    margin-top: 13px;
}

.product-thumb-swiper .swiper-slide {
    opacity: .52;
    cursor: pointer;
}

.product-thumb-swiper .swiper-slide-thumb-active {
    opacity: 1;
}

.product-thumb-button {
    width: 100%;
    aspect-ratio: 4 / 3;
    padding: 5px;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 13px;
    background: #f2f2f8;
}

.product-thumb-swiper .swiper-slide-thumb-active .product-thumb-button {
    border-color: var(--brand);
}

.product-thumb-button img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.product-purchase-card {
    position: sticky;
    top: 150px;
    padding: 34px;
    box-shadow: 0 20px 55px rgba(24, 20, 57, .08);
}

.product-detail-title {
    margin: 10px 0 14px;
    color: var(--ink);
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.08;
    letter-spacing: -1.5px;
    font-weight: 950;
}

.product-detail-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    font-size: 12px;
}

.product-detail-stars {
    color: #ffad00;
}

.product-detail-price-wrap {
    margin: 28px 0;
    padding: 22px;
    border: 1px solid #ddd7ff;
    border-radius: 18px;
    background: linear-gradient(135deg, #f6f3ff, #fff);
}

.product-detail-price-label,
.product-detail-price-wrap small {
    display: block;
    color: var(--muted);
    font-size: 12px;
}

.product-detail-price {
    display: block;
    margin: 3px 0;
    color: var(--brand-dark);
    font-size: 38px;
    line-height: 1;
    font-weight: 950;
}

.product-purchase-benefits {
    display: grid;
    gap: 14px;
    margin-bottom: 25px;
}

.product-purchase-benefits > div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.product-purchase-benefits > div > span {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--brand);
    background: var(--brand-soft);
}

.product-purchase-benefits strong,
.product-purchase-benefits small {
    display: block;
}

.product-purchase-benefits strong {
    color: var(--ink);
    font-size: 13px;
}

.product-purchase-benefits small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 11px;
}

.product-action-grid {
    display: grid;
    gap: 11px;
}

.product-buy-button,
.product-cart-button {
    width: 100%;
    min-height: 54px;
}

.product-cart-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid var(--brand);
    border-radius: 14px;
    color: var(--brand);
    background: #fff;
    font-weight: 850;
    transition: .2s ease;
}

.product-cart-button:hover {
    color: #fff;
    background: var(--brand);
}

.product-secure-note {
    margin-top: 14px;
    color: var(--muted);
    text-align: center;
    font-size: 11px;
}

.product-secure-note i {
    color: #20a66a;
    margin-right: 5px;
}

.product-tags {
    margin-top: 25px;
    padding-top: 22px;
    border-top: 1px solid var(--line);
}

.product-tags-title {
    display: block;
    margin-bottom: 11px;
    color: var(--ink);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .8px;
}

.product-tags a {
    padding: 7px 11px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    background: #fff;
    font-size: 11px;
    font-weight: 750;
}

.product-tags a:hover {
    color: var(--brand);
    border-color: rgba(91, 54, 242, .35);
    background: var(--brand-soft);
}

.product-support-link {
    margin-top: 22px;
    padding: 14px;
    border-radius: 13px;
    color: var(--muted);
    background: var(--page);
    font-size: 12px;
}

.product-support-link i {
    color: var(--brand);
    margin-right: 6px;
}

.product-support-link a {
    color: var(--brand);
    font-weight: 850;
}

.product-information-section {
    padding: 0 0 65px;
}

.product-description-card,
.product-info-card {
    height: 100%;
    padding: 34px;
}

.product-description-content {
    color: #555568;
    font-size: 15px;
    line-height: 1.9;
}

.product-info-card h3 {
    margin-bottom: 22px;
    font-size: 20px;
    font-weight: 900;
}

.product-info-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-info-card li {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
    font-size: 13px;
}

.product-info-card li span {
    color: var(--muted);
}

.product-info-card li strong {
    color: var(--ink);
    text-align: right;
}

.product-info-contact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 22px;
    padding: 14px 16px;
    border-radius: 13px;
    color: var(--brand);
    background: var(--brand-soft);
    font-weight: 850;
}

.related-products-section {
    padding: 60px 0 75px;
    border-top: 1px solid var(--line);
    background: #fff;
}

.related-products-swiper {
    padding: 5px 3px 48px;
}

.related-products-swiper .swiper-slide {
    height: auto;
}

.related-products-pagination .swiper-pagination-bullet-active {
    background: var(--brand);
}

.product-final-cta {
    padding: 0 0 75px;
    background: #fff;
}

.product-final-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 45px;
    overflow: hidden;
    border-radius: 25px;
    color: #fff;
    background:
        radial-gradient(circle at 88% 22%, rgba(255, 183, 3, .38), transparent 22%),
        linear-gradient(120deg, #171229, #3d238d);
}

.product-final-cta-card h2 {
    max-width: 700px;
    margin: 8px 0;
    font-size: clamp(28px, 4vw, 45px);
    font-weight: 950;
    letter-spacing: -1.3px;
}

.product-final-cta-card p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
}

@media (max-width: 1199.98px) {
    .product-purchase-card {
        padding: 28px;
    }
}

@media (max-width: 991.98px) {
    .product-purchase-card {
        position: static;
    }

    .product-final-cta-card {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767.98px) {
    .product-detail-breadcrumb {
        padding-top: 15px;
    }

    .product-detail-section {
        padding-top: 20px;
    }

    .product-gallery-card {
        padding: 10px;
        border-radius: 18px;
    }

    .product-gallery-top {
        top: 20px;
        left: 20px;
        right: 20px;
    }

    .product-gallery-image {
        aspect-ratio: 1 / 1;
    }

    .product-gallery-nav {
        width: 38px;
        height: 38px;
    }

    .product-purchase-card,
    .product-description-card,
    .product-info-card {
        padding: 24px 20px;
        border-radius: 18px;
    }

    .product-detail-title {
        font-size: 32px;
    }

    .product-detail-price {
        font-size: 33px;
    }

    .product-final-cta-card {
        padding: 34px 23px;
        border-radius: 20px;
    }

    .product-final-cta-card .btn-store-light {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .product-gallery-label {
        max-width: 70%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .product-thumb-swiper {
        margin-top: 8px;
    }
}



/* =====================================================
   Digixel IT Terms & Conditions Page
===================================================== */

.legal-hero {
    padding: 34px 0 24px;
}

.legal-hero-card {
    position: relative;
    overflow: hidden;
    padding: 72px 64px;
    border-radius: 30px;
    color: #fff;
    background:
        radial-gradient(circle at 12% 12%, rgba(255,255,255,.12), transparent 24%),
        radial-gradient(circle at 88% 82%, rgba(255,183,3,.25), transparent 24%),
        linear-gradient(125deg, #171229 0%, var(--brand-dark) 48%, #6847ee 100%);
    box-shadow: 0 30px 75px rgba(50,23,168,.22);
}

.legal-hero-card::before,
.legal-hero-card::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
}

.legal-hero-card::before {
    width: 340px;
    height: 340px;
    top: -190px;
    left: 44%;
}

.legal-hero-card::after {
    width: 460px;
    height: 460px;
    right: -250px;
    bottom: -285px;
}

.legal-hero-card .row {
    position: relative;
    z-index: 2;
}

.legal-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 15px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,.1);
    font-size: 13px;
    font-weight: 800;
    backdrop-filter: blur(8px);
}

.legal-hero-title {
    margin: 22px 0 18px;
    color: #fff;
    font-size: clamp(44px, 6vw, 74px);
    line-height: 1.02;
    letter-spacing: -2.7px;
    font-weight: 950;
}

.legal-hero-text {
    max-width: 680px;
    margin: 0 0 30px;
    color: rgba(255,255,255,.78);
    font-size: 17px;
    line-height: 1.75;
}

.legal-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
}

.legal-outline-btn {
    min-height: 50px;
    padding: 13px 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 13px;
    color: #fff;
    background: rgba(255,255,255,.09);
    font-weight: 800;
    transition: .25s ease;
}

.legal-outline-btn:hover {
    color: #fff;
    background: rgba(255,255,255,.17);
    transform: translateY(-2px);
}

.legal-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin-top: 30px;
    color: rgba(255,255,255,.68);
    font-size: 12px;
    font-weight: 700;
}

.legal-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.legal-visual {
    position: relative;
    min-height: 410px;
    display: grid;
    place-items: center;
}

.legal-document {
    width: 100%;
    max-width: 400px;
    min-height: 350px;
    padding: 32px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 26px;
    background: rgba(255,255,255,.95);
    box-shadow: 0 35px 70px rgba(13,5,54,.34);
    transform: rotate(2deg);
}

.legal-document-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    margin-bottom: 28px;
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(135deg, var(--brand), #9a7cff);
    font-size: 25px;
}

.legal-line {
    display: block;
    height: 12px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: #e7e3fb;
}

.legal-line-lg { width: 92%; }
.legal-line-md { width: 72%; }
.legal-line-sm { width: 48%; }

.legal-check-list {
    display: grid;
    gap: 12px;
    margin-top: 34px;
}

.legal-check-list span {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 13px;
    color: var(--ink);
    background: var(--brand-soft);
    font-size: 13px;
    font-weight: 800;
}

.legal-check-list i {
    color: var(--brand);
}

.legal-floating-card {
    position: absolute;
    z-index: 3;
    padding: 12px 15px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    border-radius: 14px;
    color: var(--ink);
    background: #fff;
    box-shadow: 0 16px 38px rgba(13,5,54,.22);
    font-size: 12px;
    font-weight: 850;
}

.legal-floating-card i {
    color: var(--brand);
}

.legal-card-one {
    top: 42px;
    left: -10px;
}

.legal-card-two {
    right: -10px;
    bottom: 42px;
}

.legal-section {
    padding: 70px 0;
}

.legal-sidebar {
    position: sticky;
    top: 145px;
    padding: 25px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(24,20,57,.06);
}

.legal-sidebar h2 {
    margin: 7px 0 20px;
    font-size: 23px;
    font-weight: 900;
}

.legal-toc {
    display: grid;
    gap: 6px;
}

.legal-toc a {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 11px;
    border-radius: 11px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
    transition: .2s ease;
}

.legal-toc a span {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: var(--brand);
    background: var(--brand-soft);
    font-size: 10px;
    font-weight: 900;
}

.legal-toc a:hover,
.legal-toc a.active {
    color: var(--brand);
    background: var(--brand-soft);
}

.legal-help-box {
    margin-top: 23px;
    padding: 18px;
    display: flex;
    gap: 12px;
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(135deg, #171229, var(--brand-dark));
}

.legal-help-box > span {
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: #ffd166;
    background: rgba(255,255,255,.1);
}

.legal-help-box strong {
    display: block;
    font-size: 13px;
}

.legal-help-box p {
    margin: 5px 0 9px;
    color: rgba(255,255,255,.66);
    font-size: 11px;
    line-height: 1.55;
}

.legal-help-box a {
    color: #ffd166;
    font-size: 11px;
    font-weight: 800;
}

.legal-intro {
    margin-bottom: 30px;
}

.legal-terms-list {
    display: grid;
    gap: 18px;
}

.legal-term-card {
    scroll-margin-top: 145px;
    padding: 29px;
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 20px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    transition: .25s ease;
}

.legal-term-card:hover {
    transform: translateY(-3px);
    border-color: rgba(91,54,242,.28);
    box-shadow: 0 18px 44px rgba(24,20,57,.07);
}

.legal-term-number {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: #fff;
    background: linear-gradient(135deg, var(--brand), #9a7cff);
    font-size: 13px;
    font-weight: 950;
}

.legal-term-card h3 {
    margin: 2px 0 10px;
    color: var(--ink);
    font-size: 20px;
    font-weight: 900;
}

.legal-term-card p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.8;
}

.legal-term-card a {
    color: var(--brand);
    font-weight: 750;
}

.legal-contact-details {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 17px;
}

.legal-contact-details span,
.legal-contact-details a {
    padding: 9px 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--line);
    border-radius: 11px;
    color: var(--ink);
    background: #fafafe;
    font-size: 12px;
    font-weight: 750;
}

.legal-note {
    margin-top: 25px;
    padding: 20px;
    display: flex;
    gap: 13px;
    border: 1px solid #ded8ff;
    border-radius: 16px;
    background: #f4f1ff;
}

.legal-note > span {
    color: var(--brand);
}

.legal-note p {
    margin: 0;
    color: #555568;
    font-size: 13px;
    line-height: 1.7;
}

.legal-cta-section {
    padding: 10px 0 75px;
}

.legal-cta-card {
    padding: 48px 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border-radius: 26px;
    color: #fff;
    background:
        radial-gradient(circle at 86% 22%, rgba(255,183,3,.32), transparent 20%),
        linear-gradient(120deg, #171229, #3d238d);
}

.legal-cta-card h2 {
    margin: 7px 0 10px;
    color: #fff;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 900;
    letter-spacing: -1.2px;
}

.legal-cta-card p {
    max-width: 700px;
    margin: 0;
    color: rgba(255,255,255,.7);
}

@media (max-width: 1199.98px) {
    .legal-hero-card {
        padding: 60px 42px;
    }

    .legal-card-one { left: -18px; }
    .legal-card-two { right: -18px; }
}

@media (max-width: 991.98px) {
    .legal-hero-card {
        padding: 52px 35px;
    }

    .legal-visual {
        min-height: 390px;
        margin-top: 15px;
    }

    .legal-sidebar {
        position: static;
    }

    .legal-toc {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .legal-cta-card {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767.98px) {
    .legal-hero {
        padding-top: 16px;
    }

    .legal-hero-card {
        padding: 40px 22px 30px;
        border-radius: 21px;
    }

    .legal-hero-title {
        font-size: 40px;
        letter-spacing: -1.7px;
    }

    .legal-hero-text {
        font-size: 14px;
        line-height: 1.65;
    }

    .legal-hero-actions .btn-store-light,
    .legal-outline-btn {
        width: 100%;
    }

    .legal-meta {
        gap: 12px;
        flex-direction: column;
    }

    .legal-visual {
        min-height: auto;
        padding: 28px 0 55px;
    }

    .legal-document {
        min-height: 310px;
        padding: 24px;
        transform: none;
    }

    .legal-floating-card {
        font-size: 10px;
    }

    .legal-card-one {
        top: 5px;
        left: 0;
    }

    .legal-card-two {
        right: 0;
        bottom: 8px;
    }

    .legal-section {
        padding: 48px 0;
    }

    .legal-toc {
        grid-template-columns: 1fr;
    }

    .legal-term-card {
        padding: 23px 20px;
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .legal-term-number {
        width: 46px;
        height: 46px;
    }

    .legal-cta-card {
        padding: 36px 24px;
    }

    .legal-cta-card .btn-store-light {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .legal-hero-card {
        padding: 34px 17px 24px;
    }

    .legal-hero-title {
        font-size: 34px;
    }

    .legal-document {
        min-height: 285px;
    }

    .legal-card-one,
    .legal-card-two {
        position: relative;
        inset: auto;
        width: 100%;
        margin-top: 10px;
        justify-content: center;
    }
}


