/* =========================================================
   LAYOUT — GeneratePress wrappers, header, footer, mobile bar.
   ========================================================= */

/* ---------- GeneratePress wrappers: let our templates go full width ---------- */
.omp-site .site.grid-container,
.omp-site .site-content,
.omp-site .content-area{max-width:none;width:100%;padding:0;margin:0;float:none}
.omp-site .site-main{margin:0}
.omp-site.one-container .site-content{padding:0}
.omp-site .inside-article{padding:0;background:transparent}
.omp-site .site-content{display:block}

/* Standard pages & blog posts that don't have a custom template */
.omp-site .omp-prose,
.omp-site:not(.omp-custom) .inside-article{max-width:860px;margin-inline:auto;padding:clamp(40px,6vw,72px) var(--omp-pad)}

/* ---------- Skip link ---------- */
.omp-skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--omp-acacia);color:#fff;padding:10px 16px;border-radius:var(--omp-r-sm);font-weight:700;text-decoration:none;transition:top .2s}
.omp-skip:focus{top:12px;color:#fff}

/* =========================================================
   HEADER
   ========================================================= */
.omp-hdr{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--omp-line)}
.admin-bar .omp-hdr{top:32px}
@media (max-width:782px){.admin-bar .omp-hdr{top:0}}
.omp-hdr__in{display:flex;align-items:stretch;justify-content:space-between;gap:24px;min-height:var(--omp-hdr-h);padding-left:var(--omp-pad)}

.omp-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.omp-est{font-family:var(--omp-f-label);font-size:11px;letter-spacing:.14em;color:var(--omp-murram)}

/* NVL lesson #7: logo left, nav right — no centred crest */
.omp-nav{display:flex;align-items:center}
.omp-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.omp-menu > li{position:relative}
.omp-menu a{display:block;color:var(--omp-acacia);font-weight:600;font-size:15px;text-decoration:none;padding:10px 0}
.omp-menu a:hover{color:var(--omp-murram)}
.omp-menu > .current-menu-item > a,
.omp-menu > .current-menu-ancestor > a,
.omp-menu > .current_page_item > a,
.omp-menu > .current-menu-parent > a{color:var(--omp-murram);box-shadow:inset 0 -3px 0 var(--omp-savanna)}

/* Dropdowns (Properties > Plots & Land / Houses / Commercial etc.) */
.omp-menu .menu-item-has-children > a{display:inline-flex;align-items:center;gap:6px}
.omp-menu .menu-item-has-children > a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px)}
.omp-menu .sub-menu{position:absolute;top:100%;left:-18px;min-width:230px;list-style:none;margin:0;padding:10px;background:#fff;border-radius:var(--omp-r);box-shadow:var(--omp-shadow);opacity:0;visibility:hidden;transition:opacity .15s,visibility 0s .15s}
.omp-menu li:hover > .sub-menu,
.omp-menu li:focus-within > .sub-menu{opacity:1;visibility:visible;transition:opacity .15s}
.omp-menu .sub-menu a{padding:10px 14px;border-radius:var(--omp-r-sm);font-weight:500}
.omp-menu .sub-menu a:hover{background:var(--omp-blush)}

.omp-nav__extra{display:none}

.omp-hdr__right{display:flex;align-items:stretch;gap:26px}
.omp-hdr__right .omp-call{align-self:center}
.omp-hdr__cta{display:flex;align-items:center;gap:10px;padding:0 30px;background:var(--omp-murram);color:#fff;font-weight:700;font-size:15px;text-decoration:none}
.omp-hdr__cta:hover{background:var(--omp-murram-deep);color:#fff}

.omp-burger{display:none;align-self:center;margin-right:var(--omp-pad);width:46px;height:46px;border-radius:50%;border:1.5px solid var(--omp-line);background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.omp-burger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--omp-acacia);transition:transform .25s,opacity .2s}
.omp-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.omp-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.omp-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1240px){
  .omp-menu{gap:20px}
  .omp-hdr__right .omp-call{display:none}
}
@media (max-width:1024px){
  .omp-burger{display:inline-flex}
  .omp-hdr__right{display:none}
  .omp-nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--omp-line);box-shadow:var(--omp-shadow);padding:6px var(--omp-pad) 22px;max-height:calc(100vh - var(--omp-hdr-h));overflow-y:auto;display:none}
  .omp-nav.is-open{display:flex}
  .omp-menu{flex-direction:column;align-items:stretch;gap:0}
  .omp-menu > li{border-bottom:1px solid var(--omp-line)}
  .omp-menu a{padding:15px 0;font-size:16px}
  .omp-menu > .current-menu-item > a{box-shadow:none}
  .omp-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 10px 14px;min-width:0;display:none}
  .omp-menu li.is-open > .sub-menu{display:block}
  .omp-sub-toggle{position:absolute;right:0;top:6px;width:44px;height:44px;border:0;background:var(--omp-limestone);border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--omp-acacia)}
  .omp-menu li.is-open > .omp-sub-toggle{transform:rotate(180deg)}
  .omp-menu .menu-item-has-children > a::after{display:none}
  .omp-nav__extra{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
  .omp-nav__extra .omp-btn{flex:1 1 160px}
}
@media (min-width:1025px){.omp-sub-toggle{display:none}}

