/* Maghreb Jerseys — WooCommerce: header cart, product page (.mjp), category grids,
   cart and checkout. Tokens come from style.css (:root --mj-*). */

/* ===== Header cart ===== */
.mj-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--mj-line-2);border-radius:50%;color:var(--mj-navy);flex:none;margin-inline-start:4px;transition:border-color .25s,background .25s}
.mj-cart:hover{border-color:var(--mj-navy);background:var(--mj-card);color:var(--mj-navy)}
.mj-cart__n{position:absolute;top:-4px;inset-inline-end:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--mj-gold);color:var(--mj-navy);font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 0 2px var(--mj-bg)}
@media (max-width:900px){
  .mj-header .mj-cart{order:1;margin-inline-start:auto}
  .mj-header .mj-burger{order:2;margin-inline-start:8px}
  .mj-header .mj-nav,.mj-header .mj-actions{order:3}
}

/* ===== Shared WooCommerce ===== */
.mj-woo{padding-block:28px 0}
.woocommerce .woocommerce-breadcrumb{font-family:var(--mj-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mj-muted);margin:0 0 28px}
.woocommerce .woocommerce-breadcrumb a{color:var(--mj-muted);text-decoration:none;transition:color .2s}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--mj-navy)}
.woocommerce-products-header__title{font-family:var(--mj-display);font-weight:600;font-size:clamp(34px,4.4vw,56px);letter-spacing:-.035em;color:var(--mj-navy);margin:0 0 28px}

.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.wc-block-components-button:not(.is-link){background:var(--mj-navy);color:#F7F4EE;border:1px solid var(--mj-navy);border-radius:999px;font-family:var(--mj-sans);font-weight:600;font-size:15px;padding:14px 26px;line-height:1.2;transition:background .25s,transform .3s var(--mj-ease)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.wc-block-components-button:not(.is-link):hover{background:var(--mj-navy-2);border-color:var(--mj-navy-2);color:#F7F4EE}
.woocommerce span.onsale{min-width:0;min-height:0;line-height:1;padding:6px 11px;border-radius:999px;background:var(--mj-navy);color:var(--mj-gold-2);font-size:11.5px;font-weight:700;top:14px;left:14px;right:auto;margin:0}
.woocommerce .price del{color:#A39A87;font-weight:400;opacity:1}
.woocommerce .price ins{text-decoration:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top:0;border-inline-start:3px solid var(--mj-gold);border-radius:var(--mj-r-sm);background:var(--mj-card);box-shadow:var(--mj-shadow);font-size:14.5px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--mj-gold-ink)}
.woocommerce-message .button{float:right;padding:9px 18px;font-size:13.5px}

/* ===== Category / tag archives ===== */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 20px;margin:0 0 64px}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;position:relative;display:flex;flex-direction:column}
.woocommerce ul.products li.product a img{margin:0 0 14px;border-radius:var(--mj-r);aspect-ratio:4/5;object-fit:contain;padding:12%;background:radial-gradient(70% 55% at 50% 40%,#fff 0,transparent 75%),var(--mj-bg-2);transition:box-shadow .5s var(--mj-ease)}
.woocommerce ul.products li.product a:hover img{box-shadow:var(--mj-shadow-lg)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--mj-display);font-weight:600;font-size:16.5px;letter-spacing:-.02em;color:var(--mj-navy);padding:0;margin:0}
.woocommerce ul.products li.product .price{font-family:var(--mj-display);font-weight:700;color:var(--mj-navy);font-size:16px;margin:6px 0 12px}
.woocommerce ul.products li.product .button{margin-top:auto;align-self:flex-start;padding:10px 18px;font-size:13.5px}
.woocommerce .woocommerce-ordering select{border:1px solid var(--mj-line-2);background:var(--mj-card);padding:9px 14px;border-radius:999px;font:inherit;font-size:14px}
.woocommerce .woocommerce-result-count{font-family:var(--mj-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mj-muted)}

/* ===== Product page ===== */
.woocommerce div.product.mjp{display:block;margin:0}
.mjp-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:64px;align-items:start}

