/* Phase 1B extends the approved Phase 1A visual language. */
.category-launch-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.category-launch-card { min-height: 360px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 30px; padding: 34px; background: var(--white); box-shadow: var(--shadow); }
.category-launch-card--underwear { background: #edf1ed; border-color: #cbd8d1; }
.category-launch-card h2 { font-size: clamp(28px, 3vw, 39px); }
.category-launch-card .button { margin-top: auto; align-self: flex-start; }
.category-label { width: fit-content; margin-bottom: 22px; border: 1px solid var(--line); border-radius: 999px; padding: 5px 11px; color: var(--ink-soft); font-size: 12px; font-weight: 800; }

.underwear-art { position: relative; width: 190px; height: 155px; margin: 16px auto 28px; }
.underwear-art__waist { position: absolute; z-index: 2; top: 20px; left: 22px; width: 146px; height: 20px; border: 2px solid var(--ink); border-radius: 9px 9px 5px 5px; background: var(--white); }
.underwear-art__body { position: absolute; top: 34px; left: 30px; width: 130px; height: 104px; border: 2px solid var(--ink); border-top: 0; border-radius: 0 0 34px 34px; background: var(--sage); clip-path: polygon(0 0,100% 0,90% 100%,62% 100%,50% 68%,38% 100%,10% 100%); }
.underwear-art__panel { position: absolute; z-index: 3; top: 49px; left: 76px; width: 38px; height: 75px; border: 1px solid var(--teal-dark); border-radius: 7px 7px 19px 19px; background: rgba(255,253,249,.78); }
.underwear-art__drop { position: absolute; z-index: 4; top: 72px; left: 90px; width: 11px; height: 16px; border-radius: 60% 60% 70% 70%; background: var(--clay); transform: rotate(45deg); }

.type-split { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.type-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 25px; background: var(--white); }
.type-card--primary { border-color: #9ebbb0; background: var(--sage); }
.type-card small { display: block; margin-bottom: 12px; color: var(--teal-dark); font-weight: 800; }
.type-card h3 { min-height: 48px; }
.boundary-note { border-left: 4px solid var(--teal); border-radius: 0 18px 18px 0; padding: 20px 24px; background: var(--sage); }
.boundary-note p { margin: 0; }

.underwear-compare-table th:first-child { width: 170px; }
.underwear-compare-table .table-product { min-height: 155px; }
.capacity-value { display: block; margin-top: 6px; font-size: 20px; font-weight: 800; }
.subset-note { display: inline-flex; gap: 7px; align-items: center; margin-top: 7px; color: var(--ink-soft); font-size: 11px; }
.subset-note::before { content: "限定"; border: 1px solid var(--line); border-radius: 5px; padding: 1px 4px; font-size: 9px; font-weight: 800; }
.compare-card__art { width: 90px; height: 76px; margin: 0 0 12px; transform: scale(.7); transform-origin: top left; }
.compare-card--underwear dl > div { grid-template-columns: .95fr 1.05fr; }

.evidence-note { margin-top: 16px; border-radius: 14px; padding: 14px 16px; background: var(--muted); color: var(--ink-soft); font-size: 13px; }
.evidence-note--restricted { background: var(--clay-soft); color: #713f30; }
.evidence-note--subset { background: var(--amber-soft); color: #674a24; }
.status-definition-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.status-definition-grid > div { border: 1px solid var(--line); border-radius: 16px; padding: 16px; background: var(--white); }
.status-definition-grid p { margin: 9px 0 0; font-size: 12px; }

.underwear-product-hero .underwear-art { width: 260px; height: 210px; margin: 0 auto; transform: scale(1.2); }
.underwear-product-hero .underwear-art__waist { top: 42px; }
.underwear-product-hero .underwear-art__body { top: 56px; }
.underwear-product-hero .underwear-art__panel { top: 70px; }
.underwear-product-hero .underwear-art__drop { top: 93px; }
.manufacturer-claim { border-left: 3px solid var(--amber); padding-left: 14px; color: var(--ink-soft); }
.care-list { margin: 0; padding: 0; list-style: none; }
.care-list li { display: grid; grid-template-columns: minmax(120px,.5fr) 1fr; gap: 18px; border-top: 1px solid var(--line); padding: 14px 0; }
.care-list b { font-size: 13px; }

.navigator-aside--underwear { background: var(--teal-dark); }
.fit-zero { margin-top: 22px; border: 1px solid var(--line); border-radius: 18px; padding: 22px; background: var(--white); }
.privacy-facts { margin: 24px 0 0; padding: 0; list-style: none; }
.privacy-facts li { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid rgba(255,255,255,.2); padding: 10px 0; color: #dbe5e1; font-size: 12px; }
.privacy-facts b { color: #fff; }

@media (max-width: 899px) {
  .category-launch-grid, .type-split { grid-template-columns: 1fr; }
  .category-launch-card { min-height: 300px; }
  .status-definition-grid { grid-template-columns: repeat(2, 1fr); }
  .underwear-product-hero .underwear-art { width: 220px; transform: scale(1); }
}

@media (max-width: 599px) {
  .category-launch-card { min-height: 0; padding: 25px; }
  .category-launch-card .button { width: 100%; }
  .status-definition-grid { grid-template-columns: 1fr; }
  .care-list li { grid-template-columns: 1fr; gap: 4px; }
  .underwear-product-hero .underwear-art { transform: scale(1); }
}
