/* =====================================================
   寺内牧場／てらミート 専用スタイル
   Premium Navy & Gold / White Base
   ===================================================== */

:root {
  --tera-navy: #0d1f3a;
  --tera-navy-2: #152b4d;
  --tera-navy-soft: #223a5e;
  --tera-gold: #c5a04a;
  --tera-gold-deep: #a98534;
  --tera-gold-light: #ead9a7;
  --tera-ivory: #fbfaf6;
  --tera-ivory-2: #f6f2e8;
  --tera-ink: #273142;
  --tera-muted: #687386;
  --tera-line: #e8dfc8;
}

.serif { font-family: 'Shippori Mincho', serif; }

/* Brand utility overrides */
.text-gold { color: var(--tera-gold-deep) !important; }
.bg-gold {
  background-color: var(--tera-gold) !important;
  background-image: linear-gradient(135deg, #d8b963 0%, #bd963d 100%) !important;
}
.border-gold { border-color: var(--tera-gold) !important; }

/* Base */
body {
  color: var(--tera-ink);
  background: #fff;
}

/* -------------------------------
   Header
   ------------------------------- */
header {
  border-bottom: 1px solid rgba(197, 160, 74, .28);
  box-shadow: 0 4px 18px rgba(13, 31, 58, .07) !important;
}

header > .bg-gray-100 {
  background: var(--tera-navy) !important;
  color: rgba(255,255,255,.78) !important;
  border-color: rgba(234,217,167,.16) !important;
}
header > .bg-gray-100 a { color: rgba(255,255,255,.82) !important; }
header > .bg-gray-100 a:hover { color: var(--tera-gold-light) !important; }
header > .bg-gray-100 .text-gray-300 { color: rgba(255,255,255,.22) !important; }
header > .bg-gray-100 .text-gray-700 { color: #fff !important; }

header .container > a .text-gray-800 { color: var(--tera-navy) !important; }
header .container > a .text-gray-500 { color: #758093 !important; }
header nav { color: #4f5b6d !important; }
header nav a {
  letter-spacing: .03em;
  position: relative;
}
header nav a:hover { color: var(--tera-gold-deep) !important; }
header nav a.text-gold {
  color: var(--tera-navy) !important;
  border-color: var(--tera-gold) !important;
  font-weight: 700;
}

#mobile-menu {
  border-top-color: var(--tera-line) !important;
  box-shadow: 0 14px 28px rgba(13,31,58,.12) !important;
}
#mobile-menu a:hover { background: var(--tera-ivory) !important; color: var(--tera-navy) !important; }
#mobile-menu-button { color: var(--tera-navy) !important; }

/* -------------------------------
   Hero / TOP
   ------------------------------- */
.page-top .hero-gradient {
  background-color: var(--tera-navy);
  background-image:
    linear-gradient(115deg, rgba(6,17,34,.82) 0%, rgba(13,31,58,.64) 46%, rgba(7,16,30,.78) 100%),
    url('img/n_top.jpg');
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 -1px 0 rgba(234,217,167,.28);
}
.page-top .hero-gradient::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.035) 48%, transparent 100%);
}
.page-top .hero-gradient h1 {
  text-shadow: 0 2px 18px rgba(0,0,0,.34);
}
.page-top .hero-gradient h1 span { color: #f7f1df; }
.page-top .hero-gradient > div > p:first-child { color: var(--tera-gold-light); }
.page-top .hero-gradient .bg-gold {
  color: var(--tera-navy) !important;
  box-shadow: 0 8px 26px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.22);
  font-weight: 700;
}
.page-top .hero-gradient .bg-gold:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

.page-top .animate-fade-in-up { animation: fadeInUp 1s ease-out forwards; }
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* -------------------------------
   Typography / Sections
   ------------------------------- */
h1.text-gray-800,
h2.text-gray-800,
h3.text-gray-800,
.serif.text-gray-800,
.font-bold.text-gray-800 {
  color: var(--tera-navy) !important;
}

