/*
 * Block-markup fixes on top of theme.css (the ported conversionbridge3 stylesheet).
 * theme.css was written for hand-coded templates; these rules cover the few
 * places where block markup differs (extra wrappers, core block classes).
 */

/* Block spacing has no site-wide default (theme.json styles.spacing.blockGap
   is null): the ported pages space themselves with CSS margins, and newer
   sections set "Block spacing" on the block. WordPress still prints the
   variable, empty; "initial" unsets it so core's fallbacks (e.g. button
   widths) work. */
:root { --wp--style--block-gap: initial; }

/* "New line (desktop)" text format: replaces <span class="break"></span>.
   The wrapped words start on a new line at 768px and up, and flow inline below.
   A line-break character, not an empty block: in the block editor an empty
   block before the words added a blank line. */
@media (min-width: 768px) {
	.nl::before { content: "\A"; white-space: pre; }
}

/* Brightspot Highlight Rotator: the reviewer's name on its own line under the
   quote. Text size and color are the block's own settings (Style panel). */
.brightspot-highlight-rotator-name { display: block; margin-left: 0; font-size: 1rem; color: var(--medium); }
/* In a Group set to center, each review is centered on its own. The slides share
   one grid cell as wide as the longest review, so a shorter one would otherwise
   sit at that cell's left edge. */
.is-content-justification-center .brightspot-highlight-rotator-slide { margin-inline: auto; }

/* ------------------------------------------------------------------
 * HEADER (#site-header). Values copied from the old #header rules.
 * A new id is used so the old hand-coded #header nav rules (including
 * the old mobile slide-in menu) don't fight the Navigation block.
 * ------------------------------------------------------------------ */
#site-header { position: relative; z-index: 1000; } /* dropdowns sit above the page sections */
#site-header .container { display: flex; gap: 60px; align-items: center; justify-content: center; padding-top: 40px; padding-bottom: 40px; }
#header--logo { flex-shrink: 0; margin: 0; }
#header--logo a { display: block; }
#header--logo img { max-height: 70px; width: auto; vertical-align: baseline; }

.cb-main-nav { flex-grow: 1; justify-content: center; }
.cb-main-nav .wp-block-navigation__container { gap: 30px; justify-content: center; }
.cb-main-nav .wp-block-navigation__container > .wp-block-navigation-item { display: block; font-family: "input-sans", monospace; padding: 10px 0; position: relative; line-height: 1.48; }
.cb-main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { text-decoration: none; color: var(--strong); font-family: "input-sans", monospace; font-size: clamp(14px, 2vw, 18px); text-transform: uppercase; letter-spacing: normal; }
.cb-main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { display: inline; line-height: inherit; }
.cb-main-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content { color: var(--accent); }
/* The old menu had no dropdown arrows. */
.cb-main-nav .wp-block-ollie-mega-menu__submenu-toggle { display: none; }

