:root{
 --monarch-night:#03111f;
 --monarch-navy:#071d33;
 --monarch-navy2:#0b2e4e;
 --monarch-teal:#07988e;
 --monarch-teal2:#19c5b1;
 --monarch-teal3:#6debd9;
 --monarch-purple:#7047db;
 --monarch-violet:#9569f0;
 --monarch-blue:#2188c5;
 --monarch-green:#18a66b;
 --monarch-gold:#e5ad3f;
 --monarch-red:#b94343;
 --monarch-bg:#f4f7fa;
 --monarch-white:#fff;
 --monarch-ink:#10243a;
 --monarch-muted:#68798a;
 --monarch-line:#dfe7ed;
 --monarch-shadow:0 18px 50px rgba(7,29,51,.08);
}

*{
 box-sizing:border-box
}

html{
 scroll-behavior:smooth
}

body{
 margin:0;
 font-family:
 Inter,
 -apple-system,
 BlinkMacSystemFont,
 "Segoe UI",
 Arial,
 sans-serif;
 background:var(--monarch-bg);
 color:var(--monarch-ink)
}

a{
 color:inherit;
 text-decoration:none
}

button,
input,
select,
textarea{
 font:inherit
}

.monarch-wrap{
 width:min(1320px,calc(100% - 44px));
 margin:auto
}


/* GLOBAL HEADER */

.monarch-header{
 position:sticky;
 top:0;
 z-index:300;
 background:rgba(255,255,255,.97);
 border-bottom:1px solid var(--monarch-line);
 backdrop-filter:blur(14px);
 box-shadow:0 5px 24px rgba(7,29,51,.035)
}

.monarch-header-inner{
 min-height:80px;
 display:flex;
 align-items:center;
 gap:24px
}

.monarch-logo{
 font-size:27px;
 font-weight:1000;
 letter-spacing:-1.3px;
 color:var(--monarch-navy);
 white-space:nowrap
}

.monarch-logo span{
 color:var(--monarch-teal)
}

.monarch-nav{
 margin-left:auto;
 display:flex;
 align-items:center;
 gap:17px
}

.monarch-nav a{
 font-size:10px;
 font-weight:950;
 color:#43586c
}

.monarch-nav a:hover{
 color:var(--monarch-teal)
}

.monarch-nav-primary{
 padding:10px 13px;
 border-radius:8px;
 color:white !important;
 background:var(--monarch-navy)
}


/* BUTTONS */

.monarch-btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:46px;
 padding:0 17px;
 border:0;
 border-radius:8px;
 cursor:pointer;
 font-size:10px;
 font-weight:1000;
 letter-spacing:.4px;
 transition:.2s ease
}

.monarch-btn:hover{
 transform:translateY(-2px)
}

.monarch-btn-primary{
 background:linear-gradient(
   135deg,
   var(--monarch-teal),
   var(--monarch-teal2)
 );
 color:white
}

.monarch-btn-dark{
 background:var(--monarch-navy);
 color:white
}

.monarch-btn-purple{
 background:var(--monarch-purple);
 color:white
}

.monarch-btn-gold{
 background:var(--monarch-gold);
 color:#382804
}


/* SECTION LANGUAGE */

.monarch-kicker{
 color:var(--monarch-teal);
 font-size:9px;
 font-weight:950;
 letter-spacing:1.5px;
 text-transform:uppercase
}

.monarch-title{
 margin:8px 0 12px;
 font-size:40px;
 line-height:1.08;
 letter-spacing:-1.6px
}

.monarch-lead{
 color:var(--monarch-muted);
 font-size:14px;
 line-height:1.72
}


/* CARDS */

.monarch-card{
 background:white;
 border:1px solid var(--monarch-line);
 border-radius:17px;
 box-shadow:var(--monarch-shadow)
}


/* FOOTER */

.monarch-footer{
 background:var(--monarch-night);
 color:#9eb3c3
}

.monarch-footer-grid{
 display:grid;
 grid-template-columns:2fr repeat(4,1fr);
 gap:40px;
 padding:55px 0 40px
}

.monarch-footer-logo{
 color:white;
 font-size:25px;
 font-weight:1000
}

.monarch-footer-logo span{
 color:var(--monarch-teal2)
}

.monarch-footer p{
 max-width:350px;
 font-size:10px;
 line-height:1.75
}

.monarch-footer h4{
 margin:0 0 14px;
 color:white;
 font-size:11px
}

.monarch-footer a{
 display:block;
 margin:8px 0;
 font-size:10px
}

.monarch-footer-bottom{
 padding:20px 0 28px;
 border-top:1px solid #183046;
 font-size:9px;
 line-height:1.65;
 color:#7891a3
}


/* TRUST BADGES */

.monarch-trust-row{
 display:flex;
 gap:8px;
 flex-wrap:wrap
}

