.o2-overlay {
position: fixed;
inset: 0;
background: rgba(10, 14, 40, 0.72);
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
z-index: 99999;
display: flex;
align-items: center;
justify-content: center;
padding: 16px;
animation: overlayFadeIn 0.25s ease;
}
@keyframes overlayFadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.o2-popup {
background: #f4f4fb;
border-radius: 22px;
width: 100%;
max-width: 400px;
padding: 36px 28px 26px;
position: relative;
text-align: center;
box-shadow: 0 32px 80px rgba(0,0,0,0.38);
animation: popupSlideUp 0.32s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes popupSlideUp {
from { opacity: 0; transform: translateY(40px) scale(0.96); }
to { opacity: 1; transform: translateY(0) scale(1); }
}
.o2-close {
position: absolute;
top: 14px; right: 14px;
width: 34px; height: 34px;
border-radius: 50%;
border: 2px solid #ccc;
background: #fff;
cursor: pointer;
font-size: 16px;
color: #333;
display: flex; align-items: center; justify-content: center;
font-weight: 700;
transition: background 0.15s, border-color 0.15s;
line-height: 1;
}
.o2-close:hover { background: #eee; border-color: #999; }
.o2-logo-circle {
width: 72px; height: 72px;
background: #fff;
border-radius: 50%;
margin: 0 auto 6px;
display: flex; align-items: center; justify-content: center;
box-shadow: 0 4px 18px rgba(50,0,160,0.13);
}
.o2-logo-circle svg {
width: 52px; height: 52px;
}
.o2-eyebrow {
font-family: ‘Sora’, sans-serif;
font-size: 11px;
font-weight: 700;
letter-spacing: 2px;
color: #5533cc;
text-transform: uppercase;
margin-bottom: 8px;
display: flex; align-items: center; justify-content: center; gap: 8px;
}
.o2-eyebrow::before,
.o2-eyebrow::after {
content: ”;
display: inline-block;
height: 1px;
width: 40px;
background: #c5b8f0;
}
.o2-popup h2 {
font-family: ‘Sora’, sans-serif;
font-size: 24px;
font-weight: 800;
color: #1a0050;
margin-bottom: 10px;
line-height: 1.2;
}
.o2-popup .o2-desc {
font-size: 14.5px;
color: #555;
line-height: 1.6;
margin-bottom: 22px;
padding: 0 4px;
}
.o2-features {
background: #fff;
border-radius: 16px;
padding: 6px 0;
margin-bottom: 20px;
box-shadow: 0 2px 12px rgba(80,0,200,0.06);
text-align: left;
}
.o2-feat {
display: flex;
align-items: center;
padding: 13px 18px;
border-bottom: 1px solid #f0edf8;
gap: 14px;
}
.o2-feat:last-child { border-bottom: none; }
.o2-feat-icon {
width: 42px; height: 42px;
background: linear-gradient(135deg, #4a00cc, #7b33ff);
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
flex-shrink: 0;
font-size: 17px;
}
.o2-feat-text { flex: 1; }
.o2-feat-text strong {
display: block;
font-family: ‘Sora’, sans-serif;
font-size: 14px;
font-weight: 700;
color: #1a0050;
margin-bottom: 2px;
}
.o2-feat-text span {
font-size: 12.5px;
color: #777;
}
.o2-feat-tick {
width: 26px; height: 26px;
border-radius: 50%;
border: 2px solid #d0c4f0;
display: flex; align-items: center; justify-content: center;
font-size: 13px;
color: #6633cc;
flex-shrink: 0;
}
.o2-call-btn {
display: flex;
align-items: center;
justify-content: center;
gap: 14px;
background: linear-gradient(135deg, #4a00cc 0%, #7b33ff 100%);
color: #fff;
text-decoration: none;
border-radius: 14px;
padding: 18px 22px;
margin-bottom: 12px;
transition: transform 0.15s, box-shadow 0.15s;
box-shadow: 0 8px 28px rgba(74,0,204,0.42);
}
.o2-call-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(74,0,204,0.55); }
.o2-call-icon-wrap {
width: 44px; height: 44px;
background: rgba(255,255,255,0.18);
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
font-size: 20px;
flex-shrink: 0;
}
.o2-call-text { text-align: left; }
.o2-call-text strong {
display: block;
font-family: ‘Sora’, sans-serif;
font-size: 19px;
font-weight: 800;
letter-spacing: 0.02em;
line-height: 1.2;
}
.o2-call-text span {
font-size: 12px;
color: rgba(255,255,255,0.82);
}
.o2-maybe-later {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
background: #fff;
border: 2px solid #e0d8f5;
color: #1a0050;
font-family: ‘Sora’, sans-serif;
font-size: 15px;
font-weight: 700;
padding: 13px;
border-radius: 12px;
cursor: pointer;
transition: background 0.15s, border-color 0.15s;
margin-bottom: 16px;
}
.o2-maybe-later:hover { background: #f4f0ff; border-color: #b8a8e8; }
.o2-footer-note {
font-size: 11.5px;
color: #999;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
}
.o2-footer-note::before { content: ‘⊞’; font-size: 13px; }
@media(max-width:440px){
.o2-popup { padding: 32px 18px 22px; }
.o2-popup h2 { font-size: 20px; }
.o2-call-text strong { font-size: 17px; }
}
CLOSE