/*
 * Silver Ivy Media 1.2.0 transactional commerce skin.
 * Scope is deliberately limited to cart / checkout / account body classes.
 * No Elementor, footer, social-widget or site-wide content selectors live here.
 */

body.silver-ivy-commerce-template {
  --si-commerce-max: 1440px;
  --si-commerce-panel: rgba(6, 20, 43, .94);
  --si-commerce-panel-soft: rgba(8, 27, 56, .78);
  --si-commerce-line: rgba(103, 169, 244, .22);
  --si-commerce-line-strong: rgba(111, 190, 255, .42);
  --si-commerce-copy: #c4d2e5;
  --si-commerce-muted: #8194ae;
  background: #020817;
}

body.silver-ivy-commerce-template .si-site {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

body.silver-ivy-commerce-template .si-commerce-main {
  flex: 0 0 auto;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(28px, 4vw, 64px) 0 clamp(44px, 6vw, 82px) !important;
  overflow: visible;
  background: transparent !important;
}

body.silver-ivy-commerce-template .si-footer,
body.silver-ivy-commerce-template .elementor-location-footer {
  flex: 0 0 auto;
  margin-top: auto;
}

body.silver-ivy-commerce-template .si-commerce-frame {
  width: min(calc(100% - 40px), var(--si-commerce-max));
  margin: 0 auto;
}

body.silver-ivy-commerce-template .si-commerce-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
  padding: 0 2px;
}

body.silver-ivy-commerce-template .si-commerce-heading h1,
body.silver-ivy-commerce-template .si-commerce-heading h2 {
  margin: 5px 0 4px;
  color: #fff;
  font-size: clamp(30px, 3vw, 48px);
  line-height: 1.05;
  letter-spacing: -.045em;
}

body.silver-ivy-commerce-template .si-commerce-heading p,
body.silver-ivy-commerce-template .si-checkout-panel__intro p {
  max-width: 650px;
  margin: 0;
  color: var(--si-commerce-muted);
}

body.silver-ivy-commerce-template .si-commerce-eyebrow {
  color: #72ceff;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body.silver-ivy-commerce-template .si-commerce-trust {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--si-commerce-line);
  border-radius: 999px;
  color: #bdcce0;
  background: rgba(5, 19, 41, .72);
  font-size: 13px;
  white-space: nowrap;
}

body.silver-ivy-commerce-template .si-commerce-wordmark img {
  width: min(260px, 45vw);
  max-height: 64px;
  object-fit: contain;
  object-position: left center;
}

/* Checkout frame: product story left, one deterministic Woo form on the right. */
body.silver-ivy-commerce-checkout .si-checkout-layout {
  display: grid;
  grid-template-columns: minmax(420px, 1.03fr) minmax(500px, .97fr);
  align-items: start;
  gap: 20px;
}

body.silver-ivy-commerce-checkout .si-checkout-showcase,
body.silver-ivy-commerce-checkout .si-checkout-panel,
body.silver-ivy-commerce-cart .si-cart-surface,
body.silver-ivy-commerce-account .si-account-surface {
  min-width: 0;
  border: 1px solid var(--si-commerce-line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 80% 0, rgba(31, 124, 255, .10), transparent 35%),
    linear-gradient(160deg, rgba(8, 26, 54, .96), rgba(3, 13, 31, .96));
  box-shadow: 0 28px 80px rgba(0, 0, 0, .30), inset 0 1px rgba(255, 255, 255, .035);
}

body.silver-ivy-commerce-checkout .si-checkout-showcase {
  overflow: hidden;
}

body.silver-ivy-commerce-checkout .si-checkout-showcase__image {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-bottom: 1px solid var(--si-commerce-line);
  background: #06152e;
}

body.silver-ivy-commerce-checkout .si-checkout-showcase__image::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 30%;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(2, 8, 23, .36));
}

body.silver-ivy-commerce-checkout .si-checkout-showcase__image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

body.silver-ivy-commerce-checkout .si-checkout-showcase__body {
  padding: clamp(24px, 3vw, 38px);
}