/* Dropdown panel */
.cb-main-nav .wp-block-ollie-mega-menu__menu-container { margin-left: -25px; width: max-content !important; }
/* Menu Designer sets overflow:auto (for tall menus), which clips the dropdown shadow. Ours are short. */
.cb-main-nav .wp-block-ollie-mega-menu__toggle[aria-expanded=true] ~ .wp-block-ollie-mega-menu__menu-container { overflow: visible !important; }
.cb-main-nav .wp-block-ollie-mega-menu__menu-container .menu-container__close-button { display: none; }
.cb-submenu { background: var(--white); border-radius: var(--radius-xs); box-shadow: 0 0 20px 0 var(--black-a10); }
.cb-menu-item { position: relative; display: flex; gap: 20px; align-items: center; white-space: nowrap; line-height: 1; }
.cb-submenu .cb-menu-item { padding: 18px 25px; border-bottom: 1px solid var(--lightest); }
.cb-submenu .cb-menu-item:last-child { border-bottom: none; }
.cb-menu-item .icon { flex-shrink: 0; margin: 0; background: #F0F1F5; border-radius: var(--radius-xs); width: 38px; height: 38px; padding: 10px; line-height: 1; }
.cb-menu-item .icon img { width: 100%; height: 100%; object-fit: contain; vertical-align: top; }
.cb-menu-item .title { line-height: 1; }
.cb-menu-item p { margin: 0; font-family: "canada-type-gibson", sans-serif; line-height: 1; }
.cb-menu-item__label { font-size: 20px; }
.cb-menu-item__label a { color: var(--strong); text-decoration: none; text-transform: none; }
.cb-menu-item__label a::after { content: ""; position: absolute; inset: 0; } /* whole row is the link */
.cb-menu-item__desc { color: var(--medium); font-size: 15px; font-weight: 400; margin-top: 5px !important; }
.cb-menu-item:hover .cb-menu-item__label a { color: var(--accent); }
.cb-menu-item:hover .icon { background: #E2E4EB; }
.cb-submenu-all { margin: 0; }
.cb-submenu-all a.more { padding: 18px 25px; display: flex; font-size: 15px; font-weight: 400; color: var(--strong); }
.cb-submenu-all a.more:hover { color: var(--accent); }

/* Features dropdown: two columns, "See all features" fills the last cell. */
.cb-submenu--two-col { display: grid; grid-template-columns: auto auto; } /* each column as wide as its own items, like the old menu */
.cb-submenu--two-col > * { border-bottom: 1px solid var(--lightest); border-right: 1px solid var(--lightest); }
.cb-submenu--two-col > *:nth-child(2n) { border-right: none; }
.cb-submenu.cb-submenu--two-col > *:nth-last-child(-n+2) { border-bottom: none; }
.cb-submenu.cb-submenu--two-col > .cb-submenu-all { border-right: none; }
@media (max-width: 1024px) {
	.cb-submenu--two-col { grid-template-columns: 1fr; }
	.cb-submenu--two-col > * { border-right: none; }
}

/* Mobile menu (Ollie Menu Designer overlay), styled like the old full-screen menu. */
.cb-mobile-menu { padding: 40px 10%; background: url(../../images/city.svg) bottom center / auto 20% no-repeat var(--white); min-height: 100%; }
.cb-mobile-top { margin: 0 0 15px 0; }
.cb-mobile-top a { font-family: "input-sans", monospace; text-decoration: none; color: var(--strong); font-size: clamp(22px, 3vw, 28px); text-transform: uppercase; }
.cb-mobile-top:has(+ .cb-mobile-sub) { margin-bottom: 0; }
.cb-mobile-sub { padding: 0 0 15px 0; margin-bottom: 15px; }
.cb-mobile-sub .cb-menu-item { padding: 5px 0; gap: 10px; }
.cb-mobile-sub .cb-menu-item .icon { padding: 0; background: none; width: 24px; height: 24px; }
.cb-mobile-sub .cb-menu-item__label a { font-weight: 400; color: var(--medium); }
.cb-mobile-sub .cb-menu-item__desc { display: none; }

/* Hamburger + close button: drawn like the old one (three 30px accent lines,
   the X in accent-alt), sitting at the far right of the header. */
.cb-main-nav .wp-block-navigation__responsive-container-open,
.cb-main-nav .wp-block-navigation__responsive-container-close { width: 42px; height: 32px; padding: 6px; position: relative; color: var(--accent); }
.cb-main-nav .wp-block-navigation__responsive-container-open svg { display: none; }
.cb-main-nav .wp-block-navigation__responsive-container-open::before { content: ""; position: absolute; left: 6px; top: 50%; width: 30px; height: 3px; margin-top: -1.5px; background: currentColor; box-shadow: 0 -10px 0 currentColor, 0 10px 0 currentColor; }
.cb-main-nav .wp-block-navigation__responsive-container-close { position: fixed; top: 36px; right: 19px; left: auto; color: var(--accent-alt); z-index: 2; }
.cb-main-nav .wp-block-navigation__responsive-container-close svg { width: 34px; height: 34px; fill: currentColor; }
.cb-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0; }
.cb-main-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 0; }

/* Header buttons: account link, EDD mini cart, Buy Now. theme.css styles
   #header--buttons a; these rules cover the block markup. */
#header--buttons { margin-left: auto; display: flex; gap: 10px; align-items: center; }
#header--buttons p { margin: 0; line-height: 1.48; }
#header--buttons .account a::before { content: ""; width: 20px; height: 20px; background-color: var(--accent); -webkit-mask: url(../../images/ui/account.svg) center / contain no-repeat; mask: url(../../images/ui/account.svg) center / contain no-repeat; }
#header--buttons .account a:hover::before { background-color: var(--accent-alt); }
#header--buttons .account a { color: var(--accent); }
#header--buttons .cart { margin: 0; }
#header--buttons .cart:not(:has(a, span)) { display: none; } /* empty cart: no gap */
#header--buttons .cart svg { display: none; }
#header--buttons .cart a::before { content: ""; width: 22px; height: 19px; background-color: var(--accent); -webkit-mask: url(../../images/ui/cart.svg) center / contain no-repeat; mask: url(../../images/ui/cart.svg) center / contain no-repeat; }
#header--buttons .cart a:hover::before { background-color: var(--accent-alt); }
#header--buttons .cart .edd-blocks-cart__mini-quantity { position: absolute; width: 14px; height: 14px; top: -5px; right: -5px; background: var(--strong); color: var(--white); font-size: 8px; font-weight: 600; border-radius: var(--radius-full); text-align: center; line-height: 14px; }
#header--buttons .wp-block-buttons { margin-left: 10px; }
#header--buttons .wp-block-button a { display: inline-flex; gap: 10px; font-size: 16px; margin-left: 0; position: static; }

