:root {
  --idea-ink: #29251f;
  --idea-muted: #6f675c;
  --idea-paper: #ece1cf;
  --idea-surface: #fffaf0;
  --idea-surface-soft: #f5ede0;
  --idea-stone: #cdbfaa;
  --idea-stone-2: #b5a58d;
  --idea-wood: #a98258;
  --idea-olive: #526b55;
  --idea-clay: #c06f4f;
  --idea-blue: #496f7c;
  --idea-focus: #2f5f4b;
  --idea-font-sans: Inter, "Helvetica Neue", Arial, "Hiragino Sans", "Yu Gothic", sans-serif;
  --idea-font-serif: "Iowan Old Style", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --idea-shadow-card: 0 18px 40px rgba(41, 37, 31, 0.08);
  --idea-shadow-float: 0 34px 80px rgba(41, 37, 31, 0.13);
  --idea-radius-lg: 30px;
  --idea-radius-md: 18px;
}

* { box-sizing: border-box; }
.idea-store {
  color: var(--idea-ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(192, 111, 79, .12), transparent 25rem),
    radial-gradient(circle at 82% 2%, rgba(73, 111, 124, .10), transparent 22rem),
    linear-gradient(180deg, #f8efe1 0%, var(--idea-paper) 46%, #e6d8c4 100%);
  font-family: var(--idea-font-sans);
  line-height: 1.72;
  margin: 0;
  overflow-x: hidden;
}
.idea-store a { color: inherit; text-decoration: none; }
.idea-store img { max-width: 100%; height: auto; display: block; }
.idea-store input, .idea-store button { font: inherit; }
.idea-container { width: min(1280px, calc(100% - 2.5rem)); margin: 0 auto; }

.idea-announcement {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
  padding: .48rem 1rem;
  background: linear-gradient(90deg, #29251f, #526b55 52%, #b8795c);
  color: var(--idea-surface);
  font-size: .72rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.idea-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 2rem;
  padding: .95rem clamp(1rem, 4vw, 3rem);
  background: rgba(255, 253, 248, 0.88);
  border-bottom: 1px solid rgba(222, 215, 202, .9);
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(18px);
}
.idea-logo-link { display: inline-flex; align-items: center; flex: 0 0 auto; }
.idea-logo-link img { width: 180px; height: auto; }
.idea-nav { display: flex; justify-content: center; gap: 1.15rem; flex-wrap: wrap; color: var(--idea-muted); font-size: .92rem; }
.idea-nav a { transition: color .18s ease; }
.idea-nav a:hover { color: var(--idea-ink); }
.idea-header-actions { display:flex; align-items:center; gap:.75rem; }
.idea-search { display:flex; align-items:center; }
.idea-search input,
.idea-catalog-search input,
.idea-cart-form input[type="number"] {
  border: 1px solid var(--idea-stone);
  border-radius: 999px;
  background: rgba(255,253,248,.9);
  color: var(--idea-ink);
  padding: .72rem 1rem;
  outline: none;
}
.idea-search input { width: 10rem; }
.idea-cart-link {
  border: 1px solid var(--idea-stone);
  border-radius: 999px;
  padding: .62rem .9rem;
  background: rgba(255,253,248,.72);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.idea-eyebrow { color: var(--idea-olive); letter-spacing: .12em; text-transform: uppercase; font-size: .74rem; font-weight: 800; }
.idea-title {
  font-family: var(--idea-font-serif);
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: 1.05;
  margin: .45rem 0 1rem;
  word-break: keep-all;
  overflow-wrap: normal;
  line-break: strict;
}
.idea-title--commerce { font-size: clamp(1.85rem, 2.35vw, 2.65rem); max-width: 12em; }
.idea-title--commerce span { display:block; white-space: nowrap; }
.idea-title--compact { font-size: clamp(2.35rem, 5vw, 4.7rem); max-width: 13em; }
.idea-title-line { display:block; white-space:nowrap; }
.idea-lead { font-size: clamp(.92rem, 1.1vw, 1rem); color: var(--idea-muted); max-width: 31rem; }
.idea-lead--commerce { margin: 0 0 1.2rem; }
.idea-muted { color: var(--idea-muted); }
.idea-link { color: var(--idea-olive) !important; border-bottom: 1px solid currentColor; }
.idea-view-all { white-space: nowrap; font-weight: 700; }

.idea-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .86rem 1.18rem;
  border: 1px solid var(--idea-ink);
  border-radius: 999px;
  background: var(--idea-ink);
  color: var(--idea-surface) !important;
  box-shadow: 0 12px 30px rgba(41,37,31,.12);
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.idea-button:hover { background: var(--idea-olive); border-color: var(--idea-olive); transform: translateY(-1px); }
.idea-button--light { background: var(--idea-surface); color: var(--idea-ink) !important; }
.idea-button[disabled] { opacity:.45; cursor:not-allowed; }
.idea-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.idea-actions--commerce { margin-top: .65rem; }

 .idea-commerce-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding: clamp(1.4rem, 3vw, 2.8rem) 0 1.15rem;
}
.idea-commerce-copy,
.idea-commerce-visual {
  min-width: 0;
}
.idea-commerce-copy {
  position: absolute;
  left: clamp(1rem, 3vw, 2rem);
  top: clamp(2.2rem, 5vw, 4rem);
  z-index: 2;
  width: min(28.5rem, calc(100% - 4rem));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(.9rem, 1.8vw, 1.2rem);
  border: 1px solid rgba(111, 103, 92, .14);
  border-radius: 22px;
  background: rgba(255, 250, 240, .82);
  box-shadow: 0 24px 60px rgba(41,37,31,.12);
  backdrop-filter: blur(12px);
}
.idea-hero-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .55rem;
  max-width: 31rem;
  margin: .1rem 0 .55rem;
  padding: .34rem;
  border: 1px solid rgba(111, 103, 92, .18);
  border-radius: 999px;
  background: rgba(255,253,248,.92);
  box-shadow: 0 10px 24px rgba(41,37,31,.06);
}
.idea-hero-search input,
.idea-hero-search button {
  border: 0;
  outline: none;
  border-radius: 999px;
}
.idea-hero-search input { min-width: 0; padding: .68rem .9rem; background: transparent; color: var(--idea-ink); }
.idea-hero-search button { padding: .62rem 1rem; background: var(--idea-olive); color: #fffaf0; font-weight: 700; cursor: pointer; }
.idea-hero-chips {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .48rem;
  margin-top: .88rem;
}
.idea-hero-chips a {
  display: flex;
  flex-direction: column;
  gap: .03rem;
  min-width: 0;
  padding: .56rem .68rem;
  border: 1px solid rgba(111, 103, 92, .16);
  border-radius: 14px;
  background: rgba(255,253,248,.72);
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(41,37,31,.04);
}
.idea-hero-chips span { color: var(--idea-olive); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 800; }
.idea-commerce-visual { display: grid; grid-template-columns: minmax(0, 1fr) 18.5rem; grid-template-rows: auto; gap: .85rem; align-items: stretch; }
.idea-hero-image-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(111, 103, 92, .16);
  border-radius: var(--idea-radius-lg);
  background: var(--idea-surface-soft);
  box-shadow: var(--idea-shadow-float);
  min-height: clamp(520px, 54vw, 660px);
}
.idea-hero-image-card img { width: 100%; height: 100%; min-height: clamp(520px, 54vw, 660px); object-fit: cover; }
.idea-hero-badge {
  position: absolute;
  right: clamp(1rem, 3vw, 2rem);
  bottom: clamp(1rem, 3vw, 2rem);
  max-width: min(21rem, calc(100% - 2rem));
  padding: .9rem 1rem;
  border: 1px solid rgba(111, 103, 92, .18);
  border-radius: 18px;
  background: rgba(255,253,248,.9);
  box-shadow: var(--idea-shadow-card);
}
.idea-hero-badge span { display:block; color:var(--idea-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; }
.idea-hero-badge strong { display:block; margin-top:.1rem; }
.idea-hero-product-strip {
  display: grid;
  grid-template-columns: 1fr;
  gap: .85rem;
  align-content: end;
}
.idea-hero-product-strip a {
  display: grid;
  grid-template-columns: 5.2rem minmax(0, 1fr);
  gap: .8rem;
  align-items: center;
  min-width: 0;
  padding: .72rem;
  border: 1px solid rgba(111, 103, 92, .16);
  border-radius: 18px;
  background: rgba(255,253,248,.88);
  box-shadow: var(--idea-shadow-card);
}
.idea-hero-product-strip img { width: 5.2rem; aspect-ratio: 1 / .78; object-fit: cover; border-radius: 12px; background:#efe8dc; }
.idea-hero-product-strip span { min-width: 0; display:block; }
.idea-hero-product-strip em { display:block; color: var(--idea-clay); font-style: normal; font-size: .68rem; letter-spacing:.1em; font-weight:800; }
.idea-hero-product-strip strong { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.idea-hero-product-strip small { color: var(--idea-muted); font-weight:800; }

.idea-shop-lanes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
  padding-bottom: 1.2rem;
}
.idea-shop-lanes a {
  display: block;
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(111, 103, 92, .16);
  border-radius: 18px;
  background: rgba(255,253,248,.78);
  box-shadow: 0 12px 28px rgba(41,37,31,.055);
}
.idea-shop-lanes span { display:block; color: var(--idea-olive); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; font-weight:800; }
.idea-shop-lanes strong { display:block; margin:.15rem 0; font-size:1.05rem; }
.idea-shop-lanes small { color: var(--idea-muted); }

.idea-section { padding: clamp(2.2rem, 4.5vw, 4.5rem) 0; }
.idea-section--tight { padding-top: clamp(1.4rem, 3vw, 2.6rem); }
.idea-section-head { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1.35rem; }
.idea-section-head--center { display:grid; grid-template-columns:1fr auto 1fr; align-items:end; }
.idea-section-head--center .idea-section-title { text-align:center; }
.idea-section-head--center a { justify-self:end; }
.idea-section-title { font-family: var(--idea-font-serif); font-size: clamp(1.85rem, 3.2vw, 3.1rem); line-height:1.12; margin:0; letter-spacing:-.03em; }
.idea-grid { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }
.idea-grid-3 { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }

.idea-card {
  background: rgba(255,253,248,.9);
  border: 1px solid rgba(111, 103, 92, .16);
  border-radius: var(--idea-radius-md);
  overflow: hidden;
  box-shadow: var(--idea-shadow-card);
}
.idea-card-body { display:block; min-height: 164px; padding: 1rem 1.05rem 1.05rem; }
.idea-card-kicker { color: var(--idea-olive); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; font-weight:800; }
.idea-card-title { display:block; font-size: 1.04rem; line-height:1.45; margin:.18rem 0; }
.idea-price { font-variant-numeric: tabular-nums; color: var(--idea-ink); font-weight:800; }
.idea-category-card { min-width: 0; transition: transform .18s ease, box-shadow .18s ease; }
.idea-category-card:hover { transform: translateY(-.2rem); box-shadow: var(--idea-shadow-float); }
.idea-category-card img { aspect-ratio: 4 / 2.7; width:100%; object-fit:cover; background:#eee7da; }
.idea-category-card .idea-card-body { min-height: 126px; }
.idea-category-card .idea-muted,
.idea-product-card .idea-muted {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.idea-product-grid,
.idea-product-grid--home,
.idea-product-grid--commerce {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.idea-product-card {
  position: relative;
  display:flex;
  flex-direction:column;
  min-width: 0;
  min-height:100%;
  transition: transform .18s ease, box-shadow .18s ease;
}
.idea-product-card:hover { transform: translateY(-3px); box-shadow: var(--idea-shadow-float); }
.idea-product-card-media { position: relative; display:block; overflow:hidden; background:#efe8dc; }
.idea-product-card-media img { aspect-ratio: 1 / .72; width:100%; max-height: 224px; object-fit:cover; transition: transform .35s ease; }
.idea-product-card:hover .idea-product-card-media img { transform: scale(1.035); }
.idea-product-badge {
  position:absolute;
  top:.7rem;
  left:.7rem;
  z-index:2;
  padding:.26rem .5rem;
  border-radius:999px;
  background:rgba(41,37,31,.88);
  color:var(--idea-surface);
  font-size:.63rem;
  letter-spacing:.09em;
  font-weight:800;
}
.idea-product-card .idea-card-body { display:flex; flex-direction:column; gap:.32rem; flex:1; }
.idea-rating { color:#b07b46; font-size:.78rem; letter-spacing:.05em; line-height:1.2; }
.idea-rating span { color:var(--idea-muted); letter-spacing:0; font-weight:700; }
.idea-card-bottom { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:.5rem; }
.idea-shipping { color:var(--idea-olive); font-size:.78rem; font-weight:700; }
.idea-card-cta-row { display:flex; gap:.45rem; flex-wrap:wrap; margin-top:.72rem; }
.idea-card-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.15rem;
  padding:.44rem .68rem;
  border:1px solid var(--idea-stone);
  border-radius:999px;
  background:rgba(255,250,240,.76);
  color:var(--idea-muted);
  font-size:.75rem;
  font-weight:800;
  line-height:1;
}
.idea-card-cta--primary { background:var(--idea-ink); border-color:var(--idea-ink); color:var(--idea-surface); }
.idea-product-card:hover .idea-card-cta--primary { background:var(--idea-olive); border-color:var(--idea-olive); }
.idea-product-card--feature { grid-column: auto; }
.idea-product-card--feature .idea-product-card-media img { aspect-ratio: 1 / .72; }
.idea-product-grid--home .idea-product-card:last-child { display:flex; }

.idea-card:nth-child(4n + 1) .idea-product-card-media,
.idea-category-card:nth-child(4n + 1) img { background: #e7ddc9; }
.idea-card:nth-child(4n + 2) .idea-product-card-media,
.idea-category-card:nth-child(4n + 2) img { background: #edf0e5; }
.idea-card:nth-child(4n + 3) .idea-product-card-media,
.idea-category-card:nth-child(4n + 3) img { background: #ead8c8; }
.idea-card:nth-child(4n + 4) .idea-product-card-media,
.idea-category-card:nth-child(4n + 4) img { background: #dfe8ea; }

.idea-editorial-band {
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(280px, 1.1fr);
  gap:2rem;
  align-items:end;
  border-top:1px solid var(--idea-stone);
  border-bottom:1px solid var(--idea-stone);
}
.idea-feature-strip {
  display:grid;
  grid-template-columns:minmax(260px,.86fr) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,4rem);
  align-items:center;
  padding: clamp(1.2rem, 3vw, 2rem);
  background: linear-gradient(135deg, #28231d 0%, #3b3328 58%, #6f4a36 100%);
  color:var(--idea-surface);
  border-radius:var(--idea-radius-lg);
  box-shadow:var(--idea-shadow-float);
}
.idea-feature-strip .idea-muted { color:rgba(255,253,248,.72); }
.idea-feature-strip .idea-eyebrow { color:#d6c5aa; }
.idea-feature-strip img { border-radius:24px; background:#eee7da; }
.idea-editorial-commerce {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(1.2rem, 3vw, 2rem);
  align-items: stretch;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 1px solid rgba(111, 103, 92, .16);
  border-radius: var(--idea-radius-lg);
  background: rgba(255,253,248,.58);
  box-shadow: var(--idea-shadow-card);
}
.idea-editorial-commerce__copy { align-self: center; }
.idea-editorial-commerce__copy .idea-button { margin-top: 1rem; }
.idea-editorial-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.idea-editorial-cards a { display:flex; flex-direction:column; border-radius:20px; overflow:hidden; background:rgba(255,253,248,.8); border:1px solid rgba(111,103,92,.14); box-shadow:0 12px 26px rgba(41,37,31,.055); }
.idea-editorial-cards img { aspect-ratio: 4 / 3; width:100%; object-fit:cover; background:#eee7da; }
.idea-editorial-cards span { padding:.8rem .9rem; font-weight:800; }

.idea-editorial-catalog-photo {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  border-radius: 24px;
  border: 1px solid rgba(111,103,92,.14);
  background: #efe7da;
  box-shadow: 0 18px 42px rgba(41,37,31,.08);
}
.idea-editorial-catalog-photo img {
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: cover;
}
.idea-editorial-catalog-photo div {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  max-width: min(26rem, calc(100% - 2rem));
  padding: .85rem 1rem;
  border-radius: 18px;
  background: rgba(255,253,248,.88);
  box-shadow: var(--idea-shadow-card);
}
.idea-editorial-catalog-photo span {
  display: block;
  color: var(--idea-clay);
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 800;
}
.idea-editorial-catalog-photo strong { display: block; margin-top: .18rem; }

.idea-collection-hero {
  display:grid;
  grid-template-columns:minmax(0, .82fr) minmax(320px, .9fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:end;
  padding:clamp(3.5rem,7vw,6rem) 0 2rem;
  border-bottom:1px solid var(--idea-stone);
}

.idea-collection-hero--visual {
  position: relative;
  display: block;
  min-height: clamp(420px, 42vw, 560px);
  margin-top: clamp(1.25rem, 2.6vw, 2.3rem);
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: clamp(20px, 2.4vw, 34px);
  background: #e8decd;
  box-shadow: var(--idea-shadow-float);
}
.idea-collection-hero--visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255,250,240,.76) 0%, rgba(255,250,240,.56) 30%, rgba(255,250,240,.08) 64%, rgba(255,250,240,0) 100%),
    linear-gradient(180deg, rgba(41,37,31,.03) 0%, rgba(41,37,31,.11) 100%);
  pointer-events: none;
}
.idea-collection-hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.idea-collection-hero-copy {
  position: relative;
  z-index: 2;
  width: min(38rem, calc(100% - 3rem));
  min-height: clamp(420px, 42vw, 560px);
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: clamp(2rem, 5vw, 4.8rem);
}
.idea-collection-hero-copy .idea-title--compact {
  max-width: 10.5em;
}
.idea-collection-hero-copy .idea-title-line {
  display: block;
}
.idea-catalog-search--overlay {
  max-width: 34rem;
}

.idea-catalog-search { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1.5rem; }
.idea-catalog-search input { min-width:min(28rem, 100%); flex:1; }
.idea-chip-row { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.idea-chip-row a,
.idea-chip-row span {
  display:inline-flex;
  align-items:center;
  border:1px solid var(--idea-stone);
  border-radius:999px;
  background:rgba(255,253,248,.72);
  padding:.35rem .7rem;
  color:var(--idea-muted);
  font-size:.88rem;
}
.idea-toolbar {
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:end;
  gap:1.5rem;
  margin-bottom:1.4rem;
}
.idea-chip-row--toolbar { justify-content:center; margin:0; }
.idea-sort-links { display:flex; gap:.85rem; flex-wrap:wrap; color:var(--idea-muted); font-size:.92rem; justify-content:flex-end; }
.idea-catalog-layout { display:grid; grid-template-columns: 16rem minmax(0,1fr); gap:1.25rem; align-items:start; }
.idea-catalog-note {
  position:sticky;
  top:6rem;
  padding:1.1rem;
  border:1px solid var(--idea-stone);
  border-radius:24px;
  background:rgba(255,253,248,.75);
  box-shadow:var(--idea-shadow-card);
}
.idea-catalog-note h3 { font-family:var(--idea-font-serif); font-size:1.45rem; line-height:1.25; margin:.5rem 0; }
.idea-catalog-note p { color:var(--idea-muted); }
.idea-catalog-note a { border-bottom:1px solid currentColor; color:var(--idea-olive); }
.idea-empty { background: var(--idea-surface); border:1px solid var(--idea-stone); border-radius:24px; padding:2rem; box-shadow:var(--idea-shadow-card); }

.idea-breadcrumb { display:flex; gap:.55rem; align-items:center; color:var(--idea-muted); font-size:.86rem; padding-top:1.25rem; }
.idea-product-detail { display:grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .82fr); gap: clamp(2rem, 5vw, 4rem); padding: 2rem 0 3rem; }
.idea-product-detail--premium { align-items:start; }
.idea-product-gallery { display:grid; gap:1rem; }
.idea-product-visual { background: var(--idea-surface); border:1px solid var(--idea-stone); border-radius:var(--idea-radius-lg); overflow:hidden; box-shadow: var(--idea-shadow-float); }
.idea-product-visual img { width:100%; aspect-ratio: 1 / 1; object-fit:cover; }
.idea-product-thumbs { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1rem; }
.idea-product-thumbs img { border-radius:20px; border:1px solid var(--idea-stone); background:var(--idea-surface); }
.idea-product-info { align-self:center; }
.idea-product-buybox { position:sticky; top:7rem; background:rgba(255,253,248,.78); border:1px solid var(--idea-stone); border-radius:var(--idea-radius-lg); padding:clamp(1.25rem,3vw,2rem); box-shadow:var(--idea-shadow-card); }
.idea-detail-price { font-size:1.85rem; margin:1rem 0 0; }
.idea-cart-form { display:flex; gap:1rem; align-items:end; flex-wrap:wrap; margin:1.5rem 0; padding:1rem; background:rgba(244,239,229,.72); border:1px solid var(--idea-stone); border-radius:20px; }
.idea-cart-form label { display:flex; flex-direction:column; gap:.35rem; color:var(--idea-muted); }
.idea-cart-form input[type="number"] { width:7rem; border-radius:14px; }
.idea-product-promises { display:grid; gap:.45rem; margin:1rem 0; color:var(--idea-muted); font-size:.9rem; }
.idea-product-promises span::before { content:'✓'; color:var(--idea-olive); margin-right:.45rem; }
.idea-spec-list { border-top:1px solid var(--idea-stone); margin-top:1.5rem; }
.idea-spec-row { display:grid; grid-template-columns: 9rem 1fr; gap:1rem; padding:.75rem 0; border-bottom:1px solid var(--idea-stone); }
.idea-spec-row dt { color:var(--idea-muted); }
.idea-story-panel { max-width: 1180px; border-top:1px solid var(--idea-stone); border-bottom:1px solid var(--idea-stone); }
.idea-story-panel h2 { font-family:var(--idea-font-serif); font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.2; max-width:16ch; }
.idea-story-panel p:last-child { color:var(--idea-muted); max-width:42rem; }

.idea-checkout-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);
  gap:clamp(1rem,3vw,2rem);
  align-items:stretch;
  padding:clamp(1.5rem,4vw,3rem) 0 1rem;
}
.idea-checkout-hero .idea-title--compact { max-width:14em; }
.idea-checkout-status {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:11rem;
  padding:1.15rem;
  border:1px solid rgba(111,103,92,.18);
  border-radius:var(--idea-radius-lg);
  background:linear-gradient(135deg, rgba(255,253,248,.9), rgba(244,239,229,.72));
  box-shadow:var(--idea-shadow-card);
}
.idea-checkout-status span,
.idea-checkout-status small { color:var(--idea-muted); font-weight:800; letter-spacing:.06em; text-transform:uppercase; font-size:.72rem; }
.idea-checkout-status strong { font-family:var(--idea-font-serif); font-size:clamp(1.45rem,3vw,2.6rem); line-height:1.08; }
.idea-checkout-progress {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:.55rem;
  margin-top:.5rem;
}
.idea-checkout-progress span {
  display:flex;
  align-items:center;
  gap:.55rem;
  min-width:0;
  padding:.7rem .78rem;
  border:1px solid rgba(111,103,92,.16);
  border-radius:999px;
  background:rgba(255,253,248,.58);
  color:var(--idea-muted);
  font-size:.82rem;
  font-weight:800;
}
.idea-checkout-progress b {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:1.55rem;
  height:1.55rem;
  border-radius:999px;
  background:rgba(82,107,85,.12);
  color:var(--idea-olive);
  font-size:.78rem;
}
.idea-checkout-progress .is-active {
  background:var(--idea-ink);
  border-color:var(--idea-ink);
  color:var(--idea-surface);
}
.idea-checkout-progress .is-active b { background:var(--idea-surface); color:var(--idea-ink); }
.idea-checkout-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.36fr);
  gap:clamp(1rem,3vw,2rem);
  align-items:start;
}
.idea-checkout-main { display:grid; gap:1rem; min-width:0; }
.idea-checkout-panel,
.idea-summary-panel {
  border:1px solid rgba(111,103,92,.16);
  border-radius:var(--idea-radius-lg);
  background:rgba(255,253,248,.78);
  box-shadow:var(--idea-shadow-card);
}
.idea-checkout-panel { padding:clamp(1rem,2.6vw,1.6rem); }
.idea-summary-panel {
  position:sticky;
  top:7rem;
  padding:1.2rem;
}
.idea-panel-head {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
  margin-bottom:1rem;
}
.idea-panel-head .idea-section-title { font-size:clamp(1.45rem,2.6vw,2.25rem); }
.idea-panel-total { align-self:center; color:var(--idea-olive); font-weight:900; font-size:1.15rem; white-space:nowrap; }
.idea-cart-list { display:grid; gap:.75rem; }
.idea-cart-item {
  display:grid;
  grid-template-columns:112px minmax(0,1fr) minmax(170px,.28fr);
  gap:1rem;
  align-items:center;
  padding:.9rem;
  border:1px solid rgba(111,103,92,.14);
  border-radius:22px;
  background:rgba(244,239,229,.55);
}
.idea-cart-item__image { display:block; overflow:hidden; border-radius:18px; background:#efe8dc; }
.idea-cart-item__image img { width:100%; aspect-ratio:1 / 1; object-fit:cover; }
.idea-cart-item__body h3 { margin:.1rem 0 .25rem; font-size:1rem; line-height:1.35; }
.idea-cart-item__body p { margin:.05rem 0; }
.idea-cart-item__price { color:var(--idea-muted); font-weight:800; }
.idea-cart-item__controls {
  display:flex;
  flex-direction:column;
  gap:.5rem;
  align-items:flex-end;
}
.idea-quantity-actions { display:inline-flex; align-items:center; gap:.4rem; }
.idea-quantity-actions form { margin:0; }
.idea-quantity-actions button {
  width:2rem;
  height:2rem;
  border:1px solid var(--idea-stone);
  border-radius:999px;
  background:var(--idea-surface);
  color:var(--idea-ink);
  cursor:pointer;
  font-weight:900;
}
.idea-quantity-actions button[disabled] { opacity:.38; cursor:not-allowed; }
.idea-quantity-actions span { min-width:2rem; text-align:center; font-weight:900; }
.idea-text-button {
  border:0;
  background:transparent;
  color:var(--idea-muted);
  text-decoration:underline;
  cursor:pointer;
  padding:0;
  font-size:.85rem;
}
.idea-summary-panel dl { display:grid; gap:.55rem; margin:1rem 0; }
.idea-summary-panel dl div {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:.55rem;
  border-bottom:1px solid rgba(111,103,92,.16);
}
.idea-summary-panel dt { color:var(--idea-muted); }
.idea-summary-panel dd { margin:0; font-weight:900; }
.idea-summary-total { font-size:1.15rem; color:var(--idea-ink); }
.idea-button--wide { width:100%; }
.idea-button--disabled { opacity:.62; }
.idea-summary-link { display:inline-flex; margin-top:.85rem; }
.idea-summary-note { margin-top:1rem; font-size:.86rem; }
.idea-info-list {
  display:grid;
  gap:.25rem;
  color:var(--idea-muted);
}
.idea-info-list p { margin:0; }
.idea-info-list strong { color:var(--idea-ink); }
.idea-form-grid { display:grid; gap:1rem; }
.idea-form-grid--two { grid-template-columns:repeat(2, minmax(0,1fr)); }
.idea-form-grid--three { grid-template-columns:repeat(3, minmax(0,1fr)); }
.idea-field {
  display:flex;
  flex-direction:column;
  gap:.42rem;
  min-width:0;
  color:var(--idea-muted);
  font-weight:800;
  font-size:.86rem;
}
.idea-field--full { grid-column:1 / -1; }
.idea-field input:not([type="radio"]),
.idea-field select,
.idea-field textarea {
  width:100%;
  min-height:3rem;
  border:1px solid var(--idea-stone);
  border-radius:16px;
  background:rgba(255,253,248,.95);
  color:var(--idea-ink);
  padding:.72rem .9rem;
  outline:none;
  font-weight:600;
}
.idea-field textarea { min-height:9rem; resize:vertical; }
.idea-field input:focus,
.idea-field select:focus,
.idea-field textarea:focus {
  border-color:var(--idea-olive);
  box-shadow:0 0 0 3px rgba(82,107,85,.16);
}
.idea-option-list { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:.75rem; }
.idea-option-card {
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.9rem 1rem;
  border:1px solid var(--idea-stone);
  border-radius:18px;
  background:rgba(244,239,229,.58);
  font-weight:900;
}
.idea-option-card input { accent-color:var(--idea-olive); }
.idea-form-error { color:#a9472e; font-size:.82rem; margin:.25rem 0 0; }
.idea-form-error:empty { display:none; }
.idea-mini-cart {
  display:grid;
  gap:.45rem;
  margin:1rem 0;
  padding:.85rem;
  border-radius:18px;
  background:rgba(244,239,229,.58);
}
.idea-mini-cart div { display:flex; justify-content:space-between; gap:1rem; color:var(--idea-muted); font-size:.86rem; }
.idea-mini-cart strong { color:var(--idea-ink); white-space:nowrap; }
.idea-auth-choice {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:1rem;
  align-items:stretch;
}
.idea-auth-panel { display:flex; flex-direction:column; gap:1rem; }
.idea-auth-panel .idea-button { margin-top:auto; }
.idea-auth-form { display:grid; gap:.85rem; }
.idea-auth-links { display:flex; flex-wrap:wrap; gap:.8rem 1rem; font-weight:800; }
.idea-guest-form { max-width:980px; margin:0 auto; }
.idea-form-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin-top:1.3rem; }
.p-country-name[aria-hidden="true"] { display:none; }

.idea-footer { border-top:1px solid var(--idea-stone); margin-top:4rem; padding:clamp(2.5rem,5vw,4.5rem) 0; }
.idea-footer-grid { display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:start; }
.idea-footer-copy { font-weight:700; }
.idea-footer-nav { display:grid; gap:.5rem; color:var(--idea-muted); }
.idea-admin-access { margin-top:1.5rem; text-align:right; font-size:.74rem; letter-spacing:.04em; }
.idea-admin-access a { color:var(--idea-muted); opacity:.45; text-decoration:none; }
.idea-admin-access a:hover { opacity:.85; text-decoration:underline; }

@media (max-width: 1180px) {
  .idea-commerce-visual { grid-template-columns: minmax(0, 1fr) 16rem; }
  .idea-title--commerce { font-size: clamp(1.75rem, 2.8vw, 2.45rem); }
  .idea-grid,
  .idea-product-grid,
  .idea-product-grid--home,
  .idea-product-grid--commerce { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .idea-shop-lanes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idea-catalog-layout { grid-template-columns:1fr; }
  .idea-catalog-note { position:static; }
  .idea-toolbar { grid-template-columns:1fr; }
  .idea-chip-row--toolbar { justify-content:flex-start; }
  .idea-sort-links { justify-content:flex-start; }
  .idea-checkout-progress { grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .idea-announcement { display:none; }
  .idea-header { grid-template-columns:auto auto; }
  .idea-nav { display:none; }
  .idea-search { display:none; }
  .idea-product-detail,
  .idea-collection-hero,
  .idea-collection-hero-copy,
  .idea-editorial-band,
  .idea-feature-strip,
  .idea-editorial-commerce { grid-template-columns: 1fr; }
  .idea-commerce-copy { position: relative; left: auto; top: auto; width: auto; order: 1; }
  .idea-commerce-hero--cocoon .idea-commerce-copy { position: absolute; left: 1.5rem; bottom: 3.2rem; top: auto; width: min(31rem, calc(100% - 3rem)); order: initial; }
  .idea-collection-hero--visual,
  .idea-collection-hero-copy { min-height: 420px; }
  .idea-collection-hero-copy { padding: 1.5rem; width: min(100% - 1rem, 34rem); }
  .idea-commerce-visual { grid-template-columns: 1fr; order: 2; }
  .idea-hero-image-card,
  .idea-hero-image-card img { min-height: 360px; }
  .idea-commerce-hero--cocoon .idea-hero-image-card,
  .idea-commerce-hero--cocoon .idea-hero-image-card img { min-height: 520px; }
  .idea-hero-product-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idea-editorial-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .idea-grid,
  .idea-grid-3,
  .idea-product-grid,
  .idea-product-grid--home,
  .idea-product-grid--commerce { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idea-checkout-hero,
  .idea-checkout-layout,
  .idea-auth-choice { grid-template-columns:1fr; }
  .idea-summary-panel { position:static; }
  .idea-cart-item { grid-template-columns:96px minmax(0,1fr); }
  .idea-cart-item__controls { grid-column:1 / -1; align-items:flex-start; }
  .idea-section-head--center { grid-template-columns:1fr; }
  .idea-section-head--center .idea-section-title { text-align:left; }
  .idea-section-head--center a { justify-self:start; }
  .idea-product-buybox { position:static; }
  .idea-footer-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .idea-container { width: min(100% - 1.25rem, 1280px); }
  .idea-store { background:var(--idea-paper); }
  .idea-header { padding:.75rem .85rem; gap:.75rem; }
  .idea-logo-link img { width: 145px; }
  .idea-cart-link { padding:.5rem .7rem; }
  .idea-commerce-hero { padding-top: .9rem; }
  .idea-commerce-copy { width: 100%; max-width: 100%; padding: 1rem; border-radius:22px; overflow: hidden; }
  .idea-commerce-copy * { min-width: 0; }
  .idea-title--commerce { font-size: clamp(1.65rem, 7.6vw, 2.1rem); max-width: 100%; overflow-wrap: normal; word-break: keep-all; line-height: 1.08; }
  .idea-title--commerce span { display: block; white-space: nowrap; }
  .idea-lead--commerce { overflow-wrap: anywhere; }
  .idea-hero-search { grid-template-columns:1fr; border-radius:22px; width: 100%; max-width: 100%; overflow: hidden; }
  .idea-hero-search input { width: 100%; }
  .idea-hero-search button { width:100%; max-width: 100%; min-width: 0; }
  .idea-hero-chips { grid-template-columns: 1fr; }
  .idea-hero-image-card,
  .idea-hero-image-card img { min-height: 260px; }
  .idea-commerce-hero--cocoon .idea-hero-image-card,
  .idea-commerce-hero--cocoon .idea-hero-image-card img { min-height: 420px; }
  .idea-commerce-hero--cocoon { padding-inline: .625rem; }
  .idea-commerce-hero--cocoon .idea-title--commerce { font-size: clamp(1.9rem, 9.5vw, 3rem); }
  .idea-hero-badge { left: .75rem; right: .75rem; bottom: .75rem; max-width: none; }
  .idea-hero-product-strip,
  .idea-shop-lanes,
  .idea-grid,
  .idea-grid-3,
  .idea-product-grid,
  .idea-product-grid--home,
  .idea-product-grid--commerce,
  .idea-product-thumbs,
  .idea-editorial-cards,
  .idea-checkout-progress,
  .idea-form-grid--two,
  .idea-form-grid--three,
  .idea-option-list { grid-template-columns: 1fr; }
  .idea-checkout-status { min-height:auto; gap:1rem; }
  .idea-checkout-progress span { border-radius:18px; }
  .idea-cart-item { grid-template-columns:1fr; }
  .idea-cart-item__image img { aspect-ratio: 4 / 2.7; }
  .idea-cart-item__controls { align-items:stretch; }
  .idea-quantity-actions { justify-content:flex-start; }
  .idea-section-head { align-items:start; flex-direction:column; }
  .idea-section-title { font-size: clamp(1.75rem, 9vw, 2.55rem); }
  .idea-card,
  .idea-product-visual,
  .idea-product-buybox,
  .idea-checkout-panel,
  .idea-summary-panel,
  .idea-feature-strip,
  .idea-editorial-commerce { border-radius:22px; }
  .idea-category-card img,
  .idea-product-card-media img { max-height: 190px; }
  .idea-card-body { min-height: auto; }
  .idea-spec-row { grid-template-columns:1fr; gap:.25rem; }
}

/* C案: Cocoon essence hero — large lifestyle image, overlaid copy, leaf-shadow CI. */
.idea-commerce-hero--cocoon {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: clamp(.7rem, 1.6vw, 1.35rem) clamp(.75rem, 2vw, 1.5rem) 1.05rem;
}
.idea-commerce-hero--cocoon .idea-commerce-visual {
  display: block;
  position: relative;
}
.idea-commerce-hero--cocoon .idea-hero-image-card {
  min-height: clamp(610px, 54vw, 760px);
  border-radius: clamp(18px, 2.2vw, 34px);
  background: #7b7164;
  box-shadow: 0 42px 110px rgba(41, 37, 31, .18);
}
.idea-commerce-hero--cocoon .idea-hero-image-card::before,
.idea-commerce-hero--cocoon .idea-hero-image-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.idea-commerce-hero--cocoon .idea-hero-image-card::before {
  background:
    linear-gradient(90deg, rgba(255, 250, 240, .26) 0%, rgba(255, 250, 240, .12) 30%, rgba(255, 250, 240, .02) 58%, rgba(255, 250, 240, 0) 100%),
    linear-gradient(180deg, rgba(35, 31, 25, .02) 0%, rgba(35, 31, 25, .06) 100%);
}
.idea-commerce-hero--cocoon .idea-hero-image-card::after {
  background: radial-gradient(circle at 16% 24%, rgba(255, 250, 240, .10), transparent 18rem);
  mix-blend-mode: screen;
}
.idea-commerce-hero--cocoon .idea-hero-image-card img {
  width: 100%;
  height: 100%;
  min-height: clamp(610px, 54vw, 760px);
  object-fit: cover;
  object-position: center center;
}
.idea-commerce-hero--cocoon .idea-commerce-copy {
  position: absolute;
  left: clamp(1.2rem, 4vw, 4rem);
  top: auto;
  bottom: clamp(4.8rem, 9vw, 9rem);
  z-index: 2;
  width: min(34rem, calc(100% - 6rem));
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--idea-ink);
  text-shadow: 0 1px 18px rgba(255, 250, 240, .82);
  backdrop-filter: none;
}
.idea-commerce-hero--cocoon .idea-eyebrow { color: var(--idea-olive); }
.idea-commerce-hero--cocoon .idea-title--commerce {
  max-width: none;
  font-size: clamp(2.3rem, 4.6vw, 5.5rem);
  letter-spacing: -.07em;
  margin: .34rem 0 .72rem;
}
.idea-commerce-hero--cocoon .idea-lead--commerce {
  color: rgba(41, 37, 31, .78);
  max-width: 28rem;
  font-weight: 700;
}
.idea-button--hero {
  background: var(--idea-ink);
  border-color: var(--idea-ink);
  color: var(--idea-surface) !important;
  box-shadow: 0 16px 36px rgba(41, 37, 31, .16);
}
.idea-button--hero:hover { background: var(--idea-olive); border-color: var(--idea-olive); color: var(--idea-surface) !important; }
.idea-link--hero { color: var(--idea-olive) !important; }


.idea-rating--empty { color: var(--idea-muted); letter-spacing: 0; font-weight: 700; }
.idea-rating small { color: var(--idea-muted); font-size: .72rem; font-weight: 700; letter-spacing: 0; }
.idea-review-section { padding-top: 1rem; }
.idea-review-summary { display:flex; align-items:center; gap:.75rem; color:var(--idea-muted); font-weight:700; margin:0; }
.idea-review-list { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:1rem; }
.idea-review-card { background:rgba(255,255,255,.78); border:1px solid rgba(38,31,25,.09); border-radius:24px; padding:1.2rem; box-shadow:0 18px 45px rgba(38,31,25,.06); }
.idea-review-card__head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:.65rem; }
.idea-review-card h3 { margin:0; font-family:var(--idea-serif); font-size:1.08rem; }
.idea-review-card p { margin:.4rem 0 1rem; color:var(--idea-text); line-height:1.8; }
.idea-review-card footer { color:var(--idea-muted); font-size:.86rem; }
.idea-review-empty { text-align:left; }
@media (max-width: 860px) { .idea-review-list { grid-template-columns:1fr; } .idea-review-card__head { flex-direction:column; } }
