/* ==========================================================================
   Mahjong Springs: WooCommerce styling
   Shop grid, single product, cart, checkout (classic + blocks), my account.
   ========================================================================== */
.woocommerce,.woocommerce-page{--wc-primary:#16244F;--wc-primary-text:#fff;--wc-secondary:#F4EEE4;--wc-secondary-text:#16244F;--wc-highlight:#F0287E;--wc-highligh-text:#fff;--wc-content-bg:#fff;--wc-subtext:#5B6585;--wc-form-border-color:#CFC5B2;--wc-form-border-radius:0}
.ms-woo .content-area{padding-top:64px}
.ms-woo-crumbs{padding-top:34px}
.woocommerce .woocommerce-breadcrumb,.ms-breadcrumb{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0}
.ms-breadcrumb a{color:var(--navy)}
.ms-breadcrumb a:hover{color:var(--pink)}
.ms-breadcrumb .sep{margin:0 10px;color:#C5BBA8}

/* buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt,
.woocommerce-page .wp-element-button,.wc-block-components-button:not(.is-link),.wp-block-woocommerce-cart .wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{
  background:var(--navy)!important;color:#fff!important;border:1px solid var(--navy)!important;border-radius:0!important;
  font-family:var(--sans)!important;font-size:12px!important;letter-spacing:.24em!important;text-transform:uppercase!important;font-weight:500!important;
  padding:0 30px!important;min-height:54px;line-height:52px!important;height:auto;box-shadow:none!important;text-decoration:none!important;transition:background .2s,border-color .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.wc-block-components-button:not(.is-link):hover{background:var(--pink)!important;border-color:var(--pink)!important;color:#fff!important}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.5}
.woocommerce .single_add_to_cart_button.button.alt{background:var(--pink)!important;border-color:var(--pink)!important}
.woocommerce .single_add_to_cart_button.button.alt:hover{background:#D41A6B!important;border-color:#D41A6B!important}
.woocommerce a.added_to_cart{display:inline-block;margin-left:12px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--pink);padding:0}

/* toolbar */
.woocommerce .woocommerce-result-count{font-size:13px;color:var(--muted);margin:0 0 40px;line-height:44px}
.woocommerce .woocommerce-ordering{margin:0 0 40px}
.woocommerce .woocommerce-ordering select,.woocommerce select,.select2-container .select2-selection--single{height:44px;border:1px solid #CFC5B2;border-radius:0;background-color:#fff;padding:0 36px 0 14px;font-size:13px;color:var(--navy)}
.select2-container .select2-selection--single .select2-selection__rendered{line-height:42px;padding-left:0}
.select2-container .select2-selection--single .select2-selection__arrow{height:42px}

/* product grid */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:56px 28px;margin:0 0 40px!important;padding:0!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,1fr)}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,1fr)}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto!important;float:none!important;margin:0!important;padding:0;position:relative;text-align:left;display:flex;flex-direction:column}
.woocommerce ul.products li.product a img{aspect-ratio:4/5;object-fit:cover;width:100%;margin:0 0 22px!important;background:var(--paper);transition:transform .6s ease}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block;overflow:hidden}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product h3{font-family:var(--serif)!important;font-size:27px!important;font-weight:500;line-height:1.1;color:var(--navy);padding:0!important;margin:0 0 6px!important}
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title{color:var(--pink)}
.woocommerce ul.products li.product .price{color:var(--navy)!important;font-size:15px!important;font-weight:500;margin:0 0 18px!important;display:block}
.woocommerce ul.products li.product .price del{color:var(--muted);opacity:.8;font-weight:400;margin-right:6px}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--pink);font-weight:500}
.woocommerce ul.products li.product .button{margin-top:auto!important;align-self:flex-start;min-height:46px;line-height:44px!important;padding:0 22px!important;background:transparent!important;color:var(--navy)!important}
.woocommerce ul.products li.product .button:hover{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}
.woocommerce ul.products li.product .star-rating{margin:0 0 8px;font-size:.8em;color:var(--pink)}
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{background:var(--pink)!important;color:#fff;border-radius:0!important;min-width:0!important;min-height:0!important;line-height:1.6!important;padding:7px 11px!important;font-size:10px!important;letter-spacing:.24em;text-transform:uppercase;font-weight:500;top:18px!important;left:18px!important;right:auto!important;margin:0!important}
.woocommerce ul.products li.product .onsale{position:absolute;z-index:2}
.woocommerce nav.woocommerce-pagination ul{border:0}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 4px}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:42px;height:42px;line-height:42px;padding:0 12px;border:1px solid var(--line);color:var(--navy)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--navy);color:#fff;border-color:var(--navy)}
.woocommerce .woocommerce-info,.woocommerce .woocommerce-message,.woocommerce .woocommerce-error,.woocommerce-noreviews,.woocommerce .woocommerce-notice{border-top:2px solid var(--pink)!important;background:#fff!important;color:var(--navy)!important;font-size:15px;border-radius:0}
.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-message::before{color:var(--pink)!important}
.woocommerce .woocommerce-error{border-top-color:#C8005F!important}
.wc-block-components-notice-banner{border-radius:0!important}
.woocommerce-store-notice,p.demo_store{background:var(--navy-deep)!important;font-size:12px;letter-spacing:.14em;text-transform:uppercase}

/* single product */
.woocommerce div.product{display:grid;grid-template-columns:1.1fr 1fr;gap:28px 88px;align-items:start;margin-top:8px}
.woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product div.images{width:100%!important;float:none!important;margin:0!important}
.woocommerce div.product div.summary{width:100%!important;float:none!important;margin:0!important;position:sticky;top:24px}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product div.images img{background:var(--paper)}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:12px}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto!important;float:none!important}
.woocommerce div.product div.images .flex-control-thumbs li img{opacity:.6}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,.woocommerce div.product div.images .flex-control-thumbs li img:hover{opacity:1}
.woocommerce div.product .woocommerce-product-gallery__trigger{background:#fff;border-radius:50%;box-shadow:0 6px 18px -8px rgba(14,26,60,.4)}
.woocommerce div.product .product_title{font-family:var(--serif);font-weight:400;font-size:64px;line-height:1;letter-spacing:-.015em;color:var(--navy);margin:0 0 18px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--navy)!important;font-size:22px!important;font-weight:500;margin:0 0 26px}
.woocommerce div.product p.price del{color:var(--muted);opacity:.8;font-weight:400;font-size:.8em;margin-right:8px}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--pink)}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:17px;line-height:1.8;color:var(--muted);font-weight:300;margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-product-details__short-description p{margin:0 0 .8em}
.woocommerce div.product form.cart{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin:0 0 32px!important}
.woocommerce div.product form.cart::before,.woocommerce div.product form.cart::after{display:none}
.woocommerce div.product form.cart div.quantity{float:none!important;margin:0!important}
.woocommerce .quantity .qty{width:84px;height:54px;border:1px solid var(--navy);border-radius:0;background:#fff;text-align:center;font-size:16px;color:var(--navy)}
.woocommerce div.product form.cart .button{float:none!important;flex:1;min-width:220px}
.woocommerce div.product form.cart .variations{margin-bottom:16px;width:100%}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{padding:8px 0;text-align:left;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.woocommerce div.product .product_meta{font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.woocommerce div.product .product_meta a{color:var(--navy);border-bottom:1px solid var(--pink)}
.woocommerce div.product .stock{color:var(--green);font-size:13px}
.woocommerce div.product .stock.out-of-stock{color:#C8005F}
.woocommerce div.product .woocommerce-tabs{margin-top:72px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 32px!important;border-bottom:1px solid var(--line);display:flex;gap:36px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:0 0 16px!important;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500!important;color:var(--muted)!important;border-bottom:2px solid transparent;margin-bottom:-1px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--navy)!important;border-bottom-color:var(--pink)}
.woocommerce div.product .woocommerce-tabs .panel{font-size:17px;line-height:1.85;color:#2E3A63;font-weight:300;max-width:820px}
.woocommerce div.product .woocommerce-tabs .panel h2:first-child{display:none}
.woocommerce div.product .woocommerce-tabs .panel p{margin:0 0 1em}
.woocommerce table.shop_attributes{border:0}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border-bottom:1px solid var(--line)!important;padding:12px!important;font-style:normal;background:none!important}
.woocommerce div.product .related>h2,.woocommerce div.product .upsells>h2,.woocommerce .cross-sells>h2{font-family:var(--serif);font-weight:400;font-size:48px;line-height:1;color:var(--navy);margin:96px 0 40px;padding-top:72px;border-top:1px solid var(--line)}
#reviews #comments h2,.woocommerce #review_form #respond .comment-reply-title{font-family:var(--serif);font-size:30px;font-weight:400;color:var(--navy)}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border-color:var(--line);border-radius:0}
.woocommerce .star-rating span,.woocommerce p.stars a{color:var(--pink)}

/* forms */
.woocommerce form .form-row label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--navy);margin-bottom:6px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce-page form .form-row input.input-text{border:1px solid #CFC5B2;border-radius:0;background:#fff;padding:13px 15px;font-size:15px;color:var(--ink)}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 2px var(--pink-soft)}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.checkout_coupon,.woocommerce form.lost_reset_password{border:1px solid var(--line)!important;border-radius:0!important;background:#fff;padding:36px!important}
.woocommerce-account .woocommerce>h2,.woocommerce-account #customer_login h2{font-family:var(--serif);font-weight:400;font-size:36px;color:var(--navy);margin:0 0 20px}

/* classic cart & checkout */
.woocommerce table.shop_table{border:0;border-top:1px solid var(--navy);border-radius:0;border-collapse:collapse;background:#fff}
.woocommerce table.shop_table th{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--navy);padding:18px 14px}
.woocommerce table.shop_table td{border-top:1px solid var(--line);padding:20px 14px;color:var(--ink)}
.woocommerce table.shop_table td.product-name a{font-family:var(--serif);font-size:22px;color:var(--navy)}
.woocommerce table.cart img{width:84px;aspect-ratio:4/5;object-fit:cover}
.woocommerce a.remove{color:var(--pink)!important;font-weight:300}
.woocommerce a.remove:hover{background:var(--pink);color:#fff!important}
.woocommerce .cart-collaterals .cart_totals h2,.woocommerce-checkout h3,#order_review_heading{font-family:var(--serif);font-weight:400;font-size:34px;color:var(--navy);margin:0 0 20px}
.woocommerce-checkout #payment{background:var(--paper)!important;border-radius:0!important}
.woocommerce-checkout #payment div.payment_box{background:#fff!important;border-radius:0}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff!important}

/* blocks cart & checkout */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{font-family:var(--sans);color:var(--ink)}
.wc-block-components-title,.wc-block-cart__totals-title,.wc-block-components-checkout-step__title{font-family:var(--serif)!important;font-weight:500!important;color:var(--navy)!important;letter-spacing:0!important;text-transform:none!important}
.wc-block-cart__totals-title{font-size:13px!important;font-family:var(--sans)!important;letter-spacing:.22em!important;text-transform:uppercase!important}
.wc-block-components-checkout-step__title{font-size:28px!important}
.wc-block-components-product-name{font-family:var(--serif)!important;font-size:22px!important;color:var(--navy)!important;text-decoration:none!important}
.wc-block-cart-items__header{font-size:11px;letter-spacing:.22em}
.wc-block-cart-items{border-top:1px solid var(--navy)!important}
.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input,.wc-blocks-components-select .wc-blocks-components-select__select,.wc-block-components-textarea{border-radius:0!important;border-color:#CFC5B2!important;background:#fff!important}
.wc-block-components-text-input.is-active input,.wc-block-components-text-input input:focus{border-color:var(--navy)!important;box-shadow:0 0 0 1px var(--navy)!important}
.wc-block-components-sidebar .wc-block-components-panel,.wc-block-components-totals-wrapper{border-color:var(--line)!important}
.wc-block-components-formatted-money-amount{color:var(--navy)}
.wc-block-components-product-badge{border-radius:0!important;border-color:var(--pink)!important;color:var(--pink)!important;font-size:10px!important;letter-spacing:.16em}
.wc-block-components-quantity-selector{border-radius:0!important}
.wc-block-components-quantity-selector::after{border-radius:0!important;border-color:#CFC5B2!important}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{font-family:var(--serif);font-weight:400;font-size:40px;color:var(--navy)}
.wc-block-grid__product-title{font-family:var(--serif);font-size:22px;color:var(--navy)}
.wc-block-components-radio-control__option,.wc-block-components-radio-control-accordion-option{border-radius:0!important}
.wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button{color:var(--navy)}

/* my account */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:64px}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:auto!important}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--navy)}
.woocommerce-MyAccount-navigation li a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--navy)}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{color:var(--pink)}
.woocommerce-account .woocommerce .woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-account #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.woocommerce-account #customer_login::before,.woocommerce-account #customer_login::after{display:none}
.woocommerce-account #customer_login .u-column1,.woocommerce-account #customer_login .u-column2{width:auto;float:none}

