/*
Theme Name: Flare Homes Child
Theme URI: https://flarehomes.com.au
Description: GeneratePress child theme for Flare Homes — golden flavour. All custom design lives here (version-controlled, survives GP updates).
Author: ASTCAD
Template: generatepress
Version: 1.0.0
*/

:root{
  --fh-ink:#2b2620;
  --fh-ink2:#39332b;
  --fh-gold:#d0a746;
  --fh-gold-dk:#c5993e;
  --fh-gold-sheen:linear-gradient(135deg,#e7c869 0%,#d0a746 45%,#b8862f 100%);
  --fh-cream:#f6f0e6;
  --fh-cream2:#fbf8f1;
  --fh-line:#e6dcc9;
  --fh-muted:#7a6f5d;
  --fh-serif:'Cormorant Garamond',Georgia,serif;
  --fh-sans:'Jost',system-ui,sans-serif;
}
body{font-family:var(--fh-sans);color:var(--fh-ink);font-weight:300;line-height:1.65;background:var(--fh-cream2);}
h1,h2,h3,.fh-serif{font-family:var(--fh-serif);font-weight:500;line-height:1.12;}

/* buttons */
.fh-btn{display:inline-block;font-family:var(--fh-sans);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:15px 30px;transition:.35s;}
.fh-btn-gold{background:var(--fh-gold-sheen);color:#3a2e12;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 2px 8px rgba(151,113,30,.25);}
.fh-btn-gold:hover{background:var(--fh-gold-dk);}
.fh-btn-ghost{border:1px solid rgba(255,255,255,.35);color:#f3ead8;}
.fh-btn-ghost:hover{border-color:var(--fh-gold);color:var(--fh-gold);}
.fh-eyebrow{font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--fh-gold-dk);}

/* social icons (header + footer) */
.fh-social{display:flex;gap:10px;align-items:center;}
.fh-social a{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(208,167,70,.5);border-radius:50%;color:var(--fh-gold);transition:.3s;}
.fh-social a:hover{background:var(--fh-gold-sheen);color:#3a2e12;border-color:transparent;}
.fh-social svg{width:15px;height:15px;fill:currentColor;}

/* GP header tweaks to match golden flavour */
.site-header{background:var(--fh-ink);}
.main-navigation .main-nav ul li a{color:#e9dfce;text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-weight:400;}
.main-navigation .main-nav ul li a:hover{color:var(--fh-gold);}
.site-footer,.site-info{background:#211d18;color:#9a8f7c;}

/* ---- Luxury gallery + framed images ---- */
.fh-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.fh-gallery a{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;padding:6px;background:linear-gradient(135deg,#e7c869,#d0a746 45%,#b8862f);}
.fh-gallery a .fh-gal-img{width:100%;height:100%;background-size:cover;background-position:center;transition:transform .6s ease;}
.fh-gallery a::after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.35);pointer-events:none;z-index:2;}
.fh-gallery a:hover .fh-gal-img{transform:scale(1.06);}
.fh-gallery a::before{content:"";position:absolute;inset:0;background:rgba(31,27,22,0);transition:background .4s;z-index:1;}
.fh-gallery a:hover::before{background:rgba(208,167,70,.12);}

/* framed single image (project hero, welcome image) */
.fh-framed{position:relative;padding:8px;background:linear-gradient(135deg,#e7c869,#d0a746 45%,#b8862f);}
.fh-framed .fh-framed-img{width:100%;height:100%;background-size:cover;background-position:center;}
.fh-framed::after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.4);pointer-events:none;}
@media(max-width:760px){.fh-gallery{grid-template-columns:1fr 1fr;}}

/* gallery/framed using real <img> for lazy-load + WebP plugin compatibility */
.fh-gallery a img.fh-gal-img,.fh-framed img.fh-framed-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.fh-gallery a:hover img.fh-gal-img{transform:scale(1.06);}

/* ---- Mobile responsive: force all inline content grids to stack ---- */
@media (max-width: 768px){
  .entry-content div[style*="grid-template-columns"]{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .entry-content .fh-gallery{
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
  }
  .entry-content div[style*="grid-template-columns"] > div[style*="border-right"]{
    border-right:none !important;
    border-bottom:1px solid rgba(208,167,70,.2) !important;
  }
  .entry-content div[style*="order:"]{ order:initial !important; }
  .entry-content h1{ font-size:clamp(34px,9vw,46px) !important; }
  .entry-content h2{ font-size:clamp(28px,7vw,38px) !important; }
  section[style*="min-height:90vh"]{ min-height:78vh !important; }
}
@media (max-width: 480px){
  .entry-content .fh-gallery{ grid-template-columns:1fr !important; }
}

/* ---- Mobile: footer stacking + global overflow guard ---- */
@media (max-width: 768px){
  /* footer 5-col grid -> single column, left-aligned, HIA logo centered */
  .fh-footer > div[style*="grid-template-columns"]{
    grid-template-columns:1fr !important;
    gap:32px !important;
    text-align:left !important;
  }
  .fh-footer > div > div[style*="text-align:right"]{ text-align:left !important; }
  .fh-footer img[alt="HIA Member"]{ max-width:100px !important; }
  /* footer bottom bar stack */
  .fh-footer div[style*="justify-content:space-between"]{ flex-direction:column !important; gap:6px !important; text-align:center !important; }
}
/* global: stop any horizontal overflow on small screens */
@media (max-width: 768px){
  html,body{ overflow-x:hidden !important; max-width:100% !important; }
  .entry-content, .fh-footer, section{ max-width:100vw !important; }
  .entry-content img{ max-width:100% !important; height:auto !important; }
}