body.silver-ivy-commerce-checkout .si-checkout-showcase__body h1 {
  margin: 8px 0 10px;
  color: #fff;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

body.silver-ivy-commerce-checkout .si-checkout-showcase__body p {
  margin: 0;
  color: #9fb0c7;
  font-size: 15px;
}

body.silver-ivy-commerce-checkout .si-checkout-showcase__price {
  margin-top: 22px;
  color: #fff;
  font-size: clamp(26px, 2.5vw, 38px);
  font-weight: 850;
  letter-spacing: -.03em;
}

body.silver-ivy-commerce-checkout .si-checkout-assurances {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

body.silver-ivy-commerce-checkout .si-checkout-assurances li {
  position: relative;
  padding: 13px 10px 13px 30px;
  border: 1px solid rgba(100, 166, 240, .15);
  border-radius: 12px;
  color: #aebed3;
  background: rgba(4, 17, 38, .46);
  font-size: 11px;
  line-height: 1.35;
}

body.silver-ivy-commerce-checkout .si-checkout-assurances li::before {
  content: "\2713";
  position: absolute;
  left: 11px;
  top: 12px;
  color: #72ceff;
  font-weight: 900;
}

body.silver-ivy-commerce-checkout .si-checkout-extra-items {
  display: grid;
  gap: 5px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(100, 166, 240, .14);
  color: #aebed3;
  font-size: 13px;
}

body.silver-ivy-commerce-checkout .si-checkout-panel {
  padding: clamp(22px, 2.4vw, 34px);
}

body.silver-ivy-commerce-checkout .si-checkout-panel--terminal {
  width: min(100%, 920px);
  margin: 0 auto;
}

body.silver-ivy-commerce-checkout .si-checkout-panel__intro {
  margin-bottom: 22px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(100, 166, 240, .14);
}

body.silver-ivy-commerce-checkout .si-checkout-panel__intro h2 {
  margin: 5px 0 5px;
  color: #fff;
  font-size: clamp(26px, 2.4vw, 34px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

/* Reset old classic/theme checkout columns inside the dedicated panel. */
body.silver-ivy-commerce-checkout .woocommerce,
body.silver-ivy-commerce-checkout .woocommerce-checkout,
body.silver-ivy-commerce-checkout .woocommerce form.checkout,
body.silver-ivy-commerce-checkout #customer_details,
body.silver-ivy-commerce-checkout #order_review,
body.silver-ivy-commerce-checkout #order_review_heading,
body.silver-ivy-commerce-checkout .col2-set,
body.silver-ivy-commerce-checkout .col2-set .col-1,
body.silver-ivy-commerce-checkout .col2-set .col-2 {
  position: static !important;
  display: block !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}

body.silver-ivy-commerce-checkout .woocommerce form.checkout {
  margin: 0 !important;
}

body.silver-ivy-commerce-checkout .woocommerce-billing-fields,
body.silver-ivy-commerce-checkout .woocommerce-shipping-fields,
body.silver-ivy-commerce-checkout .woocommerce-additional-fields,
body.silver-ivy-commerce-checkout .woocommerce-account-fields,
body.silver-ivy-commerce-checkout #order_review {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.silver-ivy-commerce-checkout .woocommerce-billing-fields > h3,
body.silver-ivy-commerce-checkout .woocommerce-shipping-fields > h3,
body.silver-ivy-commerce-checkout #order_review_heading {
  margin: 24px 0 13px !important;
  padding: 0 !important;
  color: #fff;
  font-size: 18px !important;
  font-weight: 800;
  letter-spacing: -.02em;
}

body.silver-ivy-commerce-checkout .woocommerce form .form-row {
  margin: 0 0 13px !important;
  padding: 0 !important;
}

body.silver-ivy-commerce-checkout .woocommerce form .form-row-first,
body.silver-ivy-commerce-checkout .woocommerce form .form-row-last {
  width: calc(50% - 6px) !important;
}

body.silver-ivy-commerce-checkout .woocommerce form .form-row-first { float: left !important; }
body.silver-ivy-commerce-checkout .woocommerce form .form-row-last { float: right !important; }

body.silver-ivy-commerce-checkout .woocommerce form .form-row-wide,
body.silver-ivy-commerce-checkout .woocommerce form .form-row.notes,
body.silver-ivy-commerce-checkout .woocommerce-account-fields {
  clear: both !important;
}

body.silver-ivy-commerce-template .woocommerce form .form-row label {
  display: block;
  margin: 0 0 6px;
  color: #bfcce0;
  font-size: 12px;
  font-weight: 750;
}

body.silver-ivy-commerce-template .woocommerce form .form-row input.input-text,
body.silver-ivy-commerce-template .woocommerce form .form-row textarea,
body.silver-ivy-commerce-template .woocommerce form .form-row select,
body.silver-ivy-commerce-template .select2-container--default .select2-selection--single {
  min-height: 48px;
  color: #eef5ff !important;
  border: 1px solid rgba(112, 169, 233, .29) !important;
  border-radius: 10px !important;
  outline: 0;
  background: rgba(1, 10, 25, .72) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .018) !important;
}

body.silver-ivy-commerce-template .woocommerce form .form-row input.input-text,
body.silver-ivy-commerce-template .woocommerce form .form-row textarea {
  padding: 11px 13px !important;
}

body.silver-ivy-commerce-template .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 46px !important;
  color: #eef5ff !important;
}

body.silver-ivy-commerce-template .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px !important;
}

