/*
Theme Name: Axel
Theme URI: http://cmsmasters.net/axel/
Author: cmsmasters
Author URI: http://cmsmasters.net/
Description: Axel WordPress Theme is amazing. Unlimited design solutions can be created due to a great flexibility of settings and shortcode options. 99+ Custom Shortcodes are added through a Visual content composer with drag'n'drop function. You can set a completely custom layout that stretches to any width, set your content in many columns and assign animation many parts of your content. Axel theme has a Portfolio that can be set to any sort of a grid or a Masonry puzzle with variable paddings for elemens, while Blog can have several different layouts too. Custom Profiles and Projects post types offer an optimal way to present your content, while valid code, SEO-optimized structure and microformats guarantee this content is easily crawled and indexed by search engines. Axel comes with premium Revolution and Layer Slider plugins for free. Multilanguage, RTL-ready, plugin-compatible and professionally-supported theme.
Version: 1.2.3
License:
License URI:
Text Domain: axel
Domain Path: /theme-vars/languages
Tags: one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
*/
/* =========================================
   Brand Doors — Global Styles (v1.0)
   Fixes: spacing scale, vertical rhythm,
   chips/tabs colors, consistent controls,
   accessible focus, responsive gaps.
========================================= */

/* ---------- THEME TOKENS ---------- */
:root{
	  --bd-header-bg:#0d0d0d;
  --bd-header-fg:#ffffff;
  --bd-muted:#e2e2e2;
  --bd-muted-2:#bcbcbc;
  --bd-line:rgba(255,255,255,.16);
  --bd-shadow:0 6px 20px rgba(0,0,0,.22);

  --bd-accent:#710418;     /* main brand */
  --bd-accent-2:#8e0720;   /* hover/active */
  --bd-focus:#f2c9d0;      /* subtle tint for hover/focus text */
  /* Base colors */
  --bg:#ffffff;
  --fg:#0d0d0d;
  --muted:#6b6b6b;
  --line:#e7e7ee;
  --card:#ffffff;

  /* Brand */
  --accent:#710418;
  --accent-2:#8e0720;

  /* Components */
  --chip-bg:#fbfbfe;
  --chip-line:#e7e7ee;
  --chip-active:#710418;
  --chip-text:#0d0d0d;
  --chip-active-text:#ffffff;

  --tab-bg:#ffffff;
  --tab-line:#e7e7ee;
  --tab-active-bg:#710418;
  --tab-active-text:#ffffff;

  /* Layout */
  --wrap:1200px;
  --radius:16px;
  --radius-sm:12px;
  --shadow:0 14px 40px rgba(0,0,0,.08);

  /* Spacing scale (4pt grid) */
  --s-0:0;
  --s-1:4px;
  --s-2:8px;
  --s-3:12px;
  --s-4:16px;
  --s-5:20px;
  --s-6:24px;
  --s-7:28px;
  --s-8:32px;
  --s-9:36px;
  --s-10:40px;
  --s-12:48px;
  --s-14:56px;
  --s-16:64px;
  --s-18:72px;
  --s-20:80px;
  --s-24:96px;
}

/* ---------- BASE ---------- */
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
.wrap{max-width:var(--wrap); margin-inline:auto; padding:0 var(--s-7)}
.section{padding:var(--s-20) 0}
@media (max-width:720px){.section{padding:var(--s-16) 0}}
.grid{display:grid; gap:var(--s-7)}
.stack > * + *{margin-top:var(--s-6)} /* simple vertical rhythm */

/* ---------- TYPOGRAPHY ---------- */
.title-xxl{font-size:clamp(28px,4vw,54px); line-height:1.1; font-weight:800; letter-spacing:-.02em}
.title-xl {font-size:clamp(22px,3vw,42px); line-height:1.15; font-weight:800}
.title-lg {font-size:clamp(18px,2.2vw,26px); font-weight:750}
.overline{letter-spacing:.18em; text-transform:uppercase; color:var(--muted); font-size:12px}
.muted{color:var(--muted)}

