:root{
 --dark:#1a120d;          /* Darker for 7:1 contrast */
 --accent:#6b4428;        /* Darker accent */
 --gold:#b8963d;          /* Accessible highlight */
 --light:#faf7f4;         /* Softer background */
 --focus:#005fcc;         /* High contrast focus color */
}

/* =====================
   BASE TEXT AAA
===================== */
body{
 margin:0;
 font-family:'Inter',sans-serif;
 background:var(--light);
 color:#1a1a1a; /* 15:1 contrast */
 line-height:1.8; /* AAA readability */
 font-size:18px;
}

h1,h2,h3{
 font-family:'Playfair Display',serif;
 line-height:1.4;
}

/* =====================
   AAA FOCUS STYLES
===================== */
:focus-visible{
 outline:4px solid var(--focus);
 outline-offset:4px;
 box-shadow:0 0 0 4px white;
}

/* Focus not obscured */
*:focus{
 scroll-margin:100px;
}

/* =====================
   SKIP LINK AAA
===================== */
.skip-link{
 position:absolute;
 left:-9999px;
 background:#000;
 color:#fff;
 padding:1rem 1.5rem;
 font-size:1rem;
}
.skip-link:focus{
 left:20px;
 top:20px;
}

/* =====================
   BUTTON AAA
===================== */
button{
 background:var(--dark);
 color:white;
 border:none;
 border-radius:10px;
 padding:1rem 1.25rem;
 cursor:pointer;
 min-height:48px;
 min-width:48px;
 font-weight:600;
 font-size:1rem;
}

button:hover{
 background:var(--accent);
}

/* =====================
   HIGH CONTRAST LINKS
===================== */
a{
 color:#003366;
 font-weight:600;
}
a:hover{
 text-decoration:underline;
}

/* =====================
   IMPROVED CARDS
===================== */
.card{
 background:white;
 padding:1.8rem;
 border-radius:14px;
 box-shadow:0 10px 25px rgba(0,0,0,.08);
}

/* =====================
   CART AAA
===================== */
#cart{
 background:white;
 border-left:4px solid var(--dark);
}

/* =====================
   FORM AAA
===================== */
label{
 font-weight:600;
 display:block;
 margin-bottom:.4rem;
}

input,textarea{
 padding:1rem;
 border-radius:8px;
 border:2px solid #999;
 font-size:1rem;
}

input:focus,textarea:focus{
 border-color:var(--focus);
}

/* =====================
   REDUCED MOTION
===================== */
@media (prefers-reduced-motion: reduce){
 *{
  animation:none !important;
  transition:none !important;
  scroll-behavior:auto !important;
 }
}