/* Scoped launch offer: reuse KAEMENTO typography, palette and existing page layout. */
.kae-purchase { margin-top: 32px; padding: clamp(22px, 4vw, 38px); border: 1px solid var(--line); background: var(--cream, #f7f1e8); color: var(--ink, #22221f); }
.kae-purchase .kae-purchase-heading { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(28px, 3vw, 38px); line-height: 1.15; margin: 0 0 12px; font-weight: 400; letter-spacing: -.02em; }
.kae-purchase .kae-purchase-concept { font-size: 14px; margin: 0 0 22px; color: var(--muted); }
.kae-purchase .kae-purchase-prices { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px 20px; margin-bottom: 14px; }
.kae-purchase .kae-purchase-prices del { color: var(--muted); font-size: 17px; }
.kae-purchase .kae-purchase-prices strong { font-size: clamp(26px, 4vw, 34px); font-weight: 500; }
.kae-purchase .kae-purchase-prices small { font-size: 12px; }
.kae-finished-cost { margin:18px 0 24px; padding-left:16px; border-left:2px solid #a78553; }
.kae-purchase .kae-finished-cost-value { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; margin:0 0 8px; }
.kae-finished-cost-value strong { font-size:clamp(24px,3vw,30px); font-weight:500; line-height:1.2; font-variant-numeric:tabular-nums; }
.kae-finished-cost-value span { font-size:14px; line-height:1.45; }
.kae-finished-cost-value small { display:block; color:#625e56; font-size:11px; }
.kae-purchase .kae-finished-cost-copy { margin:0 0 6px; font-size:13px; line-height:1.6; }
.kae-finished-cost > small { display:block; color:#625e56; font-size:11px; line-height:1.6; }
.kae-purchase-support { margin:16px 0 0; padding-top:14px; border-top:1px solid var(--line,#ddd6ca); }
.kae-purchase-support > strong { display:block; font-size:13px; font-weight:500; line-height:1.5; }
.kae-purchase-support nav { display:flex; flex-wrap:wrap; gap:2px 18px; margin-top:6px; }
.kae-purchase-support a { display:inline-flex; align-items:center; min-height:36px; color:#65481f; font-size:12px; line-height:1.5; text-decoration:underline; text-underline-offset:3px; }
.kae-purchase-support a:hover { color:#30291f; }
.kae-purchase-support a:focus-visible { outline:2px solid #8c683a; outline-offset:3px; }
.kae-purchase-support a[aria-disabled="true"] { opacity:.5; cursor:default; }
.kae-purchase .kae-purchase-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 20px 28px; margin-top: 24px; }
.kae-purchase label { display: grid; gap: 8px; font-size: 13px; }
.kae-purchase input { width: 90px; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line); background: transparent; color: inherit; border-radius: 0; font: inherit; }
.kae-purchase .kae-purchase-total { margin: 0; font-size: 13px; }
.kae-purchase output { display: block; font-size: 23px; line-height: 1.5; }
.kae-purchase button { min-height: 48px; border: 0; padding: 16px 24px; background: #282722; color: #f8f5ef; font: inherit; font-size: 12px; letter-spacing: .06em; cursor: pointer; }
.kae-purchase button:disabled { opacity: .6; cursor: wait; }
.kae-purchase button:focus-visible, .kae-purchase input:focus-visible { outline: 2px solid #916735; outline-offset: 4px; }
.kae-purchase .kae-purchase-shipping { margin: 20px 0 6px; font-size: 14px; line-height: 1.6; }
.kae-purchase .kae-purchase-note { font-size: 12px; line-height: 1.6; margin: 0; color: #625e56; }
.kae-purchase .kae-purchase-status { font-size: 13px; line-height: 1.6; margin: 12px 0 0; }
.kae-purchase [data-bold-help] { display: inline-block; margin-top: 12px; font-size: 13px; text-decoration: underline; }
.kae-purchase [hidden] { display: none; }
.kae-purchase-section { padding-top: 32px; padding-bottom: 32px; }
.kae-purchase-section .kae-purchase { margin-top: 0; }
.kae-payment-result { padding-top: 160px; min-height: 65vh; }
.kae-payment-result h1 { font-size: clamp(38px, 7vw, 70px); line-height: 1.05; }
.kae-payment-result p { max-width: 680px; line-height: 1.7; }
@media (max-width: 480px) { .kae-purchase button { width: 100%; } }

.kae-payment-result [hidden] { display: none; }

.kae-purchase .kae-purchase-variants { display: grid; grid-template-columns: repeat(2, minmax(0, 240px)); gap: 18px; margin-top: 24px; }
.kae-purchase select { width: 100%; min-width: 0; min-height: 46px; padding: 10px; background: transparent; color: inherit; border: 1px solid var(--line); border-radius: 0; font: inherit; }
.kae-purchase select:focus-visible { outline: 2px solid #916735; outline-offset: 4px; }
.kae-payment-result .kae-selection-heading { font-size: 28px; line-height: 1.2; margin: 28px 0 18px; }
.kae-payment-result dl { display: grid; grid-template-columns: auto 1fr; gap: 10px 24px; max-width: 450px; }
.kae-payment-result dd { margin: 0; }
@media (max-width: 480px) { .kae-purchase .kae-purchase-variants { grid-template-columns: 1fr; } }

.kae-purchase .kae-purchase-variants[hidden] { display: none; }
.kae-purchase .kae-purchase-formula { font-size: 14px; line-height: 1.6; margin: 18px 0 0; }

/* Multiple configurations share one order and one payment. */
.kae-cart { margin-top:32px; padding-top:28px; border-top:1px solid var(--line); }
.kae-cart h3 { font-size:26px; line-height:1.2; }
.kae-cart h3 small { font:14px Arial,sans-serif; margin-left:12px; color:#655a48; }
.kae-cart-list { list-style:none; margin:20px 0; padding:0; }
.kae-cart-line { display:flex; justify-content:space-between; gap:24px; padding:22px 0; border-bottom:1px solid var(--line); }
.kae-cart-line > div { min-width:0; }
.kae-cart-line p { font-size:13px; margin:8px 0 0; }
.kae-cart-controls { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.kae-purchase .kae-cart-controls button, .kae-purchase [data-cart-cancel] { color:var(--ink); background:transparent; border:1px solid var(--line); padding:10px 14px; letter-spacing:0; }
.kae-cart-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.kae-cart-footer strong { display:block; font-size:28px; font-weight:500; }
.kae-cart-footer small { display:block; font-size:12px; margin-top:6px; }
[data-cart-message] { font-size:14px; line-height:1.5; }
@media(max-width:800px) { .kae-cart-line,.kae-cart-footer { flex-direction:column; align-items:stretch; } }
@media(max-width:480px) { .kae-cart-controls { display:grid; grid-template-columns:1fr 1fr; } .kae-cart-controls input { max-width:100%; } .kae-purchase { padding:20px 16px; } }
