/* Declan Byrne & Sons — rebuilt site styles */
:root{
  --wood-dark:#4a2f22;
  --wood:#7a4b30;
  --wood-light:#c88a52;
  --cream:#faf6f0;
  --cream-2:#f1e8db;
  --ink:#2b241f;
  --ink-soft:#5c5147;
  --line:#e3d9c9;
  --accent:#b5541f;
  --accent-2:#2f6b4f;
  --radius:10px;
  --shadow:0 4px 18px rgba(43,36,31,.08);
  font-size:16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Segoe UI',system-ui,-apple-system,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:var(--accent)}
h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;color:var(--wood-dark);line-height:1.2;margin:0 0 .5em}
h1{font-size:2.1rem}
h2{font-size:1.5rem;border-bottom:2px solid var(--line);padding-bottom:.4em;margin-top:1.4em}
h3{font-size:1.15rem}
h4{font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--wood)}
p{margin:.6em 0}
ul{margin:.4em 0;padding-left:1.2em}

/* Header */
.site-header{background:var(--wood-dark);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.header-inner{max-width:1200px;margin:0 auto;padding:.7em 1.2em;display:flex;align-items:center;justify-content:space-between;gap:1em}
.brand{color:#fff;text-decoration:none;display:flex;flex-direction:column;line-height:1.2}
.brand-name{font-family:Georgia,serif;font-size:1.3rem;font-weight:700}
.brand-name .amp{color:var(--wood-light)}
.brand-sub{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#d8c7b3}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer}

.site-nav{flex:1;display:flex;justify-content:flex-end}
.nav-list{list-style:none;display:flex;gap:.1em;margin:0;padding:0;flex-wrap:wrap;justify-content:flex-end}
.nav-item{position:relative}
.nav-link{display:block;padding:.55em .5em;color:#f1e8db;text-decoration:none;font-size:.82rem;white-space:nowrap;cursor:pointer;border-radius:6px}
.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.12);color:#fff}
.chev{font-size:.6em;margin-left:.3em}
.submenu{list-style:none;margin:0;padding:.4em 0;position:absolute;left:0;top:100%;background:#fff;min-width:230px;border-radius:8px;box-shadow:var(--shadow);display:none;z-index:60}
.nav-item.has-children:hover > .submenu{display:block}
.submenu .nav-item{position:relative}
.submenu .nav-link{color:var(--ink);padding:.55em 1em;font-size:.88rem;border-radius:0}
.submenu .nav-link:hover{background:var(--cream-2);color:var(--accent)}
.submenu .submenu{left:100%;top:0}

/* Hero */
.page-hero{background:var(--cream-2);background-size:cover;background-position:center;position:relative;padding:3.2em 1.2em;text-align:center;margin:-2.2em -1.2em 0}
.page-hero::before{content:"";position:absolute;inset:0;background:rgba(250,246,240,.72)}
.page-hero-inner{position:relative;max-width:900px;margin:0 auto}
.page-hero h1{margin:0}
.page-hero-sub{color:var(--ink-soft);font-size:1.05rem}

.home-hero{position:relative;background-size:cover;background-position:center;min-height:min(60vh,480px);display:flex;align-items:flex-end;color:#fff;margin:-2.2em -1.2em 0}
.home-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,14,10,.3),rgba(20,14,10,.08))}
.home-hero-inner{position:relative;padding:2.4em 1.2em;max-width:1200px;margin:0 auto;width:100%}
.home-hero h1{color:#fff;font-size:2.6rem;margin-bottom:.1em}
.home-hero .sub{font-size:1.1rem;color:#f1e8db;letter-spacing:.03em}

/* Page layout */
main.page{max-width:1200px;margin:0 auto;padding:2.2em 1.2em 1em}
.section-block{margin-bottom:2.2em}
.intro-flex{display:flex;gap:2em;align-items:flex-start;flex-wrap:wrap;margin:1.4em 0 2em}
.intro-flex .intro-text{flex:1 1 360px}
.intro-flex img{flex:1 1 320px;border-radius:var(--radius);box-shadow:var(--shadow)}

.feature-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4em;margin:2em 0}
.feature-row .feature{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.3em}
.feature h3{margin-top:0}

.gallery-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6em;margin:1.6em 0}
.gallery-strip img{border-radius:6px;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow)}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2em}
@media (max-width:700px){.two-col{grid-template-columns:1fr}}

