/* WP Social Login Styles v1.1.6 */

/* Contenitore generale */
.social-login-container {
    text-align: center;
    margin: 1em 0; /* Aggiunge spazio sopra/sotto */
    clear: both; /* Utile se float precedenti */
}

/* Stili specifici per contesto wp-login.php (login_footer) */
.social-login-context-wp_login .social-login-button {
    margin: 0 auto 10px auto !important; /* Centrato, spazio sotto */
    width: 90% !important; /* Larghezza relativa al box */
    max-width: 280px !important; /* Massima larghezza */
    box-sizing: border-box; /* Include padding/border nella larghezza */
}

/* Stili specifici per contesto shortcode */
.social-login-context-shortcode {
   padding: 10px 0;
}
.social-login-context-shortcode .social-login-button {
    margin: 0 auto 8px auto !important; /* Centrato, spazio sotto */
    width: 100% !important; /* Occupa larghezza disponibile nel suo contenitore */
    max-width: 320px !important; /* Massima larghezza per shortcode */
    box-sizing: border-box;
}


/* Stili comuni Pulsanti Social */
.social-login-button {
    display: inline-flex !important; /* Usiamo inline-flex per allineamento icona/testo */
    align-items: center;
    justify-content: center;
    padding: 10px 15px !important; /* Aumentato padding */
    border-radius: 4px !important;
    font-size: 14px !important;
    font-weight: 500 !important; /* Leggermente meno bold */
    cursor: pointer !important;
    transition: background-color 0.2s ease, box-shadow 0.2s ease !important;
    text-decoration: none !important;
    line-height: 1.2 !important; /* Normalizza altezza linea */
    vertical-align: middle; /* Aiuta allineamento se su stessa linea */
    border: 1px solid transparent; /* Bordo base trasparente */
    box-shadow: 0 1px 2px rgba(0,0,0,0.05); /* Ombra leggera base */
}

.social-login-button .social-icon {
    margin-right: 10px; /* Spazio tra icona e testo */
    display: inline-block; /* Necessario per SVG */
    vertical-align: middle; /* Allinea icona con testo */
}

.social-login-button .social-icon svg {
    display: block; /* Rimuove spazio sotto l'SVG */
    width: 18px; /* Dimensione fissa icona */
    height: 18px;
}


.social-login-button:hover {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important; /* Ombra più pronunciata on hover */
}

/* Pulsante Google */
.google-login-button {
    background-color: #ffffff !important;
    color: #444444 !important; /* Testo più scuro */
    border-color: #dcdcdc !important; /* Bordo leggero */
}

.google-login-button:hover {
    background-color: #f8f8f8 !important;
}

/* Pulsante Facebook */
.facebook-login-button {
    background-color: #1877f2 !important; /* Colore FB aggiornato */
    color: #ffffff !important;
    border-color: #1877f2 !important;
}

.facebook-login-button:hover {
    background-color: #166fe5 !important; /* Leggermente più scuro on hover */
}

/* Stili per il form di login tradizionale nello shortcode */
.social-login-traditional-form-wrapper {
    max-width: 360px; /* Larghezza massima del blocco form + social */
    margin: 20px auto; /* Centra il blocco */
    background: #fff; /* Sfondo bianco per contrasto */
    padding: 25px; /* Padding generoso */
    border: 1px solid #e0e0e0; /* Bordo sottile */
    border-radius: 6px; /* Angoli arrotondati */
    box-shadow: 0 2px 5px rgba(0,0,0,0.08); /* Ombra morbida */
}
.social-login-traditional-form {
    margin: 0 0 15px 0; /* Spazio sotto il form se presente separatore */
}
.social-login-traditional-form:last-child {
    margin-bottom: 0; /* Rimuovi spazio sotto se è l'ultimo elemento */
}

.social-login-traditional-form h3 {
    text-align: center;
    margin: 0 0 25px 0; /* Spazio sotto il titolo */
    font-size: 20px; /* Dimensione titolo */
    font-weight: 600;
    color: #333;
}

