html {
  margin:0;
  padding:0;
  /*overflow-x:hidden;
  overflow-y:hidden;*/
}

body {
	margin:0 auto;
	padding:0;
	font-family: "Century Gothic W01",Arial, Helvetica, sans-serif;
	background-color: #9c8d70;
}

img {
	border:none;
}

h1{
	margin:0 auto;
	padding:0;
	font-size:38px;
	font-family: "Century Gothic W01",Arial, Helvetica, sans-serif;
	font-weight:300;
	/*color:#caa95b; */
}

h2{
	margin:0;
	padding:0;
	font-size:34px;
	font-family: "Century Gothic W01",Arial, Helvetica, sans-serif;
	font-weight:300;
	/*color:#caa95b; */
}

h3{
	margin:0;
	padding:0;
	font-size:30px;
	font-family: "Century Gothic W01",Arial, Helvetica, sans-serif;
	font-weight:300;
}


h4{
	margin:0;
	padding:0;
	font-size:26px;
	font-family: "Century Gothic W01",Arial, Helvetica, sans-serif;
	font-weight:300;
}

h5{
	margin:0;
	padding:0;
	font-size:22px;
	font-family: "Century Gothic W01",Arial, Helvetica, sans-serif;
	font-weight:300;
}

.mr-solid-gold-divider{
	margin:0;
	padding:0;
	height:9px;
	width:100%;
	background-image: url(/estate-safes/images/solid-gold-divider.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}

#es-wrapper-main{
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  max-width: 2500px; 
  background: url(/estate-safes/images/es-modelrange-backg.jpg) center top / cover no-repeat;
}

#es-wrapper-models{
	margin:0 auto;
	padding:0;
	background-image: url(/estate-safes/images/es-modelrange-backg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}



/* Responsive, centered hero/wrapper */
#es-wrapper-model6018 {
  box-sizing: border-box;
  margin: 0 auto;                           /* center the block */
  text-align: center;                       /* center text/inline elements */

  /* background image with fallback color */
  background-color: #ffffff;                /* remains visible where image doesn’t cover */
  background-image: url(/estate-safes/images/es-modelrange6018-backg.jpg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;

  /* responsive sizing */
  min-height: clamp(320px, 50vw, 760px);
  width: 100%;
  max-width: 2920px;                        /* optional cap */
  display: grid;
  /* was: place-items: center; */
  justify-items: stretch; /* ← lets #build-bar / .configurator-section go full width */
  align-items: start;
	

}


/* Responsive, centered hero/wrapper */
#es-wrapper-model6024 {
  box-sizing: border-box;
  margin: 0 auto;                           /* center the block */
  text-align: center;                       /* center text/inline elements */

  /* background image with fallback color */
  background-color: #9c8d70;                /* remains visible where image doesn’t cover */
  background-image: url("/estate-safes/images/es-modelrange6024-backg.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;

  /* responsive sizing */
  min-height: clamp(320px, 50vw, 760px);
  width: 100%;
  max-width: 2920px;                        /* optional cap */
  display: grid;
  /* was: place-items: center; */
  justify-items: stretch; /* ← lets #build-bar / .configurator-section go full width */
  align-items: start;
}

/* Responsive, centered hero/wrapper */
#es-wrapper-model7224 {
  box-sizing: border-box;
  margin: 0 auto;                           /* center the block */
  text-align: center;                       /* center text/inline elements */

  /* background image with fallback color */
  background-color: #9c8d70;                /* remains visible where image doesn’t cover */
  background-image: url("/estate-safes/images/es-modelrange7224-backg.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;

  /* responsive sizing */
  min-height: clamp(320px, 50vw, 760px);
  width: 100%;
  max-width: 2920px;                        /* optional cap */
  display: grid;
  /* was: place-items: center; */
  justify-items: stretch; /* ← lets #build-bar / .configurator-section go full width */
  align-items: start;
}

/* Responsive, centered hero/wrapper */
#es-wrapper-model7228 {
  box-sizing: border-box;
  margin: 0 auto;                           /* center the block */
  text-align: center;                       /* center text/inline elements */

  /* background image with fallback color */
  background-color: #9c8d70;                /* remains visible where image doesn’t cover */
  background-image: url("/estate-safes/images/es-modelrange7228-backg.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;

  /* responsive sizing */
  min-height: clamp(320px, 50vw, 760px);
  width: 100%;
  max-width: 2920px;                        /* optional cap */
  display: grid;
  /* was: place-items: center; */
  justify-items: stretch; /* ← lets #build-bar / .configurator-section go full width */
  align-items: start;
}

