/* Chimney Drop checkout sheets + thanks page cards. Warm cream, brick red, evergreen. Centered text inside cards. */
:root {
  --cdp-ink: #2a1712; --cdp-soft: #6b554b; --cdp-red: #8f2a22; --cdp-red-d: #6f1d17; --cdp-green: #2f5a3c;
  --cdp-cream: #fbf6ee; --cdp-cream2: #f4ebdd; --cdp-card: #ffffff; --cdp-line: rgba(42, 23, 18, .12); --cdp-bad: #b3261e;
  --cdp-shadow: 0 10px 30px rgba(111, 29, 23, .10);
}
html.cdp-open, html.cdp-open body { overflow: hidden; }

.cdp-sheet-wrap { position: fixed; inset: 0; z-index: 9990; display: flex; align-items: flex-end; justify-content: center; -webkit-tap-highlight-color: transparent; }
.cdp-sheet-wrap::before { content: ""; position: absolute; inset: 0; background: rgba(30, 14, 10, .55); animation: cdFade 200ms cubic-bezier(.23, 1, .32, 1) both; }
.cdp-sheet { position: relative; box-sizing: border-box; width: 100%; max-width: 480px; max-height: 94vh; max-height: 94dvh; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; outline: 0;
  background: linear-gradient(180deg, var(--cdp-cream), var(--cdp-cream2)); border-radius: 26px 26px 0 0; padding: 6px 16px calc(24px + env(safe-area-inset-bottom, 0px));
  color: var(--cdp-ink); text-align: center; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif; box-shadow: 0 -20px 60px rgba(30, 14, 10, .3);
  animation: cdUp 280ms cubic-bezier(.32, .72, 0, 1) both; }
