/* =========================
   Yanifa Ltd – Mint & Mauve Theme
   ========================= */

/* ---------- Variables ---------- */
:root{
  --bg: #f8fafc;
  --card: #ffffff;
  --muted: #6d6a75;
  --accent: #a64d79;        /* Mauve */
  --accent-dark: #80365d;
  --accent-light: #c77a9a;
  --secondary: #009688;     /* Mint */
  --text: #2e2a32;
  --text-light: #55505c;
  --footer-bg: #2e2a32;
  --hero-overlay: rgba(166, 77, 121, 0.75);
  --gradient: linear-gradient(135deg, #a64d79 0%, #009688 100%);
  --max-width: 1200px;
  --shadow: 0 10px 25px rgba(0,0,0,0.08);
  --shadow-hover: 0 20px 40px rgba(0,0,0,0.15);
}

/* ---------- Reset & Base ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}

.container{
  width:90%;
  max-width:var(--max-width);
  margin:0 auto;
}

.section{padding:60px 0}
.reveal{opacity:1;transform:translateY(0)}

/* ---------- Header ---------- */
header{
  background:#fff;
  position:sticky;
  top:0;
  z-index:1000;
  box-shadow:0 4px 20px rgba(0,0,0,0.05);
}

.nav-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 0;
}

.logo-img{height:50px;width:auto}

nav ul.nav-links{
  display:flex;
  gap:8px;
  list-style:none;
}

nav a{
  text-decoration:none;
  color:var(--text);
  font-weight:600;
  padding:12px 18px;
  border-radius:50px;
  transition:0.3s;
}

nav a:hover,
nav a.active{
  color:#fff;
  background:var(--gradient);
  transform: translateY(-2px);
}

/* ---------- Hero Section ---------- */
.hero{
  min-height:90vh;
  display:flex;
  align-items:left;
  justify-content:left;
  text-align:center;
  position:relative;
  color:#fff;
  background:url('images/background.jpg') center/cover no-repeat;
  padding:60px 20px;
}

.hero-content{
  background:rgba(255,255,255,0.08);
  backdrop-filter:blur(12px);
  padding:40px;
  border-radius:24px;
  max-width:800px;
  animation: fadeIn 1.5s ease-out forwards;
}

.hero-content h2{
  font-size:clamp(2rem,5vw,3.5rem);
  font-weight:800;
  margin-bottom:20px;
  background: linear-gradient(135deg,#060809e2,#090606);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero-content p{
  font-size:1.2rem;
  color:rgba(6, 0, 6, 0.9);
  margin-bottom:30px;
}

.btn{
  display:inline-block;
  background:var(--gradient);
  color:#fff;
  padding:14px 32px;
  border-radius:50px;
  font-weight:700;
  text-decoration:none;
  transition:0.3s;
}

.btn:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-hover);
}

/* ---------- About Section ---------- */
.about-preview{
  padding:80px 0;
  background: linear-gradient(135deg, #f5ecf7 0%, #f8fafc 100%);
}

.about-preview .container{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:50px;
  align-items:center;
}

.about-content{
  background:var(--card);
  padding:40px;
  border-radius:24px;
  box-shadow:var(--shadow);
}

.about-content h2{
  color:var(--accent);
  margin-bottom:20px;
}

.about-content p{
  color:var(--text-light);
  line-height:1.7;
  margin-bottom:20px;
}

/* ---------- Product Section ---------- */
.products{padding:60px 0}
.products h2,
.featured-products h2{
  color:var(--accent);
  margin-bottom:20px;
  font-size:2rem;
  text-align:center;
}

.search-container{
  max-width:500px;
  margin:30px auto 40px;
}

#product-search{
  width:100%;
  padding:16px 24px;
  border-radius:50px;
  border:2px solid rgba(166,77,121,0.2);
  background:var(--card);
  font-size:1.1rem;
  box-shadow:var(--shadow);
  transition:0.3s;
}

#product-search:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(166,77,121,0.1);
}

.product-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;
  margin-top:30px;
}

.product-card{
  background:var(--card);
  border-radius:20px;
  overflow:hidden;
  padding:20px;
  transition:0.3s;
  box-shadow:var(--shadow);
}

