/*
Theme Name: Bali Shipyard Yard Desk
Theme URI: https://balishipyard.com/
Description: Astra child theme with yard-desk polish for balishipyard.com — repair, refit and haul-out coordination in Bali.
Author: Bali Shipyard Build Desk
Template: astra
Version: 1.0.0
Text Domain: balishipyard
*/

:root{
  --bsy-hull:#0d2231;
  --bsy-hull-2:#143349;
  --bsy-steel:#33556e;
  --bsy-brass:#b7853a;
  --bsy-brass-dk:#946a2b;
  --bsy-paper:#f6f4ef;
  --bsy-line:#dcd6c9;
  --bsy-ink:#1c2630;
  --bsy-muted:#5c6976;
}

body,.ast-container{color:var(--bsy-ink);}
body{background:#fff;}

/* ---------- Typography ---------- */
h1,h2,h3,h4{color:var(--bsy-hull);letter-spacing:-.012em;line-height:1.22;}
.entry-content h2{font-size:1.72rem;margin:2.1em 0 .55em;padding-top:.15em;border-top:2px solid var(--bsy-line);}
.entry-content h3{font-size:1.24rem;margin:1.7em 0 .45em;}
.entry-content p,.entry-content li{font-size:1.045rem;line-height:1.78;}
.entry-content a{color:var(--bsy-hull-2);text-underline-offset:3px;text-decoration-thickness:1px;}
.entry-content a:hover{color:var(--bsy-brass-dk);}

/* ---------- Header ---------- */
.site-header,.ast-primary-header-bar{border-bottom:1px solid var(--bsy-line);}
.ast-site-identity .site-title a{color:var(--bsy-hull)!important;font-weight:700;letter-spacing:-.02em;}
.ast-site-identity .site-description{color:var(--bsy-muted)!important;letter-spacing:.02em;text-transform:uppercase;font-size:.68rem;}

/* ---------- Utility strip ---------- */
.bsy-strip{background:var(--bsy-hull);color:#e8eef3;font-size:.83rem;}
.bsy-strip .bsy-wrap{max-width:1200px;margin:0 auto;padding:.5rem 1.2rem;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;align-items:center;justify-content:space-between;}
.bsy-strip a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(183,133,58,.7);}
.bsy-strip a:hover{color:var(--bsy-brass);}
.bsy-strip .bsy-role{color:#9fb3c2;letter-spacing:.04em;}

/* ---------- Answer-first lede ---------- */
.bsy-answer{background:var(--bsy-paper);border-left:4px solid var(--bsy-brass);padding:1.15rem 1.35rem;margin:0 0 1.9rem;border-radius:2px;}
.bsy-answer p{margin:0;font-size:1.1rem;line-height:1.7;color:var(--bsy-hull);}
.bsy-answer p+p{margin-top:.7rem;}

/* ---------- Spec / data table ---------- */
.entry-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.97rem;display:block;overflow-x:auto;}
.entry-content table th{background:var(--bsy-hull);color:#fff;text-align:left;font-weight:600;padding:.62rem .8rem;white-space:nowrap;}
.entry-content table td{border-bottom:1px solid var(--bsy-line);padding:.62rem .8rem;vertical-align:top;}
.entry-content table tr:nth-child(even) td{background:#fbfaf7;}

/* ---------- Callout / note ---------- */
.bsy-note{border:1px solid var(--bsy-line);border-top:3px solid var(--bsy-steel);background:#fbfaf7;padding:1.05rem 1.2rem;margin:1.6rem 0;border-radius:2px;}
.bsy-note strong:first-child{display:block;color:var(--bsy-hull);margin-bottom:.35rem;letter-spacing:.01em;}

/* ---------- Scope grid ---------- */
.bsy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:1rem;margin:1.6rem 0;}
.bsy-card{border:1px solid var(--bsy-line);border-radius:3px;padding:1.05rem 1.15rem;background:#fff;}
.bsy-card h3{margin:0 0 .4rem;font-size:1.03rem;}
.bsy-card p{margin:0;font-size:.95rem;color:var(--bsy-muted);line-height:1.6;}

/* ---------- FAQ ---------- */
.bsy-faq{margin:2rem 0 0;}
.bsy-faq h2{border-top:2px solid var(--bsy-line);}
.bsy-faq details{border-bottom:1px solid var(--bsy-line);padding:.85rem 0;}
.bsy-faq summary{cursor:pointer;font-weight:600;color:var(--bsy-hull);list-style:none;font-size:1.03rem;line-height:1.5;}
.bsy-faq summary::-webkit-details-marker{display:none;}
.bsy-faq summary:before{content:"+";color:var(--bsy-brass);font-weight:700;margin-right:.6rem;}
.bsy-faq details[open] summary:before{content:"–";}
.bsy-faq details p{margin:.65rem 0 0;color:#39434e;font-size:1rem;line-height:1.72;}

/* ---------- CTA ---------- */
.bsy-cta{background:var(--bsy-hull);color:#e8eef3;padding:1.6rem 1.6rem;border-radius:3px;margin:2.2rem 0 0;}
.bsy-cta h2{color:#fff!important;margin:0 0 .5rem;border:0!important;padding:0!important;font-size:1.32rem;}
.bsy-cta p{margin:0 0 .9rem;color:#c9d6e0;font-size:1rem;line-height:1.7;}
.bsy-btn{display:inline-block;background:var(--bsy-brass);color:#16212b!important;font-weight:700;padding:.66rem 1.25rem;border-radius:3px;text-decoration:none!important;margin:.2rem .5rem .2rem 0;}
.bsy-btn:hover{background:#c9974a;color:#101a22!important;}
.bsy-btn--ghost{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.45);}
.bsy-btn--ghost:hover{background:rgba(255,255,255,.1);color:#fff!important;}

/* ---------- Byline ---------- */
.bsy-byline{font-size:.86rem;color:var(--bsy-muted);border-bottom:1px solid var(--bsy-line);padding-bottom:.75rem;margin:0 0 1.5rem;letter-spacing:.01em;}
.bsy-byline strong{color:var(--bsy-hull);font-weight:600;}

/* ---------- Related ---------- */
.bsy-related{margin:2.2rem 0 0;border-top:2px solid var(--bsy-line);padding-top:1.1rem;}
.bsy-related h2{font-size:1.1rem;margin:0 0 .6rem;border:0;padding:0;}
.bsy-related ul{margin:0;padding-left:1.15rem;}
.bsy-related li{margin:.3rem 0;font-size:.99rem;}

/* ---------- Footer ---------- */
.bsy-footer{background:var(--bsy-hull);color:#b9c9d6;padding:2.6rem 1.2rem 2rem;font-size:.92rem;line-height:1.72;}
.bsy-footer .bsy-wrap{max-width:1200px;margin:0 auto;}
.bsy-footer h3{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.09em;margin:0 0 .6rem;}
.bsy-footer a{color:#dbe6ee;text-decoration:none;}
.bsy-footer a:hover{color:var(--bsy-brass);text-decoration:underline;}
.bsy-fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.6rem 2rem;}
.bsy-fcols ul{list-style:none;margin:0;padding:0;}
.bsy-fcols li{margin:.28rem 0;}
.bsy-disclosure{margin-top:2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.14);color:#93a7b6;font-size:.86rem;line-height:1.75;}
.bsy-disclosure p{margin:.2rem 0;}
.bsy-legal{margin-top:1rem;color:#7b8f9e;font-size:.82rem;}

/* ---------- Mobile ---------- */
@media (max-width:782px){
  .entry-content h2{font-size:1.42rem;}
  .entry-content p,.entry-content li{font-size:1.02rem;}
  .bsy-answer p{font-size:1.04rem;}
  .bsy-strip .bsy-wrap{justify-content:flex-start;gap:.3rem .9rem;}
  .bsy-cta{padding:1.3rem 1.15rem;}
  .bsy-btn{display:block;text-align:center;margin:.45rem 0 0;}
}
