/* ===== POLICIES PAGE STYLES ===== */

/* Policy Navigation */
.policy-nav-section {
  padding: 0;
  position: sticky;
  top: 70px;
  z-index: 100;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(15,76,92,.08);
  box-shadow: 0 2px 12px rgba(15,76,92,.06);
}
.policy-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 12px 0;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.policy-nav::-webkit-scrollbar { display: none; }
.policy-nav-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 50px;
  font-family: 'Poppins', sans-serif;
  font-size: .82rem;
  font-weight: 600;
  color: var(--gray);
  text-decoration: none;
  white-space: nowrap;
  border: 1.5px solid transparent;
  background: var(--light-gray);
  transition: var(--transition);
  flex-shrink: 0;
}
.policy-nav-item:hover {
  color: var(--teal);
  background: var(--mint);
  border-color: rgba(15,76,92,.1);
}
.policy-nav-item.active {
  background: linear-gradient(135deg, var(--teal), var(--teal-light));
  color: white;
  border-color: transparent;
  box-shadow: 0 4px 16px rgba(15,76,92,.25);
}
.policy-nav-icon {
  font-size: 1rem;
  line-height: 1;
}

/* Policy Content Section */
.policy-content-section {
  padding: 50px 0 80px;
  background: var(--light-gray);
}

/* Policy Card */
.policy-card {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 32px;
  border: 1px solid rgba(15,76,92,.06);
  box-shadow: 0 4px 20px rgba(15,76,92,.06);
  transition: var(--transition);
  scroll-margin-top: 180px;
}
.policy-card:hover {
  box-shadow: 0 8px 36px rgba(15,76,92,.1);
}

/* Policy Card Header */
.policy-card-header {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 32px 36px;
  background: linear-gradient(135deg, rgba(15,76,92,.03), rgba(59,175,218,.04));
  border-bottom: 1px solid rgba(15,76,92,.06);
}
.policy-icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--mint), rgba(59,175,218,.15));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.policy-icon-warning {
  background: linear-gradient(135deg, #FFF7ED, #FFEDD5);
}
.policy-icon-success {
  background: linear-gradient(135deg, #ECFDF5, #D1FAE5);
}
.policy-card-header h2 {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--teal);
  margin-bottom: 2px;
}
.policy-updated {
  font-size: .78rem;
  color: var(--gray);
  font-weight: 500;
}

/* Policy Card Body */
.policy-card-body {
  padding: 32px 36px 40px;
}
.policy-intro {
  font-size: .95rem;
  color: var(--charcoal);
  line-height: 1.8;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(15,76,92,.06);
}
.policy-intro a {
  color: var(--blue);
  font-weight: 600;
  transition: color var(--transition);
}
.policy-intro a:hover {
  color: var(--teal);
}
.policy-card-body h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--teal);
  margin: 28px 0 12px;
  padding-top: 20px;
  border-top: 1px solid rgba(15,76,92,.05);
}
.policy-card-body h3:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.policy-card-body > p {
  font-size: .9rem;
  color: var(--gray);
  line-height: 1.7;
  margin-bottom: 14px;
}

/* Policy List */
.policy-list {
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
}
.policy-list li {
  position: relative;
  padding: 12px 0 12px 32px;
  font-size: .9rem;
  color: var(--charcoal);
  line-height: 1.75;
  border-bottom: 1px solid rgba(15,76,92,.04);
}
.policy-list li:last-child {
  border-bottom: none;
}
.policy-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 18px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--teal), var(--blue));
}
.policy-list li strong {
  color: var(--teal);
  font-weight: 700;
}
.policy-list li a {
  color: var(--blue);
  font-weight: 600;
  transition: color var(--transition);
}
.policy-list li a:hover {
  color: var(--teal);
}

/* Consent list - special check marks */
.policy-list-consent li::before {
  content: '✓';
  width: auto;
  height: auto;
  background: none;
  color: #10B981;
  font-weight: 700;
  font-size: .9rem;
  top: 12px;
  border-radius: 0;
}

