/*
Theme Name:   Bedrock Sheds Child
Theme URI:    https://bedrocksheds.com
Description:  Child theme for Astra. Carries the full Bedrock Sheds design system — palette, type scale, section bands, price tables, and every component used on the site. Do not edit the Astra parent theme; all custom CSS lives here so updates can't wipe it.
Author:       Bedrock Sheds
Template:     astra
Version:      1.0.0
Text Domain:  bedrock-child
*/

/* ============================================================
   BEDROCK SHEDS DESIGN SYSTEM
   Every class is prefixed bk- so nothing collides with Astra
   or with core block classes.
   ============================================================ */

:root{
  --bk-charcoal:#211F1A;
  --bk-charcoal-2:#33312A;
  --bk-bone:#F4F1EA;
  --bk-bone-2:#E9E4D8;
  --bk-cedar:#B5764A;
  --bk-cedar-hover:#96582F;
  --bk-cedar-deep:#8F5A33;
  --bk-forest:#2C4434;
  --bk-forest-2:#1F3226;
  --bk-stone:#8C897D;
  --bk-stone-lt:#A8A498;

  --bk-display:"Archivo","Arial Narrow",Helvetica,sans-serif;
  --bk-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;

  --bk-wrap:1140px;
  --bk-measure:64ch;
}

/* ---------- base ---------- */

body,
.ast-container{
  background:var(--bk-bone);
  color:var(--bk-charcoal);
  font-family:var(--bk-body);
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4{
  font-family:var(--bk-display);
  line-height:1.06;
  text-wrap:balance;
  color:inherit;
}

/* Astra puts padding on the content area; bands handle their own */
.ast-page-builder-template .entry-content,
.entry-content > .alignfull{
  margin-block:0;
}

/* ============================================================
   BANDS — the alternating section rhythm
   ============================================================ */

.bk-band{
  padding-block:clamp(56px,8vw,104px);
  padding-inline:clamp(20px,5vw,48px);
}
.bk-band > *{
  max-width:var(--bk-wrap);
  margin-inline:auto;
}

.bk-band--bone   { background:var(--bk-bone);    color:var(--bk-charcoal); }
.bk-band--bone2  { background:var(--bk-bone-2);  color:var(--bk-charcoal); }
.bk-band--dark   { background:var(--bk-charcoal);color:var(--bk-bone); }
.bk-band--forest { background:var(--bk-forest);  color:var(--bk-bone); }

.bk-band--dark .entry-content h1,
.bk-band--dark h1,.bk-band--dark h2,.bk-band--dark h3,
.bk-band--forest h1,.bk-band--forest h2,.bk-band--forest h3{
  color:var(--bk-bone);
}
.bk-band--dark p,
.bk-band--forest p{ color:var(--bk-stone-lt); }
.bk-band--dark li,
.bk-band--forest li{ color:var(--bk-stone-lt); }

/* hero band gets the cedar underline */
.bk-band--hero{
  background:var(--bk-charcoal);
  color:var(--bk-bone);
  border-bottom:5px solid var(--bk-cedar);
  padding-block:clamp(52px,7vw,88px);
}

/* ============================================================
   TYPE
   ============================================================ */

.bk-eyebrow{
  font-family:var(--bk-display)!important;
  font-variation-settings:"wdth" 100,"wght" 700;
  font-weight:700;
  font-size:12px!important;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--bk-cedar-deep)!important;
  margin:0 0 14px!important;
  line-height:1.4!important;
}
.bk-band--dark .bk-eyebrow,
.bk-band--forest .bk-eyebrow,
.bk-band--hero .bk-eyebrow{ color:var(--bk-cedar)!important; }

.bk-h1{
  font-variation-settings:"wdth" 80,"wght" 800;
  font-size:clamp(42px,7vw,76px)!important;
  letter-spacing:-.005em;
  margin:0 0 4px!important;
}
.bk-h2{
  font-variation-settings:"wdth" 82,"wght" 700;
  font-size:clamp(30px,4.4vw,48px)!important;
  margin:0 0 4px!important;
}
.bk-h3{
  font-variation-settings:"wdth" 100,"wght" 700;
  font-size:20px!important;
  line-height:1.25!important;
  margin:0 0 8px!important;
}