.social-login-traditional-form .social-login-error {
    background-color: #ffebe8;
    border: 1px solid #ffcdd2;
    color: #c62828;
    padding: 10px 15px;
    margin-bottom: 15px;
    border-radius: 4px;
    font-size: 13px;
    text-align: center;
}

.social-login-traditional-form label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500; /* Medium weight */
    font-size: 14px;
    color: #444;
}

.social-login-traditional-form .input {
    width: 100%;
    padding: 12px 15px; /* Padding input */
    margin-bottom: 18px; /* Spazio tra input */
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box; /* Include padding nel width */
    font-size: 14px;
    transition: border-color 0.2s ease;
}
.social-login-traditional-form .input:focus {
    border-color: #1877f2; /* Highlight focus */
    outline: none;
    box-shadow: 0 0 0 1px rgba(24, 119, 242, 0.2);
}

.social-login-traditional-form .forgetmenot {
    margin: 15px 0;
    font-size: 13px;
    color: #555;
}
.social-login-traditional-form .forgetmenot label {
    display: inline-flex; /* Allinea checkbox e label */
    align-items: center;
    font-weight: normal;
    cursor: pointer;
}
.social-login-traditional-form .forgetmenot input {
     margin-right: 8px; /* Spazio tra checkbox e testo */
     vertical-align: middle;
     width: 16px;
     height: 16px;
}


.social-login-traditional-form #wp-submit-shortcode {
    width: 100%;
    padding: 12px 15px;
    font-size: 15px;
    /* Stile bottone primario (usa colori WP o personalizza) */
    /* background-color: #007cba; */
    /* color: #fff; */
    /* border: none; */
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    transition: background-color 0.2s ease;
}
/* Stili WP per button-primary se il tema non li sovrascrive */
.social-login-traditional-form .button-primary {
    background: #2271b1;
    border-color: #2271b1;
    color: #fff;
    text-decoration: none;
    text-shadow: none;
}
.social-login-traditional-form .button-primary:hover,
.social-login-traditional-form .button-primary:focus {
     background: #135e96;
    border-color: #135e96;
    color: #fff;
}


.social-login-traditional-form .social-login-links {
    text-align: center;
    margin-top: 20px;
    font-size: 13px;
}
.social-login-traditional-form .social-login-links a {
    text-decoration: none;
    color: #1877f2; /* Usa colore accento */
    margin: 0 5px;
}
.social-login-traditional-form .social-login-links a:hover {
    text-decoration: underline;
    color: #166fe5; /* Colore link hover */
}


/* Separatore "Oppure" */
.social-login-separator {
    position: relative;
    text-align: center;
    margin: 25px 0; /* Spazio sopra/sotto */
    clear: both;
}

.social-login-separator:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #dcdcde; /* Colore linea separatore */
    z-index: 0;
}

.social-login-separator span {
    display: inline-block;
    padding: 0 15px; /* Più spazio intorno al testo */
    background-color: #fff; /* Sfondo per coprire la linea - Assumi sfondo bianco wrapper */
    position: relative;
    z-index: 1;
    color: #555d66; /* Colore testo separatore */
    font-size: 13px;
    text-transform: uppercase; /* Testo maiuscolo */
    font-weight: 500;
}


/* Messaggio utente già loggato (Shortcode) */
.social-login-message {
    background-color: #e8f5e9; /* Sfondo verde chiaro */
    border: 1px solid #c8e6c9; /* Bordo verde */
    color: #2e7d32; /* Testo verde scuro */
    border-radius: 4px;
    padding: 15px 20px;
    margin: 20px auto; /* Centrato */
    text-align: center;
    max-width: 450px;
    font-size: 14px;
}
.social-login-message strong {
    font-weight: 600;
}
.social-login-message a {
    font-weight: 600;
    text-decoration: underline;
    color: #2e7d32;
    margin-left: 8px;
}
.social-login-message a:hover {
    color: #1b5e20;
}

/* Ripristina la visibilità dei link di navigazione della pagina di login standard */
body.login p#nav, body.login p#backtoblog {
    display: block !important;
}