/* Responsive, centered hero/wrapper */
#es-wrapper-model7256 {
  box-sizing: border-box;
  margin: 0 auto;                           /* center the block */
  text-align: center;                       /* center text/inline elements */

  /* background image with fallback color */
  background-color: #9c8d70;                /* remains visible where image doesn’t cover */
  background-image: url("/estate-safes/images/es-modelrange7256-backg.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;

  /* responsive sizing */
  min-height: clamp(320px, 50vw, 760px);
  width: 100%;
  max-width: 2920px;                        /* optional cap */
  display: grid;
  /* was: place-items: center; */
  justify-items: stretch; /* ← lets #build-bar / .configurator-section go full width */
  align-items: start;
}



#es-content {
  margin: 0 auto;                        /* center horizontally */
  width: 100%;                           /* allow it to shrink on small screens */

}


#es-logo{
	margin:0 auto;
	padding:20px 0 0 0;
	
}


/* Full-width, responsive, ADA-conscious nav */
#es-topnavigation {
  width: 100%;
  background-color: #cdb478;
  box-sizing: border-box;
}

/* Modern flex layout, centers content, wraps on small screens */
#es-topnavigation .MenuBarHorizontal {
  list-style: none;
  margin: 0;
  padding: clamp(8px, 2vw, 14px) clamp(12px, 4vw, 24px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 2vw, 28px);
  max-width: min(1500px, 100%);
  margin-inline: auto;
}

/* Ensure consistent item layout */
#es-topnavigation .MenuBarHorizontal li {
  display: flex;
}

/* Links: accessible hit area, readable weight, strong focus styles */
#es-topnavigation .MenuBarHorizontal a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;                 /* touch target guidance */
  padding: 0 clamp(6px, 1.2vw, 12px);
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  color: #403727;                   /* meets contrast on #caa95b */
  border-radius: 6px;               /* visible focus outline shape */
}

#es-topnavigation .MenuBarHorizontal a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

#es-topnavigation .MenuBarHorizontal a:focus-visible {
  outline: 3px solid currentColor;  /* high-contrast focus ring */
  outline-offset: 2px;
}

/* Optional: current page via aria-current OR legacy .is-active */
#es-topnavigation .MenuBarHorizontal a[aria-current="page"],
#es-topnavigation .MenuBarHorizontal a.is-active {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* “Estate Series” brand link: serif, larger, spaced from others */
#es-topnavigation .MenuBarHorizontal .brand a {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: clamp(1.125rem, 2.2vw, 1.5rem);
  text-transform: none;             /* keep brand in title case */
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* Add breathable space after the brand on wider screens */
#es-topnavigation .MenuBarHorizontal .brand {
  margin-right: clamp(12px, 4vw, 48px);
}

/* Small screens: relax spacing a touch for better fit */
@media (max-width: 480px) {
  #es-topnavigation .MenuBarHorizontal {
    gap: clamp(6px, 2vw, 12px);
  }
  #es-topnavigation .MenuBarHorizontal .brand {
    margin-right: clamp(8px, 2.5vw, 20px);
  }
}

/* --- Visibility logic (desktop vs mobile) --- */

/* Default: show desktop nav, hide mobile nav on wide screens */
#es-topnavigation { display: block; }
.mobile-only-subnav { display: none; }

/* Mobile: hide desktop bar, show the mobile subnav */
@media (max-width: 768px) {
  #es-topnavigation { display: none; }
  .mobile-only-subnav { display: block; }
}









.es-clear{
	clear:both;
}

#mr-estate-series{
	margin:0 auto;
	padding:0;
	width:auto;
}

#es-model-safes-container{
	margin:0 auto;
	padding:0;
	width:auto;
}

.model-safe-radio-btn{
	margin:0;
	padding-top:425px;
	text-align:center;
}

#white-fade{
  margin: 0 auto;
  width: 100%;
  /* stronger white -> transparent, still smooth */
  background: linear-gradient(
    to top,
    rgba(255, 255, 255, 0.65) 0%,
    rgba(255, 255, 255, 0.55) 15%,
    rgba(255, 255, 255, 0.45) 30%,
    rgba(255, 255, 255, 0.32) 48%,
    rgba(255, 255, 255, 0.20) 65%,
    rgba(255, 255, 255, 0.10) 82%,
    rgba(255, 255, 255, 0.00) 100%
  );
}

#ms-description-6018{
	margin:0 auto;
	padding-top:2.2em;
	width: 85%;
	max-width:950px;
}



#model-safe-6018-off{
	margin:0;
	padding:0;
	width:142px;
	height:498px;
	float:left;
	background-image: url(/estate-safes/images/mrct-safe-model-6018-off.png);
	background-repeat: no-repeat;
	background-position: center top;
}

#model-safe-6018-on{
	margin:0;
	padding:0;
	width:142px;
	height:498px;
	float:left;
	background-image: url(/estate-safes/images/mrct-safe-model-6018-on.png);
	background-repeat: no-repeat;
	background-position: center top;
}


