/* Color-only theme. Keep geometry, typography, animations, SNS and category badges unchanged.
   Do not override the legacy --blue/--pink/... variables: protected components use them. */
:root {
  --theme-orange: #ffca94;
  --theme-orange-dark: #d37b2b;
  --theme-orange-soft: #fff7ee;
  --theme-accent: #ad5d88;
  --theme-accent-dark: #844464;
  --theme-accent-soft: #f7eff3;
  --theme-gray: #978a90;
  --theme-ink: #805267;
  --theme-gray-soft: #fff4e8;
  --theme-line: #f4dcc3;
}

/* Headings outside social-media sections. */
.latest > h2, .news > h2, .schedule > h2, .more-works > h2,
.newsCover > h2, .scheduleCover > h2, .worksCover > h2,
.models > h2, .entry > h2, .company > h2, .company h3,
.model-detail .model-information-section > h2,
.policy h2, .policy h3 { color: var(--theme-orange-dark); }
.featured .divider span, .home-album .divider span { background: var(--theme-orange); color: var(--theme-accent-dark); }
.featured .divider::before, .home-album .divider::before { border-top-color: rgba(255,202,148,.7); }
.works .divider span { background: var(--theme-orange); color: var(--theme-accent-dark); }
.works .divider::before { border-top-color: rgba(255,202,148,.3); }
#top .featured-information h2.divider span { background: var(--theme-orange); color: var(--theme-accent-dark); }
#top .featured-information h2.divider::before { border-top-color: rgba(255,202,148,.7); }

/* Main model names and manufacturer decoration. */
.featured .card .name { color: var(--theme-ink); }
.featured .card .name-roma, .featured .card .cap-top { color: var(--theme-gray); }
.featured .card .cap-top::before {
  background: linear-gradient(135deg, var(--theme-orange), var(--theme-accent));
  box-shadow: 0 6px 16px rgba(173,93,136,.2);
}
.models-item .tag, .models-item-wrap .tag { color: var(--theme-accent); }
.models-item .name, .models-item-wrap .name { color: var(--theme-ink); }
.models-item .yomi, .models-item-wrap .yomi { color: var(--theme-gray); }
.works-head .lead, .works-caption { color: var(--theme-gray); }
.works-head .copy { color: var(--theme-accent); }
.works-player { border-color: var(--theme-line); }
.works-video { background: var(--theme-gray-soft); }