.bk-lede{
  max-width:var(--bk-measure);
  color:var(--bk-charcoal-2);
  margin-block:0 0;
}
.bk-band--dark .bk-lede,
.bk-band--forest .bk-lede,
.bk-band--hero .bk-lede{ color:var(--bk-stone-lt); }

.bk-lede--lg{ font-size:19px; }

.bk-body{ max-width:var(--bk-measure); }

/* the short cedar rule under every section headline */
.bk-rule{
  width:34px!important;
  height:2px!important;
  background:var(--bk-cedar)!important;
  border:0!important;
  margin:16px 0 22px!important;
  opacity:1!important;
  max-width:34px!important;
}

.bk-small{
  font-size:12.5px!important;
  letter-spacing:.05em;
  color:var(--bk-stone)!important;
  max-width:none!important;
}
.bk-licline{
  margin-top:30px!important;
  padding-top:18px;
  border-top:1px solid rgba(244,241,234,.15);
}

/* ============================================================
   BUTTONS
   ============================================================ */

.wp-block-button.bk-btn .wp-block-button__link{
  font-family:var(--bk-body);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
  padding:14px 30px;
  border-radius:4px;
  border:1.5px solid transparent;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.wp-block-button.bk-btn--primary .wp-block-button__link{
  background:var(--bk-cedar);
  color:#fff;
}
.wp-block-button.bk-btn--primary .wp-block-button__link:hover{
  background:var(--bk-cedar-hover);
  color:#fff;
}
.wp-block-button.bk-btn--ghost .wp-block-button__link{
  background:transparent;
  color:var(--bk-bone);
  border-color:rgba(244,241,234,.34);
}
.wp-block-button.bk-btn--ghost .wp-block-button__link:hover{
  border-color:var(--bk-bone);
  background:rgba(244,241,234,.07);
  color:var(--bk-bone);
}
.wp-block-button.bk-btn--dark .wp-block-button__link{
  background:transparent;
  color:var(--bk-charcoal);
  border-color:var(--bk-charcoal);
}
.wp-block-button.bk-btn--dark .wp-block-button__link:hover{
  background:var(--bk-charcoal);
  color:var(--bk-bone);
}
.wp-block-buttons{ gap:12px; }

/* inline text link, builder style */
.bk-txtlink a{
  font-family:var(--bk-body);
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--bk-cedar-deep);
  text-decoration:none;
  border-bottom:1.5px solid rgba(181,118,74,.42);
  padding-bottom:3px;
}
.bk-txtlink a:hover{ border-bottom-color:var(--bk-cedar); }
.bk-band--dark .bk-txtlink a,
.bk-band--forest .bk-txtlink a{ color:var(--bk-cedar); }

/* ============================================================
   PRICE TABLE
   ============================================================ */

.wp-block-table.bk-ptable{ margin:0; }
.wp-block-table.bk-ptable table{
  border-collapse:collapse;
  font-variant-numeric:tabular-nums;
  border:0;
  width:100%;
}
.wp-block-table.bk-ptable th{
  text-align:left;
  font-family:var(--bk-body);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--bk-stone);
  padding:0 16px 13px;
  border:0;
  border-bottom:1px solid rgba(33,31,26,.16);
  background:transparent;
}
.wp-block-table.bk-ptable td{
  padding:19px 16px;
  border:0;
  border-bottom:1px solid rgba(33,31,26,.1);
  font-size:17px;
  vertical-align:middle;
}
.wp-block-table.bk-ptable th:last-child,
.wp-block-table.bk-ptable td:last-child{ text-align:right; }

