body.mny-design { --mny-paper:#f7f4ed; --mny-ink:#27221e; --mny-red:#962a23; --mny-night:#201714; --mny-line:#dcd1c1; --mny-dock:calc(64px + env(safe-area-inset-bottom)); background:var(--mny-paper); color:var(--mny-ink); }
.mny-design .je-ms-floating-cart { display:none!important; }
/* Keep Google verification and challenge widgets intact. Hide only the floating badge. */
.mny-design .grecaptcha-badge { visibility:hidden!important; pointer-events:none; }
.mny-design #page, .mny-design #page > .site-content { background-color:var(--mny-paper); }
.mny-design:not(.home):not(.blog):has(.mny-brand img) #masthead .site-branding:not(:has(.site-description)) { display:none; }
.mny-design .mny-bar { position:sticky; top:0; z-index:70; color:#fff7ec; background:var(--mny-night); border-top:3px solid var(--mny-red); }
.mny-design.admin-bar .mny-bar { top:var(--wp-admin--admin-bar--height,32px); }
.mny-bar-inner { width:min(1120px,calc(100% - 36px)); margin:auto; min-height:62px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.mny-bar a,.mny-bar button { color:inherit; text-decoration:none; background:none; border:0; }
.mny-bar .mny-brand { display:inline-flex; align-items:center; min-height:44px; font-weight:700; font-family:"Yu Mincho",serif; }
.mny-brand img { width:123px; max-width:100%; height:auto; display:block; }
.mny-bar nav { display:flex; align-items:center; gap:8px; }
.mny-bar nav > * { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:.4rem; padding:0 .45rem; font-size:.88rem; }
.mny-bar nav > *:hover { color:#f5c88d; }
.mny-bar nav [data-mny-menu] { border:1px solid #a6907b; border-radius:2px; padding-inline:.55rem; }
.mny-bar nav .mny-header-search { margin:0; padding:0; gap:0; border:1px solid #a6907b; border-radius:2px; }
.mny-header-search input[type=search] { width:clamp(128px,20vw,240px); height:42px; padding:0 .75rem; border:0; color:var(--mny-ink); background:#fffaf2; }
.mny-header-search button { width:44px; min-height:42px; display:grid; place-items:center; padding:0; }
.mny-menu-proxy-ready #hb-menu:not(:checked) ~ #masthead label.hamburger[for="hb-menu"] { visibility:hidden; }
.mny-bar svg,.mny-dock svg,.mny-heart svg { width:22px; height:22px; }
.mny-bar [hidden],.mny-dock[hidden],.mny-readmore [hidden] { display:none!important; }
.mny-design #colophon,.mny-design #footer-contact-area { color:#f7eee2; }
.mny-design #colophon { background-color:var(--mny-night); }
.mny-design #colophon a { color:#f7eee2; }
.mny-recaptcha-notice { font-size:.82rem; line-height:1.65; overflow-wrap:anywhere; }
.mny-recaptcha-notice a { color:inherit; text-decoration:underline; }
.mny-recaptcha-footer { margin:0; padding:.7rem 1rem; text-align:center; color:#f7eee2; background:var(--mny-night); }
.mny-recaptcha-form { margin:.75rem 0; }
.mny-design .entry-title,.mny-design .page-title,.mny-design .widget_title { font-family:"Yu Mincho","Hiragino Mincho ProN",serif; }
.mny-design :where(.mny-bar,.mny-dock,.mny-readmore,.mny-favorites,.mny-heart) :focus-visible,
.mny-heart:focus-visible { outline:3px solid #ab7542; outline-offset:2px; }
.mny-design .cat-il article .inside,.mny-design .mny-favorites { background:#fffdf8; border:1px solid var(--mny-line); }
.mny-design .cat-il .itemimg img { object-fit:contain; }
.mny-design .mny-bar-transaction .mny-bar-inner { min-height:54px; }
.mny-design .mny-bar-transaction { position:relative; }
.mny-design #masthead.mny-hero-ready::before { padding-top:clamp(480px,43vw,570px); }
.mny-hero-copy { position:absolute; z-index:2; top:50%; right:max(6%,calc((100% - 1120px)/2)); transform:translateY(-50%); color:#fff7ec; text-shadow:0 2px 10px #190e0a; }
.mny-hero-copy p { font:700 clamp(2rem,4.5vw,4.1rem)/1.32 "Yu Mincho",serif; margin:0 0 .65em; }
.mny-hero-copy a { display:inline-flex; align-items:center; min-height:44px; padding:.5rem 1rem; color:#34231b; background:#f4ead8; text-decoration:none; text-shadow:none; }
.mny-home-products { width:min(1120px,calc(100% - 36px)); margin:clamp(30px,6vw,68px) auto; }
.mny-design.home:has(.mny-home-products) .home-widget-area > :is(.widget_assertive_item_list,.widget_assertive_featured_item_widget) { display:none; }
.mny-home-shelf + .mny-home-shelf { margin-top:clamp(35px,6vw,70px); }
.mny-shelf-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:0 0 .55rem; margin-bottom:1rem; border-bottom:1px solid #ba9f86; }
.mny-shelf-heading h2 { margin:0; color:var(--mny-ink); font:700 clamp(1.25rem,3vw,2rem)/1.3 "Yu Mincho",serif; }
.mny-shelf-heading a { min-height:44px; display:inline-flex; align-items:center; gap:.35em; white-space:nowrap; color:#752019; }
.mny-shelf-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(8px,2vw,22px); }
.mny-shelf-card { position:relative; min-width:0; padding:clamp(8px,1.5vw,16px); border:1px solid var(--mny-line); background:#fffdf8; }
.mny-shelf-card .itemimg { display:block; position:relative; aspect-ratio:1; background:#f5eee3; }
.mny-shelf-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.mny-shelf-card h3 { margin:.65em 0 .35em; font-size:clamp(.88rem,1.6vw,1rem); overflow-wrap:anywhere; }
.mny-shelf-card h3 a { color:var(--mny-ink); }
.mny-shelf-price { margin:0; font-weight:700; }
.mny-shelf-stock { margin:.4em 0 0; font-size:.8rem; }
.mny-shelf-card .mny-heart { position:absolute; top:8px; right:8px; }
.mny-dock { display:none; }
.mny-heart { display:inline-grid; place-items:center; background:#fffdf8; border:1px solid #d1c0ab; border-radius:50%; width:44px; height:44px; color:#752019; }
.mny-heart[aria-pressed=true] svg { fill:currentColor; }
.mny-design .cat-il article { position:relative; }
.mny-design .cat-il article .mny-heart { position:absolute; top:8px; right:8px; z-index:2; }
.mny-design-product .item-header { min-height:unset; height:auto; background:var(--mny-paper); position:relative; border-bottom:1px solid var(--mny-line); }
.mny-design-product .item-header .backdrop { display:none; }
.mny-design-product .item-header .header-txt { position:relative; inset:auto; transform:none; min-height:0; margin:0 auto; display:block; padding:1.3rem 56px 1.45rem 0; text-align:left; }
.mny-design-product .item-header .backdrop + .header-txt { min-height:0; }
.mny-design-product .item-header .entry-title { font-size:clamp(1.45rem,3.5vw,2.65rem); color:var(--mny-ink); line-height:1.35; }
.mny-design-product .item-header > .mny-heart { position:absolute; z-index:5; top:50%; right:clamp(12px,4vw,60px); transform:translateY(-50%); }
.mny-design-product #itempage .cart-button .skubutton { background:#962a23; color:#fff; border:1px solid #962a23; }
.mny-design-editorial #secondary > .mny-legacy-widget,
.mny-design-editorial #secondary.mny-sidebar-empty { display:none; }
/* Assertive footer: a standalone block group containing only a heading and a legacy list. */
.mny-design #footer-widget-area > .inner > .widget_block:has(> .wp-block-group:only-child > .wp-block-group__inner-container:only-child > .wp-block-heading:first-child + :is(ul.wp-block-archives,ul.wp-block-categories):last-child) { display:none; }
.mny-design-editorial .mny-sidebar-empty + .related-posts { width:100%; }
.mny-design-editorial #footer-contact-area a { color:inherit; }
.mny-favorites { width:min(520px,calc(100% - 32px)); max-height:80dvh; padding:1.2rem; color:var(--mny-ink); }
.mny-favorites::backdrop { background:#201714a8; }
.mny-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.mny-favorites button,.mny-favorites a { min-height:44px; display:inline-flex; align-items:center; }
.mny-readmore { --mny-fold-height:360px; position:relative; }
.mny-readmore-inner { display:flow-root; }
.mny-readmore-toggle { display:block; min-height:44px; padding:.42rem 1rem; margin:.55rem auto; border:1px solid #752019; border-radius:3px; color:#752019; background:#fffaf2; font-weight:700; scroll-margin-block:130px 80px; }
.mny-readmore.is-collapsed .mny-readmore-inner { max-height:var(--mny-preview-height); overflow:hidden; mask-image:linear-gradient(to bottom,#000 calc(100% - 96px),transparent); }
.mny-readmore.is-collapsed .mny-readmore-toggle { position:absolute; z-index:1; bottom:48px; left:50%; transform:translate(-50%,50%); margin:0; }
.mny-design-product .item-description > .mny-readmore-toggle { margin:22px auto 10px; }
.mny-design-product .mny-item-important { padding:.8rem 1rem; border-left:3px solid var(--mny-red); background:#f2e9dd; }
.mny-design-product #itempage .mny-item-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem; align-items:start; overflow:visible; }
.mny-design-product #itempage .mny-item-layout :is(.mny-item-media,.right-block) { width:auto; min-width:0; margin:0; float:none; }
.mny-design-product #itempage .mny-item-media :is(.itemimg,.itemsubimg,.item-description) { width:100%; float:none; }
.mny-design-product #itempage .mny-item-media .itemimg img { width:100%; aspect-ratio:1; object-fit:contain; object-position:center; }
.mny-design-product #itempage .mny-item-media .itemsubimg img { width:100%; aspect-ratio:1; object-fit:contain; }
.mny-purchase-guide { margin:1rem 0; padding:1rem 1.15rem; border:1px solid #dfd0be; background:#f7f1e8; overflow-wrap:anywhere; }
.mny-purchase-guide h3 { font-size:1rem; margin:0 0 .65rem; }
.mny-purchase-guide p { margin:.5rem 0; font-size:.86rem; line-height:1.65; }
.mny-purchase-guide a { display:inline-block; margin-right:1rem; text-decoration:underline; }
.mny-store-calendar { display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; padding:clamp(16px,3vw,36px); background:#f2e9db; }
.mny-calendar-panel { min-width:0; }
.mny-design:has(.mny-calendar-host table.usces_calendar) #footer-widget-area:has(> .inner):not(:has(> .inner > *)) { display:none; }
.mny-purchase-guide + .je-itemux-browse { border-top:1px solid rgba(0,0,0,.12); border-radius:6px; }
.mny-calendar-host { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mny-calendar-host table { width:100%; table-layout:fixed; font-size:clamp(.66rem,1.6vw,.85rem); }
.mny-calendar-host :is(th,td,caption) { word-break:normal; overflow-wrap:normal; }
.mny-calendar-host :is(th,td) { padding:.25em .05em; text-align:center; white-space:nowrap; }
.mny-calendar-host :is(.this-month,.next-month) { max-width:none; width:auto; float:none; margin:0; }
.mny-calendar-host > :not(.this-month,.next-month) { grid-column:1 / -1; word-break:normal; }
.mny-design #footer-contact-area .center_side_telephone_num :is(p,a) { font-size:clamp(1.05rem,2.6vw,1.65rem); }
.mny-design .mny-shelf-grid { grid-auto-rows:1fr; }
.mny-design .mny-shelf-card { display:grid; grid-template-rows:auto 1fr auto auto; }
.mny-design .mny-shelf-price { align-self:end; }
.mny-shelf-stock { grid-row:4; }
.mny-design .cat-il article:has(.itemprice) > .inside { height:100%; display:flex; flex-direction:column; }
.mny-design .cat-il article:has(.itemprice) :is(.in-block,.item-info-wrap) { display:flex; flex-direction:column; flex:1; min-width:0; }
.mny-design .cat-il article:has(.itemprice) .itemprice { margin-top:auto; }
.mny-design .cat-il article:has(.itemprice) .itemimg > a { display:block; aspect-ratio:1; }
.mny-design .cat-il article:has(.itemprice) .itemimg img { width:100%; height:100%; object-fit:contain; }
.mny-design .matsunoya-finder .mn-card-body .mn-price { margin-top:auto; }
.mny-design .matsunoya-finder .mn-card .mn-card-visual img { object-fit:contain; }
.mny-design .matsunoya-finder .mn-card-body { display:flex; flex-direction:column; flex:1; }
.mny-design .matsunoya-finder .mn-grid .mn-card { display:flex; flex-direction:column; }
@media (max-width:760px) {
  .mny-design-product #itempage .mny-item-media { display:contents; }
  .mny-design-product #itempage .mny-item-layout > .right-block { order:2; }
  .mny-design-product #itempage .mny-item-media > .item-description { order:3; }
}
@media (min-width:761px) {
  .mny-design-product #page:has(.mny-item-layout) { overflow:clip; }
  .mny-design .mny-store-calendar { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); }
  .mny-design .mny-calendar-panel { border-left:1px solid #c7b79e; padding-left:1.25rem; }
  .mny-design-product #itempage .mny-item-layout { grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr); }
  .mny-design-product #itempage .mny-item-layout > .right-block { position:sticky; top:calc(75px + var(--wp-admin--admin-bar--height,0px)); align-self:start; max-height:calc(100dvh - 90px - var(--wp-admin--admin-bar--height,0px)); overflow-y:auto; overscroll-behavior:contain; }
  .mny-design-product .blocker:has(> .storycontent) { display:flex; flex-direction:column; align-items:stretch; }
  .mny-design-product .blocker > .storycontent,.mny-design-product .blocker > #secondary { width:100%; max-width:none; float:none; margin-inline:0; }
}
@media (max-width:760px) {
  .mny-bar nav .mny-header-search { display:none; }
  .mny-shelf-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mny-readmore { --mny-fold-height:300px; }
  .mny-design #masthead.mny-hero-ready::before { padding-top:430px; }
  .mny-hero-copy { top:auto; bottom:24px; left:18px; right:18px; transform:none; }
  .mny-hero-ready .site-branding .site-title.logimg { visibility:hidden; }
  .mny-bar-inner { width:calc(100% - 24px); min-height:54px; gap:5px; }
  .mny-brand img { width:103px; }
  .mny-bar nav { gap:0; }
  .mny-bar nav > * { padding:0; }
  .mny-bar nav [data-mny-menu] { font-size:.74rem; }
  .mny-bar nav span { position:absolute; clip-path:inset(50%); width:1px; height:1px; overflow:hidden; }
  .mny-design.mny-dock-ready { padding-bottom:var(--mny-dock); }
  .mny-design.mny-dock-ready .mny-dock { position:fixed; inset:auto 0 0; z-index:81; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); min-height:var(--mny-dock); padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); background:#fffaf2; border-top:1px solid #b8a28a; transition:transform 160ms ease; }
  .mny-dock a { display:flex; min-height:60px; align-items:center; justify-content:center; flex-direction:column; gap:3px; padding:3px; text-decoration:none; color:#433328; font-size:.77rem; line-height:1.25; }
  .mny-dock.is-stowed { transform:translateY(calc(100% + 10px)); pointer-events:none; }
  .mny-dock.is-suspended { display:none!important; }
}
@media (prefers-reduced-motion:reduce) { .mny-dock { transition:none!important; } }
