.e-con:has(> .elementor-widget[data-widget_type^="ptp-"]),
.e-con > .e-con-inner:has(> .elementor-widget[data-widget_type^="ptp-"]) {
  --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0;
  --gap: 0; --row-gap: 0; --column-gap: 0;
  padding: 0; gap: 0; max-width: none;
}
.elementor-widget[data-widget_type^="ptp-"] { width: 100%; margin: 0 !important; }
.elementor-widget[data-widget_type^="ptp-"] > .elementor-widget-container { margin: 0; padding: 0; }
.elementor [class*="ptp-"] img, .elementor .product-tile img, .elementor .card-media img, .elementor .pillar img { border-radius: 0; box-shadow: none; }

.admin-bar .site-header { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } .admin-bar.page-index .site-header { position: absolute; } }
.admin-bar .subnav { top: calc(var(--header-h) + var(--wp-admin--admin-bar--height, 32px)); }

@media (min-width: 961px) { .reason-grid { grid-template-columns: repeat(var(--cols, 4), 1fr); } }

@media (min-width: 861px) { .story-flip .story-media { order: -1; } }

.section-feature { padding-bottom: 0; }
.section-feature .feature { margin-bottom: 0; }
.section-cards.is-tight { padding-top: 18px; }

.quote-grid-solo { grid-template-columns: minmax(0, 860px); justify-content: center; }

.prose > *:first-child { margin-top: 0; }
.prose ul, .prose ol { color: var(--ink-2); padding-left: 1.3em; }
.prose h3 { font-size: 22px; color: var(--pine); margin-top: 1.4em; }
.prose a { color: var(--pine); }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.alignwide { max-width: var(--wrap); }
.wp-block-image img { border-radius: var(--radius); }
.nav-links { display: flex; gap: 12px; margin-top: 32px; }

.footer-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.footer-menu li + li::before { content: "·"; margin: 0 .5em; }
.footer-base { align-items: baseline; }
@media (max-width: 860px) { .footer-base { flex-direction: column; } }

.form-split { margin-top: 34px; padding: 22px 24px; border-top: 3px solid var(--lime); border-radius: 0 0 var(--radius) var(--radius); background: var(--mist); }
.form-split p { margin: 0 0 10px; color: var(--ink-2); max-width: 60ch; }
.form-split + .form-step { margin-top: 34px; }
.step-optional { font: 500 15px var(--body, inherit); font-style: normal; color: var(--ink-2); }

.whatsapp-float {
  position: fixed; right: 20px; bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 90;
  width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center;
  background: #25D366; box-shadow: 0 6px 20px rgba(0, 0, 0, .25); transition: transform .2s ease;
}
.whatsapp-float:hover { transform: scale(1.06); }
.whatsapp-float svg { width: 34px; height: 34px; }
.whatsapp-float .wa-bubble { fill: none; stroke: #fff; stroke-width: 2.4; stroke-linejoin: round; }
.whatsapp-float path:not(.wa-bubble) { fill: #fff; }
.to-top {
  --wa-bottom: 20px;
  position: fixed; right: 26px; bottom: calc(var(--wa-bottom) + 70px + env(safe-area-inset-bottom)); z-index: 90;
  width: 46px; height: 46px; border: 0; border-radius: 50%; padding: 0; cursor: pointer;
  display: grid; place-items: center; box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
  opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .25s ease, transform .25s ease, visibility .25s, background .2s;
}
.to-top.no-whatsapp { bottom: calc(var(--wa-bottom) + env(safe-area-inset-bottom)); }
.to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
html body .to-top { background: var(--lime); }
html body .to-top:hover { background: var(--pine); }
.to-top:focus-visible { outline: 3px solid var(--pine); outline-offset: 3px; }
.to-top svg { width: 22px; height: 22px; fill: var(--pine); transition: fill .2s; }
.to-top:hover svg { fill: var(--lime); }

@media (max-width: 860px) {
  body:not(.page-quote) .whatsapp-float { bottom: calc(84px + env(safe-area-inset-bottom)); }
  body:not(.page-quote) .to-top { --wa-bottom: 84px; }
}

.hero .hero-media picture { display: contents; }
.hero .hero-media .hero-poster { height: 100%; max-width: none; }
.hero .hero-video iframe { max-width: none; }

.nav .nav-cta { display: none; }
@media (max-width: 860px) {
  html body .site-header .nav a.nav-cta { display: flex; justify-content: center; margin-top: 20px; padding: 14px 20px; border: 0; border-radius: 999px; font-size: 20px; color: var(--charcoal); }
  .nav a.nav-cta::after { display: none; }
}

.film { z-index: 100000; }

html body a.btn { color: var(--fg); }
html body .site-header .nav a { color: var(--charcoal); }
html body .site-header .nav a[aria-current="page"] { color: var(--pine); }
html body .site-header .call { color: var(--pine); }
html body.page-index .site-header:not(.is-scrolled):not(.menu-open) .nav a,
html body.page-index .site-header:not(.is-scrolled):not(.menu-open) .call { color: #fff; }
html body .site-footer a { color: #fff; }
html body .site-footer a:hover { color: var(--lime); }
html body .product-tile, html body .product-tile:hover { color: var(--charcoal); }
html body .aside-list a { color: #fff; }
html body .cta-phone { color: var(--charcoal); }
html body .film-out { color: rgba(242, 245, 234, .75); }
html body .action-bar .action-call { color: #fff; }
html body .action-bar .action-quote { color: var(--charcoal); }

.e-con:has(> .elementor-widget-ptp-subnav),
.e-con:has(> .e-con-inner > .elementor-widget-ptp-subnav) {
  position: sticky; top: var(--header-h); z-index: 40;
}
.admin-bar .e-con:has(> .elementor-widget-ptp-subnav),
.admin-bar .e-con:has(> .e-con-inner > .elementor-widget-ptp-subnav) { top: calc(var(--header-h) + var(--wp-admin--admin-bar--height, 32px)); }
.elementor-widget-ptp-subnav .subnav { position: static; }
