/*
Theme Name: Alimac's Body
Theme URI: https://alimacsbody.com
Description: Child theme of GeneratePress carrying the Alimac's Body design system.
Author: Alimac Body LLC
Template: generatepress
Version: 1.1.0
Text Domain: alimacs-body
*/

/* ---------- tokens ---------- */
:root{
  --ab-bg:#1A1614;
  --ab-surface:#221D1A;
  --ab-line:#3A322C;
  --ab-gold:#C9A15E;
  --ab-gold-deep:#8A6A2F;
  --ab-text:#EDE7DF;
  --ab-muted:#A89C8E;
  --ab-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --ab-sans:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ab-measure:46rem;
}

/* ---------- base ---------- */
body{
  background:var(--ab-bg);
  color:var(--ab-text);
  font-family:var(--ab-sans);
  font-weight:300;
  font-size:17px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
.site-content,.site-header,.site-footer,.inside-header,.site-info{background:transparent;}

/* ---------- type scale ---------- */
h1,h2,h3,h4{font-family:var(--ab-serif);color:var(--ab-text);font-weight:400;letter-spacing:.01em;}
h1{font-size:clamp(2.4rem,6vw,4rem);line-height:1.08;margin-bottom:1rem;}
h2{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.18;margin-top:3rem;margin-bottom:.9rem;}
h3{font-size:clamp(1.2rem,2.4vw,1.55rem);color:var(--ab-gold);margin-top:2rem;}
p{margin-bottom:1.3rem;}

.ab-eyebrow{font-family:var(--ab-sans);font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ab-gold);display:block;margin-bottom:.9rem;}
.ab-display{font-style:italic;color:var(--ab-gold);}
.ab-lede{font-size:1.2rem;color:var(--ab-muted);line-height:1.7;}

/* ---------- links & buttons ---------- */
a{color:var(--ab-gold);text-decoration:none;transition:color .2s ease;}
a:hover,a:focus{color:var(--ab-text);}

.wp-block-button__link,.ab-cta{
  background:var(--ab-gold);color:var(--ab-bg);
  font-family:var(--ab-sans);font-size:.78rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  padding:1rem 2.25rem;border-radius:0;display:inline-block;
  transition:background .2s ease,color .2s ease;
}
.wp-block-button__link:hover,.ab-cta:hover{background:var(--ab-text);color:var(--ab-bg);}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--ab-gold);border:1px solid var(--ab-gold);
}

/* ---------- tables ---------- */
table{border-collapse:collapse;width:100%;margin:2rem 0;font-size:.95rem;}
th{background:var(--ab-surface);color:var(--ab-gold);font-family:var(--ab-sans);
   font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-align:left;}
th,td{border:1px solid var(--ab-line);padding:.9rem 1.1rem;}
tbody tr:nth-child(even){background:rgba(255,255,255,.02);}

/* ---------- misc ---------- */
hr,.wp-block-separator{border:0;border-top:1px solid var(--ab-line);margin:3rem 0;}
blockquote{border-left:2px solid var(--ab-gold);padding-left:1.75rem;margin-left:0;
  font-family:var(--ab-serif);font-size:1.3rem;font-style:italic;color:var(--ab-muted);}
ul,ol{margin-bottom:1.3rem;}
li{margin-bottom:.45rem;}
::selection{background:var(--ab-gold);color:var(--ab-bg);}

/* ---------- measure ---------- */
.entry-content > *{max-width:var(--ab-measure);}
.entry-content > .wp-block-table,
.entry-content > .alignwide{max-width:62rem;}
.entry-content > .alignfull{max-width:none;}


/* ---------- layout: kill GeneratePress's light boxes ---------- */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .container,
.inside-article,
.entry-content,
.site-main,
#page,
.widget-area .widget{
  background-color:transparent !important;
  box-shadow:none !important;
}
.separate-containers .site-main{margin:0;}
.inside-article{padding:0;}

/* generous vertical rhythm */
.site-content{padding:4rem 0 6rem;}
.inside-header{padding:1.75rem 0;}

/* header + footer */
.main-navigation,.main-navigation ul ul{background:transparent;}
.main-navigation .main-nav ul li a{
  font-family:var(--ab-sans);font-size:.74rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ab-text);
}
.main-navigation .main-nav ul li a:hover{color:var(--ab-gold);}
.site-info{border-top:1px solid var(--ab-line);color:var(--ab-muted);font-size:.8rem;padding:2.5rem 0;}
.site-title a,.site-title{
  font-family:var(--ab-sans);font-size:.82rem;letter-spacing:.34em;
  text-transform:uppercase;color:var(--ab-text);
}

/* forms */
input[type=text],input[type=email],input[type=tel],textarea,select{
  background:var(--ab-surface);border:1px solid var(--ab-line);
  color:var(--ab-text);border-radius:0;padding:.85rem 1rem;
}
input::placeholder,textarea::placeholder{color:var(--ab-muted);}
button,input[type=submit]{
  background:var(--ab-gold);color:var(--ab-bg);border:0;border-radius:0;
  font-family:var(--ab-sans);font-size:.78rem;letter-spacing:.18em;
  text-transform:uppercase;padding:1rem 2.25rem;cursor:pointer;
}

/* --- navigation and footer --- */

.main-navigation,
.main-navigation .main-nav ul li a,
.site-header {
  background-color: var(--ab-bg);
}
.main-navigation .main-nav ul li a {
  font-family: var(--ab-sans);
  font-size: .78rem;
  font-weight: 400;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ab-text);
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item a {
  color: var(--ab-gold);
  background-color: transparent;
}

/* the Book item reads as a button, not a link */
.main-navigation .main-nav ul li.ab-nav-cta a {
  color: var(--ab-bg);
  background-color: var(--ab-gold);
  margin: .55em .4em;
  padding: .55em 1.5em;
  line-height: 1.6;
}
.main-navigation .main-nav ul li.ab-nav-cta a:hover {
  background-color: var(--ab-text);
  color: var(--ab-bg);
}

.site-info,
.site-footer {
  background-color: var(--ab-bg) !important;
  border-top: 1px solid var(--ab-line);
  color: var(--ab-muted);
}
.ab-footer-links {
  font-family: var(--ab-sans);
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 .9em;
}
.ab-footer-links a {
  color: var(--ab-muted);
  text-decoration: none;
}
.ab-footer-links a:hover {
  color: var(--ab-gold);
}
.ab-footer-links span {
  color: var(--ab-line);
  margin: 0 .2em;
}
.ab-footer-legal {
  font-family: var(--ab-sans);
  font-size: .78rem;
  line-height: 1.7;
  color: var(--ab-muted);
  max-width: var(--ab-measure);
  margin: 0 auto;
}
