div.w2i-sidedsgnr-container {display:flex;box-sizing:border-box;align-items:flex-start;gap:20px;width:100%;max-width:100%;margin:0 auto;}
div.w2i-sidedsgnr-container * {box-sizing:border-box;}
div.w2i-sidedsgnr-container > div {width:50%;padding:10px;min-width:0;}

div.w2i-sidedsgnr-designer {
  position:relative;
  min-height:75vh;
  padding-left:0;
  overflow:visible;
}
div.w2i-sidedsgnr-designer > #web2ink {
  position:relative;
  width:100%;
  min-height:75vh;
  display:flex;
  flex-direction:column;
}
div.w2i-sidedsgnr-designer #web2inkdesigner {
  width:100%;
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
}
div.w2i-sidedsgnr-designer #web2inkdesigner > main {
  flex:1 1 auto;
  min-height:0;
}

/* Side-designer layout: tool buttons + side switcher pinned to bottom. */
html body #web2ink.w2i-sidedsgnr #w2i-product-info {display:none;}
html body #web2ink.w2i-sidedsgnr #web2inkdesigner > main > aside > div > ul > li.w2i-colorpicker,
html body #web2ink.w2i-sidedsgnr #web2inkdesigner > footer,
html body #web2ink.w2i-sidedsgnr #web2inkdesigner .w2i-sides {display:none !important;}
html body #web2ink.w2i-sidedsgnr #web2inkdesigner .w2i-smallfooter {
  display:block !important;
  flex:0 0 auto;
  order:20;
  margin-top:auto;
  border-top:1px solid #e5e7eb;
  background:#fff;
}
html body #web2ink.w2i-sidedsgnr #web2inkdesigner .w2i-smallfooter nav ul {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:4px;
  margin:0;
  padding:8px 6px;
}
html body #web2ink.w2i-sidedsgnr #web2inkdesigner .w2i-smallfooter nav ul > li {
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:72px;
  margin:2px;
  padding:6px 4px;
  cursor:pointer;
  vertical-align:middle;
}
html body #web2ink.w2i-sidedsgnr #web2inkdesigner .w2i-smallfooter nav ul > li > span {
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.2;
  text-align:center;
}
html body #web2ink.w2i-sidedsgnr div.w2i-small-footer {
  display:block;
  flex:0 0 auto;
  order:30;
  border-top:1px solid #e5e7eb;
  background:#fff;
}
html body #web2ink.w2i-sidedsgnr div.w2i-small-footer nav ul {
  font-size:0;
  text-align:center;
  margin:0;
  padding:8px 6px;
}
html body #web2ink.w2i-sidedsgnr div.w2i-small-footer li {
  display:inline-block;
  margin:2px 6px;
  vertical-align:middle;
  cursor:pointer;
}
html body #web2ink.w2i-sidedsgnr div.w2i-side-sider {display:none !important;}

