.sv-demo { padding: clamp(2rem, 5vw, 5rem) 1rem; background: #eaf6ef; color: #0f1a14; }
.sv-demo__inner { max-width: 1120px; margin: 0 auto; display: grid; gap: 2rem; align-items: center; }
@media (min-width: 760px) { .sv-demo__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.sv-demo__eyebrow { color: #0e8f52; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.sv-demo h2 { color: #123f2f; line-height: 1.12; }
.sv-demo__button { border: 0; border-radius: 99px; padding: .9rem 1.4rem; background: #0e8f52; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.sv-demo__button:hover { background: #123f2f; }
.sv-demo__button:focus-visible { outline: 3px solid #123f2f; outline-offset: 4px; }
.sv-demo__status { min-height: 1.5em; }
.sv-demo__visual { max-width: 400px; margin: 0 auto; overflow: hidden; border-radius: 1.25rem; background: #d9e9df; box-shadow: 0 16px 40px rgb(18 63 47 / .13); }
.sv-demo__visual img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.sv-demo__visual .sv-demo__animated { object-fit: contain; background: #eaf6ef; }
.sv-demo__visual img[hidden] { display: none; }
.sv-demo__caption { margin: 0; padding: .65rem 1rem; color: #284438; font-size: .82rem; }
.sv-product-media { min-height: 240px; }
.sv-product-media img { display: block; max-width: 100%; height: auto; }
.sv-product-media__pending { min-height: 240px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .4rem; padding: 1.5rem; border: 1px solid #bedac9; border-radius: 1rem; background: linear-gradient(145deg, #eaf6ef, #f8fcf9); color: #123f2f; text-align: center; }
.sv-product-media__symbol { font-size: 2rem; opacity: .55; }
.sv-product-media__pending small { color: #41584a; }
@media (prefers-reduced-motion: reduce) { .sv-demo *, .sv-product-media * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
.sv-gallery .sv-product-media { min-height: 0; }
.sv-gallery .sv-product-media + .sv-product-media { margin-top: 1rem; }
.sv-gallery .sv-product-media img { width: 100%; border-radius: 1rem; }
.sv-gallery__grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin-bottom: 1rem; }
.sv-gallery__grid .sv-product-media + .sv-product-media { margin-top: 0; }
.sv-gallery__grid .sv-product-media img { aspect-ratio: 8 / 7; object-fit: cover; }
.sv-offer { margin: 1rem 0 .5rem; padding: .9rem 1rem; border: 2px solid #0f8a4f; border-radius: 1rem; background: #fff; font-size: 1.25rem; line-height: 1.4; }
.sv-offer__badge { display: inline-block; margin-right: .4rem; padding: .2rem .6rem; border-radius: 999px; background: #0f8a4f; color: #fff; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; vertical-align: middle; }
.sv-offer s { color: #6b7a70; font-size: 1rem; margin-left: .3rem; }
.sv-offer small { font-size: .9rem; color: #41584a; }