@media screen and (max-width: 1260px) {
	#site-header .container { gap: 10px; }
	#header--logo { width: auto; }
	.cb-main-nav { order: 3; flex-grow: 0; margin-left: 10px; }
}
@media screen and (max-width: 650px) {
	#site-header .container { padding-top: 20px; padding-bottom: 20px; gap: 10px; }
	#header--logo img { height: 55px; }
	#header--buttons .wp-block-button a { font-size: 13px; padding: 5px 8px; }
	#header--buttons .account a { font-size: 0; gap: 0; }
}

/* ------------------------------------------------------------------
 * FOOTER: same ids as before (#footer, #signup, #footer-nav, #copyright);
 * these cover the spots where block markup differs.
 * ------------------------------------------------------------------ */
#signup--content { margin: 0; }
#footer-nav ul.wp-block-list { margin: 0; padding: 0; }
#footer-nav ul ul.wp-block-list { margin-top: 15px; }
#footer-nav li li { font-family: var(--font-body); } /* the links, under the mono column headings */
#footer-nav li.subhead { margin-top: 30px; margin-bottom: 15px; }
#footer-nav li.social a { display: inline-block; }
#footer-nav li.social a + a { margin-left: 10px; }
#footer-nav li.social img { height: 50px; width: auto; }
#copyright { margin: 75px 0 0 0; }

/* Core gives Group blocks border-box sizing. The old layout divs (.container etc.)
   used the browser default, so padding adds to the width like before. */
.wp-block-group { box-sizing: content-box; }
/* A Group with a Minimum height (like the full-height compare cards) keeps
   core's border-box, so its padding stays inside that height. */
.wp-block-group[style*="min-height"] { box-sizing: border-box; }

/* ------------------------------------------------------------------
 * CORE BUTTONS. theme.css already styles .wp-block-button a like .button,
 * with alt / alt2 / big / small as extra classes on the Button block.
 * The block styles "Alt" and "Alt 2" (registered in functions.php) do the same.
 * Below: core versions of the page-specific .button rules.
 * ------------------------------------------------------------------ */
.wp-block-button.is-style-alt a { background-color: var(--light); border-color: var(--light); color: var(--strong); }
.wp-block-button.is-style-alt a:hover { background-color: var(--strong); border-color: var(--strong); color: var(--white); }
.wp-block-button.is-style-alt2 a { background-color: var(--white); border: 3px solid var(--accent-alt); color: var(--accent); }
.wp-block-button.is-style-alt2 a:hover { background-color: var(--accent-alt); border-color: var(--accent-alt); color: var(--white); }

/* A row of buttons: centered, spaced like the old "button &nbsp; button". */
.wp-block-buttons { gap: 10px; }
.wp-block-button__link { word-break: normal; } /* core breaks long words; .button never did */

#pricing--content .wp-block-button a { font-size: 18px; padding: 16px 40px; }
.ct-why--text .wp-block-buttons { margin-top: var(--space-4); }
.cta-banner .wp-block-buttons { flex-shrink: 0; }
.cta-banner .wp-block-button__link { width: auto; }
.cta-banner .wp-block-buttons > .wp-block-button { min-width: min-content; }
.cta-banner .wp-block-button.is-style-alt a { background-color: var(--white); border-color: var(--white); color: var(--accent); }
.cta-banner .wp-block-button.is-style-alt a:hover { background-color: var(--accent-alt); border-color: var(--accent-alt); color: var(--strong); }

/* ------------------------------------------------------------------
 * BLOCK STYLES (registered in functions.php) that recreate the old
 * hand-coded helpers with core blocks. Icons are CSS masks, so their colour
 * comes from background-color and can be changed per section.
 * ------------------------------------------------------------------ */

