/* ===== Generic pages (cart, checkout, account, legal) ===== */
.page-shell{padding:130px 0 40px;min-height:60vh}
.page-shell h1.page-title{font-size:42px;margin:0 0 28px}
.entry{color:#d4d4d8;line-height:1.7}
.entry a{color:var(--y)}
.entry h2,.entry h3{color:#fff;margin:28px 0 10px}
.entry p,.entry ul,.entry ol{margin-bottom:14px}
.entry ul,.entry ol{padding-left:22px}

/* banner with uploaded image */
.banner.img{padding:0;background:#111}
.banner.img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gal .g img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-art img.hero-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 60px rgba(0,0,0,.5))}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gal .g{cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.9);display:none;place-items:center;padding:30px;cursor:zoom-out}
.lightbox.on{display:grid}
.lightbox img{max-width:100%;max-height:100%;border-radius:12px}

/* shop archive */
.shop-head{padding:130px 0 30px;background:radial-gradient(800px 380px at 50% 0%,rgba(255,198,26,.3),transparent 65%)}
.shop-head h1{margin:0;font-size:48px}
.shop-head p{color:var(--muted);margin-top:8px}
.grid3 + .woocommerce-pagination,.woocommerce-pagination{margin-top:30px;text-align:center}
.woocommerce-pagination ul{display:inline-flex;gap:6px;list-style:none}
.woocommerce-pagination a,.woocommerce-pagination span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--card)}
.woocommerce-pagination .current{background:var(--y);color:#111}

/* ===== WooCommerce general ===== */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{background:var(--card)!important;border:1px solid var(--line)!important;border-left:4px solid var(--y)!important;color:#e4e4e7!important;border-radius:12px;padding:14px 18px;list-style:none;margin-bottom:18px}
.woocommerce-error{border-left-color:#f87171!important}
.woocommerce-message a.button,.woocommerce-info a.button{float:right}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link),.wp-element-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{
  background:var(--y)!important;color:#111!important;border:0!important;border-radius:999px!important;font-weight:700!important;padding:12px 22px!important;font-family:inherit!important;cursor:pointer;transition:transform .15s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.wc-block-components-button:not(.is-link):hover{transform:translateY(-1px)}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select,.woocommerce-page input.input-text,
.wc-block-components-text-input input,.wc-block-components-textarea,.wc-blocks-components-select__select,
.wc-block-components-combobox .components-combobox-control__input,.wc-block-components-form .wc-block-components-text-input input{
  background:#0f0f11!important;color:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important}
.wc-block-components-text-input label,.wc-block-components-combobox label,.wc-blocks-components-select__label{color:var(--muted)!important}
.woocommerce table.shop_table{border:1px solid var(--line)!important;border-radius:14px;overflow:hidden;border-collapse:separate;width:100%}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line)!important;padding:14px!important;color:#e4e4e7}
.woocommerce table.shop_table thead th{background:var(--card2)}

/* blocks cart / checkout */
.wc-block-cart,.wc-block-checkout,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{color:#e4e4e7}
.wc-block-components-sidebar .wc-block-components-panel,.wc-block-components-totals-wrapper,.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-cart .wc-block-cart__totals-title,.wc-block-components-order-summary{border-color:var(--line)!important}
.wc-block-components-sidebar{background:var(--card);border-radius:16px;padding:20px!important}
.wc-block-cart-items,.wc-block-cart-items th,.wc-block-cart-items td{border-color:var(--line)!important}
.wc-block-components-product-name{color:#fff!important;font-weight:700}
.wc-block-components-formatted-money-amount{color:#fff}
.wc-block-components-radio-control__option,.wc-block-components-radio-control-accordion-option{border-color:var(--line)!important;background:var(--card)!important}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{background:#0f0f11;border-color:#555}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--y);border-color:var(--y)}
.wc-block-components-checkout-step__title,.wc-block-components-title{color:#fff!important}
.wc-block-components-quantity-selector{border-color:var(--line)!important}
.wc-block-components-quantity-selector input{color:#fff!important;background:transparent!important}
.wc-block-components-quantity-selector button{color:#fff!important}
.wc-block-components-product-badge{border-color:var(--y)!important;color:var(--y)!important}

/* my account */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px 1fr;gap:30px}
.woocommerce-MyAccount-navigation ul{list-style:none;background:var(--card);border-radius:14px;padding:8px}
.woocommerce-MyAccount-navigation li a{display:block;padding:10px 14px;border-radius:10px;font-weight:600;color:#d4d4d8}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{background:rgba(255,198,26,.12);color:var(--y)}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce form.login,.woocommerce form.register{background:var(--card);border:1px solid var(--line)!important;border-radius:16px;padding:26px!important}
.woocommerce form .form-row label{color:var(--muted)}
#customer_login .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
#customer_login .col-1,#customer_login .col-2{width:auto!important;float:none!important}

@media (max-width:900px){
  .woocommerce-account .woocommerce,#customer_login .u-columns{grid-template-columns:1fr}
}

/* notice icon overlapping text */
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important}
.woocommerce-message,.woocommerce-info,.woocommerce-error{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.woocommerce-message::after,.woocommerce-info::after{display:none}
.woocommerce-message a.button,.woocommerce-info a.button{float:none;order:2}

/* cfx pill */
.pill.cfx-user{gap:8px;padding:5px 8px 5px 5px}
.pill.cfx-user img{width:26px;height:26px;border-radius:99px}
.cfx-out{opacity:.5;font-size:11px;padding:0 4px}.cfx-out:hover{opacity:1;color:var(--y)}

/* classic checkout (name + e-mail) */
.woocommerce-checkout .page-shell .wrap{max-width:980px}
form.checkout{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
form.checkout #customer_details,form.checkout #order_review_heading,form.checkout #order_review{grid-column:auto}
form.checkout #customer_details{background:var(--card);border-radius:16px;padding:24px}
form.checkout #customer_details .col-1,form.checkout #customer_details .col-2{width:100%!important;float:none!important}
form.checkout #order_review_heading{display:none}
form.checkout #order_review{background:var(--card);border-radius:16px;padding:24px}
.woocommerce-billing-fields h3{font-size:18px;margin-bottom:14px}
.woocommerce form .form-row{margin-bottom:14px}
.woocommerce form .form-row label{display:block;font-size:13px;margin-bottom:6px}
.woocommerce form .form-row input.input-text{width:100%;padding:12px 14px!important}
.form-row-first,.form-row-last{width:48%!important;display:inline-block}
.form-row-last{float:right}
#payment{background:transparent!important;border-radius:12px}
#payment ul.payment_methods{border-color:var(--line)!important;padding:0!important;list-style:none}
#payment div.payment_box{background:var(--card2)!important;color:#d4d4d8!important;border-radius:10px}
#payment div.payment_box::before{display:none}
#place_order{width:100%;margin-top:12px;font-size:16px!important;padding:15px!important}
.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper{font-size:12px;color:var(--muted)}
.woocommerce-additional-fields{display:none}
@media (max-width:900px){form.checkout{grid-template-columns:1fr}}

/* admin bar offset */
.admin-bar nav.top{top:32px}
@media (max-width:782px){.admin-bar nav.top{top:46px}}

/* currency switcher */
.cur{position:relative}
.cur>.pill{padding:9px 12px;color:#fff}
.cur-menu{position:absolute;right:0;top:calc(100% + 8px);background:#18181b;border:1px solid var(--line);border-radius:12px;padding:6px;display:none;grid-template-columns:1fr 1fr;gap:4px;min-width:200px;box-shadow:0 20px 40px -10px #000;z-index:70}
.cur.open .cur-menu{display:grid}
.cur-menu button{background:transparent;color:#e4e4e7;padding:8px 10px;border-radius:8px;text-align:left;font-weight:600;font-size:13px}
.cur-menu button:hover,.cur-menu button.on{background:rgba(255,198,26,.12);color:var(--y)}
.lm-est-row td{font-size:13px;color:var(--muted)!important;text-align:right}
.price .lm-price{font-weight:600}
@media (max-width:900px){.cur>.pill{padding:8px 10px}.nav-r .cfx-login{font-size:0;gap:0;padding:9px 11px}}

/* bigger logo */
nav.top .wrap{height:86px}
nav.top .logo{font-size:23px;gap:12px}
nav.top .logo img{width:54px;height:54px}
footer .logo img{width:46px;height:46px}
footer .logo{font-size:21px}
@media (max-width:900px){nav.top .wrap{height:70px}nav.top .logo img{width:42px;height:42px}nav.top .logo{font-size:19px}}

/* cards with add-to-cart */
.card{display:flex;flex-direction:column}
.card .card-link{display:block}
.card .info{display:flex;flex-direction:column;flex:1}
.card .info h5:hover{color:var(--y)}
.card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:6px}
.card-foot .price{margin-top:0}
.add-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1px solid var(--line);font-size:13px;font-weight:700;color:#e4e4e7;transition:.15s;white-space:nowrap}
.add-btn span{color:var(--y);font-size:16px;line-height:1}
.add-btn:hover{border-color:var(--y);color:var(--y)}
.add-btn.added{border-color:rgba(74,222,128,.4);color:#5ee08f}
[data-add].busy{opacity:.55;pointer-events:none}

/* side cart drawer */
.drawer-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:90}
.drawer-bg.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:#111113;border-left:1px solid var(--line);z-index:91;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.drawer.on{transform:none}
.dr-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line);letter-spacing:.08em;font-size:13px}
.dr-n{color:var(--y)}
.dr-x{background:none;color:#aaa;font-size:16px}.dr-x:hover{color:#fff}
.dr-items{flex:1;overflow-y:auto}
.dr-item{display:flex;gap:14px;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line);position:relative}
.dr-item.busy{opacity:.4}
.dr-th{width:96px;height:62px;border-radius:10px;flex:none;overflow:hidden;display:grid;place-items:center;font-weight:800;font-size:12px;color:var(--y);border:1px solid rgba(255,255,255,.08)}
.dr-th img{width:100%;height:100%;object-fit:cover}
.dr-th span{background:rgba(0,0,0,.55);padding:3px 6px;border-radius:6px}
.dr-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.dr-info b{font-size:15px}
.dr-info small{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dr-info .lm-price{font-weight:700;margin-top:4px}
.dr-rm{background:none;color:#777;font-size:13px;align-self:flex-start}.dr-rm:hover{color:#f87171}
.dr-empty{flex:1;display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted)}
.dr-foot{padding:18px 24px 24px;border-top:1px solid var(--line)}
.dr-row{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
.dr-total{color:#fff;font-weight:800;align-items:baseline}
.dr-total .lm-price{font-size:24px;letter-spacing:0}
.dr-note{font-size:11px;letter-spacing:.06em;color:var(--dim);margin:6px 0 16px;text-transform:uppercase}
.dr-go{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;border-radius:12px;background:linear-gradient(90deg,var(--y),#ff9f1a);color:#111;font-weight:800;font-size:15px;box-shadow:0 10px 30px -10px var(--y-glow)}
.dr-go:hover{filter:brightness(1.05)}
.dr-go .lm-price{color:#111}
.lm-count[hidden]{display:none}

.drawer-bg{z-index:2147483000}.drawer{z-index:2147483001}
.admin-bar .drawer{top:32px}@media (max-width:782px){.admin-bar .drawer{top:46px}}


/* copy: kickers, hero sub, manifesto, steps */
.kick{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--y);margin-bottom:12px}
.sh h3 .kick{display:inline;margin:0 10px 0 0;font-size:13px}
.hero-sub{color:#d9d2bb;font-size:18px;line-height:1.6;max-width:520px;margin:-10px 0 30px}
.manifesto{padding:90px 0 20px;text-align:center}
.manifesto h2{font-size:clamp(30px,4.4vw,52px);line-height:1.08;letter-spacing:-.035em;text-transform:uppercase;font-weight:800}
.manifesto h2 span{color:var(--y)}
.manifesto>p{color:var(--muted);font-size:17px;line-height:1.75;max-width:760px;margin:22px auto 0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px;text-align:left}
.step{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;position:relative;overflow:hidden}
.step .no{position:absolute;right:18px;top:8px;font-size:64px;font-weight:800;color:rgba(255,198,26,.1);letter-spacing:-.04em}
.step b{display:block;font-size:19px;margin-bottom:8px}
.step p{color:var(--muted);font-size:14.5px;line-height:1.6}
@media (max-width:900px){.steps{grid-template-columns:1fr}}

/* checkout grid with Stripe express buttons */
form.checkout{grid-template-columns:1fr 1.1fr;grid-auto-flow:row dense}
form.checkout>*{grid-column:1}
form.checkout>#order_review{grid-column:2;grid-row:1 / span 6}
form.checkout>#wc-stripe-express-checkout-element{background:var(--card);border-radius:16px;padding:18px 24px 6px}
#wc-stripe-express-checkout-button-separator{text-align:center;color:var(--dim);font-size:12px;letter-spacing:.12em;margin:4px 0}
#payment .wc_payment_method label{color:#fff;font-weight:700}
#payment .payment_box{padding:14px!important}
@media (max-width:900px){form.checkout>#order_review{grid-column:1;grid-row:auto}}

/* checkout polish */
.woocommerce-checkout .page-shell .wrap{max-width:1120px}
form.checkout{gap:22px 28px}
#wc-stripe-express-checkout-button-separator{margin:-8px 0 -6px!important;padding:0!important}
#payment ul.payment_methods,#payment ul.payment_methods li,#payment fieldset,#payment .wc-stripe-upe-form,#payment .woocommerce-SavedPaymentMethods-saveNew{border:0!important;box-shadow:none!important;background:transparent!important}
#payment div.payment_box{background:var(--card2)!important;border:1px solid var(--line)!important;margin:10px 0 0!important}
#payment div.payment_box::before,#payment div.payment_box::after,#payment ul.payment_methods li::before{display:none!important;content:none!important}
#payment .woocommerce-SavedPaymentMethods-saveNew{padding:10px 0 0!important;font-size:13px;color:var(--muted)}
#payment .woocommerce-SavedPaymentMethods-saveNew label{font-weight:500!important;color:var(--muted)!important;display:inline}
#payment input[type=checkbox]{accent-color:var(--y)}
#order_review h3,#order_review_heading{display:none}
.woocommerce-checkout #payment .wc_payment_method>label{display:none}
.woocommerce-checkout #payment::before{content:"Payment";display:block;font-weight:700;font-size:18px;margin:22px 0 4px;color:#fff}


/* checkout error near the button */
#lmPayErr:empty{display:none}
#lmPayErr{margin:12px 0;padding:12px 14px;border-radius:12px;background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.35);color:#fecaca;font-size:13.5px}
#lmPayErr ul,#lmPayErr li{list-style:none;margin:0;padding:0;background:none!important;border:0!important}
#lmPayErr a{color:#fff}
/* drawer discount */
.dr-disc{color:#5ee08f}.dr-disc[hidden]{display:none}

/* welcome coupon (right edge) */
.promo{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:80;display:flex;align-items:center;pointer-events:none}
.promo>*{pointer-events:auto}
.pr-tab{writing-mode:vertical-rl;transform:rotate(180deg);background:var(--y);color:#111;font-weight:800;font-size:13px;letter-spacing:.12em;padding:16px 10px;border-radius:0 12px 12px 0;box-shadow:0 10px 30px -8px var(--y-glow)}
.pr-card{width:290px;background:#141416;border:1px solid rgba(255,198,26,.35);border-right:0;border-radius:16px 0 0 16px;padding:22px 20px 18px;position:relative;box-shadow:0 30px 60px -20px #000;display:none}
.promo.open .pr-card{display:block;animation:prIn .35s cubic-bezier(.2,.8,.2,1)}
.promo.open .pr-tab{display:none}
@keyframes prIn{from{transform:translateX(40px);opacity:0}}
.pr-x{position:absolute;top:10px;right:12px;background:none;color:#888;font-size:13px}.pr-x:hover{color:#fff}
.pr-title{display:block;font-size:22px;line-height:1.15;letter-spacing:-.02em;margin-bottom:8px}
.pr-title em{font-style:normal;color:var(--y)}
.pr-card p{font-size:13.5px;color:var(--muted);line-height:1.5;margin-bottom:14px}
.pr-code{display:flex;justify-content:space-between;align-items:center;border:1.5px dashed rgba(255,198,26,.6);border-radius:12px;padding:10px 10px 10px 14px;margin-bottom:10px}
.pr-code span{font-size:20px;font-weight:800;letter-spacing:.14em;color:var(--y)}
.pr-copy{background:rgba(255,198,26,.14);color:var(--y);font-weight:700;font-size:12px;padding:7px 12px;border-radius:8px}
.pr-apply{width:100%;background:var(--y);color:#111;font-weight:800;padding:12px;border-radius:10px;font-size:14px}
.pr-msg{display:block;min-height:16px;margin-top:8px;font-size:12px;color:#5ee08f;text-align:center}
@media (max-width:600px){.pr-card{width:260px}}

/* keep spaces around protected words when translated */
.pr-card p .notranslate,.hero-sub .notranslate,.manifesto p .notranslate,.step p .notranslate,.perk .notranslate,.lead .notranslate,.badge .notranslate{margin:0 .18em}

/* legal pages + terms checkbox */
.entry h2{font-size:22px}
.entry ul li,.entry ol li{margin-bottom:6px}
.page-shell .entry{max-width:820px}
.woocommerce-terms-and-conditions-wrapper{margin:14px 0 4px}
.woocommerce-terms-and-conditions-wrapper .form-row{display:flex;gap:8px;align-items:flex-start}
.woocommerce-terms-and-conditions-wrapper label{font-size:12.5px;line-height:1.5;color:#c8c8cf!important}
.woocommerce-terms-and-conditions-wrapper a{color:var(--y)}
.woocommerce-terms-and-conditions{background:var(--card2)!important;border-radius:10px;padding:14px!important;font-size:12.5px;max-height:220px}

/* empty cart: hide default product grid with blank images */
.wp-block-woocommerce-empty-cart-block .wc-block-grid,.wp-block-woocommerce-empty-cart-block .wp-block-heading:not(:first-child),.wp-block-woocommerce-empty-cart-block hr{display:none!important}
.wp-block-woocommerce-empty-cart-block{text-align:center;padding:40px 0}

/* home hero: featured map */
.hero-art .hf{position:absolute;inset:6% 0 8% 4%;display:block;perspective:1400px}
.hf-frame{position:absolute;inset:0;border-radius:22px;overflow:hidden;transform:rotateY(-14deg) rotateX(4deg);transform-origin:60% 50%;
  box-shadow:0 40px 90px -20px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.12),0 0 80px -10px var(--y-glow);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.hf:hover .hf-frame{transform:rotateY(-6deg) rotateX(2deg) scale(1.02)}
.hf-frame img{width:100%;height:100%;object-fit:cover;display:block}
.hf-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.18),transparent 35%,transparent 70%,rgba(0,0,0,.35))}
.hf-new{top:-2%;left:-6%;width:250px}
.hf-new b{display:block;font-size:17px;color:#fff;margin-bottom:3px}
.hf-new span{display:block;color:var(--muted);font-size:11.5px;line-height:1.4}
.hf-list{top:34%;right:-5%;width:215px;animation-delay:-2s}
.hf-buy{bottom:0;left:2%;display:flex;align-items:center;gap:16px;width:auto;animation-delay:-4s}
.hf-buy .big{font-size:24px;font-weight:800;color:#fff}
.hf-buy .btn{padding:10px 18px;font-size:13px}
@media (max-width:900px){.hero-art{margin-top:20px}.hf-new{left:0}.hf-list{display:none}.hf-buy{left:0}}

/* hero feature uses the 16:9 cover */
.hero-art .hf{inset:auto;left:0;right:0;top:20%;aspect-ratio:16/9}
.hf-frame{transform:rotateY(-12deg) rotateX(3deg)}
.hf-new{top:4%;left:-4%}
.hf-list{top:auto;bottom:20%;right:-6%}
.hf-buy{bottom:4%;left:4%}
.hero-art .hf{left:-6%;right:-6%;top:18%}
.hf-list{display:none}
.hf-new{top:0;left:-8%}
.hf-buy{bottom:-4%;left:auto;right:-4%}
.hf-buy{bottom:-20%;right:2%}
.hero-art .hf{top:12%}
.p-shot{aspect-ratio:16/9}
