#campaign .campaign-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}#campaign .campaign-kpis strong{display:block;font-size:30px;margin:10px 0;color:#d71920}#campaign progress{width:100%;accent-color:#d71920;height:10px}#campaign .campaign-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}#campaign .campaign-tabs [aria-pressed=true]{background:#d71920;color:white}#campaign .tablecard{overflow:auto}#campaign table{min-width:850px}#campaign .campaign-summary{margin:18px 0}#campaign .campaign-upcoming{display:flex;gap:8px;flex-wrap:wrap}#campaignDialog{border:0;border-radius:16px;max-width:850px;width:calc(100% - 32px);max-height:90vh;padding:24px;color:#101828}#campaignDialog::backdrop{background:#10182880}#campaignDialog .form{display:grid;grid-template-columns:1fr 1fr;gap:16px}#campaignDialog .full{grid-column:1/-1}#campaignDialog label{display:block;margin-bottom:6px;font-weight:600}#campaignDialog input,#campaignDialog select,#campaignDialog textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #d0d5dd;border-radius:8px;font:inherit}#campaignDialog textarea{min-height:80px}#campaignDialog fieldset{border:1px solid #d0d5dd;border-radius:10px;padding:16px}#campaignDialog .campaign-services{display:flex;gap:14px;flex-wrap:wrap}#campaignDialog .campaign-services input{width:auto}#campaignDialog .campaign-services label{font-weight:400}#campaignMessage,#campaignError{color:#b42318;white-space:pre-wrap}.campaign-calendar-event{border-left:3px solid #d71920}#campaign .muted{line-height:1.5}@media(max-width:1000px){#campaign .campaign-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){#campaign .campaign-kpis{grid-template-columns:1fr}#campaignDialog .form{grid-template-columns:1fr}#campaignDialog{padding:16px}#campaign .title{flex-wrap:wrap}}

#campaign .promotion-catalog{padding:18px}#campaign .promotion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}#campaign .promotion-text{white-space:pre-wrap;overflow-wrap:anywhere}#campaign .promotion-grid h3{margin-top:0}#campaign [hidden]{display:none!important}

/* Same offer-card treatment as Tarifes de preu, scoped to campaign promotions. */
#campaign .promotion-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:34px;padding:20px 8px 8px}
#campaign .promotion-item{display:flex;flex-direction:column;gap:14px;min-width:0;isolation:isolate}
#campaign .promotion-offer{position:relative;flex:1;background:#fff;border:1px solid #d8dce3;border-radius:30px;padding:30px 24px;box-shadow:0 10px 26px #1223360c}
#campaign .promotion-offer:before{content:'';position:absolute;inset:-6px;background:#df1126;border-radius:31px;transform:rotate(-2deg);z-index:-1}
#campaign .promotion-kicker{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#bd1425;margin:0 0 18px}
#campaign .promotion-offer h3{font-size:25px;line-height:1.2;margin:0 0 16px;overflow-wrap:anywhere}
#campaign .promotion-labels{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px;font-size:12px;color:#687587}
#campaign .promotion-status{padding:5px 9px;border-radius:20px;background:#f3f5f8;font-weight:700;color:#475467}
#campaign .promotion-status.is-current{background:#e8f7ef;color:#176b43}
#campaign .promotion-price{font-size:clamp(32px,3vw,47px);font-weight:800;line-height:1.15;margin:0 0 25px;overflow-wrap:anywhere;letter-spacing:-.035em}
#campaign .promotion-price small{display:block;font-size:14px;font-weight:400;color:#687587;letter-spacing:0;margin-top:8px}
#campaign .promotion-benefits{padding-left:20px;line-height:1.5;margin:20px 0;overflow-wrap:anywhere}
#campaign .promotion-benefits li{margin:8px 0}#campaign .promotion-benefits li::marker{color:#df1126}
#campaign .promotion-benefits:empty{display:none}
#campaign .promotion-dates{display:grid;grid-template-columns:1fr 1fr;background:#f3f5f8;border-radius:12px;padding:12px;gap:10px;margin:22px -8px 0}
#campaign .promotion-dates small{display:block;color:#687587;font-size:12px;margin-bottom:6px}
#campaign .promotion-dates strong{font-size:14px;overflow-wrap:anywhere}
#campaign .promotion-costs,#campaign .promotion-details{font-size:13px;color:#687587;line-height:1.5;margin:18px 0 0;overflow-wrap:anywhere}
#campaign .promotion-details summary{cursor:pointer;font-weight:600;color:#344054}
#campaign .promotion-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding-top:4px}
#campaign .promotion-actions .btn{font-size:13px}
@media(max-width:600px){#campaign .promotion-catalog{padding:14px}#campaign .promotion-offer{padding:26px 20px}#campaign .promotion-grid{gap:28px}}