body.silver-ivy-commerce-template .woocommerce form .form-row input:focus,
body.silver-ivy-commerce-template .woocommerce form .form-row textarea:focus {
  border-color: #4faeff !important;
  box-shadow: 0 0 0 3px rgba(32, 135, 255, .13) !important;
}

body.silver-ivy-commerce-template .woocommerce table.shop_table {
  width: 100%;
  margin: 0 0 18px !important;
  border: 1px solid rgba(103, 169, 244, .18) !important;
  border-radius: 14px !important;
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
  background: rgba(1, 11, 27, .50) !important;
}

body.silver-ivy-commerce-template .woocommerce table.shop_table th,
body.silver-ivy-commerce-template .woocommerce table.shop_table td {
  padding: 13px 12px !important;
  color: #becce0;
  border-color: rgba(103, 169, 244, .12) !important;
}

body.silver-ivy-commerce-template .woocommerce table.shop_table th {
  color: #f6f9ff;
  font-weight: 800;
}

body.silver-ivy-commerce-checkout .woocommerce-checkout-payment {
  margin-top: 18px !important;
  overflow: hidden;
  border: 1px solid rgba(103, 169, 244, .18) !important;
  border-radius: 14px !important;
  background: rgba(1, 11, 27, .54) !important;
}

body.silver-ivy-commerce-checkout .woocommerce-checkout-payment ul.payment_methods {
  padding: 16px !important;
  border-color: rgba(103, 169, 244, .15) !important;
}

body.silver-ivy-commerce-checkout .woocommerce-checkout-payment .place-order {
  margin: 0 !important;
  padding: 16px !important;
}

