.th-petition{--thp-bg:#fff;--thp-text:#242424;--thp-muted:#626262;--thp-accent:#242424;box-sizing:border-box;display:flex;align-items:stretch;overflow:hidden;background:var(--thp-bg);color:var(--thp-text);border:1px solid rgba(0,0,0,.12);border-radius:14px;font-family:inherit}
.th-petition *{box-sizing:border-box}.th-petition--light{--thp-bg:#f5f5f2}.th-petition--dark{--thp-bg:#222;--thp-text:#fff;--thp-muted:#ddd;--thp-accent:#fff;border-color:#444}.th-petition--transparent{--thp-bg:transparent}.th-petition--square{border-radius:0}.th-petition__media{flex:0 0 38%;min-height:200px;position:relative}.th-petition__image{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.th-petition__content{min-width:0;flex:1;padding:clamp(20px,3vw,38px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.th-petition__source{color:var(--thp-muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}.th-petition__title{color:inherit!important;font-size:clamp(22px,2.4vw,32px)!important;line-height:1.2!important;margin:0 0 12px!important}.th-petition__description{color:var(--thp-muted);font-size:15px;line-height:1.6;margin-bottom:20px}.th-petition__description p{margin:0 0 8px}.th-petition__button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--thp-accent);color:var(--thp-bg)!important;border:2px solid var(--thp-accent);border-radius:7px;padding:12px 20px;text-decoration:none!important;font-weight:700;line-height:1.3;transition:opacity .2s ease}.th-petition__button:hover,.th-petition__button:focus{opacity:.8}.th-petition--outline .th-petition__button{background:transparent;color:var(--thp-text)!important}.th-petition--vertical{flex-direction:column}.th-petition--vertical .th-petition__media{flex:auto;height:230px}.th-petition--compact .th-petition__media{flex-basis:25%;min-height:130px}.th-petition--compact .th-petition__content{padding:18px 24px}.th-petition--compact .th-petition__title{font-size:22px!important}.th-petition--button{display:inline-flex;border:0;background:transparent;overflow:visible}.th-petition--button .th-petition__button{margin:0}.th-petition--pill .th-petition__button{border-radius:999px}.th-petition-notice{border-left:3px solid #c80;padding:12px;background:#fff7e8}@media(max-width:767px){.th-petition--horizontal,.th-petition--compact{flex-direction:column}.th-petition--horizontal .th-petition__media,.th-petition--compact .th-petition__media{flex:auto;height:200px;min-height:0}.th-petition__content{padding:22px}}

/* Petition Hero: independent layout, preserving existing cards */
.th-petition--hero{position:relative;min-height:420px;display:flex;align-items:flex-end;background:#1c1c1c;color:#fff;border:0;isolation:isolate}
.th-petition--hero .th-petition__media{position:absolute;inset:0;min-height:0;width:100%;z-index:-2}
.th-petition--hero .th-petition__image{object-position:center center}
.th-petition--hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(0,0,0,.04) 5%,rgba(0,0,0,.25) 43%,rgba(0,0,0,.88) 100%);pointer-events:none}
.th-petition--hero.th-petition--hero-overlay-light:before{background:linear-gradient(to bottom,transparent 10%,rgba(0,0,0,.12) 45%,rgba(0,0,0,.72) 100%)}
.th-petition--hero.th-petition--hero-overlay-strong:before{background:linear-gradient(to bottom,rgba(0,0,0,.18) 5%,rgba(0,0,0,.48) 48%,rgba(0,0,0,.96) 100%)}
.th-petition--hero-height-short{min-height:320px}.th-petition--hero-height-medium{min-height:420px}.th-petition--hero-height-tall{min-height:560px}
.th-petition--hero-focus-top .th-petition__image{object-position:center top}.th-petition--hero-focus-bottom .th-petition__image{object-position:center bottom}.th-petition--hero-focus-left .th-petition__image{object-position:left center}.th-petition--hero-focus-right .th-petition__image{object-position:right center}
.th-petition--hero .th-petition__content{width:100%;flex:0 0 100%;padding:clamp(24px,4vw,60px);justify-content:flex-end;align-items:flex-start;position:relative;z-index:1}
.th-petition--hero .th-petition__brand{font-family:Arial,Helvetica,sans-serif;color:#ff4b4b;font-size:clamp(21px,2.4vw,31px);font-weight:800;letter-spacing:-.065em;line-height:1;margin-bottom:26px}
.th-petition--hero .th-petition__accent{height:8px;width:88px;background:#ff4b4b;margin-bottom:19px}
.th-petition--hero .th-petition__title{color:#fff!important;font-weight:800!important;font-size:clamp(34px,4.5vw,68px)!important;line-height:1.08!important;letter-spacing:-.035em;max-width:1100px;margin:0 0 16px!important;text-wrap:balance}
.th-petition--hero-title-size-medium .th-petition__title{font-size:clamp(28px,3.4vw,50px)!important}.th-petition--hero-title-size-xlarge .th-petition__title{font-size:clamp(40px,5.4vw,82px)!important}
.th-petition--hero .th-petition__description{color:rgba(255,255,255,.92);font-size:clamp(15px,1.5vw,20px);max-width:750px;margin-bottom:22px}
.th-petition--hero .th-petition__button{background:#ff4b4b;border-color:#ff4b4b;color:#fff!important;padding:14px 23px}
.th-petition--hero.th-petition--outline .th-petition__button{background:transparent;border-color:#fff;color:#fff!important}
.th-petition--hero-align-center .th-petition__content{align-items:center;text-align:center}.th-petition--hero-align-right .th-petition__content{align-items:flex-end;text-align:right}
@media(max-width:767px){.th-petition--hero{min-height:360px}.th-petition--hero-height-tall{min-height:480px}.th-petition--hero-height-short{min-height:280px}.th-petition--hero .th-petition__content{padding:24px}.th-petition--hero .th-petition__title{font-size:clamp(30px,8vw,46px)!important}.th-petition--hero-title-size-medium .th-petition__title{font-size:clamp(27px,7vw,38px)!important}.th-petition--hero-title-size-xlarge .th-petition__title{font-size:clamp(34px,9vw,54px)!important}}

/* Compact short hero, desktop fixed at 320px; mobile grows to fit. */
@media(min-width:768px){
.th-petition--hero.th-petition--hero-height-short{height:320px;min-height:320px}
.th-petition--hero.th-petition--hero-height-short .th-petition__content{padding:20px 30px}
.th-petition--hero.th-petition--hero-height-short .th-petition__brand{font-size:21px;margin-bottom:9px}
.th-petition--hero.th-petition--hero-height-short .th-petition__accent{height:5px;width:68px;margin-bottom:9px}
.th-petition--hero.th-petition--hero-height-short .th-petition__title,
.th-petition--hero.th-petition--hero-height-short.th-petition--hero-title-size-medium .th-petition__title,
.th-petition--hero.th-petition--hero-height-short.th-petition--hero-title-size-xlarge .th-petition__title{font-size:clamp(26px,3vw,40px)!important;line-height:1.08!important;margin-bottom:8px!important}
.th-petition--hero.th-petition--hero-height-short .th-petition__description{font-size:15px;line-height:1.3;margin-bottom:10px}
.th-petition--hero.th-petition--hero-height-short .th-petition__description p{margin:0}
.th-petition--hero.th-petition--hero-height-short .th-petition__button{padding:9px 16px}
}
@media(max-width:767px){.th-petition--hero.th-petition--hero-height-short{height:auto;min-height:280px}}

/* Extra-small 220px hero. Desktop keeps the height exact; narrow screens grow safely. */
@media(min-width:768px){
.th-petition--hero.th-petition--hero-height-xshort{height:220px;min-height:220px}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__content{padding:12px 22px}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__brand{font-size:17px;margin-bottom:5px}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__accent{height:4px;width:52px;margin-bottom:6px}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__title,
.th-petition--hero.th-petition--hero-height-xshort.th-petition--hero-title-size-medium .th-petition__title,
.th-petition--hero.th-petition--hero-height-xshort.th-petition--hero-title-size-xlarge .th-petition__title{font-size:clamp(21px,2.5vw,30px)!important;line-height:1.08!important;margin-bottom:5px!important}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__description{font-size:13px;line-height:1.2;margin-bottom:7px}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__description p{margin:0}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__button{padding:6px 12px;font-size:12px}
}
@media(max-width:767px){
.th-petition--hero.th-petition--hero-height-xshort{height:auto;min-height:220px}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__content{padding:16px 18px}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__brand{font-size:18px;margin-bottom:6px}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__accent{height:4px;width:54px;margin-bottom:7px}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__title{font-size:clamp(22px,6vw,30px)!important;line-height:1.1!important;margin-bottom:7px!important}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__description{font-size:13px;line-height:1.3;margin-bottom:8px}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__description p{margin:0}
.th-petition--hero.th-petition--hero-height-xshort .th-petition__button{padding:8px 12px;font-size:12px}
}

/* v1.2.3: Anchor extra-small hero content at the bottom, including inside event rich text.
   Keep the mobile content in normal flow so longer translations/text can expand safely. */
@media (min-width:768px) {
  .th-petition.th-petition--hero.th-petition--hero-height-xshort {
    position:relative; height:220px; min-height:220px;
  }
  .th-petition.th-petition--hero.th-petition--hero-height-xshort > .th-petition__content {
    position:absolute; left:0; right:0; bottom:0; top:auto;
    width:100%; height:auto; min-height:0; flex:none;
    display:flex; flex-direction:column; justify-content:flex-end;
    padding:12px 22px 16px; margin:0;
  }
}
@media (max-width:767px) {
  .th-petition.th-petition--hero.th-petition--hero-height-xshort > .th-petition__content {
    position:relative; bottom:auto; top:auto; height:auto; min-height:0;
    margin:0;
  }
}

/* v1.2.4: Keep petition typography independent of the host theme/event template. */
.th-petition,
.th-petition .th-petition__brand,
.th-petition .th-petition__title,
.th-petition .th-petition__description,
.th-petition .th-petition__description p,
.th-petition .th-petition__button {
  font-family: Arial, Helvetica, sans-serif !important;
}
.th-petition .th-petition__title {
  font-weight: 800 !important;
  font-style: normal !important;
  letter-spacing: -0.035em !important;
  text-transform: none !important;
}
