/* DiviFlash Checkout UI — additions shared by every page (on top of the generated design CSS). */

/* Standalone pages: the page itself is the design canvas. */
html body.dfc-body.dfc-page-checkout,
html body.dfc-body.dfc-page-receipt,
html body.dfc-body.dfc-page-failed { background: #f4f3f8; margin: 0; padding: 0; }
body.dfc-page-checkout #dfc-root, body.dfc-page-receipt #dfc-root, body.dfc-page-failed #dfc-root { min-height: 100vh; display: flex; flex-direction: column; }
#dfc-root > .wrap { flex: 1 0 auto; width: 100%; }
.dfc-page-checkout #dfc-root > .wrap { max-width: 1280px; }
.dfc-page-receipt #dfc-root > .wrap, .dfc-page-failed #dfc-root > .wrap { max-width: 1040px; }

/* The theme's body text is weight 500 (Gilroy/DM Sans); the design's base text is 400. */
#dfc-root { font-weight: 400; font-style: normal; letter-spacing: normal; text-transform: none; font-size: 16px; }

/* Theme resets that would otherwise leak in (Divi headings, paragraphs, lists, buttons). */
#dfc-root h1, #dfc-root h2, #dfc-root h3, #dfc-root h4, #dfc-root h5, #dfc-root h6 {
	font-family: inherit; color: inherit; line-height: inherit; padding: 0; text-transform: none; letter-spacing: inherit;
}
#dfc-root h1, #dfc-root h2, #dfc-root h3, #dfc-root h4 { font-weight: 700; }
#dfc-root p { padding: 0; line-height: inherit; }
#dfc-root ul, #dfc-root ol { padding: 0; list-style: none; line-height: inherit; }
#dfc-root fieldset { border: 0; min-width: 0; margin: 0; padding: 0; }
#dfc-root legend { padding: 0; }
#dfc-root img { max-width: 100%; height: auto; }
#dfc-root button { font-family: inherit; line-height: inherit; text-transform: none; letter-spacing: inherit; }
#dfc-root a:hover { text-decoration: none; }
#dfc-root table { border: 0; margin: 0; }
#dfc-root b, #dfc-root strong { font-weight: 700; }
#dfc-root code { background: none; }
#dfc-root input, #dfc-root select, #dfc-root textarea { font-family: inherit; box-shadow: none; }

/* Entry animations only once. */
#dfc-root.dfc-ready .card,
#dfc-root.dfc-ready .sum-card { animation: none; opacity: 1; transform: none; }

/* Sticky header below the WP admin bar. */
.admin-bar #dfc-root header.site { top: 32px; }
@media (max-width: 782px) { .admin-bar #dfc-root header.site { top: 0; } }

/* EDD notices, restyled. */
#dfc-root .edd_errors,
#dfc-root .edd-alert {
	border-radius: 12px; padding: 12px 16px; font-size: 14.5px; font-weight: 500; margin: 0 0 16px;
	border: 1px solid #f6cdc9; background: #fdeceb; color: #b42318; line-height: 1.5;
}
#dfc-root .edd_errors p, #dfc-root .edd-alert p { margin: 0; }
#dfc-root .edd_errors p + p, #dfc-root .edd-alert p + p { margin-top: 6px; }
#dfc-root .edd-alert-success, #dfc-root .edd_success {
	border: 1px solid #c9edd8; background: #e7f7ee; color: #0e7a3c; border-radius: 12px; padding: 12px 16px; margin: 0 0 16px; font-size: 14.5px;
}
#dfc-root .edd-alert-info, #dfc-root .edd-alert-warn {
	border-color: #e7e0ff; background: linear-gradient(135deg,#f3efff 0%,#efe9ff 100%); color: #3f3d4e;
}
#dfc-root .edd-alert a, #dfc-root .edd_errors a { color: #661FF3; font-weight: 600; }
#dfc-root .edd-loading-ajax { display: none !important; }

/* Generic EDD form fields (login prompts, gateway selectors, add-on fields). */
#dfc-root .dfc-extra-card label:not(.check), #dfc-root #edd_login_form label, #dfc-root .edd-label:not(.lbl) { display: block; font-size: 14px; font-weight: 600; color: #141221; margin-bottom: 6px; }
#dfc-root .edd-description { display: block; font-size: 13.5px; color: #6c6a7a; margin: -2px 0 8px; }
#dfc-root input.edd-input:not(.inp), #dfc-root select.edd-select:not(.inp) {
	width: 100%; height: 46px; border: 1.5px solid #e9e6f2; border-radius: 12px; padding: 0 14px; font-size: 15px;
	color: #141221; background: #fff; transition: border-color .16s, box-shadow .16s;
}
#dfc-root input.edd-input:not(.inp):focus, #dfc-root select.edd-select:not(.inp):focus { outline: none; border-color: #661FF3; box-shadow: 0 0 0 4px rgba(102,31,243,.12); }
#dfc-root input[type=submit].edd-submit, #dfc-root .edd-submit.button {
	display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 22px; border: none; border-radius: 12px;
	background: linear-gradient(135deg,#7936FF 0%,#661FF3 100%); color: #fff; font-weight: 600; font-size: 15px; cursor: pointer;
	box-shadow: 0 12px 26px -8px rgba(102,31,243,.5);
}
#dfc-root .dfc-extra-card p { margin-bottom: 14px; }

/* Toast shares one element id across pages. */
#dfc-root .toast svg { width: 18px; height: 18px; color: #63e6a0; flex: none; }

/* DiviFlash popups: their stylesheet is isolated away, so never let the markup render inline. */
#df-popup-extension { display: none !important; }