/* ---------- ACCESSIBLE FOCUS ---------- */
:where(a, button, [role="button"], input, select, textarea):focus-visible{
  outline:none;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);
  border-radius:10px;
}

/* ---------- CONTAINERS / CARDS ---------- */
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:var(--s-6);
}

/* Unified “controls” wrapper for search/sort/chips bars */
.controls{
  background:#fafafe;
  border:1px solid var(--line);
  border-radius:14px;
  padding:var(--s-5);
  display:grid;
  grid-template-columns:1fr auto;
  gap:var(--s-5);
  align-items:center;
}
@media (max-width:820px){.controls{grid-template-columns:1fr}}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.55rem;
  height:46px; padding:0 var(--s-5);
  border:1px solid var(--fg); border-radius:12px;
  background:var(--fg); color:#fff; font-weight:700;
  transition:.18s ease; box-shadow:0 10px 22px rgba(0,0,0,.08);
}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:#fff; color:var(--fg)}
.btn.accent{background:var(--accent); border-color:var(--accent)}
.btn.accent:hover{background:var(--accent-2)}

/* ---------- SEARCH INPUT ---------- */
.search{
  display:grid; grid-template-columns:44px 1fr; gap:var(--s-3); align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:12px; padding:10px 12px;
}
.search .icon{
  display:grid; place-items:center; width:44px; height:44px;
  border:1px solid var(--line); border-radius:10px;
}
.search input{border:none; outline:none; font-size:15px; background:transparent}