/* first column = the size, display face */
.wp-block-table.bk-ptable td:first-child{
  font-family:var(--bk-display);
  font-variation-settings:"wdth" 88,"wght" 700;
  font-weight:700;
  font-size:23px;
}
/* last column = the price, display face */
.wp-block-table.bk-ptable td:last-child{
  font-family:var(--bk-display);
  font-variation-settings:"wdth" 88,"wght" 800;
  font-weight:800;
  font-size:25px;
}
/* the most-popular row: accent left border, accent price, no badge */
.wp-block-table.bk-ptable tbody tr:last-child td{
  background:rgba(181,118,74,.075);
}
.wp-block-table.bk-ptable tbody tr:last-child td:first-child{
  box-shadow:inset 3px 0 0 var(--bk-cedar);
}
.wp-block-table.bk-ptable tbody tr:last-child td:last-child{
  color:var(--bk-cedar-deep);
}
.bk-poplabel{
  display:block;
  font-family:var(--bk-body);
  font-size:10.5px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--bk-cedar-deep);
  margin-top:5px;
}

/* upgrade / spec tables — quieter, all columns equal */
.wp-block-table.bk-table{ margin:0 0 8px; }
.wp-block-table.bk-table table{
  border-collapse:collapse;
  font-variant-numeric:tabular-nums;
  width:100%;
  border:0;
}
.wp-block-table.bk-table th{
  text-align:left;
  font-family:var(--bk-body);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--bk-stone);
  padding:0 14px 11px;
  border:0;
  border-bottom:1px solid rgba(33,31,26,.16);
  background:transparent;
}
.wp-block-table.bk-table td{
  padding:13px 14px;
  border:0;
  border-bottom:1px solid rgba(33,31,26,.09);
  font-size:16px;
}
.wp-block-table.bk-table th:not(:first-child),
.wp-block-table.bk-table td:not(:first-child){ text-align:right; }
.wp-block-table.bk-table td:first-child{ font-weight:500; }

/* every table scrolls inside itself on mobile, never breaks the page */
.wp-block-table.bk-ptable,
.wp-block-table.bk-table{ overflow-x:auto; }

/* ============================================================
   SPEC GRID
   ============================================================ */

.bk-specs{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:2px;
  background:rgba(33,31,26,.13);
  border:1px solid rgba(33,31,26,.13);
  border-radius:4px;
  overflow:hidden;
}
.bk-specs li{
  background:var(--bk-bone-2);
  padding:24px 26px;
  margin:0;
  font-size:15px;
  line-height:1.55;
  color:var(--bk-charcoal-2);
}
.bk-specs li strong{
  display:block;
  font-family:var(--bk-display);
  font-variation-settings:"wdth" 100,"wght" 700;
  font-weight:700;
  font-size:16px;
  color:var(--bk-charcoal);
  margin-bottom:7px;
}
.bk-band--bone .bk-specs li{ background:var(--bk-bone); }

/* ============================================================
   ORIGIN STORY
   ============================================================ */

.bk-origin{ max-width:60ch; }
.bk-origin p{ font-size:18px; line-height:1.66; margin-block:0 19px; max-width:none; }
.bk-origin-open{
  font-family:var(--bk-display)!important;
  font-variation-settings:"wdth" 92,"wght" 500;
  font-size:22px!important;
  line-height:1.45!important;
}
.bk-origin-beat{
  font-family:var(--bk-display)!important;
  font-variation-settings:"wdth" 86,"wght" 700;
  font-weight:700;
  font-size:clamp(23px,3vw,30px)!important;
  line-height:1.22!important;
  color:var(--bk-charcoal)!important;
  margin:22px 0 14px!important;
  padding-left:22px;
  border-left:3px solid var(--bk-cedar);
}
.bk-origin-close{
  font-family:var(--bk-display)!important;
  font-variation-settings:"wdth" 84,"wght" 800;
  font-weight:800;
  font-size:clamp(24px,3.4vw,34px)!important;
  line-height:1.15!important;
  color:var(--bk-cedar-deep)!important;
  margin-top:20px!important;
  padding-top:22px;
  border-top:2px solid rgba(181,118,74,.3);
}

/* ============================================================
   TEN-YEAR COMPARISON
   ============================================================ */

