/*! WindspeedSEO Visual System - WordPress SEO automation objects v1.4.8
 * Objects built only for the WordPress SEO automation page: a simple draft-to-published post card (hero), a
 * publishing calendar, a post that assembles its SEO parts, a one-time developer key, a panel of separate
 * switchable keys and a before/after on-page fix. Same pattern as the other page files: one root class (.ws-wp)
 * on distinct element tags, styled by structure, with .ws-wp-on marking the key item.
 * Colours: the WindspeedSEO brand kit only (slate, brand green, data blue, neutrals); the kit's error red appears only where it means a problem.
 * Loads after ws-visual-tm.css.
 */

/* two hero parts lost their single-use classes to free global class slots; styled by position/structure now */
html .elementor .ws-hx-ai .ws-hx-chip > .e-con:first-child { width: 7px; height: 7px; border-radius: 9999px; background: var(--ws-color-brand-green-500); flex: 0 0 auto; }
.ws-js .ws-in .ws-hx-ai .ws-hx-chip > .e-con:first-child { animation: ws-live 1.6s ease-in-out infinite; }
html .elementor .ws-hx .e-con:has(> .ws-hx-check) { display: flex; flex-direction: column; gap: 5px; }

.elementor .ws-wp { --wp-blue: #347FA8; --wp-navy: #2A3546; --wp-sun: #BEDD79; --wp-mint: #6B951B; --wp-pink: #96C8E1; --wp-cream: #F7FBEF; --wp-sky: #F1F8FC; }
html .elementor .ws-wp .e-div-block-base { min-width: 0; }
html .elementor .ws-wp .e-paragraph-base { margin: 0; }

/* ============================================================ HERO: DRAFT TO PUBLISHED  (.ws-hero div.ws-wp) */
html .elementor .ws-hero div.ws-wp { display: flex; flex-direction: column; gap: 18px; padding: 30px; border-radius: 28px; color: var(--wp-navy);
  background: radial-gradient(80% 60% at 100% 0%, rgba(190, 221, 121, .35), transparent 60%), radial-gradient(70% 60% at 0% 100%, rgba(52, 127, 168, .16), transparent 60%), var(--wp-cream);
  box-shadow: 0 36px 70px -36px rgba(20, 27, 38, .8); }
html .elementor .ws-hero div.ws-wp > .e-con:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html .elementor .ws-hero div.ws-wp > .e-con:first-child > :first-child { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; white-space: nowrap; }
html .elementor .ws-hero div.ws-wp > .e-con:first-child > :first-child::before { content: "W"; width: 30px; height: 30px; border-radius: 9999px; display: grid; place-items: center; font-family: Georgia, "Times New Roman", serif; font-size: 17px; font-weight: 700; color: #fff; background: var(--wp-blue); }
/* the status chip: three words cycling in one spot */
html .elementor .ws-hero div.ws-wp > .e-con:first-child > .e-con { display: grid; flex: 0 0 auto; width: auto; }
html .elementor .ws-hero div.ws-wp > .e-con:first-child > .e-con > .e-paragraph-base { grid-area: 1 / 1; justify-self: end; padding: 6px 14px; border-radius: 9999px; font-size: 13px; font-weight: 800; white-space: nowrap; }
html .elementor .ws-hero div.ws-wp > .e-con:first-child > .e-con > :nth-child(1) { background: #EDF6DB; color: #537418; opacity: 0; }
html .elementor .ws-hero div.ws-wp > .e-con:first-child > .e-con > :nth-child(2) { background: #EDF6DB; color: #537418; opacity: 0; }
html .elementor .ws-hero div.ws-wp > .e-con:first-child > .e-con > :nth-child(3) { background: #EDF6DB; color: #537418; }
/* the post */
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(2) { display: flex; flex-direction: column; gap: 14px; padding: 16px; border-radius: 20px; background: #fff; box-shadow: 0 18px 34px -24px rgba(20, 27, 38, .5); }
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(2) > .e-con:first-child { position: relative; height: 150px; border-radius: 14px; overflow: hidden; background: linear-gradient(135deg, #347FA8, #96C8E1 55%, #96C8E1); }
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(2) > .e-con:first-child::before { content: ""; position: absolute; left: 12%; top: 22%; right: auto; bottom: auto; width: 86px; height: 86px; border-radius: 9999px; background: var(--wp-sun); box-shadow: 0 0 0 14px rgba(190, 221, 121, .25); }
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(2) > .e-con:first-child::after { content: ""; position: absolute; left: -5%; right: -5%; bottom: -30px; top: auto; width: auto; height: 90px; border-radius: 50% 50% 0 0; background: #6B951B; box-shadow: 120px -18px 0 -10px #6B951B; }
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(2) > .e-paragraph-base { font-size: 21px; font-weight: 800; line-height: 1.25; color: var(--wp-navy); }
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(2) > .e-con:last-child { display: flex; flex-direction: column; gap: 8px; }
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(2) > .e-con:last-child > .e-con { height: 9px; border-radius: 9999px; background: #E2F1F8; }
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(2) > .e-con:last-child > :nth-child(2) { width: 88%; } html .elementor .ws-hero div.ws-wp > .e-con:nth-child(2) > .e-con:last-child > :nth-child(3) { width: 64%; }
/* three friendly steps */
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(3) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(3) > .e-paragraph-base { --c: var(--wp-blue); display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 14px; font-size: 14px; font-weight: 700; background: #fff; border: 2px solid color-mix(in srgb, var(--c) 30%, transparent); }
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(3) > :nth-child(2) { --c: #6B951B; }
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(3) > :nth-child(3) { --c: var(--wp-mint); }
html .elementor .ws-hero div.ws-wp > .e-con:nth-child(3) > .e-paragraph-base::before { content: "✓"; width: 22px; height: 22px; flex: 0 0 22px; border-radius: 9999px; display: grid; place-items: center; font-size: 12px; font-weight: 900; color: #fff; background: var(--c); }
/* motion: the post builds, the steps tick, the status walks Draft -> Optimizing -> Published */
.ws-js .ws-hero div.ws-wp > .e-con:nth-child(2) > * { opacity: 0; translate: 0 12px; }
.ws-js .ws-hero.ws-in div.ws-wp > .e-con:nth-child(2) > * { opacity: 1; translate: 0 0; transition: opacity 500ms ease-out, translate 600ms var(--ws-ease-out); }
.ws-js .ws-hero.ws-in div.ws-wp > .e-con:nth-child(2) > :nth-child(1) { transition-delay: 300ms; } .ws-js .ws-hero.ws-in div.ws-wp > .e-con:nth-child(2) > :nth-child(2) { transition-delay: 650ms; }
.ws-js .ws-hero.ws-in div.ws-wp > .e-con:nth-child(2) > :nth-child(3) { transition-delay: 900ms; }
.ws-js .ws-hero.ws-in div.ws-wp > .e-con:nth-child(2) > .e-con:first-child::before { animation: ws-wp-sun 6s ease-in-out infinite; }
@keyframes ws-wp-sun { 0%, 100% { translate: 0 0; } 50% { translate: 18px -8px; } }
.ws-js .ws-hero div.ws-wp > .e-con:nth-child(3) > .e-paragraph-base::before { scale: 0; }
.ws-js .ws-hero.ws-in div.ws-wp > .e-con:nth-child(3) > .e-paragraph-base::before { animation: ws-wp-tick 7.5s ease-in-out infinite; }
.ws-js .ws-hero.ws-in div.ws-wp > .e-con:nth-child(3) > :nth-child(1)::before { animation-delay: 1.2s; } .ws-js .ws-hero.ws-in div.ws-wp > .e-con:nth-child(3) > :nth-child(2)::before { animation-delay: 2.2s; }
.ws-js .ws-hero.ws-in div.ws-wp > .e-con:nth-child(3) > :nth-child(3)::before { animation-delay: 3.2s; }
@keyframes ws-wp-tick { 0% { scale: 0; } 6% { scale: 1.3; } 10%, 80% { scale: 1; } 90%, 100% { scale: 0; } }
.ws-js .ws-hero div.ws-wp > .e-con:first-child > .e-con > .e-paragraph-base { opacity: 0; }
.ws-js .ws-hero.ws-in div.ws-wp > .e-con:first-child > .e-con > :nth-child(1) { animation: ws-wp-s1 7.5s linear 1.2s infinite; }
.ws-js .ws-hero.ws-in div.ws-wp > .e-con:first-child > .e-con > :nth-child(2) { animation: ws-wp-s2 7.5s linear 1.2s infinite; }
.ws-js .ws-hero.ws-in div.ws-wp > .e-con:first-child > .e-con > :nth-child(3) { animation: ws-wp-s3 7.5s linear 1.2s infinite; }
@keyframes ws-wp-s1 { 0%, 12% { opacity: 1; } 14%, 100% { opacity: 0; } }
@keyframes ws-wp-s2 { 0%, 12% { opacity: 0; } 14%, 26% { opacity: 1; } 28%, 100% { opacity: 0; } }
@keyframes ws-wp-s3 { 0%, 26% { opacity: 0; scale: .8; } 29% { opacity: 1; scale: 1.12; } 32%, 86% { opacity: 1; scale: 1; } 90%, 100% { opacity: 0; } }
@media (max-width: 767px) {
  html .elementor .ws-hero div.ws-wp { padding: 20px 18px; gap: 14px; }
  html .elementor .ws-hero div.ws-wp > .e-con:nth-child(2) > .e-con:first-child { height: 120px; }
  html .elementor .ws-hero div.ws-wp > .e-con:nth-child(2) > .e-paragraph-base { font-size: 18px; }
  html .elementor .ws-hero div.ws-wp > .e-con:nth-child(3) { gap: 6px; }
  html .elementor .ws-hero div.ws-wp > .e-con:nth-child(3) > .e-paragraph-base { flex-direction: column; gap: 5px; padding: 10px 6px; font-size: 12.5px; text-align: center; }
}

/* ============================================================ A. PUBLISHING CALENDAR  (article.ws-wp) */
html .elementor article.ws-wp { padding: 22px; border-radius: 24px; background: #fff; border: 1px solid #E2F1F8; box-shadow: 0 26px 50px -34px rgba(20, 27, 38, .6); }
html .elementor article.ws-wp > .e-con:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
html .elementor article.ws-wp > .e-con:first-child > :first-child { font-size: 17px; font-weight: 800; color: var(--wp-navy); }
html .elementor article.ws-wp > .e-con:first-child > :last-child { padding: 5px 12px; border-radius: 9999px; font-size: 12.5px; font-weight: 800; color: #537418; background: #EDF6DB; }
html .elementor article.ws-wp > .e-con:last-child { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
html .elementor article.ws-wp > .e-con:last-child > .e-paragraph-base { position: relative; display: flex; align-items: flex-start; justify-content: flex-start; aspect-ratio: 1 / 1; padding: 7px; border-radius: 12px; font-size: 12px; font-weight: 700; color: #6FB2D5; background: #F1F8FC; }
html .elementor article.ws-wp > .e-con:last-child > :nth-child(-n+7) { aspect-ratio: auto; padding: 0 0 4px; background: none; justify-content: center; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #4D5C74; }
/* post days: Mon and Thu get a published post, one day is "today" */
html .elementor article.ws-wp > .e-con:last-child > :is(:nth-child(8), :nth-child(11), :nth-child(15), :nth-child(18), :nth-child(22), :nth-child(25)) { --c: var(--wp-blue); color: #fff; background: linear-gradient(145deg, var(--c), color-mix(in srgb, var(--c) 70%, #fff)); }
html .elementor article.ws-wp > .e-con:last-child > :is(:nth-child(11), :nth-child(22)) { --c: #96C8E1; }
html .elementor article.ws-wp > .e-con:last-child > :is(:nth-child(15), :nth-child(25)) { --c: #6B951B; }
html .elementor article.ws-wp > .e-con:last-child > :is(:nth-child(8), :nth-child(11), :nth-child(15), :nth-child(18), :nth-child(22), :nth-child(25))::after { content: ""; position: absolute; left: 7px; right: 7px; bottom: 8px; height: 5px; border-radius: 9999px; background: rgba(255, 255, 255, .75); box-shadow: 0 -8px 0 rgba(255, 255, 255, .5); }
html .elementor article.ws-wp > .e-con:last-child > .ws-wp-on { color: var(--wp-navy); background: #EDF6DB; box-shadow: inset 0 0 0 2px var(--wp-sun); }
.ws-js article.ws-wp > .e-con:last-child > :is(:nth-child(8), :nth-child(11), :nth-child(15), :nth-child(18), :nth-child(22), :nth-child(25)) { opacity: 0; scale: .5; }
.ws-js article.ws-wp.ws-in > .e-con:last-child > :is(:nth-child(8), :nth-child(11), :nth-child(15), :nth-child(18), :nth-child(22), :nth-child(25)) { opacity: 1; scale: 1; transition: opacity 350ms ease-out, scale 550ms cubic-bezier(.34, 1.6, .64, 1); }
.ws-js article.ws-wp.ws-in > .e-con:last-child > :nth-child(8) { transition-delay: 400ms; } .ws-js article.ws-wp.ws-in > .e-con:last-child > :nth-child(11) { transition-delay: 700ms; }
.ws-js article.ws-wp.ws-in > .e-con:last-child > :nth-child(15) { transition-delay: 1000ms; } .ws-js article.ws-wp.ws-in > .e-con:last-child > :nth-child(18) { transition-delay: 1300ms; }
.ws-js article.ws-wp.ws-in > .e-con:last-child > :nth-child(22) { transition-delay: 1600ms; } .ws-js article.ws-wp.ws-in > .e-con:last-child > :nth-child(25) { transition-delay: 1900ms; }
.ws-js article.ws-wp.ws-in > .e-con:last-child > .ws-wp-on { animation: ws-wp-today 2.4s ease-in-out 2.2s infinite; }
@keyframes ws-wp-today { 0%, 100% { box-shadow: inset 0 0 0 2px #BEDD79, 0 0 0 0 rgba(190, 221, 121, 0); } 50% { box-shadow: inset 0 0 0 2px #BEDD79, 0 0 0 6px rgba(190, 221, 121, .35); } }
@media (max-width: 560px) { html .elementor article.ws-wp { padding: 14px; } html .elementor article.ws-wp > .e-con:last-child { gap: 5px; } html .elementor article.ws-wp > .e-con:last-child > .e-paragraph-base { padding: 5px; font-size: 10.5px; border-radius: 9px; } }

/* ============================================================ B. POST ASSEMBLY  (header.ws-wp) */
html .elementor header.ws-wp { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 26px; align-items: center; }
/* the post mock */
html .elementor header.ws-wp > .e-con:first-child { display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: 22px; background: #fff; box-shadow: 0 26px 50px -34px rgba(20, 27, 38, .6); }
html .elementor header.ws-wp > .e-con:first-child > .e-con { --g: #347FA8; position: relative; border-radius: 10px; background: #F1F8FC; outline: 2px solid transparent; outline-offset: 3px; }
html .elementor header.ws-wp > .e-con:first-child > :nth-child(1) { height: 26px; width: 80%; background: #E2F1F8; }
html .elementor header.ws-wp > .e-con:first-child > :nth-child(2) { height: 14px; width: 95%; --g: #6B951B; }
html .elementor header.ws-wp > .e-con:first-child > :nth-child(3) { height: 120px; --g: #96C8E1; background: linear-gradient(135deg, #BEDD79, #96C8E1 60%, #96C8E1); }
html .elementor header.ws-wp > .e-con:first-child > :nth-child(4) { height: 18px; width: 55%; --g: #96C8E1; background: #E2F1F8; }
html .elementor header.ws-wp > .e-con:first-child > :nth-child(5) { height: 42px; --g: #6B951B; background: repeating-linear-gradient(180deg, #F1F8FC 0 9px, transparent 9px 16px); }
html .elementor header.ws-wp > .e-con:first-child > :nth-child(6) { height: 22px; width: 70%; --g: #286788; background: linear-gradient(90deg, #E2F1F8 0 30%, transparent 30% 36%, #E2F1F8 36% 66%, transparent 66% 72%, #E2F1F8 72%); }
/* the checklist */
html .elementor header.ws-wp > .e-con:last-child { display: flex; flex-direction: column; gap: 10px; }
html .elementor header.ws-wp > .e-con:last-child > .e-con { --g: #347FA8; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid #E2F1F8; }
html .elementor header.ws-wp > .e-con:last-child > :nth-child(2) { --g: #6B951B; } html .elementor header.ws-wp > .e-con:last-child > :nth-child(3) { --g: #96C8E1; }
html .elementor header.ws-wp > .e-con:last-child > :nth-child(4) { --g: #96C8E1; } html .elementor header.ws-wp > .e-con:last-child > :nth-child(5) { --g: #6B951B; }
html .elementor header.ws-wp > .e-con:last-child > :nth-child(6) { --g: #286788; }
html .elementor header.ws-wp > .e-con:last-child > .e-con::before { content: "✓"; position: static; width: 26px; height: 26px; flex: 0 0 26px; border-radius: 9999px; display: grid; place-items: center; font-size: 13px; font-weight: 900; color: #fff; background: var(--g); }
html .elementor header.ws-wp > .e-con:last-child > .e-con > :first-child { font-size: 14.5px; font-weight: 700; color: var(--wp-navy); }
html .elementor header.ws-wp > .e-con:last-child > .e-con > :last-child { margin-left: auto; font-size: 12px; font-weight: 600; color: #4D5C74; text-align: right; }
/* in sync: each checklist row lights, and its part of the post glows */
.ws-js header.ws-wp.ws-in > .e-con:last-child > .e-con { animation: ws-wp-row 9s ease-in-out infinite; }
.ws-js header.ws-wp.ws-in > .e-con:first-child > .e-con { animation: ws-wp-part 9s ease-in-out infinite; }
.ws-js header.ws-wp.ws-in > .e-con > :nth-child(1) { animation-delay: .5s; } .ws-js header.ws-wp.ws-in > .e-con > :nth-child(2) { animation-delay: 2s; }
.ws-js header.ws-wp.ws-in > .e-con > :nth-child(3) { animation-delay: 3.5s; } .ws-js header.ws-wp.ws-in > .e-con > :nth-child(4) { animation-delay: 5s; }
.ws-js header.ws-wp.ws-in > .e-con > :nth-child(5) { animation-delay: 6.5s; } .ws-js header.ws-wp.ws-in > .e-con > :nth-child(6) { animation-delay: 8s; }
@keyframes ws-wp-row { 0%, 16% { border-color: var(--g); box-shadow: 0 10px 22px -14px var(--g); translate: -6px 0; } 22%, 100% { border-color: #E2F1F8; box-shadow: none; translate: 0 0; } }
@keyframes ws-wp-part { 0%, 16% { outline-color: var(--g); } 22%, 100% { outline-color: transparent; } }
.ws-js header.ws-wp > .e-con:last-child > .e-con { opacity: 0; translate: 16px 0; }
.ws-js header.ws-wp.ws-in > .e-con:last-child > .e-con { opacity: 1; translate: 0 0; transition: opacity 400ms ease-out calc(var(--ws-i, 0) * 110ms), translate 550ms var(--ws-ease-out) calc(var(--ws-i, 0) * 110ms); }
@media (max-width: 767px) {
  html .elementor header.ws-wp { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  html .elementor header.ws-wp > .e-con:last-child > .e-con > :last-child { display: none; }
}

/* ============================================================ C. ONE-TIME DEVELOPER KEY  (section.ws-wp) */
html .elementor section.ws-wp { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: 18px; padding: 26px; border-radius: 26px; background: linear-gradient(135deg, #2A3546, #347FA8); color: #fff; box-shadow: 0 30px 60px -34px rgba(20, 27, 38, .85); overflow: hidden; }
html .elementor section.ws-wp > .e-con { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; }
/* the developer */
html .elementor section.ws-wp > .e-con:nth-child(1)::before { content: ""; position: static; width: 72px; height: 72px; border-radius: 9999px; background: radial-gradient(circle at 50% 36%, #EDF6DB 0 17px, transparent 18px), radial-gradient(circle at 50% 108%, #96C8E1 0 32px, transparent 33px), #BEDD79; box-shadow: 0 0 0 6px rgba(255, 255, 255, .15); }
/* the site */
html .elementor section.ws-wp > .e-con:nth-child(3)::before { content: "W"; position: static; width: 72px; height: 72px; border-radius: 20px; display: grid; place-items: center; font-family: Georgia, "Times New Roman", serif; font-size: 36px; font-weight: 700; color: #286788; background: #fff; box-shadow: 0 0 0 6px rgba(255, 255, 255, .15); }
html .elementor section.ws-wp > .e-con:is(:nth-child(1), :nth-child(3)) > :first-child { font-size: 15px; font-weight: 800; }
html .elementor section.ws-wp > .e-con:is(:nth-child(1), :nth-child(3)) > :last-child { font-size: 12.5px; font-weight: 600; color: rgba(255, 255, 255, .78); }
/* the path the key travels, with the key itself */
html .elementor section.ws-wp > .e-con:nth-child(2) { position: relative; gap: 12px; }
html .elementor section.ws-wp > .e-con:nth-child(2) > .e-con:first-child { position: relative; width: 100%; height: 56px; }
html .elementor section.ws-wp > .e-con:nth-child(2) > .e-con:first-child::before { content: ""; position: absolute; left: 0; right: 0; top: 26px; bottom: auto; width: auto; height: 4px; border-radius: 4px; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .5) 0 10px, transparent 10px 18px); }
html .elementor section.ws-wp > .e-con:nth-child(2) > .e-con:first-child > .e-con { position: absolute; left: 0; top: 8px; width: max-content; display: flex; align-items: center; gap: 0; padding: 6px 12px 6px 6px; border-radius: 9999px; background: var(--wp-sun); color: #2A3546; box-shadow: 0 12px 26px -12px rgba(20, 27, 38, .6); }
html .elementor section.ws-wp > .e-con:nth-child(2) > .e-con:first-child > .e-con::before { content: ""; position: static; width: 26px; height: 26px; margin-right: 8px; border-radius: 9999px; background: radial-gradient(circle, #BEDD79 0 5px, #2A3546 5.5px 13px); }
html .elementor section.ws-wp > .e-con:nth-child(2) > .e-con:first-child > .e-con > .e-paragraph-base { font-size: 13px; font-weight: 800; white-space: nowrap; }
html .elementor section.ws-wp > .e-con:nth-child(2) > .e-paragraph-base { font-size: 13px; font-weight: 700; color: rgba(255, 255, 255, .9); }
/* the countdown bar */
html .elementor section.ws-wp > .e-con:nth-child(2) > .e-con:last-child { width: 100%; height: 8px; border-radius: 9999px; background: rgba(255, 255, 255, .18); overflow: hidden; }
html .elementor section.ws-wp > .e-con:nth-child(2) > .e-con:last-child::after { content: ""; position: static; display: block; width: 100%; height: 100%; border-radius: 9999px; background: linear-gradient(90deg, #6B951B, #BEDD79, #96C8E1); transform-origin: left center; }
.ws-js section.ws-wp.ws-in > .e-con:nth-child(2) > .e-con:first-child > .e-con { animation: ws-wp-key 6s ease-in-out 800ms infinite; }
@keyframes ws-wp-key { 0% { left: 0; opacity: 0; } 8% { opacity: 1; } 45%, 85% { left: calc(100% - 132px); opacity: 1; } 95%, 100% { left: calc(100% - 132px); opacity: 0; } }
.ws-js section.ws-wp.ws-in > .e-con:nth-child(2) > .e-con:last-child::after { animation: ws-wp-timer 6s linear 800ms infinite; }
@keyframes ws-wp-timer { 0%, 45% { scale: 1 1; } 95%, 100% { scale: 0 1; } }
.ws-js section.ws-wp.ws-in > .e-con:nth-child(3)::before { animation: ws-wp-unlock 6s ease-in-out 800ms infinite; }
@keyframes ws-wp-unlock { 0%, 44% { box-shadow: 0 0 0 6px rgba(255, 255, 255, .15); } 50%, 88% { box-shadow: 0 0 0 6px rgba(107, 149, 27, .9), 0 0 28px 6px rgba(107, 149, 27, .5); } 100% { box-shadow: 0 0 0 6px rgba(255, 255, 255, .15); } }
@media (max-width: 767px) {
  html .elementor section.ws-wp { grid-template-columns: minmax(0, 1fr); padding: 20px 16px; }
  html .elementor section.ws-wp > .e-con:nth-child(2) { order: 2; }
  html .elementor section.ws-wp > .e-con:nth-child(3) { order: 3; }
}

/* ============================================================ D. SEPARATE KEYS  (aside.ws-wp) */
html .elementor aside.ws-wp { display: flex; flex-direction: column; gap: 12px; }
html .elementor aside.ws-wp > .e-con:not(:last-child) { --c: #347FA8; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 18px; background: #fff; border: 1px solid #E2F1F8; box-shadow: 0 16px 30px -24px rgba(20, 27, 38, .6); }
html .elementor aside.ws-wp > :nth-child(2) { --c: #96C8E1; } html .elementor aside.ws-wp > :nth-child(3) { --c: #6B951B; }
html .elementor aside.ws-wp > .e-con:not(:last-child)::before { content: ""; position: static; width: 44px; height: 44px; border-radius: 14px; background: radial-gradient(circle at 34% 50%, transparent 0 6px, #fff 6.5px 11px, transparent 11.5px), linear-gradient(#fff, #fff) 58% 50% / 16px 5px no-repeat, linear-gradient(#fff, #fff) 76% 62% / 4px 7px no-repeat, var(--c); }
html .elementor aside.ws-wp > .e-con:not(:last-child) > .e-con:first-child { display: flex; flex-direction: column; gap: 2px; }
html .elementor aside.ws-wp > .e-con:not(:last-child) > .e-con:first-child > :first-child { font-size: 15px; font-weight: 800; color: var(--wp-navy); }
html .elementor aside.ws-wp > .e-con:not(:last-child) > .e-con:first-child > :last-child { font-size: 13px; font-weight: 600; color: #4D5C74; }
/* the switch */
html .elementor aside.ws-wp > .e-con:not(:last-child) > .e-con:last-child { position: relative; width: 50px; height: 28px; border-radius: 9999px; background: var(--c); }
html .elementor aside.ws-wp > .e-con:not(:last-child) > .e-con:last-child::after { content: ""; position: absolute; top: 3px; left: 25px; right: auto; bottom: auto; width: 22px; height: 22px; border-radius: 9999px; background: #fff; box-shadow: 0 2px 6px rgba(20, 27, 38, .25); }
.ws-js aside.ws-wp.ws-in > .e-con:not(:last-child) > .e-con:last-child { animation: ws-wp-switch 8s ease-in-out calc(1s + var(--ws-i, 0) * 1.6s) infinite; }
.ws-js aside.ws-wp.ws-in > .e-con:not(:last-child) > .e-con:last-child::after { animation: ws-wp-knob 8s ease-in-out calc(1s + var(--ws-i, 0) * 1.6s) infinite; }
@keyframes ws-wp-switch { 0%, 8%, 26%, 100% { background: var(--c); } 12%, 22% { background: #BFDDED; } }
@keyframes ws-wp-knob { 0%, 8%, 26%, 100% { left: 25px; } 12%, 22% { left: 3px; } }
/* the password badge */
html .elementor aside.ws-wp > .e-con:last-child { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 14px; border-radius: 18px; background: #EDF6DB; border: 2px dashed #6B951B; }
html .elementor aside.ws-wp > .e-con:last-child > .e-paragraph-base { font-size: 14.5px; font-weight: 800; color: #2A3546; text-align: center; }
.ws-js aside.ws-wp > .e-con { opacity: 0; translate: 0 14px; }
.ws-js aside.ws-wp.ws-in > .e-con { opacity: 1; translate: 0 0; transition: opacity 450ms ease-out calc(var(--ws-i, 0) * 140ms), translate 600ms var(--ws-ease-out) calc(var(--ws-i, 0) * 140ms); }

/* ============================================================ E. BEFORE / AFTER FIX  (footer.ws-wp) */
html .elementor footer.ws-wp { position: relative; display: grid; border-radius: 24px; overflow: hidden; box-shadow: 0 30px 60px -34px rgba(20, 27, 38, .7); }
html .elementor footer.ws-wp > .e-con:is(:nth-child(1), :nth-child(2)) { grid-area: 1 / 1; display: flex; flex-direction: column; gap: 8px; padding: 26px 26px 70px; min-height: 250px; }
html .elementor footer.ws-wp > .e-con:nth-child(1) { background: #F7FBEF; }
/* each side keeps its text in its own half so both read at the resting 50/50 split */
html .elementor footer.ws-wp > .e-con:is(:nth-child(1), :nth-child(2)) > .e-paragraph-base { max-width: 44%; }
html .elementor footer.ws-wp > .e-con:nth-child(2) { align-items: flex-end; }
html .elementor footer.ws-wp > .e-con:nth-child(2) > .e-paragraph-base:not(:first-child) { width: 44%; }
html .elementor footer.ws-wp > .e-con:nth-child(2) > :nth-child(1) { margin-left: 56%; }
html .elementor footer.ws-wp > .e-con:nth-child(2) { background: linear-gradient(135deg, #F1F8FC, #F1F8FC); clip-path: inset(0 0 0 50%); }
html .elementor footer.ws-wp > .e-con:is(:nth-child(1), :nth-child(2)) > :nth-child(1) { align-self: flex-start; padding: 4px 12px; border-radius: 9999px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
html .elementor footer.ws-wp > .e-con:nth-child(1) > :nth-child(1) { background: #EDF6DB; color: #537418; }
html .elementor footer.ws-wp > .e-con:nth-child(2) > :nth-child(1) { background: #347FA8; color: #fff; }
html .elementor footer.ws-wp > .e-con:is(:nth-child(1), :nth-child(2)) > :nth-child(2) { margin-top: 6px; font-size: 20px; font-weight: 700; line-height: 1.3; color: #286788; }
html .elementor footer.ws-wp > .e-con:nth-child(1) > :nth-child(2) { color: #4D5C74; }
html .elementor footer.ws-wp > .e-con:is(:nth-child(1), :nth-child(2)) > :nth-child(3) { font-family: var(--ws-mono); font-size: 13px; color: #537418; }
html .elementor footer.ws-wp > .e-con:is(:nth-child(1), :nth-child(2)) > :nth-child(4) { font-size: 14.5px; line-height: 1.5; color: #4C5663; }
html .elementor footer.ws-wp > .e-con:nth-child(1) > :nth-child(4) { color: #98A3AF; font-style: italic; }
/* the divider handle */
html .elementor footer.ws-wp > .e-con:nth-child(3) { grid-area: 1 / 1; position: relative; justify-self: start; left: 50%; width: 4px; min-width: 0; padding: 0; margin-left: -2px; background: #fff; box-shadow: 0 0 0 1px rgba(52, 127, 168, .2); z-index: 2; }
html .elementor footer.ws-wp > .e-con:nth-child(3)::after { content: "‹ ›"; position: absolute; top: 50%; left: 50%; right: auto; bottom: auto; width: 40px; height: 40px; margin: -20px 0 0 -20px; border-radius: 9999px; display: grid; place-items: center; font-size: 16px; font-weight: 900; color: #286788; background: #fff; box-shadow: 0 8px 18px -8px rgba(20, 27, 38, .6); }
/* the verified badge */
html .elementor footer.ws-wp > .e-con:nth-child(4) { grid-area: 1 / 1; align-self: end; justify-self: end; width: max-content; margin: 0 20px 18px 0; display: flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 9999px; background: #6B951B; color: #fff; z-index: 3; box-shadow: 0 12px 24px -12px rgba(83, 116, 24, .9); }
html .elementor footer.ws-wp > .e-con:nth-child(4)::before { content: "✓"; position: static; font-weight: 900; }
html .elementor footer.ws-wp > .e-con:nth-child(4) > .e-paragraph-base { font-size: 13.5px; font-weight: 800; white-space: nowrap; }
.ws-js footer.ws-wp.ws-in > .e-con:nth-child(2) { animation: ws-wp-reveal 7s ease-in-out 800ms infinite; }
.ws-js footer.ws-wp.ws-in > .e-con:nth-child(3) { animation: ws-wp-handle 7s ease-in-out 800ms infinite; }
@keyframes ws-wp-reveal { 0%, 100% { clip-path: inset(0 0 0 50%); } 40%, 60% { clip-path: inset(0 0 0 6%); } 80% { clip-path: inset(0 0 0 88%); } }
@keyframes ws-wp-handle { 0%, 100% { left: 50%; } 40%, 60% { left: 6%; } 80% { left: 88%; } }
.ws-js footer.ws-wp > .e-con:nth-child(4) { opacity: 0; scale: .6; }
.ws-js footer.ws-wp.ws-in > .e-con:nth-child(4) { opacity: 1; scale: 1; transition: opacity 400ms ease-out 1.6s, scale 600ms cubic-bezier(.34, 1.6, .64, 1) 1.6s; }
@media (max-width: 560px) {
  html .elementor footer.ws-wp > .e-con:is(:nth-child(1), :nth-child(2)) { padding: 18px 16px 64px; min-height: 280px; }
  html .elementor footer.ws-wp > .e-con:is(:nth-child(1), :nth-child(2)) > :nth-child(2) { font-size: 15px; }
  html .elementor footer.ws-wp > .e-con:is(:nth-child(1), :nth-child(2)) > :nth-child(3) { font-size: 11px; overflow-wrap: anywhere; }
  html .elementor footer.ws-wp > .e-con:is(:nth-child(1), :nth-child(2)) > :nth-child(4) { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .ws-js .ws-wp, .ws-js .ws-wp *, .ws-js .ws-wp *::before, .ws-js .ws-wp *::after { animation: none !important; }
  .ws-js .ws-hero div.ws-wp > .e-con:first-child > .e-con > :nth-child(3) { opacity: 1; }
}
