/* ERSTLICHT — "first light album". Reference: ameni.hr register — ivory
   serenity, centered composition, script accents, quiet buttons. Type split
   (P0 birth-shop-v2): Cormorant Infant = emotional display, Jost = clean
   humanist sans for UI/body. Signature: the milestone line (thin gold
   vertical) + birth data set as letterspaced caps. */
@font-face { font-family: 'Cormorant Infant'; src: url("../fonts/CormorantInfant-Medium.72d0581621d9.ttf"); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Cormorant Infant'; src: url("../fonts/CormorantInfant-SemiBold.4df98f73d7b7.ttf"); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Cormorant Infant'; src: url("../fonts/CormorantInfant-MediumItalic.d60336ad520c.ttf"); font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: 'Great Vibes'; src: url("../fonts/GreatVibes-Regular.5ae6e89e74d9.ttf"); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Jost'; src: url("../fonts/Jost-Light.3d3074bd2b1e.ttf"); font-weight: 300; font-display: swap; }
@font-face { font-family: 'Jost'; src: url("../fonts/Jost-Regular.a30ea6851b11.ttf"); font-weight: 400; font-display: swap; }

body { font-weight: 400; font-size: 0.98rem; line-height: 1.65; letter-spacing: 0.01em; }
h1, h2, h3 { font-weight: 600; letter-spacing: 0.01em; }

/* ── centered, quiet sections — the ameni register ─────────────────── */
main section h2 { text-align: center; }
main section h2::after { content: ""; display: block; width: 40px; height: 1px;
  background: #B99A5F; margin: 0.75rem auto 0; }
main section .kicker { display: block; text-align: center; }
.section-head { flex-direction: column; align-items: center; }
.kicker { color: #B99A5F; letter-spacing: 0.26em; font-weight: 600; }

.script-accent { font-family: 'Great Vibes', cursive; font-size: 2rem;
  color: #B99A5F; line-height: 1; display: block; margin-bottom: 0.3rem; }

/* signature: birth data as delicate letterspaced caps */
.birth-data { font-size: 0.8rem; letter-spacing: 0.3em; text-transform: uppercase;
  color: #8C8578; margin: -0.5rem 0 1.5rem; }

/* ── header + strip ────────────────────────────────────────────────── */
header.site { padding: 1.15rem 1.4rem; border-bottom: 1px solid rgba(43,43,51,0.09); }
header.site .cart-link { font-family: 'Cormorant Infant', serif; text-transform: none;
  letter-spacing: 0.06em; font-size: 1rem; }
.service-strip { --strip-bg: #2B2B33; --strip-text: #D9CBB0; letter-spacing: 0.2em; }

/* ── quiet CTA ─────────────────────────────────────────────────────── */
.btn-cta {
  background: transparent; color: #2B2B33; border: 1px solid #2B2B33;
  border-radius: 2px; text-transform: none; letter-spacing: 0.14em;
  font-family: 'Cormorant Infant', serif; font-weight: 600; font-size: 1.05rem;
  padding: 0.85rem 2.4rem; transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.btn-cta:hover { background: #2B2B33; color: #FFFFFF; }
.buy-bar .btn-cta, #buyForm .btn-cta { background: #2B2B33; color: #fff; }
.buy-bar .btn-cta:hover, #buyForm .btn-cta:hover { background: #B99A5F; border-color: #B99A5F; }

/* ── hero: centered album page ─────────────────────────────────────── */
.hero { text-align: center; grid-template-columns: 1fr !important; justify-items: center;
  padding-top: 3.6rem; }
/* dual CTA (P0): filled = Lane B "gestalten", quiet = Lane A "Foto hochladen" */
.hero-ctas { display: flex; gap: 0.8rem; justify-content: center; flex-wrap: wrap; }
.hero-ctas .btn-cta:not(.btn-cta-ghost) { background: #2B2B33; color: #FFFFFF; }
.hero-ctas .btn-cta:not(.btn-cta-ghost):hover { background: #B99A5F; border-color: #B99A5F; }
.hero > div { max-width: 640px; }
.hero p { margin-inline: auto; }
.hero h1 { font-size: clamp(2.1rem, 4.5vw, 3.3rem); }
.hero img { max-width: 390px; box-shadow: 0 30px 70px rgba(43,43,51,0.16); }
.trust-line { letter-spacing: 0.14em; font-size: 0.74rem; text-transform: uppercase; }

/* ── cards: centered, italic captions ──────────────────────────────── */
.product-card { text-align: center; }
.product-card img, .product-card .card-abstract { border-radius: 2px;
  box-shadow: 0 14px 38px rgba(43,43,51,0.1); transition: box-shadow 0.25s ease; }
.product-card:hover img, .product-card:hover .card-abstract {
  box-shadow: 0 20px 48px rgba(43,43,51,0.16); }
.product-card strong { font-size: 1.16rem; }
.product-card em { font-style: italic; font-size: 0.92rem; }
.card-meta { justify-content: center; }
.badge { background: #B99A5F; letter-spacing: 0.16em; border-radius: 2px; }
.product-card .example-tag { background: rgba(43,43,51,0.4); }

/* ── band: blush album pages ───────────────────────────────────────── */
.band { --tile-scrim: rgba(63, 52, 43, 0.72); }
.cat-tile-body strong { font-size: 1.2rem; }

/* ── steps: gold hairline, not accent block ────────────────────────── */
.step3 { border-top: 1px solid #B99A5F; text-align: center; }

/* ── reviews ───────────────────────────────────────────────────────── */
.review-card { background: #FDFBF7; border-color: rgba(43,43,51,0.08); text-align: center; }
.review-stars { color: #B99A5F; }
.review-card blockquote { font-style: italic; font-size: 1.02rem; }
.rating-line { justify-content: center; }
.editorial-moment em { color: #B99A5F; }

/* ── configurator surfaces ─────────────────────────────────────────── */
.tile, .style-card, .qa-note, .dropzone { border-radius: 2px; }
.field input, .field select, .field textarea { border-radius: 2px;
  font-size: 1rem; }
.dropzone { border-width: 1px; background: #FBF8F1; }
.qa-note { background: #F6EDE4; }

footer.brandfoot { background: #F6EDE4; }
.pay-badges span { border-radius: 2px; }