body.silver-ivy-commerce-template .woocommerce #payment #place_order,
body.silver-ivy-commerce-template .woocommerce a.checkout-button,
body.silver-ivy-commerce-template .woocommerce button.button,
body.silver-ivy-commerce-template .woocommerce input.button,
body.silver-ivy-commerce-template .woocommerce a.button {
  min-height: 50px !important;
  padding: 0 20px !important;
  border: 1px solid rgba(132, 210, 255, .62) !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: linear-gradient(180deg, #3aa4ff, #176fe3) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .26), 0 12px 28px rgba(13, 92, 220, .24) !important;
  font-weight: 850 !important;
  text-shadow: none !important;
}

body.silver-ivy-commerce-template .woocommerce #payment #place_order,
body.silver-ivy-commerce-template .woocommerce a.checkout-button {
  width: 100% !important;
}

body.silver-ivy-commerce-template .woocommerce-message,
body.silver-ivy-commerce-template .woocommerce-info,
body.silver-ivy-commerce-template .woocommerce-error {
  margin: 0 0 18px !important;
  padding: 14px 16px 14px 44px !important;
  border: 1px solid rgba(103, 169, 244, .20) !important;
  border-radius: 12px !important;
  color: #cfdbeb !important;
  background: rgba(8, 30, 62, .80) !important;
}

/* Cart */
body.silver-ivy-commerce-cart .si-cart-surface,
body.silver-ivy-commerce-account .si-account-surface {
  padding: clamp(18px, 2.5vw, 30px);
}

body.silver-ivy-commerce-cart .woocommerce-cart-form {
  margin: 0 !important;
}

body.silver-ivy-commerce-cart .woocommerce-cart-form table.cart img {
  width: 104px !important;
  border-radius: 12px;
}

body.silver-ivy-commerce-cart .woocommerce-cart-form .product-name a {
  color: #fff;
  font-weight: 800;
}

body.silver-ivy-commerce-cart .woocommerce-cart-form input.qty {
  width: 78px !important;
  min-height: 44px;
  color: #fff;
  border: 1px solid rgba(112, 169, 233, .29);
  border-radius: 10px;
  background: rgba(1, 10, 25, .72);
}

body.silver-ivy-commerce-cart .woocommerce .cart-collaterals {
  display: flex;
  justify-content: flex-end;
  margin-top: 22px !important;
}

body.silver-ivy-commerce-cart .woocommerce .cart-collaterals .cart_totals {
  float: none !important;
  width: min(100%, 520px) !important;
  margin: 0 !important;
  padding: 22px;
  border: 1px solid var(--si-commerce-line);
  border-radius: 18px;
  background: rgba(8, 27, 56, .72);
}

body.silver-ivy-commerce-cart .cart_totals h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: 23px;
}

body.silver-ivy-commerce-cart .coupon {
  display: flex;
  gap: 8px;
}

body.silver-ivy-commerce-cart .coupon #coupon_code {
  min-width: 180px;
  min-height: 48px;
  color: #fff;
  border: 1px solid rgba(112, 169, 233, .29);
  border-radius: 10px;
  background: rgba(1, 10, 25, .72);
}

/* Account */
body.silver-ivy-commerce-account .woocommerce {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 22px;
}

body.silver-ivy-commerce-account .woocommerce-MyAccount-navigation,
body.silver-ivy-commerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
}

body.silver-ivy-commerce-account .woocommerce-MyAccount-navigation {
  padding: 12px;
  border: 1px solid var(--si-commerce-line);
  border-radius: 15px;
  background: rgba(5, 19, 41, .65);
}

body.silver-ivy-commerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.silver-ivy-commerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 10px 12px;
  border-radius: 9px;
  color: #b9c8dc;
}

body.silver-ivy-commerce-account .woocommerce-MyAccount-navigation .is-active a,
body.silver-ivy-commerce-account .woocommerce-MyAccount-navigation a:hover {
  color: #fff;
  background: rgba(32, 135, 255, .22);
}

@media (max-width: 1050px) {
  body.silver-ivy-commerce-checkout .si-checkout-layout {
    grid-template-columns: 1fr;
  }
  body.silver-ivy-commerce-checkout .si-checkout-showcase {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
  }
  body.silver-ivy-commerce-checkout .si-checkout-showcase__image {
    aspect-ratio: auto;
    min-height: 360px;
    border-right: 1px solid var(--si-commerce-line);
    border-bottom: 0;
  }
}

