.software-products-section,
.download-hub-section {
  padding: 64px 68px 78px;
  background: #e5ebf0;
  color: #151c26;
}

.software-products-wrap,
.download-hub-wrap {
  width: min(1440px, 100%);
  margin: 0 auto;
}

.software-products-heading,
.download-hub-heading {
  max-width: 760px;
  margin-bottom: 34px;
}

.software-products-heading h1,
.download-hub-heading h1 {
  margin: 8px 0 12px;
}

.software-products-heading > p:last-child,
.download-hub-heading > p:last-child {
  color: #5f6b7a;
}

.software-products-grid,
.download-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.software-product-card {
  overflow: hidden;
  border-radius: 22px;
  background: #eef2f5;
  box-shadow: 0 12px 34px rgba(0,0,0,.06), 0 3px 10px rgba(0,0,0,.04);
}

.software-product-visual {
  min-height: 270px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(#eef2f5,#dfe6ec);
  border-bottom: 1px solid rgba(16,22,30,.12);
}

.ksys-product-visual {
  background-image: url('/images/laptop-ksys.png'), linear-gradient(#eef2f5,#dfe6ec);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 78% auto, cover;
}

.as-product-visual img {
  width: min(78%, 360px);
  max-height: 230px;
  object-fit: contain;
}

.software-product-content {
  width: 100%;
  min-height: 240px;
  padding: 28px 30px 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  color: #151c26;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
}

.software-product-content h2 { margin: 8px 0 10px; }
.software-product-content > p:not(.eyebrow) { color: #5f6b7a; line-height: 1.7; flex: 1; }
.software-product-content > span { margin-top: 18px; font-weight: 700; color: #294fba; }

.download-product-card {
  min-height: 250px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  background: #f2f5f7;
  border: 1px solid rgba(16,22,30,.10);
  box-shadow: 0 12px 34px rgba(0,0,0,.05);
}

.download-product-label {
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #294fba;
}

.download-product-card h2 { margin: 14px 0 10px; }
.download-product-card p { color: #5f6b7a; line-height: 1.65; flex: 1; }
.download-product-card button {
  width: 100%;
  margin-top: 22px;
  padding: 13px 16px;
  border-radius: 10px;
  border: 1px solid #294fba;
  background: #294fba;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

.as-hero-section .ksys-hero-content { max-width: 650px; }
.as-hero-visual { display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at 50% 48%, rgba(66,117,199,.18), rgba(255,255,255,0) 68%); }
.as-hero-visual img { width: min(72%, 390px); max-height: 330px; object-fit: contain; }
.as-platform-notes { margin-top: 20px; display: flex; flex-direction: column; gap: 7px; }
.as-platform-notes strong { color: #d9e3f2; font-size: 13px; letter-spacing: .07em; }
.as-platform-notes span { color: #9faec0; font-size: 13px; }

.as-license-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 34px;
}

.as-purchase-placeholder { align-self: start; }
.as-not-connected-note {
  margin-top: 18px;
  padding: 15px 16px;
  border-radius: 10px;
  background: rgba(41,79,186,.07);
  border: 1px solid rgba(41,79,186,.18);
  color: #5f6b7a;
  line-height: 1.55;
  font-size: 13px;
}

@media (max-width: 1080px) {
  .software-products-grid,
  .download-product-grid,
  .as-license-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .software-products-section,
  .download-hub-section { padding: 38px 20px 54px; }
  .software-products-grid,
  .download-product-grid,
  .as-license-grid { grid-template-columns: 1fr; }
  .software-product-visual { min-height: 220px; }
  .as-hero-visual img { width: min(72%, 290px); }
}

/* Aesthetic Studio approved visual/content revisions */
.as-product-visual img {
  width: min(92%, 520px);
  max-height: 255px;
  object-fit: contain;
}
.as-hero-visual {
  position: relative;
  background: transparent;
  overflow: visible;
}
.as-hero-visual img {
  width: min(92%, 650px);
  max-height: 430px;
  object-fit: contain;
}
.as-hero-trial-button {
  position: absolute;
  right: 28px;
  bottom: 24px;
  z-index: 3;
  min-height: 52px;
  padding: 0 24px;
  border: 1px solid #294fba;
  border-radius: 10px;
  background: #294fba;
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
}
.download-flow { margin-bottom: 34px; }
@media (max-width: 760px) {
  .as-hero-visual img { width: min(96%, 520px); }
  .as-hero-trial-button { right: 14px; bottom: 12px; min-height: 46px; padding: 0 16px; font-size: 13px; }
}

/* Product detail hero download controls - same visual language as the KSYS home hero */
.product-hero-visual {
  position: relative;
}
.product-hero-download-button {
  right: -12px;
  bottom: -42px;
  z-index: 5;
}

/* Keep both software laptops visually balanced in Software Products. */
.as-product-visual img {
  width: 78%;
  max-width: none;
  max-height: 230px;
  object-fit: contain;
}

/* AS detail hero keeps the supplied laptop image prominent without changing the hero background. */
.as-hero-visual img {
  width: min(92%, 650px);
  max-height: 430px;
  object-fit: contain;
}

@media (max-width: 760px) {
  .as-product-visual img {
    width: 78%;
    max-height: 200px;
  }
  .product-hero-download-button {
    right: 8px;
    bottom: -24px;
  }
}


/* Aesthetic Studio ELITE 1-PC: keep device badge and add MOST POPULAR clearly inside the card. */
.as-license-grid .license-card-badges {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.as-license-grid .as-most-popular-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 13px;
  border-radius: 999px;
  background: #2f68ff;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
}
.as-document-warning{margin-top:14px;padding:12px 14px;border-left:3px solid #2f63cf;background:rgba(47,99,207,.06);font-weight:600}.ksys-document .ksys-content-block ul{margin:10px 0 0 20px;padding:0}.ksys-document .ksys-content-block li{margin:7px 0;line-height:1.65}

/* Aesthetic Studio live checkout/server status */
.as-server-status { margin-top: 12px; padding: 10px 12px; border-radius: 8px; font-weight: 700; background: rgba(255,255,255,.08); }
.as-server-status.success { color: #52c77d; border: 1px solid rgba(82,199,125,.45); }
.as-server-status.error { color: #ff6b6b; border: 1px solid rgba(255,107,107,.45); }
.as-purchase-ready { margin: 0 auto 28px; max-width: 900px; padding: 22px; border: 1px solid rgba(82,199,125,.45); border-radius: 14px; background: rgba(82,199,125,.08); }
.as-purchase-ready h2 { margin-top: 0; }
.as-download-ready-button { margin-top: 14px; }

/* Software Products and Downloads: hover only on the actual clickable area. */
.software-product-content,
.download-product-card button {
  transition: box-shadow .2s, background .2s, filter .2s;
}

.software-product-content:hover {
  background: rgba(16, 22, 30, .075);
  box-shadow: inset 0 0 0 1px rgba(16, 22, 30, .075);
  filter: brightness(1.08);
}

.download-product-card button:hover {
  filter: brightness(1.14);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
}

/* Keep the clickable hover area full-height when product descriptions differ in length. */
.software-product-card {
  display: flex;
  flex-direction: column;
}
.software-product-content {
  flex: 1;
}

/* Aesthetic Studio download modal safety lock */
#download-aesthetic-studio .download-success-overlay {
  padding: 16px;
}
#download-aesthetic-studio .download-success-modal {
  width: calc(100vw - 32px);
  max-width: 500px;
  min-width: 0;
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
}
#download-aesthetic-studio .download-success-message {
  width: 100%;
  max-width: 100%;
}
@media (max-width: 520px), (max-height: 620px) {
  #download-aesthetic-studio .download-success-overlay { padding: 8px; }
  #download-aesthetic-studio .download-success-modal {
    width: calc(100vw - 16px);
    max-width: 500px;
    max-height: calc(100dvh - 16px);
  }
}
