/*
Theme Name: Fashion Reverie Safe Fallback
Theme URI: https://www.fashionreverie.org/
Author: FultonStudio / Ken Jones
Description: Minimal dependency-free emergency fallback theme for Fashion Reverie. Uses WordPress core only.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: fashion-reverie-safe-fallback
*/

:root{
  --fr-bg:#f7f2ea;
  --fr-ink:#111;
  --fr-muted:#6f6962;
  --fr-line:#d8d0c5;
  --fr-red:#780018;
  --fr-max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--fr-bg);
  color:var(--fr-ink);
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.6;
}
a{color:inherit}
a:hover{color:var(--fr-red)}
img{max-width:100%;height:auto}
.fr-safe-wrap{
  width:min(var(--fr-max),calc(100% - 40px));
  margin:0 auto;
}
.fr-safe-header{
  border-bottom:1px solid var(--fr-line);
  background:rgba(247,242,234,.98);
}
.fr-safe-brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:28px 0 20px;
}
.fr-safe-title{
  margin:0;
  font-size:clamp(34px,5vw,66px);
  line-height:.95;
  letter-spacing:-.035em;
  font-weight:400;
  text-decoration:none;
}
.fr-safe-tagline{
  margin:7px 0 0;
  color:var(--fr-muted);
  font:11px/1.4 Arial,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.fr-safe-nav ul{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  list-style:none;
  padding:0 0 18px;
  margin:0;
  font:11px/1.2 Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.fr-safe-main{padding:48px 0 72px}
.fr-safe-heading{
  margin:0 0 34px;
  padding-bottom:20px;
  border-bottom:1px solid var(--fr-line);
}
.fr-safe-heading h1{
  margin:0;
  font-size:clamp(36px,5vw,64px);
  line-height:1;
  font-weight:400;
}
.fr-safe-heading p{max-width:760px;color:var(--fr-muted)}
.fr-safe-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
.fr-safe-card{
  min-width:0;
  border-top:1px solid var(--fr-line);
  padding-top:14px;
}
.fr-safe-card h2{
  margin:12px 0 8px;
  font-size:clamp(24px,2.3vw,34px);
  line-height:1.05;
  font-weight:400;
}
.fr-safe-card h2 a{text-decoration:none}
.fr-safe-meta{
  color:var(--fr-muted);
  font:10px/1.4 Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.fr-safe-excerpt{font-size:15px}
.fr-safe-content{
  max-width:820px;
  margin:0 auto;
  font-size:18px;
}
.fr-safe-content h1{
  font-size:clamp(42px,6vw,76px);
  line-height:.98;
  font-weight:400;
  letter-spacing:-.035em;
}
.fr-safe-content .fr-safe-meta{margin-bottom:26px}
.fr-safe-pagination{margin-top:42px}
.fr-safe-pagination .nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.fr-safe-pagination .page-numbers{
  border:1px solid var(--fr-line);
  padding:8px 12px;
  text-decoration:none;
}
.fr-safe-pagination .current{background:#111;color:#fff}
.fr-safe-footer{
  border-top:1px solid var(--fr-line);
  padding:28px 0 42px;
  color:var(--fr-muted);
  font:11px/1.5 Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:900px){
  .fr-safe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .fr-safe-wrap{width:min(100% - 28px,var(--fr-max))}
  .fr-safe-brand{align-items:flex-start;flex-direction:column}
  .fr-safe-grid{grid-template-columns:1fr}
  .fr-safe-main{padding-top:32px}
}
