/* ============================================================ */
/* ===== 🎀 GLOBAL RESET & FONTS 🎀 ===== */
/* ============================================================ */
@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css");

* {
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
}

html, body {
    margin: 0px;
    min-height: 100%;
    background: #fff;
}

@font-face {
    font-family: "overdozesans";
    src: url("./overdozesans.otf") format("opentype");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "overdozesans";
    src: url("./overdozesans.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}

/* ============================================================ */
/* ===== 📱 SCREEN CONTAINER ===== */
/* ============================================================ */
.order-screen {
    position: relative;
    min-height: 100vh;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    overflow-x: hidden;
    padding-bottom: 40px;
    font-family: "overdozesans", sans-serif;
}

/* ============================================================ */
/* ===== 🌸 DECORATIVE BACKGROUNDS ===== */
/* ============================================================ */
.order-screen .ellipse {
    position: absolute;
    top: 100px;
    left: -50px;
    width: 298px;
    height: 286px;
    background-color: #fff7fa;
    border-radius: 50%;
    filter: blur(48.7px);
    z-index: 0;
    pointer-events: none;
}

.order-screen .div {
    position: absolute;
    top: 400px;
    right: -100px;
    width: 415px;
    height: 467px;
    background-color: #fff7fa;
    border-radius: 50%;
    filter: blur(48.7px);
    z-index: 0;
    pointer-events: none;
}

.order-screen .ellipse-5 {
    position: absolute;
    bottom: 200px;
    left: -50px;
    width: 298px;
    height: 286px;
    background-color: #fff7fa;
    border-radius: 50%;
    filter: blur(48.7px);
    z-index: 0;
    pointer-events: none;
}

.order-screen .ellipse-6 {
    position: absolute;
    bottom: 600px;
    right: -50px;
    width: 298px;
    height: 286px;
    background-color: #fff7fa;
    border-radius: 50%;
    filter: blur(48.7px);
    z-index: 0;
    pointer-events: none;
}

/* ============================================================ */
/* ===== 🔙 BACK BUTTON ===== */
/* ============================================================ */
.back-button {
    position: relative;
    top: 30px;
    left: 30px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "overdozesans";
    font-size: 16px;
    color: #000 !important;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    background: #ffe5f0;
    padding: 8px 16px;
    border-radius: 20px;
    border: 1px solid #000;
    width: fit-content;
}
.back-button:hover {
    transform: translateX(-3px);
    background: #ffe4f0;
}
.back-arrow { font-size: 18px; }

/* ============================================================ */
/* ===== 📦 MAIN WRAPPER ===== */
/* ============================================================ */
.main-content-wrapper {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 30px 20px 40px 20px;
    display: flex;
    flex-direction: column;
    gap: 60px;
}

/* ============================================================ */
/* ===== 🛍️ PRODUCT WRAPPER ===== */
/* ============================================================ */
.product-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    padding: 30px;
    border-radius: 24px;
    justify-content: center;
    background: transparent;
}

/* --- LEFT: GALLERY --- */
.product-gallery {
    flex: 1;
    min-width: 280px;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.main-image-container {
    width: 100%;
    height: 400px;
    border-radius: 16px;
    overflow: hidden;
    background: #ffa4cc;
    box-shadow: 0 10px 30px rgba(255, 164, 204, 0.2);
}

.order-main-img {
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center !important;
    position: relative !important;
}

/* --- THUMBNAILS --- */
.thumbnails {
    display: flex;
    gap: 12px;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.thumb {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    border: 2px solid transparent;
    background-size: cover !important;
    background-position: center !important;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: #ffa4cc;
}

.thumb:hover { transform: scale(1.05); }
.thumb.active { border-color: #ffa4cc; box-shadow: 0 4px 12px rgba(255, 180, 180, 0.3); }

/* --- RIGHT: INFO CARD --- */
.product-info-card {
    flex: 1;
    min-width: 280px;
    max-width: 450px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.info-header {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.product-title {
    font-family: "overdozesans";
    font-size: 38px;
    color: #000;
    margin: 0;
    letter-spacing: 0;
}

.product-rating {
    font-family: "overdozesans";
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.stars { color: #ffa4cc; letter-spacing: 2px; }
.review-count { color: #ffa4cc; font-size: 14px; }

/* --- PRICE BLOCK --- */
.product-price-block {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 15px 0;
    flex-wrap: wrap;
}

.product-price {
    font-family: "overdozesans";
    font-size: 32px;
    color: #000;
    background: #fff1f7;
    padding: 4px 20px;
    border-radius: 30px;
}

.price-note {
    font-family: "overdozesans";
    font-size: 14px;
    color: #666;
}

/* --- DESCRIPTION & DETAILS --- */
.product-desc {
    font-family: "overdozesans";
    font-size: 16px;
    color: #444;
    line-height: 1.6;
    margin: 0;
}

.product-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-family: "overdozesans";
    font-size: 15px;
    color: #363636;
    background: #fff8fb;
    padding: 16px 20px;
    border-radius: 14px;
}

.detail-item strong { font-weight: bold; }

/* --- ACTION BUTTONS --- */
.action-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 5px;
}

.whatsapp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: "overdozesans";
    font-size: 18px;
    color: #fff !important;
    background-color: #ffd5e6;
    border-radius: 30px;
    padding: 16px 0;
    text-decoration: none;
    transition: all 0.3s ease;
    width: 100%;
    border: none;
}
.whatsapp-btn:hover {
    transform: scale(1.02);
    background-color: #ffe3ee;
    box-shadow: 0 6px 20px #ffe3ee;
}
.whatsapp-btn i { font-size: 24px; color: #fff; }

.order-btn {
    font-family: "overdozesans";
    font-size: 18px;
    color: #000 !important;
    background-color: #fff1f7;
    border: 1px solid #000;
    border-radius: 30px;
    padding: 16px 0;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
}
.order-btn:hover {
    transform: scale(1.02);
    background-color: #ffe3ee;
    box-shadow: 0 6px 20px rgba(255, 180, 200, 0.2);
}

/* ============================================================ */
/* ===== 📍 FOOTER ===== */
/* ============================================================ */
.footer-section {
    width: 100%;
    text-align: center;
    padding: 30px 0 20px 0;
    background: transparent;
}

.footer-section .text-wrapper-15 {
    font-size: 40px !important;
    font-family: "overdozesans" !important;
    color: #000 !important;
    display: block;
    margin-bottom: 5px;
}
.footer-section .text-wrapper-16 {
    font-family: "overdozesans" !important;
    color: #000 !important;
    font-size: 17px;
    display: block;
    margin-bottom: 15px;
}
.footer-section .text-wrapper-17,
.footer-section .text-wrapper-18,
.footer-section .hello-liviaflowers {
    font-family: "overdozesans" !important;
    color: #000 !important;
    font-size: 16px;
    display: block;
    margin-bottom: 5px;
}

/* ============================================================ */
/* ===== 🖼️ IMAGE CLASSES ===== */
/* ============================================================ */
.order-main-img, .order-thumb-img {
    background-color: #ffb4b4;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.order-img-1 { background-image: url('rose4.jpg'); }
.order-img-2 { background-image: url('rose3.jpg'); }
.order-img-3 { background-image: url('rose4.jpg'); }
.order-img-4 { background-image: url('rose1.jpg'); }

/* ============================================================ */
/* ===== ✨ SCROLL ANIMATIONS ===== */
/* ============================================================ */
.scroll-fade-up {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.scroll-fade-up.visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.product-gallery.scroll-fade-up { transition-delay: 0.1s; }
.product-info-card.scroll-fade-up { transition-delay: 0.2s; }
.footer-section.scroll-fade-up { transition-delay: 0.3s; }

/* ============================================================ */
/* ===== 📱 RESPONSIVE DESIGN (MOBILE) ===== */
/* ============================================================ */
@media (max-width: 700px) {
    .main-content-wrapper { padding: 40px 15px 30px 15px; gap: 40px; }
    .product-wrapper { flex-direction: column; padding: 0; gap: 30px; }
    .product-gallery, .product-info-card { max-width: 100%; min-width: 0; }
    .main-image-container { height: 280px; }
    .back-button { top: 20px; left: 20px; font-size: 14px; padding: 6px 14px; }
    .product-title { font-size: 30px; }
    .product-price { font-size: 28px; }
    .product-price-block { flex-direction: column; align-items: flex-start; gap: 5px; }
    .order-screen .ellipse, .order-screen .div, .order-screen .ellipse-5, .order-screen .ellipse-6 {
        opacity: 0.6;
    }
}

/* Laptop/Tablet scale fix */
@media (min-width: 701px) {
    .order-screen { padding: 20px; }
}