/* Navigation: only site navigation links, never the nested SNS links. */
.topnav .nav-menu > a { color: var(--theme-accent); }
.topnav .nav-menu > a:hover { color: var(--theme-accent); }
.topnav .nav-menu > a::after, .footer-nav a::after,
.footer-contact-title::after, .footer-phone-title::after {
  background: linear-gradient(90deg, transparent, var(--theme-orange), transparent);
}
.breadcrumb { color: var(--theme-gray); }
.breadcrumb li:not(:last-child)::after, .breadcrumb span { color: var(--theme-gray); }
.breadcrumb ul li a, .breadcrumb ul li a:visited { color: var(--theme-accent); }
.breadcrumb ul li a:hover, .breadcrumb ul li a:focus { color: var(--theme-accent-dark); }
.breadcrumb ul li a:focus-visible { outline-color: var(--theme-accent); }
@media (max-width:767px) {
  .topnav .nav-toggle { background-color: var(--theme-orange); }
  .topnav .nav-toggle span { background: var(--theme-accent-dark); }
  .topnav .row.nav-menu { background: linear-gradient(180deg,#ffc58a,#ffe0bf); }
  .topnav .row.nav-open > a:nth-of-type(odd) { background-color: var(--theme-orange); color: var(--theme-accent-dark); }
  .topnav .row.nav-open > a:nth-of-type(even) { background-color: #ffe9d3; color: var(--theme-accent-dark); }
}

/* Information cards: leave .category, .badge-new and category labels untouched. */
:is(#top,.model-detail) .info-list > li.info-item { border-color: var(--theme-line); background: #fff; box-shadow: 0 4px 16px -10px rgba(90,80,75,.22); }
:is(#top,.model-detail) .info-list > li.info-item .date { color: var(--theme-gray); }
:is(#top,.model-detail) .info-list > li.info-item .info-title { color: var(--theme-ink); }
:is(#top,.model-detail) .info-list > li.info-item .model a { color: var(--theme-accent); }
:is(#top,.model-detail) .info-list > li.info-item:focus-within { border-color: var(--theme-accent); }
:is(#top,.model-detail) .info-list > li.info-item a:focus-visible { outline-color: var(--theme-accent); }
.info-model-thumbnail { background: var(--theme-gray-soft); box-shadow: 0 2px 8px rgba(90,80,75,.08); }
.info-model-placeholder { background: linear-gradient(135deg,var(--theme-orange-soft),var(--theme-gray-soft)); color: var(--theme-gray); }
.info-model-thumbnail:focus-visible { outline-color: var(--theme-accent); }
#top .info-model-thumbnail { background: var(--theme-gray-soft); box-shadow: 0 2px 8px rgba(90,80,75,.08); }
#top .info-model-placeholder { background: linear-gradient(135deg,var(--theme-orange-soft),var(--theme-gray-soft)); color: var(--theme-gray); }
#top .info-model-thumbnail:focus-visible { outline-color: var(--theme-accent); }
#top .featured-information-card { background: #fff; border-color: var(--theme-line); box-shadow: 0 8px 24px -12px rgba(90,80,75,.24); }
#top .featured-information-image { background: var(--theme-gray-soft); color: var(--theme-gray); }
#top .featured-information-body::before { background: linear-gradient(90deg,var(--theme-orange),var(--theme-accent)); }
#top .featured-information-meta time { color: var(--theme-gray); }
#top .featured-information-models { color: var(--theme-accent); }
#top .featured-information-card h3 { color: var(--theme-ink); }
#top .featured-information-arrow { color: var(--theme-accent); }
#top .featured-information-detail summary { background: var(--theme-orange-soft); border-color: var(--theme-line); color: var(--theme-accent-dark); }
#top .featured-information-main:focus-visible, #top .featured-information-detail summary:focus-visible { outline-color: var(--theme-accent); }
#top .featured-information .content-empty { border-color: var(--theme-line); background: #fafafa; }

/* Category tabs and archive links are navigation, not category badges. */
.info-tabs > a { color: var(--theme-gray); border-color: var(--theme-line); }
.info-tabs > a.is-active { color: var(--theme-accent-dark); border-color: var(--theme-orange); }
.pager a { background: #fff; border-color: var(--theme-line); color: var(--theme-gray); }
.pager .is-active { background: var(--theme-orange); border-color: var(--theme-orange); color: var(--theme-accent-dark); }
a.more-link, .model-detail .profile-wrap > a.more-link,
.model-detail .model-information-section > a.more-link {
  background: var(--theme-orange-soft); border-color: var(--theme-line); color: var(--theme-accent-dark);
}
a.more-link strong { color: var(--theme-orange); }
.model-detail .profile-wrap > a.more-link:focus-visible { outline-color: var(--theme-accent); }

/* Entry/company decoration; .contact-chip SNS colors are deliberately excluded. */
.entry-message .lead, .company-message .lead { color: var(--theme-orange-dark); }
.entry-message .copy, .company-message .copy { color: var(--theme-ink); }
.entry-list li, .company li { background: rgba(255,255,255,.72); border-color: var(--theme-line); box-shadow: 0 10px 22px rgba(90,80,75,.1); }
.entry-list li::before, .company li::before { background: linear-gradient(180deg,var(--theme-orange),var(--theme-accent),#ffd9b3); }
.entry-list strong, .company li strong { background: var(--theme-orange); color: var(--theme-accent-dark); }
.entry-list span:nth-of-type(2).expln { color: var(--theme-accent); }
.entry-message .muted { border-top-color: var(--theme-line); }
.entry-message .muted, .entry-note, .company-note { color: var(--theme-gray); }
.entry .btn-primary { background: linear-gradient(135deg,var(--theme-orange-soft),var(--theme-accent-soft)); color: var(--theme-ink); border-color: var(--theme-line); }
.entry .btn-ghost { color: var(--theme-gray); border-color: var(--theme-line); }
.company-row dt { color: var(--theme-gray); }
.company-row dd { color: var(--theme-ink); }
.company-row > * { border-color: var(--theme-line); }
@media(max-width:767px) {
  .entry-list li::before, .company li::before { display: none; background: none; }
}

/* Personal profile and album chrome. Social buttons/icons retain their original colors. */
.model-detail .profile-name { color: var(--theme-ink); }
.model-detail .profile-yomi, .model-detail .profile-list dt { color: var(--theme-gray); }
.model-detail .profile-list { border-color: var(--theme-line); }
.model-detail .profile-maker { background: var(--theme-gray-soft); border-color: var(--theme-line); color: var(--theme-gray); }
.model-detail a.profile-maker:hover { background: var(--theme-orange-soft); border-color: var(--theme-orange); }
.model-detail a.profile-maker:focus-visible { outline-color: var(--theme-accent); }
#top .home-album-photo, .model-detail .home-album-photo { background: var(--theme-gray-soft); }
#top .home-album-photo:focus-visible, .model-detail .home-album-photo:focus-visible { outline-color: var(--theme-accent); }
.home-album-dialog { background: #fff; color: var(--theme-gray); }
.home-album-close { background: var(--theme-gray-soft); color: var(--theme-gray); }
.home-album-profile-link { background: var(--theme-orange-soft); border-color: var(--theme-line); color: var(--theme-accent-dark); }
.home-album-dialog a:focus-visible, .home-album-dialog button:focus-visible { outline-color: var(--theme-accent); }

/* Footer and back-to-top. Do not recolor logos or any photo asset. */
.site-footer { background: linear-gradient(180deg,rgba(255,255,255,0),rgba(255,202,148,.2)); border-top-color: var(--theme-line); }
.footer-nav a { color: var(--theme-accent); }
.footer-nav a:hover { color: var(--theme-accent); }
#page_top { background: var(--theme-orange); }
#page_top::before { border-top-color: var(--theme-accent-dark); border-left-color: var(--theme-accent-dark); }
#page_top:hover { background: #ffb570; border-color: #ffb570; }

@media(hover:hover) {
  :is(#top,.model-detail) .info-list > li.info-item:hover { background: #faf8f6; border-color: #d9c5b8; box-shadow: 0 6px 20px -10px rgba(90,80,75,.24); }
  :is(#top,.model-detail) .info-list > li.info-item .info-title a:hover,
  :is(#top,.model-detail) .info-list > li.info-item .model a:hover { color: var(--theme-accent-dark); }
  #top .featured-information-card:hover { box-shadow: 0 16px 32px -14px rgba(90,80,75,.3); }
  #top a.featured-information-main:hover h3 { color: var(--theme-accent); }
  .info-tabs > a:hover { color: var(--theme-accent); background: var(--theme-accent-soft); }
  .info-tabs > a.is-active:hover { color: var(--theme-accent-dark); background: var(--theme-orange); }
  .pager a:hover { color: var(--theme-accent-dark); background: var(--theme-orange); border-color: var(--theme-orange); }
  a.more-link:hover, .model-detail .profile-wrap > a.more-link:hover,
  .model-detail .model-information-section > a.more-link:hover,
  .home-album-profile-link:hover { background: #ffe8ce; border-color: var(--theme-accent); color: var(--theme-accent-dark); }
}

/* Orange is the main visual accent; mauve carries readable text, gray is secondary. */
.company, .entry-message, .entry-list, .entry-note, .policy { color: var(--theme-ink); }
.featured .card .name-roma, .featured .card .cap-top,
.models-item .yomi, .models-item-wrap .yomi,
.works-head .lead, .works-caption { color: var(--theme-accent); }
#top .featured-information-card { background: #fffdfa; }
#top .featured-information-image { background: var(--theme-orange-soft); }
:is(#top,.model-detail) .info-list > li.info-item { background: #fffdfa; }
.model-detail .featured-information-card { background: #fffdfa; border-color: var(--theme-line); }
.model-detail .featured-information-image { background: var(--theme-orange-soft); }
.model-detail .featured-information-card h3 { color: var(--theme-ink); }
.model-detail .featured-information-arrow { color: var(--theme-accent); }
.home-album-close { color: var(--theme-accent-dark); background: var(--theme-orange-soft); }
#top .home-album-name, .model-detail .home-album-name { background: linear-gradient(transparent,rgba(132,68,100,.72)); }
.home-album-dialog::backdrop { background: rgba(132,68,100,.65); }
.home-album-dialog { box-shadow: 0 18px 70px rgba(132,68,100,.22); }

/* Mobile values/contact rows use spacing instead of card backgrounds. */
@media (max-width: 767px) {
  .entry .entry-list, #top .entry-list,
  .company .company-values, #top .company-values { row-gap: 32px; }
  .entry .entry-list li, #top .entry-list li,
  .company .company-values li, #top .company-values li {
    padding: 0;
    gap: 16px;
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }
  .entry .entry-list li strong, #top .entry-list li strong,
  .company .company-values li strong, #top .company-values li strong {
    background: var(--theme-orange);
    border-color: rgba(255,255,255,.45);
  }
}

@media (min-width: 768px) {
  .entry .entry-list > li, .company .company-values > li {
    background: transparent;
    box-shadow: none;
  }
}

@media (max-width: 767px) {
  .entry .entry-list li strong, #top .entry-list li strong { padding: 5px 6px; }
  .company .company-values li strong, #top .company-values li strong { padding: 6px; }
}

@media (max-width: 767px) {
  .entry .entry-list > li, #top .entry-list > li { row-gap: 0; }
  .entry .entry-list > li > strong, #top .entry-list > li > strong { margin-bottom: 16px; }
}

@media (min-width: 768px) {
  .entry .entry-list > li { grid-template-columns: min(280px, 38%) minmax(0, 1fr); row-gap: 0; }
  .entry .entry-list > li > strong { grid-column: 1; grid-row: 1 / span 2; }
  .entry .entry-list > li > .expln { grid-column: 2; }
  .entry .entry-list > li > .expln:first-of-type { grid-row: 1; align-self: end; }
  .entry .entry-list > li > .expln:nth-of-type(2) { grid-row: 2; align-self: start; }
}

/* Larger reading text on wide desktops; retain existing spacing and colors. */
:root { --official-font-scale: 1; }
@media (min-width: 1600px) {
  :root { --official-font-scale: 1.22; }
  body { font-size: calc(16px * var(--official-font-scale)); }
}
@media (min-width: 1920px) {
  :root { --official-font-scale: 1.3; }
}