#model-safe-6024-off{
	margin:0;
	padding:0;
	width:150px;
	height:498px;
	float:left;
	background-image: url(/estate-safes/images/mrct-safe-model-6024-off.png);
	background-repeat: no-repeat;
	background-position: center top;
}

#model-safe-6024-on{
	margin:0;
	padding:0;
	width:150px;
	height:498px;
	float:left;
	background-image: url(/estate-safes/images/mrct-safe-model-6024-on.png);
	background-repeat: no-repeat;
	background-position: center top;
}


#model-safe-7224-off{
	margin:0;
	padding:0;
	width:166px;
	height:498px;
	float:left;
	background-image: url(/estate-safes/images/mrct-safe-model-7224-off.png);
	background-repeat: no-repeat;
	background-position: center top;
}

#model-safe-7224-on{
	margin:0;
	padding:0;
	width:166px;
	height:498px;
	float:left;
	background-image: url(/estate-safes/images/mrct-safe-model-7224-on.png);
	background-repeat: no-repeat;
	background-position: center top;
}


#model-safe-7228-off{
	margin:0;
	padding:0;
	width:181px;
	height:498px;
	float:left;
	background-image: url(/estate-safes/images/mrct-safe-model-7228-off.png);
	background-repeat: no-repeat;
	background-position: center top;
}

#model-safe-7228-on{
	margin:0;
	padding:0;
	width:181px;
	height:498px;
	float:left;
	background-image: url(/estate-safes/images/mrct-safe-model-7228-on.png);
	background-repeat: no-repeat;
	background-position: center top;
}


#model-safe-7256-off{
	margin:0;
	padding:0;
	width:323px;
	height:498px;
	float:left;
	background-image: url(/estate-safes/images/mrct-safe-model-7256-off.png);
	background-repeat: no-repeat;
	background-position: center top;
}

#model-safe-7256-on{
	margin:0;
	padding:0;
	width:323px;
	height:498px;
	float:left;
	background-image: url(/estate-safes/images/mrct-safe-model-7256-on.png);
	background-repeat: no-repeat;
	background-position: center top;
}





#mr-secondnav-lcpoptions-wrapper{
	margin:0;
	padding:0;
	height:73px;
	background-image: url(/estate-safes/images/mr-secnav-lcpoptions-backg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}

#mr-secondnav-lcpoptions-items{
	margin:0 auto;
	padding:0;
	width:850px;
}

#mr-secondnav-lcpoptions-items ul{
	margin:0 auto;
	padding:0;
	max-width:800px;
}

#mr-secondnav-lcpoptions-items ul li{
	margin:10px 0 0 0;
	padding:15px 0 0 10px;
	float:left;
	font-size:18px;
	text-decoration:none;
	list-style-type: none;
}

#mr-secondnav-lcpoptions-items ul li a{
	margin:0;
	padding:15px 30px;
	text-decoration:none;
	color:#000;
}

#mr-secondnav-lcpoptions-items ul li a:hover{
	margin:0;
	padding:15px 30px;
	text-decoration:underline;
	color:#000;
	background-image: url(/estate-safes/images/sticky-nav-glow.png);
	background-repeat: no-repeat;
	background-position: center center;
}








#mr-design-your-safe-wrapper-6018 {
	margin:0;
	padding:0;
	height:329px;
	background-image: url(/estate-safes/images/mr-design-your-safe-backg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}

#mr-design-your-safe-wrapper-6024 {
	margin:0;
	padding:0;
	height:329px;
	background-image: url(/estate-safes/images/mr-design-your-safe-6024-backg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}

#mr-design-your-safe-wrapper-7224 {
	margin:0;
	padding:0;
	height:329px;
	background-image: url(/estate-safes/images/mr-design-your-safe-7224-backg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}

#mr-design-your-safe-wrapper-7228 {
	margin:0;
	padding:0;
	height:329px;
	background-image: url(/estate-safes/images/mr-design-your-safe-7228-backg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}

#mr-design-your-safe-wrapper-7256 {
	margin:0;
	padding:0;
	height:329px;
	background-image: url(/estate-safes/images/mr-design-your-safe-7256-backg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}


#mr-dark-background {
	background-color:#434240;
	clear:both;
	max-width:1385px;
	margin: 0 auto;
}

#mr-interior-layout {
	margin:0 auto;
	padding:190px 0 20px 0;
	max-width:850px;
}
#mr-il-options{
	margin:0 auto;
	padding:20px 0 0 0;
	max-width:700px;
	font-size:18px;
	color:#403727;
}

#mr-il-options ul{
	margin:0;
	padding:0;
}

#mr-il-options ul li{
	margin:0;
	padding:0;
	float:left;
	width:170px;
	text-align:center;
	text-decoration:none;
	list-style-type: none;
}

#mr-il-radio-btn{
	margin:0 auto;
	padding:20px 0 0 0;
	max-width:700px;
}

