/* ==========================================================================
   Little Ayat — Base styles & reusable components
   Mobile-first. Everything references semantic tokens from tokens.css.
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0}
body{
  font-family:var(--font-body);
  font-size:var(--text-body);
  color:var(--text-strong);
  background:linear-gradient(160deg,#E9DEF8,#FDEFE8 55%,#E3F4EC);
  min-height:100vh;
  display:flex;
  justify-content:center;
}

/* mobile-first content column: fills a phone, centres on larger screens */
.site{
  width:100%;
  max-width:var(--page-max);
  min-height:100vh;
  background:var(--color-bg);
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
}
@media (min-width:480px){
  .site{min-height:96vh;margin:2vh 0;border-radius:var(--radius-lg);overflow:hidden}
}

.pad{padding:var(--space-4)}

h1,h2,h3{margin:.25em 0;line-height:1.2}
h1{font-size:26px}
h2{font-size:var(--text-lg);color:var(--color-primary)}
p{line-height:1.6;margin:.4em 0}
.muted{color:var(--text-muted);font-size:14px;line-height:1.55}
.center{text-align:center}
a{color:var(--color-primary)}

.eyebrow{
  display:inline-block;background:var(--color-primary-soft);color:var(--color-primary);
  font-weight:700;font-size:13px;padding:6px 14px;border-radius:var(--radius-pill);
}

/* buttons */
.btn{
  display:block;width:100%;min-height:52px;border:none;cursor:pointer;
  font-family:inherit;font-size:18px;font-weight:800;color:#fff;
  padding:15px;border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-top:var(--space-3);
  background:linear-gradient(135deg,var(--color-cta-from),var(--color-cta-to));
}
.btn--primary{background:linear-gradient(135deg,var(--color-primary-soft),var(--color-primary))}
.btn--ghost{background:var(--color-surface);color:var(--color-primary);border:2px solid var(--border);box-shadow:none;font-size:16px}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:var(--space-3)}
.chip{background:var(--color-surface);border:1.5px solid var(--border);border-radius:var(--radius-pill);
  padding:7px 13px;font-size:13px;font-weight:700;color:var(--text-muted)}

/* header */
.topbar{display:flex;align-items:center;gap:11px;padding:11px 16px;
  position:sticky;top:0;z-index:5;background:rgba(255,253,250,.97);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);box-shadow:0 2px 12px rgba(139,114,206,.06)}
.topbar .logo{width:46px;height:46px;border-radius:50%;background:#fff;padding:3px;
  border:2px solid var(--color-primary-soft);box-shadow:var(--shadow-sm)}
