/* Chennora Theme Custom Styles */ /* Header Navigation Styles */ header { // Navigation Links .navbar-nav { .nav-link { color: #FECD4F !important; font-weight: 600; transition: all 0.3s ease; &:hover { color: #2BB1A5 !important; transform: translateY(-2px); } &.active, &.active-item { color: #2BB1A5 !important; border-bottom: 2px solid #2BB1A5; } } .nav-item.active .nav-link, .nav-item .nav-link.active, .nav-item .nav-link.active-item { color: #2BB1A5 !important; } } // Top header links (phone, search, cart, etc.) .o_header_affix_top { a:not(.btn):not(.btn-primary) { color: #FECD4F !important; transition: all 0.3s ease; position: relative; &:hover { color: #111 !important; background-color: #FECD4F !important; border-radius: 50px; } } .fa, .oi { color: #FECD4F !important; } // Cart badge color .o_wsale_cart_quantity { background-color: #2BB1A5 !important; color: white !important; border: none; } } // Contact Us Button - Odoo CTA Button .btn, .btn-primary, .o_header_cta_btn, .btn-contact, a.btn[href="/contactus"], a.btn[href*="contact"] { background-color: #FECD4F !important; color: #04121D !important; border: none !important; border-radius: 8px !important; padding: 10px 25px !important; font-weight: 700 !important; text-transform: uppercase !important; transition: all 0.3s ease !important; box-shadow: 0 4px 10px rgba(254, 205, 79, 0.3) !important; text-decoration: none !important; &:hover { background-color: #04121D !important; color: #FECD4F !important; transform: translateY(-2px) !important; box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3) !important; } } // All header links (excluding buttons) a:not(.btn):not(.btn-primary):not(.o_header_cta_btn) { color: #FECD4F !important; &:hover { color: #2BB1A5 !important; } } // Header icons i.fa { color: #FECD4F !important; } } // Hero Button Hover .btn-lg.flat:hover, .btn-custom:hover { background-color: #2BB1A5 !important; color: white !important; transform: translateY(-3px); transition: all 0.3s ease; } // Category Card Hover .category-item { transition: all 0.3s ease; cursor: pointer; &:hover { transform: translateY(-10px); .category-img { border-color: #FECD4F !important; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); } } } // Background Text Overlay .bg-text-overlay { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; text-align: center; z-index: 0; pointer-events: none; h1 { font-size: 8rem; font-weight: 900; color: rgba(0, 0, 0, 0.03); // Very subtle white-space: nowrap; text-transform: uppercase; margin: 0; } } // Hero Shape Animation .hero-shape-accent { position: absolute; top: 5%; left: 2%; width: 350px; z-index: 1; opacity: 0.1; pointer-events: none; filter: brightness(0) invert(1); // Make it white/light animation: shapeFloat 15s ease-in-out infinite; } @keyframes shapeFloat { 0%, 100% { transform: translateY(0) rotate(0deg) scale(1); } 33% { transform: translateY(-20px) rotate(3deg) scale(1.05); } 66% { transform: translateY(10px) rotate(-2deg) scale(0.98); } } // Hero Floating Elements .hero-tomato-right { position: absolute; top: 5%; right: 2%; width: 200px; z-index: 2; pointer-events: none; animation: shapeFloat 8s ease-in-out infinite; } .hero-leaf-right { position: absolute; top: 15%; right: 8%; width: 80px; z-index: 1; pointer-events: none; animation: shapeFloat 10s ease-in-out infinite reverse; } .hero-lettuce-left { position: absolute; bottom: 5%; left: -2%; width: 250px; z-index: 2; pointer-events: none; animation: shapeFloat 12s ease-in-out infinite; } .hero-sketches-left { position: absolute; top: 2%; left: 2%; width: 300px; z-index: 1; pointer-events: none; opacity: 0.2; animation: shapeFloat 20s linear infinite; } .hero-onion-mid { position: absolute; bottom: 20%; left: 40%; width: 120px; z-index: 1; pointer-events: none; opacity: 0.6; animation: shapeFloat 9s ease-in-out infinite; } // Section Headers section h2.display-3, section h2.display-4 { font-size: 40px !important; font-weight: 900 !important; line-height: 50px !important; text-transform: uppercase; letter-spacing: -0.5px; @media (max-width: 991px) { font-size: 32px !important; line-height: 42px !important; } @media (max-width: 767px) { font-size: 28px !important; line-height: 38px !important; } } .section-title-wrapper { position: relative; z-index: 1; text-align: center; margin-bottom: 50px; .title-icon { width: 40px; margin: 0 10px; filter: brightness(0.8); } } // Marquee Animation .quee-container { overflow: hidden; position: relative; background: #f4f1ea; padding: 40px 0; .quee-content { display: flex; width: 200%; animation: marquee 30s linear infinite; h1 { font-size: 6rem; font-weight: 900; color: rgba(0, 0, 0, 0.05); white-space: nowrap; text-transform: uppercase; margin: 0; padding-right: 100px; letter-spacing: 5px; } } } @keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } // Slider Adjustments #categoryCarousel { .carousel-inner { padding-bottom: 20px; } } // About Section Styles .s_about_premium { position: relative; overflow: hidden; background-color: #F4F1EA !important; padding: 100px 0; .floating-lemon { position: absolute; left: -40px; top: 35%; width: 150px; z-index: 10; animation: float 6s ease-in-out infinite; } .floating-leaves { position: absolute; left: 80px; bottom: 8%; width: 180px; z-index: 10; animation: float 8s ease-in-out infinite; } .floating-bellpepper { position: absolute; right: -30px; top: 80px; width: 140px; z-index: 10; animation: float 7s ease-in-out infinite; } .about-image-wrapper { position: relative; display: inline-block; &::before { content: ""; position: absolute; left: -15px; top: -15px; width: 100%; height: 100%; z-index: 0; pointer-events: none; } img { position: relative; z-index: 5; max-width: 100%; height: auto; display: block; } } .about-content { h2 { font-size: 2.8rem; font-weight: 900; color: #04121D; line-height: 1.2; margin-bottom: 25px; } h5 { font-size: 1.2rem; font-weight: 700; color: #04121D; margin-bottom: 20px; } p { font-size: 15px; color: rgba(4, 18, 29, 0.7); line-height: 1.8; margin-bottom: 20px; } } } @keyframes float { 0% { transform: translateY(0px) rotate(0deg); } 50% { transform: translateY(-20px) rotate(5deg); } 100% { transform: translateY(0px) rotate(0deg); } } /* Contact Section Premium */ .s_contact_premium { background-color: #F4F1EA !important; padding: 100px 0; position: relative; overflow: hidden; .contact-image-wrapper { position: relative; display: inline-block; &::before { content: ""; position: absolute; left: -15px; top: -15px; width: 100%; height: 100%; z-index: 0; pointer-events: none; } img { position: relative; z-index: 5; max-width: 100%; height: auto; display: block; } } .contact-form-card { background: white; padding: 50px; border-radius: 15px; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05); h2 { font-size: 2.2rem; font-weight: 800; color: #04121D; line-height: 1.3; margin-bottom: 35px; } .s_website_form_label { font-size: 14px; font-weight: 500; color: #666; margin-bottom: 8px; display: block; text-align: left !important; width: auto !important; padding: 0 !important; .s_website_form_mark { color: #FECD4F; margin-left: 3px; } } .form-control, .form-select { background-color: #f8f9fa !important; border: 1px solid #FECD4F !important; border-radius: 10px !important; padding: 14px 18px !important; font-size: 15px !important; color: #04121D !important; transition: all 0.3s ease; &::placeholder { color: #adb5bd; } &:focus { border-color: rgba(43, 177, 165, 0.3) !important; background-color: white !important; box-shadow: 0 5px 15px rgba(43, 177, 165, 0.1) !important; } } .s_website_form_send { background-color: #FECD4F !important; color: #04121D !important; border: none !important; border-radius: 10px !important; padding: 16px !important; font-weight: 800 !important; font-size: 15px !important; text-transform: uppercase !important; letter-spacing: 1px !important; width: 100% !important; margin-top: 15px !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px; transition: all 0.3s ease !important; box-shadow: 0 4px 10px rgba(254, 205, 79, 0.2) !important; &:hover { background-color: #04121D !important; color: #FECD4F !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2) !important; } &::after { content: "\2192"; font-size: 18px; } } } } // Why Choose Section .s_why_choose_premium { background-color: #04121D; position: relative; overflow: hidden; .choose-left-accent { position: absolute; left: 0; bottom: -20px; width: 180px; z-index: 1; opacity: 0.9; } .choose-right-accent { position: absolute; right: 0; top: 10%; width: 250px; z-index: 1; opacity: 0.9; } .choose-pepper-float { position: absolute; left: 5%; top: 10%; width: 80px; z-index: 2; animation: float 5s ease-in-out infinite; } .choose-main-dish-wrapper { position: relative; z-index: 5; &::after { content: ""; position: absolute; top: -20px; right: 20%; width: 300px; height: 200px; background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, transparent 70%); z-index: -1; } img { filter: drop-shadow(0 30px 50px rgba(0, 0, 0, 0.5)); } } .choose-content { position: relative; z-index: 10; h6 { font-weight: 800; letter-spacing: 1px; } h2 { letter-spacing: -1px; margin-bottom: 25px; } p { line-height: 1.8; opacity: 0.8; } } } // Popular Deals Section .s_popular_deals_premium { background-color: white; .deal-item { display: flex; align-items: center; margin-bottom: 10px; transition: all 0.3s ease; padding: 10px; border-radius: 8px; cursor: pointer; &:hover, &.active { background-color: #f8f9fa; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); h6 { color: #2BB1A5 !important; } } .deal-img-wrapper { width: 80px; height: 80px; flex-shrink: 0; background: #f8f9fa; border-radius: 4px; overflow: hidden; margin-right: 15px; img { width: 100%; height: 100%; object-fit: cover; } } .deal-details { flex-grow: 1; h6 { font-size: 18px; font-weight: 800; color: #04121D; margin-bottom: 2px; } p { font-size: 12px; color: #888; margin: 0; } } .deal-price { font-size: 16px; font-weight: 800; color: #04121D; white-space: nowrap; } } .deal-center-image { position: relative; padding: 20px; &::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #e9ecef; z-index: 0; border-radius: 4px; } img { position: relative; z-index: 1; width: 100%; border-radius: 50%; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } } } // Testimonials Section .s_testimonials_premium { background-color: #04121D; position: relative; overflow: hidden; .testimonial-main-image-wrapper { position: relative; border-radius: 0 400px 400px 0; overflow: hidden; border-right: 15px solid #FECD4F; img { width: 100%; height: 100%; object-fit: cover; } .video-btn-wrapper { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 20; .play-btn { width: 150px; height: 150px; background: transparent; border: none; position: relative; display: flex; align-items: center; justify-content: center; cursor: pointer; .play-icon { width: 70px; height: 70px; background: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #04121D; font-size: 24px; box-shadow: 0 0 20px rgba(0, 0, 0, 0.3); z-index: 5; } .rotating-text { position: absolute; width: 100%; height: 100%; animation: rotate 15s linear infinite; img { width: 100%; height: 100%; object-fit: contain; } } } } } .testimonial-content-side { padding: 80px 40px; position: relative; z-index: 10; color: white; .google-reviews-logo { width: 180px; margin-bottom: 25px; } .testimonial-carousel { .carousel-item { p { font-size: 18px; line-height: 1.8; font-style: italic; color: rgba(255, 255, 255, 0.8); } } } .testimonial-controls { display: flex; gap: 15px; margin-top: 40px; .control-btn { width: 50px; height: 50px; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; background: transparent; transition: all 0.3s ease; &:hover { background: #FECD4F; border-color: #FECD4F; color: #04121D; } &.next-btn { background: #FECD4F; border-color: #FECD4F; color: #04121D; } } } } .testimonial-accent-right { position: absolute; right: 0; bottom: 0; width: 150px; z-index: 5; } } @keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } // FAQ Section .s_faq_premium { background-color: #F4F1EA; .faq-accordion { .accordion-item { background-color: white; border: none; border-radius: 12px !important; margin-bottom: 20px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); overflow: hidden; .accordion-button { background-color: white; color: #04121D; font-weight: 700; padding: 20px 25px; border: none; box-shadow: none; position: relative; font-size: 18px; &:not(.collapsed) { color: #2BB1A5; &::after { content: "-"; transform: none; background-image: none; color: #FECD4F; font-size: 30px; line-height: 1; } } &::after { content: "+"; background-image: none; color: #FECD4F; font-size: 24px; font-weight: 300; display: flex; align-items: center; justify-content: center; } } .accordion-body { padding: 0 25px 25px; color: #555; font-size: 15px; line-height: 1.6; } } } .faq-carousel-wrapper { border-radius: 15px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); .carousel-control-prev, .carousel-control-next { width: 40px; height: 40px; background: #FECD4F; border-radius: 50%; top: 50%; transform: translateY(-50%); opacity: 0.9; span { color: #04121D; font-size: 12px; } } .carousel-control-prev { left: 15px; } .carousel-control-next { right: 15px; } } .know-more-btn { background-color: #FECD4F; color: #04121D; font-weight: 700; padding: 12px 30px; border-radius: 4px; text-transform: uppercase; display: inline-flex; align-items: center; gap: 10px; margin-top: 30px; text-decoration: none; span { background: black; color: white; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 2px; font-size: 12px; } } } // Blog Section .s_blog_premium { background-color: #F4F1EA; position: relative; overflow: hidden; .blog-card { background: white; border-radius: 12px; overflow: hidden; height: 100%; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); position: relative; color: #04121D; .blog-img-wrapper { position: relative; height: 280px; overflow: hidden; img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); } .date-badge { position: absolute; bottom: -20px; left: 20px; width: 60px; height: 60px; background: white; border: 2px solid #2BB1A5; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: 700; z-index: 5; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; span { display: block; line-height: 1; &:first-child { font-size: 20px; color: #04121D; transition: color 0.3s; } &:last-child { font-size: 10px; color: #2BB1A5; text-transform: uppercase; transition: color 0.3s; } } } } .blog-body { padding: 40px 25px 30px; transition: all 0.3s ease; .category-line { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: #888; margin-bottom: 20px; display: inline-block; padding: 4px 12px; background: #f8f9fa; border-radius: 4px; transition: all 0.3s ease; } h4 { font-size: 20px; font-weight: 800; margin-bottom: 15px; line-height: 1.4; transition: color 0.3s ease; } .blog-excerpt { font-size: 14px; line-height: 1.6; color: #666; transition: color 0.3s ease; } } &:hover { transform: translateY(-10px); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15); .blog-img-wrapper { img { transform: scale(1.1); } .date-badge { border: 2px dashed #2BB1A5; } } .blog-body { h4 { color: #2BB1A5; } } } } .fries-accent { position: absolute; bottom: -20px; left: -30px; width: 250px; z-index: 10; pointer-events: none; } } // Gallery Slider Section .s_gallery_slider_premium { background-color: #F4F1EA; padding: 30px 0; overflow: hidden; position: relative; border-top: 1px solid rgba(0, 0, 0, 0.05); .gallery-container { display: flex; align-items: center; } .gallery-track { display: flex; gap: 15px; transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1); } .gallery-item { width: 300px; height: 300px; flex-shrink: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } &:hover img { transform: scale(1.1); } } } // Footer // Footer Refinement footer#bottom { background-color: #04121D !important; color: white; position: relative; padding-top: 120px; // Space for the floating bar overflow: visible; // Floating Teal Bar .footer-cta-bar-wrapper { position: absolute; top: -60px; left: 0; right: 0; z-index: 20; .footer-cta-bar { background-color: #2BB1A5; border-radius: 20px; padding: 30px 50px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); display: flex; justify-content: space-between; align-items: center; .cta-item { display: flex; align-items: center; gap: 20px; color: white; .icon-circle { width: 50px; height: 50px; background: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #2BB1A5; font-size: 20px; } strong { display: block; font-size: 14px; opacity: 0.8; } p { margin: 0; font-weight: 700; font-size: 16px; } } } } .footer-title { font-size: 24px; font-weight: 800; margin-bottom: 30px; position: relative; padding-bottom: 10px; &::after { content: ''; position: absolute; left: 0; bottom: 0; width: 50px; height: 3px; background: #2BB1A5; } } .footer-logo { max-width: 180px; } .social-links { display: flex; gap: 10px; a { width: 35px; height: 35px; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 4px; display: flex; align-items: center; justify-content: center; color: white !important; transition: all 0.3s; &:hover { background: #FECD4F; border-color: #FECD4F; color: #04121D; } } } .footer-list { list-style: none; padding: 0; margin: 0; li { margin-bottom: 15px; display: flex; align-items: flex-start; gap: 10px; i { color: #2BB1A5; font-size: 12px; margin-top: 5px; } a { color: white !important; text-decoration: none; transition: color 0.3s; &:hover { color: #FECD4F; } } } } .footer-accent-left { position: absolute; left: 0; bottom: 100px; width: 200px; opacity: 0.8; pointer-events: none; } .footer-accent-right { position: absolute; right: 40px; top: 40%; transform: translateY(-50%); width: 250px; opacity: 0.8; pointer-events: none; border-radius: 50%; } .footer-copyright-bar { background-color: #FECD4F; color: #04121D; text-align: center; padding: 15px; font-weight: 700; margin-top: 80px; } } // Mobile Responsive Footer @media (max-width: 991px) { footer#bottom { padding-top: 200px; .footer-cta-bar-wrapper { top: -150px; .footer-cta-bar { flex-direction: column; gap: 20px; padding: 30px; } } .footer-accent-left, .footer-accent-right { display: none; } } } /* About Us Hero Banner */ .about-hero-banner { background: linear-gradient(rgba(4, 18, 29, 0.4), rgba(4, 18, 29, 0.4)), url('/dine360_theme_chennora/static/src/img/about-banner-bg.png') no-repeat center center !important; background-size: cover !important; min-height: 450px !important; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center; position: relative; padding: 100px 0 !important; h1 { font-size: 5rem !important; font-weight: 900 !important; color: white !important; text-transform: uppercase; margin-bottom: 5px !important; letter-spacing: 2px; } .breadcrumb-container { font-size: 1.1rem; font-weight: 600; color: white; a { color: white; text-decoration: none; transition: color 0.3s; &:hover { color: #FECD4F; } } .separator { margin: 0 10px; opacity: 0.7; } .active-item { color: #FECD4F; } } } /* Global Red Color Removal & Theme Alignment */ .text-danger { color: #2BB1A5 !important; // Replace red text with theme teal } .bg-danger, .btn-danger { background-color: #2BB1A5 !important; border-color: #2BB1A5 !important; color: white !important; } .badge-danger { background-color: #FECD4F !important; color: #04121D !important; } // Force Shop category sidebar active item to NOT be red #products_grid_before .nav-link.active { background-color: #2BB1A5 !important; color: white !important; } // Global Link Hover & Active Color Fix a:hover, a:hover *, .btn-link:hover, .btn-link:hover * { color: #2BB1A5 !important; } .active, .nav-link.active, .nav-pills .nav-link.active { color: #2BB1A5 !important; } // Special case for buttons or text that should be white on teal background .nav-pills .nav-link.active, .category-list .active, .category-list .active span { color: white !important; }