.iz-scene-toolbar { min-width: 0; }
.iz-shoppable[hidden] { display: none !important; }
.iz-scene-stage.is-comparing .iz-scene-image,
.iz-scene-stage.is-comparing .iz-scene-before img { object-fit: cover; }
.iz-scene-tabs { flex-wrap: wrap; max-width: 100%; }

/* Card savings appears beside the price and inside the selected payment option. */
.iz-card-offer { display:flex; gap:14px; align-items:flex-start; margin:18px 0; padding:18px 20px; border:1px solid #b9d7ce; border-left:4px solid #22694f; border-radius:12px; background:linear-gradient(120deg,#edf7f1,#f8fbf8); color:#153d35; }
.iz-card-offer-icon { display:grid; place-items:center; flex:0 0 38px; height:38px; border-radius:10px; background:#dceee3; }
.iz-card-offer-icon svg { width:24px; height:24px; }
.iz-card-offer-kicker { display:block; font-size:10px; font-weight:700; letter-spacing:.13em; margin-bottom:6px; }
.iz-card-offer strong { display:block; font-size:19px; line-height:1.35; color:#b42318; }
.iz-card-offer p { margin:7px 0 0; font-size:12px; line-height:1.6; }
.iz-card-offer-checkout { padding:14px 18px; margin:14px 0; }
.iz-card-saving-tag { display:inline-block; margin-top:6px; padding:3px 9px; border-radius:6px; background:#deeee3; color:#b42318; font-size:12px; font-weight:700; }
.iz-checkout-totals .iz-card-discount-row { color:#1c6949; font-weight:700; }
.iz-checkout-totals [hidden] { display:none; }
@media(max-width:600px) { .iz-card-offer { padding:14px; gap:10px; } .iz-card-offer strong { font-size:17px; } }

/* Match the original controls while using native browser inputs. */
.iz-native-select {
  width: 100%;
  height: 36px;
  border: 1px solid #ffffff35;
  border-radius: 6px;
  padding: 0 12px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 14px;
}
.iz-native-select option {
  color: #173b3c;
  background: white;
}
.iz-check input[type='checkbox'] {
  accent-color: #df7550;
  width: 16px;
  height: 16px;
  flex: none;
}
.iz-native-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 100;
  background: #123e40;
  color: white;
  padding: 16px 24px;
  border-radius: 8px;
  max-width: 400px;
}
.iz-native-tip {
  position: absolute;
  background: white;
  border-radius: 7px;
  padding: 12px;
  z-index: 5;
  color: #173b3c;
  box-shadow: 0 4px 18px #0003;
  pointer-events: none;
  transform: translate(-50%, -110%);
}
.iz-native-tip strong,
.iz-native-tip span {
  display: block;
}
.iz-native-tip span {
  font-size: 12px;
}
.iz-live-studio input[type='file'] {
  color: inherit;
}
.iz-native-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
}
.iz-native-tabs button {
  border: 0;
  background: #edf3f1;
  padding: 12px 20px;
  border-radius: 6px;
  color: #163c3d;
  cursor: pointer;
}
.iz-native-tabs button[aria-selected='true'] {
  background: #153f40;
  color: white;
}
.iz-native-panel[hidden] {
  display: none !important;
}

.iz-native-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  scroll-behavior: smooth;
}
.iz-native-scroll::-webkit-scrollbar {
  display: none;
}
.iz-cookie-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 24px;
  background: #edf3f1;
  color: #173b3c;
  font-size: 14px;
}
.iz-cookie-footer button {
  border: 0;
  background: none;
  text-decoration: underline;
  cursor: pointer;
  font: inherit;
}
.iz-cookie-banner {
  position: fixed;
  bottom: 16px;
  left: 16px;
  right: 16px;
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 24px;
  background: #fff;
  color: #173b3c;
  border: 1px solid #cbdad4;
  border-radius: 12px;
  box-shadow: 0 8px 40px #0003;
}
.iz-cookie-banner[hidden] {
  display: none;
}
.iz-cookie-banner h2,
.iz-cookie-dialog h2 {
  font-size: 22px;
  margin: 0 0 8px;
}
.iz-cookie-banner p,
.iz-cookie-dialog p {
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 16px;
}
.iz-cookie-banner p {
  margin-bottom: 0;
}
.iz-cookie-banner a {
  text-decoration: underline;
}
.iz-cookie-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.iz-cookie-actions button,
.iz-cookie-information button {
  padding: 11px 18px;
  border: 1px solid #173b3c;
  border-radius: 6px;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  background: #fff;
  color: #173b3c;
}
.iz-cookie-actions .iz-cookie-primary,
.iz-cookie-information .iz-cookie-primary {
  background: #173b3c;
  color: #fff;
}
.iz-cookie-dialog {
  width: min(540px, calc(100% - 32px));
  max-height: 85vh;
  overflow: auto;
  margin: auto;
  border: 0;
  border-radius: 12px;
  padding: 28px;
  background: #fff;
  color: #173b3c;
  box-shadow: 0 12px 48px #0004;
}
.iz-cookie-dialog::backdrop {
  background: #102f32aa;
}
.iz-cookie-option {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-top: 1px solid #dbe5e0;
}
.iz-cookie-option strong,
.iz-cookie-option span span {
  display: block;
}
.iz-cookie-option span {
  font-size: 14px;
}
.iz-cookie-option input {
  width: 20px;
  height: 20px;
  accent-color: #173b3c;
  flex-shrink: 0;
}
.iz-cookie-dialog .iz-cookie-actions {
  margin-top: 20px;
}
.iz-cookie-information {
  max-width: 800px;
  margin: 60px auto;
  padding: 0 24px;
  line-height: 1.8;
  color: #173b3c;
}
.iz-cookie-information h1 {
  font-size: 36px;
}
.iz-cookie-information h2 {
  font-size: 24px;
  margin-top: 24px;
}
.iz-cookie-footer button:focus-visible,
.iz-cookie-actions button:focus-visible,
.iz-cookie-information button:focus-visible {
  outline: 3px solid #df7550;
  outline-offset: 3px;
}
@media (max-width: 800px) {
  .iz-cookie-banner {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    max-height: 80vh;
    overflow: auto;
    padding: 20px;
  }
  .iz-cookie-actions button {
    flex: 1;
  }
  .iz-cookie-dialog {
    padding: 20px;
  }
}
/* Product information extends the existing IdealZone palette and card layout. */
.iz-details {
  margin: 56px 0;
  color: var(--iz-ink, #173b3c);
}
.iz-details .iz-collection-heading h2 {
  font: inherit;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.2;
  margin: 8px 0 12px;
}
.iz-details-nav {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 24px 0;
}
.iz-details-nav a {
  border: 1px solid #d6dfd8;
  border-radius: 999px;
  padding: 9px 18px;
  font-size: 13px;
  background: #fff;
  transition: background 0.15s;
}
.iz-details-nav a:hover {
  background: #edf3f1;
}
.iz-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.iz-details-card {
  padding: 30px;
  border: 1px solid #dce3dc;
  border-radius: 16px;
  background: #fff;
  scroll-margin-top: 110px;
  min-width: 0;
}
.iz-details-wide {
  grid-column: 1/-1;
}
.iz-details-card h3 {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.3;
  margin: 8px 0 20px;
}
.iz-details-card h4 {
  font-size: 16px;
  font-weight: 600;
  margin: 18px 0 10px;
}
.iz-details-card p {
  font-size: 14px;
  line-height: 1.8;
}
.iz-details-copy {
  white-space: pre-line;
  max-width: 80ch;
}
.iz-details-empty {
  color: #64756c;
}
.iz-details-highlights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  list-style: disc;
  padding-left: 20px;
  font-size: 14px;
}
.iz-details-specs > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid #e6ebe5;
  font-size: 14px;
}
.iz-details-specs dt {
  font-weight: 600;
}
.iz-details-specs dd {
  margin: 0;
}
.iz-details-finishes,
.iz-details-documents {
  list-style: none;
  padding: 0;
}
.iz-details-finishes {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.iz-details-finishes li {
  width: 140px;
  padding: 12px;
  background: #f5f7f3;
  border-radius: 10px;
  font-size: 14px;
}
.iz-details-finishes img {
  width: 100%;
  height: 90px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 10px;
}
.iz-details-documents a {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid #e6ebe5;
  text-decoration: underline;
  font-size: 14px;
}
.iz-details-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.iz-details-gallery img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: contain;
  background: #f5f7f3;
  border-radius: 10px;
}
.iz-details-gallery figcaption {
  font-size: 12px;
  color: #64756c;
  margin-top: 8px;
}
.iz-details-gallery a {
  font-size: 14px;
  text-decoration: underline;
}
.iz-details-planning {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.iz-details-planning h4 {
  margin-top: 0;
}
.iz-details-review-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.iz-details-review-list article {
  border-top: 1px solid #e6ebe5;
  padding-top: 18px;
}
.iz-details-rating {
  color: #b05d37;
  letter-spacing: 3px;
}
.iz-scene-stage.is-comparing {
  overflow: hidden;
}
.iz-scene-divider[role='slider'] {
  pointer-events: auto;
  touch-action: none;
  user-select: none;
  cursor: ew-resize;
  background: transparent;
  width: 44px;
  transform: translateX(-50%);
}
.iz-scene-divider[role='slider']::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 1px);
  width: 2px;
  background: #fff;
}
.iz-scene-divider[role='slider']:focus-visible {
  outline: none;
}
.iz-scene-divider[role='slider']:focus-visible > span {
  outline: 3px solid #df7550;
  outline-offset: 3px;
}
.iz-shoppable .iz-compare-control {
  justify-content: flex-end;
  padding: 0;
  border: 0;
  background: none;
}
.iz-shoppable .iz-compare-control button {
  flex-basis: auto;
  margin: 0;
}
.iz-details-related {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.iz-details-related a {
  display: grid;
  gap: 8px;
  padding: 20px;
  border-radius: 10px;
  background: #f5f7f3;
}
.iz-details-related span {
  font-size: 12px;
}
.iz-details-table-wrap {
  overflow-x: auto;
}
.iz-details-compare {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 14px;
}
.iz-details-compare caption {
  text-align: left;
  color: #64756c;
  padding-bottom: 16px;
}
.iz-details-compare td,
.iz-details-compare th {
  min-width: 150px;
  padding: 16px;
  border-bottom: 1px solid #dce3dc;
}
.iz-details-compare thead {
  background: #edf3f1;
}
.iz-details-compare a {
  text-decoration: underline;
}
.iz-details-nav a:focus-visible,
.iz-details-card a:focus-visible {
  outline: 3px solid #df7550;
  outline-offset: 4px;
}
@media (max-width: 700px) {
  .iz-details-grid,
  .iz-details-highlights,
  .iz-details-planning,
  .iz-details-review-list {
    grid-template-columns: 1fr;
  }
  .iz-details-card {
    padding: 22px;
  }
  .iz-details-gallery,
  .iz-details-related {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .iz-details {
    margin: 36px 0;
  }
  .iz-details-nav a {
    padding: 8px 12px;
  }
}
@media (max-width: 420px) {
  .iz-details-gallery,
  .iz-details-related {
    grid-template-columns: 1fr;
  }
}
.iz-was-price {
  color: #5c767d;
  font-size: 14px;
  font-weight: 400;
  margin-right: 10px;
}
.iz-primary-image {
  object-fit: contain;
  background: #f5f7f3;
}
.iz-product-grid .iz-card-image {
  aspect-ratio: 1;
  height: auto;
  background: #fff;
}
.iz-product-grid .iz-shop-product-image {
  position: absolute;
  inset: 0;
}
.iz-product-grid .iz-primary-image {
  background: #fff;
}
.iz-product-grid .iz-card {
  display: flex;
  flex-direction: column;
  align-self: stretch;
}
.iz-product-grid .iz-card-image {
  flex-shrink: 0;
}
.iz-product-grid .iz-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.iz-product-grid .iz-product-card-description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin: 0;
  line-height: 1.6;
}
.iz-product-grid .iz-product-price {
  margin: auto 0 16px;
  padding-top: 16px;
}
.iz-catalog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: end;
  margin: 24px 0 36px;
  padding: 24px;
  background: #f4f6f0;
  border-radius: 12px;
}
.iz-page.iz-shop-page {
  padding-top: 28px;
}
.iz-shop-heading {
  margin-bottom: 16px;
}
.iz-shop-heading h1 {
  margin: 0;
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.15;
  letter-spacing: -0.035em;
}
.iz-shop-heading p {
  margin: 8px 0 0;
}
.iz-shop-page .iz-catalog-filters {
  margin: 0 0 16px;
  padding: 18px 20px;
}
.iz-shop-page > p.iz-fineprint {
  margin: 0 0 8px;
}
.iz-catalog-filters label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
  flex: 1;
  min-width: 150px;
}
.iz-catalog-filters input,
.iz-catalog-filters select,
.iz-config-options select {
  padding: 12px;
  border: 1px solid #ccd7ce;
  border-radius: 6px;
  max-width: 100%;
  background: white;
  color: inherit;
}
.iz-config-options {
  margin: 24px 0;
}
.iz-config-options fieldset {
  border: 0;
  border-top: 1px solid #d6ded9;
  margin: 16px 0;
  padding: 16px 0;
}
.iz-config-options legend {
  font-size: 15px;
  font-weight: 600;
  padding-right: 16px;
}
.iz-config-choices {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.iz-config-choice {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid #ccd7ce;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
}
.iz-config-choice:has(input:checked) {
  background: #edf3eb;
  border-color: #214c55;
}
.iz-config-choice:has(input:disabled):not(:has(input:checked)) {
  opacity: 0.5;
}
.iz-config-choice img,
.iz-color-swatch {
  width: 36px;
  height: 36px;
  border-radius: 4px;
  object-fit: cover;
}
.iz-config-choice small {
  display: block;
  font-size: 11px;
  margin-top: 4px;
}
.iz-config-total {
  display: flex;
  justify-content: space-between;
  padding: 14px 0;
}
.iz-product-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  height: 100%;
  padding: 24px;
  background: #edf3eb;
  color: #214c55;
  text-align: center;
  font-size: 17px;
}
.iz-product-placeholder small {
  font-size: 12px;
  margin-top: 10px;
}
.iz-region-picker {
  font-size: 12px;
  margin: 12px 0 20px;
}
.iz-region-picker summary {
  cursor: pointer;
}
.iz-region-picker form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 12px;
}
.iz-region-picker select {
  padding: 8px;
  border: 1px solid #ccd7ce;
  border-radius: 5px;
  background: white;
}
.iz-region-picker .iz-button {
  padding: 8px 14px;
  font-size: 12px;
}
.iz-policy-copy {
  white-space: pre-wrap;
}
.iz-checkout-total {
  font-size: 1.3rem;
}