/* Paragraph "Link with arrow": was <a class="link-arrow">Text <svg class="draw-arrow"></a> */
.is-style-link-arrow a { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--accent); font-family: var(--font-mono); font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; text-decoration: none; white-space: nowrap; transition: gap 0.3s ease; line-height: 1.48; }
.is-style-link-arrow a:hover { gap: var(--space-3); color: var(--accent); }
.is-style-link-arrow a::after { content: ""; width: 4rem; aspect-ratio: 66.19 / 15.1; flex-shrink: 0; background: url(../../images/ui/draw-arrow.svg) center / contain no-repeat; }

/* List "Check" / "Circle check" / "Star": was cb_icon_check() etc. inside each <li>. */
ul.is-style-check, ul.is-style-circle-check, ul.is-style-star { list-style: none; padding-left: 0; }
.is-style-check > li::before,
.is-style-circle-check > li::before,
.is-style-star > li::before { content: ""; display: inline-block; flex-shrink: 0; width: 1rem; height: 1rem; background-color: var(--accent-alt); -webkit-mask: var(--cb-icon) center / contain no-repeat; mask: var(--cb-icon) center / contain no-repeat; }
.is-style-check { --cb-icon: url(../../images/ui/check.svg); }
.is-style-circle-check { --cb-icon: url(../../images/ui/circle-check.svg); }
.is-style-star { --cb-icon: url(../../images/ui/star.svg); }
.is-style-star > li::before { width: 14px; height: 14px; background-color: var(--warning); }

/* ------------------------------------------------------------------
 * FAQ: core Details blocks with the class "faq-item" (was <div class="faq-item">
 * with a <button> and .faq-answer). Same look, and it slides open like before.
 * ------------------------------------------------------------------ */
:root { interpolate-size: allow-keywords; }
:is(details.faq-item, .wp-block-details.is-style-faq) > summary { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 0; cursor: pointer; list-style: none; font-family: var(--font-mono); font-weight: 700; color: var(--strong); font-size: 1rem; line-height: 1.48; letter-spacing: -0.07em; }
:is(details.faq-item, .wp-block-details.is-style-faq) > summary::-webkit-details-marker { display: none; }
:is(details.faq-item, .wp-block-details.is-style-faq) > summary::after { content: ""; width: 1.25rem; height: 1.25rem; flex-shrink: 0; margin-left: var(--space-4); background-color: var(--medium); -webkit-mask: url(../../images/ui/chevron-down.svg) center / contain no-repeat; mask: url(../../images/ui/chevron-down.svg) center / contain no-repeat; transition: transform 0.3s ease; }
:is(details.faq-item, .wp-block-details.is-style-faq)[open] > summary::after { transform: rotate(180deg); }
:is(details.faq-item, .wp-block-details.is-style-faq)::details-content { block-size: 0; overflow: hidden; transition: block-size 0.3s ease, content-visibility 0.3s allow-discrete; }
:is(details.faq-item, .wp-block-details.is-style-faq)[open]::details-content { block-size: auto; }
:is(details.faq-item, .wp-block-details.is-style-faq)[open] { padding-bottom: var(--space-5); }
:is(details.faq-item, .wp-block-details.is-style-faq) > p { font-size: 18px; }
:is(details.faq-item, .wp-block-details.is-style-faq) > p + p { margin-top: var(--space-3); }
:is(details.faq-item, .wp-block-details.is-style-faq) a { color: var(--accent); }
:is(details.faq-item, .wp-block-details.is-style-faq) a:hover { text-decoration: underline; }

/* ------------------------------------------------------------------
 * SHARED SECTIONS: spots where core block markup differs from the old
 * hand-coded markup (an image wrapped in <figure>, a list instead of spans).
 * ------------------------------------------------------------------ */

/* Images used as decoration/icons: core wraps them in <figure>, which theme.css gives 30px auto margins. */
.hero > .wp-block-image,
.features--preview .wp-block-image,
.features--mockup-float .wp-block-image,
.signature > .wp-block-image,
#transition-arrow .wp-block-image { margin: 0; }

/* Hero video: a core Video block; assets/js/theme-extra.js adds the old wrapper and play button. */
.wp-block-video.hero--video { margin: 0 auto; }

/* FAQ sign-off: was <p class="signature"><img><span>…</span></p>. */
.signature > p { margin: 0; font-size: inherit; line-height: 1.48; }
.signature > .wp-block-image { flex-shrink: 0; }