/* gallery stage */
.mjp-stage{position:sticky;top:104px;border-radius:24px;padding:28px;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(60% 48% at 50% 44%,#FFFFFF 0,rgba(255,255,255,0) 72%),
    radial-gradient(90% 55% at 50% 112%,color-mix(in srgb,var(--c1,#C9A24B) 38%,transparent),transparent 70%),
    radial-gradient(60% 40% at 100% 0,color-mix(in srgb,var(--c2,#0B1B33) 16%,transparent),transparent 70%),
    linear-gradient(180deg,#F4EFE6 0%,#E8E0D2 100%)}
.mjp-stage__mark{position:absolute;z-index:-1;width:78%;left:11%;top:6%;opacity:.06;filter:grayscale(1);pointer-events:none}
.mjp-stage__off{position:absolute;z-index:3;top:22px;left:22px;padding:7px 13px;border-radius:999px;background:var(--mj-navy);color:var(--mj-gold-2);font-size:12.5px;font-weight:700;letter-spacing:.02em}
.woocommerce div.product.mjp div.images{float:none;width:auto;margin:0;opacity:1!important}
.mjp .woocommerce-product-gallery{position:relative}
.mjp .woocommerce-product-gallery__wrapper{margin:0}
.mjp .woocommerce-product-gallery__image a{display:block}
.mjp .woocommerce-product-gallery__image img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;padding:5%;background:transparent!important;filter:drop-shadow(0 34px 38px rgba(14,22,38,.22))}
.mjp .woocommerce-product-gallery__trigger{top:0!important;right:0!important;width:42px!important;height:42px!important;border-radius:50%!important;background:rgba(255,253,249,.9)!important;box-shadow:var(--mj-shadow)}
.mjp .flex-control-thumbs{display:flex;justify-content:center;gap:10px;margin:18px 0 0!important;padding:0}
.mjp .flex-control-thumbs li{width:70px!important;float:none!important;list-style:none}
.mjp .flex-control-thumbs li img{border-radius:14px;background:rgba(255,253,249,.75);padding:8px;border:1px solid transparent;opacity:.65!important;transition:opacity .25s,border-color .25s;cursor:pointer}
.mjp .flex-control-thumbs li img.flex-active,.mjp .flex-control-thumbs li img:hover{opacity:1!important;border-color:var(--mj-gold)}

/* summary */
.mjp-summary{padding-top:8px}
.mjp-team{display:flex;align-items:center;gap:14px}
.mjp-team__crest{width:52px;height:52px;border-radius:50%;background:var(--mj-card);box-shadow:var(--mj-shadow);display:flex;align-items:center;justify-content:center;flex:none}
.mjp-team__crest img{width:62%;height:62%;object-fit:contain}
.mjp-team b{display:block;font-family:var(--mj-display);font-weight:600;font-size:15.5px;color:var(--mj-navy);letter-spacing:-.01em}
.mjp-team small{font-family:var(--mj-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mj-muted)}
.mjp-title{font-family:var(--mj-display);font-weight:600;font-size:clamp(40px,4.6vw,66px);line-height:.98;letter-spacing:-.045em;color:var(--mj-navy);margin:26px 0 0;text-wrap:balance}
.mjp-title em{display:inline-block}
.mjp-season{font-family:var(--mj-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mj-muted);margin:16px 0 0}
.mjp-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin:28px 0 0;padding-top:24px;border-top:1px solid var(--mj-line)}
.mjp-price b{font-family:var(--mj-display);font-weight:700;font-size:36px;letter-spacing:-.03em;color:var(--mj-navy)}
.mjp-price del{font-size:17px;color:#A39A87}
.mjp-save{align-self:center;font-size:12.5px;font-weight:600;color:#2E7D55;background:rgba(62,155,107,.12);padding:5px 11px;border-radius:999px}
.mjp-lead{font-size:16px;line-height:1.7;color:var(--mj-muted);margin:18px 0 0;max-width:520px}

/* buy box */
.mjp-buy{margin-top:28px}
.woocommerce .mjp form.cart{margin:0;padding:0;background:none;border:0}
.woocommerce .mjp form.cart .variations{margin:0;border:0;width:100%}
.woocommerce .mjp form.cart .variations tr{display:block}
.woocommerce .mjp form.cart .variations th,.woocommerce .mjp form.cart .variations td{display:block;padding:0;line-height:1.4;text-align:start}
.woocommerce .mjp form.cart .variations th label{font-family:var(--mj-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mj-muted);font-weight:400}
.mjp select.mjp-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.mjp .reset_variations{display:none!important}
.mjp-sizes{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.mjp-sizes button{min-width:60px;height:52px;padding:0 16px;border-radius:14px;border:1px solid var(--mj-line-2);background:var(--mj-card);color:var(--mj-navy);font:inherit;font-weight:600;font-size:15px;cursor:pointer;transition:border-color .2s,background .2s,color .2s,transform .2s var(--mj-ease)}
.mjp-sizes button:hover{border-color:var(--mj-navy);transform:translateY(-1px)}
.mjp-sizes button.is-on{background:var(--mj-navy);border-color:var(--mj-navy);color:#F7F4EE}
.mjp-sizes button:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.mjp .single_variation_wrap .woocommerce-variation-price,.mjp .single_variation_wrap .woocommerce-variation-availability,.mjp .single_variation_wrap .woocommerce-variation-description{display:none}
.mjp .woocommerce-variation-add-to-cart,.woocommerce .mjp form.cart:not(.variations_form){display:flex;gap:10px;align-items:stretch;margin-top:22px}
.woocommerce .mjp form.cart div.quantity{float:none;margin:0}
.woocommerce .mjp .quantity .qty{width:86px;height:58px;border:1px solid var(--mj-line-2);border-radius:999px;background:var(--mj-card);font:inherit;font-size:16px;text-align:center}
.woocommerce .mjp form.cart .single_add_to_cart_button{float:none;flex:1;height:58px;padding:0 28px;font-size:16px;letter-spacing:.01em}
.woocommerce .mjp form.cart .single_add_to_cart_button.disabled{opacity:.4;cursor:not-allowed}

.mjp-perks{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mjp-perks li{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:var(--mj-r);background:var(--mj-card);border:1px solid var(--mj-line)}
.mjp-perks svg{width:24px;height:24px;flex:none;fill:none;stroke:var(--mj-gold-ink);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
.mjp-perks span{font-size:12.5px;line-height:1.45;color:var(--mj-muted)}
.mjp-perks b{display:block;font-size:14px;color:var(--mj-navy);font-weight:600;margin-bottom:2px}

.mjp-acc{margin-top:32px;border-top:1px solid var(--mj-line)}
.mjp-acc details{border-bottom:1px solid var(--mj-line)}
.mjp-acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 2px;font-family:var(--mj-display);font-weight:600;font-size:17px;letter-spacing:-.01em;color:var(--mj-navy)}
.mjp-acc summary::-webkit-details-marker{display:none}
.mjp-acc summary span{font-family:var(--mj-sans);font-weight:400;color:var(--mj-muted);margin-inline-start:4px;margin-inline-end:auto}
.mjp-acc summary::after{content:"";width:12px;height:12px;flex:none;background:linear-gradient(currentColor,currentColor) center/12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 12px no-repeat;transition:transform .35s var(--mj-ease)}
.mjp-acc details[open] summary::after{transform:rotate(45deg)}
.mjp-acc__body{padding:0 2px 22px;font-size:15px;line-height:1.7;color:var(--mj-muted)}
.mjp-acc__body p{margin:0 0 10px}
.mjp-acc__body ul{margin:0;padding-inline-start:18px}
.mjp-acc__body li{margin:4px 0}
.mjp-acc__body #reviews h2,.mjp-acc__body .woocommerce-Reviews-title{font-size:16px;font-family:var(--mj-display);color:var(--mj-navy)}
.mjp-acc__body #review_form_wrapper input[type=text],.mjp-acc__body #review_form_wrapper input[type=email],.mjp-acc__body #review_form_wrapper textarea{width:100%;border:1px solid var(--mj-line-2);border-radius:var(--mj-r-sm);padding:10px 12px;font:inherit;background:var(--mj-card)}
.mjp-sku{font-family:var(--mj-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#A39A87;margin:20px 0 0}

.mjp-more{padding:112px 0 104px}

/* sticky buy bar on phones */
.mjp-sticky{display:none}
@media (max-width:900px){
  .mjp-sticky{display:flex;align-items:center;gap:12px;position:fixed;z-index:60;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:10px 10px 10px 12px;border-radius:999px;background:rgba(11,27,51,.94);color:#F7F4EE;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 40px -16px rgba(0,0,0,.5);transform:translateY(140%);transition:transform .45s var(--mj-ease)}
  .mjp-sticky.is-on{transform:none}
  .mjp-sticky img{width:44px;height:44px;border-radius:50%;object-fit:contain;background:#F4EFE6;padding:4px}
  .mjp-sticky span{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
  .mjp-sticky b{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mjp-sticky small{font-size:13px;color:var(--mj-gold-2)}
  .mjp-sticky a{padding:12px 20px;border-radius:999px;background:var(--mj-gold);color:var(--mj-navy);font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap}
}

/* ===== Cart & checkout (blocks) ===== */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{font-family:var(--mj-sans)}
.wc-block-components-title,.wc-block-cart__totals-title{font-family:var(--mj-display)!important;font-weight:600!important;letter-spacing:-.02em;color:var(--mj-navy)}
.wc-block-components-product-name{color:var(--mj-navy);font-weight:600;text-decoration:none}
.wc-block-cart-item__image img,.wc-block-components-order-summary-item__image img{background:var(--mj-bg-2);border-radius:12px;padding:4px}
.wc-block-components-totals-item__value,.wc-block-components-product-price{font-family:var(--mj-display);font-weight:700}
.wc-block-components-text-input input,.wc-block-components-combobox .components-combobox-control input,.wc-block-components-textarea{border-color:var(--mj-line-2)!important;border-radius:12px!important;background:var(--mj-card)!important}
.wc-block-components-radio-control__option,.wc-block-components-radio-control-accordion-option{border-radius:12px!important}
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button,.wc-block-cart__submit-button{min-height:56px;font-size:16px}
.woocommerce-cart .mj-entry,.woocommerce-checkout .mj-entry,.woocommerce-account .mj-entry{max-width:1180px}
.woocommerce-cart .mj-entry h1,.woocommerce-checkout .mj-entry h1,.woocommerce-account .mj-entry h1{font-weight:600;letter-spacing:-.035em}

/* ===== Live event colours ===== */
.has-event .woocommerce .mjp form.cart .single_add_to_cart_button,.has-event .wc-block-components-button:not(.is-link){background:var(--ev);border-color:var(--ev);color:var(--ev-ink)}
.has-event .mjp-sizes button.is-on{background:var(--ev);border-color:var(--ev);color:var(--ev-ink)}
.has-event .mj-cart__n,.has-event .mjp-stage__off,.has-event .woocommerce span.onsale{background:var(--ev-accent);color:var(--ev-accent-ink)}

/* ===== Responsive ===== */
@media (max-width:1100px){
  .mjp-hero{gap:40px}
  .mjp-perks{grid-template-columns:1fr}
  .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .mjp-hero{grid-template-columns:1fr;gap:28px}
  .mjp-stage{position:relative;top:0;padding:18px;border-radius:20px}
  .mjp-title{font-size:clamp(34px,9vw,48px)}
  .mjp-price b{font-size:30px}
  .mjp-perks{grid-template-columns:1fr}
  .mjp-more{padding:80px 0 120px}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}
}
