/* rhettparham.com — sales path additions (Fix 4, 2026-10-27)
   Kūpuna button, gentle invitations, piece pages, Sold Gallery. Loaded after style.css. */

[hidden] { display: none !important; }

/* Kūpuna & Seniors button: always visible in the header, even on phones */
.kupuna-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: .45rem .95rem;
  border: 2px solid var(--cream); border-radius: 999px;
  color: var(--cream); background: transparent;
  font: 600 1rem/1.1 var(--body); text-decoration: none; white-space: nowrap;
  margin-left: auto;
}
.kupuna-btn:hover, .kupuna-btn:focus-visible { background: var(--cream); color: var(--basalt); }
@media (max-width: 1080px) { .site-header .wrap { gap: .6rem; } }
@media (max-width: 560px) {
  .brand span { display: none; }
  .brand strong { font-size: 1.35rem; }
  .kupuna-btn { font-size: .95rem; padding: .4rem .75rem; }
}

/* Gentle invitation back to available work */
.invite { border-bottom: 1px solid var(--ash); background: var(--basalt-2); }
.invite .wrap { padding-block: 2.2rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.6rem; }
.invite p { margin: 0; font: italic 500 clamp(1.25rem, 2.6vw, 1.6rem)/1.3 var(--display); color: var(--cream); flex: 1 1 320px; }
.invite .links { display: flex; flex-wrap: wrap; gap: .7rem; }

/* Cards link to their own page */
.card a.card-link { color: inherit; text-decoration: none; display: block; }
.card a.card-link:hover h3 { color: var(--ember-lit); }
.card .card-actions { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-top: auto; }
.card .price + .card-actions { margin-top: 0; }
.card .talk { font-size: .9rem; color: var(--smoke); margin: .8rem 0 0; }
.card .talk a { color: var(--cream); }
.collected-link { margin-top: 2rem; }

/* One page per piece */
.piece { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(1.8rem, 5vw, 4rem); align-items: start; }
@media (max-width: 820px) { .piece { grid-template-columns: 1fr; } }
.piece-photo img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 2px; background: var(--ash); }
.piece-photo a { display: block; }
.piece-photo figcaption { font-size: .88rem; color: var(--smoke); margin-top: .5rem; }
.piece h1 { font-size: clamp(2.1rem, 5vw, 3.4rem); }
.piece .meta { font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; color: var(--smoke); }
.piece .price-big { font: 600 2rem/1 var(--body); color: var(--cream); margin: 1.2rem 0 .4rem; font-variant-numeric: tabular-nums; }
.piece .price-note { font-size: .92rem; color: var(--smoke); }
.piece .buy-row { display: grid; gap: .7rem; margin: 1.4rem 0 1rem; max-width: 420px; }
.piece .buy-row .btn { text-align: center; font-size: 1.1rem; padding: 1.1rem 1.4rem; }
.piece .talk { font-size: 1.05rem; }
.piece .includes { list-style: none; padding: 0; margin: 1.6rem 0; border-top: 1px solid var(--ash); }
.piece .includes li { padding: .7rem 0; border-bottom: 1px solid var(--ash); color: var(--cream); }
.piece .includes li strong { color: var(--cream); }
.piece .glaze-note { border-left: 3px solid var(--ohia); padding-left: 1rem; color: var(--cream); }
.piece .crumbs { font-size: .9rem; color: var(--smoke); margin-bottom: 1.4rem; }
.piece .crumbs a { color: var(--smoke); }
.piece .badge-sold { margin: 1rem 0; }
@media (max-width: 820px) { .piece .buy-row { max-width: none; } }

/* Sold Gallery */
.grid.collected .card { opacity: .9; }

/* ===== First Series launch (earrings.html) ===== */
.launch-hero { position: relative; border-bottom: 1px solid var(--ash); overflow: hidden; }
.launch-hero .bg { position: absolute; inset: 0; }
.launch-hero .bg img { width: 100%; height: 100%; object-fit: cover; opacity: .35; }
.launch-hero .bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--basalt) 20%, rgba(26,26,26,.45) 75%, rgba(26,26,26,.7)); }
.launch-hero .wrap { position: relative; padding-block: clamp(3.5rem, 9vw, 7rem); }
.launch-hero h1 { max-width: 16ch; }
.countdown-box { display: inline-grid; gap: .2rem; border: 1px solid var(--ember-lit); padding: 1rem 1.3rem; margin-top: 1.4rem; background: rgba(26,26,26,.7); }
.countdown-box .when { font: 600 .82rem/1.2 var(--body); letter-spacing: .14em; text-transform: uppercase; color: var(--smoke); }
.countdown-box .left { font: 600 clamp(1.4rem, 3.4vw, 2rem)/1.2 var(--body); font-variant-numeric: tabular-nums; color: var(--cream); }
.one-price { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
@media (max-width: 820px) { .one-price { grid-template-columns: 1fr; } }
.one-price .amount { font: 600 clamp(3.2rem, 9vw, 5.2rem)/1 var(--display); color: var(--cream); margin: .2rem 0 .6rem; }
.checklist { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--ash); }
.checklist li { padding: .8rem 0 .8rem 1.9rem; border-bottom: 1px solid var(--ash); position: relative; }
.checklist li::before { content: "✓"; position: absolute; left: .2rem; color: var(--ember-lit); font-weight: 600; }
.ear-wall { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 1.6rem; }
.ear { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 150px; aspect-ratio: 1 / 1; padding: .7rem; border: 1px solid var(--ash); background: var(--basalt-2); color: var(--cream); text-decoration: none; overflow: hidden; border-radius: 2px; }
.ear img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ear.made::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 45%, rgba(0,0,0,.75)); }
.ear .no, .ear .st { position: relative; z-index: 1; }
.ear .no { font: 600 1.15rem/1.1 var(--display); }
.ear .st { font-size: .8rem; color: var(--smoke); line-height: 1.3; margin-top: .2rem; }
.ear.made .st { color: var(--cream); letter-spacing: .06em; text-transform: uppercase; font-weight: 600; }
.ear.todo { border-style: dashed; }
@media (max-width: 560px) { .ear-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ear.todo { aspect-ratio: auto; min-height: 110px; } }
.ear.todo .st { font-style: italic; }
.ear.sold { opacity: .7; }
.ear.made:hover { outline: 2px solid var(--ember-lit); }
.fine-print { font-size: .95rem; color: var(--smoke); }
.fine-print li { margin: .45rem 0; color: var(--smoke); }
.launch-band { background: linear-gradient(90deg, #3a1712, var(--basalt-2)); border-bottom: 1px solid var(--ash); }
.launch-band .wrap { padding-block: 1.6rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; }
.launch-band p { margin: 0; flex: 1 1 340px; font-size: 1.1rem; color: var(--cream); }
.launch-band strong { font: 600 1.35rem var(--display); display: block; }
.hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-thanks { border-left: 3px solid var(--ohia); background: var(--basalt-2); padding: 1rem 1.2rem; color: var(--cream); }
.form-error { border-left: 3px solid var(--ember); background: var(--basalt-2); padding: .8rem 1.1rem; color: var(--cream); }
.badge-held { display: inline-block; font: 600 .8rem var(--body); letter-spacing: .12em; text-transform: uppercase; border: 1px solid var(--ember-lit); color: var(--ember-lit); padding: .55rem 1rem; }
.nav a.nav-feature { color: var(--ember-lit); }
