/* Clean Page Press (BOOK-131): the price helper on /what-book-formatting-costs/, the /order-received/ page and the form checks.
   Existing tokens only (cpp.css :root); the buttons are the site's .btn classes. */
:root body.cpp .ph { display: grid; gap: 1.25rem 2rem; margin: 0 0 2.5rem; padding: 1.4rem; border-radius: var(--radius-card); background: var(--paper); color: var(--ink); box-shadow: inset 0 0 0 2px var(--rule); --link: var(--green); }
:root body.cpp .ph-label { grid-column: 1 / -1; margin: 0; font-weight: 800; font-size: 1.25rem; }
:root body.cpp .ph-in { display: grid; gap: 1rem; align-content: start; }
:root body.cpp .ph-field label, :root body.cpp .ph-format legend { display: block; font-weight: 700; margin-bottom: .35rem; }
:root body.cpp .ph-field input { width: 100%; max-width: 14rem; min-height: 48px; padding: .5rem .75rem; font: inherit; font-size: 1.15rem; font-variant-numeric: tabular-nums; border: 0; border-radius: 10px; box-shadow: inset 0 0 0 2px var(--field-stroke, var(--ink)); background: var(--paper); color: var(--ink); }
:root body.cpp .ph-field input:focus-visible, :root body.cpp .ph-opt input:focus-visible { outline: 3px solid var(--focus, var(--green)); outline-offset: 2px; }
:root body.cpp .ph-format { margin: 0; padding: 0; border: 0; display: grid; gap: .35rem; }
:root body.cpp .ph-opt { display: flex; align-items: center; gap: .6rem; min-height: 44px; cursor: pointer; }
:root body.cpp .ph-opt input { width: 22px; height: 22px; margin: 0; accent-color: var(--green); }
:root body.cpp .ph-out { display: grid; gap: .4rem; align-content: start; }
:root body.cpp .ph-out p { margin: 0; }
:root body.cpp .ph-pkg { font-weight: 700; }
:root body.cpp .ph-price { font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 800; font-stretch: 90%; line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums lining-nums; }
:root body.cpp .ph-sur, :root body.cpp .ph-note, :root body.cpp .ph-long { color: var(--ink-soft); max-width: 40em; }
:root body.cpp .ph-act { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .5rem !important; }
:root body.cpp .ph [hidden] { display: none !important; }
@media (min-width: 760px) {
  :root body.cpp .ph { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); padding: 1.6rem 1.75rem; }
}
:root body.cpp .next-steps { margin: 0; padding-left: 1.4rem; max-width: 38em; }
:root body.cpp .next-steps li { margin: 0 0 .6rem; padding-left: .25rem; }