@media (max-width: 760px) {
  body.silver-ivy-commerce-template .si-commerce-frame {
    width: min(calc(100% - 24px), var(--si-commerce-max));
  }
  body.silver-ivy-commerce-template .si-commerce-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  body.silver-ivy-commerce-checkout .si-checkout-showcase {
    display: block;
  }
  body.silver-ivy-commerce-checkout .si-checkout-showcase__image {
    min-height: 0;
    aspect-ratio: 4 / 3;
    border-right: 0;
    border-bottom: 1px solid var(--si-commerce-line);
  }
  body.silver-ivy-commerce-checkout .si-checkout-assurances {
    grid-template-columns: 1fr;
  }
  body.silver-ivy-commerce-checkout .woocommerce form .form-row-first,
  body.silver-ivy-commerce-checkout .woocommerce form .form-row-last {
    float: none !important;
    width: 100% !important;
  }
  body.silver-ivy-commerce-cart .woocommerce .cart-collaterals {
    display: block;
  }
  body.silver-ivy-commerce-account .woocommerce {
    grid-template-columns: 1fr;
  }
}


/* 1.2.1 managed-service checkout polish. */
body.silver-ivy-commerce-checkout .si-checkout-showcase__image--art {
  display: grid;
  place-items: stretch;
}
body.silver-ivy-commerce-checkout .si-checkout-showcase__art {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  width: 100%;
  height: 100%;
  min-height: 320px;
  background:
    radial-gradient(circle at 68% 28%, rgba(103, 212, 255, .24), transparent 30%),
    radial-gradient(circle at 26% 72%, rgba(32, 135, 255, .22), transparent 34%),
    linear-gradient(145deg, #06152c, #020817);
  color: #fff;
  text-align: center;
}
body.silver-ivy-commerce-checkout .si-checkout-showcase__art span {
  display: grid;
  place-items: center;
  width: 88px;
  height: 88px;
  border: 1px solid rgba(103, 212, 255, .36);
  border-radius: 28px;
  background: rgba(8, 32, 64, .72);
  box-shadow: 0 20px 60px rgba(0,0,0,.32), inset 0 1px rgba(255,255,255,.08);
  color: #9de4ff;
  font-size: 46px;
  font-weight: 850;
}
body.silver-ivy-commerce-checkout .si-checkout-showcase__art small {
  color: #a9bdd4;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* Once a customer is paying, remove cart/navigation distractions from companion UI. */
body.silver-ivy-commerce-checkout .siccb-wrap,
body.silver-ivy-commerce-checkout .siccb-cart-overlay,
body.silver-ivy-commerce-checkout .siccb-cart-drawer,
body.silver-ivy-commerce-checkout .siccb-mobile-cart-dock,
body.silver-ivy-commerce-checkout .sifooter,
body.silver-ivy-commerce-checkout .si-footer {
  display: none !important;
}

/* Defense in depth for stale checkout fragments from before Alpha33 marks the cart virtual. */
body.silver-ivy-commerce-checkout.ivy-subs-no-shipping #ship-to-different-address,
body.silver-ivy-commerce-checkout.ivy-subs-no-shipping .shipping_address,
body.silver-ivy-commerce-checkout.ivy-subs-no-shipping .woocommerce-shipping-fields,
body.silver-ivy-commerce-checkout.ivy-subs-no-shipping .woocommerce-shipping-totals,
body.silver-ivy-commerce-checkout.ivy-subs-no-shipping tr.shipping {
  display: none !important;
}

body.silver-ivy-commerce-checkout .si-checkout-legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 18px;
  padding: 16px 4px 0;
  border-top: 1px solid rgba(103, 169, 244, .14);
  color: #7f93ae;
  font-size: 12px;
}
body.silver-ivy-commerce-checkout .si-checkout-legal strong { color: #b9cbe1; }
body.silver-ivy-commerce-checkout .si-checkout-legal nav { display: flex; flex-wrap: wrap; gap: 14px; }
body.silver-ivy-commerce-checkout .si-checkout-legal a { color: #9bcdf8; text-decoration: none; }
body.silver-ivy-commerce-checkout .si-checkout-legal a:hover,
body.silver-ivy-commerce-checkout .si-checkout-legal a:focus { color: #fff; }

@media (max-width: 720px) {
  body.silver-ivy-commerce-checkout .si-checkout-legal { align-items: flex-start; flex-direction: column; }
  body.silver-ivy-commerce-checkout .si-checkout-showcase__art { min-height: 230px; }
}
