/* =========================================================
   Fiona Dates - Main Stylesheet
   Lightweight, no build step required. Uses CSS custom properties
   so Admin > Appearance can theme the site without editing this file.
   ========================================================= */

:root{
  --fd-primary: #4C74EE;
  --fd-secondary: #1F2A44;
  --fd-font: 'Poppins', sans-serif;
  --fd-radius: 14px;
}

*{ box-sizing: border-box; }

body{
  font-family: var(--fd-font);
  color: #222833;
  background: #F7F8FB;
  -webkit-font-smoothing: antialiased;
}

a{ text-decoration: none; }
a.footer-link{ color: rgba(255,255,255,.75); }
a.footer-link:hover{ color: #fff; }

.btn-fd-primary{
  background: var(--fd-primary);
  border-color: var(--fd-primary);
  color: #fff;
  font-weight: 600;
}
.btn-fd-primary:hover{ filter: brightness(0.92); color:#fff; }

.fd-header .nav-link{ font-weight: 500; color:#333; }
.fd-header .nav-link:hover{ color: var(--fd-primary); }

/* ---------- Hero ---------- */
.fd-hero{
  background: linear-gradient(135deg, var(--fd-secondary), #101724 85%);
  color:#fff;
  padding: 84px 0 110px;
  position: relative;
  overflow:hidden;
}
.fd-hero h1{ font-weight:700; font-size: clamp(2rem, 4vw, 3rem); }
.fd-hero p.lead{ opacity:.85; }

.fd-search-card{
  background:#fff;
  border-radius: var(--fd-radius);
  padding: 20px;
  box-shadow: 0 20px 50px rgba(0,0,0,.15);
  margin-top: -60px;
  position: relative;
  z-index: 2;
}

/* ---------- Category & Listing Cards ---------- */
.fd-card{
  background:#fff;
  border-radius: var(--fd-radius);
  border: 1px solid #eef0f4;
  transition: transform .2s ease, box-shadow .2s ease;
  height:100%;
}
.fd-card:hover{ transform: translateY(-4px); box-shadow: 0 14px 30px rgba(30,40,70,.08); }

.fd-cat-icon{
  width:56px;height:56px;border-radius:14px;
  background: color-mix(in srgb, var(--fd-primary) 12%, white);
  display:flex;align-items:center;justify-content:center;
  font-size:24px;color:var(--fd-primary);
}

.fd-badge-featured{
  background: linear-gradient(135deg,#FFB020,#FF7A00);
  color:#fff; font-size:.7rem; font-weight:700; letter-spacing:.03em;
  padding: 4px 10px; border-radius: 20px;
}

.fd-section-title{ font-weight:700; }
.fd-section-sub{ color:#6b7280; }

img{ max-width:100%; height:auto; }
.fd-lazy{ background:#eef1f6; }

/* ---------- Stats / Testimonials / Partner logos ---------- */
.fd-stat h2{ font-weight:800; color: var(--fd-primary); }
.fd-partner-logo img{ max-height:42px; filter: grayscale(1); opacity:.7; transition:.2s; }
.fd-partner-logo img:hover{ filter:none; opacity:1; }

.fd-testimonial{ background:#fff; border-radius: var(--fd-radius); padding:28px; height:100%; }
.fd-stars{ color:#FFB020; letter-spacing:2px; }

/* ---------- CTA ---------- */
.fd-cta{
  background: var(--fd-primary);
  border-radius: 24px;
  color:#fff;
  padding: 56px;
}

/* ---------- Forms ---------- */
.form-label{ font-weight:600; font-size:.9rem; }
.fd-form-card{ background:#fff; border-radius: var(--fd-radius); padding:32px; }

/* ---------- Footer ---------- */
.fd-footer h6{ letter-spacing:.05em; font-size:.78rem; opacity:.8; }

/* ---------- Utility ---------- */
.fd-shadow-sm{ box-shadow: 0 2px 10px rgba(20,25,40,.05); }
.text-fd-primary{ color: var(--fd-primary); }

@media (max-width: 768px){
  .fd-hero{ padding: 56px 0 90px; }
  .fd-search-card{ margin-top: -40px; }
}