/* ---------- CHIPS / TABS (Unified) ---------- */
.chipbar, .tab-list{display:flex; flex-wrap:wrap; gap:var(--s-3)}
.chip, .tab{
  height:34px; padding:0 var(--s-4);
  display:inline-flex; align-items:center; gap:.55rem;
  border:1px solid var(--chip-line);
  border-radius:999px; background:var(--chip-bg);
  color:var(--chip-text);
  cursor:pointer; font-size:14px; transition:.18s ease;
}
.chip:hover, .tab:hover{transform:translateY(-1px); border-color:#d7d7e4}
.chip.active, .tab.active{
  background:var(--chip-active);
  border-color:var(--chip-active);
  color:var(--chip-active-text);
}
/* Optional “pill” tabs w/ panels */
.tab-panels > .panel{display:none}
.tab-panels > .panel.active{display:block}
.tab-panels .panel{margin-top:var(--s-6)}
/* Compact tab list (stack on small screens) */
@media (max-width:560px){
  .chipbar, .tab-list{gap:var(--s-2)}
  .chip, .tab{height:32px; padding:0 var(--s-3)}
}

/* ---------- META / TAGS ---------- */
.meta{display:flex; flex-wrap:wrap; gap:var(--s-3); align-items:center; color:#555; font-size:14px}
.meta .dot{width:4px;height:4px;border-radius:50%;background:#bbb}
.tags{display:flex; flex-wrap:wrap; gap:var(--s-2)}
.tag{font-size:12px; padding:6px 10px; border:1px solid var(--line); border-radius:999px; background:#fff}

/* ---------- MASONRY / GALLERY / PORTFOLIO ---------- */
.masonry{columns:4; column-gap:var(--s-4)}
@media (max-width:1100px){.masonry{columns:3}}
@media (max-width:780px){.masonry{columns:2}}
@media (max-width:520px){.masonry{columns:1}}
.item{
  break-inside:avoid; margin:0 0 var(--s-4); position:relative; border-radius:14px; overflow:hidden;
  border:1px solid var(--line); background:#fff; box-shadow:var(--shadow);
}
.item img{width:100%; height:auto}
.item .cap{
  position:absolute; inset:auto 0 0 0; padding:10px 12px; font-size:13px; color:#fff;
  background:linear-gradient(0deg, rgba(0,0,0,.65), rgba(0,0,0,0));
}
.badge{
  position:absolute; top:12px; left:12px; font-size:12px; color:#fff;
  padding:6px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.6);
  background:linear-gradient(180deg, rgba(113,4,24,.9), rgba(113,4,24,.6));
  backdrop-filter:blur(2px);
}

/* ---------- LIGHTBOX (Gallery/Portfolio) ---------- */
.lightbox{position:fixed; inset:0; background:rgba(0,0,0,.92); display:none; z-index:80;
  align-items:center; justify-content:center; padding:var(--s-6)}
.lightbox.open{display:flex}
.lb-frame{max-width:min(96vw,1200px); max-height:86vh; position:relative; display:grid; gap:var(--s-3)}
.lb-img{width:100%; height:100%; object-fit:contain; border-radius:12px; border:1px solid rgba(255,255,255,.14); background:#000}
.lb-meta{display:flex; justify-content:space-between; align-items:center; gap:var(--s-3); color:#fff; font-size:14px}
.lb-meta .left{display:flex; gap:var(--s-3); align-items:center}
.lb-btn{
  display:inline-grid; place-items:center; width:42px; height:42px; border-radius:10px;
  background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.24); cursor:pointer; transition:.18s ease;
}
.lb-btn:hover{background:rgba(255,255,255,.18)}
.lb-close{position:absolute; top:-8px; right:-8px}
.lb-nav{position:fixed; inset:0; pointer-events:none; display:flex; justify-content:space-between; align-items:center; padding:var(--s-6)}
.lb-nav .lb-btn{pointer-events:auto}
.lb-nav .lb-btn:hover{background:rgba(113,4,24,.35); border-color:rgba(113,4,24,.55)}

/* ---------- FORMS (Contact / CF7 skin) ---------- */
form .field, input[type="text"], input[type="email"], input[type="tel"], textarea, select{
  width:100%; padding:12px 14px; font:inherit; color:var(--fg);
  background:#fff; border:1px solid var(--line); border-radius:12px; outline:none;
}
textarea{min-height:120px; resize:vertical}
input::placeholder, textarea::placeholder{color:#9a9aa1}
.wpcf7 form .wpcf7-submit{
  composes: btn accent; /* if not supported, fall back below */
  display:inline-flex; align-items:center; gap:.55rem;
  height:46px; padding:0 var(--s-5);
  border:1px solid var(--accent); border-radius:12px; background:var(--accent); color:#fff; font-weight:700;
  transition:.18s ease; box-shadow:0 10px 22px rgba(0,0,0,.08);
}
.wpcf7 form .wpcf7-submit:hover{background:var(--accent-2)}
/* CF7 messages */
.wpcf7 form .wpcf7-response-output{
  margin-top:var(--s-5); border-radius:12px; border:1px solid var(--line); padding:var(--s-4); background:#fafafe; color:var(--fg);
}

/* ---------- FEATURE / CARDS (Blog/Featured) ---------- */
.feature-card{
  display:grid; grid-template-rows:auto 1fr; gap:var(--s-3);
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
}
.feature-card img{aspect-ratio:16/9; object-fit:cover}
.feature-card .body{padding:var(--s-5)}

/* ---------- RESPONSIVE TWEAKS ---------- */
@media (max-width:980px){
  .wrap{padding:0 var(--s-6)}
}
@media (max-width:560px){
  .wrap{padding:0 var(--s-5)}
}

/* ---------- UTILS ---------- */
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.mt-2{margin-top:var(--s-2)} .mb-2{margin-bottom:var(--s-2)}
.mt-4{margin-top:var(--s-4)} .mb-4{margin-bottom:var(--s-4)}
.mt-6{margin-top:var(--s-6)} .mb-6{margin-bottom:var(--s-6)}
.mt-10{margin-top:var(--s-10)} .mb-10{margin-bottom:var(--s-10)}
.gap-3{gap:var(--s-3)} .gap-5{gap:var(--s-5)} .gap-7{gap:var(--s-7)}
.center{text-align:center}
.hidden{display:none!important}
.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure{
	margin-bottom:20px!important
}

/*-------------------------------------------------------------------------*/
/* Browser Reset
/*-------------------------------------------------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
figure,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  outline: none;
}
html {
  height: 100%;
  overflow-x: hidden;
  position: relative;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
body {
  overflow-x: hidden;
  position: relative;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
object,
video,
audio,
embed,
canvas,
iframe,
main,
summary {
  display: block;
}
video,
audio,
progress,
canvas {
  vertical-align: baseline;
}
video {
  background-color: #000000;
}
template,
[hidden],
audio:not([controls]) {
  display: none;
}
audio:not([controls]) {
  height: 0;
}
iframe {
  max-width: 100%;
}
abbr,
address,
progress {
  display: inline-block;
  text-decoration: none;
}
abbr:not([class]),
acronym {
  text-decoration: underline;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

#middle ul:after,
#bottom ul:after,
#middle ol:after,
#bottom ol:after {
  content: '.';
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  overflow: hidden;
}
dl {
  display: block;
  overflow: hidden;
}
dt {
  display: block;
  font-weight: bold;
  overflow: hidden;
}
dd {
  display: block;
  overflow: hidden;
}
q:before,
q:after {
  content: none;
}

del {
  text-decoration: line-through;
}
table {
  width: 100%;
}
img {
  display: inline-block;
  color: transparent;
  height: auto;
  font-size: 0;
  vertical-align: middle;
  max-width: 100%;
  image-rendering: -moz-crisp-edges;
  image-rendering: -o-crisp-edges;
  image-rendering: auto;
  image-rendering: auto;
  -ms-interpolation-mode: bicubic;
}
img.wp-smiley,
img.emoji {
  font-size: 1em;
}
a {
  background: transparent;
}
a:active,
a:hover {
  outline: 0;
}
img {
  border: 0;
}
figure {
  background-image: none !important;
}
fieldset {
  margin: 25px 2px 30px;
  padding: 1.5em 1em .5em;
  border-width: 0;
  border-style: solid;
}
fieldset legend {
  padding: 3px 10px;
  margin-top: -25px;
}
input {
  line-height: normal;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
textarea {
  resize: vertical;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
optgroup {
  font-weight: bold;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}
input[type=search] {
  -webkit-appearance: textfield;
}
input[type=submit],
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
input[type="checkbox"],
input[type="radio"] {
  padding: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
select {
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
   pointer-events: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input[type=text]::-ms-clear {
  display: none;
}
p:empty {
  display: none;
}
:focus {
  outline: 0;
}
pre,
code,
kbd,
samp {
  background-color: transparent;
  color: inherit;
  font-family: monospace;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: 1px;
}
pre {
  white-space: pre-wrap;
}
pre a {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: inherit;
}
code {
  display: inline-block;
}
code a {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: inherit;
}
svg:not(:root) {
  overflow: hidden;
}
sub,
sup,
small {
  font-size: 75%;
}
sub,
sup {
  line-height: 0;
  position: relative;
}
sup {
  vertical-align: super;
}
sub {
  vertical-align: sub;
}
b,
strong {
  font-weight: bold;
}
th,
td,
caption {
  font-weight: normal;
}
dfn {
  font-style: italic;
}
hr {
  height: 0;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
mark {
  color: #000000;
}
.sticky,
.bypostauthor,
.screen-reader-text {
  outline: none;
}

/* Only the page (body) should scroll */
html, body {
  height: auto;
  min-height: 100dvh;
  overflow-y: auto;       /* one scrollbar */
  overflow-x: clip;
}

/* Kill unintended inner scroll containers */
:where(.site, .site-content, .wrap, .container, .section, .content, .page, .entry-content) {
  max-height: none !important;
  height: auto !important;
  overflow-y: visible !important;   /* stop the second scrollbar */
}

/* Common offenders */
.masonry, .gallery, .portfolio, .lightbox, .modal,
header[style*="position:fixed"] ~ *,  /* content after fixed headers */
iframe, img, video { max-width:100%; height:auto; }

/* Only when a lightbox/modal is open, hide the body scroll */
body.modal-open, body.lightbox-open { overflow: hidden !important; }

/* Force footer and header menus to always stay visible */
.elementor-nav-menu--main .elementor-menu-toggle {
  display: none !important; /* hide hamburger */
}

.elementor-nav-menu--main .elementor-nav-menu {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center; /* or flex-start/space-between depending on design */
}

.elementor-nav-menu--main .elementor-nav-menu a {
  padding: 8px 14px; /* adjust spacing */
}
/* =========================
   Brand Doors - Header Menu
   Mobile hamburger + Desktop inline
   ========================= */

/* Button base */
.bd-nav-toggle {
  display: none;                       /* hidden on desktop */
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  color: #0d0d0d;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease;
}
.bd-nav-toggle:active { transform: scale(.98); }

/* Panel (your icon-list widget container) – desktop stays inline */
.elementor-element-74c456b2 .elementor-icon-list-items {
  gap: 18px;
}

/* ===== Mobile rules ===== */
@media (max-width: 991px) {
  /* Show the hamburger, hide inline list until opened */
  .bd-nav-toggle { display: inline-flex; }

  /* Elementor adds 'elementor-hidden-phone'—override it cleanly */
  .elementor-element-74c456b2.elementor-hidden-phone { display: none !important; }

  /* Turn the menu into a dropdown panel */
  .elementor-element-74c456b2,
  #bdNavPanel {
    position: absolute;
    top: calc(100% + 10px);            /* below the sticky header container */
    right: 16px;
    left: 0;
	  max-width:90%;
    z-index: 9999;
    background: #ffffff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(0,0,0,.12);
    padding: 12px;
    display: none;                     /* hidden until toggled */
  }

  /* Stack items vertically on mobile */
  .elementor-element-74c456b2 .elementor-icon-list-items {
    display: flex !important;
    flex-direction: column;
    gap: 6px;
  }

  /* Open state applied by JS */
  .elementor-element-74c456b2.is-open,
  #bdNavPanel.is-open {
    display: block !important;
  }

  /* Nice tap targets */
  .elementor-element-74c456b2 .elementor-icon-list-item a {
    display: block;
    padding: 10px 12px;
    border-radius: 10px;
  }
  .elementor-element-74c456b2 .elementor-icon-list-item a:hover {
    background: #f6f6f9;
  }
}

/* ===== Desktop rules ===== */
@media (min-width: 992px) {
  /* Desktop = inline menu, hide hamburger */
  .bd-nav-toggle { display: none !important; }
  .elementor-element-74c456b2 { display: block !important; }
  .elementor-element-74c456b2 .elementor-icon-list-items {
    display: flex !important;
    align-items: center;
  }
}
.title-xl{
	margin-bottom:14px
}
@media (max-width: 768px) {
	.nav-btn{
		display:none!important
	}}

.overline{
	margin-bottom:8px
}

/* ===== Brand Doors – Header color + sticky fixes ===== */

/* Make the real sticky container dark and high-contrast */
/* Real sticky container */
.elementor-location-header .elementor-sticky--effects,
.elementor-location-header .e-parent.elementor-sticky--effects{
  background:var(--bd-header-bg) !important;
  color:var(--bd-header-fg) !important;
  box-shadow:var(--bd-shadow);
  border:0;
}

/* Kill the white spacer clone */
.elementor-location-header .elementor-sticky__spacer{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}


/* =========================
   Branding for links / lists
========================= */
/* .elementor-location-header .elementor-icon-list-items,
.elementor-location-header .elementor-icon-list-item a,
.elementor-location-header .elementor-icon-list-text{
  color:var(--bd-muted) !important;
}
 */
/* Hover / focus states */
.elementor-location-header .elementor-icon-list-item a:hover,
.elementor-location-header .elementor-icon-list-item a:focus{
  color:var(--bd-focus) !important;
}

/* Active page underline accent */
.elementor-location-header .elementor-icon-list-item a[aria-current="page"]{
  text-decoration:underline;
  text-decoration-color:var(--bd-accent);
  text-underline-offset:6px;
}

/* Ensure SVG icons inherit text color */
.elementor-location-header svg,
.elementor-location-header .elementor-icon{
  color:var(--bd-muted);
  fill:currentColor;
  stroke:currentColor;
}

/* =========================
   Virtual Tour CTA
========================= */
.elementor-location-header .nav-btn .elementor-button{
  background:var(--bd-accent) !important;
  color:var(--bd-header-fg) !important;
  border:1px solid transparent;
  border-radius:10px;
}
.elementor-location-header .nav-btn .elementor-button:hover,
.elementor-location-header .nav-btn .elementor-button:focus{
  background:var(--bd-accent-2) !important;
}

/* =========================
   Hamburger / custom toggle
========================= */
.bd-nav-toggle{
  background:var(--bd-header-bg);
  color:var(--bd-header-fg);
  border:1px solid var(--bd-line);
  border-radius:10px;
  padding:8px; line-height:0;
}
.bd-nav-toggle:hover,
.bd-nav-toggle:focus{
  background:#1a1a1a;
  outline:2px solid var(--bd-accent-2);
  outline-offset:2px;
}

/* Optional slide-out panel */
#bdNavPanel{
  background:var(--bd-header-bg);
  color:var(--bd-header-fg);
  border-top:1px solid var(--bd-line);
}

/* =========================
   Elementor Nav Menu (if used in header)
   – keep dropdown readable on dark header
========================= */
.elementor-location-header .elementor-nav-menu--main a.elementor-item{
  color:var(--bd-muted) !important;
}
.elementor-location-header .elementor-nav-menu--main a.elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main a.elementor-item:focus{
  color:var(--bd-focus) !important;
}

/* Dropdown container */
.elementor-location-header .elementor-nav-menu--dropdown{
  background:var(--bd-header-bg);
  border:1px solid var(--bd-line);
  border-radius:12px;
  box-shadow:var(--bd-shadow);
}
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item{
  color:var(--bd-muted) !important;
}
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item:focus{
  color:var(--bd-header-fg) !important;
  background:rgba(255,255,255,.06);
}

/* Elementor's default toggle (if present) */
.elementor-location-header .elementor-menu-toggle{
  color:var(--bd-header-fg);
  border:1px solid var(--bd-line);
  border-radius:10px;
}
.elementor-location-header .elementor-menu-toggle:hover,
.elementor-location-header .elementor-menu-toggle:focus{
  background:#1a1a1a;
}

/* =========================
   Admin bar offsets (uncomment if header overlaps)
========================= */
/*
@media (min-width:783px){
  body.admin-bar .elementor-location-header .elementor-sticky--effects{ top:32px !important; }
}
@media (max-width:782px){
  body.admin-bar .elementor-location-header .elementor-sticky--effects{ top:46px !important; }
}
*/

/* =========================
   Safety: no surprise white flashes
========================= */
.elementor-location-header .e-lazyloaded{ background:transparent !important; }

/* High-contrast focus for keyboard users */
.elementor-location-header a:focus-visible,
.elementor-location-header button:focus-visible{
  outline:2px solid var(--bd-accent-2);
  outline-offset:2px;
}
/* Offset for WP admin bar so sticky header doesn’t overlap */
/* @media (min-width:783px){
  body.admin-bar .elementor-location-header .elementor-sticky--effects { top:32px !important; }
}
@media (max-width:782px){
  body.admin-bar .elementor-location-header .elementor-sticky--effects { top:46px !important; }
}
 */
/* Prevent lazyload wrapper from flashing white */
/* .elementor-location-header .e-lazyloaded { background:transparent !important; } */


/* Keep footer menu always visible (no hamburger) */
.elementor-location-footer .elementor-nav-menu--dropdown-mobile .elementor-nav-menu--main {
  display: block !important;              /* show the main horizontal list on mobile */
  visibility: visible !important;
}
.elementor-location-footer .elementor-nav-menu--dropdown,
.elementor-location-footer .elementor-menu-toggle {
  display: none !important;               /* hide the dropdown container & toggle */
}

/* Make sure items wrap nicely on small screens */
.elementor-location-footer .elementor-nav-menu--main ul.elementor-nav-menu {
  display: flex; 
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

/* Optional: reduce padding on tiny screens */
@media (max-width:480px){
  .elementor-location-footer .elementor-nav-menu--main .elementor-item {
    padding: 6px 8px;
  }
}
@media (max-width:768px){
	.elementor-14537 .elementor-element.elementor-element-a1ac03e{
		display:none;
	}
	 .elementor-14537 .elementor-element.elementor-element-682d8ad7 {
        width: 100%!important;
		 display:flex;
		 justify-content:center
    }
}
.e-con>.e-con-inner
gap:8px!important	
}

html{
	margin:0px!important
}

.elementor-14486 .elementor-element.elementor-element-505df025{
	padding:0px;
	gap:0px	
}
.elementor-element.elementor-element-74c456b2.elementor-icon-list--layout-inline.elementor-align-center.elementor-hidden-phone.elementor-list-item-link-full_width.elementor-widget.elementor-widget-icon-list.is-open{
background-color:#000;
	width:100%;
	padding:10px;
	
}



ul > li:before{
	display:none!important
}
/* =============================
   Brand Doors – Menu Colors
   ============================= */

/* Desktop icon-list hover & active */
.elementor-element-74c456b2 .elementor-icon-list-item a:hover,
.elementor-element-74c456b2 .elementor-icon-list-item a:focus,
.elementor-element-74c456b2 .elementor-icon-list-item a:active,
.elementor-element-74c456b2 .elementor-icon-list-item a[aria-current="page"] {
  color:#74041a !important;
  transition: color .25s ease;
}

/* Mobile dropdown (Elementor Nav Menu widget) */
.elementor-nav-menu--dropdown a:hover,
.elementor-nav-menu--dropdown a:focus,
.elementor-nav-menu--dropdown a:active,
.elementor-nav-menu--dropdown a[aria-current="page"] {
  color:#74041a !important;
  background:rgba(116,4,26,0.08); /* subtle bg tint on hover */
  transition: all .25s ease;
}

/* Optional: ensure default text color in dropdown is white */
.elementor-nav-menu--dropdown a {
  color:#ffffff !important;
}
body,html{
	margin:0px!important
}

.elementor-icon-list-item.elementor-inline-item:hover a .elementor-icon-list-text{
	 color:#74041a !important;
}
.elementor-529 .elementor-element.elementor-element-264f6f5 {
	display:block!important
}
/***********************
 * THE NEW DOOR REALTY – NAVBAR
 * Targets classes used in your JSON: ndr-nav, ndr-logo, ndr-menu, ndr-cta
 ***********************/
:root{
  --bg:#ffffff;         /* page bg */
  --fg:#0d0d0d;         /* primary text */
  --muted:#6b6b6b;      /* secondary text */
  --line:#e7e7e9;       /* borders */
  --accent:#710418;     /* brand */
  --accent-2:#8e0720;   /* brand hover */
  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.06);
}

/* ===== Header wrapper (Elementor Section with class ndr-nav) ===== */
.ndr-nav.elementor-section{
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:var(--shadow);
  z-index:1005;
}
.ndr-nav .elementor-container{
  min-height:70px;
  align-items:center;
  gap:18px;
  padding-inline:22px;
}
@media (max-width:1024px){
  .ndr-nav .elementor-container{ min-height:64px; }
}

/* ===== Logo (Site Logo widget inside container with class ndr-logo) ===== */
.ndr-nav .ndr-logo img{
  max-height:42px;
  width:auto;
  display:block;
}
@media (max-width:480px){
  .ndr-nav .ndr-logo img{ max-height:36px; }
}

/* ===== Center Menu (Nav Menu widget with class ndr-menu) ===== */
.ndr-nav .ndr-menu .elementor-nav-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
}

