input.mailpoet_text::placeholder {
    text-align: center;
}

/* =====================================
   FULL SCREEN LOADER OVERLAY
===================================== */
.loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999999;
}

/* αρχικά κρυφό */
.ff-hidden {
    display: none;
}

/* =====================================
   RIPPLE LOADER
===================================== */
.lds-ripple {
    position: relative;
    width: 80px;
    height: 80px;
}

.lds-ripple div {
    position: absolute;
    border: 4px solid #ffffff;
    opacity: 1;
    border-radius: 50%;
    animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.lds-ripple div:nth-child(2) {
    animation-delay: -0.5s;
}

@keyframes lds-ripple {
    0% {
        top: 36px;
        left: 36px;
        width: 0;
        height: 0;
        opacity: 1;
    }
    100% {
        top: 0;
        left: 0;
        width: 72px;
        height: 72px;
        opacity: 0;
    }
}

/* =====================================
   SCROLL LOCK (όταν φορτώνει)
===================================== */
body.ff-loading {
    overflow: hidden;
    touch-action: none; /* extra ασφάλεια για mobile */
}

.fluentform .upload-notice {
  background: #F9FAFB;
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 13px;
  color: #374151;
  margin-bottom: 20px;
}

.fluentform .upload-notice strong {
  display: block;
  font-size: 14px;
  color: #111;
  margin-bottom: 4px;
}

.bb-pack { cursor: pointer; }

/* =====================================================
   BILLIBOO ACCESS CARD – PREMIUM UI
===================================================== */

.bb-access-card {
    transition: transform .25s ease, box-shadow .25s ease;
}

.bb-access-card:hover {
    transform: translateY(-3px);
    box-shadow:
        0 26px 60px rgba(0,0,0,0.18),
        inset 0 1px 0 rgba(255,255,255,0.6);
}


/* INPUT */

.bb-access-card input[type="email"]{
    transition: all .18s ease;
}

.bb-access-card input[type="email"]:focus{

    border-color:#92e8d0 !important;

    box-shadow:
        0 0 0 4px rgba(146,232,208,0.18),
        inset 0 1px 2px rgba(0,0,0,0.03);

}


/* BUTTON */

.bb-access-card button,
.bb-access-card a{

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        opacity .15s ease;

}

.bb-access-card button:hover,
.bb-access-card a:hover{

    transform: translateY(-2px);

    box-shadow:
        0 16px 30px rgba(146,232,208,0.45),
        inset 0 1px 0 rgba(255,255,255,0.6);

}

.bb-access-card button:active{
    transform: translateY(0px);
}


/* ERROR */

.bb-access-error{
    animation: bbFade .3s ease;
}

@keyframes bbFade{
    from{opacity:0; transform:translateY(6px)}
    to{opacity:1; transform:translateY(0)}
}


/* MOBILE */

@media (max-width:640px){

.bb-access-card{

    padding:24px 18px !important;
    border-radius:22px !important;

}

.bb-access-card h3{

    font-size:24px !important;

}
	
}