/* Transition arrow ("There's an easier way") */
#transition-arrow .wp-block-image img { width: 5rem; margin: 0 auto; display: block; transform: rotate(90deg); }

/* Feature grid cells: count line and tools checklist */
/* These were <div>s, so theme.css's "#features--grid .divider-cell p, li" sizing didn't reach them. */
#features--grid .divider-cell p.features--count { font-size: clamp(2.25rem, 4vw, 3rem); line-height: 1.48; }
#features--grid ul#checklist > li { font-size: 0.75rem; line-height: 1.48; }
.features--checklist { list-style: none; padding: 0; margin-left: 0; }
.features--checklist.is-style-check > li::before { width: 0.75rem; height: 0.75rem; }
.features--mockup-float .wp-block-image { height: 100%; }
.features--email-preview img { border-radius: var(--radius-xl); }
.features--email-preview { margin-left: 0; margin-right: 0; margin-bottom: 0; }

/* Animated checklist: a core List with the anchor "checklist" (JS adds the checkboxes). */
ul#checklist { list-style: none; padding: 0; margin: 0; }

/* How it works: the step badge was two <span>s; now paragraphs, so undo ".how--step p". */
.how--step .how--step-badge > p { margin: 0; line-height: 1.48; }
.how--step .how--step-badge > p.how--step-number { font-size: 1.125rem; }
.how--step .how--step-badge > p.how--step-label { font-size: 14px; }


/* ------------------------------------------------------------------
 * SHARED COMPONENTS used across the feature, integration and platform
 * pages: feature rows, faux admin windows (.browser-chrome / .mockup-*),
 * icon boxes, compare cards. Collected here from the page-group files.
 * ------------------------------------------------------------------ */
