/*
 Theme Name: Bira Shipyard Yard Desk
 Theme URI: https://birashipyard.com
 Description: Fleet Astra child theme polished for Bira Shipyard — timber-hull maritime design system, answer-first typography, spec tables, yard-process rails. Bespoke theme follows after content per V2 standard.
 Author: Bira Shipyard Build Desk
 Author URI: https://birashipyard.com
 Template: astra
 Version: 1.0.0
 License: GNU General Public License v2 or later
 License URI: https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: bira-yard
*/

/* ==========================================================
   1. DESIGN TOKENS
   ========================================================== */
:root{
  --hull:#0E2237;
  --hull-deep:#081727;
  --slate:#2C4358;
  --teak:#A9702F;
  --brass:#C79A4E;
  --brass-soft:#E4C88F;
  --linen:#F6F2EA;
  --linen-2:#EDE6DA;
  --paper:#FFFFFF;
  --ink:#132330;
  --ink-soft:rgba(19,35,48,.72);
  --rule:rgba(14,34,55,.14);
  --rule-strong:rgba(14,34,55,.28);
  --sea:#1F6C77;

  --ff-display:"Georgia","Times New Roman",serif;
  --ff-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  --wrap:1140px;
  --wrap-narrow:760px;
  --r:4px;
  --r-lg:8px;
  --sh:0 1px 2px rgba(8,23,39,.06),0 8px 24px rgba(8,23,39,.06);
  --sh-lift:0 2px 4px rgba(8,23,39,.08),0 18px 42px rgba(8,23,39,.12);
}

/* ==========================================================
   2. BASE TYPOGRAPHY — answer-first readability
   ========================================================== */