.bg-gray-50 { background-color: var(--tera-ivory) !important; }
.bg-gray-100 { background-color: var(--tera-ivory-2) !important; }
.border-gray-100,
.border-gray-200,
.border-gray-300 { border-color: var(--tera-line) !important; }

/* warm premium panels on TOP */
.page-top section[id="products"] {
  background: linear-gradient(180deg, var(--tera-ivory) 0%, #fff 100%) !important;
}
.page-top #about .bg-\[\#fdfbf7\] {
  background: linear-gradient(135deg, #fff 0%, var(--tera-ivory-2) 100%) !important;
  border: 1px solid var(--tera-line);
  box-shadow: 0 12px 34px rgba(13,31,58,.06);
}

/* Product/category cards */
.page-top #products .bg-white,
.cart-system-container {
  border-color: var(--tera-line) !important;
}
.page-top #products .bg-white {
  border: 1px solid var(--tera-line);
  box-shadow: 0 7px 22px rgba(13,31,58,.055) !important;
}
.page-top #products .bg-white:hover {
  border-color: rgba(197,160,74,.65) !important;
  box-shadow: 0 15px 34px rgba(13,31,58,.11) !important;
}

.page-top #products a.border-gray-300,
main a.border-gray-300 {
  border-color: rgba(13,31,58,.22) !important;
  color: var(--tera-navy) !important;
}
.page-top #products a.border-gray-300:hover,
main a.border-gray-300:hover {
  border-color: var(--tera-gold) !important;
  background: var(--tera-ivory) !important;
  color: var(--tera-gold-deep) !important;
}

/* Product detail breadcrumb */
body > header + .bg-white {
  border-bottom: 1px solid var(--tera-line);
  background: #fff !important;
}
body > header + .bg-white a { color: var(--tera-gold-deep); }
body > header + .bg-white .text-gray-800 { color: var(--tera-navy) !important; }

