/* ----------------------------------

Template Name: Foodu - Food & Restaurant HTML Template
Author: validtheme
Description:
Version: 1.6

Main Font    : Jost
Main Color   : #826a45

-------------------------------------

[Typography]

Body copy:    15px 'Jost', sans-serif
Header:     36px 'Belleza', sans-serif
Input, textarea:  16px 'Jost', sans-serif
Sidebar heading:  22px 'Jost', sans-serif

>>> TABLE OF CONTENTS:
=======================
        
    01. Template default css
        - Animations
        - General
        - Section Title
        - Video Button
        - Typography
        - Tables
        - Forms
        - Buttons
        - Pagination
        - Colors
        - Accordion
        - Tabs
    02. Preloader
    03 Navbar
        - Navbar Default
        - Navbar Box
        - Navbar Sticky
        - Navbar Transparent
    04. Banner
        - Banner Slide
        - Banner Zoom
        - Banner Fixed
	05. About
        - Version One
        - Version Two
    06. Food Menu
        - Style One
        - Style Two
        - Style Three
    07. Gallery
    08. Chef
        - Chef Version One
        - Chef Single
	09. Reservation
        - Style One
        - Style Two
    10. Testimonials
    11. Partners
    12. Opening Hours
    13. Blog
        - Standard
        - Grid
        - Left Sidebar
        - Right Sidebar
        - Single
    14. Error 404
    15. Footer
    16. PHP Contact Form
    17. Others

*/

/* House of Nizams Custom Styles */

