/*
 * Footer CSS — My Snowdrop
 * Complements Nordic Luxury Child Theme’s style.css
 * Structured for clean layout, FAQ discoverability, and luxury aesthetic
 * Version: 1.0, September 6, 2025
 */

/* Champagne-gold color for borders and accents */
:root {
  --border-champagne-gold: #D4A017;
}

.border-champagne-gold {
  border-color: var(--border-champagne-gold) !important;
}

.text-champagne-gold {
  color: var(--border-champagne-gold) !important;
}

/* Footer container */
.footer-container {
  contain: layout style !important;
}

/* FAQ accordion */
.footer-container details summary {
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.footer-container details summary:hover,
.footer-container details summary:focus {
  transform: translateY(-2px) !important;
}

.footer-container details[open] summary {
  margin-bottom: 8px !important;
}

/* Policy summary */
.footer-container .nordic-shipping-note ul li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
}

.footer-container .nordic-shipping-note .text-champagne-gold {
  flex-shrink: 0 !important;
}

/* Free shipping bar container */
.nordic-freebar-container .nordic-freebar {
  background: var(--luxury-cream) !important;
  border: 1px solid var(--border-champagne-gold) !important;
  border-radius: 14px !important;
  padding: 14px !important;
}

.nordic-freebar-container .nordic-freebar .bar {
  height: 10px !important;
  background: #eee !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.nordic-freebar-container .nordic-freebar .fill {
  background: var(--luxury-warm-charcoal) !important;
  border-radius: 999px !important;
  height: 100% !important;
  transition: width 0.3s ease !important;
}

/* SVG icons */
.nordic-section-icon {
  fill: var(--luxury-warm-charcoal) !important;
  transition: fill 0.2s ease !important;
}

.nordic-section-icon:hover {
  fill: var(--luxury-cashmere) !important;
}

/* Back to top button */
#back-to-top {
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  will-change: transform !important;
  transform: translateZ(0) !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .footer-container .grid-cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .footer-container .nordic-freebar-container .nordic-freebar {
    padding: 12px !important;
  }

  .footer-container .nordic-freebar-container .nordic-freebar .bar {
    height: 8px !important;
  }
}

@media (max-width: 480px) {
  .footer-container .grid-cols-3 {
    grid-template-columns: 1fr !important;
  }

  .footer-container .grid-cols-2 {
    grid-template-columns: 1fr !important;
  }

  .footer-container .nordic-shipping-note ul li {
    font-size: 12px !important;
  }
}

/* Accessibility */
.footer-container details:focus-within,
.footer-container a:focus,
#back-to-top:focus {
  outline: 2px solid var(--luxury-warm-charcoal) !important;
  outline-offset: 2px !important;
}

@media (prefers-contrast: high) {
  .footer-container .border-champagne-gold {
    border-color: #000000 !important;
  }

  .footer-container .nordic-freebar-container .nordic-freebar {
    border-color: #000000 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-container details summary,
  .footer-container .nordic-freebar-container .nordic-freebar .fill,
  #back-to-top {
    transition: none !important;
  }
}

/* Print styles */
@media print {
  .footer-container .bg-luxury-cream {
    background: #ffffff !important;
    border: 1px solid #000000 !important;
  }

  #back-to-top,
  .nordic-freebar-container {
    display: none !important;
  }
}