/* Product hero info block */
main section:first-of-type img {
  box-shadow: 0 14px 34px rgba(13,31,58,.12) !important;
}
main .border-l-4.border-gold {
  background: linear-gradient(90deg, var(--tera-ivory-2), #fff) !important;
  border-left-color: var(--tera-gold) !important;
  color: #566276 !important;
}

/* Section anchor pills */
main a.rounded-full.border-gold {
  background: #fff;
  color: var(--tera-navy) !important;
  border-color: var(--tera-gold-light) !important;
  box-shadow: 0 2px 8px rgba(13,31,58,.035);
}
main a.rounded-full.border-gold:hover {
  background: var(--tera-navy) !important;
  color: #fff !important;
  border-color: var(--tera-navy) !important;
}

/* Product purchase cards */
.cart-system-container {
  background: #fff !important;
  border: 1px solid var(--tera-line) !important;
  border-top: 3px solid var(--tera-gold-light) !important;
  box-shadow: 0 7px 20px rgba(13,31,58,.055) !important;
}
.cart-system-container:hover {
  border-top-color: var(--tera-gold) !important;
  box-shadow: 0 14px 30px rgba(13,31,58,.10) !important;
}
.cart-system-container .text-gold {
  color: var(--tera-gold-deep) !important;
}

/* e-shops cart controls */
.cart-system-container input[type="submit"],
.cart-system-container input[type="button"],
.cart-system-container button {
  background-color: var(--tera-gold) !important;
  background-image: linear-gradient(135deg, #d8b963 0%, #b98f36 100%) !important;
  color: var(--tera-navy) !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  font-weight: 700 !important;
  font-size: .95rem !important;
  letter-spacing: .03em;
  padding: .72rem 1.3rem !important;
  min-width: 150px !important;
  border-radius: .25rem !important;
  border: 1px solid rgba(143,109,35,.34) !important;
  cursor: pointer !important;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
  display: inline-block !important;
  margin-top: 5px !important;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: 0 4px 12px rgba(13,31,58,.12) !important;
}
.cart-system-container input[type="submit"]:hover,
.cart-system-container input[type="button"]:hover,
.cart-system-container button:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 7px 17px rgba(13,31,58,.17) !important;
}
.cart-system-container select,
.cart-system-container input[type="text"] {
  font-size: .95rem !important;
  padding: .5rem !important;
  min-height: 42px;
  border: 1px solid #d9cfb8 !important;
  border-radius: .25rem !important;
  background: #fff !important;
  color: var(--tera-navy) !important;
  margin-right: 8px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.cart-system-container select:focus,
.cart-system-container input[type="text"]:focus {
  outline: 2px solid rgba(197,160,74,.22) !important;
  border-color: var(--tera-gold) !important;
}
.cart-system-container form {
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

/* Award / brand page */
.award-strip img {
  max-height: 240px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--tera-line);
}

/* Footer */
footer.bg-gray-800 {
  background-color: var(--tera-navy) !important;
  background-image: linear-gradient(145deg, #0b1b33 0%, #122a4a 100%) !important;
  border-top: 3px solid var(--tera-gold) !important;
}
footer .text-gray-300 { color: rgba(255,255,255,.78) !important; }
footer .text-gray-400 { color: rgba(255,255,255,.62) !important; }
footer .text-gray-500 { color: rgba(255,255,255,.40) !important; }
footer .border-gray-700 { border-color: rgba(234,217,167,.16) !important; }
footer .text-gold { color: var(--tera-gold-light) !important; }
footer h3 { color: #fff; }

/* Subtle polish */
img.rounded-lg,
img.rounded,
img.rounded-sm { outline: 1px solid rgba(13,31,58,.035); }

::selection {
  background: var(--tera-gold-light);
  color: var(--tera-navy);
}

@media (max-width: 767px) {
  .page-top .hero-gradient {
    background-position: center;
  }
  header .container > a .text-xl,
  header .container > a .text-2xl {
    letter-spacing: .03em !important;
  }
}

/* =====================================================
   Heading hierarchy
   Major title = white base with navy & gold lines
   Subheading = white base with navy & gold lines
   TOP lineup remains light and clean.
   ===================================================== */

/* Product/detail page main title: premium white base, no navy fill */
body:not(.page-top) main > .container > section:first-of-type h1 {
  background: #fff !important;
  color: var(--tera-navy) !important;
  padding: .78rem 1.15rem .84rem !important;
  border-top: 4px solid var(--tera-navy) !important;
  border-left: 0 !important;
  border-bottom: 2px solid var(--tera-gold) !important;
  box-shadow: none !important;
  letter-spacing: .04em;
}

/* Lower-level product/category headings: white base with navy + gold lines */
body:not(.page-top) main section[id] > .mb-8 > h2 {
  display: block;
  width: 100%;
  position: relative;
  background: #fff !important;
  color: var(--tera-navy) !important;
  padding: .72rem 1rem .74rem 1.05rem !important;
  margin-top: .45rem !important;
  margin-bottom: 1rem !important;
  border-top: 3px solid var(--tera-navy) !important;
  border-left: 0 !important;
  border-bottom: 2px solid var(--tera-gold) !important;
  box-shadow: none !important;
  letter-spacing: .035em;
}
body:not(.page-top) main section[id] > .mb-8 > h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 18%;
  min-width: 72px;
  max-width: 180px;
  height: 2px;
  background: var(--tera-navy);
}
body:not(.page-top) main section[id] > .mb-8 > span {
  color: var(--tera-gold-deep) !important;
}

/* TOP lineup: no navy band; keep airy white/ivory presentation */
.page-top #products > .container > .text-center > h2 {
  display: inline-block;
  min-width: 0;
  background: transparent !important;
  color: #2f3540 !important;
  padding: 0 1.5rem .45rem !important;
  border: 0 !important;
  border-bottom: 2px solid var(--tera-gold) !important;
  box-shadow: none !important;
  letter-spacing: .06em;
}
.page-top #products > .container > .text-center > .bg-gold {
  background: var(--tera-gold) !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* TOP story headings: restrained navy/gold key line */
.page-top #about h2 {
  position: relative;
  padding-left: 1rem;
}
.page-top #about h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: .1em;
  bottom: .1em;
  width: 4px;
  background: var(--tera-navy);
  box-shadow: 2px 0 0 var(--tera-gold);
}

