/*
Theme Name: Luxury Homes Journal
Description: Lightweight editorial theme for luxuryhomesandplaces.com. Mega menu, hero, category hubs, TOC, schema, AdSense-ready slots.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: luxuryhp
*/
:root{--ink:#16181d;--muted:#5d6370;--line:#e7e3dc;--bg:#faf8f4;--card:#fff;--gold:#b08a4a;--gold2:#8a6a33;--deep:#1d2a33;--r:18px;--rs:12px;--sh:0 10px 30px rgba(22,24,29,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 Georgia,"Times New Roman",serif;overflow-x:hidden}
h1,h2,h3,h4,.ui{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.2;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}.ui{font-size:15px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
/* header */
.topbar{background:var(--deep);color:#e9e2d4;font:13px system-ui,sans-serif}.topbar .wrap{display:flex;justify-content:space-between;padding:8px 20px;gap:12px}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hbar{display:flex;align-items:center;gap:24px;height:72px}.brand{font:700 22px Georgia,serif;white-space:nowrap}.brand span{color:var(--gold)}
.nav{display:flex;gap:4px;flex:1;font:600 14px system-ui,sans-serif}.nav>li{list-style:none;position:static}.nav{margin:0;padding:0}
.nav>li>a{display:block;padding:10px 14px;border-radius:999px;transition:.2s}.nav>li>a:hover,.nav>li:focus-within>a{background:#f3ede2;color:var(--gold2)}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:var(--sh);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;border-radius:0 0 var(--r) var(--r)}
.nav>li:hover .mega,.nav>li:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mega .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:22px 20px}
.mega a{display:block;padding:14px;border-radius:var(--rs);border:1px solid var(--line);transition:.2s}.mega a:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--sh)}
.mega b{display:block;font-size:15px}.mega small{color:var(--muted);font-weight:400}
.hbtn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font:600 14px system-ui,sans-serif;border:0;cursor:pointer;transition:.2s}.hbtn:hover{background:var(--gold2)}
.hbtn.gold{background:var(--gold)}.menu-t{display:none;background:none;border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-size:18px;cursor:pointer}
/* ads */
.ad{display:flex;align-items:center;justify-content:center;margin:24px auto;background:repeating-linear-gradient(45deg,#f4f1ea,#f4f1ea 10px,#efeae0 10px,#efeae0 20px);border-radius:var(--rs);color:#a39a88;font:12px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em;overflow:hidden}
.ad.has{background:none}.ad-leader{min-height:90px;max-width:970px}.ad-feed{min-height:250px;grid-column:1/-1;width:100%}.ad-article{min-height:280px;width:100%}.ad-side{min-height:600px}
@media(max-width:760px){.ad-leader{min-height:100px}}
/* hero */
.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;margin:28px auto}
.hcard{position:relative;border-radius:var(--r);overflow:hidden;min-height:480px;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(135deg,#2b3a44,#6f5a3a)}
.hcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.hcard:hover img{transform:scale(1.04)}
.hcard:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,12,16,.85),rgba(10,12,16,.1) 60%)}
.hcard .in{position:relative;z-index:2;padding:32px}.hcard h2{font-size:clamp(26px,3.4vw,44px);margin:10px 0}.hcard p{opacity:.9;max-width:60ch;margin:0}
.side-stack{display:grid;gap:22px}.side-stack .hcard{min-height:229px}.side-stack h2{font-size:22px}
.pill{display:inline-block;background:var(--gold);color:#fff;font:700 11px system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.pill.lt{background:#f3ede2;color:var(--gold2)}
/* sections */
.sec{margin:48px auto}.sec-h{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px;gap:12px}.sec-h h2{font-size:28px;margin:0}.sec-h a{color:var(--gold2);font:600 14px system-ui,sans-serif}
.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font:600 13px system-ui,sans-serif;cursor:pointer}.tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);transition:.25s;display:flex;flex-direction:column}.card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.card .th{aspect-ratio:16/10;background:linear-gradient(135deg,#d9cdb6,#8c9aa3);overflow:hidden}.card .th img{width:100%;height:100%;object-fit:cover}
.card .bd{padding:18px}.card h3{font-size:19px;margin:10px 0 8px}.card p{color:var(--muted);font-size:15px;margin:0}
.meta{color:var(--muted);font:13px system-ui,sans-serif;margin-top:10px}
.rank{counter-reset:r;display:grid;gap:12px}.rank a{counter-increment:r;display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--rs);padding:14px;transition:.2s}.rank a:hover{border-color:var(--gold)}
.rank a:before{content:counter(r,decimal-leading-zero);font:700 24px Georgia,serif;color:var(--gold)}
.hubs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.hub{position:relative;border-radius:var(--r);padding:22px;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(to top,rgba(10,12,16,.85),rgba(10,12,16,.15)),var(--img,var(--deep)) center/cover;transition:.25s;overflow:hidden}.hub:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.hub b{display:block;font:700 18px system-ui,sans-serif}.hub small{color:#e5dccb;font:13px/1.4 system-ui,sans-serif}.hub i{font-style:normal;font-size:20px;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);margin-bottom:auto}
.hubhead{padding:48px 34px;color:#fff;border:0;background:linear-gradient(90deg,rgba(16,20,26,.9),rgba(16,20,26,.35)),var(--img) center/cover}
.split{display:grid;grid-template-columns:1fr 340px;gap:36px}
.news{background:var(--deep);color:#fff;border-radius:24px;padding:40px;display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center}
.news h2{font-size:30px;margin:0 0 8px}.news p{color:#cfc5b3;margin:0}.news form{display:flex;gap:8px;flex-wrap:wrap}
.news input{flex:1;min-width:200px;padding:14px 16px;border-radius:999px;border:0;font:15px system-ui,sans-serif}
/* single */
.crumbs{font:13px system-ui,sans-serif;color:var(--muted);margin:22px 0 8px}.crumbs a{color:var(--gold2)}.crumbs span{margin:0 6px}
.post-head h1{font-size:clamp(30px,4.2vw,50px);margin:10px 0 14px;max-width:22ch}
.post-hero{border-radius:var(--r);overflow:hidden;aspect-ratio:16/8;background:linear-gradient(135deg,#d9cdb6,#56656e);margin:20px 0}.post-hero img{width:100%;height:100%;object-fit:cover}
.layout{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;gap:36px;align-items:start}
.toc{position:sticky;top:92px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;font:14px system-ui,sans-serif}
.toc b{display:block;margin-bottom:8px}.toc ol{margin:0;padding-left:18px}.toc li{margin:6px 0}.toc a{color:var(--muted)}.toc a.on{color:var(--gold2);font-weight:700}
.prog{position:fixed;top:0;left:0;height:3px;background:var(--gold);width:0;z-index:60}
.entry{font-size:19px}.entry h2{font-size:28px;margin:1.6em 0 .5em;scroll-margin-top:92px}.entry h3{scroll-margin-top:92px}
.entry blockquote{border-left:4px solid var(--gold);margin:1.5em 0;padding:.5em 1.2em;background:#fff;border-radius:0 var(--rs) var(--rs) 0}
.sticky-side{position:sticky;top:92px}
.author{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;margin:36px 0}.author .av{width:72px;height:72px;border-radius:50%;background:var(--gold);flex:none;overflow:hidden}
.share{display:flex;gap:8px;margin:20px 0}.share a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font:600 13px system-ui,sans-serif;background:#fff}.share a:hover{border-color:var(--gold)}
.box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:22px}
.page-body{max-width:820px;margin:0 auto 60px}.page-body h1{font-size:44px}
.fform{display:grid;gap:12px;grid-template-columns:1fr 1fr}.fform .full{grid-column:1/-1}
.fform input,.fform select,.fform textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--rs);font:15px system-ui,sans-serif;background:#fff}
.fform label{font:600 13px system-ui,sans-serif;display:grid;gap:6px}
/* footer */
.site-footer{background:#111418;color:#c9c3b6;margin-top:70px;padding:56px 0 24px;font:14px system-ui,sans-serif}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px}.site-footer h4{color:#fff;margin:0 0 12px}.site-footer li{list-style:none;margin:6px 0}.site-footer ul{padding:0;margin:0}.site-footer a:hover{color:var(--gold)}
.fbot{border-top:1px solid #2a2f36;margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.pager{display:flex;gap:8px;justify-content:center;margin:30px 0;font:600 14px system-ui,sans-serif}.pager a,.pager span{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff}
@media(max-width:1100px){.layout{grid-template-columns:minmax(0,1fr) 300px}.toc-col{display:none}}
@media(max-width:900px){.nav{display:none}.nav.open{display:block;position:absolute;top:72px;left:0;right:0;background:#fff;padding:12px;box-shadow:var(--sh)}.nav.open .mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;display:none}.nav.open li.x .mega{display:block}.mega .wrap{grid-template-columns:1fr}
.menu-t{display:block;margin-left:auto}.hero,.split,.news,.layout{grid-template-columns:1fr}.grid,.grid.g4,.hubs{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr 1fr}.hcard{min-height:380px}.hbar .hbtn{display:none}.topbar .wrap span+span{display:none}}
@media(max-width:560px){.grid,.grid.g4{grid-template-columns:1fr}.fform{grid-template-columns:1fr}.news{padding:26px}.hcard .in{padding:22px}body{font-size:16px}.entry{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
