:root{
  --mj-bg:#070707;
  --mj-bg-soft:#111111;
  --mj-card:#151515;
  --mj-text:#f3f1ee;
  --mj-muted:#b7aea5;
  --mj-line:rgba(255,255,255,.08);
  --mj-red:#a80d19;
  --mj-red-2:#e22b3b;
  --mj-gold:#d0b06a;
  --mj-gradient:linear-gradient(135deg,#1a0507 0%,#560b12 48%,#be1622 100%);
  --mj-radius:22px;
  --mj-shadow:0 20px 60px rgba(0,0,0,.35);
  --mj-container:min(1280px,calc(100% - 64px));
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:Inter,sans-serif;
  background:var(--mj-bg);
  color:var(--mj-text);
  line-height:1.6;
}

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

img{
  max-width:100%;
  height:auto;
  display:block;
}

.mj-container{
  width:var(--mj-container);
  margin-inline:auto;
}

.mj-main{min-height:60vh}

.mj-topbar{
  background:var(--mj-gradient);
  padding:10px 0;
  text-align:center;
  font-size:14px;
}

.mj-topbar p{margin:0}

.mj-navbar{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(7,7,7,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--mj-line);
}

.mj-navbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:86px;
}

.mj-brand__image,
.mj-footer__image{
  max-height:62px;
  width:auto;
}

.mj-menu,
.mj-mobile-menu,
.mj-footer-menu,
.mj-footer-list{
  list-style:none;
  padding:0;
  margin:0;
}

.mj-menu{
  display:flex;
  gap:24px;
  align-items:center;
}

.mj-menu li{position:relative}

.mj-menu a,
.mj-header-link,
.mj-cart-link{
  font-size:14px;
  font-weight:600;
}

.mj-header-actions{
  display:flex;
  align-items:center;
  gap:16px;
}

.mj-cart-link{
  display:inline-flex;
  gap:8px;
  align-items:center;
  padding:10px 14px;
  border:1px solid var(--mj-line);
  border-radius:999px;
  background:#111;
}

/* Mobile toggle */
.mj-mobile-toggle{
  display:none;
  position:relative;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  padding:0;
  background:#0f0f0f;
  border:1px solid var(--mj-line);
  color:var(--mj-text);
  border-radius:14px;
  cursor:pointer;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}

.mj-mobile-toggle:hover{
  transform:translateY(-1px);
}

.mj-mobile-toggle__line{
  position:absolute;
  left:50%;
  width:18px;
  height:2px;
  background:currentColor;
  border-radius:999px;
  transition:top .28s ease,transform .28s ease,opacity .2s ease;
}

.mj-mobile-toggle__line:nth-child(1){
  top:16px;
  transform:translateX(-50%);
}

.mj-mobile-toggle__line:nth-child(2){
  top:23px;
  transform:translateX(-50%);
}

.mj-mobile-toggle__line:nth-child(3){
  top:30px;
  transform:translateX(-50%);
}

.mj-mobile-toggle.is-active{
  background:#151515;
  border-color:rgba(255,255,255,.16);
}

.mj-mobile-toggle.is-active .mj-mobile-toggle__line:nth-child(1){
  top:23px;
  transform:translateX(-50%) rotate(45deg);
}

.mj-mobile-toggle.is-active .mj-mobile-toggle__line:nth-child(2){
  opacity:0;
}

.mj-mobile-toggle.is-active .mj-mobile-toggle__line:nth-child(3){
  top:23px;
  transform:translateX(-50%) rotate(-45deg);
}

/* Mobile panel */
.mj-mobile-panel{
  display:none;
}

.mj-mobile-menu{
  display:grid;
  gap:14px;
  list-style:none;
  padding:18px 0;
  margin:0;
}

.mj-mobile-contact{
  display:grid;
  gap:8px;
  padding-bottom:18px;
}

.mj-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--mj-gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
  font-weight:700;
}

