:root{
  --black:#0b0b0b;
  --red:#e11212;
  --gray:#e7e7e7;
  --panel:#ffffff;
  --line:#dcdcdc;
  --text:#111;
}

/* ===== Virtual capture email: mobile and tablet responsive layout ===== */
@media screen and (max-width:1024px){
  html:has(body[data-virtual-page="capture-email"]),
  body[data-virtual-page="capture-email"]{
    width:100%;
    height:auto;
    min-height:100%;
    background:#fff!important;
    overflow-x:hidden;
    overflow-y:auto;
  }
  body[data-virtual-page="capture-email"]{
    display:block;
    min-height:100vh;
    min-height:100dvh;
    background:#fff;
    font-family:Arial,Helvetica,sans-serif;
  }
  body[data-virtual-page="capture-email"] .page-wrap{
    width:100%;
    height:auto;
    min-height:calc(100vh - 92px);
    min-height:calc(100dvh - 92px);
    padding:30px 24px;
  }
  body[data-virtual-page="capture-email"] .capture-card{
    max-width:900px;
    overflow:hidden;
    border:1px solid rgba(35,31,32,.09);
    border-top:4px solid #d71920;
    border-radius:24px;
    background:#fff;
    box-shadow:0 24px 60px rgba(30,25,26,.16),0 6px 18px rgba(30,25,26,.07);
    isolation:isolate;
  }
  body[data-virtual-page="capture-email"] .left-panel{
    background:linear-gradient(145deg,#fff 0%,#f6f6f6 58%,#efefef 100%);
  }
  body[data-virtual-page="capture-email"] .right-panel::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(135deg,rgba(0,0,0,.03),transparent 45%,rgba(215,25,32,.06));
  }
  body[data-virtual-page="capture-email"] .input-wrap{
    min-height:56px;
    overflow:hidden;
    border:1px solid rgba(35,31,32,.12);
    border-radius:13px;
    box-shadow:0 12px 28px rgba(35,31,32,.09);
    transition:border-color .2s ease,box-shadow .2s ease;
  }
  body[data-virtual-page="capture-email"] .input-wrap:focus-within{
    border-color:rgba(215,25,32,.62);
    box-shadow:0 0 0 4px rgba(215,25,32,.10),0 14px 30px rgba(35,31,32,.10);
  }
  body[data-virtual-page="capture-email"] .input-wrap::before{
    width:4px;
    background:#d71920;
  }
  body[data-virtual-page="capture-email"] .email-input{
    min-width:0;
    height:56px;
    padding:0 16px 0 18px;
    font-size:16px;
    color:#231f20;
  }
  body[data-virtual-page="capture-email"] .submit-btn{
    flex:0 0 62px;
    width:62px;
    height:56px;
    color:#fff;
    background:linear-gradient(135deg,#e1262d 0%,#b90f16 100%);
    border-left:1px solid rgba(35,31,32,.08);
  }
  body[data-virtual-page="capture-email"] .arrow-icon{
    color:#fff;
    animation:none;
  }
  body[data-virtual-page="capture-email"] .submit-btn:hover{
    transform:none;
  }
  body[data-virtual-page="capture-email"] .submit-btn:focus-visible{
    outline:3px solid rgba(215,25,32,.35);
    outline-offset:-4px;
  }
  body[data-virtual-page="capture-email"] .site-footer{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    width:max-content;
    max-width:calc(100% - 28px);
    margin:0 auto 20px;
    gap:10px;
    white-space:normal;
  }
  body[data-virtual-page="capture-email"] .site-footer-text{
    color:#231f20;
    font-size:14px;
  }
  body[data-virtual-page="capture-email"] .site-footer-link img{
    width:78px;
    margin-top:-18px;
    filter:drop-shadow(0 9px 14px rgba(0,0,0,.16));
  }
}

@media screen and (min-width:701px) and (max-width:1024px){
  body[data-virtual-page="capture-email"] .page-wrap{
    padding:34px 30px;
  }
  body[data-virtual-page="capture-email"] .capture-card,
  body[data-virtual-page="capture-email"] .left-panel,
  body[data-virtual-page="capture-email"] .right-panel{
    min-height:520px;
  }
  body[data-virtual-page="capture-email"] .left-panel{
    padding:48px 36px 40px;
  }
  body[data-virtual-page="capture-email"] .logo{
    top:38px;
    left:36px;
  }
  body[data-virtual-page="capture-email"] .logo img{
    max-width:172px;
  }
  body[data-virtual-page="capture-email"] .content-box{
    width:100%;
    max-width:350px;
    margin-top:40px;
  }
  body[data-virtual-page="capture-email"] .content-box h1{
    font-size:clamp(29px,3.6vw,34px);
    line-height:1.15;
    letter-spacing:-.5px;
  }
  body[data-virtual-page="capture-email"] .content-box p{
    margin-bottom:28px;
    font-size:16px;
    line-height:1.6;
  }
  body[data-virtual-page="capture-email"] .subscribe-form,
  body[data-virtual-page="capture-email"] .status-msg{
    width:100%;
  }
}

@media screen and (max-width:700px){
  body[data-virtual-page="capture-email"] .page-wrap{
    min-height:calc(100vh - 88px);
    min-height:calc(100dvh - 88px);
    padding:18px 14px 24px;
    align-items:flex-start;
  }
  body[data-virtual-page="capture-email"] .capture-card{
    width:100%;
    max-width:560px;
    min-height:0;
    flex-direction:column;
    border-radius:21px;
  }
  body[data-virtual-page="capture-email"] .left-panel,
  body[data-virtual-page="capture-email"] .right-panel{
    width:100%;
    min-height:0;
  }
  body[data-virtual-page="capture-email"] .right-panel{
    order:1;
    height:clamp(188px,52vw,260px);
    background:#161616;
  }
  body[data-virtual-page="capture-email"] .right-panel img{
    object-position:center;
  }
  body[data-virtual-page="capture-email"] .left-panel{
    order:2;
    padding:27px 22px 29px;
  }
  body[data-virtual-page="capture-email"] .logo{
    display:none;
  }
  body[data-virtual-page="capture-email"] .mobile-brand{
    display:block;
    margin-bottom:24px;
  }
  body[data-virtual-page="capture-email"] .mobile-brand img{
    max-width:168px;
  }
  body[data-virtual-page="capture-email"] .content-box{
    width:100%;
    max-width:none;
    margin-top:0;
  }
  body[data-virtual-page="capture-email"] .content-box h1{
    max-width:500px;
    margin-bottom:14px;
    font-size:clamp(25px,7vw,32px);
    line-height:1.13;
    letter-spacing:-.55px;
  }
  body[data-virtual-page="capture-email"] .content-box p{
    max-width:500px;
    margin-bottom:24px;
    font-size:15px;
    line-height:1.58;
  }
  body[data-virtual-page="capture-email"] .input-label{
    margin-bottom:8px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  body[data-virtual-page="capture-email"] .subscribe-form,
  body[data-virtual-page="capture-email"] .status-msg{
    width:100%;
  }
  body[data-virtual-page="capture-email"] .status-msg{
    border-radius:10px;
  }
  body[data-virtual-page="capture-email"] .site-footer{
    flex-wrap:nowrap;
    margin-bottom:18px;
  }
}

@media screen and (max-width:420px){
  body[data-virtual-page="capture-email"] .page-wrap{
    padding:12px 10px 20px;
  }
  body[data-virtual-page="capture-email"] .capture-card{
    border-radius:18px;
  }
  body[data-virtual-page="capture-email"] .right-panel{
    height:clamp(174px,52vw,210px);
  }
  body[data-virtual-page="capture-email"] .left-panel{
    padding:24px 18px 26px;
  }
  body[data-virtual-page="capture-email"] .mobile-brand{
    margin-bottom:20px;
  }
  body[data-virtual-page="capture-email"] .mobile-brand img{
    max-width:154px;
  }
  body[data-virtual-page="capture-email"] .content-box h1{
    font-size:clamp(24px,7.4vw,29px);
  }
  body[data-virtual-page="capture-email"] .content-box p{
    font-size:14px;
  }
  body[data-virtual-page="capture-email"] .submit-btn{
    flex-basis:58px;
    width:58px;
  }
  body[data-virtual-page="capture-email"] .site-footer-text{
    font-size:13px;
  }
  body[data-virtual-page="capture-email"] .site-footer-link img{
    width:70px;
  }
}

*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#fffmin-height:100vh;display:flex;flex-direction:column;}

/* ===== Sticky footer + layout ===== */
html,body{height:100%;margin:0;}
body{display:flex;flex-direction:column;min-height:100vh;}
main.wrap{flex:1 0 auto;}
footer.ftr{margin-top:auto;}


body.virtual-startup-loading{overflow:hidden;}
#virtualStartupLoader{
  position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  background:#efeff2;transition:opacity .35s ease,visibility .35s ease;
}
#virtualStartupLoader.is-hidden{opacity:0;visibility:hidden;pointer-events:none;}
.virtual-startup-loader__box{
  width:min(620px,calc(100vw - 48px));
  min-height:286px;padding:34px 34px 28px;box-sizing:border-box;
  border-radius:18px;position:relative;overflow:hidden;background:rgba(255,255,255,.90);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 18px 46px rgba(53,68,98,.10), inset 0 0 58px rgba(255,255,255,.50), 0 0 22px rgba(113,116,255,.14);
}
.virtual-startup-loader__box::before{
  content:"";position:absolute;inset:0;padding:2px;border-radius:18px;
  background:linear-gradient(90deg,#38d9ff,#5b8cff,#8d56ff,#c56bff,#38d9ff);
  background-size:300% 100%;animation:virtualLoaderRainbow 3.2s linear infinite;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}
.virtual-startup-loader__box::after{
  content:"";position:absolute;inset:-4px;border-radius:22px;pointer-events:none;z-index:-1;
  background:linear-gradient(90deg,rgba(56,217,255,.34),rgba(91,140,255,.30),rgba(141,86,255,.34),rgba(197,107,255,.30),rgba(56,217,255,.34));
  filter:blur(20px);background-size:300% 100%;animation:virtualLoaderRainbow 3.2s linear infinite;
}
.virtual-startup-loader__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;}
.virtual-startup-loader__glow{
  position:absolute;left:50%;transform:translateX(-50%);width:260px;height:260px;top:8px;pointer-events:none;
  background:radial-gradient(circle,rgba(166,124,255,.24) 0%,rgba(84,215,255,.16) 38%,rgba(255,255,255,0) 72%);
  filter:blur(12px);
}
.virtual-startup-loader__logo{width:96px;height:96px;object-fit:contain;animation:virtualLoaderHeartbeat 1.18s ease-in-out infinite;transform-origin:center center;}
.virtual-startup-loader__title{
  margin:10px 0 8px;font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  background:linear-gradient(90deg,#2c9dff 0%,#7b4cff 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.virtual-startup-loader__subtitle{margin:0 0 16px;font-size:18px;color:#5d6675;}
.virtual-startup-loader__bar{width:100%;height:14px;border-radius:999px;background:#dfdfe5;overflow:hidden;position:relative;}
.virtual-startup-loader__fill{
  width:0%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#299dff 0%,#6d64ff 50%,#8a49ff 100%);
  box-shadow:0 0 18px rgba(122,68,255,.36);transition:width .28s ease;
}
.virtual-startup-loader__meta{width:100%;display:flex;justify-content:space-between;align-items:center;margin:10px 0 0;gap:12px;}
.virtual-startup-loader__percent{font-size:30px;font-weight:900;line-height:1;color:#7b4cff;min-width:92px;text-align:left;}
.virtual-startup-loader__count{font-size:18px;color:#516070;text-align:right;flex:1;}
@keyframes virtualLoaderRainbow{0%{background-position:0% 50%;}100%{background-position:300% 50%;}}
@keyframes virtualLoaderHeartbeat{
  0%{transform:scale(1);filter:drop-shadow(0 8px 16px rgba(110,96,255,.18));}
  14%{transform:scale(1.05);filter:drop-shadow(0 10px 20px rgba(82,203,255,.24));}
  28%{transform:scale(.98);filter:drop-shadow(0 8px 16px rgba(110,96,255,.18));}
  42%{transform:scale(1.12);filter:drop-shadow(0 12px 24px rgba(123,76,255,.28));}
  70%{transform:scale(1);filter:drop-shadow(0 8px 16px rgba(110,96,255,.18));}
  100%{transform:scale(1);filter:drop-shadow(0 8px 16px rgba(110,96,255,.18));}
}
@media (max-width:700px){
  .virtual-startup-loader__box{padding:28px 22px 24px;min-height:250px;}
  .virtual-startup-loader__title{font-size:12px;}
  .virtual-startup-loader__subtitle{font-size:16px;}
  .virtual-startup-loader__percent{font-size:25px;min-width:76px;}
  .virtual-startup-loader__count{font-size:16px;}
}

/* ===== Right panel modern scroll ===== */
aside.right{
  max-height: calc(100vh - 120px);
  overflow:auto;
  overscroll-behavior: contain;
  scroll-behavior:smooth;
  padding-right:6px;
}
aside.right::-webkit-scrollbar{width:8px;}
aside.right::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px;}
aside.right::-webkit-scrollbar-track{background:rgba(255,255,255,.06);}

/* ===== Gradient mini UI ===== */
.grad-mode{display:flex;gap:8px;margin-top:8px}
.btn-mini{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(219 217 217);
  color:#000;
  padding:8px 10px;
  border-radius:10px;
  cursor:pointer;
  font-weight:600;
  font-size:12px;
}
.btn-mini.active{background:#111827;border-color:#374151;color:#fff;}
.grad-controls .row{display:flex;align-items:center;gap:10px;margin:8px 0;}
.grad-controls .lbl{min-width:54px;font-size:12px;opacity:.9}
.grad-controls .val{min-width:34px;text-align:right;font-size:12px;opacity:.85}
/* ===== Sticky Footer (always at bottom) ===== */
html, body { height: 100%; }
body { min-height: 100vh; display: flex; flex-direction: column; }
main.wrap { flex: 1 0 auto; }
footer.ftr { margin-top: auto; }

/* clean builder bar header (brand removed) */
.hdr-clean{background:var(--black);color:#fff}
.login{opacity:.9;font-size:13px}

.builder-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 18px;border-top:1px solid #1a1a1a
}
.builder-title{
  background:#111;color:#fff;padding:12px 16px;border-radius:2px;
  font-weight:900;letter-spacing:.2em;display:flex;gap:10px;align-items:center;
  min-width:280px
}
.pen{display:inline-block;width:14px;height:14px;background:#fff;opacity:.8}
.builder-code{
  background:var(--red);color:#fff;padding:12px 18px;font-weight:900;letter-spacing:.06em;
  min-width:240px;text-align:center;border-radius:2px
}

.wrap{
  display:grid;
  grid-template-columns: minmax(0,1fr) 380px;
  flex:1;
  min-height:0;
}

.left{padding:12px 12px 0 12px;background:#fff;display:flex;flex-direction:column;min-height:0}
.top-actions{display:flex;gap:10px;align-items:center;margin:8px 0 -55px 0;flex-wrap:wrap; cursor:pointer;z-index:8}
.btn-dark{border:0;background:#111;color:#fff;padding:10px 14px;border-radius:2px;font-weight:800;cursor:pointer}
.btn-outline{border:1px solid #111;background:#fff;color:#111;padding:10px 14px;border-radius:2px;font-weight:800;cursor:pointer}
.stage{display:flex;justify-content:center;align-items:center;flex:1;min-height:320px;position:relative;padding-bottom:58px}
canvas{max-width:100%;max-height:100%}
.canvas-note{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:min(94%,680px);padding:8px 14px;text-align:center;pointer-events:none;z-index:8}
.canvas-note__line{font-size:16px;font-weight:700;line-height:1.35;color:#111;animation:canvasNotePulse 5.2s ease-in-out infinite;will-change:color;}
.canvas-note__line:nth-child(2){animation-delay:.8s}
@keyframes canvasNotePulse{0%,100%{color:#111}50%{color:#DB0F0F}}
.canvas-note__line + .canvas-note__line{margin-top:2px}

.designer-bottom-actions{position:absolute;right:24px;bottom:14px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;z-index:9}
.designer-bottom-actions__saved,
.designer-bottom-actions__btn{appearance:none;border:0;background:transparent;padding:0;margin:0;display:inline-flex;align-items:center;gap:8px;font-size:16px;line-height:1.2;font-weight:700;color:#d91f26;cursor:pointer;transition:color .25s ease,opacity .25s ease,transform .25s ease}
.designer-bottom-actions__saved i,
.designer-bottom-actions__btn i{color:#d91f26;font-size:18px;line-height:1;transition:color .25s ease}
.designer-bottom-actions__saved:hover,
.designer-bottom-actions__btn:hover{opacity:.88;color:#000}
.designer-bottom-actions__saved:hover i,
.designer-bottom-actions__btn:hover i{color:#000}
.designer-bottom-actions__saved:focus-visible,
.designer-bottom-actions__btn:focus-visible{outline:2px solid #d91f26;outline-offset:4px;border-radius:4px}
.designer-bottom-actions__row{display:flex;align-items:center;gap:28px;padding-left:0}
.designer-modal__panel--saved{max-width:960px;width:min(94vw,960px)}
.designer-saved-designs__user{font-size:15px;font-weight:700;color:#d91f26;margin-bottom:14px}
.designer-saved-designs__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-height:66vh;overflow:auto;padding-right:4px}
.designer-saved-design-item{background: linear-gradient(to bottom, #ffffff 0%, rgba(255,255,255,0) 100%); padding:12px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.designer-saved-design-item__thumb{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;}
.designer-saved-design-item__title{font-size:15px;font-weight:800;color:#111;margin-top:10px}
.designer-saved-design-item__meta{font-size:13px;line-height:0.65;color:#444;padding-top: 7px;}
.designer-saved-design-item__actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.designer-saved-design-item__link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#d91f26;text-decoration:none}
.designer-saved-designs__empty{font-size:15px;font-weight:700;color:#d91f26;padding:18px 4px;text-align:center;grid-column:1 / -1;justify-self:center;max-width:560px}

.designer-save-design__input--readonly{background:#f7f7f7;color:#111;font-weight:700;cursor:default}
.designer-modal__head--lion{text-align:center;padding-left:0;padding-right:0;letter-spacing:.02em}.designer-modal__dialog--share-design{max-width:520px}.designer-share-modal{padding-top:26px;padding-bottom:26px}.designer-share-modal__preview-wrap{display:flex;justify-content:center;align-items:center;margin:0 auto 18px;padding:0}.designer-share-modal__preview{display:block;width:min(100%,260px);max-width:260px;max-height:260px;height:auto;object-fit:contain;background:#f7f7f7;border:1px solid #e4e4e4;border-radius:12px}.designer-share-modal__icons{display:flex;align-items:center;justify-content:center;gap:26px;padding:6px 0 2px}.designer-share-modal__icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;font-size:24px;color:#d91f26;text-decoration:none;transition:color .28s ease,transform .28s ease}.designer-share-modal__icon:hover{color:#000;transform:translateY(-2px)}.designer-share-modal__icon:focus-visible{outline:2px solid #d91f26;outline-offset:4px;border-radius:999px}
.designer-saved-designs__toolbar{margin-bottom:14px}
.designer-saved-designs__topbar{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:0 auto 16px;width:100%;text-align:center}
.designer-saved-design-item__thumb{max-width:120px;max-height:120px;margin:0 auto}
.designer-saved-design-item__actions{flex-wrap:wrap;justify-content:flex-start}
@media (max-width: 1200px){.designer-bottom-actions{right:18px;bottom:12px}.designer-bottom-actions__row{gap:22px}}
@media (max-width: 900px){.designer-bottom-actions{position:static;right:auto;bottom:auto;margin:10px auto 0;width:max-content;max-width:100%;align-items:center}.designer-bottom-actions__row{gap:18px;justify-content:center;flex-wrap:wrap}.canvas-note{bottom:72px}}

.designer-item-meta{position:absolute;left:12px;top:35%;transform:translateY(-35%);z-index:9;max-width:250px;pointer-events:none}
.designer-item-meta__title{font-size:30px;font-weight:900;line-height:1.05;color:#111;text-transform:uppercase;margin-bottom:2px}
.designer-item-meta__row{font-size:16px;line-height:1.25;margin-top:2px;color:#111;font-weight:700}
.designer-item-meta__label{color:#ff0000}
.designer-item-meta__value{color:#111;font-weight:500}
.canvas-undo-wrap{position:absolute;right:16%;top:34%;z-index:12;display:none;align-items:center;justify-content:center;flex-direction:column}
.canvas-undo-wrap.is-visible{display:flex}
.canvas-undo-btn{position:relative;width:48px;height:48px;border:2px solid #111;border-radius:5px;background:#A8CF45;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.16);animation:undoHeartbeat 1.35s ease-in-out infinite}
.canvas-undo-btn i{font-size:30px}
.canvas-undo-btn:hover{transform:translateY(-1px)}
.canvas-undo-tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);min-width:180px;max-width:210px;background:#5e63ff;color:#fff;font-size:11px;line-height:1.3;padding:8px 10px;border-radius:6px;text-align:left;box-shadow:0 10px 22px rgba(0,0,0,.18);pointer-events:none}
.canvas-undo-tooltip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#5e63ff}
@keyframes undoHeartbeat{0%,100%{transform:scale(1)}20%{transform:scale(1.06)}40%{transform:scale(.98)}60%{transform:scale(1.04)}80%{transform:scale(1)}}

.right{border-left:1px solid var(--line);background:#fff;padding:10px;overflow:auto}
.virtual-fabric-bar{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin:0 auto 14px;text-align:center}
.virtual-fabric-bar__head{width:100%;display:flex;justify-content:center}
.virtual-fabric-bar__title{display:inline-flex;align-items:center;gap:5px;text-decoration:none;color:#111;font-size:24px;font-weight:400;line-height:1;font-family:Arial,Helvetica,sans-serif;transition:color .28s ease}
.virtual-fabric-bar__title:hover{color:#db0f0f}
.virtual-fabric-bar__title i{font-size:18px;color:inherit;position:relative;top:-1px;transition:transform .28s ease}
.virtual-fabric-bar__title:hover i{animation:fabricHeartBeat .9s ease-in-out infinite}
.virtual-fabric-bar__buttons{display:flex;flex-wrap:nowrap;justify-content:center;gap:5px;width:100%;max-width:352px}
.virtual-fabric-btn{width:114px;min-width:0;height:36px;padding:0 10px;border:1px solid #111;background:#fff;color:#111;font:400 17px/1 Arial,Helvetica,sans-serif;cursor:pointer;box-shadow:none;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .28s ease,color .28s ease,border-color .28s ease}
.virtual-fabric-btn:hover{background:#ff1c24;color:#fff;border-color:#d11219}
.virtual-fabric-btn.active{background:#ff1c24;color:#fff;border-color:#d11219}
@keyframes fabricHeartBeat{0%,100%{transform:scale(1)}20%{transform:scale(1.14)}40%{transform:scale(.96)}60%{transform:scale(1.1)}80%{transform:scale(1)}}
.mini-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}
.mini-tab{
  border:0;background:#fff;color:#111;font-weight:800;font-size:12px;cursor:pointer;
  border-bottom:2px solid transparent;padding:8px 6px; border-radius: 5px 5px 0 0; transition: color 0.3s ease, border-bottom-color 0.3s ease;
}
.mini-tab:hover{
  color:#DB0F0F; border-bottom:2px solid #DB0F0F;
}
.mini-tab.active{color:var(--red);border-bottom-color:var(--red)}
.tabbox{display:none}
.tabbox.active{display:block}

.fill-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 10px;border:1px solid var(--line);margin-top:10px;
  font-weight:900;cursor:pointer
}
.fill-preview{width:28px;height:18px;border:2px solid #111;background:#fff}

.fill-body{
  border:1px solid var(--line);border-top:0;padding:10px;background:#fff;display:none
}
.fill-body.open{display:block}

.bar-label{
  background:#d9d9d9;color:#111;text-align:center;font-weight:900;
  padding:6px;border:1px solid #cfcfcf;margin:10px 0 8px 0
}
#gradientSection > .bar-label{
  transition:background-color .28s ease,color .28s ease,border-color .28s ease;
}
#gradientSection > .bar-label.grad-active{
  background:#d50000;
  color:#fff;
  border-color:#b10000;
}

.swatch-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(22px, 1fr));
  gap:7px;
  align-items:center;
}

.swatch-grid.small{grid-template-columns:repeat(9,1fr)}
.sw{
  width:100%;
  aspect-ratio:1 / 1;
  border:1px solid #d0d0d0;
  cursor:pointer;
  border-radius:4px;
  transition: transform .18s ease, box-shadow .18s ease;
  transform: scale(1);
  position: relative;
}
.sw:hover{
  transform: scale(1.3);
  z-index: 5;
  box-shadow: 0 6px 16px rgba(0,0,0,.18);
}
.sw.sel{outline:2px solid var(--red);outline-offset:1px}
.grad-duplicate-tooltip{
  position:fixed;
  left:0;
  top:0;
  transform:translateX(-50%) translateY(6px);
  background:#fff;
  color:#000;
  border:1px solid #ff2b2b;
  border-radius:8px;
  padding:7px 10px;
  font-size:11px;
  line-height:1.25;
  white-space:normal;
  max-width:320px;
  text-align:left;
  box-shadow:0 0 0 1px rgba(255,43,43,.28), 0 0 12px rgba(255,43,43,.45), 0 0 22px rgba(255,43,43,.22);
  pointer-events:none;
  opacity:0;
  z-index:99999;
  transition:opacity .16s ease, transform .16s ease;
}
.grad-duplicate-tooltip.is-visible{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.grad-duplicate-tooltip::before,
.grad-duplicate-tooltip::after{
  content:'';
  position:absolute;
  left:var(--tip-arrow-left, 50%);
  top:100%;
  transform:translateX(-50%) translateY(-50%) rotate(45deg);
}
.grad-duplicate-tooltip::before{
  width:14px;
  height:14px;
  background:#fff;
  border-right:1px solid #ff2b2b;
  border-bottom:1px solid #ff2b2b;
  box-shadow:4px 4px 12px rgba(255,43,43,.18);
}
.grad-duplicate-tooltip::after{
  width:10px;
  height:10px;
  background:#fff;
}
.fabric-title-tooltip{
  white-space:nowrap;
  max-width:none;
}

.thumb-row{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center
}
.thumb{
  width:44px;height:44px;border:1px solid #cfcfcf;border-radius:2px;cursor:pointer;
  background-size:cover;background-position:center;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  transform: scale(1);
}
.thumb:hover,
.thumb.is-active{
  transform: scale(1.2);
  border-color: var(--red);
  box-shadow: 0 6px 16px rgba(0,0,0,.18);
  z-index: 5;
}
.thumb.sel{outline:2px solid var(--red);outline-offset:1px}

/* Keep NONE thumb readable and active styling consistent */
#patternThumbs .thumb.is-none{
  position: relative;
}

.card{border:1px solid var(--line);background:#fff;padding:12px;margin-top:10px}
.card-title{font-weight:900;margin-bottom:8px}
.card-sub{margin-top:10px;font-weight:900;font-size:12px;opacity:.85}
.input{width:100%;padding:10px;border:1px solid var(--line);border-radius:2px;outline:none}
.row{display:flex;gap:8px;align-items:center;margin-top:8px}
.lbl{width:50px;font-weight:800;font-size:12px}
.full{width:100%}
.hint{font-size:12px;opacity:.8;margin-top:6px}
.hint__text{display:none}

.next-wrap{margin:14px 0 8px 0}
.btn-next{
  width:100%;padding:12px;border:0;background:#e0e0e0;font-weight:900;cursor:pointer
}

/* Names / Numbers mode buttons */
.mode-row{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px 0}
#addTextTop{flex:0 0 100%;width:100%}
.outline-mode-row{display:flex;gap:8px;flex-wrap:wrap}
.outline-mode-row .mode-btn{flex:1}
.xlarge-select{min-height:44px;font-size:16px}
.mode-btn{
  flex:1;
  padding:10px 12px;
  border:1px solid #111;
  background:#fff;
  color:#111;
  font-weight:900;
  cursor:pointer;
  border-radius:2px;
}
.mode-btn.active{background:#111;color:#fff}

.ftr{flex-shrink:0;height:60px;background:var(--black);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;opacity:.98;border-top:1px solid rgba(255,255,255,.08)}
.ftr__inner{font-size:14px;font-weight:500;color:#fff;width:98%;max-width:98%;height:60px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px;box-sizing:border-box}
.ftr__copy{flex:1 1 auto;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ftr__right{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}
.ftr__project{font-size:14px;font-weight:500;color:#fff;white-space:nowrap}
.ftr__brand{display:inline-flex;align-items:center;justify-content:center;height:28px;transform-origin:center center;animation:ftrHeartBeat 1.35s ease-in-out infinite;text-decoration:none}
.ftr__brand img{display:block;height:65px;width:auto;filter:drop-shadow(0 0 8px rgba(219,15,15,.22));margin-top: -30px;}
@keyframes ftrHeartBeat{0%,100%{transform:scale(1)}14%{transform:scale(1.12)}28%{transform:scale(1)}42%{transform:scale(1.16)}70%{transform:scale(1)}}
.ft-header{
  height: 84px;
  background:#000;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 2.2% 0.5%;
  box-sizing:border-box;
}
.ft-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;transform-origin:center;transition:transform .22s ease;}
.ft-logo img{display:block;height:44px;width:auto;}
.ft-logo:hover{animation:ftLogoHeartbeat .78s ease-in-out infinite;}
@keyframes ftLogoHeartbeat{0%,100%{transform:scale(1)}25%{transform:scale(1.08)}45%{transform:scale(.98)}65%{transform:scale(1.05)}}
.ft-logo-title{font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:14px;color:#fff;line-height:1.1;}
.view-toggle-btn{border:1px solid #111;border-radius:10px;background:#111;color:#fff;box-shadow:none;transition:opacity .22s ease, transform .22s ease, background-color .22s ease, border-color .22s ease, color .22s ease;animation:sizeChartFadeIn .24s ease, viewToggleBtnPulse 1.55s ease-in-out infinite;will-change:transform,background-color}
.view-toggle-btn:hover{transform:scale(1.12);box-shadow:none}
@keyframes viewToggleBtnPulse{0%,100%{background:#111;color:#fff;border-color:#111;transform:scale(1)}35%{background:#111;color:#fff;border-color:#111;transform:scale(1.02)}55%{background:#DB0F0F;color:#fff;border-color:#DB0F0F;transform:scale(1.14)}75%{background:#b90c0c;color:#fff;border-color:#b90c0c;transform:scale(1.08)}}

.ft-header .ft-logo{
  display:flex;
  align-items:center;
  gap:14px;
  user-select:none;
}
.ft-header .ft-logo img{
  height: 65px;
  width:auto;
  display:block;
}
.ft-header .ft-login{
  display:flex;
  align-items:center;
  gap:8px;
  color:#ffffff;
  font-weight:700;
  font-size:14px;
  text-decoration:none;
  letter-spacing:.3px;
  transition: color .25s ease;
  transform-origin:center;
}
.ft-header .ft-login i{
  font-size:14px;
  transition: transform .25s ease, color .25s ease;
}
.ft-header .ft-login:hover{
  color:#DB0F0F;
  animation:ftLoginRedWhiteBeat .95s ease-in-out infinite;
}
.ft-header .ft-login:hover i{
  color:#DB0F0F;
  transform: translateX(2px);
}
.ft-header .ft-login span{
  position:relative;
  display:inline-block;
}
.ft-header .ft-login span:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  height:2px;
  width:0%;
  background:#DB0F0F;
  transition: width .25s ease;
}
.ft-header .ft-login:hover span:after{
  width:100%;
}
@keyframes ftLoginRedWhiteBeat{0%,100%{color:#DB0F0F;transform:scale(1)}35%{color:#fff;transform:scale(1.08)}65%{color:#DB0F0F;transform:scale(1.03)}}
@media (max-width: 640px){
  .ft-header{height:72px;padding:0 14px;}
  .ft-header .ft-logo img{height:38px;}
}

/* responsive */
@media (max-width: 980px){
  .wrap{grid-template-columns:1fr;height:auto}
  .right{border-left:0;border-top:1px solid var(--line)}
  .stage{height:70vh}
}

/* ===================== Pattern Color Icons ===================== */
#patternColorIconsLabel{
  margin-top:12px; /* top space requested */
}

#patternColorIcons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}

#patternColorIcons .pcol{
  width:33px;
  height:33px;
  padding:0;
  border:1px solid rgba(0,0,0,.18);
  border-radius:8px;
  background:#fff;
  overflow:visible;
  position:relative;
  cursor:pointer;
  transition:transform .5s, box-shadow .5s, border-color .5s;
  transform-origin:center;
}

#patternColorIcons .pcol img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:7px;
}

#patternColorIcons .pcol:hover{
  transform:scale(1.5);
  z-index:50;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  border-color:rgba(0,0,0,.28);
}

#patternColorIcons .pcol.active{
  transform:scale(1.18);
  border-color:#DB0F0F;
  box-shadow:0 0 0 2px rgba(219,15,15,.25);
}


/* ===================== Requested UI tweaks ===================== */

/* Swatches: fit full width; smooth scale on hover */
.swatch-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(26px, 1fr)); gap:8px; }
.swatch{ transition: transform .18s ease, box-shadow .18s ease; will-change: transform; }
.swatch:hover{ transform: scale(1.3); z-index:5; }

/* Pattern NONE thumb special */
#patternThumbs .thumb.is-none{
  position: relative;
  border-style: dashed;
  opacity: .9;
}
#patternThumbs .thumb.is-none::after{
  content: "Remove Pattern Effect";
  position:absolute;
  inset:auto 0 0 0;
  font-size:8px;
  line-height:1.05;
  text-align:center;
  padding:2px 1px;
  background: rgba(0,0,0,.35);
  color:#fff;
  border-radius:0 0 10px 10px;
}
#patternThumbs .thumb.active-none{
  outline: 2px solid #111;
  box-shadow: 0 0 0 3px rgba(255,255,255,.75);
}

/* Active fill header looks different */
.fill-head.active{
  box-shadow: 0 6px 18px rgba(0,0,0,.15);
  transform: translateY(-1px);
}



/* NONE / Transparent swatch (FontAwesome icon) */
.sw.sw-none{
  background:
    linear-gradient(45deg, #eee 25%, transparent 25%),
    linear-gradient(-45deg, #eee 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #eee 75%),
    linear-gradient(-45deg, transparent 75%, #eee 75%);
  background-size: 10px 10px;
  background-position: 0 0, 0 5px, 5px -5px, -5px 0px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#111;
  font-size:14px;
}
.sw.sw-none i{pointer-events:none; opacity:.9}

/* Active swatch same as hover */
.sw.active{
  transform: scale(1.5);
  z-index: 5;
  box-shadow: 0 6px 16px rgba(0,0,0,.18);
  border-color: #DB0F0F;
}


/* ===================== Admin Tag Toolbar (ftag.svg) ===================== */

.admin-tag-tools{
  position: fixed; /* computed screen position */
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
  width: 210px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(10,10,10,.78);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 26px rgba(0,0,0,.25);
}

.admin-tag-tools .tagtool-toprow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

/* Toggle switch (ON/OFF like screenshot) */
.tagtool-switch{
  display:inline-flex;
  align-items:center;
  cursor:pointer;
  user-select:none;
}
.tagtool-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.tagtool-switch-ui{
  position:relative;
  width:110px;
  height:34px;
  border-radius:999px;
  background:#d60d0d; /* OFF */
  border:1px solid rgba(255,255,255,.20);
  box-shadow: 0 8px 18px rgba(0,0,0,.22);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 12px;
  overflow:hidden;
  transition: background .18s ease;
}
.tagtool-switch-text{
  font-size:11px;
  font-weight:800;
  color:#fff;
  letter-spacing:.35px;
  opacity:.95;
  line-height:1;
}
.tagtool-switch-text-on{ opacity:.55; }
.tagtool-switch-text-off{ opacity:.95; }

.tagtool-switch-knob{
  position:absolute;
  top:4px;
  left:4px;
  width:26px;
  height:26px;
  border-radius:50%;
  background: radial-gradient(circle at 30% 30%, #fff, #d8d8d8);
  box-shadow: 0 6px 14px rgba(0,0,0,.22);
  transition: left .18s ease;
}

/* Checked => ON */
.tagtool-switch input:checked + .tagtool-switch-ui{
  background:#4fb70a;
}
.tagtool-switch input:checked + .tagtool-switch-ui .tagtool-switch-knob{
  left: calc(100% - 26px - 4px);
}
.tagtool-switch input:checked + .tagtool-switch-ui .tagtool-switch-text-on{ opacity:.95; }
.tagtool-switch input:checked + .tagtool-switch-ui .tagtool-switch-text-off{ opacity:.55; }

.admin-tag-tools .tagtool-btn{
  width: 34px;
  height: 34px;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}

.admin-tag-tools .tagtool-btn:hover{
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.28);
  transform: translateY(-1px);
}

.admin-tag-tools .tagtool-btn:active{
  transform: translateY(0px) scale(.98);
}

.admin-tag-tools .tagtool-sep{
  width: 1px;
  height: 22px;
  background: rgba(255,255,255,.18);
  display: inline-block;
  margin: 0 2px;
}

.admin-tag-tools .tagtool-save{
  background: rgba(64, 216, 132, .16);
  border-color: rgba(64, 216, 132, .28);
}

.admin-tag-tools .tagtool-readout-row{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
  color: rgba(255,255,255,.88);
}

.admin-tag-tools .tagtool-readout-row b{
  font-weight: 700;
  letter-spacing: .2px;
}

.admin-tag-tools.tagtool-saved{
  border-color: rgba(64, 216, 132, .55);
  box-shadow: 0 10px 26px rgba(64, 216, 132, .12);
}


.admin-tag-tools .tagtool-slider{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.admin-tag-tools .tagtool-slider-head{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: rgba(255,255,255,.86);
}

.admin-tag-tools .tagtool-slider input[type="range"]{
  width: 100%;
  accent-color: #40d884; /* modern browsers */
}

.admin-tag-tools .tagtool-save{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
}

.admin-tag-tools .tagtool-save:hover{
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.30);
}

/* ===================== Logo Popup (match provided screenshot) ===================== */
.admin-tag-tools.logo-tools{
  width: 300px;
  padding: 14px 14px;
  border-radius: 18px;
  background: rgba(45,45,45,.92);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 14px 34px rgba(0,0,0,.35);
}

.logo-tools__top{
  display:flex;
  align-items:center;
  gap:10px;
}

.logo-tools__title{
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .6px;
  color:#fff;
  margin-right:auto;
}

.logo-tools__icon{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.10);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.logo-tools__icon:hover{ background: rgba(255,255,255,.14); }

.logo-tools__switch{ display:flex; align-items:center; gap:6px; }
.logo-tools__switch-text{
  font-size: 13px;
  font-weight: 900;
  color:#fff;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.18);
}

/* Logo popup toggle needs longer labels (VISIBLE / INVISIBLE) */
.logo-tools .tagtool-switch-ui{
  width: 150px;
  padding: 0 14px;
}
.logo-tools .tagtool-switch-text{
  font-size: 10px;
  letter-spacing: .35px;
}

.logo-tools .tagtool-switch-text{
  font-size: 10px;
  letter-spacing: .3px;
}

.logo-tools__row{
  display:flex;
  gap:10px;
  margin-top: 10px;
}

.logo-tools__pill{
  flex:1;
  border: 0;
  border-radius: 999px;
  padding: 10px 10px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .3px;
  color:#fff;
  background: rgba(0,0,0,.22);
  cursor:pointer;
}

.logo-tools__pill.active{
  background: rgba(79,183,10,.92);
}

.logo-tools__control{
  display:grid;
  grid-template-columns: 120px 1fr 54px;
  align-items:center;
  gap: 10px;
  margin-top: 10px;
}

.logo-tools__control-left{
  display:flex;
  align-items:center;
  gap:10px;
  color: rgba(255,255,255,.92);
  font-size: 14px;
  font-weight: 800;
}

.logo-tools__control input[type="range"]{
  width: 100%;
  accent-color: #4fb70a;
}

.logo-tools__num{
  width: 54px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.20);
  color:#fff;
  text-align:center;
  font-weight: 900;
  font-size: 14px;
}

.logo-tools__colors{
  margin-top: 12px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.logo-tools__color-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}

.logo-tools__label{
  color:#fff;
  font-size: 18px;
  font-weight: 500;
}

.logo-tools__colorbox{
  width: 94px;
  height: 28px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.22);
  background: #ffffff;
  cursor:pointer;
}


/* ===================== Logo Color Popup (solid colors only) ===================== */
.logo-color-popup{
  position: fixed;
  z-index: 99999;
  width: 280px;
  max-width: calc(100vw - 20px);
  padding: 10px;
  border-radius: 16px;
  background: rgba(45,45,45,.96);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 40px rgba(0,0,0,.45);
}

.logo-color-popup__grid{
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 8px;
}

.logo-color-popup .sw{
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.16);
  cursor: pointer;
}

.logo-color-popup .sw:hover{
  outline: 2px solid rgba(255,255,255,.65);
  outline-offset: 1px;
}

.logo-color-popup .sw.sw-none{
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(0,0,0,.15);
  color: rgba(255,255,255,.9);
}

/* ===================== Admin Mode UI (Alt+M Popup) ===================== */
.admin-mode-btn{
  border:0;
  outline:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 20px;
  border-radius:50px;
  background:rgb(7 134 243);
  color:#fff;
  box-shadow:0 2px 7px rgba(0,0,0,0.45);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.admin-mode-btn:hover{
background: rgb(5 80 217);
}

.admin-mode-btn i{ font-size:24px; }
.admin-mode-btn__text{ font-weight:700; letter-spacing:0.6px; font-size:12px; }

.admin-secret-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.45);
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.admin-secret-modal{
  width:min(420px, 96vw);
  background:#4b4b4b;
  border-radius:14px;
  padding:22px 22px 18px;
  box-shadow:0 18px 50px rgba(0,0,0,0.45);
  position:relative;
}
.admin-secret-close{
  position:absolute;
  right:10px;
  top:10px;
  width:34px;
  height:34px;
  border-radius:10px;
  border:2px solid rgba(255,255,255,0.15);
  background:rgba(0,0,0,0.20);
  color:#ff3b3b;
  cursor:pointer;
}
.admin-secret-title{
  text-align:center;
  color:#f0f0f0;
  font-size:18px;
  margin:6px 0 16px;
}
.admin-secret-input{
  width:100%;
  height:40px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.15);
  background:rgba(0,0,0,0.20);
  color:#fff;
  padding:0 12px;
  margin-bottom:14px;
}
.admin-secret-proceed{
  width:100%;
  height:46px;
  border-radius:12px;
  border:0;
  cursor:pointer;
  position:relative;
  background:#39d500;
  color:#fff;
  font-weight:800;
  letter-spacing:1px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 18px rgba(0,0,0,0.25);
}
.admin-secret-proceed__knob{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  opacity:0.9;
}
.admin-secret-error{
  margin-top:10px;
  color:#ffd6d6;
  font-size:13px;
  text-align:center;
}


/* Hide VISIBLE/INVISIBLE text in logo toggle (keep knob only) */
.logo-tools .tagtool-switch-text{ display:none; }
.logo-tools .tagtool-switch-ui{ padding:0; justify-content:center; }


/* ===================== Toast ===================== */
/* Default: top-center green pill like the screenshot */
.virtual-toast{
  position: fixed;
  left: 50%;
  top: 18px;
  bottom: auto;
  transform: translateX(-50%) translateY(-10px);
  z-index: 999999;
  min-width: 180px;
  max-width: calc(100vw - 28px);
  padding: 10px 18px;
  border-radius: 18px;
  background: #22c55e; /* green */
  color: #ffffff;
  font-weight: 800;
  letter-spacing: .2px;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
}
.virtual-toast.show{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.virtual-toast.error{
  background: #dc2626; /* red */
}

/* When toast is injected into the tag tools panel */
.admin-tag-tools .virtual-toast.in-panel{
  position: absolute;
  left: 50%;
  top: -54px; /* sits above the popup */
  transform: translateX(-50%) translateY(-10px);
}
.admin-tag-tools .virtual-toast.in-panel.show{
  transform: translateX(-50%) translateY(0);
}



/* ===== Logo Visible/Invisible pill toggle (no knob) ===== */
.logo-vis-toggle{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;}
.logo-vis-toggle input{position:absolute;opacity:0;pointer-events:none;}
.logo-vis-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:110px; /* smaller width */
  height:34px;
  padding:0 14px;
  border-radius:999px;
  font-weight:700;
  font-size:13px;
  letter-spacing:.3px;
  color:#fff;
  background:#18b54a; /* green */
  box-shadow:0 6px 16px rgba(0,0,0,.18);
}
.logo-vis-toggle input:not(:checked) + .logo-vis-pill{
  background:#d81f1f; /* red */
}
.logo-vis-toggle input:checked + .logo-vis-pill::before{
  content:"Visible";
}
.logo-vis-toggle input:not(:checked) + .logo-vis-pill::before{
  content:"Invisible";
}
/* hide original text node if any */
.logo-vis-pill{font-size:0;}
.logo-vis-pill::before{font-size:13px;}

.admin-tem-tools .tem-vis-toggle{
  gap:0;
  align-items:stretch;
}
.admin-tem-tools .tem-vis-toggle .logo-vis-pill::before{
  font-size:13px;
}


/* Transparent fill tabs (pathcolors = #F1F1F1) -> show Patterns NONE background with 0.5 opacity */
.fill-head.tab-transparent{position:relative; overflow:hidden; background:#ffffff !important;}
.fill-head.tab-transparent::before{content:''; position:absolute; inset:0; background-image:url("virtual_images/none_tab.jpg"); background-repeat:repeat-x; background-size:contain; background-position:center center; opacity:0.5; pointer-events:none;}
.fill-head.tab-transparent > *{position:relative; z-index:1;}


/* Curve controls bottom bar */
#curveOptions{position:sticky;bottom:0;}


/* PATCH: Xlarge font select (Names/Numbers) */
#fontFamily.xlarge-select {
    height: 56px;
    font-size: 20px;
    padding-top: 12px;
    padding-bottom: 12px;
}



/* PATCH: Add Text button (only when no text on canvas) */
#addText{
  width:100%;
  margin-top:8px;
}


/* PATCH: Font family dropdown readability */
#fontFamily option{
  font-size:26px;
  white-space:normal;
}
#fontFamily{
  max-width:100%;
  text-overflow:clip;
}

/* PATCH: Text input readability (Names/Numbers) */
#textValue{
  font-size:26px;
  height:56px;
  padding-top:12px;
  padding-bottom:12px;
}


/* Outline mode buttons */
#outlineModeRow .mode-btn{min-height:42px}
#outlineModeRow .mode-btn.active{outline:2px solid #1e88e5}


/* ===== Text Outline Mode Buttons + Scrollable Swatches (patch) ===== */
.outline-mode-row{
  display:flex;
  gap:8px;
  align-items:center;
}
.outline-mode-row .mode-btn{
  flex:1;
  white-space:nowrap;
}
.swatch-scroll{
  max-height: 180px;
  overflow-y: auto;
  padding-right: 2px;
}


/* ================= ADMIN TEM TEXT TOOLS (Names/Numbers) ================= */
.admin-tem-tools{
  position:absolute;
  z-index: 50;
  width: 340px;
  max-width: calc(100vw - 16px);
  overflow: hidden;
  border-radius: 16px;
  background: rgba(28,28,28,0.98);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 10px 28px rgba(0,0,0,0.35);
}
.admin-tem-tools .tem-tools__top{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 10px 10px 6px 10px;
  gap: 10px;
}
.admin-tem-tools .tem-tools__top-actions{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:nowrap;
}
.admin-tem-tools .tem-tools__icon,
.admin-tem-tools .tem-tools__mini,
.admin-tem-tools .tem-tools__btn,
.admin-tem-tools .tem-tools__toggle-btn{
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color:#fff;
  cursor:pointer;
}
.admin-tem-tools .tem-tools__icon{
  width:44px;
  height:44px;
  border-radius: 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 44px;
}
.admin-tem-tools .tem-tools__toggle-wrap{
  margin:0;
  flex:1 1 0;
  min-width:0;
  display:flex;
}
.admin-tem-tools .tem-tools__toggle-wrap input{position:absolute;opacity:0;pointer-events:none;}
.admin-tem-tools .tem-tools__toggle-btn{
  height:34px;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:13px;
  letter-spacing:.3px;
  color:#fff;
  background:#18b54a;
  box-shadow:0 6px 16px rgba(0,0,0,.18);
  white-space:nowrap;
  text-align:center;
}
.admin-tem-tools #temViewBtn.tem-tools__toggle-btn{
  min-width:110px;
  flex:0 0 auto;
  background:#16A34A;
  border-color:#15803D;
}
.admin-tem-tools .tem-tools__toggle-wrap .tem-tools__toggle-btn{
  width:100%;
  min-width:110px;
}
.admin-tem-tools .tem-tools__body{
  padding: 0 10px 12px 10px;
}
.admin-tem-tools .tem-tools__zonebar{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}
.admin-tem-tools .tem-tools__mini{
  width:34px;
  height:34px;
  border-radius: 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.admin-tem-tools .tem-tools__zoneinfo{
  min-width:0;
  flex:1;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.06);
}
.admin-tem-tools .tem-tools__zonecap{
  font-size:11px;
  color:#bfc6d1;
  line-height:1.1;
}
.admin-tem-tools .tem-tools__zonename{
  font-size:14px;
  font-weight:700;
  color:#fff;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-tem-tools .tem-tools__actions{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.admin-tem-tools .tem-tools__btn{
  height:38px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:12px;
  font-weight:600;
}
.admin-tem-tools .tem-tools__btn--danger{
  background: rgba(152, 37, 37, 0.26);
  border-color: rgba(255,120,120,0.18);
}
.admin-tem-tools .tem-tools__note{
  padding:10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  color:#d8dde5;
  font-size:12px;
  line-height:1.45;
}

/* ===== Logo tab/upload patch ===== */
.logo-upload-card #logoFile{display:none}
.logo-upload-card .card-title{text-align:left}
.upload-logo-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  min-height:44px;
  padding:12px 14px;
  border-radius:0;
  background:#d91f26;
  color:#fff;
  font-weight:700;
  cursor:pointer;
  border:0;
  box-sizing:border-box;
}
.upload-logo-btn i,.upload-logo-btn span{color:#fff}
.logo-format-text{
  margin-top:8px;
  text-align:center;
  font-size:12px;
  color:#777;
}
.logo-upload-msg{
  margin-top:10px;
  text-align:center;
  font-size:13px;
  font-weight:600;
}
.logo-upload-msg.success{color:#1f9d49}
.logo-upload-msg.error{color:#d91f26}
.club-logo-tabs-wrap{margin-top:16px}
.club-logo-tabs{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.club-logo-tab{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:42px;
  padding:12px 16px;
  border:1px solid #d91f26;
  background:#d91f26;
  color:#fff;
  text-align:center;
  font-weight:700;
  cursor:pointer;
  border-radius:8px;
  transition:background-color .22s ease,border-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease;
}
.club-logo-tab:hover,
.club-logo-tab.active{
  background:#000;
  border-color:#000;
  color:#fff;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
}
.club-logo-thumbs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:15px;
  margin:15px 0 18px;
  width:100%;
  justify-items:center;
  align-items:start;
}

.club-logo-thumb{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1/1;
  padding:8px;
  border:1px solid #ddd;
  background:#fff;
  cursor:pointer;
  box-sizing:border-box;
}
.club-logo-thumb.active{
  border-color:#000;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
}
.club-logo-thumb img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
}
.club-logo-empty{
  grid-column:1/-1;
  width:100%;
  padding:12px 10px;
  color:#d91f26;
  font-size:13px;
  font-weight:700;
  text-align:center;
}



#addTextTop{display:none !important;}


#tab-names #addTextTop{
  display:block !important;
  width:100%;
  margin:8px 0 10px 0;
}
.names-empty-msg{
  margin:0 0 10px 0;
  color:#666;
  font-size:13px;
  line-height:1.5;
  text-align:left;
}

.size-chart-btn{
  display:block;
  width:100%;
  margin:0 0 12px 0;
  padding:14px 12px;
  border:1px solid #d91f26;
  border-radius:10px;
  background:#d91f26;
  color:#fff;
  text-align:center;
  font-weight:800;
  font-size:15px;
  line-height:1.35;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(217,31,38,.18);
  transition:opacity .28s ease, transform .28s ease, box-shadow .28s ease;
  animation:sizeChartFadeIn .38s ease, sizeChartBtnPulse 3.4s ease-in-out infinite;
}
.size-chart-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(217,31,38,.22);
}
@keyframes sizeChartFadeIn{
  from{opacity:0; transform:translateY(-8px);}
  to{opacity:1; transform:translateY(0);}
}
@keyframes sizeChartBtnPulse{
  0%,100%{
    background:#d91f26;
    color:#fff;
    border-color:#d91f26;
    box-shadow:0 10px 24px rgba(217,31,38,.18);
  }
  50%{
    background:#fff;
    color:#111;
    border-color:#e3e3e3;
    box-shadow:0 10px 24px rgba(0,0,0,.10);
  }
}
@media (prefers-reduced-motion: reduce){
  .size-chart-btn{
    animation:sizeChartFadeIn .01s linear;
  }
}
body.size-chart-open{overflow:hidden;}
.size-chart-modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:9999;
}
.size-chart-modal.is-open{display:block;}
.size-chart-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.58);
  animation:sizeChartBackdropIn .25s ease;
}
.size-chart-modal__dialog{
  position:relative;
  z-index:1;
  width:min(92vw, 980px);
  max-height:88vh;
  margin:4vh auto;
  background:#fff;
  border-radius:18px;
  box-shadow:0 22px 60px rgba(0,0,0,.24);
  overflow:hidden;
  animation:sizeChartDialogIn .28s ease;
}
.size-chart-modal__close{
  position:absolute;
  top:10px;
  right:12px;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:#f3f3f3;
  color:#111;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.size-chart-modal__title{
  padding:18px 56px 14px 20px;
  color:#111;
  font-size:22px;
  font-weight:800;
  text-align:center;
}
.size-chart-modal__body{
  padding:0 14px 18px;
  overflow:auto;
  max-height:calc(88vh - 70px);
}
.size-chart-modal__body img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  margin:0 auto;
  border-radius:12px;
  background:#fff;
}
@keyframes sizeChartBackdropIn{
  from{opacity:0;}
  to{opacity:1;}
}
@keyframes sizeChartDialogIn{
  from{opacity:0; transform:translateY(14px) scale(.98);}
  to{opacity:1; transform:translateY(0) scale(1);}
}
@media (max-width: 640px){
  .size-chart-modal__dialog{
    width:calc(100vw - 18px);
    margin:9px auto;
    max-height:calc(100vh - 18px);
    border-radius:14px;
  }
  .size-chart-modal__title{
    font-size:18px;
    padding:16px 48px 12px 16px;
  }
  .size-chart-modal__body{
    padding:0 8px 12px;
    max-height:calc(100vh - 86px);
  }
}


/* Patch: never show stray NONE swatch/icon inside Names / Numbers outline area */
#tab-names .sw.sw-none,
#tab-names .sw.sw-none i{
  display:none !important;
  opacity:0 !important;
}


body.virtual-designer-page{overflow:hidden;height:100vh;}
body.virtual-designer-page.designer-modal-open{overflow:hidden;}
body.virtual-designer-page .wrap{height:calc(100vh - 84px - 60px);}
body.virtual-designer-page .left, body.virtual-designer-page .right{min-height:0;}
body.virtual-designer-page .stage{overflow:hidden;}
.ft-auth{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;min-width:150px;}
.ft-auth-user{font-size:14px;font-weight:600;color:#fff;line-height:1;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .22s ease;}
.ft-auth-user.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.admin-mode-btn{position:fixed!important;left:10px!important;top:85%!important;z-index:2147483647!important;pointer-events:auto!important;touch-action:manipulation;min-width:118px;min-height:44px;width:118px;height:44px;box-sizing:border-box;isolation:isolate;overflow:visible;}
.admin-mode-btn *{pointer-events:none;}
.admin-mode-btn::before{content:"";position:absolute;inset:0;border-radius:50px;z-index:0;pointer-events:none;}
.admin-mode-btn i,.admin-mode-btn__text{position:relative;z-index:1;}
.designer-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.68);}
.designer-modal__backdrop{position:absolute;inset:0;}
.designer-modal__dialog{position:relative;z-index:1;width:min(760px,calc(100vw - 24px));background:#f7f7f7;border-radius:18px;border:1px solid rgba(255,38,38,.9);box-shadow:0 0 0 1px rgba(255,38,38,.18),0 0 14px rgba(255,0,0,.30),0 0 28px rgba(255,0,0,.18),0 28px 70px rgba(0,0,0,.40);overflow:hidden;max-height:calc(100vh - 36px);overflow-y:auto;}
.designer-modal__dialog--welcome{width:min(760px,calc(100vw - 24px));padding:0;}
.designer-modal__head,.designer-modal__title{background:#ff120d;color:#fff;font-size:24px;font-weight:700;line-height:1.2;padding:16px 22px;}
.designer-modal__close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#fff;font-size:34px;line-height:1;cursor:pointer;z-index:3;transition:color .22s ease,transform .22s ease;}
.designer-modal__lead,.designer-modal__text{padding:0 34px;text-align:center;color:#393939;}
.designer-modal__lead{padding-top:34px;font-size:16px;font-weight:500;line-height:1.55;}
.designer-modal__text{font-size:16px;line-height:1.6;padding-bottom:10px;}
.designer-modal__spacer{height:22px;}
.designer-modal__actions{display:flex;gap:18px;padding:20px 34px 32px;flex-wrap:wrap;}
.designer-modal__actions--center{justify-content:center;}
.designer-btn{border:1px solid #e11414;background:#fff;color:#e11414;border-radius:12px;padding:12px 24px;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .28s ease,border-color .28s ease,color .28s ease,transform .2s ease;min-width:220px;box-shadow:none;}
.designer-btn:hover{transform:translateY(-1px);box-shadow:none;}
.designer-btn--primary{background:#e11414;color:#fff;}
.designer-btn--primary:hover{background:#17893d;border-color:#17893d;color:#fff;}
.designer-btn--ghost{background:#fff;color:#e11414;}
.designer-btn--ghost:hover{background:#17893d;border-color:#17893d;color:#fff;}
.designer-auth-wrap{padding:30px 26px 28px;}
.designer-auth-form{max-width:470px;margin:0 auto;}
.designer-auth-form--register{max-width:620px;}
.designer-form-grid{display:grid;grid-template-columns:1fr;gap:12px;}
.designer-form-row{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:14px;margin-bottom:12px;}
.designer-form-label{font-size:16px;font-weight:600;color:#3c3c3c;text-align:right;}
.designer-form-input{width:100%;height:44px;border:1px solid #cfcfcf;border-radius:8px;padding:0 12px;font-size:16px;background:#fff;outline:none;transition:border-color .22s ease,box-shadow .22s ease;}
.designer-form-input:focus,.designer-form-input:not(:placeholder-shown){border-color:#17893d;box-shadow:0 0 0 3px rgba(23,137,61,.10);}
.designer-auth-actions{text-align:center;margin-top:12px;}
.designer-auth-actions .designer-btn{min-width:130px;padding:12px 24px;font-size:16px;}
.designer-auth-switch{text-align:center;margin:20px 0 10px;}
.designer-link-btn{border:0;background:transparent;color:#2a2a2a;font-size:15px;cursor:pointer;transition:color .22s ease;}
.designer-link-btn:hover{color:#17893d;}
.designer-auth-subtitle{text-align:center;font-size:18px;font-weight:700;color:#3a3a3a;margin-top:28px;}
.designer-auth-message{min-height:26px;text-align:center;font-size:14px;margin-top:14px;color:#d11212;font-weight:600;}
.designer-auth-message.is-success{color:#128c37;}
@media (max-width:980px){body.virtual-designer-page{overflow:auto;height:auto;}body.virtual-designer-page .wrap{height:auto;}.admin-mode-btn{top:96px;left:14px;}.ft-auth-user{font-size:12px;}}
@media (max-width:700px){.designer-modal{padding:14px;}.designer-modal__dialog{border-radius:16px;}.designer-modal__head,.designer-modal__title{font-size:20px;padding:14px 16px;}.designer-modal__close{font-size:30px;top:9px;}.designer-modal__lead{font-size:16px;padding:24px 18px 0;}.designer-modal__text{font-size:15px;padding:0 18px 8px;}.designer-modal__actions{padding:18px 18px 24px;gap:12px;}.designer-btn{width:100%;min-width:0;}.designer-auth-wrap{padding:24px 16px 20px;}.designer-form-row{grid-template-columns:1fr;gap:8px;}.designer-form-label{text-align:left;}}


.designer-form-field{display:block;}
.designer-field-message{min-height:18px;margin-top:6px;font-size:13px;font-weight:700;line-height:1.3;color:#d11212;}
.designer-field-message.is-success{color:#17893d;}
.designer-form-input.is-invalid{border-color:#d11212 !important;box-shadow:0 0 0 3px rgba(209,18,18,.10) !important;}
.designer-form-input.is-valid{border-color:#17893d !important;box-shadow:0 0 0 3px rgba(23,137,61,.10) !important;}
.designer-btn--submit{transition:background-color .35s ease,border-color .35s ease,transform .18s ease,box-shadow .18s ease;}
.designer-btn--submit[disabled]{background:#bdbdbd;border-color:#bdbdbd;color:#fff;cursor:not-allowed;box-shadow:none;animation:none;}
.designer-btn--submit.is-ready{background:#17893d;border-color:#17893d;color:#fff;animation:designerRegisterPulse 1.35s ease-in-out infinite;}
.designer-btn--submit.is-ready:hover{background:#11692e;border-color:#11692e;}
@keyframes designerRegisterPulse{0%,100%{transform:scale(1)}14%{transform:scale(1.04)}28%{transform:scale(1)}42%{transform:scale(1.06)}70%{transform:scale(1)}}
.designer-register-success{padding:42px 28px 50px;text-align:center;}
.designer-register-success__title{font-size:32px;font-weight:800;color:#17893d;line-height:1.2;}
.designer-register-success__text{font-size:18px;color:#333;line-height:1.6;margin-top:14px;}
.designer-register-success__count{font-size:74px;font-weight:900;line-height:1;color:#d11212;margin-top:26px;}

.designer-auth-wrap--forgot{padding:42px 26px 34px;}
.designer-auth-form--forgot{max-width:520px;}
.designer-form-row--forgot{margin-top:18px;}
.designer-forgot-copy{color:#4b4b4b;text-align:center;font-size:20px;line-height:1.45;text-transform:uppercase;max-width:520px;margin:8px auto 22px;}
.designer-btn--submit{transition:background-color .35s ease,border-color .35s ease,transform .18s ease,box-shadow .18s ease;}
.designer-btn--submit.is-ready{background:#17893d;border-color:#17893d;color:#fff;animation:designerRegisterPulse 1.35s ease-in-out infinite;}
.designer-modal__dialog--logout{max-width:520px;}
.designer-logout-box{padding:42px 26px 48px;text-align:center;}
.designer-logout-text{font-size:28px;font-weight:800;color:#17893d;line-height:1.25;}
.designer-logout-subtext{font-size:18px;color:#333;line-height:1.5;margin-top:14px;}
.designer-logout-count{font-size:74px;font-weight:900;line-height:1;color:#d11212;margin-top:22px;}
#designerForgotMessage.is-success{background:#d9edd8;border:1px solid #bed7bc;color:#2f6c36;padding:12px 16px;border-radius:4px;min-height:0;}
@media (max-width:700px){
  .designer-forgot-copy{font-size:16px;line-height:1.5;}
  .designer-auth-wrap--forgot{padding:26px 16px 22px;}
  .designer-logout-text{font-size:22px;}
  .designer-logout-subtext{font-size:16px;}
  .designer-logout-count{font-size:58px;}
}


/* ===== Checkout / Order & Roster Patch ===== */
body.checkout-preview-mode .wrap{grid-template-columns:minmax(0,1fr) 330px;}
body.checkout-preview-mode .left{padding:8px 6px 0 8px;}
body.checkout-preview-mode .right{padding:8px;}

.stage.is-checkout-preview #c,
.stage.is-checkout-preview .canvas-note,
.stage.is-checkout-preview #adminTagTools,
.stage.is-checkout-preview #adminLogoTools,
.stage.is-checkout-preview #adminTemTools{opacity:0;visibility:hidden;pointer-events:none;}
.stage.is-checkout-preview .checkout-preview-overlay{display:flex !important;}
body.checkout-preview-mode .view-toggle-btn{opacity:.35;pointer-events:none;animation:none;}

.checkout-preview-overlay{
  position:absolute; inset:0; z-index:35; display:none; align-items:center; justify-content:center;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,248,248,.98));
  padding:12px 10px 18px;
}
.checkout-preview-overlay.is-loading{flex-direction:column;justify-content:center;align-items:center;background:#fff;}
.checkout-preview-overlay.is-loading #checkoutPaymentView{display:none !important;}
.checkout-preview-overlay__loading{display:none; width:min(88%,920px); text-align:center;}
.checkout-preview-overlay.is-loading .checkout-preview-overlay__loading{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);}
.checkout-preview-overlay.is-loading .checkout-preview-overlay__loading{display:block;}
.checkout-preview-overlay.is-loading .checkout-preview-overlay__inner{display:none;}
.checkout-preview-overlay__loading-title{font-size:18px; line-height:1.12; font-weight:600; color:#111; letter-spacing:-.005em;}
.checkout-preview-overlay__loading-title span{color:#c90e0e;}
.checkout-preview-overlay__progress{position:relative; width:min(72%,560px); height:18px; margin:16px auto 12px; border:4px solid #5b2300; border-radius:999px; background:#fff; overflow:hidden;}
.checkout-preview-overlay__progress span{display:block; height:100%; width:0%; border-radius:999px; background:linear-gradient(90deg,#bf0000,#ff0000); transition:width .24s ease;}
.checkout-preview-overlay__loading-note{font-size:14px; line-height:1.15; font-weight:500; color:#111; letter-spacing:0;}
.checkout-preview-overlay__inner{width:min(98%,1380px); text-align:center;}
.checkout-preview-overlay__badge{
  display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:0 16px;
  border-radius:999px; background:#111; color:#fff; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
}
.checkout-preview-overlay__title{
  margin:8px auto 12px; max-width:860px; font-size:20px; line-height:1.25; color:#111; font-weight:800;
}
.checkout-preview-overlay__grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px;}
.checkout-preview-card{
  background:#fff; border:1px solid #e4e4e4; border-radius:18px; padding:14px 18px 18px; box-shadow:0 18px 34px rgba(0,0,0,.07);
}
.checkout-preview-card__head{font-size:15px; font-weight:800; color:#d91f26; text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px;}
.checkout-preview-card img{display:block; width:100%; max-height:560px; min-height:380px; object-fit:contain;}

@media (max-width: 1200px){
  .checkout-preview-overlay__loading-title{font-size:17px;}
  .checkout-preview-overlay__loading-note{font-size:13px;}
  .checkout-preview-overlay__progress{height:17px; border-width:4px; margin:14px auto 11px;}
}
@media (max-width: 767px){
  .checkout-preview-overlay__loading-title{font-size:15px;}
  .checkout-preview-overlay__loading-note{font-size:12px;}
  .checkout-preview-overlay__progress{height:15px; border-width:3px; margin:12px auto 10px;}
}

.checkout-card{padding-bottom:16px;}
.checkout-card__hint{margin-bottom:12px;}
.checkout-contact-head{margin:0 0 12px; text-align:center;}
.checkout-contact-head__title{font-size:18px; line-height:1.2; font-weight:800; color:#d11212; text-transform:uppercase; letter-spacing:.04em;}
.checkout-contact-head__text{font-size:13px; line-height:1.45; color:#444; margin:6px 0 0;}
.checkout-switch{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px; margin:2px 0 14px;
  border-bottom:4px solid #e11212; padding-bottom:10px;
}
.checkout-switch__divider{font-size:15px; font-weight:700; color:#8b8b8b; text-align:center; letter-spacing:.04em;}
.checkout-switch__btn{
  border:0; background:transparent; color:#6f6f6f; font-size:14px; font-weight:700; cursor:pointer;
  position:relative; padding:46px 6px 6px; letter-spacing:.04em; line-height:1.15;
}
.checkout-switch__btn::before{
  content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:38px; height:38px; border-radius:50%; background:linear-gradient(180deg,#f7f7f7,#d7d7d7);
  box-shadow:inset 0 2px 3px rgba(255,255,255,.9),0 1px 3px rgba(0,0,0,.15);
}
.checkout-switch__btn.active{color:#4e4e4e;}
.checkout-switch__btn.active::before{
  background:radial-gradient(circle at 35% 35%, #ff3b30 0%, #d50000 58%, #a10000 100%);
  box-shadow:0 0 0 3px rgba(255,255,255,.75) inset, 0 0 0 2px #d91f26, 0 8px 16px rgba(217,31,38,.25);
}
.checkout-switch__btn.active::after{
  content:"+"; position:absolute; top:6px; left:50%; transform:translateX(-50%);
  color:#fff; font-size:22px; line-height:1; font-weight:900;
}
.checkout-price-line{font-size:17px; text-align:center; color:#222; margin:8px 0 14px;}
.checkout-price-line span{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}
.checkout-price-line__original{font-size:31px;font-weight:700;color:#d91f26;text-decoration:line-through;text-decoration-thickness:2px}
.checkout-price-line__discount{font-size:25px;font-weight:700;color:#138a36}
.checkout-price-line__single{font-size:21px;font-weight:700;color:#111}
.checkout-teamname-holder{margin:0 0 10px;}
.checkout-teamname-holder .checkout-input{text-align:center;}
.checkout-teamname-display{display:none !important; text-align:center; font-size:14px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#d11212; margin:-2px 0 12px;}
.checkout-teamname-display.is-visible{display:block;}
.checkout-teamname-display--players{margin:0 0 10px;}
.checkout-teamname-display--qty{margin:-2px 0 12px;}
.checkout-section-note{font-size:14px; line-height:1.2; text-align:center; color:#d11212; font-weight:800; text-transform:uppercase; letter-spacing:.04em;}
.checkout-panel{display:none;}
.checkout-panel.active{display:block;}
.checkout-add-player{
  border:0; background:#ff120d; color:#fff; border-radius:4px; padding:6px 18px; font-size:14px; width: stretch; cursor:pointer;
  margin-bottom:10px; text-transform:uppercase;
}
.checkout-players-wrap{display:flex; flex-direction:column; gap:8px;}
.checkout-player-row{
  display:grid; grid-template-columns:1.1fr .55fr .9fr 28px; gap:6px; align-items:center;
}
.checkout-player-row .checkout-input,.checkout-player-row .checkout-select,.checkout-qty-item.is-default-glow,.checkout-player-row .is-checkout-focus{transition:border-color .2s ease, box-shadow .2s ease;}
.checkout-player-row .is-checkout-focus{
  border-color:#d11212;
  box-shadow:0 0 0 1px rgba(209,18,18,.55),0 0 12px rgba(209,18,18,.35);
  animation:checkoutRedGlow 1.35s ease-in-out infinite alternate;
}
.checkout-player-remove{
  width:30px; height:30px; border-radius:50%; border:1px solid #d11212; background:#fff; color:#d11212; cursor:pointer; font-size:15px; line-height:1; display:flex; align-items:center; justify-content:center;
}
.checkout-player-remove.is-disabled,.checkout-player-remove[disabled]{opacity:.35; cursor:not-allowed; border-color:#bfbfbf; color:#9a9a9a;}
.checkout-qty-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:6px;}
.checkout-qty-item{display:grid; grid-template-columns:minmax(0,1fr) 72px; align-items:center; gap:8px; padding:6px 8px; border:1px solid #e6e6e6; border-radius:8px; background:#fff;}
.checkout-qty-item label{display:block; font-size:11px; color:#333; margin:0; text-transform:uppercase; white-space:normal; line-height:1.2; font-weight:700;}
.checkout-qty-item.is-default-glow{
  border-color:#d11212;
  box-shadow:0 0 0 1px rgba(209,18,18,.55),0 0 12px rgba(209,18,18,.32);
  animation:checkoutRedGlow 1.35s ease-in-out infinite alternate;
}
.checkout-input,.checkout-select,.checkout-textarea,.checkout-qty-input,.checkout-file{
  width:100%; border:1px solid #cecece; border-radius:4px; background:#fff; color:#333; font-size:15px; outline:none;
}
.checkout-input,.checkout-select,.checkout-qty-input{height:34px; padding:0 10px;}
.checkout-textarea{min-height:148px; padding:10px; resize:vertical;}
.checkout-qty-input{text-align:center; padding:0 6px; font-weight:700;}
.checkout-fields{display:flex; flex-direction:column; gap:10px; margin-top:14px;}
.checkout-upload-wrap{display:flex; flex-direction:column; gap:8px;}
.checkout-upload-label{font-size:14px; color:#333; text-align:center; font-weight:700;}
.checkout-upload-dropbox{
  position:relative; min-height:156px; border:2px dashed rgba(209,18,18,.28); border-radius:8px; background:linear-gradient(180deg,#fff 0%,#fbfbfb 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:20px 16px; cursor:pointer; overflow:hidden;
}
.checkout-upload-dropbox::before{
  content:""; position:absolute; inset:8px; border:2px dashed rgba(0,0,0,.14); border-radius:6px; pointer-events:none;
}
.checkout-upload-dropbox__icon{
  width:auto; height:auto; border:0; border-radius:0; position:relative; display:flex; align-items:center; justify-content:center; color:#d11212;
}
.checkout-upload-dropbox__icon::before{content:none;}
.checkout-upload-dropbox__icon i{font-size:54px; line-height:1; color:inherit; transition:color .22s ease, text-shadow .22s ease, transform .22s ease;}
.checkout-upload-dropbox__text{font-size:16px; line-height:1.25; text-align:center; color:#111; font-weight:500;}
.checkout-upload-dropbox__text strong{color:#d11212;}
.checkout-upload-wrap.is-dragover .checkout-upload-dropbox{
  border-color:#d11212; box-shadow:0 0 0 1px rgba(209,18,18,.35),0 0 14px rgba(209,18,18,.22); background:linear-gradient(180deg,#fff,#fff5f5);
}
.checkout-upload-wrap.is-file-valid .checkout-upload-dropbox{
  border-color:#17893d; box-shadow:0 0 0 1px rgba(23,137,61,.35),0 0 16px rgba(23,137,61,.22); background:linear-gradient(180deg,#fff,#f2fff6);
}
.checkout-upload-wrap.is-file-valid .checkout-upload-dropbox::before{border-color:rgba(23,137,61,.24);}
.checkout-upload-wrap.is-file-valid .checkout-upload-dropbox__icon,.checkout-upload-wrap.is-file-valid .checkout-upload-dropbox__text strong{color:#17893d;}
.checkout-upload-wrap.is-file-valid .checkout-upload-dropbox__text{color:#17893d; text-shadow:0 0 10px rgba(23,137,61,.12);}

.checkout-upload-wrap.is-file-invalid .checkout-upload-dropbox{border-color:#d11212;box-shadow:0 0 0 1px rgba(209,18,18,.35),0 0 16px rgba(209,18,18,.18);background:linear-gradient(180deg,#fff,#fff2f2);}
.checkout-upload-wrap.is-file-invalid .checkout-upload-dropbox::before{border-color:rgba(209,18,18,.22);}
.checkout-upload-wrap.is-file-invalid .checkout-upload-dropbox__icon,.checkout-upload-wrap.is-file-invalid .checkout-upload-dropbox__text strong{color:#d11212;}
.checkout-upload-error{display:block;margin-top:4px;color:#d11212;font-size:12px;font-weight:800;}
.checkout-pay-btn.is-disabled-by-file,.checkout-pay-btn:disabled{opacity:.42;filter:grayscale(1);cursor:not-allowed;pointer-events:none;transform:none!important;box-shadow:none!important;}
.checkout-file{position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none;}
.checkout-form-message{min-height:18px; font-size:13px; font-weight:700; color:#d11212;}
.checkout-form-message.is-success{color:#17893d;}
.checkout-pay-btn{
  height:44px; border:0; border-radius:4px; font-size:17px; font-weight:900; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; padding:0 14px;
}
.checkout-pay-btn__label{font-size:15px; font-weight:600; line-height:1;}
.checkout-pay-btn__brand{display:inline-flex; align-items:center; gap:8px; line-height:1;}
.checkout-pay-btn__icon{height:18px; width:auto; display:block;}
.checkout-pay-btn__logo{height:24px; width:auto; display:block;}
.checkout-pay-btn__cards{height:21px; width:auto; display:block;}
.checkout-pay-btn--paypal{background:#f5c542; color:#102d5e; transition:filter .2s ease, transform .2s ease, box-shadow .2s ease;}
.checkout-pay-btn--paypal:hover{filter:brightness(.96); box-shadow:0 8px 18px rgba(0,0,0,.12);}
.checkout-pay-btn--cards{background:#4b169e; color:#fff; transition:filter .2s ease, transform .2s ease, box-shadow .2s ease;}
.checkout-pay-btn--cards:hover{filter:brightness(1.08); box-shadow:0 8px 18px rgba(0,0,0,.12);}
.checkout-pay-btn--cards .checkout-pay-btn__cards{filter:none;}
.checkout-input.is-invalid,.checkout-select.is-invalid,.checkout-textarea.is-invalid,.checkout-file.is-invalid,.checkout-qty-input.is-invalid{border-color:#d11212; box-shadow:0 0 0 3px rgba(209,18,18,.08);}
.checkout-input.is-valid,.checkout-select.is-valid,.checkout-textarea.is-valid,.checkout-file.is-valid,.checkout-qty-input.is-valid{border-color:#17893d; box-shadow:0 0 0 3px rgba(23,137,61,.08);}
@keyframes checkoutRedGlow{
  from{box-shadow:0 0 0 1px rgba(209,18,18,.4),0 0 6px rgba(209,18,18,.18);}
  to{box-shadow:0 0 0 1px rgba(209,18,18,.65),0 0 16px rgba(209,18,18,.36);}
}

.order-suggestions-modal{
  position:fixed; inset:0; z-index:10060; display:none; align-items:center; justify-content:center; padding:14px; background:rgba(0,0,0,.45);
}
.order-suggestions-modal__backdrop{position:absolute; inset:0;}
.order-suggestions-modal__dialog{
  position:relative; z-index:1; width:min(1040px,calc(100vw - 28px)); background:#f2f2f2; border-radius:10px;
  box-shadow:0 28px 70px rgba(0,0,0,.36); padding:14px 16px 18px;
}
.order-suggestions-modal__title{
  text-align:center; font-size:30px; line-height:1.2; color:#3f3f3f; margin:4px 48px 16px;
}
.order-suggestions-modal__close{
  position:absolute; right:16px; top:8px; border:0; background:transparent; color:#ff120d; font-size:48px; line-height:1; cursor:pointer;
}
.order-suggestions-modal__grid{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; max-height:none; overflow:visible;
}
.order-suggestion-card{
  display:block; background:#fff; border:1px solid #e0e0e0; text-decoration:none; color:#202020; border-radius:4px; overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}
.order-suggestion-card:hover{transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,0,0,.12);}
.order-suggestion-card__imgwrap{aspect-ratio:1.08/1; background:#fff; display:flex; align-items:center; justify-content:center; padding:8px;}
.order-suggestion-card img{max-width:100%; max-height:100%; object-fit:contain; display:block;}
.order-suggestion-card__title{padding:8px 10px 10px; font-size:14px; font-weight:700; text-align:center;}

@media (max-width:980px){
  .checkout-preview-overlay__title{font-size:18px;}
  .checkout-preview-card img{max-height:320px; min-height:240px;}
  .checkout-qty-grid{grid-template-columns:1fr;}
  .checkout-qty-item{grid-template-columns:minmax(0,1fr) 78px;}
}

@media (max-width:700px){
  .checkout-preview-overlay{padding:14px;}
  .checkout-preview-overlay__grid{grid-template-columns:1fr; gap:12px;}
  .checkout-preview-overlay__title{font-size:18px; margin:12px auto 14px;}
  .checkout-switch{gap:4px;}
  .checkout-switch__btn{font-size:12px; padding-top:46px;}
  .checkout-price-line span{font-size:24px;}
  .checkout-player-row{grid-template-columns:1fr .62fr .92fr 28px;}
  .checkout-qty-grid{grid-template-columns:1fr;}
  .order-suggestions-modal__dialog{padding:12px 10px 12px;}
  .order-suggestions-modal__title{font-size:22px; margin:8px 36px 12px;}
  .order-suggestions-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr)); max-height:70vh; overflow:auto;}
}

@media (max-width: 900px){
  .designer-item-meta{position:relative;left:auto;top:auto;max-width:100%;margin:8px 0 10px 12px;pointer-events:auto}
  .designer-item-meta__title{font-size:24px}
  .canvas-undo-wrap{right:10px;top:26%}
}





/* ===== ULTRA PREMIUM MODAL PATCH (SAFE APPEND) ===== */
.designer-modal{background:rgba(0,0,0,.82);}
.designer-modal__dialog{
  border-radius:10px !important;
  max-width:680px;
  animation:modalFadeScale .35s ease, neonFlow 3s linear infinite;
}
@keyframes neonFlow{
  0%{box-shadow:0 0 6px #ff0000,0 0 12px #ff0000;}
  50%{box-shadow:0 0 10px #17893d,0 0 20px #17893d;}
  100%{box-shadow:0 0 6px #ff0000,0 0 12px #ff0000;}
}
@keyframes modalFadeScale{
  from{opacity:0;transform:scale(.92) translateY(20px);}
  to{opacity:1;transform:scale(1) translateY(0);}
}
.designer-modal, .designer-modal *{text-transform:uppercase;}
.designer-modal__title{font-weight:800;}
.designer-modal__close{transition:.3s;}
.designer-modal__close:hover{color:#000;transform: scale(1.35) rotate(90deg); font-weight: 700;}
.designer-form-input{transition:.25s;}
.designer-form-input:focus,
.designer-form-input:not(:placeholder-shown){
  border-color:#17893d !important;
  box-shadow:0 0 6px rgba(0,255,0,.5) !important;
}
.designer-btn{transition:.3s;box-shadow:none !important;}
.designer-btn:hover{
  background:#17893d !important;
  border-color:#17893d !important;
  color:#fff !important;
  transform:translateY(-2px);
}
.designer-link-btn{transition:.3s;}
.designer-link-btn:hover{color:#17893d;}
.designer-auth-wrap, .designer-auth-form{margin:0 auto;text-align:center;}
.designer-auth-wrap{padding:24px !important;}
.designer-modal__actions{padding:20px !important;justify-content:center;}
.designer-modal__lead{padding-top:20px !important;}
.designer-modal__text{padding-bottom:6px !important;}

/* ===== MODAL SPACING PATCH: MATCH STARTUP CONTINUE MODAL ===== */
.designer-modal__dialog,
.admin-secret-modal,
.size-chart-modal__dialog,
.order-suggestions-modal__dialog{
  box-sizing:border-box;
}

.designer-modal__head,
.designer-modal__title{
  padding:16px 34px 16px !important;
}

.designer-modal__lead,
.designer-modal__text{
  padding-left:34px !important;
  padding-right:34px !important;
}

.designer-modal__lead{
  padding-top:34px !important;
}

.designer-modal__text{
  padding-bottom:0 !important;
}

.designer-modal__actions{
  padding:20px 34px 32px !important;
}

.designer-auth-wrap,
.designer-auth-wrap--forgot,
.designer-register-success,
.designer-logout-box{
  padding-left:34px !important;
  padding-right:34px !important;
}

.designer-auth-wrap{
  padding-top:34px !important;
  padding-bottom:28px !important;
}

.designer-auth-wrap--forgot,
.designer-register-success,
.designer-logout-box{
  padding-top:34px !important;
  padding-bottom:28px !important;
}

.admin-secret-modal{
  padding:34px 34px 28px !important;
}

.admin-secret-title{
  margin:0 0 16px !important;
}

.size-chart-modal__title{
  padding:18px 34px 14px !important;
}

.size-chart-modal__body{
  padding:0 34px 28px !important;
}

@media (max-width:700px){
  .designer-modal__head,
  .designer-modal__title{
    padding:14px 22px 14px !important;
  }

  .designer-modal__lead,
  .designer-modal__text,
  .designer-auth-wrap,
  .designer-auth-wrap--forgot,
  .designer-register-success,
  .designer-logout-box,
  .size-chart-modal__body{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .designer-modal__lead,
  .designer-auth-wrap,
  .designer-auth-wrap--forgot,
  .designer-register-success,
  .designer-logout-box{
    padding-top:28px !important;
  }

  .designer-modal__actions{
    padding:18px 22px 24px !important;
  }

  .designer-auth-wrap,
  .designer-auth-wrap--forgot,
  .designer-register-success,
  .designer-logout-box,
  .size-chart-modal__body{
    padding-bottom:24px !important;
  }

  .admin-secret-modal{
    padding:28px 22px 24px !important;
  }

  .size-chart-modal__title{
    padding:16px 48px 12px 22px !important;
  }
}


/* ===== Saved Designs/Login-style modal patch ===== */
.designer-modal__dialog--saved-tools{width:min(960px,calc(100vw - 24px));}
.designer-modal__dialog--save-design{max-width:760px;}
.designer-modal__dialog--saved-designs{max-width:960px;}
.designer-auth-wrap--saved-tools{padding:24px 26px 28px;}
.designer-form-row--saved-tools{grid-template-columns:140px minmax(0,1fr);margin-bottom:12px;}
.designer-save-design__preview-wrap{display:flex;justify-content:center;align-items:center;margin:0 auto 18px;padding:4px 0 8px;}
.designer-save-design__preview{display:block;max-width:260px;width:100%;height:auto;max-height:260px;object-fit:contain;background:#f7f7f7;border:1px solid #dcdcdc;border-radius:10px;}
.designer-save-design__actions,.designer-auth-actions--saved-tools{text-align:center;margin-top:16px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.designer-auth-actions--saved-tools .designer-btn{min-width:170px;}
.designer-saved-designs__topbar .designer-saved-designs__user{margin:0;display:flex;align-items:center;justify-content:center;min-height:44px;}
.designer-saved-designs__topbar .designer-saved-designs__toolbar{display:flex;align-items:center;justify-content:center;}
.designer-saved-designs__toolbar{margin:0;max-width:470px;width:100%;}
.designer-saved-designs__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-height:52vh;overflow:auto;padding-right:4px;justify-items:center;}
.designer-saved-design-item{padding:12px;border-radius:5px;}
.designer-saved-design-item__thumb{display:block;width:100%;height:auto;aspect-ratio:1/1;max-width:160px;max-height:160px;margin:0 auto 10px;object-fit:contain;}
.designer-saved-design-item__thumb--empty{background:#f8f8f8;}
.designer-saved-design-item__title{text-align:center;}
.designer-saved-design-item__meta{text-align:center;}
.designer-saved-design-item__actions{justify-content:center;gap:12px;flex-wrap:wrap;}
.designer-saved-design-item__link,.designer-saved-design-item__delete{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;font-size:13px;font-weight:700;color:#d91f26;text-decoration:none;cursor:pointer;transition:color .28s ease;}
.designer-saved-design-item__link:hover,.designer-saved-design-item__link:focus,.designer-saved-design-item__delete:hover,.designer-saved-design-item__delete:focus{color:#000;outline:none;}
.designer-saved-design-item__link i,.designer-saved-design-item__delete i{transition:color .28s ease;}
.designer-saved-design-item__thumb{display:block;width:100%;height:auto;aspect-ratio:1/1;max-width:160px;max-height:160px;margin:0 auto 10px;object-fit:contain;}
@media (max-width:700px){
  .designer-auth-wrap--saved-tools{padding:18px 16px 22px;}
  .designer-form-row--saved-tools{grid-template-columns:1fr;gap:8px;}
  .designer-save-design__preview{max-width:190px;max-height:190px;}
  .designer-saved-designs__topbar{gap:10px;}
  .designer-saved-designs__toolbar{max-width:100%;}
  .designer-saved-designs__list{grid-template-columns:1fr;max-height:58vh;}
  .designer-auth-actions--saved-tools .designer-btn{min-width:0;width:100%;}
}

@media (max-width:700px){.designer-share-modal__icons{gap:18px}.designer-share-modal__icon{width:38px;height:38px;font-size:22px}.designer-share-modal__preview{max-width:220px;max-height:220px}}


/* ===== SHARE MODAL + FINAL PREVIEW TUNE PATCH ===== */
.designer-modal__dialog--share-design{width:auto !important;max-width:432px !important;min-width:432px;margin:0 auto;}
.designer-modal__head--lion{text-align:left;padding:15px 54px 15px 34px;font-size:17px;letter-spacing:.02em;}
.designer-modal__dialog--share-design .designer-modal__close{right:15px;top:9px;font-size:36px;}
.designer-share-modal{padding:12px 20px 14px;}
.designer-share-modal__preview-wrap{margin:0 auto 12px;padding:0;}
.designer-share-modal__preview{width:333px;max-width:333px;max-height:361px;border-radius:0;border:0;background:transparent;}
.designer-share-modal__icons{justify-content:flex-start;gap:16px;padding:4px 0 0;flex-wrap:nowrap;align-items:center;}
.designer-share-modal__label{display:inline-block;margin-right:4px;font-size:15px;line-height:1.1;color:#222;font-weight:500;white-space:nowrap;}
.designer-share-modal__icon{width:24px;height:24px;font-size:24px;color:#d91f26;transition:color .28s ease,transform .28s ease,opacity .28s ease;}
.designer-share-modal__icon:hover{color:#000;transform:translateY(-2px);}

.checkout-preview-overlay__inner{position:relative;}
.checkout-preview-overlay__redesign{position:absolute;right:14px;top:6px;border:0;background:transparent;padding:0;margin:0;color:#db0f0f;cursor:pointer;display:flex;align-items:center;justify-content:center;width:58px;height:58px;transition:color .28s ease,transform .28s ease;animation:checkoutRedesignBeat 1.25s ease-in-out infinite;}
.checkout-preview-overlay__redesign i{font-size:42px;line-height:1;color:inherit;}
.checkout-preview-overlay__redesign:hover{color:#000;transform:scale(1.04);}
.checkout-preview-overlay__redesign-tip{position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);background:#db0f0f;color:#fff;font-size:11px;line-height:1.2;padding:8px 10px;border-radius:6px;white-space:nowrap;box-shadow:0 10px 22px rgba(0,0,0,.18);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease,transform .22s ease;pointer-events:none;}
.checkout-preview-overlay__redesign-tip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#db0f0f;}
.checkout-preview-overlay__redesign:hover .checkout-preview-overlay__redesign-tip,.checkout-preview-overlay__redesign:focus-visible .checkout-preview-overlay__redesign-tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(-2px);}
.checkout-preview-overlay__redesign:focus-visible{outline:2px solid #db0f0f;outline-offset:4px;border-radius:999px;}
@keyframes checkoutRedesignBeat{0%,100%{transform:scale(1)}18%{transform:scale(1.08)}36%{transform:scale(.97)}54%{transform:scale(1.11)}72%{transform:scale(1)}}
@media (max-width:700px){.designer-modal__dialog--share-design{min-width:0;width:min(92vw,432px)!important}.checkout-preview-overlay__redesign{right:4px;top:8px;width:48px;height:48px}.checkout-preview-overlay__redesign i{font-size:34px}.designer-share-modal__preview{width:min(100%,333px);max-width:333px;max-height:361px}}


/* ===== Saved design delete confirm patch ===== */
.designer-modal--delete-confirm{align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.35);z-index:10060;}
.designer-modal__backdrop--delete-confirm{background:transparent;}
.designer-delete-confirm{position:relative;width:min(100%,400px);background:#fff;border-radius:4px;box-shadow:0 18px 45px rgba(0,0,0,.18);padding:26px 26px 22px;text-align:center;}
.designer-delete-confirm__close{position:absolute;right:14px;top:8px;border:0;background:transparent;color:#7e8da0;font-size:34px;line-height:1;cursor:pointer;padding:0;transition: color .2s ease, transform .2s ease;}
.designer-delete-confirm__close:hover{color:#000;transform: scale(1.35) rotate(90deg);}
.designer-delete-confirm__icon{width:74px;height:74px;border:3px solid #e11414;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:10px auto 28px;color:#e11414;font-size:62px;line-height:1;font-weight:300;}
.designer-delete-confirm__title{margin:0 0 18px;color:#3d4e63;font-size:28px;line-height:1.2;font-weight:400;}
.designer-delete-confirm__text{margin:0 auto 26px;max-width:290px;color:#8a96a8;font-size:14px;line-height:1.65;font-weight:400;}
.designer-delete-confirm__actions{display:flex;justify-content:center;gap:12px;}
.designer-delete-confirm__btn{min-width:130px;height:42px;border:0;border-radius:3px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .2s ease;}
.designer-delete-confirm__btn:hover{background: #17893d !important;border-color: #17893d !important;color: #fff !important;transform: translateY(-2px);}
.designer-delete-confirm__btn--cancel{background:#c7c7c7;color:#fff;}
.designer-delete-confirm__btn--delete{background:#e11414;color:#fff;transition: color .22s ease, transform .22s ease;}
@media (max-width:700px){
  .designer-delete-confirm{width:min(100%,360px);padding:24px 18px 20px;}
  .designer-delete-confirm__actions{flex-direction:column;}
  .designer-delete-confirm__btn{width:100%;min-width:0;}
}


.checkout-payment-view{margin-top:14px; border:1px solid #d9d9d9; border-radius:12px; background:#fff; overflow:hidden; box-shadow:0 14px 32px rgba(0,0,0,.08);}
.checkout-payment-view__topbar{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; background:linear-gradient(180deg,#141414 0%,#2b2b2b 100%); color:#fff;}
.checkout-payment-view__meta{font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:.92;}
.checkout-payment-view__back{display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08); color:#fff; border-radius:999px; padding:8px 14px; font-size:13px; font-weight:700; cursor:pointer;}
.checkout-payment-proof{padding:14px; background:#e9e9e9;}
.checkout-paypal-live{padding:14px; border-top:1px solid #ececec; background:#fff;}
.checkout-pay-btn--paypal-live{width:100%; height:52px; border-radius:10px; box-shadow:0 10px 20px rgba(0,0,0,.08);}

.checkout-proof{width:100%; max-width:100%; padding:16px; color:#111; box-sizing:border-box;}
.checkout-proof__brandbar{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:0px;}
.checkout-proof__brand{font-size:30px; line-height:1; font-weight:900; letter-spacing:.04em; color:#111;}
.checkout-proof__proof{min-width:220px; background:#ff120d; color:#fff; text-align:center; border-radius:6px 6px 0 0; padding:10px 16px; font-size:26px; font-weight:900; line-height:1;}
.checkout-proof__preview{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; border:4px solid #ff120d; border-radius: 26px 0 26px 0; overflow:hidden; background:#fff; margin-bottom:14px;}
.checkout-proof__preview-card{min-height:260px; display:flex; align-items:center; justify-content:center; padding:18px;}
.checkout-proof__preview-card + .checkout-proof__preview-card{border-left:12px solid #ff120d;}
.checkout-proof__preview-card img{display:block; max-width:100%; max-height:250px; object-fit:contain;}
.checkout-proof__meta-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; margin-bottom:14px;}
.checkout-proof__product-title,.checkout-proof__customer-title{font-size:30px; line-height:1; font-weight:900; margin-bottom:6px;}
.checkout-proof__product div,.checkout-proof__customer div{font-size:15px; line-height:1.45;}
.checkout-proof__section-title{font-size:26px; line-height:1.1; font-weight:900; text-align:center; margin:16px 0 10px;}
.checkout-proof__patterns{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;}
.checkout-proof__pattern{border:3px solid #1f1f1f; border-radius:4px; background:#fff; overflow:hidden; display:flex; flex-direction:column;}
.checkout-proof__pattern-title{padding:8px 10px 2px; font-size:18px; font-weight:900;}
.checkout-proof__pattern-meta{padding:0 10px 10px; font-size:14px; font-weight:600; line-height:1.35;}
.checkout-proof__pattern-swatch{height:72px; border-top:1px solid rgba(0,0,0,.08); background:#fff; margin-top:auto;}
.checkout-proof__pattern-swatch{background-position:center bottom; background-repeat:no-repeat; background-size:cover;}
.checkout-proof__pattern-swatch--gradient{background:linear-gradient(180deg,#00AFEF 0%,#00FF03 100%);}
.checkout-proof__pattern-swatch--pattern{background-image:linear-gradient(45deg,#ededed 25%,transparent 25%),linear-gradient(-45deg,#ededed 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ededed 75%),linear-gradient(-45deg,transparent 75%,#ededed 75%); background-size:16px 16px; background-position:0 0,0 8px,8px -8px,-8px 0;}
.checkout-proof__details{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border:3px solid #ff120d; border-radius:22px; overflow:hidden; background:#fff;}
.checkout-proof__detail-card{min-height:138px; padding:18px 18px 20px; font-size:14px; line-height:1.4;}
.checkout-proof__detail-card + .checkout-proof__detail-card{border-left:2px solid #ff120d;}
.checkout-proof__detail-card strong{color:#ff120d;}
.checkout-proof__logos{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border:3px solid #ff120d; border-radius:22px; overflow:hidden; background:#fff;}
.checkout-proof__logo-card{min-height:174px; padding:18px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; overflow:visible;}
.checkout-proof__logo-card + .checkout-proof__logo-card{border-left:2px solid #ff120d;}
.checkout-proof__logo-card img{max-width:100%; max-height:140px; width:auto; height:auto; object-fit:contain; object-position:center center; display:block;}
.checkout-proof__logo-title{font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:#555; text-align:center;}
.checkout-proof__empty{padding:24px; text-align:center; color:#ff0000; font-size:14px; font-weight:600;}
.checkout-proof__roster-note{text-align:center; font-size:13px; line-height:1.4; color:#d11212; margin-bottom:10px;}
.checkout-proof__roster-wrap{border:1px solid #1f1f1f; background:#fff; overflow:hidden;}
.checkout-proof__roster{width:100%; border-collapse:collapse;}
.checkout-proof__roster th,.checkout-proof__roster td{border:2px solid #1f1f1f; padding:10px 8px; font-size:14px; text-align:center;}
.checkout-proof__roster th{background:#ff120d; color:#fff; text-transform:uppercase; letter-spacing:.03em; font-weight:900;}
.checkout-proof__roster-team{font-size:15px; text-align:center;}
.checkout-proof__roster td{background:#fff; font-weight:700;}

.checkout-proof__customer-message{margin:12px 0 8px;width:100%;box-sizing:border-box;border:2px solid #111;border-left:8px solid #ed1c24;border-radius:0;background:#fff;padding:12px 16px;text-align:left;color:#111;box-shadow:none;overflow:hidden;}
.checkout-proof__customer-message-title{font-size:13px;font-weight:900;color:#ed1c24;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;}
.checkout-proof__customer-message-text{font-size:13px;line-height:1.55;font-weight:600;color:#111;white-space:normal;word-break:break-word;overflow-wrap:anywhere;}
.checkout-proof__file-link{margin:8px 0 12px;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-radius:0;background:#111;color:#fff;font-size:13px;font-weight:900;box-shadow:none;overflow:hidden;}
.checkout-proof__file-link span{color:#ff2a2a;text-transform:uppercase;letter-spacing:.05em;}
.checkout-proof__file-link a{color:#fff;text-decoration:none;word-break:break-word;}
.checkout-proof__file-link a:hover{color:#ff2a2a;text-decoration:none;}
.checkout-proof__footer{margin-top:12px; background:#ff120d; color:#fff; border-radius:18px 18px 0 0; padding:10px 16px; font-size:16px; font-weight:800;}
.checkout-proof__detail-card,.checkout-proof__logo-card{border-left:2px solid #ff120d; border-top:2px solid #ff120d;}
.checkout-proof__details .checkout-proof__detail-card:nth-child(-n+3),.checkout-proof__logos .checkout-proof__logo-card:nth-child(-n+3){border-top:0;}
.checkout-proof__details .checkout-proof__detail-card:nth-child(3n+1),.checkout-proof__logos .checkout-proof__logo-card:nth-child(3n+1){border-left:0;}
.checkout-proof__detail-card--empty,.checkout-proof__logo-card--empty{min-height:138px;}
.checkout-proof__logo-card--empty{min-height:174px;}
.checkout-proof__logos .checkout-proof__empty{display:flex; align-items:center; justify-content:center; text-align:center; min-height:120px;}
.checkout-proof__roster-team{background:#000 !important; color:#fff !important;}

.checkout-proof__roster-qty-cell{width:20%; height:74px; vertical-align:middle;}
.checkout-proof__roster-qty-cell span{display:block; font-size:13px; font-weight:900; text-transform:uppercase;}
.checkout-proof__roster-qty-cell strong{display:block; margin-top:6px; font-size:20px; font-weight:900;}
.checkout-proof__roster-qty-cell.is-empty{background:#fff;}

@media (max-width:980px){
  .checkout-proof__brandbar{flex-direction:column; align-items:flex-start;}
  .checkout-proof__proof{width:100%; min-width:0;}
  .checkout-proof__patterns{grid-template-columns:1fr;}
  .checkout-proof__details,.checkout-proof__logos{grid-template-columns:1fr;}
  .checkout-proof__detail-card + .checkout-proof__detail-card,.checkout-proof__logo-card + .checkout-proof__logo-card{border-left:0; border-top:2px solid #ff120d;}
}

body.checkout-payment-mode .wrap{grid-template-columns:minmax(0,1fr) 380px;}
body.checkout-payment-mode .left{padding:8px 6px 0 8px;}
body.checkout-payment-mode .right{padding:8px 8px 12px; overflow:auto;}
body.checkout-payment-mode .designer-item-meta{opacity:.08; pointer-events:none;}
body.checkout-payment-mode .stage{align-items:stretch; min-height:0; overflow:auto; padding-bottom:12px;}
body.checkout-payment-mode .stage.is-checkout-preview .checkout-preview-overlay{align-items:flex-start; justify-content:center; overflow:auto; padding:8px 8px 16px;}
body.checkout-payment-mode #checkoutPreviewContent{display:none !important;}
body.checkout-payment-mode #checkoutPaymentView{display:block !important; width:min(100%,1140px); margin:0 auto;}
body.checkout-payment-mode .checkout-payment-view{margin-top:0; border:0; box-shadow:none; background:transparent; overflow:visible; width:100%; display:flex !important; flex-direction:column; align-items:center;}
body.checkout-payment-mode .checkout-paypal-live{display:none !important;}
body.checkout-payment-mode .checkout-payment-proof{padding:0; background:transparent; width:100%;}
body.checkout-payment-mode .checkout-proof{max-width:1140px; margin:0 auto; padding:18px;}
body.checkout-payment-mode .checkout-proof__preview-card{min-height:320px;}
body.checkout-payment-mode .checkout-proof__preview-card img{max-height:310px;}
body.checkout-payment-mode .checkout-proof__roster-wrap{max-height:none;}

.checkout-sidebar-paypal{
  background:#fff; border:1px solid #e7e7e7; border-radius:14px; padding:14px 14px 16px; box-shadow:0 12px 28px rgba(0,0,0,.08);
}
.checkout-sidebar-paypal__brandrow{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px;}
.checkout-sidebar-paypal__logo{display:block; width:92px; height:auto;}
.checkout-sidebar-paypal__price{font-size:14px; font-weight:800; color:#111; white-space:nowrap;}
.checkout-sidebar-paypal__title{font-size:17px; line-height:1.25; font-weight:500; color:#0c0c0d; text-align:center; margin-bottom:6px;}
.checkout-sidebar-paypal__subtitle{font-size:12px; line-height:1.4; color:#2c2e31; text-align:center; margin-bottom:16px;}
.checkout-sidebar-paypal__input{
  width:100%; height:43px; border:1px solid #b9bcc0; border-radius:4px; padding:0 14px; font-size:15px; color:#111; outline:none; background:#fff;
}
.checkout-sidebar-paypal__input:focus{border-color:#0a62c8; box-shadow:0 0 0 2px rgba(10,98,200,.12);}
.checkout-sidebar-paypal__link{display:inline-block; margin:10px 0 16px; font-size:13px; font-weight:700; color:#0070ba; text-decoration:none;}
.checkout-sidebar-paypal__next,.checkout-sidebar-paypal__create{
  width:100%; height:44px; border-radius:999px; font-size:16px; font-weight:700; cursor:pointer; transition:filter .2s ease, transform .2s ease;
}
.checkout-sidebar-paypal__next{border:0; background:#0070e0; color:#fff;}
.checkout-sidebar-paypal__create{border:2px solid #111; background:#fff; color:#111; margin-top:16px;}
.checkout-sidebar-paypal__next:hover,.checkout-sidebar-paypal__create:hover{filter:brightness(.98); transform:translateY(-1px);}
.checkout-sidebar-paypal__divider{position:relative; text-align:center; margin:16px 0 0;}
.checkout-sidebar-paypal__divider::before{content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:#d6d9dc;}
.checkout-sidebar-paypal__divider span{position:relative; display:inline-block; padding:0 12px; background:#fff; color:#6b6f76; font-size:13px;}
.checkout-sidebar-paypal__cancel{display:block;text-align:center;color:#111;text-decoration:none;font-size:12px;font-weight:900;margin:16px 0 16px;padding:11px 14px;border-radius:999px;background:#fff;border:1px solid rgba(237,28,36,.22);box-shadow:0 8px 22px rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease;background-clip:padding-box;}
.checkout-sidebar-paypal__cancel:hover,.checkout-sidebar-paypal__cancel:focus{color:#ed1c24;border-color:rgba(237,28,36,.55);box-shadow:0 12px 30px rgba(237,28,36,.14);transform:translateY(-1px);outline:none;}
.checkout-sidebar-paypal__langs{display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; color:#53565c; font-size:12px;}
.checkout-sidebar-paypal__langs span{position:relative;}
.checkout-sidebar-paypal__langs span + span::before{content:""; position:absolute; left:-6px; top:2px; bottom:2px; width:1px; background:#d6d9dc;}
body.checkout-payment-mode .checkout-card{display:none !important;}

.checkout-proof__pattern-swatch{background-position:center; background-repeat:repeat; background-size:36px 36px;}
.checkout-proof__pattern-swatch--pattern{background-color:#fff;}

@media (max-width:1200px){
  body.checkout-payment-mode .wrap{grid-template-columns:minmax(0,1fr) 380px;}
  body.checkout-payment-mode .checkout-proof__preview-card{min-height:280px;}
}
@media (max-width:980px){
  body.checkout-payment-mode .wrap{grid-template-columns:1fr;}
  body.checkout-payment-mode .right{border-left:0; border-top:1px solid var(--line);}
  body.checkout-payment-mode .checkout-sidebar-paypal{margin-top:10px;}
}


body.checkout-payment-mode .checkout-payment-view__topbar{display:none !important;}
.checkout-proof__label-red{color:#ff120d;}
.checkout-proof__meta-grid strong.checkout-proof__label-red{font-weight:900;}
.checkout-proof__meta-grid{align-items:start;gap:18px;margin-top:20px;}
.checkout-proof__product,.checkout-proof__customer{border:2px solid #ff1616;border-radius:10px 0 10px 0;overflow:hidden;background:#fff;}
.checkout-proof__product-title,.checkout-proof__customer-title{position:relative;isolation:isolate;display:flex;align-items:center;min-height:50px;margin:0!important;padding:5px 72px 5px 56px!important;box-sizing:border-box;overflow:hidden;border-bottom:5px solid #ed0012;background:#080808;color:#fff;font-size:14px!important;line-height:18px!important;font-weight:900;text-transform:uppercase;}
.checkout-proof__product-title::before,.checkout-proof__customer-title::before{content:"";position:absolute;z-index:2;left:10px;top:calc((100% - 5px)/2);width:32px;height:32px;border-radius:50%;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:24px 24px;transform:translateY(-50%);}
.checkout-proof__product-title::before{background-image:url(../virtual_images/email_shirt.svg);}
.checkout-proof__customer-title::before{background-image:url(../virtual_images/email_user.svg);}
.checkout-proof__product-title::after,.checkout-proof__customer-title::after{content:"";position:absolute;right:0;top:0;width:80px;height:100%;background:#ed0012;clip-path:polygon(38% 0,100% 0,100% 100%,0 100%);box-shadow:-6px 0 0 #fff;}
.checkout-proof__product>div:not(.checkout-proof__product-title),.checkout-proof__customer>div:not(.checkout-proof__customer-title){position:relative;min-height:44px;padding:4px 8px 4px 58px;box-sizing:border-box;border-bottom:1px solid #e5e5e5;background:#fff;color:#111;font-size:11px!important;line-height:14px!important;}
.checkout-proof__product>div:not(.checkout-proof__product-title)::before,.checkout-proof__customer>div:not(.checkout-proof__customer-title)::before{content:"";position:absolute;left:10px;top:50%;width:32px;height:32px;border-radius:6px;background-color:#fff0f1;background-repeat:no-repeat;background-position:center;background-size:22px 22px;transform:translateY(-50%);}
.checkout-proof__product>div:not(.checkout-proof__product-title)::after,.checkout-proof__customer>div:not(.checkout-proof__customer-title)::after{content:"";position:absolute;left:50px;top:5px;bottom:5px;width:1px;background:#eee;}
.checkout-proof__product>div:last-child,.checkout-proof__customer>div:last-child{border-bottom:0;}
.checkout-proof__product>div:not(.checkout-proof__product-title)>strong,.checkout-proof__customer>div:not(.checkout-proof__customer-title)>strong{display:block;color:#ff1616;font-size:11px;line-height:14px;}
.checkout-proof__product>div:nth-child(2)::before{background-image:url(../virtual_images/email_shirt.svg);}
.checkout-proof__product>div:nth-child(3)::before{background-image:url(../virtual_images/email_cut.svg);}
.checkout-proof__product>div:nth-child(4)::before{background-image:url(../virtual_images/email_sku.svg);}
.checkout-proof__product>div:nth-child(5)::before{background-image:url(../virtual_images/email_fabric.svg);}
.checkout-proof__product>div:nth-child(6)::before{background-image:url(../virtual_images/email_price.svg);}
.checkout-proof__customer>div:nth-child(2)::before{background-image:url(../virtual_images/email_user.svg);}
.checkout-proof__customer>div:nth-child(3)::before{background-image:url(../virtual_images/email_mail.svg);}
.checkout-proof__customer>div:nth-child(4)::before{background-image:url(../virtual_images/email_time.svg);}
.checkout-proof__logo-card{padding:12px 18px;}
.checkout-proof__logo-card img{max-width:100%; max-height:132px; width:auto; height:auto; object-fit:contain; display:block;}
.checkout-proof__logo-title{display:none !important;}
.checkout-sidebar-paypal{position:sticky; top:10px;}
body.checkout-payment-mode .checkout-sidebar-paypal{display:block !important;}
.checkout-proof__pattern-meta div{word-break:break-word;}

.checkout-proof__details.has-multiple-rows .checkout-proof__detail-card:nth-child(n+4){border-top:2px solid #ff120d;}
.checkout-proof__price-original{text-decoration:line-through; color:#ff1616; font-weight:700; margin-right:6px;}
.checkout-proof__price-discount{color:#008000; font-weight:900;}
.checkout-proof__price-single{color:#111; font-weight:900;}
.checkout-proof__logos{align-items:stretch;}
.checkout-proof__logo-card{overflow:hidden;}
.checkout-proof__logo-card img{max-width:90%; max-height:150px; width:auto; height:auto; object-fit:contain;}
body.checkout-payment-mode .checkout-sidebar-paypal{display:block !important;}

.checkout-proof__details.has-full-first-row .checkout-proof__detail-card:nth-child(-n+3){border-bottom:2px solid #ff120d;}
.checkout-proof__details.has-multiple-rows .checkout-proof__detail-card:nth-child(4){border-left:0;}
.checkout-proof__details.count-5 .checkout-proof__detail-card:nth-child(5){border-top:2px solid #ff120d; border-left:2px solid #ff120d;}
.checkout-proof__logos{grid-template-columns:repeat(3,minmax(0,1fr));}
.checkout-proof__logos.count-1 .checkout-proof__logo-card:nth-child(1),
.checkout-proof__logos.count-2 .checkout-proof__logo-card:nth-child(-n+2){border-bottom:2px solid #ff120d;}
.checkout-proof__logos.count-1 .checkout-proof__logo-card:nth-child(1),
.checkout-proof__logos.count-2 .checkout-proof__logo-card:nth-child(1),
.checkout-proof__logos.count-2 .checkout-proof__logo-card:nth-child(2){border-right:2px solid #ff120d;}
.checkout-proof__logos.count-3 .checkout-proof__logo-card:nth-child(-n+3){border-bottom:2px solid #ff120d;}
.checkout-proof__logos.count-4 .checkout-proof__logo-card:nth-child(4){border-top:2px solid #ff120d; border-left:0;}
.checkout-proof__logos.count-5 .checkout-proof__logo-card:nth-child(4){border-top:2px solid #ff120d; border-left:0;}
.checkout-proof__logos.count-5 .checkout-proof__logo-card:nth-child(5){border-top:2px solid #ff120d; border-left:2px solid #ff120d;}
.checkout-proof__logo-card{box-sizing:border-box;}
body.checkout-payment-mode .checkout-sidebar-paypal{margin-top:12px;}

/* checkout proof alignment patch */
body.checkout-payment-mode .stage.is-checkout-preview .checkout-preview-overlay.is-loading{align-items:center;justify-content:center;}


/* checkout proof corner radius patch */
.checkout-proof__patterns.count-3 .checkout-proof__pattern:first-child,
.checkout-proof__details.count-3 .checkout-proof__detail-card:first-child,
.checkout-proof__logos.count-3 .checkout-proof__logo-card:first-child{border-top-left-radius:26px;}
.checkout-proof__patterns.count-3 .checkout-proof__pattern:last-child,
.checkout-proof__details.count-3 .checkout-proof__detail-card:last-child,
.checkout-proof__logos.count-3 .checkout-proof__logo-card:last-child{border-bottom-right-radius:26px;}
.checkout-proof__patterns.count-4 .checkout-proof__pattern:nth-child(4),
.checkout-proof__details.count-4 .checkout-proof__detail-card:nth-child(4),
.checkout-proof__logos.count-4 .checkout-proof__logo-card:nth-child(4),
.checkout-proof__details.count-5 .checkout-proof__detail-card:nth-child(5),
.checkout-proof__logos.count-5 .checkout-proof__logo-card:nth-child(5){border-bottom-right-radius:26px;}
.checkout-proof__patterns.count-4 .checkout-proof__pattern:nth-child(-n+3),
.checkout-proof__details.count-4 .checkout-proof__detail-card:nth-child(-n+3),
.checkout-proof__logos.count-4 .checkout-proof__logo-card:nth-child(-n+3),
.checkout-proof__details.count-5 .checkout-proof__detail-card:nth-child(-n+3),
.checkout-proof__logos.count-5 .checkout-proof__logo-card:nth-child(-n+3){border-top-right-radius:0;border-top-left-radius:0;}
.checkout-proof__logos .checkout-proof__logo-card{overflow:visible;}
.checkout-proof__logos .checkout-proof__logo-card img{max-width:100%;max-height:230px;width:auto;height:auto;object-fit:contain;}


/* checkout proof follow-up patch */
.checkout-proof__logo-card{min-height:240px !important; overflow:visible !important; padding:12px 14px !important;}
.checkout-proof__logos{overflow:visible !important;}
.checkout-proof__logos .checkout-proof__logo-card img{max-width:96% !important; max-height:210px !important; width:auto !important; height:auto !important; object-fit:contain !important; object-position:center center !important;}


/* proof page targeted patch */
.checkout-proof__section-note{
  margin:-2px 0 10px;
  text-align:center;
  color:#111;
  font-size:13px;
  line-height:1.4;
  font-weight:500;
}
.checkout-proof__roster-note{
  text-align:center;
  font-size:13px;
  line-height:1.45;
  color:#111;
  margin-bottom:10px;
}
.checkout-proof__roster-note strong{display:block; font-weight:800; color:#FF0000; margin-bottom:4px;}
.checkout-proof__proof-disclaimer{
  margin:12px 0 10px;
  text-align:center;
  color:#111;
  font-size:13px;
  line-height:1.45;
  font-weight:500;
}
.checkout-proof__footer{
  margin-top:12px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:20px;
  padding:0;
  background:transparent;
  color:#fff;
}
.checkout-proof__footer-left,
.checkout-proof__footer-right{
  min-height:38px;
  display:flex;
  align-items:center;
  padding:10px 16px;
  font-size:16px;
  font-weight:500;
  box-sizing:border-box;
}
.checkout-proof__footer-left{background:#ff120d; justify-content:flex-start; border-radius:0 26px 0 0;}
.checkout-proof__footer-right{background:#000; justify-content:center; text-align:center; border-radius:26px 0 0 0; padding-left:15px; padding-right:15px; white-space:nowrap;}
.checkout-proof__patterns,
.checkout-proof__details,
.checkout-proof__logos{overflow:hidden;}
.checkout-proof__pattern,
.checkout-proof__detail-card,
.checkout-proof__logo-card{border-radius:0 !important;}
.checkout-proof__patterns .checkout-proof__pattern:first-child,
.checkout-proof__details .checkout-proof__detail-card:first-child,
.checkout-proof__logos .checkout-proof__logo-card:first-child{border-top-left-radius:26px !important;}
.checkout-proof__patterns .checkout-proof__pattern:last-child,
.checkout-proof__details .checkout-proof__detail-card:last-child,
.checkout-proof__logos .checkout-proof__logo-card:last-child{border-bottom-right-radius:26px !important;}
.checkout-proof__details.has-full-first-row .checkout-proof__detail-card:nth-child(-n+3){border-bottom:0 !important;}
.checkout-proof__details.has-multiple-rows.has-full-first-row .checkout-proof__detail-card:nth-child(-n+3){border-bottom:2px solid #ff120d !important;}
.checkout-proof__logos.count-1 .checkout-proof__logo-card:nth-child(1),
.checkout-proof__logos.count-2 .checkout-proof__logo-card:nth-child(-n+2),
.checkout-proof__logos.count-3 .checkout-proof__logo-card:nth-child(-n+3){border-bottom:0 !important;}
.checkout-proof__logos.count-1 .checkout-proof__logo-card:nth-child(1),
.checkout-proof__logos.count-2 .checkout-proof__logo-card:nth-child(1),
.checkout-proof__logos.count-2 .checkout-proof__logo-card:nth-child(2){border-right:0 !important;}
.checkout-proof__logos.count-4 .checkout-proof__logo-card:nth-child(4),
.checkout-proof__logos.count-5 .checkout-proof__logo-card:nth-child(4){border-left:0 !important;}
.checkout-proof__details.count-5 .checkout-proof__detail-card:nth-child(5),
.checkout-proof__logos.count-5 .checkout-proof__logo-card:nth-child(5){border-left:2px solid #ff120d !important;}
@media (max-width:980px){
  .checkout-proof__footer{grid-template-columns:1fr; column-gap:0; row-gap:10px;}
  .checkout-proof__footer-left{border-radius:26px 26px 0 0;}
  .checkout-proof__footer-right{justify-content:flex-start; border-radius:0;}
}


/* proof details radius + gap patch */
.checkout-proof__details{
  gap:10px !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
}
.checkout-proof__detail-card,
.checkout-proof__detail-card + .checkout-proof__detail-card,
.checkout-proof__details .checkout-proof__detail-card:nth-child(-n+3),
.checkout-proof__details .checkout-proof__detail-card:nth-child(3n+1),
.checkout-proof__details.has-full-first-row .checkout-proof__detail-card:nth-child(-n+3),
.checkout-proof__details.has-multiple-rows .checkout-proof__detail-card:nth-child(n+4),
.checkout-proof__details.has-multiple-rows .checkout-proof__detail-card:nth-child(4),
.checkout-proof__details.count-5 .checkout-proof__detail-card:nth-child(5){
  border:3px solid #ff120d !important;
  /*border-radius:0 !important;*/
}
.checkout-proof__details .checkout-proof__detail-card:first-child,
.checkout-proof__details .checkout-proof__detail-card:last-child{
  /*border-radius:0 !important;*/
}
.checkout-proof__detail-card--first-real{
  border-top-left-radius:26px !important;
}
.checkout-proof__detail-card--last-real{
  border-bottom-right-radius:26px !important;
}


/* proof logos match names boxes patch */
.checkout-proof__logos{
  gap:10px !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
}
.checkout-proof__logo-card,
.checkout-proof__logo-card + .checkout-proof__logo-card,
.checkout-proof__logos .checkout-proof__logo-card:nth-child(-n+3),
.checkout-proof__logos .checkout-proof__logo-card:nth-child(3n+1),
.checkout-proof__logos.count-1 .checkout-proof__logo-card:nth-child(1),
.checkout-proof__logos.count-2 .checkout-proof__logo-card:nth-child(-n+2),
.checkout-proof__logos.count-3 .checkout-proof__logo-card:nth-child(-n+3),
.checkout-proof__logos.count-4 .checkout-proof__logo-card:nth-child(4),
.checkout-proof__logos.count-5 .checkout-proof__logo-card:nth-child(4),
.checkout-proof__logos.count-5 .checkout-proof__logo-card:nth-child(5){
  border:3px solid #000000 !important;
  /*border-radius:0 !important;*/
}
.checkout-proof__logos .checkout-proof__logo-card:first-child,
.checkout-proof__logos .checkout-proof__logo-card:last-child{
  /*border-radius:0 !important;*/
}
.checkout-proof__logo-card--first-real{
  border-top-left-radius:26px !important;
}
.checkout-proof__logo-card--last-real{
  border-bottom-right-radius:26px !important;
}
.checkout-proof__logo-card{
  overflow:visible !important;
}
.checkout-proof__logo-card img{
  max-width:100% !important;
  max-height:230px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}


/* proof radius sync patch */
.checkout-proof__details .checkout-proof__detail-card--first-real,
.checkout-proof__logos .checkout-proof__logo-card--first-real{
  border-top-left-radius:26px !important;
  overflow:hidden !important;
}
.checkout-proof__details .checkout-proof__detail-card--last-real,
.checkout-proof__logos .checkout-proof__logo-card--last-real{
  border-bottom-right-radius:26px !important;
  overflow:hidden !important;
}
.checkout-proof__detail-card,
.checkout-proof__logo-card{
  background:#fff !important;
}
.checkout-proof__logos .checkout-proof__logo-card--empty{
  display:none !important;
}


/* logo radius final patch */
.checkout-proof__logos .checkout-proof__logo-card--first-real.checkout-proof__logo-card--last-real{
  border-top-left-radius:26px !important;
  border-top-right-radius:0 !important;
  border-bottom-right-radius:26px !important;
  border-bottom-left-radius:0 !important;
}
.checkout-proof__logos .checkout-proof__logo-card--first-real:not(.checkout-proof__logo-card--last-real){
  border-top-left-radius:26px !important;
  border-top-right-radius:0 !important;
  border-bottom-right-radius:0 !important;
  border-bottom-left-radius:0 !important;
}
.checkout-proof__logos .checkout-proof__logo-card--last-real:not(.checkout-proof__logo-card--first-real){
  border-top-right-radius:0px !important;
  border-bottom-right-radius:26px !important;
  border-top-left-radius:0 !important;
  border-bottom-left-radius:0 !important;
}

/* Patch: custom color swatch tooltip (replaces native browser title) */
.sw[data-tooltip]{position:relative!important;}
.sw[data-tooltip]:before{content:attr(data-tooltip)!important;position:absolute!important;left:50%!important;bottom:calc(100% + 10px)!important;transform:translateX(-50%) scale(.96)!important;background:#ffef2e!important;color:#111827!important;border-radius:8px!important;padding:8px 11px!important;font-size:11px!important;font-weight:900!important;line-height:1.2!important;white-space:nowrap!important;box-shadow:0 10px 22px rgba(15,23,42,.18)!important;opacity:0!important;visibility:hidden!important;z-index:10005!important;pointer-events:none!important;transition:opacity .16s ease,transform .16s ease!important;}
.sw[data-tooltip]:after{content:""!important;position:absolute!important;left:50%!important;bottom:calc(100% + 3px)!important;width:12px!important;height:12px!important;background:#ffef2e!important;transform:translateX(-50%) rotate(45deg)!important;opacity:0!important;visibility:hidden!important;z-index:10004!important;pointer-events:none!important;}
.sw[data-tooltip]:hover:before{opacity:1!important;visibility:visible!important;transform:translateX(-50%) scale(1)!important;}
.sw[data-tooltip]:hover:after{opacity:1!important;visibility:visible!important;}

.thumb[data-tooltip],.pcol[data-tooltip]{position:relative!important;}
.thumb[data-tooltip]:before,.pcol[data-tooltip]:before{content:attr(data-tooltip)!important;position:absolute!important;left:50%!important;bottom:calc(100% + 10px)!important;transform:translateX(-50%) scale(.96)!important;background:#ffef2e!important;color:#111827!important;border-radius:8px!important;padding:8px 11px!important;font-size:11px!important;font-weight:900!important;line-height:1.2!important;white-space:nowrap!important;box-shadow:0 10px 22px rgba(15,23,42,.18)!important;opacity:0!important;visibility:hidden!important;z-index:10005!important;pointer-events:none!important;transition:opacity .16s ease,transform .16s ease!important;}
.thumb[data-tooltip]:after,.pcol[data-tooltip]:after{content:""!important;position:absolute!important;left:50%!important;bottom:calc(100% + 3px)!important;width:12px!important;height:12px!important;background:#ffef2e!important;transform:translateX(-50%) rotate(45deg)!important;opacity:0!important;visibility:hidden!important;z-index:10004!important;pointer-events:none!important;}
.thumb[data-tooltip]:hover:before,.pcol[data-tooltip]:hover:before{opacity:1!important;visibility:visible!important;transform:translateX(-50%) scale(1)!important;}
.thumb[data-tooltip]:hover:after,.pcol[data-tooltip]:hover:after{opacity:1!important;visibility:visible!important;}


/* tooltip clipping fix */
.stage{
  z-index:1;
}
.fill-body,
.tabbox,
#patternThumbs,
.thumb-row{
  overflow:visible !important;
}
.grad-duplicate-tooltip,
.fabric-title-tooltip,
.custom-tooltip,
.tooltip{
  z-index:999999 !important;
}


/* Patch: pattern thumbnail tooltip fixed above stage without breaking right menu scroll */
#patternThumbs .thumb[data-tooltip]::before,
#patternThumbs .thumb[data-tooltip]::after{
  display:none !important;
}
.virtual-pattern-float-tooltip{
  position:fixed !important;
  left:0;
  top:0;
  transform:translate(-50%,-100%) scale(.96);
  background:#ffef2e !important;
  color:#111827 !important;
  border-radius:8px !important;
  padding:8px 11px !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  box-shadow:0 10px 22px rgba(15,23,42,.18) !important;
  opacity:0;
  visibility:hidden;
  z-index:2147483647 !important;
  pointer-events:none !important;
  transition:opacity .16s ease,transform .16s ease !important;
}
.virtual-pattern-float-tooltip.is-visible{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,-100%) scale(1);
}
.virtual-pattern-float-tooltip::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  width:12px;
  height:12px;
  background:#ffef2e;
  transform:translate(-50%,-6px) rotate(45deg);
  z-index:-1;
}


/* Patch: keep all page items behind active modals */
body.virtual-designer-page.designer-modal-open .designer-modal{z-index:2147483000!important;background:rgba(0,0,0,.82)!important;}
body.virtual-designer-page.designer-modal-open .designer-modal__dialog{z-index:2147483001!important;}
body.virtual-designer-page.designer-modal-open .top-actions,
body.virtual-designer-page.designer-modal-open .designer-item-meta,
body.virtual-designer-page.designer-modal-open aside.right,
body.virtual-designer-page.designer-modal-open .designer-bottom-actions{z-index:auto!important;}

.designer-modal__dialog--share-design{width:min(90vw,710px)!important;max-width:710px!important;min-width:0!important;height:72vh!important;max-height:72vh!important;overflow:hidden!important;}
.designer-modal__dialog--share-design .designer-share-modal{height:100%!important;padding-top:15px!important;padding-bottom:15px!important;overflow:hidden!important;}
.designer-modal__dialog--share-design::-webkit-scrollbar{display:none!important;}
.designer-modal__dialog--share-design .designer-share-modal__preview{width:calc(100% - 30px)!important;max-width:none!important;max-height:calc(72vh - 170px)!important;}
/* Patch: bottom center text view button */
.move-text-view-btn{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:14;display:none;align-items:center;gap:8px;border:0;border-radius:999px;background:#111;color:#fff;padding:10px 16px;font-size:13px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.18);transition:none;}
.move-text-view-btn i{font-size:14px;color:#fff;line-height:1;}
.move-text-view-btn:hover{background:#d91f26;transform:translateX(-50%);}
.move-text-view-btn:focus-visible{outline:2px solid #d91f26;outline-offset:3px;}

/* Patch: canvas control icon tooltip */
.virtual-canvas-control-tooltip{position:fixed;z-index:2147483100;transform:translate(-50%,-100%);max-width:240px;padding:8px 11px;border-radius:8px;background:#fff;color:#111;border:1px solid rgba(227,0,15,.55);box-shadow:0 6px 20px rgba(227,0,15,.32);font-size:12px;font-weight:700;line-height:1.25;text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,visibility .14s ease;}
.virtual-canvas-control-tooltip.is-visible{opacity:1;visibility:visible;}
.virtual-canvas-control-tooltip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#fff;}

/* PATCH: keep every canvas/right-panel tooltip and highlighted control behind modals */
body.virtual-designer-page.designer-modal-open .virtual-action-tooltip,
body.virtual-designer-page.designer-modal-open .fabric-title-tooltip,
body.virtual-designer-page.designer-modal-open .grad-duplicate-tooltip,
body.virtual-designer-page.designer-modal-open .virtual-canvas-control-tooltip,
body.virtual-designer-page.designer-modal-open .sw[data-tooltip]::before,
body.virtual-designer-page.designer-modal-open .sw[data-tooltip]::after,
body.virtual-designer-page.designer-modal-open .thumb[data-tooltip]::before,
body.virtual-designer-page.designer-modal-open .thumb[data-tooltip]::after,
body.virtual-designer-page.designer-modal-open .pcol[data-tooltip]::before,
body.virtual-designer-page.designer-modal-open .pcol[data-tooltip]::after{opacity:0!important;visibility:hidden!important;display:none!important;}
body.virtual-designer-page.designer-modal-open aside.right,
body.virtual-designer-page.designer-modal-open aside.right *,
body.virtual-designer-page.designer-modal-open .top-actions,
body.virtual-designer-page.designer-modal-open .designer-item-meta,
body.virtual-designer-page.designer-modal-open .designer-bottom-actions,
body.virtual-designer-page.designer-modal-open .move-text-view-btn{z-index:1!important;}
body.virtual-designer-page.designer-modal-open .admin-mode-btn{z-index:1!important;}
.move-text-view-btn{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;border:1px solid rgba(0,0,0,.14)!important;border-radius:7px!important;background:#fff!important;color:#111!important;box-shadow:0 4px 12px rgba(0,0,0,.18)!important;font-size:0!important;line-height:1!important;justify-content:center!important;}
.move-text-view-btn span{display:none!important;}
.move-text-view-btn i{font-size:15px!important;color:#111!important;}
.move-text-view-btn:hover{background:#fff!important;color:#d91f26!important;transform:translateX(-50%)!important;}
.move-text-view-btn:hover i{color:#d91f26!important;}

/* Patch: saved/share modal stacking + matching title + centered share footer */
body.virtual-designer-page.designer-modal-open #designerSaveDesignModal,
body.virtual-designer-page.designer-modal-open #designerShareModal,
body.virtual-designer-page.designer-modal-open #designerSavedDesignsModal{z-index:2147483000!important;isolation:isolate!important;}
body.virtual-designer-page.designer-modal-open #designerSaveDesignModal .designer-modal__dialog,
body.virtual-designer-page.designer-modal-open #designerShareModal .designer-modal__dialog,
body.virtual-designer-page.designer-modal-open #designerSavedDesignsModal .designer-modal__dialog{z-index:2147483001!important;}
#designerShareModal .designer-modal__head--lion,
#designerSavedDesignsModal .designer-modal__head,
#designerSaveDesignModal .designer-modal__head{background:#ff120d!important;color:#fff!important;font-size:24px!important;font-weight:700!important;line-height:1.2!important;padding:16px 54px 16px 22px!important;text-align:left!important;letter-spacing:0!important;}
#designerShareModal .designer-share-modal__icons{justify-content:center!important;text-align:center!important;width:100%!important;}
#designerShareModal .designer-share-modal__label{margin-right:4px!important;text-align:center!important;}
@media (max-width:700px){#designerShareModal .designer-modal__head--lion,#designerSavedDesignsModal .designer-modal__head,#designerSaveDesignModal .designer-modal__head{font-size:20px!important;padding:14px 48px 14px 16px!important;}}


/* Patch: remove duplicate bottom-center external text-view button; Fabric canvas control remains active */
.move-text-view-btn{display:none!important;visibility:hidden!important;pointer-events:none!important;}

/* ===== Firefox right menu scrollbar patch ===== */
body.virtual-designer-page .right,
body.virtual-designer-page aside.right{
  overflow-x:hidden !important;
  overflow-y:auto !important;
  scrollbar-width:thin;
  scrollbar-color:#d91f26 #f1f1f1;
}
body.virtual-designer-page .right::-webkit-scrollbar,
body.virtual-designer-page aside.right::-webkit-scrollbar{
  width:8px;
  height:0;
}
body.virtual-designer-page .right::-webkit-scrollbar-track,
body.virtual-designer-page aside.right::-webkit-scrollbar-track{
  background:#f1f1f1;
  border-radius:999px;
}
body.virtual-designer-page .right::-webkit-scrollbar-thumb,
body.virtual-designer-page aside.right::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#ff1d25,#9b0008);
  border-radius:999px;
  border:2px solid #f1f1f1;
}
body.virtual-designer-page .right::-webkit-scrollbar-thumb:hover,
body.virtual-designer-page aside.right::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#d91f26,#111);
}
body.virtual-designer-page .right::-webkit-scrollbar-corner,
body.virtual-designer-page aside.right::-webkit-scrollbar-corner{
  background:transparent;
}
body.virtual-designer-page .right *,
body.virtual-designer-page aside.right *{
  max-width:100%;
  box-sizing:border-box;
}

/* ===== Patch: right-panel tooltip and text font selector readability ===== */
body.virtual-designer-page .virtual-action-tooltip,
body.virtual-designer-page .fabric-title-tooltip,
body.virtual-designer-page .grad-duplicate-tooltip,
body.virtual-designer-page .virtual-canvas-control-tooltip{
  z-index:2147482000!important;
}
body.virtual-designer-page aside.right select#fontFamily,
body.virtual-designer-page aside.right input#textValue{
  font-size:22px!important;
  line-height:1.25!important;
}
body.virtual-designer-page aside.right input#textValue{
  font-size:24px!important;
}
body.virtual-designer-page aside.right select#fontFamily option{
  font-size:22px!important;
  line-height:1.35!important;
  padding:8px 10px!important;
}

/* ===== PATCH: global custom scrollbars + pattern tooltip/font modal ===== */
*{scrollbar-width:thin;scrollbar-color:#d91f26 #f1f1f1;}
*::-webkit-scrollbar{width:8px;height:8px;}
*::-webkit-scrollbar-track{background:#f1f1f1;border-radius:999px;}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ff1d25,#9b0008);border-radius:999px;border:2px solid #f1f1f1;}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#d91f26,#111);}
*::-webkit-scrollbar-corner{background:transparent;}

#patternColorIcons .pcol[data-tooltip]::before,
#patternColorIcons .pcol[data-tooltip]::after{display:none!important;}
#patternColorIcons{overflow:visible!important;}
body.virtual-designer-page aside.right{overflow-x:hidden!important;}

.virtual-font-family-source-select{display:none!important;}
.virtual-font-family-trigger{width:100%!important;min-height:47px!important;border:1px solid #d7d7d7!important;border-radius:0!important;background:#fff!important;color:#111!important;font-size:24px!important;line-height:1.15!important;font-weight:800!important;text-align:left!important;padding:10px 14px!important;cursor:pointer!important;box-sizing:border-box!important;box-shadow:none!important;}
.virtual-font-family-trigger:hover{border-color:#d91f26!important;background:#fff8f8!important;}
.virtual-font-family-trigger:focus{outline:2px solid rgba(217,31,38,.25)!important;outline-offset:2px!important;}
#textValue{font-size:26px!important;min-height:48px!important;line-height:1.2!important;}

.virtual-font-modal{position:fixed;inset:0;z-index:2147483300;background:rgba(255,255,255,.72);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;}
.virtual-font-modal.is-open{display:flex;}
.virtual-font-modal__dialog{width:min(96vw,1480px);max-height:92vh;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;box-shadow:0 18px 50px rgba(15,23,42,.16);overflow:hidden;}
.virtual-font-modal__head{display:flex;align-items:center;gap:22px;padding:30px 36px;border-bottom:1px solid #ececec;position:relative;}
.virtual-font-modal__icon{width:66px;height:66px;border-radius:10px;background:#fff1f2;color:#d91f26;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:32px;font-weight:900;border:1px solid #ffe0e3;}
.virtual-font-modal__head h3{margin:0;color:#050505;font-size:26px;font-weight:900;line-height:1.15;}
.virtual-font-modal__head p{margin:8px 0 0;color:#4b5563;font-size:17px;font-weight:400;}
.virtual-font-modal__close{position:absolute;right:36px;top:50%;transform:translateY(-50%);width:56px;height:56px;border:1px solid #e5e7eb;border-radius:9px;background:#fff;color:#111;font-size:42px;line-height:45px;font-weight:300;cursor:pointer;}
.virtual-font-modal__close:hover{border-color:#d91f26;color:#d91f26;background:#fff7f7;}
.virtual-font-modal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding:28px 36px 42px;max-height:calc(92vh - 128px);overflow:auto;background:#fff;}
.virtual-font-card{position:relative;min-height:170px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;text-align:left;padding:30px 64px 22px 26px;cursor:pointer;box-shadow:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;overflow:hidden;}
.virtual-font-card:hover{border-color:#d91f26;background:#fffafa;box-shadow:0 12px 28px rgba(15,23,42,.08);}
.virtual-font-card.is-selected{border-color:#ff1d25;background:#fff7f7;box-shadow:0 0 0 1px rgba(255,29,37,.2);}
.virtual-font-card__name{display:block;margin-bottom:34px;color:#111827;font-family:Arial,Helvetica,sans-serif!important;font-size:17px;font-weight:500;line-height:1.2;}
.virtual-font-card__preview{display:block;color:#050505;font-size:34px;font-weight:900;line-height:1.1;white-space:nowrap;letter-spacing:.5px;}
.virtual-font-card__star{position:absolute;right:26px;top:28px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-family:Arial,Helvetica,sans-serif!important;font-size:29px;font-weight:400;line-height:1;}
.virtual-font-card.is-selected .virtual-font-card__star{width:34px;height:34px;border-radius:50%;background:#ff1d25;color:#fff;font-size:20px;font-weight:900;}
@media(max-width:1100px){.virtual-font-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr));}.virtual-font-card__preview{font-size:30px;}}
@media(max-width:680px){.virtual-font-modal{padding:12px}.virtual-font-modal__head{padding:20px 66px 20px 18px}.virtual-font-modal__grid{grid-template-columns:1fr;padding:18px;gap:14px}.virtual-font-modal__close{right:16px;width:46px;height:46px}.virtual-font-card{min-height:135px}.virtual-font-card__preview{font-size:26px;}}


/* ===== PATCH: font trigger glow, modal compact cards, tooltip parity, saved hover back view ===== */
#virtualFontFamilyModalTrigger.virtual-font-family-trigger{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border:2px solid #d91f26!important;
  border-radius:8px!important;
  min-height:50px!important;
  padding:9px 14px!important;
  font-size:22px!important;
  overflow:hidden!important;
  animation:virtualFontTriggerGlow 1.65s ease-in-out infinite!important;
}
#virtualFontFamilyModalTrigger.virtual-font-family-trigger::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(217,31,38,0),rgba(217,31,38,.22),rgba(217,31,38,0));
  transform:translateX(-100%);
  animation:virtualFontTriggerSweep 2.1s linear infinite;
  pointer-events:none;
}
@keyframes virtualFontTriggerGlow{
  0%,100%{box-shadow:0 0 0 rgba(217,31,38,0),0 0 0 rgba(217,31,38,0)}
  50%{box-shadow:0 0 0 3px rgba(217,31,38,.12),0 0 18px rgba(217,31,38,.42)}
}
@keyframes virtualFontTriggerSweep{
  0%{transform:translateX(-100%)}
  100%{transform:translateX(100%)}
}
.virtual-font-modal__dialog{width:min(96vw,1480px)!important;}
.virtual-font-modal__head{padding:22px 34px!important;}
.virtual-font-modal__close{
  border:0!important;
  background:transparent!important;
  color:#111!important;
  border-radius:0!important;
  font-size:42px!important;
  line-height:1!important;
  transition:color .3s ease,transform .3s ease!important;
}
.virtual-font-modal__close:hover{
  color:#d91f26!important;
  background:transparent!important;
  transform:translateY(-50%) scale(1.35) rotate(90deg)!important;
  font-weight:700!important;
}
.virtual-font-modal__grid{gap:18px!important;padding:22px 34px 30px!important;max-height:calc(92vh - 108px)!important;}
.virtual-font-card{min-height:126px!important;padding:22px 54px 16px 22px!important;}
.virtual-font-card__name{margin-bottom:20px!important;font-size:16px!important;}
.virtual-font-card__preview{max-width:100%!important;display:block!important;overflow:hidden!important;text-overflow:clip!important;font-size:44px!important;white-space:nowrap!important;}
.virtual-font-card__star{right:18px!important;top:20px!important;}

#patternColorIcons .pcol[data-tooltip]::before,
#patternColorIcons .pcol[data-tooltip]::after,
#swatches .sw[data-tooltip]::before,
#swatches .sw[data-tooltip]::after,
#swatches2 .sw[data-tooltip]::before,
#swatches2 .sw[data-tooltip]::after,
#swatches3 .sw[data-tooltip]::before,
#swatches3 .sw[data-tooltip]::after,
#gradTopColors .sw[data-tooltip]::before,
#gradTopColors .sw[data-tooltip]::after,
#gradBottomColors .sw[data-tooltip]::before,
#gradBottomColors .sw[data-tooltip]::after,
#textFillSwatches .sw[data-tooltip]::before,
#textFillSwatches .sw[data-tooltip]::after,
#o1Swatches .sw[data-tooltip]::before,
#o1Swatches .sw[data-tooltip]::after,
#o2Swatches .sw[data-tooltip]::before,
#o2Swatches .sw[data-tooltip]::after,
.fill-body .swatch-grid .sw[data-tooltip]::before,
.fill-body .swatch-grid .sw[data-tooltip]::after{display:none!important;}
.virtual-pattern-float-tooltip{z-index:2147483647!important;font-size:11px!important;font-weight:900!important;padding:8px 11px!important;}

.designer-saved-design-item__thumb-wrap{position:relative;width:100%;aspect-ratio:1/1;max-width:160px;max-height:160px;margin:0 auto 10px;overflow:hidden;display:block;}
.designer-saved-design-item__thumb-wrap .designer-saved-design-item__thumb{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:contain;transition:opacity .32s ease,filter .32s ease,transform .32s ease;}
.designer-saved-design-item__thumb--front{opacity:1;z-index:1;}
.designer-saved-design-item__thumb--back{opacity:0;z-index:2;}
.designer-saved-design-item:hover .designer-saved-design-item__thumb--front{opacity:0;filter:blur(1px);transform:scale(.985);}
.designer-saved-design-item:hover .designer-saved-design-item__thumb--back{opacity:1;transform:scale(1);}
@media(max-width:680px){.virtual-font-card{min-height:112px!important}.virtual-font-card__preview{font-size:34px!important}}


/* PATCH: font family card preview auto-fit area */
.virtual-font-card{padding-right:22px!important;}
.virtual-font-card__preview{width:100%!important;max-width:100%!important;font-size:54px!important;line-height:1!important;letter-spacing:.2px!important;}
@media(max-width:680px){.virtual-font-card__preview{font-size:40px!important}}


/* Patch: Names / Numbers outline mode tooltip 2-line fit */
body.virtual-designer-page .virtual-action-tooltip.virtual-right-tooltip{
  max-width:215px!important;
  width:max-content!important;
  white-space:pre-line!important;
  overflow:visible!important;
  text-align:center!important;
  line-height:1.25!important;
}

/* PATCH: keep welcome modal hidden until startup loader finishes */
body.virtual-startup-loading #designerWelcomeModal{display:none!important;}

/* Patch: modern order success page */
body.virtual-order-success-page{margin:0;min-height:100vh;background:radial-gradient(circle at 18% 14%,rgba(255,23,23,.13),transparent 28%),radial-gradient(circle at 88% 10%,rgba(33,150,243,.14),transparent 30%),#f5f6f8;color:#101114;font-family:Inter,Arial,Helvetica,sans-serif;display:flex;align-items:center;justify-content:center;padding:28px;box-sizing:border-box}
.vos-shell{width:min(980px,100%)}
.vos-card{position:relative;overflow:hidden;background:rgba(255,255,255,.94);border:1px solid rgba(227,0,15,.18);border-radius:28px;padding:34px;box-shadow:0 26px 80px rgba(15,23,42,.16);text-align:center}
.vos-card:before{content:"";position:absolute;inset:0 0 auto 0;height:7px;background:linear-gradient(90deg,#111,#ed1c24,#111)}
.vos-brand{display:flex;align-items:center;gap:14px;text-align:left;justify-content:center;margin-bottom:22px}
.vos-brand img{width:78px;height:78px;object-fit:contain;background:#080808;border-radius:18px;padding:10px;box-sizing:border-box}
.vos-brand__name{font-size:22px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.vos-brand__slogan{font-size:13px;color:#687080;font-weight:700;margin-top:3px}
.vos-check{width:82px;height:82px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ed1c24;color:#fff;font-size:48px;font-weight:900;box-shadow:0 16px 34px rgba(237,28,36,.28)}
.vos-check--warn{background:#111}
.vos-card h1{margin:0;font-size:clamp(30px,4vw,52px);line-height:1.05;font-weight:900;letter-spacing:-.04em;text-transform:uppercase}
.vos-lead{max-width:690px;margin:16px auto 18px;color:#4d5563;font-size:16px;line-height:1.65;font-weight:600}
.vos-order-no{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;border-radius:999px;padding:11px 18px;font-size:14px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}
.vos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:left;margin:0 auto 26px;max-width:760px}
.vos-grid div{background:#fff;border:1px solid rgba(15,23,42,.11);border-radius:16px;padding:15px 16px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.vos-grid span{display:block;color:#ed1c24;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.vos-grid strong{display:block;color:#101114;font-size:15px;font-weight:900;word-break:break-word}
.vos-btn{display:inline-flex;align-items:center;justify-content:center;min-width:210px;border-radius:14px;background:#ed1c24;color:#fff!important;text-decoration:none!important;padding:15px 24px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 14px 30px rgba(237,28,36,.24)}
@media(max-width:700px){body.virtual-order-success-page{padding:16px}.vos-card{padding:26px 18px;border-radius:22px}.vos-brand{flex-direction:column;text-align:center}.vos-grid{grid-template-columns:1fr}.vos-card h1{font-size:30px}}

/* Order success final polish */
body.virtual-order-success-page .vos-brand img{width:120px;height:76px;object-fit:contain;background:#050505;border-radius:18px;padding:12px 18px;box-sizing:border-box}
body.virtual-order-success-page .vos-lead--discount{color:#ed1c24;font-weight:900}
body.virtual-order-success-page .vos-btn{background:#050505;transition:background-color .22s ease,transform .22s ease,box-shadow .22s ease}
body.virtual-order-success-page .vos-btn:hover{background:#ed1c24;transform:translateY(-2px);box-shadow:0 16px 34px rgba(237,28,36,.28)}

/* PATCH: order success brand logo fit */
body.virtual-order-success-page .vos-brand img{
  width:120px !important;
  height:92px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#050505 !important;
  border-radius:18px !important;
  padding:6px 8px !important;
  display:block !important;
}

/* Patch: order success final polish */
body.virtual-order-success-page .vos-brand img{width:86px!important;height:86px!important;object-fit:contain!important;object-position:center!important;background:#050505!important;border-radius:18px!important;padding:6px!important;box-sizing:border-box!important;}
body.virtual-order-success-page .vos-lead--discount{color:#ed1c24!important;font-weight:900!important;animation:vosDiscountHeartbeat 1.55s ease-in-out infinite;}
body.virtual-order-success-page .vos-lead--payment{color:#111827!important;font-weight:800!important;margin-top:-8px!important;}
body.virtual-order-success-page .vos-btn{background:#050505!important;transition:background-color .28s ease,transform .28s ease,box-shadow .28s ease!important;}
body.virtual-order-success-page .vos-btn:hover{background:#ed1c24!important;transform:translateY(-2px)!important;box-shadow:0 16px 34px rgba(237,28,36,.28)!important;}
@keyframes vosDiscountHeartbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.025)}28%{transform:scale(1)}42%{transform:scale(1.018)}70%{transform:scale(1)}}
.vos-email-error{
  margin:18px auto 12px;
  max-width:720px;
  padding:12px 16px;
  border-radius:12px;
  background:#fff3f3;
  border:1px solid rgba(237,28,36,.35);
  color:#b00010;
  font-size:14px;
  font-weight:800;
  line-height:1.45;
}
.vos-email-status{
  margin:18px auto 12px;
  max-width:720px;
  padding:12px 16px;
  border-radius:12px;
  background:#f0fff6;
  border:1px solid rgba(18,166,84,.35);
  color:#08713a;
  font-size:14px;
  font-weight:800;
  line-height:1.45;
}

.checkout-sidebar-paypal__brandrow--stripe{align-items:center;margin-bottom:18px;}
.checkout-sidebar-paypal__logo--stripe{width:76px;max-width:76px;height:auto;display:block;}
.checkout-sidebar-paypal__title--stripe-secure{color:#ed1c24!important;font-weight:800!important;margin:4px 0 8px!important;}
#checkoutSidebarStripeForm .checkout-sidebar-paypal__input{margin-bottom:14px!important;}
#checkoutSidebarStripeForm .checkout-sidebar-paypal__next{margin-top:2px!important;}

.checkout-stripe-loading{display:none;align-items:center;justify-content:center;gap:9px;margin:10px 0 12px;padding:10px 12px;border-radius:12px;background:#fff7f7;border:1px solid rgba(237,28,36,.22);color:#111;font-size:13px;font-weight:900;line-height:18px;text-align:center;box-shadow:0 8px 22px rgba(0,0,0,.06);}
.checkout-stripe-loading.is-active{display:flex;}
.checkout-stripe-loading__spinner{width:17px;height:17px;border-radius:50%;border:3px solid rgba(237,28,36,.18);border-top-color:#ed1c24;display:inline-block;animation:checkoutStripeSpin .75s linear infinite;flex:0 0 auto;}
.checkout-stripe-loading__text{display:inline-block;}
.checkout-sidebar-paypal__next.is-loading{opacity:.72;pointer-events:none;}
@keyframes checkoutStripeSpin{to{transform:rotate(360deg);}}


.checkout-pay-btn.checkout-pay-attention{animation:checkoutPayButtonAttention 2.1s ease-in-out infinite;}
@keyframes checkoutPayButtonAttention{0%{opacity:.55;transform:translateY(8px) scale(.98);}22%{opacity:1;transform:translateY(0) scale(1.025);}44%{opacity:1;transform:translateY(0) scale(1);}70%{opacity:.55;transform:translateY(8px) scale(.98);}100%{opacity:.55;transform:translateY(8px) scale(.98);}}
.checkout-paypal-loading{display:none;align-items:center;justify-content:center;gap:9px;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#fff7f7;border:1px solid rgba(0,112,224,.22);color:#111;font-size:13px;font-weight:900;line-height:18px;text-align:center;box-shadow:0 8px 22px rgba(0,0,0,.06);}
.checkout-paypal-loading.is-active{display:flex;}
.checkout-paypal-loading__spinner{width:17px;height:17px;border-radius:50%;border:3px solid rgba(0,112,224,.18);border-top-color:#0070e0;display:inline-block;animation:checkoutStripeSpin .75s linear infinite;flex:0 0 auto;}
.checkout-paypal-loading__text{display:inline-block;}

/* Premium admin secret login modal */
.admin-secret-overlay{
  background:radial-gradient(circle at 50% 35%, rgba(255,255,255,.18), rgba(0,0,0,.72) 58%, rgba(0,0,0,.82));
  backdrop-filter:blur(4px);
}
.admin-secret-modal{
  width:min(430px, 94vw);
  padding:28px 28px 24px;
  border-radius:24px;
  background:linear-gradient(145deg, rgba(20,20,20,.98), rgba(58,58,58,.96));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 26px 70px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.12);
}
.admin-secret-modal::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:24px;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,255,255,.18), transparent 38%, rgba(57,213,0,.16));
}
.admin-secret-close{
  right:14px;
  top:14px;
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  color:#ff3b3b;
  font-weight:900;
  box-shadow:0 10px 20px rgba(0,0,0,.24);
  transition:transform .25s ease, background-color .25s ease;
}
.admin-secret-close:hover{transform:rotate(90deg) scale(1.08);background:rgba(255,59,59,.16);}
.admin-secret-title{
  margin:10px 0 18px;
  color:#fff;
  font-size:20px;
  font-weight:800;
  letter-spacing:.2px;
}
.admin-secret-input{
  height:50px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(180deg, #fffbd2, #fff7aa);
  color:#111;
  font-size:18px;
  font-weight:700;
  text-align:center;
  box-shadow:inset 0 2px 8px rgba(0,0,0,.12), 0 12px 24px rgba(0,0,0,.20);
}
.admin-secret-input:focus{outline:none;border-color:#39d500;box-shadow:0 0 0 4px rgba(57,213,0,.18), inset 0 2px 8px rgba(0,0,0,.12);}
.admin-secret-proceed{
  height:52px;
  border-radius:16px;
  background:linear-gradient(135deg, #39d500, #20b900);
  box-shadow:0 14px 28px rgba(32,185,0,.28), inset 0 1px 0 rgba(255,255,255,.32);
  transition:transform .22s ease, box-shadow .22s ease;
}
.admin-secret-proceed:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(32,185,0,.34), inset 0 1px 0 rgba(255,255,255,.36);}
.admin-secret-proceed__knob{width:20px;height:20px;right:14px;box-shadow:0 0 0 5px rgba(255,255,255,.18);}
.admin-tem-tools .tem-tools__toggle-wrap{display:flex !important;}
.admin-tem-tools .tem-vis-toggle .logo-vis-pill.is-off,
.admin-tem-tools .tem-vis-toggle input:not(:checked) + .logo-vis-pill{background:#7f1d1d;border-color:#991b1b;}

/* PATCH: admin text visibility button label/icon */
.admin-tem-tools .tem-vis-toggle .logo-vis-pill{font-size:13px!important;gap:7px;}
.admin-tem-tools .tem-vis-toggle .logo-vis-pill::before{content:none!important;display:none!important;}
.admin-tem-tools .tem-vis-toggle .logo-vis-pill i{font-size:13px;line-height:1;}


/* Master Admin Full Screen Cyber Modal Patch - Exact Reference UI */
#adminSecretOverlay *{box-sizing:border-box;margin:0;padding:0}#adminSecretOverlay,#adminSecretOverlay{width:100%;min-height:100%}#adminSecretOverlay{font-family:Arial,Helvetica,sans-serif;min-height:100vh;background:#0b1420;color:#fff;overflow-x:hidden;position:relative}#adminSecretOverlay .virtual-cyber-stage{position:fixed;inset:0;overflow:hidden;z-index:0;background:linear-gradient(145deg,rgba(110, 110, 110, 1) 0%, rgba(92, 92, 92, 1) 35%, rgba(189, 189, 189, 1) 100%)}#adminSecretOverlay .virtual-cyber-stage:before{}#adminSecretOverlay .virtual-cyber-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.08) 0,transparent 32%,rgba(255,255,255,.12) 55%,transparent 74%),radial-gradient(ellipse at 50% 74%,rgba(0,0,0,.46) 0,transparent 38%),linear-gradient(0deg,rgba(4,8,13,.42),rgba(4,8,13,.08) 45%,rgba(255,255,255,.04));opacity:.95}#adminSecretOverlay #adminCyberPixels{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;opacity:.96}#adminSecretOverlay .virtual-bokeh{}#adminSecretOverlay .bokeh-1{}#adminSecretOverlay .bokeh-2{}#adminSecretOverlay .bokeh-3{}#adminSecretOverlay .bokeh-4{}#adminSecretOverlay .virtual-grid-hud{position:absolute;inset:0;z-index:2;opacity:.32;background:linear-gradient(90deg,transparent 0 96%,rgba(255,255,255,.18) 97%,transparent 100%),linear-gradient(0deg,transparent 0 96%,rgba(255,255,255,.16) 97%,transparent 100%);background-size:72px 72px;mask-image:radial-gradient(circle at 52% 48%,#000 0,transparent 75%);animation:gridFloat 9s linear infinite}#adminSecretOverlay .virtual-page{position:relative;z-index:3;min-height:100vh;padding:42px 22px 108px;display:flex;align-items:center;justify-content:center}#adminSecretOverlay .virtual-security-box{width:min(560px,50vw);height:370px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;background:rgba(250,251,251,.05);border:3px solid rgba(235,248,255,.22);backdrop-filter:blur(2px);box-shadow:0 24px 70px rgba(0,0,0,.22),inset 0 0 80px rgba(255,255,255,.04)}#adminSecretOverlay .virtual-security-box:before{content:"";position:absolute;inset:-16px;border:1px solid rgba(235,248,255,.12);box-shadow:inset 0 0 55px rgba(155,230,255,.10);pointer-events:none}#adminSecretOverlay .virtual-security-box:after{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.18);pointer-events:none;opacity:.65}#adminSecretOverlay .hud-corner{position:absolute;width:44px;height:44px;border-color:rgba(247,250,252,.88);filter:drop-shadow(0 0 6px rgba(210,244,255,.34));z-index:3}#adminSecretOverlay .hud-corner.tl{left:-6px;top:-6px;border-left:9px solid;border-top:9px solid}#adminSecretOverlay .hud-corner.tr{right:-6px;top:-6px;border-right:9px solid;border-top:9px solid}#adminSecretOverlay .hud-corner.bl{left:-6px;bottom:-6px;border-left:9px solid;border-bottom:9px solid}#adminSecretOverlay .hud-corner.br{right:-6px;bottom:-6px;border-right:9px solid;border-bottom:9px solid}#adminSecretOverlay .virtual-content{position:relative;z-index:4;margin-top:-28px;width:min(430px,86%)}#adminSecretOverlay .main-lock{width:84px;height:84px;margin:-10px auto 14px;opacity:.95;filter:drop-shadow(0 0 14px rgba(66,133,244,.34));position:relative;display:flex;align-items:center;justify-content:center;animation:lockFloatGlow 3.4s ease-in-out infinite}#adminSecretOverlay .main-lock:before{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px solid rgba(66,133,244,.78);box-shadow:0 0 20px rgba(66,133,244,.38),0 0 44px rgba(255,255,255,.14),inset 0 0 20px rgba(255,255,255,.16);animation:lockCircleFade 3s ease-in-out infinite}#adminSecretOverlay .main-lock:after{content:"";position:absolute;inset:-23px;border-radius:50%;border:1px solid rgba(255,255,255,.32);box-shadow:0 0 26px rgba(66,133,244,.20);animation:lockHaloBreath 3.4s ease-in-out infinite}#adminSecretOverlay .main-lock svg{width:100%;height:100%;display:block;position:relative;z-index:2;animation:lockIconShine 3.4s ease-in-out infinite}#adminSecretOverlay .virtual-title{font-size:22px;line-height:1.12;font-weight:300;letter-spacing:3.8px;text-transform:uppercase;color:rgba(255,255,255,.94);text-shadow:0 0 17px rgba(212,246,255,.30),0 2px 16px rgba(0,0,0,.30)}#adminSecretOverlay .virtual-title span{display:block;font-weight:300}#adminSecretOverlay .virtual-subtitle{margin-top:12px;font-size:12px;letter-spacing:4px;text-transform:uppercase;color:rgba(220,246,255,.64)}#adminSecretOverlay .virtual-code-field{width:100%;height:48px;margin:18px auto 0;border:1px solid rgba(255,255,255,.46);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.08));box-shadow:inset 0 1px 8px rgba(255,255,255,.10),0 10px 26px rgba(0,0,0,.16);display:flex;align-items:center;overflow:hidden;padding:0 6px 0 22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#adminSecretOverlay .virtual-code-field input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:rgba(255,255,255,.92);font-size:15px;font-weight:400;letter-spacing:4px;text-transform:uppercase}#adminSecretOverlay .virtual-code-field input::placeholder{color:rgba(255,255,255,.72);opacity:1}#adminSecretOverlay .virtual-code-field button{width:72px;height:36px;border:0;border-radius:18px;background:rgba(5,5,7,.82);color:#fff;font-size:21px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 7px 16px rgba(0,0,0,.24);transition:transform .22s ease,box-shadow .22s ease,background .22s ease}#adminSecretOverlay .virtual-code-field button:hover{transform:scale(1.04);background:#00843d;box-shadow:0 10px 26px rgba(0,132,61,.42)}#adminSecretOverlay .binary-code{position:absolute;font-family:Consolas,monospace;font-size:9px;line-height:1.18;letter-spacing:3px;color:rgba(235,251,255,.33);z-index:2;text-align:left}#adminSecretOverlay .code-left{left:60px;top:86px}#adminSecretOverlay .code-right{right:54px;top:104px}#adminSecretOverlay .code-mid{right:126px;bottom:64px;color:rgba(255,255,255,.23)}#adminSecretOverlay .binary-large{font-size:18px;font-weight:700;line-height:1.36;letter-spacing:5px;color:rgba(255,255,255,.18);text-shadow:0 0 9px rgba(255,255,255,.18),0 0 22px rgba(66,133,244,.09);animation:binaryLargePulse 5.2s ease-in-out infinite;pointer-events:none;user-select:none}#adminSecretOverlay .binary-left{left:22px;top:42px}#adminSecretOverlay .binary-right{right:20px;top:50px;text-align:right}#adminSecretOverlay .binary-center{right:70px;bottom:28px;text-align:right;color:rgba(255,255,255,.14);animation-delay:1.1s}#adminSecretOverlay .binary-left,#adminSecretOverlay .binary-right{z-index:1}#adminSecretOverlay .hud-label{position:absolute;z-index:2;color:rgba(255,255,255,.38);font-size:13px;letter-spacing:1.8px;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.18)}#adminSecretOverlay .studio-one{left:16%;top:9%;transform:rotate(-39deg);opacity: 0}#adminSecretOverlay .studio-two{right:19%;bottom:18%;transform:rotate(-33deg);opacity: 0}#adminSecretOverlay .virtual-icons{position:absolute;left:50%;bottom:86px;transform:translateX(-50%);width:min(780px,92vw);display:flex;align-items:center;justify-content:space-between;gap:18px;z-index:5;pointer-events:none}#adminSecretOverlay .v-security-icon{width:112px;height:112px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(255,255,255,.22) 0,rgba(65,54,6,.22) 54%,rgba(5,16,22,.40) 100%);box-shadow:0 0 0 2px rgba(66,133,244,.42),0 0 0 9px rgba(66,133,244,.11),0 0 32px rgba(66,133,244,.32);backdrop-filter:blur(3px);opacity:.93;animation:iconYellowWhiteGlow 3.2s ease-in-out infinite}#adminSecretOverlay .v-security-icon:before{content:"";position:absolute;inset:6px;border-radius:50%;border:2px solid rgba(66,133,244,.72);border-left-color:rgba(255,255,255,.28);border-right-color:rgba(255,255,255,.28);animation:ringTurn 6s linear infinite,iconRingYellowWhite 3.2s ease-in-out infinite}#adminSecretOverlay .v-security-icon:after{content:"";position:absolute;inset:15px;border-radius:50%;border:1px dashed rgba(255,255,255,.68);animation:ringTurn 12s linear infinite reverse,iconDashYellowWhite 3.2s ease-in-out infinite}#adminSecretOverlay .v-security-icon svg{width:46px;height:46px;position:relative;z-index:2;fill:none;stroke:#fff;stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 9px rgba(66,133,244,.55));animation:iconSymbolYellowWhite 3.2s ease-in-out infinite}#adminSecretOverlay .v-security-icon i{font-size:43px;position:relative;z-index:2;color:#ffffff;text-shadow:0 0 9px rgba(66,133,244,.62),0 4px 12px rgba(0,0,0,.22);animation:iconTextYellowWhite 3.2s ease-in-out infinite}#adminSecretOverlay .v-security-icon:nth-child(1) svg{stroke:#ffffff}#adminSecretOverlay .v-security-icon:nth-child(2){margin-top:-28px;animation-delay:.12s}#adminSecretOverlay .v-security-icon:nth-child(3){margin-top:-44px;animation-delay:.24s}#adminSecretOverlay .v-security-icon:nth-child(4){margin-top:-30px;animation-delay:.36s}#adminSecretOverlay .v-security-icon:nth-child(5){margin-top:-18px;animation-delay:.48s}#adminSecretOverlay .v-security-icon:nth-child(2):before,#adminSecretOverlay .v-security-icon:nth-child(2):after,#adminSecretOverlay .v-security-icon:nth-child(2) i{animation-delay:.12s}#adminSecretOverlay .v-security-icon:nth-child(3):before,#adminSecretOverlay .v-security-icon:nth-child(3):after,#adminSecretOverlay .v-security-icon:nth-child(3) i{animation-delay:.24s}#adminSecretOverlay .v-security-icon:nth-child(4):before,#adminSecretOverlay .v-security-icon:nth-child(4):after,#adminSecretOverlay .v-security-icon:nth-child(4) i{animation-delay:.36s}#adminSecretOverlay .v-security-icon:nth-child(5):before,#adminSecretOverlay .v-security-icon:nth-child(5):after,#adminSecretOverlay .v-security-icon:nth-child(5) i{animation-delay:.48s}#adminSecretOverlay .site-footer{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:10;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;white-space:nowrap}#adminSecretOverlay .site-footer-text{font-size:13px;color:#fff;font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.45)}#adminSecretOverlay .site-footer-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transform-origin:center;animation:heartbeat 1.6s ease-in-out infinite}#adminSecretOverlay .site-footer-link img{display:block;width:50px;height:auto;margin-top:-20px;filter:drop-shadow(0 9px 15px rgba(0,0,0,.3))}#adminSecretOverlay .virtual-action-tooltip{position:absolute;z-index:999999;max-width:210px;padding:8px 12px;border-radius:8px;background:#fff;color:#111;border:1px solid rgba(227,0,15,.55);box-shadow:0 6px 20px rgba(227,0,15,.32);font-size:12px;font-weight:400;line-height:1.25;text-align:center;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;white-space:normal}#adminSecretOverlay .virtual-action-tooltip:after{content:'';position:absolute;left:50%;bottom:-7px;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#fff;border-right:1px solid rgba(227,0,15,.55);border-bottom:1px solid rgba(227,0,15,.55)}#adminSecretOverlay .virtual-action-tooltip.is-visible{opacity:1;visibility:visible}#adminSecretOverlay .virtual-action-tooltip.virtual-logo-tooltip{max-width:260px;padding:12px 10px;background:#00843d;color:#fff;border-color:rgba(0,132,61,.95);box-shadow:0 6px 24px rgba(0,132,61,.38);font-size:13px;line-height:1.35}#adminSecretOverlay .virtual-action-tooltip.virtual-logo-tooltip:after{background:#00843d;border-right-color:rgba(0,132,61,.95);border-bottom-color:rgba(0,132,61,.95)}@keyframes virtualDrift{to{transform:translate3d(22px,-16px,0) scale(1.08)}}@keyframes gridFloat{to{background-position:72px 72px}}@keyframes ringTurn{to{transform:rotate(360deg)}}@keyframes lockFloatGlow{0%,100%{transform:translateY(0) scale(1);filter:drop-shadow(0 0 14px rgba(66,133,244,.30))}45%{transform:translateY(-5px) scale(1.025);filter:drop-shadow(0 0 24px rgba(66,133,244,.58))}70%{transform:translateY(-2px) scale(1.01);filter:drop-shadow(0 0 18px rgba(255,255,255,.42))}}@keyframes lockIconShine{0%,100%{opacity:.88;filter:drop-shadow(0 0 7px rgba(255,255,255,.36))}46%{opacity:1;filter:drop-shadow(0 0 16px rgba(66,133,244,.78))}72%{opacity:.96;filter:drop-shadow(0 0 13px rgba(255,255,255,.58))}}@keyframes lockHaloBreath{0%,100%{opacity:.14;transform:scale(.86)}35%{opacity:.82;transform:scale(1.02)}64%{opacity:.34;transform:scale(1.12)}}@keyframes lockCircleFade{0%,100%{opacity:.16;transform:scale(.92)}22%,66%{opacity:1;transform:scale(1)}44%{opacity:.88;transform:scale(1.05)}}@keyframes iconYellowWhiteGlow{0%,100%{box-shadow:0 0 0 2px rgba(66,133,244,.42),0 0 0 9px rgba(66,133,244,.11),0 0 32px rgba(66,133,244,.32)}48%{box-shadow:0 0 0 2px rgba(255,255,255,.60),0 0 0 9px rgba(255,255,255,.13),0 0 38px rgba(255,255,255,.38)}74%{box-shadow:0 0 0 2px rgba(66,133,244,.72),0 0 0 10px rgba(66,133,244,.15),0 0 46px rgba(66,133,244,.48)}}@keyframes iconRingYellowWhite{0%,100%{border-top-color:rgba(66,133,244,.74);border-bottom-color:rgba(66,133,244,.74)}48%{border-top-color:rgba(255,255,255,.78);border-bottom-color:rgba(255,255,255,.78)}74%{border-top-color:rgba(66,133,244,.92);border-bottom-color:rgba(66,133,244,.92)}}@keyframes iconDashYellowWhite{0%,100%{border-color:rgba(66,133,244,.62)}48%{border-color:rgba(255,255,255,.72)}74%{border-color:rgba(66,133,244,.88)}}@keyframes iconSymbolYellowWhite{0%,100%{filter:drop-shadow(0 0 9px rgba(66,133,244,.55))}48%{filter:drop-shadow(0 0 12px rgba(255,255,255,.66))}74%{filter:drop-shadow(0 0 17px rgba(66,133,244,.82))}}@keyframes iconTextYellowWhite{0%,100%{text-shadow:0 0 9px rgba(66,133,244,.62),0 4px 12px rgba(0,0,0,.22)}48%{text-shadow:0 0 12px rgba(255,255,255,.72),0 4px 12px rgba(0,0,0,.22)}74%{text-shadow:0 0 18px rgba(66,133,244,.92),0 4px 12px rgba(0,0,0,.22)}}@keyframes binaryLargePulse{0%,100%{opacity:.10;transform:scale(1)}30%{opacity:.24;transform:scale(1.035)}58%{opacity:.16;transform:scale(1.01)}78%{opacity:.30;transform:scale(1.055)}}@keyframes heartbeat{0%,70%,100%{transform:scale(1)}14%{transform:scale(1.12)}28%{transform:scale(1)}42%{transform:scale(1.14)}}
    @media(max-width:760px){#adminSecretOverlay .virtual-page{padding:28px 12px 128px}#adminSecretOverlay .virtual-security-box{height:370px;width:92vw}#adminSecretOverlay .virtual-title{font-size:28px;letter-spacing:2px}#adminSecretOverlay .virtual-code-field{height:44px;padding-left:16px}#adminSecretOverlay .virtual-code-field input{font-size:13px;letter-spacing:3px}#adminSecretOverlay .virtual-code-field button{width:64px;height:34px;font-size:19px}#adminSecretOverlay .virtual-icons{bottom:54px;gap:10px;flex-wrap:wrap;justify-content:center}#adminSecretOverlay .v-security-icon{width:82px;height:82px}#adminSecretOverlay .v-security-icon svg{width:34px;height:34px}#adminSecretOverlay .v-security-icon i{font-size:32px}#adminSecretOverlay .v-security-icon:nth-child(n){margin-top:0}#adminSecretOverlay .binary-code,#adminSecretOverlay .hud-label{display:none}#adminSecretOverlay .site-footer{flex-wrap:wrap;width:max-content;max-width:calc(100% - 24px);white-space:normal}#adminSecretOverlay .site-footer-link img{width:96px;margin-top:-8px}}
    @media(max-width:420px){#adminSecretOverlay .virtual-security-box{height:390px}#adminSecretOverlay .virtual-title{font-size:24px}#adminSecretOverlay .main-lock{width:66px;height:66px}#adminSecretOverlay .virtual-code-field input{font-size:12px;letter-spacing:2px}#adminSecretOverlay .virtual-code-field button{width:56px}#adminSecretOverlay .v-security-icon{width:68px;height:68px}#adminSecretOverlay .v-security-icon svg{width:28px;height:28px}#adminSecretOverlay .v-security-icon i{font-size:27px}}
  
#adminSecretOverlay .virtual-code-field.is-admin-code-wrong{animation:adminWrongCyanGlow 1.05s linear 1;border-color:rgba(0,214,255,.95)!important;box-shadow:0 0 0 2px rgba(0,214,255,.36),0 0 28px rgba(0,214,255,.72),inset 0 0 18px rgba(0,214,255,.18)!important;}
#adminSecretOverlay .virtual-code-field.is-admin-locked{opacity:.45;filter:grayscale(.45);pointer-events:none;}
#adminSecretOverlay #adminSecretInput.is-admin-locked,#adminSecretOverlay #adminSecretProceed.is-admin-locked{cursor:not-allowed!important;}
#adminSecretOverlay .admin-secret-error{margin:12px auto 0!important;max-width:430px!important;color:#fff!important;background:rgba(0,214,255,.12)!important;border:1px solid rgba(0,214,255,.72)!important;border-radius:14px!important;padding:10px 15px!important;font-size:12px!important;font-weight:800!important;letter-spacing:.5px!important;box-shadow:0 0 26px rgba(0,214,255,.28)!important;text-transform:uppercase;}
@keyframes adminWrongCyanGlow{0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.46),0 10px 26px rgba(0,0,0,.16)}18%{box-shadow:0 0 0 2px rgba(0,214,255,.92),0 0 34px rgba(0,214,255,.84),inset 0 0 20px rgba(0,214,255,.22)}42%{box-shadow:0 0 0 2px rgba(255,255,255,.92),0 0 28px rgba(255,255,255,.58),inset 0 0 20px rgba(255,255,255,.18)}68%{box-shadow:0 0 0 2px rgba(0,214,255,.92),0 0 38px rgba(0,214,255,.90),inset 0 0 20px rgba(0,214,255,.24)}}



/* PATCH: Master Admin exact UI refinements */
body.admin-secret-no-scroll{overflow:hidden!important;height:100vh!important;}
#adminSecretOverlay.admin-secret-overlay--cyber{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;min-height:100vh!important;overflow:hidden!important;z-index:999999!important;}
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-cyber-stage,
#adminSecretOverlay.admin-secret-overlay--cyber #adminCyberPixels{width:100vw!important;height:100vh!important;height:100dvh!important;overflow:hidden!important;}
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-page{min-height:100vh!important;min-height:100dvh!important;height:100vh!important;height:100dvh!important;overflow:hidden!important;}
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.46)!important;box-shadow:inset 0 1px 8px rgba(255,255,255,.10),0 10px 26px rgba(0,0,0,.16)!important;}
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input,
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input:focus,
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input:active,
#adminSecretOverlay.admin-secret-overlay--cyber .admin-secret-input,
#adminSecretOverlay.admin-secret-overlay--cyber .admin-secret-input:focus{background:transparent!important;background-color:transparent!important;outline:none!important;border:0!important;box-shadow:none!important;}
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input:-webkit-autofill,
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input:-webkit-autofill:hover,
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input:-webkit-autofill:focus{-webkit-text-fill-color:rgba(255,255,255,.92)!important;transition:background-color 999999s ease-in-out 0s!important;box-shadow:0 0 0 1000px transparent inset!important;}
#adminSecretOverlay.admin-secret-overlay--cyber .code-left,
#adminSecretOverlay.admin-secret-overlay--cyber .code-right,
#adminSecretOverlay.admin-secret-overlay--cyber .code-mid{font-size:18px!important;line-height:1.26!important;font-weight:700!important;letter-spacing:5px!important;}
#adminSecretOverlay .virtual-code-field.is-admin-code-wrong,
#adminSecretOverlay.is-admin-code-error .virtual-code-field{animation:adminWrongRedGlow 1.05s linear 1!important;border-color:rgba(227,35,55,.98)!important;box-shadow:0 0 0 2px rgba(227,35,55,.42),0 0 30px rgba(227,35,55,.78),inset 0 0 20px rgba(227,35,55,.22)!important;}
#adminSecretOverlay.is-admin-code-error .virtual-code-field button{border:1px solid rgba(227,35,55,.96)!important;box-shadow:0 0 0 2px rgba(227,35,55,.22),0 0 24px rgba(227,35,55,.46)!important;}
#adminSecretOverlay.is-admin-code-error .admin-secret-error{color:#fff!important;background:rgba(227,35,55,.18)!important;border-color:rgba(227,35,55,.95)!important;box-shadow:0 0 0 1px rgba(227,35,55,.35),0 0 28px rgba(227,35,55,.48)!important;}
@keyframes adminWrongRedGlow{0%,100%{box-shadow:0 0 0 1px rgba(227,35,55,.65),0 10px 26px rgba(0,0,0,.16)}18%{box-shadow:0 0 0 2px rgba(227,35,55,.96),0 0 34px rgba(227,35,55,.84),inset 0 0 20px rgba(227,35,55,.24)}42%{box-shadow:0 0 0 2px rgba(255,255,255,.70),0 0 26px rgba(227,35,55,.48),inset 0 0 18px rgba(227,35,55,.18)}68%{box-shadow:0 0 0 2px rgba(227,35,55,.98),0 0 38px rgba(227,35,55,.90),inset 0 0 20px rgba(227,35,55,.26)}}


/* Master admin requested UI refinements only */
#adminSecretOverlay.admin-secret-overlay--cyber,
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-cyber-stage,
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-page{
  overflow:hidden!important;
}
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field{
  background:rgba(255,255,255,.035)!important;
  background-color:rgba(255,255,255,.035)!important;
  background-image:none!important;
}
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input,
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input:hover,
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input:focus,
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input:active,
#adminSecretOverlay.admin-secret-overlay--cyber .admin-secret-input,
#adminSecretOverlay.admin-secret-overlay--cyber .admin-secret-input:hover,
#adminSecretOverlay.admin-secret-overlay--cyber .admin-secret-input:focus,
#adminSecretOverlay.admin-secret-overlay--cyber .admin-secret-input:active{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  outline:0!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-box-shadow:none!important;
  color:rgba(255,255,255,.96)!important;
  caret-color:#fff!important;
  color-scheme:dark!important;
}
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input:-webkit-autofill,
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input:-webkit-autofill:hover,
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input:-webkit-autofill:focus,
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-code-field input:-webkit-autofill:active{
  -webkit-text-fill-color:rgba(255,255,255,.96)!important;
  caret-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px rgba(255,255,255,.035) inset!important;
  box-shadow:0 0 0 1000px rgba(255,255,255,.035) inset!important;
  transition:background-color 999999s ease-in-out 0s!important;
}
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons{
  width:auto!important;
  min-width:0!important;
  max-width:calc(100vw - 120px)!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  justify-content:center!important;
  gap:28px!important;
  overflow:visible!important;
  padding:0 24px!important;
}
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons .v-security-icon{
  flex:0 0 112px!important;
}
#adminSecretOverlay.admin-secret-overlay--cyber .code-left,
#adminSecretOverlay.admin-secret-overlay--cyber .code-right,
#adminSecretOverlay.admin-secret-overlay--cyber .code-mid{
  font-size:18px!important;
  line-height:1.26!important;
  font-weight:700!important;
  letter-spacing:5px!important;
}
#adminSecretOverlay.is-admin-code-error .main-lock,
#adminSecretOverlay.is-admin-locked .main-lock{
  filter:drop-shadow(0 0 18px rgba(227,35,55,.72))!important;
}
#adminSecretOverlay.is-admin-code-error .main-lock:before,
#adminSecretOverlay.is-admin-locked .main-lock:before{
  border-color:rgba(227,35,55,.92)!important;
  box-shadow:0 0 20px rgba(227,35,55,.55),0 0 44px rgba(227,35,55,.28),inset 0 0 20px rgba(227,35,55,.20)!important;
}
#adminSecretOverlay.is-admin-code-error .main-lock:after,
#adminSecretOverlay.is-admin-locked .main-lock:after{
  border-color:rgba(227,35,55,.55)!important;
  box-shadow:0 0 28px rgba(227,35,55,.40)!important;
}
#adminSecretOverlay.is-admin-code-error .virtual-code-field,
#adminSecretOverlay.is-admin-locked .virtual-code-field{
  border-color:rgba(227,35,55,.98)!important;
  box-shadow:0 0 0 2px rgba(227,35,55,.42),0 0 30px rgba(227,35,55,.78),inset 0 0 20px rgba(227,35,55,.22)!important;
}
#adminSecretOverlay.is-admin-code-error .virtual-code-field button,
#adminSecretOverlay.is-admin-locked .virtual-code-field button{
  border:1px solid rgba(227,35,55,.96)!important;
  box-shadow:0 0 0 2px rgba(227,35,55,.22),0 0 24px rgba(227,35,55,.46)!important;
}
#adminSecretOverlay.is-admin-code-error .admin-secret-error,
#adminSecretOverlay.is-admin-locked .admin-secret-error{
  color:#fff!important;
  background:rgba(227,35,55,.18)!important;
  border-color:rgba(227,35,55,.95)!important;
  box-shadow:0 0 0 1px rgba(227,35,55,.35),0 0 28px rgba(227,35,55,.48)!important;
}
#adminSecretOverlay.is-admin-code-error .v-security-icon,
#adminSecretOverlay.is-admin-locked .v-security-icon{
  background:radial-gradient(circle,rgba(255,255,255,.22) 0,rgba(92,12,20,.32) 54%,rgba(22,5,8,.46) 100%)!important;
  box-shadow:0 0 0 2px rgba(227,35,55,.72),0 0 0 9px rgba(227,35,55,.17),0 0 38px rgba(227,35,55,.55)!important;
}
#adminSecretOverlay.is-admin-code-error .v-security-icon:before,
#adminSecretOverlay.is-admin-locked .v-security-icon:before{
  border-color:rgba(227,35,55,.86)!important;
  border-left-color:rgba(255,255,255,.26)!important;
  border-right-color:rgba(255,255,255,.26)!important;
}
#adminSecretOverlay.is-admin-code-error .v-security-icon:after,
#adminSecretOverlay.is-admin-locked .v-security-icon:after{
  border-color:rgba(227,35,55,.72)!important;
}
#adminSecretOverlay.is-admin-code-error .v-security-icon svg,
#adminSecretOverlay.is-admin-locked .v-security-icon svg{
  filter:drop-shadow(0 0 13px rgba(227,35,55,.76))!important;
}
#adminSecretOverlay.is-admin-code-error .v-security-icon i,
#adminSecretOverlay.is-admin-locked .v-security-icon i{
  text-shadow:0 0 14px rgba(227,35,55,.86),0 4px 12px rgba(0,0,0,.24)!important;
}
@media(max-width:760px){
  #adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons{max-width:calc(100vw - 24px)!important;gap:10px!important;padding:0 12px!important;}
  #adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons .v-security-icon{flex:0 0 82px!important;}
}
@media(max-width:420px){
  #adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons .v-security-icon{flex:0 0 68px!important;}
}

/* Master admin icon row crop fix only */
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons{
  width:760px!important;
  max-width:calc(100vw - 40px)!important;
  min-width:0!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  justify-content:center!important;
  gap:24px!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  z-index:8!important;
}
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons .v-security-icon{
  flex:0 0 112px!important;
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  overflow:visible!important;
}
@media(max-width:760px){
  #adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons{width:500px!important;max-width:calc(100vw - 20px)!important;gap:12px!important;}
  #adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons .v-security-icon{flex:0 0 82px!important;width:82px!important;min-width:82px!important;max-width:82px!important;}
}
@media(max-width:420px){
  #adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons{width:370px!important;gap:6px!important;}
  #adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons .v-security-icon{flex:0 0 68px!important;width:68px!important;min-width:68px!important;max-width:68px!important;}
}

/* Master admin icon visible fit fix only */
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons{
  width:540px!important;
  max-width:540px!important;
  min-width:540px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  justify-content:center!important;
  gap:20px!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  z-index:999999!important;
}
#adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons .v-security-icon{
  flex:0 0 96px!important;
  width:96px!important;
  height:96px!important;
  min-width:96px!important;
  max-width:96px!important;
  min-height:96px!important;
  max-height:96px!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow:visible!important;
}
@media(max-width:760px){
  #adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons{width:440px!important;max-width:440px!important;min-width:440px!important;gap:8px!important;}
  #adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons .v-security-icon{flex:0 0 80px!important;width:80px!important;height:80px!important;min-width:80px!important;max-width:80px!important;min-height:80px!important;max-height:80px!important;}
}
@media(max-width:480px){
  #adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons{width:350px!important;max-width:350px!important;min-width:350px!important;gap:5px!important;}
  #adminSecretOverlay.admin-secret-overlay--cyber .virtual-icons .v-security-icon{flex:0 0 66px!important;width:66px!important;height:66px!important;min-width:66px!important;max-width:66px!important;min-height:66px!important;max-height:66px!important;}
}

/* Page load secure save modal design update only */
.designer-modal--welcome-vb{padding:24px;background:rgba(0,0,0,.16);backdrop-filter:blur(.8px);align-items:center;justify-content:center}
.designer-modal--welcome-vb .designer-modal__backdrop{background:transparent}
.designer-modal--welcome-vb .vb-save-modal{width:780px;max-width:100%;position:relative;overflow:visible;background:#fff;border-radius:0;box-shadow:0 42px 130px rgba(0,0,0,.74),0 0 0 1px rgba(255,255,255,.2);animation:vbPop .45s cubic-bezier(.18,.9,.22,1.15);padding:0;color:#161616}
.designer-modal--welcome-vb .vb-save-modal:before{content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(237,28,36,.85),rgba(255,255,255,.24));z-index:-1}
.designer-modal--welcome-vb .vb-save-modal:after{content:"";position:absolute;inset:-10px;border:1px solid rgba(237,28,36,.28);opacity:.75;pointer-events:none;animation:softBorderPulse 2.4s ease-in-out infinite}
.designer-modal--welcome-vb .vb-glow{display:none;position:absolute;right:-120px;bottom:-180px;width:380px;height:380px;background:radial-gradient(circle,rgba(237,28,36,.35),transparent 67%);pointer-events:none}
.designer-modal--welcome-vb .vb-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border:1px solid rgba(0,0,0,.14);background:#fff;color:#222;font-size:18px;line-height:42px;cursor:pointer;transition:.25s;z-index:20;display:grid;place-items:center;border-radius:0;padding:0}
.designer-modal--welcome-vb .vb-close i{transition:transform .22s ease}
.designer-modal--welcome-vb .vb-close:hover{background:#ed1c24;color:#fff;border-color:#ed1c24}
.designer-modal--welcome-vb .vb-close:hover i{transform:scale(1.5)}
.designer-modal--welcome-vb .vb-layout{display:grid;grid-template-columns:300px 1fr;min-height:470px;overflow:hidden}
.designer-modal--welcome-vb .vb-visual{position:relative;padding:26px;color:#fff;background:radial-gradient(circle at 24% 20%,rgba(255,255,255,.2),transparent 28%),linear-gradient(145deg,#1a0002,#a40008 46%,#080808);overflow:hidden}
.designer-modal--welcome-vb .vb-visual:before{content:"";position:absolute;inset:-20%;background:conic-gradient(from 90deg,transparent,rgba(255,255,255,.18),transparent 30%);animation:spin 7s linear infinite;opacity:.55}
.designer-modal--welcome-vb .vb-visual:after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.16);pointer-events:none}
.designer-modal--welcome-vb .vb-hero-box{position:relative;z-index:2;margin:98px auto 0;text-align:center;padding:30px 20px 26px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);box-shadow:0 24px 48px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.22)}
.designer-modal--welcome-vb .vb-hero-box:before,.designer-modal--welcome-vb .vb-hero-box:after{content:"";position:absolute;inset:-8px;border:1px solid rgba(255,255,255,.15);animation:boxFade 2.6s ease-in-out infinite;pointer-events:none}
.designer-modal--welcome-vb .vb-hero-box:after{inset:-16px;animation-delay:.55s;opacity:.35}
.designer-modal--welcome-vb .vb-big-icon{width:118px;height:118px;margin:0 auto 18px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 18px 38px rgba(0,0,0,.28)}
.designer-modal--welcome-vb .vb-big-icon i{font-size:54px;text-shadow:0 0 26px rgba(255,255,255,.48)}
.designer-modal--welcome-vb .vb-save-tag strong{display:block;font-size:28px;font-weight:950;text-transform:uppercase;letter-spacing:.02em;line-height:1.05}
.designer-modal--welcome-vb .vb-save-tag small{display:block;margin-top:10px;color:rgba(255,255,255,.76);line-height:1.5}
.designer-modal--welcome-vb .vb-safe-line{display:block;margin-top:8px;font-size:28px;font-weight:950;color:#fff;text-transform:uppercase;letter-spacing:.02em;line-height:1.05}
.designer-modal--welcome-vb .vb-orbit{position:absolute;width:230px;height:230px;border:1px dashed rgba(255,255,255,.2);left:50%;top:51%;transform:translate(-50%,-43%);z-index:1;animation:spin 14s linear infinite}
.designer-modal--welcome-vb .vb-content{position:relative;padding:52px 46px 40px;background:linear-gradient(180deg,#fff,#fbfbfb)}
.designer-modal--welcome-vb .vb-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff1f1;color:#b80008;border:1px solid #ffd7d7;padding:8px 13px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:15px}
.designer-modal--welcome-vb .vb-content h2{font-size:34px;line-height:1.05;font-weight:950;letter-spacing:-1px;color:#111;margin:0 0 12px;text-align:left}
.designer-modal--welcome-vb .vb-subtitle{color:#666;font-size:15px;line-height:1.7;max-width:none;margin:0 0 22px;text-align:left}
.designer-modal--welcome-vb .vb-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}
.designer-modal--welcome-vb .vb-feature{position:relative;background:#fff;border:1px solid #e8e8e8;padding:15px 14px 14px 45px;text-align:left;box-shadow:0 10px 22px rgba(0,0,0,.04);font-size:13px;font-weight:850;color:#2a2a2a;transition:.25s}
.designer-modal--welcome-vb .vb-feature:hover{transform:translateY(-3px);border-color:#ffc6c6;box-shadow:0 14px 30px rgba(237,28,36,.1)}
.designer-modal--welcome-vb .vb-feature i{position:absolute;left:15px;top:14px;width:22px;height:22px;background:#fff0f0;color:#ed1c24;display:grid;place-items:center;font-size:12px}
.designer-modal--welcome-vb .vb-warning-box{display:flex;gap:13px;align-items:flex-start;text-align:left;background:linear-gradient(135deg,#101010,#2a0607);color:#fff;padding:17px 18px;font-size:14px;line-height:1.55;margin:20px 0 24px;box-shadow:0 16px 38px rgba(0,0,0,.18)}
.designer-modal--welcome-vb .vb-warning-box i{color:#ff5057;margin-top:3px;font-size:18px}
.designer-modal--welcome-vb .vb-warning-box span{color:rgba(255,255,255,.82)}
.designer-modal--welcome-vb .vb-actions{display:flex;gap:14px;align-items:center}
.designer-modal--welcome-vb .vb-btn{height:56px;font-weight:950;text-transform:uppercase;cursor:pointer;transition:.25s ease;font-size:14px;letter-spacing:.25px;position:relative;overflow:visible;background:#fff;border-radius:0;text-align:center;padding:0 16px}
.designer-modal--welcome-vb .vb-btn:before,.designer-modal--welcome-vb .vb-btn:after{content:"";position:absolute;inset:-4px;border:1px solid currentColor;opacity:0;pointer-events:none}
.designer-modal--welcome-vb .vb-btn:after{inset:-9px}
.designer-modal--welcome-vb .vb-btn:hover:before{animation:borderFade 1.25s ease-out infinite}
.designer-modal--welcome-vb .vb-btn:hover:after{animation:borderFade 1.25s ease-out .28s infinite}
.designer-modal--welcome-vb .vb-outline,.designer-modal--welcome-vb .vb-primary{flex:1;min-width:0;color:#c60008;border:2px solid #ef2028;background:#fff;box-shadow:0 16px 34px rgba(237,28,36,.08)}
.designer-modal--welcome-vb .vb-primary{box-shadow:0 16px 34px rgba(237,28,36,.18)}
.designer-modal--welcome-vb .vb-primary span,.designer-modal--welcome-vb .vb-outline span{position:relative;z-index:2}
.designer-modal--welcome-vb .vb-btn .shine{position:absolute;inset:0;background:linear-gradient(135deg,#ff2a31,#b90007);transform:scaleX(0);transform-origin:left;transition:transform .46s cubic-bezier(.22,1,.36,1);z-index:1}
.designer-modal--welcome-vb .vb-primary:hover .shine{transform:scaleX(1)}
.designer-modal--welcome-vb .vb-outline:hover{color:#c60008;transform:translateY(-3px);box-shadow:0 16px 34px rgba(237,28,36,.18)}
.designer-modal--welcome-vb .vb-primary:hover{color:#fff;transform:translateY(-3px);box-shadow:0 16px 34px rgba(237,28,36,.35)}
@keyframes vbPop{from{opacity:0;transform:scale(.9) translateY(28px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes borderFade{0%{opacity:.75;transform:scale(1)}100%{opacity:0;transform:scale(1.09)}}
@keyframes boxFade{0%,100%{opacity:.18;transform:scale(1)}50%{opacity:.55;transform:scale(1.025)}}
@keyframes softBorderPulse{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.8;transform:scale(1.012)}}
@media(max-width:760px){.designer-modal--welcome-vb{padding:18px;overflow:auto}.designer-modal--welcome-vb .vb-layout{grid-template-columns:1fr}.designer-modal--welcome-vb .vb-visual{padding:28px 22px}.designer-modal--welcome-vb .vb-hero-box{margin:34px auto 0}.designer-modal--welcome-vb .vb-big-icon{width:78px;height:78px}.designer-modal--welcome-vb .vb-big-icon i{font-size:34px}.designer-modal--welcome-vb .vb-content{padding:34px 24px 28px}.designer-modal--welcome-vb .vb-content h2{font-size:28px}.designer-modal--welcome-vb .vb-feature-grid{grid-template-columns:1fr}.designer-modal--welcome-vb .vb-actions{flex-direction:column}.designer-modal--welcome-vb .vb-btn{width:100%;min-width:0}.designer-modal--welcome-vb .vb-close{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.25)}}

/* ===== LOGIN MODAL NEXT LEVEL DESIGN PATCH (BACKGROUND SKIPPED) ===== */
.designer-modal--login-next{background:rgba(0,0,0,.34) !important;backdrop-filter:blur(3px);padding:24px !important;}
.designer-modal--login-next .designer-modal__dialog--login-next{width:760px !important;max-width:100% !important;position:relative;background:#fff !important;border:0 !important;border-radius:0 !important;box-shadow:0 42px 130px rgba(0,0,0,.68),0 0 0 1px rgba(255,255,255,.2) !important;animation:loginModalPop .45s cubic-bezier(.18,.9,.22,1.15) !important;overflow:visible !important;max-height:calc(100vh - 48px);}
.designer-modal--login-next .designer-modal__dialog--login-next:before{content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(237,28,36,.85),rgba(255,255,255,.24));z-index:-1;}
.designer-modal--login-next .designer-modal__dialog--login-next:after{content:"";position:absolute;inset:-10px;border:1px solid rgba(237,28,36,.26);opacity:.72;pointer-events:none;animation:loginSoftBorderPulse 2.4s ease-in-out infinite;}
.designer-modal--login-next .login-layout{display:grid;grid-template-columns:295px 1fr;min-height:510px;overflow:hidden;}
.designer-modal--login-next .login-visual{position:relative;padding:34px 26px;color:#fff;background:radial-gradient(circle at 24% 20%,rgba(255,255,255,.22),transparent 28%),linear-gradient(145deg,#1a0002,#a40008 46%,#080808);overflow:hidden;}
.designer-modal--login-next .login-visual:before{content:"";position:absolute;inset:-20%;background:conic-gradient(from 90deg,transparent,rgba(255,255,255,.18),transparent 30%);animation:loginSpin 7s linear infinite;opacity:.52;}
.designer-modal--login-next .login-visual:after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.16);pointer-events:none;}
.designer-modal--login-next .visual-frame{position:relative;z-index:2;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px 20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.20);box-shadow:0 24px 48px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.22);}
.designer-modal--login-next .visual-frame:before,.designer-modal--login-next .visual-frame:after{content:"";position:absolute;inset:-8px;border:1px solid rgba(255,255,255,.15);animation:loginBoxFade 2.6s ease-in-out infinite;pointer-events:none;}
.designer-modal--login-next .visual-frame:after{inset:-16px;animation-delay:.55s;opacity:.35;}
.designer-modal--login-next .login-shield{width:118px;height:118px;margin:16px auto 20px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 18px 38px rgba(0,0,0,.28);}
.designer-modal--login-next .login-shield i{font-size:54px;text-shadow:0 0 26px rgba(255,255,255,.48);}
.designer-modal--login-next .visual-title,.designer-modal--login-next .visual-subtitle{display:block;font-size:28px;font-weight:950;text-transform:uppercase;line-height:1.05;color:#fff;}
.designer-modal--login-next .visual-subtitle{margin-top:8px;}
.designer-modal--login-next .visual-text{display:block;margin-top:12px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.55;text-transform:none;}
.designer-modal--login-next .login-orbit{position:absolute;width:230px;height:230px;border:1px dashed rgba(255,255,255,.20);left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;animation:loginOrbitSpin 14s linear infinite;}
.designer-modal--login-next .login-content{position:relative;padding:52px 46px 40px;background:linear-gradient(180deg,#fff,#fbfbfb);}
.designer-modal--login-next .login-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border:1px solid rgba(0,0,0,.14);background:#fff;color:#222;font-size:18px;line-height:1;cursor:pointer;transition:.25s;z-index:20;display:grid;place-items:center;border-radius:0;}
.designer-modal--login-next .login-close i{transition:transform .22s ease;}
.designer-modal--login-next .login-close:hover{background:#ed1c24 !important;color:#fff !important;border-color:#ed1c24;transform:none;font-weight:400;}
.designer-modal--login-next .login-close:hover i{transform:scale(1.5);}
.designer-modal--login-next .login-eyebrow{display:inline-flex;align-items:center;gap:10px;background:#fff1f1;color:#b80008;border:1px solid #ffd7d7;padding:12px 18px;font-size:18px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:15px;}
.designer-modal--login-next .login-title{background:transparent !important;color:#111 !important;font-size:36px !important;line-height:1.05;font-weight:950 !important;letter-spacing:-1px;margin:0 0 10px;padding:0 !important;text-transform:uppercase;}
.designer-modal--login-next .login-text{color:#666;font-size:15px;line-height:1.65;margin:0 0 24px;max-width:410px;text-align:left;text-transform:none;}
.designer-modal--login-next .login-auth-wrap{padding:0 !important;margin:0 !important;text-align:left;}
.designer-modal--login-next .login-form{display:grid;gap:14px;max-width:none;margin:0;text-align:left;}
.designer-modal--login-next .field-row{display:grid;grid-template-columns:94px 1fr;align-items:center;gap:14px;margin:0;}
.designer-modal--login-next .field-row label{font-size:13px;font-weight:950;text-transform:uppercase;color:#2a2a2a;text-align:right;letter-spacing:.02em;}
.designer-modal--login-next .input-wrap{position:relative;}
.designer-modal--login-next .input-wrap i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#ed1c24;font-size:14px;z-index:2;}
.designer-modal--login-next .input-wrap input{width:100%;height:52px;border:1px solid #e4e4e4 !important;border-radius:0;background:#ccc;color:#111;padding:0 16px 0 44px;font-size:15px;font-weight:700;outline:0;box-shadow:0 10px 22px rgba(0,0,0,.04) !important;transition:.25s;text-transform:none;}
.designer-modal--login-next .input-wrap input:focus{border-color:#ef2028 !important;box-shadow:0 0 0 4px rgba(237,28,36,.10),0 14px 30px rgba(237,28,36,.12) !important;}
.designer-modal--login-next .login-actions{display:flex;justify-content:center;margin:10px 0 8px;text-align:center;}
.designer-modal--login-next .login-btn{height:56px;min-width:180px;padding:0 24px;font-weight:950;text-transform:uppercase;cursor:pointer;transition:.25s ease;font-size:14px;letter-spacing:.25px;position:relative;overflow:visible;color:#fff;border:2px solid #ef2028;background:#ef2028;box-shadow:0 16px 34px rgba(237,28,36,.22) !important;border-radius:0;}
.designer-modal--login-next .login-btn:before,.designer-modal--login-next .login-btn:after,.designer-modal--login-next .create-btn:before,.designer-modal--login-next .create-btn:after{content:"";position:absolute;inset:-4px;border:1px solid currentColor;opacity:0;pointer-events:none;}
.designer-modal--login-next .login-btn:after,.designer-modal--login-next .create-btn:after{inset:-9px;}
.designer-modal--login-next .login-btn:hover:before,.designer-modal--login-next .create-btn:hover:before{animation:loginBorderFade 1.25s ease-out infinite;}
.designer-modal--login-next .login-btn:hover:after,.designer-modal--login-next .create-btn:hover:after{animation:loginBorderFade 1.25s ease-out .28s infinite;}
.designer-modal--login-next .login-btn .shine,.designer-modal--login-next .create-btn .shine{position:absolute;inset:0;background:linear-gradient(135deg,#fff,#fff);transform:scaleX(0);transform-origin:left;transition:transform .46s cubic-bezier(.22,1,.36,1);z-index:1;}
.designer-modal--login-next .login-btn span,.designer-modal--login-next .create-btn span{position:relative;z-index:2;}
.designer-modal--login-next .login-btn:hover{background:#ef2028 !important;border-color:#ef2028 !important;color:#c60008 !important;transform:translateY(-3px);box-shadow:0 16px 34px rgba(237,28,36,.35) !important;}
.designer-modal--login-next .login-btn:hover .shine{transform:scaleX(1);}
.designer-modal--login-next .forgot-link{display:block;text-align:center;text-decoration:none;color:#333;font-size:13px;font-weight:850;text-transform:uppercase;margin:6px 0 10px;transition:.22s;border:0;background:transparent;cursor:pointer;width:100%;}
.designer-modal--login-next .forgot-link:hover{color:#ed1c24;letter-spacing:.2px;}
.designer-modal--login-next .create-area{text-align:center;padding-top:2px;}
.designer-modal--login-next .create-area .designer-auth-subtitle{display:block;font-size:18px;text-transform:uppercase;font-weight:950;margin:0 0 16px;color:#202020;}
.designer-modal--login-next .create-btn{height:52px;min-width:210px;padding:0 24px;font-weight:950;text-transform:uppercase;cursor:pointer;transition:.25s ease;font-size:14px;letter-spacing:.25px;position:relative;overflow:visible;color:#c60008;border:2px solid #ef2028;background:#fff;box-shadow:0 16px 34px rgba(237,28,36,.08) !important;border-radius:0;}
.designer-modal--login-next .create-btn .shine{background:linear-gradient(135deg,#ff2a31,#b90007);}
.designer-modal--login-next .create-btn:hover{background:#fff !important;border-color:#ef2028 !important;color:#fff !important;transform:translateY(-3px);box-shadow:0 16px 34px rgba(237,28,36,.30) !important;}
.designer-modal--login-next .create-btn:hover .shine{transform:scaleX(1);}
.designer-modal--login-next .designer-auth-message{text-align:center;}

.designer-modal--reset-next .reset-form{margin-top:28px;}
.designer-modal--reset-next .reset-actions{margin:24px 0 8px;}
.designer-modal--reset-next .reset-actions .login-btn{min-width:220px;background:#bfbfbf !important;border-color:#bfbfbf !important;color:#fff !important;box-shadow:0 16px 34px rgba(0,0,0,.10) !important;}
.designer-modal--reset-next .reset-actions .login-btn:hover{background:#ef2028 !important;border-color:#ef2028 !important;color:#c60008 !important;box-shadow:0 16px 34px rgba(237,28,36,.32) !important;}
.designer-modal--reset-next .forgot-link i{margin-right:8px;}
.designer-modal--reset-next .designer-field-message{position:absolute;left:0;top:100%;margin-top:4px;}
@keyframes loginModalPop{from{opacity:0;transform:scale(.9) translateY(28px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes loginSpin{to{transform:rotate(360deg)}}
@keyframes loginOrbitSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes loginBorderFade{0%{opacity:.75;transform:scale(1)}100%{opacity:0;transform:scale(1.09)}}
@keyframes loginBoxFade{0%,100%{opacity:.18;transform:scale(1)}50%{opacity:.55;transform:scale(1.025)}}
@keyframes loginSoftBorderPulse{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.8;transform:scale(1.012)}}
@media(max-width:760px){.designer-modal--login-next{padding:24px !important;align-items:flex-start;overflow:auto;}.designer-modal--login-next .designer-modal__dialog--login-next{max-height:none;}.designer-modal--login-next .login-layout{grid-template-columns:1fr;}.designer-modal--login-next .login-visual{padding:28px 22px;}.designer-modal--login-next .visual-frame{min-height:250px;}.designer-modal--login-next .login-shield{width:78px;height:78px;}.designer-modal--login-next .login-shield i{font-size:34px;}.designer-modal--login-next .visual-title,.designer-modal--login-next .visual-subtitle{font-size:24px;}.designer-modal--login-next .login-content{padding:34px 24px 28px;}.designer-modal--login-next .login-title{font-size:30px !important;}.designer-modal--login-next .field-row{grid-template-columns:1fr;gap:7px;}.designer-modal--login-next .field-row label{text-align:left;}.designer-modal--login-next .login-close{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.25);}}

/* ===== CREATE ACCOUNT MODAL NEXT LEVEL DESIGN PATCH (BACKGROUND SKIPPED) ===== */
.designer-modal--signup-next{background:rgba(0,0,0,.34) !important;backdrop-filter:blur(3px);padding:24px !important;}
.designer-modal--signup-next .designer-modal__dialog--signup-next{width:860px !important;max-width:100% !important;position:relative;background:#fff !important;border:0 !important;border-radius:0 !important;box-shadow:0 42px 130px rgba(0,0,0,.68),0 0 0 1px rgba(255,255,255,.2) !important;animation:signupModalPop .45s cubic-bezier(.18,.9,.22,1.15) !important;overflow:visible !important;max-height:calc(100vh - 48px);}
.designer-modal--signup-next .designer-modal__dialog--signup-next:before{content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(237,28,36,.85),rgba(255,255,255,.24));z-index:-1;}
.designer-modal--signup-next .designer-modal__dialog--signup-next:after{content:"";position:absolute;inset:-10px;border:1px solid rgba(237,28,36,.26);opacity:.72;pointer-events:none;animation:signupSoftBorderPulse 2.4s ease-in-out infinite;}
.designer-modal--signup-next .signup-layout{display:grid;grid-template-columns:295px 1fr;min-height:650px;overflow:hidden;}
.designer-modal--signup-next .signup-visual{position:relative;padding:34px 26px;color:#fff;background:radial-gradient(circle at 24% 20%,rgba(255,255,255,.22),transparent 28%),linear-gradient(145deg,#1a0002,#a40008 46%,#080808);overflow:hidden;}
.designer-modal--signup-next .signup-visual:before{content:"";position:absolute;inset:-20%;background:conic-gradient(from 90deg,transparent,rgba(255,255,255,.18),transparent 30%);animation:signupSpin 7s linear infinite;opacity:.52;}
.designer-modal--signup-next .signup-visual:after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.16);pointer-events:none;}
.designer-modal--signup-next .visual-frame{position:relative;z-index:2;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px 20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.20);box-shadow:0 24px 48px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.22);}
.designer-modal--signup-next .visual-frame:before,.designer-modal--signup-next .visual-frame:after{content:"";position:absolute;inset:-8px;border:1px solid rgba(255,255,255,.15);animation:signupBoxFade 2.6s ease-in-out infinite;pointer-events:none;}
.designer-modal--signup-next .visual-frame:after{inset:-16px;animation-delay:.55s;opacity:.35;}
.designer-modal--signup-next .signup-shield{width:118px;height:118px;margin:0 auto 20px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 18px 38px rgba(0,0,0,.28);}
.designer-modal--signup-next .signup-shield i{font-size:54px;text-shadow:0 0 26px rgba(255,255,255,.48);}
.designer-modal--signup-next .visual-title,.designer-modal--signup-next .visual-subtitle{display:block;font-size:28px;font-weight:950;text-transform:uppercase;line-height:1.05;color:#fff;}
.designer-modal--signup-next .visual-subtitle{margin-top:8px;}
.designer-modal--signup-next .visual-text{display:block;margin-top:12px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.55;text-transform:none;}
.designer-modal--signup-next .signup-orbit{position:absolute;width:230px;height:230px;border:1px dashed rgba(255,255,255,.20);left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;animation:signupOrbitSpin 14s linear infinite;}
.designer-modal--signup-next .signup-content{position:relative;padding:44px 46px 36px;background:linear-gradient(180deg,#fff,#fbfbfb);}
.designer-modal--signup-next .signup-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border:1px solid rgba(0,0,0,.14);background:#fff;color:#222;font-size:18px;line-height:1;cursor:pointer;transition:.25s;z-index:20;display:grid;place-items:center;border-radius:0;}
.designer-modal--signup-next .signup-close i{transition:transform .22s ease;}
.designer-modal--signup-next .signup-close:hover{background:#ed1c24 !important;color:#fff !important;border-color:#ed1c24;transform:none;font-weight:400;}
.designer-modal--signup-next .signup-close:hover i{transform:scale(1.5);}
.designer-modal--signup-next .signup-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff1f1;color:#b80008;border:1px solid #ffd7d7;padding:8px 13px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:15px;}
.designer-modal--signup-next .signup-title{background:transparent !important;color:#111 !important;font-size:36px !important;line-height:1.05;font-weight:950 !important;letter-spacing:-1px;margin:0 0 10px;padding:0 !important;text-transform:uppercase;}
.designer-modal--signup-next .signup-text{color:#666;font-size:15px;line-height:1.65;margin:0 0 24px;max-width:430px;text-align:left;text-transform:none;}
.designer-modal--signup-next .signup-auth-wrap{padding:0 !important;margin:0 !important;text-align:left;}
.designer-modal--signup-next .signup-form{display:grid;gap:14px;max-width:none;margin:0;text-align:left;}
.designer-modal--signup-next .signup-form-grid{display:grid;grid-template-columns:1fr;gap:14px;}
.designer-modal--signup-next .field-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:14px;margin:0;}
.designer-modal--signup-next .field-row label{font-size:13px;font-weight:950;text-transform:uppercase;color:#2a2a2a;text-align:right;letter-spacing:.02em;line-height:1.15;}
.designer-modal--signup-next .input-wrap{position:relative;display:block;}
.designer-modal--signup-next .input-wrap i{position:absolute;left:16px;top:26px;transform:translateY(-50%);color:#ed1c24;font-size:14px;z-index:2;}
.designer-modal--signup-next .input-wrap input{width:100%;height:52px;border:1px solid #e4e4e4 !important;border-radius:0;background:#fff;color:#111;padding:0 16px 0 44px;font-size:15px;font-weight:700;outline:0;box-shadow:0 10px 22px rgba(0,0,0,.04) !important;transition:.25s;text-transform:uppercase;}
.designer-modal--signup-next .input-wrap input::placeholder{color:#777;opacity:1;}
.designer-modal--signup-next .input-wrap input:focus{border-color:#ef2028 !important;box-shadow:0 0 0 4px rgba(237,28,36,.10),0 14px 30px rgba(237,28,36,.12) !important;}
.designer-modal--signup-next .designer-field-message{position:absolute;left:0;top:100%;margin-top:4px;}
.designer-modal--signup-next .signup-actions{display:flex;justify-content:center;margin:22px 0 0;text-align:center;}
.designer-modal--signup-next .signup-btn{height:56px;min-width:180px;padding:0 24px;font-weight:950;text-transform:uppercase;cursor:pointer;transition:.25s ease;font-size:14px;letter-spacing:.25px;position:relative;overflow:visible;color:#fff;border:2px solid #ef2028;background:#ef2028;box-shadow:0 16px 34px rgba(237,28,36,.22) !important;border-radius:0;}
.designer-modal--signup-next .signup-btn:before,.designer-modal--signup-next .signup-btn:after{content:"";position:absolute;inset:-4px;border:1px solid currentColor;opacity:0;pointer-events:none;}
.designer-modal--signup-next .signup-btn:after{inset:-9px;}
.designer-modal--signup-next .signup-btn:hover:before{animation:signupBorderFade 1.25s ease-out infinite;}
.designer-modal--signup-next .signup-btn:hover:after{animation:signupBorderFade 1.25s ease-out .28s infinite;}
.designer-modal--signup-next .signup-btn .shine{position:absolute;inset:0;background:linear-gradient(135deg,#fff,#fff);transform:scaleX(0);transform-origin:left;transition:transform .46s cubic-bezier(.22,1,.36,1);z-index:1;}
.designer-modal--signup-next .signup-btn span{position:relative;z-index:2;}
.designer-modal--signup-next .signup-btn:hover{background:#ef2028 !important;border-color:#ef2028 !important;color:#c60008 !important;transform:translateY(-3px);box-shadow:0 16px 34px rgba(237,28,36,.35) !important;}
.designer-modal--signup-next .signup-btn:hover .shine{transform:scaleX(1);}
.designer-modal--signup-next .designer-auth-message{text-align:center;}
@keyframes signupModalPop{from{opacity:0;transform:scale(.9) translateY(28px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes signupSpin{to{transform:rotate(360deg)}}
@keyframes signupOrbitSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes signupBorderFade{0%{opacity:.75;transform:scale(1)}100%{opacity:0;transform:scale(1.09)}}
@keyframes signupBoxFade{0%,100%{opacity:.18;transform:scale(1)}50%{opacity:.55;transform:scale(1.025)}}
@keyframes signupSoftBorderPulse{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.8;transform:scale(1.012)}}
@media(max-width:760px){.designer-modal--signup-next{padding:24px !important;align-items:flex-start;overflow:auto;}.designer-modal--signup-next .designer-modal__dialog--signup-next{max-height:none;}.designer-modal--signup-next .signup-layout{grid-template-columns:1fr;}.designer-modal--signup-next .signup-visual{padding:28px 22px;}.designer-modal--signup-next .visual-frame{min-height:250px;}.designer-modal--signup-next .signup-shield{width:78px;height:78px;}.designer-modal--signup-next .signup-shield i{font-size:34px;}.designer-modal--signup-next .visual-title,.designer-modal--signup-next .visual-subtitle{font-size:24px;}.designer-modal--signup-next .signup-content{padding:34px 24px 28px;}.designer-modal--signup-next .signup-title{font-size:30px !important;}.designer-modal--signup-next .field-row{grid-template-columns:1fr;gap:7px;}.designer-modal--signup-next .field-row label{text-align:left;}.designer-modal--signup-next .signup-close{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.25);}}

/* ===== MY SAVED DESIGNS MODAL NEXT LEVEL PATCH ===== */
#designerSavedDesignsModal.designer-modal--saved-designs-next{align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.32) !important;backdrop-filter:none !important;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-modal__backdrop{background:transparent !important;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-modal{width:min(960px,96vw) !important;max-width:960px !important;position:relative;background:#fff !important;border:0 !important;border-radius:0 !important;box-shadow:0 42px 130px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.28) !important;animation:savedModalPop .45s cubic-bezier(.18,.9,.22,1.15) !important;overflow:visible !important;max-height:calc(100vh - 48px);}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-modal:before{content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(237,28,36,.82),rgba(255,255,255,.22));z-index:-1;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-modal:after{content:"";position:absolute;inset:-10px;border:1px solid rgba(237,28,36,.24);pointer-events:none;animation:savedSoftBorderPulse 2.4s ease-in-out infinite;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-header{height:66px;background:linear-gradient(135deg,#ff1d1d,#d90008);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px 0 30px;box-shadow:0 13px 34px rgba(237,28,36,.28);}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-header .designer-modal__head{background:transparent !important;color:#fff !important;font-size:24px !important;font-weight:950 !important;text-transform:uppercase;letter-spacing:.02em;line-height:1.2 !important;padding:0 !important;margin:0 !important;text-align:left !important;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-close{position:static !important;width:42px;height:42px;border:1px solid rgba(255,255,255,.35) !important;background:rgba(255,255,255,.08) !important;color:#fff !important;display:grid;place-items:center;cursor:pointer;transition:.25s ease;font-size:20px !important;line-height:1 !important;padding:0 !important;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-close i{transition:transform .22s ease;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-close:hover{background:#fff !important;color:#ed1c24 !important;border-color:#fff !important;transform:none !important;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-close:hover i{transform:scale(1.5);}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-body{position:relative;padding:34px 62px 48px !important;background:linear-gradient(180deg,#fff,#f8f8f8);overflow:auto;max-height:calc(100vh - 114px);}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-body:before{content:"";position:absolute;left:-100px;bottom:-170px;width:350px;height:350px;background:radial-gradient(circle,rgba(237,28,36,.10),transparent 68%);pointer-events:none;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-tools{position:relative;z-index:2;display:grid !important;grid-template-columns:300px 1fr;gap:24px;align-items:center;justify-content:initial !important;margin:0 0 26px !important;width:100%;text-align:left;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-for{display:flex;align-items:center;gap:10px;color:#b80008 !important;font-size:14px;font-weight:950;text-transform:uppercase;white-space:nowrap;min-height:30px;margin:0;justify-content:flex-start !important;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-for:before{content:"\f3ed";font-family:"Font Awesome 6 Free";font-weight:900;width:30px;height:30px;display:grid;place-items:center;background:#fff0f0;color:#ed1c24;border:1px solid #ffd4d4;flex:0 0 auto;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-search{height:48px;position:relative;display:block;margin:0;max-width:none;width:100%;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-search i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#cf1b22;font-size:15px;z-index:2;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-search input{width:100%;height:48px;border:1px solid #d8d8d8;background:#fff;padding:0 18px 0 46px;font-size:15px;text-transform:uppercase;outline:0;transition:.25s;color:#111;box-shadow:0 12px 24px rgba(0,0,0,.035);border-radius:0;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-search input:focus{border-color:#16aa4a;box-shadow:0 0 0 3px rgba(22,170,74,.13),0 12px 24px rgba(0,0,0,.045);}
#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-grid{position:relative;z-index:2;display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:34px !important;align-items:stretch;justify-items:stretch !important;max-height:none !important;overflow:visible !important;padding:0 !important;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item{position:relative;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:0 !important;padding:18px 16px 20px;min-height:282px;text-align:center;box-shadow:0 24px 55px rgba(0,0,0,.10);overflow:visible;transition:.25s ease;width:100%;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item:before,#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item:after{content:"";position:absolute;inset:-7px;border:1px solid rgba(237,28,36,.12);opacity:.35;pointer-events:none;transition:.25s;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item:after{inset:-14px;opacity:.16;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item:hover{transform:translateY(-8px);box-shadow:0 30px 70px rgba(237,28,36,.18);}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item:hover:before{opacity:.9;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item:hover:after{opacity:.45;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__thumb{display:flex;width:100%;height:142px;max-width:none;max-height:none;margin:0 0 14px;object-fit:contain;position:relative;z-index:2;background:linear-gradient(180deg,#fff,#fbfbfb);border:1px solid #f1f1f1;filter:drop-shadow(0 12px 16px rgba(0,0,0,.16));padding:8px;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__thumb--empty{background:#fbfbfb;}
/* Saved Designs thumbnail back-view hover fix */
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__thumb-wrap{height:142px;margin:0 0 14px;position:relative;z-index:2;background:linear-gradient(180deg,#fff,#fbfbfb);border:1px solid #f1f1f1;overflow:hidden;display:flex;align-items:center;justify-content:center;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__thumb-wrap:before{content:"";position:absolute;inset:auto 24px 0;height:38px;background:radial-gradient(ellipse,rgba(0,0,0,.14),transparent 70%);filter:blur(8px);}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__thumb-wrap .designer-saved-design-item__thumb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%;max-width:100%;max-height:128px;margin:0;border:0;background:transparent;object-fit:contain;filter:drop-shadow(0 12px 16px rgba(0,0,0,.16));transition:opacity .25s ease,transform .25s ease;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__thumb-wrap .designer-saved-design-item__thumb--back{opacity:0;pointer-events:none;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item:hover .designer-saved-design-item__thumb-wrap .designer-saved-design-item__thumb--front{opacity:0;transform:translate(-50%,-50%) scale(.96);}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item:hover .designer-saved-design-item__thumb-wrap .designer-saved-design-item__thumb--back{opacity:1;transform:translate(-50%,-50%) scale(1);}

#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__title{font-size:15px;line-height:1.25;font-weight:950;color:#070707;text-transform:uppercase;margin:0 0 7px;min-height:38px;display:flex;align-items:center;justify-content:center;text-align:center;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__meta{font-size:12px;line-height:1.25;color:#666;text-transform:uppercase;margin:0 0 11px;padding:0;text-align:center;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__meta strong{font-weight:800;color:#333;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__actions{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:10px;flex-wrap:wrap;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__link,#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__delete{color:#c80008;text-decoration:none;font-size:12px;font-weight:950;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px;transition:.22s ease;background:transparent;border:0;padding:0;cursor:pointer;}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__link:hover,#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__delete:hover{color:#ff1d1d;transform:translateY(-2px);}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-designs__empty{font-size:15px;font-weight:950;color:#b80008;padding:18px 4px;text-align:center;grid-column:1 / -1;justify-self:center;max-width:560px;text-transform:uppercase;}
@keyframes savedModalPop{from{opacity:0;transform:scale(.92) translateY(28px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes savedSoftBorderPulse{0%,100%{opacity:.32;transform:scale(1)}50%{opacity:.78;transform:scale(1.012)}}
@media(max-width:880px){#designerSavedDesignsModal.designer-modal--saved-designs-next{align-items:flex-start;padding:18px;overflow:auto;}#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-tools{grid-template-columns:1fr;}#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-grid{grid-template-columns:1fr 1fr !important;}#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-body{padding:28px 24px 36px !important;max-height:none;}#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-header .designer-modal__head{font-size:21px !important;}}
@media(max-width:560px){#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-grid{grid-template-columns:1fr !important;}#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-header{padding:0 16px 0 18px;}#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-body{padding:24px 18px 30px !important;}#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-for{white-space:normal;}#designerSavedDesignsModal.designer-modal--saved-designs-next .saved-modal:after{display:none;}}

/* ===== SAVE DESIGN MODAL NEXT LEVEL PATCH (BACKGROUND SKIPPED) ===== */
#designerSaveDesignModal.designer-modal--save-design-next{align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.32) !important;backdrop-filter:none !important;}
#designerSaveDesignModal.designer-modal--save-design-next .designer-modal__backdrop{background:transparent !important;}
#designerSaveDesignModal.designer-modal--save-design-next .save-modal{width:min(760px,96vw) !important;max-width:760px !important;position:relative;background:#fff !important;border:0 !important;border-radius:0 !important;box-shadow:0 42px 130px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.28) !important;animation:saveDesignModalPop .45s cubic-bezier(.18,.9,.22,1.15) !important;overflow:visible !important;max-height:calc(100vh - 48px);padding:0 !important;}
#designerSaveDesignModal.designer-modal--save-design-next .save-modal:before{content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(237,28,36,.82),rgba(255,255,255,.22));z-index:-1;}
#designerSaveDesignModal.designer-modal--save-design-next .save-modal:after{content:"";position:absolute;inset:-10px;border:1px solid rgba(237,28,36,.24);pointer-events:none;animation:saveDesignSoftBorderPulse 2.4s ease-in-out infinite;}
#designerSaveDesignModal.designer-modal--save-design-next .save-header{height:66px;background:linear-gradient(135deg,#ff1d1d,#d90008);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px 0 30px;box-shadow:0 13px 34px rgba(237,28,36,.28);}
#designerSaveDesignModal.designer-modal--save-design-next .save-header .designer-modal__head{background:transparent !important;color:#fff !important;font-size:24px !important;font-weight:950 !important;text-transform:uppercase;letter-spacing:.02em;line-height:1.2 !important;padding:0 !important;margin:0 !important;text-align:left !important;}
#designerSaveDesignModal.designer-modal--save-design-next .save-close{position:static !important;width:42px;height:42px;border:1px solid rgba(255,255,255,.35) !important;background:rgba(255,255,255,.08) !important;color:#fff !important;display:grid;place-items:center;cursor:pointer;transition:.25s ease;font-size:20px !important;line-height:1 !important;padding:0 !important;border-radius:0 !important;}
#designerSaveDesignModal.designer-modal--save-design-next .save-close i{transition:transform .22s ease;}
#designerSaveDesignModal.designer-modal--save-design-next .save-close:hover{background:#fff !important;color:#ed1c24 !important;border-color:#fff !important;transform:none !important;}
#designerSaveDesignModal.designer-modal--save-design-next .save-close:hover i{transform:scale(1.5);}
#designerSaveDesignModal.designer-modal--save-design-next .save-body{position:relative;padding:36px 34px 30px !important;background:linear-gradient(180deg,#fff,#f8f8f8);overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 114px);}
#designerSaveDesignModal.designer-modal--save-design-next .save-body:before{display:none;}
#designerSaveDesignModal.designer-modal--save-design-next .save-body:after{content:"";position:absolute;right:-150px;top:40px;width:320px;height:320px;background:radial-gradient(circle,rgba(0,0,0,.05),transparent 70%);pointer-events:none;}
#designerSaveDesignModal.designer-modal--save-design-next .designer-save-design.save-form{position:relative;z-index:2;max-width:658px;margin:0 auto;text-align:left;}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview{position:relative;z-index:2;width:min(650px,100%);height:390px;margin:0 auto 26px;background:#fff;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;box-shadow:0 24px 55px rgba(0,0,0,.10);padding:0;overflow:visible;}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview:before,#designerSaveDesignModal.designer-modal--save-design-next .product-preview:after{content:"";position:absolute;inset:-7px;border:1px solid rgba(237,28,36,.11);opacity:.38;pointer-events:none;}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview:after{inset:-14px;opacity:.17;}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview .product-glow{position:absolute;left:50%;bottom:14px;width:170px;height:38px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(0,0,0,.16),transparent 70%);filter:blur(8px);}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview img{display:block;max-width:562px;width:auto;height:auto;max-height:575px;object-fit:contain;position:relative;z-index:2;background:transparent !important;border:0 !important;border-radius:0 !important;filter:drop-shadow(0 15px 18px rgba(0,0,0,.18));}
#designerSaveDesignModal.designer-modal--save-design-next .form-row{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:center;margin:0 0 12px;}
#designerSaveDesignModal.designer-modal--save-design-next .form-row label{font-size:14px;font-weight:900;text-transform:uppercase;text-align:right;color:#313131;letter-spacing:.02em;line-height:1.2;margin:0;}
#designerSaveDesignModal.designer-modal--save-design-next .input-wrap{position:relative;display:block;}
#designerSaveDesignModal.designer-modal--save-design-next .input-wrap i{position:absolute;left:16px;top:23px;transform:translateY(-50%);color:#cf1b22;font-size:14px;z-index:2;}
#designerSaveDesignModal.designer-modal--save-design-next .input-wrap input{width:100%;height:46px;border:1px solid #cfcfcf !important;border-radius:0;background:#fff;padding:0 16px 0 44px;font-size:15px;text-transform:uppercase;outline:0;transition:.25s;color:#111;box-shadow:0 10px 22px rgba(0,0,0,.035) !important;font-weight:700;}
#designerSaveDesignModal.designer-modal--save-design-next .input-wrap input:focus{border-color:#16aa4a !important;box-shadow:0 0 0 3px rgba(22,170,74,.13),0 12px 24px rgba(0,0,0,.045) !important;}
#designerSaveDesignModal.designer-modal--save-design-next .input-wrap.customer input{font-weight:950;background:#fff;color:#111;cursor:default;}
#designerSaveDesignModal.designer-modal--save-design-next .designer-auth-message{text-align:center;margin-top:10px;}
#designerSaveDesignModal.designer-modal--save-design-next .save-actions{position:relative;z-index:2;display:grid !important;grid-template-columns:1fr 1fr 1fr;gap:14px;max-width:560px;margin:30px auto 0 !important;text-align:center;}
#designerSaveDesignModal.designer-modal--save-design-next .save-btn{height:56px;min-width:0;padding:0 14px;font-weight:950;text-transform:uppercase;cursor:pointer;transition:.25s ease;font-size:14px;letter-spacing:.25px;position:relative;overflow:visible;background:#fff !important;color:#c60008 !important;border:2px solid #ef2028 !important;border-radius:0 !important;box-shadow:0 16px 34px rgba(237,28,36,.08) !important;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;}
#designerSaveDesignModal.designer-modal--save-design-next .save-btn:before,#designerSaveDesignModal.designer-modal--save-design-next .save-btn:after{content:"";position:absolute;inset:-4px;border:1px solid currentColor;opacity:0;pointer-events:none;}
#designerSaveDesignModal.designer-modal--save-design-next .save-btn:after{inset:-9px;}
#designerSaveDesignModal.designer-modal--save-design-next .save-btn:hover:before{animation:saveDesignBorderFade 1.25s ease-out infinite;}
#designerSaveDesignModal.designer-modal--save-design-next .save-btn:hover:after{animation:saveDesignBorderFade 1.25s ease-out .28s infinite;}
#designerSaveDesignModal.designer-modal--save-design-next .save-btn span{position:relative;z-index:2;}
#designerSaveDesignModal.designer-modal--save-design-next .save-btn .shine{position:absolute;inset:0;background:linear-gradient(135deg,#ff2a31,#b90007);transform:scaleX(0);transform-origin:left;transition:transform .46s cubic-bezier(.22,1,.36,1);z-index:1;}
#designerSaveDesignModal.designer-modal--save-design-next .save-btn:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(237,28,36,.18) !important;}
#designerSaveDesignModal.designer-modal--save-design-next .save-btn.primary{background:linear-gradient(135deg,#ff1d1d,#d90008) !important;color:#fff !important;border-color:#ef2028 !important;box-shadow:0 16px 34px rgba(237,28,36,.30) !important;}
#designerSaveDesignModal.designer-modal--save-design-next .save-btn.primary:hover{box-shadow:0 18px 40px rgba(237,28,36,.40) !important;}
#designerSaveDesignModal.designer-modal--save-design-next .save-btn.outline:hover .shine{transform:scaleX(1);}
#designerSaveDesignModal.designer-modal--save-design-next .save-btn.outline:hover{color:#fff !important;}
@keyframes saveDesignModalPop{from{opacity:0;transform:scale(.92) translateY(28px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes saveDesignSoftBorderPulse{0%,100%{opacity:.32;transform:scale(1)}50%{opacity:.78;transform:scale(1.012)}}
@keyframes saveDesignBorderFade{0%{opacity:.75;transform:scale(1)}100%{opacity:0;transform:scale(1.09)}}
@media(max-width:760px){#designerSaveDesignModal.designer-modal--save-design-next{align-items:flex-start;padding:18px;overflow:auto;}#designerSaveDesignModal.designer-modal--save-design-next .save-header{padding:0 18px;}#designerSaveDesignModal.designer-modal--save-design-next .save-header .designer-modal__head{font-size:20px !important;}#designerSaveDesignModal.designer-modal--save-design-next .save-body{padding:28px 18px 30px !important;max-height:none;}#designerSaveDesignModal.designer-modal--save-design-next .product-preview{width:100%;height:300px;}#designerSaveDesignModal.designer-modal--save-design-next .product-preview img{max-width:100%;max-height:280px;}#designerSaveDesignModal.designer-modal--save-design-next .form-row{grid-template-columns:1fr;gap:7px;}#designerSaveDesignModal.designer-modal--save-design-next .form-row label{text-align:left;}#designerSaveDesignModal.designer-modal--save-design-next .save-actions{grid-template-columns:1fr;}#designerSaveDesignModal.designer-modal--save-design-next .save-modal:after{display:none;}}

/* ===== SHARE DESIGN MODAL NEXT LEVEL DESIGN PATCH (BACKGROUND SKIPPED) ===== */
#designerShareModal.designer-modal--share-design-next{z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.32) !important;backdrop-filter:none !important;}
#designerShareModal.designer-modal--share-design-next .designer-modal__backdrop{background:transparent !important;}
#designerShareModal.designer-modal--share-design-next .share-modal{width:min(710px,96vw) !important;max-width:710px !important;min-width:0 !important;height:auto !important;max-height:calc(100vh - 48px) !important;position:relative;background:#fff !important;border:0 !important;border-radius:0 !important;box-shadow:0 42px 130px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.28) !important;animation:shareDesignModalPop .45s cubic-bezier(.18,.9,.22,1.15) !important;overflow:visible !important;padding:0 !important;margin:0 auto !important;}
#designerShareModal.designer-modal--share-design-next .share-modal:before{content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(237,28,36,.82),rgba(255,255,255,.22));z-index:-1;}
#designerShareModal.designer-modal--share-design-next .share-modal:after{content:"";position:absolute;inset:-10px;border:1px solid rgba(237,28,36,.24);pointer-events:none;animation:shareDesignSoftBorderPulse 2.4s ease-in-out infinite;}
#designerShareModal.designer-modal--share-design-next .share-header{height:66px;background:linear-gradient(135deg,#ff1d1d,#d90008);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px 0 30px;box-shadow:0 13px 34px rgba(237,28,36,.28);}
#designerShareModal.designer-modal--share-design-next .share-header .designer-modal__head{background:transparent !important;color:#fff !important;font-size:24px !important;font-weight:950 !important;text-transform:uppercase;letter-spacing:.02em;line-height:1.2 !important;padding:0 !important;margin:0 !important;text-align:left !important;width:auto !important;}
#designerShareModal.designer-modal--share-design-next .share-close{position:static !important;width:42px;height:42px;border:1px solid rgba(255,255,255,.35) !important;background:rgba(255,255,255,.08) !important;color:#fff !important;display:grid;place-items:center;cursor:pointer;transition:.25s ease;font-size:20px !important;line-height:1 !important;padding:0 !important;border-radius:0 !important;}
#designerShareModal.designer-modal--share-design-next .share-close i{transition:transform .22s ease;}
#designerShareModal.designer-modal--share-design-next .share-close:hover{background:#fff !important;color:#ed1c24 !important;border-color:#fff !important;transform:none !important;}
#designerShareModal.designer-modal--share-design-next .share-close:hover i{transform:scale(1.5);}
#designerShareModal.designer-modal--share-design-next .share-body{position:relative;padding:34px 34px 34px !important;background:linear-gradient(180deg,#fff,#f8f8f8) !important;overflow:auto;max-height:calc(100vh - 114px);text-align:center;}
#designerShareModal.designer-modal--share-design-next .share-body:before{content:"";position:absolute;left:-120px;bottom:-180px;width:380px;height:380px;background:radial-gradient(circle,rgba(237,28,36,.10),transparent 68%);pointer-events:none;}
#designerShareModal.designer-modal--share-design-next .share-body:after{content:"";position:absolute;right:-150px;top:40px;width:320px;height:320px;background:radial-gradient(circle,rgba(0,0,0,.05),transparent 70%);pointer-events:none;}
#designerShareModal.designer-modal--share-design-next .product-stage{position:relative;z-index:2;width:min(460px,100%) !important;height:500px;margin:0 auto 22px !important;background:linear-gradient(180deg,#fff,#fbfbfb);display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.055);box-shadow:0 26px 65px rgba(0,0,0,.075),inset 0 1px 0 rgba(255,255,255,.9);padding:0 !important;overflow:visible;}
#designerShareModal.designer-modal--share-design-next .product-stage:before,#designerShareModal.designer-modal--share-design-next .product-stage:after{content:"";position:absolute;inset:-8px;border:1px solid rgba(237,28,36,.10);opacity:.38;pointer-events:none;}
#designerShareModal.designer-modal--share-design-next .product-stage:after{inset:-16px;opacity:.16;}
#designerShareModal.designer-modal--share-design-next .product-glow{position:absolute;left:50%;bottom:34px;width:250px;height:46px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(0,0,0,.18),transparent 72%);filter:blur(9px);}
#designerShareModal.designer-modal--share-design-next .product-stage img{display:block;width:auto !important;max-width:410px !important;max-height:470px !important;height:auto !important;object-fit:contain;position:relative;z-index:2;background:transparent !important;border:0 !important;border-radius:0 !important;filter:drop-shadow(0 18px 20px rgba(0,0,0,.18));}
#designerShareModal.designer-modal--share-design-next .share-row{position:relative;z-index:3;display:flex !important;align-items:center;justify-content:center !important;gap:16px;flex-wrap:wrap;margin-top:10px;padding:0 !important;width:100% !important;text-align:center;}
#designerShareModal.designer-modal--share-design-next .share-label{font-size:14px;text-transform:uppercase;color:#222;letter-spacing:.03em;margin-right:4px;font-weight:400;white-space:nowrap;}
#designerShareModal.designer-modal--share-design-next .share-icon{width:38px;height:38px;display:grid;place-items:center;color:#d51b22;text-decoration:none;font-size:24px;position:relative;transition:.25s ease;background:#fff;border:1px solid transparent;border-radius:0;}
#designerShareModal.designer-modal--share-design-next .share-icon:before,#designerShareModal.designer-modal--share-design-next .share-icon:after{content:"";position:absolute;inset:-4px;border:1px solid currentColor;opacity:0;pointer-events:none;}
#designerShareModal.designer-modal--share-design-next .share-icon:after{inset:-8px;}
#designerShareModal.designer-modal--share-design-next .share-icon:hover{transform:translateY(-4px);color:#fff;background:linear-gradient(135deg,#ff2a31,#b90007);box-shadow:0 14px 32px rgba(237,28,36,.25);}
#designerShareModal.designer-modal--share-design-next .share-icon:hover:before{animation:shareDesignBorderFade 1.25s ease-out infinite;}
#designerShareModal.designer-modal--share-design-next .share-icon:hover:after{animation:shareDesignBorderFade 1.25s ease-out .28s infinite;}
@keyframes shareDesignModalPop{from{opacity:0;transform:scale(.92) translateY(28px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes shareDesignSoftBorderPulse{0%,100%{opacity:.32;transform:scale(1)}50%{opacity:.78;transform:scale(1.012)}}
@keyframes shareDesignBorderFade{0%{opacity:.75;transform:scale(1)}100%{opacity:0;transform:scale(1.16)}}
@media(max-width:760px){#designerShareModal.designer-modal--share-design-next{align-items:flex-start;padding:18px;overflow:auto;}#designerShareModal.designer-modal--share-design-next .share-header{height:auto;min-height:62px;padding:12px 18px;}#designerShareModal.designer-modal--share-design-next .share-header .designer-modal__head{font-size:20px !important;line-height:1.2 !important;}#designerShareModal.designer-modal--share-design-next .share-body{padding:28px 18px 30px !important;max-height:none;}#designerShareModal.designer-modal--share-design-next .product-stage{height:380px;}#designerShareModal.designer-modal--share-design-next .product-stage img{max-width:300px !important;max-height:350px !important;}#designerShareModal.designer-modal--share-design-next .share-modal:after{display:none;}#designerShareModal.designer-modal--share-design-next .share-row{gap:10px;}#designerShareModal.designer-modal--share-design-next .share-icon{width:34px;height:34px;font-size:21px;}}

.designer-modal--login-next .input-wrap input.designer-input-error{border-color:#ed1c24 !important;box-shadow:0 0 0 4px rgba(237,28,36,.16),0 14px 30px rgba(237,28,36,.14) !important;}
.designer-modal--login-next .login-title{display:none !important;}

/* Precise modal visual fixes */
.designer-modal--welcome-vb .vb-save-tag{display:flex;flex-direction:column;align-items:center;}
.designer-modal--welcome-vb .vb-save-tag strong{order:1;margin-bottom:16px;}
.designer-modal--welcome-vb .vb-big-icon{order:2;}
.designer-modal--welcome-vb .vb-safe-line{order:3;}
.designer-modal--welcome-vb .vb-save-tag small{order:4;}
.designer-modal--welcome-vb .vb-eyebrow,
.designer-modal--signup-next .signup-eyebrow{display:inline-flex;align-items:center;gap:10px;background:#fff1f1;color:#b80008;border:1px solid #ffd7d7;padding:12px 18px;font-size:18px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:15px;}
.designer-modal--welcome-vb .vb-outline,
.designer-modal--welcome-vb .vb-primary{border-color:#ef2028 !important;color:#c60008 !important;box-shadow:0 16px 34px rgba(237,28,36,.14) !important;}
.designer-modal--welcome-vb .vb-primary{background:#fff !important;}
.designer-modal--welcome-vb .vb-btn .shine{background:linear-gradient(135deg,#ff2a31,#b90007) !important;}
.designer-modal--welcome-vb .vb-btn:hover{border-color:#ef2028 !important;color:#fff !important;box-shadow:0 16px 34px rgba(237,28,36,.30) !important;}
.designer-modal--welcome-vb .vb-btn:hover .shine{transform:scaleX(1);}
.designer-modal--signup-next .visual-frame>div{display:flex;flex-direction:column;align-items:center;}
.designer-modal--signup-next .visual-title{order:1;margin-bottom:16px;}
.designer-modal--signup-next .signup-shield{order:2;margin-top:0;}
.designer-modal--signup-next .visual-subtitle{order:3;}
.designer-modal--signup-next .visual-text{order:4;}
.designer-modal--login-next .input-wrap input,
.designer-modal--signup-next .input-wrap input,
.designer-modal--login-next .input-wrap input:-webkit-autofill,
.designer-modal--signup-next .input-wrap input:-webkit-autofill,
.designer-modal--login-next .input-wrap input:-webkit-autofill:hover,
.designer-modal--signup-next .input-wrap input:-webkit-autofill:hover,
.designer-modal--login-next .input-wrap input:-webkit-autofill:focus,
.designer-modal--signup-next .input-wrap input:-webkit-autofill:focus{background:#cccccc !important;-webkit-box-shadow:0 0 0 1000px #cccccc inset,0 10px 22px rgba(0,0,0,.04) !important;box-shadow:0 0 0 1000px #cccccc inset,0 10px 22px rgba(0,0,0,.04) !important;-webkit-text-fill-color:#111 !important;caret-color:#111;}
.designer-modal--login-next .input-wrap input.designer-input-error,
.designer-modal--signup-next .input-wrap input.is-invalid{border-color:#ed1c24 !important;box-shadow:0 0 0 2px rgba(237,28,36,.20),0 12px 26px rgba(237,28,36,.12),0 0 0 1000px #cccccc inset !important;}
.designer-modal--signup-next .field-row{align-items:start;}
.designer-modal--signup-next .field-row label{padding-top:18px;}
.designer-modal--signup-next .designer-form-field{position:relative;}
.designer-modal--signup-next .designer-field-message{position:static !important;display:block;margin:6px 0 0;padding:0 0 0 2px;color:#c60008;font-size:11px;font-weight:950;line-height:1.25;text-transform:uppercase;letter-spacing:.02em;min-height:0;}
.designer-modal--signup-next .designer-field-message.is-success{color:#16843b;}
.designer-modal--signup-next .designer-auth-message.is-error{margin-top:12px;color:#c60008;font-size:12px;font-weight:950;text-transform:uppercase;text-align:center;}
.designer-modal--signup-next .signup-btn:disabled{opacity:.42;filter:grayscale(.25);cursor:not-allowed;transform:none !important;box-shadow:0 10px 22px rgba(0,0,0,.08) !important;}
.designer-modal--signup-next .signup-btn:disabled:before,
.designer-modal--signup-next .signup-btn:disabled:after{display:none !important;}
.designer-modal--signup-next .signup-btn.is-ready{opacity:1;filter:none;cursor:pointer;}


/* Reset password modal precise fixes */
.designer-modal--reset-next .visual-frame>div{display:flex;flex-direction:column;align-items:center;}
.designer-modal--reset-next .visual-title{order:1;margin-bottom:16px;}
.designer-modal--reset-next .login-shield{order:2;margin:0 auto 20px;}
.designer-modal--reset-next .visual-subtitle{order:3;margin-top:0;}
.designer-modal--reset-next .visual-text{order:4;}
.designer-modal--reset-next .login-content{padding-top:18px;}
.designer-modal--reset-next .login-eyebrow{margin-top:0;margin-bottom:18px;}
.designer-modal--reset-next .reset-form{max-width:366px;margin:28px auto 0;}
.designer-modal--reset-next .field-row{grid-template-columns:70px 1fr;gap:16px;}
.designer-modal--reset-next .field-row label{text-align:right;}
.designer-modal--reset-next .input-wrap input{height:52px;}
.designer-modal--reset-next .designer-field-message{position:static !important;display:block;margin:6px 0 0;padding-left:2px;color:#c60008;font-size:11px;font-weight:950;line-height:1.25;text-transform:uppercase;letter-spacing:.02em;}
@media(max-width:760px){.designer-modal--reset-next .login-content{padding-top:34px;}.designer-modal--reset-next .reset-form{max-width:none;}.designer-modal--reset-next .field-row{grid-template-columns:1fr;gap:7px;}.designer-modal--reset-next .field-row label{text-align:left;}}


/* ===== FORGOT PASSWORD FINAL ALIGNMENT FIX ===== */
.designer-modal--reset-next .login-content{padding-top:18px !important;}
.designer-modal--reset-next .login-eyebrow{margin-top:0 !important;margin-bottom:18px !important;}
.designer-modal--reset-next .reset-form{max-width:366px !important;margin:28px auto 0 !important;transform:translateX(-5%);}
.designer-modal--reset-next .designer-form-row--forgot.field-row{grid-template-columns:72px 1fr !important;gap:18px !important;align-items:center !important;}
.designer-modal--reset-next .designer-form-row--forgot .designer-form-label{display:flex !important;align-items:center !important;justify-content:flex-end !important;height:52px !important;text-align:right !important;line-height:1 !important;margin:0 !important;}
.designer-modal--reset-next .designer-form-row--forgot .input-wrap{display:block !important;width:100% !important;}
.designer-modal--reset-next .designer-form-row--forgot .input-wrap i{left:16px !important;top:50% !important;transform:translateY(-50%) !important;line-height:1 !important;}
.designer-modal--reset-next .designer-form-row--forgot .input-wrap input{height:52px !important;padding-left:48px !important;line-height:52px !important;background:#ccc !important;}
@media(max-width:760px){.designer-modal--reset-next .reset-form{transform:none !important;max-width:none !important;}.designer-modal--reset-next .designer-form-row--forgot.field-row{grid-template-columns:1fr !important;gap:7px !important;}.designer-modal--reset-next .designer-form-row--forgot .designer-form-label{height:auto !important;justify-content:flex-start !important;text-align:left !important;}}

/* Virtual modal final alignment fixes */
.designer-modal--welcome-vb .vb-content,
#designerLoginModal .login-content,
#designerRegisterModal .signup-content,
#designerForgotModal .login-content{padding-top:24px !important;}
.designer-modal--welcome-vb .vb-eyebrow,
#designerLoginModal .login-eyebrow,
#designerRegisterModal .signup-eyebrow,
#designerForgotModal .login-eyebrow{margin-top:0 !important;margin-bottom:18px !important;font-size:14px !important;font-weight:600 !important;line-height:1.2 !important;min-height:42px;display:inline-flex !important;align-items:center !important;}
.designer-modal--welcome-vb .vb-eyebrow i,
#designerLoginModal .login-eyebrow i,
#designerRegisterModal .signup-eyebrow i,
#designerForgotModal .login-eyebrow i{font-size:16px !important;line-height:1 !important;display:inline-grid !important;place-items:center !important;}
.designer-modal--welcome-vb .vb-outline:hover,
.designer-modal--welcome-vb .vb-primary:hover{background:#ed1c24 !important;border-color:#ed1c24 !important;color:#fff !important;}
.designer-modal--welcome-vb .vb-outline:hover .shine,
.designer-modal--welcome-vb .vb-primary:hover .shine{transform:scaleX(1) !important;background:linear-gradient(135deg,#ff2a31,#b90007) !important;}
.designer-modal--welcome-vb .vb-feature i{position:absolute;left:8px !important;top:9px !important;width:44px !important;height:44px !important;background:#fff0f0 !important;color:#ed1c24 !important;display:grid !important;place-items:center !important;font-size:27px !important;}
.designer-modal--welcome-vb .vb-feature{position:relative;background:#fff;border:1px solid #e8e8e8;padding:15px 14px 14px 60px !important;text-align:left;box-shadow:0 10px 22px rgba(0,0,0,.04);font-size:14px !important;font-weight:600 !important;color:#2a2a2a;transition:.25s;}
.designer-modal .designer-form-label,
.designer-modal .field-row label,
.designer-modal input,
.designer-modal input::placeholder{font-size:14px !important;font-weight:600 !important;}
#designerLoginModal .field-row,
#designerRegisterModal .field-row,
#designerForgotModal .field-row,
#designerSaveDesignModal .form-row{align-items:center !important;}
#designerForgotModal .designer-form-row--forgot{grid-template-columns:76px minmax(0,1fr) !important;max-width:370px !important;margin-left:5% !important;margin-right:auto !important;gap:10px !important;}
#designerForgotModal .designer-form-row--forgot label{display:flex !important;align-items:center !important;justify-content:flex-end !important;height:52px !important;margin:0 !important;line-height:1 !important;}
#designerForgotModal .designer-form-row--forgot .input-wrap i{top:50% !important;transform:translateY(-50%) !important;}
#designerForgotModal .designer-form-row--forgot input{height:52px !important;line-height:52px !important;}
.designer-saved-design-item__thumb-wrap{position:relative;width:100%;aspect-ratio:1/1;max-width:270px;max-height:270px;margin:0 auto 10px;overflow:hidden;display:block;}
#designerSaveDesignModal.designer-modal--save-design-next .save-body{padding:16px 34px 24px !important;overflow-x:hidden !important;overflow-y:auto !important;}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview{width:min(550px,100%) !important;height:320px !important;margin:0 auto 14px !important;overflow:hidden !important;}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview img{max-width:100% !important;max-height:315px !important;width:auto !important;height:auto !important;object-fit:contain !important;}
#designerSaveDesignModal.designer-modal--save-design-next .designer-save-design.save-form{max-width:620px !important;}
#designerSaveDesignModal.designer-modal--save-design-next .save-actions{display:flex !important;justify-content:center !important;align-items:center !important;grid-template-columns:none !important;gap:14px !important;max-width:100% !important;margin:20px auto 0 !important;}
#designerSaveDesignModal.designer-modal--save-design-next .save-actions .save-btn{width:178px !important;max-width:178px !important;flex:0 0 178px !important;}
#designerSaveDesignModal.designer-modal--save-design-next .form-row label{font-size:14px !important;font-weight:600 !important;}
#designerSaveDesignModal.designer-modal--save-design-next .input-wrap i{top:50% !important;transform:translateY(-50%) !important;}
@media(max-width:760px){#designerForgotModal .designer-form-row--forgot{grid-template-columns:1fr !important;max-width:100% !important;margin-left:0 !important;}#designerForgotModal .designer-form-row--forgot label{justify-content:flex-start !important;height:auto !important;}#designerSaveDesignModal.designer-modal--save-design-next .save-actions{flex-direction:column !important;}#designerSaveDesignModal.designer-modal--save-design-next .save-actions .save-btn{width:100% !important;max-width:100% !important;flex:0 0 auto !important;}}

/* ===== USER REQUESTED FINAL LOST PASSWORD + MODAL PATCH ===== */
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__thumb-wrap {
  height: 215px !important;
  margin: 0 0 14px !important;
  position: relative !important;
  z-index: 2 !important;
  background: linear-gradient(180deg,#fff,#fbfbfb) !important;
  border: 1px solid #f1f1f1 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__thumb-wrap .designer-saved-design-item__thumb {max-height: 198px !important;}
#designerForgotModal .designer-form-row--forgot.field-row {grid-template-columns: 48px minmax(0,1fr) !important;max-width: 370px !important;margin-left: 5% !important;margin-right: auto !important;gap: 8px !important;align-items: center !important;}
#designerForgotModal .designer-form-row--forgot .designer-form-label {height: 52px !important;display: flex !important;align-items: center !important;justify-content: flex-end !important;text-align: right !important;margin: 0 !important;line-height: 1 !important;}
#designerForgotModal .designer-form-row--forgot .input-wrap i {top: 33% !important;transform: translateY(-33%) !important;}
#designerForgotModal .designer-form-row--forgot input {height: 52px !important;line-height: 52px !important;}
@media(max-width:760px){#designerForgotModal .designer-form-row--forgot.field-row{grid-template-columns:1fr !important;max-width:100% !important;margin-left:0 !important;gap:7px !important;}#designerForgotModal .designer-form-row--forgot .designer-form-label{height:auto !important;justify-content:flex-start !important;text-align:left !important;}}
.vos-lost-page{font-family:Arial,Helvetica,sans-serif;min-height:100vh;background:#ffffff;position:relative;overflow-x:hidden;margin:0;color:#231f20;}.vos-lost-page *{box-sizing:border-box;}.vos-lost-bg{position:fixed;inset:0;background:#ffffff;overflow:hidden;z-index:0;}.vos-lost-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;z-index:2;}.vos-lost-card{width:100%;max-width:920px;min-height:500px;display:flex;position:relative;box-shadow:0 28px 55px rgba(0,0,0,.14);background:transparent;}.vos-lost-left,.vos-lost-right{width:50%;min-height:500px;}.vos-lost-left{background:#f3f3f3;padding:48px 42px 42px;display:flex;flex-direction:column;justify-content:center;position:relative;}.vos-lost-logo{position:absolute;top:42px;left:42px;line-height:1;}.vos-lost-logo img,.vos-lost-mobile-brand img{display:block;max-width:190px;width:100%;height:auto;}.vos-lost-box{max-width:345px;margin-top:34px;}.vos-lost-box h1{font-size:34px;line-height:1.18;color:#231f20;margin:0 0 16px;font-weight:700;}.vos-lost-box p{font-size:17px;line-height:1.65;color:#585858;margin:0 0 18px;}.vos-lost-note{font-size:14px;line-height:1.75;color:#8c1d24;background:#fff;box-shadow:0 10px 18px rgba(0,0,0,.06);border-left:3px solid #c9172b;padding:14px 16px;max-width:320px;margin-bottom:18px;}.vos-lost-note strong{color:#231f20;}.vos-lost-form{display:grid;gap:14px;max-width:320px;}.vos-lost-form label{font-size:14px;font-weight:900;text-transform:uppercase;color:#231f20;}.vos-lost-form input{width:100%;height:48px;border:1px solid #cfcfcf;background:#fff;padding:0 14px;font-size:14px;font-weight:600;outline:none;}.vos-lost-form input:focus{border-color:#c9172b;box-shadow:0 0 0 3px rgba(201,23,43,.12);}.vos-lost-btn{height:52px;border:0;background:#c9172b;color:#fff;font-size:14px;font-weight:900;text-transform:uppercase;cursor:pointer;transition:.25s;box-shadow:0 14px 24px rgba(201,23,43,.20);}.vos-lost-btn:hover{background:#231f20;}.vos-lost-message{font-size:14px;line-height:1.65;background:#fff;border-left:3px solid #c9172b;padding:14px 16px;box-shadow:0 10px 18px rgba(0,0,0,.06);}.vos-lost-success{color:#146b2f;border-left-color:#16aa4a;}.vos-lost-danger{color:#8c1d24;}.vos-lost-link{color:#c9172b;font-weight:900;text-decoration:none;}.vos-lost-link:hover{color:#231f20;}.vos-lost-right{position:relative;overflow:hidden;background:radial-gradient(circle at top left,rgba(255,255,255,.16),transparent 38%),radial-gradient(circle at bottom right,rgba(255,255,255,.10),transparent 34%),linear-gradient(135deg,#4f090d 0%,#7f1018 36%,#b1131f 68%,#d62b39 100%);display:flex;align-items:center;justify-content:center;padding:34px;}.vos-lost-visual{width:100%;max-width:300px;text-align:center;color:#fff;}.vos-lost-icon-wrap{width:160px;height:160px;margin:0 auto 24px;border-radius:50%;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;box-shadow:0 18px 44px rgba(0,0,0,.16);backdrop-filter:blur(4px);}.vos-lost-icon{font-size:72px;line-height:1;color:#fff;}.vos-lost-help{font-size:16px;line-height:1.8;color:rgba(255,255,255,.97);text-shadow:0 2px 10px rgba(0,0,0,.14);}.vos-lost-help strong{font-weight:700;color:#fff;}.vos-lost-mobile-brand{display:none;margin-bottom:20px;}.vos-lost-footer{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;white-space:nowrap;}.vos-lost-footer-text{font-size:13px;color:#222;font-weight:600;}.vos-lost-footer img{display:block;width:60px;height:auto;margin-top:-30px;}@media(max-width:900px){.vos-lost-card{max-width:820px}.vos-lost-left{padding:42px 32px 36px}.vos-lost-logo{left:32px}.vos-lost-box h1{font-size:30px}.vos-lost-box p{font-size:16px}}@media(max-width:700px){.vos-lost-wrap{height:auto;min-height:100vh;padding:16px}.vos-lost-card{flex-direction:column;min-height:auto}.vos-lost-left,.vos-lost-right{width:100%;min-height:auto}.vos-lost-right{order:1;min-height:260px}.vos-lost-left{order:2;padding:30px 22px 28px}.vos-lost-logo{display:none}.vos-lost-mobile-brand{display:block}.vos-lost-box{max-width:100%;margin-top:0}.vos-lost-box h1{font-size:27px}.vos-lost-box p{font-size:15px;margin-bottom:20px}.vos-lost-form{max-width:100%}.vos-lost-footer{position:relative;bottom:auto;left:auto;transform:none;margin:10px auto 18px;width:max-content;max-width:calc(100% - 24px);white-space:normal;flex-wrap:wrap}.vos-lost-footer img{width:105px}}@media(max-width:420px){.vos-lost-wrap{padding:12px}.vos-lost-right{min-height:220px}.vos-lost-box h1{font-size:24px}.vos-lost-box p{font-size:14px;line-height:1.55}.vos-lost-icon-wrap{width:135px;height:135px}.vos-lost-icon{font-size:58px}.vos-lost-help{font-size:14px}}


/* ===== FINAL USER PATCH: lostpassword.virtual + modal alignment/fields ===== */
#designerForgotModal .designer-form-row--forgot.field-row{
  grid-template-columns:76px minmax(0,1fr) !important;
  max-width:370px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:10px !important;
  align-items:center !important;
}
#designerForgotModal .designer-form-row--forgot .designer-form-label{
  height:52px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  text-align:right !important;
  line-height:52px !important;
  margin:0 !important;
  padding:0 !important;
}
#designerForgotModal .designer-form-row--forgot .input-wrap{height:52px !important;display:block !important;}
#designerForgotModal .designer-form-row--forgot .input-wrap i{
  top:33% !important;
  transform:translateY(-33%) !important;
}
#designerForgotModal .designer-form-row--forgot input{height:52px !important;line-height:52px !important;text-transform:none !important;}

.designer-modal input,
.designer-modal textarea,
.designer-modal select,
.designer-modal input::placeholder,
.designer-modal textarea::placeholder,
#designerSaveDesignModal input,
#designerSaveDesignModal input::placeholder,
#designerSavedDesignsModal input,
#designerSavedDesignsModal input::placeholder{
  text-transform:none !important;
}

#designerSaveDesignModal.designer-modal--save-design-next .form-row:has(#designerSaveDesignOwnerField){display:none !important;}
#designerSaveDesignModal.designer-modal--save-design-next .save-actions{margin-top:10px !important;}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview{margin-bottom:10px !important;}

#designerSavedDesignsModal.designer-modal--saved-designs-next .designer-saved-design-item__thumb-wrap{
  height:215px !important;
  margin:0 0 14px !important;
  position:relative !important;
  z-index:2 !important;
  background:linear-gradient(180deg,#fff,#fbfbfb) !important;
  border:1px solid #f1f1f1 !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}


/* ===== FINAL REMAINING MODAL + LOSTPASSWORD PATCH ===== */
#designerForgotModal .designer-form-row--forgot.field-row{
  grid-template-columns:76px minmax(0,1fr) !important;
  max-width:370px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:10px !important;
  align-items:center !important;
}
#designerForgotModal .designer-form-row--forgot .designer-form-label,
#designerForgotModal .designer-form-row--forgot label{
  height:52px !important;
  min-height:52px !important;
  line-height:52px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  text-align:right !important;
  padding:0 !important;
  margin:0 !important;
  font-size:14px !important;
  font-weight:600 !important;
  text-transform:none !important;
}
#designerForgotModal .designer-form-row--forgot .input-wrap{height:52px !important;display:block !important;}
#designerForgotModal .designer-form-row--forgot .input-wrap i{
  top:50% !important;
  transform:translateY(-50%) !important;
  height:16px !important;
  line-height:16px !important;
  display:grid !important;
  place-items:center !important;
}
#designerForgotModal .designer-form-row--forgot input,
#designerForgotModal .designer-form-row--forgot input::placeholder{
  height:52px !important;
  line-height:52px !important;
  font-size:14px !important;
  font-weight:600 !important;
  text-transform:none !important;
}
.designer-modal input,
.designer-modal textarea,
.designer-modal select,
.designer-modal input::placeholder,
.designer-modal textarea::placeholder,
#designerSaveDesignModal input,
#designerSaveDesignModal input::placeholder,
#designerSavedDesignsModal input,
#designerSavedDesignsModal input::placeholder{
  text-transform:none !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .save-body{
  padding:16px 34px 18px !important;
  overflow-x:hidden !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview{
  width:min(560px,100%) !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 auto 12px !important;
  padding:0 !important;
  overflow:hidden !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview:before,
#designerSaveDesignModal.designer-modal--save-design-next .product-preview:after,
#designerShareModal.designer-modal--share-design-next .product-stage:before,
#designerShareModal.designer-modal--share-design-next .product-stage:after{display:none !important;}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview img{
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:360px !important;
  object-fit:contain !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .designer-save-design.save-form{
  max-width:560px !important;
  margin:0 auto !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .form-row{
  grid-template-columns:120px 1fr !important;
  gap:10px !important;
  margin:0 0 10px !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .form-row:has(#designerSaveDesignOwnerField){display:none !important;}
#designerSaveDesignModal.designer-modal--save-design-next .input-wrap input,
#designerSaveDesignModal.designer-modal--save-design-next .input-wrap input::placeholder{
  text-transform:none !important;
  font-size:14px !important;
  font-weight:600 !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .save-actions{
  margin:12px auto 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
}
#designerShareModal.designer-modal--share-design-next .product-stage{
  width:min(460px,100%) !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 auto 18px !important;
  padding:0 !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#designerShareModal.designer-modal--share-design-next .product-stage img{
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:470px !important;
  object-fit:contain !important;
}
@media(max-width:760px){
  #designerForgotModal .designer-form-row--forgot.field-row{grid-template-columns:1fr !important;max-width:100% !important;margin-left:0 !important;margin-right:0 !important;}
  #designerForgotModal .designer-form-row--forgot .designer-form-label,#designerForgotModal .designer-form-row--forgot label{justify-content:flex-start !important;height:auto !important;line-height:1.2 !important;min-height:0 !important;}
  #designerSaveDesignModal.designer-modal--save-design-next .form-row{grid-template-columns:1fr !important;}
}


/* Final requested modal + lostpassword fixes */
#designerForgotModal .designer-form-row--forgot input,
#designerForgotModal .designer-form-row--forgot input::placeholder,
#designerForgotModal input,
#designerForgotModal input::placeholder{
  text-transform:none !important;
}
#designerForgotModal .designer-form-row--forgot.field-row{
  grid-template-columns:76px minmax(0,1fr) !important;
  max-width:370px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:10px !important;
  align-items:center !important;
}
#designerForgotModal .designer-form-row--forgot .designer-form-label,
#designerForgotModal .designer-form-row--forgot label{
  height:52px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  text-align:right !important;
  margin:0 !important;
  line-height:52px !important;
  font-size:14px !important;
  font-weight:600 !important;
  text-transform:none !important;
}
#designerForgotModal .designer-form-row--forgot .input-wrap{
  height:52px !important;
  display:block !important;
}
#designerForgotModal .designer-form-row--forgot .input-wrap i{
  top:50% !important;
  transform:translateY(-50%) !important;
  line-height:1 !important;
}
#designerForgotModal .designer-form-row--forgot input{
  height:52px !important;
  line-height:52px !important;
  font-size:14px !important;
  font-weight:600 !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .save-modal{
  width:min(760px,96vw) !important;
  max-width:600px !important;
  position:relative;
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:0 42px 130px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.28) !important;
  animation:saveDesignModalPop .45s cubic-bezier(.18,.9,.22,1.15) !important;
  overflow:visible !important;
  max-height:calc(100vh - 48px);
  padding:0 !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .save-body{
  padding:14px 28px 22px !important;
  overflow:hidden !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 auto 10px !important;
  padding:0 !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview:before,
#designerSaveDesignModal.designer-modal--save-design-next .product-preview:after,
#designerSaveDesignModal.designer-modal--save-design-next .product-preview .product-glow{
  display:none !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview img{
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:570px !important;
  object-fit:contain !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .designer-save-design.save-form{
  max-width:100% !important;
  width:100% !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .form-row{
  grid-template-columns:110px minmax(0,1fr) !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 auto 12px !important;
  align-items:center !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .input-wrap input,
#designerSaveDesignModal.designer-modal--save-design-next .input-wrap input::placeholder,
#designerSavedDesignsModal input,
#designerSavedDesignsModal input::placeholder{
  text-transform:none !important;
  font-size:14px !important;
  font-weight:600 !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .save-actions{
  margin:16px auto 0 !important;
  padding:0 !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;
}
#designerShareModal.designer-modal--share-design-next .product-stage{
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
#designerShareModal.designer-modal--share-design-next .product-stage:before,
#designerShareModal.designer-modal--share-design-next .product-stage:after,
#designerShareModal.designer-modal--share-design-next .product-glow{
  display:none !important;
}
#designerShareModal.designer-modal--share-design-next .product-stage img{
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:calc(100vh - 220px) !important;
  object-fit:contain !important;
}
@media(max-width:760px){
  #designerForgotModal .designer-form-row--forgot.field-row{grid-template-columns:1fr !important;max-width:100% !important;margin-left:0 !important;margin-right:0 !important;}
  #designerForgotModal .designer-form-row--forgot .designer-form-label,#designerForgotModal .designer-form-row--forgot label{justify-content:flex-start !important;height:auto !important;line-height:1.2 !important;}
  #designerSaveDesignModal.designer-modal--save-design-next .form-row{grid-template-columns:1fr !important;}
  #designerSaveDesignModal.designer-modal--save-design-next .save-actions{flex-direction:column !important;}
}


/* final requested modal fixes */
#designerForgotEmail,
#designerForgotEmail::placeholder{ text-transform:none !important; }
#designerForgotModal .designer-form-row--forgot.field-row{
  grid-template-columns:76px minmax(0,1fr) !important;
  max-width:360px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:8px !important;
  align-items:center !important;
}
#designerForgotModal .designer-form-row--forgot .designer-form-label,
#designerForgotModal .designer-form-row--forgot label{
  height:52px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  text-align:right !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  font-size:14px !important;
  font-weight:600 !important;
  text-transform:none !important;
}
#designerForgotModal .designer-form-row--forgot .input-wrap{height:52px !important;display:block !important;}
#designerForgotModal .designer-form-row--forgot .input-wrap i{
  top:50% !important;
  transform:translateY(-50%) !important;
  left:16px !important;
  line-height:1 !important;
}
#designerForgotModal .designer-form-row--forgot input{
  height:52px !important;
  line-height:52px !important;
  text-transform:none !important;
  padding-left:46px !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 570px !important;
  object-fit: contain !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .save-modal {
  width: min(760px,96vw) !important;
  max-width: 600px !important;
  position: relative;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: 0 42px 130px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.28) !important;
  animation: saveDesignModalPop .45s cubic-bezier(.18,.9,.22,1.15) !important;
  overflow: visible !important;
  max-height: calc(100vh - 48px);
  padding: 0 !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .save-body{
  padding:16px 26px 22px !important;
  max-height:calc(100vh - 115px) !important;
  overflow:hidden !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .product-preview{
  width:100% !important;
  max-width:360px !important;
  height:360px !important;
  margin:0 auto 12px !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .save-form{
  width:100% !important;
  max-width:500px !important;
  margin:0 auto !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .form-row{
  grid-template-columns:110px minmax(0,1fr) !important;
  gap:10px !important;
  margin:0 auto 0 !important;
  align-items:center !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .designer-save-design__input,
#designerSaveDesignModal.designer-modal--save-design-next input,
#designerSavedDesignsModal input{ text-transform:none !important; }
#designerSaveDesignModal.designer-modal--save-design-next .save-actions{
  margin:18px auto 0 !important;
  padding:0 !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;
  max-width:390px !important;
}
#designerSaveDesignModal.designer-modal--save-design-next .save-actions .save-btn{
  flex:1 1 0 !important;
  max-width:188px !important;
}
#designerShareModal.designer-modal--share-design-next .product-stage,
#designerShareModal.designer-modal--share-design-next .designer-share-modal__preview-wrap{
  width:min(420px,100%) !important;
  max-width:420px !important;
  height:420px !important;
  margin:0 auto 18px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#designerShareModal.designer-modal--share-design-next .product-stage img,
#designerShareModal.designer-modal--share-design-next .designer-share-modal__preview{
  max-width:100% !important;
  max-height:100% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}
@media(max-width:760px){
  #designerForgotModal .designer-form-row--forgot.field-row{grid-template-columns:1fr !important;max-width:100% !important;gap:7px !important;}
  #designerForgotModal .designer-form-row--forgot .designer-form-label,#designerForgotModal .designer-form-row--forgot label{height:auto !important;justify-content:flex-start !important;text-align:left !important;}
  #designerSaveDesignModal.designer-modal--save-design-next .product-preview{height:300px !important;}
  #designerSaveDesignModal.designer-modal--save-design-next .form-row{grid-template-columns:1fr !important;}
  #designerShareModal.designer-modal--share-design-next .product-stage,#designerShareModal.designer-modal--share-design-next .designer-share-modal__preview-wrap{height:320px !important;}
}

/* Final logout/login style patch */
.designer-modal--logout-next .login-modal{width:760px;max-width:100%;position:relative;background:#fff;box-shadow:0 42px 130px rgba(0,0,0,.68),0 0 0 1px rgba(255,255,255,.2);animation:modalPop .45s cubic-bezier(.18,.9,.22,1.15)}
.designer-modal--logout-next .login-modal:before{content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(237,28,36,.85),rgba(255,255,255,.24));z-index:-1}
.designer-modal--logout-next .login-modal:after{content:"";position:absolute;inset:-10px;border:1px solid rgba(237,28,36,.26);opacity:.72;pointer-events:none;animation:softBorderPulse 2.4s ease-in-out infinite}
.designer-modal--logout-next .login-content h2{display:block !important;font-size:36px;line-height:1.05;font-weight:950;letter-spacing:-1px;color:#111;margin:18px 0 10px;text-transform:uppercase}
.designer-modal--logout-next .designer-logout-box{padding:8px 0 0 !important;text-align:left !important;background:transparent !important;box-shadow:none !important;border:0 !important}
.designer-modal--logout-next .designer-logout-text{font-size:15px !important;font-weight:600 !important;color:#666 !important;line-height:1.65 !important;margin:0 0 12px !important;text-align:left !important}
.designer-modal--logout-next .designer-logout-subtext{font-size:14px !important;font-weight:800 !important;color:#222 !important;line-height:1.5 !important;margin:0 0 12px !important;text-transform:uppercase;text-align:left !important}
.designer-modal--logout-next .designer-logout-count{width:92px;height:92px;display:grid;place-items:center;background:#fff1f1;color:#ed1c24 !important;border:1px solid #ffd7d7;font-size:50px !important;font-weight:950 !important;line-height:1 !important;margin:0 !important;box-shadow:0 16px 34px rgba(237,28,36,.10)}
@media(max-width:760px){.designer-modal--logout-next .login-layout{grid-template-columns:1fr}.designer-modal--logout-next .login-visual{padding:28px 22px}.designer-modal--logout-next .visual-frame{min-height:250px}.designer-modal--logout-next .login-content{padding:34px 24px 28px}.designer-modal--logout-next .login-content h2{font-size:30px}}

/* ===== PATCH: logout/create success countdown alignment ===== */
.designer-modal--logout-next .designer-logout-box,
.designer-modal--signup-next .designer-register-success{
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px 18px 28px!important;
}
.designer-modal--logout-next .designer-logout-subtext,
.designer-modal--signup-next .designer-register-success__text{
  display:block!important;
  width:100%!important;
  max-width:360px!important;
  margin:12px auto 16px!important;
  text-align:center!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.45!important;
  color:#222!important;
  text-transform:uppercase!important;
}
.designer-modal--logout-next .designer-logout-count,
.designer-modal--signup-next .designer-register-success__count{
  width:88px!important;
  height:88px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 auto!important;
  background:#fff1f1!important;
  border:1px solid #ffd7d7!important;
  color:#ed1c24!important;
  font-size:50px!important;
  line-height:1!important;
  font-weight:950!important;
  box-shadow:0 18px 44px rgba(237,28,36,.12)!important;
}
.designer-modal--signup-next .designer-register-success__title{
  font-size:30px!important;
  font-weight:950!important;
  line-height:1.1!important;
  color:#111!important;
  text-transform:uppercase!important;
  margin-bottom:4px!important;
}


/* ===== FINAL PATCH: logout count alignment + register success message ===== */
.designer-modal--logout-next .designer-logout-box{
  width:100%!important;
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px 0 22px!important;
  margin:0 auto!important;
}
.designer-modal--logout-next .designer-logout-subtext{
  width:100%!important;
  max-width:360px!important;
  margin:12px auto 16px!important;
  text-align:center!important;
  display:block!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.45!important;
  color:#222!important;
  text-transform:uppercase!important;
}
.designer-modal--logout-next .designer-logout-count{
  margin:0 auto!important;
  align-self:center!important;
}
.designer-modal--signup-next .designer-register-success{
  padding:34px 18px 38px!important;
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
.designer-modal--signup-next .designer-register-success__title{display:none!important;}
.designer-modal--signup-next .designer-register-success__count{
  order:1!important;
  width:92px!important;
  height:92px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 auto 18px!important;
  background:#fff1f1!important;
  border:1px solid #ffd7d7!important;
  color:#ed1c24!important;
  font-size:52px!important;
  line-height:1!important;
  font-weight:950!important;
  box-shadow:0 18px 44px rgba(237,28,36,.12)!important;
}
.designer-modal--signup-next .designer-register-success__text{
  order:2!important;
  display:block!important;
  width:100%!important;
  max-width:420px!important;
  margin:0 auto!important;
  text-align:center!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.55!important;
  color:#222!important;
  text-transform:none!important;
}

/* ===== FINAL PATCH: hide Create Account success box until real submit success ===== */
.designer-modal--signup-next #designerRegisterSuccess[style*="display:none"],
.designer-modal--signup-next #designerRegisterSuccess[style*="display: none"]{
  display:none!important;
}
.designer-modal--signup-next #designerRegisterFieldsWrap + #designerRegisterSuccess[style*="display:block"],
.designer-modal--signup-next #designerRegisterFieldsWrap + #designerRegisterSuccess[style*="display: block"]{
  display:flex!important;
}

/* ========================================================================== */
/* RESPONSIVE ENHANCEMENT — TABLET & MOBILE ONLY                              */
/* Desktop layout and existing application logic remain unchanged.            */
/* ========================================================================== */

@media (min-width: 768px) and (max-width: 1180px){
  html,body{overflow-x:hidden;}
  body.virtual-designer-page{height:auto;min-height:100vh;overflow-x:hidden;overflow-y:auto;}
  body.virtual-designer-page .wrap{
    grid-template-columns:minmax(0,1fr) clamp(320px,35vw,370px);
    min-height:calc(100vh - 132px);
    height:auto;
  }
  body.virtual-designer-page .left{min-width:0;padding:12px 10px 0;}
  body.virtual-designer-page .right{min-width:0;padding:12px;overflow-x:hidden;}
  body.virtual-designer-page .stage{min-height:560px;height:calc(100vh - 150px);padding:54px 8px 92px;overflow:hidden;}
  body.virtual-designer-page .stage .canvas-container,
  body.virtual-designer-page .stage canvas{max-width:100%!important;max-height:100%!important;}
  body.virtual-designer-page .designer-item-meta{left:14px;top:110px;transform:none;max-width:190px;}
  body.virtual-designer-page .designer-item-meta__title{font-size:22px;}
  body.virtual-designer-page .designer-item-meta__row{font-size:13px;}
  body.virtual-designer-page .top-actions{margin:6px 0 -48px;}
  body.virtual-designer-page .btn-dark,
  body.virtual-designer-page .btn-outline{min-height:42px;padding:10px 14px;}
  body.virtual-designer-page .mini-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
  body.virtual-designer-page .mini-tab{min-height:44px;padding:9px 7px;font-size:12px;line-height:1.2;}
  body.virtual-designer-page .virtual-fabric-bar__buttons{flex-wrap:wrap;max-width:100%;}
  body.virtual-designer-page .virtual-fabric-btn{flex:1 1 calc(33.333% - 5px);width:auto;min-width:88px;}
  body.virtual-designer-page .thumb-row,
  body.virtual-designer-page .swatch-grid{max-width:100%;}
  body.virtual-designer-page .designer-bottom-actions{right:16px;bottom:16px;}
  body.virtual-designer-page .canvas-note{width:min(82%,600px);bottom:14px;}
  body.virtual-designer-page .canvas-note__line{font-size:13px;}
  body.virtual-designer-page .checkout-preview-overlay{overflow-y:auto;align-items:flex-start;padding:20px 14px;}
  body.virtual-designer-page .checkout-preview-overlay__grid{gap:14px;}
  body.virtual-designer-page .checkout-preview-card img{min-height:260px;max-height:430px;}
  body.virtual-designer-page .designer-modal__dialog{max-width:calc(100vw - 40px);}
  body.virtual-designer-page .size-chart-modal__dialog,
  body.virtual-designer-page .virtual-fabric-details__inner{width:calc(100vw - 40px);max-width:980px;}
}

@media (max-width: 767px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;}
  body.virtual-designer-page{height:auto!important;min-height:100vh;overflow-x:hidden!important;overflow-y:auto!important;}
  body.virtual-designer-page *{min-width:0;}
  body.virtual-designer-page .ft-header{height:64px;padding:0 12px;gap:10px;}
  body.virtual-designer-page .ft-header .ft-logo{min-width:0;}
  body.virtual-designer-page .ft-header .ft-logo img{height:34px;max-width:160px;object-fit:contain;}
  body.virtual-designer-page .ft-auth{gap:7px;min-width:0;}
  body.virtual-designer-page .ft-login{min-height:40px;padding:8px 2px;font-size:13px;white-space:nowrap;}
  body.virtual-designer-page .ft-auth-user{max-width:110px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

  body.virtual-designer-page .wrap{display:flex!important;flex-direction:column;grid-template-columns:none;height:auto!important;min-height:0;width:100%;}
  body.virtual-designer-page .left{order:1;width:100%;padding:10px 10px 0;overflow:visible;}
  body.virtual-designer-page .right{order:2;width:100%;border-left:0;border-top:1px solid var(--line);padding:14px 12px 20px;overflow:visible;}

  body.virtual-designer-page .top-actions{position:relative;margin:0 0 8px;z-index:14;justify-content:flex-end;}
  body.virtual-designer-page .btn-dark,
  body.virtual-designer-page .btn-outline{min-height:42px;padding:9px 13px;font-size:13px;line-height:1.15;touch-action:manipulation;}
  body.virtual-designer-page .view-toggle-btn{min-width:112px;}

  body.virtual-designer-page .designer-item-meta{position:relative;left:auto;top:auto;transform:none;max-width:none;width:100%;padding:10px 12px;margin:0 0 8px;background:#f7f7f8;border:1px solid #e4e4e4;pointer-events:none;}
  body.virtual-designer-page .designer-item-meta__title{font-size:20px;line-height:1.15;margin-bottom:5px;}
  body.virtual-designer-page .designer-item-meta__row{display:inline;font-size:12px;line-height:1.45;margin-right:10px;}

  body.virtual-designer-page .stage{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;height:auto!important;min-height:0;padding:8px 0 12px;overflow:visible;}
  body.virtual-designer-page .stage>.canvas-container{width:min(100%,560px)!important;height:auto!important;aspect-ratio:1/1;max-width:100%!important;margin:0 auto!important;overflow:hidden;}
  body.virtual-designer-page .stage>.canvas-container canvas,
  body.virtual-designer-page .stage>canvas{max-width:100%!important;max-height:100%!important;}
  body.virtual-designer-page .canvas-note{position:relative;left:auto;bottom:auto;transform:none;width:100%;padding:10px 6px 4px;margin:0 auto;}
  body.virtual-designer-page .canvas-note__line{font-size:11px;line-height:1.35;font-weight:650;}
  body.virtual-designer-page .designer-bottom-actions{position:relative;right:auto;bottom:auto;width:100%;max-width:520px;margin:8px auto 2px;padding:10px 8px;align-items:center;gap:10px;border-top:1px solid #ececec;border-bottom:1px solid #ececec;}
  body.virtual-designer-page .designer-bottom-actions__saved{justify-content:center;min-height:40px;font-size:14px;}
  body.virtual-designer-page .designer-bottom-actions__row{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;}
  body.virtual-designer-page .designer-bottom-actions__btn{min-height:44px;justify-content:center;padding:8px 5px;background:#fff;border:1px solid #dedede;font-size:13px;}
  body.virtual-designer-page .designer-bottom-actions__btn i{font-size:16px;}
  body.virtual-designer-page .canvas-undo-wrap{right:12px;top:16px;}
  body.virtual-designer-page .canvas-undo-btn{width:42px;height:42px;}
  body.virtual-designer-page .canvas-undo-btn i{font-size:24px;}
  body.virtual-designer-page .canvas-undo-tooltip{display:none;}

  body.virtual-designer-page .virtual-fabric-bar{gap:9px;margin-bottom:14px;}
  body.virtual-designer-page .virtual-fabric-bar__title{font-size:21px;min-height:42px;}
  body.virtual-designer-page .virtual-fabric-bar__buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-width:none;}
  body.virtual-designer-page .virtual-fabric-btn{width:100%;height:42px;padding:0 7px;font-size:14px;touch-action:manipulation;}
  body.virtual-designer-page .mini-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;}
  body.virtual-designer-page .mini-tab{min-height:48px;padding:9px 8px;border:1px solid #e2e2e2;border-bottom-width:2px;font-size:12px;line-height:1.2;background:#fafafa;touch-action:manipulation;}
  body.virtual-designer-page .mini-tab.active{background:#fff;border-color:#e11212;color:#e11212;}
  body.virtual-designer-page .fill-head{min-height:46px;padding:11px 12px;}
  body.virtual-designer-page .fill-body,
  body.virtual-designer-page .panel,
  body.virtual-designer-page .card{padding:12px;}
  body.virtual-designer-page .bar-label{padding:8px 7px;margin:12px 0 9px;font-size:13px;}
  body.virtual-designer-page .grad-mode,
  body.virtual-designer-page .mode-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  body.virtual-designer-page .mode-row .mode-btn{width:100%;min-height:44px;}
  body.virtual-designer-page .grad-controls .row{display:grid;grid-template-columns:52px minmax(0,1fr) 42px;gap:8px;margin:11px 0;}
  body.virtual-designer-page .grad-controls .lbl{min-width:0;font-size:12px;}
  body.virtual-designer-page .grad-controls .val{min-width:0;font-size:12px;}
  body.virtual-designer-page input.input:not([type="range"]),
  body.virtual-designer-page select.input,
  body.virtual-designer-page textarea.input,
  body.virtual-designer-page .designer-form-input{min-height:44px;font-size:16px;}
  body.virtual-designer-page input[type="range"]{min-height:32px;touch-action:pan-y;}
  body.virtual-designer-page .btn-mini,
  body.virtual-designer-page .mode-btn,
  body.virtual-designer-page button{touch-action:manipulation;}
  body.virtual-designer-page .thumb-row{display:flex;max-width:100%;overflow-x:auto;overflow-y:hidden;gap:9px;padding:4px 2px 10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
  body.virtual-designer-page .thumb-row>*{flex:0 0 auto;scroll-snap-align:start;}
  body.virtual-designer-page .swatch-grid{max-width:100%;}

  body.virtual-designer-page .checkout-preview-overlay{position:fixed;inset:0;overflow-y:auto;align-items:flex-start;padding:14px 10px 24px;}
  body.virtual-designer-page .checkout-preview-overlay__inner{width:100%;}
  body.virtual-designer-page .checkout-preview-overlay__badge{min-height:30px;font-size:10px;}
  body.virtual-designer-page .checkout-preview-overlay__title{font-size:15px;margin:8px auto 12px;padding:0 42px 0 4px;}
  body.virtual-designer-page .checkout-preview-overlay__grid{grid-template-columns:1fr;gap:12px;}
  body.virtual-designer-page .checkout-preview-card{padding:11px;}
  body.virtual-designer-page .checkout-preview-card img{min-height:220px;max-height:54vh;}
  body.virtual-designer-page .checkout-preview-overlay__redesign{position:fixed;right:12px;top:76px;}
  body.virtual-designer-page .checkout-payment-view{width:100%;overflow-x:hidden;}
  body.virtual-designer-page .checkout-payment-view__topbar{flex-wrap:wrap;gap:8px;padding:10px;}
  body.virtual-designer-page .checkout-payment-view__back{min-height:42px;}
  body.virtual-designer-page .checkout-payment-proof{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  body.virtual-designer-page .checkout-pay-btn{width:100%;max-width:100%;min-height:50px;}

  body.virtual-designer-page .designer-modal{padding:10px!important;align-items:flex-start;overflow-y:auto;}
  body.virtual-designer-page .designer-modal__dialog{width:100%!important;max-width:520px!important;max-height:none!important;margin:auto;overflow:visible;}
  body.virtual-designer-page .designer-modal__head{padding-right:54px!important;line-height:1.2;}
  body.virtual-designer-page .designer-modal__close{width:44px;height:44px;right:8px;top:8px;display:grid;place-items:center;}
  body.virtual-designer-page .designer-auth-wrap{max-height:none!important;overflow:visible!important;}
  body.virtual-designer-page .designer-btn{min-height:48px;}
  body.virtual-designer-page .designer-share-modal__icons{flex-wrap:wrap;gap:12px;}
  body.virtual-designer-page .designer-share-modal__icon{width:44px;height:44px;}
  body.virtual-designer-page .size-chart-modal{padding:10px;overflow-y:auto;}
  body.virtual-designer-page .size-chart-modal__dialog{width:100%;max-width:100%;max-height:none;margin:auto;}
  body.virtual-designer-page .size-chart-modal__body{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  body.virtual-designer-page .virtual-fabric-details{padding:10px;overflow-y:auto;}
  body.virtual-designer-page .virtual-fabric-details__inner{width:100%;max-width:100%;padding:18px 14px;}
  body.virtual-designer-page .virtual-fabric-details__grid{grid-template-columns:1fr;}

  body.virtual-designer-page .ftr{height:auto;min-height:70px;padding:12px 0;}
  body.virtual-designer-page .ftr__inner{height:auto;min-height:46px;width:100%;padding:0 14px;flex-direction:column;justify-content:center;gap:6px;text-align:center;}
  body.virtual-designer-page .ftr__copy{width:100%;white-space:normal;overflow:visible;text-overflow:clip;text-align:center;font-size:12px;line-height:1.35;}
  body.virtual-designer-page .ftr__right{justify-content:center;}
  body.virtual-designer-page .ftr__project{font-size:12px;}
  body.virtual-designer-page .ftr__brand img{height:54px;margin-top:-18px;}
}

@media (max-width: 420px){
  body.virtual-designer-page .ft-header .ft-logo img{height:30px;max-width:132px;}
  body.virtual-designer-page .ft-auth-user{display:none!important;}
  body.virtual-designer-page .left{padding-left:8px;padding-right:8px;}
  body.virtual-designer-page .right{padding-left:9px;padding-right:9px;}
  body.virtual-designer-page .designer-item-meta__title{font-size:18px;}
  body.virtual-designer-page .designer-item-meta__row{font-size:11px;margin-right:6px;}
  body.virtual-designer-page .designer-bottom-actions__btn{flex-direction:column;gap:4px;min-height:52px;font-size:11px;}
  body.virtual-designer-page .virtual-fabric-bar__buttons{grid-template-columns:1fr;}
  body.virtual-designer-page .virtual-fabric-btn{font-size:15px;}
  body.virtual-designer-page .mini-tab{font-size:11px;}
  body.virtual-designer-page .checkout-preview-overlay__title{padding-right:38px;font-size:14px;}
  body.virtual-designer-page .checkout-preview-card img{min-height:190px;}
}

/* ========================================================================== */
/* FINAL MOBILE/TABLET FIT PATCH — CANVAS + ALL MODALS                        */
/* ========================================================================== */
@media (max-width: 767px){
  body.virtual-designer-page,
  body.virtual-designer-page .wrap,
  body.virtual-designer-page .left,
  body.virtual-designer-page .right,
  body.virtual-designer-page .stage{max-width:100vw!important;overflow-x:hidden!important;}

  /* Fabric.js canvas: force the visual canvas and both Fabric layers to fit. */
  body.virtual-designer-page #designerStage{
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body.virtual-designer-page #designerStage .canvas-container{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    margin:0 auto!important;
    overflow:hidden!important;
  }
  body.virtual-designer-page #designerStage .canvas-container > canvas,
  body.virtual-designer-page #designerStage > canvas,
  body.virtual-designer-page #designerStage canvas.lower-canvas,
  body.virtual-designer-page #designerStage canvas.upper-canvas{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
  }

  /* Every modal must stay inside the real mobile viewport. */
  body.virtual-designer-page .designer-modal,
  body.virtual-designer-page .size-chart-modal,
  body.virtual-designer-page .virtual-fabric-details,
  body.virtual-designer-page .order-suggestions-modal{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    inset:0!important;
    padding:10px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    align-items:flex-start!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
  body.virtual-designer-page .designer-modal__dialog,
  body.virtual-designer-page .login-modal,
  body.virtual-designer-page .signup-modal,
  body.virtual-designer-page .save-modal,
  body.virtual-designer-page .share-modal,
  body.virtual-designer-page .saved-modal,
  body.virtual-designer-page .designer-delete-confirm,
  body.virtual-designer-page .size-chart-modal__dialog,
  body.virtual-designer-page .virtual-fabric-details__inner,
  body.virtual-designer-page .order-suggestions-modal__dialog{
    width:calc(100vw - 20px)!important;
    min-width:0!important;
    max-width:calc(100vw - 20px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 20px)!important;
    margin:auto 0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    box-sizing:border-box!important;
  }
  body.virtual-designer-page .designer-modal__dialog:after,
  body.virtual-designer-page .login-modal:after,
  body.virtual-designer-page .signup-modal:after,
  body.virtual-designer-page .save-modal:after,
  body.virtual-designer-page .share-modal:after,
  body.virtual-designer-page .saved-modal:after{display:none!important;}

  /* Welcome / guest modal. */
  body.virtual-designer-page .designer-modal--welcome-vb .vb-save-modal{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    overflow-y:auto!important;
  }
  body.virtual-designer-page .designer-modal--welcome-vb .vb-layout{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  body.virtual-designer-page .designer-modal--welcome-vb .vb-visual{
    width:100%!important;
    min-width:0!important;
    min-height:180px!important;
    padding:22px 16px!important;
  }
  body.virtual-designer-page .designer-modal--welcome-vb .vb-hero-box{min-height:140px!important;width:100%!important;}
  body.virtual-designer-page .designer-modal--welcome-vb .vb-big-icon{width:68px!important;height:68px!important;}
  body.virtual-designer-page .designer-modal--welcome-vb .vb-big-icon i{font-size:30px!important;}
  body.virtual-designer-page .designer-modal--welcome-vb .vb-content{width:100%!important;min-width:0!important;padding:24px 18px 22px!important;}
  body.virtual-designer-page .designer-modal--welcome-vb .vb-content h2{font-size:25px!important;line-height:1.1!important;}
  body.virtual-designer-page .designer-modal--welcome-vb .vb-feature-grid{grid-template-columns:1fr!important;gap:8px!important;}
  body.virtual-designer-page .designer-modal--welcome-vb .vb-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.virtual-designer-page .designer-modal--welcome-vb .vb-btn{width:100%!important;min-width:0!important;}

  /* Login, reset, signup and logout modals. */
  body.virtual-designer-page .designer-modal--login-next .designer-modal__dialog--login-next,
  body.virtual-designer-page .designer-modal--signup-next .designer-modal__dialog--signup-next,
  body.virtual-designer-page .designer-modal--logout-next .login-modal{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
    overflow-y:auto!important;
  }
  body.virtual-designer-page .designer-modal--login-next .login-layout,
  body.virtual-designer-page .designer-modal--signup-next .signup-layout{display:block!important;width:100%!important;min-width:0!important;}
  body.virtual-designer-page .designer-modal--login-next .login-visual,
  body.virtual-designer-page .designer-modal--signup-next .signup-visual{min-height:170px!important;padding:22px 16px!important;}
  body.virtual-designer-page .designer-modal--login-next .visual-frame,
  body.virtual-designer-page .designer-modal--signup-next .visual-frame{min-height:135px!important;width:100%!important;}
  body.virtual-designer-page .designer-modal--login-next .login-content,
  body.virtual-designer-page .designer-modal--signup-next .signup-content{width:100%!important;min-width:0!important;padding:26px 16px 22px!important;}
  body.virtual-designer-page .designer-modal--login-next .login-title,
  body.virtual-designer-page .designer-modal--signup-next .signup-title{font-size:26px!important;}
  body.virtual-designer-page .designer-modal--login-next .field-row,
  body.virtual-designer-page .designer-modal--signup-next .field-row{grid-template-columns:1fr!important;gap:6px!important;}
  body.virtual-designer-page .designer-modal--login-next .field-row label,
  body.virtual-designer-page .designer-modal--signup-next .field-row label{text-align:left!important;}

  /* Save, share and saved-design modals. */
  body.virtual-designer-page #designerSaveDesignModal .save-modal,
  body.virtual-designer-page #designerShareModal .share-modal,
  body.virtual-designer-page #designerSavedDesignsModal .saved-modal{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    min-width:0!important;
    max-height:calc(100dvh - 20px)!important;
    overflow-y:auto!important;
  }
  body.virtual-designer-page #designerSaveDesignModal .save-body,
  body.virtual-designer-page #designerShareModal .share-body,
  body.virtual-designer-page #designerSavedDesignsModal .saved-body{width:100%!important;min-width:0!important;padding:20px 14px!important;box-sizing:border-box!important;}
  body.virtual-designer-page #designerSaveDesignModal .product-preview,
  body.virtual-designer-page #designerShareModal .product-stage,
  body.virtual-designer-page #designerShareModal .designer-share-modal__preview-wrap{
    width:100%!important;
    height:min(58vw,280px)!important;
    min-height:190px!important;
    max-height:280px!important;
  }
  body.virtual-designer-page #designerSaveDesignModal .product-preview img,
  body.virtual-designer-page #designerShareModal .product-stage img,
  body.virtual-designer-page #designerShareModal .designer-share-modal__preview{
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
    max-height:100%!important;
    object-fit:contain!important;
  }
  body.virtual-designer-page #designerShareModal .share-row{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;width:100%!important;}
  body.virtual-designer-page #designerSavedDesignsModal .saved-grid{grid-template-columns:1fr!important;}

  /* Prevent any modal child from retaining a desktop minimum width. */
  body.virtual-designer-page .designer-modal *{max-width:100%;box-sizing:border-box;}
  body.virtual-designer-page .designer-modal .designer-modal__close{position:sticky!important;float:right;top:8px!important;right:8px!important;z-index:100!important;}
}

@media (min-width:768px) and (max-width:1180px){
  body.virtual-designer-page #designerStage .canvas-container{max-width:min(100%,calc(100vh - 190px))!important;max-height:calc(100vh - 190px)!important;}
  body.virtual-designer-page #designerStage .canvas-container > canvas{max-width:100%!important;max-height:100%!important;}
  body.virtual-designer-page .designer-modal__dialog,
  body.virtual-designer-page .login-modal,
  body.virtual-designer-page .signup-modal,
  body.virtual-designer-page .save-modal,
  body.virtual-designer-page .share-modal,
  body.virtual-designer-page .saved-modal{width:min(92vw,900px)!important;min-width:0!important;max-width:92vw!important;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;}
}

/* ========================================================================== */
/* MOBILE-ONLY HOTFIX: viewport-fit canvas, modal containment and view button  */
/* ========================================================================== */
@media screen and (max-width: 767px){
  /* Keep product information clear, then place the view switch underneath it. */
  .left > .designer-item-meta{order:1!important;}
  .left > .top-actions{
    order:2!important;
    width:100%!important;
    margin:7px 0 12px!important;
    padding:0 2px!important;
    justify-content:flex-start!important;
  }
  .left > .top-actions .view-toggle-btn{
    margin-top:0!important;
    min-width:108px!important;
    max-width:150px!important;
    min-height:40px!important;
    padding:9px 13px!important;
  }
  .left > #designerStage{order:3!important;}

  /* Use the actual available phone width, never Fabric's desktop 732px size. */
  #designerStage{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  #designerStage > .canvas-container{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    height:calc(100vw - 20px)!important;
    max-height:calc(100vw - 20px)!important;
    min-width:0!important;
    min-height:0!important;
    flex:0 0 auto!important;
    margin:0 auto!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  #designerStage > .canvas-container > canvas,
  #designerStage > .canvas-container > .lower-canvas,
  #designerStage > .canvas-container > .upper-canvas{
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    max-height:100%!important;
    inset:0!important;
    box-sizing:border-box!important;
  }

  /* Contain every popup inside the visible phone viewport. */
  .designer-modal{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    max-width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:8px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    align-items:flex-start!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
  .designer-modal > .designer-modal__dialog,
  .designer-modal > .login-modal,
  .designer-modal .vb-save-modal,
  .designer-modal .signup-modal,
  .designer-modal .save-modal,
  .designer-modal .share-modal,
  .designer-modal .saved-modal{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    min-width:0!important;
    height:auto!important;
    max-height:calc(100dvh - 16px)!important;
    margin:auto 0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    box-sizing:border-box!important;
  }
  .designer-modal .vb-layout,
  .designer-modal .login-layout,
  .designer-modal .signup-layout,
  .designer-modal .designer-auth-wrap,
  .designer-modal .save-body,
  .designer-modal .share-body,
  .designer-modal .saved-body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .designer-modal img,
  .designer-modal canvas,
  .designer-modal video{
    max-width:100%!important;
    height:auto!important;
  }
}

@media screen and (max-width: 380px){
  #designerStage > .canvas-container{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    height:calc(100vw - 16px)!important;
    max-height:calc(100vw - 16px)!important;
  }
  .left > .top-actions{margin-top:6px!important;}
}

/* ========================================================================== */
/* MOBILE-ONLY TOP TOOL DOCK: actions + icon navigation                       */
/* ========================================================================== */
@media screen and (max-width:767px){
  .virtual-mobile-top-tools{
    order:-20;
    width:100%;
    max-width:100%;
    margin:0 0 10px;
    padding:8px 10px 10px;
    background:#fff;
    border-bottom:1px solid #e7e7e7;
    box-sizing:border-box;
    contain:layout paint;
  }

  .virtual-mobile-top-tools .designer-bottom-actions{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 8px!important;
    padding:0!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    box-shadow:none!important;
  }
  .virtual-mobile-top-tools .designer-bottom-actions__saved{
    min-height:38px!important;
    margin:0 auto 7px!important;
    padding:7px 10px!important;
    font-size:13px!important;
    touch-action:manipulation;
  }
  .virtual-mobile-top-tools .designer-bottom-actions__row{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
  }
  .virtual-mobile-top-tools .designer-bottom-actions__btn{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    margin:0!important;
    padding:7px 4px!important;
    font-size:12px!important;
    line-height:1.1!important;
    transform:none!important;
    animation:none!important;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease!important;
    touch-action:manipulation;
  }
  .virtual-mobile-top-tools .designer-bottom-actions__btn i{font-size:16px!important;}

  .virtual-mobile-top-tools .mini-tabs{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .virtual-mobile-top-tools .mini-tab{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    font-size:0!important;
    line-height:1!important;
    border-radius:4px!important;
    transform:none!important;
    animation:none!important;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease!important;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  .virtual-mobile-top-tools .mini-tab::before{
    display:block;
    font-family:"Font Awesome 6 Free","Font Awesome 5 Free",FontAwesome,sans-serif;
    font-size:20px;
    font-weight:900;
    line-height:1;
  }
  .virtual-mobile-top-tools .mini-tab[data-tab="colors"]::before{content:"\f53f";}
  .virtual-mobile-top-tools .mini-tab[data-tab="names"]::before{content:"\f031";}
  .virtual-mobile-top-tools .mini-tab[data-tab="logos"]::before{content:"\f03e";}
  .virtual-mobile-top-tools .mini-tab[data-tab="checkout"]::before{content:"\f46d";}

  /* Avoid costly hover effects on touch screens. */
  .virtual-mobile-top-tools .mini-tab:hover,
  .virtual-mobile-top-tools .designer-bottom-actions__btn:hover{
    transform:none!important;
    box-shadow:none!important;
  }
}

/* ========================================================================== */
/* MOBILE PROOF + CHECKOUT FINISH PATCH                                       */
/* Mobile only. Desktop/tablet desktop rules remain unchanged.                */
/* ========================================================================== */
@media (max-width: 767px){
  /* Final proof thumbnails: one clear full-width card per side. */
  body.virtual-designer-page .checkout-proof__preview{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
  }
  body.virtual-designer-page .checkout-proof__preview-card{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:10px!important;
    border:2px solid #ff120d!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body.virtual-designer-page .checkout-proof__preview-card img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
    margin:0 auto!important;
  }

  /* Logos and graphics: match the clean stacked Colors / Patterns cards. */
  body.virtual-designer-page .checkout-proof__logos,
  body.virtual-designer-page .checkout-proof__logos.count-1,
  body.virtual-designer-page .checkout-proof__logos.count-2,
  body.virtual-designer-page .checkout-proof__logos.count-3,
  body.virtual-designer-page .checkout-proof__logos.count-4,
  body.virtual-designer-page .checkout-proof__logos.count-5{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }
  body.virtual-designer-page .checkout-proof__logo-card,
  body.virtual-designer-page .checkout-proof__logos .checkout-proof__logo-card{
    width:100%!important;
    min-width:0!important;
    min-height:190px!important;
    padding:12px!important;
    border:3px solid #111!important;
    border-radius:0!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
  body.virtual-designer-page .checkout-proof__logos .checkout-proof__logo-card:first-child{
    border-top-left-radius:24px!important;
  }
  body.virtual-designer-page .checkout-proof__logos .checkout-proof__logo-card:last-child{
    border-bottom-right-radius:24px!important;
  }
  body.virtual-designer-page .checkout-proof__logo-card > div{
    min-height:160px!important;
    width:100%!important;
    padding:4px!important;
  }
  body.virtual-designer-page .checkout-proof__logo-card img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:76%!important;
    max-height:150px!important;
    object-fit:contain!important;
    margin:auto!important;
  }

  /* Roster table: compact, readable and contained on narrow phones. */
  body.virtual-designer-page .checkout-proof__roster-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    border:0!important;
  }
  body.virtual-designer-page table.checkout-proof__roster{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    font-size:11px!important;
  }
  body.virtual-designer-page .checkout-proof__roster th,
  body.virtual-designer-page .checkout-proof__roster td{
    width:auto!important;
    min-width:0!important;
    padding:8px 3px!important;
    line-height:1.18!important;
    text-align:center!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    hyphens:auto!important;
  }
  body.virtual-designer-page .checkout-proof__roster th{
    font-size:10px!important;
    letter-spacing:0!important;
  }
  body.virtual-designer-page .checkout-proof__roster-team{
    font-size:11px!important;
    padding:9px 5px!important;
  }
  body.virtual-designer-page .checkout-proof__roster-note{
    font-size:11px!important;
    line-height:1.35!important;
    padding:0 3px!important;
  }

  /* Hide the product information strip marked in the mobile preview. */
  body.virtual-designer-page .checkout-preview-overlay .designer-item-meta,
  body.virtual-designer-page .checkout-preview-overlay .designer-item-info,
  body.virtual-designer-page .checkout-preview-overlay .checkout-preview-product-meta,
  body.virtual-designer-page .checkout-preview-card .designer-item-meta,
  body.virtual-designer-page .checkout-preview-card .designer-item-info{
    display:none!important;
  }
}


/* ========================================================================== */
/* MOBILE-ONLY FINAL UX PATCH v6                                               */
/* ========================================================================== */
@media screen and (max-width:767px){
  /* Full-width premium header, matching the supplied mobile reference. */
  body.virtual-designer-page .ft-header{
    width:100%!important;
    height:58px!important;
    min-height:58px!important;
    margin:0!important;
    padding:6px 10px!important;
    background:#050505!important;
    box-sizing:border-box!important;
  }
  body.virtual-designer-page .ft-header .ft-logo{
    flex:1 1 auto!important;
    min-width:0!important;
    height:46px!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  body.virtual-designer-page .ft-header .ft-logo img{
    display:block!important;
    width:auto!important;
    height:42px!important;
    max-width:calc(100vw - 92px)!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  body.virtual-designer-page .ft-header .ft-auth{flex:0 0 auto!important;}
  body.virtual-designer-page .ft-header .ft-login{min-height:38px!important;padding:6px 0!important;font-size:12px!important;}

  /* All modal close buttons: smaller and slightly higher. */
  body.virtual-designer-page .designer-modal .designer-modal__close,
  body.virtual-designer-page .designer-modal .vb-close,
  body.virtual-designer-page .designer-modal .login-close,
  body.virtual-designer-page .designer-modal .signup-close,
  body.virtual-designer-page .designer-modal .save-close,
  body.virtual-designer-page .designer-modal .share-close,
  body.virtual-designer-page .designer-modal .saved-close,
  body.virtual-designer-page .order-suggestions-modal__close,
  body.virtual-designer-page .size-chart-modal__close,
  body.virtual-designer-page .virtual-fabric-details__close{
    position:absolute!important;
    float:none!important;
    top:3px!important;
    right:5px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    padding:0!important;
    font-size:22px!important;
    line-height:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    z-index:110!important;
    transform:none!important;
  }
  body.virtual-designer-page .designer-modal .designer-modal__close i,
  body.virtual-designer-page .order-suggestions-modal__close i,
  body.virtual-designer-page .size-chart-modal__close i,
  body.virtual-designer-page .virtual-fabric-details__close i{font-size:20px!important;line-height:1!important;}

  /* Pattern controls: no horizontal drag layer or animated hover blocking taps. */
  body.virtual-designer-page #patternThumbs{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    padding:4px 0 8px!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    touch-action:manipulation!important;
    -webkit-overflow-scrolling:auto!important;
  }
  body.virtual-designer-page #patternThumbs .thumb{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    aspect-ratio:1/1!important;
    margin:0!important;
    transform:none!important;
    transition:border-color .12s ease,box-shadow .12s ease!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  body.virtual-designer-page .virtual-pattern-float-tooltip{display:none!important;}

  /* Order & Roster opens as a normal mobile form; hide canvas metadata while this tab is active. */
  body.virtual-designer-page:has(.mini-tab[data-tab="checkout"].active):not(.checkout-payment-mode) .left{
    display:none!important;
  }
  body.virtual-designer-page:has(.mini-tab[data-tab="checkout"].active) .right{
    order:1!important;
    border-top:0!important;
    padding-top:10px!important;
  }
  body.virtual-designer-page:has(.mini-tab[data-tab="checkout"].active) #tab-checkout{
    display:block!important;
  }
  body.virtual-designer-page:has(.mini-tab[data-tab="checkout"].active) .designer-item-meta,
  body.virtual-designer-page:has(.mini-tab[data-tab="checkout"].active) .top-actions{
    display:none!important;
  }

  /* Payment/proof page must remain fully scrollable with safe bottom room. */
  body.virtual-designer-page.checkout-payment-mode{
    overflow-y:auto!important;
    min-height:100dvh!important;
    padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
  }
  body.virtual-designer-page.checkout-payment-mode .left{display:block!important;width:100%!important;padding:0!important;}
  body.virtual-designer-page.checkout-payment-mode .right{
    display:block!important;
    width:100%!important;
    overflow:visible!important;
    padding:12px 10px calc(90px + env(safe-area-inset-bottom))!important;
  }
  body.virtual-designer-page.checkout-payment-mode .designer-item-meta,
  body.virtual-designer-page.checkout-payment-mode .top-actions{display:none!important;}
  body.virtual-designer-page.checkout-payment-mode .stage,
  body.virtual-designer-page.checkout-payment-mode .stage.is-checkout-preview{
    overflow:visible!important;
    min-height:0!important;
    padding:0 0 24px!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-preview-overlay{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    padding:0 8px 34px!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-payment-view,
  body.virtual-designer-page.checkout-payment-mode .checkout-payment-proof,
  body.virtual-designer-page.checkout-payment-mode .checkout-proof{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-proof{
    padding:12px 8px 46px!important;
    margin-bottom:24px!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-sidebar-paypal{
    width:100%!important;
    max-width:100%!important;
    margin:14px 0 0!important;
    padding-bottom:24px!important;
    overflow:visible!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-sidebar-paypal__form{
    overflow:visible!important;
    padding-bottom:18px!important;
  }
  body.virtual-designer-page.checkout-payment-mode #checkoutSidebarStripeSubmit,
  body.virtual-designer-page.checkout-payment-mode #checkoutSidebarPaypalSubmit,
  body.virtual-designer-page.checkout-payment-mode #checkoutSidebarPaypalCreateBtn{
    position:relative!important;
    z-index:5!important;
    width:100%!important;
    min-height:52px!important;
    margin-bottom:12px!important;
    touch-action:manipulation!important;
    pointer-events:auto!important;
  }

  /* Extra breathing room below the PROOF block. */
  body.virtual-designer-page .checkout-proof__preview,
  body.virtual-designer-page .checkout-proof__section:last-child{
    margin-bottom:28px!important;
  }
}

@media screen and (max-width:390px){
  body.virtual-designer-page #patternThumbs{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  body.virtual-designer-page .ft-header .ft-logo img{height:39px!important;max-width:calc(100vw - 84px)!important;}
}

/* ========================================================================== */
/* MOBILE-ONLY TARGETED FIX v7                                                */
/* ========================================================================== */
@media screen and (max-width:767px){
  /* Pattern advanced controls must open cleanly on the first selection. */
  body.virtual-designer-page #patternControls{
    width:100%!important;
    max-width:100%!important;
    clear:both!important;
    overflow:visible!important;
  }

  /* Prevent outline-mode button labels from being cropped. */
  body.virtual-designer-page #outlineModeRow{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
  }
  body.virtual-designer-page #outlineModeRow .mode-btn{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    height:auto!important;
    padding:8px 3px!important;
    font-size:10px!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  /* Payment proof starts with a simple 15px gap; remove the large blank area. */
  body.virtual-designer-page.checkout-payment-mode .checkout-preview-overlay,
  body.virtual-designer-page.checkout-payment-mode .checkout-preview-overlay__inner,
  body.virtual-designer-page.checkout-payment-mode .checkout-payment-view{
    margin-top:0!important;
    padding-top:0!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-payment-proof{
    margin-top:15px!important;
    padding-top:0!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-proof{
    margin-top:0!important;
    padding-top:0!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-proof__brandbar{
    margin-top:0!important;
    margin-bottom:15px!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-proof__proof{
    margin-bottom:0!important;
  }

  /* Remove the duplicate top Stripe action and its occupied space on mobile. */
  body.virtual-designer-page.checkout-payment-mode #checkoutStripeLiveForm{
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  /* Keep only the actual Stripe card below the proof. */
  body.virtual-designer-page.checkout-payment-mode #checkoutSidebarStripePanel{
    margin-top:15px!important;
  }

  /* Remove unnecessary bottom whitespace around the page/footer. */
  body.virtual-designer-page.checkout-payment-mode{
    padding-bottom:0!important;
  }
  body.virtual-designer-page.checkout-payment-mode .right{
    padding-bottom:15px!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-proof{
    margin-bottom:15px!important;
    padding-bottom:15px!important;
  }
  body.virtual-designer-page .ftr{
    margin-bottom:0!important;
  }
  body.virtual-designer-page .ftr__inner{
    margin-bottom:0!important;
  }
}

/* ========================================================================== */
/* MOBILE-ONLY TARGETED FIX v8                                                */
/* Pattern palette taps, proof whitespace and modal close visibility          */
/* ========================================================================== */
@media screen and (max-width:767px){
  /* Keep every modal close control visible above tall/scrolling modal content. */
  body.virtual-designer-page .designer-modal .designer-modal__close,
  body.virtual-designer-page .designer-modal .vb-close,
  body.virtual-designer-page .designer-modal .login-close,
  body.virtual-designer-page .designer-modal .signup-close,
  body.virtual-designer-page .designer-modal .save-close,
  body.virtual-designer-page .designer-modal .share-close,
  body.virtual-designer-page .designer-modal .saved-close{
    position:fixed!important;
    top:10px!important;
    right:10px!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    margin:0!important;
    padding:0!important;
    border-radius:2px!important;
    z-index:2147483000!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    overflow:visible!important;
  }
  body.virtual-designer-page .designer-modal .designer-modal__close i{
    display:block!important;
    font-size:18px!important;
    line-height:1!important;
  }
  body.virtual-designer-page .designer-modal,
  body.virtual-designer-page .designer-modal__dialog,
  body.virtual-designer-page .login-modal,
  body.virtual-designer-page .login-layout,
  body.virtual-designer-page .login-content{
    overflow-x:hidden!important;
  }

  /* The live Fabric canvas must not reserve its desktop-height area in payment proof mode. */
  body.virtual-designer-page.checkout-payment-mode .stage > .canvas-container,
  body.virtual-designer-page.checkout-payment-mode .stage > #c,
  body.virtual-designer-page.checkout-payment-mode .stage > .canvas-note{
    display:none!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.virtual-designer-page.checkout-payment-mode .stage,
  body.virtual-designer-page.checkout-payment-mode .stage.is-checkout-preview{
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-preview-overlay{
    margin:0!important;
    padding:15px 8px 15px!important;
  }

  /* Collapse empty proof rows/sections and remove the blank block before Stripe. */
  body.virtual-designer-page.checkout-payment-mode .checkout-payment-proof,
  body.virtual-designer-page.checkout-payment-mode .checkout-proof{
    margin:0!important;
    padding-bottom:0!important;
    min-height:0!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-proof__section:empty,
  body.virtual-designer-page.checkout-payment-mode .checkout-proof__row:empty,
  body.virtual-designer-page.checkout-payment-mode .checkout-proof__block:empty,
  body.virtual-designer-page.checkout-payment-mode .checkout-proof > div:empty{
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-proof__section,
  body.virtual-designer-page.checkout-payment-mode .checkout-proof__preview{
    margin-bottom:15px!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-proof__section:last-child,
  body.virtual-designer-page.checkout-payment-mode .checkout-proof__preview:last-child{
    margin-bottom:0!important;
  }
  body.virtual-designer-page.checkout-payment-mode #checkoutSidebarStripePanel,
  body.virtual-designer-page.checkout-payment-mode #checkoutSidebarPaypalPanel{
    margin-top:15px!important;
  }
  body.virtual-designer-page.checkout-payment-mode .right{
    padding-bottom:0!important;
  }

  /* Pattern palette buttons should behave as direct taps, not hover previews. */
  body.virtual-designer-page #patternColorIcons .pcol{
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
    pointer-events:auto!important;
  }
  body.virtual-designer-page #patternColorIcons .pcol:hover{
    transform:none!important;
  }
}

/* ========================================================================== */
/* MOBILE-ONLY TARGETED FIX v9                                                */
/* Remove duplicate PayPal action above the embedded PayPal checkout panel.   */
/* ========================================================================== */
@media screen and (max-width:767px){
  body.virtual-designer-page.checkout-payment-mode #checkoutPaypalLiveForm{
    display:none!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }
  body.virtual-designer-page.checkout-payment-mode #checkoutSidebarPaypalPanel{
    margin-top:15px!important;
  }
}

/* ========================================================================== */
/* YOU MAY ALSO LIKE — LOGIN-MATCHED PREMIUM MODAL                            */
/* ========================================================================== */
.order-suggestions-modal{background:rgba(0,0,0,.34)!important;backdrop-filter:blur(3px);padding:24px!important}
.order-suggestions-modal__dialog{display:grid!important;grid-template-columns:295px minmax(0,1fr)!important;width:min(1040px,calc(100vw - 48px))!important;max-height:calc(100dvh - 48px)!important;padding:0!important;background:#fff!important;border:0!important;border-radius:0!important;overflow:visible!important;box-shadow:0 42px 130px rgba(0,0,0,.68),0 0 0 1px rgba(255,255,255,.2)!important}
.order-suggestions-modal__dialog:before{content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(237,28,36,.85),rgba(255,255,255,.24));z-index:-1}
.order-suggestions-modal__dialog:after{content:"";position:absolute;inset:-10px;border:1px solid rgba(237,28,36,.26);opacity:.72;pointer-events:none}
.order-suggestions-modal__visual{position:relative;min-height:520px;padding:34px 26px;color:#fff;background:radial-gradient(circle at 24% 20%,rgba(255,255,255,.22),transparent 28%),linear-gradient(145deg,#1a0002,#a40008 46%,#080808);overflow:hidden}
.order-suggestions-modal__visual:before{content:"";position:absolute;inset:-20%;background:conic-gradient(from 90deg,transparent,rgba(255,255,255,.18),transparent 30%);animation:loginSpin 7s linear infinite;opacity:.52}
.order-suggestions-modal__visual-frame{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.20);box-shadow:0 24px 48px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.22)}
.order-suggestions-modal__visual-kicker,.order-suggestions-modal__visual-heading{display:block;font-size:27px;font-weight:950;text-transform:uppercase;line-height:1.05;color:#fff}
.order-suggestions-modal__visual-heading{margin-top:12px}
.order-suggestions-modal__visual-icon{width:104px;height:104px;margin:20px auto 8px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);font-size:44px;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 18px 38px rgba(0,0,0,.28)}
.order-suggestions-modal__visual-text{display:block;margin-top:14px;color:rgba(255,255,255,.8);font-size:14px;line-height:1.55}
.order-suggestions-modal__content{position:relative;min-width:0;padding:44px 34px 30px;background:linear-gradient(180deg,#fff,#fbfbfb);overflow:auto}
.order-suggestions-modal__eyebrow{display:inline-flex;align-items:center;gap:9px;background:#fff1f1;color:#b80008;border:1px solid #ffd7d7;padding:10px 15px;font-size:14px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.order-suggestions-modal__title{text-align:left!important;font-size:34px!important;line-height:1.05!important;font-weight:950!important;text-transform:uppercase;color:#111!important;letter-spacing:-1px;margin:0 54px 18px 0!important}
.order-suggestions-modal__close{top:18px!important;right:18px!important;width:42px!important;height:42px!important;border:1px solid rgba(0,0,0,.14)!important;background:#fff!important;color:#222!important;font-size:18px!important;display:grid!important;place-items:center!important;transition:.25s!important;z-index:20!important}
.order-suggestions-modal__close:hover{background:#ed1c24!important;color:#fff!important;border-color:#ed1c24!important}
.order-suggestions-modal__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;max-height:none!important;overflow:visible!important}

@media(max-width:760px){
  .order-suggestions-modal{padding:10px!important;align-items:flex-start!important;overflow:auto!important}
  .order-suggestions-modal__dialog{display:block!important;width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:none!important;margin:0!important;overflow:hidden!important}
  .order-suggestions-modal__dialog:after{display:none!important}
  .order-suggestions-modal__visual{min-height:250px;padding:28px 22px}
  .order-suggestions-modal__visual-frame{min-height:210px;padding:24px 16px}
  .order-suggestions-modal__visual-kicker,.order-suggestions-modal__visual-heading{font-size:22px}
  .order-suggestions-modal__visual-icon{width:76px;height:76px;margin:14px auto 4px;font-size:32px}
  .order-suggestions-modal__visual-text{font-size:12px;line-height:1.45}
  .order-suggestions-modal__content{padding:34px 14px 20px;overflow:visible}
  .order-suggestions-modal__eyebrow{font-size:12px;padding:9px 12px}
  .order-suggestions-modal__title{font-size:27px!important;margin:0 44px 16px 0!important}
  .order-suggestions-modal__close{top:6px!important;right:6px!important;width:32px!important;height:32px!important;font-size:16px!important;background:rgba(255,255,255,.95)!important}
  .order-suggestions-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
}


/* PATCH v11: payment CTA consolidation, four-column suggestions, mobile success polish */
.checkout-paypal-live--legacy{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;visibility:hidden!important;}
.checkout-sidebar-paypal__next{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;}
.checkout-sidebar-paypal__button-brand{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;}
.checkout-sidebar-paypal__button-brand img:first-child{width:18px;height:18px;object-fit:contain;}
.checkout-sidebar-paypal__button-brand img:last-child{width:72px;max-height:24px;object-fit:contain;}
.checkout-sidebar-paypal__next--paypal{background:#0070e0;color:#fff;}
.checkout-sidebar-paypal__next--paypal .checkout-sidebar-paypal__button-brand img:last-child{filter:brightness(0) invert(1);}
.checkout-sidebar-paypal__next--stripe{background:#635bff;color:#fff;}
.checkout-sidebar-paypal__button-brand--stripe img{width:58px!important;max-height:22px!important;filter:brightness(0) invert(1);}
.checkout-sidebar-paypal__button-brand--stripe strong{font-size:13px;line-height:1;color:#fff;}
@media (min-width:701px){
  .order-suggestions-modal__grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .order-suggestions-modal__dialog{width:min(1220px,calc(100vw - 48px))!important;}
}
@media (max-width:700px){
  body.virtual-order-success-page{display:block!important;padding:8px!important;background:#eef1f5!important;}
  body.virtual-order-success-page .vos-shell{width:100%!important;max-width:390px!important;margin:0 auto!important;}
  body.virtual-order-success-page .vos-card{padding:14px 10px 18px!important;border-radius:16px!important;box-shadow:0 10px 28px rgba(15,23,42,.12)!important;}
  body.virtual-order-success-page .vos-brand{margin-bottom:10px!important;gap:5px!important;}
  body.virtual-order-success-page .vos-brand img{width:64px!important;height:64px!important;border-radius:13px!important;padding:4px!important;}
  body.virtual-order-success-page .vos-brand__name{font-size:16px!important;line-height:1.05!important;}
  body.virtual-order-success-page .vos-brand__slogan{font-size:9px!important;}
  body.virtual-order-success-page .vos-check{width:54px!important;height:54px!important;font-size:31px!important;margin-bottom:9px!important;}
  body.virtual-order-success-page .vos-card h1{font-size:22px!important;line-height:1.02!important;letter-spacing:-.03em!important;}
  body.virtual-order-success-page .vos-lead{font-size:11px!important;line-height:1.45!important;margin:10px auto!important;max-width:300px!important;}
  body.virtual-order-success-page .vos-lead--payment{margin-top:0!important;}
  body.virtual-order-success-page .vos-order-no{font-size:10px!important;padding:7px 12px!important;margin-bottom:10px!important;}
  body.virtual-order-success-page .vos-grid{gap:8px!important;margin-bottom:14px!important;}
  body.virtual-order-success-page .vos-grid div{padding:10px 11px!important;border-radius:11px!important;}
  body.virtual-order-success-page .vos-grid span{font-size:9px!important;margin-bottom:3px!important;}
  body.virtual-order-success-page .vos-grid strong{font-size:11px!important;}
  body.virtual-order-success-page .vos-btn{min-width:180px!important;padding:11px 16px!important;font-size:11px!important;border-radius:10px!important;}
  .checkout-sidebar-paypal__next{gap:6px;font-size:14px;}
  .checkout-sidebar-paypal__button-brand img:last-child{width:64px;}
}


/* PATCH v12: order-success email recovery, discount state and compact mobile confirmation */
body.virtual-order-success-page .vos-lead--discount-applied{color:#168a58!important;}
@media (max-width:700px){
  html,body.virtual-order-success-page{scroll-behavior:auto!important;}
  body.virtual-order-success-page{padding:5px!important;align-items:flex-start!important;}
  body.virtual-order-success-page .vos-shell{max-width:310px!important;margin:0 auto!important;}
  body.virtual-order-success-page .vos-card{padding:10px 9px 14px!important;border-radius:14px!important;}
  body.virtual-order-success-page .vos-brand{margin-bottom:6px!important;}
  body.virtual-order-success-page .vos-brand img{width:58px!important;height:58px!important;}
  body.virtual-order-success-page .vos-brand__name{font-size:15px!important;}
  body.virtual-order-success-page .vos-brand__slogan{font-size:8px!important;}
  body.virtual-order-success-page .vos-check{width:48px!important;height:48px!important;font-size:28px!important;margin:4px auto 7px!important;}
  body.virtual-order-success-page .vos-card h1{font-size:19px!important;line-height:1.02!important;margin:0 auto 6px!important;max-width:275px!important;}
  body.virtual-order-success-page .vos-lead{font-size:10px!important;line-height:1.38!important;margin:7px auto!important;max-width:270px!important;}
  body.virtual-order-success-page .vos-email-status,
  body.virtual-order-success-page .vos-email-error{font-size:8px!important;line-height:1.35!important;padding:8px!important;margin:8px 0!important;border-radius:9px!important;}
  body.virtual-order-success-page .vos-order-no{font-size:9px!important;padding:6px 11px!important;margin:7px auto 9px!important;}
  body.virtual-order-success-page .vos-grid{gap:7px!important;margin-bottom:10px!important;}
  body.virtual-order-success-page .vos-grid div{padding:8px 10px!important;border-radius:10px!important;}
  body.virtual-order-success-page .vos-grid span{font-size:8px!important;}
  body.virtual-order-success-page .vos-grid strong{font-size:10px!important;line-height:1.25!important;}
}

/* PATCH v13: resilient order-success email delivery and viewport-fitted confirmation */
@media (min-width:701px){
  body.virtual-order-success-page{
    min-height:100dvh!important;
    padding:clamp(18px,3vh,34px)!important;
    align-items:flex-start!important;
    overflow-x:hidden!important;
  }
  body.virtual-order-success-page .vos-shell{
    width:min(760px,calc(100vw - 40px))!important;
    max-width:760px!important;
    margin:auto!important;
  }
  body.virtual-order-success-page .vos-card{
    width:100%!important;
    padding:clamp(24px,3vw,34px)!important;
    border-radius:clamp(18px,2vw,28px)!important;
    box-sizing:border-box!important;
  }
  body.virtual-order-success-page .vos-card h1{
    font-size:clamp(30px,3.2vw,46px)!important;
  }
  body.virtual-order-success-page .vos-grid{
    width:100%!important;
    max-width:680px!important;
  }
}

@media (max-width:700px){
  html{background:#eef1f5!important;}
  body.virtual-order-success-page{
    width:100%!important;
    min-width:0!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:6px!important;
    display:block!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }
  body.virtual-order-success-page .vos-shell{
    width:100%!important;
    max-width:292px!important;
    min-width:0!important;
    margin:0 auto!important;
  }
  body.virtual-order-success-page .vos-card{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:12px 10px 15px!important;
    border-radius:13px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body.virtual-order-success-page .vos-card:before{height:4px!important;}
  body.virtual-order-success-page .vos-brand{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    margin:4px auto 7px!important;
  }
  body.virtual-order-success-page .vos-brand img{
    width:60px!important;
    height:60px!important;
    padding:4px!important;
    border-radius:12px!important;
  }
  body.virtual-order-success-page .vos-brand__name{font-size:15px!important;line-height:1!important;}
  body.virtual-order-success-page .vos-brand__slogan{font-size:8px!important;line-height:1.1!important;}
  body.virtual-order-success-page .vos-check{
    width:50px!important;
    height:50px!important;
    margin:5px auto 8px!important;
    font-size:29px!important;
  }
  body.virtual-order-success-page .vos-card h1{
    max-width:260px!important;
    margin:0 auto 6px!important;
    font-size:19px!important;
    line-height:1.02!important;
  }
  body.virtual-order-success-page .vos-lead{
    max-width:255px!important;
    margin:7px auto!important;
    font-size:10px!important;
    line-height:1.4!important;
  }
  body.virtual-order-success-page .vos-email-status,
  body.virtual-order-success-page .vos-email-error{
    width:100%!important;
    margin:8px 0!important;
    padding:8px 7px!important;
    font-size:8px!important;
    line-height:1.35!important;
    box-sizing:border-box!important;
  }
  body.virtual-order-success-page .vos-order-no{
    margin:7px auto 10px!important;
    padding:6px 11px!important;
    font-size:9px!important;
  }
  body.virtual-order-success-page .vos-grid{
    width:100%!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin:0 0 10px!important;
  }
  body.virtual-order-success-page .vos-grid div{
    width:100%!important;
    padding:9px 10px!important;
    border-radius:10px!important;
    box-sizing:border-box!important;
  }
  body.virtual-order-success-page .vos-grid span{font-size:8px!important;}
  body.virtual-order-success-page .vos-grid strong{font-size:10px!important;line-height:1.25!important;}
  body.virtual-order-success-page .vos-btn{
    min-width:170px!important;
    padding:10px 14px!important;
    font-size:10px!important;
  }
}


/* PATCH v14: final order-success top fit and compact mobile confirmation */
@media (min-width:701px){
  body.virtual-order-success-page{align-items:flex-start!important;padding-top:10px!important;}
  body.virtual-order-success-page .vos-shell{margin:0 auto!important;}
}
@media (max-width:700px){
  html,body.virtual-order-success-page{margin:0!important;padding-top:0!important;}
  body.virtual-order-success-page{padding:4px!important;align-items:flex-start!important;}
  body.virtual-order-success-page .vos-shell{max-width:258px!important;margin:0 auto!important;}
  body.virtual-order-success-page .vos-card{padding:9px 8px 13px!important;border-radius:12px!important;}
  body.virtual-order-success-page .vos-brand{margin:2px auto 5px!important;}
  body.virtual-order-success-page .vos-brand img{width:54px!important;height:54px!important;border-radius:11px!important;}
  body.virtual-order-success-page .vos-brand__name{font-size:14px!important;}
  body.virtual-order-success-page .vos-brand__slogan{font-size:7px!important;}
  body.virtual-order-success-page .vos-check{width:46px!important;height:46px!important;font-size:27px!important;margin:3px auto 6px!important;}
  body.virtual-order-success-page .vos-card h1{max-width:238px!important;font-size:18px!important;margin:0 auto 5px!important;}
  body.virtual-order-success-page .vos-lead{max-width:236px!important;font-size:9px!important;line-height:1.38!important;margin:6px auto!important;}
  body.virtual-order-success-page .vos-order-no{font-size:8px!important;padding:6px 10px!important;margin:6px auto 8px!important;}
  body.virtual-order-success-page .vos-grid{gap:6px!important;margin-bottom:9px!important;}
  body.virtual-order-success-page .vos-grid div{padding:8px 9px!important;border-radius:9px!important;}
  body.virtual-order-success-page .vos-grid span{font-size:7px!important;}
  body.virtual-order-success-page .vos-grid strong{font-size:9px!important;}
  body.virtual-order-success-page .vos-btn{min-width:155px!important;padding:9px 12px!important;font-size:9px!important;}
}

/* EMAIL PROOF MOBILE PATCH START */
.vos-proof-email-link{color:#000000;-webkit-text-fill-color:#000000;text-decoration:none;transition:color .25s ease;}
    .vos-proof-email-link:hover{color:#ff1616!important;-webkit-text-fill-color:#ff1616!important;text-decoration:none!important;}
    .vos-email-detail-cell{padding:0!important;}
    .vos-desktop-product-details{margin:0!important;padding:0 6px 0 0!important;box-sizing:border-box!important;}
    .vos-desktop-customer-details{margin:0!important;padding:0 0 0 6px!important;box-sizing:border-box!important;}
    .vos-fill-table,.vos-names-table,.vos-logo-table{width:100%!important;table-layout:fixed!important;border-collapse:separate!important;}
    .vos-fill-cell,.vos-names-cell,.vos-logo-cell{width:33.33%!important;box-sizing:border-box!important;}
    .vos-roster-upload-link .vos-roster-upload-anchor{color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;text-decoration:none!important;}
    .vos-roster-upload-link .vos-roster-upload-anchor:hover,.vos-roster-upload-link .vos-roster-upload-anchor:focus,.vos-roster-upload-link .vos-roster-upload-anchor:active{color:#ff1616!important;-webkit-text-fill-color:#ff1616!important;text-decoration:none!important;}
    .vos-email-project-cell{border-top-left-radius:0!important;border-top-right-radius:15px!important;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important;overflow:hidden!important;}
    .vos-email-date-cell{border-top-left-radius:15px!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important;overflow:hidden!important;}
    .vos-email-project-box{border-top-left-radius:0!important;border-top-right-radius:15px!important;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important;overflow:hidden!important;}
    .vos-email-date-box{border-top-left-radius:15px!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important;overflow:hidden!important;}
    .vos-mobile-details,.vos-mobile-roster{display:none!important;}
    .vos-customer-message-copy{font-size:9px!important;line-height:12px!important;font-weight:400!important;color:#000000!important;}
    @media only screen and (max-width:680px){
      body{margin:0!important;padding:0!important;background:#f4f6f8!important;-webkit-text-size-adjust:100%!important;}
      .vos-email-outer{padding:0 5px 14px!important;}
      .vos-email-wrap{width:100%!important;max-width:100%!important;border-radius:0 0 14px 14px!important;}
      .vos-email-pad{padding:9px 8px 0!important;}

      .vos-email-title,.vos-email-proof-label{display:block!important;box-sizing:border-box!important;}
      .vos-email-title{width:90%!important;max-width:90%!important;margin:0 auto!important;text-align:center!important;font-size:14px!important;line-height:18px!important;padding:0 0 5px!important;white-space:nowrap!important;overflow:visible!important;}
      .vos-email-proof-label{width:100%!important;text-align:center!important;font-size:15px!important;line-height:27px!important;border-radius:3px!important;}
      .vos-preview-table{margin-top:15px!important;border-color:#ff1616!important;border-collapse:separate!important;border-spacing:0!important;background:#ff1616!important;box-shadow:none!important;}

      .vos-email-preview-cell{display:block!important;width:100%!important;box-sizing:border-box!important;padding:8px 4px!important;border-right:0!important;background:#ffffff!important;overflow:hidden!important;box-shadow:none!important;}
      .vos-email-preview-cell:first-child{border-bottom:2px solid #ff1616!important;}
      .vos-email-preview-cell,.vos-email-preview-box{line-height:0!important;font-size:0!important;}
      .vos-email-preview-box{width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:1/1!important;overflow:hidden!important;background:#ffffff!important;border:0!important;outline:0!important;box-shadow:none!important;}
      .vos-email-preview-cell:last-child .vos-email-preview-box{box-sizing:border-box!important;border-bottom:48px solid #ffffff!important;}
      .vos-email-preview-box img{display:block!important;width:104%!important;max-width:none!important;height:auto!important;margin:-2%!important;border:0!important;outline:0!important;box-shadow:none!important;background:#ffffff!important;vertical-align:top!important;transform:none!important;-webkit-transform:none!important;}
      .vos-email-preview-cell:last-child .vos-email-preview-box img{width:106%!important;margin:-3%!important;}

      .vos-email-detail-cell{width:50%!important;padding:7px 5px 0!important;font-size:9px!important;line-height:12px!important;word-break:break-word!important;}
      .vos-email-detail-cell div{font-size:9px!important;line-height:12px!important;}
      .vos-email-detail-cell div:first-child{font-size:11px!important;line-height:14px!important;}
      .vos-email-detail-cell:first-child{display:table-cell!important;width:50%!important;padding:8px 0 0!important;box-sizing:border-box!important;vertical-align:top!important;}
      .vos-email-detail-cell:last-child{width:50%!important;padding:0!important;font-size:0!important;line-height:0!important;background:transparent!important;vertical-align:top!important;}
      .vos-desktop-product-details,.vos-desktop-customer-details{display:none!important;max-height:0!important;overflow:hidden!important;font-size:0!important;line-height:0!important;}
      .vos-mobile-details{display:block!important;position:relative!important;z-index:2!important;width:200%!important;max-width:none!important;box-sizing:border-box!important;font-family:Arial,Helvetica,sans-serif!important;}
      .vos-mobile-detail-header{display:flex!important;position:relative!important;align-items:center!important;gap:0!important;min-height:64px!important;padding:10px 58px 10px 14px!important;box-sizing:border-box!important;background:#080808!important;border-bottom:7px solid #ed0012!important;box-shadow:inset 0 -2px 0 #ffffff!important;color:#ffffff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:18px!important;line-height:22px!important;font-weight:900!important;text-align:left!important;text-transform:uppercase!important;white-space:nowrap!important;overflow:hidden!important;}
      .vos-mobile-detail-header::after{content:""!important;position:absolute!important;z-index:0!important;top:0!important;right:0!important;width:46px!important;height:100%!important;background:#ed0012!important;clip-path:polygon(58% 0,100% 0,100% 100%,0 100%)!important;}
      .vos-mobile-detail-header::before{content:""!important;position:absolute!important;z-index:1!important;top:-3px!important;right:39px!important;width:6px!important;height:82px!important;background:#ffffff!important;transform:rotate(35deg)!important;transform-origin:top center!important;-webkit-transform:rotate(35deg)!important;-webkit-transform-origin:top center!important;}
      .vos-mobile-detail-header--customer{margin-top:12px!important;}
      .vos-mobile-detail-header-icon{display:grid!important;place-items:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;margin-right:20px!important;border-radius:50%!important;background:#ffffff!important;color:#d90713!important;font-size:18px!important;line-height:44px!important;font-weight:900!important;text-align:center!important;}
      .vos-mobile-detail-header>span{position:relative!important;z-index:2!important;}
      .vos-mobile-detail-header>span:last-child{display:block!important;align-self:center!important;top:18px!important;height:44px!important;min-width:0!important;padding-top:0!important;box-sizing:border-box!important;overflow:hidden!important;color:#ffffff!important;font-size:18px!important;line-height:44px!important;mso-line-height-rule:exactly!important;text-overflow:ellipsis!important;white-space:nowrap!important;transform:none!important;}
      .vos-mobile-detail-icon-image{display:block!important;width:26px!important;height:26px!important;object-fit:contain!important;border:0!important;outline:0!important;}
      .vos-mobile-detail-header-icon .vos-mobile-detail-icon-image{width:34px!important;height:34px!important;margin:auto!important;}
      .vos-mobile-detail-row{display:flex!important;align-items:center!important;gap:14px!important;min-height:68px!important;padding:8px 14px!important;box-sizing:border-box!important;border-bottom:1px solid #e5e5e5!important;background:#ffffff!important;text-align:left!important;}
      .vos-mobile-detail-icon{display:grid!important;place-items:center!important;flex:0 0 54px!important;width:54px!important;height:54px!important;border-radius:8px!important;background:#fff0f1!important;color:#d90713!important;font-size:16px!important;line-height:54px!important;font-weight:900!important;text-align:center!important;}
      .vos-mobile-detail-icon .vos-mobile-detail-icon-image{width:34px!important;height:34px!important;margin:auto!important;}
      .vos-mobile-detail-row>div{min-width:0!important;padding-left:14px!important;border-left:1px solid #eeeeee!important;font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;line-height:18px!important;color:#111111!important;}
      .vos-mobile-detail-row b{display:block!important;margin:0 0 2px!important;color:#ff1616!important;font-size:9px!important;line-height:12px!important;font-weight:700!important;}
      .vos-mobile-detail-row>div>span,.vos-mobile-detail-row>div>a.vos-proof-email-link{display:block!important;color:#000000!important;-webkit-text-fill-color:#000000!important;font-size:9px!important;line-height:12px!important;font-weight:400!important;text-decoration:none!important;overflow-wrap:anywhere!important;}
      .vos-mobile-detail-row a.vos-proof-email-link:hover,.vos-mobile-detail-row a.vos-proof-email-link:focus{color:#ff1616!important;-webkit-text-fill-color:#ff1616!important;text-decoration:none!important;}

      .vos-section-title{width:90%!important;font-size:16px!important;line-height:20px!important;font-weight:900!important;white-space:nowrap!important;margin:10px auto 6px!important;text-align:center!important;}
      .vos-mobile-section-title{font-size:16px!important;line-height:20px!important;white-space:nowrap!important;margin-top:10px!important;margin-bottom:6px!important;}
      h2{width:90%!important;font-size:16px!important;line-height:20px!important;font-weight:900!important;white-space:nowrap!important;margin:10px auto 6px!important;text-align:center!important;}
      p{max-width:100%!important;}

      .vos-fill-table,.vos-logo-table{width:100%!important;border-spacing:0!important;table-layout:fixed!important;}
      .vos-fill-table tr,.vos-logo-table tr{display:block!important;width:100%!important;}
      .vos-fill-cell,.vos-logo-cell{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0 0 20px!important;}
      .vos-fill-cell-empty,.vos-logo-cell-empty{display:none!important;}
      .vos-names-table{width:100%!important;border-spacing:0!important;table-layout:fixed!important;}
      .vos-names-table{margin-top:20px!important;}
      .vos-names-table tr{display:block!important;width:100%!important;}
      .vos-names-cell{display:block!important;width:100%!important;box-sizing:border-box!important;margin:0 0 20px!important;}
      .vos-names-table td:not(.vos-names-cell){display:none!important;}

      .vos-fill-cell{border:2px solid #111!important;border-radius:10px 0 10px 0!important;overflow:hidden!important;}
      .vos-fill-cell:first-child,.vos-fill-cell:last-child{border-radius:10px 0 10px 0!important;}
      .vos-fill-copy{height:auto!important;min-height:34px!important;padding:5px 6px!important;font-size:8px!important;line-height:10px!important;}
      .vos-fill-title{font-size:11px!important;line-height:13px!important;}
      .vos-fill-cell>div:last-child,.vos-fill-cell>.vos-fill-copy+div{height:110px!important;min-height:110px!important;line-height:110px!important;mso-line-height-rule:exactly!important;}
      .vos-fill-cell>div:last-child img,.vos-fill-cell>.vos-fill-copy+div img{display:block!important;width:100%!important;height:110px!important;min-height:110px!important;object-fit:cover!important;margin:0!important;}

      .vos-names-cell{padding:7px 7px!important;font-size:8px!important;line-height:11px!important;border:2px solid #ff1616!important;border-radius:10px 0 10px 0!important;}
      .vos-names-cell:first-child,.vos-names-cell:last-child{border-radius:10px 0 10px 0!important;}

      .vos-logo-cell{height:auto!important;padding:7px!important;border:2px solid #111!important;border-radius:10px 0 10px 0!important;overflow:visible!important;}
      .vos-logo-cell:first-child,.vos-logo-cell:last-child{border-radius:10px 0 10px 0!important;}
      .vos-logo-cell img{width:70%!important;max-width:70%!important;max-height:none!important;height:auto!important;margin:0 auto!important;}
      .vos-logo-table{margin-top:20px!important;}

      .vos-roster-table{width:100%!important;font-size:7px!important;line-height:9px!important;table-layout:fixed!important;}
      .vos-roster-table--desktop{display:none!important;}
      .vos-roster-table td,.vos-roster-table th{padding:4px 1px!important;word-break:break-word!important;}
      .vos-mobile-roster{display:block!important;width:100%!important;margin:20px 0 0!important;box-sizing:border-box!important;}
      .vos-mobile-roster-card{width:100%!important;margin:0!important;border:2px solid #111111!important;box-sizing:border-box!important;background:#ffffff!important;text-align:center!important;overflow:hidden!important;font-family:Arial,Helvetica,sans-serif!important;}
      .vos-mobile-roster-card+.vos-mobile-roster-card{margin-top:20px!important;}
      .vos-mobile-roster-team{padding:7px!important;border:2px solid #111111!important;border-bottom:0!important;background:#000000!important;color:#ffffff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:9px!important;line-height:12px!important;font-weight:900!important;text-transform:uppercase!important;text-align:center!important;}
      .vos-mobile-roster-label{padding:7px!important;border-top:2px solid #111111!important;background:#ed0012!important;color:#ffffff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:9px!important;line-height:12px!important;font-weight:900!important;text-transform:uppercase!important;text-align:center!important;}
      .vos-mobile-roster-value{padding:7px!important;border-top:2px solid #111111!important;background:#ffffff!important;color:#000000!important;font-family:Arial,Helvetica,sans-serif!important;font-size:9px!important;line-height:12px!important;font-weight:400!important;text-transform:uppercase!important;text-align:center!important;}

      .vos-email-footer-cell{display:block!important;width:100%!important;box-sizing:border-box!important;text-align:left!important;}
      .vos-email-footer-gap{display:none!important;width:0!important;}
      .vos-email-project-cell{font-size:8px!important;line-height:12px!important;padding:5px 7px!important;border-radius:0 15px 0 0!important;white-space:normal!important;text-align:center!important;}
      .vos-email-date-cell{font-size:8px!important;line-height:12px!important;padding:5px 7px!important;text-align:center!important;border-radius:0!important;white-space:normal!important;}
      .vos-email-date-box{border-radius:0!important;}

      .vos-customer-message-cell{padding:7px 8px!important;}
      .vos-customer-message-title{font-size:10px!important;line-height:13px!important;}
      .vos-customer-message-copy{font-size:9px!important;line-height:12px!important;font-weight:400!important;color:#000000!important;}
      .vos-roster-upload-label{width:34%!important;font-size:8px!important;line-height:10px!important;padding:7px!important;}
      .vos-roster-upload-link{font-size:7px!important;line-height:10px!important;padding:7px!important;word-break:break-all!important;}
    }
/* EMAIL PROOF MOBILE PATCH END */

/* Vertical text style button */
#tab-names > .card > .mode-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
#tab-names > .card > .mode-row .mode-btn{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;}
@media (max-width:700px){#tab-names > .card > .mode-row{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Text style button icon layout */
#tab-names > .card > .mode-row .mode-btn{
  flex-direction:column;
  gap:5px;
  white-space:nowrap;
  font-size:11px;
  line-height:1.1;
  padding-left:4px;
  padding-right:4px;
}
#tab-names > .card > .mode-row .mode-btn::before{
  content:"";
  display:block;
  width:28px;
  height:28px;
  flex:0 0 28px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}
#modeNormal::before{background-image:url('../virtual_svg_logos/straight_icon.svg');}
#modeCurveUp::before{background-image:url('../virtual_svg_logos/curved_up_icon.svg');}
#modeCurveDown::before{background-image:url('../virtual_svg_logos/curved_down_icon.svg');}
#modeVertical::before{background-image:url('../virtual_svg_logos/vertical_style_icon.svg');}

/* Text style buttons + modern range controls patch */
#tab-names > .card > .mode-row .mode-btn{
  min-height:60px;
  gap:3px;
  padding:5px 2px;
  font-size:9px;
  font-weight:500;
  line-height:1;
  letter-spacing:-.15px;
  white-space:nowrap;
  overflow:hidden;
  transition:background-color .24s ease,color .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s ease;
}
#tab-names > .card > .mode-row .mode-btn::before{
  width:38px;
  height:25px;
  flex:0 0 25px;
  background-size:contain;
}
#tab-names > .card > .mode-row .mode-btn:hover{
  background:#333;
  color:#fff;
  border-color:#333;
  box-shadow:0 5px 12px rgba(0,0,0,.16);
  transform:translateY(-1px);
}
#tab-names > .card > .mode-row .mode-btn.active,
#tab-names > .card > .mode-row .mode-btn.is-active,
#tab-names > .card > .mode-row .mode-btn[aria-pressed="true"]{
  background:#333;
  color:#fff;
  border-color:#333;
  box-shadow:0 5px 12px rgba(0,0,0,.18);
}

body.virtual-designer-page input[type="range"]{
  --virtual-range-progress:0%;
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:15px;
  min-height:15px;
  padding:0;
  border:2px solid #171717;
  border-radius:999px;
  outline:none;
  cursor:pointer;
  background:
    linear-gradient(90deg,#f00 0%,#c90000 var(--virtual-range-progress),transparent var(--virtual-range-progress),transparent 100%),
    repeating-linear-gradient(135deg,#292929 0,#292929 7px,#212121 7px,#212121 14px);
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.22),
    inset 0 -2px 3px rgba(0,0,0,.65),
    0 1px 3px rgba(0,0,0,.28);
  transition:filter .2s ease,box-shadow .2s ease;
}
body.virtual-designer-page input[type="range"]:hover{
  filter:brightness(1.04);
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.26),
    inset 0 -2px 3px rgba(0,0,0,.7),
    0 2px 6px rgba(0,0,0,.34);
}
body.virtual-designer-page input[type="range"]::-webkit-slider-runnable-track{
  height:11px;
  border-radius:999px;
  background:transparent;
}
body.virtual-designer-page input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:27px;
  height:27px;
  margin-top:-8px;
  border:3px solid #111;
  border-radius:50%;
  background:linear-gradient(145deg,#ff3b3b 0%,#e60000 48%,#a90000 100%);
  box-shadow:
    0 0 0 3px #3b3b3b,
    0 0 0 5px #090909,
    inset 0 2px 2px rgba(255,255,255,.62),
    inset 0 -3px 4px rgba(0,0,0,.5),
    0 4px 8px rgba(0,0,0,.38),
    0 5px 12px rgba(225,0,0,.24);
  transition:transform .16s ease,filter .16s ease;
}
body.virtual-designer-page input[type="range"]:hover::-webkit-slider-thumb,
body.virtual-designer-page input[type="range"]:focus-visible::-webkit-slider-thumb{
  transform:scale(1.05);
  filter:brightness(1.06);
}
body.virtual-designer-page input[type="range"]::-moz-range-track{
  height:11px;
  border:0;
  border-radius:999px;
  background:transparent;
}
body.virtual-designer-page input[type="range"]::-moz-range-progress{
  height:11px;
  border-radius:999px;
  background:linear-gradient(#ff2424,#c90000);
}
body.virtual-designer-page input[type="range"]::-moz-range-thumb{
  width:22px;
  height:22px;
  border:3px solid #111;
  border-radius:50%;
  background:linear-gradient(145deg,#ff3b3b 0%,#e60000 48%,#a90000 100%);
  box-shadow:
    0 0 0 3px #3b3b3b,
    0 0 0 5px #090909,
    inset 0 2px 2px rgba(255,255,255,.62),
    inset 0 -3px 4px rgba(0,0,0,.5),
    0 4px 8px rgba(0,0,0,.38);
}

.admin-secret-overlay{
  animation:virtualAdminOverlayFadeIn .28s ease both;
}
.admin-secret-overlay .admin-secret-modal{
  animation:virtualAdminModalFadeIn .34s cubic-bezier(.2,.82,.28,1) both;
}
@keyframes virtualAdminOverlayFadeIn{
  from{opacity:0;}
  to{opacity:1;}
}
@keyframes virtualAdminModalFadeIn{
  from{opacity:0;transform:translateY(14px) scale(.97);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

/* Text style button state + compact range thumb patch */
#tab-names > .card > .mode-row .mode-btn{
  background:#333;
  color:#ed1c24;
  border-color:#333;
  transform-origin:center;
}
#tab-names > .card > .mode-row .mode-btn:hover{
  background:#4d4d4d;
  color:#ed1c24;
  border-color:#4d4d4d;
  transform:scale(1.2);
  z-index:3;
}
#tab-names > .card > .mode-row .mode-btn.active,
#tab-names > .card > .mode-row .mode-btn.is-active,
#tab-names > .card > .mode-row .mode-btn[aria-pressed="true"]{
  background:#4d4d4d;
  color:#ed1c24;
  border-color:#4d4d4d;
  transform:scale(1.2);
  z-index:2;
}
body.virtual-designer-page input[type="range"]::-webkit-slider-thumb{
  width:21px;
  height:21px;
  margin-top:-5px;
  border-width:2px;
  box-shadow:
    0 0 0 2px #3b3b3b,
    0 0 0 4px #090909,
    inset 0 1px 2px rgba(255,255,255,.68),
    inset 0 -2px 3px rgba(0,0,0,.5),
    0 3px 6px rgba(0,0,0,.36),
    0 4px 9px rgba(225,0,0,.22);
}
body.virtual-designer-page input[type="range"]::-moz-range-thumb{
  width:17px;
  height:17px;
  border-width:2px;
  box-shadow:
    0 0 0 2px #3b3b3b,
    0 0 0 4px #090909,
    inset 0 1px 2px rgba(255,255,255,.68),
    inset 0 -2px 3px rgba(0,0,0,.5),
    0 3px 6px rgba(0,0,0,.36);
}
.virtual-range-tooltip{
  position:fixed;
  z-index:999999;
  min-width:38px;
  padding:5px 8px;
  border:1px solid #050505;
  border-radius:6px;
  background:linear-gradient(#272727,#090909);
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1;
  text-align:center;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-8px) scale(.96);
  transition:opacity .14s ease,transform .14s ease;
  box-shadow:0 4px 10px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.12);
}
.virtual-range-tooltip::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:9px;
  height:9px;
  background:#090909;
  border-right:1px solid #050505;
  border-bottom:1px solid #050505;
  transform:translateX(-50%) rotate(45deg);
}
.virtual-range-tooltip.is-visible{opacity:1;transform:translate(-50%,-12px) scale(1);}


/* Final compact range + permanent value tooltip patch */
body.virtual-designer-page input[type="range"]{
  height:11px;
  min-height:11px;
  border-width:1px;
}
body.virtual-designer-page input[type="range"]::-webkit-slider-runnable-track{
  height:9px;
}
body.virtual-designer-page input[type="range"]::-webkit-slider-thumb{
  width:19px;
  height:19px;
  margin-top:-5px;
  border-width:2px;
  box-shadow:
    0 0 0 2px #3b3b3b,
    0 0 0 3px #090909,
    inset 0 1px 2px rgba(255,255,255,.68),
    inset 0 -2px 3px rgba(0,0,0,.5),
    0 2px 5px rgba(0,0,0,.34),
    0 3px 7px rgba(225,0,0,.2);
}
body.virtual-designer-page input[type="range"]::-moz-range-track,
body.virtual-designer-page input[type="range"]::-moz-range-progress{
  height:9px;
}
body.virtual-designer-page input[type="range"]::-moz-range-thumb{
  width:15px;
  height:15px;
  border-width:2px;
  box-shadow:
    0 0 0 2px #3b3b3b,
    0 0 0 3px #090909,
    inset 0 1px 2px rgba(255,255,255,.68),
    inset 0 -2px 3px rgba(0,0,0,.5),
    0 2px 5px rgba(0,0,0,.34);
}
.virtual-range-tooltip{
  opacity:1;
  transform:translate(-50%,-100%) scale(1);
  transition:left .08s linear,top .08s linear;
}
.virtual-range-tooltip.is-visible{
  opacity:1;
  transform:translate(-50%,-100%) scale(1);
}


/* Requested final text-mode button and range-control corrections */
#tab-names > .card > .mode-row .mode-btn{
  background:#d9d9d9;
  color:#ed1c24;
  border-color:#cfcfcf;
  transform:scale(1);
}
#tab-names > .card > .mode-row .mode-btn:hover{
  background:#bfbfbf;
  color:#ed1c24;
  border-color:#b5b5b5;
  transform:scale(1.2);
}
#tab-names > .card > .mode-row .mode-btn.active,
#tab-names > .card > .mode-row .mode-btn.is-active,
#tab-names > .card > .mode-row .mode-btn[aria-pressed="true"]{
  background:#bfbfbf;
  color:#ed1c24;
  border-color:#b5b5b5;
  transform:scale(1.2);
}

body.virtual-designer-page input[type="range"]{
  height:9px;
  min-height:9px;
  border-width:1px;
  background:
    linear-gradient(90deg,#ff1616 0,#c90000 var(--virtual-range-progress),transparent var(--virtual-range-progress),transparent 100%),
    repeating-linear-gradient(135deg,#292929 0,#292929 6px,#202020 6px,#202020 12px);
}
body.virtual-designer-page input[type="range"]::-webkit-slider-runnable-track{height:7px;}
body.virtual-designer-page input[type="range"]::-webkit-slider-thumb{
  width:17px;
  height:17px;
  margin-top:-5px;
  border-width:2px;
  box-shadow:
    0 0 0 2px #3b3b3b,
    0 0 0 3px #090909,
    inset 0 1px 2px rgba(255,255,255,.7),
    inset 0 -2px 3px rgba(0,0,0,.5),
    0 2px 5px rgba(0,0,0,.34);
}
body.virtual-designer-page input[type="range"]::-moz-range-track,
body.virtual-designer-page input[type="range"]::-moz-range-progress{height:7px;}
body.virtual-designer-page input[type="range"]::-moz-range-thumb{
  width:13px;
  height:13px;
  border-width:2px;
}
.virtual-range-tooltip,
.virtual-range-tooltip.is-visible{
  opacity:1;
  transform:translate(-50%,-100%) scale(1);
}

/* Requested final spacing, initial slider layout and tooltip color patch */
#tab-names > .card > .mode-row .mode-btn{
  margin-top:2px;
  margin-bottom:2px;
}
#virtualFontFamilyModalTrigger.virtual-font-family-trigger{
  margin-bottom:40px!important;
}
#swatches3{
  margin-bottom:30px!important;
}
.virtual-range-tooltip,
.virtual-range-tooltip.is-visible{
  background:linear-gradient(180deg,#ff2424 0%,#c90000 100%);
  border-color:#9f0000;
  color:#fff;
  box-shadow:0 4px 10px rgba(201,0,0,.28),inset 0 1px rgba(255,255,255,.28);
}
.virtual-range-tooltip::after{
  background:#c90000;
  border-right-color:#9f0000;
  border-bottom-color:#9f0000;
}

/* Final smooth range-tooltip attachment and compact text-style button fit */
#tab-names > .card > .mode-row .mode-btn{
  box-sizing:border-box;
  margin:0;
  padding:2px!important;
  gap:2px;
  min-height:0;
  overflow:visible;
}
#tab-names > .card > .mode-row .mode-btn::before{
  width:100%;
  max-width:42px;
  height:28px;
  flex:0 0 28px;
}
.virtual-range-tooltip-host{
  position:relative!important;
}
.virtual-range-tooltip,
.virtual-range-tooltip.is-visible{
  position:absolute;
  margin:0;
  transform:translate(-50%,-100%) scale(1);
  transition:none!important;
  will-change:left;
}


/* Requested row spacing update */
.grad-controls .row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 40px 0;
}

.row {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 40px 0px;
}


/* Match Fill heading spacing exactly to Outline 1. */
#tab-names label[for="textColor"],
#tab-names .text-fill-label,
#tab-names [data-text-color-label="fill"]{
  display:block;
  margin:2px 0!important;
  padding:0!important;
  line-height:1.2!important;
}
#textFillSwatches{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}



/* Custom quote success countdown animation patch */
.success-count-box{border-radius:50%!important;}
.success-count-box::before,.success-count-box::after{display:block!important;content:""!important;position:absolute;inset:-5px;border:2px solid rgba(239,31,47,.35);border-radius:50%;animation:counterPulse 2s ease-out infinite;pointer-events:none;}
.success-count-box::after{inset:-11px;animation-delay:.55s;opacity:.4;}

/* Generated order proof fill content patch */
.vos-fill-copy{height:auto!important;min-height:43px!important;box-sizing:border-box!important;overflow:visible!important;}

/* Custom quote success Continue Now: normal button shape with the existing pulse effect. */
#successScreen .success-redirect #successRedirectLink{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:145px!important;
  height:48px!important;
  min-height:48px!important;
  margin:18px auto 0!important;
  padding:0 24px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  border:1px solid #ffd8dc!important;
  border-radius:0!important;
  background:#fff5f6!important;
  color:#ef1f2f!important;
  font-size:12px!important;
  line-height:15px!important;
  font-weight:900!important;
  text-align:center!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  box-shadow:0 12px 30px rgba(239,31,47,.14)!important;
  transform:none!important;
  animation:none!important;
  isolation:isolate!important;
}
#successScreen .success-redirect #successRedirectLink::before,
#successScreen .success-redirect #successRedirectLink::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:-5px!important;
  width:auto!important;
  height:auto!important;
  border:2px solid rgba(239,31,47,.35)!important;
  border-radius:0!important;
  background:transparent!important;
  opacity:1!important;
  pointer-events:none!important;
  animation:counterPulse 2s ease-out infinite!important;
  z-index:-1!important;
}
#successScreen .success-redirect #successRedirectLink::after{
  inset:-11px!important;
  opacity:.4!important;
  animation-delay:.55s!important;
}
#successScreen .success-redirect #successRedirectLink:hover{
  background:#fff5f6!important;
  color:#ef1f2f!important;
  border-color:#ffd8dc!important;
  transform:none!important;
  box-shadow:0 12px 30px rgba(239,31,47,.14)!important;
}

/* Custom design quote: keep the Continue button aligned and sized like the approved layout. */
body.virtual-custom-quote-page #nextBtn,
#getCustomDesignQuoteForm #nextBtn{
  width:145px!important;
  min-width:145px!important;
  height:46px!important;
  padding:0 18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#ef2434 0%,#d9081c 100%)!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(222,15,34,.24)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
body.virtual-custom-quote-page #nextBtn[style*="display: none"],
#getCustomDesignQuoteForm #nextBtn[style*="display: none"]{
  display:none!important;
}
body.virtual-custom-quote-page #nextBtn:hover,
#getCustomDesignQuoteForm #nextBtn:hover{
  background:linear-gradient(180deg,#f52d3d 0%,#c90016 100%)!important;
  transform:translateY(-1px)!important;
}
@media (max-width:700px){
  body.virtual-custom-quote-page #nextBtn,
  #getCustomDesignQuoteForm #nextBtn{width:132px!important;min-width:132px!important;height:44px!important;padding:0 14px!important;}
}

/* Custom quote desktop: keep the brand panel fixed while only the form side scrolls. */
@media (min-width:851px){
  body.virtual-custom-quote-page{
    height:100vh!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body.virtual-custom-quote-page .page-shell{
    height:100vh!important;
    min-height:0!important;
  }
  body.virtual-custom-quote-page .brand-panel{
    position:relative!important;
    top:auto!important;
    height:100vh!important;
  }
  body.virtual-custom-quote-page .content-panel{
    height:100vh!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    align-items:flex-start!important;
    overscroll-behavior:contain;
  }
}

/* Order success redirect countdown: exact create-account success style. */
body.virtual-order-success-page .vos-success-count-box{
  position:relative!important;
  width:92px!important;
  height:92px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 auto 18px!important;
  background:#fff1f1!important;
  border:1px solid #ffd7d7!important;
  border-radius:0!important;
  color:#ed1c24!important;
  font-size:52px!important;
  line-height:1!important;
  font-weight:950!important;
  box-shadow:0 18px 44px rgba(237,28,36,.12)!important;
}
body.virtual-order-success-page .vos-success-count-box::before,
body.virtual-order-success-page .vos-success-count-box::after{
  display:none!important;
  content:none!important;
}

/* Size chart modal: use the existing login modal visual layout. */
.size-chart-modal{
  padding:24px;
  background:rgba(0,0,0,.34);
  backdrop-filter:blur(3px);
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}
.size-chart-modal.is-open{display:flex;}
.size-chart-modal__backdrop{background:transparent;}
.size-chart-modal .size-chart-modal__dialog{
  width:min(1100px,calc(100vw - 48px))!important;
  max-height:calc(100vh - 48px)!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff;
  box-shadow:0 42px 130px rgba(0,0,0,.68),0 0 0 1px rgba(255,255,255,.2)!important;
  overflow:visible!important;
  animation:loginModalPop .45s cubic-bezier(.18,.9,.22,1.15)!important;
}
.size-chart-modal__dialog:before{
  content:"";
  position:absolute;
  inset:-1px;
  background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(237,28,36,.85),rgba(255,255,255,.24));
  z-index:-1;
}
.size-chart-modal__dialog:after{
  content:"";
  position:absolute;
  inset:-10px;
  border:1px solid rgba(237,28,36,.26);
  opacity:.72;
  pointer-events:none;
  animation:loginSoftBorderPulse 2.4s ease-in-out infinite;
}
.size-chart-modal .size-chart-modal__layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  min-height:560px;
  max-height:calc(100vh - 48px);
  overflow:hidden;
}
.size-chart-modal__visual{
  position:relative;
  min-width:0;
  padding:34px 26px;
  color:#fff;
  background:radial-gradient(circle at 24% 20%,rgba(255,255,255,.22),transparent 28%),linear-gradient(145deg,#1a0002,#a40008 46%,#080808);
  overflow:hidden;
}
.size-chart-modal__visual:before{
  content:"";
  position:absolute;
  inset:-20%;
  background:conic-gradient(from 90deg,transparent,rgba(255,255,255,.18),transparent 30%);
  animation:loginSpin 7s linear infinite;
  opacity:.52;
}
.size-chart-modal__visual:after{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(255,255,255,.16);
  pointer-events:none;
}
.size-chart-modal__orbit{
  position:absolute;
  width:230px;
  height:230px;
  left:50%;
  top:50%;
  border:1px dashed rgba(255,255,255,.2);
  transform:translate(-50%,-50%);
  z-index:1;
  animation:loginOrbitSpin 14s linear infinite;
}
.size-chart-modal__visual-frame{
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px 20px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  box-shadow:0 24px 48px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.22);
  text-align:center;
  box-sizing:border-box;
}
.size-chart-modal__visual-frame:before,
.size-chart-modal__visual-frame:after{
  content:"";
  position:absolute;
  inset:-8px;
  border:1px solid rgba(255,255,255,.15);
  animation:loginBoxFade 2.6s ease-in-out infinite;
  pointer-events:none;
}
.size-chart-modal__visual-frame:after{inset:-16px;animation-delay:.55s;opacity:.35;}
.size-chart-modal__visual-icon{
  width:118px;
  height:118px;
  margin:16px auto 20px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 18px 38px rgba(0,0,0,.28);
}
.size-chart-modal__visual-icon i{font-size:54px;text-shadow:0 0 26px rgba(255,255,255,.48);}
.size-chart-modal__visual-title,
.size-chart-modal__visual-subtitle{
  display:block;
  color:#fff;
  font-size:28px;
  line-height:1.05;
  font-weight:950;
  text-transform:uppercase;
}
.size-chart-modal__visual-subtitle{margin-top:8px;}
.size-chart-modal__visual-text{
  display:block;
  margin-top:12px;
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.55;
}
.size-chart-modal .size-chart-modal__content{
  position:relative;
  min-width:0;
  padding:36px 38px 32px;
  background:linear-gradient(180deg,#fff,#fbfbfb);
  overflow:auto;
  box-sizing:border-box;
}
.size-chart-modal__close{
  top:18px!important;
  right:18px!important;
  width:42px!important;
  height:42px!important;
  border:1px solid rgba(0,0,0,.14)!important;
  border-radius:0!important;
  background:#fff!important;
  color:#222!important;
  font-size:18px!important;
  display:grid!important;
  place-items:center!important;
  transition:.25s;
}
.size-chart-modal__close i{transition:transform .22s ease;}
.size-chart-modal__close:hover{background:#ed1c24!important;color:#fff!important;border-color:#ed1c24!important;}
.size-chart-modal__close:hover i{transform:scale(1.5);}
.size-chart-modal__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 54px 15px 0;
  padding:10px 15px;
  border:1px solid #ffd7d7;
  background:#fff1f1;
  color:#b80008;
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.size-chart-modal__title{
  padding:0 54px 18px 0!important;
  color:#111;
  font-size:30px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:-.5px;
  text-align:left;
  text-transform:uppercase;
}
.size-chart-modal__body{
  max-height:none!important;
  padding:0!important;
  overflow:visible;
}
.size-chart-modal__body img{
  width:100%;
  max-width:100%;
  border:1px solid #ececec;
  border-radius:0;
  background:#fff;
  box-sizing:border-box;
}
@media(max-width:760px){
  .size-chart-modal{padding:10px!important;align-items:flex-start!important;overflow-y:auto!important;}
  body.virtual-designer-page .size-chart-modal__dialog,
  .size-chart-modal__dialog{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:none!important;margin:auto 0!important;overflow:visible!important;}
  .size-chart-modal__dialog:after{display:none;}
  .size-chart-modal__layout{display:block;min-height:0;max-height:none;overflow:visible;}
  .size-chart-modal__visual{min-height:170px;padding:22px 16px;box-sizing:border-box;}
  .size-chart-modal__visual-frame{min-height:135px;padding:18px 16px;}
  .size-chart-modal__orbit{width:150px;height:150px;}
  .size-chart-modal__visual-icon{width:64px;height:64px;margin:9px auto 11px;}
  .size-chart-modal__visual-icon i{font-size:28px;}
  .size-chart-modal__visual-title,.size-chart-modal__visual-subtitle{font-size:21px;}
  .size-chart-modal__visual-text{font-size:12px;line-height:1.4;}
  .size-chart-modal__content{padding:26px 16px 20px;overflow:visible;}
  body.virtual-designer-page .size-chart-modal__close,
  .size-chart-modal__close{top:3px!important;right:5px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;}
  .size-chart-modal__eyebrow{margin:0 38px 13px 0;padding:8px 11px;font-size:11px;}
  .size-chart-modal__title{padding:0 38px 14px 0!important;font-size:23px;text-align:left;}
  body.virtual-designer-page .size-chart-modal__body,
  .size-chart-modal__body{max-height:none!important;padding:0!important;overflow:visible!important;}
}

/* Order success horizontal layout with exact page-edge spacing. */
body.virtual-order-success-page{
  padding-top:20px!important;
  padding-bottom:20px!important;
  align-items:flex-start!important;
}
body.virtual-order-success-page .vos-shell{margin:0 auto!important;}
@media (min-width:701px){
  body.virtual-order-success-page .vos-shell{
    width:min(1180px,calc(100vw - 40px))!important;
    max-width:1180px!important;
  }
  body.virtual-order-success-page .vos-card{
    display:grid!important;
    grid-template-columns:220px 150px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto auto!important;
    column-gap:10px!important;
    align-items:center!important;
    text-align:left!important;
  }
  body.virtual-order-success-page .vos-brand{grid-column:1;grid-row:1;margin:0 auto 30px!important;}
  body.virtual-order-success-page .vos-check{grid-column:2;grid-row:1;margin:0!important;justify-self:end!important;transform:translateX(35px)!important;}
  body.virtual-order-success-page .vos-card h1{grid-column:3;grid-row:1;text-align:center!important;align-self:center!important;}
  body.virtual-order-success-page .vos-lead--discount{grid-column:3;grid-row:2;max-width:none!important;margin:12px 0 6px!important;text-align:center!important;}
  body.virtual-order-success-page .vos-lead--payment{grid-column:3;grid-row:3;max-width:none!important;margin:0 0 12px!important;text-align:center!important;}
  body.virtual-order-success-page .vos-card>.vos-lead:not(.vos-lead--discount):not(.vos-lead--payment){grid-column:3;grid-row:2;max-width:none!important;margin:12px 0!important;text-align:center!important;}
  body.virtual-order-success-page .vos-email-status,
  body.virtual-order-success-page .vos-email-error{grid-column:2 / 4;grid-row:4;width:100%!important;max-width:none!important;box-sizing:border-box!important;text-align:center!important;}
  body.virtual-order-success-page .vos-order-no{grid-column:1;grid-row:2;margin:0!important;justify-self:center!important;align-self:end!important;transform:translateY(84px)!important;}
  body.virtual-order-success-page .vos-grid{grid-column:2 / 4;grid-row:5;width:100%!important;max-width:none!important;margin:0!important;}
  body.virtual-order-success-page .vos-success-count-box{grid-column:1;grid-row:3;margin:0!important;justify-self:center!important;align-self:start!important;transform:translateY(114px)!important;}
  body.virtual-order-success-page .vos-btn{grid-column:1;grid-row:4;justify-self:center!important;align-self:start!important;transform:translateY(144px)!important;}
  body.virtual-order-success-page .vos-btn:hover{transform:translateY(142px)!important;}
}

/* Mobile startup, modal, builder navigation, and proof flow fixes. */
@media screen and (max-width:767px){
  body.virtual-designer-page.virtual-startup-loading{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:none!important;
  }
  body.virtual-designer-page.virtual-startup-loading #virtualStartupLoader{
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:none!important;
  }
  body.virtual-designer-page.designer-modal-open{
    height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  body.virtual-designer-page .designer-modal--welcome-vb .vb-content h2{
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    text-align:left!important;
  }
  body.virtual-designer-page:not(.checkout-payment-mode) .virtual-mobile-top-tools{
    position:sticky!important;
    top:0!important;
    z-index:1000!important;
    box-shadow:0 8px 18px rgba(0,0,0,.08)!important;
  }
  body.virtual-designer-page .tabbox{scroll-margin-top:116px;}
  body.virtual-designer-page.checkout-payment-mode .checkout-proof__meta-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:20px!important;
  }
  body.virtual-designer-page.checkout-payment-mode .checkout-proof__product,
  body.virtual-designer-page.checkout-payment-mode .checkout-proof__customer{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
}

/* Mobile-only designer control corrections. */
@media screen and (max-width:767px){
  body.virtual-designer-page #tab-names > .card > .mode-row{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
  }
  body.virtual-designer-page #tab-names > .card > .mode-row .mode-btn,
  body.virtual-designer-page #tab-names > .card > .mode-row .mode-btn:hover,
  body.virtual-designer-page #tab-names > .card > .mode-row .mode-btn.active,
  body.virtual-designer-page #tab-names > .card > .mode-row .mode-btn.is-active,
  body.virtual-designer-page #tab-names > .card > .mode-row .mode-btn[aria-pressed="true"]{
    width:100%!important;
    min-width:0!important;
    min-height:60px!important;
    margin:0!important;
    padding:3px 5px!important;
    gap:0!important;
    overflow:hidden!important;
    white-space:normal!important;
    font-size:8px!important;
    line-height:1.05!important;
    letter-spacing:-.2px!important;
    transform:none!important;
    z-index:auto!important;
  }
  body.virtual-designer-page #tab-names > .card > .mode-row .mode-btn::before{
    width:100%!important;
    max-width:48px!important;
    height:34px!important;
    flex:0 0 34px!important;
  }

  body.virtual-designer-page .checkout-qty-item{
    grid-template-columns:minmax(0,1fr) minmax(124px,44%)!important;
  }
  body.virtual-designer-page .checkout-qty-stepper{
    display:grid;
    grid-template-columns:34px minmax(42px,1fr) 34px;
    align-items:stretch;
    gap:4px;
    width:100%;
    min-width:0;
  }
  body.virtual-designer-page .checkout-qty-step{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:38px;
    margin:0;
    padding:0;
    border:1px solid #a90008;
    border-radius:6px;
    background:#ed1c24;
    color:#fff;
    box-shadow:0 2px 5px rgba(201,0,0,.22);
    font:900 21px/1 Arial,Helvetica,sans-serif;
    touch-action:manipulation;
  }
  body.virtual-designer-page .checkout-qty-step:active{background:#b90008;transform:translateY(1px);}
  body.virtual-designer-page .checkout-qty-stepper .checkout-qty-input{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:38px!important;
    padding:4px 2px!important;
    text-align:center!important;
    -moz-appearance:textfield;
  }
  body.virtual-designer-page .checkout-qty-stepper .checkout-qty-input::-webkit-inner-spin-button,
  body.virtual-designer-page .checkout-qty-stepper .checkout-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}

  body.virtual-designer-page #gradientSection .grad-controls .row,
  body.virtual-designer-page #patternControls .panel > .row,
  body.virtual-designer-page #tab-names .grad-controls .row{
    position:relative!important;
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr) 38px!important;
    align-items:center!important;
    column-gap:12px!important;
    min-height:26px!important;
    margin:48px 0!important;
    overflow:visible!important;
  }
  body.virtual-designer-page #gradientSection,
  body.virtual-designer-page #patternControls,
  body.virtual-designer-page #patternControls .panel,
  body.virtual-designer-page #tab-names > .card,
  body.virtual-designer-page #tab-names .grad-controls,
  body.virtual-designer-page .virtual-range-tooltip-host{
    overflow:visible!important;
  }
  body.virtual-designer-page .virtual-range-tooltip,
  body.virtual-designer-page .virtual-range-tooltip.is-visible{
    z-index:2147482500!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }

  body.virtual-font-modal-open{height:100dvh!important;overflow:hidden!important;overscroll-behavior:none!important;}
  body.virtual-designer-page .virtual-font-modal{
    align-items:flex-end!important;
    justify-content:center!important;
    padding:12px 8px 0!important;
    background:rgba(0,0,0,.48)!important;
    backdrop-filter:blur(4px)!important;
  }
  body.virtual-designer-page .virtual-font-modal__dialog{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    max-height:90dvh!important;
    margin:0!important;
    border-radius:22px 22px 0 0!important;
    overflow:hidden!important;
  }
  body.virtual-designer-page .virtual-font-modal__head{
    flex:0 0 auto!important;
    gap:12px!important;
    padding:16px 56px 14px 14px!important;
  }
  body.virtual-designer-page .virtual-font-modal__icon{width:46px!important;height:46px!important;font-size:23px!important;}
  body.virtual-designer-page .virtual-font-modal__head h3{font-size:19px!important;}
  body.virtual-designer-page .virtual-font-modal__head p{margin-top:3px!important;font-size:12px!important;}
  body.virtual-designer-page .virtual-font-modal__close{right:10px!important;width:38px!important;height:38px!important;font-size:30px!important;line-height:34px!important;}
  body.virtual-designer-page .virtual-font-modal__grid{
    flex:1 1 auto!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    max-height:none!important;
    padding:12px 12px calc(18px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
  body.virtual-designer-page .virtual-font-card{min-height:112px!important;padding:18px 18px 14px!important;}
  body.virtual-designer-page .virtual-font-card__name{margin-bottom:20px!important;font-size:14px!important;}
  body.virtual-designer-page .virtual-font-card__preview{font-size:32px!important;}

  body.virtual-designer-page .virtual-mobile-page-scrollbar{
    position:fixed;
    z-index:2147482400;
    top:10vh;
    top:10dvh;
    right:2px;
    bottom:10vh;
    bottom:10dvh;
    width:15px;
    border-radius:999px;
    background:rgba(237,28,36,.22);
    box-shadow:inset 0 0 0 1px rgba(169,0,8,.22);
    touch-action:none;
    user-select:none;
  }
  body.virtual-designer-page .virtual-mobile-page-scrollbar__thumb{
    position:absolute;
    top:0;
    left:-2px;
    width:19px;
    height:19px;
    border:2px solid #fff;
    border-radius:50%;
    background:#ed1c24;
    box-shadow:0 1px 5px rgba(0,0,0,.5);
    box-sizing:border-box;
    cursor:grab;
    touch-action:none;
    will-change:transform;
    transition:width .14s ease,height .14s ease,left .14s ease,box-shadow .14s ease;
  }
  body.virtual-designer-page .virtual-mobile-page-scrollbar__thumb.is-dragging{left:-5px;width:25px;height:25px;cursor:grabbing;box-shadow:0 0 0 4px rgba(237,28,36,.2),0 3px 9px rgba(0,0,0,.48);}
  body.virtual-designer-page .virtual-mobile-page-scrollbar.is-disabled{opacity:0;pointer-events:none;}
  body.virtual-designer-page .virtual-mobile-back-to-top{
    position:fixed;
    z-index:2147482400;
    left:12px;
    bottom:calc(14px + env(safe-area-inset-bottom));
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    margin:0;
    padding:0;
    border:2px solid #fff;
    border-radius:50%;
    background:#ed1c24;
    color:#fff;
    box-shadow:0 6px 18px rgba(0,0,0,.28);
    touch-action:manipulation;
  }
  body.virtual-designer-page .virtual-mobile-back-to-top i{font-size:22px;line-height:1;}
  body.virtual-designer-page .virtual-mobile-back-to-top:active{transform:translateY(1px);background:#b90008;}
  body.virtual-designer-page.virtual-startup-loading .virtual-mobile-page-scrollbar,
  body.virtual-designer-page.virtual-startup-loading .virtual-mobile-back-to-top{opacity:0!important;pointer-events:none!important;}

  body.virtual-designer-page.checkout-payment-mode .checkout-proof__pattern-swatch{
    height:52px!important;
    min-height:52px!important;
  }
}

@media screen and (max-width:700px){
  body.virtual-order-success-page .vos-shell{
    width:90vw!important;
    max-width:90vw!important;
    margin:0 auto!important;
  }
}
