/* ---------- v2: Elementor pages, simpler UI ---------- */
body.jm-theme { background-image: radial-gradient(1100px 600px at 80% -10%, rgba(64, 110, 255, .10), transparent 60%); }
body.jm-theme::before { opacity: .5; }
body.elementor-template-full-width .page-header { display: none !important; }
body.elementor-template-full-width .site-content, body.elementor-template-full-width #primary { padding: 0 !important; margin: 0 !important; max-width: none !important; }

/* Type */
.jm-eyebrow .elementor-heading-title { font: 700 12px/1 var(--jm-font-body) !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: var(--jm-volt) !important; margin: 0; }
.jm-h1 .elementor-heading-title { font: 900 clamp(44px, 6.4vw, 92px)/.94 var(--jm-font-display) !important; letter-spacing: -.03em !important; text-transform: uppercase !important; color: #fff !important; }
.jm-h2 .elementor-heading-title { font: 900 clamp(30px, 3.8vw, 52px)/.98 var(--jm-font-display) !important; letter-spacing: -.025em !important; text-transform: uppercase !important; color: #fff !important; }
.jm-h3 .elementor-heading-title { font: 800 20px/1.25 var(--jm-font-display) !important; letter-spacing: -.01em !important; text-transform: none !important; color: #fff !important; }
.jm-lede, .jm-lede p { font: 400 clamp(17px, 1.35vw, 20px)/1.55 var(--jm-font-body) !important; color: #c3c7cc !important; max-width: 560px; }
.jm-text, .jm-text p, .jm-text li { font: 400 16px/1.6 var(--jm-font-body) !important; color: #a9aeb5 !important; }
.jm-sub, .jm-sub p { max-width: 620px; font-size: 17px !important; }
.jm-text p:last-child, .jm-lede p:last-child { margin-bottom: 0; }
.jm-cta .jm-sub, .jm-cta .jm-sub p { text-align: center; margin-left: auto; margin-right: auto; }
.jm-cta .jm-h2 { text-align: center; }

/* Buttons */
body.jm-theme .elementor-button {
	background: var(--jm-volt) !important; color: #111214 !important; fill: #111214 !important;
	font: 800 13px/1 var(--jm-font-body) !important; letter-spacing: .1em !important; text-transform: uppercase !important;
	border-radius: 6px !important; padding: 17px 24px !important; border: 0 !important; box-shadow: none !important;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
body.jm-theme .elementor-button:hover { background: #d9ff40 !important; }
body.jm-theme .jm-btn-ghost .elementor-button { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45) !important; }
body.jm-theme .jm-btn-ghost .elementor-button:hover { box-shadow: inset 0 0 0 1px #fff !important; background: rgba(255, 255, 255, .06) !important; }
.jm-btns { padding-top: 8px !important; }

/* Sections */
.jm-sec--line { border-top: 1px solid var(--jm-line); }
.jm-phero { border-bottom: 1px solid var(--jm-line); }
.jm-narrow { max-width: 880px; }

/* Images */
.jm-img-frame img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 14px; border: 1px solid var(--jm-line); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .9); }
.jm-img-plain img { width: 100%; max-width: 560px; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .6)); }

/* Glass card + CTA */
.jm-card, .jm-cta {
	background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .015)), rgba(22, 23, 26, .65);
	border: 1px solid var(--jm-line);
	border-radius: 14px;
	-webkit-backdrop-filter: blur(16px) saturate(130%);
	backdrop-filter: blur(16px) saturate(130%);
}
.jm-card .jm-eyebrow .elementor-heading-title { color: var(--jm-steel) !important; }

/* Series cards (image box) */
.jm-series .elementor-image-box-wrapper { text-align: left !important; }
.jm-series .elementor-image-box-img { width: 100% !important; margin: 0 0 16px !important; border-radius: 12px; overflow: hidden; border: 1px solid var(--jm-line); }
.jm-series .elementor-image-box-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s ease, opacity .3s ease; opacity: .92; }
.jm-series:hover .elementor-image-box-img img { transform: scale(1.03); opacity: 1; }
.jm-series .elementor-image-box-title { font: 800 18px/1.2 var(--jm-font-display) !important; text-transform: uppercase; letter-spacing: -.005em; color: #fff !important; margin: 0 0 6px !important; }
.jm-series .elementor-image-box-title a { color: inherit !important; }
.jm-series .elementor-image-box-description { font: 400 15px/1.5 var(--jm-font-body) !important; color: #a9aeb5 !important; }
.jm-series:hover .elementor-image-box-title { color: var(--jm-volt) !important; }

/* Steps + lists */
ol.jm-steps { list-style: none; counter-reset: jm; padding: 0 !important; margin: 4px 0 8px !important; display: grid; gap: 0; }
ol.jm-steps li { counter-increment: jm; display: grid; grid-template-columns: 44px 1fr; column-gap: 12px; padding: 14px 0; border-top: 1px solid var(--jm-line); }
ol.jm-steps li:last-child { border-bottom: 1px solid var(--jm-line); }
ol.jm-steps li::before { content: counter(jm, decimal-leading-zero); grid-row: span 2; font: 600 13px/1.6 var(--jm-font-mono); color: var(--jm-volt); }
ol.jm-steps strong { color: #fff; font-weight: 700; }
ol.jm-steps span { color: #a9aeb5; font-size: 15px; }
ul.jm-list { list-style: none; padding: 0 !important; margin: 0 !important; }
ul.jm-list li { padding: 12px 0 12px 22px; border-bottom: 1px solid var(--jm-line); position: relative; }
ul.jm-list li::before { content: ""; position: absolute; left: 0; top: 23px; width: 10px; height: 2px; background: var(--jm-volt); }
ul.jm-list strong { color: #fff; }

/* FAQ accordion */
.jm-faq .ecomus-accordion__item { border: 0 !important; border-bottom: 1px solid var(--jm-line) !important; background: transparent !important; }
.jm-faq .ecomus-accordion__title { padding: 22px 0 !important; color: #fff !important; }
.jm-faq .ecomus-accordion__title-text { font: 700 18px/1.35 var(--jm-font-display) !important; color: #fff !important; }
.jm-faq .ecomus-accordion__title .ecomus-svg-icon { color: var(--jm-volt) !important; }
.jm-faq .ecomus-accordion__content { color: #a9aeb5 !important; font-size: 16px; line-height: 1.6; padding: 0 0 22px !important; }

/* Products: quieter cards */
body.jm-theme ul.products .woocommerce-badges, body.jm-theme ul.products .ecomus-quickview-button { display: none !important; }
body.jm-theme ul.products li.product .product-inner { background: rgba(22, 23, 26, .55) !important; border-color: var(--jm-line) !important; box-shadow: none !important; }
body.jm-theme ul.products li.product .product-inner::before { display: none; }
body.jm-theme ul.products li.product:hover .product-inner { transform: none !important; border-color: rgba(255, 255, 255, .22) !important; }
body.jm-theme ul.products li.product .product-featured-icons { opacity: 0; transition: opacity .2s ease; }
body.jm-theme ul.products li.product:hover .product-featured-icons { opacity: 1; }
.jm-products ul.products { margin-bottom: 0 !important; }

/* Simpler footer */
.jm-footer { margin-top: 0; background: rgba(8, 9, 10, .9); }
.jm-footer::before { display: none; }
.jm-footer__inner { grid-template-columns: 1.6fr 1fr 1fr; padding-top: 64px; padding-bottom: 32px; }
.jm-footer__pitch { color: #8b9097; }
@media (max-width: 1024px) { .jm-footer__inner { grid-template-columns: 1fr 1fr; } .jm-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 600px) { .jm-footer__inner { grid-template-columns: 1fr; } }

/* Inner containers: no default side padding unless set (keeps text aligned with hero) */
.jm-theme .jm-sec .e-con.e-child:not(.jm-card):not(.jm-cta) {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
}