.mj-eyebrow::before{
  content:'';
  width:28px;
  height:1px;
  background:var(--mj-gold);
}

.mj-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 26px;
  border-radius:999px;
  background:var(--mj-gradient);
  color:#fff;
  font-weight:700;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--mj-shadow);
  transition:.3s transform,.3s opacity;
}

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

.mj-btn--ghost{
  background:transparent;
  border-color:rgba(255,255,255,.18);
}

.mj-button-group{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.mj-section{padding:88px 0}

.mj-section-heading{
  margin-bottom:32px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
}

.mj-section-heading h2,
.mj-page-banner h1,
.mj-content-block h2{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(34px,5vw,62px);
  line-height:1;
}

.mj-richtext p:first-child{margin-top:0}

.mj-page-banner{
  padding:88px 0 52px;
  background:radial-gradient(circle at top right,rgba(226,43,59,.2),transparent 35%),#0b0b0b;
  border-bottom:1px solid var(--mj-line);
}

.mj-page-banner p{
  max-width:760px;
  color:var(--mj-muted);
}

.mj-default-page{padding:72px 0}

.mj-page-entry,
.mj-article,
.mj-single-post,
.mj-contact-card,
.mj-value-card,
.mj-stat-card,
.mj-usp-card,
.mj-collection-card,
.mj-testimonial-card,
.mj-post-card{
  background:var(--mj-card);
  border:1px solid var(--mj-line);
  border-radius:var(--mj-radius);
  box-shadow:var(--mj-shadow);
}

.mj-footer{
  background:#090909;
  border-top:1px solid var(--mj-line);
}

.mj-footer__grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:40px;
  padding:70px 0;
}

.mj-footer__bottom{
  padding:18px 0;
  border-top:1px solid var(--mj-line);
  color:var(--mj-muted);
}

.mj-footer-menu,
.mj-footer-list{
  display:grid;
  gap:12px;
}

.mj-socials{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}

.mj-socials a{
  padding:8px 12px;
  border:1px solid var(--mj-line);
  border-radius:999px;
  font-size:14px;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:var(--mj-card);
  padding:18px;
  border-radius:var(--mj-radius);
  border:1px solid var(--mj-line);
}

.woocommerce ul.products li.product .button{
  background:var(--mj-gradient)!important;
  color:#fff;
  border:none;
  border-radius:999px;
}

.woocommerce div.product div.images img,
.woocommerce div.product div.summary{
  border-radius:var(--mj-radius);
}

/* WhatsApp floating button */
.mj-whatsapp-float{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:14px 18px;
  border:none;
  border-radius:999px;
  background:#25D366;
  color:#fff;
  font-weight:700;
  box-shadow:0 18px 40px rgba(0,0,0,.28);
  transition:transform .25s ease,box-shadow .25s ease;
  cursor:pointer;
  font:inherit;
}

.mj-whatsapp-float:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 48px rgba(0,0,0,.34);
}

.mj-whatsapp-float__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  flex:0 0 26px;
}

.mj-whatsapp-float__icon svg{
  width:100%;
  height:100%;
}

.mj-whatsapp-float__text{
  line-height:1;
}

/* WhatsApp modal */
.mj-wa-modal[hidden]{
  display:none;
}

.mj-wa-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
}

.mj-wa-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}

.mj-wa-modal__dialog{
  position:relative;
  z-index:1;
  width:min(460px,calc(100% - 32px));
  margin:auto 24px 110px auto;
  align-self:end;
  background:#fff;
  color:#111;
  border-radius:24px;
  box-shadow:0 30px 80px rgba(0,0,0,.32);
  padding:28px;
}

.mj-wa-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  border:none;
  border-radius:999px;
  background:#f3f4f6;
  color:#111;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.mj-wa-modal__header h3{
  margin:10px 0 8px;
  font-size:34px;
  line-height:1.05;
  color:#123524;
}

.mj-wa-modal__header p{
  margin:0 0 24px;
  color:#666;
}

