
        html, body {
            margin: 0px;
            min-height: 100%;
            background-color: #ffffff;
        }
        @font-face {
            font-family: "overdoze sans-Regular";
            src: local("overdoze sans-Regular");
        }
@font-face {
  font-family: "overdozesans";
  src: url("./overdozesans.otf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "overdozesans";
  src: url("./overdozesans.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}


        /* --- MAIN SCREEN --- */
        .catalog-screen {
            background-color: #ffffff;
            overflow: hidden;
            width: 100%;
            min-height: 100vh;
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding-bottom: 0 !important;
        }

        /* --- DECORATIVE BLURRED BACKGROUNDS --- */
        .catalog-screen .ellipse {
            position: absolute;
            top: 68px;
            left: 128px;
            width: 298px;
            height: 286px;
            background-color: #fff7fa;
            border-radius: 149.15px / 143.23px;
            filter: blur(48.7px);
            z-index: 0;
        }
        .catalog-screen .div {
            position: absolute;
            top: 400px;
            left: -103px;
            width: 415px;
            height: 467px;
            background-color: #fff7fa;
            border-radius: 207.63px / 233.41px;
            filter: blur(48.7px);
            z-index: 0;
        }
        .catalog-screen .ellipse-5 {
            position: absolute;
            top: 900px;
            left: -11px;
            width: 298px;
            height: 286px;
            background-color: #fff7fa;
            border-radius: 149.15px / 143.23px;
            filter: blur(48.7px);
            z-index: 0;
        }
        .catalog-screen .ellipse-6 {
            position: absolute;
            top: 1400px;
            left: 138px;
            width: 298px;
            height: 286px;
            background-color: #fff7fa;
            border-radius: 149.15px / 143.23px;
            filter: blur(48.7px);
            z-index: 0;
        }

        /* --- VECTORS --- */
        .catalog-screen .vector {
            position: absolute;
            top: 192px;
            left: 0;
            width: 134px;
            height: 146px;
            z-index: 0;
        }
        .catalog-screen .img {
            position: absolute;
            top: 500px;
            left: 0;
            width: 127px;
            height: 146px;
            z-index: 0;
        }
        .catalog-screen .vector-2 {
            position: absolute;
            top: 305px;
            left: 229px;
            width: 161px;
            height: 89px;
            z-index: 0;
        }
        .catalog-screen .vector-3 {
            position: absolute;
            top: 700px;
            left: 271px;
            width: 119px;
            height: 62px;
            z-index: 0;
        }
        .catalog-screen .vector-4 {
            position: absolute;
            top: 1100px;
            left: 0;
            width: 137px;
            height: 146px;
            z-index: 0;
        }

        /* --- BACK BUTTON --- */
        .back-button {
            position: absolute;
            top: 60px;
            left: 20px;
            font-family: "overdozesans";
            font-size: 15px;
            color: #000;
            cursor: pointer;
            z-index: 10;
            transition: all 0.3s ease;
            background:#ffe5f0;
            padding: 8px 18px;
            border-radius: 30px;
            border: 1px solid #000;
            box-shadow: 0 4px 12px rgba(0,0,0,0.05);
        }
        .back-button:hover {
            transform: translateX(-4px);
    background: #ffe5f0;
        }
        .back-arrow { margin-right: 6px; }

        /* --- CATALOG HEADER --- */
        .catalog-header {
            margin-top: 110px;
            text-align: center;
            margin-bottom: 30px;
            position: relative;
            z-index: 1;
        }
        .catalog-title {
            font-family: "overdozesans";
            font-size: 46px;
            color: #000;
            margin: 0;
            -webkit-text-stroke: 0.5px #ffffff;
        }
        .catalog-subtitle {
            font-family: "overdozesans";
            font-size: 16px;
            color: #666;
            margin-top: 5px;
        }

        /* --- BOUQUET GRID --- */
        .bouquet-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 25px;
            width: 90%;
            max-width: 900px;
            margin-bottom: 50px;
            position: relative;
            z-index: 1;
        }

        /* --- BOUQUET CARD --- */
        .bouquet-card {
            background: #ffffff;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 8px 25px rgba(0,0,0,0.06);
            border: 1px solid #f0f0f0;
            transition: all 0.3s ease;
            cursor: pointer;
            display: flex;
            flex-direction: column;
        }
        .bouquet-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 35px rgba(255, 180, 200, 0.25);
            border-color: #ffb4b4;
        }

        /* --- CATALOG IMAGES (Completely independent!) --- */
        .bouquet-img {
            width: 100%;
            height: 220px;
            background-size: cover !important;
            background-position: center !important;
            background-color: #fafafa;
        }
        /* These 6 images are ONLY for this catalog page */
        .catalog-img-1 { background-image: url('rose1.jpg'); }
        .catalog-img-2 { background-image: url('rose2.jpg'); }
        .catalog-img-3 { background-image: url('rose3.jpg'); }
        .catalog-img-4 { background-image: url('rose6.jpg'); }
        .catalog-img-5 { background-image: url('rose8.jpg'); }
        .catalog-img-6 { background-image: url('rose9.jpg'); }

        /* --- BOUQUET INFO --- */
        .bouquet-info {
            padding: 18px 20px 20px 20px;
            display: flex;
            flex-direction: column;
            gap: 8px;
            text-align: center;
        }
        .bouquet-name {
            font-family: "overdozesans";
            font-size: 20px;
            color: #000;
            margin: 0;
            line-height: 1.2;
        }
        .bouquet-price {
            font-family: "overdozesans";
            font-size: 22px;
            color: #000;
            margin: 0;
        }
        .catalog-order-btn {
            font-family: "overdozesans";
            font-size: 16px;
            color: #000;
            background-color: #fff1f7;
            border: 1px solid #000;
            border-radius: 30px;
            padding: 10px 0;
            cursor: pointer;
            transition: all 0.3s ease;
            width: 100%;
            margin-top: 5px;
        }
        .catalog-order-btn:hover {
            background-color: #ffe3ee;
            transform: scale(1.02);
        }

        /* --- FOOTER (Built-in) --- */
        .footer-section {
            width: 100%;
            text-align: center;
            padding: 30px 0 20px 0;
            position: relative;
            z-index: 1;
            background: transparent;
        }
        .footer-section .footer-title {
            font-family: "overdozesans";
            font-size: 40px;
            color: #000;
            display: block;
            margin-bottom: 5px;
        }
        .footer-section .footer-sub {
            font-family: "overdozesans";
            font-size: 17px;
            color: #000;
            display: block;
            margin-bottom: 10px;
        }
        .footer-section .footer-info {
            font-family: "overdozesans";
            font-size: 16px;
            color: #000;
            display: block;
            margin-bottom: 5px;
        }

        /* --- MOBILE RESPONSIVE --- */
        @media (max-width: 600px) {
            .catalog-header { margin-top: 90px; }
            .catalog-title { font-size: 34px; }
            .bouquet-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 15px; }
            .bouquet-img { height: 160px; }
            .back-button { top: 30px; left: 15px; font-size: 14px; padding: 6px 14px; }
        }


        /* ============================================================ */
