/* ===========================================================
   ShopForMe — foundation
   Mobile-first: the base rules are the phone layout; every
   media query is min-width and adds to it.
   Type: Roboto / Roboto Condensed / Roboto Mono (self-hosted)
   =========================================================== */

:root{
  /* ink & paper */
  --ink:        #14161a;
  --ink-2:      #4a5058;
  --ink-3:      #6e757e;
  --ink-4:      #9aa0a8;
  --line:       #e8e4dd;
  --line-2:     #d9d4cb;
  --paper:      #ffffff;
  --sand:       #f6f3ee;
  --sand-2:     #efebe3;

  /* action */
  --orange:     #f0521b;
  --orange-ink: #d4430f;
  --orange-wash:#fdece6;

  /* support */
  --green:      #1a9850;
  --green-wash: #e8f4ec;
  --amber:      #b7791f;
  --red:        #c2321f;

  /* type */
  --sans: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono: "Roboto Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* rhythm */
  --gut: 18px;
  --max: 1240px;
  --r:    10px;   /* cards, tiles, media */
  --r-sm:  8px;   /* buttons, inputs */
  --r-xs:  6px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
::selection{background:var(--ink);color:var(--paper)}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.wrap-narrow{width:100%;max-width:760px;margin-inline:auto;padding-inline:var(--gut)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 18px;z-index:200}
.skip:focus{left:0}
@media (min-width:700px){ :root{ --gut:24px } }

/* ---------- type scale ---------- */
.display{
  font-weight:900; letter-spacing:-.035em; line-height:1;
  font-size:clamp(2.75rem, 11.5vw, 4.5rem);
  text-wrap:balance;
}
.h1{font-weight:900;letter-spacing:-.03em;line-height:1.06;font-size:clamp(1.9rem,6vw,2.9rem);text-wrap:balance}
.h2{font-weight:700;letter-spacing:-.025em;line-height:1.15;font-size:clamp(1.35rem,4.4vw,1.75rem)}
.h3{font-weight:700;letter-spacing:-.015em;line-height:1.25;font-size:1.1rem}
.lede{font-size:1.05rem;line-height:1.55;color:var(--ink-2);max-width:40ch}
.body{color:var(--ink-2);max-width:66ch}
.small{font-size:.875rem;color:var(--ink-3)}
.eyebrow{
  font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;font-size:.74rem;color:var(--ink-3);
}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
@media (min-width:900px){ .lede{font-size:1.12rem} }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:54px;padding:0 26px;border:1px solid transparent;border-radius:var(--r-sm);
  font-weight:700;font-size:1rem;letter-spacing:-.01em;cursor:pointer;
  transition:background .14s ease,color .14s ease,border-color .14s ease,transform .06s ease;
  text-align:center;
}
.btn:active{transform:translateY(1px)}
.btn svg{width:19px;height:19px;flex:none}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-ink)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#000}
.btn-outline{background:var(--paper);color:var(--ink);border-color:var(--line-2)}
.btn-outline:hover{border-color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--ink);background:var(--sand)}
.btn-wa{background:#1faf54;color:#fff}
.btn-wa:hover{background:#178f44}
.btn-sm{min-height:44px;padding:0 18px;font-size:.94rem}
.btn-block{display:flex;width:100%}
.btn[disabled],.btn[aria-disabled=true]{opacity:.45;pointer-events:none}

/* ---------- form controls ---------- */
.field{display:block;margin-bottom:18px}
.field > label,.label{
  display:block;font-weight:500;font-size:.9rem;color:var(--ink-2);margin-bottom:7px;
}
.input,.select,.textarea{
  width:100%;min-height:54px;padding:14px 15px;background:var(--paper);
  border:1px solid var(--line-2);border-radius:var(--r-sm);
  transition:border-color .13s ease, box-shadow .13s ease;
}
.textarea{min-height:120px;resize:vertical;line-height:1.5}
.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-4)}
.input:focus,.select:focus,.textarea:focus{
  outline:none;border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);
}
.input::placeholder,.textarea::placeholder{color:var(--ink-4)}
.select{appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%236e757e' stroke-width='1.6'/></svg>");
  background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}
.hint{font-size:.85rem;color:var(--ink-3);margin-top:6px}
.err{font-size:.85rem;color:var(--red);margin-top:6px;display:none}
.field.is-bad .input,.field.is-bad .textarea,.field.is-bad .select{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.field.is-bad .err{display:block}

/* ---------- primitives ---------- */
.rule{height:1px;background:var(--line);border:0;margin:0}
.tag{
  display:inline-block;font-weight:700;letter-spacing:.01em;
  font-size:.72rem;padding:4px 9px;border-radius:var(--r-xs);
}
.tag-orange{background:var(--orange);color:#fff}
.tag-green{background:var(--green-wash);color:var(--green)}
.tag-ink{background:var(--sand-2);color:var(--ink-2)}
.tag-amber{background:#fdf3e2;color:var(--amber)}

.stack-sm > * + *{margin-top:10px}
.stack   > * + *{margin-top:18px}
.stack-lg> * + *{margin-top:34px}

/* section heading row: title left, "View all" right */
.sec-bar{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.viewall{
  display:inline-flex;align-items:center;gap:5px;color:var(--orange);
  font-weight:700;font-size:.95rem;white-space:nowrap;
}
.viewall:hover{color:var(--orange-ink)}
.viewall svg{width:15px;height:15px}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}