/* Key separators only */
body:not(.page-top) main section[id] {
  border-top: 1px solid rgba(13,31,58,.10);
  padding-top: 1.25rem;
}
body:not(.page-top) main section[id] + section[id] {
  border-top: 1px solid rgba(13,31,58,.14);
}
footer {
  border-top: 3px solid var(--tera-gold);
}

@media (max-width: 767px) {
  body:not(.page-top) main > .container > section:first-of-type h1 {
    padding: .66rem .85rem .72rem !important;
  }
  body:not(.page-top) main section[id] > .mb-8 > h2 {
    padding: .64rem .8rem .68rem .85rem !important;
  }
  .page-top #products > .container > .text-center > h2 {
    width: auto;
    padding-left: .75rem !important;
    padding-right: .75rem !important;
  }
}


/* =====================================================
   Final usability polish
   ===================================================== */

/* e-shops live price is the single source of truth. */
.live-price-label {
  margin: 0 0 .35rem;
  color: #7a6a43;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
}
.eshop-live-price {
  color: var(--tera-gold-deep) !important;
  font-weight: 800 !important;
  font-size: 1.06em;
  letter-spacing: .015em;
  white-space: nowrap;
}

.live-price-note {
  margin: .4rem 0 0;
  color: #7a6a43;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.5;
}

.cart-system-container select.eshop-live-price-select {
  color: var(--tera-gold-deep) !important;
  font-weight: 700 !important;
  border-color: rgba(197,160,74,.48) !important;
  background-color: #fffdf7 !important;
}
.cart-system-container select.eshop-live-price-select option {
  color: var(--tera-ink);
  font-weight: 500;
}

/* Single / set navigation for large product families. */
.product-mode-switch-wrap {
  background: #fff;
  border-bottom: 1px solid var(--tera-line);
  padding: .65rem 1rem .8rem;
}
.product-mode-switch {
  max-width: 720px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  border: 1px solid var(--tera-line);
  background: var(--tera-ivory);
  border-radius: .35rem;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(13,31,58,.035);
}
.product-mode-link {
  display: block;
  padding: .62rem 1rem;
  text-align: center;
  color: var(--tera-navy);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .03em;
  transition: .18s ease;
}
.product-mode-link + .product-mode-link { border-left: 1px solid var(--tera-line); }
.product-mode-link:hover { background: #fff; color: var(--tera-gold-deep); }
.product-mode-link.active {
  background: linear-gradient(100deg, var(--tera-navy), var(--tera-navy-2));
  color: #fff;
  box-shadow: inset 0 -2px 0 var(--tera-gold);
}

/* Mobile utility bar: keep only home, inquiry and cart. */
@media (max-width: 767px) {
  header > .bg-gray-100 .container {
    justify-content: space-between !important;
    gap: .45rem !important;
  }
  header > .bg-gray-100 .container > a:nth-of-type(2),
  header > .bg-gray-100 .container > a:nth-of-type(3),
  header > .bg-gray-100 .container > a:nth-of-type(4),
  header > .bg-gray-100 .container > a:nth-of-type(5) {
    display: none !important;
  }
  .product-mode-switch-wrap { padding-left: .75rem; padding-right: .75rem; }
  .product-mode-link { padding: .58rem .45rem; font-size: .76rem; }
}


/* =====================================================
   Product page photos: balanced presentation
   Moderate size; multi-photo rows share the same visual height.
   ===================================================== */

/* Lead photo: substantial but not oversized. Keep its natural ratio. */
body:not(.page-top) main > .container > section:first-of-type > div:first-child img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: min(100%, 440px) !important;
  max-height: 360px !important;
  object-fit: contain !important;
  margin-left: auto;
  margin-right: auto;
}

