/*
Theme Name: Crown Family Homes – Classic Luxury
Theme URI: https://crownfamilyhomes.com.au
Author: Crown Family Homes
Description: A refined luxury layout with a sophisticated, timeless presentation, designed to showcase premium custom homes, craftsmanship and the Crown Family Homes brand with an elegant visual hierarchy.
Version: 1.3.1
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: crown-family-homes
*/

:root{--g:#b08d3c;--gd:#8f7029;--gr:#0f4a3c;--bg:#fbf9f4;--ink:#2a2a28;--mut:#6a665c;--ln:#e8e2d3;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px);color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 "Hanken Grotesk","Segoe UI",Helvetica,Arial,sans-serif}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-weight:600;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2.3rem,6vw,4rem)}h2{font-size:clamp(1.8rem,4vw,2.6rem)}h3{font-size:1.35rem}
p{margin:0 0 1em;color:var(--mut)}





.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.sec{padding:72px 0}
nav.site{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;gap:22px;padding:14px max(20px,calc((100% - 1140px)/2 + 20px + var(--nav-inset,90px)));background:linear-gradient(180deg,rgba(10,20,18,.55),rgba(10,20,18,0));flex-wrap:wrap}
nav.site img{height:132px;width:132px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));margin:-6px 0 -6px -10px}nav.site a{color:#fff;text-decoration:none;font-size:.95rem;text-shadow:0 1px 4px rgba(0,0,0,.5)}nav.site a:not(.btn):hover{color:#e8cf8f}
nav.site .sp{margin-left:auto;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.btn{display:inline-block;background:var(--g);color:#fff!important;padding:12px 26px;text-decoration:none;border:1px solid var(--g);cursor:pointer;font:inherit;font-size:.95rem}
.btn.gr{background:var(--gr);border-color:var(--gr)}.btn.ghost{background:transparent;border-color:#fff}
.hero{position:relative;min-height:680px;overflow:hidden;color:#fff}
.sl{position:absolute;inset:0;opacity:0;transition:opacity .9s}.sl.on{opacity:1}
.sl i{position:absolute;right:18px;bottom:62px;font-style:normal;font-size:.78rem;background:rgba(0,0,0,.35);padding:3px 10px}
.ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,28,26,.72),rgba(14,28,26,.15))}
.hc{position:relative;z-index:2;padding:190px 0 120px;max-width:560px}
.hc p{color:#f1ece0;font-size:1.1rem}.hc h1{color:#fff}
.C .hc{margin:0 auto;text-align:center;max-width:720px}
.dots{position:absolute;z-index:3;left:0;right:0;bottom:22px;display:flex;justify-content:center;gap:10px}
.dots button{width:11px;height:11px;border-radius:50%;border:1px solid #fff;background:transparent;padding:0;cursor:pointer}.dots button.on{background:var(--g);border-color:var(--g)}
.arr{position:absolute;z-index:3;top:50%;border:0;background:rgba(255,255,255,.22);color:#fff;width:42px;height:42px;font-size:1.3rem;cursor:pointer}
.arr.l{left:12px}.arr.r{right:12px}
.row{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.feat{background:#fff;border-bottom:1px solid var(--ln)}
.feat .row{padding:30px 0;gap:0}.feat div.f{text-align:center;padding:6px 16px;border-right:1px solid var(--ln)}
.feat div.f:last-child{border:0}.feat span{display:block;font-size:1.7rem;color:var(--g)}.feat strong{display:block}.feat small{color:var(--mut)}
.stats{background:var(--gr);color:#fff}.stats .row{padding:28px 0;text-align:center}.stats b{font:600 2rem Georgia,serif;display:block}.stats small{opacity:.8}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#fff}
.split>div.t{padding:64px clamp(24px,5vw,72px);align-self:center}
.ph{min-height:340px;position:relative;display:flex;align-items:flex-end}
.ph span{margin:12px;font-size:.78rem;background:rgba(255,255,255,.8);padding:2px 9px;color:#444}
.card{background:#fff;border:1px solid var(--ln)}.card .ph{min-height:190px}.card div.b{padding:16px 18px}
.card h3{margin-bottom:.2em}.card a{color:var(--gd);text-decoration:none;font-size:.92rem}
.ctr{text-align:center;max-width:640px;margin:0 auto 40px}
.steps{display:flex;flex-wrap:wrap;justify-content:center;gap:32px 24px}.step{flex:0 0 calc((100% - 48px)/3)}
.step{text-align:center}.step .ph{aspect-ratio:3/2;min-height:0;margin-bottom:12px;background-size:cover!important;background-position:center!important}
.step em{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--g);color:#fff;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-style:normal;font-size:.85rem}
.step h3{font-size:1.3rem;margin:0}.step p{font-size:.95rem}
.tq{background:#fff;padding:26px;border-left:3px solid var(--g)}.tq p{color:var(--ink);font-style:italic}.tq b{display:block}.tq small{color:var(--mut)}
.stars{color:var(--g);letter-spacing:2px}
.cta{color:#fff;text-align:center;position:relative}.cta h2,.cta p{color:#fff}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.contact input,.contact textarea,.contact select{width:100%;padding:12px;border:1px solid var(--ln);background:#fff;font:inherit;margin-bottom:12px}
.contact input:focus,.contact textarea:focus,.btn:focus-visible,
.dark{background:#1e2a27}.dark h2,.dark h3{color:#fff}.dark p,.dark li{color:#d6d1c4}
footer{background:#161f1d;color:#b9b4a6;text-align:center;padding:24px;font-size:.85rem}
.wm{opacity:.0}
@media(max-width:820px){nav.site img{height:96px;width:96px}.hc{padding:150px 0 90px!important}.split,.contact{grid-template-columns:1fr}.step{flex-basis:calc((100% - 24px)/2)}.feat div.f{border:0}nav.site .sp a:not(.btn){display:none}}
@media(prefers-reduced-motion:reduce){.sl{transition:none}}
/* Layout D – Light & White */
#app.D{background:#fff}
.D{--ovc:200,204,207}.D .ov{background:linear-gradient(90deg,rgba(var(--ovc),.82),rgba(var(--ovc),.5) 55%,rgba(var(--ovc),.06))}
.D .hero{color:#1f2a27}.D .hc h1{color:#1f2a27}.D .hc p{color:#4a4a44}
.D nav.site{background:linear-gradient(180deg,rgba(var(--ovc),.85),rgba(var(--ovc),0))}
.D nav.site a:not(.btn){color:#2a2a28;text-shadow:none}.D nav.site a:not(.btn):hover{color:var(--gd)}
.D nav.site img{filter:none}
.D nav.site.stuck{background:rgba(255,255,255,.97);box-shadow:0 2px 14px rgba(0,0,0,.08)}
.D .arr{background:rgba(255,255,255,.75);color:#2a2a28}
.D .dots button{border-color:var(--gd)}.D .dots button.on{background:var(--g)}
.D .sl i{display:none}
.D .btn.ghost{color:var(--gd)!important;border-color:var(--gd)}
.D .feat{background:#fff;border-top:3px solid var(--g)}
.D .split{background:#faf7f0}
.D .card{background:#fff;box-shadow:0 6px 22px rgba(60,50,20,.07)}
.D #testimonials,.D #contact{background:#f7f4ec}
.D .tq{background:#fff;box-shadow:0 6px 22px rgba(60,50,20,.06)}
.D footer{background:#f3ede0;color:#6a665c}

@media(max-width:560px){.step{flex-basis:100%}}

.cbrand{display:flex;flex-direction:column;align-items:center;width:max-content;max-width:100%;gap:4px;margin:6px 0 16px}.cbrand img{width:120px;height:120px;object-fit:contain;margin:0}.cbrand strong{text-align:center;white-space:nowrap}.cbrand strong{font:600 1.6rem Georgia,'Times New Roman',serif;color:var(--gd)}.dark .cbrand strong{color:#e8cf8f}

/* Fixed slider height: text is centred so every slide keeps the same dimensions */
.hero{height:clamp(720px,90vh,800px);min-height:0}
.hero>.wrap{position:absolute;left:0;right:0;top:calc(50% + 50px);transform:translateY(-50%);z-index:2}
.hero .hc{padding:0!important}
@media(max-width:820px){.hero{height:660px}}

/* Home carousel */
.car{position:relative}
.ct{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 0 8px}
.ct::-webkit-scrollbar{display:none}
.ci{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;background:#fff;border:1px solid var(--ln)}
.ci .ph{aspect-ratio:4/3;min-height:0;background-size:cover}
.ci h3{margin:0;padding:14px 18px 16px;font-size:1.25rem}
.cb{position:absolute;top:38%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid var(--g);background:#fff;color:var(--gd);font-size:1.7rem;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.cb.l{left:-23px}.cb.r{right:-23px}.cb:disabled{opacity:.35;cursor:default}
.cb:focus-visible{outline:2px solid var(--gr);outline-offset:2px}
.D .ci{box-shadow:0 6px 22px rgba(60,50,20,.07)}
@media(max-width:820px){.ci{flex-basis:calc((100% - 24px)/2)}.cb.l{left:-10px}.cb.r{right:-10px}}
@media(max-width:560px){.ci{flex-basis:100%}}

/* Transparent arrow buttons (better reading on mobile) */
.arr{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.55)}
.D .arr{background:rgba(255,255,255,.3);border:1px solid rgba(60,60,60,.35);color:#2a2a28}
.cb{background:rgba(255,255,255,.6);box-shadow:none}
@media(max-width:820px){.arr{width:34px;height:34px;font-size:1.1rem}.cb{width:38px;height:38px;font-size:1.4rem}}

/* Transparent (outline) buttons */
.btn,.btn.gr{background:transparent;border:2px solid var(--g);color:var(--gd)!important;transition:background .2s,color .2s}
.btn:hover,.btn:focus-visible{background:var(--g);color:#fff!important}
.hero .btn,.cta .btn,.dark .btn,nav.site .btn{color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.45)}
.hero .btn.ghost{border-color:#fff}
.hero .btn:hover,.cta .btn:hover,.dark .btn:hover,nav.site .btn:hover{color:#fff!important;text-shadow:none}
.D .hero .btn,.D nav.site .btn{color:#1f2a27!important;text-shadow:none}
.D .hero .btn:hover,.D nav.site .btn:hover{color:#fff!important}
.D .hero .btn.ghost{border-color:var(--gd)}

#contact-form{scroll-margin-top:24px}

#contact-form{scroll-margin-top:110px}

.hl{color:inherit;text-decoration:none}.hl:hover,.hl:focus-visible{color:var(--gd)}.dark .hl:hover,.dark .hl:focus-visible{color:#e8cf8f}

.cform{position:relative}.cform .fmsg{background:#e9f3ec;border-left:3px solid #0f4a3c;padding:10px 14px;color:#0f4a3c;margin:0 0 12px}.contact a{color:inherit}

html{scroll-behavior:smooth;scroll-padding-top:90px}nav.site{position:fixed!important;transition:background .3s,padding .3s}.admin-bar nav.site{top:32px}nav.site.stuck{background:rgba(15,40,34,.95);padding-top:6px;padding-bottom:6px}nav.site.stuck img{height:70px;width:70px;margin:0 0 0 -5px}nav.site .sp{gap:12px 22px}@media(max-width:820px){nav.site .sp a:not(.btn){display:inline!important;font-size:.82rem}nav.site .sp{margin-left:0;gap:8px 14px}nav.site.stuck img{height:56px;width:56px;margin-left:-4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Crown Family Homes: Official Memberships & Registrations — isolated section */
.cfh-memberships{border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.cfh-memberships .ctr{margin-bottom:2.2rem}
.cfh-memberships-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);align-items:start}
.cfh-membership-item{min-width:0;text-align:center}
.cfh-membership-logo{height:150px;display:flex;align-items:center;justify-content:center;padding:10px}
.cfh-membership-logo img{display:block;max-width:100%;max-height:125px;width:auto;height:auto;object-fit:contain}
.cfh-membership-name{margin-top:.8rem;font-weight:600;line-height:1.35;color:var(--ink)}
@media (max-width:900px){.cfh-memberships-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.cfh-membership-logo{height:135px}.cfh-membership-logo img{max-height:110px}}
@media (max-width:520px){.cfh-memberships-grid{grid-template-columns:1fr;gap:1.6rem}.cfh-membership-logo{height:125px}.cfh-membership-logo img{max-height:105px}.cfh-membership-name{margin-top:.45rem}}