#mr-il-radio-btn ul{
	margin:0;
	padding:0;
}

#mr-il-radio-btn ul li{
	margin:0;
	padding:0;
	float:left;
	width:170px;
	text-align:center;
	text-decoration:none;
	list-style-type: none;
}


#int-layout-options{
	margin:0 auto;
	max-width:1385px;
	padding:0;
	background-color: #363635;
	background-image: url(/estate-safes/images/es-int-design-op-backg.png);
	background-position: center top;
	background-repeat: no-repeat;
}

#int-layout-options h3{
	margin:0;
	padding:30px 0;
	font-size:20px;
	color:#959595;
	text-align:center;
}


.int-layout-items{
	margin:0;
	padding:0;
	height:409px;
}


#mr-exterior-design {
	margin:0;
	padding:30px 0;
	max-width:850px;
}

#mr-exterior-design-header {
	margin:0;
	padding:0;
	height:93px;
	background-image: url(/estate-safes/images/mr-exterior-design.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}

#mr-ext-design-slider{
	margin:0;
	padding:0;
	background-image: url(/estate-safes/images/mr-ext-design-slider-backg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}


#mr-interior-design {
	margin:0;
	padding:30px 0;
	max-width:850px;
}

#mr-interior-design-header {
	margin:0;
	padding:0;
	height:93px;
	background-image: url(/estate-safes/images/mr-interior-design.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}

#mr-int-design-slider{
	margin:0;
	padding:0;
	background-image: url(/estate-safes/images/mr-int-design-slider-backg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}


#mr-drawer-inserts {
	margin:0 auto;
	padding:0;
	height:269px;
	background-image: url(/estate-safes/images/mr-drawers-inserts-backg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}

#esmr-drawinserts-clickhere {
	margin:0;
	padding:0;
	background-image: url(/estate-safes/images/mr-drawers-inserts-btn.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}

#mr-protection-levels {
	margin:0 auto;
	padding:0;
	max-width:850px;
}

#mr-pl-class-options{
	margin:0;
	padding:0;
	height:106px;
	background-image: url(/estate-safes/images/mr-pl-classes-backg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
}

#mr-pl-classes{
	margin:0 auto;
	padding:20px 0 0 0;
	max-width:700px;
	font-size:18px;
	color:#403727;
}

#mr-pl-classes ul{
	margin:0;
	padding:0;
}

#mr-pl-classes ul li{
	margin:0;
	padding:0;
	float:left;
	width:170px;
	text-align:center;
	text-decoration:none;
	list-style-type: none;
}

#mr-pl-classes-radio-btn{
	margin:0 auto;
	padding:20px 0 0 0;
	max-width:700px;
}

#mr-pl-classes-radio-btn ul{
	margin:0;
	padding:0;
}

#mr-pl-classes-radio-btn ul li{
	margin:0;
	padding:0;
	float:left;
	width:170px;
	text-align:center;
	text-decoration:none;
	list-style-type: none;
}

#mr-prot-strength-container{
	margin:0;
	padding:0;
	background-color:#303030;
	min-height:890px;
	max-width:1385px;
	margin: 0 auto;
}


#mr-prot-strength-col2{
	margin:0 auto;
	padding:0;
	width:1024px;
}

.mr-ps-col-right{
	margin:10px 0 10px 0;
	padding:0 0 0 40px;
	width:327px;
	float:right;
	background-image: url(/estate-safes/images/mr-pl-fire-logo.png);
	background-repeat: no-repeat;
	background-position: right top;
	color:#cccccc;
	font-size:16px;
}

.mr-ps-col-right ul{
	margin:0;
	padding:0 0 0 25px;
}


.mr-ps-col-right h3{
	margin:0;
	padding:25px 0 25px 0;
	color:#d1d1d1;
	font-size:20px;
	font-style:italic;
}


.mr-ps-col-left{
	margin:0;
	padding:0;
	width:656px;
	float:left;
}

.mr-ps-col-left h2{
	margin:0;
	padding:20px 0 0 0;
	font-size:30px;
	font-weight:bold;
	color:#ffd49d;
}

.mr-ps-col-left h3{
	margin:0;
	padding:17px 0;
	text-align:center;
	font-size:24px;
	color:#ffd49d;
}


#mr-luxury-options {
	margin:0 auto;
	padding:0;
	width:850px;
}

.es-secopt-row{
	margin:0;
	padding:0;
	height:136px;
}

.es-secopt-item{
	margin:20px;
	padding:0;
	width:311px;
	height:157px;
	float:left;
	background-image: url(/estate-safes/images/luxury-options-items-backg.jpg);
	background-repeat: no-repeat;
	background-position: center center;
}

.es-secopt-item-right{
	margin:0;
	padding:0;
	width:110px;
	height:116px;
	float:right;
}

.es-secopt-item-right img{
	padding-top:12px;
}