/* Product/cut photos: align rows by height, without stretching or cropping. */
@media (min-width: 768px) {
  body:not(.page-top) main section[id] > div.grid > img {
    display: block;
    width: auto !important;
    height: 250px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    justify-self: center;
    align-self: center;
  }

  /* Single-photo sections can be a little larger for impact. */
  body:not(.page-top) main section[id] > div.grid.grid-cols-1 > img {
    width: auto !important;
    height: auto !important;
    max-width: min(100%, 560px) !important;
    max-height: 350px !important;
    object-fit: contain !important;
    justify-self: center;
  }
}

/* On phones, let photos use the available width naturally. */
@media (max-width: 767px) {
  body:not(.page-top) main > .container > section:first-of-type > div:first-child img,
  body:not(.page-top) main section[id] > div.grid > img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 340px !important;
    object-fit: contain !important;
    margin-left: auto;
    margin-right: auto;
    justify-self: center;
  }
}

/* =====================================================
   Product photo scale: match the visual impact of 加工品 page
   Keep teracking.html unchanged as the reference.
   ===================================================== */

/* Lead image on the meat pages: one step larger, natural ratio. */
body.photo-emphasis main > .container > section:first-of-type > div:first-child img {
  width: auto !important;
  height: auto !important;
  max-width: min(100%, 520px) !important;
  max-height: 420px !important;
  object-fit: contain !important;
}

@media (min-width: 768px) {
  /* Two-photo rows: larger, aligned to the same height. */
  body.photo-emphasis main section[id] > div.grid.md\:grid-cols-2 > img {
    width: 100% !important;
    height: 320px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    justify-self: stretch;
  }

  /* Three-photo rows: keep all three visible but noticeably larger. */
  body.photo-emphasis main section[id] > div.grid.md\:grid-cols-3 > img {
    width: 100% !important;
    height: 270px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    justify-self: stretch;
  }

  /* Single-photo sections: strong presence without becoming oversized. */
  body.photo-emphasis main section[id] > div.grid.grid-cols-1:not(.md\:grid-cols-2):not(.md\:grid-cols-3) > img {
    width: auto !important;
    height: auto !important;
    max-width: min(100%, 640px) !important;
    max-height: 410px !important;
    object-fit: contain !important;
    justify-self: center;
  }
}

@media (max-width: 767px) {
  body.photo-emphasis main > .container > section:first-of-type > div:first-child img,
  body.photo-emphasis main section[id] > div.grid > img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 390px !important;
    object-fit: contain !important;
  }
}

/* Final lead-photo size: all product pages use 420px width. */
body:not(.page-top) main > .container > section:first-of-type > div:first-child img,
body.photo-emphasis main > .container > section:first-of-type > div:first-child img {
  display: block;
  width: 420px !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 767px) {
  body:not(.page-top) main > .container > section:first-of-type > div:first-child img,
  body.photo-emphasis main > .container > section:first-of-type > div:first-child img {
    width: min(100%, 420px) !important;
    height: auto !important;
    max-height: none !important;
  }
}

/* =====================================================
   2026-09-11: e-shops cart UI - Uokiyo style
   Price: left aligned + inline shipping/tax note
   Controls: quantity + add-to-cart in one left-aligned row
   ===================================================== */
.eshop-live-price-suffix{
  display:inline-block;
  margin-left:.35rem;
  color:#6b7280;
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
  vertical-align:baseline;
}

.cart-system-container,
.cart-system-container *{
  box-sizing:border-box;
}

.cart-system-container,
.cart-system-container form,
.cart-system-container table,
.cart-system-container tbody,
.cart-system-container tr,
.cart-system-container td,
.cart-system-container th,
.cart-system-container center,
.cart-system-container div,
.cart-system-container p{
  text-align:left!important;
}