/* ===== 🎀 SOFT & CUTE ANIMATIONS FOR CATALOG PAGE 🎀 ===== */
/* ============================================================ */

/* --- BASE HIDDEN STATES (Start invisible) --- */
.catalog-title, 
.catalog-subtitle, 
.bouquet-card, 
.footer-section {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* --- VISIBLE STATE (When the page loads) --- */
.catalog-title.visible, 
.catalog-subtitle.visible, 
.bouquet-card.visible, 
.footer-section.visible {
    opacity: 1 !important;
    transform: translateY(0px) !important;
}

/* --- STAGGER DELAYS (So they pop in one by one) --- */
/* Title & Subtitle appear first */
.catalog-title { transition-delay: 0.1s; }
.catalog-subtitle { transition-delay: 0.2s; }

/* Bouquet cards appear one after another */
.bouquet-card:nth-child(1) { transition-delay: 0.3s; }
.bouquet-card:nth-child(2) { transition-delay: 0.4s; }
.bouquet-card:nth-child(3) { transition-delay: 0.5s; }
.bouquet-card:nth-child(4) { transition-delay: 0.6s; }
.bouquet-card:nth-child(5) { transition-delay: 0.7s; }
.bouquet-card:nth-child(6) { transition-delay: 0.8s; }

/* Footer appears last */
.footer-section { transition-delay: 1.0s; }