/* top-level links */
.ndr-nav .ndr-menu a.elementor-item{
  position:relative;
  color:var(--fg);
  font-weight:700;
  letter-spacing:.01em;
  text-decoration:none;
  padding:10px 6px;
  border-radius:10px;
  transition:color .18s ease, background .18s ease, transform .12s ease;
}
.ndr-nav .ndr-menu a.elementor-item:hover{
  color:var(--accent);
  background:#f7f7fa;
  transform:translateY(-1px);
}
.ndr-nav .ndr-menu .elementor-item.elementor-item-active{
  color:var(--accent);
}

/* keyboard focus */
.ndr-nav .ndr-menu a:focus{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:10px;
}

/* ===== Dropdowns (WordPress sub-menu items) ===== */
.ndr-nav .ndr-menu .menu-item-has-children{
  position:relative;
}

/* Chevron indicator (uses Elementor’s built-in where applicable) */
.ndr-nav .ndr-menu .menu-item-has-children > a .sub-arrow{
  margin-left:6px;
}

/* dropdown panel */
.ndr-nav .ndr-menu .sub-menu{
  margin-top:10px;
  padding:10px;
  min-width:220px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
}

/* dropdown links */
.ndr-nav .ndr-menu .sub-menu a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  font-weight:600;
  color:var(--fg);
  white-space:nowrap;
}
.ndr-nav .ndr-menu .sub-menu a:hover,
.ndr-nav .ndr-menu .sub-menu a:focus{
  background:#f5f5f7;
  color:var(--accent);
}