.cart-system-container form{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

.cart-system-container table{
  width:auto!important;
  margin-left:0!important;
  margin-right:auto!important;
}

.cart-system-container [align="center"]{
  text-align:left!important;
}

.cart-system-container .eshop-price-row{
  display:block!important;
  width:100%!important;
  margin:.7rem 0 0!important;
  padding:0!important;
  text-align:left!important;
}

.cart-system-container .eshop-controls-inline{
  display:grid!important;
  grid-template-columns:auto auto!important;
  align-items:center!important;
  justify-content:start!important;
  align-self:flex-start!important;
  column-gap:.55rem!important;
  row-gap:.55rem!important;
  width:100%!important;
  max-width:100%!important;
  margin:.8rem 0 0!important;
  padding:0!important;
  text-align:left!important;
}

.cart-system-container .eshop-qty-label{
  flex:0 0 auto;
  font-size:.78rem;
  color:#667085;
  white-space:nowrap;
}

.cart-system-container .eshop-controls-inline select,
.cart-system-container .eshop-controls-inline input[type="number"],
.cart-system-container .eshop-controls-inline input[type="text"]{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:68px!important;
  min-height:42px!important;
  margin:0!important;
  text-align:left!important;
}

.cart-system-container .eshop-controls-inline input[type="submit"],
.cart-system-container .eshop-controls-inline input[type="button"],
.cart-system-container .eshop-controls-inline button{
  grid-column:1 / -1!important;
  justify-self:start!important;
  width:auto!important;
  min-width:132px!important;
  min-height:42px!important;
  margin:0!important;
  text-align:center!important;
  white-space:nowrap!important;
}

/* Old standalone note is no longer used. */
.cart-system-container .live-price-note{
  display:none!important;
}

@media(max-width:480px){
  .eshop-live-price-suffix{font-size:.72rem;margin-left:.25rem}
  .cart-system-container .eshop-controls-inline{column-gap:.4rem!important;row-gap:.45rem!important}
  .cart-system-container .eshop-controls-inline input[type="submit"],
  .cart-system-container .eshop-controls-inline input[type="button"],
  .cart-system-container .eshop-controls-inline button{
    min-width:118px!important;
    padding-left:.7rem!important;
    padding-right:.7rem!important;
  }
}

/* =====================================================
   2026-09-11: product common info consolidation
   Shared product/packaging information is shown once
   above the purchase cards instead of repeated per item.
   ===================================================== */
.common-order-info{
  border-radius:4px;
}
.product-summary-panel{
  margin:0 0 1.5rem;
  padding:1.15rem 1.25rem;
  background:#faf8f3;
  border:1px solid #e7dfcf;
  border-left:3px solid #b28b42;
  border-radius:6px;
}
.product-summary-title{
  margin:0 0 .65rem;
  color:#25313a;
  font-family:"Shippori Mincho",serif;
  font-size:1rem;
  font-weight:700;
}
.product-summary-list{
  display:grid;
  gap:.35rem;
  margin:0;
  padding:0;
  list-style:none;
  color:#5d6870;
  font-size:.84rem;
  line-height:1.75;
}
.product-summary-list li{
  position:relative;
  padding-left:1rem;
}
.product-summary-list li::before{
  content:"・";
  position:absolute;
  left:0;
  color:#b28b42;
  font-weight:700;
}
.set-contents-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
}
.set-contents-item{
  padding:.8rem .9rem;
  background:#fff;
  border:1px solid #ece6da;
  border-radius:5px;
}
.set-contents-item h3{
  margin:0 0 .3rem;
  color:#25313a;
  font-size:.86rem;
  font-weight:700;
  line-height:1.55;
}
.set-contents-item p{
  margin:0;
  color:#68737b;
  font-size:.78rem;
  line-height:1.65;
}
.product-summary-common{
  margin:.8rem 0 0;
  color:#6b7280;
  font-size:.78rem;
  line-height:1.7;
}
@media(max-width:767px){
  .set-contents-grid{grid-template-columns:1fr}
  .product-summary-panel{padding:1rem}
}

/* 2026-09-11: セット内容は各セット名の直下に表示 */
.set-card-contents{
  margin:-.15rem 0 .85rem;
  color:#66727a;
  font-size:.82rem;
  line-height:1.75;
}
