/* NoorSitara Ultra-Minimalist Base Styles */

@layer base {
  html, body {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
    background-color: #F7F6F3;
    color: #111111;
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  /* Editorial Typography */
  h1, h2, h3, .font-serif-heading {
    font-family: 'Playfair Display', 'Lyon Text', 'Newsreader', Georgia, serif;
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: #111111;
  }

  p {
    line-height: 1.6;
    color: #2F3437;
  }
}

/* Subtle Scroll Reveal */
.reveal {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 600ms cubic-bezier(0.16, 1, 0.3, 1), transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, opacity;
}
.reveal.active {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Ultra-thin borders and crisp edges */
.border-minimal {
  border: 1px solid #EAEAEA;
}

/* Subtle Hover States */
.minimal-hover {
  transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 200ms ease;
}
.minimal-hover:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

/* Crisp button */
.btn-minimal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  background-color: #111111;
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 4px;
  transition: background-color 200ms ease, transform 200ms ease;
  border: 1px solid transparent;
}
.btn-minimal:hover {
  background-color: #333333;
  transform: scale(0.98);
}
.btn-minimal-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  background-color: transparent;
  color: #111111;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 4px;
  transition: background-color 200ms ease, border-color 200ms ease;
  border: 1px solid #111111;
}
.btn-minimal-outline:hover {
  background-color: #111111;
  color: #FFFFFF;
}

/* Hero Overlay */
.hero-overlay {
  background: linear-gradient(to bottom, rgba(17,17,17,0.1), rgba(17,17,17,0.7));
}

/* Custom minimal scrollbar */
::-webkit-scrollbar {
  width: 4px;
}
::-webkit-scrollbar-track {
  background: #F7F6F3;
}
::-webkit-scrollbar-thumb {
  background: #EAEAEA;
}
::-webkit-scrollbar-thumb:hover {
  background: #cccccc;
}

/* WordPress Admin Bar Compatibility for Fixed Header */
.admin-bar header {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  .admin-bar header {
    top: 46px !important;
  }
}

/* Contact Form 7 Luxury Styling */
.wpcf7 {
  width: 100%;
}
.wpcf7 form.wpcf7-form {
  width: 100%;
}
.wpcf7-form p {
  margin: 0 !important;
}
.wpcf7-form .wpcf7-not-valid-tip {
  font-size: 11px !important;
  font-family: inherit !important;
  color: #dc2626 !important;
  margin-top: 4px !important;
}
.wpcf7-form .wpcf7-response-output {
  margin: 1.5rem 0 0 0 !important;
  padding: 12px 16px !important;
  font-size: 13px !important;
  border-radius: 2px !important;
  border: 1px solid #EAEAEA !important;
  font-family: inherit !important;
}
.wpcf7-form.sent .wpcf7-response-output {
  border-color: #16a34a !important;
  background: #f0fdf4 !important;
  color: #166534 !important;
}
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output {
  border-color: #dc2626 !important;
  background: #fef2f2 !important;
  color: #991b1b !important;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="email"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100% !important;
  background-color: #ffffff !important;
  padding: 10px 16px !important;
  border-radius: 2px !important;
  border: 1px solid #EAEAEA !important;
  font-size: 14px !important;
  color: #111111 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  font-family: inherit !important;
  outline: none !important;
  box-sizing: border-box !important;
}
.wpcf7-form input[type="text"]::placeholder,
.wpcf7-form input[type="tel"]::placeholder,
.wpcf7-form textarea::placeholder {
  color: #9ca3af !important;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  border-color: #111111 !important;
  box-shadow: 0 0 0 1px #111111 !important;
}
.wpcf7-form select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23787774' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px !important;
  padding-right: 40px !important;
  cursor: pointer !important;
}
.rtl .wpcf7-form select {
  background-position: left 14px center !important;
  padding-right: 16px !important;
  padding-left: 40px !important;
}
.wpcf7-form input[type="submit"] {
  width: 100% !important;
  padding: 14px 24px !important;
  background-color: #111111 !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border-radius: 2px !important;
  border: 1px solid #111111 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}
.wpcf7-form input[type="submit"]:hover {
  background-color: #000000 !important;
}
.wpcf7-spinner {
  margin: 10px auto 0 auto !important;
  display: block !important;
}

/* Social Media SVG Dimensions Patch */
.h-5 { height: 1.25rem; }
.w-5 { width: 1.25rem; }

/* Grid 3-columns fallback */
.grid-cols-3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* SEO Benefits Card Refined Styling */
.seo-benefit-card {
  background-color: #ffffff !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  border-radius: 2px !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease !important;
}
.seo-benefit-card:hover {
  border-color: rgba(17, 17, 17, 0.45) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
}

/* SEO Benefits Accordion Refined Styling */
.seo-benefit-accordion-item {
  background-color: #ffffff !important;
  border: 1px solid rgba(17, 17, 17, 0.14) !important;
  border-radius: 2px !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}
.seo-benefit-accordion-item:hover,
.seo-benefit-accordion-item[open] {
  border-color: rgba(17, 17, 17, 0.45) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
}
.seo-benefit-accordion-item summary::-webkit-details-marker {
  display: none !important;
}