/* Info Grid (Privacy - collected info) */
.policy-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
  margin: 14px 0 24px;
}
.policy-info-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: var(--light-gray);
  border-radius: 10px;
  font-size: .88rem;
  color: var(--charcoal);
  font-weight: 500;
  transition: var(--transition);
}
.policy-info-item:hover {
  background: var(--mint);
  transform: translateY(-2px);
}
.policy-check {
  color: var(--teal);
  font-weight: 700;
  font-size: .9rem;
}

/* Disclaimer Box */
.policy-disclaimer-box {
  background: linear-gradient(135deg, #FFF7ED, #FFFBEB);
  border: 1px solid rgba(217,119,6,.15);
  border-radius: 14px;
  padding: 24px 28px;
  border-left: 4px solid #F59E0B;
}
.policy-disclaimer-box .policy-list li::before {
  background: linear-gradient(135deg, #F59E0B, #D97706);
}
.policy-disclaimer-box .policy-list li {
  border-bottom-color: rgba(217,119,6,.08);
}

/* Contact Card */
.policy-contact-card {
  background: white;
  border-radius: 20px;
  padding: 36px;
  margin-top: 16px;
  border: 1px solid rgba(15,76,92,.06);
  box-shadow: 0 4px 20px rgba(15,76,92,.06);
}
.policy-contact-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(15,76,92,.06);
}
.policy-contact-icon {
  font-size: 2rem;
  flex-shrink: 0;
}
.policy-contact-inner h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--teal);
  margin-bottom: 4px;
}
.policy-contact-inner p {
  font-size: .9rem;
  color: var(--gray);
}
.policy-contact-details {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.policy-detail-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  background: var(--light-gray);
  border-radius: 12px;
  font-family: 'Poppins', sans-serif;
  font-size: .88rem;
  font-weight: 600;
  color: var(--teal);
  text-decoration: none;
  transition: var(--transition);
}
.policy-detail-item:hover {
  background: var(--mint);
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}
.policy-detail-icon {
  font-size: 1.1rem;
}

/* Footer Policies Row */
.footer-policies {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: 20px 0;
  border-top: 1px solid rgba(255,255,255,.1);
}
.footer-policies a {
  font-family: 'Poppins', sans-serif !important;
  font-size: .8rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.55) !important;
  text-decoration: none !important;
  transition: color var(--transition) !important;
  padding: 0 !important;
  display: inline !important;
}
.footer-policies a::before {
  display: none !important;
}
.footer-policies a:hover {
  color: white !important;
  padding-left: 0 !important;
}
.footer-policy-sep {
  color: rgba(255,255,255,.25);
  font-size: .75rem;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .policy-nav-section {
    top: 60px;
  }
  .policy-nav {
    gap: 8px;
    padding: 10px 0;
  }
  .policy-nav-item {
    padding: 8px 14px;
    font-size: .75rem;
  }
  .policy-nav-icon {
    font-size: .85rem;
  }
  .policy-card-header {
    padding: 24px 20px;
    gap: 14px;
  }
  .policy-icon-wrap {
    width: 44px;
    height: 44px;
    font-size: 1.2rem;
    border-radius: 12px;
  }
  .policy-card-header h2 {
    font-size: 1.1rem;
  }
  .policy-card-body {
    padding: 24px 20px 32px;
  }
  .policy-list li {
    padding-left: 24px;
    font-size: .85rem;
  }
  .policy-list li::before {
    top: 16px;
    width: 6px;
    height: 6px;
  }
  .policy-info-grid {
    grid-template-columns: 1fr;
  }
  .policy-contact-inner {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
  .policy-contact-details {
    flex-direction: column;
  }
  .policy-detail-item {
    justify-content: center;
  }
  .policy-disclaimer-box {
    padding: 18px 16px;
  }
  .footer-policies {
    gap: 8px;
    padding: 14px 0;
  }
  .footer-policies a {
    font-size: .75rem;
  }
}

@media (max-width: 480px) {
  .policy-nav-item span:not(.policy-nav-icon) {
    font-size: .72rem;
  }
  .policy-card {
    border-radius: 14px;
  }
  .policy-card-body h3 {
    font-size: .95rem;
  }
}
