/* Existing SUNNY CAFE values, shared across the two migrated contexts. */
::selection { background-color: #e5e5e5; color: #303030; }
::-moz-selection { background-color: #e5e5e5; color: #303030; }
:root {
  --sc-content-width: var(--container_size, 1200px);
  --sc-text-font: 'Cormorant Garamond', YuMincho, "游明朝", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  --sc-copy-size: 15px;
  --sc-title-size: 27px;
  --sc-marketing-title: 27px;
  --sc-heading-gap: 32px;
  --sc-section-gap: 64px;
  --swl-fz--content: var(--sc-copy-size);
}
#sunnycafe-main .post_content { font-family: var(--sc-text-font); line-height: 1.8; }
#sunnycafe-main .post_content :is(h1,h2,h3).is-style-section_ttl {
  font-size: var(--sc-title-size) !important;
  line-height: 1.6;
  letter-spacing: .03em;
  margin-block: var(--sc-section-gap) var(--sc-heading-gap);
}
#sunnycafe-main .post_content :is(h1,h2,h3):not(.sc-seo-h4) .swl-fz,
#sunnycafe-main .post_content :is(h1,h2,h3):not(.sc-seo-h4) .swl-fz .swl-fz { font-size: inherit !important; }
#sunnycafe-main .post_content :is(h2,h3):not(.is-style-section_ttl):not(.sc-seo-h4) { font-size: var(--sc-copy-size) !important; line-height: 1.8; }
#sunnycafe-main .post_content p.has-small-font-size { font-size: calc(var(--sc-copy-size) * .9) !important; }
#sunnycafe-main .post_content :is(p,h3):has(.sc-menu-en) { font-size: var(--sc-copy-size) !important; }
#sunnycafe-main .post_content .sc-menu-en { font-family: 'Cormorant Garamond', serif; font-weight: 400; letter-spacing: .03em; line-height: 1.8; }
/* The inherited WordPress preset font classes use !important; scope their
   normalization to content, never to header/footer/menu. */
#sunnycafe-main .l-mainContent { width: 100%; max-width: var(--sc-content-width); margin-inline: auto; }
#sunnycafe-main .l-mainContent__inner { max-width: none; }
#sunnycafe-main .l-mainContent__inner > .post_content { padding-inline: 0; }
#sunnycafe-main .post_content > .wp-block-columns.alignwide { left: auto; width: 100%; margin-inline: auto; }
/* Keep the existing 1200px content interior and both contexts' container gutters. */
.site-main > .wp-block-columns.alignwide {
  font-size: var(--sc-copy-size); position: relative; left: auto; width: 100%; max-width: var(--sc-content-width) !important; margin-inline: auto;
}
.site-main > .wp-block-columns :is(h1,h2,h3), #primary > h1.wp-block-heading { font-size: var(--sc-marketing-title) !important; line-height: 1.6; letter-spacing: .03em; }
.site-main > .wp-block-columns p { line-height: 1.8; }
.site-main > .wp-block-columns .has-background { background: transparent !important; }
#sunnycafe-main .post_content h3:not(.is-style-section_ttl)::before { content: none; }
/* Quiet links and buttons: no resizing, moving decoration, or image zoom. */
#content p a { text-decoration: none; transition: opacity .25s ease; }
#content p a:hover { opacity: .72; }
.button-grow { text-align: center; }
.button-grow a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 12px 40px; font-family: inherit; font-weight: 500; color: #313131; text-decoration: none; transition: opacity .3s ease; }
.button-grow a::before { content: none; }
.button-grow a span { color: inherit; padding: 0; }
.button-grow a:hover { opacity: .72; }
:is(.button-grow a,.swell-block-button__link,.wpforms-submit):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
:is(.is-style-btn_normal,.is-style-btn_solid,.is-style-btn_shiny) a { box-shadow: none; transition-property: opacity, color, background-color; }
:is(.is-style-btn_normal,.is-style-btn_solid,.is-style-btn_shiny) a:hover { opacity: .8; }
.is-style-more_btn a::after { content: none; }
/* WordPress injects this core hover rule at render time as well. */
.sunnycafe .wp-block-social-link:hover { transform: none; opacity: .8; }
@media (max-width: 959px) {
  :root { --sc-copy-size: 14px; --sc-title-size: 24px; --sc-marketing-title: clamp(22px,5.76vw,24px); --sc-heading-gap: 28px; --sc-section-gap: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  #content p a, .button-grow a { transition: none; }
}

/* Latin uses the existing local face; Japanese keeps the existing fallback stack. */
.sunnycafe :is(h1,h2,h3,h4,h5,h6,p,a,button,dt,dd,li,input,select,textarea) { font-family:var(--sc-text-font); }
.sunnycafe :is(h1,h2,h3,h4,h5,h6,a,button) { font-weight:400; }
