/*
Theme Name: ecarlate Red
Description: ecarlate corporate design for the existing Cocoon parent theme.
Author: ecarlate
Template: cocoon-master
Version: 1.0.2
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: ecarlate-red
*/
/* ecarlate homepage: WordPress core blocks only.
 * Scope deliberately excludes other pages, Contact Form 7, and TECH MEDIA.
 * Theme-wide colors, logo, navigation, and footer are configured in Cocoon.
 */
.ecarlate-red-home {
  --ecarlate-red: #862b40;
  --ecarlate-red-hover: #6f2033;
  --ecarlate-cream: #f6efeb;
  --ecarlate-white: #fffdfb;
  --ecarlate-text: #382830;
  --ecarlate-muted: #6c5b62;
  --ecarlate-line: #e6d9dc;
  color: var(--ecarlate-text);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}
.ecarlate-red-home,
.ecarlate-red-home * {
  box-sizing: border-box;
}
.ecarlate-red-home > .ecarlate-hero,
.ecarlate-red-home > .ecarlate-news {
  max-width: none;
}
.ecarlate-red-home .ecarlate-hero {
  position: relative;
  padding: clamp(36px, 6vw, 76px) clamp(22px, 5vw, 64px);
  margin: 0;
  background: var(--ecarlate-cream);
  border-top: 3px solid var(--ecarlate-red);
  border-radius: 0;
}
.ecarlate-red-home .ecarlate-hero > * {
  max-width: 760px;
  margin-left: 0;
  margin-right: 0;
}
.ecarlate-red-home .ecarlate-eyebrow {
  margin: 0 0 16px;
  color: var(--ecarlate-red);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.8;
}
.ecarlate-red-home .ecarlate-hero-title {
  margin: 0 0 22px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ecarlate-text);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(30px, 4.2vw, 48px);
  font-weight: 500;
  letter-spacing: .025em;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.ecarlate-red-home .ecarlate-hero-description {
  max-width: 640px;
  margin: 0 0 30px;
  color: var(--ecarlate-muted);
  font-size: 16px;
  line-height: 2;
}
.ecarlate-red-home .ecarlate-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 14px;
  margin: 0;
}
.ecarlate-red-home .ecarlate-hero-actions .wp-block-button {
  margin: 0;
}
.ecarlate-red-home .ecarlate-hero-actions .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid var(--ecarlate-red);
  border-radius: 3px;
  box-shadow: none;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  text-decoration: none;
}
.ecarlate-red-home .ecarlate-button-primary .wp-block-button__link {
  background: var(--ecarlate-red);
  color: var(--ecarlate-white);
}
.ecarlate-red-home .ecarlate-button-secondary .wp-block-button__link {
  background: transparent;
  color: var(--ecarlate-red);
}
.ecarlate-red-home .ecarlate-button-primary .wp-block-button__link:hover {
  background: var(--ecarlate-red-hover);
}
.ecarlate-red-home .ecarlate-button-secondary .wp-block-button__link:hover {
  background: var(--ecarlate-white);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.ecarlate-red-home a:focus-visible {
  outline: 3px solid var(--ecarlate-red);
  outline-offset: 4px;
}
.ecarlate-red-home .ecarlate-news {
  padding: clamp(32px, 5vw, 58px) clamp(22px, 5vw, 64px);
  margin: 0;
  background: var(--ecarlate-white);
}
.ecarlate-red-home .ecarlate-section-title {
  margin: 0 0 24px;
  padding: 0 0 14px;
  border: 0;
  border-bottom: 2px solid var(--ecarlate-red);
  border-radius: 0;
  background: transparent;
  color: var(--ecarlate-text);
  font-size: 23px;
  font-weight: 600;
  line-height: 1.5;
}
.ecarlate-red-home .ecarlate-news-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ecarlate-red-home .ecarlate-news-list > li {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 18px 0;
  border-bottom: 1px solid var(--ecarlate-line);
  font-size: 15px;
  line-height: 1.85;
}
.ecarlate-red-home .wp-block-latest-posts__post-title {
  color: var(--ecarlate-text);
  overflow-wrap: anywhere;
  text-decoration: none;
}
.ecarlate-red-home .wp-block-latest-posts__post-title:hover {
  color: var(--ecarlate-red);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.ecarlate-red-home .wp-block-latest-posts__post-date {
  order: -1;
  color: var(--ecarlate-muted);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  line-height: 1.5;
}
.ecarlate-red-home .ecarlate-news-more {
  margin: 22px 0 0;
  font-size: 14px;
  text-align: right;
}
.ecarlate-red-home .ecarlate-news-more a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--ecarlate-red);
  text-underline-offset: 4px;
}
@media (max-width: 480px) {
  .ecarlate-red-home .ecarlate-hero-actions {
    flex-direction: column;
  }
  .ecarlate-red-home .ecarlate-hero-actions .wp-block-button,
  .ecarlate-red-home .ecarlate-hero-actions .wp-block-button__link {
    width: 100%;
    min-width: 0;
  }
}