.feature-row--text p.is-style-link-arrow { margin: 0; font-size: inherit; line-height: inherit; }
.feature-row--text p.is-style-link-arrow a { margin-top: var(--space-2); }
.feature-row--visual > .wp-block-image { margin: 0; }
.feature-row--visual > figure.feature-row--image { border-radius: 0; box-shadow: none; overflow: visible; }
.feature-row--image img { width: 100%; height: auto; vertical-align: baseline; border-radius: var(--radius-2xl); box-shadow: var(--shadow-elevated); }
.image-overlay > .wp-block-image { margin: 0; }
.image-overlay > .wp-block-image img { width: 100%; display: block; border-radius: inherit; }
.browser-chrome--dots:empty { width: 42px; height: 10px; }
.browser-chrome--dots:empty::before { content: ""; width: 10px; height: 10px; border-radius: var(--radius-full); background: #fca5a5; box-shadow: 16px 0 0 #fcd34d, 32px 0 0 #86efac; }
p.browser-chrome--url { margin: 0 0 0 var(--space-3); }
.browser-chrome > .wp-block-image { margin: 0; }
.browser-chrome > .wp-block-image img { vertical-align: baseline; }
.mockup-row--header > p { margin: 0; font-size: 14px; font-weight: 600; color: var(--ink-wp); }
ul.feature-checklist { list-style: none; margin: 0; }
figure.features-tool--image { overflow: hidden; margin: 0 0 var(--space-4); display: inline-block; vertical-align: baseline; }
figure.features-tool--image img { width: 100%; height: 100%; object-fit: cover; object-position: top left; display: block; }
p.compare-card--label { margin-top: 0; }
.compare-card--icon > p { margin: 0; font-size: inherit; line-height: inherit; color: inherit; }
.compare-card--icon-check:empty::before { content: ""; width: 14px; height: 14px; background-color: var(--accent-alt); -webkit-mask: url(../../images/ui/check.svg) center / contain no-repeat; mask: url(../../images/ui/check.svg) center / contain no-repeat; }
.ct-reasons--icon .wp-block-image,
.divider-grid-2x2--item--icon .wp-block-image { margin: 0; line-height: 0; }
.ct-reasons--icon img,
.divider-grid-2x2--item--icon img { width: 24px; height: 24px; display: block; }
.browser-chrome--dots > .wp-block-group { width: 10px; height: 10px; border-radius: var(--radius-full); }
.browser-chrome--dots > .wp-block-group:nth-child(1) { background: #fca5a5; }
.browser-chrome--dots > .wp-block-group:nth-child(2) { background: #fcd34d; }
.browser-chrome--dots > .wp-block-group:nth-child(3) { background: #86efac; }
.browser-chrome--titlebar > p.browser-chrome--url { margin: 0 0 0 var(--space-3); font-size: 10px; line-height: 1.48; }
.mockup-row--header > p { margin: 0; font-size: 14px; font-weight: 600; color: var(--ink-wp); line-height: 1.48; }
.mockup-toggle > .wp-block-group { width: 12px; height: 12px; border-radius: var(--radius-full); background: var(--white); box-sizing: border-box; }
.feature-row--visual > .wp-block-image { margin: 0; }
.feature-row--visual > figure.wp-block-image:not(.image-overlay) { border-radius: 0; box-shadow: none; overflow: visible; }
.feature-row--visual > .wp-block-image img { width: 100%; height: auto; vertical-align: baseline; border-radius: var(--radius-2xl); box-shadow: var(--shadow-elevated); }
.compare-card p.compare-card--label { font-size: 12px; line-height: 1.48; margin: 0 0 var(--space-7); }
.compare-card--item p.compare-card--icon { font-size: 14px; line-height: 1.48; margin: 2px 0 0; }
.compare-card--icon-check { box-sizing: border-box; }
.compare-card--icon-check::before { content: ""; width: 14px; height: 14px; background-color: var(--accent-alt); -webkit-mask: url(../../images/ui/check.svg) center / contain no-repeat; mask: url(../../images/ui/check.svg) center / contain no-repeat; }

/* Order receipt (/checkout/receipt/, [edd_receipt]): the order summary, subscription and
   products tables as white cards with a label column, quiet headings and ruled rows. */
#content:has(#edd_purchase_receipt) .container { max-width: 52rem; }
body :is(#edd_purchase_receipt, #edd_subscription_receipt, #edd_purchase_receipt_products) { width: 100%; margin: 0 0 2.5rem; border: 1px solid var(--wp--preset--color--border-light); border-radius: 1rem; border-collapse: separate; border-spacing: 0; overflow: hidden; background: var(--wp--preset--color--base); box-shadow: 0 30px 50px -30px rgba(20, 45, 70, .22), 0 8px 18px -12px rgba(20, 45, 70, .1); font-size: 17px; }
body :is(#edd_purchase_receipt, #edd_subscription_receipt, #edd_purchase_receipt_products) :is(th, td) { padding: 0.9rem 1.25rem; border: 0; border-bottom: 1px solid var(--wp--preset--color--border-light); text-align: left; vertical-align: top; color: var(--wp--preset--color--secondary); font-weight: 400; }
body :is(#edd_purchase_receipt, #edd_subscription_receipt, #edd_purchase_receipt_products) tr:last-child > :is(th, td) { border-bottom: 0; }
body :is(#edd_purchase_receipt, #edd_subscription_receipt, #edd_purchase_receipt_products) thead th { background: var(--wp--preset--color--tertiary); font-family: var(--wp--preset--font-family--input-sans); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--main); }
/* Summary: labels on the left in ink, values on the right */
body #edd_purchase_receipt :is(td, th):first-child { width: 40%; color: var(--wp--preset--color--main); }
body #edd_purchase_receipt :is(td, th):first-child strong { font-weight: 600; color: inherit; }
body #edd_purchase_receipt :is(td, th):last-child:not(:first-child) { text-align: right; }
body #edd_purchase_receipt thead th { font-family: inherit; font-size: inherit; letter-spacing: 0; text-transform: none; font-weight: 600; }
body #edd_purchase_receipt .edd_receipt_payment_status.complete { color: #1f8a63; font-weight: 600; }
body #edd_purchase_receipt .edd_sl_license_key { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 14px; color: var(--wp--preset--color--main); word-break: break-all; }
body #edd_purchase_receipt tr.edd_license_keys td { padding-bottom: 0.4rem; border-bottom: 0; }
/* Products: name and download link, price on the right */
body #edd_purchase_receipt_products :is(td, th):last-child { text-align: right; white-space: nowrap; }
body #edd_purchase_receipt_products .edd_purchase_receipt_product_name { font-weight: 600; color: var(--wp--preset--color--main); }
body #edd_purchase_receipt_products .edd_purchase_receipt_files { margin: 0.35rem 0 0; padding: 0; list-style: none; }
body #edd_purchase_receipt_products .edd_download_file_link { font-size: 15px; }
#content:has(#edd_purchase_receipt) h3 { margin: 0 0 0.75rem; font-size: var(--wp--preset--font-size--medium); color: var(--wp--preset--color--main); }
@media (max-width: 600px) {
	body #edd_subscription_receipt { display: block; overflow-x: auto; }
}
