/*
Theme Name: WorkCarousel
Theme URI: https://workcarousel.com
Author: WorkCarousel
Description: Editorial marketing theme for WorkCarousel — a social network where working people tell the truth about work. Warm paper light mode, warm midnight dark mode, coral asterisk mark. Includes a complete front page plus templates for the privacy and support pages required by App Store review.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: workcarousel
Tags: one-column, custom-menu, editor-style
*/

:root{
  --paper:#F6F1E7;
  --ink:#1C1917;
  --soft-ink:#57534E;
  --coral:#E8552F;
  --mustard:#C98A0B;
  --sage:#67775B;
  --plum:#7C4DBE;
  --card:#FFFDF8;
  --rule:rgba(28,25,23,.14);
  --chip:rgba(28,25,23,.06);
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#14110E;
    --ink:#F4EEE3;
    --soft-ink:#B7AC9C;
    --card:#1D1915;
    --rule:rgba(244,238,227,.16);
    --chip:rgba(244,238,227,.07);
    --mustard:#E0A32B;
    --sage:#8AA07A;
    --plum:#A97FE8;
  }
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Newsreader', Georgia, serif;
  font-size:1.125rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.mono{font-family:'Spline Sans Mono', ui-monospace, monospace}
a{color:inherit}
a:focus-visible, button:focus-visible, input:focus-visible{
  outline:2px solid var(--coral);
  outline-offset:3px;
  border-radius:2px;
}
.wrap{max-width:68rem;margin:0 auto;padding:0 1.5rem}
.narrow{max-width:44rem}
.screen-reader-text{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- header ---------- */
.site-header{
  padding:1.4rem 0;
  border-bottom:1px solid var(--rule);
}
.site-header .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.mark{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1.3rem;
  letter-spacing:-.01em;
  text-decoration:none;
}
.mark .ast{color:var(--coral)}
.site-nav{display:flex;gap:1.4rem;flex-wrap:wrap}
.site-nav a{
  font-family:'Spline Sans Mono', monospace;
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--soft-ink);
}
.site-nav a:hover{color:var(--coral)}
.site-nav ul{display:flex;gap:1.4rem;flex-wrap:wrap;list-style:none}

/* ---------- hero ---------- */
.hero{padding:5.5rem 0 4rem}
.eyebrow{
  font-family:'Spline Sans Mono', monospace;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--soft-ink);
  display:block;
  margin-bottom:1.6rem;
}
h1{
  font-family:'Fraunces', serif;
  font-optical-sizing:auto;
  font-weight:560;
  font-size:clamp(2.6rem, 6.2vw, 4.6rem);
  line-height:1.04;
  letter-spacing:-.022em;
  max-width:15ch;
}
h1 .ast{color:var(--coral);font-weight:400}
.footnote-truth{
  margin-top:1.8rem;
  max-width:36rem;
  font-size:1.25rem;
  color:var(--soft-ink);
  font-style:italic;
}
.footnote-truth .ast{color:var(--coral);font-style:normal;margin-right:.35rem}

/* notify form */
.notify{margin-top:2.6rem;max-width:32rem}
.notify form{display:flex;gap:.6rem;flex-wrap:wrap}
.notify input[type=email]{
  flex:1 1 14rem;
  font:inherit;
  font-size:1rem;
  padding:.75rem 1rem;
  border:1px solid var(--rule);
  border-radius:.4rem;
  background:var(--card);
  color:var(--ink);
}
.notify button{
  font-family:'Spline Sans Mono', monospace;
  font-size:.85rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:.8rem 1.4rem;
  border:none;
  border-radius:.4rem;
  background:var(--coral);
  color:#FFF7EE;
  cursor:pointer;
}
.notify button:hover{filter:brightness(.94)}
.notify .hint{
  margin-top:.7rem;
  font-family:'Spline Sans Mono', monospace;
  font-size:.74rem;
  letter-spacing:.03em;
  color:var(--soft-ink);
}
.notify .done{
  display:none;
  margin-top:.7rem;
  font-size:1rem;
  color:var(--sage);
}

