/* Afrikana Clothing Landing.
   Palette and typography are the Amiy theme's own, read from the live site:
     --wp--preset--color--primary     #663130  (maroon)
     --wp--preset--color--tertiary    #F4F2ED  (off-white)
     --wp--preset--color--quaternary  #FBEADE  (blush)
     headings Belleza / body Work Sans - both already loaded by the theme.
   Everything is scoped under .afk so theme, Elementor and WooCommerce styles
   are never touched. Designed to sit INSIDE the theme's content container -
   no full-bleed breakout, no 100vw, so it cannot cause horizontal overflow. */

.afk {
  --afk-primary: #663130;
  --afk-primary-dk: #4d2524;
  --afk-blush: #fbeade;
  --afk-off: #f4f2ed;
  --afk-white: #fff;
  --afk-ink: #1a1613;
  --afk-body: #4a4340;
  --afk-mut: #8a807a;
  --afk-line: #e7dfd6;
  --afk-head: Belleza, "Work Sans", Georgia, serif;
  --afk-sans:
    "Work Sans", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --afk-pad: clamp(1.25rem, 4vw, 3.25rem);

  box-sizing: border-box;
  max-width: 100%;
  overflow-x: clip;
  background: var(--afk-white);
  color: var(--afk-body);
  font-family: var(--afk-sans);
  font-size: 16px;
  line-height: 1.7;
}

.afk *,
.afk *::before,
.afk *::after {
  box-sizing: inherit;
}

.afk img {
  max-width: 100%;
  height: auto;
  display: block;
}

.afk a {
  color: var(--afk-primary);
  text-decoration: none;
}
.afk a:hover,
.afk a:focus-visible {
  color: var(--afk-primary-dk);
  text-decoration: underline;
}

.afk :focus-visible {
  outline: 2px solid var(--afk-primary);
  outline-offset: 3px;
}

.afk-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ---------- hero ---------- */

.afk-hero {
  display: grid;
  grid-template-columns: 1fr;
  background: var(--afk-blush);
  overflow: hidden;
}

.afk-hero__art {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.afk-hero__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 20%;
}

.afk-hero__copy {
  padding: clamp(1.75rem, 4.5vw, 3.5rem) var(--afk-pad)
    clamp(2rem, 5vw, 3.75rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.9rem;
}

.afk-eyebrow {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--afk-primary);
}

.afk-hero__title {
  margin: 0;
  font-family: var(--afk-head);
  font-weight: 400;
  font-size: clamp(2.1rem, 5vw, 3.4rem);
  line-height: 1.1;
  color: var(--afk-ink);
}

.afk-hero__intro {
  margin: 0;
  max-width: 44ch;
  font-size: clamp(0.97rem, 1.4vw, 1.06rem);
  color: var(--afk-body);
}

.afk-hero__cta {
  margin: 0.45rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

/* ---------- buttons (theme's "- LABEL -" dashed caps style) ---------- */

.afk .afk-btn {
  display: inline-block;
  padding: 0.95em 1.9em;
  border: 1px solid var(--afk-primary);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

.afk .afk-btn::before {
  content: "- ";
}
.afk .afk-btn::after {
  content: " -";
}

.afk .afk-btn--solid {
  background: var(--afk-primary);
  color: #fff;
}
.afk .afk-btn--solid:hover,
.afk .afk-btn--solid:focus-visible {
  background: var(--afk-primary-dk);
  border-color: var(--afk-primary-dk);
  color: #fff;
  text-decoration: none;
}

.afk .afk-btn--ghost {
  background: transparent;
  color: var(--afk-primary);
}
.afk .afk-btn--ghost:hover,
.afk .afk-btn--ghost:focus-visible {
  background: var(--afk-primary);
  color: #fff;
  text-decoration: none;
}

/* ---------- trust strip ---------- */

.afk-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem clamp(1rem, 4vw, 3rem);
  margin: 0;
  padding: 0.95rem var(--afk-pad);
  list-style: none;
  background: var(--afk-off);
  border-bottom: 1px solid var(--afk-line);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--afk-primary);
  text-align: center;
}

