/* ==========================================================================
   WordPress Admin Bar Fix
   ========================================================================== */

/* Mobile & Small Tablets (Admin bar is 46px tall) */
body.admin-bar .hn-header {
    top: 46px;
}
body.admin-bar {
    padding-top: calc(5rem + 46px);
}

/* Desktop & Large Tablets (Admin bar shrinks to 32px tall above 782px) */
@media (min-width: 783px) {
    body.admin-bar .hn-header {
        top: 32px;
    }
    body.admin-bar {
        padding-top: calc(5rem + 32px);
    }
}

/* Large Desktop (When the 3.5rem bottom bar appears) */
@media (min-width: 1280px) {
    body.admin-bar {
        padding-top: calc(8.5rem + 32px);
    }
}

/* Override Elementor's global button padding and sizing */
.hn-dialog-close {
    display: flex !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important; /* Stops flexbox from squishing it */
    min-height: 32px !important;
    padding: 0 !important; /* Removes Elementor's default button padding */
    margin: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important; /* Perfect circle */
    border: 1px solid #ffffff !important;
    background: transparent !important;
    cursor: pointer;
    box-shadow: none !important;
}

/* Ensure the SVG icon stays exactly the right size and color */
.hn-dialog-close svg {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    stroke: #ffffff !important;
    fill: none !important;
    margin: 0 !important;
    padding: 0 !important;
}



/* ==========================================================================
   HostNegar Header - Pure CSS Variables
   ========================================================================== */
:root {
    --hn-dark: #1a1a1a;
    --hn-gray: #3d3d3d;
    --hn-border: rgba(255, 255, 255, 0.05);
    --hn-primary: #F76E28;
    --hn-primary-hover: #0056b3;
    --hn-text-light: #ffffff;
    --hn-text-muted: #e4e4e7;
    --hn-font-sm: 0.875rem;
    --hn-font-xs: 0.75rem;
    --hn-transition: all 0.2s ease-in-out;
}


/* ==========================================================================
   Prevent Elementor Content from Hiding Under Fixed Header
   ========================================================================== */

/* Mobile & Tablet: The header is just the main bar (5rem / 80px) */
body {
    padding-top: 5rem; 
}

/* Desktop: The header is the main bar (5rem) + bottom bar (3.5rem) = 8.5rem */
@media (min-width: 1280px) {
    body {
        padding-top: 8.5rem; 
    }
}

.hn-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
}

/* Base resets for header elements */
.hn-header *,#hn-mobile-dialog {
    box-sizing: border-box;
    font-family: 'RAVI'!important;
}

.hidden {
    display: none !important;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}


/* ==========================================================================
   Desktop Mega Menu
   ========================================================================== */
.hn-dropdown-container {
    position: relative;
    /* Invisible padding to connect the trigger and the dropdown, preventing hover-off */
    padding-bottom: 1rem;
    margin-bottom: -1rem; 
}

/* Make the trigger button look active (dark bg) when hovering the container */
.hn-dropdown-container:hover .hn-dropdown-trigger {
    background-color: var(--hn-gray);
}

.hn-mega-menu {
    position: absolute;
    top: 100%;
    right: 0; /* Aligns flush with the right side of the nav item in RTL */
    min-width: 420px;
    background-color: var(--hn-gray);
    border: 1px solid var(--hn-border);
    border-radius: 0.75rem;
    padding: 1.5rem;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.4);
    
    /* Animation defaults */
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.2s ease-in-out;
    z-index: 9999999;
    cursor: default;
}

/* Show mega menu on hover */
.hn-dropdown-container:hover .hn-mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.hn-mega-menu-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}

.hn-mega-menu-column {
    display: flex;
    flex-direction: column;
}