/* Import Google Fonts for House of Nizams */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* House of Nizams Brand Variables - Complete Override of Template Defaults */
:root {
    /* House of Nizams Brand Colors */
    --hon-primary-maroon: #661012;
    --hon-cream: #F2ECBE;
    --hon-gold: #C89A46;
    --hon-charcoal: #141414;
    --hon-white: #FFFFFF;

    /* Typography - Force Override template font variables */
    --font-heading: 'Playfair Display', serif !important;
    --font-body: 'Poppins', sans-serif !important;
    --font-default: 'Poppins', sans-serif !important;
    --font-optional: 'Playfair Display', serif !important;

    /* Complete Override of Template Colors with House of Nizams Brand */
    --color-primary: #661012 !important;
    --color-secondary: #C89A46 !important;
    --color-heading: #141414 !important;
    --color-paragraph: #666666 !important;
    --dark: #141414 !important;
    --dark-secondary: #661012 !important;
    --white: #FFFFFF !important;
    --black: #141414 !important;

    /* Background colors - Complete override */
    --bg-gray: #F2ECBE !important;
    --bg-gray-secondary: #F2ECBE !important;
    --bg-cream: #F2ECBE !important;

    /* Gradient overrides */
    --bg-gradient: linear-gradient(45deg, #661012 30%, #C89A46 100%) !important;
    --bg-gradient-reverse: linear-gradient(45deg, #C89A46 30%, #661012 100%) !important;

    /* Box shadows with brand colors */
    --box-shadow-primary: -1px 3px 10px 0 rgba(102, 16, 18, 0.3) !important;
    --box-shadow-secondary: 0 10px 30px 0 rgba(200, 154, 70, 0.4) !important;
    --box-shadow-regular: 0px 2px 12px 0px rgba(102, 16, 18, 0.1) !important;
}

/* Force all template color references to use House of Nizams colors */
* {
    --color-primary: #661012 !important;
    --color-secondary: #C89A46 !important;
    --color-heading: #141414 !important;
    --font-heading: 'Playfair Display', serif !important;
    --font-default: 'Poppins', sans-serif !important;
}

/* Force House of Nizams fonts globally with high specificity */
* {
    font-family: 'Poppins', sans-serif !important;
}

body,
body * {
    font-family: 'Poppins', sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
h1 *, h2 *, h3 *, h4 *, h5 *, h6 * {
    font-family: 'Playfair Display', serif !important;
    color: var(--hon-charcoal) !important;
}

/* Specific overrides for common elements */
p, span, div, a, li, td, th, input, textarea, button, label {
    font-family: 'Poppins', sans-serif !important;
}

/* Navigation and menu fonts */
.navbar-nav .nav-link,
.navbar-nav .dropdown-menu a,
.navbar-brand,
.attr-nav a {
    font-family: 'Poppins', sans-serif !important;
}

/* Button fonts */
.btn, button {
    font-family: 'Poppins', sans-serif !important;
}

/* Additional specific overrides for template elements */
.food-menu-style-five-items .nav-tabs .nav-link,
.meal-items li .content .top .title h4,
.meal-items li .content .bottom p,
.banner-area h4,
.banner-area h2,
.banner-area p,
.site-heading h4,
.site-heading h2,
.discount-content h4,
.discount-content h2,
.platform-info h5,
.platform-info p,
.top-bar-area a,
.footer-item h4,
.footer-item p,
.footer-item a {
    font-family: inherit !important;
}

/* Ensure headings use Playfair Display */
.site-heading h2,
.site-heading h4,
.discount-content h2,
.banner-area h2,
.banner-area h4,
.royal-accent,
.heritage-text {
    font-family: var(--font-heading) !important;
}

/* Ensure body text uses Poppins */
.site-heading p,
.discount-content p,
.banner-area p,
.platform-info p,
.meal-items li .content .bottom p,
.top-bar-area,
.footer-item p {
    font-family: 'Poppins', sans-serif !important;
}

/* Brand-specific button styles - Consistent across all instances */
.btn-theme,
.btn.btn-theme {
    background-color: var(--hon-primary-maroon) !important;
    border-color: var(--hon-primary-maroon) !important;
    color: var(--hon-white) !important;
    transition: all 0.3s ease !important;
    position: relative;
    overflow: hidden;
}

.btn-theme:hover,
.btn.btn-theme:hover,
.btn-theme:focus,
.btn.btn-theme:focus,
.btn-theme:active,
.btn.btn-theme:active {
    background-color: var(--hon-gold) !important;
    border-color: var(--hon-gold) !important;
    color: var(--hon-charcoal) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(200, 154, 70, 0.4) !important;
}

/* Override template's pseudo-element animations for consistent behavior */
.btn-theme::after,
.btn.btn-theme::after {
    display: none !important;
}

/* Outline theme button styles */
.btn-outline-theme,
.btn.btn-outline-theme {
    background-color: transparent !important;
    border: 2px solid var(--hon-primary-maroon) !important;
    color: var(--hon-primary-maroon) !important;
    transition: all 0.3s ease !important;
}

.btn-outline-theme:hover,
.btn.btn-outline-theme:hover,
.btn-outline-theme:focus,
.btn.btn-outline-theme:focus,
.btn-outline-theme:active,
.btn.btn-outline-theme:active {
    background-color: var(--hon-primary-maroon) !important;
    border-color: var(--hon-primary-maroon) !important;
    color: var(--hon-white) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(102, 16, 18, 0.3) !important;
}

.btn-outline-theme::after,
.btn.btn-outline-theme::after {
    display: none !important;
}

/* Light outline button for dark backgrounds */
.btn-outline-light,
.btn.btn-outline-light {
    background-color: transparent !important;
    border: 2px solid var(--hon-white) !important;
    color: var(--hon-white) !important;
    transition: all 0.3s ease !important;
}

.btn-outline-light:hover,
.btn.btn-outline-light:hover,
.btn-outline-light:focus,
.btn.btn-outline-light:focus,
.btn-outline-light:active,
.btn.btn-outline-light:active {
    background-color: var(--hon-white) !important;
    border-color: var(--hon-white) !important;
    color: var(--hon-charcoal) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(255, 255, 255, 0.3) !important;
}

.btn-outline-light::after,
.btn.btn-outline-light::after {
    display: none !important;
}

/* Navigation brand colors */
.navbar-brand {
    color: var(--hon-primary-maroon) !important;
}

/* SVG Logo styling */
.navbar-brand img.logo {
    max-height: 80px;
    width: auto;
}

.side .logo img {
    max-height: 80px;
    width: auto;
}

/* Ensure SVG logos scale properly */
.logo svg,
.logo img {
    max-width: 100%;
    height: auto;
}

/* Index-4 style header enhancements */
.top-bar-area {
    background: linear-gradient(135deg, var(--hon-primary-maroon) 0%, var(--hon-charcoal) 100%) !important;
}

.top-bar-area a {
    color: var(--hon-white) !important;
}

.top-bar-area a:hover {
    color: var(--hon-gold) !important;
}

/* Dual logo system for index-4 style */
.logo-display {
    display: block;
}

.logo-scrolled {
    display: none;
}

/* When navbar is scrolled/sticky */
.navbar-sticky.navbar-fixed .logo-display {
    display: none;
}

.navbar-sticky.navbar-fixed .logo-scrolled {
    display: block;
}

/* Reservation button styling - Consistent with btn-theme */
.attr-nav .button a {
    background-color: var(--hon-primary-maroon) !important;
    color: var(--hon-white) !important;
    border: 2px solid var(--hon-primary-maroon) !important;
    padding: 10px 20px;
    border-radius: 25px;
    font-weight: 600;
    transition: all 0.3s ease !important;
    text-decoration: none;
}

.attr-nav .button a:hover,
.attr-nav .button a:focus,
.attr-nav .button a:active {
    background-color: var(--hon-gold) !important;
    border-color: var(--hon-gold) !important;
    color: var(--hon-charcoal) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(200, 154, 70, 0.4) !important;
    text-decoration: none;
}

/* Complete Template Override - Force House of Nizams Colors Everywhere */

/* Override ALL template button styles */
.banner-style-four .btn.btn-theme:hover,
.banner-style-six .btn.btn-theme:hover,
.text-light .btn.btn-theme:hover,
.shadow .btn.btn-theme:hover,
.color-style-two .btn.btn-theme:hover,
.btn:hover,
.btn.btn-border-theme:hover,
.btn.btn-gradient:hover {
    background-color: var(--hon-gold) !important;
    border-color: var(--hon-gold) !important;
    color: var(--hon-charcoal) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(200, 154, 70, 0.4) !important;
}

/* Force all primary color elements to use House of Nizams maroon */
.bg-theme,
.bg-gradient,
.bg-gradient-secondary,
.video-play-button i,
.video-play-button .effect,
.video-play-button .effect::after,
.mix-item-menu button.active,
.nav-tabs.food-menu-five-navs .nav-item button.active,
.cart-btn:hover,
.reservation-form .input-group span.input-group-addon,
.reservation-tabs .nav-tabs .nav-item button.active {
    background-color: var(--hon-primary-maroon) !important;
    color: var(--hon-white) !important;
}

/* Force all secondary/accent colors to use House of Nizams gold */
.royal-accent,
.heritage-text,
.entity-content h5,
.platform-icon,
.entity-badge {
    color: var(--hon-gold) !important;
}

/* Force all heading colors */
h1, h2, h3, h4, h5, h6,
.title,
.entity-content h3,
.dual-concept-cta h4 {
    color: var(--hon-charcoal) !important;
    font-family: 'Playfair Display', serif !important;
}

/* Force all link hover states */
a:hover,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active,
.home-blog-style-one-item .meta-tags li a:hover,
.chef-single-area .right-info ul li a:hover {
    color: var(--hon-primary-maroon) !important;
}

/* Ensure all button animations are consistent */
.btn-theme:hover::after,
.btn.btn-theme:hover::after,
.banner-style-four .btn.btn-theme:hover::after,
.banner-style-six .btn.btn-theme:hover::after,
.text-light .btn.btn-theme:hover::after,
.shadow .btn.btn-theme:hover::after,
.btn:hover::after,
.btn.btn-border-theme:hover::after {
    display: none !important;
    transform: none !important;
}

/* Force consistent typography across all elements */
body,
p,
.food-menu-style-one .item .item-price .left,
.food-menu-style-one .item .item-price h5,
.home-blog-style-one-item .meta-tags li a,
footer a {
    font-family: 'Poppins', sans-serif !important;
}

/* Force heading typography */
.banner-style-one h4,
.fun-fact-style-two span.medium,
.chef-single-area .right-info ul li p,
.contact-style-one-info li p,
.offer-fun-fact .fun-fact span.medium {
    font-family: 'Playfair Display', serif !important;
}

.navbar-nav .nav-link {
    color: var(--hon-charcoal) !important;
    font-family: var(--font-body) !important;
    font-weight: 500;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: var(--hon-primary-maroon) !important;
}

/* Hero section brand styling */
.banner-area {
    background: linear-gradient(135deg, var(--hon-primary-maroon) 0%, var(--hon-charcoal) 100%) !important;
}

/* Hero section text colors - ensure white text on dark background */
.banner-area h1,
.banner-area h2,
.banner-area h3,
.banner-area h4,
.banner-area h5,
.banner-area h6 {
    color: var(--hon-white) !important;
}

.banner-area .royal-accent {
    color: var(--hon-gold) !important;
}

.banner-area .heritage-text {
    color: var(--hon-cream) !important;
}

.banner-area p {
    color: var(--hon-white) !important;
}

/* Menu section styling */
.food-menu-style-five-items .nav-tabs .nav-link {
    color: var(--hon-charcoal) !important;
    font-family: var(--font-body) !important;
}

.food-menu-style-five-items .nav-tabs .nav-link.active {
    background-color: var(--hon-primary-maroon) !important;
    color: var(--hon-white) !important;
    border-color: var(--hon-primary-maroon) !important;
}

/* Trust badges styling */
.trust-badges {
    background-color: var(--hon-cream);
    padding: 20px;
    border-radius: 10px;
    margin: 20px 0;
}

.trust-badge {
    display: inline-block;
    background-color: var(--hon-primary-maroon);
    color: var(--hon-white);
    padding: 8px 16px;
    border-radius: 20px;
    margin: 5px;
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 14px;
}

/* Royal theme elements */
.royal-accent {
    color: var(--hon-gold) !important;
    font-family: var(--font-heading) !important;
}

.heritage-text {
    font-family: var(--font-heading) !important;
    font-style: italic;
    color: var(--hon-primary-maroon) !important;
}

/* Online Ordering Section Styles */
.online-order-options {
    margin-top: 30px;
}

.order-platform-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 20px;
}

.platform-item {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 10px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
}

.platform-item:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

.platform-icon {
    font-size: 24px;
    color: var(--hon-gold);
    margin-right: 15px;
    min-width: 40px;
}

.platform-info h5 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 600;
}

.platform-info p {
    margin: 0 0 10px 0;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8) !important;
}