.bk-compare{
  border:1px solid rgba(244,241,234,.2);
  border-radius:4px;
  overflow:hidden;
  margin-block:8px 34px!important;
  gap:0!important;
}
.bk-compare .wp-block-column{
  padding:28px 30px;
  border-right:1px solid rgba(244,241,234,.2);
}
.bk-compare .wp-block-column:last-child{ border-right:0; }
.bk-tag{
  font-family:var(--bk-body)!important;
  font-size:11px!important;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--bk-stone)!important;
  margin:0 0 10px!important;
}
.bk-amt{
  font-family:var(--bk-display)!important;
  font-variation-settings:"wdth" 80,"wght" 800;
  font-weight:800;
  font-size:clamp(30px,4.5vw,42px)!important;
  line-height:1!important;
  color:var(--bk-bone)!important;
  margin:0 0 10px!important;
}
.bk-amt--ours{ color:var(--bk-cedar)!important; }
.bk-compare p:last-child{ font-size:15px; margin-bottom:0; }

.bk-kicker{
  font-family:var(--bk-display)!important;
  font-variation-settings:"wdth" 80,"wght" 900;
  font-weight:900;
  font-size:clamp(32px,5vw,52px)!important;
  text-transform:uppercase;
  letter-spacing:.01em;
  color:var(--bk-cedar)!important;
  margin-top:44px!important;
  line-height:1.05!important;
}

/* ============================================================
   LICENSE BAND
   ============================================================ */

.bk-licnum{
  font-family:var(--bk-display)!important;
  font-variation-settings:"wdth" 78,"wght" 900;
  font-weight:900;
  font-size:clamp(46px,8vw,84px)!important;
  line-height:.9!important;
  color:var(--bk-cedar)!important;
  white-space:nowrap;
  margin:0!important;
}
.bk-liclabel{
  font-family:var(--bk-body)!important;
  font-size:12px!important;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--bk-stone)!important;
  margin:0 0 12px!important;
}

/* ============================================================
   STEPS
   ============================================================ */

.bk-steps{ border-top:1px solid rgba(33,31,26,.16); gap:0!important; }
.bk-steps .wp-block-column{
  padding:26px 24px;
  border-right:1px solid rgba(33,31,26,.11);
}
.bk-steps .wp-block-column:first-child{ padding-left:0; }
.bk-steps .wp-block-column:last-child{ border-right:0; }
.bk-stepn{
  font-family:var(--bk-display)!important;
  font-variation-settings:"wdth" 82,"wght" 800;
  font-weight:800;
  font-size:15px!important;
  color:var(--bk-cedar-deep)!important;
  letter-spacing:.1em;
  margin:0 0 9px!important;
}
.bk-steps p{ font-size:14.5px; line-height:1.5; margin-bottom:0; }
.bk-steps strong{ display:block; font-family:var(--bk-body); font-size:16px; color:var(--bk-charcoal); margin-bottom:5px; }

/* ============================================================
   QUOTES
   ============================================================ */

.bk-quote{
  background:var(--bk-bone);
  border:1px solid rgba(33,31,26,.12);
  border-radius:4px;
  padding:28px;
}
.bk-quote p{ font-size:16.5px; line-height:1.58; margin-bottom:16px; }
.bk-quote .bk-who{
  font-size:12px!important;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--bk-stone)!important;
  font-weight:600;
  padding-top:14px;
  border-top:1px solid rgba(33,31,26,.12);
  margin-bottom:0!important;
}
.bk-stars{ color:var(--bk-cedar)!important; font-size:13px!important; letter-spacing:.22em; margin:0 0 14px!important; }

/* ============================================================
   FAQ
   ============================================================ */

.bk-faq{ border-top:1px solid rgba(33,31,26,.16); }
.bk-faq .wp-block-columns{
  padding-block:24px;
  border-bottom:1px solid rgba(33,31,26,.11);
  margin-bottom:0!important;
}
.bk-faq h3{
  font-family:var(--bk-display);
  font-variation-settings:"wdth" 92,"wght" 700;
  font-size:19px!important;
  line-height:1.25!important;
  margin:0!important;
}
.bk-faq p{ font-size:16px; color:var(--bk-charcoal-2); margin:0; }