.product-card img{
  width:100%;
  height:180px;
  object-fit:contain;
  background:linear-gradient(135deg,#f5ecf7,#e0f7f5);
  border-radius:12px;
  transition:transform 0.4s ease;
}

.product-card h3{
  font-size:1.2rem;
  margin:16px 0 8px;
  color:var(--text);
}

.product-card p{
  color:var(--text-light);
  line-height:1.5;
}

.product-card:hover{
  transform:translateY(-8px) scale(1.02);
  box-shadow:var(--shadow-hover);
}

.product-card:hover img{
  transform:scale(1.1);
}

/* ---------- Contact Section ---------- */
.contact-page{
  padding:80px 0;
  background: linear-gradient(135deg,#f5ecf7,#e0f7f5);
}

.contact-layout{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:40px;
}

.contact-form{
  background:var(--card);
  padding:40px;
  border-radius:20px;
  box-shadow:var(--shadow);
}

.form-group{margin-bottom:20px}
.form-group label{font-weight:600;margin-bottom:8px;display:block}

.form-group input,
.form-group textarea{
  width:100%;
  padding:14px;
  border-radius:10px;
  border:2px solid rgba(166,77,121,0.15);
  transition:0.3s;
}

.form-group input:focus,
.form-group textarea:focus{
  border-color:var(--accent);
  outline:none;
  box-shadow:0 0 0 3px rgba(166,77,121,0.15);
}

.contact-info-sidebar{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.contact-detail-group{
  background:var(--card);
  padding:20px;
  border-radius:14px;
  box-shadow:var(--shadow);
}

.detail-label{color:var(--accent);font-weight:700;margin-bottom:8px}

/* ---------- Main Content ---------- */
main {
  padding: 60px 0;
}

main h1 {
  color: var(--accent);
  margin-bottom: 20px;
  font-size: 2rem;
  text-align: center;
}

main section {
  background: var(--card);
  padding: 40px;
  border-radius: 20px;
  box-shadow: var(--shadow);
  margin-bottom: 40px;
  opacity: 1 !important;
  transform: translateY(0) !important;
}

main section h2 {
  color: var(--accent);
  margin-bottom: 20px;
  font-size: 1.5rem;
}

main section h3 {
  color: var(--accent-dark);
  margin-bottom: 10px;
  font-size: 1.2rem;
}

main section p {
  color: var(--text-light);
  line-height: 1.7;
  margin-bottom: 15px;
}

main section a {
  color: var(--secondary);
  text-decoration: none;
}

main section a:hover {
  text-decoration: underline;
}

/* ---------- Footer ---------- */
footer{
  background:var(--footer-bg);
  color:#e2e8f0;
  padding:30px 0 20px;
  margin-top:60px;
}
.footer-container{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.footer-contact h3,
.footer-quicklinks h3{
  color:var(--accent);
  margin-bottom:12px;
  font-size:1.1rem;
}

.footer-quicklinks ul{
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 16px;
}

.footer-quicklinks a{
  text-decoration:none;
  color:#cbd5e1;
  font-size:0.95rem;
}

.footer-quicklinks a:hover{color:var(--accent)}

.footer-bottom{
  grid-column:1 / -1;
  text-align:center;
  margin-top:20px;
  border-top:1px solid rgba(255,255,255,0.1);
  padding-top:15px;
  font-size:0.9rem;
  color:#aaa;
}
/* Make footer contact links white */
.footer-contact a {
    color: #ffffff;          /* white color */
    text-decoration: none;   /* remove underline */
}

.footer-contact a:hover {
    color: var(--accent);    /* optional hover effect to match your design */
    text-decoration: underline; /* optional underline on hover */
}


/* ---------- Animations ---------- */
@keyframes fadeIn{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}

section{
  opacity:0;
  transform:translateY(30px);
  transition:all 0.8s ease;
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .about-preview .container{grid-template-columns:1fr 250px}
}

@media (max-width:980px){
  .about-preview .container{grid-template-columns:1fr;text-align:center}
  .contact-layout{grid-template-columns:1fr}
}

@media (max-width:768px){
  nav ul.nav-links{display:none}
  .nav-toggle{
    display:block;
    font-size:1.5rem;
    cursor:pointer;
    color:var(--text);
    margin-left:auto;
    padding:10px;
    transition:0.3s;
  }
  .nav-toggle:hover{color:var(--accent)}
  nav ul.nav-links.mobile{
    display:flex;
    flex-direction:column;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    box-shadow:0 4px 20px rgba(0,0,0,0.1);
    padding:20px;
    gap:10px;
    z-index:1000;
  }
  nav ul.nav-links.mobile li{
    width:100%;
    text-align:center;
  }
  nav ul.nav-links.mobile a{
    display:block;
    padding:12px 0;
    border-radius:10px;
  }
  .hero{padding:40px 16px}
  .hero-content{padding:24px}
  .about-preview .container{grid-template-columns:1fr;text-align:center}
  .about-preview .about-image img{max-width:200px;margin:0 auto}
  .footer-container{grid-template-columns:1fr;text-align:center}
  .product-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
}

@media (max-width:480px){
  .hero{min-height:40vh;padding:20px 10px;background-size:contain;background-position:center top}
  .hero-content{padding:20px;max-width:100%;border-radius:16px}
  .hero-content h2{font-size:1.2rem}
  .hero-content p{font-size:0.9rem;margin-bottom:15px}
  .btn{padding:10px 20px;font-size:0.8rem}
  .about-preview{padding:10px 0}
  .about-content{padding:20px}
  .about-content h2{font-size:1.5rem;margin-bottom:15px}
  .about-content p{font-size:0.9rem}
  .about-preview .about-image img{max-width:150px}
  .featured-products h2{font-size:1.5rem;margin-bottom:15px}
  .product-grid{grid-template-columns:1fr;gap:16px;margin-top:20px}
  .product-card{padding:16px}
  .product-card img{height:140px}
  .product-card h3{font-size:1.1rem;margin:12px 0 6px}
  .product-card p{font-size:0.9rem}
  .container{width:95%}
  .about-content,
  .contact-form{padding:20px}
  .btn{min-height:44px;display:flex;align-items:center;justify-content:center}
  nav a{min-height:44px;display:flex;align-items:center}
}

/* =========================
   Management Section
   ========================= */
.management-section {
  padding: 80px 0;
  background: linear-gradient(135deg, #f5ecf7 0%, #e0f7f5 100%);
}

.management-section h2 {
  text-align: center;
  color: var(--accent);
  margin-bottom: 40px;
  font-size: 2rem;
}

.management-profile {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 40px;
  align-items: center;
}

.management-profile .profile-photo img {
  width: 100%;
  max-width: 400px;
  border-radius: 20px;
  box-shadow: var(--shadow);
}

.management-profile .profile-details {
  background: var(--card);
  padding: 30px;
  border-radius: 20px;
  box-shadow: var(--shadow);
}

.management-profile .profile-details h3 {
  margin-bottom: 10px;
  color: var(--accent-dark);
  font-size: 1.5rem;
}

.management-profile .profile-details .role {
  font-weight: 600;
  color: var(--secondary);
  margin-bottom: 15px;
}

/* Responsive adjustments */
@media (max-width: 900px) {
  .management-profile {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .management-profile .profile-photo img {
    margin: 0 auto 20px;
  }

  .management-profile .profile-details {
    text-align: left;
  }
}

/* =========================
   Privacy & Terms Page Specific Styles
   ========================= */
.privacy-terms-page h1,
.privacy-terms-page section h2,
.privacy-terms-page section h3 {
  color: #000000; /* Black color for headings on privacy-terms page */
}

/* =========================
   Our Approach Section
   ========================= */
.approach {
  padding: 80px 0;
  text-align: center;
}

.approach h2 {
  color: var(--accent);
  margin-bottom: 50px;
  font-size: 2rem;
}

.approach-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.approach-card {
  background: var(--card);
  padding: 30px 25px;
  border-radius: 20px;
  box-shadow: var(--shadow);
  transition: all 0.3s ease;
  text-align: left;
}

.approach-card h3 {
  color: var(--accent-dark);
  margin-bottom: 15px;
  font-size: 1.2rem;
}

.approach-card p {
  color: var(--text-light);
  line-height: 1.6;
}

.approach-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-hover);
  background: linear-gradient(135deg, #f5ecf7 0%, #ffffff 100%);
}

/* Responsive: stack on smaller screens */
@media (max-width: 1000px) {
  .approach-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 700px) {
  .approach-grid {
    grid-template-columns: 1fr;
  }
}
