/* WooCommerce archive */
.shop-hero { position: relative; padding: clamp(92px,11vw,170px) 0 70px; overflow: hidden; color: #fff; background: var(--m-dark); }
.shop-hero::before { content: ""; position: absolute; width: 620px; height: 620px; right: -160px; top: -300px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 90px rgba(255,255,255,.02),0 0 0 180px rgba(255,255,255,.014); }
.shop-hero .container { position: relative; z-index: 2; }
.shop-hero h1 { margin-bottom: 48px; font-size: clamp(3.2rem,7vw,7.6rem); }
.shop-hero-bottom { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.18); }
.shop-hero-bottom p { max-width: 620px; margin: 0; color: rgba(255,255,255,.58); }
.shop-hero-bottom > span { color: #bba773; font-size: 9px; font-weight: 700; letter-spacing: .2em; }
.shop-content { background: var(--m-bg); }
.shop-toolbar { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 44px; padding: 12px 0; border-top: 1px solid var(--m-line); border-bottom: 1px solid var(--m-line); }
.shop-toolbar::after { display: none; }
.shop-toolbar .woocommerce-result-count { margin: 0; color: var(--m-muted); font-size: 11px; }
.shop-toolbar .woocommerce-ordering { margin: 0; }
.shop-toolbar select { min-height: 44px; padding: 8px 42px 8px 14px; color: var(--m-ink); background: var(--m-paper); border: 1px solid var(--m-line); border-radius: 0; }
.moritaya-shop-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px 20px; }
.moritaya-shop-card { position: relative; overflow: hidden; background: var(--m-paper); border: 1px solid rgba(110,102,88,.13); box-shadow: 0 12px 36px rgba(35,31,25,.06); }
.moritaya-shop-image { position: relative; display: block; aspect-ratio: .88 / 1; overflow: hidden; background: #e9e4da; }
.moritaya-shop-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--m-ease); }
.moritaya-shop-card:hover .moritaya-shop-image img { transform: scale(1.045); }
.moritaya-shop-image .onsale { position: absolute; z-index: 2; top: 14px; right: 14px; left: auto; min-width: 0; min-height: 0; margin: 0; padding: 7px 10px; color: #fff; background: var(--m-accent); border-radius: 0; font: 700 9px/1 var(--m-gothic); letter-spacing: .12em; }
.shop-card-arrow { position: absolute; right: 14px; bottom: 14px; width: 42px; height: 42px; display: grid; place-items: center; color: #fff; background: rgba(20,20,18,.76); border-radius: 50%; backdrop-filter: blur(7px); transition: background .3s; }
.moritaya-shop-card:hover .shop-card-arrow { background: var(--m-accent); }
.moritaya-shop-copy { padding: 22px 22px 24px; transform: translateZ(24px); }
.moritaya-shop-category { min-height: 18px; margin-bottom: 5px; color: var(--m-muted); font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.moritaya-shop-category a { color: inherit; }
.moritaya-shop-copy h2 { min-height: 3em; margin-bottom: 8px; font-size: 1.18rem; }
.moritaya-shop-copy h2 a:hover { color: var(--m-accent); }
.moritaya-product-target { display: block; margin-bottom: 9px; color: var(--m-sage); font-size: 10px; font-weight: 700; }
.moritaya-shop-price { margin-bottom: 16px; font-size: 14px; font-weight: 700; }
.moritaya-shop-price del { margin-right: 6px; color: var(--m-muted); font-weight: 400; }
.moritaya-shop-price ins { color: var(--m-accent); text-decoration: none; }
.moritaya-shop-action .button { width: 100%; min-height: 48px; padding: 10px 14px; color: #fff; background: var(--m-dark); border-radius: 0; font-size: 10px; }
.moritaya-shop-action .button:hover { background: var(--m-accent); }
.moritaya-shop-action .added_to_cart { display: block; margin-top: 9px; color: var(--m-accent); font-size: 10px; text-align: center; }
.shop-pagination { margin-top: 58px; }
.woocommerce nav.woocommerce-pagination ul { display: flex; justify-content: center; gap: 7px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0; background: var(--m-paper); border: 1px solid var(--m-line); }
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover { color: #fff; background: var(--m-accent); border-color: var(--m-accent); }

/* Notices and shared controls */
.woocommerce .woocommerce-error,.woocommerce .woocommerce-info,.woocommerce .woocommerce-message,.wc-block-components-notice-banner { margin: 0 0 28px; padding: 18px 20px 18px 54px; color: var(--m-ink); background: var(--m-paper); border: 1px solid var(--m-line); border-top: 3px solid var(--m-accent); border-radius: 0; }
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before { color: var(--m-sage); }
.woocommerce .woocommerce-error::before { color: var(--m-accent); }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button,.wp-element-button { min-height: 50px; padding: 13px 20px; color: #fff; background: var(--m-dark); border: 1px solid var(--m-dark); border-radius: 0; font-size: 11px; font-weight: 700; line-height: 1.4; letter-spacing: .04em; transition: .25s; }
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.wc-block-components-button:hover,.wp-element-button:hover { color: #fff; background: var(--m-accent); border-color: var(--m-accent); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce select,.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input { min-height: 50px; padding: 12px 14px; color: var(--m-ink); background: #fff; border: 1px solid var(--m-line); border-radius: 0; outline: none; }
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.wc-block-components-text-input input:focus { border-color: var(--m-accent); box-shadow: 0 0 0 1px var(--m-accent); }
.select2-container--default .select2-selection--single { height: 50px; padding: 10px; border: 1px solid var(--m-line); border-radius: 0; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; }

/* Single product */
.single-product .woo-shell { padding-top: clamp(70px,9vw,130px); }
.single-product div.product { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); gap: clamp(48px,7vw,100px); align-items: start; }
.single-product div.product .woocommerce-product-gallery { width: auto !important; float: none !important; margin: 0; }
.single-product div.product .summary { position: sticky; top: 130px; width: auto !important; float: none !important; margin: 0; padding-top: 16px; }
.single-product .woocommerce-product-gallery__wrapper { background: #e9e4da; }
.single-product .woocommerce-product-gallery__image img { width: 100%; }
.single-product .flex-control-thumbs { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 10px !important; }
.single-product .flex-control-thumbs li { width: auto !important; float: none !important; }
.single-product .product_title { margin-bottom: 18px; font-size: clamp(2.4rem,4.5vw,4.8rem); line-height: 1.35; }
.single-product .summary .price { margin-bottom: 24px; color: var(--m-ink) !important; font-family: var(--m-mincho); font-size: 1.7rem !important; }
.single-product .woocommerce-product-details__short-description { margin-bottom: 28px; color: var(--m-muted); line-height: 2; }
.single-product .cart { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px !important; }
.single-product .quantity .qty { width: 78px; min-height: 56px; border: 1px solid var(--m-line); border-radius: 0; }
.single-product .single_add_to_cart_button { flex: 1; min-width: 220px; min-height: 56px !important; background: var(--m-accent) !important; border-color: var(--m-accent) !important; }
.single-product .single_add_to_cart_button:hover { background: #b92b2b !important; }
.single-product .product_meta { padding-top: 20px; border-top: 1px solid var(--m-line); color: var(--m-muted); font-size: 11px; }
.single-product .product_meta > span { display: block; margin: 6px 0; }
.single-product .woocommerce-tabs { grid-column: 1 / -1; width: 100%; margin-top: 40px; }
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 30px; margin: 0 0 32px !important; padding: 0 !important; border-bottom: 1px solid var(--m-line); }
.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li::before,.single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .woocommerce-tabs ul.tabs li a { padding: 16px 0 !important; font-size: 12px; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--m-accent); border-bottom: 2px solid var(--m-accent); }
.single-product .woocommerce-Tabs-panel { max-width: 860px; line-height: 2; }
.single-product .woocommerce-Tabs-panel h2 { font-size: 2rem; }
.single-product .related,.single-product .upsells { grid-column: 1 / -1; width: 100%; padding-top: 70px; }
.single-product .related > h2,.single-product .upsells > h2 { margin-bottom: 40px; font-size: clamp(2rem,4vw,4rem); }
.single-product .related ul.products,.single-product .upsells ul.products { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.single-product .related ul.products::before,.single-product .related ul.products::after,.single-product .upsells ul.products::before,.single-product .upsells ul.products::after { display: none; }
.single-product .related ul.products li.product,.single-product .upsells ul.products li.product { width: auto; margin: 0; padding: 0 0 20px; background: var(--m-paper); }
.single-product .related ul.products li.product img,.single-product .upsells ul.products li.product img { aspect-ratio: .88/1; object-fit: cover; }
.single-product .related ul.products li.product h2,.single-product .upsells ul.products li.product h2,.single-product .related ul.products li.product .price,.single-product .upsells ul.products li.product .price,.single-product .related ul.products li.product .button,.single-product .upsells ul.products li.product .button { margin-right: 18px; margin-left: 18px; }

/* Cart, checkout and account */
.editorial-commerce-content .entry-content,.woocommerce-cart .woo-shell .container,.woocommerce-checkout .woo-shell .container { width: 100%; }
.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order,.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-account .woocommerce-MyAccount-content,.woocommerce-account .woocommerce-MyAccount-navigation,.wc-block-cart,.wc-block-checkout { background: var(--m-paper); border: 1px solid var(--m-line); }
.woocommerce-cart-form { padding: 20px; }
.woocommerce table.shop_table { border: 0; border-collapse: collapse; border-radius: 0; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding: 17px 13px; border-top: 1px solid var(--m-line); }
.woocommerce table.shop_table thead th { border-top: 0; color: var(--m-muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce table.shop_table .product-thumbnail img { width: 82px; }
.woocommerce-cart .cart-collaterals { margin-top: 28px; }
.woocommerce-cart .cart-collaterals .cart_totals { width: min(520px,100%); padding: 28px; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 2rem; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; margin: 0; background: var(--m-accent); border-color: var(--m-accent); }
.woocommerce .coupon { display: flex; gap: 8px; }
.woocommerce .coupon .input-text { width: 180px !important; min-height: 50px; padding: 10px 12px !important; border: 1px solid var(--m-line) !important; }
.moritaya-checkout-intro { margin-bottom: 30px; padding: clamp(26px,4vw,48px); color: #fff; background: var(--m-dark); }
.moritaya-checkout-intro h2 { max-width: 760px; margin-bottom: 16px; font-size: clamp(2rem,4vw,3.5rem); }
.moritaya-checkout-intro > p:not(.eyebrow) { max-width: 720px; color: rgba(255,255,255,.64); }
.moritaya-checkout-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.moritaya-checkout-badges span { padding: 6px 12px; border: 1px solid rgba(255,255,255,.25); font-size: 9px; letter-spacing: .08em; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); gap: 28px; }
.woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { grid-column: 2; }
.woocommerce-checkout #order_review_heading { align-self: end; margin: 0; padding: 24px 28px 0; background: var(--m-paper); border: 1px solid var(--m-line); border-bottom: 0; font-size: 1.8rem; }
.woocommerce-checkout #order_review { padding: 20px 28px 28px; }
.woocommerce-checkout #payment { background: #f1ece3; border-radius: 0; }
.woocommerce-checkout #payment div.payment_box { background: #e5dfd4; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #e5dfd4; }
.woocommerce-checkout #place_order { width: 100%; background: var(--m-accent); border-color: var(--m-accent); }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 250px 1fr; gap: 28px; }
.woocommerce-account .woocommerce-MyAccount-navigation { padding: 16px 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 11px 20px; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: #fff; background: var(--m-accent); }
.woocommerce-account .woocommerce-MyAccount-content { padding: 28px; }
.moritaya-thankyou { margin: 26px 0; padding: 36px; color: #fff; background: var(--m-dark); }
.moritaya-thankyou h2 { margin-bottom: 12px; }

/* WooCommerce Blocks */
.wc-block-cart,.wc-block-checkout { padding: clamp(16px,3vw,32px); }
.wc-block-components-sidebar-layout { gap: 28px; }
.wc-block-components-sidebar { padding: 24px !important; background: #f1ece3; }
.wc-block-components-product-name { font-family: var(--m-mincho); }
.wc-block-components-totals-wrapper { border-color: var(--m-line) !important; }
.wc-block-components-checkout-place-order-button { width: 100%; background: var(--m-accent) !important; border-color: var(--m-accent) !important; }

/* Custom cart drawer */
.moritaya-cart-shell { position: fixed; z-index: 160; inset: 0; pointer-events: none; visibility: hidden; }
.moritaya-cart-shell.is-open { pointer-events: auto; visibility: visible; }
.moritaya-cart-backdrop { position: absolute; inset: 0; padding: 0; border: 0; background: rgba(10,11,9,.62); opacity: 0; backdrop-filter: blur(4px); transition: opacity .38s; cursor: pointer; }
.moritaya-cart-shell.is-open .moritaya-cart-backdrop { opacity: 1; }
.moritaya-cart-drawer { position: absolute; top: 0; right: 0; bottom: 0; width: min(500px,94vw); display: flex; flex-direction: column; color: var(--m-ink); background: var(--m-paper); box-shadow: -24px 0 70px rgba(0,0,0,.2); translate: 102% 0; transition: translate .45s var(--m-ease); }
.moritaya-cart-shell.is-open .moritaya-cart-drawer { translate: 0 0; }
.moritaya-cart-drawer > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 30px 30px 24px; border-bottom: 1px solid var(--m-line); }
.moritaya-cart-drawer > header h2 { margin: 0; font-size: 2rem; }
.moritaya-cart-drawer > header .eyebrow { margin-bottom: 7px; color: var(--m-accent); }
.moritaya-cart-close { padding: 0; border: 0; background: transparent; font: 300 36px/1 var(--m-gothic); cursor: pointer; }
.moritaya-cart-progress { padding: 14px 30px 16px; border-bottom: 1px solid var(--m-line); }
.moritaya-cart-progress span { display: block; height: 3px; background: linear-gradient(90deg,var(--m-accent),#c8b274); }
.moritaya-cart-progress p { margin: 7px 0 0; color: var(--m-muted); font-size: 9px; }
.moritaya-mini-cart-body { min-height: 0; display: flex; flex: 1; flex-direction: column; overflow: hidden; }
.moritaya-mini-cart-list { flex: 1; margin: 0; padding: 18px 30px; list-style: none; overflow-y: auto; }
.moritaya-mini-cart-item { display: grid; grid-template-columns: 88px 1fr 28px; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--m-line); }
.moritaya-mini-cart-image { display: block; aspect-ratio: 1; overflow: hidden; background: #e9e4da; }
.moritaya-mini-cart-image img { width: 100%; height: 100%; object-fit: cover; }
.moritaya-mini-cart-copy h3 { margin: 0 0 7px; font-size: 1rem; }
.moritaya-mini-cart-copy p { margin: 0; color: var(--m-muted); font-size: 11px; }
.moritaya-mini-cart-remove { width: 28px; height: 28px; display: grid; place-items: center; color: var(--m-muted); border: 1px solid var(--m-line); border-radius: 50%; }
.moritaya-mini-cart-remove:hover { color: #fff; background: var(--m-accent); border-color: var(--m-accent); }
.moritaya-mini-cart-subtotal { display: flex; align-items: center; justify-content: space-between; padding: 22px 30px 14px; border-top: 1px solid var(--m-line); }
.moritaya-mini-cart-subtotal span { color: var(--m-muted); font-size: 11px; }
.moritaya-mini-cart-actions { display: grid; grid-template-columns: 1fr 1.2fr; gap: 8px; margin: 0; padding: 0 30px 30px; }
.moritaya-mini-cart-actions .button { min-height: 52px; padding-inline: 12px; }
.moritaya-mini-cart-empty { margin: auto; padding: 50px 30px; text-align: center; }
.moritaya-mini-cart-empty svg { width: 50px; height: 50px; color: var(--m-accent); }
.moritaya-mini-cart-empty h3 { margin: 18px 0 8px; font-size: 1.8rem; }
.moritaya-mini-cart-empty p { color: var(--m-muted); }

@media (max-width: 1040px) {
  .moritaya-shop-grid { grid-template-columns: repeat(3,1fr); }
  .single-product div.product { gap: 48px; }
  .single-product .related ul.products,.single-product .upsells ul.products { grid-template-columns: repeat(3,1fr); }
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
  .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { grid-column: 1; }
}

@media (max-width: 780px) {
  .moritaya-shop-grid { grid-template-columns: repeat(2,1fr); }
  .single-product div.product { grid-template-columns: 1fr; }
  .single-product div.product .summary { position: static; }
  .single-product .woocommerce-tabs,.single-product .related,.single-product .upsells { grid-column: 1; }
  .single-product .related ul.products,.single-product .upsells ul.products { grid-template-columns: repeat(2,1fr); }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { white-space: nowrap; }
}

@media (max-width: 560px) {
  .shop-hero-bottom { align-items: flex-start; flex-direction: column; }
  .shop-toolbar { align-items: stretch; flex-direction: column; }
  .shop-toolbar select { width: 100%; }
  .moritaya-shop-grid { gap: 14px 10px; }
  .moritaya-shop-copy { padding: 16px 13px 18px; }
  .moritaya-shop-copy h2 { min-height: 3.4em; font-size: 1rem; }
  .moritaya-shop-action .button { min-height: 44px; padding-inline: 7px; font-size: 9px; }
  .single-product .related ul.products,.single-product .upsells ul.products { grid-template-columns: 1fr; }
  .single-product .woocommerce-tabs ul.tabs { gap: 18px; overflow-x: auto; }
  .woocommerce table.shop_table_responsive tr,.woocommerce-page table.shop_table_responsive tr { padding: 12px 0; border-bottom: 1px solid var(--m-line); }
  .woocommerce .coupon { flex-direction: column; }
  .woocommerce .coupon .input-text { width: 100% !important; }
  .moritaya-cart-drawer > header,.moritaya-cart-progress,.moritaya-mini-cart-list,.moritaya-mini-cart-subtotal,.moritaya-mini-cart-actions { padding-right: 18px; padding-left: 18px; }
  .moritaya-mini-cart-item { grid-template-columns: 72px 1fr 26px; gap: 11px; }
  .moritaya-mini-cart-actions { grid-template-columns: 1fr; }
}

/* ===== Moritaya v8 cart / commerce refinements ===== */
.moritaya-cart-progress { padding:14px 30px 16px; border-bottom:1px solid var(--m-line); background:linear-gradient(90deg,rgba(223,59,59,.035),transparent); }
.moritaya-cart-progress::before { content:""; display:block; width:100%; height:3px; background:#e6dfd4; }
.moritaya-cart-progress > span { display:block; width:var(--cart-progress,0%); height:3px; margin-top:-3px; background:linear-gradient(90deg,var(--m-accent),#c8b274); transition:width .45s var(--m-ease); }
.moritaya-cart-progress p { margin:8px 0 0; color:var(--m-muted); font-size:11px; }
.moritaya-mini-cart-copy { min-width:0; }
.moritaya-mini-price { margin-bottom:9px !important; }
.moritaya-mini-quantity { width:max-content; display:grid; grid-template-columns:30px 34px 30px; align-items:center; border:1px solid var(--m-line); }
.moritaya-mini-quantity button { width:30px; height:28px; display:grid; place-items:center; padding:0; border:0; background:transparent; cursor:pointer; }
.moritaya-mini-quantity button:hover { color:#fff; background:var(--m-accent); }
.moritaya-mini-quantity span { display:grid; place-items:center; height:28px; border-inline:1px solid var(--m-line); font-size:11px; }
.moritaya-cart-shell.is-busy .moritaya-mini-cart-body { opacity:.55; pointer-events:none; }
.moritaya-cart-shell.is-busy .moritaya-cart-drawer::after { content:""; position:absolute; z-index:20; top:50%; left:50%; width:28px; height:28px; margin:-14px; border:2px solid rgba(29,29,27,.18); border-top-color:var(--m-accent); border-radius:50%; animation:moritayaCartSpin .7s linear infinite; }
.moritaya-cart-shell.has-cart-error .moritaya-cart-drawer { box-shadow:-24px 0 70px rgba(223,59,59,.25); }
@keyframes moritayaCartSpin { to{transform:rotate(360deg)} }
.moritaya-shop-category,.moritaya-product-target { font-size:10px; }
@media (max-width:560px){.moritaya-cart-progress{padding-right:18px;padding-left:18px}.moritaya-cart-progress p{font-size:10px}}
@media (prefers-reduced-motion:reduce){.moritaya-cart-progress>span{transition:none}.moritaya-cart-shell.is-busy .moritaya-cart-drawer::after{animation:none}}

/* =========================================================
   MORITAYA v8 commerce identity
   ========================================================= */
.moritaya-brand-v8 .shop-hero { color:var(--m-logo-ink); background:linear-gradient(135deg,#f7f2eb,#eee4d8); }
.moritaya-brand-v8 .shop-hero::before { border-color:rgba(220,60,60,.17); box-shadow:0 0 0 80px rgba(220,60,60,.025),0 0 0 160px rgba(220,60,60,.018); }
.moritaya-brand-v8 .shop-hero h1 { color:var(--m-logo-ink); }
.moritaya-brand-v8 .shop-hero-bottom { border-color:rgba(44,44,44,.13); }
.moritaya-brand-v8 .shop-hero-bottom p { color:#746d65; }
.moritaya-brand-v8 .shop-hero-bottom > span { color:var(--m-logo-red); }
.moritaya-brand-v8 .shop-content { background:#fffdfa; }
.moritaya-brand-v8 .shop-toolbar { border-color:#e6dbcf; }
.moritaya-brand-v8 .shop-toolbar select { background:#fff; border-color:#dfd4c7; }
.moritaya-brand-v8 .moritaya-shop-grid { gap:18px; }
.moritaya-brand-v8 .moritaya-shop-card { border:1px solid #eadfd3; background:#fff; box-shadow:0 16px 46px rgba(44,44,44,.065); }
.moritaya-brand-v8 .moritaya-shop-card:hover { box-shadow:0 30px 70px rgba(44,44,44,.11); }
.moritaya-brand-v8 .moritaya-shop-image { aspect-ratio:1 / 1.08; background:#f0e9e1; }
.moritaya-brand-v8 .moritaya-shop-image .onsale { background:var(--m-logo-red); }
.moritaya-brand-v8 .shop-card-arrow { background:rgba(44,44,44,.84); }
.moritaya-brand-v8 .moritaya-shop-card:hover .shop-card-arrow { background:var(--m-logo-red); }
.moritaya-brand-v8 .moritaya-shop-copy { padding:21px 21px 23px; }
.moritaya-brand-v8 .moritaya-shop-category { color:#9a8c7e; }
.moritaya-brand-v8 .moritaya-product-target { color:#8f755c; }
.moritaya-brand-v8 .moritaya-shop-copy h2 { font-family:var(--m-gothic); font-size:14px; font-weight:700; line-height:1.55; }
.moritaya-brand-v8 .moritaya-shop-action .button { min-height:48px; background:var(--m-logo-ink); border-color:var(--m-logo-ink); }
.moritaya-brand-v8 .moritaya-shop-action .button:hover { background:var(--m-logo-red); border-color:var(--m-logo-red); }

/* product detail */
.moritaya-brand-v8.single-product .woo-shell { background:#fffdfa; }
.moritaya-brand-v8.single-product .woocommerce-product-gallery__wrapper { background:#f0e9e1; }
.moritaya-brand-v8.single-product .product_title { color:var(--m-logo-ink); }
.moritaya-brand-v8.single-product .summary .price { color:var(--m-logo-red)!important; }
.moritaya-brand-v8.single-product .single_add_to_cart_button { background:var(--m-logo-red)!important; border-color:var(--m-logo-red)!important; box-shadow:0 12px 28px rgba(220,60,60,.18); }
.moritaya-brand-v8.single-product .single_add_to_cart_button:hover { background:#bf3131!important; }
.moritaya-brand-v8.single-product .woocommerce-tabs ul.tabs li.active a { color:var(--m-logo-red); border-color:var(--m-logo-red); }

/* checkout/cart/account */
.moritaya-brand-v8 .woocommerce a.button,
.moritaya-brand-v8 .woocommerce button.button,
.moritaya-brand-v8 .woocommerce input.button,
.moritaya-brand-v8 .wc-block-components-button,
.moritaya-brand-v8 .wp-element-button { background:var(--m-logo-ink); border-color:var(--m-logo-ink); }
.moritaya-brand-v8 .woocommerce a.button:hover,
.moritaya-brand-v8 .woocommerce button.button:hover,
.moritaya-brand-v8 .woocommerce input.button:hover,
.moritaya-brand-v8 .wc-block-components-button:hover,
.moritaya-brand-v8 .wp-element-button:hover { background:var(--m-logo-red); border-color:var(--m-logo-red); }
.moritaya-brand-v8 .woocommerce .woocommerce-error,
.moritaya-brand-v8 .woocommerce .woocommerce-info,
.moritaya-brand-v8 .woocommerce .woocommerce-message,
.moritaya-brand-v8 .wc-block-components-notice-banner { border-color:#e6dbcf; border-top-color:var(--m-logo-red); background:#fff; }
.moritaya-brand-v8 .woocommerce form .form-row input.input-text,
.moritaya-brand-v8 .woocommerce form .form-row textarea,
.moritaya-brand-v8 .woocommerce select,
.moritaya-brand-v8 .wc-block-components-text-input input { border-color:#dfd4c7; background:#fff; }
.moritaya-brand-v8 .woocommerce-checkout #order_review,
.moritaya-brand-v8 .woocommerce-checkout #order_review_heading,
.moritaya-brand-v8 .woocommerce-cart-form,
.moritaya-brand-v8 .cart-collaterals,
.moritaya-brand-v8 .woocommerce-account .woocommerce-MyAccount-content { background:#fff; border-color:#e6dbcf; box-shadow:0 18px 55px rgba(44,44,44,.055); }
.moritaya-brand-v8 .woocommerce-checkout #payment,
.moritaya-brand-v8 .wc-block-components-sidebar { background:#f2e9df; }
.moritaya-brand-v8 .woocommerce-checkout #place_order,
.moritaya-brand-v8 .wc-block-components-checkout-place-order-button { background:var(--m-logo-red)!important; border-color:var(--m-logo-red)!important; }
.moritaya-brand-v8 .moritaya-checkout-intro { background:linear-gradient(135deg,#2c2c2c,#1b1b1b); }
.moritaya-brand-v8 .moritaya-checkout-badges span { border-color:rgba(255,255,255,.18); }

/* premium cart drawer */
.moritaya-brand-v8 .moritaya-cart-backdrop { background:rgba(22,20,18,.68); }
.moritaya-brand-v8 .moritaya-cart-drawer { width:min(520px,96vw); background:#fffdfa; box-shadow:-32px 0 90px rgba(0,0,0,.22); }
.moritaya-brand-v8 .moritaya-cart-drawer > header { position:relative; padding:30px 32px 25px; background:#1d1d1d; color:#fff; border:0; }
.moritaya-brand-v8 .moritaya-cart-drawer > header::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--m-logo-red); }
.moritaya-brand-v8 .moritaya-cart-drawer > header h2 { color:#fff; }
.moritaya-brand-v8 .moritaya-cart-drawer > header .eyebrow { color:#ff7d74; }
.moritaya-brand-v8 .moritaya-cart-close { color:#fff; }
.moritaya-brand-v8 .moritaya-cart-progress { padding:17px 32px 18px; background:linear-gradient(90deg,rgba(220,60,60,.055),transparent); border-color:#e7ddd2; }
.moritaya-brand-v8 .moritaya-cart-progress::before { background:#eadfd4; }
.moritaya-brand-v8 .moritaya-cart-progress > span { background:linear-gradient(90deg,var(--m-logo-red),#b59a7b); }
.moritaya-brand-v8 .moritaya-mini-cart-list { padding:18px 32px; }
.moritaya-brand-v8 .moritaya-mini-cart-item { grid-template-columns:92px 1fr 28px; gap:17px; padding:16px 0; border-color:#e7ddd2; }
.moritaya-brand-v8 .moritaya-mini-cart-image { background:#f0e8df; }
.moritaya-brand-v8 .moritaya-mini-cart-copy h3 { font-family:var(--m-gothic); font-size:13px; font-weight:700; line-height:1.5; }
.moritaya-brand-v8 .moritaya-mini-cart-remove:hover,
.moritaya-brand-v8 .moritaya-mini-quantity button:hover { background:var(--m-logo-red); border-color:var(--m-logo-red); }
.moritaya-brand-v8 .moritaya-mini-cart-subtotal { padding:24px 32px 15px; border-color:#e7ddd2; }
.moritaya-brand-v8 .moritaya-mini-cart-subtotal strong { font-size:1.25rem; }
.moritaya-brand-v8 .moritaya-mini-cart-actions { padding:0 32px 32px; }
.moritaya-brand-v8 .moritaya-mini-cart-actions .button-accent { background:var(--m-logo-red); border-color:var(--m-logo-red); }
.moritaya-brand-v8 .moritaya-mini-cart-empty svg { color:var(--m-logo-red); }

@media (max-width:560px) {
  .moritaya-brand-v8 .moritaya-shop-grid { gap:11px; }
  .moritaya-brand-v8 .moritaya-shop-image { aspect-ratio:1 / 1.02; }
  .moritaya-brand-v8 .moritaya-shop-copy { padding:15px 12px 16px; }
  .moritaya-brand-v8 .moritaya-shop-copy h2 { font-size:12px; }
  .moritaya-brand-v8 .moritaya-cart-drawer > header,
  .moritaya-brand-v8 .moritaya-cart-progress,
  .moritaya-brand-v8 .moritaya-mini-cart-list,
  .moritaya-brand-v8 .moritaya-mini-cart-subtotal,
  .moritaya-brand-v8 .moritaya-mini-cart-actions { padding-right:18px; padding-left:18px; }
}

/* =========================================================
   MORITAYA v8 — OneJapan WooCommerce system parity
   Same commerce architecture/coverage, Moritaya-only public skin.
   ========================================================= */
body.moritaya-brand-v8 {
  --m-commerce-bg:#f7f2eb;
  --m-commerce-surface:#fffdfa;
  --m-commerce-surface-2:#f2e9df;
  --m-commerce-line:#e4d8cc;
  --m-commerce-line-strong:#d2bfb0;
  --m-commerce-ink:#2c2c2c;
  --m-commerce-muted:#786f68;
  --m-commerce-red:#dc3c3c;
  --m-commerce-red-dark:#bd3030;
  --m-commerce-warm:#b59a7b;
}

/* OneJapan storefront geometry, rebuilt with Moritaya identity. */
body.moritaya-brand-v8 .moritaya-shop-shell {
  width:min(1240px,calc(100% - 48px));
  max-width:none;
  margin:0 auto;
  padding:clamp(118px,10vw,154px) 0 110px;
}
body.moritaya-brand-v8 .moritaya-catalog-header {
  position:relative;
  max-width:820px;
  margin:0 0 40px;
  padding-left:22px;
}
body.moritaya-brand-v8 .moritaya-catalog-header::before {
  content:"";
  position:absolute;
  left:0;
  top:5px;
  width:5px;
  height:clamp(74px,9vw,126px);
  background:var(--m-commerce-red);
}
body.moritaya-brand-v8 .moritaya-catalog-header .eyebrow { margin-bottom:13px; color:var(--m-commerce-red); }
body.moritaya-brand-v8 .moritaya-catalog-header h1 {
  margin:0;
  color:var(--m-commerce-ink);
  font-family:var(--m-mincho);
  font-size:clamp(2.9rem,5vw,5.35rem);
  line-height:1.03;
  letter-spacing:.005em;
}
body.moritaya-brand-v8 .moritaya-catalog-description { max-width:690px; margin-top:22px; color:var(--m-commerce-muted); }
body.moritaya-brand-v8 .moritaya-catalog-description p { margin:0; }
body.moritaya-brand-v8 .moritaya-catalog-signature { margin:18px 0 0; color:#987f69; font-size:10px; font-weight:800; letter-spacing:.16em; }
body.moritaya-brand-v8 .moritaya-shop-tools {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:58px;
  margin:0 0 28px;
  padding:10px 0;
  border-top:1px solid var(--m-commerce-line);
  border-bottom:1px solid var(--m-commerce-line);
}
body.moritaya-brand-v8 .moritaya-shop-tools .woocommerce-result-count,
body.moritaya-brand-v8 .moritaya-shop-tools .woocommerce-ordering { float:none!important; width:auto; margin:0!important; }
body.moritaya-brand-v8 .moritaya-shop-tools .woocommerce-result-count { color:var(--m-commerce-muted); font-size:11px; }
body.moritaya-brand-v8 .moritaya-shop-tools select { min-height:44px; padding:8px 40px 8px 13px; border:1px solid var(--m-commerce-line); background:#fff; color:var(--m-commerce-ink); }
body.moritaya-brand-v8 .moritaya-catalog-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:clamp(15px,1.8vw,24px);
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
}
body.moritaya-brand-v8 .moritaya-catalog-card {
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid #e9ddd2;
  background:#fff;
  box-shadow:0 18px 48px rgba(44,44,44,.065);
  transition:transform .42s var(--m-ease),border-color .32s,box-shadow .32s;
}
body.moritaya-brand-v8 .moritaya-catalog-card:hover {
  z-index:2;
  border-color:#d8c2b2;
  box-shadow:0 30px 68px rgba(44,44,44,.12);
  transform:translateY(-7px);
}
body.moritaya-brand-v8 .moritaya-catalog-link { display:block; min-width:0; color:inherit; }
body.moritaya-brand-v8 .moritaya-catalog-media {
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:4 / 5;
  overflow:hidden;
  background:#f0e8df;
}
body.moritaya-brand-v8 .moritaya-catalog-media img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  object-fit:cover;
  transition:transform .75s var(--m-ease),filter .45s;
}
body.moritaya-brand-v8 .moritaya-catalog-card:hover .moritaya-catalog-media img { transform:scale(1.05); filter:saturate(1.035) contrast(1.015); }
body.moritaya-brand-v8 .moritaya-catalog-card .onsale {
  z-index:3;
  top:13px!important;
  left:13px!important;
  right:auto!important;
  min-width:auto!important;
  min-height:auto!important;
  padding:7px 10px!important;
  border-radius:0!important;
  background:var(--m-commerce-red)!important;
  color:#fff!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:.09em;
}
body.moritaya-brand-v8 .moritaya-catalog-arrow {
  position:absolute;
  right:14px;
  bottom:14px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(44,44,44,.86);
  color:#fff;
  backdrop-filter:blur(7px);
  transition:background .3s,transform .3s;
}
body.moritaya-brand-v8 .moritaya-catalog-arrow svg { width:17px; height:17px; }
body.moritaya-brand-v8 .moritaya-catalog-card:hover .moritaya-catalog-arrow { background:var(--m-commerce-red); transform:rotate(-8deg); }
body.moritaya-brand-v8 .moritaya-catalog-category { min-height:18px; margin:18px 18px 5px; color:#9a8c7e; font-size:9px; font-weight:800; letter-spacing:.08em; }
body.moritaya-brand-v8 .moritaya-catalog-category a { color:inherit; }
body.moritaya-brand-v8 .moritaya-catalog-card .woocommerce-loop-product__title {
  min-height:0;
  margin:0 18px 8px!important;
  padding:0!important;
  color:var(--m-commerce-ink)!important;
  font-family:var(--m-gothic)!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.55;
}
body.moritaya-brand-v8 .moritaya-catalog-meta { display:grid; gap:6px; margin:0 18px; color:var(--m-commerce-muted); }
body.moritaya-brand-v8 .moritaya-catalog-meta .star-rating { margin:2px 0!important; color:var(--m-commerce-red); font-size:.76em; }
body.moritaya-brand-v8 .moritaya-catalog-meta .price { margin:0!important; color:var(--m-commerce-ink)!important; font-size:14px!important; font-weight:800; }
body.moritaya-brand-v8 .moritaya-catalog-meta .price ins { color:var(--m-commerce-red)!important; text-decoration:none; }
body.moritaya-brand-v8 .moritaya-catalog-meta .moritaya-product-target { margin:0!important; color:#8f755c; font-size:10px; }
body.moritaya-brand-v8 .moritaya-catalog-action { margin-top:auto; padding:18px; }
body.moritaya-brand-v8 .moritaya-catalog-action .button {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:49px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid var(--m-commerce-ink)!important;
  border-radius:0!important;
  background:var(--m-commerce-ink)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.06em!important;
  text-align:center!important;
  white-space:nowrap!important;
}
body.moritaya-brand-v8 .moritaya-catalog-action .button:hover { border-color:var(--m-commerce-red)!important; background:var(--m-commerce-red)!important; transform:translateY(-1px); }
body.moritaya-brand-v8 .moritaya-catalog-action .added_to_cart { display:block; margin-top:9px; color:var(--m-commerce-red); font-size:10px; text-align:center; }
body.moritaya-brand-v8 .moritaya-shop-pagination { margin-top:58px; }

/* Full WooCommerce Blocks parity: mini-cart, cart and checkout never fall back to Woo defaults. */
body.moritaya-brand-v8 .wc-block-components-drawer__screen-overlay,
body.moritaya-brand-v8 .wc-block-mini-cart__drawer .wc-block-components-drawer__screen-overlay {
  background:rgba(25,22,20,.64)!important;
  backdrop-filter:blur(8px);
}
body.moritaya-brand-v8 .wc-block-components-drawer,
body.moritaya-brand-v8 .wc-block-mini-cart__drawer .wc-block-components-drawer {
  width:min(100%,520px)!important;
  max-width:520px!important;
  border-left:1px solid var(--m-commerce-line)!important;
  background:var(--m-commerce-surface)!important;
  color:var(--m-commerce-ink)!important;
  box-shadow:-34px 0 100px rgba(0,0,0,.22)!important;
}
body.moritaya-brand-v8 .wc-block-components-drawer__content { color:var(--m-commerce-ink); }
body.moritaya-brand-v8 .wc-block-mini-cart__title {
  padding:28px 30px 22px!important;
  border-bottom:3px solid var(--m-commerce-red);
  background:var(--m-commerce-ink);
  color:#fff!important;
  font-family:var(--m-mincho)!important;
  font-size:clamp(1.8rem,4vw,2.7rem)!important;
  font-weight:600!important;
}
body.moritaya-brand-v8 .wc-block-mini-cart__title .wc-block-mini-cart__badge { background:var(--m-commerce-red)!important; color:#fff!important; }
body.moritaya-brand-v8 .wc-block-components-drawer__close {
  top:24px!important;
  right:24px!important;
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.04)!important;
  color:#fff!important;
}
body.moritaya-brand-v8 .wc-block-mini-cart__items { padding:18px 28px!important; }
body.moritaya-brand-v8 .wc-block-mini-cart__products-table .wc-block-cart-items__row,
body.moritaya-brand-v8 .wc-block-mini-cart__items .wc-block-cart-items__row { border-bottom:1px solid var(--m-commerce-line)!important; }
body.moritaya-brand-v8 .wc-block-mini-cart__items .wc-block-components-product-name,
body.moritaya-brand-v8 .wc-block-cart-item__product .wc-block-components-product-name { color:var(--m-commerce-ink)!important; font-family:var(--m-gothic); font-weight:750; }
body.moritaya-brand-v8 .wc-block-mini-cart__items .wc-block-components-product-price,
body.moritaya-brand-v8 .wc-block-mini-cart__items .wc-block-components-product-price__value,
body.moritaya-brand-v8 .wc-block-mini-cart__items .woocommerce-Price-amount { color:var(--m-commerce-red)!important; font-weight:800; }
body.moritaya-brand-v8 .wc-block-mini-cart__items .wc-block-cart-item__image img { border:1px solid var(--m-commerce-line); border-radius:0!important; background:#f0e8df; }
body.moritaya-brand-v8 .wc-block-components-quantity-selector { border:1px solid var(--m-commerce-line)!important; border-radius:0!important; background:#fff!important; }
body.moritaya-brand-v8 .wc-block-components-quantity-selector input,
body.moritaya-brand-v8 .wc-block-components-quantity-selector button { color:var(--m-commerce-ink)!important; background:transparent!important; }
body.moritaya-brand-v8 .wc-block-mini-cart__footer { padding:20px 28px 28px!important; border-top:1px solid var(--m-commerce-line)!important; background:#f6efe8!important; }
body.moritaya-brand-v8 .wc-block-mini-cart__footer-subtotal,
body.moritaya-brand-v8 .wc-block-mini-cart__footer .wc-block-components-totals-item { color:var(--m-commerce-ink)!important; }
body.moritaya-brand-v8 .wc-block-mini-cart__footer .woocommerce-Price-amount { color:var(--m-commerce-red)!important; font-weight:800; }
body.moritaya-brand-v8 .wc-block-mini-cart__footer-actions { display:grid!important; grid-template-columns:1fr 1fr!important; gap:10px!important; }
body.moritaya-brand-v8 .wc-block-mini-cart__footer-actions a { min-height:52px!important; display:flex!important; align-items:center!important; justify-content:center!important; border-radius:0!important; font-size:10px!important; font-weight:800!important; letter-spacing:.05em!important; text-decoration:none!important; }
body.moritaya-brand-v8 .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart { border:1px solid var(--m-commerce-ink)!important; background:transparent!important; color:var(--m-commerce-ink)!important; }
body.moritaya-brand-v8 .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout { border:1px solid var(--m-commerce-red)!important; background:var(--m-commerce-red)!important; color:#fff!important; }

body.moritaya-brand-v8.woocommerce-cart .woo-shell,
body.moritaya-brand-v8.woocommerce-checkout .woo-shell {
  width:min(1240px,calc(100% - 48px));
  max-width:none;
  margin:0 auto;
  padding:clamp(116px,10vw,152px) 0 110px;
}
body.moritaya-brand-v8 .woo-shell .wp-block-woocommerce-checkout,
body.moritaya-brand-v8 .woo-shell .wp-block-woocommerce-cart,
body.moritaya-brand-v8 .woo-shell .wc-block-checkout,
body.moritaya-brand-v8 .woo-shell .wc-block-cart,
body.moritaya-brand-v8 .woo-shell form.woocommerce-checkout,
body.moritaya-brand-v8 .woo-shell .woocommerce-cart-form { width:100%!important; max-width:100%!important; min-width:0!important; margin:0!important; }
body.moritaya-brand-v8 .woo-shell .wc-block-checkout { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(320px,.46fr)!important; gap:clamp(20px,3vw,42px)!important; }
body.moritaya-brand-v8 .woo-shell .wc-block-checkout__main,
body.moritaya-brand-v8 .woo-shell .wc-block-checkout__sidebar,
body.moritaya-brand-v8 .woo-shell .wc-block-components-sidebar,
body.moritaya-brand-v8 .woo-shell .wc-block-cart__main,
body.moritaya-brand-v8 .woo-shell .wc-block-cart__sidebar { width:auto!important; min-width:0!important; max-width:100%!important; margin:0!important; }
body.moritaya-brand-v8 .woo-shell .wc-block-checkout__main { padding-right:0!important; }

body.moritaya-brand-v8 .wc-block-cart__sidebar,
body.moritaya-brand-v8 .wc-block-checkout__sidebar,
body.moritaya-brand-v8 .wc-block-components-sidebar,
body.moritaya-brand-v8 .cart_totals,
body.moritaya-brand-v8 #order_review {
  border:1px solid var(--m-commerce-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:0 22px 58px rgba(44,44,44,.07);
}
body.moritaya-brand-v8 table.shop_table,
body.moritaya-brand-v8 .wc-block-cart-items {
  border:1px solid var(--m-commerce-line)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--m-commerce-ink)!important;
}
body.moritaya-brand-v8 table.shop_table th,
body.moritaya-brand-v8 table.shop_table td,
body.moritaya-brand-v8 .wc-block-cart-items td,
body.moritaya-brand-v8 .wc-block-cart-items th { border-color:var(--m-commerce-line)!important; }
body.moritaya-brand-v8 .wc-block-components-product-name,
body.moritaya-brand-v8 table.shop_table .product-name a { color:var(--m-commerce-ink)!important; font-family:var(--m-gothic); font-weight:750; }
body.moritaya-brand-v8 .wc-block-components-product-metadata,
body.moritaya-brand-v8 .wc-block-components-product-details { color:var(--m-commerce-muted)!important; }
body.moritaya-brand-v8 .wc-block-components-product-price,
body.moritaya-brand-v8 .wc-block-formatted-money-amount,
body.moritaya-brand-v8 table.shop_table .amount { color:var(--m-commerce-ink)!important; font-weight:800; }
body.moritaya-brand-v8 .wc-block-cart-item__image img,
body.moritaya-brand-v8 table.shop_table .product-thumbnail img { border:1px solid var(--m-commerce-line); border-radius:0!important; background:#f0e8df; }
body.moritaya-brand-v8 .wc-block-cart-item__remove-link,
body.moritaya-brand-v8 a.remove { color:#9d6965!important; text-decoration:none!important; }
body.moritaya-brand-v8 .wc-block-cart-item__remove-link:hover,
body.moritaya-brand-v8 a.remove:hover { color:var(--m-commerce-red)!important; }

body.moritaya-brand-v8 .wc-block-components-totals-wrapper,
body.moritaya-brand-v8 .wc-block-components-totals-item,
body.moritaya-brand-v8 .wc-block-components-totals-coupon,
body.moritaya-brand-v8 .wc-block-components-panel { border-color:var(--m-commerce-line)!important; color:var(--m-commerce-ink)!important; }
body.moritaya-brand-v8 .wc-block-components-totals-item__label,
body.moritaya-brand-v8 .wc-block-components-totals-item__value { color:var(--m-commerce-ink)!important; }
body.moritaya-brand-v8 .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.moritaya-brand-v8 .order-total .amount { color:var(--m-commerce-red)!important; font-size:1.22em; font-weight:850; }

body.moritaya-brand-v8 .woocommerce input.input-text,
body.moritaya-brand-v8 .woocommerce textarea,
body.moritaya-brand-v8 .woocommerce select,
body.moritaya-brand-v8 .wc-block-components-text-input input,
body.moritaya-brand-v8 .wc-block-components-text-input textarea,
body.moritaya-brand-v8 .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
body.moritaya-brand-v8 .wc-block-components-address-form select,
body.moritaya-brand-v8 .wc-block-components-select .wc-block-components-select__select {
  min-height:52px;
  border:1px solid var(--m-commerce-line)!important;
  border-radius:0!important;
  outline:0!important;
  background:#fff!important;
  box-shadow:none!important;
  color:var(--m-commerce-ink)!important;
}
body.moritaya-brand-v8 .wc-block-components-text-input label,
body.moritaya-brand-v8 .wc-block-components-combobox label,
body.moritaya-brand-v8 .wc-block-components-select label { color:var(--m-commerce-muted)!important; }
body.moritaya-brand-v8 .woocommerce input.input-text:focus,
body.moritaya-brand-v8 .woocommerce textarea:focus,
body.moritaya-brand-v8 .woocommerce select:focus,
body.moritaya-brand-v8 .wc-block-components-text-input input:focus,
body.moritaya-brand-v8 .wc-block-components-combobox .components-combobox-control__input:focus,
body.moritaya-brand-v8 .wc-block-components-select__select:focus { border-color:var(--m-commerce-red)!important; box-shadow:0 0 0 3px rgba(220,60,60,.08)!important; }
body.moritaya-brand-v8 .select2-container--default .select2-selection--single { height:52px; border:1px solid var(--m-commerce-line); border-radius:0; background:#fff; color:var(--m-commerce-ink); }
body.moritaya-brand-v8 .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:50px; color:var(--m-commerce-ink); }
body.moritaya-brand-v8 .select2-container--default .select2-selection--single .select2-selection__arrow { height:50px; }

body.moritaya-brand-v8 .wc-block-components-checkout-step,
body.moritaya-brand-v8 .woocommerce-billing-fields,
body.moritaya-brand-v8 .woocommerce-shipping-fields,
body.moritaya-brand-v8 .woocommerce-additional-fields {
  margin-bottom:20px;
  padding:clamp(20px,3vw,30px)!important;
  border:1px solid var(--m-commerce-line)!important;
  background:#fff!important;
  box-shadow:0 15px 45px rgba(44,44,44,.04);
}
body.moritaya-brand-v8 .wc-block-components-checkout-step__heading h2,
body.moritaya-brand-v8 .wc-block-components-title,
body.moritaya-brand-v8 .woocommerce-billing-fields > h3,
body.moritaya-brand-v8 .woocommerce-shipping-fields h3,
body.moritaya-brand-v8 #order_review_heading { color:var(--m-commerce-ink)!important; font-family:var(--m-mincho)!important; font-size:clamp(1.55rem,2.5vw,2.15rem)!important; font-weight:600!important; }
body.moritaya-brand-v8 .wc-block-components-radio-control,
body.moritaya-brand-v8 .wc-block-components-radio-control-accordion-option,
body.moritaya-brand-v8 #payment ul.payment_methods { border-color:var(--m-commerce-line)!important; background:#f8f2ec!important; color:var(--m-commerce-ink)!important; }
body.moritaya-brand-v8 .wc-block-components-radio-control-accordion-option,
body.moritaya-brand-v8 .wc-block-components-radio-control__option { border-color:var(--m-commerce-line)!important; }
body.moritaya-brand-v8 .wc-block-components-radio-control__label,
body.moritaya-brand-v8 #payment label { color:var(--m-commerce-ink)!important; }
body.moritaya-brand-v8 #payment div.payment_box { border-radius:0; background:#eee4da; color:var(--m-commerce-muted); }
body.moritaya-brand-v8 #payment div.payment_box::before { border-bottom-color:#eee4da; }

body.moritaya-brand-v8 .wc-block-components-button:not(.is-link),
body.moritaya-brand-v8 .wc-block-components-totals-coupon__button,
body.moritaya-brand-v8 .wc-block-cart__submit-button {
  min-height:52px;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 22px!important;
  border:1px solid var(--m-commerce-ink)!important;
  border-radius:0!important;
  background:var(--m-commerce-ink)!important;
  color:#fff!important;
  font-family:var(--m-gothic)!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.055em!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap;
}
body.moritaya-brand-v8 .wc-block-components-button:not(.is-link):hover,
body.moritaya-brand-v8 .wc-block-cart__submit-button:hover { border-color:var(--m-commerce-red)!important; background:var(--m-commerce-red)!important; transform:translateY(-1px); }
body.moritaya-brand-v8 .wc-block-components-checkout-place-order-button { width:100%!important; border-color:var(--m-commerce-red)!important; background:var(--m-commerce-red)!important; box-shadow:0 14px 32px rgba(220,60,60,.16)!important; }
body.moritaya-brand-v8 .wc-block-components-checkout-place-order-button:hover { border-color:var(--m-commerce-red-dark)!important; background:var(--m-commerce-red-dark)!important; }

body.moritaya-brand-v8 .wc-block-components-notice-banner,
body.moritaya-brand-v8 .woocommerce-NoticeGroup .woocommerce-error,
body.moritaya-brand-v8 .wc-block-components-validation-error { border-radius:0!important; }
body.moritaya-brand-v8 .wc-block-components-notice-banner.is-error { border-color:rgba(220,60,60,.55)!important; background:#fff1ef!important; color:#7d2727!important; }
body.moritaya-brand-v8 .wc-block-cart__empty-cart__title { color:var(--m-commerce-ink); font-family:var(--m-mincho); }

/* Gutenberg pages that contain Cart/Checkout blocks also inherit the Moritaya system. */
body.moritaya-brand-v8 .entry-content .wp-block-woocommerce-checkout,
body.moritaya-brand-v8 .entry-content .wp-block-woocommerce-cart,
body.moritaya-brand-v8 .editorial-commerce-content .wp-block-woocommerce-checkout,
body.moritaya-brand-v8 .editorial-commerce-content .wp-block-woocommerce-cart { width:100%!important; max-width:100%!important; }
body.moritaya-brand-v8 .entry-content .wc-block-components-sidebar-layout,
body.moritaya-brand-v8 .editorial-commerce-content .wc-block-components-sidebar-layout { gap:clamp(20px,3vw,42px)!important; }

@media (max-width:1040px) {
  body.moritaya-brand-v8 .moritaya-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.moritaya-brand-v8 .woo-shell .wc-block-checkout { grid-template-columns:1fr!important; }
  body.moritaya-brand-v8 .woo-shell .wc-block-checkout__sidebar { order:2; }
}
@media (max-width:780px) {
  body.moritaya-brand-v8 .moritaya-shop-shell,
  body.moritaya-brand-v8.woocommerce-cart .woo-shell,
  body.moritaya-brand-v8.woocommerce-checkout .woo-shell { width:min(100% - 32px,1240px); padding-top:104px; }
  body.moritaya-brand-v8 .moritaya-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  body.moritaya-brand-v8 .moritaya-shop-tools { align-items:stretch; flex-direction:column; }
  body.moritaya-brand-v8 .moritaya-shop-tools select { width:100%; }
  body.moritaya-brand-v8 .wc-block-mini-cart__footer-actions { grid-template-columns:1fr!important; }
  body.moritaya-brand-v8 .wc-block-cart__main,
  body.moritaya-brand-v8 .wc-block-checkout__main { padding-right:0!important; }
}
@media (max-width:560px) {
  body.moritaya-brand-v8 .moritaya-catalog-grid { grid-template-columns:1fr; }
  body.moritaya-brand-v8 .moritaya-catalog-card .woocommerce-loop-product__title { margin-inline:16px!important; }
  body.moritaya-brand-v8 .moritaya-catalog-category,
  body.moritaya-brand-v8 .moritaya-catalog-meta { margin-inline:16px; }
  body.moritaya-brand-v8 .moritaya-catalog-action { padding:16px; }
  body.moritaya-brand-v8 .wc-block-components-drawer,
  body.moritaya-brand-v8 .wc-block-mini-cart__drawer .wc-block-components-drawer { width:100%!important; max-width:none!important; }
  body.moritaya-brand-v8 .wc-block-mini-cart__items,
  body.moritaya-brand-v8 .wc-block-mini-cart__footer { padding-inline:18px!important; }
}

/* Product Collection blocks: keep OneJapan grid behavior with Moritaya cards. */
body.moritaya-brand-v8 ul.wc-block-product-template,
body.moritaya-brand-v8 ul.wp-block-woocommerce-product-template {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(15px,1.8vw,24px)!important;
  width:100%!important;
}
body.moritaya-brand-v8 li.wc-block-product {
  overflow:hidden;
  border:1px solid #e9ddd2;
  background:#fff;
  box-shadow:0 18px 48px rgba(44,44,44,.055);
}
body.moritaya-brand-v8 li.wc-block-product .wc-block-components-product-image img { width:100%!important; aspect-ratio:4 / 5; object-fit:cover; background:#f0e8df; }
body.moritaya-brand-v8 li.wc-block-product .wp-block-post-title,
body.moritaya-brand-v8 li.wc-block-product .wc-block-components-product-name { color:var(--m-commerce-ink)!important; font-family:var(--m-gothic)!important; font-weight:750!important; }
body.moritaya-brand-v8 li.wc-block-product .wc-block-components-product-price { color:var(--m-commerce-red)!important; font-weight:800; }

body.moritaya-brand-v8 .editorial-commerce-content .wc-block-components-main,
body.moritaya-brand-v8 .entry-content .wc-block-components-main { width:auto!important; min-width:0!important; max-width:100%!important; padding-right:0!important; }
body.moritaya-brand-v8 .wc-block-components-sidebar .wc-block-components-order-summary { max-width:100%!important; min-width:0!important; border-color:var(--m-commerce-line)!important; }

@media (max-width:1040px) {
  body.moritaya-brand-v8 ul.wc-block-product-template,
  body.moritaya-brand-v8 ul.wp-block-woocommerce-product-template { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
}
@media (max-width:780px) {
  body.moritaya-brand-v8 ul.wc-block-product-template,
  body.moritaya-brand-v8 ul.wp-block-woocommerce-product-template { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:560px) {
  body.moritaya-brand-v8 ul.wc-block-product-template,
  body.moritaya-brand-v8 ul.wp-block-woocommerce-product-template { grid-template-columns:1fr!important; }
}


/* =========================================================
   MORITAYA v9 — richer commerce art direction / motion
   ========================================================= */
body.moritaya-brand-v8 .moritaya-shop-shell {
  position:relative;
  width:min(1280px,calc(100% - 44px));
  padding:clamp(120px,10vw,160px) 0 124px;
}
body.moritaya-brand-v8 .moritaya-shop-shell::before {
  content:"";
  position:absolute;
  right:-10vw;
  top:34px;
  width:36vw;
  max-width:520px;
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(220,60,60,.1);
  box-shadow:0 0 0 60px rgba(220,60,60,.025), 0 0 0 120px rgba(220,60,60,.016);
  pointer-events:none;
}
body.moritaya-brand-v8 .moritaya-catalog-header {
  max-width:none;
  margin:0 0 34px;
  padding:34px 36px 36px 38px;
  overflow:hidden;
  border:1px solid #eadfd4;
  border-radius:28px 6px 28px 6px;
  background:linear-gradient(135deg, rgba(255,255,255,.9), rgba(247,242,235,.96));
  box-shadow:0 24px 60px rgba(44,44,44,.07);
}
body.moritaya-brand-v8 .moritaya-catalog-header::before {
  left:22px;
  top:26px;
  width:4px;
  height:calc(100% - 52px);
  border-radius:6px;
}
body.moritaya-brand-v8 .moritaya-catalog-header::after {
  content:"";
  position:absolute;
  right:-30px;
  top:-26px;
  width:200px;
  height:200px;
  border-radius:50%;
  border:1px solid rgba(220,60,60,.12);
  box-shadow:0 0 0 38px rgba(220,60,60,.03);
}
body.moritaya-brand-v8 .moritaya-catalog-header h1 { max-width:780px; }
body.moritaya-brand-v8 .moritaya-catalog-description { max-width:760px; }
body.moritaya-brand-v8 .moritaya-shop-tools {
  position:relative;
  z-index:2;
  min-height:64px;
  margin:0 0 34px;
  padding:14px 20px;
  border:1px solid #e7ddd2;
  border-radius:20px 4px 20px 4px;
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(10px);
  box-shadow:0 12px 34px rgba(44,44,44,.05);
}
body.moritaya-brand-v8 .moritaya-catalog-grid {
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:22px;
  align-items:start;
}
body.moritaya-brand-v8 .moritaya-catalog-card {
  grid-column:span 4;
  border-radius:24px 6px 24px 6px;
  background:linear-gradient(180deg,#fffefd,#fff8f1);
}
body.moritaya-brand-v8 .moritaya-catalog-card:nth-child(6n+2) { margin-top:28px; }
body.moritaya-brand-v8 .moritaya-catalog-card:nth-child(6n+5) { margin-top:12px; }
body.moritaya-brand-v8 .moritaya-catalog-card:hover {
  transform:translateY(-10px) scale(1.008);
  box-shadow:0 34px 78px rgba(44,44,44,.14);
}
body.moritaya-brand-v8 .moritaya-catalog-card::before {
  content:"";
  position:absolute;
  z-index:3;
  inset:-34%;
  background:linear-gradient(115deg, transparent 26%, rgba(255,255,255,.03) 40%, rgba(255,255,255,.26) 49%, rgba(255,255,255,.06) 58%, transparent 72%);
  transform:translateX(-75%) rotate(10deg);
  opacity:0;
  pointer-events:none;
  transition:transform .95s var(--m-ease), opacity .3s;
}
body.moritaya-brand-v8 .moritaya-catalog-card:hover::before {
  transform:translateX(70%) rotate(10deg);
  opacity:.82;
}
body.moritaya-brand-v8 .moritaya-catalog-media {
  aspect-ratio:.95 / 1.1;
  background:linear-gradient(180deg,#f4ede6,#ece2d7);
}
body.moritaya-brand-v8 .moritaya-catalog-media::before {
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)), linear-gradient(135deg, transparent 0 58%, rgba(220,60,60,.16) 58% 72%, transparent 72%);
  pointer-events:none;
}
body.moritaya-brand-v8 .moritaya-catalog-arrow {
  width:46px;
  height:46px;
  right:16px;
  bottom:16px;
}
body.moritaya-brand-v8 .moritaya-catalog-category { margin:20px 20px 7px; }
body.moritaya-brand-v8 .moritaya-catalog-card .woocommerce-loop-product__title { margin:0 20px 10px!important; font-size:15px!important; }
body.moritaya-brand-v8 .moritaya-catalog-meta { margin:0 20px; }
body.moritaya-brand-v8 .moritaya-catalog-action { padding:20px; }
body.moritaya-brand-v8 .moritaya-catalog-action .button {
  min-height:52px!important;
  border-radius:16px 4px 16px 4px!important;
  box-shadow:0 10px 24px rgba(44,44,44,.1);
}
body.moritaya-brand-v8 .moritaya-catalog-action .button:hover {
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(220,60,60,.18);
}
body.moritaya-brand-v8 .moritaya-cart-drawer {
  border-radius:32px 0 0 32px;
}
body.moritaya-brand-v8 .moritaya-cart-drawer::before {
  content:"";
  position:absolute;
  top:82px;
  right:-52px;
  width:190px;
  height:190px;
  border-radius:50%;
  border:1px solid rgba(220,60,60,.12);
  box-shadow:0 0 0 42px rgba(220,60,60,.03);
  pointer-events:none;
}
body.moritaya-brand-v8 .moritaya-mini-cart-item,
body.moritaya-brand-v8 .woocommerce-cart-form,
body.moritaya-brand-v8 .cart-collaterals,
body.moritaya-brand-v8 .woocommerce-checkout #order_review,
body.moritaya-brand-v8 .woocommerce-account .woocommerce-MyAccount-content {
  border-radius:24px 6px 24px 6px;
}
body.moritaya-brand-v8 .wc-block-cart,
body.moritaya-brand-v8 .wc-block-checkout {
  border-radius:28px 6px 28px 6px;
  box-shadow:0 18px 48px rgba(44,44,44,.06);
}
@media (max-width: 1180px) {
  body.moritaya-brand-v8 .moritaya-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.moritaya-brand-v8 .moritaya-catalog-card { grid-column:auto; }
  body.moritaya-brand-v8 .moritaya-catalog-card:nth-child(6n+2),
  body.moritaya-brand-v8 .moritaya-catalog-card:nth-child(6n+5) { margin-top:0; }
}
@media (max-width: 780px) {
  body.moritaya-brand-v8 .moritaya-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  body.moritaya-brand-v8 .moritaya-catalog-header { padding:28px 22px 28px 28px; }
  body.moritaya-brand-v8 .moritaya-shop-tools { padding:14px 14px; }
}
@media (max-width: 560px) {
  body.moritaya-brand-v8 .moritaya-shop-shell { width:min(1240px,calc(100% - 24px)); padding-bottom:96px; }
  body.moritaya-brand-v8 .moritaya-catalog-grid { grid-template-columns:1fr; }
  body.moritaya-brand-v8 .moritaya-catalog-card { border-radius:18px 4px 18px 4px; }
  body.moritaya-brand-v8 .moritaya-catalog-action .button { border-radius:14px 4px 14px 4px!important; }
}
@media (prefers-reduced-motion: reduce) {
  body.moritaya-brand-v8 .moritaya-catalog-card::before { transition:none; }
}


/* =========================================================
   MORITAYA v10 — kinetic commerce composition
   ========================================================= */
body.moritaya-brand-v10.woocommerce-page .site-main {
  background:
    radial-gradient(circle at 9% 4%,rgba(220,60,60,.08),transparent 25rem),
    radial-gradient(circle at 92% 18%,rgba(181,154,123,.12),transparent 24rem),
    linear-gradient(180deg,#fbf7f1,#f3ebe3);
}
body.moritaya-brand-v10 .moritaya-shop-shell { width:min(1340px,calc(100% - 48px)); }
body.moritaya-brand-v10 .moritaya-catalog-header {
  min-height:340px;
  display:grid;
  align-content:center;
  padding:52px 46px 52px 56px;
  border-radius:48px 8px 48px 8px;
  background:
    radial-gradient(circle at 86% 26%,rgba(220,60,60,.16),transparent 11rem),
    radial-gradient(circle at 70% 78%,rgba(181,154,123,.16),transparent 14rem),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(244,234,225,.94));
  box-shadow:0 34px 90px rgba(44,44,44,.10);
}
body.moritaya-brand-v10 .moritaya-catalog-header::after {
  right:6%;top:50%;width:210px;height:210px;
  transform:translateY(-50%) rotate(16deg);
  border-radius:34px;
  border-color:rgba(220,60,60,.2);
  box-shadow:0 0 0 34px rgba(220,60,60,.025),inset 0 0 50px rgba(255,255,255,.35);
  background:linear-gradient(145deg,rgba(255,255,255,.32),rgba(220,60,60,.055));
  backdrop-filter:blur(8px);
  animation:mtyCommerceFloat 8s ease-in-out infinite alternate;
}
@keyframes mtyCommerceFloat { to{transform:translate(-18px,calc(-50% - 18px)) rotate(28deg)} }
body.moritaya-brand-v10 .moritaya-catalog-header h1 { max-width:760px;font-size:clamp(3.4rem,6.4vw,7rem);line-height:1; }
body.moritaya-brand-v10 .moritaya-catalog-description { max-width:650px; }
body.moritaya-brand-v10 .moritaya-shop-tools { margin-top:-18px;border-radius:22px 5px 22px 5px; }

body.moritaya-brand-v10 .moritaya-catalog-grid {
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:24px;
  perspective:1600px;
}
body.moritaya-brand-v10 .moritaya-catalog-card {
  grid-column:span 3;
  margin-top:0;
  border-radius:28px 7px 28px 7px;
  box-shadow:0 22px 54px rgba(44,44,44,.08);
}
body.moritaya-brand-v10 .moritaya-catalog-card:nth-child(8n+1) {
  grid-column:span 6;
  border-color:rgba(220,60,60,.26);
}
body.moritaya-brand-v10 .moritaya-catalog-card:nth-child(8n+1) .moritaya-catalog-media { aspect-ratio:1.42 / 1; }
body.moritaya-brand-v10 .moritaya-catalog-card:nth-child(8n+2),
body.moritaya-brand-v10 .moritaya-catalog-card:nth-child(8n+5) { transform:translateY(34px) rotate(.7deg); }
body.moritaya-brand-v10 .moritaya-catalog-card:nth-child(8n+3),
body.moritaya-brand-v10 .moritaya-catalog-card:nth-child(8n+7) { transform:rotate(-.65deg); }
body.moritaya-brand-v10 .moritaya-catalog-card:hover {
  transform:translateY(-12px) rotateX(1.2deg) rotateY(-1.2deg) scale(1.012);
  border-color:rgba(220,60,60,.3);
  box-shadow:0 38px 88px rgba(44,44,44,.15);
}
body.moritaya-brand-v10 .moritaya-catalog-card:nth-child(8n+1) .woocommerce-loop-product__title { font-size:17px!important; }
body.moritaya-brand-v10 .moritaya-catalog-media::after {
  content:"";
  position:absolute;
  z-index:2;
  right:-48px;
  top:-48px;
  width:130px;
  height:130px;
  border-radius:50%;
  border:1px solid rgba(220,60,60,.16);
  box-shadow:0 0 0 26px rgba(220,60,60,.025);
  transition:transform .7s var(--m-ease);
}
body.moritaya-brand-v10 .moritaya-catalog-card:hover .moritaya-catalog-media::after { transform:translate(-16px,16px) scale(1.08); }
body.moritaya-brand-v10 .moritaya-catalog-arrow {
  border:1px solid rgba(255,255,255,.3);
  box-shadow:0 10px 24px rgba(0,0,0,.14);
}
body.moritaya-brand-v10 .moritaya-catalog-action .button {
  border-radius:18px 5px 18px 5px!important;
  background:linear-gradient(135deg,#2c2c2c,#171717)!important;
}
body.moritaya-brand-v10 .moritaya-catalog-action .button:hover { background:linear-gradient(135deg,#dc3c3c,#b92e2e)!important; }

body.moritaya-brand-v10 .moritaya-cart-shell.is-open .moritaya-cart-drawer {
  animation:mtyCartEnter .55s var(--m-ease) both;
}
@keyframes mtyCartEnter {
  from{transform:perspective(1200px) rotateY(-7deg) translateX(28px);opacity:.72}
  to{transform:perspective(1200px) rotateY(0) translateX(0);opacity:1}
}
body.moritaya-brand-v10 .moritaya-cart-drawer {
  overflow:hidden;
  border-left:1px solid rgba(220,60,60,.16);
  border-radius:38px 0 0 38px;
  background:
    radial-gradient(circle at 96% 10%,rgba(220,60,60,.08),transparent 13rem),
    #fffdfa;
}
body.moritaya-brand-v10 .moritaya-cart-drawer > header {
  min-height:138px;
  align-items:center;
  background:
    radial-gradient(circle at 88% 16%,rgba(220,60,60,.34),transparent 9rem),
    linear-gradient(135deg,#2c2c2c,#171717);
}
body.moritaya-brand-v10 .moritaya-mini-cart-item {
  margin:10px 0;
  padding:14px;
  border:1px solid #e9ddd3;
  border-radius:20px 5px 20px 5px;
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 24px rgba(44,44,44,.045);
}
body.moritaya-brand-v10 .moritaya-mini-cart-image { border-radius:14px 4px 14px 4px; }
body.moritaya-brand-v10 .moritaya-mini-cart-actions .button { border-radius:16px 4px 16px 4px; }

body.moritaya-brand-v10.single-product div.product {
  position:relative;
  padding:clamp(26px,4vw,54px);
  border:1px solid #e9ddd2;
  border-radius:42px 8px 42px 8px;
  background:rgba(255,253,250,.82);
  box-shadow:0 30px 80px rgba(44,44,44,.08);
  backdrop-filter:blur(10px);
}
body.moritaya-brand-v10.single-product .woocommerce-product-gallery__wrapper { border-radius:32px 6px 32px 6px;overflow:hidden; }
body.moritaya-brand-v10.single-product .single_add_to_cart_button { border-radius:18px 5px 18px 5px!important;box-shadow:0 16px 34px rgba(220,60,60,.22); }

body.moritaya-brand-v10 .woocommerce-cart-form,
body.moritaya-brand-v10 .cart-collaterals,
body.moritaya-brand-v10 .woocommerce-checkout #order_review,
body.moritaya-brand-v10 .woocommerce-account .woocommerce-MyAccount-content,
body.moritaya-brand-v10 .wc-block-cart,
body.moritaya-brand-v10 .wc-block-checkout {
  border-radius:32px 7px 32px 7px;
  background:rgba(255,253,250,.9);
  box-shadow:0 26px 70px rgba(44,44,44,.08);
  backdrop-filter:blur(12px);
}
@media(max-width:1180px){
  body.moritaya-brand-v10 .moritaya-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.moritaya-brand-v10 .moritaya-catalog-card,
  body.moritaya-brand-v10 .moritaya-catalog-card:nth-child(8n+1){grid-column:auto;transform:none}
  body.moritaya-brand-v10 .moritaya-catalog-card:nth-child(8n+1) .moritaya-catalog-media{aspect-ratio:.95/1.1}
}
@media(max-width:780px){
  body.moritaya-brand-v10 .moritaya-catalog-header{min-height:0;padding:38px 28px;border-radius:30px 6px 30px 6px}
  body.moritaya-brand-v10 .moritaya-catalog-header::after{width:130px;height:130px;right:-30px;opacity:.55}
  body.moritaya-brand-v10 .moritaya-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media(max-width:560px){body.moritaya-brand-v10 .moritaya-catalog-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body.moritaya-brand-v10 .moritaya-catalog-header::after,body.moritaya-brand-v10 .moritaya-cart-shell.is-open .moritaya-cart-drawer{animation:none!important}}


/* MORITAYA v11 commerce composition */
body.moritaya-brand-v11 .moritaya-catalog-header {
  padding:42px 42px 44px 48px;
  border-radius:34px 7px 34px 7px;
  background:
    radial-gradient(circle at 91% 15%,rgba(220,60,60,.10),transparent 16rem),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(246,238,230,.97));
}
body.moritaya-brand-v11 .moritaya-catalog-grid {
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:24px;
}
body.moritaya-brand-v11 .moritaya-catalog-card { grid-column:span 4; }
body.moritaya-brand-v11 .moritaya-catalog-card:nth-child(7n+1) { grid-column:span 6; }
body.moritaya-brand-v11 .moritaya-catalog-card:nth-child(7n+1) .moritaya-catalog-media { aspect-ratio:1.34/1; }
body.moritaya-brand-v11 .moritaya-catalog-card:nth-child(7n+4) { margin-top:34px; }
body.moritaya-brand-v11 .moritaya-catalog-card:nth-child(7n+6) { margin-top:18px; }
body.moritaya-brand-v11 .moritaya-catalog-card {
  border-radius:28px 6px 28px 6px;
  box-shadow:0 18px 48px rgba(44,44,44,.075);
}
body.moritaya-brand-v11 .moritaya-catalog-card:hover { box-shadow:0 38px 86px rgba(44,44,44,.15); }
body.moritaya-brand-v11 .moritaya-catalog-action .button { border-radius:16px 4px 16px 4px!important; }
body.moritaya-brand-v11 .moritaya-cart-drawer { overflow:hidden; }
body.moritaya-brand-v11 .moritaya-cart-drawer > header {
  background:
    radial-gradient(circle at 88% 12%,rgba(220,60,60,.3),transparent 10rem),
    #1d1d1d;
}
@media(max-width:1180px){
  body.moritaya-brand-v11 .moritaya-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.moritaya-brand-v11 .moritaya-catalog-card,
  body.moritaya-brand-v11 .moritaya-catalog-card:nth-child(7n+1){grid-column:auto}
  body.moritaya-brand-v11 .moritaya-catalog-card:nth-child(7n+4),
  body.moritaya-brand-v11 .moritaya-catalog-card:nth-child(7n+6){margin-top:0}
}
@media(max-width:780px){body.moritaya-brand-v11 .moritaya-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.moritaya-brand-v11 .moritaya-catalog-grid{grid-template-columns:1fr}}

/* =========================================================
   MORITAYA v12 — unified premium WooCommerce layer
   ========================================================= */
body.moritaya-brand-v12.woocommerce-page .site-main {
  background:
    radial-gradient(circle at 8% 4%,rgba(220,60,60,.075),transparent 24rem),
    radial-gradient(circle at 92% 20%,rgba(181,154,123,.11),transparent 26rem),
    linear-gradient(180deg,#fbf8f3,#f3ebe3);
}
body.moritaya-brand-v12 .moritaya-shop-shell { width:min(1360px,calc(100% - 48px));padding-top:clamp(118px,9vw,148px); }
body.moritaya-brand-v12 .moritaya-catalog-header {
  min-height:360px;padding:58px 54px 58px 62px;border-radius:46px 9px 46px 9px;overflow:hidden;
  background:
    radial-gradient(circle at 88% 22%,rgba(220,60,60,.16),transparent 13rem),
    radial-gradient(circle at 72% 78%,rgba(181,154,123,.14),transparent 16rem),
    linear-gradient(135deg,rgba(255,255,255,.97),rgba(243,233,224,.96));
  box-shadow:0 38px 104px rgba(44,44,44,.11);
}
body.moritaya-brand-v12 .moritaya-catalog-header::after { width:240px;height:240px;right:7%;top:50%;border-radius:54px 10px 54px 10px;transform:translateY(-50%) rotate(18deg);background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(220,60,60,.07));backdrop-filter:blur(12px);box-shadow:0 30px 72px rgba(44,44,44,.08),inset 0 0 60px rgba(255,255,255,.24); }
body.moritaya-brand-v12 .moritaya-catalog-header h1 { max-width:780px;font-size:clamp(3.5rem,6.1vw,7rem);letter-spacing:-.02em; }
body.moritaya-brand-v12 .moritaya-shop-tools { margin-top:-20px;padding:14px 20px;border-radius:22px 5px 22px 5px;background:rgba(255,255,255,.84);backdrop-filter:blur(14px);box-shadow:0 16px 38px rgba(44,44,44,.065); }
body.moritaya-brand-v12 .moritaya-catalog-grid { grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;perspective:1600px; }
body.moritaya-brand-v12 .moritaya-catalog-card { grid-column:span 3;margin:0;border-radius:30px 6px 30px 6px;background:linear-gradient(180deg,#fff,#fff8f1);box-shadow:0 24px 62px rgba(44,44,44,.085); }
body.moritaya-brand-v12 .moritaya-catalog-card:nth-child(8n+1) { grid-column:span 6; }
body.moritaya-brand-v12 .moritaya-catalog-card:nth-child(8n+1) .moritaya-catalog-media { aspect-ratio:1.38/1; }
body.moritaya-brand-v12 .moritaya-catalog-card:nth-child(8n+2),body.moritaya-brand-v12 .moritaya-catalog-card:nth-child(8n+5){transform:translateY(28px)}
body.moritaya-brand-v12 .moritaya-catalog-card:hover { transform:translateY(-12px) scale(1.01);border-color:rgba(220,60,60,.28);box-shadow:0 42px 96px rgba(44,44,44,.16); }
body.moritaya-brand-v12 .moritaya-catalog-media { background:linear-gradient(145deg,#f4ece4,#eadfd4); }
body.moritaya-brand-v12 .moritaya-catalog-media::after { content:"";position:absolute;z-index:2;right:-46px;top:-46px;width:128px;height:128px;border-radius:50%;border:1px solid rgba(220,60,60,.18);box-shadow:0 0 0 28px rgba(220,60,60,.025);transition:transform .55s var(--m-ease); }
body.moritaya-brand-v12 .moritaya-catalog-card:hover .moritaya-catalog-media::after { transform:translate(-14px,14px) scale(1.06); }
body.moritaya-brand-v12 .moritaya-catalog-action .button { min-height:52px!important;border-radius:16px 4px 16px 4px!important;box-shadow:0 12px 26px rgba(44,44,44,.11); }
body.moritaya-brand-v12 .moritaya-catalog-action .button:hover { box-shadow:0 18px 34px rgba(220,60,60,.2); }

body.moritaya-brand-v12.single-product .woo-shell { padding-top:clamp(92px,9vw,134px); }
body.moritaya-brand-v12.single-product div.product { padding:clamp(30px,4.5vw,60px);border:1px solid #e8dbd0;border-radius:46px 9px 46px 9px;background:rgba(255,253,250,.88);box-shadow:0 38px 105px rgba(44,44,44,.1);backdrop-filter:blur(14px); }
body.moritaya-brand-v12.single-product .woocommerce-product-gallery__wrapper { overflow:hidden;border-radius:36px 7px 36px 7px;box-shadow:0 22px 58px rgba(44,44,44,.08); }
body.moritaya-brand-v12.single-product .summary { padding-top:28px; }
body.moritaya-brand-v12.single-product .product_title { letter-spacing:-.02em; }
body.moritaya-brand-v12.single-product .summary .price { font-size:1.9rem!important; }
body.moritaya-brand-v12.single-product .single_add_to_cart_button { border-radius:18px 5px 18px 5px!important;box-shadow:0 18px 38px rgba(220,60,60,.22); }
body.moritaya-brand-v12.single-product .woocommerce-tabs { padding-top:26px; }
body.moritaya-brand-v12.single-product .related,body.moritaya-brand-v12.single-product .upsells { margin-top:70px; }

/* Cart drawer becomes a proper branded surface. */
body.moritaya-brand-v12 .moritaya-cart-drawer { width:min(540px,96vw);overflow:hidden;border-left:1px solid rgba(220,60,60,.14);border-radius:42px 0 0 42px;background:radial-gradient(circle at 100% 12%,rgba(220,60,60,.07),transparent 14rem),#fffdfa; }
body.moritaya-brand-v12 .moritaya-cart-drawer > header { min-height:148px;align-items:center;padding:34px 36px;background:radial-gradient(circle at 90% 10%,rgba(220,60,60,.34),transparent 10rem),linear-gradient(135deg,#2b2b2b,#171717); }
body.moritaya-brand-v12 .moritaya-cart-progress { padding:18px 36px 20px; }
body.moritaya-brand-v12 .moritaya-mini-cart-list { padding:18px 28px; }
body.moritaya-brand-v12 .moritaya-mini-cart-item { margin:10px 0;padding:15px;border:1px solid #e8ddd2;border-radius:22px 5px 22px 5px;background:rgba(255,255,255,.84);box-shadow:0 12px 30px rgba(44,44,44,.05);transition:transform .3s,box-shadow .3s; }
body.moritaya-brand-v12 .moritaya-mini-cart-item:hover { transform:translateY(-3px);box-shadow:0 18px 38px rgba(44,44,44,.08); }
body.moritaya-brand-v12 .moritaya-mini-cart-image { border-radius:15px 4px 15px 4px; }
body.moritaya-brand-v12 .moritaya-mini-cart-subtotal { padding-inline:36px; }
body.moritaya-brand-v12 .moritaya-mini-cart-actions { padding:0 36px 36px; }
body.moritaya-brand-v12 .moritaya-mini-cart-actions .button { border-radius:16px 4px 16px 4px; }

/* Cart/checkout/account blocks and classic Woo share the same material system. */
body.moritaya-brand-v12 .woocommerce-cart-form,
body.moritaya-brand-v12 .cart-collaterals,
body.moritaya-brand-v12 .woocommerce-checkout #customer_details,
body.moritaya-brand-v12 .woocommerce-checkout #order_review,
body.moritaya-brand-v12 .woocommerce-account .woocommerce-MyAccount-content,
body.moritaya-brand-v12 .wc-block-cart,
body.moritaya-brand-v12 .wc-block-checkout {
  border:1px solid #e7dbcf;border-radius:34px 7px 34px 7px;background:rgba(255,253,250,.92);box-shadow:0 30px 82px rgba(44,44,44,.085);backdrop-filter:blur(12px);
}
body.moritaya-brand-v12 .woocommerce-cart-form { padding:22px; }
body.moritaya-brand-v12 .cart-collaterals { padding:28px; }
body.moritaya-brand-v12 .woocommerce-checkout #customer_details { padding:30px; }
body.moritaya-brand-v12 .woocommerce-checkout #order_review { overflow:hidden; }
body.moritaya-brand-v12 .woocommerce-checkout #payment,body.moritaya-brand-v12 .wc-block-components-sidebar { border-radius:24px 5px 24px 5px;background:linear-gradient(145deg,#f2e8de,#eee1d5); }
body.moritaya-brand-v12 .woocommerce form .form-row input.input-text,
body.moritaya-brand-v12 .woocommerce form .form-row textarea,
body.moritaya-brand-v12 .woocommerce select,
body.moritaya-brand-v12 .wc-block-components-text-input input,
body.moritaya-brand-v12 .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input { border-radius:13px 4px 13px 4px;transition:border-color .25s,box-shadow .25s,transform .25s; }
body.moritaya-brand-v12 .woocommerce form .form-row input.input-text:focus,
body.moritaya-brand-v12 .woocommerce form .form-row textarea:focus,
body.moritaya-brand-v12 .wc-block-components-text-input input:focus { transform:translateY(-1px);box-shadow:0 0 0 4px rgba(220,60,60,.075); }
body.moritaya-brand-v12 .wc-block-components-button,body.moritaya-brand-v12 .woocommerce button.button,body.moritaya-brand-v12 .woocommerce a.button { border-radius:15px 4px 15px 4px; }
body.moritaya-brand-v12 .wc-block-components-checkout-place-order-button,body.moritaya-brand-v12 .woocommerce-checkout #place_order { min-height:58px!important;box-shadow:0 16px 36px rgba(220,60,60,.2); }

@media(max-width:1180px){
  body.moritaya-brand-v12 .moritaya-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.moritaya-brand-v12 .moritaya-catalog-card,body.moritaya-brand-v12 .moritaya-catalog-card:nth-child(8n+1){grid-column:auto;transform:none}
  body.moritaya-brand-v12 .moritaya-catalog-card:nth-child(8n+1) .moritaya-catalog-media{aspect-ratio:.95/1.1}
}
@media(max-width:780px){
  body.moritaya-brand-v12 .moritaya-shop-shell{width:min(1360px,calc(100% - 28px))}
  body.moritaya-brand-v12 .moritaya-catalog-header{min-height:0;padding:40px 28px;border-radius:30px 6px 30px 6px}
  body.moritaya-brand-v12 .moritaya-catalog-header::after{width:130px;height:130px;right:-30px;opacity:.48}
  body.moritaya-brand-v12 .moritaya-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  body.moritaya-brand-v12.single-product div.product{padding:22px;border-radius:28px 6px 28px 6px}
}
@media(max-width:560px){
  body.moritaya-brand-v12 .moritaya-catalog-grid{grid-template-columns:1fr}
  body.moritaya-brand-v12 .moritaya-cart-drawer{border-radius:26px 0 0 26px}
  body.moritaya-brand-v12 .moritaya-cart-drawer > header,body.moritaya-brand-v12 .moritaya-cart-progress,body.moritaya-brand-v12 .moritaya-mini-cart-subtotal,body.moritaya-brand-v12 .moritaya-mini-cart-actions{padding-left:20px;padding-right:20px}
}

body.moritaya-brand-v12 .moritaya-catalog-empty {
  display:grid;grid-template-columns:minmax(0,.68fr) minmax(560px,1.32fr);gap:clamp(42px,7vw,100px);align-items:start;padding:54px;border:1px solid #e7dbcf;border-radius:38px 8px 38px 8px;background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(247,238,229,.94));box-shadow:0 30px 86px rgba(44,44,44,.085);
}
body.moritaya-brand-v12 .moritaya-catalog-empty-copy h2 { margin-bottom:20px;font-size:clamp(2.6rem,4.3vw,4.8rem);line-height:1.25; }
body.moritaya-brand-v12 .moritaya-catalog-empty-copy > p:last-child { color:var(--m-commerce-muted);line-height:2; }
body.moritaya-brand-v12 .moritaya-catalog-preview-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
body.moritaya-brand-v12 .moritaya-catalog-preview { position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:4px 12px;padding:12px 12px 18px;border:1px solid #e8dbcf;border-radius:24px 5px 24px 5px;background:#fff;color:var(--m-commerce-ink);box-shadow:0 16px 40px rgba(44,44,44,.06); }
body.moritaya-brand-v12 .moritaya-catalog-preview-media { grid-column:1/-1;display:block;aspect-ratio:1/1.08;overflow:hidden;margin-bottom:10px;border-radius:17px 4px 17px 4px;background:#efe5dc; }
body.moritaya-brand-v12 .moritaya-catalog-preview-media img { width:100%;height:100%;object-fit:cover;transition:transform .6s var(--m-ease); }
body.moritaya-brand-v12 .moritaya-catalog-preview:hover .moritaya-catalog-preview-media img { transform:scale(1.04); }
body.moritaya-brand-v12 .moritaya-catalog-preview small { color:#9a8878;font-size:8px;font-weight:800;letter-spacing:.14em; }
body.moritaya-brand-v12 .moritaya-catalog-preview strong { font-size:13px;line-height:1.45; }
body.moritaya-brand-v12 .moritaya-catalog-preview i { grid-column:2;grid-row:2/4;align-self:center;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#2c2c2c;color:#fff;transition:background .3s,transform .3s; }
body.moritaya-brand-v12 .moritaya-catalog-preview:hover i { background:var(--m-commerce-red);transform:rotate(-8deg); }
@media(max-width:980px){body.moritaya-brand-v12 .moritaya-catalog-empty{grid-template-columns:1fr}.moritaya-brand-v12 .moritaya-catalog-preview-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){body.moritaya-brand-v12 .moritaya-catalog-empty{padding:26px;border-radius:26px 6px 26px 6px}body.moritaya-brand-v12 .moritaya-catalog-preview-grid{grid-template-columns:1fr}}


/* MORITAYA V14 commerce refinement — same identity, cleaner product interaction. */
body.moritaya-brand-v13 .moritaya-catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
body.moritaya-brand-v13 .moritaya-catalog-card { position:relative; overflow:hidden; border:1px solid rgba(44,44,44,.10); border-radius:18px 5px 18px 5px; background:#fffdfa; box-shadow:0 18px 55px rgba(44,44,44,.09); transition:transform .55s cubic-bezier(.2,.75,.25,1),box-shadow .4s,border-color .3s; }
body.moritaya-brand-v13 .moritaya-catalog-card:hover { border-color:var(--m-logo-red); box-shadow:0 28px 70px rgba(44,44,44,.16),0 18px 42px rgba(220,60,60,.11); transform:translateY(-7px); }
body.moritaya-brand-v13 .moritaya-catalog-media { position:relative; overflow:hidden; display:block; aspect-ratio:1/1.12; background:#f1ebe4; outline:1px solid transparent; outline-offset:-2px; transition:outline-color .3s; }
body.moritaya-brand-v13 .moritaya-catalog-card:hover .moritaya-catalog-media { outline-color:rgba(220,60,60,.80); }
body.moritaya-brand-v13 .moritaya-catalog-media img { width:100%; height:100%; object-fit:cover; transition:transform .85s cubic-bezier(.2,.75,.25,1),filter .8s; }
body.moritaya-brand-v13 .moritaya-catalog-card:hover .moritaya-catalog-media img { transform:scale(1.055); filter:saturate(1.04) contrast(1.03); }
body.moritaya-brand-v13 .moritaya-catalog-media::after { content:""; position:absolute; inset:0; background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.22) 49%,transparent 63%); transform:translateX(-120%); transition:transform .9s cubic-bezier(.2,.75,.25,1); pointer-events:none; }
body.moritaya-brand-v13 .moritaya-catalog-card:hover .moritaya-catalog-media::after { transform:translateX(120%); }
body.moritaya-brand-v13 .moritaya-catalog-link { display:block; }
body.moritaya-brand-v13 .moritaya-catalog-category { margin:18px 20px 8px!important; color:#9a8c80; font-size:8px; font-weight:800; letter-spacing:.12em; }
body.moritaya-brand-v13 .moritaya-catalog-card .woocommerce-loop-product__title { margin:0 20px 14px!important; min-height:2.9em; font-size:15px!important; line-height:1.5; }
body.moritaya-brand-v13 .moritaya-catalog-meta { padding:0 20px 12px; }
body.moritaya-brand-v13 .moritaya-catalog-action { padding:0 20px 20px; }
body.moritaya-brand-v13 .moritaya-catalog-action .button { width:100%; justify-content:center; border-radius:11px 3px 11px 3px; }
body.moritaya-brand-v13 .moritaya-catalog-arrow { transition:transform .35s,background .3s,color .3s; }
body.moritaya-brand-v13 .moritaya-catalog-card:hover .moritaya-catalog-arrow { transform:translate(3px,-3px); background:var(--m-logo-red); color:#fff; }
body.moritaya-brand-v13.single-product .woocommerce-product-gallery__wrapper { border:1px solid rgba(44,44,44,.09); box-shadow:0 30px 80px rgba(44,44,44,.11); }
body.moritaya-brand-v13.single-product .single_add_to_cart_button { min-height:58px!important; border-radius:14px 4px 14px 4px!important; box-shadow:0 18px 38px rgba(220,60,60,.20); }
body.moritaya-brand-v13 .woocommerce-message,
body.moritaya-brand-v13 .woocommerce-info,
body.moritaya-brand-v13 .woocommerce-error { border-radius:14px 4px 14px 4px; }
@media (max-width:1100px){body.moritaya-brand-v13 .moritaya-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:760px){body.moritaya-brand-v13 .moritaya-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}body.moritaya-brand-v13 .moritaya-catalog-category{margin-inline:15px!important;}body.moritaya-brand-v13 .moritaya-catalog-card .woocommerce-loop-product__title{margin-inline:15px!important;font-size:13px!important;}body.moritaya-brand-v13 .moritaya-catalog-meta,body.moritaya-brand-v13 .moritaya-catalog-action{padding-inline:15px;}}
@media (max-width:480px){body.moritaya-brand-v13 .moritaya-catalog-grid{grid-template-columns:1fr;}}

/* =========================================================
   MORITAYA V15 — clean shop + account
   ========================================================= */
body.moritaya-brand-v15.woocommerce-page .site-main { background:linear-gradient(180deg,#faf7f2 0%,#f4ede5 100%); }
body.moritaya-brand-v15 .moritaya-shop-shell { width:min(1320px,calc(100% - 56px)); padding-top:112px; padding-bottom:110px; }
body.moritaya-brand-v15 .moritaya-catalog-header { min-height:270px; padding:48px 58px; border-radius:32px 7px 32px 7px; background:linear-gradient(135deg,#fffdfa,#f2e9df); box-shadow:0 22px 58px rgba(44,44,44,.08); }
body.moritaya-brand-v15 .moritaya-catalog-header::before,
body.moritaya-brand-v15 .moritaya-catalog-header::after { display:none!important; }
body.moritaya-brand-v15 .moritaya-catalog-header h1 { font-size:clamp(3rem,6vw,5.7rem); }
body.moritaya-brand-v15 .moritaya-catalog-signature { color:#7c736b; }
body.moritaya-brand-v15 .moritaya-shop-tools { margin:28px 0 22px; padding:13px 18px; border:1px solid #e4d8cc; border-radius:14px; background:rgba(255,255,255,.72); box-shadow:0 10px 28px rgba(44,44,44,.045); }
body.moritaya-brand-v15 .moritaya-catalog-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; perspective:1500px; }
body.moritaya-brand-v15 .moritaya-catalog-card,
body.moritaya-brand-v15 .moritaya-catalog-card:nth-child(n) { grid-column:auto!important; margin:0!important; transform:none!important; rotate:0deg!important; border:1px solid rgba(44,44,44,.09); border-radius:22px 6px 22px 6px; background:#fffdfa; box-shadow:0 18px 48px rgba(44,44,44,.08); transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s,border-color .3s; }
body.moritaya-brand-v15 .moritaya-catalog-card:hover { transform:translateY(-9px)!important; border-color:rgba(220,60,60,.75); box-shadow:0 26px 64px rgba(220,60,60,.16),0 16px 42px rgba(44,44,44,.08); }
body.moritaya-brand-v15 .moritaya-catalog-media { aspect-ratio:1/1.08!important; background:linear-gradient(145deg,#f7f0e8,#e9ded3); }
body.moritaya-brand-v15 .moritaya-catalog-media::after { display:none; }
body.moritaya-brand-v15 .moritaya-catalog-media img { transition:transform .65s cubic-bezier(.2,.75,.2,1),filter .45s; }
body.moritaya-brand-v15 .moritaya-catalog-card:hover .moritaya-catalog-media img { transform:scale(1.055); filter:saturate(1.04) contrast(1.04); }
body.moritaya-brand-v15 .moritaya-catalog-arrow { transition:transform .35s,background .35s,box-shadow .35s; }
body.moritaya-brand-v15 .moritaya-catalog-card:hover .moritaya-catalog-arrow { background:var(--m-logo-red)!important; box-shadow:0 10px 26px rgba(220,60,60,.28); transform:translateY(-2px) rotate(-7deg); }
body.moritaya-brand-v15 .moritaya-catalog-action .button { min-height:48px!important; border-radius:13px 4px 13px 4px!important; }
body.moritaya-brand-v15 .woocommerce-account .woocommerce { width:min(1120px,calc(100% - 56px)); margin:112px auto; display:grid; grid-template-columns:240px 1fr; gap:22px; align-items:start; }
body.moritaya-brand-v15 .woocommerce-account .woocommerce-MyAccount-navigation { padding:0; border:1px solid #e5d9ce; border-radius:22px 6px 22px 6px; background:#fffdfa; box-shadow:0 18px 48px rgba(44,44,44,.07); overflow:hidden; }
body.moritaya-brand-v15 .woocommerce-account .woocommerce-MyAccount-navigation ul { margin:0!important; }
body.moritaya-brand-v15 .woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom:1px solid #eee5dc; }
body.moritaya-brand-v15 .woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom:0; }
body.moritaya-brand-v15 .woocommerce-account .woocommerce-MyAccount-navigation a { padding:15px 18px!important; font-size:12px; transition:padding .3s,background .3s,color .3s; }
body.moritaya-brand-v15 .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background:var(--m-logo-red); color:#fff; }
body.moritaya-brand-v15 .woocommerce-account .woocommerce-MyAccount-navigation a:hover { padding-left:23px!important; color:var(--m-logo-red); background:#fff7f2; }
body.moritaya-brand-v15 .woocommerce-account .woocommerce-MyAccount-content { min-height:390px; padding:34px; border-radius:30px 7px 30px 7px; background:#fffdfa; box-shadow:0 22px 58px rgba(44,44,44,.07); }
body.moritaya-brand-v15 .moritaya-account-welcome { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; min-height:230px; margin:-8px -8px 24px; padding:32px; border-radius:24px 6px 24px 6px; background:linear-gradient(135deg,#f8efe7,#fffdfa); border:1px solid #e8dbcf; overflow:hidden; position:relative; }
body.moritaya-brand-v15 .moritaya-account-welcome::after { content:"";position:absolute;width:260px;height:260px;right:-100px;top:-120px;border:1px solid rgba(220,60,60,.18);border-radius:50%;box-shadow:0 0 0 34px rgba(220,60,60,.025); }
body.moritaya-brand-v15 .moritaya-account-welcome h2 { position:relative;z-index:1; margin:8px 0 12px; font-size:clamp(2rem,4vw,3.7rem); }
body.moritaya-brand-v15 .moritaya-account-welcome p:not(.eyebrow) { position:relative;z-index:1; max-width:600px; color:#6f675f; }
body.moritaya-brand-v15 .moritaya-account-welcome .button { position:relative;z-index:2; flex:0 0 auto; }
@media(max-width:900px){body.moritaya-brand-v15 .moritaya-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));}body.moritaya-brand-v15 .woocommerce-account .woocommerce{grid-template-columns:1fr;margin-top:86px;} }
@media(max-width:680px){body.moritaya-brand-v15 .moritaya-shop-shell{width:min(1320px,calc(100% - 28px));padding-top:82px;}body.moritaya-brand-v15 .moritaya-catalog-header{padding:36px 26px;min-height:220px;}body.moritaya-brand-v15 .moritaya-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}body.moritaya-brand-v15 .woocommerce-account .woocommerce{width:calc(100% - 28px);margin:76px auto;}body.moritaya-brand-v15 .woocommerce-account .woocommerce-MyAccount-content{padding:18px;}body.moritaya-brand-v15 .moritaya-account-welcome{align-items:flex-start;flex-direction:column;margin:0 0 18px;padding:24px;}}
@media(max-width:480px){body.moritaya-brand-v15 .moritaya-catalog-grid{grid-template-columns:1fr;}}

/* V15 motion polish: a restrained moving light, not decorative geometry. */
body.moritaya-brand-v15 .moritaya-catalog-header { position:relative; isolation:isolate; }
body.moritaya-brand-v15 .moritaya-catalog-header > * { position:relative; z-index:2; }
body.moritaya-brand-v15 .moritaya-catalog-header::after { content:""!important; display:block!important; position:absolute!important; z-index:1!important; width:38vw!important; height:180%!important; right:-22vw!important; top:-40%!important; border:0!important; border-radius:50%!important; background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.55) 46%,rgba(220,60,60,.08) 53%,transparent 100%)!important; filter:blur(12px); transform:rotate(16deg); animation:mtyV15ShopLight 8s ease-in-out infinite!important; box-shadow:none!important; pointer-events:none; }
@keyframes mtyV15ShopLight { 0%,100%{translate:-20% 0;opacity:.18} 50%{translate:-72% 0;opacity:.62} }
body.moritaya-brand-v15 .moritaya-catalog-card::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; border:1px solid transparent; background:linear-gradient(115deg,transparent 25%,rgba(220,60,60,.8) 50%,transparent 75%) border-box; mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0); mask-composite:exclude; opacity:0; transform:translateX(-35%); transition:opacity .3s,transform .7s; }
body.moritaya-brand-v15 .moritaya-catalog-card:hover::after,
body.moritaya-brand-v15 .moritaya-catalog-card.is-clicked::after { opacity:1; transform:translateX(35%); }
body.moritaya-brand-v15 .moritaya-catalog-card.is-clicked,
body.moritaya-brand-v15 .mty-product-card.is-clicked { animation:mtyV15CardPulse .52s ease both; }
@keyframes mtyV15CardPulse { 0%{box-shadow:0 18px 48px rgba(44,44,44,.08)} 45%{box-shadow:0 0 0 3px rgba(220,60,60,.16),0 26px 74px rgba(220,60,60,.28)} 100%{box-shadow:0 18px 48px rgba(44,44,44,.08)} }
@media(prefers-reduced-motion:reduce){body.moritaya-brand-v15 .moritaya-catalog-header::after{animation:none!important}body.moritaya-brand-v15 .moritaya-catalog-card::after{transition:none!important}}


/* MORITAYA V16 commerce corrections */
body.moritaya-brand-v16 .moritaya-catalog-card .moritaya-catalog-media::after { display:none!important; }
body.moritaya-brand-v16 .moritaya-catalog-card .moritaya-catalog-media { outline:none!important; }
body.moritaya-brand-v16 .moritaya-catalog-card .moritaya-catalog-arrow { border:1px solid rgba(44,44,44,.12); }
body.moritaya-brand-v16 .moritaya-catalog-card:hover .moritaya-catalog-arrow { background:var(--m-logo-red)!important; color:#fff!important; }
body.moritaya-brand-v16 .woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none!important; }
body.moritaya-brand-v16 .woocommerce-account .woocommerce-MyAccount-content a { color:var(--m-logo-red); }
body.moritaya-brand-v16 .woocommerce-account .woocommerce-MyAccount-content a.button { color:#fff; }

/* v17 commerce normalization: prevent legacy staggered cards and decorative overlays. */
body.moritaya-brand-v17 .moritaya-catalog-header,body.moritaya-brand-v17 .moritaya-shop-shell{all:unset}
body.moritaya-brand-v17 .moritaya-catalog-grid,body.moritaya-brand-v17 .moritaya-catalog-card{display:none!important}
body.moritaya-brand-v17 .woocommerce-breadcrumb{color:#81776f!important}
body.moritaya-brand-v17 .woocommerce-message,body.moritaya-brand-v17 .woocommerce-info,body.moritaya-brand-v17 .woocommerce-error{border-top-color:#dc3c3c!important;background:#fffdfa!important;color:#5f5953!important}
body.moritaya-brand-v17 .woocommerce-message::before,body.moritaya-brand-v17 .woocommerce-info::before{color:#dc3c3c!important}


/* V23 — correção estética exclusiva do carrinho/finalização.
   Não altera idioma, produtos, imagens, categorias nem os efeitos do catálogo. */
body.moritaya-brand-v17.woocommerce-checkout .woo-shell,
body.moritaya-brand-v17.woocommerce-cart .woo-shell{
  width:min(100% - 48px,1240px)!important;
  max-width:1240px!important;
  margin-inline:auto!important;
}
body.moritaya-brand-v17 .wp-block-woocommerce-checkout,
body.moritaya-brand-v17 .wc-block-checkout,
body.moritaya-brand-v17 .wc-block-components-sidebar-layout{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.moritaya-brand-v17 .wc-block-checkout,
body.moritaya-brand-v17 .wc-block-components-sidebar-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,420px)!important;
  gap:clamp(24px,4vw,56px)!important;
  align-items:start!important;
}
body.moritaya-brand-v17 .wc-block-checkout__main,
body.moritaya-brand-v17 .wc-block-checkout__sidebar,
body.moritaya-brand-v17 .wc-block-components-main,
body.moritaya-brand-v17 .wc-block-components-sidebar{
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
}
body.moritaya-brand-v17 .wc-block-checkout__main,
body.moritaya-brand-v17 .wc-block-components-main{
  padding-right:0!important;
}
body.moritaya-brand-v17 .wc-block-checkout__sidebar,
body.moritaya-brand-v17 .wc-block-components-sidebar{
  padding:26px!important;
  border:1px solid var(--m-line)!important;
  border-radius:18px!important;
  background:#fffdfa!important;
  box-shadow:0 18px 48px rgba(44,44,44,.07)!important;
}
body.moritaya-brand-v17 .wc-block-components-sidebar .wc-block-components-order-summary,
body.moritaya-brand-v17 .wc-block-components-order-summary{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.moritaya-brand-v17 .wc-block-components-product-name,
body.moritaya-brand-v17 .wc-block-components-product-metadata,
body.moritaya-brand-v17 .wc-block-components-product-details,
body.moritaya-brand-v17 .wc-block-components-order-summary-item__description{
  overflow-wrap:anywhere;
  word-break:normal!important;
}
body.moritaya-brand-v17 .wc-block-components-product-name{
  font-size:15px!important;
  line-height:1.55!important;
}
body.moritaya-brand-v17 .wc-block-components-order-summary-item{
  grid-template-columns:64px minmax(0,1fr) auto!important;
  column-gap:14px!important;
}
body.moritaya-brand-v17 .wc-block-components-order-summary-item__image{
  width:64px!important;
  min-width:64px!important;
}
body.moritaya-brand-v17 .wc-block-components-order-summary-item__image img{
  width:64px!important;
  height:64px!important;
  object-fit:cover!important;
}

/* Hero do checkout: contraste correto e tipografia legível. */
body.moritaya-brand-v17 .moritaya-checkout-intro{
  background:linear-gradient(135deg,#2c2c2c,#1b1b1b)!important;
  color:#fff!important;
}
body.moritaya-brand-v17 .moritaya-checkout-intro h1,
body.moritaya-brand-v17 .moritaya-checkout-intro h2,
body.moritaya-brand-v17 .moritaya-checkout-intro .entry-title{
  color:#fff!important;
  text-shadow:none!important;
}
body.moritaya-brand-v17 .moritaya-checkout-intro > p:not(.eyebrow){
  color:rgba(255,255,255,.78)!important;
}
body.moritaya-brand-v17 .moritaya-checkout-intro .eyebrow,
body.moritaya-brand-v17 .moritaya-checkout-badges span{
  color:rgba(255,255,255,.88)!important;
  border-color:rgba(255,255,255,.25)!important;
}

/* Checkout clássico, caso o WooCommerce use esse modo. */
body.moritaya-brand-v17.woocommerce-checkout form.checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,420px)!important;
  gap:clamp(24px,4vw,56px)!important;
  width:100%!important;
}
body.moritaya-brand-v17.woocommerce-checkout #customer_details{grid-column:1!important;}
body.moritaya-brand-v17.woocommerce-checkout #order_review_heading,
body.moritaya-brand-v17.woocommerce-checkout #order_review{grid-column:2!important;}
body.moritaya-brand-v17.woocommerce-checkout #order_review{
  padding:26px!important;
  border-radius:18px!important;
}

@media (max-width:980px){
  body.moritaya-brand-v17 .wc-block-checkout,
  body.moritaya-brand-v17 .wc-block-components-sidebar-layout,
  body.moritaya-brand-v17.woocommerce-checkout form.checkout{
    grid-template-columns:1fr!important;
  }
  body.moritaya-brand-v17 .wc-block-checkout__sidebar{order:2!important;}
  body.moritaya-brand-v17.woocommerce-checkout #customer_details,
  body.moritaya-brand-v17.woocommerce-checkout #order_review_heading,
  body.moritaya-brand-v17.woocommerce-checkout #order_review{grid-column:1!important;}
}
@media (max-width:560px){
  body.moritaya-brand-v17.woocommerce-checkout .woo-shell,
  body.moritaya-brand-v17.woocommerce-cart .woo-shell{
    width:min(100% - 24px,1240px)!important;
  }
  body.moritaya-brand-v17 .wc-block-checkout__sidebar,
  body.moritaya-brand-v17 .wc-block-components-sidebar{padding:18px!important;}
  body.moritaya-brand-v17 .wc-block-components-order-summary-item{
    grid-template-columns:56px minmax(0,1fr)!important;
  }
  body.moritaya-brand-v17 .wc-block-components-order-summary-item__image,
  body.moritaya-brand-v17 .wc-block-components-order-summary-item__image img{
    width:56px!important;height:56px!important;min-width:56px!important;
  }
}


/* V23.4 — About / Contact brand consistency and readable dark contact panel. */
body.moritaya-brand-v17 .moritaya-contact-card{
  background:#1f1f1f!important;
  color:rgba(255,255,255,.82)!important;
}
body.moritaya-brand-v17 .moritaya-contact-card h1,
body.moritaya-brand-v17 .moritaya-contact-card h2,
body.moritaya-brand-v17 .moritaya-contact-card h3,
body.moritaya-brand-v17 .moritaya-contact-card p,
body.moritaya-brand-v17 .moritaya-contact-card small{
  color:inherit!important;
}
body.moritaya-brand-v17 .moritaya-contact-card h3{color:#fff!important;}


/* V24 visual corrections: remove the legacy diagonal border mask seen on catalog cards. */
body.moritaya-brand-v17 .moritaya-catalog-card::after,
body.moritaya-brand-v16 .moritaya-catalog-card::after,
body.moritaya-brand-v15 .moritaya-catalog-card::after {
  content:none!important;
  display:none!important;
  opacity:0!important;
  transform:none!important;
  animation:none!important;
  background:none!important;
  border:0!important;
  mask:none!important;
  -webkit-mask:none!important;
}

/* Keep card interaction clean without drawing geometry across the image/card. */
body.moritaya-brand-v17 .moritaya-catalog-card,
body.moritaya-brand-v17 .moritaya-catalog-card:hover,
body.moritaya-brand-v17 .moritaya-catalog-card.is-clicked {
  overflow:hidden!important;
  isolation:isolate;
}

/* Contact card: explicit colors prevent dark inherited headings on dark background. */
body.moritaya-brand-v17 .moritaya-contact-card,
body.moritaya-brand-v17 .moritaya-contact-card * {
  color:rgba(255,255,255,.82)!important;
}
body.moritaya-brand-v17 .moritaya-contact-card h1,
body.moritaya-brand-v17 .moritaya-contact-card h2,
body.moritaya-brand-v17 .moritaya-contact-card h3 {
  color:#fff!important;
}
body.moritaya-brand-v17 .moritaya-contact-card a {
  color:#fff!important;
}


/* V25 — checkout: força contraste real em qualquer versão de classe do body.
   O título estava herdando uma regra editorial escura/transparente. */
.moritaya-checkout-intro,
body .moritaya-checkout-intro{
  background:linear-gradient(135deg,#2c2c2c,#1b1b1b)!important;
  color:#fff!important;
}
.moritaya-checkout-intro h1,
.moritaya-checkout-intro h2,
.moritaya-checkout-intro h3,
.moritaya-checkout-intro .entry-title,
.moritaya-checkout-intro [class*="title"]{
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
  -webkit-text-fill-color:#fff!important;
}
.moritaya-checkout-intro p,
.moritaya-checkout-intro > p:not(.eyebrow),
.moritaya-checkout-intro .eyebrow,
.moritaya-checkout-intro span,
.moritaya-checkout-intro strong{
  opacity:1!important;
  -webkit-text-fill-color:currentColor!important;
}
.moritaya-checkout-intro > p:not(.eyebrow){
  color:rgba(255,255,255,.82)!important;
}
.moritaya-checkout-intro .eyebrow{
  color:rgba(255,255,255,.88)!important;
}
.moritaya-checkout-intro .moritaya-checkout-badges span,
.moritaya-checkout-badges span{
  color:rgba(255,255,255,.88)!important;
  opacity:1!important;
  border-color:rgba(255,255,255,.25)!important;
}

/* Impede que regras globais de reveal/decorative heading reduzam a opacidade do checkout. */
.moritaya-checkout-intro[data-reveal],
.moritaya-checkout-intro[data-reveal].is-visible,
.moritaya-checkout-intro[data-reveal] *,
.moritaya-checkout-intro.is-visible,
.moritaya-checkout-intro.is-visible *{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}

/* Segurança extra para tema/child theme que usa variação do seletor. */
.woocommerce-checkout .moritaya-checkout-intro h2,
.woocommerce-page .moritaya-checkout-intro h2,
.editorial-commerce-content .moritaya-checkout-intro h2{
  color:#fff!important;
  opacity:1!important;
  -webkit-text-fill-color:#fff!important;
}