/* ============================================================
   AREA CARDS
   ============================================================ */

.bk-area{
  border:1px solid rgba(33,31,26,.15);
  border-radius:4px;
  padding:30px;
  background:var(--bk-bone-2);
  transition:border-color .15s ease;
  height:100%;
}
.bk-area:hover{ border-color:var(--bk-cedar); }
.bk-band--bone2 .bk-area{ background:var(--bk-bone); }
.bk-area h3{
  font-variation-settings:"wdth" 86,"wght" 700;
  font-size:26px!important;
}

/* ============================================================
   PHOTO PLACEHOLDER — delete each one as you add the real image
   ============================================================ */

.bk-photo{
  position:relative;
  background:
    repeating-linear-gradient(135deg,rgba(33,31,26,.07) 0 2px,transparent 2px 11px),
    var(--bk-bone-2);
  border:1px solid rgba(33,31,26,.17);
  border-radius:4px;
  min-height:340px;
  display:flex;
  align-items:flex-end;
}
.bk-band--dark .bk-photo,
.bk-band--hero .bk-photo{
  background:
    repeating-linear-gradient(135deg,rgba(140,137,125,.13) 0 2px,transparent 2px 11px),
    var(--bk-charcoal-2);
  border-color:rgba(140,137,125,.34);
}
.bk-band--forest .bk-photo{
  background:
    repeating-linear-gradient(135deg,rgba(244,241,234,.09) 0 2px,transparent 2px 11px),
    var(--bk-forest-2);
  border-color:rgba(244,241,234,.22);
}
.bk-photo span{
  font-size:11.5px;
  letter-spacing:.11em;
  text-transform:uppercase;
  padding:12px 14px;
  background:rgba(33,31,26,.82);
  color:var(--bk-stone-lt);
  border-radius:0 4px 0 0;
  line-height:1.4;
}
.bk-photo--sm{ min-height:190px; }

/* real images, once they replace the placeholders */
.wp-block-image.bk-img img{ border-radius:4px; display:block; width:100%; height:auto; }

/* ============================================================
   NOTES (internal build notes — remove before launch)
   ============================================================ */

.bk-note{
  border-left:3px solid var(--bk-cedar);
  background:rgba(181,118,74,.08);
  padding:16px 18px;
  font-size:14.5px!important;
  line-height:1.55;
  color:var(--bk-charcoal-2)!important;
  max-width:var(--bk-measure);
  margin-block:26px!important;
}

/* ============================================================
   FOOTER LEGAL LINE — CSLB number, every page, non-negotiable
   ============================================================ */

.bk-legal,
.site-footer .bk-legal{
  font-size:13px;
  letter-spacing:.02em;
  color:var(--bk-stone);
  text-align:center;
  margin:0;
  padding:20px 0;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media(max-width:900px){
  .bk-steps .wp-block-column{
    border-right:0;
    border-bottom:1px solid rgba(33,31,26,.11);
    padding-left:0;
    padding-right:0;
  }
  .bk-steps .wp-block-column:last-child{ border-bottom:0; }
  .bk-compare .wp-block-column{
    border-right:0;
    border-bottom:1px solid rgba(244,241,234,.2);
  }
  .bk-compare .wp-block-column:last-child{ border-bottom:0; }
}

@media(max-width:781px){
  .bk-band{ padding-block:56px; }
  .bk-origin p{ font-size:17px; }
  .wp-block-table.bk-ptable td:first-child{ font-size:20px; }
  .wp-block-table.bk-ptable td:last-child{ font-size:22px; }
}

@media (prefers-reduced-motion:reduce){
  *{ transition:none!important; animation:none!important; }
}

/* keyboard focus is always visible */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible{
  outline:2px solid var(--bk-cedar);
  outline-offset:3px;
}