/* responsive */
@media (max-width:1100px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr)}
  .woocommerce div.product{grid-template-columns:1fr;gap:40px}
  .woocommerce div.product div.summary{position:static}
  .woocommerce-account .woocommerce{grid-template-columns:1fr;gap:36px}
}
@media (max-width:720px){
  .woocommerce ul.products,.woocommerce-page ul.products,.woocommerce ul.products.columns-3{grid-template-columns:repeat(2,1fr);gap:36px 14px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:21px!important}
  .woocommerce ul.products li.product a img{margin-bottom:14px!important}
  .woocommerce ul.products li.product .button{padding:0 14px!important;font-size:10.5px!important;letter-spacing:.16em!important;min-height:40px;line-height:38px!important}
  .woocommerce span.onsale,.woocommerce ul.products li.product .onsale{top:10px!important;left:10px!important;font-size:8.5px!important;padding:5px 8px!important}
  .woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{float:none;margin:0 0 16px}
  .woocommerce .woocommerce-ordering select{width:100%}
  .woocommerce div.product .product_title{font-size:42px}
  .woocommerce div.product .woocommerce-tabs ul.tabs{gap:20px;overflow-x:auto}
  .woocommerce div.product .related>h2,.woocommerce div.product .upsells>h2{font-size:36px;margin-top:64px;padding-top:48px}
  .woocommerce-account #customer_login{grid-template-columns:1fr}
  .woocommerce form.login,.woocommerce form.register{padding:24px!important}
  .woocommerce table.shop_table_responsive tr td::before{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
}