/* ---------- sections ---------- */

.afk-section {
  padding: clamp(2.25rem, 5.5vw, 4rem) var(--afk-pad);
}

.afk-h3 {
  margin: 0 0 0.35rem;
  font-family: var(--afk-head);
  font-weight: 400;
  font-size: clamp(1.65rem, 3.2vw, 2.5rem);
  line-height: 1.15;
  color: var(--afk-ink);
  text-align: center;
}

.afk-kicker {
  margin: 0 0 2rem;
  text-align: center;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--afk-mut);
}

.afk-empty {
  text-align: center;
  color: var(--afk-mut);
  font-style: italic;
}

/* ---------- product grid ---------- */

.afk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: clamp(1.1rem, 2.4vw, 2rem);
  max-width: 1180px;
  margin-inline: auto;
}

.afk-card {
  display: flex;
  flex-direction: column;
  background: var(--afk-white);
  border: 1px solid var(--afk-line);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.afk-card:hover {
  border-color: var(--afk-primary);
  box-shadow: 0 10px 28px rgba(102, 49, 48, 0.1);
}

.afk-card__media {
  display: block;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: var(--afk-off);
}

.afk-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.afk-card:hover .afk-card__media img {
  transform: scale(1.04);
}
.afk-card__noimg {
  display: block;
  width: 100%;
  height: 100%;
}

.afk-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.1rem 1.1rem 1.25rem;
  flex: 1;
}

.afk-card__title {
  margin: 0;
  font-family: var(--afk-head);
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 1.2;
}

.afk-card__title a {
  color: var(--afk-ink);
}
.afk-card__title a:hover {
  color: var(--afk-primary);
  text-decoration: none;
}

.afk-card__sizes {
  margin: 0;
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--afk-mut);
}

.afk-card__price {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--afk-primary);
}

.afk-card__price del {
  opacity: 0.5;
  margin-right: 0.4em;
  font-weight: 400;
}
.afk-card__price ins {
  text-decoration: none;
}

.afk .afk-card__body .afk-btn {
  margin-top: auto;
}

/* ---------- colour swatches ---------- */

.afk-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.afk-swatch span[style] {
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  box-shadow:
    0 0 0 1px var(--afk-line),
    inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

/* ---------- sizing + faq ---------- */

.afk-faq {
  background: var(--afk-off);
}

.afk-sizing__body,
.afk-faq__list {
  max-width: 760px;
  margin-inline: auto;
}

.afk-sizing__body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.afk-sizing__body th,
.afk-sizing__body td {
  padding: 0.6rem 0.7rem;
  border-bottom: 1px solid var(--afk-line);
  text-align: left;
}

.afk-faq__list details {
  border-bottom: 1px solid var(--afk-line);
}

.afk-faq__list summary {
  cursor: pointer;
  position: relative;
  padding: 1rem 2.25rem 1rem 0;
  font-size: 1rem;
  font-weight: 500;
  list-style: none;
  color: var(--afk-ink);
}

.afk-faq__list summary::-webkit-details-marker {
  display: none;
}

.afk-faq__list summary::after {
  content: "+";
  position: absolute;
  right: 0.25rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.3rem;
  line-height: 1;
  color: var(--afk-primary);
}

.afk-faq__list details[open] summary::after {
  content: "\2013";
}

.afk-faq__list details p {
  margin: 0 0 1.1rem;
  max-width: 62ch;
  color: var(--afk-body);
  font-size: 0.96rem;
}

/* ---------- desktop ---------- */

@media (min-width: 820px) {
  .afk-hero {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }
  .afk-hero__art {
    aspect-ratio: auto;
    min-height: 460px;
  }
  .afk-hero__copy {
    padding-right: clamp(1.5rem, 4vw, 4rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .afk *,
  .afk *::before,
  .afk *::after {
    transition: none !important;
    animation: none !important;
  }
  .afk-card:hover .afk-card__media img {
    transform: none;
  }
}