/* Product grid */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.2em;margin:1.3em 0}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.card-img{aspect-ratio:3/4;background:var(--cream-2);display:flex;align-items:center;justify-content:center;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover}
.card.noimg .card-img{background:repeating-linear-gradient(45deg,var(--cream-2),var(--cream-2) 10px,#ece1d0 10px,#ece1d0 20px)}
.card-name{padding:.6em .7em;font-size:.85rem;text-align:center;color:var(--ink-soft);border-top:1px solid var(--line)}

/* Sizes / spec */
.sizes{margin:1em 0}
.sizes-label{display:block;font-weight:600;color:var(--wood);margin-bottom:.4em;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
.pills{display:flex;flex-wrap:wrap;gap:.4em}
.pill{background:var(--cream-2);border:1px solid var(--line);border-radius:20px;padding:.25em .8em;font-size:.85rem;white-space:nowrap}
.spec-box{background:var(--cream-2);border-left:4px solid var(--wood-light);border-radius:0 8px 8px 0;padding:1em 1.2em;margin:1em 0}
.spec-box h4{margin-top:0}
.spec-box ul{padding-left:1.1em}

.feature-list{list-style:none;padding:0}
.feature-list li{padding:.35em 0 .35em 1.5em;position:relative}
.feature-list li::before{content:"\2713";position:absolute;left:0;color:var(--accent-2);font-weight:700}

.range-block{border-top:1px solid var(--line);padding-top:1.6em;margin-top:1.6em}
.range-block:first-of-type{border-top:0;padding-top:0;margin-top:0}

/* CTA / contact band */
.cta-band{background:var(--wood-dark);color:#f1e8db;margin-top:3em}
.cta-inner{max-width:1200px;margin:0 auto;padding:2.6em 1.2em;display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:2.4em}
@media (max-width:850px){.cta-inner{grid-template-columns:1fr}}
.cta-band h3{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:.06em;font-family:inherit;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:.5em}
.hours-row{display:flex;justify-content:space-between;gap:1em;padding:.3em 0;color:#d8c7b3;font-size:.92rem}
.cta-band a{color:#f1c79a}
.cta-band p{color:#d8c7b3}

.contact-form{display:flex;flex-direction:column;gap:.7em}
.form-row{display:flex;gap:.7em}
.form-row input,.contact-form textarea{
  width:100%;padding:.6em .8em;border-radius:6px;border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.06);color:#fff;font-family:inherit;font-size:.92rem;
}
.form-row input::placeholder,.contact-form textarea::placeholder{color:#c9b8a4}
.contact-form button{
  align-self:flex-start;background:var(--accent);color:#fff;border:0;border-radius:6px;
  padding:.65em 1.6em;font-size:.95rem;cursor:pointer;font-weight:600;
}
.contact-form button:hover{background:#963f14}

.site-footer{background:#241813;color:#a58e78;font-size:.82rem}
.footer-inner{max-width:1200px;margin:0 auto;padding:1.1em 1.2em;text-align:center}

@media (max-width:1200px){
  .nav-toggle{display:block}
  .site-nav{display:none;width:100%;order:3}
  .site-nav.open{display:block}
  .nav-list{flex-direction:column;align-items:stretch}
  .submenu{position:static;box-shadow:none;display:none;min-width:0;padding-left:1em}
  .nav-item.has-children.open > .submenu{display:block}
  .nav-item.has-children:hover > .submenu{display:none}
  .nav-item.has-children.open:hover > .submenu{display:block}
  .header-inner{flex-wrap:wrap}
}