.platform-info .btn {
    font-size: 12px;
    padding: 5px 12px;
}

.online-order-features {
    margin-top: 20px;
    text-align: center;
}

.feature-badge {
    font-size: 14px;
    font-weight: 500;
}

/* Responsive design for online ordering */
@media (max-width: 768px) {
    .order-platform-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .platform-item {
        padding: 12px;
    }

    .platform-icon {
        font-size: 20px;
        margin-right: 12px;
    }
}

/* Entity Cards Styling for One Roof Two Entities Section */
.entity-card {
    background: var(--hon-white);
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    margin-bottom: 30px;
    height: 100%;
}

.entity-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.entity-image {
    position: relative;
    height: 250px;
    overflow: hidden;
}

.entity-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.entity-card:hover .entity-image img {
    transform: scale(1.05);
}

.entity-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    background: var(--hon-gold);
    color: var(--hon-charcoal);
    padding: 8px 16px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 14px;
}

.entity-content {
    padding: 30px;
}

.entity-icon {
    font-size: 48px;
    color: var(--hon-primary-maroon);
    margin-bottom: 20px;
}

.entity-content h3 {
    color: var(--hon-charcoal);
    font-family: var(--font-heading);
    font-size: 28px;
    margin-bottom: 10px;
}

.entity-content h5 {
    color: var(--hon-gold);
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 20px;
}

