/* ==========================================================================
   ConviteDe - Catálogo de Convites Digitais (estilos públicos)
   Todas as classes usam o prefixo .cd- para não conflitar com o tema.
   ========================================================================== */

.cd-root {
	--cd-primary: #e11d48;
	--cd-accent: #f59e0b;
	--cd-bg1: #1e293b;
	--cd-bg2: #0f172a;
	--cd-ink: #0f172a;
	--cd-text: #334155;
	--cd-muted: #64748b;
	--cd-line: #e2e8f0;
	--cd-soft: #f8fafc;
	--cd-brand: #e11d48;
	--cd-brand-2: #db2777;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: var(--cd-ink);
	-webkit-font-smoothing: antialiased;
	text-align: left;
}
.cd-root *, .cd-root *::before, .cd-root *::after { box-sizing: border-box; }
.cd-root [hidden] { display: none !important; }
.cd-root h1, .cd-root h2, .cd-root h3, .cd-root h4, .cd-root p, .cd-root ul, .cd-root li, .cd-root figure {
	margin: 0; padding: 0; border: 0; background: none; text-transform: none; letter-spacing: normal;
}
.cd-root h1, .cd-root h2, .cd-root h3, .cd-root h4 { font-family: inherit; color: inherit; line-height: 1.2; }
.cd-root ul { list-style: none; }
.cd-root img { max-width: 100%; display: block; }
.cd-root a { text-decoration: none; box-shadow: none; }
.cd-root button, .cd-root input, .cd-root select, .cd-root textarea { font-family: inherit; font-size: 15px; margin: 0; }
.cd-root .cd-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.cd-root .cd-muted { color: var(--cd-muted); font-size: 13px; }
.cd-root .cd-eyebrow { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--cd-brand); margin-bottom: 6px; }
.cd-root.cd-notice, .cd-root .cd-notice { padding: 16px 18px; border-radius: 14px; background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; }
.cd-root .cd-notice a { color: #c2410c; font-weight: 700; text-decoration: underline; }
body.cd-modal-open { overflow: hidden; }

/* ---------- Botões ---------- */
.cd-root .cd-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 12px 18px; border-radius: 14px; border: 1px solid transparent;
	background: #f1f5f9; color: var(--cd-ink); font-weight: 700; font-size: 15px; line-height: 1.2;
	cursor: pointer; text-align: center; text-decoration: none; white-space: nowrap;
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, opacity .15s ease;
	box-shadow: none; text-transform: none; letter-spacing: normal; min-height: 44px;
}
.cd-root .cd-btn:hover { transform: translateY(-1px); }
.cd-root .cd-btn:active { transform: translateY(0) scale(.98); }
.cd-root .cd-btn:disabled { opacity: .6; cursor: wait; }
.cd-root .cd-btn:focus-visible { outline: 3px solid rgba(225, 29, 72, .35); outline-offset: 2px; }
.cd-root .cd-btn--primary { background: var(--cd-primary); color: #fff; box-shadow: 0 10px 24px -12px var(--cd-primary); }
.cd-root .cd-btn--primary:hover { color: #fff; filter: brightness(1.05); }
.cd-root .cd-btn--soft { background: #f1f5f9; color: #1e293b; }
.cd-root .cd-btn--ghost { background: transparent; color: #475569; border-color: var(--cd-line); }
.cd-root .cd-btn--on-dark { color: #e2e8f0; border-color: rgba(255,255,255,.25); }
.cd-root .cd-btn--pix { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.cd-root .cd-btn--whatsapp { background: #1fa855; color: #fff; }
.cd-root .cd-btn--whatsapp:hover { color: #fff; }
.cd-root .cd-btn--facebook { background: #1877f2; color: #fff; }
.cd-root .cd-btn--telegram { background: #229ed9; color: #fff; }
.cd-root .cd-btn--danger { background: #fff1f2; color: #be123c; }
.cd-root .cd-btn--icon { padding: 10px 12px; min-width: 44px; background: var(--cd-soft); border-color: var(--cd-line); }
.cd-root .cd-btn--block { display: flex; width: 100%; }
.cd-root .cd-btn--grow { flex: 1; }
.cd-root .cd-btn--lg { padding: 15px 20px; font-size: 16px; border-radius: 16px; }
.cd-root .cd-btn--sm { padding: 8px 12px; font-size: 13px; border-radius: 10px; min-height: 36px; }

/* ---------- Conta do cliente ---------- */
.cd-accountbar { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 12px; color: #64748b; font-size: 13px; }
.cd-accountbar strong { color: #0f172a; }
.cd-accountbar a { color: var(--cd-brand); font-weight: 800; }
.cd-accountbar__primary { padding: 8px 12px; border-radius: 10px; background: #fff1f2; }

/* ---------- Catálogo ---------- */
.cd-catalog { max-width: 1200px; margin: 0 auto; padding: 8px 0 32px; }
.cd-hero {
	position: relative; overflow: hidden; text-align: center; padding: 48px 24px 40px; border-radius: 28px;
	background: radial-gradient(circle at 10% 10%, rgba(244, 114, 182, .18), transparent 40%), radial-gradient(circle at 90% 90%, rgba(251, 191, 36, .18), transparent 40%), linear-gradient(180deg, #fff1f2 0%, #ffffff 60%, #f8fafc 100%);
	border: 1px solid #ffe4e6;
}
.cd-hero__pill { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; background: #ffe4e6; color: #be123c; font-size: 13px; font-weight: 800; }
.cd-root .cd-hero__title { margin: 16px auto 12px; max-width: 820px; font-size: clamp(28px, 4.6vw, 48px); font-weight: 900; letter-spacing: -.02em; color: var(--cd-ink); }
.cd-hero__title span { display: block; background: linear-gradient(90deg, #e11d48, #db2777, #d97706); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cd-root .cd-hero__text { max-width: 720px; margin: 0 auto; color: #475569; font-size: 17px; }
.cd-search { position: relative; max-width: 620px; margin: 24px auto 0; }
.cd-search__icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); font-size: 18px; pointer-events: none; }
.cd-root .cd-search__input { width: 100%; height: 56px; padding: 0 92px 0 50px; border-radius: 999px; border: 2px solid var(--cd-line); background: #fff; font-size: 15px; color: var(--cd-ink); box-shadow: 0 12px 30px -18px rgba(15, 23, 42, .35); outline: none; }
.cd-root .cd-search__input:focus { border-color: var(--cd-brand); box-shadow: 0 0 0 4px rgba(225, 29, 72, .12); }
.cd-root .cd-search__clear { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); border: 0; background: #f1f5f9; color: #475569; font-size: 12px; font-weight: 700; padding: 8px 12px; border-radius: 999px; cursor: pointer; }
.cd-hero__badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 20px; }
.cd-hero__badges li { padding: 7px 12px; border-radius: 999px; background: rgba(255, 255, 255, .85); border: 1px solid var(--cd-line); font-size: 13px; font-weight: 600; color: #334155; }

.cd-filters { display: flex; gap: 10px; overflow-x: auto; padding: 24px 2px 10px; scrollbar-width: thin; }
.cd-root .cd-filter { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--cd-line); background: #fff; color: #334155; font-size: 14px; font-weight: 700; cursor: pointer; white-space: nowrap; transition: all .15s ease; }
.cd-root .cd-filter:hover { color: var(--cd-brand); border-color: #fecdd3; }
.cd-root .cd-filter.is-active { background: var(--cd-brand); border-color: var(--cd-brand); color: #fff; box-shadow: 0 10px 20px -12px var(--cd-brand); }
.cd-filter__count { display: inline-block; min-width: 22px; padding: 1px 7px; border-radius: 999px; background: rgba(15, 23, 42, .08); font-size: 12px; }
.cd-filter.is-active .cd-filter__count { background: rgba(255, 255, 255, .25); }

.cd-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 0 16px; }
.cd-root .cd-section-head h3 { font-size: clamp(20px, 2.6vw, 26px); font-weight: 900; letter-spacing: -.01em; }
.cd-section-head__count { flex: 0 0 auto; font-size: 13px; font-weight: 700; color: var(--cd-muted); background: #f1f5f9; padding: 6px 12px; border-radius: 999px; }

.cd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 22px; }
.cd-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cd-line); border-radius: 22px; overflow: hidden; box-shadow: 0 10px 30px -22px rgba(15, 23, 42, .45); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.cd-card:hover { transform: translateY(-4px); border-color: #fecdd3; box-shadow: 0 24px 40px -24px rgba(15, 23, 42, .5); }
.cd-card__media { position: relative; height: 240px; background-size: cover; background-position: center; }
.cd-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .75), rgba(0, 0, 0, .1) 55%, transparent); pointer-events: none; }
.cd-card__badges { position: absolute; top: 12px; left: 12px; z-index: 2; display: flex; gap: 6px; }
.cd-badge { display: inline-block; padding: 4px 10px; border-radius: 999px; background: #f59e0b; color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .06em; box-shadow: 0 4px 10px rgba(0, 0, 0, .2); }
.cd-badge--free { background: #10b981; }
.cd-root .cd-card__play { position: absolute; inset: 0; z-index: 3; display: flex; align-items: center; justify-content: center; border: 0; background: rgba(15, 23, 42, .35); opacity: 0; cursor: pointer; transition: opacity .2s ease; }
.cd-card__play span { padding: 10px 16px; border-radius: 999px; background: #fff; color: var(--cd-ink); font-size: 13px; font-weight: 800; box-shadow: 0 10px 25px rgba(0, 0, 0, .3); }
.cd-card:hover .cd-card__play, .cd-card__play:focus-visible { opacity: 1; }
.cd-card__caption { position: absolute; left: 14px; right: 14px; bottom: 12px; z-index: 2; color: #fff; }
.cd-card__caption small { display: block; font-size: 12px; font-weight: 700; color: #fecdd3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cd-card__caption strong { display: block; font-size: 19px; font-weight: 900; line-height: 1.2; text-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
.cd-card__body { display: flex; flex-direction: column; gap: 12px; padding: 16px 16px 18px; flex: 1; }
.cd-root .cd-card__title { font-size: 16px; font-weight: 800; color: var(--cd-ink); }
.cd-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cd-chip { padding: 4px 9px; border-radius: 8px; font-size: 12px; font-weight: 700; border: 1px solid var(--cd-line); background: var(--cd-soft); }
.cd-chip--green { color: #047857; }
.cd-chip--blue { color: #1d4ed8; }
.cd-chip--amber { color: #b45309; }
.cd-chip--purple { color: #7e22ce; }
.cd-root .cd-card__text { color: var(--cd-muted); font-size: 13px; line-height: 1.5; flex: 1; }
.cd-card__actions { display: flex; gap: 8px; padding-top: 12px; border-top: 1px solid #f1f5f9; }

.cd-empty { margin: 24px 0; padding: 40px 20px; text-align: center; border: 2px dashed var(--cd-line); border-radius: 22px; background: #fff; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--cd-text); }

.cd-steps { position: relative; overflow: hidden; margin-top: 48px; padding: 48px 24px; border-radius: 28px; background: #0f172a; color: #fff; text-align: center; }
.cd-steps::before { content: ""; position: absolute; top: -80px; right: -80px; width: 320px; height: 320px; border-radius: 50%; background: rgba(225, 29, 72, .18); filter: blur(40px); }
.cd-steps__eyebrow { position: relative; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fb7185; }
.cd-root .cd-steps__title, .cd-root .cd-steps__cta { position: relative; margin: 10px 0 28px; font-size: clamp(22px, 3.2vw, 34px); font-weight: 900; color: #fff; }
.cd-root .cd-steps__cta { margin: 36px 0 10px; }
.cd-root .cd-steps__text { position: relative; max-width: 640px; margin: 0 auto 22px; color: #cbd5e1; }
.cd-steps__grid { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; text-align: left; }
.cd-step { padding: 22px; border-radius: 20px; background: rgba(30, 41, 59, .85); border: 1px solid #334155; }
.cd-step__num { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 12px; background: linear-gradient(135deg, #e11d48, #f59e0b); font-weight: 900; font-size: 18px; margin-bottom: 12px; }
.cd-root .cd-step h4 { font-size: 17px; font-weight: 800; color: #fff; margin-bottom: 6px; }
.cd-root .cd-step p { font-size: 14px; color: #94a3b8; }

/* ---------- Modais ---------- */
.cd-root .cd-modal { position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center; padding: 16px; }
.cd-modal__backdrop { position: absolute; inset: 0; background: rgba(2, 6, 23, .66); backdrop-filter: blur(4px); animation: cd-fade .2s ease; }
.cd-modal__dialog { position: relative; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); overflow-y: auto; background: #fff; color: var(--cd-ink); border-radius: 24px; padding: 26px 22px 22px; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .5); display: flex; flex-direction: column; gap: 14px; animation: cd-pop .22s ease; }
.cd-root .cd-modal__close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f1f5f9; color: #475569; font-size: 16px; cursor: pointer; }
.cd-modal__head { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.cd-modal__icon { display: inline-flex; width: 54px; height: 54px; align-items: center; justify-content: center; border-radius: 50%; background: #fff1f2; font-size: 26px; }
.cd-root .cd-modal__head h3 { font-size: 21px; font-weight: 900; }
.cd-root .cd-modal__head p { color: var(--cd-muted); font-size: 14px; }
@keyframes cd-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes cd-pop { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }

.cd-modal--demo { padding: 10px; }
.cd-demo { position: relative; width: 100%; max-width: 1100px; height: calc(100vh - 20px); display: flex; flex-direction: column; background: #0f172a; border: 1px solid #334155; border-radius: 22px; overflow: hidden; animation: cd-pop .22s ease; }
.cd-demo__bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; background: #1e293b; border-bottom: 1px solid #334155; color: #fff; flex-wrap: wrap; }
.cd-demo__title { font-size: 14px; font-weight: 800; max-width: 320px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cd-demo__devices { display: flex; gap: 4px; padding: 4px; background: #0f172a; border-radius: 10px; }
.cd-root .cd-demo__devices button { border: 0; background: transparent; color: #94a3b8; padding: 6px 12px; border-radius: 8px; font-size: 13px; font-weight: 700; cursor: pointer; }
.cd-root .cd-demo__devices button.is-active { background: var(--cd-brand); color: #fff; }
.cd-demo__actions { display: flex; align-items: center; gap: 8px; }
.cd-root .cd-demo__close { width: 36px; height: 36px; border: 0; border-radius: 10px; background: transparent; color: #cbd5e1; font-size: 18px; cursor: pointer; }
.cd-demo__stage { flex: 1; display: flex; align-items: center; justify-content: center; padding: 16px; overflow: auto; background: #020617; }

.cd-phone { position: relative; width: 360px; max-width: 100%; height: 720px; max-height: 100%; padding: 12px; background: #000; border: 4px solid #334155; border-radius: 46px; box-shadow: 0 30px 70px rgba(0, 0, 0, .6); display: flex; flex-direction: column; }
.cd-phone__notch { flex: 0 0 auto; width: 110px; height: 18px; margin: 0 auto 8px; border-radius: 999px; background: #1e293b; }
.cd-phone__screen { flex: 1; width: 100%; border: 0; border-radius: 32px; background: #0f172a; }
.cd-phone.is-desktop { width: 100%; height: 100%; padding: 0; border: 0; border-radius: 14px; background: transparent; box-shadow: none; }
.cd-phone.is-desktop .cd-phone__notch { display: none; }
.cd-phone.is-desktop .cd-phone__screen { border-radius: 14px; }
.cd-phone--static { margin: 0 auto; height: 720px; max-height: none; }
.cd-phone__screen--scroll { position: relative; overflow-y: auto; overflow-x: hidden; }

/* ---------- Convite interativo ---------- */
.cd-invite { position: relative; min-height: 100%; padding: 26px 12px 40px; background: linear-gradient(145deg, var(--cd-bg1), var(--cd-bg2)); }
.cd-invite__stage { position: relative; max-width: 460px; margin: 0 auto; }
.cd-invite__tools { position: sticky; top: 12px; z-index: 20; display: flex; justify-content: flex-end; gap: 8px; margin-bottom: -52px; padding-right: 10px; }
.cd-root .cd-music, .cd-root .cd-icon-btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .5); background: rgba(255, 255, 255, .92); color: #1e293b; font-size: 13px; font-weight: 800; cursor: pointer; box-shadow: 0 8px 20px rgba(0, 0, 0, .25); backdrop-filter: blur(8px); }
.cd-root .cd-icon-btn { width: 40px; padding: 0; justify-content: center; font-size: 16px; }
.cd-eq { display: inline-flex; align-items: flex-end; gap: 2px; height: 14px; }
.cd-eq i { display: block; width: 3px; height: 4px; border-radius: 2px; background: var(--cd-primary); }
.cd-music.is-playing .cd-eq i { animation: cd-eq .8s ease-in-out infinite; }
.cd-music.is-playing .cd-eq i:nth-child(2) { animation-duration: .6s; animation-delay: .2s; }
.cd-music.is-playing .cd-eq i:nth-child(3) { animation-duration: .9s; animation-delay: .4s; }
.cd-music.is-playing .cd-eq i:nth-child(4) { animation-duration: .7s; animation-delay: .1s; }
.cd-music.is-playing { color: var(--cd-primary); }
@keyframes cd-eq { 0%, 100% { height: 4px; } 50% { height: 14px; } }

.cd-invite__card { position: relative; background: #fff; border-radius: 30px; overflow: hidden; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .55); border: 1px solid rgba(255, 255, 255, .3); }
.cd-invite__cover { position: relative; height: 310px; background-size: cover; background-position: center; }
.cd-invite__overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 6px; padding: 24px 22px; text-align: center; color: #fff; background: linear-gradient(to top, rgba(0, 0, 0, .82), rgba(0, 0, 0, .2) 55%, rgba(0, 0, 0, 0)); }
.cd-invite__tag { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--cd-accent); color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.cd-root .cd-invite__title { font-size: clamp(24px, 6vw, 32px); font-weight: 900; letter-spacing: -.01em; color: #fff; text-shadow: 0 3px 12px rgba(0, 0, 0, .4); word-break: break-word; }
.cd-root .cd-invite__subtitle { font-size: 15px; font-weight: 600; color: rgba(255, 255, 255, .92); }
.cd-invite__body { padding: 24px 22px 26px; display: flex; flex-direction: column; gap: 18px; }
.cd-invite__intro { text-align: center; padding-bottom: 16px; border-bottom: 1px solid #f1f5f9; }
.cd-root .cd-invite__host { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; margin-bottom: 8px; }
.cd-invite__host strong { color: #475569; }
.cd-root .cd-invite__message { font-size: 15px; font-style: italic; color: #475569; white-space: pre-line; }
.cd-root .cd-invite__message::before { content: "“"; }
.cd-root .cd-invite__message::after { content: "”"; }

.cd-countdown { padding: 16px; border-radius: 20px; background: var(--cd-soft); border: 1px solid var(--cd-line); text-align: center; }
.cd-root .cd-countdown__label { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--cd-muted); margin-bottom: 10px; }
.cd-countdown__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.cd-countdown__grid div { padding: 10px 4px; border-radius: 14px; background: #fff; border: 1px solid var(--cd-line); box-shadow: 0 4px 10px -8px rgba(15, 23, 42, .3); }
.cd-countdown__grid strong { display: block; font-size: 24px; font-weight: 900; color: var(--cd-ink); font-variant-numeric: tabular-nums; }
.cd-countdown__grid div:last-child strong { color: var(--cd-primary); }
.cd-countdown__grid span { font-size: 10px; font-weight: 800; text-transform: uppercase; color: #94a3b8; }
.cd-root .cd-countdown__done { margin-top: 8px; font-weight: 800; color: var(--cd-primary); }

.cd-info { display: flex; flex-direction: column; gap: 10px; }
.cd-info__item { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border-radius: 16px; background: var(--cd-soft); border: 1px solid #f1f5f9; }
.cd-info__icon { flex: 0 0 auto; width: 64px; height: 64px; display: grid; place-items: center; border-radius: 18px; background: linear-gradient(145deg, rgba(124,58,237,.12), rgba(244,114,182,.16)); border: 1px solid rgba(124,58,237,.18); color: #7c3aed; box-shadow: 0 14px 28px -20px rgba(124, 58, 237, .55); padding: 0; }
.cd-info__icon svg { width: 30px; height: 30px; display:block; margin:auto; }
.cd-info__icon--location { color: #ef4444; background: linear-gradient(145deg, rgba(254,226,226,.82), rgba(254,202,202,.95)); border-color: rgba(239,68,68,.14); }
.cd-info__icon--dress { color: #d97706; background: linear-gradient(145deg, rgba(254,243,199,.95), rgba(253,230,138,.92)); border-color: rgba(217,119,6,.16); }
.cd-info__item small { display: block; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #94a3b8; }
.cd-info__item strong { display: block; font-size: 16px; font-weight: 800; color: var(--cd-ink); line-height: 1.3; }
.cd-info__item span { display: block; font-size: 13px; color: var(--cd-muted); }
.cd-info__item--dress { background: #fffbeb; border-color: #fde68a; }
.cd-info__item--dress .cd-info__icon { box-shadow: 0 12px 24px -18px rgba(217,119,6,.55); }

.cd-actions { display: flex; flex-direction: column; gap: 10px; }
.cd-actions__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cd-actions__row .cd-btn { padding-left: 10px; padding-right: 10px; font-size: 14px; }
.cd-root .cd-invite__stats { text-align: center; font-size: 14px; color: #047857; background: #ecfdf5; border-radius: 12px; padding: 10px; }

.cd-guestbook { padding-top: 18px; border-top: 1px solid #f1f5f9; display: flex; flex-direction: column; gap: 12px; }
.cd-root .cd-guestbook__title { display: flex; align-items: center; justify-content: space-between; font-size: 16px; font-weight: 800; }
.cd-guestbook__title span { font-size: 12px; padding: 2px 10px; border-radius: 999px; background: #f1f5f9; color: var(--cd-muted); }
.cd-guestbook__form { display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 16px; background: var(--cd-soft); border: 1px solid var(--cd-line); }
.cd-guestbook__list { display: flex; flex-direction: column; gap: 8px; max-height: 320px; overflow-y: auto; padding-right: 2px; }
.cd-root .cd-guestbook__empty { text-align: center; font-size: 13px; color: var(--cd-muted); padding: 8px; }
.cd-msg { padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid #f1f5f9; box-shadow: 0 4px 12px -10px rgba(15, 23, 42, .4); }
.cd-msg__head { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 4px; font-size: 13px; }
.cd-msg__head span { color: #94a3b8; font-size: 11px; white-space: nowrap; }
.cd-root .cd-msg p { font-size: 14px; color: #475569; }
.cd-invite__footer { padding: 14px; text-align: center; font-size: 12px; color: var(--cd-muted); background: var(--cd-soft); border-top: 1px solid #f1f5f9; white-space: nowrap; }
.cd-invite__footer strong { color: var(--cd-brand); }

/* ---------- Formulários ---------- */
.cd-form { display: flex; flex-direction: column; gap: 12px; }
.cd-field { display: flex; flex-direction: column; gap: 6px; }
.cd-field > span { font-size: 13px; font-weight: 700; color: #334155; }
.cd-root .cd-form input[type="text"], .cd-root .cd-form input[type="tel"], .cd-root .cd-form input[type="email"], .cd-root .cd-form input[type="url"],
.cd-root .cd-form input[type="number"], .cd-root .cd-form input[type="date"], .cd-root .cd-form input[type="time"], .cd-root .cd-form select, .cd-root .cd-form textarea {
	width: 100%; min-height: 44px; padding: 10px 14px; border-radius: 12px; border: 1px solid #cbd5e1; background: #fff; color: var(--cd-ink);
	font-size: 15px; line-height: 1.4; box-shadow: none; outline: none; transition: border-color .15s ease, box-shadow .15s ease;
}
.cd-root .cd-form textarea { resize: vertical; min-height: 70px; }
.cd-root .cd-form input:focus, .cd-root .cd-form select:focus, .cd-root .cd-form textarea:focus { border-color: var(--cd-primary); box-shadow: 0 0 0 3px rgba(225, 29, 72, .12); }
.cd-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cd-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cd-toggle label { cursor: pointer; }
.cd-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.cd-toggle span { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 8px; border-radius: 12px; border: 1px solid var(--cd-line); background: var(--cd-soft); font-size: 13px; font-weight: 800; color: #475569; text-align: center; transition: all .15s ease; }
.cd-toggle input:checked + span { background: #10b981; border-color: #10b981; color: #fff; box-shadow: 0 8px 18px -10px #10b981; }
.cd-toggle label:last-child input:checked + span { background: #475569; border-color: #475569; box-shadow: none; }
.cd-success { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; padding: 8px 0; }
.cd-success__icon { font-size: 44px; }
.cd-root .cd-success h3 { font-size: 22px; font-weight: 900; }
.cd-root .cd-success p { color: var(--cd-muted); font-size: 14px; }
.cd-qr { display: flex; justify-content: center; }
.cd-qr img { width: 210px; height: 210px; padding: 8px; background: #fff; border: 1px solid var(--cd-line); border-radius: 16px; image-rendering: pixelated; }
.cd-qr--small img { width: 160px; height: 160px; }
.cd-pix-box, .cd-linkbox { padding: 12px 14px; border-radius: 14px; background: var(--cd-soft); border: 1px solid var(--cd-line); }
.cd-pix-box small, .cd-linkbox small { display: block; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: #94a3b8; }
.cd-pix-box strong, .cd-linkbox strong { display: block; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; color: var(--cd-ink); word-break: break-all; }
.cd-linkbox--warn { background: #fffbeb; border-color: #fde68a; }
.cd-share-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cd-share-grid .cd-btn { font-size: 14px; }
.cd-root .cd-form__error { padding: 10px 14px; border-radius: 12px; background: #fff1f2; color: #be123c; font-size: 14px; font-weight: 700; }

/* ---------- Login / Cadastro ---------- */
.cd-auth { max-width: 1100px; margin: 0 auto; padding: 32px 16px 48px; }
.cd-auth__shell { display: grid; grid-template-columns: minmax(0, .95fr) minmax(360px, .75fr); gap: 34px; align-items: stretch; }
.cd-auth__intro { position: relative; overflow: hidden; padding: 42px; border-radius: 28px; background: linear-gradient(145deg, #fff7ed 0%, #fff 56%, #fff1f2 100%); border: 1px solid #fed7aa; }
.cd-auth__intro::after { content: ""; position: absolute; right: -90px; bottom: -120px; width: 280px; height: 280px; border-radius: 50%; background: rgba(225,29,72,.08); }
.cd-root .cd-auth__intro h2 { max-width: 520px; font-size: clamp(30px, 4.4vw, 46px); font-weight: 900; letter-spacing: -.025em; }
.cd-root .cd-auth__intro > p { max-width: 560px; margin-top: 14px; color: #475569; font-size: 17px; }
.cd-auth__benefits { display: grid; gap: 12px; margin-top: 28px !important; }
.cd-auth__benefits li { display: flex; align-items: center; gap: 10px; color: #334155; font-weight: 700; }
.cd-auth__benefits span { flex: 0 0 auto; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #ecfdf5; color: #047857; }
.cd-auth__product { position: relative; z-index: 1; display: grid; grid-template-columns: 92px 1fr; gap: 14px; align-items: center; margin-top: 30px; padding: 12px; background: rgba(255,255,255,.88); border: 1px solid #fed7aa; border-radius: 18px; box-shadow: 0 16px 34px -28px rgba(15,23,42,.6); }
.cd-auth__product-cover { height: 78px; border-radius: 13px; background-size: cover; background-position: center; }
.cd-auth__product small, .cd-auth__product span { display: block; color: #64748b; font-size: 12px; }
.cd-auth__product strong { display: block; margin: 2px 0; color: #0f172a; font-size: 15px; font-weight: 900; }
.cd-auth__card { padding: 30px; border-radius: 28px; background: #fff; border: 1px solid var(--cd-line); box-shadow: 0 24px 60px -42px rgba(15,23,42,.65); }
.cd-auth__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 26px; padding: 5px; border-radius: 14px; background: #f1f5f9; }
.cd-root .cd-auth__tabs button { min-height: 42px; border: 0; border-radius: 10px; background: transparent; color: #64748b; font-weight: 800; cursor: pointer; }
.cd-root .cd-auth__tabs button.is-active { background: #fff; color: #0f172a; box-shadow: 0 4px 14px -10px rgba(15,23,42,.55); }
.cd-auth__form { display: flex; flex-direction: column; gap: 14px; }
.cd-root .cd-auth__form h3, .cd-root .cd-auth__logged h3 { font-size: 24px; font-weight: 900; }
.cd-auth__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; }
.cd-auth__row a { color: var(--cd-brand); font-weight: 800; }
.cd-auth__remember { display: inline-flex; align-items: center; gap: 7px; color: #475569; }
.cd-password { position: relative; display: block; }
.cd-password input { width: 100%; padding-right: 48px !important; }
.cd-root .cd-password button { position: absolute; right: 7px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border: 0; border-radius: 9px; background: #f8fafc; cursor: pointer; }
.cd-auth__terms { color: #94a3b8; font-size: 11px; text-align: center; }
.cd-auth__logged { display: flex; min-height: 100%; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; }
.cd-auth__logged p { color: #64748b; margin-bottom: 8px !important; }
.cd-auth__avatar { width: 76px; height: 76px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: linear-gradient(135deg, var(--cd-brand), #f59e0b); color: #fff; font-size: 30px; font-weight: 900; }
.cd-editor__account { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-bottom: 10px; color: #475569; font-size: 13px; }
.cd-editor__account span { font-weight: 800; }
.cd-editor__account a { color: var(--cd-brand); font-weight: 800; }

/* ---------- Editor ---------- */
.cd-editor { max-width: 1200px; margin: 0 auto; padding: 8px 0 32px; }
.cd-editor__head { margin-bottom: 22px; }
.cd-root .cd-editor__head h2 { font-size: clamp(24px, 3.4vw, 34px); font-weight: 900; letter-spacing: -.01em; }
.cd-root .cd-editor__head p { color: var(--cd-muted); margin-top: 6px; }
.cd-editor__layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 28px; align-items: start; }
.cd-editor__form { gap: 16px; }
.cd-panel { display: flex; flex-direction: column; gap: 12px; padding: 20px; background: #fff; border: 1px solid var(--cd-line); border-radius: 20px; box-shadow: 0 10px 30px -26px rgba(15, 23, 42, .5); }
.cd-root .cd-panel__title { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 800; }
.cd-panel__title span { display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center; border-radius: 8px; background: #fff1f2; color: var(--cd-brand); font-size: 13px; font-weight: 900; }
.cd-models { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
.cd-root .cd-model { position: relative; height: 96px; padding: 0; border: 2px solid transparent; border-radius: 14px; background-size: cover; background-position: center; cursor: pointer; overflow: hidden; }
.cd-model::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .75), transparent 70%); }
.cd-model span { position: absolute; left: 8px; right: 8px; bottom: 6px; z-index: 1; color: #fff; font-size: 12px; font-weight: 800; line-height: 1.2; text-align: left; }
.cd-root .cd-model.is-active { border-color: var(--cd-brand); box-shadow: 0 0 0 3px rgba(225, 29, 72, .2); }
.cd-covers { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 8px; margin-bottom: 8px; }
.cd-root .cd-cover-option { height: 54px; border: 2px solid transparent; border-radius: 10px; background-size: cover; background-position: center; cursor: pointer; padding: 0; }
.cd-root .cd-cover-option.is-active { border-color: var(--cd-brand); }
.cd-upload { display: flex; align-items: center; gap: 8px; margin-top: 8px; padding: 10px 12px; border: 1px dashed #cbd5e1; border-radius: 12px; font-size: 13px; font-weight: 700; color: #475569; cursor: pointer; }
.cd-upload input { max-width: 100%; font-size: 12px; }
.cd-colors { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
.cd-colors label { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: #334155; }
.cd-root .cd-colors input[type="color"] { width: 44px; height: 38px; padding: 2px; border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; cursor: pointer; }
.cd-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.cd-check { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #334155; cursor: pointer; }
.cd-editor__preview { position: sticky; top: 24px; }
.cd-editor__preview-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-size: 13px; font-weight: 800; color: #334155; }
.cd-editor__preview-head em { font-style: normal; font-size: 11px; color: #047857; background: #ecfdf5; padding: 3px 8px; border-radius: 999px; }
.cd-phone__screen--scroll .cd-invite { padding: 18px 8px 28px; min-height: 100%; }
.cd-phone__screen--scroll .cd-invite__cover { height: 250px; }
.cd-phone__screen--scroll .cd-modal { position: absolute; padding: 10px; }
.cd-phone__screen--scroll .cd-modal__dialog { max-height: calc(100% - 20px); }

/* ---------- Meus convites ---------- */
.cd-my { max-width: 1200px; margin: 0 auto; padding: 8px 0 32px; }
.cd-my__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.cd-root .cd-my__head h2 { font-size: clamp(22px, 3vw, 30px); font-weight: 900; }
.cd-root .cd-my__head p { color: var(--cd-muted); }
.cd-my__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; }
.cd-my-card { background: #fff; border: 1px solid var(--cd-line); border-radius: 22px; overflow: hidden; box-shadow: 0 10px 30px -24px rgba(15, 23, 42, .5); }
.cd-my-card__cover { position: relative; height: 150px; background-size: cover; background-position: center; display: flex; align-items: flex-end; }
.cd-my-card__cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .8), transparent 70%); }
.cd-my-card__cover div { position: relative; z-index: 1; padding: 14px; color: #fff; }
.cd-my-card__cover small { display: block; font-size: 11px; font-weight: 800; text-transform: uppercase; color: #fecdd3; letter-spacing: .06em; }
.cd-my-card__cover strong { display: block; font-size: 18px; font-weight: 900; line-height: 1.2; }
.cd-my-card__body { padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.cd-my-card__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; text-align: center; }
.cd-my-card__stats div { padding: 8px 4px; border-radius: 12px; background: var(--cd-soft); border: 1px solid #f1f5f9; }
.cd-my-card__stats strong { display: block; font-size: 18px; font-weight: 900; }
.cd-my-card__stats span { font-size: 10px; font-weight: 700; color: var(--cd-muted); text-transform: uppercase; }
.cd-my-card__stats .is-green { background: #ecfdf5; } .cd-my-card__stats .is-green strong { color: #047857; }
.cd-my-card__stats .is-rose { background: #fff1f2; } .cd-my-card__stats .is-rose strong { color: #be123c; }
.cd-my-card__stats .is-gray strong { color: #64748b; }
.cd-root .cd-my-card__meta { font-size: 13px; color: #475569; }
.cd-my-card__actions { display: flex; flex-wrap: wrap; gap: 6px; }
.cd-my-card__rsvps { border-top: 1px solid #f1f5f9; padding-top: 10px; }
.cd-my-card__rsvps summary { cursor: pointer; font-weight: 800; font-size: 14px; color: #334155; }
.cd-table-wrap { overflow-x: auto; margin-top: 10px; }
.cd-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.cd-table th, .cd-table td { padding: 8px; border-bottom: 1px solid #f1f5f9; text-align: left; vertical-align: top; }
.cd-table th { font-size: 11px; text-transform: uppercase; color: var(--cd-muted); }
.cd-table a { color: #047857; }

/* ---------- Toast e confete ---------- */
.cd-toast { position: fixed; left: 50%; bottom: 24px; z-index: 99999; transform: translate(-50%, 20px); max-width: calc(100% - 32px); padding: 12px 18px; border-radius: 14px; background: #0f172a; color: #fff; font: 700 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; box-shadow: 0 16px 40px rgba(0, 0, 0, .35); opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.cd-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.cd-confetti { position: fixed; inset: 0; z-index: 99998; pointer-events: none; }

/* ---------- Página inteira do convite ---------- */
body.cd-fullpage { margin: 0 !important; padding: 0 !important; background: #0f172a; }
body.cd-fullpage .cd-fullpage__main { margin: 0; padding: 0; }
body.cd-fullpage .cd-invite { min-height: 100vh; }
body.cd-fullpage.cd-is-embed .cd-invite { padding-top: 16px; }
.cd-root.cd-topbar { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; background: rgba(2, 6, 23, .85); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255, 255, 255, .08); }
.cd-root .cd-topbar__back { color: #e2e8f0; font-size: 13px; font-weight: 700; }
.cd-root .cd-topbar__cta { padding: 8px 14px; border-radius: 10px; background: var(--cd-brand); color: #fff; font-size: 13px; font-weight: 800; }
.cd-embed-inline { margin: 24px 0; }
.cd-embed-inline .cd-invite { border-radius: 28px; }

/* ---------- Responsivo ---------- */
@media (max-width: 1024px) {
	.cd-editor__layout { grid-template-columns: 1fr; }
	.cd-editor__preview { position: static; order: -1; }
	.cd-phone--static { height: 620px; }
}
@media (max-width: 640px) {
	.cd-accountbar { justify-content: center; flex-wrap: wrap; margin-bottom: 14px; }
	.cd-auth { padding: 16px 0 36px; }
	.cd-auth__shell { grid-template-columns: 1fr; gap: 16px; }
	.cd-auth__intro, .cd-auth__card { padding: 22px; border-radius: 22px; }
	.cd-auth__intro { order: 2; }
	.cd-auth__card { order: 1; }
	.cd-auth__product { grid-template-columns: 72px 1fr; }
	.cd-auth__product-cover { height: 66px; }
	.cd-auth__row { align-items: flex-start; flex-direction: column; }
	.cd-editor__account { justify-content: flex-start; flex-wrap: wrap; }
	.cd-hero { padding: 36px 16px 30px; border-radius: 22px; }
	.cd-root .cd-hero__text { font-size: 15px; }
	.cd-root .cd-card__play { opacity: 1; background: transparent; align-items: flex-start; justify-content: flex-end; padding: 12px; }
	.cd-card__play span { font-size: 11px; padding: 6px 10px; }
	.cd-card__badges { top: 12px; }
	.cd-demo__title { max-width: 100%; order: -1; flex-basis: 100%; }
	.cd-phone { border-width: 3px; border-radius: 38px; }
	.cd-my__grid { grid-template-columns: 1fr; }
	.cd-share-grid, .cd-field-row { grid-template-columns: 1fr; }
	.cd-countdown__grid strong { font-size: 20px; }
}

.cd-category-cards{margin:35px 0}.cd-category-cards h3{text-align:center;font-size:28px;margin-bottom:20px}.cd-category-cards__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cd-category-card{border:0;background:#fff;border-radius:18px;overflow:hidden;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,.08);padding:0}.cd-category-card img{width:100%;height:150px;object-fit:cover;display:block}.cd-category-card span{display:block;padding:14px;font-weight:700}.cd-category-card:hover{transform:translateY(-4px)}@media(max-width:900px){.cd-category-cards__grid{grid-template-columns:repeat(2,1fr)}}.cd-category-card{position:relative;transition:.25s}.cd-category-card img{height:180px;object-fit:cover}.cd-category-card span{position:absolute;left:0;right:0;bottom:0;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75));padding:45px 14px 14px;text-align:center;font-size:16px}.cd-category-card:hover img{transform:scale(1.04)}

/* --------------------------------------------------------------------------
 * Checkout financeiro v1.3
 * -------------------------------------------------------------------------- */
.cd-checkout{max-width:1180px;margin:0 auto;padding:20px}.cd-checkout__head{text-align:center;padding:26px 12px 22px}.cd-checkout__head h2{font-size:clamp(28px,4vw,42px);margin:6px 0 18px;color:#111827}.cd-checkout__steps{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.cd-checkout__steps span{padding:8px 12px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:12px;font-weight:800}.cd-checkout__steps .is-active{background:#fff7ed;color:#c2410c;box-shadow:inset 0 0 0 1px #fdba74}.cd-checkout__steps .is-done{background:#ecfdf5;color:#047857}.cd-checkout__layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:24px;align-items:start}.cd-checkout__summary,.cd-checkout__main{background:#fff;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 18px 50px rgba(15,23,42,.07)}.cd-checkout__summary{padding:18px;position:sticky;top:20px}.cd-checkout__main{padding:26px}.cd-checkout-product__cover{height:210px;border-radius:16px;background-size:cover;background-position:center;margin-bottom:18px}.cd-checkout__summary h3{margin:0 0 8px;font-size:22px;color:#111827}.cd-checkout__summary p{color:#64748b}.cd-checkout__price,.cd-order-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;margin:16px 0}.cd-checkout__price strong,.cd-order-total strong{font-size:24px;color:#111827}.cd-checkout__benefits{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px;color:#334155}.cd-checkout__secure{font-size:12px;background:#f8fafc;padding:10px;border-radius:10px}.cd-checkout-form h3,.cd-payment-result h3{font-size:22px;color:#111827;margin:0 0 16px}.cd-payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 22px}.cd-payment-method{position:relative;display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #e5e7eb;border-radius:14px;cursor:pointer;transition:.2s;background:#fff}.cd-payment-method:has(input:checked){border-color:var(--cd-primary,#e11d48);box-shadow:0 0 0 3px color-mix(in srgb,var(--cd-primary,#e11d48) 12%,transparent)}.cd-payment-method input{width:18px;height:18px}.cd-payment-method span{display:flex;flex-direction:column;gap:2px;flex:1}.cd-payment-method b{color:#111827}.cd-payment-method small{color:#64748b}.cd-payment-method em{font-style:normal;font-size:24px}.cd-checkout__terms{font-size:12px;color:#94a3b8;text-align:center}.cd-payment-result{text-align:center;max-width:620px;margin:0 auto;padding:12px}.cd-payment-result__icon{width:74px;height:74px;border-radius:999px;display:grid;place-items:center;background:#ecfdf5;color:#059669;font-size:38px;font-weight:900;margin:0 auto 14px}.cd-status{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.cd-status--pending{background:#fff7ed;color:#c2410c}.cd-status--paid{background:#ecfdf5;color:#047857}.cd-status--cancelled,.cd-status--refunded{background:#fef2f2;color:#b91c1c}.cd-checkout-qr{width:220px;min-height:220px;margin:18px auto;padding:10px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;display:grid;place-items:center}.cd-checkout-qr img{max-width:100%;height:auto}.cd-pix-order-code{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;padding:12px;border-radius:12px;margin:12px 0}.cd-pix-order-code small{display:block;color:#64748b;margin-bottom:6px}.cd-pix-order-code code{display:block;overflow-wrap:anywhere;word-break:break-all;font-size:11px;line-height:1.5}.cd-card-gateway{margin:20px 0;text-align:left}.cd-orders{max-width:1100px;margin:0 auto;padding:24px}.cd-orders__list{display:grid;gap:14px}.cd-order-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;box-shadow:0 8px 30px rgba(15,23,42,.05)}.cd-order-card h3{margin:5px 0;color:#111827}.cd-order-card p,.cd-order-card small{margin:0;color:#64748b}.cd-order-card__actions{min-width:120px;text-align:right}
@media(max-width:760px){.cd-checkout{padding:10px}.cd-checkout__layout{grid-template-columns:1fr}.cd-checkout__summary{position:static}.cd-checkout__main{padding:18px}.cd-payment-methods{grid-template-columns:1fr}.cd-order-card{grid-template-columns:1fr}.cd-order-card__actions{text-align:left}.cd-checkout__steps{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.cd-checkout__steps span{white-space:nowrap}}


/* ---------- Banner principal, rodapé e voltar ao topo (v1.4) ---------- */
.cd-catalog-banner { position: relative; overflow: hidden; border-radius: 28px; background: #0f172a; box-shadow: 0 18px 45px -24px rgba(15, 23, 42, .55); }
.cd-catalog-banner img, .cd-catalog-banner__video { display:block; width:100%; aspect-ratio:23 / 10; object-fit:cover; object-position:center; }
.cd-banner-search { position: relative; z-index: 2; max-width: 760px; margin: -28px auto 8px; padding: 0 18px; }
.cd-banner-search .cd-search { margin: 0; max-width: none; }
.cd-banner-search .cd-search__input { box-shadow: 0 18px 42px -18px rgba(15, 23, 42, .45); }

.cd-catalog-footer { margin-top: 46px; padding: 28px 18px 18px; border-top: 1px solid var(--cd-line); text-align: center; }
.cd-catalog-footer__socials { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.cd-social-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--cd-line); background: #fff; color: #334155; font-weight: 800; font-size: 14px; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.cd-social-link:hover { transform: translateY(-1px); box-shadow: 0 10px 25px -18px rgba(15,23,42,.55); color: #0f172a; }
.cd-social-link--facebook { border-color: #bfdbfe; color: #1877f2; }
.cd-social-link--instagram { border-color: #fbcfe8; color: #c026d3; }
.cd-social-link--disabled { opacity: .5; cursor: default; user-select: none; }
.cd-social-link--disabled:hover { transform: none; box-shadow: none; }
.cd-catalog-footer__brand { margin: 0 !important; text-align: center; font-size: 14px; font-weight: 800; color: #475569; }

.cd-scroll-top { position: fixed; right: max(18px, calc((100vw - 1200px) / 2 - 62px)); bottom: 24px; z-index: 9998; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: #0f172a; color: #fff; font-size: 24px; font-weight: 900; line-height: 1; cursor: pointer; box-shadow: 0 14px 34px rgba(15,23,42,.28); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .2s ease, visibility .2s ease, transform .2s ease, background .2s ease; }
.cd-scroll-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.cd-scroll-top:hover { background: var(--cd-brand); }
.cd-scroll-top:focus-visible { outline: 3px solid rgba(225,29,72,.35); outline-offset: 3px; }
.cd-appbrazil-copyright { display: block !important; width: 100% !important; text-align: center !important; }

@media (max-width: 640px) {
	.cd-catalog-banner { border-radius: 20px; }
	.cd-catalog-banner img, .cd-catalog-banner__video { aspect-ratio:23 / 10; min-height:200px; }
	.cd-banner-search { margin-top: -20px; padding: 0 10px; }
	.cd-banner-search .cd-search__input { height: 52px; }
	.cd-scroll-top { right: 16px; bottom: 18px; width: 46px; height: 46px; }
	.cd-catalog-footer { margin-top: 36px; padding-left: 10px; padding-right: 10px; }
}

/* v1.5.0: moldura de celular, planos e vídeo de capa */
.cd-phone { box-sizing:border-box; width:360px; height:720px; padding:22px 23px 21px; border:0; border-radius:0; background:transparent url('../images/celular.png') center/100% 100% no-repeat; box-shadow:none; }
.cd-phone__notch { display:none !important; }
.cd-phone__screen { border-radius:32px; background:#fff; }
.cd-phone--static { padding:22px 23px 21px; }
.cd-phone.is-desktop { background:none; padding:0; }
.cd-invite__cover-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.cd-invite__overlay { position:absolute; z-index:1; }
.cd-catalog-footer__brand, .cd-appbrazil-copyright { width:100% !important; text-align:center !important; margin-left:auto !important; margin-right:auto !important; }
.cd-plans { margin:42px 0 34px; padding:28px 0; }
.cd-plans__head { text-align:center; margin-bottom:30px; }
.cd-plans__head h2 { margin:0 0 8px; font-size:34px; font-weight:900; color:#06152d; }
.cd-plans__head p { margin:0; color:#6b5b4d; }
.cd-plans__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
.cd-plan { position:relative; display:flex; flex-direction:column; min-height:390px; padding:26px 22px 22px; background:#fffdfa; border:1px solid #eadfce; border-radius:22px; }
.cd-plan--featured { border:2px solid #c58a1a; }
.cd-plan__tag { position:absolute; top:-14px; left:50%; transform:translateX(-50%); padding:7px 18px; border-radius:999px; background:#c58a1a; color:#fff; font-size:12px; font-weight:900; white-space:nowrap; }
.cd-plan h3 { margin:0 0 16px; font-size:21px; }
.cd-plan__price { margin-bottom:12px; color:#111; }
.cd-plan__price small { font-size:16px; color:#6b625b; font-weight:700; }
.cd-plan__price strong { font-size:34px; font-weight:900; }
.cd-plan > p { color:#745f50; min-height:44px; }
.cd-plan ul { list-style:none; padding:0; margin:8px 0 22px; flex:1; }
.cd-plan li { margin:10px 0; color:#111827; }
.cd-plan li::first-letter { color:#00894a; }
.cd-plan__button { display:block; padding:16px; border-radius:999px; background:#121212; color:#fff !important; text-align:center; text-decoration:none !important; font-weight:800; }
@media (max-width:800px){ .cd-plans__grid{grid-template-columns:1fr}.cd-plans{padding-left:4px;padding-right:4px}.cd-plans__head h2{font-size:28px} }
/* v1.5.2 — apresentação principal arredondada */
.cd-catalog-banner { border-radius: 30px !important; overflow: hidden !important; }
.cd-catalog-banner__video { border-radius: inherit !important; }
.cd-catalog-footer__brand { display:block !important; width:100% !important; text-align:center !important; margin:16px auto 0 !important; }

/* Popup de modelos por categoria */
.cd-modal--category{z-index:99995;padding:18px}.cd-category-popup{position:relative;width:min(1180px,96vw);max-height:90vh;overflow:auto;background:#faf8f5;border-radius:26px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.35);animation:cd-pop .22s ease}.cd-category-popup__head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-right:4px}.cd-category-popup__head small{display:block;color:#d97706;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}.cd-category-popup__head h3{margin:0;font-size:30px;line-height:1.1;color:#1f2937}.cd-category-popup__close{flex:0 0 auto;width:42px;height:42px;border:0;border-radius:50%;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.1);font-size:18px;cursor:pointer}.cd-category-popup__intro{margin:8px 0 20px;color:#64748b}.cd-category-popup__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cd-category-popup__grid .cd-card{margin:0}.cd-category-popup__empty{text-align:center;padding:48px 20px;background:#fff;border-radius:18px;color:#64748b;font-weight:700}@media(max-width:900px){.cd-category-popup__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cd-category-popup{padding:18px}.cd-category-popup__head h3{font-size:25px}}@media(max-width:620px){.cd-modal--category{padding:8px}.cd-category-popup{width:100%;max-height:94vh;border-radius:20px;padding:14px}.cd-category-popup__grid{grid-template-columns:1fr;gap:14px}.cd-category-popup__head h3{font-size:22px}.cd-category-popup__intro{font-size:14px}}

/* Cartões do Banner Menu Premium dentro do catálogo. */
.cd-category-cards--banner{background:var(--cd-banner-background);padding:35px;border-radius:28px;margin:35px 0;box-sizing:border-box}
.cd-category-cards--banner .cd-category-cards__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cd-category-cards--banner .cd-category-card{background:#fff;border-radius:18px;box-shadow:0 8px 20px rgba(0,0,0,.15);min-width:0;text-align:center}
.cd-category-cards--banner .cd-category-card img{height:280px;width:100%;object-fit:cover;display:block}
.cd-category-cards--banner .cd-category-card span{position:static;display:block;background:none;color:#111827;padding:14px;font-size:15px;font-weight:600}
.cd-category-cards--banner .cd-category-card:hover{transform:translateY(-6px)}
@media(max-width:900px){.cd-category-cards--banner .cd-category-cards__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cd-category-cards--banner{padding:15px;border-radius:20px}.cd-category-cards--banner .cd-category-cards__grid{gap:12px}.cd-category-cards--banner .cd-category-card{border-radius:12px}.cd-category-cards--banner .cd-category-card img{height:150px}.cd-category-cards--banner .cd-category-card span{font-size:13px;padding:10px 5px}}

/* Banner inicial com texto e vídeo, preservando controles e áudio. */
.cd-catalog-banner.cd-catalog-banner--split{display:grid;grid-template-columns:minmax(220px, .9fr) minmax(0,2.1fr);align-items:center;gap:32px;background:#edf2ff;border:3px solid #d4dbe8;border-radius:19px;padding:40px 28px 40px 7%;box-sizing:border-box;min-height:420px;overflow:hidden}
.cd-catalog-banner--split .cd-catalog-banner__copy{align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:#10182b}
.cd-catalog-banner--split .cd-catalog-banner__copy h2{font-size:clamp(27px,3.4vw,42px);font-weight:800;line-height:1.1;margin:0 0 10px;color:#10182b}
.cd-catalog-banner--split .cd-catalog-banner__copy p{font-size:16px;line-height:1.5;color:#58657b;margin:0 0 50px}
.cd-catalog-banner--split .cd-catalog-banner__cta{background:#111a2d;color:#fff;text-decoration:none;border-radius:99px;padding:9px 22px;font-size:13px;font-weight:700;box-shadow:0 8px 20px #111a2d33}
.cd-catalog-banner--split .cd-catalog-banner__cta:hover,.cd-catalog-banner--split .cd-catalog-banner__cta:focus{background:#293b5d;color:#fff}
.cd-catalog-banner--split .cd-catalog-banner__media{min-width:0;box-shadow:0 16px 25px #14244537;line-height:0;background:#11182e}
.cd-catalog-banner--split .cd-catalog-banner__video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:0;max-height:none}
@media(max-width:700px){.cd-catalog-banner.cd-catalog-banner--split{grid-template-columns:1fr;padding:24px;gap:22px;min-height:0}.cd-catalog-banner--split .cd-catalog-banner__copy p{margin-bottom:22px}.cd-catalog-banner--split .cd-catalog-banner__media{width:100%}}
.cd-catalog-banner.cd-catalog-banner--split{border-radius:19px !important}
.cd-catalog-banner--split .cd-catalog-banner__video{border-radius:0 !important;min-height:0}

/* Quatro eventos por linha no desktop, inclusive com estilos do Banner Menu instalado. */
@media(min-width:901px){.cd-catalog .cd-category-cards--banner .cd-category-cards__grid,.cd-catalog .bmp26-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:24px}.cd-catalog .cd-category-cards--banner .cd-category-card,.cd-catalog .bmp26-card{width:auto;max-width:none;min-width:0}}
@media(min-width:601px) and (max-width:900px){.cd-catalog .cd-category-cards--banner .cd-category-cards__grid,.cd-catalog .bmp26-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media(max-width:600px){.cd-catalog .cd-category-cards--banner .cd-category-cards__grid,.cd-catalog .bmp26-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px}}

/* Grade do catálogo e do shortcode do plugin Banner Menu. */
@media(min-width:901px){.cd-catalog .cd-category-cards__grid,.bmp26-wrapper .bmp26-grid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:24px !important}.bmp26-wrapper .bmp26-card{min-width:0;max-width:none;width:auto}}
@media(max-width:900px){.cd-catalog .cd-category-cards__grid,.bmp26-wrapper .bmp26-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important}}
.cd-catalog-video{overflow:hidden;border-radius:28px;margin:30px 0;background:#101629;box-shadow:0 16px 35px #14244530;line-height:0}
.cd-catalog-video video{display:block;width:100%;height:auto;aspect-ratio:23/10;object-fit:cover;border-radius:28px}
.cd-accountbar--header{display:flex;justify-content:center;align-items:center;gap:12px;padding:8px 20px;margin:0;position:relative;z-index:5;width:100%;box-sizing:border-box}
@media(max-width:600px){.cd-catalog-video,.cd-catalog-video video{border-radius:18px}.cd-catalog-video video{aspect-ratio:16/9}.cd-accountbar--header{flex-wrap:wrap;justify-content:center;padding:8px}}

.cd-accountbar--header{font:13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#64748b}.cd-accountbar--header a{color:#e11d48;font-weight:800;text-decoration:none}.cd-accountbar--header .cd-accountbar__primary{background:#fff1f2;border-radius:10px;padding:8px 12px}

/* wpautop pode inserir BR/P entre os cartões: esses nós não são eventos. */
.cd-catalog .cd-category-cards__grid > br,
.cd-catalog .cd-category-cards__grid > p:empty,
.bmp26-wrapper .bmp26-grid > br,
.bmp26-wrapper .bmp26-grid > p:empty{display:none !important}
.cd-catalog .cd-category-cards__grid > p:has(.cd-category-card),
.bmp26-wrapper .bmp26-grid > p:has(.bmp26-card){display:contents !important}
.cd-catalog .cd-category-cards__grid > .cd-category-card,
.bmp26-wrapper .bmp26-grid > .bmp26-card{grid-column:auto !important;grid-row:auto !important;width:100% !important;max-width:none !important;min-width:0 !important;box-sizing:border-box}

@media (max-width: 480px) {
  .cd-invite__footer { font-size: 10.5px; line-height: 1.15; padding-inline: 8px; letter-spacing: -.01em; }
  .cd-info__icon { width: 62px; height: 62px; border-radius: 18px; }
  .cd-info__icon svg { width: 30px; height: 30px; }
}


/* 2.3.13 — banner Momentos responsivo para desktop, tablet e celular. */
.cd-root .cd-catalog-banner--momentos{
  width:100%;
  max-width:1180px;
  margin:clamp(14px,2vw,28px) auto clamp(28px,4vw,46px);
  grid-template-columns:minmax(250px,.82fr) minmax(0,1.78fr);
  gap:clamp(24px,3vw,42px);
  padding:clamp(28px,4vw,48px) clamp(22px,3vw,36px) clamp(28px,4vw,48px) clamp(28px,6vw,72px);
  min-height:clamp(350px,33vw,450px);
  background:linear-gradient(135deg,#f1f5ff 0%,#eef3ff 58%,#f7efff 100%);
  border:2px solid #d8deea;
  border-radius:28px !important;
  box-shadow:0 18px 45px -32px rgba(27,39,70,.46),0 0 0 8px rgba(232,211,255,.38);
}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy{min-width:0;}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy h2{
  font-size:clamp(30px,3.3vw,46px);
  letter-spacing:-.035em;
  margin:0 0 12px;
}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy p{
  max-width:340px;
  margin:0 0 clamp(26px,5vw,64px);
  font-size:clamp(14px,1.25vw,17px);
  line-height:1.6;
}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 22px;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__cta:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(17,26,45,.24);
}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__media{
  width:100%;
  overflow:hidden;
  border-radius:18px;
  background:#14192b;
  box-shadow:0 18px 34px -18px rgba(20,36,69,.48);
}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__video{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center;
  border-radius:inherit !important;
  background:#14192b;
}
@media (min-width:701px) and (max-width:980px){
  .cd-root .cd-catalog-banner--momentos{
    grid-template-columns:minmax(210px,.9fr) minmax(0,1.45fr);
    padding:32px;
    min-height:320px;
  }
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy p{margin-bottom:30px;}
}
@media (max-width:700px){
  .cd-root .cd-catalog-banner--momentos{
    display:flex;
    flex-direction:column;
    gap:18px;
    width:calc(100% - 20px);
    margin:12px auto 28px;
    padding:22px 14px 14px;
    min-height:0;
    border-radius:22px !important;
    box-shadow:0 12px 32px -26px rgba(27,39,70,.44),0 0 0 5px rgba(232,211,255,.34);
  }
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy{
    width:100%;
    align-items:center;
    text-align:center;
    padding:4px 8px 0;
  }
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy h2{
    font-size:clamp(28px,8.5vw,38px);
    margin-bottom:8px;
  }
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy p{
    max-width:34rem;
    margin:0 auto 16px;
    font-size:14px;
    line-height:1.5;
  }
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__cta{
    min-height:38px;
    padding:9px 20px;
    font-size:13px;
  }
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__media{
    width:100%;
    border-radius:14px;
    box-shadow:0 10px 24px -16px rgba(20,36,69,.48);
  }
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__video{
    width:100%;
    aspect-ratio:16/9;
    min-height:0;
    object-fit:cover;
    object-position:center;
  }
}
@media (max-width:420px){
  .cd-root .cd-catalog-banner--momentos{width:calc(100% - 12px);padding:18px 10px 10px;gap:14px;}
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy{padding-inline:6px;}
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy p{font-size:13.5px;}
}


/* 2.3.14 — conteúdo institucional do banner, sem CTA. */
.cd-root .cd-catalog-banner--momentos{
  grid-template-columns:minmax(340px,1.08fr) minmax(0,1.42fr);
  align-items:center;
  min-height:0;
}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy{justify-content:center;}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy h2{
  font-size:clamp(25px,2.45vw,36px);
  line-height:1.13;
  margin-bottom:16px;
}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy p.cd-catalog-banner__intro{
  max-width:44rem;
  margin:0 0 15px;
  font-size:clamp(13.5px,1vw,15.5px);
  line-height:1.55;
}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy p.cd-catalog-banner__lead{
  max-width:44rem;
  margin:0 0 8px;
  font-size:clamp(13.5px,1vw,15.5px);
  line-height:1.5;
  color:#27324a;
}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__features{
  margin:0;
  padding-left:1.15rem;
  max-width:44rem;
  color:#58657b;
  font-size:clamp(12.5px,.94vw,14.5px);
  line-height:1.5;
}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__features li{margin:0 0 7px;}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__features li:last-child{margin-bottom:0;}
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__features strong,
.cd-root .cd-catalog-banner--momentos .cd-catalog-banner__lead strong{color:#172139;}
@media (min-width:701px) and (max-width:980px){
  .cd-root .cd-catalog-banner--momentos{grid-template-columns:1fr 1.15fr;}
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy h2{font-size:clamp(24px,3.2vw,31px);}
}
@media (max-width:700px){
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy{align-items:stretch;text-align:left;}
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy h2{
    font-size:clamp(26px,7.6vw,34px);
    text-align:center;
    margin-bottom:14px;
  }
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy p.cd-catalog-banner__intro,
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__copy p.cd-catalog-banner__lead{
    max-width:none;
    margin-left:0;
    margin-right:0;
    font-size:14px;
    text-align:left;
  }
  .cd-root .cd-catalog-banner--momentos .cd-catalog-banner__features{
    max-width:none;
    font-size:13.5px;
    line-height:1.48;
    text-align:left;
    padding-left:1.1rem;
  }
}

/* 2.3.16 — banner de vídeo no topo do catálogo e título centralizado. */
.cd-root .cd-section-head--catalog-top{
  margin-top:18px;
  margin-bottom:16px;
  text-align:center;
}
.cd-root .cd-section-head--catalog-top .cd-aurora-kicker,
.cd-root .cd-section-head--catalog-top h3,
.cd-root .cd-section-head--catalog-top .cd-section-head__count{
  text-align:center;
}
.cd-root .cd-catalog-banner--catalog-top{
  margin-top:0;
  margin-bottom:34px;
}
.cd-root .cd-catalog-banner--catalog-top .cd-catalog-banner__copy h2{
  text-align:center;
  width:100%;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:700px){
  .cd-root .cd-section-head--catalog-top{margin-top:10px;margin-bottom:12px;}
  .cd-root .cd-catalog-banner--catalog-top{margin-bottom:24px;}
  .cd-root .cd-catalog-banner--catalog-top .cd-catalog-banner__copy h2{text-align:center;}
}


/* 2.3.18 — banner de vídeo ancorado diretamente abaixo de “Momentos Convites Digitais”. */
.cd-banner-header-portal{
  width:100%;
  max-width:none;
  margin:14px 0 26px;
  padding:0;
  box-sizing:border-box;
}
.cd-banner-header-portal .cd-catalog-banner--momentos{
  width:min(1180px, calc(100% - 24px));
  margin:0 auto;
}
@media (max-width:700px){
  .cd-banner-header-portal{margin:10px 0 18px;}
  .cd-banner-header-portal .cd-catalog-banner--momentos{width:calc(100% - 12px);}
}


/* 2.3.20 — categorias transferidas para logo abaixo do banner de vídeos no header. */
.cd-banner-header-portal > .cd-category-cards{
  width:min(1800px, calc(100% - 10px));
  margin:18px auto 28px;
  box-sizing:border-box;
}
.cd-banner-header-portal > .cd-category-cards--banner{
  margin-top:18px;
}
@media (min-width:901px){
  .cd-banner-header-portal > .cd-category-cards .cd-category-cards__grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:24px !important;
  }
}
@media (min-width:601px) and (max-width:900px){
  .cd-banner-header-portal > .cd-category-cards .cd-category-cards__grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
  }
}
@media (max-width:600px){
  .cd-banner-header-portal > .cd-category-cards{
    width:calc(100% - 12px);
    margin:12px auto 20px;
  }
  .cd-banner-header-portal > .cd-category-cards .cd-category-cards__grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
}

/* 2.3.22 — remove logo do cabeçalho e centraliza a área de acesso. */
.cd-accountbar__actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;width:100%;text-align:center}
.cd-accountbar--header .cd-accountbar__actions{width:100%;justify-content:center}
@media(max-width:600px){.cd-accountbar__actions{gap:8px}.cd-accountbar--header{padding:10px 12px}}


/* 2.3.31 — landing page de prévias interativas + CTA após Planos e Preços. */
.cd-plans__preview-cta{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin:14px auto 0;padding:12px 24px;
  border-radius:999px;background:linear-gradient(110deg,#7c3aed,#ec4899,#fb923c);color:#fff!important;text-decoration:none!important;
  font-weight:800;box-shadow:0 14px 30px -20px rgba(124,58,237,.55);transition:transform .2s ease,box-shadow .2s ease;
}
.cd-plans__preview-cta:hover{transform:translateY(-1px);box-shadow:0 18px 34px -20px rgba(124,58,237,.68)}
.cd-previews{max-width:1180px;margin:0 auto;padding:18px 14px 48px}
.cd-previews__hero{margin:10px auto 26px;padding:clamp(26px,5vw,54px);text-align:center;border:1px solid #e7dff4;border-radius:30px;background:linear-gradient(135deg,#f7f3ff 0%,#fff7f6 52%,#f2f6ff 100%);box-shadow:0 22px 55px -42px rgba(43,34,80,.5)}
.cd-previews__hero h1{margin:8px auto 12px;max-width:900px;font-size:clamp(32px,5vw,58px);line-height:1.03;letter-spacing:-.04em;color:#111c35}
.cd-previews__hero p{max-width:760px;margin:0 auto;color:#5a6679;font-size:clamp(15px,1.5vw,18px);line-height:1.65}
.cd-previews__hero-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.cd-previews__count{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:999px;background:#fff;color:#5d3bb6;font-weight:800;border:1px solid #e5daf8}
.cd-previews__tools{margin:0 auto 24px;padding:18px;border:1px solid #ebe5f0;border-radius:22px;background:#fff;box-shadow:0 16px 40px -34px rgba(24,35,58,.45)}
.cd-previews__search-wrap{position:relative;max-width:680px;margin:0 auto 14px}
.cd-previews__search{width:100%;min-height:48px;padding:11px 46px 11px 16px;border:1px solid #dfe3eb;border-radius:15px;background:#fafbff;color:#172139;font-size:16px;outline:none}
.cd-previews__search:focus{border-color:#9f7aea;box-shadow:0 0 0 3px rgba(124,58,237,.12)}
.cd-previews__clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:#eeeaf7;color:#554474;cursor:pointer}
.cd-previews__filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.cd-previews__filter{min-height:38px;padding:8px 13px;border:1px solid #e2dce9;border-radius:999px;background:#fff;color:#4e596b;font-weight:750;cursor:pointer}
.cd-previews__filter small{opacity:.7}
.cd-previews__filter.is-active{background:#171d31;color:#fff;border-color:#171d31}
.cd-previews__grid{margin-top:0}
.cd-preview-card__actions{display:grid!important;grid-template-columns:1fr;gap:9px!important}
.cd-preview-card__actions .cd-btn{width:100%;justify-content:center}
.cd-preview-card__buy{min-height:42px}
.cd-previews__footer-cta{margin:34px auto 0;padding:32px 20px;text-align:center;border-radius:26px;background:linear-gradient(135deg,#f5f1ff,#fff6f2);border:1px solid #eadff2}
.cd-previews__footer-cta h2{margin:0 0 8px;font-size:clamp(26px,4vw,38px);color:#172139}
.cd-previews__footer-cta p{margin:0 auto 18px;max-width:680px;color:#606b7c}
@media(max-width:700px){
  .cd-plans__preview-cta{width:100%;max-width:330px;padding:11px 16px;font-size:14px}
  .cd-previews{padding:10px 8px 34px}
  .cd-previews__hero{padding:26px 16px;border-radius:22px;margin-bottom:18px}
  .cd-previews__hero h1{font-size:clamp(30px,10vw,42px)}
  .cd-previews__tools{padding:14px 10px;border-radius:18px}
  .cd-previews__filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
  .cd-previews__filter{white-space:nowrap;flex:0 0 auto}
  .cd-previews__footer-cta{padding:26px 14px;border-radius:20px}
}


/* 2.3.32 — CTA de modelos acima de Planos e Preços; cards de modelos removidos da home. */
.cd-models-cta{display:flex;justify-content:center;align-items:center;width:100%;margin:clamp(24px,4vw,42px) auto clamp(18px,3vw,30px);padding:0 14px;text-align:center}
.cd-models-cta .cd-plans__preview-cta{margin:0;min-width:min(100%,320px);font-size:clamp(14px,1.35vw,17px);padding:13px 26px}
@media(max-width:700px){.cd-models-cta{margin:22px auto 18px;padding:0 10px}.cd-models-cta .cd-plans__preview-cta{width:100%;max-width:340px;min-width:0}}