.es-secopt-item-left{
	margin:10px;
	padding:0;
	width:20px;
	height:60px;
	float:left;
}

.es-secopt-item-middle{
	margin:20px 10px;
	padding:0;
	width:105px;
	float:left;
}

.es-secopt-item-middle p{
	color:#878787;
}


.es-secopt-item-middle p{
	margin:0;
	padding:0;
	color:#878787;
	font-size:15px;
	line-height:23px;
}

.es-secopt-item-middle p a{
	color:#3674c1;
}






#mr-additional-options {
	margin:0 auto;
	padding:0;
	width:850px;
}


.mr-door-swing-container{
	margin:0 auto;
	padding:0;
	width:720px
}

.door-swing-item{
	margin:0;
	padding:0;
	float:left;
	width:360px;
}


#mr-security-options {
	margin:0 auto;
	padding:0;
	width:850px;
}

#mr-lo-items-container{
	margin:0 auto;
	padding:0;
	width:750px;
}

#mr-summary-total {
	margin:0 auto;
	padding:0;
	width:850px;
}




#es-footer{
	clear:both;
	margin:0 auto;
	padding:0;
}



#es-btm-nav{
	margin:0 auto;
	padding:0;
	clear:both;
}

#es-btm-nav ul{
	padding:0;
	list-style: none;
}


#es-btm-nav ul li{
	display:block;
	float:left;
	font-family:Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	color:#1e1c17;
	padding-right:60px;
}

#es-btm-nav ul li:first-child{
	padding-left:90px;
}


#es-btm-nav ul li a{
	text-decoration:none;
	font-family:Arial, Helvetica, sans-serif;
	font-size:14px;
	color:#1e1c17;
}


#es-social{
	margin:0;
	padding:0;
}

#es-social ul {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width:350px;
}

#es-social li {
	display: inline;
}

#es-copyright{
	max-width:824px;
	margin:0 auto;
	padding:20px 0 50px 0;
	font-size:14px;
	font-weight:bold;
	color:#1e1c17;
	
}

.gm-checkbox-options {
    color: #959595;
    font-size: 24px;
    font-style: italic;
    font-weight: lighter;
    margin: 0;
    padding: 15px 0 0 30px;
}





/* 1) Make every popup container fluid and cap to viewport */
.mr-popup-window {
  box-sizing: border-box;
  margin: 0 auto;
  padding: clamp(16px, 2.5vw, 24px);
  background-color: #373735;         /* keep the dark gray */
  background-image: none;             /* drop the tiled image for cleaner scaling */
  border: 5px solid #9C845E;
  color: #cfcfcf;
  width: 100%;
  max-width: min(92vw, 776px);        /* cap to original design width */
}

.mr-popup-window p{
	margin:0;
	padding:0 0 15px 0;
	line-height:22px;
	color:#cfcfcf;
}

/* Headings scale nicely */
.mr-popup-window h2 {
  font-size: clamp(1.25rem, 2.6vw, 2rem);
  color: #ffd49d;
  text-align: center;
}

.mr-popup-window ul li {
    color: #cfcfcf;
}


#mr-popup-interior-light{
	max-width:100%; height:auto;
}

#mr-popup-necklace-rack{
	max-width:100%; height:auto;
}

#mr-popup-mounted-mirror{
	max-width:100%; height:auto;
}

#mr-popup-watch-winders{
	max-width:100%; height:auto;
}

#mr-popup-spoke-handle{
	max-width:100%; height:auto;
}


#mr-popup-pedestal-riser{
	max-width:100%; height:auto;
}

#mr-popup-glass-plate{
	max-width:100%; height:auto;
}

#mr-popup-signal-alert{
	max-width:100%; height:auto;
}

#mr-popup-bolt-lock{
	max-width:100%; height:auto;
}

#mr-popup-multi-sensor{
	max-width:100%; height:auto;
}

#mr-popup-movement-timelock{
	max-width:100%; height:auto;
}

#mr-popup-concealment-cabinet{
	max-width:100%; height:auto;
}




#mr-popup-ww-2colum{
	margin:0;
	padding:0;
	max-width:776px;
}

.mr-popup-ww-item{
	margin:0;
	padding:0;
	max-width:388px;
	float:left;
}

.mr-popup-ww-item ul{
	margin:0;
	padding:0 0 0 20px;
}

.mr-popup-ww-item ul li{
	margin:0;
	padding:0 0 5px 0;
	font-size:85%;
	color:#cfcfcf;
}


#mr-popup-ww-2colum .mr-popup-ul-title{
	margin:0;
	padding:15px 0 0 0;
	font-weight:bold;
	color:#ffd49d;
}


.mr-popup-price{
	color:#ffd49d;
	font-style:italic;
}




#pl-content{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}



