/* KANFARA links — approved brand palette */
:root {
  --bg: #F6F1E9;
  --ink: #202225;
  --button: #202225;
  --button-text: #FFFFFF;
  --accent: #D84800;
  --accent-rgb: 216, 72, 0;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--bg);
  color: var(--ink);
  font-family: Montserrat, Tajawal, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
a:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.page {
  max-width: 560px;
  margin: 0 auto;
  padding: clamp(26px, 6vw, 46px) 22px 26px;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
.hero { text-align: center; }
.logo-wrap {
  position: relative;
  width: 126px;
  height: 126px;
  margin: 0 auto 10px;
  display: grid;
  place-items: center;
}
.logo-wrap::before {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  box-shadow: 0 8px 27px rgba(35, 27, 16, .055);
}
.logo {
  display: block;
  width: 118px;
  height: 118px;
  object-fit: cover;
  border-radius: 50%;
  position: relative;
}
.tagline {
  font-size: 20px;
  font-weight: 700;
  color: var(--accent);
  margin: 0;
  line-height: 1.5;
}
.dots { letter-spacing: .1em; }
.description {
  font-size: 14.5px;
  font-weight: 500;
  margin: 8px 0 0;
  color: var(--ink);
}
/* Transparent social icons, placed beneath the three branches. */
.social-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 60px 0 0;
}
.social-link {
  display: grid;
  place-items: center;
  width: 34px;
  height: 36px;
  border: 0;
  background: transparent;
  color: var(--ink);
  border-radius: 7px;
  text-decoration: none;
  transition: transform .18s ease, color .18s ease;
}
.social-link svg { display: block; width: 27px; height: 27px; }
.social-link:hover { transform: translateY(-2px); color: var(--accent); }
.section-heading {
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 14px;
  color: var(--ink);
}
.actions { display: grid; gap: 11px; margin-top: 49px; }

.action-button {
  --glow-x: 4px;
  --glow-y: 4px;
  --glow-alpha: .65;
  --shadow-rgb: var(--accent-rgb);
  position: relative;
  display: flex;
  align-items: center;
  min-height: 60px;
  gap: 13px;
  background: var(--button);
  color: var(--button-text);
  border: 1px solid var(--button);
  border-radius: 13px;
  box-shadow:
    var(--glow-x) var(--glow-y) 0 -1px rgba(var(--shadow-rgb), var(--glow-alpha)),
    0 8px 16px rgba(32, 34, 37, .13);
  padding: 12px 18px;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
  overflow: hidden;
}
.action-button:hover {
  background: var(--button);
  color: var(--button-text);
  box-shadow:
    var(--glow-x) var(--glow-y) 0 0 rgba(var(--shadow-rgb), .94),
    0 10px 24px rgba(var(--shadow-rgb), .19);
  transform: translateY(-2px);
}
.action-button:active { transform: translateY(0); }
.actions .action-button:nth-of-type(1) { --glow-x: 5px; --glow-y: 3px; --glow-alpha: .68; }
.actions .action-button:nth-of-type(2) { --glow-x: -5px; --glow-y: 4px; --glow-alpha: .80; }
/* WhatsApp alone gets its approved green icon and green asymmetric shadow. */
.action-button.primary {
  --shadow-rgb: 37, 211, 102;
  --glow-x: 5px;
  --glow-y: 4px;
  --glow-alpha: .83;
}
.action-button.primary:hover { box-shadow: 5px 4px 0 0 rgba(37, 211, 102, .98), 0 10px 24px rgba(37, 211, 102, .18); }
.action-button.store::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--accent);
}
/* Image files retain their supplied artwork. The store PNG is displayed at its native 32x32. */
.btn-icon { flex: 0 0 32px; display: grid; place-items: center; }
.btn-icon img { display: block; object-fit: contain; }
.btn-icon .store-image { width: 32px; height: 32px; }
.btn-icon .whatsapp-image { width: 31px; height: 31px; }
.btn-icon .branch-image { width: 29px; height: 32px; }
.btn-label {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  flex: 1;
}
.btn-chevron { font-size: 26px; font-weight: 400; line-height: 1; opacity: .65; }
.branches { margin-top: 29px; display: grid; gap: 11px; }
.branches .section-heading { margin-bottom: 0; }
.section-ornament {
  display: inline-block;
  width: 5px;
  height: 5px;
  background: var(--accent);
  border-radius: 50%;
  vertical-align: middle;
  margin-inline: 5px;
}
.branch-description { text-align: center; color: var(--ink); font-size: 13px; margin: 0 0 4px; }
.branches .action-button { min-height: 58px; }
.branches .btn-label { font-size: 13.7px; }
.branches .action-button:nth-of-type(1) { --glow-x: 5px; --glow-y: -3px; --glow-alpha: .58; }
.branches .action-button:nth-of-type(2) { --glow-x: -5px; --glow-y: 4px; --glow-alpha: .75; }
.branches .action-button:nth-of-type(3) { --glow-x: 3px; --glow-y: 5px; --glow-alpha: .68; }
footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 38px;
  font-size: 11px;
  color: var(--ink);
  opacity: .56;
  direction: ltr;
}
.footer-mark { letter-spacing: .18em; font-family: Montserrat, Arial, sans-serif; font-weight: 700; }
.footer-separator { color: var(--accent); opacity: 1; }
@media (min-width: 700px) {
  .page { border-left: 1px solid rgba(32, 34, 37, .04); border-right: 1px solid rgba(32, 34, 37, .04); }
  body { background: var(--bg); }
}
@media (max-width: 370px) {
  .page { padding-left: 16px; padding-right: 16px; }
  .branches .btn-label { font-size: 12.5px; }
  .action-button { padding-inline: 13px; gap: 9px; }
  .social-nav { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
}

/* Approved v2: breathing room around CTAs and social section. */
.email-contact {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin-top: 30px;
  width: 100%;
  color: var(--ink);
}
.email-rule {
  width: clamp(20px, 14%, 80px);
  height: 1px;
  flex: 0 1 80px;
  background: rgba(32,34,37,.22);
}
.email-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: color .18s ease;
}
.email-link:hover { color: var(--accent); }
.email-icon { width: 18px; height: 18px; flex: 0 0 18px; }
@media (max-width: 370px) {
  .actions { margin-top: 42px; }
  .social-nav { margin-top: 50px; }
  .email-contact { gap: 10px; }
  .email-link { font-size: 12px; }
}