.iz-premium-table-scroll {
  max-width: 100%;
  overflow-x: auto;
  margin: 20px 0;
}
.iz-premium-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  font-size: 14px;
}
.iz-premium-table th,
.iz-premium-table td {
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid var(--line);
}
.iz-premium-table thead {
  background: var(--mist);
}
.iz-premium-table tbody th {
  font-weight: 600;
}
.iz-premium-table td:nth-child(2),
.iz-premium-table td:nth-child(3) {
  white-space: nowrap;
}
.iz-premium-references {
  padding-left: 24px;
  font-size: 14px;
  color: var(--legacy-muted);
}
.iz-premium-references li {
  margin: 12px 0;
  line-height: 1.7;
}

.iz-cart-options-dialog {
  margin: auto;
  width: min(680px, calc(100% - 32px));
  max-height: calc(100dvh - 48px);
  overflow: auto;
  border: 1px solid #cbdcdb;
  border-radius: 16px;
  padding: 24px;
  color: #12363c;
  background: white;
}
.iz-cart-options-dialog::backdrop {
  background: rgb(10 35 40 / 55%);
}
.iz-cart-options-heading {
  display: flex;
  align-items: start;
  gap: 16px;
  margin-bottom: 20px;
}
.iz-cart-options-heading h2 {
  flex: 1;
  margin: 0;
  font-size: 24px;
}
.iz-cart-options-close {
  border: 0;
  background: #edf3f1;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  font-size: 24px;
  cursor: pointer;
  flex-shrink: 0;
}
.iz-cart-options-actions {
  display: flex;
  gap: 16px;
  align-items: end;
  margin-top: 20px;
}
.iz-cart-options-actions label {
  display: grid;
  gap: 6px;
}
.iz-cart-options-actions input {
  width: 80px;
  padding: 10px;
}
.iz-cart-options-actions .iz-button {
  flex: 1;
}
.iz-cart-options-error {
  color: #a52c20;
}