/* Improve paragraph rhythm */
#pl-content p{
  margin: 0 0 14px;
  line-height: 1.7;
  font-size: clamp(16px, 1.2vw, 18px);
  color: #222;
}

.link-color{
	color:#1e1c17;
}

/* Override link color ONLY inside protection accordion */
.GroupBox-PL .link-color,
.CollapsiblePanelContent a{
  color: #FFD49D;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.GroupBox-PL .link-color:hover,
.CollapsiblePanelContent a:hover{
  color: #FFE3BF;
}


/* 2) Fluid media */
.mr-popup-window img,
.mr-popup-window video {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto 12px;
}

/* 3) Force-override all the old per-ID fixed widths (776px, 388px, etc.) */
[id^="mr-popup-"] {
  width: auto !important;
  max-width: min(92vw, 776px) !important;
}

/* 4) Modernize the two-column list inside watch-winder popup */
#mr-popup-ww-2colum {
  width: auto !important;
  max-width: min(92vw, 776px);
  display: grid;
  grid-template-columns: 1fr;         /* one column by default */
  gap: 12px;
}

@media (min-width: 720px) {
  #mr-popup-ww-2colum { grid-template-columns: 1fr 1fr; }
}

/* Kill old float/widths for the two cells */
.mr-popup-ww-item {
  width: 100% !important;
  float: none !important;
}

/* Nicer list spacing on small screens */
.mr-popup-ww-item ul { padding-left: 1rem; }

/* 5) Drawer inserts modal image: remove inline float and make fluid */
#drawer-inserts img {
  float: none !important;
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}




/* UPDATES TO SUBNAV BAR WITH TOTAL SO ITS RESPONSIVE ON MOBILE */

/* Make the second-step subnav fluid */
#mr-secondnav-lcpoptions-items,
#mr-secondnav-lcpoptions-items ul {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#mr-secondnav-lcpoptions-items ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  justify-content: center; /* or space-between */
}

/* Let items shrink instead of forcing overflow */
#mr-secondnav-lcpoptions-items ul li {
  float: none;            /* kill legacy float on small screens */
  margin: 6px 0 0 0;      /* tidy spacing */
  padding: 15px 6px 0 6px;
}
@media (max-width: 768px) {
  #mr-secondnav-lcpoptions-items ul li[style] { width: auto !important; } /* defeats inline width:195px */
}




/* --- Mobile overrides: place AT THE END of es-main-responsive.css --- */
#mr-luxury-options,
#mr-additional-options,
#mr-security-options,
#mr-summary-total,
#mr-lo-items-container {
  width: 100% !important;
  max-width: 950px;       /* or 850px if you prefer the old cap */
  margin: 0 auto;
  box-sizing: border-box;
}

#mr-secondnav-lcpoptions-items,
#mr-secondnav-lcpoptions-items ul {
  width: 100% !important;
  max-width: 100% !important;
}

#mr-secondnav-lcpoptions-items ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  justify-content: center;
}

@media (max-width: 900px) {
  #mr-prot-strength-col2 { width: 100% !important; }
  .mr-ps-col-left, .mr-ps-col-right {
    float: none !important;
    width: 100% !important;
    padding: 16px !important;
    box-sizing: border-box;
    background-image: none; /* optional: avoids weird alignment on small screens */
  }
  #mr-door-swing-container { width: 100% !important; }
  .door-swing-item {
    float: none !important;
    width: 100% !important;
  }
}



#es-btm-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  padding: 0;
  list-style: none;
}
#es-btm-nav ul li {
  float: none;            /* kill legacy float */
  padding: 0;             /* remove huge fixed paddings */
}
#es-btm-nav ul li:first-child { padding-left: 0; }


html, body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }




/* MOBILE: show only the TOTAL/summary <li>, keep it fixed at the bottom */
@media (max-width: 768px) {
  /* 1) Fixed footer container (replaces sticky) */
  #mr-secondnav-lcpoptions-wrapper {
    position: fixed !important;
    left: 0; right: 0; bottom: 0;
    z-index: 10000;
    background: #434240;
    padding: 6px 10px;
    width: 100% !important;
    /* iOS safe area */
    padding-bottom: calc(6px + env(safe-area-inset-bottom));
  }

  /* Prevent content from being hidden behind the fixed bar */
  body { padding-bottom: 72px; }

  /* 2) Make the inner list a centered flex row */
  #mr-secondnav-lcpoptions-items,
  #mr-secondnav-lcpoptions-items ul {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }

  /* 3) Hide all nav items by default on mobile */
  #mr-secondnav-lcpoptions-items ul li {
    display: none !important;
    float: none !important;       /* kill legacy floats */
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;  /* defeat inline bg */
    width: auto !important;       /* defeat inline width:195px */
  }

  /* 4) Show ONLY the item that contains the total */
  #mr-secondnav-lcpoptions-items ul li:has(#costSummary) {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    padding: 8px 12px !important;
    border-radius: 8px;
    background-color: #434240;
  }

  /* 5) Tidy up the contents */
  #mr-secondnav-lcpoptions-items ul li:has(#costSummary) #costSummary,
  #mr-secondnav-lcpoptions-items ul li:has(#costSummary) #asterisc {
    font-weight: 700;
  }
  #mr-secondnav-lcpoptions-items ul li:has(#costSummary) a {
    display: inline-flex !important;
    align-items: center;
    min-height: 44px;
    padding: 6px 10px !important;
    margin: 0 !important;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }
}


