.dsc-grid-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.dsc-single-card{width:min(100%,420px)}
.dsc-card{background:#fff;border:1px solid #e8e8e8;border-radius:14px;overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,.05);min-width:0}
.dsc-card-media-link{display:block;color:inherit;text-decoration:none}
.dsc-card-image{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .2s ease}
.dsc-card-media-link:hover .dsc-card-image{transform:scale(1.015)}
.dsc-card-body{padding:18px}
.dsc-card h3{margin:0 0 8px;font-size:1.3rem;line-height:1.2}
.dsc-card-title-link{color:inherit;text-decoration:none}
.dsc-card-title-link:hover{text-decoration:underline;text-underline-offset:3px}
.dsc-card p{margin:0 0 12px}
.dsc-pricing{display:flex;gap:12px;align-items:baseline;margin:14px 0 4px}
.dsc-pricing strong{font-size:1.35em}
.dsc-save{font-weight:700;margin-bottom:14px}
.dsc-button{appearance:none;border:0;background:#2872fa;color:#fff;font-weight:800;padding:14px 22px;border-radius:999px;cursor:pointer;width:100%;transition:transform .15s ease,opacity .15s ease}
.dsc-button:hover{transform:translateY(-1px)}
.dsc-button:disabled{opacity:.5;cursor:not-allowed;transform:none}

.dsc-carousel{position:relative;width:100%;padding:0 44px}
.dsc-carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--dsc-desktop,3) - 1)*20px)/var(--dsc-desktop,3));gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;padding:4px 2px 14px}
.dsc-carousel-track::-webkit-scrollbar{display:none}
.dsc-carousel .dsc-card{scroll-snap-align:start;height:100%}
.dsc-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;border:1px solid #ddd;border-radius:50%;background:#fff;color:#111;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.dsc-carousel-prev{left:0}.dsc-carousel-next{right:0}

.dsc-modal{position:fixed;inset:0;z-index:999999;display:none}
.dsc-modal.is-open{display:block}
.dsc-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}
.dsc-modal-panel{position:relative;z-index:1;background:#fff;width:min(680px,calc(100% - 32px));max-height:90vh;overflow:auto;margin:5vh auto;border-radius:18px;padding:28px}
.dsc-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:30px;cursor:pointer}
.dsc-modal-head h2{margin:0}
.dsc-selector{padding:18px 0;border-bottom:1px solid #eee}
.dsc-selector h3{margin:0 0 6px}
.dsc-selector-label{font-size:.92em;margin-bottom:10px}
.dsc-options{display:flex;flex-wrap:wrap;gap:8px}
.dsc-option input{position:absolute;opacity:0}
.dsc-option span{display:inline-flex;min-width:46px;height:42px;padding:0 12px;align-items:center;justify-content:center;border:1px solid #cfcfcf;border-radius:9px;font-weight:700;cursor:pointer}
.dsc-option input:checked+span{background:#111;color:#fff;border-color:#111}
.dsc-modal-total{padding:18px 0}
.dsc-modal-total>div{display:flex;justify-content:space-between;padding:4px 0}
.dsc-saving-line{font-weight:800}
.dsc-no-scroll{overflow:hidden}
.dsc-cart-savings th,.dsc-cart-savings td{font-weight:800}
.dsc-loading{padding:40px 0;text-align:center;font-weight:700}

.dsc-gallery{width:100%}
.dsc-gallery-main{overflow:hidden;border-radius:14px;background:#f5f5f5}
.dsc-gallery-main-link{display:block}
.dsc-gallery-main-image{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.dsc-gallery-thumbs{display:flex;gap:10px;overflow-x:auto;margin-top:12px;padding-bottom:4px;scrollbar-width:thin}
.dsc-gallery-thumb-button{flex:0 0 76px;width:76px;height:76px;padding:0;border:2px solid transparent;border-radius:9px;background:#f5f5f5;overflow:hidden;cursor:pointer}
.dsc-gallery-thumb-button.is-active{border-color:#2872fa}
.dsc-gallery-thumb-button img{display:block;width:100%;height:100%;object-fit:cover}

.dsc-offer-page{padding:52px 20px 70px}
.dsc-offer-shell{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:48px;align-items:center}
.dsc-offer-media{min-width:0}
.dsc-offer-content{max-width:500px}
.dsc-offer-kicker{font-size:.82rem;font-weight:900;letter-spacing:.12em;margin-bottom:10px}
.dsc-offer-content h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;margin:0 0 16px}
.dsc-offer-desc{font-size:1.1rem;margin:0 0 24px}
.dsc-offer-price{display:flex;align-items:baseline;gap:16px;margin-bottom:6px}
.dsc-offer-old{text-decoration:line-through;opacity:.65;font-size:1.05rem}
.dsc-offer-price strong{font-size:2.2rem}
.dsc-offer-save{font-weight:900;margin-bottom:24px}
.dsc-offer-cta{max-width:380px}
.dsc-offer-note{font-size:.9rem;opacity:.72;margin-top:12px}
.dsc-offer-long-content{width:min(1180px,100%);margin:45px auto 0}
.dsc-landing-unavailable{width:min(900px,calc(100% - 40px));margin:70px auto;padding:40px;border:1px solid #ddd;border-radius:16px;text-align:center}

.dsc-template-title{margin:0}
.dsc-template-subtitle{font-size:1.05rem}
.dsc-template-price-row{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.dsc-template-price-row del{opacity:.62}
.dsc-template-price-row strong{font-size:2rem}
.dsc-template-save{font-weight:800;margin-top:6px}
.dsc-template-button{max-width:420px}
.dsc-template-content{width:100%}
.dsc-components-showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}
.dsc-component-card{border:1px solid #e7e7e7;border-radius:12px;overflow:hidden;background:#fff}
.dsc-component-card>a{display:block}
.dsc-component-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.dsc-component-card-copy{padding:12px}
.dsc-component-card-copy a{display:block;color:inherit;text-decoration:none;font-weight:700}
.dsc-component-label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;opacity:.65;margin-bottom:4px}

@media(max-width:1024px){
  .dsc-carousel-track{grid-auto-columns:calc((100% - (var(--dsc-tablet,2) - 1)*18px)/var(--dsc-tablet,2));gap:18px}
  .dsc-offer-shell{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:767px){
  .dsc-grid-list{grid-template-columns:1fr}
  .dsc-single-card{width:100%}
  .dsc-carousel{padding:0 30px}
  .dsc-carousel-track{grid-auto-columns:calc((100% - (var(--dsc-mobile,1) - 1)*14px)/var(--dsc-mobile,1));gap:14px}
  .dsc-carousel-arrow{width:32px;height:32px;font-size:24px}
  .dsc-modal-panel{position:absolute;left:0;right:0;bottom:0;width:100%;max-height:92vh;margin:0;border-radius:18px 18px 0 0;padding:24px 18px}
  .dsc-modal-panel:before{content:"";display:block;width:48px;height:5px;border-radius:5px;background:#ddd;margin:-10px auto 16px}
  .dsc-options{gap:7px}.dsc-option span{min-width:44px;height:40px}
  .dsc-offer-page{padding:24px 16px 50px}
  .dsc-offer-shell{grid-template-columns:1fr;gap:24px}
  .dsc-offer-content{max-width:none}
  .dsc-offer-content h1{font-size:2.25rem}
  .dsc-offer-cta{max-width:none}
  .dsc-gallery-thumb-button{flex-basis:66px;width:66px;height:66px}
}
