/* Content Box */
.os-content-box { 
    background:#fff; 
    border:1px solid #eee; 
    border-radius:0; 
    box-shadow: 0 2px 5px rgba(0,0,0,0.05); 
    width: 100%; 
    box-sizing: border-box; 
    margin: 0; 
    overflow: hidden; 
    padding: 0 !important;
}

/* GAPLESS ADS (Stacking) */
.os-ad-slot-container.os-ad-gapless {
    background: transparent;
    margin: 0; 
    padding: 5px 0;
    text-align: center;
    width: 100%;
    height: auto;
    overflow: visible;
    display: block;
    line-height: 0; /* Prevents extra whitespace */
}

/* ACTION AREA (Zero Gap Container) */
.os-action-area {
    padding: 15px; 
    text-align: center;
    margin-bottom: 0 !important; /* Force touch bottom ads */
    padding-bottom: 0 !important; /* Remove bottom padding to touch ad */
}

/* BUTTONS */
.os-grad-btn { 
    color: #fff !important; 
    border: none; 
    padding: 12px 0; 
    font-size: 16px; 
    font-weight: bold; 
    border-radius: 50px; 
    cursor: pointer; 
    width: 100% !important; 
    max-width: 100% !important; 
    text-transform: uppercase; 
    box-shadow: 0 4px 10px rgba(0,0,0,0.2); 
    transition: transform 0.2s; 
    display: block; 
    margin: 0 auto; /* Zero margin for gapless */
    text-decoration: none; 
    text-align: center;
    margin-bottom: -5px; /* Pull ads closer if needed */
}
.os-grad-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(0,0,0,0.3); color: #fff !important; }

/* INSTRUCTION BOX */
.os-custom-inst-box { width: 100%; margin-bottom: 0; border-bottom: 1px solid rgba(0,0,0,0.05); font-family: sans-serif; }
.os-custom-inst-title { font-weight: 800; text-transform: uppercase; text-align: center; padding: 6px 10px; font-size: 13px; line-height: 1.2; }
.os-custom-inst-body { padding: 6px 10px; text-align: center; font-size: 12px; font-weight: 600; line-height: 1.3; }

/* Sticky Bar */
#os-sticky-step-bar {
    position: fixed !important; top: 0 !important; left: 0 !important; width: 100% !important;
    background: #fff !important; color: #000 !important; font-weight: bold; text-align: center;
    padding: 3px 0 !important; font-size: 13px; z-index: 2147483647 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1); border-bottom: 1px solid #ccc; font-family: sans-serif;
}

#os-captcha-box { background: #f9f9f9; border: 1px solid #d3d3d3; width: 280px; padding: 12px; border-radius: 4px; display: flex; align-items: center; box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin: 0 auto; cursor: pointer; user-select: none; box-sizing: border-box; }
.os-captcha-check { width: 24px; height: 24px; background: #fff; border: 2px solid #c1c1c1; border-radius: 2px; margin-right: 12px; position:relative; }
.os-captcha-check.checked { border-color:transparent; background:transparent; }
.os-captcha-check.checked::after { content: ''; position: absolute; left: 7px; top: -3px; width: 8px; height: 16px; border: solid #0f9d58; border-width: 0 3px 3px 0; transform: rotate(45deg); }
.os-captcha-spinner { border: 3px solid #f3f3f3; border-top: 3px solid #3498db; border-radius: 50%; width: 18px; height: 18px; animation: spin 1s linear infinite; margin-right: 12px; display: none; }
@keyframes spin {0% {transform: rotate(0deg);} 100% {transform: rotate(360deg);}}
.os-captcha-text { font-family: Roboto, Arial; font-weight: 500; color: #000; font-size: 14px; flex-grow: 1; }
.os-blink { animation: blinker 1s linear infinite; }
@keyframes blinker { 50% { opacity: 0; } }
.os-loader { border: 5px solid #f3f3f3; border-top: 5px solid #2575fc; border-radius: 50%; width: 45px; height: 45px; animation: spin 1s linear infinite; }