/* --- Mobile second-nav: show only TOTAL + keep it pinned bottom --- */
@media (max-width: 768px) {
  /* Force wrapper to be fixed to the bottom no matter what the JS does */
  #mr-secondnav-lcpoptions-wrapper,
  #mr-secondnav-lcpoptions-wrapper.bsmsticky {
    position: fixed !important;
    bottom: 0 !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10000 !important;
    width: 100% !important;
    background: #434240; /* gray backdrop */
  }

  /* Layout the inner <ul> nicely */
  #mr-secondnav-lcpoptions-items,
  #mr-secondnav-lcpoptions-items ul {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    list-style: none;
    box-sizing: border-box;
  }

  /* Hide all items except the one that contains the live #costSummary */
  #mr-secondnav-lcpoptions-items ul li { display: none !important; }

  /* Modern, robust selector */
  #mr-secondnav-lcpoptions-items ul li:has(#costSummary) {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    padding: 6px 10px !important;
    margin: 0 !important;
    border-radius: 8px;
    background: rgba(0,0,0,0.8);
    /* kill legacy inline styles on this <li> */
    background-image: none !important;
    width: auto !important;
    float: none !important;
  }

  /* Fallback for older browsers without :has() — assumes TOTAL is the last <li> */
  @supports not (selector(:has(*))) {
    #mr-secondnav-lcpoptions-items ul li { display: none !important; }
    #mr-secondnav-lcpoptions-items ul li:last-child {
      display: inline-flex !important;
      align-items: center;
      gap: 10px;
      padding: 6px 10px !important;
      margin: 0 !important;
      border-radius: 8px;
      background: rgba(0,0,0,0.3);
      background-image: none !important;
      width: auto !important;
      float: none !important;
    }
  }

  /* Make room so the fixed bar doesn't cover content */
  body { padding-bottom: 64px; }
}

/* Bonus: neutralize the old sticky’s “top:100px” if it leaks through */
@media (max-width: 768px) {
  .bsmsticky { top: auto !important; }
}



/* Mobile: make the bottom bar link readable */
@media (max-width:768px){
  /* simplest: affect the second-nav links (only the total is visible anyway) */
  #mr-secondnav-lcpoptions-items ul li a {
    color: #b6a074 !important;        /* nuetral gold */
  }

  /* if you prefer to target only the total item */
  #mr-secondnav-lcpoptions-items ul li:has(#costSummary) a {
    color: #b6a074 !important;
  }

  /* optional a11y polish */
  #mr-secondnav-lcpoptions-items ul li:has(#costSummary) a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }
}


/* =========================================
   ESTATE HIGH-SECURITY CONCEALED LOCK MODAL
   Image always above text
   ========================================= */

/* Keeps the description title and icon aligned */
.es-lock-description-title {
  display: inline;
}

/* Information icon button */
.es-lock-modal-trigger {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin: 0 0 0 0.25em;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  cursor: pointer;
  vertical-align: -3px;
}

.es-lock-info-icon {
  display: block;
  width: 18px;
  height: 18px;
}

.es-lock-modal-trigger:hover {
  opacity: 0.72;
}

.es-lock-modal-trigger:focus-visible {
  outline: 2px solid #9c845e;
  outline-offset: 3px;
}

/* Native dialog container */
.es-lock-modal {
  box-sizing: border-box;
  width: min(760px, calc(100% - 40px));
  max-width: 760px;
  max-height: calc(100vh - 40px);
  margin: auto;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
  text-align: left;
}

.es-lock-modal[open] {
  display: block;
}