/* ---------- floor cards ---------- */
.floor{padding:1rem 0 4.5rem}
.floor-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));
  gap:1.2rem;
  align-items:start;
}
.post{
  background:var(--card);
  border:1px solid var(--rule);
  border-radius:.7rem;
  padding:1.3rem 1.4rem 1.2rem;
}
.post .kind{
  font-family:'Spline Sans Mono', monospace;
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  display:flex;
  justify-content:space-between;
  gap:.6rem;
  flex-wrap:wrap;
  margin-bottom:.8rem;
}
.mood{padding:.1rem .5rem;border-radius:1rem;background:var(--chip)}
.mood.drained{color:var(--soft-ink)}
.mood.proud{color:var(--mustard)}
.mood.curious{color:var(--plum)}
.post p{font-size:1.02rem;line-height:1.55}
.post .who{
  margin-top:.9rem;
  font-family:'Spline Sans Mono', monospace;
  font-size:.74rem;
  color:var(--soft-ink);
}
.reacts{
  margin-top:.9rem;
  padding-top:.8rem;
  border-top:1px dashed var(--rule);
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
}
.reacts span{
  font-family:'Spline Sans Mono', monospace;
  font-size:.72rem;
  letter-spacing:.03em;
  padding:.18rem .6rem;
  border:1px solid var(--rule);
  border-radius:1rem;
  color:var(--soft-ink);
}
.floor-caption{
  margin-top:1.1rem;
  font-family:'Spline Sans Mono', monospace;
  font-size:.74rem;
  letter-spacing:.05em;
  color:var(--soft-ink);
}
.floor-caption .ast{color:var(--coral)}

/* ---------- sections ---------- */
.front-section{padding:4.2rem 0;border-top:1px solid var(--rule)}
h2{
  font-family:'Fraunces', serif;
  font-weight:560;
  font-size:clamp(1.9rem,3.6vw,2.7rem);
  line-height:1.12;
  letter-spacing:-.015em;
  max-width:22ch;
  margin-bottom:1.4rem;
}
h2 .ast{color:var(--coral);font-weight:400}
h3{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1.25rem;
  margin-bottom:.5rem;
}
.front-section p{max-width:44rem}
.front-section p + p{margin-top:1rem}
.lede{font-size:1.3rem;line-height:1.55}
.muted{color:var(--soft-ink)}
.sec-note{
  margin-top:2rem;
  max-width:44rem;
  font-style:italic;
  color:var(--soft-ink);
  font-size:1.05rem;
}
.sec-note .ast{color:var(--coral);font-style:normal;margin-right:.35rem}

/* chips rows */
.chips{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.2rem 0;padding:0}
.chips li{
  list-style:none;
  font-family:'Spline Sans Mono', monospace;
  font-size:.82rem;
  letter-spacing:.04em;
  padding:.35rem .85rem;
  border:1px solid var(--rule);
  border-radius:1.2rem;
  background:var(--card);
}
.chips.moods li:nth-child(1){color:var(--coral)}
.chips.moods li:nth-child(2){color:var(--plum)}
.chips.moods li:nth-child(3){color:var(--mustard)}
.chips.moods li:nth-child(4){color:var(--soft-ink)}
.chips.moods li:nth-child(5){color:var(--plum)}
.chips.moods li:nth-child(6){color:var(--sage)}

.two-col{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));
  gap:2.4rem 3rem;
  margin-top:2.2rem;
}

/* chapters */
.chapters{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.4rem 0 .4rem;padding:0}
.chapters li{
  list-style:none;
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1rem;
  padding:.45rem 1rem;
  border-radius:.45rem;
  background:var(--card);
  border:1px solid var(--rule);
}
.chapters li::before{content:"* ";color:var(--coral)}

/* glossary */
.glossary{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));
  gap:1.2rem;
  margin-top:2rem;
}
.glossary > div{
  background:var(--card);
  border:1px solid var(--rule);
  border-radius:.7rem;
  padding:1.2rem 1.3rem;
}
.glossary dt{
  font-family:'Fraunces', serif;
  font-weight:640;
  font-size:1.15rem;
  margin-bottom:.35rem;
}
.glossary dd{font-size:.98rem;color:var(--soft-ink);line-height:1.5}

