/* Undangan — kartu undangan: huruf klasik kapital, aksen tulisan sambung, bingkai ganda emas, simetris */
.fam-undangan { --card: color-mix(in oklab, var(--bg) 50%, #fff); --sec-y: clamp(64px, 8vw, 128px); }
.fam-undangan .display, .fam-undangan .h1, .fam-undangan .h2 { letter-spacing: .02em; line-height: 1.12; }
.fam-undangan .h2 { font-size: clamp(1.6rem, 1.15rem + 1.9vw, 2.6rem); }
.fam-undangan .display em, .fam-undangan .h1 em, .fam-undangan .h2 em { font-family: "Great Vibes", cursive; font-style: normal; font-weight: 400; font-size: 1.3em; line-height: .8; letter-spacing: 0; color: var(--primary-text); }
.fam-undangan .eyebrow { letter-spacing: .26em; color: var(--accent-text); font-weight: 600; }
/* judul section rata tengah dengan hiasan garis */
.fam-undangan .sec-head:not(.sec-head--split) { margin-inline: auto; text-align: center; justify-items: center; }
.fam-undangan .sec-head:not(.sec-head--split) .eyebrow { margin-inline: auto; }
.fam-undangan .sec-head .h2::after { content: "— ❦ —"; display: block; margin-top: .6rem; font-family: var(--font-body), serif; font-size: .9rem; letter-spacing: .3em; color: var(--accent-text); }
.fam-undangan .sec-head--split .h2::after { text-align: left; }
.fam-undangan .faq-wrap .sec-head { text-align: left; justify-items: start; margin-inline: 0; }

.fam-undangan .btn { border-radius: 0; font-size: .8rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; padding-inline: 1.6rem; }
.fam-undangan .btn--primary { box-shadow: 0 0 0 3px var(--bg), 0 0 0 4px var(--primary); }
.fam-undangan .btn--ghost { border-color: var(--accent); }
.fam-undangan .badge { border-radius: 0; background: var(--bg); color: var(--primary-text); border: 1px solid var(--accent); text-transform: uppercase; letter-spacing: .12em; font-weight: 600; }
.fam-undangan .input, .fam-undangan .select, .fam-undangan .textarea, .fam-undangan .catbtn, .fam-undangan .qty, .fam-undangan .opt__v span, .fam-undangan .icon-btn { border-radius: 0; }
.fam-undangan .link-arrow { letter-spacing: .14em; text-transform: uppercase; font-size: .78rem; }
.fam-undangan .brand__mark { border-radius: 50%; font-family: "Great Vibes", cursive; font-weight: 400; font-size: 1.3rem; }

/* kartu produk: kartu undangan kecil */
.pcard--invite { padding: 14px 14px 18px; border-radius: 0; background: var(--card); border: 1px solid var(--accent); outline: 1px solid var(--accent); outline-offset: -7px; text-align: center; transition: transform .3s ease, box-shadow .3s ease; }
.pcard--invite:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -26px color-mix(in oklab, var(--ink) 50%, transparent); }
.pcard--invite .pcard__media { aspect-ratio: 4 / 5; border-radius: 999px 999px 0 0; margin: 6px 6px 0; }
.pcard--invite .pcard__badges { justify-content: center; top: auto; bottom: 10px; }
.pcard--invite .pcard__body { justify-items: center; padding-top: 1rem; }
.pcard--invite .pcard__cat { color: var(--accent-text); letter-spacing: .2em; font-size: .72rem; }
.pcard--invite .pcard__name { font-size: clamp(.98rem, .94rem + .3vw, 1.15rem); letter-spacing: .03em; }
.pcard--invite .pcard__foot { justify-content: center; flex-wrap: wrap; width: 100%; }
.pcard--invite .pcard__foot .price { flex: 0 1 auto; justify-content: center; }
.pcard--invite .price__now { font-family: var(--font-body), sans-serif; font-weight: 600; font-size: .95rem; }
.pcard--invite .pcard__add, .pcard--invite .pcard__go { border-radius: 50%; }
.pcard--invite .pcard__go { background: transparent; color: var(--primary-text); box-shadow: inset 0 0 0 1px var(--accent); }
@media (max-width: 559px) { .pcard--invite .pcard__add { position: relative; top: auto; right: auto; box-shadow: none; } .pcard--invite { padding: 10px 10px 14px; } }
@media (min-width: 1080px) { .card-invite .pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; } }

/* blok isi */
.fam-undangan .feat, .fam-undangan .tcard, .fam-undangan .step, .fam-undangan .cinfo, .fam-undangan .pd__box { border: 1px solid var(--accent); outline: 1px solid var(--accent); outline-offset: -7px; border-radius: 0; background: var(--card); text-align: center; justify-items: center; }
.fam-undangan .cinfo { text-align: left; justify-items: stretch; }
.fam-undangan .pd__box { text-align: left; justify-items: stretch; }
.fam-undangan .feat__ic { border-radius: 50%; background: transparent; border: 1px solid var(--accent); color: var(--accent-text); }
.fam-undangan .step__n { background: transparent; border: 1px solid var(--accent); color: var(--primary-text); font-family: var(--font-head), serif; }
.fam-undangan .flist__i { text-align: left; }
.fam-undangan .stats { border-radius: 0; border-color: var(--accent); }
.fam-undangan .stat { text-align: center; }
.fam-undangan .faq { border-top: 1px solid var(--accent); }
.fam-undangan .faq__i { border-bottom-color: var(--line); }
.fam-undangan .faq__q { font-family: var(--font-head), serif; font-weight: 600; letter-spacing: .03em; }
.fam-undangan .about__img, .fam-undangan .feats-split__img { border-radius: 999px 999px 0 0; }
.fam-undangan .ahero__img { border-radius: 0; }
.fam-undangan .gitem { border-radius: 0; box-shadow: 0 0 0 1px var(--accent); padding: 6px; background: var(--card); }
.fam-undangan .cta { border-radius: 0; outline: 1px solid color-mix(in oklab, #fff 60%, transparent); outline-offset: -12px; text-align: center; }
.fam-undangan .cta__in { margin-inline: auto; justify-items: center; }
.fam-undangan .cta .btn-row { justify-content: center; }
.fam-undangan .promo { border-radius: 0; }
.fam-undangan .pd__main { border-radius: 999px 999px 0 0; }
.fam-undangan .cat { border-radius: 999px 999px 0 0; }
.fam-undangan .tquote__q { font-family: var(--font-head), serif; }
.fam-undangan .avatar { background: transparent; border: 1px solid var(--accent); color: var(--accent-text); font-family: "Great Vibes", cursive; font-size: 1.4rem; font-weight: 400; }

/* kepala halaman: kop undangan */
.phead--invite { text-align: center; }
.phead--invite .phead__in { justify-items: center; }
.phead--invite .crumbs { justify-content: center; text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; }
.phead--invite .h1 { max-width: 22ch; }
.phead--invite .h1::before { content: "❦"; display: block; margin-bottom: .3rem; font-size: 1.4rem; color: var(--accent-text); }
.phead--invite .lead { margin-inline: auto; }
.phead--invite .phead__in::after { content: ""; width: min(60%, 220px); height: 5px; margin-top: .6rem; border-block: 1px solid var(--accent); }
.fam-undangan .gbook__e blockquote { font-family: var(--font-body), sans-serif; font-style: italic; font-weight: 400; }
.pcard--invite .pcard__name, .pcard--invite .pcard__cat { width: 100%; overflow-wrap: anywhere; }