/* Darkened page overlay */
.es-lock-modal::backdrop {
  background: rgba(22, 19, 14, 0.82);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

/* Visible modal window */
.es-lock-modal__window {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-height: calc(100vh - 40px);
  overflow-x: hidden;
  overflow-y: auto;
  background: #f7f4ed;
  border: 5px solid #9c845e;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.46);
}

/*
 * The layout always remains vertical:
 * image on top, content below.
 */
.es-lock-modal__layout {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Image area */
.es-lock-modal__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  min-height: 0;
  background: #1e1c17;
  overflow: hidden;
}

/* Modal image */
.es-lock-modal__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

/* Text content below image */
.es-lock-modal__content {
  box-sizing: border-box;
  width: 100%;
  padding: 44px 52px 48px;
  color: #403727;
  background: #f7f4ed;
}

/* Main modal heading */
.es-lock-modal__title {
  margin: 0 0 24px;
  padding: 0;
  color: #403727;
  font-family: "Century Gothic W01", Arial, Helvetica, sans-serif;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* Modal body copy */
.es-lock-modal__content p {
  margin: 0 0 20px;
  padding: 0;
  color: #514838;
  font-family: "Century Gothic W01", Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.75;
}

.es-lock-modal__content p:last-of-type {
  margin-bottom: 0;
}

/* Features heading */
.es-lock-modal__features-title {
  margin: 32px 0 16px;
  padding: 0;
  color: #8a714d;
  font-family: "Century Gothic W01", Arial, Helvetica, sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Features list */
.es-lock-modal__features {
  margin: 0;
  padding: 0;
  list-style: none;
}

.es-lock-modal__features li {
  position: relative;
  margin: 0;
  padding: 0 0 12px 22px;
  color: #514838;
  font-family: "Century Gothic W01", Arial, Helvetica, sans-serif;
  font-size: 0.96rem;
  line-height: 1.55;
}

.es-lock-modal__features li:last-child {
  padding-bottom: 0;
}

.es-lock-modal__features li::before {
  content: "";
  position: absolute;
  top: 0.65em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #9c845e;
}

/* Close button positioned over the image */
.es-lock-modal__close {
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  z-index: 10;
  top: 14px;
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin: 0;
  padding: 0 0 3px;
  border: 1px solid rgba(156, 132, 94, 0.65);
  border-radius: 50%;
  background: rgba(247, 244, 237, 0.95);
  color: #403727;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
  cursor: pointer;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 1;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.es-lock-modal__close:hover {
  background: #9c845e;
  color: #ffffff;
  transform: scale(1.05);
}

.es-lock-modal__close:focus-visible {
  outline: 3px solid #ffd49d;
  outline-offset: 3px;
}

/* Prevent background page scrolling while open */
html.es-dialog-open,
html.es-dialog-open body {
  overflow: hidden;
}

/* Tablet */
@media (max-width: 800px) {
  .es-lock-modal {
    width: min(94%, 700px);
    max-height: calc(100vh - 24px);
  }

  .es-lock-modal__window {
    max-height: calc(100vh - 24px);
  }

  /*
   * The image remains on top.
   * Only its proportions and content spacing change.
   */
  .es-lock-modal__layout {
    flex-direction: column;
  }

  .es-lock-modal__media {
    width: 100%;
    aspect-ratio: 16 / 10;
  }

  .es-lock-modal__content {
    padding: 36px 34px 40px;
  }

  .es-lock-modal__title {
    margin-bottom: 20px;
  }

  .es-lock-modal__content p {
    font-size: 0.96rem;
    line-height: 1.65;
  }

  .es-lock-modal__close {
    top: 12px;
    right: 12px;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .es-lock-description-title {
    gap: 4px;
  }

  .es-lock-modal-trigger {
    width: 21px;
    height: 21px;
  }

  .es-lock-info-icon {
    width: 17px;
    height: 17px;
  }

  .es-lock-modal {
    width: calc(100% - 20px);
    max-height: calc(100vh - 20px);
  }

  .es-lock-modal__window {
    max-height: calc(100vh - 20px);
    border-width: 3px;
  }

  /*
   * A slightly taller image crop works better
   * on narrow mobile screens.
   */
  .es-lock-modal__media {
    aspect-ratio: 4 / 3;
  }

  .es-lock-modal__image {
    object-position: center;
  }

  .es-lock-modal__content {
    padding: 30px 22px 34px;
  }

  .es-lock-modal__title {
    margin-bottom: 18px;
    font-size: 1.4rem;
    line-height: 1.25;
  }

  .es-lock-modal__content p {
    margin-bottom: 18px;
    font-size: 0.94rem;
    line-height: 1.62;
  }

  .es-lock-modal__features-title {
    margin-top: 27px;
    margin-bottom: 14px;
    font-size: 1rem;
  }

  .es-lock-modal__features li {
    padding: 0 0 11px 19px;
    font-size: 0.92rem;
    line-height: 1.5;
  }

  .es-lock-modal__features li::before {
    width: 6px;
    height: 6px;
  }

  .es-lock-modal__close {
    top: 10px;
    right: 10px;
    width: 39px;
    height: 39px;
    font-size: 29px;
  }
}

/* Very narrow phones */
@media (max-width: 360px) {
  .es-lock-modal {
    width: calc(100% - 12px);
  }

  .es-lock-modal__content {
    padding: 27px 18px 30px;
  }

  .es-lock-modal__title {
    font-size: 1.3rem;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .es-lock-modal__close {
    transition: none;
  }
}