body{
  font-family:var(--ff-body);
  color:var(--ink);
  background:var(--paper);
  font-size:17px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
.entry-content{font-size:17.5px;line-height:1.78}
h1,h2,h3,h4,h5{font-family:var(--ff-display);color:var(--hull);letter-spacing:-.01em;line-height:1.22;font-weight:700}
h1{font-size:clamp(2rem,1.35rem + 2.3vw,3rem);margin:0 0 .6em}
h2{font-size:clamp(1.5rem,1.15rem + 1.35vw,2.05rem);margin:2.1em 0 .55em;padding-top:.2em}
h3{font-size:clamp(1.18rem,1.03rem + .6vw,1.42rem);margin:1.7em 0 .45em}
h4{font-size:1.08rem;margin:1.4em 0 .4em}
.entry-content p{margin:0 0 1.15em}
.entry-content a{color:var(--sea);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.entry-content a:hover{color:var(--teak)}
.entry-content ul,.entry-content ol{margin:0 0 1.3em;padding-left:1.35em}
.entry-content li{margin-bottom:.5em}
.entry-content strong{color:var(--hull)}
.entry-content blockquote{
  margin:1.8em 0;padding:1.1em 1.4em;border-left:3px solid var(--brass);
  background:var(--linen);font-style:normal;color:var(--ink)
}
.entry-content blockquote p:last-child{margin-bottom:0}
.ast-container,.site-content .ast-container{max-width:var(--wrap)}

/* ==========================================================
   3. YARD RAIL — key-answer block (answer-first pattern)
   ========================================================== */
.yard-answer{
  background:linear-gradient(180deg,var(--linen) 0%,var(--linen-2) 100%);
  border:1px solid var(--rule);border-left:4px solid var(--brass);
  border-radius:var(--r);padding:1.25em 1.4em;margin:0 0 1.9em;
  font-size:1.05em;line-height:1.68
}
.yard-answer p:last-child{margin-bottom:0}
.yard-answer strong{color:var(--hull)}

/* callout */
.yard-note{
  border:1px solid var(--rule);border-radius:var(--r);
  padding:1.05em 1.25em;margin:1.7em 0;background:#FBFAF7
}
.yard-note--brass{border-left:4px solid var(--brass);background:var(--linen)}
.yard-note--sea{border-left:4px solid var(--sea);background:#F1F7F8}
.yard-note p:last-child{margin-bottom:0}
.yard-note h4{margin-top:0;font-size:1rem;letter-spacing:.02em;text-transform:uppercase;color:var(--slate)}

/* ==========================================================
   4. SPEC TABLES
   ========================================================== */
.entry-content table,.yard-table{
  width:100%;border-collapse:collapse;margin:1.7em 0;font-size:.96em;
  border:1px solid var(--rule);background:var(--paper)
}
.entry-content table th,.yard-table th{
  background:var(--hull);color:#fff;text-align:left;padding:.72em .9em;
  font-family:var(--ff-body);font-weight:600;font-size:.9em;letter-spacing:.02em
}
.entry-content table td,.yard-table td{padding:.68em .9em;border-top:1px solid var(--rule);vertical-align:top}
.entry-content table tr:nth-child(even) td,.yard-table tr:nth-child(even) td{background:#FBFAF7}
.yard-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.7em 0}
.yard-scroll table{margin:0;min-width:520px}

/* ==========================================================
   5. CARD GRIDS
   ========================================================== */
.yard-grid{display:grid;gap:1.05rem;margin:1.9em 0}
.yard-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.yard-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.yard-card{
  background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);
  padding:1.25rem 1.3rem;box-shadow:var(--sh);transition:box-shadow .22s ease,transform .22s ease
}
.yard-card:hover{box-shadow:var(--sh-lift);transform:translateY(-2px)}
.yard-card h3,.yard-card h4{margin-top:0;font-size:1.08rem}
.yard-card p:last-child{margin-bottom:0}
.yard-card__kicker{
  display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teak);font-weight:700;margin-bottom:.45em
}
@media(max-width:880px){.yard-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.yard-grid--2,.yard-grid--3{grid-template-columns:1fr}}

/* ==========================================================
   6. PROCESS STEPS
   ========================================================== */
.yard-steps{counter-reset:ys;list-style:none;margin:1.9em 0;padding:0}
.yard-steps li{
  position:relative;padding:0 0 1.15em 3.1rem;margin:0;border-left:1px solid var(--rule);
  margin-left:1.05rem
}
.yard-steps li:last-child{border-left-color:transparent;padding-bottom:0}
.yard-steps li:before{
  counter-increment:ys;content:counter(ys);
  position:absolute;left:-1.05rem;top:0;width:2.1rem;height:2.1rem;border-radius:50%;
  background:var(--hull);color:var(--brass-soft);display:flex;align-items:center;justify-content:center;
  font-size:.9rem;font-weight:700;font-family:var(--ff-body)
}
.yard-steps li strong{display:block;color:var(--hull);font-family:var(--ff-display);font-size:1.06rem;margin-bottom:.2em}

/* ==========================================================
   7. FAQ
   ========================================================== */
.yard-faq{margin:2em 0;border-top:1px solid var(--rule)}
.yard-faq__item{border-bottom:1px solid var(--rule)}
.yard-faq__q{
  margin:0;padding:1.05em 2.2em 1.05em 0;cursor:pointer;position:relative;
  font-family:var(--ff-display);font-weight:700;font-size:1.06rem;color:var(--hull);
  list-style:none;line-height:1.4
}
.yard-faq__q::-webkit-details-marker{display:none}
.yard-faq__q:after{
  content:"+";position:absolute;right:.25em;top:50%;transform:translateY(-50%);
  font-family:var(--ff-body);font-size:1.35rem;color:var(--brass);font-weight:400;transition:transform .2s ease
}
details[open]>.yard-faq__q:after{content:"\2013"}
.yard-faq__a{padding:0 0 1.15em;color:var(--ink-soft)}
.yard-faq__a p:last-child{margin-bottom:0}

/* ==========================================================
   8. HERO
   ========================================================== */
.yard-hero{
  background:linear-gradient(160deg,var(--hull-deep) 0%,var(--hull) 55%,var(--slate) 100%);
  color:#fff;padding:clamp(2.6rem,1.6rem + 4.2vw,4.6rem) 0;margin:0 0 2.2rem;
  position:relative;overflow:hidden
}
.yard-hero:before{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 46px);
  pointer-events:none
}
.yard-hero__inner{max-width:var(--wrap);margin:0 auto;padding:0 1.25rem;position:relative}
.yard-hero__kicker{
  font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-soft);
  font-weight:700;margin:0 0 .8rem
}
.yard-hero h1{color:#fff;margin:0 0 .6rem;max-width:20ch}
.yard-hero__lede{font-size:1.1rem;color:rgba(255,255,255,.86);max-width:62ch;margin:0 0 1.5rem}
.yard-hero__meta{display:flex;flex-wrap:wrap;gap:1.4rem;border-top:1px solid rgba(255,255,255,.16);padding-top:1.2rem}
.yard-hero__meta div{min-width:120px}
.yard-hero__meta dt{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--brass-soft);margin:0 0 .25rem}
.yard-hero__meta dd{margin:0;font-size:1rem;color:#fff;font-weight:600}

/* ==========================================================
   9. BUTTONS
   ========================================================== */
.yard-btn{
  display:inline-block;padding:.78em 1.5em;border-radius:var(--r);
  font-weight:600;font-size:.97rem;text-decoration:none !important;
  transition:background .2s ease,color .2s ease,border-color .2s ease;border:1px solid transparent
}
.yard-btn--primary{background:var(--brass);color:var(--hull-deep) !important;border-color:var(--brass)}
.yard-btn--primary:hover{background:var(--brass-soft);border-color:var(--brass-soft)}
.yard-btn--ghost{background:transparent;color:#fff !important;border-color:rgba(255,255,255,.45)}
.yard-btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.yard-btn--dark{background:var(--hull);color:#fff !important;border-color:var(--hull)}
.yard-btn--dark:hover{background:var(--slate);border-color:var(--slate)}
.yard-cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.6em 0}

/* ==========================================================
   10. CONTACT / ENQUIRY PANEL
   ========================================================== */
.yard-enquiry{
  background:var(--hull);color:#fff;border-radius:var(--r-lg);
  padding:1.7rem 1.8rem;margin:2.4em 0
}
.yard-enquiry h2,.yard-enquiry h3{color:#fff;margin-top:0}
.yard-enquiry p{color:rgba(255,255,255,.85)}
.yard-enquiry a{color:var(--brass-soft)}
.yard-enquiry__lines{list-style:none;padding:0;margin:1.1em 0 0}
.yard-enquiry__lines li{margin-bottom:.5em;color:rgba(255,255,255,.9)}
.yard-enquiry__lines strong{color:#fff}

/* ==========================================================
   11. INTERNAL LINK RAIL
   ========================================================== */
.yard-rail{border-top:1px solid var(--rule);margin:2.6em 0 0;padding-top:1.4em}
.yard-rail h3{margin-top:0;font-size:1.05rem;letter-spacing:.02em}
.yard-rail ul{list-style:none;padding:0;margin:0;display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.yard-rail li{margin:0}
.yard-rail a{color:var(--hull);text-decoration:none;font-weight:600;border-bottom:1px solid var(--rule-strong);padding-bottom:2px}
.yard-rail a:hover{color:var(--teak);border-bottom-color:var(--teak)}
@media(max-width:600px){.yard-rail ul{grid-template-columns:1fr}}

/* ==========================================================
   12. BYLINE / meta
   ========================================================== */
.yard-byline{
  font-size:.86rem;color:var(--ink-soft);border-bottom:1px solid var(--rule);
  padding-bottom:1em;margin:0 0 1.7em;letter-spacing:.01em
}
.yard-byline strong{color:var(--hull);font-weight:600}
.ast-single-post .entry-meta,.entry-meta{font-size:.86rem;color:var(--ink-soft)}

/* ==========================================================
   13. FOOTER DISCLOSURE
   ========================================================== */
.yard-footer{background:var(--hull-deep);color:rgba(255,255,255,.76);padding:2.8rem 0 1.6rem;margin-top:3rem;font-size:.93rem}
.yard-footer__inner{max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
.yard-footer__cols{display:grid;gap:1.8rem;grid-template-columns:1.4fr 1fr 1fr;margin-bottom:2rem}
.yard-footer h4{color:#fff;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;margin:0 0 .9em;font-family:var(--ff-body)}
.yard-footer ul{list-style:none;padding:0;margin:0}
.yard-footer li{margin-bottom:.5em}
.yard-footer a{color:rgba(255,255,255,.78);text-decoration:none}
.yard-footer a:hover{color:var(--brass-soft)}
.yard-footer__brand{font-family:var(--ff-display);font-size:1.2rem;color:#fff;margin:0 0 .5em}
.yard-disclosure{
  border-top:1px solid rgba(255,255,255,.14);padding-top:1.3rem;
  font-size:.84rem;line-height:1.72;color:rgba(255,255,255,.62)
}
.yard-disclosure p{margin:0 0 .35em}
.yard-disclosure p:first-child{color:rgba(255,255,255,.82);font-weight:600}
.yard-disclosure__last{margin-top:.8em !important;color:rgba(255,255,255,.5) !important}
@media(max-width:820px){.yard-footer__cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.yard-footer__cols{grid-template-columns:1fr}}

/* ==========================================================
   14. STICKY MOBILE CTA
   ========================================================== */
.yard-sticky{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:9990;
  background:var(--hull);border-top:1px solid rgba(255,255,255,.14);
  padding:.55rem .7rem;gap:.5rem
}
.yard-sticky a{
  flex:1;text-align:center;padding:.72em .4em;border-radius:var(--r);
  font-size:.92rem;font-weight:600;text-decoration:none
}
.yard-sticky__wa{background:var(--brass);color:var(--hull-deep)}
.yard-sticky__mail{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}
@media(max-width:768px){
  .yard-sticky{display:flex}
  body{padding-bottom:64px}
}

/* ==========================================================
   15. ASTRA OVERRIDES + HEADER
   ========================================================== */
.site-header,.ast-primary-header-bar{border-bottom:1px solid var(--rule)}
.main-header-menu a,.ast-header-break-point .main-header-menu a{font-weight:600;font-size:.95rem;color:var(--hull)}
.main-header-menu .current-menu-item>a,.main-header-menu a:hover{color:var(--teak)}
.site-title a,.site-title{font-family:var(--ff-display);color:var(--hull) !important;font-weight:700}
.ast-archive-description,.ast-single-post .post-thumb img,.wp-post-image{border-radius:var(--r)}
.entry-content img{border-radius:var(--r);height:auto;max-width:100%}
.entry-content figure{margin:1.9em 0}
.entry-content figcaption{font-size:.85rem;color:var(--ink-soft);text-align:left;margin-top:.5em}
.ast-separate-container .ast-article-post,.ast-separate-container .ast-article-single{box-shadow:none;border:0}

/* archive cards */
.ast-archive-post,.ast-article-post{border:1px solid var(--rule);border-radius:var(--r-lg);padding:1.3rem !important;margin-bottom:1.2rem;transition:box-shadow .2s ease}
.ast-archive-post:hover,.ast-article-post:hover{box-shadow:var(--sh-lift)}
.ast-archive-post .entry-title,.ast-article-post .entry-title{font-size:1.22rem;margin-bottom:.4em}

/* skip-link + focus visibility */
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--brass);outline-offset:2px}

/* print-friendly + reduced motion */
@media(prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
  .yard-card:hover{transform:none}
}
