    :root {
        --pink: #ff67b0;
        --pink-dark: #f2559f;
        --pink-light: #fff1f2;
        --pink-border: #ffe4e6;
        --pink-soft: #ffccd3;
        --cyan: #02c4ef;
        --text: #0a0a0a;
        --text-mid: #717182;
        --green: #00a63e;
        --green-bg: #dcfce7;
        --radius-sm: 8px;
        --radius-md: 14px;
        --radius-lg: 20px;
    }

    * {
        box-sizing: border-box;
    }

    body {
        font-family: 'Inter', sans-serif;
        background: #fff;
        color: var(--text);
        overflow-x: hidden;
    }

    /* ─── NAVBAR ─── */
    .navbar {
        background: rgba(255, 255, 255, 0.97) !important;
        backdrop-filter: blur(12px);
        border-bottom: 1px solid #f0f0f0;
        padding: 0.6rem 0 !important;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
    }

    .navbar .logo-circle {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        object-fit: cover;
    }

    .navbar .nav-link {
        font-weight: 600;
        font-size: 15px;
        color: #000 !important;
        padding: 0.4rem 0.8rem;
    }

    .btn-signin {
        border: 1px solid #d9d9d9;
        border-radius: 10px;
        font-weight: 600;
        font-size: 15px;
        color: #ff67b0 !important;
        padding: 8px 18px;
        background: white;
    }

    .btn-book {
        background: #ff67b0;
        color: white !important;
        border: none;
        border-radius: 10px;
        font-weight: 600;
        font-size: 15px;
        padding: 8px 22px;
    }

    .btn-book:hover {
        background: var(--pink-dark);
    }

    /* ─── PRODUCT DETAIL ─── */
    .product-detail-section {
        padding: 60px 0 40px;
        background: #fff;
    }

    /* ══════════════════════════════
           IMAGE SLIDER
        ══════════════════════════════ */
    .product-main-image {
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: 14px;
        overflow: hidden;
        margin-bottom: 12px;
        position: relative;
        background: #f5f5f5;
    }

    /* Slides container */
    .slides-track {
        display: flex;
        transition: transform 0.4s ease;
    }

    .slide-item {
        flex-shrink: 0;
        width: 100%;
    }

    .slide-item img {
        width: 100%;
        height: 500px;
        object-fit: cover;
        display: block;
    }

    .badge-serum {
        position: absolute;
        top: 12px;
        left: 12px;
        background: var(--pink);
        color: white;
        border-radius: 8px;
        padding: 3px 10px;
        font-size: 12px;
        font-weight: 600;
        z-index: 3;
    }

    /* Left / Right Arrow Buttons on image */
    .slider-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 4;
        width: 38px;
        height: 38px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.92);
        border: 1.5px solid rgba(0, 0, 0, 0.10);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
        transition: background 0.2s, border-color 0.2s;
        font-size: 14px;
        color: #333;
    }

    .slider-arrow:hover {
        background: var(--pink);
        border-color: var(--pink);
        color: #fff;
    }

    .slider-arrow.prev {
        left: 12px;
    }

    .slider-arrow.next {
        right: 12px;
    }

    /* Dot indicators */
    .slider-dots {
        position: absolute;
        bottom: 12px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 6px;
        z-index: 4;
    }

    .slider-dot {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.6);
        cursor: pointer;
        transition: background 0.2s, transform 0.2s;
    }

    .slider-dot.active {
        background: #fff;
        transform: scale(1.3);
    }

    /* Thumbnails */
    .thumbnails-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
        margin-bottom: 14px;
    }

    .thumb-item {
        border: 2px solid #e5e7eb;
        border-radius: 10px;
        overflow: hidden;
        cursor: pointer;
        aspect-ratio: 1;
        background: #f5f5f5;
        transition: border-color 0.2s;
    }

    .thumb-item.active {
        border-color: var(--pink);
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    }

    .thumb-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .thumb-item:hover {
        border-color: var(--pink);
    }

    /* THREE CYAN BUTTONS */
    .tab-buttons-row {
        display: flex;
        gap: 10px;
    }

    .tab-btn-cyan {
        flex: 1;
        background: var(--cyan);
        color: white;
        border: none;
        border-radius: var(--radius-sm);
        padding: 14px 10px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        font-family: 'Inter', sans-serif;
    }

    .tab-btn-cyan:hover {
        background: #00acd4;
        transform: translateY(-1px);
    }

    .tab-btn-cyan.active {
        background: #0097b5;
    }

    /* ══════════════════════════════
           CERT ICONS (below tab buttons)
        ══════════════════════════════ */
    .cert-icons-below {
        display: flex;
        gap: 0;
        padding-top: 16px;
        margin-top: 30px;
    }

    .cert-item {
        flex: 1;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }

    .cert-circle {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
    }

    .cert-text {
        font-size: 15px;
        font-weight: 600;
        color: var(--text);
        text-align: center;
    }

    /* ─── RIGHT SIDE INFO ─── */
    .product-badge-pill {
        display: inline-block;
        background: var(--pink);
        color: white;
        border-radius: 8px;
        padding: 2px 10px;
        font-size: 12px;
        font-weight: 600;
        margin-bottom: 10px;
    }

    .product-title {
        font-size: 36px;
        font-weight: 600;
        color: var(--text);
        margin-bottom: 6px;
        line-height: 1.1;
    }

    .product-subtitle {
        font-size: 18px;
        color: var(--text-mid);
        font-weight: 600;
        margin-bottom: 16px;
    }

    .price-wrap {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 16px;
    }

    .price-now {
        font-size: 36px;
        font-weight: 600;
        color: var(--pink);
        font-family: 'Inter', sans-serif;
    }

    .price-old {
        font-size: 24px;
        color: var(--text-mid);
        text-decoration: line-through;
        font-family: 'Arimo', sans-serif;
    }

    .badge-save {
        background: var(--green-bg);
        color: #008236;
        border-radius: 8px;
        padding: 2px 8px;
        font-size: 12px;
        font-family: 'Arimo', sans-serif;
    }

    .rating-row {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 18px;
    }

    .stars-wrap {
        display: flex;
        gap: 2px;
    }

    .stars-wrap i {
        color: #f59e0b;
        font-size: 16px;
    }

    .rating-val {
        font-size: 16px;
        font-family: 'Arimo', sans-serif;
    }

    .rating-count {
        font-size: 16px;
        color: var(--text-mid);
        font-family: 'Arimo', sans-serif;
    }

    .section-label {
        font-size: 16px;
        font-weight: 600;
        color: var(--text);
        margin-bottom: 10px;
    }

    .skin-type-pills {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        margin-bottom: 18px;
    }

    .skin-pill {
        display: flex;
        align-items: center;
        gap: 8px;
        border: 1px solid var(--pink-soft);
        border-radius: 999px;
        padding: 8px 17px;
        font-size: 14px;
        font-family: 'Arimo', sans-serif;
        background: white;
        cursor: pointer;
        transition: all 0.2s;
    }

    .skin-pill:hover,
    .skin-pill.active {
        background: var(--pink-light);
        border-color: var(--pink);
    }

    .benefits-card {
        background: linear-gradient(157.38deg, #fff1f2 0%, #fdf2f8 100%);
        border: 1px solid var(--pink-border);
        border-radius: 14px;
        padding: 22px 20px 22px 25px;
        margin-bottom: 18px;
    }

    .benefits-card-title {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 18px;
    }

    .benefits-card-title .left {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 18px;
        font-family: 'Arimo', sans-serif;
    }

    .new-year-btn {
        background: var(--pink);
        color: white;
        border: none;
        border-radius: 8px;
        padding: 4px 14px 4px 10px;
        font-size: 14px;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .benefits-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .benefits-list li {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 14px;
        font-family: 'Arimo', sans-serif;
        color: var(--text);
    }

    .sizes-row {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        margin-bottom: 18px;
    }

    .size-pill {
        border: 1px solid var(--pink-soft);
        border-radius: 999px;
        padding: 8px 17px;
        font-size: 14px;
        font-family: 'Arimo', sans-serif;
        background: white;
        cursor: pointer;
        transition: all 0.2s;
    }

    .size-pill.active,
    .size-pill:hover {
        background: var(--pink-light);
        border-color: var(--pink);
    }

    .colors-row {
        display: flex;
        gap: 8px;
        margin-bottom: 18px;
    }

    .color-dot {
        width: 29px;
        height: 29px;
        border-radius: 50%;
        cursor: pointer;
        border: 2px solid transparent;
        transition: all 0.2s;
    }

    .color-dot.active {
        border-color: #333;
        box-shadow: 0 0 0 2px #fff, 0 0 0 4px #333;
    }

    .qty-section {
        margin-bottom: 18px;
    }

    .qty-controls {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .qty-btn {
        width: 36px;
        height: 36px;
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: var(--radius-sm);
        background: white;
        font-size: 16px;
        cursor: pointer;
        transition: all 0.2s;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .qty-btn:hover {
        border-color: var(--pink);
        color: var(--pink);
    }

    .qty-btn.disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

    .qty-input {
        width: 80px;
        height: 36px;
        background: #f3f3f5;
        border: none;
        border-radius: var(--radius-sm);
        text-align: center;
        font-size: 14px;
        font-family: 'Arimo', sans-serif;
    }

    .btn-add-cart {
        background: var(--pink);
        color: white;
        border: none;
        border-radius: var(--radius-sm);
        height: 56px;
        width: 100%;
        font-size: 18px;
        font-weight: 600;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        transition: all 0.2s;
        margin-bottom: 12px;
    }

    .btn-add-cart:hover {
        background: var(--pink-dark);
        transform: translateY(-1px);
    }

    .btn-direct-order {
        background: var(--green-bg);
        color: #000;
        border: none;
        border-radius: var(--radius-sm);
        height: 56px;
        width: 100%;
        font-size: 18px;
        font-weight: 600;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        transition: all 0.2s;
        margin-bottom: 12px;
    }

    .btn-direct-order:hover {
        background: #bbf7d0;
    }

    .direct-icon {
        font-size: 20px;
        color: #4ade80;
        transform: rotate(40deg);
        display: inline-block;
    }

    .stock-row {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 14px;
        font-weight: 600;
        color: var(--green);
        margin-bottom: 16px;
    }

    /* ─── TAB CONTENT ─── */
    .tab-content-wrapper {
        padding: 40px 0;
    }

    .tab-section {
        display: none;
        animation: fadeUp 0.35s ease;
    }

    .tab-section.active {
        display: block;
    }

    @keyframes fadeUp {
        from {
            opacity: 0;
            transform: translateY(12px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .desc-section-title {
        font-size: 26px;
        font-weight: 700;
        margin-bottom: 16px;
    }

    .desc-text {
        font-size: 15px;
        line-height: 1.75;
        color: #555;
        margin-bottom: 14px;
    }

    .desc-h4 {
        font-size: 18px;
        font-weight: 600;
        margin: 20px 0 10px;
    }

    .desc-ul {
        font-size: 14px;
        line-height: 1.8;
        color: #555;
        padding-left: 20px;
    }

    .desc-ul li {
        margin-bottom: 6px;
    }

    .specs-box {
        background: #f9f9f9;
        border-radius: 12px;
        padding: 22px;
    }

    .specs-box h4 {
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 14px;
    }

    .specs-table {
        width: 100%;
    }

    .specs-table td {
        padding: 8px 0;
        font-size: 13px;
        border-bottom: 1px solid #e8e8e8;
    }

    .specs-table td:first-child {
        font-weight: 600;
        color: #333;
        width: 120px;
    }

    .specs-table tr:last-child td {
        border-bottom: none;
    }

    /* ─── FAQ ─── */
    .faq-section {
        padding: 50px 0;
        background: #fafafa;
    }

    .faq-section-title {
        font-size: 40px;
        font-weight: 700;
        color: var(--text);
        letter-spacing: -0.8px;
        margin-bottom: 10px;
    }

    .faq-list {
        max-width: 100%;
    }

    .faq-item {
        border-top: 1px solid #e0e0e0;
        padding: 0;
    }

    .faq-item:last-child {
        border-bottom: 1px solid #e0e0e0;
    }

    .faq-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 22px 20px;
        cursor: pointer;
        transition: all 0.2s;
        user-select: none;
    }

    .faq-header:hover {
        color: var(--pink);
    }

    .faq-header h5 {
        font-size: 20px;
        font-weight: 600;
        margin: 0;
        letter-spacing: -0.4px;
        transition: color 0.2s;
    }

    .faq-chevron {
        width: 17px;
        height: 9px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        transition: transform 0.3s;
        color: #666;
    }

    .faq-item.open .faq-chevron {
        transform: rotate(180deg);
        color: var(--pink);
    }

    .faq-item.open .faq-header h5 {
        color: var(--pink);
    }

    .faq-body {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease, padding 0.3s ease;
    }

    .faq-item.open .faq-body {
        max-height: 400px;
    }

    .faq-body-inner {
        padding: 0 0 20px 0;
    }

    .faq-body p {
        font-size: 15px;
        line-height: 1.7;
        color: #666;
        margin: 0;
        padding: 0 20px;
    }

    /* ─── REVIEWS ─── */
    .reviews-section {
        padding: 50px 0;
        background: linear-gradient(to bottom, rgba(255, 243, 243, 0) 0%, #fff3f3 100%);
    }

    .reviews-title {
        font-size: 40px;
        font-weight: 700;
        text-align: center;
        letter-spacing: -0.8px;
        margin-bottom: 10px;
    }

    .reviews-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        margin-bottom: 30px;
    }

    .review-card {
        background: white;
        border-radius: 20px;
        padding: 20px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
        transition: transform 0.2s;
    }

    .review-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    }

    .review-stars {
        display: flex;
        gap: 2px;
        margin-bottom: 12px;
    }

    .review-stars i {
        color: #f59e0b;
        font-size: 15px;
    }

    .review-text {
        font-size: 15px;
        line-height: 1.65;
        color: #333;
        margin-bottom: 16px;
        min-height: 90px;
    }

    .review-author {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .review-author .avatar-placeholder {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background: linear-gradient(135deg, #ff67b0, #f0aac9);
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-weight: 700;
        font-size: 18px;
    }

    .review-name {
        font-size: 14px;
        font-weight: 600;
    }

    .btn-see-all {
        background: var(--pink);
        color: white;
        border: none;
        border-radius: var(--radius-sm);
        padding: 10px 30px;
        font-size: 18px;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 8px;
        margin: 0 auto;
        cursor: pointer;
        transition: all 0.2s;
    }

    .btn-see-all:hover {
        background: var(--pink-dark);
    }

    /* ─── PRODUCTS SECTION ─── */
    .products-section {
        padding: 50px 0;
        background: #fafafa;
    }

    .products-section h2 {
        font-size: 40px;
        font-weight: 600;
        text-align: center;
        letter-spacing: -0.8px;
        margin-bottom: 35px;
    }

    .products-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }

    .prod-card {
        background: white;
        border-radius: 20px;
        overflow: hidden;
        border: 0.25px solid #878787;
        transition: all 0.25s;
    }

    .prod-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
    }

    .prod-card img {
        width: 100%;
        height: 250px;
        object-fit: cover;
        display: block;
        border-radius: 20px 20px 0 0;
    }

    .prod-card-body {
        padding: 14px;
        text-align: center;
    }

    .prod-card-body h5 {
        font-size: 20px;
        font-weight: 600;
        margin-bottom: 6px;
    }

    .prod-card-body p {
        font-size: 12px;
        color: #333;
        margin-bottom: 10px;
        min-height: 36px;
    }

    .prod-card-body .price {
        font-size: 16px;
        font-weight: 700;
        color: var(--pink);
        font-family: 'Inter', sans-serif;
    }


    /* ─── RESPONSIVE ─── */
    @media (max-width: 991px) {
        .products-grid {
            grid-template-columns: repeat(3, 1fr);
        }

        .reviews-grid {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    @media (max-width: 767px) {
        .product-title {
            font-size: 26px;
        }

        .price-now {
            font-size: 28px;
        }

        .products-grid {
            grid-template-columns: repeat(2, 1fr);
        }

        .reviews-grid {
            grid-template-columns: 1fr;
        }

        .slide-item img {
            height: 320px;
        }

        .faq-section-title {
            font-size: 28px;
        }

        .loc-info-grid {
            grid-template-columns: 1fr;
        }

        .tab-btn-cyan {
            font-size: 13px;
            padding: 10px 6px;
        }
    }