
/* --- Custom CSS --- */
        :root {
            /* Palette Rose Gold */
            --primary-color: #c07d84; /* Rose Gold Utama */
            --primary-dark: #a05f66;  /* Rose Gold Gelap untuk Hover */
            --secondary-color: #fff9fa; /* Background Pinkish White sangat muda */
            --accent-color: #d4af37; /* Emas untuk aksen mewah */
            --text-dark: #4a4a4a;
        }

        body {
            font-family: 'Public Sans', sans-serif;
            background-color: var(--secondary-color);
            color: var(--text-dark);
        }

        .text-rose-gold {
            color: var(--primary-color);
        }
        .text-rose-gold-dark {
            color: var(--primary-dark);
        }
        .fw-light {
            font-weight: 300;
        }
        .line-height-0 {
            line-height: 0;
        }
        .pt-0 {
            padding-top: 0;
        }
        .mt-0 {
            margin-top: 0;
        }
        .pb-0 {
            padding-bottom: 0;
        }
        .mb-0 {
            margin-bottom: 0;
        }

        h1 {
            font-size: 2.5rem;
            font-weight: 800;
            margin-bottom: 30px;
        }

        h2 {
            font-size: 2rem;
            font-weight: 800;
            margin-bottom: 20px;
        }
        h3 {
            font-size: 1.5rem;
            font-weight: 800;
            margin-bottom: 20px;
        }
        p {
            font-size: 1rem;
            line-height: 1.5;
            margin-bottom: 20px;
        }

        /* Navbar */
        .navbar {
            background-color: white;
            box-shadow: 0 2px 10px rgba(192, 125, 132, 0.1);
            padding-top: 15px;
            padding-bottom: 15px;
        }
        .navbar-brand {
            font-weight: 800;
            font-size: 1.5rem;
            color: var(--primary-color) !important;
            letter-spacing: -0.5px;
        }
        .nav-link {
            font-weight: 600;
            color: #666;
            margin: 0 10px;
        }
        .nav-link:hover, .nav-link.active {
            color: var(--primary-color);
        }

        /* --- CAROUSEL / SLIDER --- */
        /* Main Slider */
        #mainCarousel .carousel-item {
            height: 600px;
            min-height: 600px;
            background-size: cover;
            background-position: center;
            position: relative;
        }
        #mainCarousel .carousel-caption {
            bottom: 30%;
            z-index: 2;
        }
        #mainCarousel .carousel-caption p{
            font-size: 1.4rem;
            font-weight: normal;
            margin-bottom: 30px;
        }
        @media screen and (max-width: 768px) {
          #mainCarousel .carousel-caption {
            /* center */
            top: 30%;
            transform: translateY(-50%); 
            bottom: auto;
          }
          #mainCarousel .carousel-caption h1 { 
            margin-bottom: 20px;
          }


          #mainCarousel .carousel-caption p{
            font-size: 1rem;
            margin-bottom: 20px;
           }
        }
        #mainCarousel .carousel-caption h1 {
            font-weight: 800;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.4);
            font-size: 3rem;
        }
        /* Testimonial Slider */
        #testimonialCarousel .carousel-item {
            height: auto;
            min-height: 350px; 
            background: transparent; 
        }
        #testimonialCarousel .carousel-indicators [data-bs-target]{
            width: 8px; height: 8px; border-radius: 50%; background-color: rgba(0,0,0,.25);
        }
        #testimonialCarousel .carousel-indicators .active{ background-color: rgba(0,0,0,.6); }

      
        #testimonialCarousel .carousel-control-prev-icon,
        #testimonialCarousel .carousel-control-next-icon{
            filter: invert(0.4); /* lebih halus dibanding main */
        }

        #testimonialCarousel .carousel-control-prev-icon{
          left: -50px;
        }
        #testimonialCarousel .carousel-control-next-icon{
          right: -50px;
        }
        

        /* Buttons */
        .btn-primary-custom {
            background-color: var(--primary-color);
            color: white;
            border: none;
            padding: 12px 35px;
            border-radius: 50px;
            font-weight: 600;
            transition: all 0.3s;
        }
        .btn-primary-custom:hover {
            background-color: var(--primary-dark);
            color: white;
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(192, 125, 132, 0.4);
        }

        /* Product Cards */
        .card-product {
            border: none;
            border-radius: 15px;
            overflow: hidden;
            transition: all 0.3s ease;
            background: white;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
            border: 1px solid rgba(192, 125, 132, 0.1); /* Tipis rose gold border */
        }
        .card-product:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(192, 125, 132, 0.15);
        }
        .card-img-top {
            height: 250px;
            object-fit: cover;
        }
        .price-tag {
            background-color: #eeb200;
            color: white;
            padding: 5px 15px;
            border-radius: 0 0 0 15px;
            font-weight: bold;
            position: absolute;
            top: 0;
            right: 0;
        }

        .best-seller {
            border: 2px solid #eeb200;
            box-shadow: 0 12px 28px rgba(192, 125, 132, 0.25);
        }
        .best-seller .card-body {
            background-color: #fff1f4;
        }

        .cta-banner {
            background: linear-gradient(90deg, #fff1f4 0%, #ffffff 100%);
            border: 1px solid rgba(192, 125, 132, 0.2);
            border-radius: 16px;
            padding: 24px;
            box-shadow: 0 8px 20px rgba(192, 125, 132, 0.12);
        }
        .cta-title { font-weight: 800; margin: 0; }
        .cta-subtitle { margin: 6px 0 0; color: #6c757d; }

        /* Testimonials Google Style */
        .testimonial-card {
            background-color: white;
            border-radius: 8px; /* Lebih kotak khas Google */
            padding: 25px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
            margin: 15px;
            text-align: left;
            border: 1px solid #e0e0e0;
            position: relative;
        }
        .google-icon {
            position: absolute;
            top: 20px;
            right: 20px;
            width: 24px;
            height: 24px;
        }
        .user-avatar {
            width: 40px;
            height: 40px;
            background-color: var(--primary-color);
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 18px;
            margin-right: 15px;
        }

        /* Contact Box */
        .contact-box {
            background: white;
            padding: 30px;
            border-radius: 15px;
            box-shadow: 0 5px 20px rgba(192, 125, 132, 0.1);
        }

        /* Floating WA Button */
        .float-wa {
            position: fixed;
            bottom: 80px;
            right: 30px;
            background-color: #25D366; /* Hijau khas WhatsApp */
            color: white;
            width: 65px;
            height: 65px;
            border-radius: 50%;
            text-align: center;
            font-size: 35px;
            box-shadow: 0 4px 15px rgba(37, 211, 102, 0.35);
            z-index: 1000;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            transition: all 0.3s;
            animation: pulse-wa 2s infinite;
        }
        .float-wa:hover {
            background-color: #1ebe57;
            color: white;
            transform: scale(1.1);
        }
        @keyframes pulse-wa {
            0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6); }
            70% { box-shadow: 0 0 0 15px rgba(37, 211, 102, 0); }
            100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
        }

        .btn-whatsapp {
            background-color: #25D366;
            border-color: #25D366;
            color: #fff;
        }
        .btn-whatsapp:hover, .btn-whatsapp:focus { 
            background-color: #1ebe57; 
            border-color: #1ebe57;
            color: #fff;
        }

        /* Utilities */
        .section-padding { padding: 80px 0; }
        .text-primary-custom { color: var(--primary-color); }
        .section-title {
            position: relative;
            display: inline-block;
            margin-bottom: 50px;
            font-weight: 800;
            color: var(--text-dark);
        }
        .section-title::after {
            content: '';
            position: absolute;
            width: 50%;
            height: 4px;
            background-color: var(--primary-color);
            bottom: -10px;
            left: 25%;
            border-radius: 2px;
        }

        @media (max-width: 768px) {
            #mainCarousel .carousel-caption h1 { font-size: 2rem; }
            #mainCarousel .carousel-item { height: 60vh; min-height: 400px; }
        }


        /* Hero Mini untuk Halaman Layanan */
        .page-header {
            background: linear-gradient(rgba(54, 50, 50, 0.5), rgba(31, 31, 31, 0.8)), url('../images/hero-banner-1.jpg');
            background-size: cover;
            background-position: center;
            padding: 80px 0 0;
            margin-bottom: 0px;
            border-bottom: 5px solid var(--primary-color);
            min-height: 400px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
        } 

        .page-header h1{
            font-size: 3rem;
            font-weight: 800;
            color: white;
            text-shadow: 0 5px 15px rgba(0,0,0,0.3);
        }

        .breadcrumb {
            background-color: transparent;
            padding: 0;
            margin-bottom: 0;
        }

        .email { display: flex; align-items: center; gap: .5rem; }
        .email i { flex: 0 0 auto; }
        .email span { flex: 1 1 auto; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

        .social-media-share { display: flex; gap: 1rem; list-style: none; padding-left: 0; margin: 0; align-items: center; flex-wrap: wrap; }
        .social-media-share li { display: inline-flex; }
        .social-icon { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; font-size: 18px; text-decoration: none; transition: all .3s ease; box-shadow: 0 2px 6px rgba(0,0,0,.15); border: 1px solid transparent; }
        .social-icon:hover { transform: scale(1.08); }
        .facebook-bg { background-color: #3b5998; }
        .facebook-bg:hover { background-color: #fff; color: #3b5998; border-color: #3b5998; box-shadow: 0 4px 12px rgba(59,89,152,.25); }
        .twitter-bg { background-color: #1da1f2; }
        .twitter-bg:hover { background-color: #fff; color: #1da1f2; border-color: #1da1f2; box-shadow: 0 4px 12px rgba(29,161,242,.25); }
        .linkedin-bg { background-color: #0077b5; }
        .linkedin-bg:hover { background-color: #fff; color: #0077b5; border-color: #0077b5; box-shadow: 0 4px 12px rgba(0,119,181,.25); }
        .whatsapp-bg { background-color: #25d366; }
        .whatsapp-bg:hover { background-color: #fff; color: #25d366; border-color: #25d366; box-shadow: 0 4px 12px rgba(37,211,102,.25); }

        .reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
        .reveal.is-visible { opacity: 1; transform: none; }

        .back-to-top {
            position: fixed;
            right: 24px;
            bottom: 24px;
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background-color: var(--primary-color);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            box-shadow: 0 8px 16px rgba(0,0,0,0.18);
            z-index: 1000;
            opacity: 0;
            visibility: hidden;
            transition: opacity .3s ease, transform .3s ease;
        }
        .back-to-top.show { opacity: 1; visibility: visible; }
        .back-to-top:hover { background-color: var(--primary-dark); transform: translateY(-2px); }
        .back-to-top i { font-size: 18px; }

        .breadcrumb-item a {
            color: white;
            text-decoration: none;
        }
        .breadcrumb-item.active {
            color: #c07d84;
        }
        .breadcrumb-item+.breadcrumb-item::before {
            content: '/';
            color: white;
        }


        /* Service Cards Styling */
        .service-card {
            border: none;
            border-radius: 15px;
            transition: all 0.3s ease;
            background: white;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
            height: 100%;
            position: relative;
            overflow: hidden;
        }
        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0,0,0,0.1);
        }
        
        /* Warna Border & Icon Tiap Kategori */
        .card-selamat { border-top: 5px solid var(--cat-selamat); }
        .icon-selamat { color: var(--cat-selamat); background-color: rgba(255, 193, 7, 0.1); }
        
        .card-duka { border-top: 5px solid var(--cat-duka); }
        .icon-duka { color: var(--cat-duka); background-color: rgba(96, 125, 139, 0.1); }
        
        .card-wedding { border-top: 5px solid var(--cat-wedding); }
        .icon-wedding { color: var(--cat-wedding); background-color: rgba(233, 30, 99, 0.1); }
        
        .card-standing { border-top: 5px solid var(--cat-standing); }
        .icon-standing { color: var(--cat-standing); background-color: rgba(46, 125, 50, 0.1); }
        
        .card-custom { border-top: 5px solid var(--cat-custom); }
        .icon-custom { color: var(--cat-custom); background-color: rgba(111, 66, 193, 0.1); }

        .service-icon-wrapper {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            margin-right: 15px;
        }

        /* produk-detail */
        
        .detailproduk h1 {
            font-size: 2.5rem;
            font-weight: 800;
            color: var(--text-dark);
            margin-bottom: 30px;
        }

        .detailproduk h2 {
            font-size: 2rem;
            font-weight: 800;
            color: var(--text-dark);
            margin-bottom: 20px;
            
        }

        .detailproduk h3 {
            font-size: 1.5rem;
            font-weight: 800;
            color: var(--text-dark);
            margin-bottom: 20px;
            font-family: 'Raleway', sans-serif;
        }

        .detailproduk p {
            font-size: 1.2rem;
            line-height: 1.8;
            color: var(--text-dark);
            margin-bottom: 20px; 
        }

        /* Features Section */
        .feature-box {
            background: white;
            padding: 20px;
            border-radius: 10px;
            border: 1px solid rgba(192, 125, 132, 0.2);
            height: 100%;
            transition: 0.3s;
        }
        .feature-box:hover {
            border-color: var(--primary-color);
            background-color: #fff0f3;
        }

        /* Process Steps */
        .step-circle {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            color: white;
            margin: 0 auto 15px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.2);
            position: relative;
        }