/* =====================================================
   Shivshakti Enterprises — style.css (root)
   ===================================================== */

:root{
  --primary-color:#2C3E50;
  --accent-color:#F1C40F;
  --accent-2:#0ea5a4;
  --text-dark:#222;
  --text-light:#666;
  --white:#ffffff;
  --light-bg:#f6f7fb;
  --maxw:1140px;
  --radius:12px;
}

*{margin:0;padding:0;box-sizing:border-box;font-family:'Roboto',sans-serif}
body{color:var(--text-dark);background:#fff;line-height:1.5;font-size:16px}

/* Container */
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* Top Bar */
.top-bar{background:#1a252f;color:var(--white);padding:10px 0;font-size:0.95rem}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}
.top-bar i{color:var(--accent-color);margin-right:6px}

/* HEADER */
header{background:white;padding:14px 0;box-shadow:0 2px 8px rgba(0,0,0,0.05);position:sticky;top:0;z-index:1000}
.nav-container{display:flex;justify-content:space-between;align-items:center}
.logo{font-size:1.4rem;font-weight:700;color:var(--primary-color)}
.logo span{color:var(--accent-color)}

.nav-links{display:flex;gap:20px;align-items:center}
.nav-links a{color:var(--text-dark);font-weight:500;border-radius:6px;padding:8px 10px;text-decoration:none;transition:0.2s}
.nav-links a:hover{color:var(--accent-color);background:rgba(241,196,15,0.08)}
.nav-links a.active{color:var(--accent-color)}
.btn-quote{background:var(--accent-color);color:var(--primary-color);padding:8px 16px;border-radius:8px;font-weight:700}

.mobile-menu-btn{display:none;font-size:1.5rem;cursor:pointer}

/* LINK RESET */
a{text-decoration:none;color:inherit}
a:hover{text-decoration:none}

/* HERO */
.hero{
  background:linear-gradient(rgba(44,62,80,0.75),rgba(44,62,80,0.75)),url('images/home-hero.webp');
  background-size:cover;background-position:center;
  min-height:70vh;display:flex;align-items:center;
  color:white;padding:50px 0;
}
.hero .container{text-align:center}
.hero h1{font-size:2.8rem;margin-bottom:14px}
.hero p{max-width:700px;margin:0 auto 22px}
.btn-hero{background:var(--accent-color);color:var(--primary-color);padding:14px 28px;border-radius:8px;font-weight:700}

/* SECTION */
.section{padding:60px 0}
.section-title{text-align:center;margin-bottom:30px}
.section-title h2{font-size:2rem;color:var(--primary-color)}
.section-title .line{width:60px;height:4px;background:var(--accent-color);margin:10px auto}

.about-content{display:flex;gap:40px;flex-wrap:wrap;align-items:center}
.about-text{flex:1;min-width:300px}
.about-image{flex:1;min-width:300px}
.about-image img{width:100%;border-radius:10px}

/* PRODUCTS */
.bg-light{background:var(--light-bg)}
.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.product-card{background:white;border-radius:10px;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,0.05)}
.product-img{height:200px;background:#eee}
.product-img img{width:100%;height:100%;object-fit:cover}
.product-info{text-align:center;padding:18px}
.btn-small{border:1px solid var(--primary-color);padding:8px 14px;border-radius:6px;color:var(--primary-color);display:inline-block}

/* PARTNERS */
.partners{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}
.partners img{width:140px;height:60px;object-fit:contain;background:white;padding:8px;border-radius:8px}

/* PAGE HEADER */
.page-header{
  background:linear-gradient(90deg,rgba(44,62,80,0.94),rgba(14,165,164,0.15));
  color:white;padding:30px 0;
}
.page-header h1{font-size:26px}
.breadcrumb{opacity:0.9}

/* FOOTER */
footer{background:var(--primary-color);color:white;padding:50px 0 20px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;padding-bottom:20px}
.footer-col h3{color:var(--accent-color);margin-bottom:10px}
.footer-col ul{list-style:none;padding:0}
.footer-col ul li{margin-bottom:10px}
footer a{color:white}
footer a:hover{color:var(--accent-color)}
.copyright{text-align:center;color:#ddd;border-top:1px solid rgba(255,255,255,0.1);padding-top:15px}

/* RESPONSIVE */
@media(max-width:768px){
  .mobile-menu-btn{display:block}
  .nav-links{
    position:absolute;top:70px;left:0;width:100%;
    background:white;flex-direction:column;padding:20px;
    display:none;box-shadow:0 5px 20px rgba(0,0,0,0.1)
  }
  .nav-links.active{display:flex}
  .about-content{flex-direction:column-reverse}
}

/* ---------------------------
   NAV DROPDOWN (Products)
   --------------------------- */
.has-dropdown {
  position: relative;
  display: inline-block;
}

.has-dropdown > a {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.has-dropdown .dropdown {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  min-width: 220px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(15,15,15,0.08);
  display: none;
  flex-direction: column;
  padding: 8px;
  z-index: 1400;
}

.has-dropdown .dropdown a {
  display: block;
  padding: 10px 12px;
  color: var(--text-dark);
  font-weight:500;
  border-radius:8px;
  transition: background .15s, color .15s;
  white-space: nowrap;
}

.has-dropdown .dropdown a:hover {
  background: rgba(241,196,15,0.06);
  color: var(--accent-color);
}

/* Show dropdown on hover (desktop) */
.has-dropdown:hover .dropdown {
  display: flex;
}

/* Small caret style (optional) */
.has-dropdown > a .fa-caret-down {
  font-size:0.85rem;
  color: rgba(0,0,0,0.6);
  transition: transform .18s;
}

/* Open state (used by JS for mobile tap toggling) */
.has-dropdown.open > a .fa-caret-down { transform: rotate(180deg); }
.has-dropdown.open .dropdown { display: flex; }

/* Responsive: full-width dropdown inside mobile menu */
@media (max-width: 768px) {
  .has-dropdown {
    width: 100%;
  }
  .has-dropdown .dropdown {
    position: relative;
    top: 0;
    left: 0;
    box-shadow: none;
    background: transparent;
    padding: 0;
    display: none; /* will be toggled via JS */
    gap: 0;
    margin-top: 8px;
  }
  .has-dropdown .dropdown a {
    padding: 10px 8px;
    border-radius: 6px;
    background: rgba(0,0,0,0.02);
    margin: 6px 0;
  }
  /* ensure nav-links in mobile is vertical so dropdown occupies full width */
  .nav-links { flex-direction: column; }
}

/* --- Import/Export Page Styles --- */

/* Ensures the Page Header section looks right for the new page */
.page-header.export-header {
    background-color: #f0f0f0; /* Use a color that matches your design if possible */
    /* Add any other necessary page-header styles if not already defined in style.css */
}

/* Introduction paragraph for the services grid */
.export-content .section-intro {
    text-align: center;
    max-width: 900px;
    margin: 10px auto 50px auto;
    font-size: 1.1em;
    color: #555;
    font-weight: 500;
}

/* Layout for the four service cards */
.service-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    padding-top: 20px;
}

.service-card {
    background: #ffffff;
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-top: 4px solid #FBC02D; /* A distinct Yellow/Gold color */
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.service-card i {
    font-size: 2.5rem;
    color: #003366; /* Your brand's Dark Blue */
    margin-bottom: 20px;
}

.service-card h3 {
    margin-bottom: 15px;
    color: #333;
    font-size: 1.2em;
}

.service-card p {
    color: #666;
    font-size: 0.95em;
}

/* --- Dropdown Flicker Fix (Based on your structure) --- */

/* This targets your specific dropdown structure to prevent the menu from closing prematurely */
.has-dropdown {
    /* Ensures the wrapper has a stable position */
    position: relative;
    display: inline-block;
}

.dropdown {
    /* Hides the gap with padding, making the gap part of the hover area */
    padding-top: 20px; /* Crucial fix for desktop flicker */
    top: 100%; 
    left: 0;
    margin-top: -5px; /* Adjust this value if the gap is too large/small */
    z-index: 9999; 
    /* The rest of your existing dropdown styles (background, shadow, display:none) should remain */
}
/* You need to ensure the hover rule is active: .has-dropdown:hover .dropdown { display: block; } */

/* --- Modal (Popup) Styles --- */

/* The Modal (Background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 10000; /* Sit on top of everything */
    padding-top: 60px; /* Location of the box (down from the top) */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
}

/* Modal Content (The Image) */
.modal-content {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 700px; /* Limit the size of the enlarged image */
    animation-name: zoom;
    animation-duration: 0.6s;
}

/* Close Button */
.close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* Optional: Caption of Modal Image */
#caption {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 700px;
    text-align: center;
    color: #ccc;
    padding: 10px 0;
    height: 150px;
}

/* Add Animation (Optional: Makes it look smoother) */
@keyframes zoom {
    from {transform:scale(0)} 
    to {transform:scale(1)}
}

/* Media Queries for Responsiveness (on smaller screens) */
@media only screen and (max-width: 700px){
    .modal-content {
        width: 100%;
    }
}