/*
    Rose Garden cleaned stylesheet
    - Cleaned and formatted from the supplied CSS
    - Visual behavior preserved: selectors, values, and cascade order kept
    - Mobile media queries retained in their original cascade positions
*/

/* 🧙‍♂️ تصميم مساعد الهدايا الذكي (Premium Beige) */ .ai-product-card svg {
     width: 14px !important;
     height: 14px !important;
     vertical-align: middle;

}

 .ai-product-card span[style*="font-weight:bold"] {
     display: inline-flex !important;
     align-items: center;
     gap: 2px;

}

 .ai-wizard-float {
     position: fixed;
     bottom: 30px;
     right: 25px;
     background: linear-gradient(135deg, #6a1b9a 0%, #8e24aa 100%);
     color: white;
     border: none;
     padding: 12px 25px;
     border-radius: 50px;
     display: flex;
     align-items: center;
     gap: 12px;
     box-shadow: 0 10px 30px rgba(106, 27, 154, 0.4);
     cursor: pointer;
     z-index: 9999;
     font-family: 'El Messiri', sans-serif;
     font-weight: 700;
     font-size: 1rem;
     transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     overflow: hidden;

}

 .ai-wizard-float::after {
     content: '';
     position: absolute;
     top: 0;
     left: -100%;
     width: 100%;
     height: 100%;
     background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
     transition: 0.5s;

}

 .ai-wizard-float:hover {
     transform: translateY(-5px) scale(1.05);
     box-shadow: 0 15px 40px rgba(106, 27, 154, 0.6);

}

 .ai-wizard-float:hover::after {
     left: 100%;

}

 .ai-modal-content {
     background-color: #fff9f0 !important;
     background-image: radial-gradient(#eaddcf 1px, transparent 1px);
     background-size: 20px 20px;
     border: 1px solid #eaddcf;
     border-radius: 25px !important;
     padding: 40px 30px !important;
     max-width: 550px !important;
     width: 95%;
     text-align: center;
     box-shadow: 0 25px 50px rgba(0,0,0,0.15) !important;
     position: relative;

}

 .ai-header {
     margin-bottom: 30px;

}

 .ai-icon-pulse {
     width: 70px;
     height: 70px;
     background: white;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto 15px;
     font-size: 2rem;
     color: #8e24aa;
     box-shadow: 0 5px 15px rgba(142, 36, 170, 0.15);
     border: 2px solid #f3e5f5;
     animation: float 3s ease-in-out infinite;

}

 .ai-header h3 {
     color: #4a148c;
     font-size: 1.5rem;
     margin-bottom: 5px;
     font-weight: 800;

}

 .ai-header p {
     color: #795548;
     font-size: 0.95rem;

}

 .wizard-step {
     display: none;
     animation: slideUpFade 0.5s ease forwards;

}

 .wizard-step.active {
     display: block;

}

 .wizard-step h4 {
     color: #5d4037;
     margin-bottom: 25px;
     font-weight: 700;
     font-size: 1.1rem;

}

 .options-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 15px;

}

 .option-card {
     background: white;
     border: 1px solid #efebe9;
     border-radius: 18px;
     padding: 20px 15px;
     cursor: pointer;
     transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 10px;
     box-shadow: 0 4px 10px rgba(0,0,0,0.03);

}

 .option-card:hover {
     border-color: #8e24aa;
     transform: translateY(-5px);
     box-shadow: 0 10px 25px rgba(142, 36, 170, 0.15);
     background: #fdfbff;

}

 .option-card .opt-icon {
     font-size: 2.2rem;
     transition: transform 0.3s;

}

 .option-card:hover .opt-icon {
     transform: scale(1.2);

}

 .option-card span:last-child {
     color: #5d4037;
     font-weight: 600;
     font-size: 0.9rem;

}

 .loading-animation {
     display: flex;
     justify-content: center;
     gap: 12px;
     margin-top: 40px;
     margin-bottom: 20px;

}

 .dot {
     width: 18px;
     height: 18px;
     background: #8e24aa;
     border-radius: 50%;
     animation: bounce 1.4s infinite ease-in-out both;

}

 .dot:nth-child(1) {
     animation-delay: -0.32s;

}

 .dot:nth-child(2) {
     animation-delay: -0.16s;

}

 @keyframes bounce {
     0%, 80%, 100% {
         transform: scale(0);

    }

     40% {
         transform: scale(1);

    }

}

 .ai-results-grid {
     display: flex;
     flex-direction: column;
     gap: 15px;
     max-height: 320px;
     overflow-y: auto;
     padding: 5px;

}

 .ai-product-card {
     display: flex;
     align-items: center;
     background: white;
     padding: 12px;
     border-radius: 15px;
     border: 1px solid #eee;
     gap: 15px;
     transition: transform 0.3s;
     box-shadow: 0 2px 8px rgba(0,0,0,0.05);

}

 .ai-product-card:hover {
     transform: scale(1.02);
     border-color: #8e24aa;

}

 .ai-product-card img {
     width: 70px;
     height: 70px;
     border-radius: 12px;
     object-fit: cover;
     border: 1px solid #f0f0f0;

}

 .btn-reset-ai {
     margin-top: 20px;
     background: transparent;
     border: 1.5px dashed #bcaaa4;
     color: #8d6e63;
     padding: 10px 25px;
     border-radius: 50px;
     cursor: pointer;
     font-weight: 600;
     transition: all 0.3s;

}

 .btn-reset-ai:hover {
     border-color: #8e24aa;
     color: #8e24aa;
     background: rgba(142, 36, 170, 0.05);

}

 @keyframes slideUpFade {
     from {
         opacity: 0;
         transform: translateY(20px);

    }

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

    }

}

 @media (max-width: 768px) {
     .ai-wizard-float {
         bottom: 90px;
         right: 15px;
         padding: 10px 20px;

    }

     .ai-modal-content {
         padding: 30px 20px !important;
         border-radius: 20px !important;

    }

     .options-grid {
         grid-template-columns: 1fr;
         gap: 10px;

    }

     .option-card {
         flex-direction: row;
         padding: 15px 20px;

    }

}

 /* تصميم صفحة الدفع (Glass & Elegant) */ .checkout-glass-card {
     background: rgba(255, 255, 255, 0.85) !important;
     backdrop-filter: blur(20px) !important;
     -webkit-backdrop-filter: blur(20px) !important;
     border: 1px solid rgba(255, 255, 255, 0.6) !important;
     border-radius: 30px !important;
     padding: 40px !important;
     box-shadow: 0 20px 60px rgba(138, 14, 14, 0.08) !important;
     position: relative !important;
     overflow: hidden !important;

}

 .checkout-glass-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 6px;
     background: linear-gradient(90deg, #b04e58, #e75480);

}

 .checkout-grid {
     display: grid !important;
     grid-template-columns: 1.5fr 1fr !important;
     gap: 40px !important;

}

 /* الجانب الأيمن: الفورم */ .section-header {
     display: flex !important;
     align-items: center !important;
     gap: 15px !important;
     margin-bottom: 30px !important;

}

 .icon-box-small {
     width: 45px !important;
     height: 45px !important;
     background: rgba(176, 78, 88, 0.1) !important;
     border-radius: 12px !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     color: #b04e58 !important;
     font-size: 1.2rem !important;

}

 .section-header h2 {
     font-size: 1.5rem !important;
     color: #3e2723 !important;
     margin: 0 !important;

}

 .input-group-elegant {
     margin-bottom: 20px !important;

}

 .input-group-elegant label {
     display: block !important;
     margin-bottom: 8px !important;
     font-weight: 700 !important;
     color: #5d4037 !important;
     font-size: 0.95rem !important;

}

 .input-wrapper {
     position: relative !important;

}

 .input-icon {
     position: absolute !important;
     right: 15px !important;
     top: 50% !important;
     transform: translateY(-50%) !important;
     color: #a1887f !important;
     font-size: 1.1rem !important;
     z-index: 2 !important;
     transition: color 0.3s !important;

}

 .input-wrapper input, .input-wrapper textarea, .input-wrapper select {
     width: 100% !important;
     padding: 14px 45px 14px 15px !important;
     border: 2px solid #efebe9 !important;
     border-radius: 15px !important;
     background: #fff !important;
     font-family: inherit !important;
     font-size: 1rem !important;
     color: #3e2723 !important;
     transition: all 0.3s ease !important;
     -webkit-appearance: none !important;
     -moz-appearance: none !important;
     appearance: none !important;

}

 .input-wrapper textarea {
     resize: none !important;
     height: 100px !important;
     padding-top: 15px !important;

}

 .input-wrapper textarea + .input-icon {
     top: 25px !important;
     transform: none !important;

}

 .input-wrapper input:focus, .input-wrapper textarea:focus, .input-wrapper select:focus {
     border-color: #b04e58 !important;
     box-shadow: 0 0 0 4px rgba(176, 78, 88, 0.1) !important;
     background: #fffafa !important;
     outline: none !important;

}

 .input-wrapper input:focus + .input-icon, .input-wrapper textarea:focus + .input-icon {
     color: #b04e58 !important;

}

 .select-arrow {
     position: absolute !important;
     left: 15px !important;
     top: 50% !important;
     transform: translateY(-50%) !important;
     color: #a1887f !important;
     pointer-events: none !important;

}

 /* زر الواتساب البريميوم */ .btn-whatsapp-premium {
     width: 100% !important;
     padding: 10px !important;
     background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
     border: none !important;
     border-radius: 50px !important;
     cursor: pointer !important;
     display: flex !important;
     align-items: center !important;
     justify-content: space-between !important;
     box-shadow: 0 10px 25px rgba(37, 211, 102, 0.3) !important;
     transition: all 0.3s ease !important;
     margin-top: 20px !important;
     position: relative !important;
     overflow: hidden !important;

}

 .btn-whatsapp-premium .btn-text {
     flex: 1 !important;
     text-align: center !important;
     color: white !important;
     font-size: 1.1rem !important;
     font-weight: 800 !important;

}

 .btn-whatsapp-premium .icon-circle {
     width: 45px !important;
     height: 45px !important;
     background: rgba(255,255,255,0.2) !important;
     border-radius: 50% !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     color: white !important;
     font-size: 1.4rem !important;

}

 .btn-whatsapp-premium:hover {
     transform: translateY(-3px) !important;
     box-shadow: 0 15px 35px rgba(37, 211, 102, 0.4) !important;

}

 /* الجانب الأيسر: الملخص */ .checkout-summary-side {
     background: #fff !important;
     border-radius: 25px !important;
     padding: 30px !important;
     border: 1px solid #efebe9 !important;
     box-shadow: 0 10px 30px rgba(0,0,0,0.02) !important;
     height: fit-content !important;
     position: sticky !important;
     top: 100px !important;

}

 .summary-header h3 {
     font-size: 1.2rem !important;
     color: #3e2723 !important;
     border-bottom: 2px dashed #efebe9 !important;
     padding-bottom: 15px !important;
     margin-bottom: 20px !important;
     text-align: center !important;

}

 .summary-items-scroll {
     max-height: 300px !important;
     overflow-y: auto !important;
     padding-left: 5px !important;
     margin-bottom: 20px !important;

}

 #checkoutItemsList > div {
     background: #fff !important;
     border: 1px solid #f0f0f0 !important;
     border-radius: 10px !important;
     padding: 10px !important;
     margin-bottom: 10px !important;
     display: flex !important;
     justify-content: space-between !important;
     align-items: center !important;

}

 .summary-total-box {
     background: #f9f4ec !important;
     padding: 20px !important;
     border-radius: 15px !important;
     display: flex !important;
     justify-content: space-between !important;
     align-items: center !important;
     border: 1px solid #eaddcf !important;

}

 .summary-total-box span {
     font-weight: 700 !important;
     color: #3e2723 !important;

}

 .summary-total-box .total-number {
     font-size: 1.4rem !important;
     color: #b04e58 !important;

}

 .trust-badges {
     text-align: center !important;
     margin-top: 20px !important;
     font-size: 0.8rem !important;
     color: #a1887f !important;

}

 /* تعديلات الموبايل */ @media (max-width: 768px) {
     .checkout-glass-card {
         padding: 20px !important;
         border-radius: 20px !important;

    }

     .checkout-grid {
         grid-template-columns: 1fr !important;
         gap: 30px !important;

    }

     .checkout-summary-side {
         order: -1 !important;
         position: relative !important;
         top: 0 !important;

    }

}

 /* الجانب الأيمن: الفورم */ .section-header {
     display: flex !important;
     align-items: center !important;
     gap: 15px !important;
     margin-bottom: 30px !important;

}

 .icon-box-small {
     width: 45px;
     height: 45px;
     background: rgba(176, 78, 88, 0.1);
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #b04e58;
     font-size: 1.2rem;

}

 .section-header h2 {
     font-size: 1.5rem !important;
     color: #3e2723 !important;
     margin: 0 !important;

}

 .input-group-elegant {
     margin-bottom: 20px !important;

}

 .input-group-elegant label {
     display: block !important;
     margin-bottom: 8px !important;
     font-weight: 700 !important;
     color: #5d4037 !important;
     font-size: 0.95rem !important;

}

 .input-wrapper {
     position: relative !important;

}

 .input-icon {
     position: absolute !important;
     right: 15px !important;
     top: 50% !important;
     transform: translateY(-50%) !important;
     color: #a1887f !important;
     font-size: 1.1rem !important;
     z-index: 2 !important;
     transition: color 0.3s !important;

}

 .input-wrapper input, .input-wrapper textarea, .input-wrapper select {
     width: 100% !important;
     padding: 14px 50px 14px 15px !important;
     border: 2px solid #efebe9 !important;
     border-radius: 15px !important;
     background: #fff !important;
     font-family: inherit !important;
     font-size: 1rem !important;
     color: #3e2723 !important;
     transition: all 0.3s ease !important;

}

 .input-wrapper textarea {
     resize: none !important;
     height: 100px !important;
     padding-top: 15px !important;

}

 .input-wrapper textarea + .input-icon {
     top: 25px !important;
     transform: none !important;

}

 .input-wrapper input:focus, .input-wrapper textarea:focus, .input-wrapper select:focus {
     border-color: #b04e58 !important;
     box-shadow: 0 0 0 4px rgba(176, 78, 88, 0.1) !important;
     background: #fffafa !important;
     outline: none !important;

}

 .input-wrapper input:focus + .input-icon, .input-wrapper textarea:focus + .input-icon {
     color: #b04e58 !important;

}

 .select-arrow {
     position: absolute !important;
     left: 15px !important;
     top: 50% !important;
     transform: translateY(-50%) !important;
     color: #a1887f !important;
     pointer-events: none !important;

}

 /* زر الواتساب البريميوم */ .btn-whatsapp-premium {
     width: 100% !important;
     padding: 10px !important;
     background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
     border: none !important;
     border-radius: 50px !important;
     cursor: pointer !important;
     display: flex !important;
     align-items: center !important;
     justify-content: space-between !important;
     box-shadow: 0 10px 25px rgba(37, 211, 102, 0.3) !important;
     transition: all 0.3s ease !important;
     margin-top: 20px !important;
     position: relative !important;
     overflow: hidden !important;

}

 .btn-whatsapp-premium .btn-text {
     flex: 1 !important;
     text-align: center !important;
     color: white !important;
     font-size: 1.1rem !important;
     font-weight: 800 !important;

}

 .btn-whatsapp-premium .icon-circle {
     width: 45px !important;
     height: 45px !important;
     background: rgba(255,255,255,0.2) !important;
     border-radius: 50% !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     color: white !important;
     font-size: 1.4rem !important;

}

 .btn-whatsapp-premium:hover {
     transform: translateY(-3px) !important;
     box-shadow: 0 15px 35px rgba(37, 211, 102, 0.4) !important;

}

 /* الجانب الأيسر: الملخص */ .checkout-summary-side {
     background: #fff !important;
     border-radius: 25px !important;
     padding: 30px !important;
     border: 1px solid #efebe9 !important;
     box-shadow: 0 10px 30px rgba(0,0,0,0.02) !important;
     height: fit-content !important;
     position: sticky !important;
     top: 100px !important;

}

 .summary-header h3 {
     font-size: 1.2rem !important;
     color: #3e2723 !important;
     border-bottom: 2px dashed #efebe9 !important;
     padding-bottom: 15px !important;
     margin-bottom: 20px !important;
     text-align: center !important;

}

 .summary-items-scroll {
     max-height: 300px !important;
     overflow-y: auto !important;
     padding-left: 5px !important;
     margin-bottom: 20px !important;

}

 .summary-total-box {
     background: #f9f4ec !important;
     padding: 20px !important;
     border-radius: 15px !important;
     display: flex !important;
     justify-content: space-between !important;
     align-items: center !important;
     border: 1px solid #eaddcf !important;

}

 .summary-total-box span {
     font-weight: 700 !important;
     color: #3e2723 !important;

}

 .summary-total-box .total-number {
     font-size: 1.4rem !important;
     color: #b04e58 !important;

}

 .trust-badges {
     text-align: center !important;
     margin-top: 20px !important;
     font-size: 0.8rem !important;
     color: #a1887f !important;

}

 /* تعديلات الموبايل */ @media (max-width: 768px) {
     .checkout-glass-card {
         padding: 20px !important;
         border-radius: 20px !important;

    }

     .checkout-grid {
         grid-template-columns: 1fr !important;
         gap: 30px !important;

    }

     .checkout-summary-side {
         order: -1 !important;
         position: relative !important;
         top: 0 !important;

    }

}

 /* إصلاحات حقول الإدخال والقوائم */ .input-wrapper select {
     -webkit-appearance: none !important;
     -moz-appearance: none !important;
     appearance: none !important;
     cursor: pointer;

}

 .input-wrapper .input-icon, .select-arrow {
     right: auto !important;
     left: 15px !important;

}

 .input-wrapper input, .input-wrapper textarea, .input-wrapper select {
     padding: 14px 15px 14px 15px !important;

}

 .input-wrapper .input-icon {
     right: 15px !important;
     left: auto !important;

}

 .select-arrow {
     left: 15px !important;
     right: auto !important;

}

 .input-wrapper input, .input-wrapper select, .input-wrapper textarea {
     padding-right: 45px !important;

}

 /* مميزات مختصرة (Beige Theme) - Fixed */ .features-section-compact {
     background-color: #f3efe9;
     padding: 50px 0;
     margin: 30px 0;
     border-radius: 25px;
     text-align: center;

}

 .section-title-minimal {
     color: #5d4037;
     font-size: 1.6rem;
     margin-bottom: 30px;
     position: relative;
     display: inline-block;
     font-weight: 800;

}

 .section-title-minimal::after {
     content: '';
     display: block;
     width: 40px;
     height: 3px;
     background: #b04e58;
     margin: 8px auto 0;
     border-radius: 2px;

}

 .features-grid-compact {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     gap: 25px;
     padding: 0 20px;

}

 /* تصميم الكارت (الكمبيوتر) */ .feat-card {
     background: #eaddcf;
     border: 1px solid rgba(255, 255, 255, 0.4);
     border-radius: 20px;
     padding: 25px 20px;
     text-align: center;
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 15px;

}

 .feat-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 10px 25px rgba(93, 64, 55, 0.1);
     background: #e6dace;

}

 .icon-wrapper {
     width: 60px;
     height: 60px;
     background: #fff;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #b04e58;
     font-size: 1.4rem;
     box-shadow: 0 4px 10px rgba(0,0,0,0.05);
     flex-shrink: 0;

}

 .text-wrapper {
     flex: 1;

}

 .feat-card h3 {
     color: #3e2723;
     font-size: 1.1rem;
     margin: 0 0 8px 0;
     font-weight: 700;

}

 .feat-card p {
     color: #5d4037;
     font-size: 0.9rem;
     line-height: 1.5;
     margin: 0;

}

 /* تعديلات الموبايل (Horizontal & Compact) */ @media (max-width: 768px) {
     .features-section-compact {
         padding: 30px 0 !important;
         margin: 20px 0 !important;
         background-color: #f3efe9;

    }

     .features-grid-compact {
         grid-template-columns: 1fr;
         gap: 12px !important;
         padding: 0 15px !important;

    }

     .feat-card {
         flex-direction: row !important;
         align-items: center !important;
         text-align: right !important;
         padding: 12px 15px !important;
         gap: 15px !important;
         min-height: auto !important;
         border-radius: 15px !important;

    }

     .icon-wrapper {
         width: 45px !important;
         height: 45px !important;
         font-size: 1.1rem !important;
         margin: 0 !important;

    }

     .text-wrapper {
         display: flex;
         flex-direction: column;
         justify-content: center;

    }

     .feat-card h3 {
         font-size: 0.95rem !important;
         margin-bottom: 3px !important;

    }

     .feat-card p {
         font-size: 0.8rem !important;
         line-height: 1.3 !important;
         color: #6d4c41 !important;

    }

}

 .connected-rose-divider {
     width: 85%;
     height: 20px;
     margin: 10px auto 20px auto !important;
     background-image: url("data:image/svg+xml,%3Csvg width='60' height='20' viewBox='0 0 60 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 10 Q 15 0 30 10 T 60 10' stroke='%23b04e58' stroke-width='1' fill='none'/%3E%3Ccircle cx='30' cy='10' r='2.5' fill='%23b04e58'/%3E%3C/svg%3E");
     background-repeat: repeat-x;
     background-position: center;
     background-size: 60px 20px;
     opacity: 0.7;

}

 /* تحسينات المودال (Auth Improvements) */ .auth-tabs {
     display: flex;
     margin-bottom: 25px;
     background: #f1f2f6;
     padding: 5px;
     border-radius: 50px;

}

 .auth-tab {
     flex: 1;
     text-align: center;
     padding: 10px;
     border-radius: 50px;
     cursor: pointer;
     font-weight: 600;
     font-size: 0.95rem;
     color: #7f8c8d;
     transition: all 0.3s ease;

}

 .auth-tab.active {
     background: white;
     color: var(--accent-pink);
     box-shadow: 0 2px 10px rgba(0,0,0,0.05);

}

 .input-with-icon {
     position: relative;
     width: 100%;
     margin-bottom: 15px;

}

 .input-with-icon input {
     width: 100%;
     padding: 14px 45px 14px 15px;
     border: 1px solid #e0e0e0;
     border-radius: 12px;
     background: #f9f9f9;
     font-size: 0.95rem;
     transition: all 0.3s;

}

 .input-with-icon input:focus {
     border-color: var(--accent-pink);
     background: white;

}

 .toggle-password {
     position: absolute;
     left: 15px;
     top: 50%;
     transform: translateY(-50%);
     cursor: pointer;
     color: #a0a0a0;
     z-index: 2;

}

 .toggle-password:hover {
     color: var(--accent-pink);

}

 .btn-logout-danger {
     background: #fff0f3;
     color: #ff4757;
     border: 1px solid #ff4757;
     width: 100%;
     padding: 12px;
     border-radius: 12px;
     font-weight: bold;
     margin-top: 20px;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     transition: all 0.3s;

}

 .btn-logout-danger:hover {
     background: #ff4757;
     color: white;

}

 .btn-google-login {
     width: 100%;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 10px;
     background-color: white;
     color: #3c4043;
     border: 1px solid #dadce0;
     border-radius: 50px;
     padding: 12px;
     font-size: 0.95rem;
     font-weight: 500;
     cursor: pointer;
     transition: all 0.2s ease;
     font-family: 'El Messiri', sans-serif;

}

 .btn-google-login img {
     width: 20px;
     height: 20px;

}

 .btn-google-login:hover {
     background-color: #f7f8f8;
     border-color: #d2e3fc;
     box-shadow: 0 2px 5px rgba(0,0,0,0.05);
     transform: translateY(-1px);

}

 .btn-google-login:active {
     background-color: #f1f3f4;
     transform: scale(0.98);

}

 .gift-card-container {
     position: absolute;
     top: 50px;
     left: 50%;
     transform: translateX(-50%) rotate(-5deg);
     width: 90px !important;
     height: 60px !important;
     background: #fffdf9;
     border: 1px solid #e0e0e0;
     box-shadow: 0 5px 15px rgba(0,0,0,0.2);
     z-index: 20;
     padding: 10px;
     text-align: center;
     display: flex;
     align-items: center;
     justify-content: center;
     font-family: 'Great Vibes', 'Marhey', cursive;
     font-size: 0.8rem;
     color: #4a4a4a;
     border-radius: 5px;
     overflow: hidden;
     background-image: url('https://www.transparenttextures.com/patterns/paper-fibers.png');
     transition: width 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), height 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;
     touch-action: none;
     cursor: grab;
     user-select: none;

}

 .gift-card-container:active {
     cursor: grabbing;
     box-shadow: 0 15px 30px rgba(0,0,0,0.3);

}

 .gift-card-container.expanded {
     width: 160px !important;
     height: 110px !important;
     transform: translateX(-50%) scale(1.1) rotate(0deg) !important;
     z-index: 100 !important;
     box-shadow: 0 15px 30px rgba(0,0,0,0.2) !important;

}

 .gift-card-container span {
     font-size: 0.8rem;
     transition: all 0.3s;
     pointer-events: none;

}

 .gift-card-container.expanded span {
     font-size: 1.2rem;

}

 .qty-controls {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-top: 8px;
     background: #f9f9f9;
     padding: 4px 8px;
     border-radius: 20px;
     width: fit-content;

}

 .qty-btn {
     width: 24px;
     height: 24px;
     border-radius: 50%;
     border: 1px solid #e75480;
     background: white;
     color: #e75480;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     font-size: 16px;
     font-weight: bold;
     transition: all 0.2s ease;
     padding: 0;

}

 .qty-btn:hover {
     background: #e75480;
     color: white;

}

 .qty-btn:active {
     transform: scale(0.9);

}

 .qty-text {
     font-weight: bold;
     font-size: 0.95rem;
     color: var(--text-main);
     min-width: 20px;
     text-align: center;

}

 .search-results-dropdown {
     position: absolute;
     top: 100%;
     left: 0;
     width: 100%;
     background: white;
     border-radius: 0 0 15px 15px;
     box-shadow: 0 10px 30px rgba(0,0,0,0.1);
     z-index: 2000;
     max-height: 300px;
     overflow-y: auto;
     display: none;
     border: 1px solid #eee;
     border-top: none;

}

 .search-result-item {
     display: flex;
     align-items: center;
     padding: 10px;
     cursor: pointer;
     transition: background 0.2s;
     border-bottom: 1px solid #f9f9f9;

}

 .search-result-item:hover {
     background-color: #fff0f3;

}

 .search-result-item img {
     width: 40px;
     height: 40px;
     border-radius: 8px;
     object-fit: cover;
     margin-left: 10px;

}

 .search-result-item .info {
     flex: 1;

}

 .search-result-item h4 {
     font-size: 0.9rem;
     margin: 0;
     color: var(--text-main);

}

 .search-result-item span {
     font-size: 0.8rem;
     color: var(--accent-pink);
     font-weight: bold;

}

 .mobile-badge {
     position: absolute;
     top: 2px;
     background-color: #ff4757;
     color: white;
     font-size: 0.7rem;
     font-weight: bold;
     width: 18px;
     height: 18px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     border: 2px solid white;
     z-index: 10;
     left: 50%;
     margin-left: 5px;

}

 .currency-icon {
     width: 20px;
     height: 20px;
     object-fit: contain;
     vertical-align: middle;
     margin-right: 4px;
     display: inline-block;
     transform: translateY(-2px);

}

 .price-box .currency-icon, .total .currency-icon, .total-price .currency-icon {
     width: 24px;
     height: 24px;

}

 .hero-logo {
     width: 160px;
     height: 160px;
     object-fit: cover;
     border-radius: 50%;
     border: 5px solid rgba(255, 255, 255, 0.4);
     box-shadow: 0 10px 30px rgba(231, 84, 128, 0.4);
     margin-top: 25px;
     transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     cursor: pointer;

}

 .hero-logo:hover {
     transform: scale(1.1) rotate(5deg);
     border-color: #fff;
     box-shadow: 0 15px 40px rgba(231, 84, 128, 0.6);

}

 @media (max-width: 768px) {
     .hero-logo {
         width: 130px;
         height: 130px;

    }

}

 .btn-location {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     background-color: rgba(255, 255, 255, 0.1);
     color: white !important;
     padding: 8px 20px;
     border-radius: 25px;
     text-decoration: none;
     font-size: 0.9rem;
     font-weight: 500;
     border: 1px solid rgba(255, 255, 255, 0.2);
     transition: all 0.3s ease;
     width: fit-content;
     margin-top: 5px;

}

 .btn-location:hover {
     background-color: var(--accent-pink);
     border-color: var(--accent-pink);
     transform: translateY(-3px);
     box-shadow: 0 4px 15px rgba(231, 84, 128, 0.4);

}

 @media (max-width: 768px) {
     .btn-location {
         width: 100%;
         padding: 10px;

    }

}

 /* زر الواتساب (نمط الزجاج الأحمر المحروق - صغير) */ .whatsapp-float {
     position: fixed;
     bottom: 25px;
     left: 25px;
     background: linear-gradient(135deg, rgba(183, 28, 28, 0.55) 0%, rgba(138, 14, 14, 0.65) 100%);
     backdrop-filter: blur(8px);
     -webkit-backdrop-filter: blur(8px);
     border: 1px solid rgba(255, 255, 255, 0.1);
     color: white !important;
     border-radius: 50px;
     padding: 8px 18px;
     gap: 8px;
     text-decoration: none;
     display: flex;
     align-items: center;
     z-index: 10000;
     box-shadow: 0 8px 32px 0 rgba(183, 28, 28, 0.2);
     transition: all 0.3s ease;
     animation: glassPulse 3s infinite;

}

 .whatsapp-float .ws-text {
     font-family: 'El Messiri', sans-serif;
     font-weight: 600;
     font-size: 0.85rem;
     letter-spacing: 0.3px;

}

 .whatsapp-float i {
     font-size: 1.3rem;

}

 .whatsapp-float:hover {
     transform: translateY(-3px) scale(1.02);
     background: linear-gradient(135deg, rgba(183, 28, 28, 0.7) 0%, rgba(138, 14, 14, 0.8) 100%);
     box-shadow: 0 10px 20px rgba(183, 28, 28, 0.3);
     border-color: rgba(255, 255, 255, 0.2);

}

 @keyframes glassPulse {
     0% {
         box-shadow: 0 0 0 0 rgba(183, 28, 28, 0.4);

    }

     70% {
         box-shadow: 0 0 0 10px rgba(183, 28, 28, 0);

    }

     100% {
         box-shadow: 0 0 0 0 rgba(183, 28, 28, 0);

    }

}

 /* تعديلات الموبايل */ @media (max-width: 768px) {
     .whatsapp-float {
         bottom: 85px;
         left: 15px;
         padding: 7px 15px;

    }

     .whatsapp-float .ws-text {
         font-size: 0.8rem;

    }

     .whatsapp-float i {
         font-size: 1.2rem;

    }

}

 /* إصلاح الدارك مود (مودال + ناف بار) */ body.dark-mode .mobile-bottom-nav {
     background: rgba(15, 23, 42, 0.95) !important;
     border-top: 1px solid #334155 !important;

}

 body.dark-mode .nav-item {
     color: #cbd5e1 !important;

}

 body.dark-mode .nav-item.active {
     background: rgba(231, 84, 128, 0.2) !important;
     color: var(--accent-pink) !important;

}

 body.dark-mode .modal-content {
     background: #1e293b !important;
     color: #fff !important;
     border: 1px solid #334155 !important;

}

 body.dark-mode .modal-header {
     background: #1e293b !important;
     border-bottom: 1px solid #334155 !important;

}

 body.dark-mode .close-btn {
     background: #334155 !important;
     color: #fff !important;

}

 body.dark-mode .sticky-preview-container, body.dark-mode .flowers-scroll-container, body.dark-mode .style-scroll-container .horizontal-scroll-list, body.dark-mode .message-container, body.dark-mode .bouquet-summary {
     background: #0f172a !important;
     border: 1px solid #334155 !important;
     color: #fff !important;

}

 body.dark-mode .flower-item {
     background: #1e293b !important;
     border-color: #334155 !important;
     color: #fff !important;

}

 body.dark-mode .flower-item h5, body.dark-mode .flower-item div {
     color: #e2e8f0 !important;

}

 body.dark-mode .modal h2, body.dark-mode .modal h4, body.dark-mode .total-price {
     color: #fff !important;

}

 body.dark-mode input, body.dark-mode textarea, body.dark-mode select {
     background: #0f172a !important;
     border: 1px solid #334155 !important;
     color: #fff !important;

}

 body.dark-mode input::placeholder, body.dark-mode textarea::placeholder {
     color: #94a3b8 !important;

}

 body.dark-mode .btn-reset {
     color: #ff6b6b !important;
     border-color: #ff6b6b !important;

}

 body.dark-mode .btn-reset:hover {
     background: rgba(255, 107, 107, 0.1) !important;

}

 /* إصلاح خلفية الدارك مود */ body.dark-mode .bloom-background {
     background-color: #0f172a !important;

}

 body.dark-mode .blob {
     opacity: 0.25 !important;
     filter: blur(90px);

}

 body.dark-mode .blob-1 {
     background: radial-gradient(circle, #4f46e5 0%, rgba(79, 70, 229, 0) 70%);

}

 body.dark-mode .blob-2 {
     background: radial-gradient(circle, #9333ea 0%, rgba(147, 51, 234, 0) 70%);

}

 body.dark-mode .blob-3 {
     background: radial-gradient(circle, #db2777 0%, rgba(219, 39, 119, 0) 70%);

}

 /* إزالة الهايلايت الأزرق المزعج */ * {
     -webkit-tap-highlight-color: transparent !important;

}

 button:focus, a:focus, input:focus, textarea:focus, select:focus, div:focus {
     outline: none !important;
     box-shadow: none !important;

}

 .btn-legendary:focus, .btn-buy-large:focus, .btn-quick-add:focus {
     box-shadow: 0 10px 25px rgba(221, 36, 118, 0.5) !important;

}

 .buttons-wrapper {
     display: flex;
     gap: 10px;
     align-items: center;

}

 .buttons-wrapper .btn-quick-add, .buttons-wrapper .btn-buy-large {
     flex: 1;

}

 /* صفحة المنتج الكاملة (Full Page View) */ #fullProductPage {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: #fffbfd;
     z-index: 2000;
     overflow-y: auto;
     display: none;
     padding-bottom: 50px;
     animation: fadeInPage 0.4s ease;

}

 @keyframes fadeInPage {
     from {
         opacity: 0;
         transform: translateY(20px);

    }

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

    }

}

 .product-page-header {
     padding: 20px;
     display: flex;
     align-items: center;
     gap: 15px;
     position: sticky;
     top: 0;
     background: rgba(255,255,255,0.9);
     backdrop-filter: blur(10px);
     z-index: 100;
     box-shadow: 0 2px 10px rgba(0,0,0,0.05);

}

 .back-btn {
     font-size: 1.2rem;
     color: var(--text-main);
     cursor: pointer;
     background: none;
     border: none;
     display: flex;
     align-items: center;
     gap: 5px;
     font-weight: bold;

}

 /* خلفية Bloom & Blur الخرافية */ .bloom-background {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: -1;
     background-color: #fffbfd;
     overflow: hidden;

}

 .blob {
     position: absolute;
     border-radius: 50%;
     filter: blur(80px);
     opacity: 0.6;
     animation: floatBlob 10s infinite alternate ease-in-out;

}

 .blob-1 {
     width: 500px;
     height: 500px;
     background: radial-gradient(circle, #ffc3d9 0%, rgba(255,195,217,0) 70%);
     top: -100px;
     left: -100px;
     animation-duration: 25s;

}

 .blob-2 {
     width: 400px;
     height: 400px;
     background: radial-gradient(circle, #e0c3ff 0%, rgba(224,195,255,0) 70%);
     top: 40%;
     right: -50px;
     animation-duration: 30s;
     animation-delay: -5s;

}

 .blob-3 {
     width: 600px;
     height: 600px;
     background: radial-gradient(circle, #ffeec3 0%, rgba(255,238,195,0) 70%);
     bottom: -150px;
     left: 20%;
     animation-duration: 20s;
     animation-delay: -10s;

}

 @keyframes floatBlob {
     0% {
         transform: translate(0, 0) scale(1);

    }

     100% {
         transform: translate(50px, 50px) scale(1.1);

    }

}

 /* تحديث البطاقات لتكون زجاجية (Glassmorphism) */ .product-card, .cat-card, .navbar, .features-wrapper, .bouquet-summary, .cart-sidebar {
     background: rgba(255, 255, 255, 0.85) !important;
     backdrop-filter: blur(10px) !important;
     border: 1px solid rgba(255, 255, 255, 0.5) !important;

}

 body {
     background: transparent !important;
     background-image: none !important;

}

 /* سكرول بار وردي أنيق (Pinky Scroll) */ ::-webkit-scrollbar {
     width: 6px;
     height: 6px;

}

 ::-webkit-scrollbar-track {
     background: #fff0f5;
     border-radius: 10px;

}

 ::-webkit-scrollbar-thumb {
     background-color: #e75480;
     border-radius: 10px;
     border: 1px solid #fff0f5;

}

 ::-webkit-scrollbar-thumb:hover {
     background-color: #d81b60;

}

 * {
     scrollbar-width: thin;
     scrollbar-color: #e75480 #fff0f5;

}

 .style-scroll-container {
     background: #fff;
     margin: 10px 15px 0 15px;
     padding: 15px;
     border-radius: 15px;
     box-shadow: 0 4px 10px rgba(0,0,0,0.03);
     position: relative;
     z-index: 45;

}

 .style-scroll-container h4 {
     margin: 0 0 10px 0;
     font-size: 0.9rem;
     color: var(--accent-pink);

}

 .design-item {
     flex: 0 0 auto;
     width: 70px;
     height: 70px;
     border-radius: 50%;
     border: 2px solid #eee;
     overflow: hidden;
     cursor: pointer;
     transition: all 0.2s ease;
     position: relative;

}

 .design-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;

}

 .design-item.active {
     border-color: var(--accent-pink);
     transform: scale(1.1);
     box-shadow: 0 4px 10px rgba(231, 84, 128, 0.4);

}

 .design-item.active::after {
     content: '\f00c';
     font-family: 'Font Awesome 6 Free';
     font-weight: 900;
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(231, 84, 128, 0.5);
     color: white;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.2rem;

}

 /* الزر الأسطوري (Legendary Button) */ .btn-legendary {
     background: linear-gradient(45deg, #FF512F 0%, #DD2476 25%, #F09819 51%, #FF512F 100%);
     background-size: 300% auto;
     color: white !important;
     border: none;
     padding: 18px 40px;
     font-size: 1.2rem;
     font-weight: 800;
     letter-spacing: 1px;
     text-transform: uppercase;
     border-radius: 50px;
     cursor: pointer;
     position: relative;
     overflow: hidden;
     z-index: 1;
     transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     box-shadow: 0 10px 25px rgba(221, 36, 118, 0.5), inset 0 -5px 10px rgba(0, 0, 0, 0.2), inset 0 5px 10px rgba(255, 255, 255, 0.4);
     text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);

}

 .btn-legendary i {
     margin-left: 10px;
     font-size: 1.3rem;
     transition: transform 0.4s ease;

}

 .btn-legendary:hover {
     background-position: right center;
     transform: translateY(-5px) scale(1.05);
     box-shadow: 0 20px 40px rgba(240, 152, 25, 0.6), inset 0 -5px 10px rgba(0, 0, 0, 0.2);

}

 .btn-legendary:hover i {
     transform: rotate(15deg) translateX(-5px) scale(1.2);

}

 @keyframes legendaryPulse {
     0% {
         box-shadow: 0 10px 25px rgba(221, 36, 118, 0.5);

    }

     50% {
         box-shadow: 0 15px 35px rgba(240, 152, 25, 0.7);

    }

     100% {
         box-shadow: 0 10px 25px rgba(221, 36, 118, 0.5);

    }

}

 .btn-legendary {
     animation: legendaryPulse 3s infinite ease-in-out;

}

 @media (max-width: 768px) {
     .btn-legendary {
         padding: 15px 25px;
         font-size: 1rem;
         width: 100%;

    }

}

 @media (max-width: 768px) {
     .custom-bouquet-card {
         grid-column: 1 / -1;
         display: flex;
         flex-direction: row;
         align-items: center;
         text-align: right !important;
         height: auto;

    }

     .custom-bouquet-card .img-container {
         width: 40%;
         height: 150px;

    }

     .custom-bouquet-card .details {
         width: 60%;
         padding: 10px;

    }

     .custom-bouquet-card h3 {
         font-size: 1.1rem;
         margin-bottom: 5px;

    }

     .custom-bouquet-card .btn-quick-add {
         padding: 8px;
         font-size: 0.85rem;

    }

}

 .btn-reset {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     background-color: transparent;
     color: #a0a0a0;
     border: 1.5px solid #e0e0e0;
     padding: 8px 16px;
     border-radius: 25px;
     font-size: 0.9rem;
     font-weight: 500;
     cursor: pointer;
     transition: all 0.3s ease;
     outline: none;
     margin-bottom: 15px;

}

 .btn-reset:hover {
     color: #ff4d4d;
     border-color: #ff4d4d;
     background-color: rgba(255, 77, 77, 0.05);
     transform: translateY(-1px);
     box-shadow: 0 4px 10px rgba(255, 77, 77, 0.1);

}

 .btn-reset:active {
     transform: translateY(0);
     background-color: rgba(255, 77, 77, 0.1);

}

 .btn-reset i {
     font-size: 0.85rem;
     transition: transform 0.3s ease;

}

 .btn-reset:hover i {
     transform: rotate(15deg) scale(1.1);

}

 @media (max-width: 768px) {
     .btn-reset {
         padding: 6px 12px;
         font-size: 0.85rem;
         width: fit-content;

    }

}

 .builder-container {
     display: grid;
     grid-template-columns: 1fr 320px;
     gap: 25px;
     align-items: start;

}

 .bouquet-canvas {
     position: relative;
     width: 100%;
     max-width: 380px;
     height: 450px;
     margin: 0 auto;
     overflow: hidden;
     border: 1px solid #eee;
     border-radius: 15px;
     display: flex;
     align-items: center;
     justify-content: center;

}

 .wrapping-paper-bg {
     position: absolute;
     bottom: 0;
     width: 100%;
     height: 100%;
     object-fit: contain;
     z-index: 1;
     transform: scale(1.35);
     transform-origin: bottom center;
     transition: transform 0.3s ease;

}

 .flowers-overlay {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 5;

}

 .flower-on-canvas {
     position: absolute;
     z-index: 10;
     width: 130px !important;
     clip-path: inset(0% 20% 0% 20%);
     touch-action: none;
     user-select: none;
     -webkit-user-select: none;
     cursor: grab;
     transition: top 0.5s ease, left 0.5s ease, transform 0.5s ease;
     filter: drop-shadow(0 5px 5px rgba(0,0,0,0.2));
     transform-origin: bottom center;

}

 .flower-on-canvas:active {
     cursor: grabbing;

}

 @keyframes flowerPop {
     0% {
         transform: scale(0) translateY(30px);
         opacity: 0;

    }

     100% {
         transform: scale(1) translateY(0);
         opacity: 1;

    }

}

 .flower-options-grid {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
     gap: 10px;

}

 .flower-item {
     text-align: center;
     padding: 8px;
     border: 2px solid #f0f0f0;
     border-radius: 15px;
     cursor: pointer;
     background: #fff;
     transition: 0.2s;

}

 .flower-item:hover {
     border-color: var(--accent-pink);
     background: #fff5f8;
     transform: scale(1.05);

}

 .flower-item img {
     width: 45px;
     height: 45px;
     object-fit: contain;
     margin-bottom: 5px;

}

 .bouquet-summary {
     background: #fff;
     padding: 15px;
     border-radius: 15px;
     box-shadow: 0 -4px 15px rgba(0,0,0,0.05);
     margin-bottom: 15px;
     border: 1px solid #eee;

}

 .selected-list {
     display: block !important;
     max-height: 120px;
     overflow-y: auto;
     background: #f9f9f9;
     padding: 10px;
     border-radius: 10px;
     margin-bottom: 10px;
     font-size: 0.85rem;

}

 .price-section {
     border-top: 2px dashed #eee;
     padding-top: 15px;
     margin-top: 10px;

}

 .total-box {
     font-size: 1.6rem;
     font-weight: 800;
     color: var(--accent-main);
     margin: 10px 0;

}

 @media (max-width: 768px) {
     .builder-container {
         grid-template-columns: 1fr;

    }

     .bouquet-canvas {
         height: 350px !important;
         margin-bottom: 0 !important;
         width: 100%;
         max-width: 350px;
         margin: 0 auto;
         background: transparent !important;
         border: none;

    }

     .bouquet-summary {
         height: auto;

    }

}

 /* إصلاح الفراغ أسفل الصورة في الموبايل */ @media (max-width: 768px) {
     .bouquet-canvas {
         height: 230px !important;
         margin-bottom: 0 !important;

    }

     .sticky-preview-container {
         padding-bottom: 0 !important;
         padding-top: 10px !important;
         border-bottom: none !important;

    }

     .wrapping-paper-bg {
         height: 100% !important;
         object-fit: contain !important;
         object-position: bottom center !important;

    }

     .flower-on-canvas {

    }

     .flower-on-canvas {
         position: absolute;
         z-index: 10;
         width: 130px !important;
         clip-path: inset(0% 20% 0% 20%);
         touch-action: none;
         user-select: none;
         -webkit-user-select: none;
         cursor: grab;
         transition: top 0.5s ease, left 0.5s ease, transform 0.5s ease;
         filter: drop-shadow(0 5px 5px rgba(0,0,0,0.2));
         transform-origin: bottom center;

    }

}

 :root {
     --bg-body: #f7eedf;
     --bg-card: #ffffff;
     --text-main: #2c1810;
     --text-muted: #8a6d5b;
     --accent-pink: #e75480;
     --accent-purple: #9c27b0;
     --accent-gold: #ffb300;
     --border-color: #f3e5f5;
     --danger-color: #ff4444;
     --gradient-primary: linear-gradient(135deg, #e75480 0%, #9c27b0 100%);
     --gradient-secondary: linear-gradient(135deg, #ffb300 0%, #ff9800 100%);
     --shadow-soft: 0 8px 30px rgba(231, 84, 128, 0.1);
     --shadow-medium: 0 15px 40px rgba(156, 39, 176, 0.15);

}

 /* تعديل الخلفية (Bloom Red) */ .bloom-background {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: -1;
     background-color: var(--bg-body);
     overflow: hidden;

}

 .blob {
     position: absolute;
     border-radius: 50%;
     filter: blur(100px);
     opacity: 0.5;
     animation: floatBlob 15s infinite alternate ease-in-out;

}

 .blob-1 {
     width: 600px;
     height: 600px;
     background: radial-gradient(circle, #ffb3c1 0%, rgba(255, 179, 193, 0) 70%);
     top: -150px;
     left: -100px;
     animation-duration: 25s;

}

 .blob-2 {
     width: 500px;
     height: 500px;
     background: radial-gradient(circle, #ffcccb 0%, rgba(255, 204, 203, 0) 70%);
     top: 40%;
     right: -100px;
     animation-duration: 30s;
     animation-delay: -5s;

}

 .blob-3 {
     width: 700px;
     height: 700px;
     background: radial-gradient(circle, #ffe4e1 0%, rgba(255, 228, 225, 0) 70%);
     bottom: -200px;
     left: 10%;
     animation-duration: 20s;
     animation-delay: -10s;

}

 @keyframes floatBlob {
     0% {
         transform: translate(0, 0) scale(1);

    }

     100% {
         transform: translate(50px, 50px) scale(1.1);

    }

}

 /* RESET & BASE */ * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     -webkit-tap-highlight-color: transparent !important;

}

 body {
     background-color: var(--bg-body);
     color: var(--text-main);
     direction: rtl;
     overflow-x: hidden;
     font-family: 'Cairo', 'Almarai', sans-serif;
     background-image: url("https://www.transparenttextures.com/patterns/cream-paper.png"), radial-gradient(rgba(231, 84, 128, 0.15) 1px, transparent 1px);
     background-repeat: repeat;
     background-size: auto, 30px 30px;
     background-blend-mode: multiply;

}

 .container {
     max-width: 1200px;
     margin: auto;
     padding: 0 20px;

}

 /* توحيد الخط العربي بناءً على تصميم الصورة الخط: El Messiri (يشبه خط الصورة) */ *:not(i):not(.fa):not(.fas):not(.fab):not(.far):not([class*="material-icons"]) {
     font-family: 'El Messiri', 'Noto Sans Arabic', sans-serif !important;

}

 html {
     font-family: 'El Messiri', 'Noto Sans Arabic', sans-serif !important;

}

 body {
     font-family: 'El Messiri', 'Noto Sans Arabic', sans-serif !important;
     font-size: 17px;
     line-height: 1.8;
     text-align: right;
     direction: rtl;
     text-rendering: optimizeLegibility;
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;

}

 h1, h2, h3, h4, h5, h6 {
     font-family: 'El Messiri', 'Noto Sans Arabic', sans-serif !important;
     font-weight: 700;
     line-height: 1.4;
     margin-bottom: 1rem;

}

 h1 {
     font-size: 2.8rem;
     letter-spacing: -0.5px;

}

 h2 {
     font-size: 2.2rem;

}

 h3 {
     font-size: 1.8rem;

}

 p, span, a, li, div {
     font-family: 'El Messiri', 'Noto Sans Arabic', sans-serif !important;
     font-weight: 400;
     letter-spacing: 0.2px;

}

 strong, b, .bold-text {
     font-weight: 700 !important;

}

 button, .btn, .btn-hero, .btn-quick-add, .btn-buy-large, .btn-checkout {
     font-family: 'El Messiri', 'Noto Sans Arabic', sans-serif !important;
     font-weight: 600 !important;
     letter-spacing: 0.3px;

}

 input, textarea, select {
     font-family: 'El Messiri', 'Noto Sans Arabic', sans-serif !important;
     font-size: 16px !important;
     font-weight: 400;

}

 .logo-text, .site-title, .hero h1 {
     font-family: 'El Messiri', 'Noto Sans Arabic', sans-serif !important;
     font-weight: 800 !important;
     text-shadow: 1px 1px 2px rgba(0,0,0,0.1);

}

 .product-card, .cat-card, .feature-item, .cart-item {
     font-family: 'El Messiri', 'Noto Sans Arabic', sans-serif !important;

}

 .site-footer, .footer-bottom {
     font-family: 'El Messiri', 'Noto Sans Arabic', sans-serif !important;

}

 [class*="font-"], [style*="font-family"] {
     font-family: inherit !important;

}

 i, .fa, .fas, .fab, .far, .material-icons, [class*="icon"] {
     font-family: 'Font Awesome 6 Free', 'FontAwesome' !important;

}

 /* ANNOUNCEMENT BAR */ .announcement-bar {
     background: var(--gradient-primary);
     color: white;
     text-align: center;
     padding: 8px 0;
     font-size: 0.9rem;
     position: relative;
     z-index: 2;
     box-shadow: 0 2px 10px rgba(231, 84, 128, 0.3);

}

 .announcement-bar p {
     margin: 0;
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 8px;

}

 /* NAVBAR (النسخة البيج الزجاجية - Fixed) */ .navbar {
     padding: 12px 0;
     position: sticky;
     top: 0;
     z-index: 1000;
     background: rgba(249, 244, 236, 0.9) !important;
     backdrop-filter: blur(20px) !important;
     -webkit-backdrop-filter: blur(20px) !important;
     border-bottom: 1px solid rgba(176, 78, 88, 0.1) !important;
     box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05) !important;

}

 .nav-content {
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 20px;

}

 .site-logo {
     height: 45px;
     width: auto;
     filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));

}

 .nav-center {
     display: flex;
     align-items: center;
     justify-content: center;
     flex: 1;
     gap: 25px;

}

 .nav-link {
     white-space: nowrap;
     font-size: 1rem;
     font-weight: 600;
     color: var(--text-main);
     text-decoration: none;
     padding: 8px 15px;
     border-radius: 25px;
     transition: all 0.3s ease;

}

 .nav-link:hover {
     background: var(--gradient-primary);
     color: white;
     transform: translateY(-2px);

}

 /* تحديث الشريط السفلي للموبايل (ليكون بيج أيضاً) */ @media (max-width: 768px) {
     .mobile-bottom-nav {
         background: rgba(249, 244, 236, 0.95) !important;
         backdrop-filter: blur(20px) !important;
         -webkit-backdrop-filter: blur(20px) !important;
         border-top: 1px solid rgba(176, 78, 88, 0.1) !important;

    }

     .search-box input {
         background: #ffffff !important;
         border: 1px solid rgba(176, 78, 88, 0.1) !important;

    }

}

 /* تحديث الشريط السفلي للموبايل ليتناسق معه */ @media (max-width: 768px) {
     .mobile-bottom-nav {
         background: rgba(255, 255, 255, 0.6) !important;
         backdrop-filter: blur(30px) !important;
         -webkit-backdrop-filter: blur(30px) !important;
         border-top: 1px solid rgba(255, 255, 255, 0.3) !important;
         box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.05) !important;

    }

}

 /* شريط البحث (الثيم الأحمر المحروق الكامل) */ .search-box {
     width: 100%;
     max-width: 400px;
     position: relative;
     margin: 5px 0;

}

 .search-box input {
     width: 100%;
     padding: 12px 15px 12px 45px !important;
     border: 1.5px solid rgba(183, 28, 28, 0.15) !important;
     background-color: rgba(183, 28, 28, 0.03) !important;
     border-radius: 50px;
     color: #8a0e0e !important;
     font-weight: 600;
     font-size: 0.9rem;
     outline: none;
     transition: all 0.3s ease;

}

 .search-box input::placeholder {
     color: rgba(138, 14, 14, 0.4);
     font-weight: 400;

}

 .search-box input:focus {
     background-color: #ffffff !important;
     border-color: #b71c1c !important;
     box-shadow: 0 4px 15px rgba(183, 28, 28, 0.15) !important;

}

 .search-box button {
     position: absolute;
     left: 12px;
     top: 50%;
     transform: translateY(-50%);
     background: none !important;
     border: none !important;
     padding: 0;
     cursor: pointer;
     z-index: 10;
     display: flex;
     align-items: center;
     justify-content: center;

}

 .search-box button i {
     color: #b71c1c;
     font-size: 1.1rem;
     font-weight: 300;
     transition: all 0.3s ease;
     opacity: 0.8;

}

 .search-box button:hover i {
     opacity: 1;
     transform: scale(1.1);
     color: #8a0e0e;

}

 /* HERO SECTION */ .hero {
     text-align: center;
     padding: 100px 20px;
     background: url('https://images.unsplash.com/photo-1519378058457-4c29a0a2efac?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80');
     background-size: cover;
     background-position: center;
     border-radius: 25px;
     margin: 25px auto;
     position: relative;
     overflow: hidden;

}

 .hero::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: linear-gradient(45deg, rgba(231,84,128,0.1), rgba(156,39,176,0.1));
     z-index: 1;

}

 .hero-content {
     position: relative;
     z-index: 2;
     max-width: 700px;
     margin: 0 auto;

}

 .hero h1 {
     font-size: 3.5rem;
     color: var(--text-main);
     margin-bottom: 20px;
     font-weight: 800;
     background: var(--gradient-primary);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     text-shadow: 0 4px 10px rgba(0,0,0,0.1);

}

 .hero p {
     font-size: 1.2rem;
     color: var(--text-muted);
     margin-bottom: 30px;
     line-height: 1.6;

}

 .btn-hero {
     background: var(--gradient-primary);
     color: white;
     border: none;
     padding: 15px 40px;
     font-size: 1.1rem;
     font-weight: 600;
     border-radius: 30px;
     cursor: pointer;
     transition: all 0.3s ease;
     box-shadow: 0 10px 30px rgba(231, 84, 128, 0.3);

}

 .btn-hero:hover {
     transform: translateY(-3px) scale(1.05);
     box-shadow: 0 15px 40px rgba(231, 84, 128, 0.4);

}

 /* CATEGORIES */ .categories-section {
     margin: 60px 0;

}

 .section-title {
     font-size: 2rem;
     text-align: center;
     margin-bottom: 40px;
     color: var(--text-main);
     position: relative;
     display: inline-block;
     left: 50%;
     transform: translateX(-50%);

}

 .section-title::after {
     content: '';
     position: absolute;
     bottom: -10px;
     left: 50%;
     transform: translateX(-50%);
     width: 100px;
     height: 4px;
     background: var(--gradient-primary);
     border-radius: 2px;

}

 .categories-wrapper {
     display: flex;
     justify-content: center;
     gap: 20px;
     flex-wrap: wrap;

}

 /* PRODUCTS */ .products-grid {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
     gap: 30px;
     margin: 50px 0;

}

 @media (max-width: 768px) {
     .products-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 15px;

    }

     .product-card {
         margin: 0;
         min-height: auto;

    }

}

 @media (max-width: 480px) {
     .products-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 10px;

    }

}

 .product-card {
     background: white;
     border-radius: 20px;
     overflow: hidden;
     transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     box-shadow: var(--shadow-soft);
     position: relative;

}

 .product-badge {
     position: absolute;
     top: 15px;
     right: 15px;
     background: var(--gradient-primary);
     color: white;
     padding: 5px 12px;
     border-radius: 15px;
     font-size: 0.8rem;
     font-weight: 600;
     z-index: 2;

}

 .img-container {
     width: 100%;
     height: 250px;
     overflow: hidden;
     background: linear-gradient(135deg, #fce4ec 0%, #f3e5f5 100%);
     position: relative;

}

 .img-container img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.6s ease;

}

 .product-overlay {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: transparent !important;
     backdrop-filter: none !important;
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     transition: opacity 0.3s ease;
     z-index: 5;

}

 .quick-view-btn {
     background: #ffffff;
     color: var(--accent-pink);
     border: 2px solid var(--accent-pink);
     padding: 10px 24px;
     border-radius: 50px;
     font-weight: 800;
     font-size: 0.95rem;
     cursor: pointer;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
     transform: translateY(10px);
     transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);

}

 .details {
     padding: 20px;

}

 .details h3 {
     font-size: 1.1rem;
     margin-bottom: 10px;
     color: var(--text-main);
     font-weight: 700;

}

 .price {
     font-size: 1.4rem;
     color: var(--accent-pink);
     font-weight: 800;
     margin-bottom: 15px;
     display: block;

}

 /* FEATURES */ .features-section {
     margin: 80px 0;

}

 .features-wrapper {
     background: white;
     border-radius: 25px;
     padding: 60px;
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 50px;
     box-shadow: var(--shadow-medium);
     position: relative;
     overflow: hidden;

}

 .features-wrapper::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 5px;
     background: var(--gradient-primary);

}

 .features-image {
     border-radius: 15px;
     overflow: hidden;

}

 .features-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.6s ease;

}

 .features-wrapper:hover .features-image img {
     transform: scale(1.05);

}

 .feature-item {
     display: flex;
     align-items: flex-start;
     gap: 20px;
     margin-bottom: 30px;
     padding: 20px;
     border-radius: 15px;
     transition: all 0.3s ease;

}

 .feature-item:hover {
     background: rgba(231, 84, 128, 0.05);
     transform: translateX(-10px);

}

 .icon-box {
     width: 60px;
     height: 60px;
     background: var(--gradient-primary);
     border-radius: 15px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;

}

 .icon-box i {
     color: white;
     font-size: 1.5rem;

}

 /* FOOTER */ .site-footer {
     background: linear-gradient(135deg, #2c1810 0%, #1a0f0a 100%);
     color: white;
     padding: 60px 0 20px;
     margin-top: 80px;

}

 .footer-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 40px;
     margin-bottom: 40px;

}

 .footer-logo {
     height: 50px;
     margin-bottom: 20px;
     filter: brightness(0) invert(1);

}

 .delivery-alert {
     background: rgba(255, 255, 255, 0.1);
     padding: 20px;
     border-radius: 10px;
     border-right: 4px solid var(--accent-pink);
     margin-top: 20px;

}

 .social-links {
     display: flex;
     gap: 15px;
     margin-top: 20px;

}

 .social-icon {
     width: 40px;
     height: 40px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.1);
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     text-decoration: none;
     transition: all 0.3s ease;

}

 .social-icon:hover {
     background: var(--gradient-primary);
     transform: translateY(-3px);

}

 .footer-bottom {
     text-align: center;
     padding-top: 30px;
     border-top: 1px solid rgba(255, 255, 255, 0.1);
     color: rgba(255, 255, 255, 0.7);

}

 /* MODALS & SIDEBARS */ .modal {
     display: none;
     position: fixed;
     z-index: 99999;
     left: 0;
     top: 0;
     width: 100%;
     height: 100%;
     background: rgba(0,0,0,0.7);
     backdrop-filter: blur(5px);

}

 .modal.show-modal {
     display: flex;
     align-items: center;
     justify-content: center;
     animation: fadeIn 0.3s ease;

}

 .modal-content {
     background: white;
     padding: 40px;
     border-radius: 25px;
     max-width: 500px;
     width: 90%;
     position: relative;
     animation: slideUp 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);

}

 .close-btn {
     position: absolute;
     left: 20px;
     top: 20px;
     font-size: 1.5rem;
     cursor: pointer;
     color: var(--text-muted);
     transition: color 0.3s ease;

}

 .close-btn:hover {
     color: var(--accent-pink);

}

 /* CART SIDEBAR */ .cart-sidebar {
     position: fixed;
     top: 0;
     left: -450px;
     width: 450px;
     height: 100%;
     background: white;
     box-shadow: -5px 0 30px rgba(0,0,0,0.1);
     z-index: 10000;
     transition: left 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     display: flex;
     flex-direction: column;

}

 .cart-sidebar.active {
     left: 0;

}

 .cart-header {
     padding: 25px;
     background: var(--gradient-primary);
     color: white;
     display: flex;
     justify-content: space-between;
     align-items: center;

}

 .cart-items {
     flex: 1;
     overflow-y: auto;
     padding: 20px;

}

 .cart-footer {
     padding: 25px;
     border-top: 1px solid var(--border-color);

}

 .btn-checkout {
     width: 100%;
     padding: 18px;
     background: var(--gradient-primary);
     color: white;
     border: none;
     border-radius: 15px;
     font-weight: 600;
     font-size: 1.1rem;
     cursor: pointer;
     transition: all 0.3s ease;

}

 .btn-checkout:hover {
     transform: translateY(-2px);
     box-shadow: 0 10px 25px rgba(231, 84, 128, 0.3);

}

 /* ANIMATIONS */ @keyframes fadeIn {
     from {
         opacity: 0;

    }

     to {
         opacity: 1;

    }

}

 @keyframes slideUp {
     from {
         opacity: 0;
         transform: translateY(50px);

    }

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

    }

}

 @keyframes float {
     0%, 100% {
         transform: translateY(0);

    }

     50% {
         transform: translateY(-10px);

    }

}

 .floating {
     animation: float 3s ease-in-out infinite;

}

 /* RESPONSIVE */ @media (max-width: 992px) {
     .features-wrapper {
         grid-template-columns: 1fr;

    }

     .hero h1 {
         font-size: 2.8rem;

    }

}

 @media (max-width: 768px) {
     .nav-link {
         display: none;

    }

     .nav-center {
         justify-content: flex-end;

    }

     .hero {
         padding: 60px 20px;

    }

     .hero h1 {
         font-size: 2.2rem;

    }

     .products-grid {
         grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
         gap: 20px;

    }

     .features-wrapper {
         padding: 30px;

    }

     .cart-sidebar {
         width: 100%;
         left: -100%;

    }

}

 @media (max-width: 480px) {
     .categories-wrapper {
         flex-wrap: nowrap !important;
         gap: 8px !important;
         justify-content: space-between !important;
         padding: 0 10px !important;

    }

     .cat-card {
         flex: 1 !important;
         width: auto !important;
         min-width: 0 !important;
         height: 125px !important;
         padding: 10px !important;

    }

     .hero h1 {
         font-size: 1.8rem;

    }

     .section-title {
         font-size: 1.6rem;

    }

}

 /* UTILITY CLASSES */ .hidden {
     display: none !important;

}

 .overlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(0,0,0,0.5);
     z-index: 9999;
     display: none;

}

 .overlay.active {
     display: block;

}

 .badge {
     position: absolute;
     top: -8px;
     right: -8px;
     background: var(--accent-pink);
     color: white;
     font-size: 0.7rem;
     font-weight: bold;
     width: 20px;
     height: 20px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     border: 2px solid white;

}

 .mobile-bottom-nav {
     display: none;

}

 @media (max-width: 768px) {
     .mobile-bottom-nav {
         display: flex;
         justify-content: space-around;
         align-items: center;
         position: fixed;
         bottom: 0;
         left: 0;
         width: 100%;
         height: 70px;
         background: white;
         border-top: 1px solid var(--border-color);
         z-index: 1000;
         box-shadow: 0 -5px 20px rgba(0,0,0,0.1);

    }

     body {
         padding-bottom: 70px;

    }

}

 /* تصميم التوست ميسدج الجديد (Pop-up) */ #toast {
     position: fixed;
     top: 25px;
     left: 50%;
     transform: translateX(-50%) translateY(-100px) scale(0.8);
     background: rgba(255, 255, 255, 0.95);
     backdrop-filter: blur(12px);
     -webkit-backdrop-filter: blur(12px);
     padding: 12px 30px;
     border-radius: 50px;
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
     border: 1px solid rgba(255, 255, 255, 0.6);
     display: flex;
     align-items: center;
     gap: 12px;
     z-index: 100000;
     opacity: 0;
     visibility: hidden;
     transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);

}

 #toast.show {
     transform: translateX(-50%) translateY(0) scale(1);
     opacity: 1;
     visibility: visible;

}

 #toast i {
     color: #4caf50;
     font-size: 1.3rem;
     background: #e8f5e9;
     width: 30px;
     height: 30px;
     display: flex;
     align-items: center;
     justify-content: center;
     border-radius: 50%;

}

 #toast span {
     color: #333;
     font-weight: 600;
     font-size: 0.95rem;
     font-family: 'El Messiri', sans-serif;

}

 @keyframes slideDown {
     from {
         opacity: 0;
         transform: translateX(-50%) translateY(-20px);

    }

     to {
         opacity: 1;
         transform: translateX(-50%) translateY(0);

    }

}

 /* PRODUCT VIEW PAGE */ .product-view {
     padding: 40px 0;
     min-height: 100vh;
     background: linear-gradient(135deg, #fce4ec 0%, #f3e5f5 100%);

}

 .product-details-container {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 50px;
     background: white;
     padding: 40px;
     border-radius: 25px;
     box-shadow: var(--shadow-medium);

}

 .product-gallery {
     position: sticky;
     top: 100px;

}

 .main-img {
     width: 100%;
     height: 400px;
     border-radius: 20px;
     overflow: hidden;
     background: linear-gradient(135deg, #fce4ec 0%, #f3e5f5 100%);
     margin-bottom: 20px;

}

 .main-img img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.6s ease;

}

 .main-img:hover img {
     transform: scale(1.05);

}

 .small-imgs {
     display: flex;
     gap: 10px;
     justify-content: center;

}

 .small-imgs img {
     width: 80px;
     height: 80px;
     border-radius: 10px;
     object-fit: cover;
     cursor: pointer;
     border: 2px solid transparent;
     transition: all 0.3s ease;

}

 .small-imgs img.active {
     border-color: var(--accent-pink);

}

 .product-info h2 {
     font-size: 2.2rem;
     color: var(--text-main);
     margin-bottom: 15px;
     line-height: 1.3;

}

 .price-box {
     font-size: 2.5rem;
     color: var(--accent-pink);
     font-weight: 800;
     margin: 25px 0;
     display: flex;
     align-items: baseline;
     gap: 5px;

}

 .currency {
     font-size: 1.2rem;
     color: var(--text-muted);

}

 .description {
     font-size: 1.1rem;
     line-height: 1.8;
     color: var(--text-muted);
     margin-bottom: 30px;

}

 .btn-buy-large {
     width: 100%;
     padding: 20px;
     background: var(--gradient-primary);
     color: white;
     border: none;
     border-radius: 15px;
     font-size: 1.2rem;
     font-weight: 600;
     cursor: pointer;
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 10px;
     margin: 30px 0;

}

 .btn-buy-large:hover {
     transform: translateY(-3px);
     box-shadow: 0 15px 30px rgba(231, 84, 128, 0.3);

}

 .features-list {
     list-style: none;
     margin-top: 30px;

}

 .features-list li {
     margin-bottom: 15px;
     display: flex;
     align-items: center;
     gap: 10px;
     color: var(--text-muted);

}

 .features-list i {
     color: var(--accent-pink);
     font-size: 1.2rem;

}

 @media (max-width: 768px) {
     .product-details-container {
         grid-template-columns: 1fr;
         padding: 20px;
         gap: 30px;

    }

     .product-gallery {
         position: static;

    }

     .main-img {
         height: 300px;

    }

     .product-info h2 {
         font-size: 1.8rem;

    }

     .price-box {
         font-size: 2rem;

    }

}

 .raised-section {
     margin-top: -60px;
     position: relative;
     z-index: 10;

}

 .cat-img {
     width: 50px !important;
     height: 50px !important;
     margin-bottom: 8px !important;
     border-radius: 50%;
     object-fit: cover;
     border: 3px solid #fff;
     box-shadow: 0 4px 15px rgba(0,0,0,0.1);
     margin-bottom: 10px;
     transition: transform 0.3s ease;

}

 .cat-card:hover .cat-img {
     transform: scale(1.1);
     border-color: #ff6b6b;

}

 @media (max-width: 768px) {
     .img-container {
         height: 180px;

    }

     .product-card h3 {
         font-size: 0.9rem;
         margin-bottom: 8px;

    }

     .price {
         font-size: 1.1rem;
         margin-bottom: 10px;

    }

     .btn-quick-add {
         padding: 10px;
         font-size: 0.9rem;

    }

     .product-badge {
         font-size: 0.7rem;
         padding: 4px 8px;
         top: 10px;
         right: 10px;

    }

}

 #toast {
     position: fixed;
     top: 20px;
     left: 50%;
     transform: translateX(-50%) translateY(-100px) scale(0.9);
     background: rgba(255, 255, 255, 0.95);
     backdrop-filter: blur(12px);
     -webkit-backdrop-filter: blur(12px);
     padding: 12px 25px;
     border-radius: 50px;
     box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
     border: 1px solid rgba(255, 255, 255, 0.5);
     display: flex;
     align-items: center;
     gap: 12px;
     z-index: 100000;
     opacity: 0;
     visibility: hidden;
     transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);

}

 #toast.show {
     transform: translateX(-50%) translateY(20px) scale(1);
     opacity: 1;
     visibility: visible;

}

 #toast i {
     font-size: 1.2rem;
     color: #4caf50;
     background: #e8f5e9;
     padding: 5px;
     border-radius: 50%;

}

 #toast span {
     font-family: 'El Messiri', sans-serif;
     font-weight: 600;
     color: #333;
     font-size: 0.95rem;

}

 /* زر الإضافة الجديد (ستايل أوتلاين) */ .btn-quick-add {
     width: 100%;
     padding: 10px 20px;
     background: transparent;
     color: #e75480;
     border: 2px solid #e75480;
     border-radius: 50px;
     font-weight: 700;
     font-size: 0.95rem;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

}

 .btn-quick-add:hover {
     background: #e75480;
     color: white;
     border-color: #e75480;
     transform: translateY(-3px);
     box-shadow: 0 5px 15px rgba(231, 84, 128, 0.3);

}

 .btn-quick-add:active {
     transform: scale(0.95);
     background: #c2185b;
     border-color: #c2185b;
     box-shadow: none !important;

}

 .btn-quick-add:focus {
     outline: none;

}

 @media (max-width: 768px) {
     .products-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 15px;

    }

     .product-card {
         margin: 0;
         min-height: auto;

    }

}

 @media (max-width: 480px) {
     .products-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 10px;

    }

}

 /* MOBILE BOTTOM NAV IMPROVEMENT */ .mobile-bottom-nav {
     display: none;

}

 @media (max-width: 768px) {
     .mobile-bottom-nav {
         display: flex;
         justify-content: space-around;
         align-items: center;
         position: fixed;
         bottom: 0;
         left: 0;
         width: 100%;
         height: 75px;
         background: linear-gradient(135deg, #ffffff 0%, #fafafa 100%);
         border-top: 1px solid rgba(231, 84, 128, 0.2);
         z-index: 1000;
         box-shadow: 0 -10px 30px rgba(156, 39, 176, 0.15);
         padding: 0 10px;
         backdrop-filter: blur(10px);
         -webkit-backdrop-filter: blur(10px);
         border-top-left-radius: 25px;
         border-top-right-radius: 25px;

    }

     body {
         padding-bottom: 85px;

    }

     .nav-item {
         display: flex;
         flex-direction: column;
         align-items: center;
         justify-content: center;
         text-decoration: none;
         color: var(--text-muted);
         font-size: 0.75rem;
         font-weight: 500;
         flex: 1;
         height: 100%;
         transition: all 0.3s ease;
         position: relative;
         padding: 8px 0;
         border-radius: 12px;
         margin: 0 3px;

    }

     .nav-item.active {
         color: var(--accent-pink);
         background: rgba(231, 84, 128, 0.08);
         transform: translateY(-5px);

    }

     .nav-item:hover {
         color: var(--accent-pink);
         transform: translateY(-2px);

    }

     .nav-item i {
         font-size: 1.3rem;
         margin-bottom: 4px;
         transition: all 0.3s ease;

    }

     .nav-item.active i {
         transform: scale(1.1);
         color: var(--accent-pink);

    }

     .nav-item span {
         font-size: 0.7rem;
         font-weight: 600;
         letter-spacing: 0.3px;
         transition: all 0.3s ease;

    }

     .nav-item:active {
         transform: scale(0.95);

    }

     .nav-item.active::after {
         content: '';
         position: absolute;
         top: -3px;
         width: 30px;
         height: 3px;
         background: var(--gradient-primary);
         border-radius: 3px;

    }

     .nav-item:has(i.fa-shopping-basket) {
         position: relative;

    }

     .cart-counter-mobile {
         position: absolute;
         top: 5px;
         right: calc(50% - 25px);
         background: var(--accent-pink);
         color: white;
         font-size: 0.65rem;
         font-weight: bold;
         width: 18px;
         height: 18px;
         border-radius: 50%;
         display: flex;
         align-items: center;
         justify-content: center;
         border: 2px solid white;
         box-shadow: 0 2px 5px rgba(231, 84, 128, 0.3);

    }

     .nav-item i.fa-home {
         color: var(--accent-purple);

    }

     .nav-item i.fa-shopping-basket {
         color: var(--accent-pink);

    }

     .nav-item i.fa-heart {
         color: #ff6b8b;

    }

     .nav-item i.fa-user {
         color: #9c27b0;

    }

     @media (max-width: 380px) {
         .mobile-bottom-nav {
             height: 70px;

        }

         .nav-item i {
             font-size: 1.2rem;

        }

         .nav-item span {
             font-size: 0.65rem;

        }

         body {
             padding-bottom: 80px;

        }

    }

     @keyframes navPulse {
         0%, 100% {
             transform: scale(1);

        }

         50% {
             transform: scale(1.05);

        }

    }

     .nav-item.pulse {
         animation: navPulse 0.5s ease;

    }

}

 /* إضافة تأثيرات للهواتف فقط */ @media (hover: hover) and (pointer: fine) {
     .nav-item:hover {
         background: rgba(231, 84, 128, 0.05);

    }

}

 @media (max-width: 768px) {
     .nav-item {
         -webkit-tap-highlight-color: transparent;
         user-select: none;
         -webkit-user-select: none;

    }

     .nav-item::before {
         content: '';
         position: absolute;
         top: -10px;
         left: 0;
         right: 0;
         height: 50px;
         background: transparent;

    }

}

 /* تعديلات الموبايل (اللوجو والسيرش في سطر واحد) */ @media (max-width: 768px) {
     .cart-btn {
         display: none !important;

    }

     .nav-content {
         display: flex;
         flex-direction: row;
         align-items: center;
         justify-content: space-between;
         gap: 10px;
         padding: 5px 10px;

    }

     .logo-link {
         flex: 0 0 auto;

    }

     .site-logo {
         height: 30px;
         width: auto;

    }

     .nav-center {
         flex: 1;
         display: block;
         margin: 0;

    }

     .search-box {
         width: 100%;
         max-width: none;

    }

     .search-box input {
         padding: 8px 35px 8px 10px;
         height: 38px;
         font-size: 0.8rem;
         border-radius: 20px;

    }

     .search-box button {
         left: 10px;
         font-size: 0.9rem;

    }

     .nav-link {
         display: none !important;

    }

}

 /* التصميم النهائي الثابت للموبايل */ @media (max-width: 768px) {
     #bouquetBuilderModal .modal-content {
         width: 100% !important;
         height: 100vh !important;
         max-height: 100vh !important;
         border-radius: 0;
         padding: 0;
         background: #f8f9fa;
         display: flex;
         flex-direction: column;
         overflow: hidden;

    }

     .modal-title {
         position: absolute;
         top: 15px;
         width: 100%;
         text-align: center;
         margin: 0;
         z-index: 60;
         font-size: 1rem;
         pointer-events: none;

    }

     .builder-container {
         display: flex;
         flex-direction: column;
         height: 100%;
         overflow: hidden;

    }

     /* الجزء العلوي (الثابت) */ .visual-preview-side {
         flex: 0 0 auto;
         background: #ffffff;
         padding-top: 50px;
         padding-bottom: 10px;
         border-bottom: 1px solid #eee;
         box-shadow: 0 4px 10px rgba(0,0,0,0.05);
         z-index: 50;
         position: relative;

    }

     .bouquet-canvas {
         height: 280px !important;
         width: 100%;
         max-width: 300px;
         margin: 0 auto;
         background: transparent !important;
         border: none;

    }

     /* الجزء السفلي (المتحرك رأسياً) */ .scrollable-content {
         flex: 1;
         overflow-y: auto;
         padding: 15px;
         padding-bottom: 80px;

    }

     .flower-selection-wrapper {
         background: #fff;
         padding: 15px 10px;
         border-radius: 15px;
         box-shadow: 0 2px 10px rgba(0,0,0,0.03);
         margin-bottom: 20px;

    }

     .flower-options-grid {
         display: flex !important;
         flex-wrap: nowrap !important;
         overflow-x: auto !important;
         gap: 10px;
         padding: 5px 0;
         overscroll-behavior-x: contain;
         scrollbar-width: none;

    }

     .flower-options-grid::-webkit-scrollbar {
         display: none;

    }

     .flower-item {
         flex: 0 0 auto;
         width: 80px;
         height: 110px;
         border: 1px solid #eee;
         border-radius: 12px;
         display: flex;
         flex-direction: column;
         align-items: center;
         justify-content: center;
         transition: transform 0.1s;

    }

     .flower-item:active {
         transform: scale(0.95);
         background: #fafafa;

    }

     .flower-item img {
         width: 50px;
         height: 50px;
         object-fit: contain;
         margin-bottom: 5px;

    }

     .flower-item h5 {
         font-size: 0.7rem;
         margin: 0;
         color: #555;
         width: 100%;
         text-align: center;
         overflow: hidden;
         white-space: nowrap;
         text-overflow: ellipsis;

    }

     .bouquet-summary {
         background: #fff;
         padding: 20px;
         border-radius: 15px;
         box-shadow: 0 2px 10px rgba(0,0,0,0.03);
         height: auto;

    }

     .selected-list {
         display: none;

    }

     .close-btn {
         position: fixed;
         top: 15px;
         left: 20px;
         z-index: 100;
         background: rgba(255,255,255,0.9);
         width: 35px;
         height: 35px;
         border-radius: 50%;
         display: flex;
         align-items: center;
         justify-content: center;
         box-shadow: 0 2px 5px rgba(0,0,0,0.1);

    }

}

 /* تنسيق مودال صانع الباقات (Clean & Fixed) */ #bouquetBuilderModal .modal-content {
     background-color: #f8f9fa;
     width: 95%;
     max-width: 1000px;
     height: 90vh;
     padding: 0;
     border-radius: 20px;
     overflow: hidden;
     display: flex;
     flex-direction: column;

}

 #bouquetBuilderModal .close-btn {
     position: absolute;
     top: 15px;
     left: 20px;
     z-index: 100;
     background: white;
     width: 35px;
     height: 35px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     box-shadow: 0 2px 5px rgba(0,0,0,0.1);
     cursor: pointer;

}

 @media (max-width: 768px) {
     #bouquetBuilderModal .close-btn {
         top: 25px !important;
         left: 20px !important;
         width: 40px !important;
         height: 40px !important;
         background: #fff !important;
         box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
         z-index: 2000 !important;
         display: flex;
         align-items: center;
         justify-content: center;
         border-radius: 50%;

    }

}

 .modal-header {
     text-align: center;
     padding: 15px;
     background: white;
     border-bottom: 1px solid #eee;
     flex-shrink: 0;

}

 .modal-header h2 {
     margin: 0;
     font-size: 1.2rem;
     color: var(--accent-pink);

}

 .builder-layout {
     display: flex;
     flex: 1;
     overflow: hidden;

}

 /* تصميم الموبايل (الأسطوري) */ @media (max-width: 768px) {
     #bouquetBuilderModal .modal-content {
         width: 100% !important;
         height: 100vh !important;
         max-height: 100vh !important;
         border-radius: 0;

    }

     .builder-layout {
         flex-direction: column;
         overflow-y: auto;
         scroll-behavior: smooth;

    }

     .visual-section {
         display: flex;
         flex-direction: column;

    }

     .sticky-preview-container {
         position: sticky;
         top: 0;
         z-index: 50;
         background: #ffffff;
         padding: 10px 0;
         border-bottom: 1px solid #f0f0f0;
         box-shadow: 0 4px 15px rgba(0,0,0,0.03);

    }

     .bouquet-canvas {
         height: 280px;
         width: 100%;
         margin: 0 auto;
         border: none;
         background: transparent;

    }

     .flowers-scroll-container {
         background: white;
         margin: 15px;
         padding: 15px;
         border-radius: 15px;
         box-shadow: 0 5px 15px rgba(0,0,0,0.05);
         position: relative;
         z-index: 40;

    }

     .flowers-scroll-container h4 {
         margin: 0 0 10px 0;
         font-size: 0.9rem;
         color: #555;

    }

     .horizontal-scroll-list {
         display: flex;
         overflow-x: auto;
         gap: 12px;
         padding-bottom: 5px;
         overscroll-behavior-x: contain;
         scrollbar-width: none;

    }

     .horizontal-scroll-list::-webkit-scrollbar {
         display: none;

    }

     .flower-item {
         flex: 0 0 auto;
         width: 80px;
         height: 110px;
         border: 1px solid #eee;
         border-radius: 12px;
         display: flex;
         flex-direction: column;
         align-items: center;
         justify-content: center;
         background: #fff;

    }

     .flower-item img {
         width: 45px;
         height: 45px;
         object-fit: contain;
         margin-bottom: 5px;

    }

     .flower-item h5 {
         font-size: 0.7rem;
         margin: 0;
         text-align: center;
         width: 100%;
         white-space: nowrap;
         overflow: hidden;
         text-overflow: ellipsis;

    }

     .flower-item div {
         font-size: 0.8rem;
         font-weight: bold;
         color: var(--accent-pink);

    }

     .summary-section {
         padding: 0 15px 40px 15px;

    }

     .bouquet-summary {
         background: white;
         border-radius: 15px;
         padding: 20px;
         box-shadow: 0 2px 10px rgba(0,0,0,0.05);

    }

     .selected-list {
         display: none;

    }

     .price-actions {
         display: flex;
         flex-direction: column;
         gap: 15px;

    }

     .price-row {
         display: flex;
         justify-content: space-between;
         align-items: center;
         border-bottom: 1px dashed #eee;
         padding-bottom: 15px;

    }

     .total-price {
         font-size: 1.1rem;
         font-weight: 800;
         color: var(--accent-pink);
         display: flex;
         justify-content: space-between;
         align-items: center;
         width: 100%;

    }

     .btn-buy-large {
         width: 100%;
         padding: 15px;
         font-size: 1rem;

    }

}

 @media (max-width: 768px) {
     .controls-section {
         padding-bottom: 150px !important;

    }

     .bouquet-summary {
         margin-bottom: 20px !important;
         position: relative;
         z-index: 5;

    }

     .btn-buy-large {
         position: fixed !important;
         bottom: 0 !important;
         left: 0 !important;
         width: 100% !important;
         margin: 0 !important;
         border-radius: 20px 20px 0 0 !important;
         z-index: 100 !important;
         padding: 15px !important;
         box-shadow: 0 -5px 20px rgba(0,0,0,0.1) !important;

    }

}

 /* تنسيق الديسك توب (عشان ما يضربش) */ @media (min-width: 769px) {
     .builder-layout {
         flex-direction: row;
         padding: 20px;
         gap: 20px;
         overflow-y: auto;

    }

     .visual-section {
         flex: 1;
         display: flex;
         flex-direction: column;
         gap: 20px;

    }

     .sticky-preview-container {
         border-radius: 15px;
         overflow: hidden;
         border: 1px solid #eee;

    }

     .bouquet-canvas {
         height: 400px;

    }

     .horizontal-scroll-list {
         display: grid;
         grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
         gap: 10px;

    }

     .flower-item {
         padding: 10px;
         cursor: pointer;
         transition: 0.3s;

    }

     .summary-section {
         width: 300px;
         flex-shrink: 0;

    }

     .bouquet-summary {
         background: white;
         padding: 20px;
         border-radius: 15px;
         box-shadow: 0 5px 20px rgba(0,0,0,0.05);
         height: 100%;

    }

}

 /* إصلاح صفحة الدفع للموبايل */ @media (max-width: 768px) {
     .product-details-container {
         grid-template-columns: 1fr !important;
         gap: 20px !important;
         padding: 10px;

    }

     .checkout-summary-side {
         width: 100%;
         margin-top: 20px;
         order: -1;

    }

     #orderForm > div[style*="grid-template-columns"] {
         grid-template-columns: 1fr !important;

    }

     input, select, textarea {
         font-size: 16px !important;
         padding: 14px !important;

    }

     .btn-buy-large {
         width: 100%;
         padding: 15px;
         font-size: 1.1rem;
         position: fixed;
         bottom: 0;
         left: 0;
         right: 0;
         border-radius: 0 !important;
         z-index: 1000;
         box-shadow: 0 -5px 15px rgba(0,0,0,0.1);

    }

     #checkoutSection {
         margin-bottom: 80px !important;

    }

}

 @media (max-width: 768px) {
     .footer-grid {
         grid-template-columns: 1fr;
         text-align: center;
         gap: 30px;

    }

     .footer-col:not(:last-child) {
         border-bottom: 1px solid rgba(255,255,255,0.1);
         padding-bottom: 30px;

    }

     .delivery-alert {
         display: flex;
         flex-direction: column;
         width: 90%;
         margin: 15px auto;
         padding: 15px;
         background: rgba(255,255,255,0.05);
         border-radius: 15px;

    }

     .delivery-alert i {
         color: var(--accent-pink);
         font-size: 1.5rem;
         margin-bottom: 8px;

    }

     .footer-links li {
         width: 80%;
         margin: 0 auto;

    }

     .footer-links li:not(:last-child) {
         border-bottom: 1px dashed rgba(255,255,255,0.05);
         padding-bottom: 10px;
         margin-bottom: 10px;

    }

     .social-links {
         justify-content: center;
         margin-top: 20px;

    }

     .social-icon {
         width: 45px;
         height: 45px;
         font-size: 1.2rem;

    }

}

 /* تأثيرات النص السحرية (Hero Text) */ .hero h1 {
     font-size: 3.5rem;
     font-weight: 900;
     margin-bottom: 20px;
     background: linear-gradient( to right, #ffffff 0%, #ffc3d9 20%, #ffffff 40%, #ffffff 100% );
     background-size: 200% auto;
     background-clip: text;
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     animation: shineEffect 3s linear infinite;
     filter: drop-shadow(0 0 10px rgba(231, 84, 128, 0.6));

}

 .hero p {
     font-size: 1.3rem;
     color: #ffffff;
     line-height: 1.8;
     font-weight: 600;
     max-width: 700px;
     margin: 0 auto 30px;
     text-shadow: 0 2px 4px rgba(0,0,0,0.5);
     background: rgba(255, 255, 255, 0.1);
     backdrop-filter: blur(2px);
     padding: 10px 20px;
     border-radius: 15px;
     border: 1px solid rgba(255, 255, 255, 0.2);
     display: inline-block;

}

 @keyframes shineEffect {
     to {
         background-position: 200% center;

    }

}

 @media (max-width: 768px) {
     .hero h1 {
         font-size: 2.2rem;

    }

     .hero p {
         font-size: 1rem;
         padding: 10px;

    }

}

 /* 1. تنسيقات كارت الإهداء */ .gift-card-container {
     position: absolute;
     top: 50px;
     left: 50%;
     transform: translateX(-50%) rotate(-5deg);
     width: 140px;
     height: 100px;
     background: #fffdf9;
     border: 1px solid #e0e0e0;
     box-shadow: 0 5px 15px rgba(0,0,0,0.2);
     z-index: 20;
     padding: 10px;
     text-align: center;
     display: flex;
     align-items: center;
     justify-content: center;
     font-family: 'Great Vibes', 'Marhey', cursive;
     font-size: 1.1rem;
     color: #4a4a4a;
     border-radius: 5px;
     overflow: hidden;
     cursor: grab;
     background-image: url('https://www.transparenttextures.com/patterns/paper-fibers.png');

}

 /* 2. تنسيقات الوضع الليلي الرومانسي */ body.dark-mode {
     --bg-body: #0f172a;
     --bg-card: rgba(30, 41, 59, 0.7);
     --text-main: #f8fafc;
     --text-muted: #cbd5e1;
     --border-color: #334155;
     background-image: radial-gradient(#1e293b 1px, transparent 1px);

}

 body.dark-mode .navbar, body.dark-mode .cart-sidebar, body.dark-mode .product-page-header, body.dark-mode .sticky-preview-container, body.dark-mode .visual-preview-side {
     background: rgba(15, 23, 42, 0.9) !important;
     border-color: #334155 !important;

}

 body.dark-mode .product-card, body.dark-mode .cat-card, body.dark-mode .flower-item, body.dark-mode .bouquet-summary, body.dark-mode .flowers-scroll-container, body.dark-mode .flower-selection-wrapper {
     background: rgba(30, 41, 59, 0.6) !important;
     border-color: #334155 !important;
     color: white;

}

 body.dark-mode .flower-on-canvas, body.dark-mode .img-container img {
     filter: drop-shadow(0 0 8px rgba(231, 84, 128, 0.3));

}

 body.dark-mode .blob {
     opacity: 0.2;

}

 .theme-toggle-btn {
     background: none;
     border: none;
     font-size: 1.2rem;
     cursor: pointer;
     color: var(--text-main);
     transition: transform 0.3s;

}

 .theme-toggle-btn:hover {
     transform: rotate(20deg);

}

 /* 3. زر تحميل الصورة */ .btn-download {
     background: #6c5ce7;
     color: white;
     border: none;
     padding: 8px 15px;
     border-radius: 20px;
     font-size: 0.9rem;
     cursor: pointer;
     display: flex;
     align-items: center;
     gap: 5px;
     margin-top: 10px;
     width: 100%;
     justify-content: center;
     box-shadow: 0 4px 10px rgba(108, 92, 231, 0.3);

}

 .btn-download:hover {
     background: #5a4bcf;

}

 /* إصلاح شكل المنتجات (الكمبيوتر والموبايل) */ .products-grid {
     display: grid !important;
     grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
     gap: 25px !important;
     padding: 20px 0;
     width: 100%;

}

 @media (max-width: 768px) {
     .products-grid {
         grid-template-columns: repeat(2, 1fr) !important;
         gap: 10px !important;
         padding: 0 10px;

    }

}

 .product-card {
     background: #fff;
     border-radius: 15px;
     overflow: hidden;
     box-shadow: 0 5px 15px rgba(0,0,0,0.05);
     border: 1px solid #eee;
     display: flex;
     flex-direction: column;
     height: 100%;
     transition: transform 0.3s ease-out, box-shadow 0.3s ease !important;

}

 .img-container {
     width: 100%;
     height: 250px !important;
     overflow: hidden;
     background: #f9f9f9;

}

 .img-container img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: 0.5s;

}

 @media (max-width: 768px) {
     .img-container {
         height: 150px !important;

    }

}

 .details {
     padding: 15px;
     display: flex;
     flex-direction: column;
     flex: 1;

}

 .details h3 {
     font-size: 1.1rem;
     margin-bottom: 10px;

}

 .product-card {
     transition: transform 0.3s ease-out, box-shadow 0.3s ease !important;

}

 @media (max-width: 768px) {
     .custom-bouquet-card {
         grid-column: 1 / -1 !important;
         display: flex !important;
         flex-direction: row !important;
         height: auto !important;

    }

     .custom-bouquet-card .img-container {
         width: 40% !important;
         height: 120px !important;

    }

     .custom-bouquet-card .details {
         width: 60% !important;

    }

}

 /* 1. تصميم زر قائمة الأمنيات (القلب) */ .btn-love {
     width: 42px;
     height: 42px;
     border-radius: 50%;
     background: #fff;
     border: 1px solid #eee;
     color: #ccc;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     font-size: 1.2rem;
     transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     box-shadow: 0 2px 5px rgba(0,0,0,0.05);

}

 .btn-love:hover {
     border-color: #ff4757;
     color: #ff4757;
     background: #fff0f3;
     transform: translateY(-3px) scale(1.1);
     box-shadow: 0 5px 15px rgba(255, 71, 87, 0.2);

}

 .btn-love.active {
     background: #ff4757;
     color: white;
     border-color: #ff4757;
     animation: heartPulse 0.6s;

}

 @keyframes heartPulse {
     0% {
         transform: scale(1);

    }

     50% {
         transform: scale(1.4);

    }

     100% {
         transform: scale(1);

    }

}

 /* 2. رفع الكروت للأعلى (Higher Overlay Cards) */ .product-card {
     transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease !important;

}

 .product-overlay {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: transparent !important;
     backdrop-filter: none !important;
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     transition: opacity 0.3s ease;
     z-index: 5;

}

 .quick-view-btn {
     background: #ffffff;
     color: var(--accent-pink);
     border: 2px solid var(--accent-pink);
     padding: 10px 24px;
     border-radius: 50px;
     font-weight: 800;
     font-size: 0.95rem;
     cursor: pointer;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
     transform: translateY(10px);
     transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);

}

 /* تحديث شكل الموبايل (أعرض وأقصر) */ @media (max-width: 768px) {
     .products-grid {
         grid-template-columns: repeat(2, 1fr) !important;
         gap: 8px !important;
         padding: 0 5px !important;
         margin: 15px 0 !important;

    }

     .product-card {
         width: 100% !important;
         margin: 0 !important;
         border-radius: 12px !important;

    }

     .product-card .img-container {
         height: 220px !important;

    }

     .product-card .details {
         padding: 8px 6px !important;
         gap: 4px !important;

    }

     .product-card h3 {
         font-size: 0.8rem !important;
         margin-bottom: 2px !important;
         white-space: nowrap;
         overflow: hidden;
         text-overflow: ellipsis;

    }

     .product-card .price {
         font-size: 0.95rem !important;
         margin-bottom: 5px !important;

    }

     .buttons-wrapper {
         gap: 5px !important;
         margin-top: 2px !important;

    }

     .btn-quick-add {
         padding: 4px 0 !important;
         font-size: 0.75rem !important;
         height: 30px !important;
         border-radius: 8px !important;

    }

     .btn-love {
         width: 30px !important;
         height: 30px !important;
         font-size: 0.9rem !important;
         border-radius: 8px !important;

    }

     .custom-bouquet-card {
         grid-column: 1 / -1 !important;
         display: flex !important;
         flex-direction: row !important;
         height: 140px !important;
         margin-bottom: 5px !important;

    }

     .custom-bouquet-card .img-container {
         width: 35% !important;
         height: 100% !important;
         border-radius: 0 !important;

    }

     .custom-bouquet-card .details {
         width: 65% !important;
         padding: 10px !important;
         display: flex !important;
         flex-direction: column !important;
         justify-content: center !important;

    }

     .custom-bouquet-card h3 {
         font-size: 1rem !important;
         white-space: normal !important;

    }

     .custom-bouquet-card p {
         display: none !important;

    }

     .custom-bouquet-card .btn-legendary {
         padding: 8px 15px !important;
         font-size: 0.8rem !important;
         margin-top: 5px !important;

    }

}

 /* تحديث الموبايل (عريض ومستغل للمساحة) */ @media (max-width: 768px) {
     .container {
         padding: 0 5px !important;
         width: 100% !important;
         max-width: 100% !important;

    }

     .products-grid {
         grid-template-columns: repeat(2, 1fr) !important;
         gap: 6px !important;
         padding: 0 !important;
         margin: 15px 0 !important;

    }

     .product-card {
         width: 100% !important;
         margin: 0 !important;
         border-radius: 10px !important;

    }

     .product-card .img-container {
         height: 220px !important;

    }

     .product-card .details {
         padding: 8px 5px !important;
         gap: 3px !important;

    }

     .custom-bouquet-card {
         grid-column: 1 / -1 !important;
         display: flex !important;
         flex-direction: row !important;
         height: 140px !important;
         margin-bottom: 5px !important;

    }

     .product-card .img-container {
         height: 220px !important;

    }

     .product-card .img-container img {
         object-fit: contain !important;
         padding: 8px !important;
         width: 100% !important;
         height: 100% !important;

    }

     .product-card .details {
         padding: 8px 5px !important;
         gap: 3px !important;

    }

     .product-card h3 {
         font-size: 0.8rem !important;
         margin-bottom: 2px !important;
         white-space: nowrap;
         overflow: hidden;
         text-overflow: ellipsis;

    }

     .product-card .price {
         font-size: 0.9rem !important;
         margin-bottom: 5px !important;

    }

     .buttons-wrapper {
         gap: 4px !important;
         margin-top: 2px !important;

    }

     .btn-quick-add {
         padding: 0 !important;
         font-size: 0.7rem !important;
         height: 30px !important;
         border-radius: 8px !important;
         display: flex;
         align-items: center;
         justify-content: center;

    }

     .btn-love {
         width: 30px !important;
         height: 30px !important;
         font-size: 0.9rem !important;
         border-radius: 8px !important;

    }

     .custom-bouquet-card {
         grid-column: 1 / -1 !important;
         display: flex !important;
         flex-direction: row !important;
         height: 110px !important;
         margin-bottom: 5px !important;

    }

     .custom-bouquet-card .img-container {
         width: 35% !important;
         height: 100% !important;

    }

     .custom-bouquet-card .details {
         width: 65% !important;
         padding: 10px !important;

    }

     .custom-bouquet-card h3 {
         font-size: 1rem !important;
         white-space: normal !important;

    }

     .custom-bouquet-card p {
         display: none !important;

    }

}

 /* تصميم الكارت الأسطوري (نسخة الكمبيوتر) */ .legendary-card {
     background: linear-gradient(135deg, #FF512F 0%, #DD2476 50%, #ff7675 100%) !important;
     border: none !important;
     color: white !important;
     position: relative;
     overflow: hidden;
     box-shadow: 0 15px 35px rgba(221, 36, 118, 0.3), 0 5px 15px rgba(0,0,0,0.1) !important;
     transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
     display: flex !important;
     flex-direction: column;

}

 .legendary-card:hover {
     transform: translateY(-10px) scale(1.02) !important;
     box-shadow: 0 25px 50px rgba(221, 36, 118, 0.5) !important;

}

 .legendary-card .glow-effect {
     position: absolute;
     top: -50%;
     left: -50%;
     width: 200%;
     height: 200%;
     background: radial-gradient(circle, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 60%);
     opacity: 0;
     transition: opacity 0.5s;
     pointer-events: none;
     mix-blend-mode: overlay;

}

 .legendary-card:hover .glow-effect {
     opacity: 1;

}

 .legendary-badge {
     position: absolute;
     top: 15px;
     left: 15px;
     background: rgba(0, 0, 0, 0.2);
     backdrop-filter: blur(5px);
     color: #fff;
     padding: 5px 12px;
     border-radius: 20px;
     font-size: 0.8rem;
     font-weight: bold;
     border: 1px solid rgba(255, 255, 255, 0.3);
     z-index: 2;
     display: flex;
     align-items: center;
     gap: 5px;

}

 .legendary-badge i {
     color: #ffd700;

}

 .legendary-card .img-container {
     height: 220px !important;
     background: transparent !important;
     padding: 20px;
     display: flex;
     align-items: center;
     justify-content: center;

}

 .legendary-card .img-container img {
     max-height: 100%;
     width: auto;
     filter: drop-shadow(0 10px 20px rgba(0,0,0,0.2));
     transition: transform 0.5s;

}

 .legendary-card:hover .img-container img {
     transform: scale(1.1) rotate(-3deg);

}

 .legendary-card .details {
     text-align: center;
     padding: 25px !important;
     background: transparent !important;

}

 .legendary-card h3 {
     font-size: 1.8rem !important;
     margin-bottom: 10px !important;
     color: white !important;
     text-shadow: 0 2px 4px rgba(0,0,0,0.2);

}

 .legendary-card p {
     color: rgba(255,255,255,0.9) !important;
     font-size: 1rem;
     margin-bottom: 25px;
     display: block !important;

}

 .btn-legendary-action {
     background: white;
     color: #DD2476;
     border: none;
     padding: 12px 30px;
     border-radius: 50px;
     font-size: 1.1rem;
     font-weight: bold;
     cursor: pointer;
     display: inline-flex;
     align-items: center;
     gap: 10px;
     box-shadow: 0 5px 15px rgba(0,0,0,0.2);
     transition: all 0.3s ease;
     position: relative;
     overflow: hidden;
     width: auto;
     justify-content: center;

}

 .btn-legendary-action:hover {
     transform: translateY(-3px);
     box-shadow: 0 10px 25px rgba(0,0,0,0.3);
     background: #fff;
     color: #FF512F;

}

 .btn-legendary-action .btn-icon {
     background: linear-gradient(135deg, #FF512F, #DD2476);
     color: white;
     width: 35px;
     height: 35px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 0.9rem;

}

 /* تحديث الموبايل للكارت الأسطوري */ @media (max-width: 768px) {
     .legendary-card {
         grid-column: 1 / -1 !important;
         display: flex !important;
         flex-direction: row !important;
         height: auto !important;
         min-height: 130px;
         align-items: center !important;
         padding: 0 !important;

    }

     .legendary-card .img-container {
         width: 35% !important;
         height: 130px !important;
         padding: 10px !important;

    }

     .legendary-card .img-container img {
         filter: drop-shadow(0 5px 10px rgba(0,0,0,0.2));

    }

     .legendary-card .details {
         width: 65% !important;
         padding: 15px 10px !important;
         text-align: right !important;
         display: flex !important;
         flex-direction: column !important;
         justify-content: center !important;
         align-items: flex-start !important;

    }

     .legendary-card h3 {
         font-size: 1.2rem !important;
         margin-bottom: 5px !important;
         white-space: normal !important;

    }

     .legendary-card p {
         display: none !important;

    }

     .btn-legendary-action {
         padding: 8px 15px !important;
         font-size: 0.9rem !important;
         margin-top: 8px !important;
         width: 100%;

    }

     .btn-legendary-action .btn-text {
         flex: 1;
         text-align: center;

    }

     .legendary-badge {
         top: 10px;
         left: auto;
         right: 10px;
         padding: 3px 8px;
         font-size: 0.7rem;

    }

}

 /* تحسين وتلخيص الفوتر للموبايل */ @media (max-width: 768px) {
     .site-footer {
         padding: 30px 0 90px 0;
         text-align: center;

    }

     .footer-grid {
         gap: 25px;

    }

     .delivery-alert {
         width: 100%;
         margin: 10px 0;
         justify-content: center;
         text-align: center;

    }

     .footer-col div[style*="display: flex"] {
         flex-direction: column !important;
         align-items: center !important;
         text-align: center !important;

    }

     .footer-col div[style*="display: flex"] i {
         margin: 0 0 10px 0 !important;
         font-size: 1.5rem !important;

    }

     .footer-links {
         display: grid;
         grid-template-columns: 1fr 1fr;
         gap: 10px;
         padding: 0;

    }

     .footer-links li {
         width: 100%;
         margin: 0;
         border: none !important;
         padding: 0;

    }

     .footer-links a {
         display: block;
         background: rgba(255, 255, 255, 0.05);
         padding: 10px;
         border-radius: 8px;
         font-size: 0.9rem;
         transition: 0.2s;

    }

     .social-links {
         justify-content: center;
         gap: 20px;
         margin-bottom: 0;

    }

     .footer-col > p {
         font-size: 0.85rem;
         margin: 0 0 15px 0 !important;
         opacity: 0.7;

    }

}

 /* إصلاح إحساس الضغط (Feedback) */ button:active, a:active, .btn:active, .cat-card:active, .product-card:active, .nav-item:active, .flower-item:active, .design-item:active, .btn-love:active, .btn-quick-add:active {
     transform: scale(0.96) !important;
     transition: transform 0.1s ease !important;
     opacity: 0.9;

}

 select:focus, input:focus, textarea:focus {
     background-color: #fff5f8 !important;
     border-color: var(--accent-pink) !important;
     box-shadow: 0 0 0 3px rgba(231, 84, 128, 0.1) !important;

}

 /* تعديل لون زر الإضافة عند الضغط (أخضر) */ .btn-quick-add:active {
     background: #22c55e !important;
     background-image: none !important;
     border-color: #16a34a !important;
     color: white !important;
     transform: scale(0.95) !important;
     box-shadow: 0 0 15px rgba(34, 197, 94, 0.4) !important;

}

 /* إصلاح زر الواتساب (إلغاء التثبيت) */ @media (max-width: 768px) {
     #orderForm .btn-buy-large {
         position: relative !important;
         bottom: auto !important;
         left: auto !important;
         right: auto !important;
         width: 100% !important;
         border-radius: 15px !important;
         margin-top: 25px !important;
         margin-bottom: 10px !important;
         box-shadow: 0 10px 25px rgba(37, 211, 102, 0.3) !important;
         z-index: 1 !important;

    }

     #checkoutSection {
         margin-bottom: 30px !important;

    }

}

 @keyframes smoothUp {
     0% {
         opacity: 0;
         transform: translateY(50px);

    }

     100% {
         opacity: 1;
         transform: translateY(0);

    }

}

 .smooth-entry {
     animation-name: smoothUp;
     animation-duration: 0.8s;
     animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
     animation-fill-mode: both;

}

 .product-actions-bar {
     display: flex;
     gap: 12px;
     align-items: center;
     margin-top: 30px;

}

 .btn-love-large {
     width: 60px;
     height: 56px;
     border-radius: 15px;
     border: 2px solid #eee;
     background: white;
     color: #ccc;
     font-size: 1.4rem;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all 0.3s ease;
     flex-shrink: 0;

}

 .btn-love-large:hover {
     border-color: #ff4757;
     color: #ff4757;
     background: #fff0f3;

}

 .btn-love-large.active {
     background: #ff4757;
     color: white;
     border-color: #ff4757;
     animation: heartPulse 0.6s;

}

 .product-actions-bar .btn-buy-large {
     flex: 1;
     margin: 0;
     height: 56px;

}

 /* تنسيق الموبايل (منظم وثابت) */ @media (max-width: 768px) {
     .features-list {
         background: #f9f9f9;
         padding: 15px;
         border-radius: 15px;
         margin-bottom: 100px;

    }

     .features-list li {
         font-size: 0.9rem;
         margin-bottom: 10px;

    }

     .product-actions-bar {
         position: fixed;
         bottom: 0;
         left: 0;
         width: 100%;
         background: white;
         padding: 15px 20px;
         box-shadow: 0 -5px 20px rgba(0,0,0,0.1);
         z-index: 1000;
         margin: 0;
         border-top-left-radius: 20px;
         border-top-right-radius: 20px;

    }

}

 /* تحسين صفحة المنتج للموبايل (Mobile Product View) */ @media (max-width: 768px) {
     #fullProductPage {
         background-color: #ffffff !important;
         padding-bottom: 120px !important;

    }

     .product-details-container #fullPageContent {
         display: flex !important;
         flex-direction: column !important;
         gap: 0 !important;
         padding: 0 !important;

    }

     .main-img {
         width: 100% !important;
         height: 380px !important;
         border-radius: 0 0 30px 30px !important;
         margin-bottom: 20px !important;
         box-shadow: 0 10px 30px rgba(0,0,0,0.08) !important;
         position: relative;

    }

     .product-info {
         padding: 0 20px !important;

    }

     .product-info h2 {
         font-size: 1.6rem !important;
         margin-bottom: 5px !important;

    }

     .price-box {
         font-size: 1.8rem !important;
         margin: 10px 0 !important;
         color: var(--accent-pink);

    }

     .description {
         font-size: 0.95rem !important;
         color: #666 !important;
         line-height: 1.6 !important;
         margin-bottom: 20px !important;

    }

     .features-list {
         background-color: #f9f9f9 !important;
         padding: 15px !important;
         border-radius: 15px !important;
         margin-top: 10px !important;

    }

     .product-actions-bar {
         position: fixed !important;
         bottom: 0 !important;
         left: 0 !important;
         width: 100% !important;
         background: white !important;
         padding: 15px 20px !important;
         box-shadow: 0 -5px 20px rgba(0,0,0,0.1) !important;
         display: flex !important;
         flex-direction: row !important;
         align-items: center !important;
         justify-content: space-between !important;
         gap: 12px !important;
         z-index: 9999 !important;
         border-radius: 25px 25px 0 0 !important;
         border-top: 1px solid #eee !important;

    }

     .product-actions-bar .btn-buy-large {
         flex: 1 !important;
         margin: 0 !important;
         height: 55px !important;
         font-size: 1.1rem !important;
         border-radius: 15px !important;
         box-shadow: 0 5px 15px rgba(231, 84, 128, 0.4) !important;

    }

}

 /* الناف بار الأسطوري (نسخة 2.0 - Grid System) */ @media (max-width: 768px) {
     .navbar {
         height: 90px;
         padding: 0 !important;
         background: rgba(255, 255, 255, 0.90) !important;
         backdrop-filter: blur(20px) !important;
         border-bottom: 1px solid rgba(0,0,0,0.05);
         display: flex;
         align-items: center;

    }

     .nav-content {
         display: grid !important;
         grid-template-columns: auto 1fr auto !important;
         align-items: center !important;
         gap: 15px !important;
         width: 100%;
         padding: 0 15px !important;

    }

     .logo-link {
         display: flex;
         align-items: center;

    }

     .site-logo {
         height: 70px !important;
         width: auto !important;
         object-fit: contain;
         filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));

    }

     .nav-center {
         margin: 0 !important;
         display: block !important;
         width: 100%;

    }

     .nav-link {
         display: none !important;

    }

     .search-box {
         width: 100% !important;
         max-width: 100% !important;
         height: 40px;
         position: relative;

    }

     .search-box input {
         width: 100% !important;
         height: 100% !important;
         background: #f3f5f7 !important;
         border: 1px solid transparent !important;
         border-radius: 12px !important;
         padding: 0 10px 0 35px !important;
         font-size: 0.8rem !important;
         color: #333;
         transition: all 0.3s ease;
         text-align: right;

    }

     .search-box input:focus {
         background: #ffffff !important;
         border-color: var(--accent-pink) !important;
         box-shadow: 0 4px 15px rgba(231, 84, 128, 0.1);

    }

     .search-box button {
         position: absolute;
         left: 8px !important;
         top: 50% !important;
         transform: translateY(-50%) !important;
         background: none;
         border: none;
         color: #999;
         padding: 0;
         font-size: 1rem !important;

    }

     .theme-toggle-btn {
         width: 42px;
         height: 42px;
         background: white !important;
         border: 1px solid #eee !important;
         border-radius: 12px !important;
         display: flex;
         align-items: center;
         justify-content: center;
         box-shadow: 0 4px 12px rgba(0,0,0,0.05);
         color: #333;
         transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
         margin: 0 !important;

    }

     .theme-toggle-btn:active {
         transform: scale(0.9);
         background: #f9f9f9 !important;

    }

     .theme-toggle-btn i {
         font-size: 1.2rem;
         color: var(--text-main);

    }

     .cart-btn {
         display: none !important;

    }

}

 /* تحسينات صفحة الشحن وملخص السلة */ #checkoutSection .product-details-container {
     background: rgba(255, 255, 255, 0.85) !important;
     backdrop-filter: blur(15px) !important;
     -webkit-backdrop-filter: blur(15px);
     border: 1px solid rgba(255, 255, 255, 0.6);
     box-shadow: 0 20px 50px rgba(0,0,0,0.05);
     border-radius: 25px;
     padding: 40px !important;
     animation: fadeInUp 0.6s ease-out;

}

 #orderForm input, #orderForm select, #orderForm textarea {
     background-color: #f8f9fa !important;
     border: 2px solid #f0f0f0 !important;
     border-radius: 12px !important;
     padding: 15px !important;
     font-size: 0.95rem !important;
     transition: all 0.3s ease;
     color: var(--text-main);

}

 #orderForm input:focus, #orderForm select:focus, #orderForm textarea:focus {
     background-color: #fff !important;
     border-color: var(--accent-pink) !important;
     box-shadow: 0 0 0 4px rgba(231, 84, 128, 0.1) !important;
     transform: translateY(-2px);

}

 #orderForm label {
     font-weight: 700;
     color: var(--text-main);
     margin-bottom: 8px;
     display: block;
     font-size: 0.9rem;

}

 .checkout-summary-side {
     background: #fff !important;
     border-radius: 20px !important;
     padding: 25px !important;
     border: 1px solid #f0f0f0;
     box-shadow: 0 10px 30px rgba(0,0,0,0.03) !important;
     position: sticky;
     top: 110px;
     height: fit-content;

}

 .checkout-summary-side h3 {
     font-size: 1.2rem;
     color: var(--text-main);
     border-bottom: 2px dashed #eee;
     padding-bottom: 15px;
     margin-bottom: 20px;
     text-align: center;

}

 #checkoutItemsList {
     background: #fafafa;
     border-radius: 12px;
     padding: 10px;
     margin-bottom: 20px;
     max-height: 350px;
     overflow-y: auto;

}

 #checkoutItemsList > div {
     background: white;
     padding: 12px;
     margin-bottom: 8px;
     border-radius: 10px;
     border: 1px solid #eee;
     display: flex;
     justify-content: space-between;
     align-items: center;
     transition: 0.2s;
     font-size: 0.9rem;

}

 #checkoutItemsList > div:last-child {
     margin-bottom: 0;

}

 #checkoutItemsList > div:hover {
     transform: translateX(-3px);
     border-color: var(--accent-pink);

}

 #checkoutSection .total-price-box {
     background: linear-gradient(135deg, #fce4ec 0%, #fff 100%);
     padding: 15px;
     border-radius: 12px;
     border: 1px solid rgba(231, 84, 128, 0.2);
     display: flex;
     justify-content: space-between;
     align-items: center;
     font-weight: 800;
     font-size: 1.2rem;
     color: var(--text-main);

}

 #finalTotalAmount {
     color: var(--accent-pink);
     font-size: 1.4rem;

}

 .btn-whatsapp-confirm {
     background: linear-gradient(45deg, #25d366, #128c7e);
     color: white;
     font-weight: 800;
     font-size: 1.1rem;
     padding: 18px;
     border-radius: 15px;
     border: none;
     width: 100%;
     cursor: pointer;
     box-shadow: 0 10px 25px rgba(37, 211, 102, 0.3);
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 10px;
     margin-top: 20px;

}

 .btn-whatsapp-confirm:hover {
     transform: translateY(-3px);
     box-shadow: 0 15px 35px rgba(37, 211, 102, 0.4);

}

 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(30px);

    }

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

    }

}

 /* تعديلات الموبايل */ @media (max-width: 768px) {
     #checkoutSection .product-details-container {
         padding: 20px !important;
         gap: 20px !important;

    }

     .checkout-summary-side {
         position: relative;
         top: 0;
         margin-top: 20px;
         order: -1;

    }

     .btn-whatsapp-confirm {
         position: fixed;
         bottom: 0;
         left: 0;
         width: 100%;
         border-radius: 20px 20px 0 0;
         z-index: 1000;
         padding: 15px;
         margin: 0;
         box-shadow: 0 -5px 20px rgba(0,0,0,0.1);

    }

     #checkoutSection {
         padding-bottom: 80px;

    }

     .cat-card:active {
         transform: translateY(-10px) !important;
         box-shadow: var(--shadow-medium) !important;
         border-color: var(--accent-pink) !important;
         background: linear-gradient(135deg, #fff9f9 0%, #fff 100%) !important;

    }

     .cat-card:active .cat-img {
         transform: scale(1.1) rotate(5deg) !important;

    }

}

 .builder-footer {
     position: fixed;
     bottom: 0;
     left: 0;
     width: 100%;
     background-color: #ffffff;
     padding: 15px 20px;
     box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.05);
     display: flex;
     justify-content: space-between;
     align-items: center;
     z-index: 1000;
     border-top: 1px solid #f0f0f0;

}

 .summary-info {
     font-weight: bold;
     font-family: 'Cairo', sans-serif;

}

 .btn-add-custom {
     background-color: #27ae60;
     color: white;
     border: none;
     padding: 12px 25px;
     border-radius: 50px;
     font-size: 1rem;
     font-weight: 700;
     cursor: pointer;
     display: flex;
     align-items: center;
     gap: 10px;
     transition: all 0.3s ease;
     box-shadow: 0 4px 15px rgba(39, 174, 96, 0.3);

}

 .btn-add-custom:hover {
     background-color: #219150;
     transform: translateY(-2px);
     box-shadow: 0 6px 20px rgba(39, 174, 96, 0.4);

}

 .btn-add-custom:active {
     transform: translateY(0);

}

 @media (max-width: 480px) {
     .builder-footer {
         padding: 12px 15px;

    }

     .btn-add-custom {
         padding: 10px 20px;
         font-size: 0.95rem;

    }

}

 .builder-footer {
     position: fixed;
     bottom: 0;
     left: 0;
     width: 100%;
     background: rgba(255, 255, 255, 0.9);
     backdrop-filter: blur(15px);
     -webkit-backdrop-filter: blur(15px);
     padding: 15px 20px;
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 15px;
     box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.08);
     border-top: 1px solid rgba(255, 255, 255, 0.5);
     z-index: 1000;
     animation: slideUpFooter 0.5s ease-out;

}

 .summary-info {
     display: flex;
     align-items: center;

}

 .summary-info span {
     background-color: #f3f4f6;
     color: #2c3e50;
     padding: 10px 20px;
     border-radius: 15px;
     font-weight: 800;
     font-family: 'El Messiri', sans-serif;
     font-size: 1.1rem !important;
     display: flex;
     align-items: center;
     gap: 8px;
     border: 1px solid #e5e7eb;

}

 .summary-info span::before {
     content: '\f4d8';
     font-family: 'Font Awesome 6 Free';
     font-weight: 900;
     color: var(--accent-pink);

}

 .btn-add-custom {
     flex: 1;
     max-width: 350px;
     background: linear-gradient(135deg, #27ae60 0%, #2ecc71 100%);
     color: white;
     border: none;
     padding: 14px 25px;
     border-radius: 50px;
     font-family: 'El Messiri', sans-serif;
     font-size: 1rem;
     font-weight: 700;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 10px;
     box-shadow: 0 4px 15px rgba(39, 174, 96, 0.4);
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     position: relative;
     overflow: hidden;

}

 .btn-add-custom::after {
     content: '';
     position: absolute;
     top: 0;
     left: -100%;
     width: 100%;
     height: 100%;
     background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
     transition: 0.5s;

}

 .btn-add-custom:hover {
     transform: translateY(-3px);
     box-shadow: 0 8px 25px rgba(39, 174, 96, 0.5);

}

 .btn-add-custom:hover::after {
     left: 100%;

}

 .btn-add-custom:active {
     transform: scale(0.97);
     box-shadow: 0 2px 10px rgba(39, 174, 96, 0.3);

}

 @keyframes slideUpFooter {
     from {
         transform: translateY(100%);
         opacity: 0;

    }

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

    }

}

 @media (max-width: 480px) {
     .builder-footer {
         padding: 12px 15px;

    }

     .summary-info span {
         padding: 8px 15px;
         font-size: 0.95rem !important;

    }

     .btn-add-custom {
         padding: 12px 15px;
         font-size: 0.9rem;

    }

}

 .builder-toast {
     position: absolute;
     bottom: 140px;
     left: 50%;
     transform: translateX(-50%);
     background-color: rgba(44, 24, 16, 0.95);
     color: #fff;
     padding: 8px 25px;
     border-radius: 50px;
     font-size: 0.9rem;
     font-family: 'El Messiri', sans-serif;
     font-weight: bold;
     z-index: 2000;
     opacity: 0;
     transition: all 0.3s ease;
     pointer-events: none;
     display: flex;
     align-items: center;
     gap: 10px;
     box-shadow: 0 5px 20px rgba(0,0,0,0.15);
     width: max-content;
     visibility: hidden;

}

 .builder-toast.show {
     opacity: 1;
     bottom: 155px;
     visibility: visible;

}

 .builder-toast i {
     color: #2ecc71;
     font-size: 1.1rem;

}

 .builder-toast i {
     color: #2ecc71;

}

 /* أنيميشن الكارت الأسطوري (للكمبيوتر فقط) */ .legendary-card {
     transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;

}

 @media (min-width: 769px) {
     .legendary-card:hover {
         transform: translateY(-15px) scale(1.03) !important;
         box-shadow: 0 25px 50px rgba(183, 28, 28, 0.4), 0 0 0 2px rgba(183, 28, 28, 0.1) !important;
         border-color: #ff5252 !important;
         background: linear-gradient(135deg, #c62828 0%, #d32f2f 50%, #e57373 100%) !important;

    }

}

 /* إصلاح أنيميشن الكارت الأسطوري (PC Only) */ .legendary-card {
     transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, background 0.4s ease !important;
     transform: translateY(0) scale(1) !important;

}

 @media (min-width: 769px) {
     .legendary-card:hover {
         transform: translateY(-15px) scale(1.03) !important;
         box-shadow: 0 30px 60px rgba(183, 28, 28, 0.5), 0 0 0 2px rgba(255, 82, 82, 0.3) !important;
         border-color: #ff5252 !important;
         z-index: 100 !important;

    }

}

 .product-card .details {
     text-align: center !important;
     align-items: center !important;
     display: flex;
     flex-direction: column;

}

 .price-box, .price {
     justify-content: center !important;
     text-align: center !important;
     width: 100%;

}

 .legendary-card .details {
     text-align: right !important;
     align-items: flex-start !important;

}

 @media (max-width: 768px) {
     .legendary-card .details {
         text-align: center !important;
         align-items: center !important;

    }

     .legendary-card h3 {
         width: 100%;
         text-align: center;

    }

}

 /* إصلاح أزرار الموبايل (أضف + قلب) */ @media (max-width: 768px) {
     .buttons-wrapper {
         display: flex !important;
         align-items: center !important;
         justify-content: space-between !important;
         gap: 8px !important;
         width: 100% !important;
         margin-top: 8px !important;
         padding: 0 2px !important;

    }

     .btn-quick-add {
         flex: 1 !important;
         height: 36px !important;
         padding: 0 !important;
         font-size: 0.8rem !important;
         font-weight: 700 !important;
         border-radius: 50px !important;
         background: #e75480 !important;
         color: white !important;
         border: none !important;
         display: flex !important;
         align-items: center !important;
         justify-content: center !important;
         gap: 5px !important;
         box-shadow: 0 3px 10px rgba(231, 84, 128, 0.2) !important;

    }

     .btn-quick-add i {
         font-size: 0.9rem !important;
         margin: 0 !important;

    }

     .btn-quick-add:active {
         transform: scale(0.95) !important;
         background: #d63d6b !important;

    }

     .btn-love {
         width: 36px !important;
         height: 36px !important;
         border-radius: 50% !important;
         font-size: 1rem !important;
         flex-shrink: 0 !important;
         background: white !important;
         border: 1px solid #eee !important;
         color: #ccc !important;
         box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
         margin: 0 !important;

    }

     .btn-love.active {
         color: #ff4757 !important;
         border-color: #ff4757 !important;
         background: #fff0f3 !important;

    }

}

 /* ثيم "الأحمر الراقي والهادئ" (Elegant Muted Red) */ :root {
     --elegant-red: #b04e58;
     --elegant-red-hover: #963e47;

}

 .product-card {
     border: 1px solid var(--elegant-red) !important;
     background: #fff !important;
     box-shadow: 0 4px 20px rgba(176, 78, 88, 0.08) !important;
     transition: all 0.3s ease-out !important;

}

 .product-card:hover {
     box-shadow: 0 8px 25px rgba(176, 78, 88, 0.15) !important;
     transform: translateY(-3px) !important;

}

 .product-card h3, .product-card .details h3 {
     color: var(--elegant-red) !important;
     font-weight: 700 !important;
     font-size: 0.95rem !important;

}

 .btn-quick-add {
     background-color: var(--elegant-red) !important;
     border: 1px solid var(--elegant-red) !important;
     color: white !important;
     border-radius: 50px !important;
     font-weight: 600 !important;
     font-size: 0.85rem !important;
     letter-spacing: 0.5px;
     transition: all 0.3s ease !important;
     box-shadow: 0 4px 10px rgba(176, 78, 88, 0.2) !important;

}

 .btn-quick-add:hover, .btn-quick-add:active {
     background-color: var(--elegant-red-hover) !important;
     border-color: var(--elegant-red-hover) !important;
     box-shadow: 0 6px 15px rgba(176, 78, 88, 0.3) !important;
     transform: translateY(-1px) !important;

}

 .btn-love {
     width: 36px !important;
     height: 36px !important;
     border-radius: 50% !important;
     background: #fff !important;
     border: 1px solid var(--elegant-red) !important;
     color: var(--elegant-red) !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     transition: all 0.3s ease !important;

}

 .btn-love i {
     font-size: 1rem !important;

}

 .btn-love.active, .btn-love:hover {
     background-color: var(--elegant-red) !important;
     color: white !important;
     border-color: var(--elegant-red) !important;
     box-shadow: 0 3px 10px rgba(176, 78, 88, 0.2) !important;
     transform: scale(1.05) !important;

}

 @media (max-width: 768px) {
     .buttons-wrapper {
         gap: 8px !important;
         margin-top: 8px !important;

    }

     .btn-quick-add, .btn-love {
         height: 34px !important;

    }

     .btn-love {
         width: 34px !important;

    }

     .btn-quick-add {
         font-size: 0.8rem !important;
         padding: 0 !important;

    }

}

 /* الكارت الأسطوري (Dark Royal Burgundy) */ .product-card.legendary-card {
     position: relative !important;
     border: none !important;
     background: #2b0507 !important;
     overflow: hidden !important;
     z-index: 1;
     box-shadow: 0 10px 40px rgba(138, 18, 30, 0.4) !important;
     transition: transform 0.4s ease !important;

}

 .product-card.legendary-card::before {
     content: '';
     position: absolute;
     top: -50%;
     left: -50%;
     width: 200%;
     height: 200%;
     background: conic-gradient( transparent, #ff5252, #8a121e, transparent 30% );
     animation: rotate-border 4s linear infinite;
     z-index: -2;

}

 .product-card.legendary-card::after {
     content: '';
     position: absolute;
     inset: 2px;
     background: #4a0a0e;
     background: linear-gradient(135deg, #4a0a0e 0%, #2b0507 100%);
     border-radius: inherit;
     z-index: -1;

}

 .product-card.legendary-card h3 {
     color: #ffffff !important;
     background: none !important;
     -webkit-text-fill-color: #ffffff !important;
     font-weight: 800 !important;
     font-size: 1.1rem !important;
     margin-bottom: 5px !important;
     text-shadow: 0 0 10px rgba(255, 82, 82, 0.5);

}

 .product-card.legendary-card p, .product-card.legendary-card .details {
     color: #e0e0e0 !important;
     z-index: 2;

}

 .product-card.legendary-card .btn-legendary-action {
     background: #ffffff !important;
     color: #8a121e !important;
     border: none !important;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
     font-weight: bold;
     padding: 10px 20px;
     border-radius: 50px;
     transition: all 0.3s ease;

}

 .product-card.legendary-card .btn-legendary-action:hover {
     transform: translateY(-2px);
     background: #ffcdd2 !important;
     box-shadow: 0 6px 20px rgba(255, 255, 255, 0.2) !important;

}

 .product-card.legendary-card .legendary-badge {
     background: rgba(255, 255, 255, 0.1);
     color: #fff;
     border: 1px solid rgba(255, 255, 255, 0.2);
     backdrop-filter: blur(5px);
     box-shadow: 0 2px 8px rgba(0,0,0,0.2);
     font-weight: bold;
     padding: 5px 10px;
     border-radius: 20px;
     font-size: 0.75rem;

}

 .product-card.legendary-card .legendary-badge i {
     color: #ff5252;

}

 @keyframes rotate-border {
     0% {
         transform: rotate(0deg);

    }

     100% {
         transform: rotate(360deg);

    }

}

 .product-card.legendary-card:hover {
     transform: translateY(-5px) scale(1.02) !important;
     box-shadow: 0 15px 50px rgba(138, 18, 30, 0.6) !important;

}

 /* تحديث الموبايل: ثيم بيج كريمي */ @media (max-width: 768px) {
     .navbar {
         background: rgba(249, 244, 236, 0.95) !important;
         border-bottom: 1px solid rgba(176, 78, 88, 0.1) !important;
         backdrop-filter: blur(20px) !important;
         -webkit-backdrop-filter: blur(20px) !important;

    }

     .search-box input {
         background-color: #ffffff !important;
         border: 1px solid rgba(176, 78, 88, 0.15) !important;

    }

     .nav-item {
         color: #8d6e63 !important;

    }

     .nav-item.active {
         background: rgba(176, 78, 88, 0.08) !important;
         color: #b04e58 !important;

    }

     .nav-item.active i {
         color: #b04e58 !important;

    }

}

 /* تعديل الهيرو للموبايل (مرفوع + حواف حادة) */ @media (max-width: 768px) {
     .hero {
         margin-top: -110px !important;
         padding-top: 140px !important;
         padding-bottom: 50px !important;
         background-position: center top !important;
         background-size: cover !important;
         border-radius: 0 !important;

    }

}

 /* توحيد حجم صور المنتجات */ .img-container {
     width: 100% !important;
     height: 250px !important;
     overflow: hidden !important;
     position: relative !important;
     background: #f9f9f9;

}

 .img-container img {
     width: 100% !important;
     height: 100% !important;
     object-fit: cover !important;
     object-position: center center !important;
     transition: transform 0.5s ease !important;

}

 /* تعديل للموبايل */ @media (max-width: 768px) {
     .img-container {
         height: 170px !important;

    }

}

 /* إزالة حواف الصور (Full Size Images) */ .product-card .img-container {
     padding: 0 !important;
     background: transparent !important;

}

 .product-card .img-container img {
     padding: 0 !important;
     width: 100% !important;
     height: 100% !important;
     object-fit: cover !important;
     border-radius: 0 !important;

}

 @media (max-width: 768px) {
     .product-card .img-container, .product-card .img-container img {
         padding: 0 !important;

    }

}

 /* إزالة الفراغ بين الفوتر والمميزات */ .features-section-compact {
     margin-bottom: 0 !important;
     border-bottom-left-radius: 0 !important;
     border-bottom-right-radius: 0 !important;

}

 .site-footer {
     margin-top: 0 !important;
     padding-top: 40px !important;

}

 @media (max-width: 768px) {
     .features-section-compact {
         margin-bottom: 0 !important;

    }

}

 /* الكارت الزجاجي (بيج شفاف + بلور) */ .cat-card {
     width: 150px;
     height: 190px;
     position: relative;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     padding: 15px;
     cursor: pointer;
     background: rgba(249, 244, 236, 0.65) !important;
     backdrop-filter: blur(12px) !important;
     -webkit-backdrop-filter: blur(12px) !important;
     border: 2px solid #8a0e0e !important;
     background-image: none !important;
     border-radius: 25px !important;
     box-shadow: 0 5px 15px rgba(138, 14, 14, 0.1);
     transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     overflow: hidden;

}

 /* الصورة الداخلية */ .cat-img {
     width: 85px;
     height: 85px;
     object-fit: contain;
     margin-bottom: 15px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.8);
     border: 1px solid rgba(255, 255, 255, 0.5);
     padding: 5px;
     transition: transform 0.4s ease;
     z-index: 2;

}

 .cat-card:hover .cat-img {
     transform: scale(1.15) rotate(5deg);

}

 /* النصوص */ .cat-card span {
     color: #8a0e0e !important;
     font-weight: 800 !important;
     font-size: 0.9rem !important;
     letter-spacing: 0.5px;
     z-index: 2;
     margin-top: 5px;

}

 /* تأثير التفاعل (Hover & Active) */ .cat-card:hover {
     transform: translateY(-8px);
     background: rgba(249, 244, 236, 0.8) !important;
     box-shadow: 0 10px 25px rgba(138, 14, 14, 0.15);

}

 .cat-card.active {
     background: linear-gradient(135deg, #b71c1c 0%, #8a0e0e 100%) !important;
     border-color: transparent !important;
     backdrop-filter: none !important;
     transform: translateY(-8px) scale(1.05) !important;
     box-shadow: 0 15px 40px rgba(183, 28, 28, 0.4) !important;
     z-index: 10;

}

 .cat-card.active span {
     color: #ffffff !important;
     text-shadow: 0 2px 4px rgba(0,0,0,0.2);

}

 .cat-card.active .cat-img {
     background: rgba(255, 255, 255, 0.2);
     border: 2px solid #ffffff !important;
     transform: scale(1.1);
     box-shadow: 0 5px 15px rgba(0,0,0,0.2);

}

 .cat-card.active::after {
     content: '\f00c';
     font-family: 'Font Awesome 6 Free';
     font-weight: 900;
     position: absolute;
     top: 10px;
     right: 10px;
     color: white;
     background: rgba(255,255,255,0.2);
     width: 20px;
     height: 20px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 0.7rem;
     animation: popIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);

}

 /* تعديلات الموبايل */ @media (max-width: 480px) {
     .cat-card {
         width: auto !important;
         flex: 1;
         min-width: 100px;
         height: 130px !important;
         padding: 10px !important;

    }

     .cat-img {
         width: 60px;
         height: 60px;
         margin-bottom: 5px;

    }

     .cat-card span {
         font-size: 0.8rem !important;

    }

}

 @keyframes popIn {
     from {
         transform: scale(0);

    }

     to {
         transform: scale(1);

    }

}

 /* إصلاحات نهائية للفورم */ .input-wrapper select {
     -webkit-appearance: none !important;
     -moz-appearance: none !important;
     appearance: none !important;
     cursor: pointer;

}

 .input-wrapper .input-icon, .select-arrow {
     right: auto !important;
     left: 15px !important;

}

 .input-wrapper input, .input-wrapper textarea, .input-wrapper select {
     padding: 14px 15px 14px 45px !important;
     text-align: right;

}

 .select-arrow {
     pointer-events: none;
     color: #a1887f !important;
     font-size: 0.9rem !important;
     top: 50% !important;
     transform: translateY(-50%) !important;

}

 /* تحديث الموبايل ناف بار (النهائي) */ @media (max-width: 768px) {
     .mobile-bottom-nav {
         background: #f9f4ec !important;
         backdrop-filter: none !important;
         opacity: 1 !important;
         border-top: 1px solid #e6ded5 !important;
         box-shadow: 0 -5px 15px rgba(196, 86, 86, 0.05) !important;

    }

     .nav-item {
         color: #C45656 !important;
         transition: all 0.3s ease;

    }

     .nav-item i, .nav-item span {
         color: #C45656 !important;

    }

     .nav-item i.fa-home, .nav-item i.fa-shopping-basket, .nav-item i.fa-heart, .nav-item i.fa-user {
         color: #C45656 !important;

    }

     .nav-item.active {
         background: #efebe4 !important;
         color: #a34141 !important;
         transform: translateY(-3px);
         border-radius: 15px;

    }

     .nav-item.active i, .nav-item.active span {
         color: #a34141 !important;
         font-weight: 800;

    }

     .nav-item.active::after {
         background: #a34141 !important;
         height: 4px;
         width: 20px;
         border-radius: 4px;

    }

     /* 4. تنسيق عداد السلة (الرقم أبيض) */ .mobile-badge {
         color: #ffffff !important;
         background-color: #D32F2F !important;
         border: 2px solid #f9f4ec !important;
         font-family: sans-serif !important;
         font-size: 0.75rem !important;
         font-weight: bold !important;
         width: 18px !important;
         height: 18px !important;
         display: flex !important;
         align-items: center !important;
         justify-content: center !important;
         position: absolute !important;
         top: 2px !important;
         right: calc(50% - 25px);
         z-index: 10;
         border-radius: 50%;

    }

}

 .map-modal-overlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100vw;
     height: 100vh;
     background: rgba(0, 0, 0, 0.6);
     backdrop-filter: blur(5px);
     -webkit-backdrop-filter: blur(5px);
     z-index: 9999999 !important;
     display: none;
     align-items: center;
     justify-content: center;
     padding: 15px;

}

 .map-modal-content {
     background: #fff;
     width: 100%;
     max-width: 500px;
     border-radius: 20px;
     padding: 20px;
     position: relative;
     box-shadow: 0 10px 40px rgba(0,0,0,0.2);
     display: flex;
     flex-direction: column;
     gap: 12px;
     margin: auto;
     max-height: 95vh;
     animation: popInMap 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);

}

 .map-modal-title {
     margin: 0;
     color: var(--elegant-red, #b04e58);
     font-size: 1.2rem;
     text-align: center;
     padding-right: 25px;

}

 .close-map-btn {
     position: absolute;
     top: 15px;
     left: 15px;
     background: #f1f1f1;
     width: 35px;
     height: 35px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.5rem;
     color: #555;
     cursor: pointer;
     transition: 0.3s;
     z-index: 1000;

}

 .close-map-btn:hover {
     background: #ff4757;
     color: #fff;

}

 .map-search-box {
     display: flex;
     gap: 8px;
     width: 100%;

}

 .map-search-box input {
     flex: 1;
     padding: 10px 15px;
     border: 1px solid #ddd;
     border-radius: 10px;
     font-family: inherit;
     font-size: 0.9rem;
     outline: none;

}

 .map-search-box input:focus {
     border-color: #b04e58;

}

 .btn-map-search, .btn-my-location {
     width: 45px;
     border: none;
     border-radius: 10px;
     color: white;
     font-size: 1rem;
     cursor: pointer;
     transition: 0.3s;
     display: flex;
     align-items: center;
     justify-content: center;

}

 .btn-map-search {
     background: #b04e58;

}

 .btn-my-location {
     background: #2b6cb0;

}

 .btn-map-search:hover, .btn-my-location:hover {
     transform: scale(1.05);

}

 .leaflet-map-container {
     height: 45vh;
     min-height: 250px;
     width: 100%;
     border-radius: 12px;
     border: 2px solid #eee;
     z-index: 1;

}

 .btn-confirm-map {
     background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%);
     color: white;
     border: none;
     padding: 12px;
     border-radius: 12px;
     font-size: 1.1rem;
     font-weight: bold;
     cursor: pointer;
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 10px;
     transition: 0.3s;
     width: 100%;

}

 .btn-confirm-map:hover {
     transform: translateY(-2px);
     box-shadow: 0 5px 15px rgba(46, 204, 113, 0.3);

}

 .map-hint {
     font-size: 0.8rem;
     color: #666;
     text-align: center;
     margin: 0;

}

 @keyframes popInMap {
     0% {
         transform: scale(0.8);
         opacity: 0;

    }

     100% {
         transform: scale(1);
         opacity: 1;

    }

}

 .btn-my-location-floating {
     position: absolute;
     bottom: 80px;
     right: 30px;
     width: 50px;
     height: 50px;
     background: #ffffff;
     color: #2b6cb0;
     border-radius: 50%;
     border: 2px solid rgba(0,0,0,0.1);
     box-shadow: 0 4px 12px rgba(0,0,0,0.15);
     z-index: 1000;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: all 0.3s ease;

}

 .btn-my-location-floating:hover {
     transform: scale(1.1);
     background: #f8f9fa;

}

 .map-modal-content {
     position: relative;

}

 .map-integration-wrapper {
     position: relative;
     width: 100%;
     margin-top: 15px;
     border-radius: 15px;
     overflow: hidden;
     border: 2px solid #efebe9;

}

 #map {
     height: 300px;
     width: 100%;
     z-index: 1;

}

 .btn-gps-floating {
     position: absolute;
     top: 15px;
     right: 15px;
     z-index: 1000;
     background: #ffffff;
     color: #2b6cb0;
     padding: 8px 16px;
     border-radius: 25px;
     display: flex;
     align-items: center;
     gap: 8px;
     box-shadow: 0 4px 12px rgba(0,0,0,0.15);
     border: 1px solid #ddd;
     cursor: pointer;
     font-family: inherit;
     font-weight: 700;
     font-size: 0.85rem;
     transition: all 0.3s ease;

}

 .btn-gps-floating:hover {
     background: #f0f4f8;
     transform: translateY(-2px);
     box-shadow: 0 6px 15px rgba(0,0,0,0.2);

}

 .map-hint-small {
     font-size: 0.8rem;
     color: #8d6e63;
     margin-top: 5px;
     display: block;

}

 .footer-branches {
     text-align: center;
     padding: 20px 0;

}

 .branches-btn {
     display: inline-flex;
     align-items: center;
     background-color: #27ae60;
     color: #ffffff;
     text-decoration: none;
     padding: 12px 25px;
     border-radius: 50px;
     font-size: 18px;
     font-weight: bold;
     transition: all 0.3s ease;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);

}

 .branches-btn:hover {
     background-color: #2ecc71;
     transform: translateY(-2px);
     box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);

}

 .branches-btn .icon {
     margin-left: 10px;

}

 /* صفحة المصادقة الكاملة (Full Page Auth) */ .auth-full-page {
     position: fixed;
     top: 0;
     left: 0;
     width: 100vw;
     height: 100vh;
     background-color: var(--bg-body);
     background-image: url("https://www.transparenttextures.com/patterns/cream-paper.png"), radial-gradient(rgba(231, 84, 128, 0.15) 1px, transparent 1px);
     background-size: auto, 30px 30px;
     background-blend-mode: multiply;
     z-index: 100000;
     display: flex;
     align-items: center;
     justify-content: center;
     overflow-y: auto;
     animation: fadeInPage 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);

}

 .auth-full-page.hidden {
     display: none !important;

}

 .auth-container {
     background: rgba(255, 255, 255, 0.95);
     backdrop-filter: blur(15px);
     -webkit-backdrop-filter: blur(15px);
     padding: 40px;
     border-radius: 30px;
     width: 90%;
     max-width: 450px;
     box-shadow: 0 20px 60px rgba(138, 14, 14, 0.08);
     border: 1px solid rgba(255, 255, 255, 0.6);
     margin: auto;

}

 .back-btn-auth {
     position: absolute;
     top: 30px;
     left: 30px;
     background: white;
     border: 1px solid #eee;
     padding: 10px 20px;
     border-radius: 50px;
     font-family: inherit;
     font-weight: 700;
     color: var(--elegant-red);
     cursor: pointer;
     box-shadow: 0 4px 10px rgba(0,0,0,0.05);
     transition: all 0.3s ease;
     display: flex;
     gap: 8px;
     align-items: center;

}

 .back-btn-auth:hover {
     transform: translateX(-5px);
     background: var(--elegant-red);
     color: white;

}

 @media (max-width: 768px) {
     .auth-container {
         padding: 30px 20px;
         margin-top: 80px;

    }

     .back-btn-auth {
         top: 20px;
         left: 20px;
         padding: 8px 15px;
         font-size: 0.9rem;

    }

}

 #toast {
     position: fixed !important;
     top: 25px !important;
     left: 50% !important;
     transform: translateX(-50%) !important;
     z-index: 999999999 !important;
     background: white !important;
     color: #333 !important;
     padding: 14px 20px !important;
     border-radius: 14px !important;
     box-shadow: 0 8px 25px rgba(0,0,0,0.18) !important;
     display: flex !important;
     align-items: center !important;
     gap: 8px !important;
     opacity: 0;
     visibility: hidden;
     transition: 0.3s ease;

}

 #toast.show {
     opacity: 1 !important;
     visibility: visible !important;

}

 .orders-modal {
     position: fixed;
     inset: 0;
     z-index: 999999;
     display: none;
     align-items: center;
     justify-content: center;
     padding: 20px;
     background: rgba(40, 10, 20, 0.55);
     backdrop-filter: blur(12px);

}

 .orders-modal-content {
     width: min(1050px, 100%);
     max-height: 90vh;
     overflow: hidden;
     background: linear-gradient(145deg, #fffafc 0%, #ffffff 45%, #fff4f6 100%);
     border-radius: 32px;
     box-shadow: 0 30px 90px rgba(80, 20, 40, 0.35);
     border: 1px solid rgba(255, 255, 255, 0.8);
     position: relative;
     animation: ordersPop 0.35s ease;

}

 @keyframes ordersPop {
     from {
         transform: translateY(25px) scale(0.96);
         opacity: 0;

    }

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

    }

}

 .orders-close-btn {
     position: absolute;
     top: 18px;
     left: 18px;
     width: 42px;
     height: 42px;
     border: none;
     border-radius: 50%;
     background: #fff;
     color: #b04e58;
     box-shadow: 0 8px 24px rgba(176, 78, 88, 0.18);
     cursor: pointer;
     font-size: 1.1rem;
     z-index: 5;

}

 .orders-hero {
     padding: 34px 38px 26px;
     display: flex;
     align-items: center;
     gap: 18px;
     background: radial-gradient(circle at top right, rgba(231, 84, 128, 0.16), transparent 35%), linear-gradient(135deg, rgba(176, 78, 88, 0.12), rgba(255, 255, 255, 0));
     border-bottom: 1px solid rgba(176, 78, 88, 0.1);

}

 .orders-hero-icon {
     width: 68px;
     height: 68px;
     border-radius: 22px;
     display: grid;
     place-items: center;
     background: linear-gradient(135deg, #b04e58, #e75480);
     color: white;
     font-size: 1.8rem;
     box-shadow: 0 12px 30px rgba(176, 78, 88, 0.25);

}

 .orders-hero h2 {
     margin: 0;
     color: #3d1f25;
     font-size: 2rem;

}

 .orders-hero p {
     margin: 6px 0 0;
     color: #8d6e63;
     font-size: 1rem;

}

 .orders-list-pro {
     padding: 24px 34px 34px;
     max-height: calc(90vh - 135px);
     overflow-y: auto;

}

 .order-card-pro {
     background: rgba(255, 255, 255, 0.92);
     border: 1px solid rgba(176, 78, 88, 0.12);
     border-radius: 26px;
     padding: 22px;
     margin-bottom: 18px;
     box-shadow: 0 14px 40px rgba(70, 20, 35, 0.08);

}

 .order-card-top, .order-card-bottom {
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 16px;

}

 .order-number {
     display: inline-block;
     color: #b04e58;
     background: rgba(176, 78, 88, 0.08);
     border-radius: 999px;
     padding: 6px 12px;
     font-size: 0.8rem;
     font-weight: 700;
     margin-bottom: 8px;

}

 .order-card-top h3 {
     margin: 0;
     color: #3d1f25;
     font-size: 1.25rem;

}

 .order-status {
     padding: 9px 14px;
     border-radius: 999px;
     font-weight: 800;
     font-size: 0.85rem;
     color: #8a5a00;
     background: #fff3cd;
     white-space: nowrap;

}

 .order-status.new {
     color: #0f7a3b;
     background: #dff8e8;

}

 .order-info-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 12px;
     margin: 18px 0;

}

 .order-info-box {
     display: flex;
     gap: 12px;
     align-items: center;
     padding: 14px;
     border-radius: 18px;
     background: #fff7f8;
     border: 1px solid rgba(176, 78, 88, 0.08);

}

 .order-info-box i {
     color: #b04e58;
     font-size: 1.1rem;

}

 .order-info-box span {
     display: block;
     color: #9b7b72;
     font-size: 0.78rem;
     margin-bottom: 3px;

}

 .order-info-box strong {
     display: block;
     color: #3d1f25;
     font-size: 0.95rem;

}

 .order-info-box small {
     display: block;
     color: #9b7b72;
     margin-top: 2px;

}

 .order-address {
     display: flex;
     gap: 10px;
     align-items: flex-start;
     color: #5d4037;
     background: #fff;
     border: 1px dashed rgba(176, 78, 88, 0.25);
     padding: 14px;
     border-radius: 18px;
     margin-bottom: 16px;
     line-height: 1.7;

}

 .order-address i {
     color: #e75480;
     margin-top: 5px;

}

 .order-products-box {
     background: #fcfcfc;
     border: 1px solid #f0e5e7;
     border-radius: 20px;
     padding: 14px;

}

 .order-products-title {
     font-weight: 900;
     color: #3d1f25;
     margin-bottom: 12px;
     display: flex;
     gap: 8px;
     align-items: center;

}

 .order-product-row {
     display: flex;
     justify-content: space-between;
     gap: 12px;
     padding: 12px 0;
     border-top: 1px solid #f2e8ea;

}

 .order-product-row:first-of-type {
     border-top: none;

}

 .order-product-info {
     display: flex;
     align-items: flex-start;
     gap: 10px;

}

 .product-dot {
     width: 9px;
     height: 9px;
     border-radius: 50%;
     background: #e75480;
     margin-top: 8px;
     flex: 0 0 auto;

}

 .order-product-info strong {
     color: #3d1f25;

}

 .order-product-info small {
     display: block;
     color: #8d6e63;
     margin-top: 4px;
     line-height: 1.5;

}

 .order-product-meta {
     display: flex;
     flex-direction: column;
     align-items: flex-end;
     gap: 4px;
     color: #b04e58;
     font-weight: 800;
     white-space: nowrap;

}

 .order-card-bottom {
     margin-top: 18px;
     padding-top: 16px;
     border-top: 1px solid #f0e5e7;

}

 .order-card-bottom span {
     color: #8d6e63;
     font-weight: 700;

}

 .order-card-bottom strong {
     color: #b04e58;
     font-size: 1.35rem;

}

 .orders-loading, .orders-empty, .orders-error {
     min-height: 260px;
     display: grid;
     place-items: center;
     text-align: center;
     color: #8d6e63;
     gap: 10px;

}

 .orders-loading i {
     font-size: 2.2rem;
     color: #b04e58;

}

 .empty-icon, .error-icon {
     width: 78px;
     height: 78px;
     border-radius: 26px;
     display: grid;
     place-items: center;
     margin: 0 auto 8px;
     font-size: 2rem;

}

 .empty-icon {
     background: #fff3f5;
     color: #b04e58;

}

 .error-icon {
     background: #fff1f1;
     color: #d93025;

}

 .orders-empty h3, .orders-error h3 {
     margin: 0;
     color: #3d1f25;

}

 .orders-empty p, .orders-error p {
     margin: 0;
     max-width: 420px;
     line-height: 1.7;

}

 .orders-empty button, .orders-error button {
     margin-top: 14px;
     border: none;
     border-radius: 999px;
     padding: 12px 22px;
     background: linear-gradient(135deg, #b04e58, #e75480);
     color: white;
     font-weight: 800;
     cursor: pointer;
     box-shadow: 0 12px 25px rgba(176, 78, 88, 0.25);

}

 .orders-muted {
     color: #8d6e63;
     margin: 0;

}

 @media (max-width: 768px) {
     .orders-modal {
         padding: 10px;
         align-items: flex-end;

    }

     .orders-modal-content {
         border-radius: 28px 28px 0 0;
         max-height: 92vh;

    }

     .orders-hero {
         padding: 28px 22px 20px;

    }

     .orders-hero-icon {
         width: 56px;
         height: 56px;
         border-radius: 18px;
         font-size: 1.4rem;

    }

     .orders-hero h2 {
         font-size: 1.55rem;

    }

     .orders-list-pro {
         padding: 18px;
         max-height: calc(92vh - 120px);

    }

     .order-info-grid {
         grid-template-columns: 1fr;

    }

     .order-card-top, .order-card-bottom, .order-product-row {
         align-items: flex-start;

    }

     .order-card-pro {
         padding: 18px;
         border-radius: 22px;

    }

}

/* Desktop Navbar Buttons */
.desktop-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.75);
    color: var(--text-main);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 700;
    transition: 0.25s ease;
    position: relative;
    white-space: nowrap;
    border: 1px solid rgba(176, 78, 88, 0.12);
}

