/* TPMS Petitions - Scoped styles. No theme/Elementor override. */
.tpms-root{--tpms-navy:#0c2f59;--tpms-red:#c50000;--tpms-muted:#697789;--tpms-line:#e6e9ef;box-sizing:border-box;color:#172944;font-family:inherit}
.tpms-root *, .tpms-root *::before,.tpms-root *::after{box-sizing:border-box}
.tpms-root a{text-decoration:none}
.tpms-page{width:min(1220px,calc(100% - 36px));margin:50px auto 80px}
.tpms-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:44px;align-items:start}
.tpms-article{min-width:0;background:#fff;border-radius:18px;overflow:hidden}
.tpms-hero img{display:block;width:100%;max-height:510px;object-fit:cover}
.tpms-article-inner{padding:30px 36px 50px}
.tpms-article-inner h1{color:var(--tpms-navy);font-size:clamp(30px,4vw,46px);line-height:1.13;letter-spacing:-.025em;margin:0 0 25px;font-weight:800}
.tpms-content{font-size:17px;line-height:1.82;color:#263749}
.tpms-content p{margin:0 0 1.1em}
.tpms-content img{max-width:100%;height:auto}
.tpms-eyebrow{color:var(--tpms-red);font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.13em;margin:0 0 9px}
.tpms-widget{position:relative;min-width:0;z-index:5}
.tpms-card{background:#fff;border:1px solid var(--tpms-line);border-radius:20px;box-shadow:0 12px 40px rgba(10,32,61,.11);padding:28px 27px;outline:none}
.tpms-widget--inline .tpms-card{position:static}
.tpms-card h2{font-size:26px;line-height:1.18;letter-spacing:-.02em;color:var(--tpms-navy);font-weight:800;margin:0 0 22px}
.tpms-stats{display:flex;justify-content:space-between;gap:16px;margin:0 0 13px}
.tpms-stats>div{display:flex;flex-direction:column}
.tpms-stats>div:last-child{text-align:right}
.tpms-stats strong{display:block;font-size:26px;line-height:1.15;font-weight:800;color:var(--tpms-navy);font-variant-numeric:tabular-nums}
.tpms-stats span{font-size:12px;color:var(--tpms-muted)}
.tpms-meter{overflow:hidden;border-radius:999px;background:#edf0f5;height:10px;margin:0 0 23px}
.tpms-meter>span{height:100%;display:block;background:linear-gradient(90deg,#df0707,var(--tpms-red));border-radius:inherit;min-width:0;transition:width .45s ease}
.tpms-form{display:flex;flex-direction:column;gap:14px}
.tpms-names{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tpms-form label:not(.tpms-check){display:block;font-size:13px;line-height:1.25;font-weight:700;color:var(--tpms-navy);margin-bottom:6px}
.tpms-form input[type='text'],.tpms-form input[type='email']{width:100%;min-width:0;max-width:100%;height:44px;padding:11px 12px;color:#1a2b3b;background:#fff;border:1px solid #cdd4dc;border-radius:9px;box-shadow:none;font-family:inherit;font-size:15px}
.tpms-form input:focus{outline:2px solid #91badc;outline-offset:1px;border-color:#527eae}
.tpms-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;color:#304358;cursor:pointer}
.tpms-check input{width:17px;height:17px;margin:1px 0 0;flex:none;accent-color:var(--tpms-navy)}
.tpms-legal{margin:0;font-size:11px;line-height:1.48;color:var(--tpms-muted)}
.tpms-legal a{color:var(--tpms-navy);text-decoration:underline}
.tpms-submit,.tpms-open{border:none!important;border-radius:99px;background:var(--tpms-red)!important;color:#fff!important;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;font-family:inherit;font-size:15px;font-weight:800;line-height:1.25;min-height:52px;padding:13px 20px;box-shadow:0 8px 19px rgba(197,0,0,.17)}
.tpms-submit:hover,.tpms-open:hover{background:#a00000!important}
.tpms-submit:focus-visible,.tpms-open:focus-visible,.tpms-close:focus-visible{outline:3px solid #628cbd;outline-offset:3px}
.tpms-submit:disabled{opacity:.55;cursor:wait}
.tpms-feedback{font-size:13px;line-height:1.45;border-radius:9px;margin:0 0 14px;padding:12px 13px;background:#eef2fa;color:#223c60}
.tpms-feedback[hidden]{display:none}
.tpms-feedback.tpms-ok{color:#18592c;background:#e9f8ee}
.tpms-feedback.tpms-error{color:#8e1620;background:#fff0f1}
.tpms-message{font-size:14px;line-height:1.6;background:#f5f7fa;padding:14px;border-radius:10px}
.tpms-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.tpms-backdrop,.tpms-open,.tpms-close{display:none}
.tpms-only-mobile{display:none}
/* Elementor legacy page: floating CTA opens a centered modal on desktop. */
.tpms-widget--floating .tpms-open{display:flex;position:fixed;bottom:25px;right:28px;z-index:2147482990}
.tpms-widget--floating .tpms-card{display:none;position:fixed;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 42px);overflow:auto;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2147483002}
.tpms-widget--floating .tpms-backdrop{display:none;position:fixed;inset:0;background:rgba(3,16,32,.65);z-index:2147483001}
.tpms-widget--floating.tpms-is-open .tpms-card,.tpms-widget--floating.tpms-is-open .tpms-backdrop{display:block}
.tpms-widget--floating.tpms-is-open .tpms-open{display:none}
.tpms-widget--floating .tpms-close{display:flex}
.tpms-close{position:absolute;top:12px;right:12px;border:0;background:#f2f3f6;color:#1f3350;border-radius:100px;width:32px;height:32px;font-size:24px;line-height:1;align-items:center;justify-content:center;cursor:pointer}
body.tpms-modal-open{overflow:hidden}
.tpms-archive-grid{--tpms-navy:#0c2f59;--tpms-red:#c50000;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:20px 0}
.tpms-archive-item{position:relative;display:flex;flex-direction:column;justify-content:end;min-height:340px;border-radius:11px;overflow:hidden;background:var(--tpms-navy);color:#fff!important;padding:18px;text-decoration:none}
.tpms-archive-item:before{content:'';background:linear-gradient(to top,rgba(130,0,0,.92),rgba(17,32,58,.08));position:absolute;inset:0;z-index:1}
.tpms-archive-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .2s}
.tpms-archive-item:hover img{transform:scale(1.035)}
.tpms-archive-item strong,.tpms-archive-item span{position:relative;z-index:2;text-align:center;color:white}
.tpms-archive-item strong{font-size:24px;line-height:1.16}
.tpms-archive-item span{background:#fff;color:var(--tpms-red);font-size:14px;padding:10px 14px;border-radius:99px;align-self:center;font-weight:800;margin-top:14px}
@media(max-width:900px){
 .tpms-layout{grid-template-columns:minmax(0,1fr);gap:0}
 .tpms-page{margin:20px auto 100px;width:min(760px,calc(100% - 24px))}
 .tpms-article-inner{padding:22px 17px 45px}
 .tpms-only-mobile{display:block;margin:24px 0 10px}
 .tpms-root .tpms-widget--inline .tpms-open{display:flex}
 .tpms-widget--inline .tpms-card{display:none;position:fixed;top:auto;bottom:0;left:0;right:0;border-radius:20px 20px 0 0;max-height:min(92dvh,850px);overflow-y:auto;padding:27px 20px max(20px,env(safe-area-inset-bottom));z-index:2147483002}
 .tpms-widget--inline .tpms-backdrop{display:none;position:fixed;inset:0;background:rgba(3,16,32,.65);z-index:2147483001}
 .tpms-widget--inline.tpms-is-open .tpms-card,.tpms-widget--inline.tpms-is-open .tpms-backdrop{display:block}
 .tpms-widget--inline .tpms-open,.tpms-widget--floating .tpms-open{display:flex;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;z-index:2147482990;width:calc(100% - 24px);max-width:none}
 .tpms-widget.tpms-is-open .tpms-open{display:none}
 .tpms-widget--inline .tpms-close{display:flex}
 .tpms-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
}
@media(max-width:540px){
 .tpms-page{width:100%;margin:0 auto 90px}
 .tpms-article{border-radius:0}
 .tpms-article-inner h1{font-size:31px}
 .tpms-content{font-size:16px}
 .tpms-widget .tpms-card{width:100%}
 .tpms-widget--floating .tpms-card{top:auto;bottom:0;left:0;transform:none;border-radius:20px 20px 0 0;max-height:92dvh}
 .tpms-stats strong{font-size:24px}
 .tpms-archive-grid{grid-template-columns:1fr}
 .tpms-archive-item{min-height:310px}
}
@media(prefers-reduced-motion:reduce){.tpms-root *{scroll-behavior:auto!important;transition:none!important}}

/* v1.2.2: desktop sidebar stays sticky without a nested scrollbar. */
@media (min-width:901px){
 .tpms-layout>.tpms-widget--inline{position:sticky;top:var(--tpms-sticky-top,140px);align-self:start;max-height:none}
 .tpms-layout>.tpms-widget--inline .tpms-card{position:static;max-height:none;overflow:visible;overscroll-behavior:auto}
 .tpms-widget--inline>.tpms-open,.tpms-widget--inline>.tpms-mobile-cta{display:none!important}
 .tpms-widget .tpms-close{display:none!important}
}
/* Desktop never shows the second, redundant button. Mobile keeps the bottom CTA/popup. */
.tpms-widget--inline>.tpms-mobile-cta{display:none!important}
@media (max-width:900px){
 .tpms-layout>.tpms-widget--inline{position:static;top:auto;max-height:none}
 .tpms-widget--inline>.tpms-mobile-cta{display:flex!important}
 .tpms-widget--inline .tpms-card{max-height:min(92dvh,850px)}
}