.topbar .brand{font-weight:800;color:var(--color-primary);font-size:20px;line-height:1.05;letter-spacing:.2px}
.topbar .brand small{display:block;font-style:italic;color:#9A7B4E;font-size:11px;font-weight:600;margin-top:2px}
.social{margin-left:auto;display:flex;gap:6px}
.social a{width:var(--tap);height:var(--tap);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;box-shadow:var(--shadow-sm)}
.social a svg{width:20px;height:20px;fill:currentColor}
.social .ig{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF)}
.social .fb{background:#1877F2}
.social .yt{background:#FF0000}

/* cards & tiles */
.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
@media (min-width:560px){ .grid{grid-template-columns:1fr 1fr 1fr} }
.tile{min-height:112px;border:none;text-align:left;cursor:pointer;font-family:inherit;
  border-radius:var(--radius);padding:var(--space-3);box-shadow:var(--shadow-sm);color:var(--text-strong)}
.tile .em{font-size:32px;display:block;margin-bottom:6px}
.tile b{font-size:15px;display:block}
.tile small{font-size:12px;color:var(--text-muted);display:block;margin-top:2px}
.tag{display:inline-block;background:var(--color-cta-from);color:#7a2740;font-size:10px;font-weight:800;
  padding:2px 8px;border-radius:var(--radius-pill);margin-bottom:6px}

/* stages */
.stages{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:var(--space-3);text-align:center}
@media (max-width:400px){ .stages{grid-template-columns:repeat(3,1fr)} }
.stage{background:var(--color-surface);border-radius:var(--radius-sm);padding:10px 4px;box-shadow:var(--shadow-sm)}
.stage .em{font-size:24px;display:block}
.stage b{font-size:12px;display:block;margin-top:3px;color:var(--text-strong)}

.strip{background:linear-gradient(135deg,var(--color-accent),var(--color-primary-soft));
  border-radius:var(--radius);padding:var(--space-3);display:flex;gap:14px;align-items:center;margin-top:var(--space-4)}
.strip img{width:98px;border-radius:var(--radius-sm);flex-shrink:0;box-shadow:var(--shadow-sm)}

.adslot{margin-top:var(--space-3);border:2px dotted #E0D5C6;border-radius:var(--radius-sm);
  padding:9px;text-align:center;font-size:11px;color:#8f8271;background:#FBF7F1}

/* accessibility: skip link + visible focus + reduced motion */
.skip{position:absolute;left:-9999px;top:8px;background:var(--color-primary);color:#fff;
  padding:10px 16px;border-radius:var(--radius-sm);z-index:100;text-decoration:none}
.skip:focus{left:8px}
a:focus-visible,button:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}

/* share ("tell a friend") — soft inviting card */
.share{margin-top:var(--space-5);text-align:center;padding:var(--space-4);
  background:linear-gradient(135deg,var(--color-primary-soft),var(--c-pink-100));
  border:1.5px solid var(--border);border-radius:var(--radius-lg)}
.share b{font-size:16px}
.share .row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.share button,.share a{min-height:44px;border:none;cursor:pointer;font-family:inherit;font-weight:700;
  font-size:14px;padding:10px 16px;border-radius:var(--radius-pill);text-decoration:none;color:#fff;
  display:inline-flex;align-items:center;gap:6px}
.share .wa{background:#25D366}
.share .more{background:var(--color-primary)}
.share .copy{background:var(--color-surface);color:var(--color-primary);border:2px solid var(--border)}

/* footer */
.foot{padding:20px 16px 28px;text-align:center;border-top:1px solid var(--border);margin-top:var(--space-5)}
.foot a{color:var(--text-muted);font-size:13px;text-decoration:none;margin:0 8px;line-height:2}
.foot a:hover{color:var(--color-primary)}
.foot .cprt{display:block;margin-top:8px;font-size:12px;color:var(--text-muted)}

/* ==========================================================================
   Responsive — phone (default) → tablet → desktop/laptop
   The content column widens with the viewport instead of staying phone-width.
   ========================================================================== */
@media (min-width:600px){
  .site{max-width:760px}
  h1{font-size:32px}
}
@media (min-width:1024px){
  body{align-items:flex-start}
  .site{max-width:1060px;margin:3vh auto;min-height:auto}
  .pad{padding:var(--space-5) var(--space-6)}
  h1{font-size:44px}
  h2{font-size:26px}
  .grid{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
  .tile{min-height:132px}
  .tile .em{font-size:38px}
  .tile b{font-size:16px}
  .stages{max-width:780px;margin-left:auto;margin-right:auto}
  .stage .em{font-size:30px}
  .stage b{font-size:14px}
  .pad>.muted{max-width:64ch}
  .strip{padding:var(--space-4) var(--space-5)}
  .strip img{width:150px}
  .share{max-width:660px;margin-left:auto;margin-right:auto}
  .foot a{font-size:14px;margin:0 12px}
}
@media (min-width:1280px){
  .site{max-width:1140px}
}

/* gentle hover lift on real pointer devices (respects reduced-motion above) */
@media (hover:hover) and (pointer:fine){
  .tile,.stage{transition:transform .16s ease, box-shadow .16s ease}
  .tile:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .stage:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
  .btn,.share .wa,.share .more{transition:transform .12s ease, filter .12s ease}
  .btn:hover,.share .wa:hover,.share .more:hover{transform:translateY(-2px);filter:brightness(1.04)}
}