/* Desktop hover/focus open */
@media (min-width:1025px){
  .ndr-nav .ndr-menu .menu-item-has-children > .sub-menu{
    position:absolute;
    left:50%;
    transform:translate(-50%,8px);
    opacity:0;
    visibility:hidden;
    transition:opacity .15s ease, transform .15s ease, visibility .15s;
    pointer-events:none;
  }
  .ndr-nav .ndr-menu .menu-item-has-children:hover > .sub-menu,
  .ndr-nav .ndr-menu .menu-item-has-children:focus-within > .sub-menu{
    opacity:1; visibility:visible; transform:translate(-50%,0); pointer-events:auto;
  }
  /* third-level flyouts (open right) */
  .ndr-nav .ndr-menu .sub-menu .menu-item-has-children{ position:relative; }
  .ndr-nav .ndr-menu .sub-menu .menu-item-has-children > .sub-menu{
    position:absolute; top:0; left:100%; margin-left:8px; transform:translateY(0);
  }
}

/* ===== Mobile / Tablet behavior (Elementor dropdown mode) ===== */
@media (max-width:1024px){
  /* burger button */
  .ndr-nav .ndr-menu .elementor-menu-toggle{
    border:1px solid var(--line);
    border-radius:12px;
    padding:8px 12px;
    color:var(--fg);
    background:#fff;
    box-shadow:var(--shadow);
  }
  .ndr-nav .ndr-menu .elementor-menu-toggle:hover{
    background:#f5f5f7;
  }

  /* dropdown panel (Elementor renders as a stacked list) */
  .ndr-nav .ndr-menu .elementor-nav-menu--dropdown{
    border:1px solid var(--line);
    border-radius:14px;
    padding:8px;
    background:#fff;
    box-shadow:0 18px 40px rgba(0,0,0,.08);
  }
  .ndr-nav .ndr-menu .elementor-nav-menu--dropdown a{
    border-radius:10px;
    font-weight:700;
  }

  /* nested dropdowns are simply indented; ensure spacing */
  .ndr-nav .ndr-menu .elementor-nav-menu--dropdown .sub-menu{
    position:static;
    margin:6px 0 6px 10px;
    border:none;
    box-shadow:none;
    padding:0;
  }
}

/* ===== CTA (right column Button widget with class ndr-cta) ===== */
.ndr-nav .ndr-cta .elementor-button{
  --btnH:42px;
  height:var(--btnH);
  padding:0 16px;
  border-radius:12px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  background:var(--accent);
  color:#fff;
  border:1px solid var(--accent);
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  transition:background .18s ease, transform .12s ease, box-shadow .18s ease;
  text-decoration:none;
}
.ndr-nav .ndr-cta .elementor-button:hover{
  background:var(--accent-2);
  transform:translateY(-1px);
}
.ndr-nav .ndr-cta .elementor-button:focus{
  outline:2px solid var(--accent);
  outline-offset:2px;
}

/* ===== Optional: sticky header (uncomment if not using Elementor sticky) ===== */
/*
.ndr-nav.elementor-section{
  position:sticky;
  top:0;
  backdrop-filter:saturate(1.1);
}
*/

/* ===== Utilities: reduce menu gap on very small screens ===== */
@media (max-width:420px){
  .ndr-nav .elementor-container{ padding-inline:14px; }
}
