/*
Theme Name: Majestick Pro
Theme URI: https://majestickpro.com
Author: Majestick
Description: Luxury performance commerce theme for WooCommerce and Elementor.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: majestick-pro
License: GPL-2.0-or-later
*/

:root {
  --mj-ink: #101114;
  --mj-carbon: #1a1d21;
  --mj-ivory: #f7f3eb;
  --mj-champagne: #ddd1bb;
  --mj-gold: #b8914b;
  --mj-gold-light: #e1c27a;
  --mj-muted: #77736c;
  --mj-line-dark: rgba(247, 243, 235, .16);
  --mj-line-light: rgba(16, 17, 20, .14);
  --mj-display: "Cormorant Garamond", Georgia, serif;
  --mj-sans: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--mj-ivory); color: var(--mj-ink); font-family: var(--mj-sans); line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { height: auto; max-width: 100%; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.screen-reader-text:focus { clip: auto; clip-path: none; display: block; height: auto; left: 5px; top: 5px; width: auto; z-index: 100000; }
.mj-site { overflow: hidden; }
.mj-container { margin: 0 auto; max-width: 1320px; padding: 0 36px; }
.mj-eyebrow { color: var(--mj-gold); font-size: .68rem; font-weight: 700; letter-spacing: .2em; margin: 0 0 18px; text-transform: uppercase; }
.mj-title { font-family: var(--mj-display); font-size: clamp(3rem, 7vw, 7.5rem); font-weight: 500; letter-spacing: -.045em; line-height: .86; margin: 0; text-transform: uppercase; }
.mj-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background: transparent; border: 1px solid var(--mj-gold); border-radius: 0; color: var(--mj-gold); display: inline-flex; font-family: var(--mj-sans); font-size: .7rem; font-weight: 700; letter-spacing: .14em; padding: 15px 22px; text-transform: uppercase; transition: .25s ease; }
.mj-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--mj-gold); color: var(--mj-ink); }
.mj-button--gold { background: var(--mj-gold); color: var(--mj-ink); }
.mj-button--gold:hover { background: var(--mj-gold-light); }
.mj-header { background: var(--mj-ink); border-bottom: 1px solid var(--mj-line-dark); color: var(--mj-ivory); position: relative; z-index: 10; }
.mj-header__inner { align-items: center; display: grid; grid-template-columns: 1fr auto 1fr; min-height: 84px; }
.mj-brand { font-family: var(--mj-display); font-size: 1.65rem; letter-spacing: .1em; text-transform: uppercase; }
.mj-nav ul { display: flex; gap: 26px; list-style: none; margin: 0; padding: 0; }
.mj-nav a, .mj-header__tools a { font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.mj-header__tools { display: flex; gap: 18px; justify-content: flex-end; }
.mj-footer { background: var(--mj-ink); color: var(--mj-ivory); padding: 80px 0 28px; }
.mj-footer__grid { display: grid; gap: 36px; grid-template-columns: 2fr 1fr 1fr; }
.mj-footer h2 { font-family: var(--mj-display); font-size: 3rem; font-weight: 500; line-height: .9; margin: 0 0 15px; text-transform: uppercase; }
.mj-footer p, .mj-footer li { color: var(--mj-champagne); font-size: .85rem; }
.mj-footer ul { list-style: none; margin: 0; padding: 0; }
.mj-footer li + li { margin-top: 8px; }
.mj-footer__legal { border-top: 1px solid var(--mj-line-dark); color: #a7a39c; font-size: .7rem; margin-top: 55px; padding-top: 20px; }
.mj-page { min-height: 45vh; padding: 80px 0; }
.mj-page__title { font-family: var(--mj-display); font-size: clamp(3.5rem, 8vw, 8rem); font-weight: 500; line-height: .85; margin: 0 0 50px; text-transform: uppercase; }
.mj-hero { background: radial-gradient(circle at 70% 35%, #30343a 0, var(--mj-ink) 38%, #08090a 100%); color: var(--mj-ivory); min-height: min(860px, 86vh); padding: 110px 0 72px; position: relative; }
.mj-hero:after { border: 1px solid rgba(184,145,75,.38); border-radius: 50%; content: ""; height: min(65vw, 760px); position: absolute; right: -16vw; top: -220px; width: min(65vw, 760px); }
.mj-hero__content { max-width: 780px; position: relative; z-index: 1; }
.mj-hero__copy { color: var(--mj-champagne); font-size: 1rem; margin: 35px 0; max-width: 470px; }
.mj-hero__mark { bottom: 44px; color: rgba(247,243,235,.35); font-family: var(--mj-display); font-size: clamp(5rem, 19vw, 18rem); line-height: .7; position: absolute; right: 5vw; z-index: 0; }
.mj-intro { padding: 140px 0; }
.mj-intro__grid { align-items: end; display: grid; gap: 10%; grid-template-columns: 1.1fr .9fr; }
.mj-intro__text { color: #4d4a45; font-size: 1.15rem; max-width: 470px; }
.mj-armory { background: var(--mj-carbon); color: var(--mj-ivory); padding: 120px 0; }
.mj-armory__head { align-items: end; display: flex; justify-content: space-between; margin-bottom: 45px; }
.mj-armory__title { font-family: var(--mj-display); font-size: clamp(3.5rem, 8vw, 8rem); font-weight: 500; line-height: .84; margin: 0; text-transform: uppercase; }
.mj-collection-grid, .mj-product-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); }
.mj-collection-card, .mj-product-card { border: 1px solid var(--mj-line-dark); min-height: 360px; padding: 28px; position: relative; }
.mj-collection-card:before { background: linear-gradient(135deg, transparent, rgba(184,145,75,.2)); content: ""; inset: 0; position: absolute; }
.mj-collection-card > * { position: relative; }
.mj-collection-card h3 { font-family: var(--mj-display); font-size: 2.7rem; font-weight: 500; line-height: .85; margin: 0; text-transform: uppercase; }
.mj-collection-card p { bottom: 25px; color: var(--mj-champagne); font-size: .8rem; left: 28px; position: absolute; right: 28px; }
.mj-ritual { background: var(--mj-ivory); padding: 120px 0; }
.mj-ritual__grid { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); }
.mj-step { border-top: 1px solid var(--mj-line-light); padding-top: 18px; }
.mj-step span { color: var(--mj-gold); font-size: .7rem; font-weight: 700; letter-spacing: .15em; }
.mj-step h3 { font-family: var(--mj-display); font-size: 2rem; font-weight: 500; line-height: .9; text-transform: uppercase; }
.mj-step p { color: var(--mj-muted); font-size: .84rem; }
.mj-product-card { background: var(--mj-ink); display: flex; flex-direction: column; min-height: 420px; }
.mj-product-card__image { align-items: center; display: flex; flex: 1; justify-content: center; min-height: 220px; }
.mj-product-card__image img { max-height: 250px; object-fit: contain; }
.mj-product-card__name { font-family: var(--mj-display); font-size: 2rem; font-weight: 500; line-height: .9; margin: 12px 0 5px; text-transform: uppercase; }
.mj-product-card__meta, .mj-product-card__price { color: var(--mj-champagne); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.mj-product-card__price { color: var(--mj-gold-light); margin-top: auto; padding-top: 16px; }
.woocommerce .products { display: grid; gap: 20px; grid-template-columns: repeat(3,1fr); }
.woocommerce ul.products li.product { float: none; margin: 0; width: auto; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--mj-display); font-size: 2rem; font-weight: 500; line-height: .9; padding: 15px 0 4px; text-transform: uppercase; }
.woocommerce ul.products li.product .price { color: var(--mj-gold); font-size: .8rem; }
.woocommerce div.product { margin: 0; }
.woocommerce div.product .product_title { font-family: var(--mj-display); font-size: clamp(3rem,6vw,6rem); font-weight: 500; line-height: .85; text-transform: uppercase; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--mj-gold); font-size: 1rem; }
.woocommerce .quantity .qty { background: transparent; border: 1px solid var(--mj-line-light); min-height: 46px; }
.woocommerce div.product form.cart .button { min-height: 46px; }
.mj-specs { border-top: 1px solid var(--mj-line-light); margin-top: 42px; padding-top: 20px; }
.mj-specs h3 { font-family: var(--mj-display); font-size: 2rem; font-weight: 500; margin: 0 0 16px; text-transform: uppercase; }
.mj-specs dl { display: grid; gap: 0; grid-template-columns: repeat(2, 1fr); margin: 0; }
.mj-specs dt, .mj-specs dd { border-top: 1px solid var(--mj-line-light); font-size: .78rem; margin: 0; padding: 10px 0; }
.mj-specs dt { color: var(--mj-muted); letter-spacing: .08em; text-transform: uppercase; }
.mj-configurator { border: 1px solid var(--mj-line-light); margin: 38px 0; padding: 26px; }
.mj-configurator h3 { font-family: var(--mj-display); font-size: 2rem; font-weight: 500; margin: 0 0 8px; text-transform: uppercase; }
.mj-configurator p { color: var(--mj-muted); font-size: .85rem; }
.mj-configurator select { background: white; border: 1px solid var(--mj-line-light); border-radius: 0; display: block; margin: 8px 0 18px; min-height: 45px; padding: 0 12px; width: 100%; }
@media (max-width: 760px) { .mj-container { padding: 0 20px; } .mj-header__inner { grid-template-columns: 1fr auto; } .mj-nav { display: none; } .mj-header__tools { gap: 10px; } .mj-footer__grid, .mj-intro__grid, .mj-collection-grid, .mj-product-grid, .woocommerce .products, .mj-ritual__grid { grid-template-columns: 1fr; } .mj-hero { min-height: 650px; padding-top: 90px; } .mj-armory__head { align-items: flex-start; flex-direction: column; gap: 22px; } .mj-intro, .mj-armory, .mj-ritual { padding: 80px 0; } }