/* Side switcher button + popup menu */
div.w2i-sidedsgnr-side-switcher {
  position:relative;
  flex:0 0 auto;
  order:15;
  padding:10px 12px;
  border-top:1px solid #e5e7eb;
  background:#f9fafb;
  z-index:20;
}
div.w2i-sidedsgnr-side-switcher.is-hidden {display:none;}
button.w2i-sidedsgnr-side-toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  padding:10px 14px;
  border:1px solid #d0d5dd;
  border-radius:8px;
  background:#fff;
  color:#101828;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  line-height:1.3;
}
button.w2i-sidedsgnr-side-toggle .w2i-sidedsgnr-side-label {
  flex:0 0 auto;
  color:#667085;
  font-weight:500;
}
button.w2i-sidedsgnr-side-toggle .w2i-sidedsgnr-side-current {
  flex:1 1 auto;
  text-align:left;
  font-weight:600;
}
button.w2i-sidedsgnr-side-toggle:hover {border-color:#195add;background:#f0f7ff;}
button.w2i-sidedsgnr-side-toggle .w2i-sidedsgnr-side-caret {
  margin-left:10px;
  font-size:12px;
  opacity:0.7;
  transition:transform .2s ease;
}
div.w2i-sidedsgnr-side-switcher.is-open button.w2i-sidedsgnr-side-toggle .w2i-sidedsgnr-side-caret {transform:rotate(180deg);}
div.w2i-sidedsgnr-side-menu {
  display:none;
  position:absolute;
  left:12px;
  right:12px;
  bottom:calc(100% + 6px);
  max-height:min(320px, 50vh);
  overflow:auto;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 28px rgba(16,24,40,.14);
  z-index:30;
}
div.w2i-sidedsgnr-side-switcher.is-open div.w2i-sidedsgnr-side-menu {display:block;}
button.w2i-sidedsgnr-side-option {
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid #f2f4f7;
  background:#fff;
  color:#101828;
  text-align:left;
  cursor:pointer;
  font-size:13px;
}
button.w2i-sidedsgnr-side-option:last-child {border-bottom:0;}
button.w2i-sidedsgnr-side-option:hover {background:#f9fafb;}
button.w2i-sidedsgnr-side-option.is-selected {
  background:#eff8ff;
  color:#175cd3;
  font-weight:600;
}
button.w2i-sidedsgnr-side-option img {
  width:42px;
  height:42px;
  object-fit:contain;
  flex:0 0 42px;
  border:1px solid #eaecf0;
  border-radius:6px;
  background:#fff;
}

@media (min-width: 992px) {
  div.w2i-sidedsgnr-designer {position:sticky;top:24px;}
}

@media (max-width: 991px) {
  div.w2i-sidedsgnr-container {flex-direction:column;}
  div.w2i-sidedsgnr-container > div {width:100%;}
  div.w2i-sidedsgnr-designer {min-height:60vh;padding-left:0;}
}

section.w2i-sidedsgnr-section {padding:20px 0;}
section.w2i-sidedsgnr-section > header {margin-bottom:15px}
section.w2i-sidedsgnr-section > header > span {font-size:22px;font-weight:bold;margin-right:15px}
section.w2i-sidedsgnr-section > header > * {vertical-align:middle;line-height:26px;}
section.w2i-sidedsgnr-section > main {display:block;width:100%;padding-left:20px;}

div.w2i-sidedsgnr-color-swatches {font-size:0;}
.w2i-sidedsgnr-swatch {display:inline-block;width:26px;height:26px;margin:2px;border:1px solid #DDD;cursor:pointer;position:relative;background-size:cover;background-repeat:no-repeat;background-position:center}
.w2i-sidedsgnr-swatch > span {display:block;width:50%;height:100%;left:0;top:0;position:absolute}
.w2i-sidedsgnr-swatch.w2i-sidedsgnr-selected {border-color:#000;box-shadow:0 0 2px #000}

div.w2i-sidedsgnr-sides {display:flex;}
div.w2i-sidedsgnr-sides > div {width:50%;margin:5px;padding:10px;border:1px solid #000;text-align:center;cursor:pointer}
div.w2i-sidedsgnr-sides > div > img {display:block;margin:0 auto 10px auto;}

div.w2i-sidedsgnr-processes {display:flex;}
div.w2i-sidedsgnr-processes > div {margin:5px;}
div.w2i-sidedsgnr-processes label {margin-left:10px;cursor:pointer;}

div.w2i-sidedsgnr-addons > div + div {margin-top:10px;}
div.w2i-sidedsgnr-addons > div label {display:block;margin-bottom:5px;}
div.w2i-sidedsgnr-addons > div select {display:block;width:100%;}

div.w2i-sidedsgnr-qty {display:flex;flex-wrap:wrap}
div.w2i-sidedsgnr-qty > div {margin:5px;}
div.w2i-sidedsgnr-qty > div > span {display:inline-block;min-width:45px;vertical-align:middle;margin-right:4px;text-align:right}
div.w2i-sidedsgnr-qty > div > input {width:60px;vertical-align:middle;}
p.w2i-sidedsgnr-total-qty {text-transform:uppercase;margin-top:20px;margin-bottom:0}

section.w2i-sidedsgnr-section[data-section="summary"] {border-top:2px solid #1D1D1D;}

.w2i-sidedsgnr-info {color:#999;margin:5px 0;}