.cdp-sheet-wrap.cdp-out { pointer-events: none; }
.cdp-sheet-wrap.cdp-out::before { animation: cdFadeOut 200ms both; }
.cdp-sheet-wrap.cdp-out .cdp-sheet { animation: cdDown 200ms cubic-bezier(.23, 1, .32, 1) both; }
.cdp-top { display: flex; justify-content: flex-start; margin: 0 -6px; }
.cdp-back { min-height: 44px; padding: 0 14px; border: 0; background: none; color: var(--cdp-soft); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.cdp-h { margin: 0 0 12px; font-size: 23px; line-height: 1.15; font-weight: 800; letter-spacing: -.02em; text-wrap: balance; }

.cdp-card { background: var(--cdp-card); border: 1px solid var(--cdp-line); border-radius: 20px; box-shadow: var(--cdp-shadow); padding: 16px 14px; margin: 0 0 12px; text-align: center; }
.cdp-fine { margin: 6px 0 0; font-size: 13px; line-height: 1.4; font-weight: 600; color: var(--cdp-soft); text-wrap: balance; }
.cdp-sum-what { margin: 0; font-size: 15px; font-weight: 700; color: var(--cdp-soft); }
.cdp-total { display: flex; flex-direction: column; align-items: center; margin: 4px 0 0; }
.cdp-total span { font-size: 12.5px; font-weight: 700; color: var(--cdp-soft); text-transform: uppercase; letter-spacing: .06em; }
.cdp-total b { font-size: 32px; line-height: 1.1; font-weight: 800; color: var(--cdp-ink); letter-spacing: -.02em; }

.cdp-bump { border: 2px dashed var(--cdp-green); background: #f6faf5; }
.cdp-bump-row { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; min-height: 44px; cursor: pointer; font-size: 16px; font-weight: 800; }
.cdp-bump-row input { width: 22px; height: 22px; accent-color: var(--cdp-green); margin: 0; }
.cdp-bump-p { color: var(--cdp-green); }

/* Your Order (copy: line per chimney with its price and Edit, then save / priority / shipping / total) */
.cdp-order-card { padding: 14px 14px 10px; }
.cdp-h-card { margin: 0 0 8px; font-size: 19px; }
.cdp-line { display: grid; grid-template-columns: 1fr; justify-items: center; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--cdp-line); text-align: center; }
.cdp-line-t { margin: 0; font-size: 15.5px; font-weight: 800; }
.cdp-line-bits { margin: 2px 0 0; font-size: 12.5px; text-align: center; }
.cdp-line-p { font-size: 16px; font-weight: 800; }
.cdp-edit { min-height: 44px; min-width: 44px; padding: 0 6px; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 800; color: var(--cdp-green); text-decoration: underline; cursor: pointer; }
.cdp-row { display: flex; justify-content: center; gap: 8px; align-items: baseline; padding: 7px 0 0; font-size: 14.5px; font-weight: 600; color: var(--cdp-soft); }
.cdp-row b { color: var(--cdp-ink); font-weight: 800; }
.cdp-row-save b { color: var(--cdp-green); }
.cdp-row-total { margin-top: 6px; padding-top: 10px; border-top: 1px solid var(--cdp-line); font-size: 17px; color: var(--cdp-ink); }
.cdp-row-total b { color: var(--cdp-ink); font-size: 20px; }

.cdp-sub { margin: -6px 0 12px; }
.cdp-hint { margin: -2px 0 6px; font-size: 12.5px; font-weight: 600; color: var(--cdp-soft); }
.cdp-promise { margin: 8px 0 0; font-weight: 700; color: var(--cdp-green); }
.cdp-paybox { margin: 16px -14px -18px; padding: 14px 14px 18px; border-top: 1px solid var(--cdp-line); background: #fffaf3; border-radius: 0 0 20px 20px; }
.cdp-total-line { display: flex; justify-content: center; align-items: baseline; gap: 8px; margin: 4px 0 8px; }
.cdp-total-line span { font-size: 15px; font-weight: 800; color: var(--cdp-soft); }
.cdp-total-line b { font-size: 28px; font-weight: 800; color: var(--cdp-ink); letter-spacing: -.02em; }
.cdp-offer-what { margin: 4px 0 0; }
.cdp-offer-line { font-size: 15px; color: var(--cdp-ink); }
.cdp-when { font-size: 15px; font-weight: 700; color: var(--cdp-ink); }
.cdp-big-2 { margin-top: 14px; }
.cdp-bump-name { margin-top: 10px; }

.cdp-form { padding: 16px 14px 18px; }
.cdp-field { margin: 0 0 14px; text-align: center; }
.cdp-field label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 800; color: var(--cdp-ink); }
.cdp-field input, .cdp-field select, .cdp-sheet select { box-sizing: border-box; width: 100%; min-height: 50px; padding: 12px 14px; border: 1.5px solid rgba(42, 23, 18, .22); border-radius: 14px; background: #fff;
  font: inherit; font-size: 17px; color: var(--cdp-ink); text-align: center; text-align-last: center; -webkit-appearance: none; appearance: none; }
/* Luke WF-028 MF-062: a select looks like a list to pick from (down arrow inside, text stays centered, room for the arrow on both sides) */
.cdp-field select, .cdp-sheet select { padding: 12px 40px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5l5.5 5.5 5.5-5.5' fill='none' stroke='%232f5a3c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; background-size: 14px 9px; }

/* A visible TEST mark where real data is still missing (owner's rule) */
.cdp-test { display: inline-block; padding: 1px 7px; margin: 0 2px; border: 1.5px dashed #b3261e; border-radius: 6px; background: #fff3f1; color: #b3261e; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; line-height: 1.5; vertical-align: middle; }
.cdp-when-line { margin: 8px 0 0; font-size: 14.5px; font-weight: 800; color: var(--cdp-green); text-align: center; }
.cdp-shipto-a { margin: 2px 0 0; }
.cdp-shipto-mail { margin: 8px 0 0; font-weight: 700; color: var(--cdp-ink); }
.cdp-cta.cdp-cta-link { display: flex; align-items: center; justify-content: center; text-decoration: none; line-height: 1.2; box-sizing: border-box; }
.cdp-cta-quiet { background: var(--cdp-green); box-shadow: 0 8px 20px rgba(47, 90, 60, .22); }
.cdp-cta-quiet[aria-disabled="true"] { opacity: .55; cursor: default; }
.cdp-gift { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--cdp-line); text-align: center; }
.cdp-gift-t { font-size: 15.5px; font-weight: 800; }
.cdp-dl { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--cdp-red); color: var(--cdp-red); font-weight: 800; font-size: 14.5px; text-decoration: none; white-space: nowrap; }
.cdp-dl-off { opacity: .55; }
.cdp-gift .cdp-test { margin-left: -4px; }
.cdp-field input:focus, .cdp-field select:focus { outline: none; border-color: var(--cdp-green); box-shadow: 0 0 0 3px rgba(47, 90, 60, .18); }
.cdp-field.cdp-bad input, .cdp-field.cdp-bad select { border-color: var(--cdp-bad); background-color: #fff7f6; }
.cdp-err { margin: 6px 0 0; font-size: 13.5px; font-weight: 700; color: var(--cdp-bad); }
.cdp-err[hidden] { display: none; }
/* round 2 (Luke item 12): the error is not told by color alone: an exclamation mark before it and a 2px frame on the field */
.cdp-field .cdp-err:not([hidden]) { display: flex; align-items: flex-start; justify-content: center; gap: 6px; text-align: center; }
.cdp-field .cdp-err:not([hidden])::before { content: "!"; flex: none; width: 17px; height: 17px; margin-top: 1px; border-radius: 50%; background: var(--cdp-bad); color: #fff; font-size: 12px; font-weight: 900; line-height: 17px; text-align: center; }
.cdp-field.cdp-bad input, .cdp-field.cdp-bad select { border-width: 2px; }

.cdp-cta { display: block; box-sizing: border-box; width: 100%; min-height: 56px; margin: 6px 0 0; padding: 0 18px; border: 0; border-radius: 999px; background: var(--cdp-red); color: #fff;
  font: inherit; font-size: 18px; font-weight: 800; letter-spacing: -.01em; cursor: pointer; box-shadow: 0 8px 20px rgba(143, 42, 34, .28); transition: transform 160ms cubic-bezier(.23, 1, .32, 1), background 160ms; }
.cdp-cta:active { transform: scale(.97); }
.cdp-cta:disabled { opacity: .6; cursor: default; }
.cdp-cta.cdp-busy { background: var(--cdp-red-d); }
.cdp-cta.cdp-green { background: var(--cdp-green); box-shadow: 0 8px 20px rgba(47, 90, 60, .25); }
.cdp-no { display: block; width: 100%; min-height: 48px; margin: 6px 0 0; border: 0; background: none; font: inherit; font-size: 15px; font-weight: 700; color: var(--cdp-soft); text-decoration: underline; cursor: pointer; }
.cdp-link, .cdp-alt { display: block; width: 100%; min-height: 44px; margin: 4px 0 0; border: 0; background: none; font: inherit; font-weight: 800; color: var(--cdp-green); text-decoration: underline; cursor: pointer; }

.cdp-shipto { padding: 12px 14px; }
.cdp-shipto .cdp-fine:first-child { margin: 0; }
.cdp-shipto-l { margin: 2px 0 0; font-size: 16px; font-weight: 800; }
.cdp-form-box { position: relative; text-align: left; background: #fff; border-radius: 22px; border: 1px solid var(--cdp-line); box-shadow: var(--cdp-shadow); padding: 10px 8px; margin: 12px 0 0; min-height: 520px; }
.cdp-form-box.cdp-in { min-height: 0; }
.cdp-wait { position: absolute; inset: 0; z-index: 1; background: #fff; border-radius: 22px; display: flex; flex-direction: column; gap: 14px; padding: 22px; }
.cdp-wait[hidden] { display: none; }
.cdp-wait i { display: block; height: 46px; border-radius: 14px; background: linear-gradient(90deg, #f3ece4, #fbf7f2, #f3ece4); background-size: 200% 100%; animation: cdSh 1.2s linear infinite; }
.cdp-msg { margin: 12px 0 0; padding: 12px; border-radius: 16px; background: #fff; border: 1.5px solid var(--cdp-red); text-align: center; }
.cdp-msg[hidden] { display: none; }
.cdp-msg-h { margin: 0; font-size: 15.5px; line-height: 1.35; font-weight: 800; color: var(--cdp-ink); }
.cdp-mock { text-align: center; padding: 8px 6px; }
.cdp-mock-card { box-sizing: border-box; width: 100%; min-height: 50px; margin: 12px 0; border: 1.5px dashed rgba(42, 23, 18, .3); border-radius: 14px; text-align: center; font: inherit; font-size: 17px; letter-spacing: .08em; color: var(--cdp-soft); background: #faf7f3; }
.cdp-mock select { margin: 6px 0 4px; }

/* ---- thanks page */
.cdp-page { min-height: 100vh; min-height: 100dvh; margin: 0; background: linear-gradient(180deg, var(--cdp-cream), var(--cdp-cream2)); color: var(--cdp-ink); font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif; }
.cdp-wrap { box-sizing: border-box; max-width: 480px; margin: 0 auto; padding: 20px 16px calc(32px + env(safe-area-inset-bottom, 0px)); text-align: center; }
.cdp-brand { margin: 4px 0 16px; font-size: 14px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--cdp-red); }
.cdp-big { margin: 6px 0 4px; font-size: 26px; line-height: 1.12; font-weight: 800; letter-spacing: -.02em; text-wrap: balance; }
.cdp-ok { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; background: var(--cdp-green); color: #fff; font-size: 28px; font-weight: 800; margin: 2px auto 4px; }
.cdp-order { margin: 8px 0 0; font-size: 15px; font-weight: 800; color: var(--cdp-red); letter-spacing: .04em; }
.cdp-offer { border: 2px solid var(--cdp-red); }
.cdp-kicker { margin: 0; font-size: 12.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--cdp-green); }
.cdp-price { margin: 8px 0 0; display: flex; justify-content: center; align-items: baseline; gap: 10px; }
.cdp-price b { font-size: 34px; font-weight: 800; color: var(--cdp-red); letter-spacing: -.02em; }
.cdp-price s { font-size: 18px; font-weight: 700; color: var(--cdp-soft); }
.cdp-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 12px 0 4px; }
.cdp-chip { min-height: 44px; padding: 0 14px; border: 1.5px solid rgba(42, 23, 18, .2); border-radius: 999px; background: #fff; font: inherit; font-size: 14.5px; font-weight: 700; color: var(--cdp-ink); cursor: pointer; }
.cdp-chip[aria-pressed="true"] { border-color: var(--cdp-red); background: #fbeeec; color: var(--cdp-red); box-shadow: 0 0 0 2px rgba(143, 42, 34, .15); }
.cdp-spin { width: 34px; height: 34px; margin: 6px auto; border-radius: 50%; border: 4px solid rgba(143, 42, 34, .15); border-top-color: var(--cdp-red); animation: cdSpin .9s linear infinite; }
.cdp-sub-form { margin-top: 12px; }

@keyframes cdUp { from { transform: translateY(100%); } to { transform: none; } }
@keyframes cdDown { to { transform: translateY(100%); } }
@keyframes cdFade { from { opacity: 0; } }
@keyframes cdFadeOut { to { opacity: 0; } }
@keyframes cdSh { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@keyframes cdSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .cdp-sheet-wrap::before, .cdp-sheet, .cdp-wait i, .cdp-spin { animation: none !important; }
  .cdp-cta { transition: none; }
}

/* Phases: the Priority note under its row, the closed sheet and its waitlist */
.cdp-row-note { margin: 2px 0 0; font-size: 12.5px; text-align: center; }
.cdp-closed { padding: 18px 14px; }
.cdp-closed .cdp-wl { margin-top: 14px; }
.cdp-wl-done { margin: 12px 0 0; color: var(--cdp-green); }

/* ---- Eye audit (مدقق٣) ---------------------------------------------------------------- */
/* 13: the order summary is centered like every card (no invoice left and right) */
.cdp-line { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 2px; }
.cdp-line-bits, .cdp-row-note { text-align: center; }
.cdp-line-p { margin-top: 4px; }
.cdp-row { justify-content: center; gap: 8px; }
/* 18: the State field keeps its arrow in the error state */
.cdp-field.cdp-bad input, .cdp-field.cdp-bad select { background-color: #fff7f6; }
/* 20: gift rows are a centered stack */
.cdp-gift { flex-direction: column; justify-content: center; text-align: center; gap: 8px; }
.cdp-gift .cdp-test { margin-left: 0; }

/* her chimney, composed from the configurator's photo layers (site/cfg) */
.cdp-chim { position: relative; overflow: hidden; margin: 2px auto 12px; border-radius: 18px; background: #2a1712; box-shadow: 0 12px 28px rgba(11, 36, 28, .28); }
.cdp-chim-stage { position: absolute; }
.cdp-chim-stage img { position: absolute; display: block; user-select: none; pointer-events: none; }

/* 9 + 19: the thanks and failed pages wear the page's theme b (evergreen and walnut, Big Shoulders + Figtree); cards stay light */
.cdp-page {
  background-color: #11322A;
  background-image:
    radial-gradient(80% 30% at 85% 2%, rgba(242, 196, 106, .18) 0%, rgba(242, 196, 106, 0) 70%),
    radial-gradient(90% 20% at 10% 38%, rgba(203, 50, 38, .14) 0%, rgba(203, 50, 38, 0) 70%),
    linear-gradient(180deg, #0B241C 0, #0B241C 760px, #11322A 2200px, #174235 100%);
  font-family: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.cdp-sheet { font-family: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif; }
.cdp-big, .cdp-h { font-family: "Big Shoulders Display", "Figtree", system-ui, sans-serif; font-weight: 900; letter-spacing: .005em; line-height: 1; }
.cdp-big { font-size: 32px; }
.cdp-page .cdp-card { background: linear-gradient(180deg, #FFFBF3 0%, #FBF3E4 100%); border: 1.5px solid rgba(242, 196, 106, .55); border-radius: 26px; box-shadow: 0 18px 40px rgba(0, 0, 0, .35), inset 0 1px 0 #fff; }
.cdp-page .cdp-offer { border: 2px solid #CB3226; }
.cdp-brand { display: flex; justify-content: center; margin: 2px 0 0; }
.cdp-wordmark { display: inline-block; padding: 7px 20px 8px; font-family: "Big Shoulders Display", "Figtree", system-ui, sans-serif; font-weight: 900; font-size: 22px; letter-spacing: .01em;
  color: #FFF5E2; background: linear-gradient(180deg, #1E5143 0%, #174235 58%, #12382D 100%); border: 1.5px solid rgba(242, 196, 106, .42); border-radius: 999px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 245, 226, .12); text-transform: none; }
.cdp-lights { height: 40px; margin: 10px auto 14px; max-width: 420px; }
.cdp-lights svg { width: 100%; height: 100%; display: block; overflow: visible; }
.cdp-lights .wire { fill: none; stroke: #2E4A3C; stroke-width: 2; }
.cdp-lights .bulb { animation: cdpTwinkle 2.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes cdpTwinkle { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { .cdp-lights .bulb { animation: none; } }
.cdp-fail .cdp-chim { margin-top: 4px; }
.cdp-fail .cdp-big { font-size: 30px; }

.cdp-gift-s { margin: -4px 0 0; }

/* v2: the batch line above Whop form */
.cdp-payline { margin: 10px 0 0; font-size: 15px; font-weight: 800; color: var(--cdp-green); text-align: center; }
.cdp-payline[hidden] { display: none; }

/* ---- v2 round 1 (expert table rows 3 13 15 24 25 26) ---------------------------------------------------------------- */
/* 26 (Luke WF-043): red stays for errors and the order button; links green, totals ink */
/* 24 + 25: the order folded to one line (count, total, Shipping included) with a 44px button that opens it in place */
.cdp-fold { padding: 10px 14px 4px; }
.cdp-fold-l { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 12px; margin: 0; font-size: 15px; font-weight: 700; color: var(--cdp-soft); }
.cdp-fold-l b { font-size: 19px; font-weight: 800; color: var(--cdp-ink); }
.cdp-fold-btn { margin: 0; }
.cdp-fold-body[hidden] { display: none; }
.cdp-order-in { padding: 4px 0 6px; border-top: 1px solid var(--cdp-line); margin-top: 4px; }
.cdp-h-ship { margin: 6px 0 10px; }
/* 25: Ships to Jane Doe in Springfield IL + Edit address (two lines) */
.cdp-shipto { padding: 10px 14px 4px; }
.cdp-shipto-l { margin: 0; font-size: 15.5px; font-weight: 800; text-wrap: balance; }
/* v2 round 2 row 3 (Baymard CHK-132): Receipt goes to j***@example.com, centered under Ships to, a long email breaks anywhere */
.cdp-shipto .cdp-shipto-mail { margin: 4px 0 0; font-size: 14.5px; font-weight: 700; color: var(--cdp-soft); text-align: center; overflow-wrap: anywhere; text-wrap: balance; }
.cdp-shipto .cdp-link { margin: 0; }
/* round 2 (item 1): the one card on the payment sheet: Ships to, Receipt goes to, the order line, Edit; all centered */
.cdp-shipto { padding: 10px 14px 2px; text-align: center; }
.cdp-shipto .cdp-shipto-order { margin: 4px 0 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 2px 8px; font-size: 15px; font-weight: 700; color: var(--cdp-soft); }
.cdp-shipto .cdp-shipto-order b { font-size: 18px; font-weight: 800; color: var(--cdp-ink); }
.cdp-shipto .cdp-link { min-height: 40px; }
.cdp-fold-below { margin: 12px 0 0; padding-top: 8px; }
.cdp-fold-below .cdp-worth { margin: 0; }
/* 13: one centered card under the pay button: the batch line, her date, the late gift, The Every Drop Promise */
.cdp-promises { margin: 12px 0 0; padding: 12px 14px; }
.cdp-promises .cdp-promise { margin: 6px 0 0; }
.cdp-promises > :first-child { margin-top: 0; }
.cdp-promise-date { font-size: 14.5px; color: var(--cdp-ink); }
.cdp-paybox .cdp-promises { margin: 12px 0 0; box-shadow: none; }
.cdp-payline { margin: 0 0 4px; }
/* the sheet's add-on (no configurator on the page only): ticked = its confirmation, never a second offer */
.cdp-form .cdp-bump { margin: 4px 0 0; }
.cdp-sheet .cdp-bump { border: 2px dashed var(--cdp-green); background: #f6faf5; }
.cdp-sheet .cdp-bump-on { border-style: solid; }
.cdp-bump-row .cdp-bump-t { text-wrap: balance; }
.cdp-bump-on .cdp-bump-note { color: var(--cdp-green); font-weight: 800; }
/* 15: Grandma's offer: her date and the late gift in a card inside the offer; one treat drops on the picture */
.cdp-g-promise { margin: 12px 0 0; padding: 10px 12px; box-shadow: none; background: #fffaf3; }
.cdp-g-promise .cdp-promise { margin: 4px 0 0; }
.cdp-g-promise .cdp-promise:first-child { margin-top: 0; color: var(--cdp-ink); }
.cdp-g-pic { position: relative; }
.cdp-g-treat { position: absolute; left: 50%; top: 18%; width: 30px; height: 20px; margin-left: -15px; pointer-events: none; z-index: 2; opacity: 0; }
.cdp-g-treat.cdp-drop { animation: cdpTreat 1100ms cubic-bezier(.45, 0, .55, 1) 400ms both; }
@keyframes cdpTreat {
  0% { opacity: 0; transform: translateY(-30px) rotate(0); }
  12% { opacity: 1; }
  70% { transform: translateY(150px) rotate(200deg); }
  82% { transform: translateY(140px) rotate(230deg); }
  100% { opacity: 1; transform: translateY(150px) rotate(250deg); }
}
@media (prefers-reduced-motion: reduce) { .cdp-g-treat.cdp-drop { animation: none; opacity: 1; transform: translateY(150px); } }
.cdp-g-form[hidden] { display: none; }

/* ---- iphone v3 (builder B) ------------------------------------------------------------- */
/* the pay buttons share the page's buy button look (Design item 5): one red gradient, a darker rim, the same lift */
.cdp-cta { background: linear-gradient(180deg, #DE4433 0%, #C22F23 52%, #9C2119 100%); border: 2px solid #8E1C15; text-shadow: 0 1px 0 rgba(90, 14, 10, .35);
  box-shadow: 0 12px 22px -8px rgba(110, 18, 12, .55), inset 0 1px 0 rgba(255, 255, 255, .3); }
.cdp-cta.cdp-busy { background: linear-gradient(180deg, #C22F23, #9C2119); }
.cdp-cta.cdp-cta-quiet, .cdp-cta.cdp-green { background: var(--cdp-green); border-color: #234a30; text-shadow: none; box-shadow: 0 8px 20px rgba(47, 90, 60, .25); }
/* Worth $120 in the box, the line under every Total */
.cdp-worth { margin: 2px 0 0; font-size: 15px; line-height: 1.25; font-weight: 800; color: var(--cdp-green); text-align: center; }
.cdp-paybox .cdp-worth { margin: -4px 0 10px; }
.cdp-fold .cdp-worth { margin: 4px 0 0; }
/* the state follows the ZIP: a short green flash tells her it filled itself */
.cdp-field.cdp-auto select { border-color: var(--cdp-green); box-shadow: 0 0 0 3px rgba(47, 90, 60, .18); transition: box-shadow 400ms; }

/* ---- thanks page: the free look card (iphone v3) ---- */
.cdp-look { padding: 18px 12px 16px; }
.cdp-look .cdp-look-pic { display: flex; justify-content: center; margin: 8px 0 6px; min-height: 230px; }
.cdp-look-who { margin: 14px 0 0; font-size: 16px; font-weight: 800; }
.cdp-look-g { margin: 14px 0 8px; font-size: 13px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--cdp-green); }
.cdp-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.cdp-tile { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 4px; min-height: 44px; padding: 6px 4px 8px; border: 2px solid rgba(42, 23, 18, .14); border-radius: 16px; background: #fffdf9; font: inherit; color: var(--cdp-ink); cursor: pointer; -webkit-tap-highlight-color: transparent; transition: transform 160ms cubic-bezier(.23, 1, .32, 1), border-color 160ms; }
.cdp-tile:active { transform: scale(.96); }
.cdp-tile[aria-pressed="true"] { border-color: var(--cdp-green); background: #f1f7f2; box-shadow: 0 0 0 2px rgba(47, 90, 60, .18); }
.cdp-tile-pic { display: flex; align-items: center; justify-content: center; width: 100%; overflow: hidden; border-radius: 10px; pointer-events: none; }
.cdp-tile-t { font-size: 12.5px; line-height: 1.2; font-weight: 800; text-wrap: balance; text-align: center; }
.cdp-tile[aria-pressed="true"] .cdp-tile-t { color: var(--cdp-green); }
.cdp-look-names { margin: 14px 0 0; }
.cdp-look-name { margin: 14px 0; }
.cdp-look-names[hidden] { display: none; }
.cdp-look-name .cdp-hint { margin: 6px 0 0; }
.cdp-look-name .cdp-hint[hidden], .cdp-look-who[hidden] { display: none; }
.cdp-look-names input, .cdp-look-name input { box-sizing: border-box; width: 100%; min-height: 50px; padding: 12px 14px; border: 1.5px solid rgba(42, 23, 18, .22); border-radius: 14px; font: inherit; font-size: 17px; text-align: center; color: var(--cdp-ink); background: #fff; }
.cdp-look .cdp-cta { margin-top: 16px; }
.cdp-look-until { margin-top: 10px; }
.cdp-look-locked .cdp-ok { margin-bottom: 6px; }

/* ---- round 2 (builder, 2026-11-05) ---- */
/* the look card saves itself: a status line instead of a button (Luke item 3) */
.cdp-look-who { letter-spacing: .04em; }
.cdp-look-status { margin: 14px 0 0; min-height: 24px; font-size: 16px; font-weight: 800; line-height: 1.3; text-align: center; color: var(--cdp-green); }
.cdp-look-status[hidden] { display: none; }
.cdp-look-status.cdp-look-saving { color: var(--cdp-soft); }
.cdp-look-check { display: inline-block; font-weight: 900; color: var(--cdp-green); }
.cdp-look .cdp-msg { margin-top: 10px; }
.cdp-look .cdp-msg .cdp-link { margin: 2px auto 0; width: auto; padding: 0 14px; }
/* the name offer after paying for a bare The Chimney (Hormozi item 4) and the line that confirms it */
.cdp-nameoffer .cdp-field { margin: 14px 0 6px; text-align: center; }
.cdp-nameoffer .cdp-field label { display: block; margin: 0 0 6px; font-size: 14.5px; font-weight: 800; }
.cdp-nameoffer .cdp-field input { box-sizing: border-box; width: 100%; min-height: 52px; padding: 12px 14px; border: 1.5px solid rgba(42, 23, 18, .22); border-radius: 14px; font: inherit; font-size: 19px; font-weight: 800; text-align: center; color: var(--cdp-ink); background: #fff; letter-spacing: .06em; }
.cdp-nameoffer .cdp-field input::placeholder { color: rgba(42, 23, 18, .35); font-weight: 700; }
.cdp-lead { margin: 0 0 10px; font-size: 16px; font-weight: 800; text-align: center; color: var(--cdp-green); }

.cdp-shipto { padding: 10px 14px; }
.cdp-shipto .cdp-shipto-order { margin: 0; }
/* v4: the safety net card at the top of the thanks page */
#cdShip:empty { display: none; }
.cdp-shipfix { border: 2px solid var(--cdp-green); }
.cdp-shipfix form { margin-top: 10px; text-align: left; }
.cdp-shipfix .cdp-cta { margin-top: 12px; }
.cdp-shipfix-done { display: flex; align-items: center; justify-content: center; gap: 8px; }