/* Presentation only: preserve Cocoon navigation, templates, plugin output and content. */
body.ecarlate-corporate {
  --ecarlate-red: #862b40;
  --ecarlate-text: #382830;
  --ecarlate-white: #fffdfb;
  color: var(--ecarlate-text);
  background: var(--ecarlate-white);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  line-height: 1.9;
}
body.ecarlate-corporate .header-container,
body.ecarlate-corporate .header-container-in,
body.ecarlate-corporate .header,
body.ecarlate-corporate .navi,
body.ecarlate-corporate .navi-in {
  background: var(--ecarlate-white);
  color: var(--ecarlate-text);
}
body.ecarlate-corporate .header-container { border-top: 3px solid var(--ecarlate-red); }
body.ecarlate-corporate .logo { margin: 22px 0; }
body.ecarlate-corporate .logo-text { color: var(--ecarlate-red); font-size: 28px; }
body.ecarlate-corporate .logo-image img { max-height: 68px; width: auto; }
body.ecarlate-corporate .navi { border-bottom: 1px solid #e6d9dc; }
body.ecarlate-corporate .navi a { color: var(--ecarlate-text); }
body.ecarlate-corporate .navi a:hover,
body.ecarlate-corporate .navi .sub-menu a:hover { background: #f6efeb; color: var(--ecarlate-red); }
body.ecarlate-corporate .navi .sub-menu { background: var(--ecarlate-white); }
body.ecarlate-corporate .main { background: var(--ecarlate-white); border: 0; border-radius: 0; }
body.ecarlate-corporate .entry-content a { color: var(--ecarlate-red); text-underline-offset: 4px; }
body.ecarlate-corporate .article h2 { background: #f6efeb; color: var(--ecarlate-text); border-left: 4px solid var(--ecarlate-red); }
body.ecarlate-corporate .article h3 { color: var(--ecarlate-text); border-bottom: 2px solid #e6d9dc; }
body.ecarlate-corporate .footer { margin-top: 48px; background: #f6efeb; color: var(--ecarlate-text); border-top: 1px solid #e6d9dc; }
body.ecarlate-corporate .footer a { color: var(--ecarlate-red); }
body.ecarlate-corporate a:focus-visible { outline: 3px solid var(--ecarlate-red); outline-offset: 4px; }
/* Home only: the hero replaces the visual article title, never the stored page content. */
body.ecarlate-corporate.home.page .content-in { display: block; }
body.ecarlate-corporate.home.page .main { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0; }
body.ecarlate-corporate.home.page .sidebar,
body.ecarlate-corporate.home.page .article > .entry-header,
body.ecarlate-corporate.home.page .article > .entry-footer,
body.ecarlate-corporate.home.page .article .sns-share,
body.ecarlate-corporate.home.page .article .sns-follow,
body.ecarlate-corporate.home.page .article .author-info,
body.ecarlate-corporate.home.page .article .toc { display: none; }
body.ecarlate-corporate.home.page .article .entry-content { margin: 0; }
/* Fixed-page metadata only: keep page titles and news dates visible. */
body.ecarlate-corporate.page .article > .entry-header .date-tags,
body.ecarlate-corporate.page .article .author-info { display: none; }
/* Existing report-list blocks use saved palette rules with !important.
   Override these presentation properties only on the known report page (83). */
body.ecarlate-corporate.page-id-83 .entry-content .vk_borderBox {
  border-color: #862b40 !important; color: #382830 !important;
}
body.ecarlate-corporate.page-id-83 .entry-content .vk_borderBox_title_container {
  background-color: #862b40 !important; color: #fffdfb !important;
}
body.ecarlate-corporate.page-id-83 .entry-content .vk_borderBox_title {
  color: #fffdfb !important;
}
body.ecarlate-corporate.page-id-83 .entry-content .vk_borderBox_body {
  color: #382830 !important;
}
/* News comes from the existing page's latest-posts block. */
body.ecarlate-corporate .ecarlate-red-home .ecarlate-original-home > h2,
body.ecarlate-corporate .ecarlate-red-home .ecarlate-section-title {
  margin: 0 0 24px; padding: 0 0 14px; border: 0;
  border-bottom: 2px solid var(--ecarlate-red); background: transparent;
  color: var(--ecarlate-text); font-size: 23px; line-height: 1.5;
}
.ecarlate-red-home .ecarlate-original-home .wp-block-latest-posts { margin: 0; padding: 0; list-style: none; }
.ecarlate-red-home .ecarlate-original-home .wp-block-latest-posts > li {
  display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 18px 0;
  border-bottom: 1px solid #e6d9dc; font-size: 15px; line-height: 1.85;
}
.ecarlate-red-home .ecarlate-original-home .wp-block-latest-posts a { color: var(--ecarlate-text); overflow-wrap: anywhere; text-decoration: none; }
.ecarlate-red-home .ecarlate-original-home .wp-block-latest-posts a:hover { color: var(--ecarlate-red); text-decoration: underline; }
.ecarlate-red-home .ecarlate-original-home .wp-block-latest-posts time { order: -1; color: #6c5b62; font-size: 13px; }
@media (max-width: 834px) {
  body.ecarlate-corporate .navi a { font-size: 14px; }
  body.ecarlate-corporate.home.page .main { min-width: 0; }
}