/* privacy list */
.plain-list{margin:1.4rem 0 0;padding:0;max-width:44rem}
.plain-list li{
  list-style:none;
  padding:1rem 0;
  border-bottom:1px dashed var(--rule);
  font-size:1.05rem;
}
.plain-list li:last-child{border-bottom:none}
.plain-list strong{font-weight:640}

/* companies */
.rules{margin-top:1.6rem;max-width:44rem;padding:0}
.rules li{
  list-style:none;
  display:flex;
  gap:.9rem;
  padding:.85rem 0;
  align-items:baseline;
}
.rules li::before{content:"*";color:var(--coral);font-family:'Fraunces',serif;font-size:1.3rem;line-height:1}

/* pricing / earning */
.earn{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(16.5rem,1fr));
  gap:1.2rem;
  margin-top:2.2rem;
}
.earn article{
  background:var(--card);
  border:1px solid var(--rule);
  border-radius:.7rem;
  padding:1.5rem 1.4rem;
  display:flex;
  flex-direction:column;
  gap:.6rem;
}
.earn .price{
  font-family:'Fraunces', serif;
  font-weight:620;
  font-size:1.7rem;
  color:var(--mustard);
}
.earn p{font-size:.98rem;color:var(--soft-ink)}
.earn a.more{
  margin-top:auto;
  font-family:'Spline Sans Mono', monospace;
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--coral);
  text-decoration:none;
}
.earn a.more:hover{text-decoration:underline}

/* sponsored example */
.sponsored{
  margin-top:2.4rem;
  max-width:30rem;
  background:var(--card);
  border:2px solid var(--mustard);
  border-radius:.7rem;
  padding:1.3rem 1.4rem;
}
.sponsored .kind{
  font-family:'Spline Sans Mono', monospace;
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--mustard);
  margin-bottom:.7rem;
  display:block;
}
.sponsored p{font-size:1rem}
.view-def{
  margin-top:2.2rem;
  max-width:44rem;
  border-left:3px solid var(--mustard);
  padding:.4rem 0 .4rem 1.3rem;
}
.view-def .mono{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--soft-ink);display:block;margin-bottom:.4rem}

/* ---------- inner pages (privacy, support, default) ---------- */
.page-inner{max-width:44rem;margin:0 auto;padding:3rem 1.5rem 4rem}
.page-inner h1{font-size:2.4rem;max-width:none;margin-bottom:.6rem}
.page-inner .updated{
  font-family:'Spline Sans Mono',monospace;
  font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--soft-ink);margin-bottom:2.4rem;display:block;
}
.page-inner h2{font-size:1.35rem;max-width:none;margin:2.2rem 0 .6rem}
.page-inner p+p{margin-top:.9rem}
.page-inner ul{margin:.8rem 0 .8rem 1.2rem}
.page-inner li{margin:.4rem 0}
.page-inner a{color:var(--coral)}
.faq{background:var(--card);border:1px solid var(--rule);border-radius:.7rem;padding:1.2rem 1.4rem;margin:1rem 0}
.faq dt{font-weight:640;font-family:'Fraunces',serif;font-size:1.1rem;margin-bottom:.3rem}
.faq dd{color:var(--soft-ink);font-size:1rem}

/* WordPress content helpers */
.page-inner .wp-block-image img,.page-inner img{max-width:100%;height:auto;border-radius:.5rem}
.alignwide{max-width:68rem}
.alignfull{max-width:none}

/* ---------- footer ---------- */
.site-footer{
  border-top:1px solid var(--rule);
  padding:3.2rem 0 4rem;
}
.site-footer .wrap{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:baseline}
.site-footer nav{display:flex;gap:1.6rem;flex-wrap:wrap}
.site-footer nav a{
  font-family:'Spline Sans Mono', monospace;
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--soft-ink);
}
.site-footer nav a:hover{color:var(--coral)}
.site-footer .fine{
  margin-top:1.6rem;
  font-family:'Spline Sans Mono', monospace;
  font-size:.72rem;
  letter-spacing:.04em;
  color:var(--soft-ink);
}