.mj-wa-modal__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  background:#e9f9ef;
  color:#25D366;
  font-size:13px;
  font-weight:700;
}

.mj-wa-form{
  display:grid;
  gap:18px;
}

.mj-wa-form__field{
  display:grid;
  gap:8px;
}

.mj-wa-form__field span{
  font-size:14px;
  font-weight:700;
  color:#1f2937;
}

.mj-wa-form__field small{
  font-weight:500;
  color:#6b7280;
}

.mj-wa-form__field input,
.mj-wa-form__field select,
.mj-wa-form__field textarea{
  width:100%;
  border:1px solid #25D366;
  border-radius:14px;
  padding:14px 16px;
  font:inherit;
  color:#111;
  background:#fff;
  outline:none;
}

.mj-wa-form__field input:focus,
.mj-wa-form__field select:focus,
.mj-wa-form__field textarea:focus{
  border-color:#1fa855;
  box-shadow:0 0 0 3px rgba(37,211,102,.15);
}

.mj-wa-form__field textarea{
  resize:vertical;
  min-height:110px;
}

.mj-wa-form__submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:54px;
  border:none;
  border-radius:16px;
  background:#0f5132;
  color:#fff;
  font-weight:700;
  font:inherit;
  cursor:pointer;
  transition:transform .2s ease,opacity .2s ease;
}

.mj-wa-form__submit:hover{
  transform:translateY(-1px);
}

body.mj-wa-modal-open{
  overflow:hidden;
}

body.mj-mobile-menu-open{
  overflow:hidden;
}

@media (max-width: 1024px){
  .mj-menu{display:none}
  .mj-mobile-toggle{display:inline-flex}
  .mj-header-link{display:none}
  .mj-footer__grid{grid-template-columns:1fr 1fr}

  .mj-mobile-panel{
    overflow-y:auto;
    max-height:calc(100vh - 86px);
  }

  .mj-header{
    position:relative;
    z-index:60;
  }

  .mj-navbar{
    position:sticky;
    top:0;
    z-index:60;
  }

  .mj-mobile-panel{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    display:block;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px);
    background:#090909;
    border-bottom:1px solid transparent;
    box-shadow:0 20px 40px rgba(0,0,0,.35);
    transition:
      transform .32s ease,
      opacity .28s ease,
      visibility .28s ease,
      border-color .28s ease;
  }

  .mj-mobile-panel .mj-container{
    transform:translateY(-10px);
    opacity:0;
    transition:transform .32s ease,opacity .24s ease;
  }

  .mj-mobile-panel.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    border-bottom-color:var(--mj-line);
  }

  .mj-mobile-panel.is-open .mj-container{
    transform:translateY(0);
    opacity:1;
  }

  .mj-mobile-menu{
    gap:16px;
    padding:20px 0 14px;
  }

  .mj-mobile-menu a{
    display:block;
    font-size:16px;
    font-weight:600;
  }

  .mj-mobile-contact{
    gap:10px;
    padding:0 0 22px;
  }
}

@media (max-width: 767px){
  .mj-navbar__inner{min-height:76px}
  .mj-section,
  .mj-default-page{padding:60px 0}
  .mj-footer__grid{
    grid-template-columns:1fr;
    padding:52px 0;
  }
  .mj-button-group{
    flex-direction:column;
    align-items:flex-start;
  }
  .mj-section-heading h2,
  .mj-page-banner h1,
  .mj-content-block h2{
    font-size:clamp(28px,9vw,44px);
  }

  .mj-whatsapp-float{
    right:16px;
    bottom:16px;
    padding:12px 16px;
    gap:10px;
  }

  .mj-whatsapp-float__text{
    font-size:14px;
  }

  .mj-wa-modal__dialog{
    width:calc(100% - 24px);
    margin:auto 12px 88px 12px;
    padding:22px;
    border-radius:20px;
  }

  .mj-wa-modal__header h3{
    font-size:28px;
  }
}