#cms-offer[hidden], #cms-order-offer[hidden] { display: none !important; }
#cms-offer { max-width: 650px; margin-top: 1.5rem; padding: 1.1rem 1.3rem; border-left: 4px solid #c0392b; background: rgba(255,255,255,.96); color: #232323; box-shadow: 0 8px 30px #0002; }
#cms-offer [data-offer-label] { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: #a72f23; }
#cms-offer h2 { font-family: var(--ff-d); font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 400; margin: .3rem 0; line-height: 1.1; }
#cms-offer p { font-size: .85rem; line-height: 1.5; }
#cms-offer [data-offer-price] { font-weight: 600; margin-top: .4rem; }
#cms-offer .cms-offer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .75rem; }
#cms-offer a { display: inline-block; color: #fff; background: #a72f23; padding: .65rem 1rem; font-size: .82rem; font-weight: 600; text-decoration: none; }
#cms-offer small { font-size: .72rem; color: #555; }
#cms-order-offer { padding: 1rem; margin: 1rem 0; background: #fff2ea; border-left: 3px solid #c0392b; line-height: 1.6; }
.cms-editing [data-cms-text]:hover, .cms-editing [data-cms-image]:hover, .cms-editing [data-cms-price]:hover, .cms-editing [data-cms-product-name]:hover, .cms-editing [data-cms-offer]:hover { outline: 2px dashed #2592ff; outline-offset: 3px; cursor: pointer; }
.cms-editing .cms-selected { outline: 3px solid #2592ff !important; outline-offset: 3px; }
.cms-editing .reveal { opacity: 1 !important; transform: none !important; }


#hero.cms-campaign { height: auto; min-height: max(620px, 100svh); padding-top: 130px; }
#hero.cms-campaign .hero-h1 { font-size: clamp(3.5rem, 9vw, 8rem); }