.iz-cart-options-dialog .iz-option-picker-heading h2 {
  margin: 0 0 16px;
  font-size: 22px;
  line-height: 1.3;
}

.iz-shoppable .iz-mini-product {
  display: flex;
  flex-direction: column;
}
.iz-shoppable .iz-mini-visual {
  flex-shrink: 0;
}
.iz-shoppable .iz-mini-product > div:last-child {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.iz-shoppable .iz-mini-product h4 {
  min-height: 0;
  margin-bottom: 10px;
}
.iz-shoppable .iz-mini-description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.5;
  color: #577a81;
  margin: 0 0 16px;
}
.iz-shoppable .iz-mini-product strong {
  margin-top: auto;
}

.iz-image-label,
.iz-mini-visual > span {
  background-color: var(--image-label-background, #073c43);
  color: var(--image-label-text, #ffffff);
}

/* Keep product badges compact on homepage carousel images. */
.iz-mini-visual > .iz-image-label {
  left: auto;
  right: 10px;
  bottom: 10px;
  width: fit-content;
  max-width: calc(100% - 20px);
  white-space: normal;
  overflow-wrap: anywhere;
  border-radius: 999px;
  padding: 5px 9px;
  line-height: 1.3;
  pointer-events: none;
}
.iz-complete-wordmark {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 650;
  letter-spacing: -1px;
}
.iz-complete-wordmark .iz-brand-icon {
  width: 34px;
  height: 34px;
  font-size: 24px;
  flex-shrink: 0;
}
.iz-outdoor-heading h2 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.iz-greensky-product-note img { display: inline-block; width: 110px; height: 30px; object-fit: contain; vertical-align: middle; margin-right: 10px; }
.iz-greensky-product-note strong { font-size: .85rem; }

/* Category-managed highlights between the product identity and price. */
.iz-category-product-highlights{margin:16px 0 22px;color:#172b40}.iz-category-product-highlights h2{margin:5px 0 14px;font-size:18px;text-align:center;font-weight:700;line-height:1.35;letter-spacing:normal;color:#172b40}.iz-category-product-highlights ul{margin:0;padding-left:24px;list-style-type:disc;font-size:16px;line-height:1.4}.iz-category-product-highlights li{margin-bottom:6px;padding-left:6px}.iz-category-product-highlights li:last-child{margin-bottom:0}.iz-category-product-highlights strong{font-weight:700;color:#172b40}.iz-product-identity{gap:12px;flex-wrap:wrap}.iz-product-identity>a{margin-left:auto}

.iz-brand-trademark{font-size:.4em;line-height:0;vertical-align:super;margin-left:2px;font-weight:500}

.iz-card-discount-message{margin:0 0 16px;padding:12px;border:1px solid #f0c7ad;border-left:3px solid #f48553;border-radius:7px;background:#fff5ec;color:#8e3c1e}
.iz-card-discount-message strong{display:block;font-size:14px;line-height:1.45}
.iz-card-discount-message small{display:block;margin-top:5px;font-size:11px;line-height:1.5;color:#526e70}
.iz-checkout-sidebar>.iz-card-discount-message{margin-top:18px}