.hn-mega-menu-heading {
    color: var(--hn-text-muted);
    font-size: var(--hn-font-sm);
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.hn-mega-menu-link {
    color: var(--hn-text-light);
    font-size: var(--hn-font-sm);
    text-decoration: none;
    padding: 0.6rem 0;
    transition: color 0.2s;
     padding-inline: 10px;
}

.hn-mega-menu-link:hover {
    background: #4d4d4d;
    border-radius: 8px;
    color:var(--hn-text-light);;
}

.hn-mega-menu.hn-mega-menu-single {
    min-width: 318px;
    width: 318px;
}

.hn-mega-menu.hn-mega-menu-single .hn-mega-menu-grid {
    grid-template-columns: 1fr; /* Forces the grid to only have one column */
}



.hn-mega-menu.hn-mega-menu-triple {
    min-width: 680px; 
    width: max-content; 
}

.hn-mega-menu.hn-mega-menu-triple .hn-mega-menu-grid {
    grid-template-columns: repeat(3, 1fr); 
}

/* ==========================================================================
   Desktop Header Main Structure
   ========================================================================== */

.hn-header-inner {
    position: relative;
    z-index: 20;
    display: flex;
    flex-direction: column;
    background-color: var(--hn-dark);
    border: 1px solid var(--hn-border);
    color: var(--hn-text-light);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.hn-header-main {
    z-index: 20;
    display: flex;
    height: 5rem; /* 80px */
    width: 100%;
    align-items: center;
    justify-content: space-between;
    background-color: #303030!important;
    padding: 0 1rem;
}

@media (min-width: 1280px) {
    .hn-header-inner { overflow: visible; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
    .hn-header-main { padding: 0 2rem; }
}

/* ==========================================================================
   Desktop Navigation
   ========================================================================== */
.hn-desktop-nav {
    display: none;
}

@media (min-width: 1280px) {
    .hn-desktop-nav { display: block; }
}

.hn-nav-list {
    display: flex;
    align-items: center;
    gap: 0;
}

.hn-nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    white-space: nowrap;
    border-radius: 0.5rem;
    font-size: var(--hn-font-sm);
    font-weight: 500;
    color: var(--hn-text-light);
    text-decoration: none;
    height: 2.25rem;
    padding: 0.5rem 0.75rem;
    transition: var(--hn-transition);
    
}

.hn-nav-link:hover {
    background-color: rgba(244, 244, 245, 0.1);
    color:var(--hn-text-light);
}

a.hn-nav-link.hn-dropdown-trigger.active{
    color:#f76e28!important;
}
.hn-nav-link-wide {
    gap: 0.75rem;
}

.hn-nav-icon {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

.hn-chevron {
    width: 1.25rem;
    height: 1.25rem;
    transition: transform 0.2s;
}

.hn-dropdown-trigger[data-state="open"] .hn-chevron {
    transform: rotate(180deg);
}

/* ==========================================================================
   Actions & Logos
   ========================================================================== */
.hn-header-actions {
    display: flex;
    flex: 1;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

@media (min-width: 1280px) {
    .hn-header-actions { flex: initial; }
}

.hn-mobile-brand {
    display: flex;
    flex: 1;
    min-width: 0;
    align-items: center;
    gap: 1.25rem;
}

.hn-menu-btn {
    background: none;
    border: none;
    padding: 0.5rem;
    margin-left: -1rem;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: var(--hn-transition);
}

.hn-menu-btn:hover { background-color: rgba(255, 255, 255, 0.05); }

.hn-menu-icon { width: 1.5rem; height: 1.5rem; }

@media (min-width: 1280px) { .hn-menu-btn { display: none; } }

.hn-mobile-logo-link {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.375rem;
    text-decoration: none;
}

@media (min-width: 768px) { .hn-mobile-logo-link { display: none; } }

.hn-mobile-logo {
    width: 1.75rem;
    height: 1.75rem;
    object-fit: contain;
}

.hn-mobile-title {
    font-weight: 700;
    color: var(--hn-text-light);
    font-size: var(--hn-font-sm);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Buttons */
.hn-mobile-actions-wrapper {
    display: flex;
    flex-shrink: 0;
    gap: 0.5rem;
    margin-right: -1rem;
}
button.hn-mobile-accordion-btn:focus{
    background-color:transparent!important;
    color: #000 !important;
}

@media (min-width: 768px) { .hn-mobile-actions-wrapper { display: none; } }

.hn-btn-light, .hn-btn-outline, .hn-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    font-weight: 500;
    text-decoration: none;
    transition: var(--hn-transition);
    border-radius: 0.5rem;
}

.hn-btn-light {
    background-color: var(--hn-text-light);
    color: var(--hn-dark);
    height: 2.25rem;
    padding: 0.5rem 0.875rem;
    font-size: var(--hn-font-xs);
}
.hn-btn-light:hover { background-color: #9ca3af; }

.hn-btn-outline {
    border: 1px solid var(--hn-text-light);
    color: var(--hn-text-light);
    height: 2.25rem;
    padding: 0.5rem 0.75rem;
    font-size: var(--hn-font-xs);
}
.hn-btn-outline:hover { background-color: var(--hn-dark); }

.hn-btn-primary {
    background-color: var(--hn-primary);
    color: var(--hn-text-light);
    height: 2.25rem;
    padding: 0.5rem 1rem;
    font-size: var(--hn-font-sm);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.hn-btn-primary:hover {
    background-color: #d45819!important;
    color:var(--hn-text-light);
    }

/* Desktop Right Side */
.hn-desktop-actions {
    display: none;
    align-items: center;
    gap: 1.25rem;
}

@media (min-width: 768px) { .hn-desktop-actions { display: flex; } }

.hn-desktop-buttons {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.hn-divider {
    height: 5rem;
    width: 1px;
    background-color: #212121;
}

.hn-desktop-logo {
    height: 3rem;
    object-fit: contain;
}
@media (min-width: 768px) { .hn-desktop-logo { height: 3.5rem; } }
@media (min-width: 1024px) { .hn-desktop-logo { height: 4rem; } }

/* ==========================================================================
   Desktop Bottom Bar
   ========================================================================== */
.hn-header-bottom {
    display: none;
    height: 3.5rem;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    background-color: var(--hn-gray);
    padding: 0 2rem;
    transition: var(--hn-transition);
    overflow: hidden;
    transition: height 0.3s ease-in-out, opacity 0.3s ease-in-out, padding 0.3s ease-in-out;
}

.hn-header.is-scrolled .hn-header-bottom {
    height: 0 !important;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
}

@media (min-width: 1280px) { .hn-header-bottom { display: flex; } }

.hn-bottom-links, .hn-bottom-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.hn-badge-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2rem;
    padding: 0 3rem;
    font-size: var(--hn-font-xs);
    font-weight: 500;
    color: var(--hn-text-light);
    text-decoration: none;
    border: 1px solid #e4e4e7;
    border-radius: 1rem;
    transition: var(--hn-transition);
    gap:10px;
}
.hn-badge-link:hover {
    background-color: var(--hn-dark)!important;
    color: var(--hn-text-light);
    }

.hn-badge-low-width{
    padding: 0 12px!important;
}
.hn-support-phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2rem;
    padding: 0 1.25rem;
    font-size: var(--hn-font-xs);
    font-weight: 500;
    color: #f4f4f5;
    background-color: var(--hn-dark);
    text-decoration: none;
    border-radius: 1rem;
    transition: var(--hn-transition);
}

.hn-support-phone:hover{
    color: #f4f4f5;
}

/* ==========================================================================
   Mobile Menu & Dialog
   ========================================================================== */
.hn-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 100;
}

.hn-dialog {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 75%;
    max-width: 24rem;
    background-color: #ffffff;
    z-index: 101;
    overflow-y: auto;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.hn-dialog-header {
    position: sticky;
    top: 0;
    display: flex;
    height: 5rem;
    align-items: center;
    justify-content: space-between;
    background-color: var(--hn-dark);
    padding: 0 1rem;
    z-index: 10;
}

.hn-dialog-logo { width: 11rem; object-fit: contain; }

.hn-dialog-close {
    display: flex;
    width: 1.25rem;
    height: 1.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    border: 1px solid var(--hn-text-light);
    background: transparent;
    color: var(--hn-text-light);
    cursor: pointer;
}

.hn-close-icon { width: 0.875rem; height: 0.875rem; }

/* Mobile Navigation */
.hn-mobile-nav { display: grid; }
.hn-mobile-nav ul { list-style: none; padding: 0; margin: 0; }

.hn-accordion-item { border-bottom: 1px solid #e5e7eb; }

.hn-mobile-accordion-btn {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    background: transparent;
    border: none;
    text-align: right;
    font-size: var(--hn-font-sm);
    font-weight: 500;
    color: #000;
    cursor: pointer;
    transition: background-color 0.2s;
}

.hn-mobile-accordion-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
    color:#000!important;
    }

.hn-mobile-accordion-btn[data-state="open"] .hn-chevron {
    transform: rotate(180deg);
}

.hn-accordion-content {
    background-color: #f9fafb;
    padding: 0 1rem;
}

.hn-accordion-content a {
    display: block;
    padding: 0.5rem 0;
    font-size: var(--hn-font-sm);
    color: #374151;
    text-decoration: none;
}

.hn-mobile-flat-link {
    display: flex;
    padding: 1rem;
    border-bottom: 1px solid #e5e7eb;
    font-size: var(--hn-font-sm);
    font-weight: 500;
    color: #000;
    text-decoration: none;
    transition: background-color 0.2s;
}
.hn-mobile-flat-link:hover { background-color: rgba(0, 0, 0, 0.05); }

/* Mobile Footer */
.hn-mobile-footer { margin: 1rem; }

.hn-mobile-badges {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
}

.hn-mobile-badges .hn-badge-link {
    flex: 1;
    padding: 0 0.75rem;
    color: #000;
    border-color: #e5e7eb;
}
.hn-mobile-badges .hn-badge-link:hover {
    color: var(--hn-primary);
    background-color: rgba(0, 0, 0, 0.05);
}

.hn-btn-block {
    display: flex;
    width: 100%;
    border-radius: 9999px;
    height: 2.75rem;
}

/* ==========================================================================
   Animations for Dialog & Overlay
   ========================================================================== */
@keyframes hnFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes hnFadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}
@keyframes hnSlideInRight {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}
@keyframes hnSlideOutRight {
    from { transform: translateX(0); }
    to { transform: translateX(100%); }
}

.hn-overlay[data-state="open"] { animation: hnFadeIn 0.3s ease-out forwards; }
.hn-overlay[data-state="closed"] { animation: hnFadeOut 0.3s ease-in forwards; }
.hn-dialog[data-state="open"] { animation: hnSlideInRight 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.hn-dialog[data-state="closed"] { animation: hnSlideOutRight 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards; }










/* ==========================================================================
   HostNegar Footer - Pure CSS
   ========================================================================== */

/* The wave overlaps the background above it */
.hn-footer-wave {
    position: relative;
    z-index: 10;
    margin-bottom: -5px; /* Overlaps to remove tiny gaps */
    width: 100%;
    height: 3.5rem; /* ~56px */
}

@media (min-width: 768px) { .hn-footer-wave { height: 8rem; /* 96px */ } }
@media (min-width: 1280px) { .hn-footer-wave { height: 10rem; /* 128px */ } }

/* Main Footer Block */
.hn-footer {
    position: relative;
    background-color: #303030;
    color: var(--hn-text-light);
    padding: 2rem 0;
    overflow: hidden; /* Contains the watermark logo */
   font-family: 'RAVI'!important;
    margin-top: -2px;
}

/* Background Watermark Logo */
.hn-footer-bg-logo {
    position: absolute;
    bottom: 0;
    right: 0; /* RTL-friendly 'left' */
    width: 25rem; /* 400px */
    height: 25rem;
    object-fit: cover;
    pointer-events: none;
    display: none;
}

@media (min-width: 1024px) {
    .hn-footer-bg-logo { display: block; }
}

/* Reusable Container */
.hn-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem;
    position: relative;
    z-index: 20; /* Keep above watermark */
}

@media (min-width: 768px) { .hn-container { padding: 0 2rem; } }

/* Grid Layout */
.hn-footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    padding: 1.25rem 0;
}

@media (min-width: 1024px) { 
    .hn-footer-grid { grid-template-columns: 1fr 1fr; gap: 3.75rem; } 
}
@media (min-width: 1280px) { 
    .hn-footer-grid { grid-template-columns: 1fr 2fr; gap: 5rem; } 
}

/* About Section */
.hn-footer-about {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.hn-footer-logo {
    width: 14rem; /* 224px */
    max-width: 100%;
}

@media (min-width: 768px) { .hn-footer-logo { width: 16rem; } }

.hn-footer-description {
    text-align: justify;
    line-height: 2; /* leading-loose */
    font-size: var(--hn-font-sm);
    color: var(--hn-text-muted);
}

/* Links Section */
.hn-footer-links-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
}

@media (min-width: 1280px) {
    .hn-footer-links-wrapper { flex-direction: row; gap: 1.5rem; }
}

.hn-footer-widget {
    display: flex;
    flex-direction: column;
}

.hn-footer-heading {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.25rem; /* text-xl */
    font-weight: 600;
    margin-bottom: 1.5rem;
    color: var(--hn-text-light);
}

.hn-footer-heading::before {
    content: "";
    display: block;
    width: 4px;
    height: 1.5rem;
    background-color: var(--hn-primary); /* The orange stick */
    border-radius: 9999px;
}

.hn-footer-list {
    list-style: disc inside;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0;
    margin: 0;
}

.hn-footer-list li::marker {
    color: var(--hn-primary); /* Colors the bullet points orange */
}

.hn-footer-list a {
    color: var(--hn-text-muted);
    font-size: var(--hn-font-sm);
    font-weight: 500;
    text-decoration: none;
    transition: var(--hn-transition);
}

.hn-footer-list a:hover {
    color: var(--hn-primary);
}

/* Trust Badge (E-namad) */
.hn-footer-badge-wrapper {
    margin: 0 auto;
}

@media (min-width: 1024px) {
    .hn-footer-badge-wrapper { margin: 0; }
}

.hn-footer-badge {
    display: flex;
    width: 6rem; /* 24 Tailwind */
    height: 6rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    border: 1px solid #e5e7eb;
    background-color: #ffffff;
    padding: 0.5rem;
    transition: transform 0.2s;
}

.hn-footer-badge:hover {
    transform: translateY(-5px);
}

.hn-footer-badge img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Bottom Bar (Copyright) */
.hn-footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

@media (min-width: 768px) {
    .hn-footer-bottom { flex-direction: row; gap: 1.25rem; }
}

.hn-footer-copyright {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    font-size: var(--hn-font-sm);
    color: var(--hn-text-muted);
}

@media (min-width: 640px) {
    .hn-footer-copyright { flex-direction: row; font-size: 1rem; }
}

.hn-footer-divider {
    display: none;
    width: 4px;
    height: 1.25rem;
    background-color: var(--hn-primary);
    border-radius: 9999px;
}

@media (min-width: 640px) {
    .hn-footer-divider { display: block; }
}

.hn-footer-dmca {
    width: 150px;
    height: 30px;
    object-fit: contain;
}