/* ROCOCO Editorial v0.4.0: ordinary post/page body, product LONG description only. */
/* Scope is deliberately limited: do not style WooCommerce short description, cart, buttons, site chrome. */
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content),
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description, .woocommerce-tabs .woocommerce-Tabs-panel.description, .wc-tab#tab-description) {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0 !important;
  color: #333;
  overflow-wrap: anywhere;
}
/* Some product templates output the long description without the default WooCommerce tab wrapper.
   .woocommerce-product-details__short-description is intentionally NOT included. */
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) :is(p, li, h1, h2, h3, h4, h5, h6, blockquote, span, strong, b, em),
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) :is(p, li, h1, h2, h3, h4, h5, h6, blockquote, span, strong, b, em) {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif !important;
  letter-spacing: 0 !important;
}
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) :is(p, li),
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) :is(p, li) { line-height: 1.8; }
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) :is(strong,b),
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) :is(strong,b) { font-weight: 700; }
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) :is(h1,h2,h3,h4),
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) :is(h1,h2,h3,h4) { line-height:1.5; overflow-wrap:anywhere; }
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) h1,
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) h1 { font-size:clamp(24px,3vw,30px); margin:1.4em 0 .7em; }
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) h2,
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) h2 { font-size:clamp(21px,2.5vw,26px); margin:1.3em 0 .65em; }
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) h3,
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) h3 { font-size:clamp(18px,2vw,22px); margin:1.2em 0 .6em; }
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) h4,
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) h4 { font-size:18px; margin:1.1em 0 .5em; }
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) img,
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) img {max-width:100%;height:auto;}
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) iframe,
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) iframe {max-width:100%;}
/* Links: override legacy Shopify inline red on anchors and nested spans, not heading background colors. */
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) a:not(.button):not(.wp-block-button__link):not(.elementor-button),
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) a:not(.button):not(.wp-block-button__link):not(.elementor-button) :is(span,strong,b,em,i),
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) a:not(.button):not(.wp-block-button__link),
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) a:not(.button):not(.wp-block-button__link) :is(span,strong,b,em,i) {color:#222 !important;}
body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content) a:not(.button):not(.wp-block-button__link):hover,
body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) a:not(.button):not(.wp-block-button__link):hover {color:#555 !important;}
@media(max-width:767px){
 body.rococo-editorial-active:is(.single-post, .page) :is(.entry-content, .post-content),
 body.rococo-editorial-active.single-product :is(#tab-description, .woocommerce-Tabs-panel--description) {font-size:15px;}
}

/* v0.5: custom long-description section discovered in browser inspector. */
body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  letter-spacing: -0.025em !important;
  color: #333;
}
body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body :is(p,li,span,strong,b,h1,h2,h3,h4,h5,h6) {
  font-family: inherit !important;
  letter-spacing: inherit !important;
}
body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body :is(p,li) {
  font-size: inherit !important;
  line-height: 1.8 !important;
}
body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body a:not(.button),
body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body a:not(.button) :is(span,strong,b,em,i) {
  color: #222 !important;
}
body.rococo-editorial-active:is(.single-post,.page) :is(.entry-content,.post-content) {
  font-weight: 500;
  letter-spacing: -0.025em !important;
}
body.rococo-editorial-active:is(.single-post,.page) :is(.entry-content,.post-content) :is(p,li,span,strong,b,em) {
  letter-spacing: -0.025em !important;
}
/* Width only on ordinary editorial pages, not product/cart/shop layouts. */
@media(min-width: 1024px) {
  body.rococo-editorial-active:is(.single-post,.page):not(.woocommerce-page) .site-content .ast-container {
    max-width: 1280px;
  }
}
@media(max-width:767px) {
 body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body {font-size:15px !important;}
}

/* v0.5.3: ROCOCO editorial marker headings. Blog posts only. */
body.rococo-editorial-active.single-post :is(.entry-content,.post-content) :is(h2,h3){
  display: table;
  position: relative;
  width: auto;
  max-width: 100%;
}
body.rococo-editorial-active.single-post :is(.entry-content,.post-content) h2::after{
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  margin-top: 9px;
  background: rgba(31,107,69,.22);
}
body.rococo-editorial-active.single-post :is(.entry-content,.post-content) h3::after{
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  margin-top: 7px;
  background: rgba(150,0,27,.16);
}
@media(max-width:767px) {
  body.rococo-editorial-active.single-post :is(.entry-content,.post-content) :is(h2,h3){line-height:1.35 !important;}
  body.rococo-editorial-active.single-post :is(.entry-content,.post-content) :is(h2,h3)::after{
    height:5px !important;
    margin-top:-3px !important;
  }
}

/* Product description: never show heading markers, even from legacy global CSS. */
body.single-product section.rococo-product-description .rococo-product-description__body :is(h2,h3)::after { content:none!important; display:none!important; }

/* v0.5.4: Restore readable flow in imported Shopify descriptions.
   Never change cart, product gallery, or purchase summary. */
body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body {
  width: 100%;
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body :is(h1,h2,h3,h4,h5,h6) {
  display: block !important;
  position: static !important;
  float: none !important;
  clear: both !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.5 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 1.4em !important;
  margin-bottom: .7em !important;
  overflow-wrap: anywhere;
}
body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body :is(h2,h3)::before,
body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body :is(h2,h3)::after {
  content: none !important;
  display: none !important;
}
body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body :is(p,ul,ol) {
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.85 !important;
  margin-top: 0 !important;
  margin-bottom: 1.2em !important;
}
body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body :is(img,video,iframe) {
  max-width: 100% !important;
  height: auto;
}
/* Blog reading column: constrain article content, not the global Astra container. */
@media (min-width: 1024px) {
  body.rococo-editorial-active.single-post .site-content .ast-container {
    max-width: 1280px;
  }
  body.rococo-editorial-active.single-post :is(.entry-content,.post-content) {
    max-width: 800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
  }
}
@media (max-width: 767px) {
  body.rococo-editorial-active.single-product section.rococo-product-description .rococo-product-description__body {
    max-width: 100% !important;
  }
}

/* v0.5.5: understated Shopify-like date and functional share button (posts only). */
body.rococo-editorial-active.single-post .entry-meta,
body.rococo-editorial-active.single-post .entry-meta :is(time,.posted-on,.published,.updated),
body.rococo-editorial-active.single-post .posted-on,
body.rococo-editorial-active.single-post .posted-on time {
  color: #666 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: .08em !important;
  text-transform: none !important;
}
body.rococo-editorial-active.single-post .entry-meta a { color: #666 !important; }
body.rococo-editorial-active.single-post .entry-meta :is(.posted-by,.author-name,.author,.byline) { display:none !important; }
body.rococo-editorial-active.single-post .rococo-article-share {
  margin: 28px 0 36px;
}
body.rococo-editorial-active.single-post .rococo-article-share__button {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: #222 !important;
  box-shadow: none !important;
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
}
body.rococo-editorial-active.single-post .rococo-article-share__button:hover,
body.rococo-editorial-active.single-post .rococo-article-share__button:focus-visible {
  color: #555 !important;
  background: transparent !important;
}
body.rococo-editorial-active.single-post .rococo-article-share__button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}

/* v0.5.6: align the post title, date and Share with the 800px reading column. */
body.rococo-editorial-active.single-post .site-main article.type-post > .entry-header,
body.rococo-editorial-active.single-post .site-main article.post > .entry-header,
body.rococo-editorial-active.single-post .site-main article.type-post > .ast-single-post-order,
body.rococo-editorial-active.single-post .site-main article.post > .ast-single-post-order {
  width: 100%;
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
/* Date and share use the same restrained Mincho typography as the article. */
body.rococo-editorial-active.single-post .entry-meta,
body.rococo-editorial-active.single-post .entry-meta :is(time,.posted-on,.published,.updated),
body.rococo-editorial-active.single-post .posted-on,
body.rococo-editorial-active.single-post .posted-on time,
body.rococo-editorial-active.single-post .rococo-article-share__button {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
body.rococo-editorial-active.single-post .rococo-article-share__button {
  font-size: 16px !important;
  text-transform: none !important;
}
/* If Astra places metadata outside the title header, align it independently. */
body.rococo-editorial-active.single-post .site-main article.type-post > .entry-meta,
body.rococo-editorial-active.single-post .site-main article.post > .entry-meta,
body.rococo-editorial-active.single-post .site-main article.type-post > .rococo-article-share,
body.rococo-editorial-active.single-post .site-main article.post > .rococo-article-share {
  width: 100%;
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

/* v0.5.7: Astra may render the post heading outside the reading column.
   The scoped script measures the actual .entry-content left edge. */
body.rococo-editorial-active.single-post .rococo-article-share {
  clear: both;
}
