/* Crown Plastic & Paper: site upgrade layer.
   Keeps the existing Elementor design; fixes accessibility, touch targets,
   small text and adds the shipping map, mobile quick-contact bar and search.
   Brand tokens come from the site's own Elementor kit. */
:root {
  --cpp-navy: #011425;      /* e-global primary */
  --cpp-teal: #163A5C;      /* e-global secondary */
  --cpp-slate: #566275;     /* e-global text muted */
  --cpp-ice: #F3F1EC;       /* e-global light section */
  --cpp-cream: #F5F3ED;     /* e-global accent */
  --cpp-focus: #3A8BB0;     /* 3:1+ on both white and navy */
  --cpp-gold: #F2B544;      /* map routes only */
  --cpp-ease: cubic-bezier(0.23, 1, 0.32, 1);
}

/* ---------- accessibility ---------- */
.cpp-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--cpp-focus) !important;
  outline-offset: 3px !important;
  border-radius: 4px;
}
#content:focus { outline: none; }
::selection { background: var(--cpp-teal); color: #fff; }
html { scroll-padding-top: 96px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
a, button, [role="button"], .e-n-tab-title, summary { touch-action: manipulation; }
h1, h2, h3, .elementor-heading-title { text-wrap: balance; }
p { text-wrap: pretty; }

/* ---------- touch targets (hit area grows, visuals stay) ---------- */
.mega-menu-toggle .mega-toggle-animated { padding: 14px 10px !important; margin: -14px -10px !important; box-sizing: content-box; }
.elementor-post-info__terms-list-item,
.elementor-widget-post-info a,
.elementor-widget-icon-box .elementor-icon-box-title a { display: inline-block; padding-block: 6px; }
.elementor-swiper-button, .elementor-swiper-button-prev, .elementor-swiper-button-next { min-width: 44px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; }
.elementor-custom-embed-play { padding: 12px; }
@media (max-width: 767px) {
  .elementor-button.elementor-size-sm { min-height: 44px; display: inline-flex; align-items: center; }
  .elementor-widget-nav-menu .elementor-item,
  .elementor-widget-text-editor a,
  .elementor-widget-icon-list a { display: inline-block; padding-block: 8px; }
  .elementor-widget-icon-box a.elementor-icon { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
}

/* ---------- readable text on phones (min 13-14px) ---------- */
@media (max-width: 767px) {
  .e-n-tab-title-text, .e-n-accordion-item-title-text { font-size: 15px !important; }
  .elementor-button .elementor-button-text { font-size: 14px !important; }
  .elementor-post-info__terms-list-item, .elementor-widget-post-info a { font-size: 12px !important; }
  .elementor-widget-author-box p, .elementor-widget-theme-post-excerpt,
  .elementor-widget-text-editor, .elementor-widget-nav-menu .elementor-item { font-size: max(14px, 1em) !important; }
  .elementor-widget-text-editor a { font-size: 13px !important; }
}

/* ---------- shipping map section (homepage) ---------- */
.cpp-map { background: var(--cpp-navy); color: #fff; padding: clamp(64px, 8vw, 104px) 0; overflow: hidden; font-family: inherit; }
.cpp-map * { box-sizing: border-box; }
.cpp-map__wrap { max-width: 1170px; margin: 0 auto; padding-inline: max(20px, env(safe-area-inset-left, 0px)); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 4vw, 64px); align-items: center; }
.cpp-map h2 { margin: 0; color: #fff; font-size: clamp(28px, 3.2vw, 40px); line-height: 1.12; font-weight: 700; letter-spacing: -0.01em; }
.cpp-map__lead { margin: 16px 0 24px; font-size: 17px; line-height: 1.6; color: #C7D3DE; max-width: 44ch; }
.cpp-map ul { list-style: none; margin: 0 0 28px; padding: 0; }
.cpp-map li { display: flex; gap: 14px; align-items: flex-start; padding: 14px 0; border-top: 1px solid #1d3a52; font-size: 16px; line-height: 1.5; color: #C7D3DE; }
.cpp-map li:last-child { border-bottom: 1px solid #1d3a52; }
.cpp-map li b { display: block; color: #fff; font-weight: 700; margin-bottom: 2px; }
.cpp-map li a { color: #fff; text-underline-offset: 3px; }
.cpp-map li svg { width: 22px; height: 22px; flex: none; margin-top: 2px; stroke: var(--cpp-gold); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cpp-map__cta { display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 26px; border-radius: 8px; background: #fff; color: var(--cpp-navy) !important; font-weight: 700; font-size: 16px; text-decoration: none; transition: transform 160ms var(--cpp-ease), background-color 160ms ease; }
.cpp-map__cta svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform 200ms var(--cpp-ease); }
.cpp-map__cta:active { transform: scale(0.97); }
@media (hover: hover) and (pointer: fine) { .cpp-map__cta:hover { background: var(--cpp-ice); } .cpp-map__cta:hover svg { transform: translateX(3px); } }
.cpp-map__fig { position: relative; margin: 0; }
.cpp-map__svg { display: block; width: 100%; height: auto; }
.cpp-map .arm-states path { fill: #0f2a42; stroke: #163A5C; stroke-width: .8; stroke-linejoin: round; }
.cpp-map .arm-states .arm-tx { fill: var(--cpp-teal); }
.cpp-map .arm-border { fill: none; stroke: #2a5671; stroke-width: 1.3; }
.cpp-map .arm-routes path { fill: none; stroke: var(--cpp-gold); stroke-width: 1.8; stroke-linecap: round; stroke-opacity: .85; stroke-dasharray: 1; stroke-dashoffset: 0; }
.cpp-map .arm-dots circle { fill: var(--cpp-gold); transform-box: fill-box; transform-origin: center; }
.cpp-map .arm-core { fill: #fff; stroke: var(--cpp-gold); stroke-width: 3; }
.cpp-map .arm-ring { fill: none; stroke: var(--cpp-gold); stroke-width: 2; transform-box: fill-box; transform-origin: center; opacity: 0; animation: cpp-ping 2.6s var(--cpp-ease) infinite; }
.cpp-map .arm-ring2 { animation-delay: 1.3s; }
@keyframes cpp-ping { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(2.6); opacity: 0; } }
.cpp-map__pin { position: absolute; left: 55.79%; top: 80.42%; transform: translate(16px, -150%); background: #fff; color: var(--cpp-navy); font-weight: 700; font-size: 13px; line-height: 1; padding: 8px 11px; border-radius: 6px; white-space: nowrap; box-shadow: 0 8px 20px rgba(0,0,0,.28); pointer-events: none; }
.cpp-map.is-pre .arm-routes path { stroke-dashoffset: 1; }
.cpp-map.is-pre .arm-dots circle { opacity: 0; transform: scale(.4); }
.cpp-map.is-go .arm-routes path { stroke-dashoffset: 0; transition: stroke-dashoffset 1100ms var(--cpp-ease); transition-delay: calc(var(--i) * 70ms); }
.cpp-map.is-go .arm-dots circle { opacity: 1; transform: none; transition: opacity 300ms ease, transform 400ms var(--cpp-ease); transition-delay: calc(var(--i) * 70ms + 700ms); }
@media (max-width: 900px) { .cpp-map__wrap { grid-template-columns: 1fr; } .cpp-map__fig { order: -1; } }
@media (max-width: 560px) { .cpp-map__pin { font-size: 11px; padding: 6px 8px; } }

/* ---------- mobile quick-contact bar ---------- */
.cpp-bar { display: none; }
@media (max-width: 767px) {
  .cpp-bar { display: grid; grid-template-columns: 1fr 1fr 1.7fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
    padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    background: rgba(255,255,255,.97); border-top: 1px solid #dfe7ee; box-shadow: 0 -6px 20px rgba(1,20,37,.08);
    transform: translateY(0); transition: transform 260ms var(--cpp-ease); }
  .cpp-bar.is-hidden { transform: translateY(110%); }
  .cpp-bar a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border-radius: 8px; font-weight: 700; font-size: 16px; text-decoration: none; font-family: inherit; transition: transform 140ms var(--cpp-ease); }
  .cpp-bar a:active { transform: scale(0.97); }
  .cpp-bar svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
  .cpp-bar__call { color: var(--cpp-navy) !important; box-shadow: inset 0 0 0 1.5px var(--cpp-navy); }
  .cpp-bar__quote { background: var(--cpp-teal); color: #fff !important; }
  body { padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)); }
}

/* ---------- product search ---------- */
.cpp-search { position: relative; }
.cpp-results { position: absolute; z-index: 9995; top: calc(100% + 6px); left: 0; right: 0; min-width: min(420px, 92vw); max-height: min(70vh, 460px); overflow: auto;
  background: #fff; border: 1px solid #dfe7ee; border-radius: 10px; box-shadow: 0 16px 40px rgba(1,20,37,.16); padding: 6px; text-align: left;
  transform-origin: top center; animation: cpp-pop 160ms var(--cpp-ease); }
@keyframes cpp-pop { from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: none; } }
.cpp-results[hidden] { display: none; }
.cpp-results a { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: center; padding: 8px 10px; border-radius: 8px; color: var(--cpp-navy) !important; text-decoration: none; min-height: 52px; }
.cpp-results a[aria-selected="true"], .cpp-results a:hover { background: var(--cpp-ice); }
.cpp-results img { width: 44px; height: 44px; object-fit: contain; background: #f6f8fa; border-radius: 6px; }
.cpp-results b { display: block; font-size: 15px; font-weight: 700; line-height: 1.25; }
.cpp-results small { display: block; font-size: 12px; color: var(--cpp-slate); margin-top: 2px; }
.cpp-results .cpp-empty { padding: 14px 12px; font-size: 14px; color: var(--cpp-slate); }
.cpp-results .cpp-empty a { display: inline; padding: 0; min-height: 0; text-decoration: underline; }

/* ---------- form status (static site fallback) ---------- */
.cpp-form-note { margin-top: 12px; padding: 12px 14px; border-radius: 8px; background: var(--cpp-ice); color: var(--cpp-navy); font-size: 14px; line-height: 1.5; }
.cpp-form-note a { color: var(--cpp-teal); font-weight: 700; }
.cpp-form-note.is-error { background: #FDF1F0; color: #7A1D17; }
.cpp-form-note.is-error a { color: #7A1D17; }
.elementor-form [type="submit"][aria-busy="true"] { opacity: .7; cursor: progress; }

@media (prefers-reduced-motion: reduce) {
  .cpp-map .arm-ring { display: none; }
  .cpp-map.is-pre .arm-routes path { stroke-dashoffset: 0; }
  .cpp-map.is-pre .arm-dots circle { opacity: 1; transform: none; }
  .cpp-bar, .cpp-results { transition: none; animation: none; }
}

/* ---------- quote builder (replaces the broken bulk-quote shortcode) ---------- */
.cpp-quote-form { font-family: inherit; color: var(--cpp-navy); text-align: left; display: grid; gap: 28px; }
.cpp-quote-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.cpp-quote-form legend { font-size: 20px; font-weight: 700; letter-spacing: -0.01em; padding: 0; margin-bottom: 6px; }
.cpp-q-help { margin: 0 0 16px; color: #475569; font-size: 15px; }
.cpp-quote-form label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; color: var(--cpp-navy); }
.cpp-quote-form label span { color: #B42318; }
.cpp-quote-form input, .cpp-quote-form select, .cpp-quote-form textarea {
  width: 100%; font: inherit; font-size: 16px; color: var(--cpp-navy); background: #fff;
  border: 1px solid #CBD5E1; border-radius: 8px; min-height: 48px; padding: 10px 14px;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.cpp-quote-form textarea { min-height: 112px; resize: vertical; }
.cpp-quote-form select { appearance: none; -webkit-appearance: none; padding-right: 40px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F4959' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 18px; }
.cpp-quote-form input:focus, .cpp-quote-form select:focus, .cpp-quote-form textarea:focus { border-color: var(--cpp-teal); box-shadow: 0 0 0 3px rgba(31, 73, 89, .14); outline: none; }
.cpp-quote-form :user-invalid { border-color: #B42318; }
.cpp-lines { display: grid; gap: 12px; }
.cpp-line { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.6fr) minmax(0, .8fr) minmax(0, 1fr) 44px; gap: 12px; align-items: end;
  background: var(--cpp-ice); border-radius: 12px; padding: 16px; }
.cpp-quote-form button.cpp-line-remove { width: 44px; padding: 0; box-shadow: none; height: 48px; border: 0; border-radius: 8px; background: transparent; color: var(--cpp-slate); cursor: pointer; display: grid; place-items: center; transition: background-color 160ms ease, color 160ms ease; }
.cpp-line-remove[hidden] { display: grid; visibility: hidden; }
.cpp-quote-form button.cpp-line-remove:hover { background: #fff; color: #B42318; }
.cpp-quote-form svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cpp-quote-form button.cpp-add-line { margin-top: 12px; box-shadow: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; font: inherit; font-weight: 700; font-size: 15px;
  color: var(--cpp-teal); background: #fff; border: 1.5px dashed #9FB7C3; border-radius: 8px; cursor: pointer; transition: border-color 160ms ease, background-color 160ms ease, transform 140ms var(--cpp-ease); }
.cpp-quote-form button.cpp-add-line:hover { border-color: var(--cpp-teal); background: var(--cpp-ice); }
.cpp-add-line:active, .cpp-line-remove:active { transform: scale(0.97); }
.cpp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cpp-f--wide { grid-column: 1 / -1; }
.cpp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.cpp-q-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.cpp-quote-form .cpp-q-submit { border: 0; cursor: pointer; min-height: 52px; padding: 0 28px; font: inherit; font-weight: 700; font-size: 16px; border-radius: 8px;
  background: var(--cpp-navy); color: #fff; }
.cpp-quote-form .cpp-q-submit:hover { background: var(--cpp-teal); }
.cpp-q-fine { margin: 0; font-size: 14px; color: #475569; }
.cpp-q-fine a { color: var(--cpp-teal); font-weight: 600; }
.cpp-quote-form .cpp-form-note { grid-column: 1 / -1; }
@media (max-width: 767px) {
  .cpp-line { grid-template-columns: 1fr 1fr; padding: 14px; }
  .cpp-f--product, .cpp-f--details { grid-column: 1 / -1; }
  .cpp-quote-form button.cpp-line-remove { grid-column: 1 / -1; width: 100%; height: 40px; }
  .cpp-line-remove[hidden] { display: none; }
  .cpp-grid { grid-template-columns: 1fr; }
  .cpp-quote-form .cpp-q-submit { width: 100%; }
}

/* ---------- product page: print spec sheet button ---------- */
.cpp-has-print { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
button.cpp-print { display: inline-flex; box-shadow: none; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; font: inherit; font-size: 14px; font-weight: 600;
  color: var(--cpp-teal); background: #fff; border: 1px solid #CBD5E1; border-radius: 8px; cursor: pointer; transition: border-color 160ms ease, transform 140ms var(--cpp-ease); }
button.cpp-print:hover { border-color: var(--cpp-teal); }
.cpp-print:active { transform: scale(0.97); }
.cpp-print svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cpp-print-head { display: none; }

/* ---------- back to top ---------- */
button.cpp-totop { position: fixed; padding: 0; right: 20px; bottom: 24px; z-index: 9980; width: 48px; height: 48px; border-radius: 50%; border: 0; cursor: pointer;
  background: var(--cpp-navy); color: #fff; display: grid; place-items: center; box-shadow: 0 8px 20px -6px rgba(1, 20, 37, .45);
  opacity: 0; transform: translateY(12px) scale(.9); pointer-events: none; transition: opacity 200ms ease, transform 220ms var(--cpp-ease), background-color 160ms ease; }
button.cpp-totop.is-on { opacity: 1; transform: none; pointer-events: auto; }
button.cpp-totop:hover { background: var(--cpp-teal); }
.cpp-totop svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 767px) { button.cpp-totop { bottom: 92px; right: 16px; width: 44px; height: 44px; } }

/* ---------- blog posts: reading progress and time ---------- */
.cpp-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 10000; background: var(--cpp-teal); transform-origin: 0 50%; transform: scaleX(0); pointer-events: none; }
.cpp-readtime svg { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }

@media (prefers-reduced-motion: reduce) {
  .cpp-totop, .cpp-add-line, .cpp-print { transition: none; }
}

/* ---------- print: clean spec sheet / page printout ---------- */
@media print {
  [data-elementor-type="header"], [data-elementor-type="footer"], [data-elementor-type="popup"], .cpp-bar, .cpp-totop, .cpp-print,
  .cpp-progress, .cpp-results, #product-detail-quote, .elementor-location-popup, .related, .up-sells { display: none !important; }
  .cpp-print-head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 2px solid #011425; padding: 0 0 8px; margin-bottom: 16px; font: 12px/1.4 "Satoshi", system-ui, sans-serif; color: #011425; }
  .cpp-print-head strong { font-size: 16px; }
  body { background: #fff !important; }
  * { box-shadow: none !important; animation: none !important; transition: none !important; }
  a[href^="http"]::after { content: none; }
}

/* reCAPTCHA is keyed to the WordPress domain and shows an error box here; forms use FormSubmit instead */
.grecaptcha-badge { display: none !important; }

/* ---------- desktop sticky bar (appears once the header has scrolled away) ---------- */
.cpp-sticky { display: none; }
@media (min-width: 1025px) {
  .cpp-sticky { display: block; position: fixed; top: 0; left: 0; right: 0; z-index: 9985; background: rgba(255, 255, 255, .97);
    border-bottom: 1px solid #E2E8F0; box-shadow: 0 6px 20px -12px rgba(1, 20, 37, .35);
    transform: translateY(-100%); visibility: hidden; transition: transform 200ms var(--cpp-ease), visibility 0s linear 200ms; }
  .cpp-sticky.is-on { transform: none; visibility: visible; transition: transform 200ms var(--cpp-ease), visibility 0s; }
  .cpp-sticky-in { max-width: 1210px; margin: 0 auto; padding: 0 20px; height: 64px; display: flex; align-items: center; gap: 28px; font-family: "Satoshi", system-ui, sans-serif; }
  .cpp-sticky-logo img { height: 40px; width: auto; display: block; }
  .cpp-sticky-nav { display: flex; gap: 4px; flex: 1; }
  .cpp-sticky-nav a, .cpp-sticky-tel { color: var(--cpp-navy) !important; text-decoration: none; font-size: 15px; font-weight: 500; padding: 8px 12px; border-radius: 8px; min-height: 36px; display: inline-flex; align-items: center; transition: background-color 160ms ease; }
  .cpp-sticky-nav a:hover, .cpp-sticky-tel:hover { background: var(--cpp-ice); }
  .cpp-sticky-tel { font-weight: 600; font-variant-numeric: tabular-nums; }
  .cpp-sticky-cta { display: inline-flex; align-items: center; min-height: 44px; max-width: 280px; padding: 0 20px; border-radius: 8px; background: var(--cpp-navy); color: #fff !important;
    font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap; transition: background-color 160ms ease, transform 140ms var(--cpp-ease); }
  .cpp-sticky-cta span { overflow: hidden; text-overflow: ellipsis; }
  .cpp-sticky-cta:hover { background: var(--cpp-teal); }
  .cpp-sticky-cta:active { transform: scale(0.97); }
  html { scroll-padding-top: 80px; }
}
@media (prefers-reduced-motion: reduce) { .cpp-sticky, .cpp-sticky.is-on { transition: none; } }

/* mobile quick bar: long product names stay on one line */
.cpp-bar__quote { min-width: 0; }
.cpp-bar-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
@media (max-width: 767px) { .cpp-bar a { font-size: 15px; gap: 6px; } }
@media (max-width: 767px) {
  .cpp-bar { grid-template-columns: 1fr 1fr 48px 1.6fr; }
  .cpp-bar__wa { color: #128C4A !important; box-shadow: inset 0 0 0 1.5px #128C4A; }
  .cpp-bar__wa svg { width: 22px; height: 22px; }
}
@media (min-width: 1025px) { .cpp-sticky-wa { color: #0F7A3F !important; font-weight: 600; font-size: 15px; text-decoration: none; padding: 8px 12px; border-radius: 8px; min-height: 36px; display: inline-flex; align-items: center; }
  .cpp-sticky-wa:hover { background: #E8F5EC; } }
@media (max-width: 767px) {
  .cpp-bar { grid-template-columns: auto auto 46px minmax(0, 1fr); gap: 6px; }
  .cpp-bar__call { padding: 0 12px; }
  .cpp-bar__quote { padding: 0 10px; font-size: 15px; }
}
@media (max-width: 767px) {
  .cpp-bar { grid-template-columns: 48px 48px 48px minmax(0, 1fr); }
  .cpp-bar__call { padding: 0; font-size: 0 !important; gap: 0; }
  .cpp-bar__call svg { width: 22px; height: 22px; }
  .cpp-bar__quote { font-size: 16px; white-space: nowrap; }
}

/* confirmation after the classic (non-AJAX) form path */
.cpp-toast { position: fixed; left: 50%; top: 20px; transform: translateX(-50%); z-index: 10001; max-width: min(560px, calc(100% - 32px));
  background: var(--cpp-navy); color: #fff; padding: 14px 18px; border-radius: 12px; box-shadow: 0 12px 32px -10px rgba(1, 20, 37, .5);
  font: 15px/1.45 "Satoshi", system-ui, sans-serif; transition: opacity 300ms ease, transform 300ms var(--cpp-ease); }
.cpp-toast.is-out { opacity: 0; transform: translate(-50%, -8px); pointer-events: none; }

/* form service fallback: one-tap ways to send the finished request */
.cpp-form-note .cpp-fb-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 8px; }
.cpp-form-note .cpp-fb-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; border-radius: 4px; border: 1px solid #011425; background: #fff; color: #011425 !important; font: inherit; font-weight: 700; font-size: 15px; text-decoration: none !important; cursor: pointer; }
.cpp-form-note .cpp-fb-btn--main { background: #011425; color: #fff !important; }
.cpp-form-note .cpp-fb-retry { border-style: dashed; }
.cpp-form-note .cpp-fb-call { display: block; font-size: 14px; }

/* credit application: our own file + validation feedback */
.cpp-ff-files { margin-top: 8px; font-size: 14px; color: #011425; font-weight: 600; }
.frm-fluent-form .cpp-ff-missing { border-color: #B42318 !important; box-shadow: 0 0 0 3px rgba(180,35,24,.15) !important; }
.frm-fluent-form .cpp-form-note { margin-top: 16px; }
