/* assets/css/ui.css */

@font-face {
  font-family: "Somar Sans";
  src: url("../fonts/SomarSans-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Brand colors */
  --kiwi-gold: #A0A838;
  --kiwi-ink: #3A2317;
  --kiwi-background: #FEFFFB;

  /* Neutrals */
  --kiwi-white: #FEFFFB;
  --kiwi-black: #000000;

  /* Surfaces */
  --kiwi-surface: rgba(255, 255, 255, 0.78);
  --kiwi-surface-92: rgba(255, 255, 255, 0.92);

  /* Ink transparencies */
  --kiwi-ink-04: rgba(58, 35, 23, 0.04);
  --kiwi-ink-10: rgba(58, 35, 23, 0.10);
  --kiwi-ink-28: rgba(58, 35, 23, 0.28);
  --kiwi-ink-35: rgba(58, 35, 23, 0.35);
  --kiwi-ink-72: rgba(58, 35, 23, 0.72);
  --kiwi-ink-78: rgba(58, 35, 23, 0.78);
  --kiwi-ink-85: rgba(58, 35, 23, 0.85);

  /* White transparencies */
  --kiwi-white-22: rgba(255, 255, 255, 0.22);
  --kiwi-white-28: rgba(255, 255, 255, 0.28);
  --kiwi-white-68: rgba(255, 255, 255, 0.68);
  --kiwi-white-82: rgba(255, 255, 255, 0.82);
  --kiwi-white-90: rgba(255, 255, 255, 0.90);
  --kiwi-white-92: rgba(255, 255, 255, 0.92);

  /* Gold transparencies */
  --kiwi-gold-24: rgba(160, 168, 56, 0.24);
  --kiwi-gold-68: rgba(160, 168, 56, 0.68);
  --kiwi-gold-92: rgba(160, 168, 56, 0.92);
  --kiwi-gold-95: rgba(160, 168, 56, 0.95);

  /* Black transparencies */
  --kiwi-black-18: rgba(0, 0, 0, 0.18);
  --kiwi-black-35: rgba(0, 0, 0, 0.35);

  /* Typography colors */
  --kiwi-text: var(--kiwi-ink);
  --kiwi-text-strong: var(--kiwi-ink-85);
  --kiwi-text-muted: var(--kiwi-ink-72);
  --kiwi-text-subtle: var(--kiwi-ink-78);

  /* Layout */
  --container-max: 1200px;
  --gutter: 24px;

  /* Radius */
  --radius-pill: 999px;
  --radius-md: 14px;

  /* Motion */
  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --duration: 240ms;

  /* Focus */
  --focus-ring: rgba(160, 168, 56, 0.25);
}

/* Ensure correct layout direction per page */
html[dir="rtl"] { direction: rtl; }
html[dir="ltr"] { direction: ltr; }

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: "Somar Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  background-color: var(--kiwi-background);
  color: var(--kiwi-text);
}

img,
svg {
  max-width: 100%;
  height: auto;
}

button,
input,
textarea,
select {
  font: inherit;
}

.kiwi-container {
  width: min(var(--container-max), calc(100% - (var(--gutter) * 2)));
  margin-inline: auto;
}

.kiwi-focus {
  outline: 0;
}

.kiwi-focus:focus-visible {
  box-shadow: 0 0 0 4px var(--focus-ring);
  border-radius: var(--radius-md);
}

.kiwi-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Button component: fill layer above stroke layer */
.kiwi-btn {
  --fill-x: 5px;
  --fill-y: 0px;
  --stk-x: 0px;
  --stk-y: 5px;
  --stk-x-h: -1px;
  --stk-y-h: 7px;

  position: relative;
  z-index: 0;
  isolation: isolate;

  display: inline-grid;
  place-items: center;
  padding: 13px 24px;

  font-weight: 800;
  font-size: 16px;
  line-height: 1;

  color: var(--kiwi-white);
  background: transparent;
  text-decoration: none;
  border: 0;
  cursor: pointer;
}

.kiwi-btn::after,
.kiwi-btn::before {
  content: "";
  position: absolute;
  inset: 0;

  /* base */
  border-radius: var(--radius-pill);

  /* keep one corner “tighter” in a direction-aware way */
  border-start-end-radius: 18px;

  transition: transform var(--duration) var(--ease);
}

.kiwi-btn::after {
  background: var(--kiwi-gold);
  transform: translate3d(var(--fill-x), var(--fill-y), 0);
  z-index: -1;
}

.kiwi-btn::before {
  border: 1px solid var(--kiwi-ink);
  transform: translate3d(var(--stk-x), var(--stk-y), 0);
  z-index: -2;
}

.kiwi-btn:hover::before {
  transform: translate3d(var(--stk-x-h), var(--stk-y-h), 0);
}

.kiwi-btn__content {
  transform: translate3d(var(--fill-x), var(--fill-y), 0);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.kiwi-btn--compact {
  padding: 12px 18px;
  font-size: 15px;
}

.kiwi-btn--icon {
  width: 56px;
  padding: 12px 0;
}
