/* The v3 design system shared by BtoC widgets, without styling other plugins. */
.elementor-widget[class*='elementor-widget-btoc_'] { --btoc-ui-plum: #40164c; --btoc-ui-plum-mid: #692979; --btoc-ui-pink: #e6318a; --btoc-ui-peach: #ffd1b4; --btoc-ui-line: #ece5f0; --btoc-ui-ease: cubic-bezier(.22,.8,.26,.99); font-family: 'Open Sans', sans-serif; font-size: 17px; line-height: 1.7; }
.elementor-widget[class*='elementor-widget-btoc_'] h2 { font-size: clamp(2rem,4.6vw,3.4rem); font-weight: 800; line-height: 1.06; letter-spacing: -.03em; margin: 0 0 .45em; }
.elementor-widget[class*='elementor-widget-btoc_'] h3 { font-size: clamp(1.25rem,2vw,1.55rem); font-weight: 700; line-height: 1.25; letter-spacing: -.015em; }
.elementor-widget[class*='elementor-widget-btoc_'] h4 { font-size: 1.08rem; font-weight: 700; line-height: 1.06; letter-spacing: -.01em; }
.elementor-widget[class*='elementor-widget-btoc_'] :is(h1,h2,h3,h4) :is(p,span) { font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; }
.elementor-widget[class*='elementor-widget-btoc_'] .btoc-cta-band__title { font-size: clamp(1.9rem,4vw,3rem); }
.elementor-widget[class*='elementor-widget-btoc_'] .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 15px 28px; border: 0; border-radius: 999px; background: var(--btoc-ui-plum); color: #fff; font-size: .98rem; font-weight: 700; line-height: 1.7; text-decoration: none; text-align: center; cursor: pointer; transition: transform .25s var(--btoc-ui-ease), background .25s, color .25s, box-shadow .25s; }
.elementor-widget[class*='elementor-widget-btoc_'] .btn::after { content: '→'; margin: 0; transition: transform .25s var(--btoc-ui-ease); }
.elementor-widget[class*='elementor-widget-btoc_'] .btn:hover { background: var(--btoc-ui-plum-mid); color: #fff; transform: translateY(-2px); box-shadow: 0 12px 28px rgb(64 22 76 / 28%); }
.elementor-widget[class*='elementor-widget-btoc_'] .btn:hover::after { transform: translateX(4px); }
.elementor-widget[class*='elementor-widget-btoc_'] .btn.pink { background: var(--btoc-ui-pink); color: #fff; }
.elementor-widget[class*='elementor-widget-btoc_'] .btn.pink:hover { background: #c61b73; }
.elementor-widget[class*='elementor-widget-btoc_'] .btn.light { background: #fff; color: var(--btoc-ui-plum); }
.elementor-widget[class*='elementor-widget-btoc_'] .btn.light:hover { background: var(--btoc-ui-peach); }
.elementor-widget[class*='elementor-widget-btoc_'] .btn.ghost { background: transparent; color: var(--btoc-ui-plum); box-shadow: inset 0 0 0 2px currentColor; }
.elementor-widget[class*='elementor-widget-btoc_'] .btn.ghost:hover { background: var(--btoc-ui-plum); color: #fff; }
.elementor-widget[class*='elementor-widget-btoc_'] :is(a,button,input,select,textarea):focus-visible { outline: 3px solid var(--btoc-ui-pink); outline-offset: 3px; }
.elementor-widget[class*='elementor-widget-btoc_'] .btn.naked { background: none; color: var(--btoc-ui-plum-mid); padding: 0; box-shadow: none; }
.elementor-widget[class*='elementor-widget-btoc_'] .btn.naked:hover { background: none; transform: none; color: var(--btoc-ui-pink); }
.elementor-widget[class*='elementor-widget-btoc_'] .card { transition: transform .35s var(--btoc-ui-ease), box-shadow .35s var(--btoc-ui-ease); }
.elementor-widget[class*='elementor-widget-btoc_'] .card::before { transition: width .35s var(--btoc-ui-ease); }
.elementor-widget[class*='elementor-widget-btoc_'] .card:hover { transform: translateY(-6px); box-shadow: 0 18px 50px rgb(64 22 76 / 12%); }
.elementor-widget[class*='elementor-widget-btoc_'] .card:hover::before { width: 9px; }