/* =========================================================
   FOOTER
   ========================================================= */
.omp-ftr{background:var(--omp-acacia);color:var(--omp-muted-dark);border-radius:32px 32px 0 0;padding:0 0 30px;margin-top:110px}
/* Three actions in one flat band, split by dividers (standards #8, #9, #10) */
.omp-ftr__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border-radius:var(--omp-r);border:1px solid var(--omp-line);transform:translateY(-50%)}
.omp-fc{display:flex;gap:14px;align-items:flex-start;padding:26px 28px;text-decoration:none;color:var(--omp-stone)}
.omp-fc + .omp-fc{border-left:1px solid var(--omp-line)}
.omp-fc:hover b{color:var(--omp-murram)}
.omp-fc__ic{color:var(--omp-murram);flex-shrink:0;margin-top:3px}
.omp-fc b{display:block;font-family:var(--omp-f-display);font-size:21px;color:var(--omp-acacia);margin-bottom:4px}

.omp-ftr__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:44px;margin-top:-10px}
.omp-ftr__logo{display:inline-block;background:#fff;border-radius:var(--omp-r-sm);padding:6px 12px;margin-bottom:18px}
.omp-ftr p{max-width:330px;line-height:1.65}
.omp-ftr .omp-ftr__h{font-family:var(--omp-f-display);font-size:21px;color:#fff;margin:0 0 20px}
.omp-ftr ul{list-style:none;margin:0;padding:0}
.omp-ftr li{margin-bottom:12px}
.omp-ftr a{color:var(--omp-muted-dark);text-decoration:none}
.omp-ftr a:hover{color:var(--omp-savanna)}
.omp-ftr__contact li{display:flex;gap:10px;align-items:flex-start}
.omp-ftr__contact .omp-icon{color:var(--omp-savanna);margin-top:3px}
.omp-social{display:flex;gap:10px;margin-top:20px}
.omp-social a{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--omp-line-dark);display:inline-flex;align-items:center;justify-content:center;color:#fff}
.omp-social a:hover{background:var(--omp-savanna);border-color:var(--omp-savanna);color:var(--omp-ink)}
.omp-ftr__base{margin-top:56px;padding-top:24px;border-top:1px solid var(--omp-line-dark);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}
.omp-ftr__base a{color:var(--omp-savanna)}

@media (max-width:980px){
  .omp-ftr{margin-top:0;border-radius:0}
  .omp-ftr__cards{grid-template-columns:1fr;transform:none;margin:56px 0 48px}
  .omp-fc + .omp-fc{border-left:0;border-top:1px solid var(--omp-line)}
  .omp-ftr__grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
}
@media (max-width:640px){
  .omp-ftr__grid{grid-template-columns:1fr}
  .omp-ftr{padding-bottom:100px} /* clear of the mobile action bar */
}

/* =========================================================
   BACK TO TOP + MOBILE ACTION BAR
   ========================================================= */
.omp-totop{position:fixed;right:22px;bottom:22px;z-index:90;width:50px;height:50px;padding:0;border-radius:12px;border:0;background:var(--omp-murram);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility 0s .25s}
.omp-totop.is-shown{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .25s}
.omp-totop:hover{background:var(--omp-murram-deep)}

.omp-mbar{display:none}
@media (max-width:640px){
  .omp-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95;gap:8px;padding:10px;background:#fff;border-top:1px solid var(--omp-line)}
  .omp-mbar .omp-btn{flex:1;min-height:48px;padding:0 8px;font-size:14px;gap:6px}
  .omp-mbar .omp-btn--murram{box-shadow:none}
  .omp-totop{bottom:86px;right:14px;width:44px;height:44px}
  body.omp-site{padding-bottom:0}
}

/* ---------- Beat GeneratePress's own body/heading font rules ---------- */
body.omp-site,
body.omp-site button,
body.omp-site input,
body.omp-site select,
body.omp-site textarea{font-family:var(--omp-f-body)}
body.omp-site{color:var(--omp-ink);background:var(--omp-white);font-size:var(--omp-fs-body);line-height:1.6}
body.omp-site :where(h1,h2,h3,h4,h5,h6){font-family:var(--omp-f-display);font-weight:700}
.omp-ftr .omp-fc,.omp-ftr .omp-fc:hover{color:var(--omp-stone)}
.omp-ftr .omp-fc .omp-fc__ic{color:var(--omp-murram)}

/* ---------- Beat GeneratePress's grey button:hover/:focus styles ---------- */
body.omp-site .omp-burger:is(:hover,:focus,:active){background:#fff;color:var(--omp-acacia)}
body.omp-site .omp-sub-toggle:is(:hover,:focus,:active){background:var(--omp-blush);color:var(--omp-murram)}
body.omp-site .omp-totop:is(:hover,:focus){background:var(--omp-murram-deep);color:#fff}
body.omp-site .omp-chip:is(:hover,:focus):not(.is-active):not([aria-pressed="true"]){background:#fff;color:var(--omp-murram)}
body.omp-site button.omp-btn--murram:is(:hover,:focus){background:var(--omp-murram-deep);color:#fff}
body.omp-site button.omp-btn--gold:is(:hover,:focus){background:var(--omp-savanna-hover);color:var(--omp-ink)}