.monarch-trust-pill{
 padding:7px 9px;
 border-radius:999px;
 background:#e8f7f5;
 color:#087b73;
 font-size:8px;
 font-weight:950
}


/* MOBILE */

@media(max-width:900px){

 .monarch-footer-grid{
   grid-template-columns:2fr 1fr 1fr
 }

}

@media(max-width:650px){

 .monarch-wrap{
   width:min(100% - 28px,1320px)
 }

 .monarch-nav a:not(.monarch-nav-primary){
   display:none
 }

 .monarch-title{
   font-size:32px
 }

 .monarch-footer-grid{
   grid-template-columns:1fr 1fr
 }

}


/* ==================================
   V1.1-G3 FINAL MONARCH POLISH
================================== */

.monarch-nav a{
 position:relative;
 transition:
   color .2s ease,
   background .2s ease,
   transform .2s ease;
}

.monarch-nav a:not(.monarch-nav-primary):after{
 content:"";
 position:absolute;
 left:0;
 right:0;
 bottom:-10px;
 height:2px;
 border-radius:999px;
 background:var(--monarch-teal);
 transform:scaleX(0);
 transform-origin:center;
 transition:transform .2s ease;
}

.monarch-nav a:not(.monarch-nav-primary):hover:after,
.monarch-nav a:not(.monarch-nav-primary).active:after{
 transform:scaleX(1);
}

.monarch-nav a.active{
 color:var(--monarch-teal);
}

.monarch-nav-primary.active{
 background:linear-gradient(
   135deg,
   var(--monarch-teal),
   var(--monarch-teal2)
 );
}

.monarch-global-cart-count{
 display:inline-grid;
 place-items:center;
 min-width:20px;
 height:20px;
 padding:0 5px;
 margin-left:5px;
 border-radius:999px;
 background:var(--monarch-teal);
 color:white;
 font-size:8px;
 font-weight:1000;
}

.monarch-nav-primary.active
.monarch-global-cart-count{
 background:white;
 color:var(--monarch-teal);
}


/* MOBILE NAV */

.monarch-mobile-toggle{
 display:none;
 margin-left:auto;
 width:42px;
 height:40px;
 border:1px solid var(--monarch-line);
 border-radius:9px;
 background:white;
 color:var(--monarch-navy);
 font-size:20px;
 cursor:pointer;
}


/* PAGE TRANSITION */

body{
 animation:monarchPageIn .32s ease;
}

@keyframes monarchPageIn{
 from{
   opacity:.2;
   transform:translateY(4px);
 }
 to{
   opacity:1;
   transform:none;
 }
}


/* TYPOGRAPHY CONSISTENCY */

h1,h2,h3{
 text-wrap:balance;
}

p{
 text-wrap:pretty;
}


/* LINKS */

.monarch-footer a{
 transition:
   color .18s ease,
   transform .18s ease;
}

.monarch-footer a:hover{
 color:white;
 transform:translateX(2px);
}


/* FOCUS ACCESSIBILITY */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
 outline:3px solid rgba(25,197,177,.35);
 outline-offset:3px;
}


/* MOBILE */

@media(max-width:650px){

 .monarch-header-inner{
   min-height:70px;
 }

 .monarch-mobile-toggle{
   display:grid;
   place-items:center;
 }

 .monarch-nav{
   display:none;
   position:absolute;
   top:70px;
   left:14px;
   right:14px;
   margin:0;
   padding:12px;
   background:white;
   border:1px solid var(--monarch-line);
   border-radius:14px;
   box-shadow:
     0 22px 55px rgba(7,29,51,.18);
   flex-direction:column;
   align-items:stretch;
   gap:4px;
 }

 .monarch-nav.mobile-open{
   display:flex;
 }

 .monarch-nav a,
 .monarch-nav a:not(.monarch-nav-primary){
   display:flex !important;
   align-items:center;
   justify-content:space-between;
   min-height:44px;
   padding:0 12px;
   border-radius:8px;
 }

 .monarch-nav a:not(.monarch-nav-primary):after{
   display:none;
 }

 .monarch-nav a.active:not(.monarch-nav-primary){
   background:#e9f7f5;
   color:var(--monarch-teal);
 }

 .monarch-nav-primary{
   margin-top:4px;
 }

}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

 body{
   animation:none;
 }

 .monarch-nav a,
 .monarch-footer a{
   transition:none;
 }

}

/* ==========================================
   V1.3-D4 NAV CLICKABILITY HARDENING
========================================== */

.monarch-header{
  position:sticky !important;
  top:0 !important;
  z-index:9999 !important;
  pointer-events:auto !important;
}

.monarch-header-inner,
.monarch-logo,
.monarch-nav,
.monarch-nav a,
.monarch-mobile-toggle{
  position:relative;
  z-index:10000;
  pointer-events:auto !important;
}

.monarch-nav a{
  cursor:pointer !important;
}