.desktop-nav-btn i {
    color: var(--accent-pink);
    font-size: 1rem;
}

.desktop-nav-btn:hover {
    background: var(--accent-pink);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(176, 78, 88, 0.18);
}

.desktop-nav-btn:hover i {
    color: #fff;
}

/* Badge بتاع السلة في الديسكتوب */
.desktop-cart-btn .badge {
    position: absolute;
    top: -6px;
    left: -6px;
    background: #e91e63;
    color: #fff;
    min-width: 19px;
    height: 19px;
    border-radius: 50%;
    font-size: 0.72rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    border: 2px solid #fff;
}

/* خلي ترتيب الناف بار مظبوط في البيسي */
.nav-center {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* إخفاء أزرار الديسكتوب في الموبايل */
@media (max-width: 768px) {
    .desktop-nav-btn {
        display: none !important;
    }
}

/* إظهار الموبايل بوتوم ناف في الموبايل فقط */
@media (min-width: 769px) {
    .mobile-bottom-nav {
        display: none !important;
    }
}

/* =========================================================
   Rose Garden Final Additions
   Add this block at the END of style.css
   ========================================================= */

/* Language Toggle */
.language-toggle-btn,
.mobile-language-toggle {
    border: 1px solid rgba(176, 78, 88, 0.18) !important;
    background: rgba(255, 255, 255, 0.82) !important;
    color: var(--text-main, #4a2c2a) !important;
    cursor: pointer !important;
    transition: 0.25s ease !important;
}

.language-toggle-btn:hover,
.mobile-language-toggle:hover {
    transform: translateY(-1px) !important;
    background: #fff4f6 !important;
    color: var(--accent-pink, #b04e58) !important;
}

.language-toggle-btn .lang-label,
.mobile-language-toggle .lang-label {
    font-weight: 700 !important;
}

/* Product Sort Toolbar */
.store-toolbar-final {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 18px auto 28px !important;
    padding: 14px 18px !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    border: 1px solid rgba(176, 78, 88, 0.14) !important;
    box-shadow: 0 12px 30px rgba(176, 78, 88, 0.07) !important;
    backdrop-filter: blur(12px) !important;
}

.store-toolbar-final .sort-title {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: var(--text-main, #4a2c2a) !important;
    font-weight: 800 !important;
}

.store-toolbar-final select {
    min-width: 210px !important;
    border: 1px solid rgba(176, 78, 88, 0.18) !important;
    border-radius: 16px !important;
    padding: 11px 14px !important;
    background: #fff !important;
    color: var(--text-main, #4a2c2a) !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}

/* Separated Payment Section */
.payment-section-card {
    margin-top: 26px !important;
    padding: 22px !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(255,245,247,0.96)) !important;
    border: 1px solid rgba(176, 78, 88, 0.14) !important;
    box-shadow: 0 14px 35px rgba(176, 78, 88, 0.08) !important;
}

.payment-section-header {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px dashed rgba(176, 78, 88, 0.20) !important;
}

.payment-section-header h2 {
    margin: 0 !important;
    color: var(--text-main, #4a2c2a) !important;
    font-size: 1.35rem !important;
}

.payment-section-header p {
    margin: 5px 0 0 !important;
    color: var(--text-muted, #8d6e63) !important;
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
}

.payment-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* Upgraded Product Page */
.safe-product-shell {
    display: grid !important;
    grid-template-columns: minmax(280px, 0.95fr) minmax(280px, 1.05fr) !important;
    gap: 32px !important;
    align-items: start !important;
}

.safe-product-gallery,
.safe-product-info-card,
.safe-related-products-card {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(176, 78, 88, 0.12) !important;
    border-radius: 28px !important;
    box-shadow: 0 18px 40px rgba(176, 78, 88, 0.10) !important;
    overflow: hidden !important;
}

.safe-product-gallery {
    padding: 16px !important;
    position: sticky !important;
    top: 95px !important;
}

.safe-product-gallery img {
    width: 100% !important;
    min-height: 360px !important;
    max-height: 520px !important;
    object-fit: cover !important;
    border-radius: 22px !important;
    background: #fff5f7 !important;
}

.safe-product-info-card {
    padding: 28px !important;
}

.safe-product-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    background: #fff1f3 !important;
    color: var(--accent-pink, #b04e58) !important;
    font-weight: 900 !important;
    margin-bottom: 14px !important;
}

.safe-product-title {
    margin: 0 0 12px !important;
    color: var(--text-main, #4a2c2a) !important;
    font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
    line-height: 1.25 !important;
}

.safe-product-price {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: var(--accent-pink, #b04e58) !important;
    font-size: 1.55rem !important;
    font-weight: 900 !important;
    margin-bottom: 18px !important;
}

.safe-product-description {
    color: var(--text-muted, #7b6a5b) !important;
    line-height: 2 !important;
    font-size: 1.02rem !important;
    margin: 0 0 20px !important;
}

.safe-feature-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    margin: 20px 0 !important;
}

.safe-feature-box {
    background: #fff8fa !important;
    border: 1px solid rgba(176, 78, 88, 0.10) !important;
    border-radius: 18px !important;
    padding: 13px 10px !important;
    text-align: center !important;
    color: var(--text-main, #4a2c2a) !important;
    font-weight: 800 !important;
    font-size: 0.88rem !important;
}

.safe-feature-box i {
    display: block !important;
    color: var(--accent-pink, #b04e58) !important;
    margin-bottom: 7px !important;
    font-size: 1.2rem !important;
}

.safe-qty-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 22px 0 !important;
    padding: 14px !important;
    border-radius: 18px !important;
    background: #fffaf6 !important;
    border: 1px dashed rgba(176, 78, 88, 0.18) !important;
}

.safe-qty-controls {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: #fff !important;
    border-radius: 999px !important;
    border: 1px solid rgba(176, 78, 88, 0.18) !important;
    padding: 6px !important;
}

.safe-qty-controls button {
    width: 34px !important;
    height: 34px !important;
    border: none !important;
    border-radius: 50% !important;
    color: #fff !important;
    background: var(--accent-pink, #b04e58) !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.safe-product-actions {
    display: grid !important;
    grid-template-columns: 1fr auto auto !important;
    gap: 12px !important;
    align-items: center !important;
}

.safe-add-cart-btn,
.safe-whatsapp-btn,
.safe-wishlist-btn {
    min-height: 52px !important;
    border: none !important;
    border-radius: 17px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 9px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.safe-add-cart-btn {
    color: #fff !important;
    background: linear-gradient(135deg, #b04e58, #8a0e0e) !important;
    padding: 0 20px !important;
}

.safe-whatsapp-btn {
    color: #fff !important;
    background: linear-gradient(135deg, #25d366, #128c7e) !important;
    padding: 0 18px !important;
    text-decoration: none !important;
}

.safe-wishlist-btn {
    width: 52px !important;
    color: #b04e58 !important;
    background: #fff1f3 !important;
    border: 1px solid rgba(176, 78, 88, 0.14) !important;
}

.safe-wishlist-btn.active,
.safe-wishlist-btn:hover {
    color: #fff !important;
    background: #b04e58 !important;
}

/* Related Products */
.safe-related-products-card {
    grid-column: 1 / -1 !important;
    padding: 24px !important;
}

.safe-related-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
}

.safe-related-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.safe-related-item {
    background: #fffaf6 !important;
    border: 1px solid rgba(176, 78, 88, 0.10) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    transition: 0.2s ease !important;
}

.safe-related-item:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 25px rgba(176, 78, 88, 0.10) !important;
}

.safe-related-item img {
    width: 100% !important;
    height: 145px !important;
    object-fit: cover !important;
    background: #fff1f3 !important;
}

.safe-related-body {
    padding: 12px !important;
}

.safe-related-body h4 {
    margin: 0 0 6px !important;
    color: var(--text-main, #4a2c2a) !important;
    font-size: 0.92rem !important;
    line-height: 1.45 !important;
}

.safe-related-body strong {
    color: var(--accent-pink, #b04e58) !important;
}

/* Responsive */
@media (max-width: 900px) {
    .safe-product-shell {
        grid-template-columns: 1fr !important;
    }

    .safe-product-gallery {
        position: static !important;
    }

    .safe-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .mobile-bottom-nav {
        grid-template-columns: repeat(5, 1fr) !important;
    }

    .payment-section-card {
        padding: 18px 14px !important;
    }
}

@media (max-width: 640px) {
    .store-toolbar-final {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .store-toolbar-final select {
        width: 100% !important;
        min-width: 0 !important;
    }

    .safe-product-gallery img {
        min-height: 280px !important;
    }

    .safe-feature-grid {
        grid-template-columns: 1fr !important;
    }

    .safe-product-actions {
        display: flex !important;
        flex-direction: column !important;
    }

    .safe-whatsapp-btn,
    .safe-wishlist-btn {
        width: 100% !important;
    }

    .safe-related-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Fix Saudi Riyal icon size everywhere */
.currency-icon,
img.currency-icon {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    object-fit: contain !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 4px !important;
    transform: translateY(-1px) !important;
}

/* Fix Riyal icon inside AI smart suggestion */
.ai-product-card .currency-icon,
.ai-product-card img.currency-icon,
.ai-product-card svg.currency-icon {
    width: 14px !important;
    height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;
    display: inline-block !important;
    object-fit: contain !important;
    flex: 0 0 14px !important;
}

/* Fix Riyal icon inside product page */
.safe-product-price .currency-icon,
.safe-related-body .currency-icon,
.price .currency-icon,
.price-box .currency-icon,
.total-number .currency-icon,
.cartTotal .currency-icon {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    display: inline-block !important;
    object-fit: contain !important;
    vertical-align: middle !important;
}

/* Prevent product page image rules from affecting currency icons */
.safe-product-gallery img.currency-icon,
.safe-related-item img.currency-icon,
.ai-product-card img.currency-icon {
    width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    border-radius: 0 !important;
    background: transparent !important;
}


/* ===== Final fixes: desktop product page, cart badge and quick-card chooser ===== */
.desktop-cart-btn .badge {
    top: -8px !important;
    right: -8px !important;
    left: auto !important;
    min-width: 21px !important;
    height: 21px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
}

.quick-card-modal-content {
    width: min(94vw, 560px) !important;
    padding: 26px !important;
    border-radius: 28px !important;
}

.quick-card-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    padding-left: 34px;
}

.quick-card-heading-icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 17px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #b04e58, #8a0e0e);
    box-shadow: 0 10px 24px rgba(176, 78, 88, 0.22);
    font-size: 1.2rem;
}

.quick-card-heading h2 {
    margin: 0 0 4px;
    color: var(--text-main, #4a2c2a);
    font-size: 1.3rem;
}

.quick-card-product-name { margin: 0 !important; font-size: 0.9rem; }
.quick-card-choice-grid { display: grid; gap: 11px; }

.quick-card-option {
    width: 100%;
    min-height: 82px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px;
    border: 1px solid rgba(176, 78, 88, 0.16);
    border-radius: 19px;
    background: #fff9fa;
    color: var(--text-main, #4a2c2a);
    text-align: right;
    cursor: pointer;
    transition: 0.22s ease;
}

.quick-card-option:hover,
.quick-card-option.selected {
    transform: translateY(-2px);
    border-color: rgba(176, 78, 88, 0.48);
    background: #fff1f4;
    box-shadow: 0 12px 26px rgba(176, 78, 88, 0.10);
}

.quick-card-option-continue { background: #f8fbf9; border-color: rgba(16, 185, 129, 0.18); }
.quick-card-option-continue:hover { background: #effaf4; border-color: rgba(16, 185, 129, 0.42); }

.quick-card-option-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #fff;
    color: var(--accent-pink, #b04e58);
    box-shadow: 0 6px 16px rgba(74, 44, 42, 0.08);
}

.quick-card-option-continue .quick-card-option-icon { color: #059669; }
.quick-card-option-copy { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.quick-card-option-copy strong { font-size: 0.98rem; }
.quick-card-option-copy small { color: var(--text-muted, #8d6e63); font-size: 0.78rem; line-height: 1.5; }
.quick-card-option-arrow { color: #b99a9e; font-size: 0.9rem; }

.quick-card-message-panel {
    display: none;
    margin-top: 14px;
    padding: 15px;
    border: 1px solid rgba(176, 78, 88, 0.18);
    border-radius: 18px;
    background: #fffafb;
}

.quick-card-message-panel.active { display: block; }
.quick-card-message-panel label { display: block; margin-bottom: 8px; color: var(--text-main, #4a2c2a); font-weight: 900; }
.quick-card-message-panel textarea {
    width: 100%;
    min-height: 105px;
    padding: 12px 14px;
    border: 1px solid rgba(176, 78, 88, 0.22);
    border-radius: 14px;
    background: #fff;
    color: var(--text-main, #4a2c2a);
    font: inherit;
    line-height: 1.7;
    resize: vertical;
    outline: none;
    box-sizing: border-box;
}

.quick-card-message-panel textarea:focus { border-color: var(--accent-pink, #b04e58); box-shadow: 0 0 0 3px rgba(176, 78, 88, 0.09); }
.quick-card-message-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; }
.quick-card-confirm { min-height: 45px; padding: 0 16px; border: none; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #b04e58, #8a0e0e); font-weight: 900; cursor: pointer; }
.quick-card-cancel { width: 100%; min-height: 44px; margin-top: 12px; border: none; border-radius: 14px; color: var(--text-muted, #7b6a5b); background: #f5eeee; font-weight: 900; cursor: pointer; }
.location-confirm-required { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 9px; color: #9a5a25; font-size: 0.78rem; font-weight: 800; }

@media (min-width: 901px) {
    #fullProductPage .container {
        width: min(calc(100% - 56px), 1320px) !important;
        max-width: 1320px !important;
        margin: 24px auto 0 !important;
        padding: 0 !important;
    }

    #fullProductPage .product-details-container,
    #fullProductPage #fullPageContent {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        gap: 0 !important;
        grid-template-columns: none !important;
    }

    #fullProductPage .safe-product-shell {
        width: 100% !important;
        grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr) !important;
        gap: 30px !important;
    }

    #fullProductPage .safe-product-gallery img {
        height: clamp(460px, 62vh, 650px) !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: cover !important;
    }

    #fullProductPage .safe-product-info-card { min-width: 0 !important; }
}

@media (max-width: 640px) {
    .quick-card-modal-content { padding: 22px 16px !important; }
    .quick-card-heading { padding-left: 26px; align-items: flex-start; }
    .quick-card-heading-icon { width: 46px; height: 46px; flex-basis: 46px; }
    .quick-card-message-footer { align-items: stretch; flex-direction: column; }
    .quick-card-confirm { width: 100%; }
}

/* ===== Final organized footer layout (desktop + mobile) ===== */
.site-footer {
    padding: 64px 0 22px;
    overflow: hidden;
}

.site-footer .footer-grid {
    display: grid;
    grid-template-columns: minmax(360px, 1.55fr) minmax(180px, 0.65fr) minmax(220px, 0.8fr);
    gap: 0;
    align-items: stretch;
    margin-bottom: 0;
}

.site-footer .footer-col {
    min-width: 0;
    padding: 0 34px;
}

.site-footer .footer-col:first-child {
    padding-right: 0;
}

.site-footer .footer-col:last-child {
    padding-left: 0;
}

.site-footer .footer-col:not(:last-child) {
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-brand-link {
    display: inline-block;
    margin-bottom: 18px;
}

.footer-brand-logo {
    display: block;
    height: 80px;
    width: auto;
    border-radius: 12px;
    box-shadow: 0 7px 22px rgba(0, 0, 0, 0.25);
}

.footer-description {
    max-width: 560px;
    margin: 0 0 18px;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.95;
}

.site-footer .delivery-alert {
    display: flex;
    align-items: center;
    gap: 13px;
    width: fit-content;
    min-width: 190px;
    margin-top: 0;
    padding: 14px 16px;
    border-radius: 14px;
}

.site-footer .delivery-alert i {
    color: var(--accent-pink);
    font-size: 1.25rem;
}

.site-footer .delivery-alert p {
    margin: 0;
    line-height: 1.55;
}

.site-footer .delivery-alert strong {
    display: inline-block;
    margin-right: 5px;
}

.footer-address-box {
    margin-top: 18px;
}

.footer-address-row {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 12px;
}

.footer-address-row > i {
    flex: 0 0 auto;
    margin-top: 5px;
    color: var(--accent-pink);
    font-size: 1.2rem;
}

.footer-address-row p {
    margin: 0;
    line-height: 1.75;
    font-size: 0.94rem;
}

.footer-section-title {
    position: relative;
    margin: 6px 0 22px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 1.14rem;
}

.footer-section-title::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 42px;
    height: 3px;
    border-radius: 999px;
    background: var(--accent-pink);
}

.site-footer .footer-links {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer .footer-links li {
    margin: 0;
}

.site-footer .footer-links a,
.site-footer .footer-links .branches-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.045);
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    transition: 0.25s ease;
    box-sizing: border-box;
}

.site-footer .footer-links a:hover,
.site-footer .footer-links .branches-btn:hover {
    transform: translateX(-3px);
    border-color: rgba(255, 255, 255, 0.13);
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.footer-social-copy {
    max-width: 250px;
    margin: 0;
    color: rgba(255, 255, 255, 0.68);
    line-height: 1.8;
    font-size: 0.9rem;
}

.site-footer .social-links {
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.site-footer .social-icon {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer .footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    width: 100%;
    margin-top: 38px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
}

.site-footer .footer-bottom p {
    margin: 0;
    line-height: 1.7;
}

.footer-dev-credit {
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.58);
}

.footer-dev-credit a {
    display: inline-flex;
    align-items: center;
    margin-inline-start: 4px;
    color: #fff;
    font-weight: 800;
    letter-spacing: 0.35px;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.45);
    transition: 0.25s ease;
}

.footer-dev-credit a:hover {
    color: var(--accent-pink);
    border-bottom-color: var(--accent-pink);
}

@media (min-width: 769px) and (max-width: 1100px) {
    .site-footer .footer-grid {
        grid-template-columns: minmax(300px, 1.25fr) minmax(170px, 0.72fr) minmax(190px, 0.8fr);
    }

    .site-footer .footer-col {
        padding: 0 22px;
    }

    .site-footer .footer-col:first-child {
        padding-right: 0;
    }

    .site-footer .footer-col:last-child {
        padding-left: 0;
    }
}

@media (max-width: 768px) {
    .site-footer {
        padding: 34px 0 96px;
    }

    .site-footer .footer-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .site-footer .footer-col,
    .site-footer .footer-col:first-child,
    .site-footer .footer-col:last-child {
        padding: 0 0 26px;
        text-align: center;
        border-left: 0;
    }

    .site-footer .footer-col:not(:last-child) {
        margin-bottom: 26px;
        border-left: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .footer-brand-link {
        margin-inline: auto;
    }

    .footer-brand-logo {
        margin: 0 auto;
    }

    .footer-description,
    .footer-social-copy {
        max-width: 100%;
        margin-inline: auto;
    }

    .site-footer .delivery-alert {
        justify-content: center;
        width: min(100%, 320px);
        margin: 0 auto;
    }

    .footer-address-row {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .footer-address-row > i {
        margin-top: 0;
    }

    .footer-section-title::after {
        right: 50%;
        transform: translateX(50%);
    }

    .site-footer .footer-links {
        grid-template-columns: 1fr 1fr;
    }

    .site-footer .footer-links a,
    .site-footer .footer-links .branches-btn {
        justify-content: center;
    }

    .site-footer .social-links {
        justify-content: center;
    }

    .site-footer .footer-bottom {
        margin-top: 2px;
        padding-top: 20px;
    }
}

@media (max-width: 420px) {
    .site-footer .footer-links {
        grid-template-columns: 1fr;
    }
}



/* ===== Real store-wide ratings & reviews ===== */
.rose-review-stars { display: inline-flex; gap: 2px; color: #f4b400; direction: ltr; }
.rose-review-stars.compact { font-size: .76rem; white-space: nowrap; }

.rose-store-reviews-section {
    padding: 34px 0 42px;
    background: linear-gradient(180deg, rgba(255,250,251,.75), rgba(255,245,247,.95));
    border-top: 1px solid rgba(176,78,88,.08);
}
.rose-store-reviews {
    background: rgba(255,255,255,.97);
    border: 1px solid rgba(176,78,88,.12);
    border-radius: 30px;
    padding: 26px;
    box-shadow: 0 18px 44px rgba(176,78,88,.09);
}
.rose-reviews-loading, .rose-reviews-error, .rose-reviews-empty {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    color: var(--text-muted, #8d6e63);
}
.rose-reviews-loading i, .rose-reviews-error > i, .rose-reviews-empty > i { font-size: 1.7rem; color: var(--accent-pink, #b04e58); }
.rose-reviews-error button { border: 0; border-radius: 12px; padding: 9px 14px; background: #fff0f2; color: #a51d35; font-weight: 800; cursor: pointer; }
.rose-reviews-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.rose-reviews-kicker { color: var(--accent-pink, #b04e58); font-size: .8rem; font-weight: 900; }
.rose-reviews-head h3 { margin: 4px 0 0; color: var(--text-main, #4a2c2a); font-size: clamp(1.35rem, 3vw, 1.8rem); }
.rose-reviews-subtitle { margin: 7px 0 0; color: var(--text-muted,#8d6e63); font-size: .86rem; line-height: 1.7; }
.rose-reviews-count { padding: 7px 10px; border-radius: 999px; background: #fff1f3; color: #a51d35; font-size: .78rem; font-weight: 900; white-space: nowrap; }
.rose-review-summary-grid { display: grid; grid-template-columns: minmax(170px,.7fr) minmax(220px,1.3fr); gap: 18px; padding: 18px; border-radius: 20px; background: linear-gradient(135deg,#fff9fa,#fff); border: 1px solid rgba(176,78,88,.10); }
.rose-review-average { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; }
.rose-review-average > strong { font-size: 2.3rem; line-height: 1; color: var(--text-main, #4a2c2a); }
.rose-review-average > span:last-child { color: var(--text-muted, #8d6e63); font-size: .78rem; }
.rose-review-histogram { display: grid; gap: 6px; }
.rose-review-hist-row { display: grid; grid-template-columns: 38px 1fr 28px; gap: 8px; align-items: center; font-size: .78rem; color: #745b59; }
.rose-review-hist-row > span { direction: ltr; }
.rose-review-hist-row i { color: #f4b400; }
.rose-review-hist-track { height: 7px; border-radius: 999px; background: #f2e8e9; overflow: hidden; }
.rose-review-hist-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#f4b400,#ffca28); }
.rose-review-form { margin-top: 18px; padding: 18px; border-radius: 20px; background: #fff; border: 1px solid rgba(176,78,88,.12); }
.rose-review-form-title { display: flex; justify-content: space-between; align-items: start; gap: 12px; margin-bottom: 12px; }
.rose-review-form-title strong { display: block; color: var(--text-main,#4a2c2a); }
.rose-review-form-title span { display: block; margin-top: 3px; color: var(--text-muted,#8d6e63); font-size: .78rem; }
.rose-review-delete { border: 0; background: #fff1f2; color: #b42338; border-radius: 12px; padding: 8px 10px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.rose-review-star-picker { display: flex; align-items: center; gap: 3px; margin-bottom: 10px; }
.rose-review-star-picker button { width: 36px; height: 36px; border: 0; background: transparent; color: #d9c7a0; font-size: 1.28rem; cursor: pointer; transition: .15s ease; }
.rose-review-star-picker button.active { color: #f4b400; transform: scale(1.08); }
.rose-review-star-picker > span { margin-inline-start: 7px; color: var(--text-muted,#8d6e63); font-size: .78rem; font-weight: 800; }
.rose-review-form textarea { width: 100%; min-height: 100px; resize: vertical; border: 1.5px solid #eadfe0; border-radius: 16px; padding: 12px 14px; outline: none; font: inherit; color: var(--text-main,#4a2c2a); background: #fff; }
.rose-review-form textarea:focus { border-color: var(--accent-pink,#b04e58); box-shadow: 0 0 0 4px rgba(176,78,88,.08); }
.rose-review-submit { margin-top: 10px; min-height: 44px; border: 0; border-radius: 14px; padding: 0 18px; background: linear-gradient(135deg,var(--accent-pink,#b04e58),#8a0e0e); color: #fff; font-weight: 900; cursor: pointer; }
.rose-review-submit:disabled { opacity: .65; cursor: wait; }
.rose-review-login-note { margin-top: 18px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 15px; border-radius: 18px; background: #fff8f9; border: 1px dashed rgba(176,78,88,.22); }
.rose-review-login-note > i { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; background: #fff0f2; color: #a51d35; }
.rose-review-login-note strong, .rose-review-login-note span { display: block; }
.rose-review-login-note span { margin-top: 2px; color: var(--text-muted,#8d6e63); font-size: .76rem; }
.rose-review-login-note button { border: 0; border-radius: 12px; padding: 9px 12px; background: #a51d35; color: #fff; font-weight: 800; cursor: pointer; }
.rose-review-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.rose-review-card { padding: 15px; border: 1px solid #eee4e5; border-radius: 18px; background: #fff; min-width: 0; }
.rose-review-card.verified { border-color: rgba(16,185,129,.22); box-shadow: inset 0 0 0 1px rgba(16,185,129,.04); }
.rose-review-card-head { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; }
.rose-review-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #fff1f3; color: #a51d35; }
.rose-review-person strong { display: block; color: var(--text-main,#4a2c2a); font-size: .9rem; }
.rose-review-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; color: var(--text-muted,#8d6e63); font-size: .7rem; }
.rose-verified-badge { color: #047857; font-weight: 900; }
.rose-review-card p { margin: 10px 0 0; color: #674f4d; line-height: 1.8; font-size: .88rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.rose-reviews-empty { min-height: 135px; border: 1px dashed #eadfe0; border-radius: 18px; grid-column: 1 / -1; }

@media (max-width: 900px) {
    .rose-review-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .rose-store-reviews-section { padding: 24px 0 30px; }
    .rose-store-reviews { padding: 16px 12px; border-radius: 22px; }
    .rose-reviews-head { align-items: flex-start; flex-direction: column; gap: 8px; }
    .rose-review-summary-grid { grid-template-columns: 1fr; padding: 14px; }
    .rose-review-average > strong { font-size: 2rem; }
    .rose-review-login-note { grid-template-columns: auto 1fr; }
    .rose-review-login-note button { grid-column: 1 / -1; width: 100%; }
    .rose-review-list { grid-template-columns: 1fr; }
    .rose-review-card-head { grid-template-columns: auto 1fr; }
    .rose-review-card-head > .rose-review-stars { grid-column: 2; }
    .rose-review-form-title { flex-direction: column; }
    .rose-review-delete { width: 100%; }
    .rose-review-star-picker { flex-wrap: wrap; }
}


/* ==========================================================================\n   ROSE GARDEN — SAUDI NATIONAL DAY EDITION\n   Seasonal layer appended last on purpose. Existing store logic is untouched.\n   ========================================================================== */
body.national-day {
    --nd-green: #006c35;
    --nd-green-deep: #004b2a;
    --nd-green-soft: #e8f3ed;
    --nd-green-pale: #f3f8f5;
    --nd-gold: #c9a227;
    --nd-gold-soft: #f3e7b3;
    --nd-cream: #fbf8ef;
    --nd-ink: #15362a;
    --nd-muted: #66756e;
    --bg-body: #f5f3e9 !important;
    --bg-card: #ffffff !important;
    --text-main: #15362a !important;
    --text-muted: #66756e !important;
    --accent-pink: #006c35 !important;
    --accent-purple: #004b2a !important;
    --accent-gold: #c9a227 !important;
    --elegant-red: #006c35 !important;
    --elegant-red-hover: #004b2a !important;
    --gradient-primary: linear-gradient(135deg, #006c35 0%, #004b2a 100%) !important;
    --gradient-secondary: linear-gradient(135deg, #c9a227 0%, #9a7a16 100%) !important;
    --shadow-soft: 0 10px 30px rgba(0, 108, 53, 0.10) !important;
    --shadow-medium: 0 18px 48px rgba(0, 75, 42, 0.16) !important;
    color: var(--nd-ink) !important;
    background-color: var(--nd-cream) !important;
    background-image:
        radial-gradient(circle at 16px 16px, rgba(0, 108, 53, 0.05) 1.2px, transparent 1.4px),
        linear-gradient(180deg, #fbf8ef 0%, #f5f3e9 54%, #eef5f0 100%) !important;
    background-size: 32px 32px, auto !important;
}

body.national-day .bloom-background {
    background:
        radial-gradient(circle at 10% 15%, rgba(201, 162, 39, 0.14), transparent 28%),
        radial-gradient(circle at 88% 22%, rgba(0, 108, 53, 0.16), transparent 30%),
        linear-gradient(180deg, #fbf8ef 0%, #f3f7f4 100%) !important;
}

body.national-day .blob { filter: blur(110px) !important; opacity: .38 !important; }
body.national-day .blob-1 { background: radial-gradient(circle, rgba(0,108,53,.34), transparent 70%) !important; }
body.national-day .blob-2 { background: radial-gradient(circle, rgba(201,162,39,.26), transparent 70%) !important; }
body.national-day .blob-3 { background: radial-gradient(circle, rgba(40,127,84,.20), transparent 70%) !important; }

/* Announcement */
body.national-day .announcement-bar {
    background: linear-gradient(90deg, #004b2a 0%, #006c35 45%, #087844 100%) !important;
    box-shadow: 0 5px 20px rgba(0, 75, 42, .18) !important;
    border-bottom: 1px solid rgba(255,255,255,.16);
    overflow: hidden;
}
body.national-day .announcement-bar::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 32%, rgba(255,255,255,.14) 48%, transparent 64%);
    transform: translateX(-120%);
    animation: ndAnnouncementShine 6s ease-in-out infinite;
    pointer-events: none;
}
body.national-day .announcement-bar p {
    min-height: 28px;
    font-weight: 700 !important;
    letter-spacing: .1px;
}
body.national-day .nd-announcement-flag { font-size: 1.1rem; filter: drop-shadow(0 2px 3px rgba(0,0,0,.12)); }
@keyframes ndAnnouncementShine { 0%,65% { transform: translateX(-120%); } 82%,100% { transform: translateX(120%); } }

/* Navbar */
body.national-day .navbar {
    background: rgba(251, 248, 239, .92) !important;
    border-bottom: 1px solid rgba(0,108,53,.13) !important;
    box-shadow: 0 8px 28px rgba(0,75,42,.08) !important;
}
body.national-day .site-logo {
    border-radius: 14px;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(0,108,53,.17), 0 7px 16px rgba(0,75,42,.12);
}
body.national-day .nav-link { color: #174533 !important; }
body.national-day .nav-link:hover,
body.national-day .nav-link:focus-visible {
    background: linear-gradient(135deg, #006c35, #004b2a) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(0,108,53,.18) !important;
}
body.national-day .language-toggle-btn {
    border-color: rgba(0,108,53,.18) !important;
    background: rgba(255,255,255,.65) !important;
}
body.national-day .search-box input {
    border-color: rgba(0,108,53,.18) !important;
    background: rgba(255,255,255,.82) !important;
    color: #174533 !important;
}
body.national-day .search-box input::placeholder { color: rgba(23,69,51,.46) !important; }
body.national-day .search-box input:focus {
    border-color: #006c35 !important;
    box-shadow: 0 0 0 4px rgba(0,108,53,.08), 0 8px 20px rgba(0,75,42,.08) !important;
}
body.national-day .search-box button i { color: #006c35 !important; }

/* Hero */
body.national-day .hero {
    max-width: 1220px;
    min-height: 540px;
    padding: 82px 24px !important;
    margin: 26px auto 24px !important;
    border-radius: 36px !important;
    background:
        radial-gradient(circle at 82% 18%, rgba(201,162,39,.26) 0 4px, transparent 5px),
        radial-gradient(circle at 86% 22%, rgba(255,255,255,.16) 0 2px, transparent 3px),
        linear-gradient(125deg, rgba(0,46,25,.98) 0%, rgba(0,93,48,.96) 48%, rgba(0,108,53,.91) 100%) !important;
    background-size: 34px 34px, 24px 24px, auto !important;
    box-shadow: 0 26px 60px rgba(0,75,42,.24) !important;
    border: 1px solid rgba(255,255,255,.17);
    isolation: isolate;
}
body.national-day .hero::before {
    content: '' !important;
    inset: 0 !important;
    background:
        radial-gradient(circle at 15% 25%, rgba(255,255,255,.10), transparent 22%),
        radial-gradient(circle at 74% 85%, rgba(201,162,39,.13), transparent 28%),
        linear-gradient(90deg, rgba(255,255,255,.025), transparent 48%) !important;
    opacity: 1 !important;
    z-index: -1 !important;
}
body.national-day .hero::after {
    content: '🇸🇦' !important;
    position: absolute;
    left: 6%;
    bottom: -20px;
    font-size: clamp(7rem, 16vw, 13rem);
    opacity: .075;
    transform: rotate(-8deg);
    filter: grayscale(1) brightness(4);
    pointer-events: none;
    z-index: 0;
}
body.national-day .hero-content { max-width: 790px !important; }
body.national-day .national-day-badge {
    width: fit-content;
    margin: 0 auto 16px;
    padding: 8px 14px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: .94rem;
    font-weight: 800 !important;
    backdrop-filter: blur(10px);
}
body.national-day .national-day-badge span { font-weight: 800 !important; }
body.national-day .nd-flag { font-size: 1.2rem; }
body.national-day .hero h1 {
    margin: 0 0 14px !important;
    color: #fff !important;
    background: none !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: 0 10px 34px rgba(0,0,0,.22) !important;
    font-size: clamp(2.6rem, 6vw, 5rem) !important;
    line-height: 1.12 !important;
}
body.national-day .hero p {
    max-width: 680px;
    margin: 0 auto 24px !important;
    color: rgba(255,255,255,.84) !important;
    font-size: clamp(1rem, 2vw, 1.22rem) !important;
    line-height: 1.95 !important;
}
body.national-day .nd-hero-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 8px;
}
body.national-day .btn-hero {
    background: #fff !important;
    color: #006c35 !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
    border: 1px solid rgba(255,255,255,.7) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
}
body.national-day .btn-hero:hover {
    background: #f5e9b9 !important;
    color: #004b2a !important;
    box-shadow: 0 18px 38px rgba(0,0,0,.22) !important;
}
body.national-day .nd-hero-note {
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(0,0,0,.10);
    padding: 9px 13px;
    border-radius: 999px;
    font-size: .88rem;
    backdrop-filter: blur(8px);
}
body.national-day .nd-hero-brand {
    margin-top: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    color: rgba(255,255,255,.74);
    font-size: .78rem;
    letter-spacing: .3px;
}
body.national-day .hero-logo {
    width: 54px !important;
    height: 54px !important;
    object-fit: cover;
    margin: 0 !important;
    border-radius: 16px !important;
    border: 2px solid rgba(255,255,255,.72) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
}
body.national-day .nd-hero-number {
    position: absolute;
    top: 18px;
    right: 26px;
    color: rgba(255,255,255,.075);
    font-size: clamp(7rem, 15vw, 12rem);
    line-height: 1;
    font-weight: 900 !important;
    pointer-events: none;
    user-select: none;
    z-index: -1;
}

/* National Day highlight */
body.national-day .national-day-highlight {
    margin-top: -4px;
    margin-bottom: 22px;
}
body.national-day .national-day-highlight {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 22px;
    border-radius: 24px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(0,108,53,.12);
    box-shadow: 0 14px 34px rgba(0,75,42,.07);
    backdrop-filter: blur(16px);
}
body.national-day .nd-highlight-copy { display: flex; flex-direction: column; gap: 4px; }
body.national-day .nd-highlight-kicker {
    color: #a18116;
    font-size: .83rem;
    font-weight: 900 !important;
}
body.national-day .nd-highlight-copy strong { color: #174533; font-size: 1rem; }
body.national-day .nd-highlight-points { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
body.national-day .nd-highlight-points span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #eef7f2;
    color: #006c35;
    border: 1px solid rgba(0,108,53,.10);
    border-radius: 999px;
    padding: 8px 11px;
    font-size: .79rem;
    font-weight: 800 !important;
}

/* Categories */
body.national-day .categories-section { margin-top: 10px !important; }
body.national-day .cat-card {
    background: rgba(255,255,255,.82) !important;
    border: 1px solid rgba(0,108,53,.18) !important;
    box-shadow: 0 10px 28px rgba(0,75,42,.07) !important;
}
body.national-day .cat-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(145deg, rgba(0,108,53,.05), transparent 55%);
    pointer-events: none;
}
body.national-day .cat-card span { color: #174533 !important; }
body.national-day .cat-card.active,
body.national-day .cat-card:hover {
    border-color: #006c35 !important;
    background: linear-gradient(180deg, #fff 0%, #eef7f2 100%) !important;
    box-shadow: 0 16px 32px rgba(0,108,53,.12) !important;
}
body.national-day .cat-img { border-color: rgba(0,108,53,.14) !important; background: #fff !important; }
body.national-day .connected-rose-divider { opacity: .55; filter: hue-rotate(105deg) saturate(.65); }

/* Wholesale entry */
body.national-day .wholesale-entry-card {
    border-color: rgba(0,108,53,.16) !important;
    background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(238,247,242,.95)) !important;
    box-shadow: 0 14px 30px rgba(0,75,42,.08) !important;
}
body.national-day .wholesale-entry-icon,
body.national-day .wholesale-entry-action { background: #006c35 !important; color: #fff !important; }

/* Product area */
body.national-day .store-toolbar-final,
body.national-day .product-card,
body.national-day .safe-product-gallery,
body.national-day .safe-product-info-card,
body.national-day .safe-related-products-card {
    border-color: rgba(0,108,53,.13) !important;
    box-shadow: 0 13px 34px rgba(0,75,42,.075) !important;
}
body.national-day .product-card {
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(0,108,53,.18) !important;
}
body.national-day .product-card:hover { box-shadow: 0 18px 36px rgba(0,108,53,.14) !important; }
body.national-day .product-card h3,
body.national-day .product-card .details h3,
body.national-day .rg-price-stack .rg-current-price,
body.national-day .safe-product-price,
body.national-day .safe-related-body strong { color: #006c35 !important; }
body.national-day .btn-quick-add,
body.national-day .safe-add-cart-btn,
body.national-day .safe-qty-controls button {
    background: linear-gradient(135deg, #006c35, #004b2a) !important;
    border-color: #006c35 !important;
    box-shadow: 0 7px 18px rgba(0,108,53,.18) !important;
}
body.national-day .btn-love,
body.national-day .safe-wishlist-btn {
    color: #006c35 !important;
    border-color: rgba(0,108,53,.22) !important;
    background: #f0f8f4 !important;
}
body.national-day .btn-love:hover,
body.national-day .btn-love.active,
body.national-day .safe-wishlist-btn:hover,
body.national-day .safe-wishlist-btn.active { background: #006c35 !important; color: #fff !important; }
body.national-day .rg-discount-badge,
body.national-day .rg-discount-pill,
body.national-day .product-badge {
    background: linear-gradient(135deg, #c9a227, #9a7a16) !important;
    color: #fff !important;
    border-color: transparent !important;
}
body.national-day .best-sellers-kicker { color: #a18116 !important; }
body.national-day .best-sellers-header h2 { color: #174533 !important; }

/* Feature cards */
body.national-day .features-section-compact {
    background: linear-gradient(180deg, #eef6f1 0%, #e4f0e9 100%) !important;
    border-top: 1px solid rgba(0,108,53,.08);
}
body.national-day .section-title-minimal { color: #174533 !important; }
body.national-day .section-title-minimal::after { background: #c9a227 !important; }
body.national-day .feat-card {
    background: rgba(255,255,255,.72) !important;
    border-color: rgba(0,108,53,.10) !important;
    box-shadow: 0 10px 25px rgba(0,75,42,.05);
}
body.national-day .feat-card:hover { background: #fff !important; box-shadow: 0 14px 30px rgba(0,108,53,.09) !important; }
body.national-day .icon-wrapper { color: #006c35 !important; box-shadow: 0 6px 16px rgba(0,108,53,.08) !important; }
body.national-day .feat-card h3 { color: #174533 !important; }
body.national-day .feat-card p { color: #66756e !important; }

/* Checkout, forms, modals */
body.national-day .checkout-glass-card,
body.national-day .checkout-summary-side,
body.national-day .payment-section-card,
body.national-day .checkout-review-card,
body.national-day .modal-content,
body.national-day .ai-modal-content {
    border-color: rgba(0,108,53,.13) !important;
    box-shadow: 0 18px 44px rgba(0,75,42,.08) !important;
}
body.national-day .checkout-glass-card::before { background: linear-gradient(90deg, #006c35, #c9a227, #006c35) !important; }
body.national-day .icon-box-small,
body.national-day .ai-icon-pulse { color: #006c35 !important; background: #edf7f1 !important; }
body.national-day .section-header h2,
body.national-day .summary-header h3,
body.national-day .payment-section-header h2 { color: #174533 !important; }
body.national-day .input-wrapper input:focus,
body.national-day .input-wrapper textarea:focus,
body.national-day .input-wrapper select:focus {
    border-color: #006c35 !important;
    box-shadow: 0 0 0 4px rgba(0,108,53,.08) !important;
    background: #fbfffd !important;
}
body.national-day .summary-total-box { background: #edf7f1 !important; border-color: rgba(0,108,53,.12) !important; }
body.national-day .summary-total-box .total-number { color: #006c35 !important; }
body.national-day .checkout-step-next,
body.national-day .btn-confirm-map { background: linear-gradient(135deg, #006c35, #004b2a) !important; }

/* Reviews + footer */
body.national-day .rose-store-reviews-section { background: transparent !important; }
body.national-day .site-footer {
    background: linear-gradient(145deg, #003d23 0%, #005c31 55%, #006c35 100%) !important;
    color: rgba(255,255,255,.90) !important;
    border-top: 4px solid #c9a227;
}
body.national-day .site-footer .footer-section-title,
body.national-day .site-footer strong,
body.national-day .site-footer .footer-description,
body.national-day .site-footer .footer-social-copy,
body.national-day .site-footer .delivery-alert p,
body.national-day .site-footer .footer-address-row p,
body.national-day .site-footer .footer-links a,
body.national-day .site-footer .footer-links .branches-btn,
body.national-day .site-footer .footer-bottom p { color: rgba(255,255,255,.92) !important; }
body.national-day .site-footer .footer-section-title::after { background: #c9a227 !important; }
body.national-day .site-footer .delivery-alert,
body.national-day .site-footer .footer-address-box {
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.10) !important;
}
body.national-day .site-footer .delivery-alert i,
body.national-day .site-footer .footer-address-row > i { color: #f1d873 !important; }
body.national-day .site-footer .social-icon,
body.national-day .site-footer .btn-location {
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.14) !important;
}
body.national-day .site-footer .social-icon:hover,
body.national-day .site-footer .btn-location:hover { background: #c9a227 !important; color: #173323 !important; }
body.national-day .footer-brand-logo { border: 3px solid rgba(255,255,255,.88) !important; box-shadow: 0 0 0 5px rgba(201,162,39,.22) !important; }
body.national-day .footer-bottom { border-top-color: rgba(255,255,255,.12) !important; }

/* Mobile bottom navigation */
@media (max-width: 768px) {
    body.national-day .mobile-bottom-nav {
        background: rgba(250,248,240,.96) !important;
        border-top-color: rgba(0,108,53,.13) !important;
        box-shadow: 0 -8px 28px rgba(0,75,42,.09) !important;
    }
    body.national-day .nav-item { color: #61736a !important; }
    body.national-day .nav-item.active,
    body.national-day .nav-item:active { color: #006c35 !important; background: rgba(0,108,53,.07) !important; }

    body.national-day .hero {
        min-height: 470px;
        margin: -110px 0 16px !important;
        padding: 145px 18px 44px !important;
        border-radius: 0 0 30px 30px !important;
        background-size: 30px 30px, 22px 22px, auto !important;
    }
    body.national-day .hero::after { left: -18px; bottom: -10px; font-size: 8.5rem; }
    body.national-day .nd-hero-number { top: 112px; right: 12px; font-size: 7rem; }
    body.national-day .national-day-badge { font-size: .78rem; margin-bottom: 12px; }
    body.national-day .hero h1 { font-size: clamp(2.15rem, 10.5vw, 3.2rem) !important; }
    body.national-day .hero p { font-size: .92rem !important; line-height: 1.85 !important; margin-bottom: 18px !important; }
    body.national-day .nd-hero-actions { flex-direction: column; gap: 9px; }
    body.national-day .btn-hero { width: min(100%, 330px); padding: 12px 20px !important; font-size: .94rem !important; }
    body.national-day .nd-hero-note { font-size: .76rem; }
    body.national-day .nd-hero-brand { margin-top: 20px; font-size: .68rem; }
    body.national-day .hero-logo { width: 46px !important; height: 46px !important; border-radius: 13px !important; }

    body.national-day .national-day-highlight {
        margin: 0 12px 14px;
        padding: 14px;
        border-radius: 18px;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    body.national-day .nd-highlight-copy strong { font-size: .88rem; line-height: 1.65; }
    body.national-day .nd-highlight-points { justify-content: flex-start; gap: 6px; }
    body.national-day .nd-highlight-points span { padding: 6px 9px; font-size: .69rem; }

    body.national-day .categories-section { padding-left: 12px !important; padding-right: 12px !important; }
    body.national-day .cat-card { border-radius: 18px !important; }
    body.national-day .product-card { border-radius: 17px !important; }
    body.national-day .features-section-compact { border-radius: 0 !important; }
}

@media (max-width: 430px) {
    body.national-day .announcement-bar { font-size: .74rem !important; padding: 6px 0 !important; }
    body.national-day .announcement-bar p { gap: 6px; }
    body.national-day .hero { min-height: 450px; padding-left: 14px !important; padding-right: 14px !important; }
    body.national-day .national-day-badge { max-width: 92%; }
    body.national-day .nd-hero-brand span { max-width: 180px; line-height: 1.35; text-align: right; }
}

/* Respect reduced motion without changing layout. */
@media (prefers-reduced-motion: reduce) {
    body.national-day .announcement-bar::after { animation: none !important; }
    body.national-day .blob { animation: none !important; }
}

/* ========================================================================== 
   NATIONAL DAY HERO V2 + MOBILE HARDENING
   ========================================================================== */
body.national-day {
    overflow-x: hidden !important;
}
body.national-day *,
body.national-day *::before,
body.national-day *::after {
    box-sizing: border-box;
}
body.national-day img,
body.national-day video,
body.national-day iframe {
    max-width: 100%;
}

body.national-day .nd-hero {
    width: min(calc(100% - 36px), 1240px) !important;
    max-width: 1240px !important;
    min-height: 0 !important;
    margin: 24px auto 26px !important;
    padding: 0 !important;
    border-radius: 34px !important;
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    text-align: right !important;
    background:
        radial-gradient(circle at 12% 16%, rgba(255,255,255,.10), transparent 24%),
        radial-gradient(circle at 88% 82%, rgba(217,187,93,.18), transparent 27%),
        linear-gradient(132deg, #003d24 0%, #006c35 52%, #0b7d46 100%) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 26px 65px rgba(0,73,41,.24) !important;
}
body.national-day .nd-hero::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background:
        linear-gradient(115deg, rgba(255,255,255,.035), transparent 32%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.022) 0 1px, transparent 1px 18px) !important;
    opacity: 1 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}
body.national-day .nd-hero::after {
    content: '' !important;
    position: absolute !important;
    width: 360px !important;
    height: 360px !important;
    left: -130px !important;
    bottom: -190px !important;
    border-radius: 50% !important;
    border: 70px solid rgba(255,255,255,.035) !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    pointer-events: none !important;
    z-index: 0 !important;
}
body.national-day .nd-hero-shell {
    width: 100% !important;
    max-width: 1240px !important;
    min-height: 510px !important;
    margin: 0 auto !important;
    padding: 54px 58px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr) !important;
    align-items: center !important;
    gap: clamp(28px, 5vw, 72px) !important;
    position: relative !important;
    z-index: 2 !important;
}
body.national-day .nd-hero-copy {
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 !important;
    text-align: right !important;
    position: relative !important;
    z-index: 3 !important;
}
body.national-day .national-day-badge {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    padding: 8px 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: #f7edbd !important;
    background: rgba(255,255,255,.085) !important;
    border: 1px solid rgba(247,237,189,.26) !important;
    border-radius: 999px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    font-size: .86rem !important;
    line-height: 1.4 !important;
}
body.national-day .nd-badge-dot {
    width: 8px !important;
    height: 8px !important;
    flex: 0 0 8px !important;
    border-radius: 50% !important;
    background: #d7bb57 !important;
    box-shadow: 0 0 0 5px rgba(215,187,87,.12) !important;
}
body.national-day .nd-hero h1 {
    margin: 0 0 17px !important;
    max-width: 650px !important;
    color: #fff !important;
    background: none !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: 0 10px 34px rgba(0,0,0,.18) !important;
    font-size: clamp(2.7rem, 5vw, 4.7rem) !important;
    line-height: 1.13 !important;
    letter-spacing: -.025em !important;
}
body.national-day .nd-hero h1 span {
    color: #f0d878 !important;
    -webkit-text-fill-color: #f0d878 !important;
}
body.national-day .nd-hero p {
    max-width: 620px !important;
    margin: 0 0 25px !important;
    color: rgba(255,255,255,.84) !important;
    font-size: clamp(.98rem, 1.5vw, 1.1rem) !important;
    line-height: 1.95 !important;
}
body.national-day .nd-hero-actions {
    margin: 0 !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 11px !important;
    flex-wrap: wrap !important;
}
body.national-day .nd-hero .btn-hero {
    min-height: 50px !important;
    margin: 0 !important;
    padding: 12px 20px !important;
    border-radius: 15px !important;
    background: #fff !important;
    color: #006c35 !important;
    border: 1px solid rgba(255,255,255,.8) !important;
    box-shadow: 0 13px 26px rgba(0,0,0,.15) !important;
    font-size: .96rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}
body.national-day .nd-hero .btn-hero:hover {
    transform: translateY(-2px) !important;
    background: #f5e7ad !important;
    color: #004a29 !important;
}
body.national-day .nd-hero-note {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 9px 12px !important;
    color: rgba(255,255,255,.9) !important;
    background: rgba(0,0,0,.09) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 14px !important;
    font-size: .8rem !important;
}
body.national-day .nd-hero-brand {
    margin-top: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 11px !important;
    color: #fff !important;
    letter-spacing: 0 !important;
}
body.national-day .nd-hero-brand > span {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    text-align: right !important;
}
body.national-day .nd-hero-brand b {
    font-size: .86rem !important;
    color: #fff !important;
}
body.national-day .nd-hero-brand small {
    font-size: .7rem !important;
    color: rgba(255,255,255,.66) !important;
}
body.national-day .nd-hero .hero-logo {
    width: 45px !important;
    height: 45px !important;
    flex: 0 0 45px !important;
    margin: 0 !important;
    object-fit: cover !important;
    border-radius: 13px !important;
    border: 2px solid rgba(255,255,255,.8) !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.16) !important;
}

body.national-day .nd-hero-visual {
    width: 100% !important;
    min-width: 0 !important;
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    aspect-ratio: 1 / .88 !important;
    z-index: 2 !important;
}
body.national-day .nd-flag-halo {
    position: absolute !important;
    width: 86% !important;
    aspect-ratio: 1 !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(248,225,139,.19), rgba(255,255,255,.035) 45%, transparent 70%) !important;
    filter: blur(1px) !important;
}
body.national-day .nd-flag-card {
    width: min(100%, 470px) !important;
    aspect-ratio: 4 / 3 !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 28px !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 28px 54px rgba(0,39,22,.34), inset 0 1px 0 rgba(255,255,255,.1) !important;
    transform: rotate(-2deg) !important;
}
body.national-day .nd-saudi-flag {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
}
body.national-day .nd-flag-card::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), inset 0 -40px 70px rgba(0,0,0,.08) !important;
    pointer-events: none !important;
}
body.national-day .nd-flag-shine {
    position: absolute !important;
    inset: -30% auto -30% -25% !important;
    width: 23% !important;
    transform: rotate(16deg) !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent) !important;
    animation: ndFlagShine 5.2s ease-in-out infinite !important;
    pointer-events: none !important;
}
@keyframes ndFlagShine {
    0%, 62% { left: -30%; opacity: 0; }
    70% { opacity: 1; }
    100% { left: 115%; opacity: 0; }
}
body.national-day .nd-visual-chip {
    position: absolute !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 9px 12px !important;
    border-radius: 13px !important;
    color: #174533 !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(255,255,255,.82) !important;
    box-shadow: 0 12px 25px rgba(0,40,22,.17) !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    backdrop-filter: blur(8px) !important;
    z-index: 3 !important;
}
body.national-day .nd-visual-chip i { color: #b69a35 !important; }
body.national-day .nd-chip-top { top: 7%; right: -1%; }
body.national-day .nd-chip-bottom { bottom: 8%; left: -1%; }

/* Strong tablet/mobile pass */
@media (max-width: 1024px) {
    body.national-day .nd-hero {
        width: min(calc(100% - 28px), 980px) !important;
        border-radius: 28px !important;
    }
    body.national-day .nd-hero-shell {
        min-height: 460px !important;
        padding: 42px 38px !important;
        grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr) !important;
        gap: 28px !important;
    }
    body.national-day .nd-hero h1 { font-size: clamp(2.35rem, 5.4vw, 3.7rem) !important; }
    body.national-day .nd-visual-chip { font-size: .72rem !important; }
}

@media (max-width: 768px) {
    body.national-day .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    body.national-day .nd-hero {
        width: calc(100% - 20px) !important;
        min-height: 0 !important;
        margin: 12px 10px 18px !important;
        padding: 0 !important;
        border-radius: 24px !important;
    }
    body.national-day .nd-hero-shell {
        width: 100% !important;
        min-height: 0 !important;
        padding: 26px 18px 22px !important;
        display: flex !important;
        flex-direction: column-reverse !important;
        align-items: stretch !important;
        gap: 20px !important;
    }
    body.national-day .nd-hero-copy {
        width: 100% !important;
        max-width: none !important;
        text-align: center !important;
    }
    body.national-day .national-day-badge {
        margin: 0 auto 13px !important;
        font-size: .73rem !important;
        padding: 7px 10px !important;
    }
    body.national-day .nd-hero h1 {
        max-width: 100% !important;
        margin: 0 auto 12px !important;
        font-size: clamp(2rem, 9vw, 2.85rem) !important;
        line-height: 1.16 !important;
    }
    body.national-day .nd-hero p {
        max-width: 560px !important;
        margin: 0 auto 18px !important;
        font-size: .88rem !important;
        line-height: 1.8 !important;
    }
    body.national-day .nd-hero-actions {
        width: 100% !important;
        justify-content: center !important;
        gap: 8px !important;
    }
    body.national-day .nd-hero .btn-hero {
        width: min(100%, 350px) !important;
        min-height: 48px !important;
        padding: 11px 15px !important;
        font-size: .88rem !important;
        white-space: normal !important;
    }
    body.national-day .nd-hero-note {
        min-height: 38px !important;
        padding: 7px 10px !important;
        font-size: .7rem !important;
    }
    body.national-day .nd-hero-brand {
        justify-content: center !important;
        margin-top: 17px !important;
    }
    body.national-day .nd-hero-brand > span { text-align: right !important; }
    body.national-day .nd-hero-visual {
        width: min(100%, 440px) !important;
        margin: 0 auto !important;
        aspect-ratio: 1.55 / 1 !important;
        min-height: 0 !important;
    }
    body.national-day .nd-flag-card {
        width: 88% !important;
        aspect-ratio: 16 / 10 !important;
        border-radius: 20px !important;
        transform: rotate(-1.2deg) !important;
    }
    body.national-day .nd-chip-top { top: 3%; right: 0; }
    body.national-day .nd-chip-bottom { bottom: 3%; left: 0; }
    body.national-day .nd-visual-chip { padding: 7px 9px !important; font-size: .66rem !important; border-radius: 10px !important; }

    body.national-day .products-grid,
    body.national-day .best-sellers-grid {
        width: 100% !important;
        min-width: 0 !important;
    }
    body.national-day .product-card,
    body.national-day .cat-card,
    body.national-day .feat-card,
    body.national-day .checkout-glass-card,
    body.national-day .checkout-summary-side {
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body.national-day .store-toolbar-final,
    body.national-day .national-day-highlight {
        max-width: calc(100% - 20px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 520px) {
    body.national-day .nd-hero { width: calc(100% - 14px) !important; margin-left: 7px !important; margin-right: 7px !important; border-radius: 21px !important; }
    body.national-day .nd-hero-shell { padding: 22px 13px 20px !important; gap: 16px !important; }
    body.national-day .nd-hero-visual { width: 100% !important; aspect-ratio: 1.5 / 1 !important; }
    body.national-day .nd-flag-card { width: 91% !important; border-radius: 17px !important; }
    body.national-day .nd-hero h1 { font-size: clamp(1.82rem, 9.6vw, 2.35rem) !important; }
    body.national-day .nd-hero p { padding: 0 2px !important; font-size: .82rem !important; }
    body.national-day .nd-hero-brand small { font-size: .63rem !important; }
    body.national-day .nd-hero .hero-logo { width: 40px !important; height: 40px !important; flex-basis: 40px !important; }
    body.national-day .nd-visual-chip { font-size: .61rem !important; gap: 5px !important; padding: 6px 8px !important; }
}

@media (max-width: 390px) {
    body.national-day .nd-hero-shell { padding-left: 11px !important; padding-right: 11px !important; }
    body.national-day .national-day-badge { font-size: .67rem !important; }
    body.national-day .nd-hero h1 { font-size: 1.78rem !important; }
    body.national-day .nd-hero p { font-size: .78rem !important; line-height: 1.72 !important; }
    body.national-day .nd-hero .btn-hero { font-size: .82rem !important; }
    body.national-day .nd-hero-visual { aspect-ratio: 1.44 / 1 !important; }
    body.national-day .nd-chip-top { right: -1px !important; }
    body.national-day .nd-chip-bottom { left: -1px !important; }
}

@media (prefers-reduced-motion: reduce) {
    body.national-day .nd-flag-shine { animation: none !important; }
}

/* National Day responsive polish for small screens */
@media (max-width: 768px) {
    body.national-day .products-grid,
    body.national-day .best-sellers-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    body.national-day .product-card .img-container {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
    }
    body.national-day .product-card .img-container > img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    body.national-day .product-card .details {
        min-width: 0 !important;
        padding: 9px 8px !important;
    }
    body.national-day .product-card .details h3 {
        min-width: 0 !important;
        font-size: .82rem !important;
        line-height: 1.45 !important;
        overflow-wrap: anywhere !important;
    }
    body.national-day .rg-price-stack .rg-current-price {
        font-size: .84rem !important;
    }
    body.national-day .rg-price-stack .rg-old-price {
        font-size: .67rem !important;
    }
    body.national-day .buttons-wrapper {
        gap: 5px !important;
    }
    body.national-day .btn-quick-add {
        min-width: 0 !important;
        min-height: 36px !important;
        padding: 7px 8px !important;
        font-size: .72rem !important;
    }
    body.national-day .btn-love {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
    }
    body.national-day .categories-wrapper {
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        justify-content: flex-start !important;
        scroll-snap-type: x proximity !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }
    body.national-day .categories-wrapper::-webkit-scrollbar { display: none !important; }
    body.national-day .categories-wrapper .cat-card {
        flex: 0 0 112px !important;
        width: 112px !important;
        min-width: 112px !important;
        scroll-snap-align: start !important;
    }
    body.national-day .checkout-grid,
    body.national-day .safe-product-shell,
    body.national-day .footer-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    body.national-day input,
    body.national-day select,
    body.national-day textarea,
    body.national-day button {
        max-width: 100% !important;
    }
}

@media (max-width: 420px) {
    body.national-day .products-grid,
    body.national-day .best-sellers-grid {
        gap: 6px !important;
    }
    body.national-day .product-card .details {
        padding: 8px 6px !important;
    }
    body.national-day .product-card .details h3 {
        font-size: .77rem !important;
    }
    body.national-day .btn-quick-add {
        font-size: .68rem !important;
        padding: 6px !important;
    }
    body.national-day .btn-love {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
    }
}


/* ==========================================================================
   NATIONAL DAY HERO V3 + STRONGER NATIONAL IDENTITY
   ========================================================================== */
body.national-day .announcement-bar {
    background: linear-gradient(90deg, #004726 0%, #006c35 50%, #004726 100%) !important;
    border-bottom: 1px solid rgba(201,162,39,.28) !important;
    box-shadow: 0 10px 26px rgba(0,75,42,.10) !important;
}
body.national-day .announcement-bar p {
    justify-content: center !important;
    text-align: center !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
}
body.national-day .announcement-bar .nd-announcement-flag { font-size: 1rem !important; }

body.national-day .nd-hero {
    background:
        radial-gradient(circle at 18% 14%, rgba(255,255,255,.12), transparent 24%),
        radial-gradient(circle at 84% 82%, rgba(222,196,95,.22), transparent 28%),
        linear-gradient(135deg, #00361f 0%, #00592f 42%, #00763a 100%) !important;
}
body.national-day .nd-hero::before {
    background:
        linear-gradient(120deg, rgba(255,255,255,.045), transparent 33%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 16px),
        radial-gradient(circle at 78% 18%, rgba(201,162,39,.10), transparent 22%) !important;
}
body.national-day .nd-hero-shell {
    min-height: 560px !important;
    grid-template-columns: minmax(0,1.06fr) minmax(360px,.94fr) !important;
}
body.national-day .nd-hero-copy {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}
body.national-day .nd-hero h1 {
    font-size: clamp(2.95rem, 5.4vw, 5rem) !important;
    margin-bottom: 14px !important;
}
body.national-day .nd-hero p {
    max-width: 640px !important;
    color: rgba(255,255,255,.90) !important;
    margin-bottom: 20px !important;
}
body.national-day .nd-hero-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 22px !important;
}
body.national-day .nd-hero-pills span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 40px !important;
    padding: 9px 13px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    backdrop-filter: blur(10px) !important;
}
body.national-day .nd-hero-pills span i {
    color: #efd778 !important;
}
body.national-day .nd-hero-actions {
    gap: 12px !important;
}
body.national-day .nd-hero .btn-hero {
    min-width: 220px !important;
}
body.national-day .nd-hero .btn-hero-secondary {
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: none !important;
}
body.national-day .nd-hero .btn-hero-secondary:hover {
    background: rgba(255,255,255,.14) !important;
    color: #fff !important;
}
body.national-day .nd-hero-brand {
    margin-top: 22px !important;
}
body.national-day .nd-hero-visual {
    aspect-ratio: 1 / 1 !important;
}
body.national-day .nd-hero-date-badge {
    position: absolute !important;
    top: 5% !important;
    left: 0 !important;
    z-index: 4 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 108px !important;
    min-height: 42px !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #f0dd97, #c9a227) !important;
    color: #23402c !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    box-shadow: 0 14px 28px rgba(0,0,0,.16) !important;
}
body.national-day .nd-flag-card {
    width: min(100%, 500px) !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 34px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04)) !important;
    transform: rotate(-3deg) !important;
}
body.national-day .nd-saudi-flag {
    border-radius: 28px !important;
}
body.national-day .nd-flag-card::before {
    content: '' !important;
    position: absolute !important;
    inset: 18px !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}
body.national-day .nd-visual-chip {
    max-width: 180px !important;
}
body.national-day .nd-chip-top { top: 8%; right: -2%; }
body.national-day .nd-chip-bottom { bottom: 9%; left: -1.5%; }

body.national-day .national-day-highlight {
    padding: 22px 24px !important;
    border-radius: 28px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,247,242,.94)) !important;
    position: relative !important;
    overflow: hidden !important;
}
body.national-day .national-day-highlight::before {
    content: '' !important;
    position: absolute !important;
    inset: auto -30px -46px auto !important;
    width: 160px !important;
    height: 160px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(201,162,39,.18), transparent 68%) !important;
    pointer-events: none !important;
}
body.national-day .nd-highlight-copy strong {
    font-size: 1.04rem !important;
    line-height: 1.85 !important;
}
body.national-day .nd-highlight-points span {
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(0,75,42,.05) !important;
}

body.national-day .nd-celebration-strip {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin: 0 auto 20px !important;
}
body.national-day .nd-celebration-card {
    min-width: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 18px !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(0,108,53,.10) !important;
    box-shadow: 0 14px 30px rgba(0,75,42,.06) !important;
}
body.national-day .nd-celebration-icon {
    width: 50px !important;
    height: 50px !important;
    flex: 0 0 50px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #006c35, #0a8346) !important;
    color: #fff !important;
    box-shadow: 0 12px 22px rgba(0,108,53,.18) !important;
}
body.national-day .nd-celebration-card h3 {
    margin: 0 0 8px !important;
    color: #174533 !important;
    font-size: 1rem !important;
}
body.national-day .nd-celebration-card p {
    margin: 0 !important;
    color: #66756e !important;
    font-size: .88rem !important;
    line-height: 1.8 !important;
}

body.national-day .categories-section { margin-top: 16px !important; }
body.national-day .cat-card {
    backdrop-filter: blur(8px) !important;
}
body.national-day .cat-card span {
    font-weight: 800 !important;
}
body.national-day .product-card {
    border-radius: 24px !important;
    overflow: hidden !important;
}
body.national-day .product-card .details {
    padding-top: 12px !important;
}
body.national-day .btn-quick-add {
    border-radius: 12px !important;
}

@media (max-width: 1024px) {
    body.national-day .nd-hero-shell {
        min-height: 0 !important;
        grid-template-columns: minmax(0,1fr) minmax(300px,.92fr) !important;
        padding: 42px 34px !important;
    }
    body.national-day .nd-flag-card {
        width: min(100%, 420px) !important;
        border-radius: 28px !important;
    }
    body.national-day .nd-celebration-strip {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 768px) {
    body.national-day .announcement-bar p {
        font-size: .76rem !important;
        line-height: 1.5 !important;
    }
    body.national-day .nd-hero {
        width: calc(100% - 16px) !important;
        margin: 12px 8px 16px !important;
        border-radius: 24px !important;
    }
    body.national-day .nd-hero-shell {
        padding: 18px 14px 18px !important;
        gap: 16px !important;
        flex-direction: column !important;
    }
    body.national-day .nd-hero-copy {
        text-align: center !important;
    }
    body.national-day .nd-hero h1 {
        font-size: clamp(2rem, 10vw, 3rem) !important;
    }
    body.national-day .nd-hero p {
        font-size: .86rem !important;
        line-height: 1.82 !important;
        margin-bottom: 16px !important;
    }
    body.national-day .nd-hero-pills {
        justify-content: center !important;
        gap: 8px !important;
        margin-bottom: 16px !important;
    }
    body.national-day .nd-hero-pills span {
        justify-content: center !important;
        min-height: 36px !important;
        padding: 8px 10px !important;
        font-size: .72rem !important;
    }
    body.national-day .nd-hero-actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    body.national-day .nd-hero .btn-hero,
    body.national-day .nd-hero .btn-hero-secondary {
        width: 100% !important;
        min-width: 0 !important;
    }
    body.national-day .nd-hero-brand {
        justify-content: center !important;
        margin-top: 16px !important;
    }
    body.national-day .nd-hero-brand > span {
        text-align: right !important;
    }
    body.national-day .nd-hero-visual {
        width: 100% !important;
        max-width: 360px !important;
        aspect-ratio: 1 / 1 !important;
    }
    body.national-day .nd-hero-date-badge {
        top: 5px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        min-width: 100px !important;
        min-height: 38px !important;
        font-size: .76rem !important;
    }
    body.national-day .nd-flag-card {
        width: 100% !important;
        max-width: 320px !important;
        aspect-ratio: 1 / 1 !important;
        border-radius: 22px !important;
        transform: none !important;
    }
    body.national-day .nd-saudi-flag { border-radius: 18px !important; }
    body.national-day .nd-flag-card::before {
        inset: 12px !important;
        border-radius: 14px !important;
    }
    body.national-day .nd-visual-chip {
        max-width: 148px !important;
        padding: 7px 8px !important;
        font-size: .62rem !important;
    }
    body.national-day .nd-chip-top {
        top: 10px !important;
        right: -2px !important;
    }
    body.national-day .nd-chip-bottom {
        bottom: 10px !important;
        left: -2px !important;
    }
    body.national-day .national-day-highlight {
        margin: 0 8px 14px !important;
        padding: 16px !important;
        border-radius: 22px !important;
    }
    body.national-day .nd-highlight-copy,
    body.national-day .nd-highlight-points {
        text-align: center !important;
        justify-content: center !important;
    }
    body.national-day .nd-highlight-copy strong {
        font-size: .9rem !important;
    }
    body.national-day .nd-celebration-strip {
        gap: 10px !important;
        margin-bottom: 14px !important;
    }
    body.national-day .nd-celebration-card {
        padding: 14px !important;
        border-radius: 18px !important;
        gap: 10px !important;
    }
    body.national-day .nd-celebration-icon {
        width: 42px !important;
        height: 42px !important;
        flex-basis: 42px !important;
        border-radius: 12px !important;
    }
    body.national-day .nd-celebration-card h3 {
        font-size: .92rem !important;
        margin-bottom: 4px !important;
    }
    body.national-day .nd-celebration-card p {
        font-size: .78rem !important;
        line-height: 1.7 !important;
    }
    body.national-day .categories-wrapper .cat-card {
        flex: 0 0 104px !important;
        width: 104px !important;
        min-width: 104px !important;
    }
}

@media (max-width: 420px) {
    body.national-day .nd-hero-shell {
        padding: 16px 11px 17px !important;
    }
    body.national-day .national-day-badge {
        font-size: .66rem !important;
        padding: 6px 9px !important;
    }
    body.national-day .nd-hero h1 {
        font-size: 1.86rem !important;
    }
    body.national-day .nd-hero p {
        font-size: .79rem !important;
    }
    body.national-day .nd-hero-pills span {
        width: 100% !important;
        white-space: normal !important;
    }
    body.national-day .nd-hero-date-badge {
        min-width: 92px !important;
        font-size: .72rem !important;
    }
    body.national-day .nd-visual-chip {
        max-width: 130px !important;
        font-size: .58rem !important;
    }
    body.national-day .products-grid,
    body.national-day .best-sellers-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }
}

/* ========================================================================== 
   NATIONAL DAY V4 — 2026 / 96th / "عزّنا بطبعنا"
   Strong Saudi identity, textile-inspired geometry, mobile-first polish
   ========================================================================== */
:root {
    --nd-green-950: #012f1d;
    --nd-green-900: #003d24;
    --nd-green-800: #00552f;
    --nd-green-700: #006c35;
    --nd-green-600: #0b7f47;
    --nd-mint: #edf8f2;
    --nd-cream: #fbf8ed;
    --nd-gold: #d1ad3d;
    --nd-gold-soft: #f0df9f;
    --nd-ink: #173b2b;
}

body.national-day {
    background:
        radial-gradient(circle at 8% 4%, rgba(0,108,53,.08), transparent 25%),
        radial-gradient(circle at 92% 30%, rgba(209,173,61,.08), transparent 24%),
        linear-gradient(180deg, #fbfdfb 0%, #f5faf7 45%, #fff 100%) !important;
}

/* Sharper Saudi green accents through the main storefront */
body.national-day .navbar {
    border-bottom: 1px solid rgba(0,108,53,.09) !important;
    box-shadow: 0 10px 35px rgba(0,75,42,.06) !important;
}
body.national-day .nav-link::after {
    background: var(--nd-gold) !important;
}
body.national-day .search-box {
    border-radius: 18px !important;
}
body.national-day .search-box input {
    border-color: rgba(0,108,53,.10) !important;
}

/* Hero foundation */
body.national-day .nd-hero {
    width: min(calc(100% - 34px), 1280px) !important;
    margin: 22px auto 24px !important;
    border-radius: 38px !important;
    background:
        radial-gradient(circle at 78% 18%, rgba(240,223,159,.20), transparent 22%),
        radial-gradient(circle at 9% 84%, rgba(255,255,255,.08), transparent 25%),
        linear-gradient(128deg, var(--nd-green-950) 0%, var(--nd-green-800) 48%, var(--nd-green-700) 100%) !important;
    border: 1px solid rgba(255,255,255,.17) !important;
    box-shadow: 0 34px 85px rgba(0,61,36,.25) !important;
}
body.national-day .nd-hero::before {
    background:
        linear-gradient(110deg, rgba(255,255,255,.05), transparent 34%),
        repeating-linear-gradient(45deg, rgba(255,255,255,.022) 0 1px, transparent 1px 19px),
        repeating-linear-gradient(-45deg, rgba(209,173,61,.025) 0 1px, transparent 1px 23px) !important;
}
body.national-day .nd-hero::after {
    width: 520px !important;
    height: 520px !important;
    left: -230px !important;
    bottom: -280px !important;
    border: 92px solid rgba(255,255,255,.025) !important;
}

/* Textile-inspired bands, aligned with the 2026 identity direction */
body.national-day .nd-weave-band {
    position: absolute !important;
    z-index: 1 !important;
    left: 0 !important;
    right: 0 !important;
    height: 13px !important;
    opacity: .9 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg,
            transparent 0 2%,
            rgba(240,223,159,.85) 2% 4%,
            transparent 4% 6%,
            rgba(255,255,255,.72) 6% 8%,
            transparent 8% 10%,
            rgba(240,223,159,.85) 10% 12%,
            transparent 12% 14%) !important;
    background-size: 118px 100% !important;
}
body.national-day .nd-weave-band-top { top: 0 !important; }
body.national-day .nd-weave-band-bottom { bottom: 0 !important; transform: scaleX(-1) !important; opacity: .55 !important; }

body.national-day .nd-hero-shell {
    min-height: 590px !important;
    padding: 66px 64px 60px !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr) !important;
    gap: clamp(34px, 5vw, 78px) !important;
}

body.national-day .national-day-badge {
    min-height: 38px !important;
    margin-bottom: 14px !important;
    padding: 5px 7px 5px 12px !important;
    background: rgba(255,255,255,.075) !important;
    border-color: rgba(240,223,159,.24) !important;
}
body.national-day .nd-badge-number {
    width: 42px !important;
    height: 28px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--nd-gold-soft), var(--nd-gold)) !important;
    color: var(--nd-green-950) !important;
    font-size: .78rem !important;
    font-weight: 950 !important;
}
body.national-day .nd-badge-separator {
    width: 1px !important;
    height: 18px !important;
    background: rgba(255,255,255,.18) !important;
}
body.national-day .nd-official-kicker {
    width: fit-content !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 11px !important;
    color: var(--nd-gold-soft) !important;
    font-size: .96rem !important;
    font-weight: 900 !important;
}
body.national-day .nd-official-kicker i {
    font-size: .7rem !important;
    color: var(--nd-gold) !important;
}

body.national-day .nd-hero h1 {
    max-width: 700px !important;
    margin-bottom: 16px !important;
    font-size: clamp(3.15rem, 5.55vw, 5.35rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
}
body.national-day .nd-hero h1 span {
    display: inline-block !important;
    margin-top: 7px !important;
    color: var(--nd-gold-soft) !important;
    -webkit-text-fill-color: var(--nd-gold-soft) !important;
}
body.national-day .nd-hero p {
    max-width: 660px !important;
    font-size: 1.02rem !important;
    line-height: 1.95 !important;
    color: rgba(255,255,255,.88) !important;
}
body.national-day .nd-hero-pills span {
    background: rgba(255,255,255,.075) !important;
    border-color: rgba(255,255,255,.13) !important;
    box-shadow: none !important;
}
body.national-day .nd-hero-pills span:hover {
    background: rgba(255,255,255,.115) !important;
    transform: translateY(-1px) !important;
}

body.national-day .nd-hero .btn-hero {
    min-height: 54px !important;
    min-width: 225px !important;
    padding: 13px 23px !important;
    border-radius: 17px !important;
    background: linear-gradient(135deg, #fff, #f9f3d8) !important;
    color: var(--nd-green-800) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.17) !important;
}
body.national-day .nd-hero .btn-hero-secondary {
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.19) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* Hero visual: flag + 96 */
body.national-day .nd-hero-visual {
    min-height: 480px !important;
    aspect-ratio: auto !important;
}
body.national-day .nd-hero-96 {
    position: absolute !important;
    z-index: 0 !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -52%) !important;
    color: transparent !important;
    -webkit-text-stroke: 2px rgba(240,223,159,.24) !important;
    font-family: Arial, sans-serif !important;
    font-size: clamp(15rem, 24vw, 22rem) !important;
    font-weight: 950 !important;
    line-height: .8 !important;
    letter-spacing: -.11em !important;
    user-select: none !important;
    pointer-events: none !important;
}
body.national-day .nd-flag-halo {
    width: 92% !important;
    background: radial-gradient(circle, rgba(240,223,159,.19), rgba(255,255,255,.04) 42%, transparent 68%) !important;
}
body.national-day .nd-flag-card {
    z-index: 2 !important;
    width: min(100%, 520px) !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 32px !important;
    transform: rotate(-2.4deg) !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    box-shadow: 0 32px 65px rgba(0,28,17,.36), 0 0 0 10px rgba(255,255,255,.035) !important;
}
body.national-day .nd-saudi-flag {
    border-radius: 0 !important;
    object-fit: cover !important;
}
body.national-day .nd-flag-card::before {
    inset: 13px !important;
    border-radius: 21px !important;
    border-color: rgba(255,255,255,.13) !important;
}
body.national-day .nd-hero-date-badge {
    top: 6% !important;
    left: 2% !important;
    gap: 7px !important;
    background: #fff !important;
    color: var(--nd-green-800) !important;
    box-shadow: 0 16px 34px rgba(0,28,17,.20) !important;
}
body.national-day .nd-hero-date-badge i { color: var(--nd-gold) !important; }
body.national-day .nd-visual-chip {
    min-width: 102px !important;
    justify-content: center !important;
    color: #fff !important;
    background: rgba(2,47,29,.88) !important;
    border-color: rgba(240,223,159,.24) !important;
    box-shadow: 0 16px 30px rgba(0,25,15,.22) !important;
}
body.national-day .nd-visual-chip i { color: var(--nd-gold-soft) !important; }
body.national-day .nd-chip-top { top: 10% !important; right: -1% !important; }
body.national-day .nd-chip-bottom { bottom: 11% !important; left: 0 !important; }

/* Values ribbon directly under hero */
body.national-day .nd-values-ribbon {
    position: relative !important;
    z-index: 5 !important;
    width: min(calc(100% - 54px), 1160px) !important;
    min-height: 94px !important;
    margin: -47px auto 28px !important;
    padding: 17px 20px !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: 22px !important;
    border-radius: 25px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(0,108,53,.11) !important;
    box-shadow: 0 22px 52px rgba(0,75,42,.12) !important;
    backdrop-filter: blur(14px) !important;
    overflow: hidden !important;
}
body.national-day .nd-values-ribbon::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 7px !important;
    background: linear-gradient(180deg, var(--nd-green-700), var(--nd-gold)) !important;
}
body.national-day .nd-values-title {
    min-width: 150px !important;
    padding-inline: 7px 18px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}
body.national-day .nd-values-title span {
    color: var(--nd-green-800) !important;
    font-size: 1.08rem !important;
    font-weight: 950 !important;
}
body.national-day .nd-values-title small {
    color: #7e8d85 !important;
    font-size: .72rem !important;
}
body.national-day .nd-values-list {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 7px !important;
}
body.national-day .nd-values-list span {
    min-width: 0 !important;
    min-height: 50px !important;
    padding: 8px 6px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    border-radius: 14px !important;
    background: var(--nd-mint) !important;
    color: var(--nd-ink) !important;
    font-size: .74rem !important;
    font-weight: 850 !important;
    text-align: center !important;
}
body.national-day .nd-values-list span:nth-child(even) {
    background: #fbf6e4 !important;
}
body.national-day .nd-values-list i {
    color: var(--nd-green-700) !important;
    font-size: .9rem !important;
}

/* Highlight + celebration cards now carry a clear national motif */
body.national-day .national-day-highlight {
    border: 1px solid rgba(0,108,53,.12) !important;
    box-shadow: 0 18px 42px rgba(0,75,42,.07) !important;
}
body.national-day .national-day-highlight::after {
    content: '96' !important;
    position: absolute !important;
    left: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: rgba(0,108,53,.055) !important;
    font-family: Arial, sans-serif !important;
    font-size: 5rem !important;
    font-weight: 950 !important;
    pointer-events: none !important;
}
body.national-day .nd-celebration-card {
    position: relative !important;
    overflow: hidden !important;
}
body.national-day .nd-celebration-card::after {
    content: '' !important;
    position: absolute !important;
    width: 90px !important;
    height: 90px !important;
    left: -32px !important;
    bottom: -42px !important;
    transform: rotate(45deg) !important;
    border: 12px double rgba(0,108,53,.04) !important;
}
body.national-day .nd-celebration-icon {
    background: linear-gradient(145deg, var(--nd-green-700), var(--nd-green-900)) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
}

/* Product/category treatment: festive but not noisy */
body.national-day .cat-card {
    border: 1px solid rgba(0,108,53,.10) !important;
    box-shadow: 0 11px 26px rgba(0,75,42,.05) !important;
}
body.national-day .cat-card.active,
body.national-day .cat-card:hover {
    border-color: rgba(209,173,61,.48) !important;
    box-shadow: 0 15px 31px rgba(0,75,42,.10) !important;
}
body.national-day .product-card {
    border-top: 3px solid rgba(0,108,53,.72) !important;
    box-shadow: 0 13px 30px rgba(0,75,42,.065) !important;
}
body.national-day .product-card:nth-child(3n+2) {
    border-top-color: rgba(209,173,61,.78) !important;
}
body.national-day .section-title-minimal,
body.national-day .best-sellers-header h2 {
    letter-spacing: -.02em !important;
}

/* Mobile / tablet: compact national identity without crowding */
@media (max-width: 1100px) {
    body.national-day .nd-hero-shell {
        padding: 50px 40px 48px !important;
        grid-template-columns: minmax(0,1fr) minmax(330px,.9fr) !important;
        gap: 32px !important;
    }
    body.national-day .nd-hero h1 { font-size: clamp(2.7rem, 5.6vw, 4.1rem) !important; }
    body.national-day .nd-values-list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 820px) {
    body.national-day .nd-hero {
        width: calc(100% - 18px) !important;
        margin: 10px 9px 18px !important;
        border-radius: 27px !important;
    }
    body.national-day .nd-hero-shell {
        min-height: 0 !important;
        padding: 26px 18px 30px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }
    body.national-day .nd-hero-copy { order: 2 !important; text-align: center !important; }
    body.national-day .nd-hero-visual {
        order: 1 !important;
        width: min(100%, 490px) !important;
        min-height: 300px !important;
        margin: 0 auto !important;
    }
    body.national-day .national-day-badge,
    body.national-day .nd-official-kicker { margin-left: auto !important; margin-right: auto !important; }
    body.national-day .nd-hero h1 {
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: clamp(2.15rem, 8.7vw, 3.35rem) !important;
    }
    body.national-day .nd-hero p { margin-left: auto !important; margin-right: auto !important; font-size: .9rem !important; }
    body.national-day .nd-hero-pills { justify-content: center !important; }
    body.national-day .nd-hero-actions { align-items: stretch !important; }
    body.national-day .nd-hero .btn-hero {
        width: min(100%, 390px) !important;
        min-width: 0 !important;
        margin: 0 auto !important;
    }
    body.national-day .nd-hero-brand { justify-content: center !important; }
    body.national-day .nd-flag-card {
        width: min(90%, 430px) !important;
        aspect-ratio: 16 / 10 !important;
        transform: rotate(-1deg) !important;
        border-radius: 24px !important;
    }
    body.national-day .nd-hero-96 {
        font-size: clamp(12rem, 43vw, 18rem) !important;
        -webkit-text-stroke-width: 1.5px !important;
    }
    body.national-day .nd-hero-date-badge {
        top: 2% !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }
    body.national-day .nd-chip-top { top: 11% !important; right: 1% !important; }
    body.national-day .nd-chip-bottom { bottom: 10% !important; left: 1% !important; }

    body.national-day .nd-values-ribbon {
        width: calc(100% - 26px) !important;
        margin: -34px 13px 20px !important;
        padding: 14px !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        border-radius: 21px !important;
    }
    body.national-day .nd-values-title {
        min-width: 0 !important;
        padding: 0 4px !important;
        align-items: center !important;
        text-align: center !important;
    }
    body.national-day .nd-values-list {
        display: flex !important;
        gap: 7px !important;
        overflow-x: auto !important;
        padding-bottom: 2px !important;
        scroll-snap-type: x proximity !important;
        scrollbar-width: none !important;
    }
    body.national-day .nd-values-list::-webkit-scrollbar { display: none !important; }
    body.national-day .nd-values-list span {
        flex: 0 0 93px !important;
        min-height: 53px !important;
        scroll-snap-align: center !important;
    }
    body.national-day .national-day-highlight::after { display: none !important; }
}

@media (max-width: 520px) {
    body.national-day .announcement-bar {
        min-height: 34px !important;
    }
    body.national-day .announcement-bar p {
        padding: 0 6px !important;
        font-size: .69rem !important;
    }
    body.national-day .nd-hero {
        width: calc(100% - 12px) !important;
        margin-inline: 6px !important;
        border-radius: 23px !important;
    }
    body.national-day .nd-weave-band { height: 9px !important; background-size: 88px 100% !important; }
    body.national-day .nd-hero-shell { padding: 21px 11px 25px !important; gap: 14px !important; }
    body.national-day .nd-hero-visual { min-height: 232px !important; }
    body.national-day .nd-flag-card {
        width: 92% !important;
        max-width: 360px !important;
        border-radius: 18px !important;
        box-shadow: 0 20px 42px rgba(0,28,17,.30), 0 0 0 6px rgba(255,255,255,.03) !important;
    }
    body.national-day .nd-flag-card::before { inset: 8px !important; border-radius: 12px !important; }
    body.national-day .nd-hero-96 { font-size: clamp(9rem, 43vw, 12rem) !important; }
    body.national-day .nd-hero-date-badge {
        min-width: 94px !important;
        min-height: 33px !important;
        padding: 7px 10px !important;
        font-size: .66rem !important;
    }
    body.national-day .nd-visual-chip {
        min-width: 78px !important;
        max-width: 96px !important;
        padding: 6px 7px !important;
        font-size: .58rem !important;
    }
    body.national-day .national-day-badge {
        font-size: .64rem !important;
        gap: 6px !important;
    }
    body.national-day .nd-badge-number { width: 35px !important; height: 24px !important; font-size: .68rem !important; }
    body.national-day .nd-official-kicker { font-size: .82rem !important; }
    body.national-day .nd-hero h1 { font-size: clamp(1.9rem, 9.4vw, 2.55rem) !important; line-height: 1.08 !important; }
    body.national-day .nd-hero p { font-size: .8rem !important; line-height: 1.78 !important; margin-bottom: 15px !important; }
    body.national-day .nd-hero-pills {
        gap: 6px !important;
        margin-bottom: 14px !important;
    }
    body.national-day .nd-hero-pills span {
        width: auto !important;
        min-height: 32px !important;
        padding: 6px 8px !important;
        font-size: .63rem !important;
    }
    body.national-day .nd-hero .btn-hero { min-height: 47px !important; border-radius: 14px !important; font-size: .82rem !important; }
    body.national-day .nd-hero-brand { margin-top: 14px !important; }
    body.national-day .nd-values-ribbon { width: calc(100% - 18px) !important; margin-left: 9px !important; margin-right: 9px !important; }
    body.national-day .nd-values-list span { flex-basis: 84px !important; font-size: .67rem !important; }
    body.national-day .national-day-highlight { margin-inline: 9px !important; }
}

@media (max-width: 390px) {
    body.national-day .nd-hero-visual { min-height: 205px !important; }
    body.national-day .nd-chip-top { top: 8% !important; }
    body.national-day .nd-chip-bottom { bottom: 7% !important; }
    body.national-day .nd-hero-pills span { font-size: .59rem !important; }
    body.national-day .nd-hero h1 { font-size: 1.82rem !important; }
    body.national-day .nd-hero p { font-size: .76rem !important; }
    body.national-day .nd-values-title span { font-size: .98rem !important; }
}

@media (prefers-reduced-motion: reduce) {
    body.national-day .nd-hero-pills span,
    body.national-day .nd-hero .btn-hero { transition: none !important; }
}
