/* ==========================================================================
   Extreme Camps - shared refinement layer
   Structure, accessibility and readability only. Fonts (Montserrat/Inter)
   and palette (teal #0F3D3E family + red #DC2626) are unchanged.
   ========================================================================== */
:root{
  --ec-accent:#DC2626; --ec-accent-600:#B91C1C;
  --ec-primary:#0F3D3E; --ec-primary-500:#2C7A7B;
}
img{max-width:100%;height:auto;}

/* Visible keyboard focus everywhere (accessibility quality floor) */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,
select:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--ec-accent);outline-offset:2px;border-radius:4px;
}

/* Scroll-reveal: mirror the inline behaviour so nothing is left permanently hidden */
.fade-up{opacity:0;transform:translateY(20px);
  transition:opacity .6s ease-out,transform .6s ease-out;}
.fade-up.visible{opacity:1;transform:none;}

/* .prose fallback -----------------------------------------------------------
   The Tailwind Play CDN ships without the Typography plugin, so .prose classes
   render as no-ops. These rules restore readable article rhythm using the
   brand palette, without fighting the utility classes already on headings. */
.prose{line-height:1.75;}
.prose p{margin:0 0 1.15em;}
.prose ul{margin:0 0 1.15em;padding-left:1.25em;list-style:disc;}
.prose ol{margin:0 0 1.15em;padding-left:1.25em;list-style:decimal;}
.prose li{margin:.35em 0;}
.prose a{color:var(--ec-accent);text-decoration:underline;text-underline-offset:2px;}
.prose a:hover{color:var(--ec-accent-600);}
.prose strong{color:var(--ec-primary);}
.prose blockquote{border-left:4px solid var(--ec-primary-500);
  padding-left:1rem;color:#4b5563;font-style:italic;margin:1.2em 0;}

/* Respect users who ask for reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important;}
  .fade-up{opacity:1!important;transform:none!important;}
}

/* FAQ accordion (details/summary) */
details.faq{border:1px solid #e5e7eb;}
details.faq > summary{list-style:none;cursor:pointer;}
details.faq > summary::-webkit-details-marker{display:none;}
.faq-icon{transition:transform .2s ease;flex:0 0 auto;}
details.faq[open] .faq-icon{transform:rotate(180deg);}
