@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: ie研究室レビューラボ — child theme
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ==========================================
   ie研究室レビューラボ — brand CSS
   Brand: Navy blue #3557a0 (research lab)
   Font: Hiragino / Helvetica
   ========================================== */

:root {
  --ie-main: #3557a0;
  --ie-dark: #1e3a6e;
  --ie-accent: #e05a2a;
  --ie-bg: #f9f9fb;
  --ie-sub-bg: #eef2f9;
  --ie-text: #222222;
}

/* R18 notice bar */
.r18-notice {
  background: var(--ie-dark);
  color: #ccdff5;
  font-size: 11px;
  text-align: center;
  padding: 5px 16px;
  line-height: 1.4;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.r18-notice__pr {
  opacity: 0.8;
}

/* Headings */
.p-entry-content h2 {
  border-color: var(--ie-main);
}
.p-entry-content h3 {
  border-color: var(--ie-main);
  color: var(--ie-dark);
}

/* Main CTA button */
.wp-block-button .wp-block-button__link,
.swell-block-btn a {
  background-color: var(--ie-accent) !important;
  border-color: var(--ie-accent) !important;
  color: #fff !important;
  font-weight: 700;
  border-radius: 4px;
}
.wp-block-button .wp-block-button__link:hover,
.swell-block-btn a:hover {
  filter: brightness(1.1);
}

/* Related works block */
.ie-related {
  margin: 32px 0;
  padding: 20px;
  background: var(--ie-sub-bg);
  border-left: 4px solid var(--ie-main);
  border-radius: 4px;
}
.ie-related__title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ie-dark);
  margin: 0 0 12px;
}
.ie-related__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.ie-related__item a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  color: var(--ie-main);
  text-decoration: none;
}
.ie-related__item a:hover {
  text-decoration: underline;
}
.ie-related__item img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 3px;
}

/* Hero affiliate link image */
.hero-link img {
  width: 100%;
  max-width: 300px;
  display: block;
  margin: 0 auto 16px;
  border: 2px solid var(--ie-main);
  border-radius: 4px;
  transition: opacity 0.2s;
}
.hero-link img:hover {
  opacity: 0.9;
}

/* SP: 2-column post cards */
@media (max-width: 767px) {
  .p-postList.-card {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .p-postList.-card .p-postList__item {
    font-size: 0.8rem;
  }
}

/* ==========================================
   Text logo styling (no image logo)
   ========================================== */
.c-headLogo__siteTitle {
  font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--ie-dark) !important;
  letter-spacing: -0.02em;
}

/* Header override: white text on dark navy header */
.l-header .c-headLogo__siteTitle,
.l-header .site-title a {
  color: #ffffff !important;
}

/* SWELL header bar catchphrase */
.l-header__bar .c-catchphrase {
  font-size: 11px !important;
  opacity: 0.85;
}

/* Category badge colors per category */
.cat-label[href*="category/review"],
.c-postThumb__cat[href*="category/review"] {
  background-color: #e05a2a !important;
}

/* Accessibility: ensure high contrast on heading H2/H3 */
.post_content h2:where(:not([class^="swell-block-"])) {
  background: var(--ie-dark) !important;
  color: #ffffff !important;
}

/* Skip to content (a11y) */
.skip-link {
  position: absolute;
  top: -9999px;
  left: 0;
  z-index: 9999;
}
.skip-link:focus {
  top: 0;
  padding: 8px 16px;
  background: var(--ie-main);
  color: #fff;
  text-decoration: none;
}

/* Print styles */
@media print {
  .r18-notice, .l-header, .l-fixHeader { display: none; }
}