/* ---------- art director 20889: forms (S1 to S3), /order-received/ (O1 to O5), helper (P1 to P5), chips (F2) ---------- */
/* S3: 16px between a form card's heading and its first label */
:root body.cpp .form-card .form-h { margin-bottom: 1rem; }
/* S2: our line under a field the check stopped on, in the hint's slot */
:root body.cpp .cpp-err { display: block; margin-top: .3rem; font-size: .88rem; font-weight: 600; line-height: 1.35; color: var(--error); }
/* S1: one server message, above the button, as a box; the fields keep their normal border */
:root body.cpp .w-pro-form .cpp-form-msg { flex: 0 0 100%; width: 100%; margin: .25rem 0 .75rem; padding: .7rem .9rem; border-radius: 10px; background: #fff8f7; box-shadow: inset 0 0 0 2px var(--error); color: var(--error); font-weight: 600; line-height: 1.4; }

/* O3 and O2: what they paid for, under the H1; the order reference as read-only text under the lede */
:root body.cpp .order-sum { margin: 0 0 1rem; display: inline-block; padding: .35rem .8rem; border-radius: 10px; background: var(--ink-2); color: #fff; font-weight: 700; font-variant-numeric: tabular-nums lining-nums; max-width: 100%; }
:root body.cpp .order-ref { margin: 1rem 0 0; color: var(--dark-soft); font-size: .95rem; overflow-wrap: anywhere; }
:root body.cpp .order-ref-v { color: #fff; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
/* O5: the steps in the left column, on the dark panel */
:root body.cpp .hero-formpage .next-h { margin: 2rem 0 .75rem; font-size: 1.25rem; font-weight: 800; font-stretch: 90%; line-height: 1.2; color: #fff; }
:root body.cpp .hero-formpage .w-next .next-steps { color: #fff; }
:root body.cpp .hero-formpage .w-next .next-steps li::marker { color: var(--green-on-ink); font-weight: 800; }
@media (max-width: 959px) {
  :root body.cpp .hero-formpage .hero-top > .w-next { order: 4; }   /* on a phone the steps come after the form */
  :root body.cpp .hero-formpage .next-h { margin-top: 1rem; }
}
/* O4: the drop zone; the native input lies over it, invisible, so click, keyboard and drop all reach it */
:root body.cpp .w-pro-form .cpp-zone, :root body.cpp .w-pro-form .cpp-file, :root body.cpp .w-pro-form .cpp-err { flex: 0 0 100%; max-width: 100%; }
:root body.cpp .w-pro-form [hidden], :root body.cpp .form-card > [hidden], :root body.cpp .hero-formpage [hidden] { display: none !important; }
:root body.cpp .cpp-zone { position: relative; display: grid; gap: .35rem; justify-items: center; padding: 1.4rem 1rem; border: 2px dashed var(--field-stroke); border-radius: 12px; background: #fafbfa; text-align: center; transition: border-color .15s, background-color .15s; }
:root body.cpp .cpp-zone:hover, :root body.cpp .cpp-zone.is-over { border-color: var(--green); background: var(--green-tint); }
:root body.cpp .cpp-zone:focus-within { outline: 3px solid var(--focus); outline-offset: 2px; border-color: var(--focus); }
:root body.cpp .cpp-zone.has-file { border-style: solid; border-color: var(--green); }
:root body.cpp .cpp-zone-t { font-weight: 700; color: var(--ink); }
:root body.cpp .cpp-zone-t::before { content: ""; display: block; width: 1.75rem; height: 1.75rem; margin: 0 auto .4rem; background: var(--green); -webkit-mask: url("img/pilcrow.svg") center / contain no-repeat; mask: url("img/pilcrow.svg") center / contain no-repeat; }
:root body.cpp .cpp-zone .hint { margin: 0; }
:root body.cpp .cpp-zone input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
:root body.cpp .cpp-file { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; margin: .5rem 0 0; font-weight: 600; overflow-wrap: anywhere; }
:root body.cpp .cpp-file-n { min-width: 0; }
:root body.cpp .cpp-file-x { min-height: 44px; padding: 0 .25rem; border: 0; background: none; color: var(--green); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
:root body.cpp .cpp-file-x:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
/* O1: the success panel in place of the form */
:root body.cpp .order-done-h { margin: 0 0 1rem; font-size: 1.75rem; }
:root body.cpp .order-done-h:focus { outline: none; }
:root body.cpp .order-done-dl { display: grid; gap: .5rem; margin: 0 0 1rem; padding: .9rem 1rem; border-radius: 10px; background: var(--green-tint); }
:root body.cpp .order-done-dl div { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: .75rem; }
:root body.cpp .order-done-dl dt { font-weight: 700; color: var(--ink-soft); }
:root body.cpp .order-done-dl dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
:root body.cpp .order-done-size { display: block; font-weight: 400; color: var(--ink-soft); }
:root body.cpp .order-done-mail { margin: 0 0 1.25rem; overflow-wrap: anywhere; }
:root body.cpp .order-done-next { margin: 0 0 .6rem; font-size: 1.1rem; font-weight: 800; }

/* P1: the helper's number field sits in the slider panel in place of its readout */
:root body.cpp .wc-typed { display: inline-flex; align-items: baseline; gap: .5rem; }
:root body.cpp .wc-typed input[type=number] { width: 8.5ch; min-height: 0; padding: .1rem .4rem; border: 2px solid #4a515b; border-radius: 10px; background: var(--ink-2); color: #fff; font: inherit; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 800; font-stretch: 90%; line-height: 1.1; letter-spacing: -.02em; font-variant-numeric: tabular-nums lining-nums; -moz-appearance: textfield; appearance: textfield; }
:root body.cpp .wc-typed input[type=number]::-webkit-inner-spin-button, :root body.cpp .wc-typed input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
:root body.cpp .wc-typed input[type=number]:hover { border-color: var(--dark-soft); }
:root body.cpp .wc-typed input[type=number]:focus-visible { outline: 3px solid var(--hl); outline-offset: 2px; border-color: var(--hl); }
:root body.cpp .wc-unit { font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 800; font-stretch: 90%; color: #fff; }
/* P5: the helper's price in the cards' display size; P3: the empty prompt in ink soft */
:root body.cpp .ph .ph-price { font-size: clamp(3.5rem, 5vw, 4.5rem); letter-spacing: -.03em; }
:root body.cpp .ph .ph-price.is-empty { font-size: 1.25rem; font-weight: 700; font-stretch: 100%; letter-spacing: 0; line-height: 1.35; color: var(--ink-soft); }
:root body.cpp .ph-split { font-weight: 700; font-variant-numeric: tabular-nums lining-nums; }
:root body.cpp .ph .ph-act { align-items: flex-start; }
:root body.cpp .ph-sur-wrap { display: grid; gap: .3rem; }
:root body.cpp .ph-how { font-size: .88rem; color: var(--ink-soft); }

/* F2: the bullet rides on the end of the item before it, so a wrapped line never starts with one */
:root body.cpp .chip + .chip::before, :root body.cpp .w-chip + .chip::before { content: none; }
:root body.cpp .chip:has(+ .chip)::after { content: ""; flex: none; width: .32rem; height: .32rem; margin: 0 .6rem; border-radius: 50%; background: var(--fg-soft); transform: translateY(-.2em); }

/* ---------- BOOK-302: the requirements step on /order-received/ (spec A and D) ---------- */
/* rule 8: the header button is hidden on this page only (page id 431, or the class orders.js sets); the header is unchanged */
:root body.cpp.page-id-431 .elementor-element-52a9fd2, :root body.cpp.cpp-order-page .w-head-cta { display: none !important; }
/* fields orders.js hides for the paid item, the chooser of two open orders and the chat block when the form is sent */
:root body.cpp .cpp-pick[hidden], :root body.cpp .cpp-chat[hidden], :root body.cpp .order-chat-fallback[hidden] { display: none !important; }
/* two orders open in this tab: which one the form is for */
:root body.cpp .cpp-pick { display: grid; gap: .35rem; min-width: 0; margin: 0 0 1rem; padding: .9rem 1rem; border: 0; border-radius: 10px; background: var(--green-tint); color: var(--ink); }
:root body.cpp .cpp-pick-h { float: left; width: 100%; margin: 0 0 .35rem; padding: 0; font-weight: 800; }
:root body.cpp .cpp-pick-o { clear: both; display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .6rem; min-height: 44px; font-weight: 600; cursor: pointer; overflow-wrap: anywhere; }
:root body.cpp .cpp-pick-o input { flex: none; width: 22px; height: 22px; margin: 0; accent-color: var(--green); }
:root body.cpp .cpp-pick-o input:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
:root body.cpp .cpp-pick-r { font-weight: 400; font-size: .9rem; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
/* the Messenger block (#cpp-order-chat): a card like the price helper's, on the light or the dark panel */
:root body.cpp .cpp-chat { display: grid; gap: .6rem; margin: 1.5rem 0 0; padding: 1.2rem; border-radius: var(--radius-card); background: var(--paper); color: var(--ink); box-shadow: inset 0 0 0 2px var(--rule); --link: var(--green); }
:root body.cpp .cpp-chat > * { margin: 0; }
:root body.cpp .cpp-chat-h { font-size: 1.25rem; font-weight: 800; font-stretch: 90%; line-height: 1.2; color: var(--ink); }
:root body.cpp .cpp-chat-list { padding-left: 1.4rem; max-width: 38em; }
:root body.cpp .cpp-chat-list li { margin: 0 0 .4rem; padding-left: .25rem; }
:root body.cpp .cpp-chat-list li::marker { color: var(--green); font-weight: 800; }
:root body.cpp .cpp-chat-ref { color: var(--ink-soft); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
:root body.cpp .cpp-chat-act { display: flex; flex-wrap: wrap; gap: .6rem; }
:root body.cpp .cpp-chat-status { min-height: 1.4em; font-weight: 600; color: var(--green); }
:root body.cpp .cpp-chat-status:empty { min-height: 0; }
:root body.cpp .cpp-chat-mail { color: var(--ink-soft); overflow-wrap: anywhere; }
:root body.cpp .cpp-chat-mail a { color: var(--green); font-weight: 700; }
/* the copy fallback's text box: in the page for the browser's copy command, never seen */
:root body.cpp .cpp-copy-src { position: fixed; top: 0; left: -9999px; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
/* the success panel's button for the second order */
:root body.cpp .order-done-again { margin-top: 1.25rem; }
/* ---------- BOOK-302 phase 1b: art director review of 26 Oct (M1, M2, N1 to N3) ---------- */
/* M1: the one-of group's help line under its first field (the A+ lead line sits above the first upload) */
:root body.cpp .w-pro-form .cpp-need { flex: 0 0 100%; max-width: 100%; }
:root body.cpp .w-pro-form .cpp-need-lead { margin: 0 0 .5rem; }
/* M2 and N3: "Open Messenger" is a ghost button like "Copy the message", and the block is a section of the form card,
   not a card inside it, so the yellow belongs to "Send my order details" alone */
:root body.cpp .cpp-chat { box-shadow: none; border-radius: 0; padding: 1.25rem 0 0; border-top: 2px solid var(--rule); }
:root body.cpp .cpp-chat .cpp-chat-open { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 2px var(--green); }
:root body.cpp .cpp-chat .cpp-chat-open:hover { background: var(--green-tint); color: var(--ink); transform: none; }
/* N1: the required mark in the brand's error colour, not the browser red */
:root body.cpp .elementor-mark-required .elementor-field-label::after { color: var(--error); }
/* N2: a shorter H1 on a phone, so three or four fields fit on the first screen */
@media (max-width: 767px) {
  :root body.cpp .hero-formpage h1, :root body.cpp .hero-formpage h1.elementor-heading-title { font-size: clamp(2.1rem, 9vw, 2.6rem); }
}

/* BOOK-302 phase 2: order-first rows on the service pages. Seat 3's "or order ..." text links (own144 o116 ops, left in the
   page data so its pending apply still finds them) step aside wherever the row's button is now that same order. */
:root body.cpp .cta-row:has(> .w-btn-order) > .w-tlink-p:has(a[href^="https://buy.stripe.com/"]) { display: none; }
/* The trust row under the hero buttons: short facts, wrapping, no separators */
:root body.cpp .trust-row { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; margin: 1rem 0 0; padding: 0; list-style: none; font-size: var(--fs-label); font-weight: 600; line-height: 1.35; color: var(--fg); max-width: 40em; }
:root body.cpp .trust-row li { position: relative; margin: 0; padding-left: 1.1rem; }
:root body.cpp .trust-row li::before { content: ""; position: absolute; left: 0; top: .45em; width: .5rem; height: .5rem; border-radius: 50%; background: var(--pil); }
:root body.cpp .trust-row a { color: inherit; text-decoration-color: var(--pil); }
/* The header button: hidden where orders.js says so, and on /free-sample/ (59) without the script too */
:root body.cpp .w-head-cta[hidden], :root body.cpp.page-id-59 .elementor-element-52a9fd2 { display: none !important; }
/* Art director p2 M2: where the header stays on "See prices" / "Prices" but the hero has its own order button (hardcover
   52, editing 53, FAQ 58; since BOOK-302 phase 5b also author website 55 and launch plan 57, art director p5 N3), the
   header is an outline button like Menu, so the hero order is the one yellow on the screen.
   Keyed on the page id and the hero's Payment Link, both in the server HTML, so it holds before the deferred orders.js
   runs; orders.js leaves these pages' header as it is (headPlan "prices"). Every other page keeps the yellow button. */
:root body.cpp:is(.page-id-52, .page-id-53, .page-id-55, .page-id-57, .page-id-58):has(.hero .cta-row .elementor-widget-button a[href^="https://buy.stripe.com/"]) .w-head-cta { --fg: #fff; }
:root body.cpp:is(.page-id-52, .page-id-53, .page-id-55, .page-id-57, .page-id-58):has(.hero .cta-row .elementor-widget-button a[href^="https://buy.stripe.com/"]) .w-head-cta .elementor-button,
:root body.cpp:is(.page-id-52, .page-id-53, .page-id-55, .page-id-57, .page-id-58):has(.hero .cta-row .elementor-widget-button a[href^="https://buy.stripe.com/"]) .w-head-cta .elementor-button:hover { background: transparent; color: var(--fg); box-shadow: inset 0 0 0 2px currentColor; transform: none; }
/* Art director p2 N2 and N3: on the hardcover page the condition note (and the add-on link) take a line of their own right
   under the button, before the free sample link, at every width */
:root body.cpp .cta-row > .elementor-element-b302c01, :root body.cpp .cta-row > .elementor-element-b302c02, :root body.cpp .cta-row > .elementor-element-b302c03 { flex: 0 0 auto; width: 100%; }
:root body.cpp .cta-row > .elementor-element-b302c01 .cta-note, :root body.cpp .cta-row > .elementor-element-b302c03 .cta-note { margin-top: 0; }
/* Art director p2 N5: editing, room between the quantity line and the Messenger link */
:root body.cpp .elementor-element-b302d01, :root body.cpp .elementor-element-b302d03 { margin-top: .5rem; }
/* Art director p2 M3: listing prep, the IngramSpark answer and the ISBN paragraph under it get the site's paragraph top
   margin (each sits in its own widget, whose last paragraph loses its bottom margin, so they ran together); the order link
   sits after the ISBN paragraph, and only if it ever stays right after the answer does it take a 1.5rem bottom margin */
:root body.cpp .elementor-element-cdebcf5 p, :root body.cpp .elementor-element-f214f9a p { margin-top: 1em; }
:root body.cpp .elementor-element-cdebcf5 + .elementor-element-b302l01 { margin-bottom: 1.5rem; }
/* Art director p2 r2 R2: the IngramSpark order is a text link now, so it takes the paragraph gap above it (1em, as the ISBN
   paragraph has above it) instead of running on as the last line of that paragraph */
:root body.cpp .elementor-element-b302l01 .tlink-p { margin-top: 1em; }
/* Art director p2 r2 N10: phase 2's own text links break into even lines (no lone last word on a phone); seat 3's are left as they are */
:root body.cpp :is(.elementor-element-b302h01, .elementor-element-b302h03, .elementor-element-b302e01, .elementor-element-b302e03, .elementor-element-b302e04, .elementor-element-b302b01, .elementor-element-b302b03, .elementor-element-b302b04, .elementor-element-b302c02, .elementor-element-b302d01, .elementor-element-b302d03, .elementor-element-b302l01, .elementor-element-b302o01) .tlink-p { text-wrap: balance; }

/* BOOK-302 phase 3: the order first on the rest of each service page (spec b302-phase3-spec.md v2). Rules key on the phone
   bar, element ids phase 3 changes or adds, and the header button; nothing here names a seat 3 element. */
/* The sticky phone bar and the copyedit order buttons break their label into even lines, so no price or "words" sits
   alone on line 2 (measured: "$169" alone at 320 and 360 px) */
:root body.cpp .cta-bar .w-btn .elementor-button, :root body.cpp :is(.elementor-element-59d94c3, .elementor-element-c12f63a) .elementor-button { text-wrap: balance; }
/* Phase 3's own sample links take balanced lines too, like phase 2's (art director p2 r2 N10) */
:root body.cpp :where(.elementor-element-b302b05, .elementor-element-b302b06, .elementor-element-b302c04, .elementor-element-b302e05, .elementor-element-b302e06, .elementor-element-b302h04) .tlink-p { text-wrap: balance; }
/* Art director p3 r1 M2: a sample link right under a four-step list sits clear of the last row's "Today" label, with the
   room the list has above it (hardcover b302c04; ebook's phase 2 b302e04 is the same pattern) */
:root body.cpp :is(.elementor-element-b302c04, .elementor-element-b302e04) .tlink-p { margin-top: 2rem; }
/* N13: from 1100 px the header button sits in a slot a few px wider than the widest label a service page gives it
   ("Convert my ebook cover, $99"), on one line and right-aligned, so the nav starts at the same x on every page. Where the
   button is hidden (/order-received/, /free-sample/) the slot stays and the button is only invisible, so the nav does not
   move there either. A wider font render grows the slot instead of wrapping the label. Below 1100 px nothing changes. */
@media (min-width: 1100px) {
  :root body.cpp .w-head-cta { display: flex; justify-content: flex-end; min-width: 266px; }
  :root body.cpp .w-head-cta .elementor-button { white-space: nowrap; }
  :root body.cpp.page-id-431 .elementor-element-52a9fd2, :root body.cpp.cpp-order-page .w-head-cta, :root body.cpp .w-head-cta[hidden], :root body.cpp.page-id-59 .elementor-element-52a9fd2 { display: flex !important; visibility: hidden; }
}

/* BOOK-302 phase 4 (spec b302-phase4-spec.md v2): rules key on page ids and on elements phase 4 adds; nothing here names a
   seat 3 element. Art director N4 and loophole L2: from 960 px, where the header is the page's yellow order (home 45,
   prices 47, ebook 48, paperback 49), the "Still deciding?" card's sample button is drawn like the site's outline button
   (w-btn-ghost) in the dark card, so the desktop screen keeps one yellow action. On hardcover 52 and FAQ 58 the header is
   outline, so their card button stays yellow. Below 960 px cpp.css hides the cards, and nothing here applies. */
@media (min-width: 960px) {
  :root body.cpp:is(.page-id-45, .page-id-47, .page-id-48, .page-id-49) .faq-split > .cta-card .w-btn-primary .elementor-button[href^="/free-sample/"] { background: transparent; color: var(--fg); box-shadow: inset 0 0 0 2px currentColor; }
  :root body.cpp:is(.page-id-45, .page-id-47, .page-id-48, .page-id-49) .faq-split > .cta-card .w-btn-primary .elementor-button[href^="/free-sample/"]:hover { background: var(--fg); color: var(--bg); box-shadow: inset 0 0 0 2px currentColor; transform: none; }
}
/* The copyedit order link phase 4 adds to the editing close row (b302d04) breaks into even lines like phase 2's and 3's
   links. Its row's button (b371163) is not a w-btn-order, so phase 2's rule for seat 3's "or order ..." links leaves it shown. */
:root body.cpp .elementor-element-b302d04 .tlink-p { text-wrap: balance; }

/* BOOK-302 phase 5b (spec b302-phase5b-spec.md v2): the order buttons phase 5b relabels on the author website (hero 2da1160,
   close 5a0084b) and the launch plan (hero 5679fba, close 42c7872) break their label into even lines, so "$449" or "$249"
   never sits alone on line 2 at 320 and 360 px (loophole p5b L1; phase 3 did the same for "$169"). The two "Still deciding?"
   card buttons phase 5b turns outline (55 30c8947, 57 cd0367e) do the same, so "books" or "date" never sits alone on line 2
   at 1024 px (art director p5b r1 M1). Nothing here names a seat 3 element. */
:root body.cpp :is(.elementor-element-2da1160, .elementor-element-5a0084b, .elementor-element-5679fba, .elementor-element-42c7872, .elementor-element-30c8947, .elementor-element-cd0367e) .elementor-button { text-wrap: balance; }