.entity-content p {
    color: #666;
    line-height: 1.6;
    margin-bottom: 25px;
}

.entity-features {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.entity-features li {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    color: var(--hon-charcoal);
    font-size: 14px;
}

.entity-features li i {
    color: var(--hon-primary-maroon);
    margin-right: 12px;
    width: 20px;
    font-size: 16px;
}

.entity-actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.entity-actions .btn {
    flex: 1;
    min-width: 140px;
    text-align: center;
}

/* Dual Concept CTA Section */
.dual-concept-cta {
    background: linear-gradient(135deg, var(--hon-cream) 0%, rgba(242, 236, 190, 0.5) 100%);
    padding: 40px;
    border-radius: 15px;
    text-align: center;
}

.dual-concept-cta h4 {
    color: var(--hon-primary-maroon);
    font-family: var(--font-heading);
    font-size: 32px;
    margin-bottom: 20px;
}

.dual-concept-cta p {
    color: var(--hon-charcoal);
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 30px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.cta-buttons .btn {
    min-width: 160px;
}

/* Responsive Design for Entity Cards */
@media (max-width: 768px) {
    .entity-content {
        padding: 20px;
    }

    .entity-content h3 {
        font-size: 24px;
    }

    .entity-actions {
        flex-direction: column;
    }

    .entity-actions .btn {
        flex: none;
        width: 100%;
    }

    .dual-concept-cta {
        padding: 30px 20px;
    }

    .dual-concept-cta h4 {
        font-size: 28px;
    }

    .dual-concept-cta p {
        font-size: 16px;
    }

    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }

    .cta-buttons .btn {
        width: 100%;
        max-width: 250px;
    }
}

/* Final Override - Ensure Template Cannot Override Our Brand Colors */
/* This section uses the highest specificity to force our colors */

/* Force all instances of template's primary color to use House of Nizams maroon */
[style*="color: var(--color-primary)"],
[style*="background: var(--color-primary)"],
[style*="background-color: var(--color-primary)"],
[style*="border-color: var(--color-primary)"] {
    color: var(--hon-primary-maroon) !important;
    background-color: var(--hon-primary-maroon) !important;
    border-color: var(--hon-primary-maroon) !important;
}

/* Force all instances of template's secondary color to use House of Nizams gold */
[style*="color: var(--color-secondary)"],
[style*="background: var(--color-secondary)"],
[style*="background-color: var(--color-secondary)"],
[style*="border-color: var(--color-secondary)"] {
    color: var(--hon-gold) !important;
    background-color: var(--hon-gold) !important;
    border-color: var(--hon-gold) !important;
}

/* Specific template element overrides */
.validtheme-shop-area,
.services-style-one-area,
.food-menu-style-five-area,
.banner-area,
.about-style-one-area {
    --color-primary: var(--hon-primary-maroon) !important;
    --color-secondary: var(--hon-gold) !important;
    --font-heading: 'Playfair Display', serif !important;
    --font-default: 'Poppins', sans-serif !important;
}

/* Navigation specific overrides */
.navbar,
.top-bar-area,
.attr-nav {
    --color-primary: var(--hon-primary-maroon) !important;
    --color-secondary: var(--hon-gold) !important;
}

/* Menu and food sections */
.food-menu-style-one,
.food-menu-style-five,
.special-menu-style-one {
    --color-primary: var(--hon-primary-maroon) !important;
    --color-secondary: var(--hon-gold) !important;
}

/* Footer overrides */
footer,
.footer-area {
    --color-primary: var(--hon-primary-maroon) !important;
    --color-secondary: var(--hon-gold) !important;
    --font-default: 'Poppins', sans-serif !important;
}

/* Ensure consistent brand colors in all states */
*:hover,
*:focus,
*:active,
*.active {
    --color-primary: var(--hon-primary-maroon) !important;
    --color-secondary: var(--hon-gold) !important;
}

/* Final typography enforcement */
* {
    --font-heading: 'Playfair Display', serif !important;
    --font-default: 'Poppins', sans-serif !important;
    --font-optional: 'Playfair Display', serif !important;
}

/* Font Awesome Icon Fix - Ensure proper loading and display */
.fas, .far, .fab, .fal, .fa {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 5 Free", "Font Awesome 5 Brands", "FontAwesome" !important;
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.fab {
    font-weight: 400;
}

.far {
    font-weight: 400;
}

/* Ensure icons are visible and properly sized */
i[class*="fa-"],
i[class^="fa-"],
.fa,
.fas,
.far,
.fab,
.fal {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

/* Fix for any missing icons - show fallback */
i[class*="fa-"]:before,
i[class^="fa-"]:before,
.fa:before,
.fas:before,
.far:before,
.fab:before,
.fal:before {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
    font-weight: inherit;
}

/* Specific icon fixes for commonly used icons */
.fa-search:before { content: "\f002"; }
.fa-times:before { content: "\f00d"; }
.fa-bars:before { content: "\f0c9"; }
.fa-map-marker-alt:before { content: "\f3c5"; }
.fa-phone:before { content: "\f095"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-facebook-f:before { content: "\f39e"; }
.fa-instagram:before { content: "\f16d"; }
.fa-whatsapp:before { content: "\f232"; }
.fa-youtube:before { content: "\f167"; }
.fa-star:before { content: "\f005"; }
.fa-eye:before { content: "\f06e"; }
.fa-crown:before { content: "\f521"; }
.fa-utensils:before { content: "\f2e7"; }
.fa-leaf:before { content: "\f06c"; }
.fa-clock:before { content: "\f017"; }
.fa-certificate:before { content: "\f0a3"; }
.fa-cut:before { content: "\f0c4"; }
.fa-truck:before { content: "\f0d1"; }
.fa-home:before { content: "\f015"; }
.fa-mobile-alt:before { content: "\f3cd"; }
.fa-car:before { content: "\f1b9"; }
.fa-globe:before { content: "\f0ac"; }
.fa-shield-alt:before { content: "\f3ed"; }
.fa-percent:before { content: "\f295"; }
.fa-long-arrow-right:before { content: "\f178"; }

/* Breadcrumb specific icon fixes */
.breadcrumb .fas.fa-home:before,
.breadcrumb i.fas.fa-home:before {
    content: "\f015" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
}

/* Footer quick links icon fixes */
.f-item.link .fas.fa-home:before,
.f-item.link i.fas.fa-home:before {
    content: "\f015" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    margin-right: 8px !important;
}

.f-item.link .fas.fa-crown:before,
.f-item.link i.fas.fa-crown:before {
    content: "\f521" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    margin-right: 8px !important;
}

.f-item.link .fas.fa-utensils:before,
.f-item.link i.fas.fa-utensils:before {
    content: "\f2e7" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    margin-right: 8px !important;
}

.f-item.link .fas.fa-phone:before,
.f-item.link i.fas.fa-phone:before {
    content: "\f095" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    margin-right: 8px !important;
}

/* Fix CSS-based Font Awesome icons in navigation and services */
/* Services Swiper Navigation Icons Fix */
.services-swiper-nav .services-button-next::after {
    content: "\f105" !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

.services-swiper-nav .services-button-prev::after {
    content: "\f104" !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

/* General icon visibility and loading fixes */
i[class*="fa-"],
i[class^="fa-"],
.fa, .fas, .far, .fab, .fal {
    visibility: visible !important;
    opacity: 1 !important;
    display: inline-block !important;
    font-size: inherit !important;
    vertical-align: baseline !important;
}

/* Ensure icons load even if CSS is delayed */
.fas, .far, .fab, .fal, .fa {
    font-display: swap !important;
}

/* Breadcrumb area specific fixes */
.breadcrumb-area .breadcrumb li a i {
    margin-right: 5px !important;
    font-size: 14px !important;
    vertical-align: middle !important;
}

/* Breadcrumb separator icon fix */
.breadcrumb-area .breadcrumb li::after {
    content: "\f105" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    margin: 0 10px !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 12px !important;
}

.breadcrumb-area .breadcrumb li:last-child::after {
    display: none !important;
}

/* Top header location icon fix */
.top-bar-area p i.fas.fa-map-marker-alt:before,
.top-bar-area p .fas.fa-map-marker-alt:before {
    content: "\f3c5" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    margin-right: 8px !important;
    font-size: 14px !important;
    color: inherit !important;
}

/* Navigation and menu icon fixes */
.navbar-nav .fas,
.navbar-nav .far,
.navbar-nav .fab {
    font-size: 16px !important;
    margin-right: 5px !important;
}

/* Top header area comprehensive icon fixes */
.top-bar-area .fas,
.top-bar-area .far,
.top-bar-area .fab {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
    display: inline-block !important;
    margin-right: 8px !important;
}

.top-bar-area .fab {
    font-weight: 400 !important;
}

/* Specific top header icons */
.top-bar-area .fa-phone:before {
    content: "\f095" !important;
}

.top-bar-area .fa-envelope:before {
    content: "\f0e0" !important;
}

.top-bar-area .fa-map-marker-alt:before {
    content: "\f3c5" !important;
}

/* Banner/Navigation Swiper Icons Fix */
.banner-area.navigation-custom-large .swiper-button-prev::after {
    content: "\f104" !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

.banner-area.navigation-custom-large .swiper-button-next::after {
    content: "\f105" !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

/* General swiper button fixes */
.swiper-button-prev::after,
.swiper-button-next::after {
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

/* Ensure all Font Awesome pseudo-elements work */
[class*="fa-"]::before,
[class*="fa-"]::after,
[class^="fa-"]::before,
[class^="fa-"]::after {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 5 Free", "Font Awesome 5 Brands", "Font Awesome 5 Pro" !important;
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Brand icons should use normal weight */
[class*="fab"]::before,
[class*="fab"]::after {
    font-weight: 400 !important;
}

/* Additional CSS-based Font Awesome fixes for template elements */
/* Fix close button in search/modal */
.search-close::after,
.modal-close::after,
[class*="close"]::after {
    content: "\f00d" !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
}

/* Fix checkmark icons */
.check-icon::before,
.checkbox-icon::before,
[class*="check"]::before {
    content: "\f00c" !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
}

/* Fix radio button icons */
.radio-btn .radio-inner::before {
    content: "\f111" !important; /* circle */
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 5 Pro" !important;
    font-weight: 400 !important;
}

.radio-btn.checked .radio-inner::before,
.radio-btn-light .radio-inner-light::before {
    content: "\f192" !important; /* dot-circle */
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
}

/* Override all template Font Awesome references */
*[class*="::after"],
*[class*="::before"] {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 5 Free", "Font Awesome 5 Brands", "Font Awesome 5 Pro" !important;
}

/* Specific unicode fixes for common icons */
/* Navigation arrows */
*[content="\f104"]::after,
*[content="\f104"]::before {
    content: "\f104" !important; /* chevron-left */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

*[content="\f105"]::after,
*[content="\f105"]::before {
    content: "\f105" !important; /* chevron-right */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

/* Close icon */
*[content="\f00d"]::after,
*[content="\f00d"]::before {
    content: "\f00d" !important; /* times */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

/* Check icon */
*[content="\f00c"]::after,
*[content="\f00c"]::before {
    content: "\f00c" !important; /* check */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

/* Radio icons */
*[content="\f186"]::after,
*[content="\f186"]::before {
    content: "\f192" !important; /* dot-circle */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

*[content="\f185"]::after,
*[content="\f185"]::before {
    content: "\f111" !important; /* circle */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

/* Fix Navigation Dropdown Toggle Arrow */
nav.navbar.validnavs ul.nav > li.dropdown > a.dropdown-toggle::after {
    content: "\f107" !important; /* chevron-down */
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
    margin-left: 7px !important;
    border: none !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Fix for all dropdown toggles */
.dropdown-toggle::after,
a.dropdown-toggle::after {
    content: "\f107" !important; /* chevron-down */
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    display: inline !important;
    margin-left: 5px !important;
    border: none !important;
    vertical-align: inherit !important;
}

/* Dropdown arrow unicode fix */
*[content="\f107"]::after,
*[content="\f107"]::before {
    content: "\f107" !important; /* chevron-down */
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

/* Override the CSS variable for fontawesome */
:root {
    --fontawesome: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 5 Pro" !important;
}

/* Footer Enhancements */
.footer-item .f-item.link ul li a {
    color: rgba(255, 255, 255, 0.8) !important;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    padding: 5px 0;
}

.footer-item .f-item.link ul li a:hover {
    color: var(--hon-gold) !important;
    padding-left: 10px;
}

.footer-item .f-item.link ul li a i {
    margin-right: 8px;
    width: 16px;
    color: var(--hon-gold);
    font-size: 14px;
}

/* Footer Social Media Enhancements */
.footer-social li a {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    transition: all 0.3s ease !important;
}

.footer-social li a:hover {
    background: var(--hon-gold) !important;
    border-color: var(--hon-gold) !important;
    color: var(--hon-charcoal) !important;
    transform: translateY(-3px) !important;
}

/* Delivery Badges */
.delivery-badges {
    margin-top: 20px;
}

.delivery-badges h5 {
    color: var(--hon-gold);
    font-size: 14px;
    margin-bottom: 10px;
    font-family: var(--font-heading);
}

.badge-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.delivery-badge {
    background: var(--hon-primary-maroon);
    color: var(--hon-white);
    padding: 8px 12px;
    border-radius: 20px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 500;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 5px;
}

.delivery-badge:hover {
    background: var(--hon-gold);
    color: var(--hon-charcoal);
    transform: translateY(-2px);
    text-decoration: none;
}

.delivery-badge i {
    font-size: 14px;
}

/* Footer opening hours styling */
.opening-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.opening-list li i {
    color: var(--hon-gold);
    margin-right: 8px;
    font-size: 14px;
}

/* Footer Contact Widget Icons Fix */
.contact-widget li {
    display: flex !important;
    align-items: flex-start !important;
    margin-bottom: 20px !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.contact-widget li .icon {
    width: 50px !important;
    height: 50px !important;
    background: var(--hon-primary-maroon) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 15px !important;
    flex-shrink: 0 !important;
}

.contact-widget li .icon i {
    font-size: 18px !important;
    color: var(--hon-white) !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
}

.contact-widget li .content {
    flex: 1 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    line-height: 1.6 !important;
}

.contact-widget li .content a {
    color: var(--hon-gold) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.contact-widget li .content a:hover {
    color: var(--hon-white) !important;
}

.contact-widget li .content small {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 12px !important;
}

/* Specific icon fixes for contact section */
.contact-widget .fa-map-marker-alt:before {
    content: "\f3c5" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.contact-widget .fa-phone:before {
    content: "\f095" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.contact-widget .fa-envelope:before {
    content: "\f0e0" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

/* Contact Page Specific Styles */
.contact-style-one-area {
    padding: 80px 0;
}

.contact-style-one-info {
    background: var(--hon-white);
    padding: 40px 30px;
    border-radius: 15px;
    text-align: center;
    margin-bottom: 30px;
    box-shadow: 0 10px 30px rgba(102, 16, 18, 0.1);
    transition: all 0.3s ease;
    border: 2px solid transparent;
    height: 100%;
}

.contact-style-one-info:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(102, 16, 18, 0.15);
    border-color: var(--hon-cream);
}

.contact-style-one-info .icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--hon-primary-maroon) 0%, var(--hon-gold) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px auto;
    position: relative;
}

.contact-style-one-info .icon::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--hon-gold) 0%, var(--hon-primary-maroon) 100%);
    border-radius: 50%;
    opacity: 0;
    transition: all 0.3s ease;
}

.contact-style-one-info:hover .icon::before {
    opacity: 1;
}

.contact-style-one-info .icon i {
    font-size: 32px;
    color: var(--hon-white);
    position: relative;
    z-index: 2;
}

.contact-style-one-info .content h4 {
    color: var(--hon-primary-maroon);
    font-family: var(--font-heading);
    font-size: 24px;
    margin-bottom: 15px;
    font-weight: 600;
}

.contact-style-one-info .content p {
    color: var(--hon-charcoal);
    font-family: var(--font-body);
    line-height: 1.6;
    margin-bottom: 0;
}

.contact-style-one-info .content a {
    color: var(--hon-gold);
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.contact-style-one-info .content a:hover {
    color: var(--hon-primary-maroon);
}

.contact-style-one-info .content small {
    color: #888;
    font-size: 13px;
    display: block;
    margin-top: 5px;
}

/* Enhanced Contact Form Styles */
.contact-form-style-one {
    background: var(--hon-white);
    padding: 50px 40px;
    border-radius: 15px;
    box-shadow: 0 15px 35px rgba(102, 16, 18, 0.1);
    border: 1px solid var(--hon-cream);
}

.contact-form-style-one h3 {
    color: var(--hon-primary-maroon);
    font-family: var(--font-heading);
    font-size: 32px;
    margin-bottom: 15px;
    font-weight: 600;
}

.contact-form-style-one p {
    color: var(--hon-charcoal);
    font-family: var(--font-body);
    margin-bottom: 30px;
    line-height: 1.6;
}

.contact-form-style-one .form-control {
    border: 2px solid #e8e8e8;
    border-radius: 8px;
    padding: 15px 20px;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--hon-charcoal);
    background: var(--hon-white);
    transition: all 0.3s ease;
    margin-bottom: 20px;
}

.contact-form-style-one .form-control:focus {
    border-color: var(--hon-primary-maroon);
    box-shadow: 0 0 0 0.2rem rgba(102, 16, 18, 0.1);
    outline: none;
}

.contact-form-style-one select.form-control {
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23661012' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 16px;
    padding-right: 40px;
}

.contact-form-style-one button,
.contact-form-style-one a {
    background: linear-gradient(135deg, var(--hon-primary-maroon) 0%, var(--hon-gold) 100%);
    border: none;
    color: var(--hon-white);
    padding: 15px 30px;
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.contact-form-style-one button:hover,
.contact-form-style-one a:hover {
    background: #FFFFFF !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(102, 16, 18, 0.3);
}

.contact-form-style-one button i,
.contact-form-style-one a i {
    margin-right: 8px;
}

/* Google Maps Section */
.google-maps {
    padding: 30px;
}

.google-maps h3 {
    color: var(--hon-primary-maroon);
    font-family: var(--font-heading);
    font-size: 28px;
    margin-bottom: 15px;
    font-weight: 600;
}

.google-maps p {
    color: var(--hon-charcoal);
    font-family: var(--font-body);
    margin-bottom: 25px;
    line-height: 1.6;
}

.maps-container {
    margin-bottom: 25px;
    position: relative;
}

.maps-container::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    background: linear-gradient(135deg, var(--hon-primary-maroon) 0%, var(--hon-gold) 100%);
    border-radius: 15px;
    z-index: -1;
    opacity: 0.1;
}

.quick-contact-actions .btn {
    width: 100%;
    padding: 12px 20px;
    font-family: var(--font-body);
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.quick-contact-actions .btn i {
    margin-right: 8px;
}

/* Form Alerts and Messages */
.alert {
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
    border: none;
    font-family: var(--font-body);
}

.alert-success {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    color: #155724;
    border-left: 4px solid #28a745;
}

.alert-error {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
    color: #721c24;
    border-left: 4px solid #dc3545;
}

.alert h3 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 600;
}

.alert p {
    margin: 0 0 10px 0;
    line-height: 1.5;
}

.alert p:last-child {
    margin-bottom: 0;
}

.alert i {
    margin-right: 8px;
}

.alert a {
    color: inherit;
    font-weight: 600;
    text-decoration: underline;
}

.alert a:hover {
    text-decoration: none;
}

/* Form Field Focus States */
.form-group.focused .form-control {
    border-color: var(--hon-primary-maroon);
    box-shadow: 0 0 0 0.2rem rgba(102, 16, 18, 0.1);
}

/* Form Animation */
.contact-form-style-one .form-group {
    position: relative;
    margin-bottom: 25px;
}

.contact-form-style-one .form-control {
    transition: all 0.3s ease;
}

.contact-form-style-one .form-control:focus {
    transform: translateY(-2px);
}

/* Button Loading State */
.contact-form-style-one button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none !important;
}

.contact-form-style-one button .fa-spinner {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Contact Info Card Animations */
.contact-style-one-info {
    opacity: 0;
    transform: translateY(30px);
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
}

/* Enhanced Map Container */
.maps-container iframe {
    transition: all 0.3s ease;
}

.maps-container:hover iframe {
    transform: scale(1.02);
}

/* Quick Contact Actions Enhancement */
.quick-contact-actions {
    margin-top: 25px;
}

.quick-contact-actions .btn {
    position: relative;
    overflow: hidden;
}

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

.quick-contact-actions .btn:hover::before {
    left: 100%;
}

/* Responsive Design */
@media (max-width: 768px) {
    .contact-style-one-area {
        padding: 60px 0;
    }

    .contact-style-one-info {
        margin-bottom: 20px;
    }

    .contact-form-style-one {
        padding: 30px 25px;
        margin-top: 30px;
    }

    .google-maps {
        padding: 20px;
        margin-top: 30px;
    }

    .maps-container {
        height: 300px !important;
    }

    .quick-contact-actions .btn {
        margin-bottom: 10px;
    }

    .alert {
        padding: 15px;
        margin: 15px 0;
    }

    .alert h3 {
        font-size: 16px;
    }
}

/* Footer responsive */
@media (max-width: 768px) {
    .footer-item .f-item.link ul li a {
        font-size: 14px;
    }

    .badge-row {
        flex-direction: column;
    }

    .delivery-badge {
        text-align: center;
        justify-content: center;
    }

    .contact-widget li {
        flex-direction: column;
        text-align: center;
    }

    .contact-widget li .icon {
        margin: 0 auto 10px auto;
    }
}



/*
** General Styles for HTML tags
*/
.bg-transparent{
    background: transparent !important;
}
.b-0{
    border: none !important;
}
/* Arch Clip-Path Styles */
.arch {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    overflow: hidden;
}

.arch img {
    width: 100%;
    height: auto;
    display: block;
    clip-path: url(#archClip);
    transition: transform 0.3s ease;
}

.arch:hover img {
    transform: scale(1.05);
}

/* Responsive adjustments for arch */
@media (max-width: 768px) {
    .arch {
        max-width: 300px;
    }
}

@media (max-width: 480px) {
    .arch {
        max-width: 250px;
    }
}


