:root{
    --azz: #EFF2F4;
    --blu: #0b245f;
    --gia: #ffce48;
    --gri: #343434;
    --gis: #ffc800;
}

html, body {
  touch-action: pan-x pan-y;
}
#page .site-content {
    background: #fbfcff;
}

/* ADMIN BAR */

@media (max-width: 992px){
    html body #wpadminbar{
        display: none;
        overflow-x: hidden;
    }
    html{
        margin-top: 0 !important;
    }
    body{
        border: 1px solid #f3f4f6;
    }
}
/* FONTS */

@font-face {
  font-family: Poppins;
  src: url(../assets/fonts/Poppins/Poppins-Thin.ttf);
  font-weight: 300;
}

@font-face {
  font-family: Poppins;
  src: url(../assets/fonts/Poppins/Poppins-Regular.ttf);
  font-weight: 400;
}

@font-face {
  font-family: Poppins;
  src: url(../assets/fonts/Poppins/Poppins-Medium.ttf);
  font-weight: 500;
}

@font-face {
  font-family: Poppins;
  src: url(../assets/fonts/Poppins/Poppins-SemiBold.ttf);
  font-weight: 600;
}

@font-face {
  font-family: Poppins;
  src: url(../assets/fonts/Poppins/Poppins-Bold.ttf);
  font-weight: 700;
}

/* GLOBALS */
@media(max-width: 992px){
    body{
        overflow: hidden !important;
    }
     body::-webkit-scrollbar,
     html::-webkit-scrollbar{
        display: none;
     }
    #page {
        min-height: calc(var(--vh) * 100) !important;
    }
}

.btn{
    background-color: var(--gia);
    font-weight: 700;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #333;
    width: fit-content;
    margin: 0 auto;
    padding: 10px 25px;
    font-size: 18px;
    height: 49px;
}

*:focus {
  outline: none;
}

* {
  -webkit-tap-highlight-color: transparent;
}

/* PWA */
#pwa-install-btn {
    display: none;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    padding: 12px 20px;
    background-color: #002f62;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    animation: slideIn 0.3s ease-in-out;
}

#pwa-install-btn:hover {
    background-color: #001f42;
    box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}

#pwa-install-btn:active {
    transform: scale(0.98);
}

@keyframes slideIn {
    from {
        transform: translateX(400px);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@media (max-width: 768px) {
    #pwa-install-btn {
        top: 10px;
        right: 10px;
        padding: 10px 16px;
        font-size: 14px;
    }
}

/* HEADER */

.header-widget-area.widget-area.site-header-focus-item.header-widget-area-inner[data-section="sidebar-widgets-header-widget-1"] > section > p{
    margin: 0;
}

.header-widget-area.widget-area.site-header-focus-item.header-widget-area-inner[data-section="sidebar-widgets-header-widget-1"]{
    padding: 0;
}

.page-template-accedi #pallini{
    display: none!important;
}

#page header{
    position: sticky;
    top: 0;
}

#page header .ast-header-html-1 a {
    color: var(--blu);
}

#page header .ast-builder-html-element ul{
    display: flex;
    margin: 0 20px 0 0;
}
#page header .ast-builder-html-element{
    display: flex;
    align-items: center;
}

@media(max-width: 992px){
    .main-header-menu li{
        padding: 14px;
        border-bottom: 1px solid #ddd;
        font-weight: 600;
        background: #eff2f480;
    }
    .menu-loginout{
        padding: 15px 0 15px 30px;
        border-bottom: 1px solid #ddd;
        background: #eff2f480;
        font-weight: 600;
    }
    .ast-logo-title-inline .site-logo-img{
        padding-right: 0;
    }
}

/* PWA SPINNER */

#app-loader {
  position: fixed;
  inset: 0;
  background: white;
  z-index: 9999;

  display: flex;
  align-items: center;
  justify-content: center;
}

#app-loader.hidden {
  display: none;
}

.spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #ddd;
  border-top: 4px solid #000;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* FOOTER */

footer a{
    color: var(--gri);
}
footer{
    color: var(--gri);
}
footer .hamburger svg{
    width: 35px;
}
footer .hamburger .hamburger{
    display: block;
}
footer .hamburger .closer{
    display: none;
}
footer .hamburger.close .hamburger{
    display: none;
}
footer .hamburger.close .closer{
    display: block;
}
.menu-toggle.main-header-menu-toggle.ast-mobile-menu-trigger-minimal{
    opacity: 0;
    pointer-events: none;
}

#page footer .site-below-footer-wrap{
    display: none;
}

#heart, #chat-f, #user-f{
    width: 30px;
}

.footer-text{
    font-size: 6px;
    text-align: center;
    font-weight: 500;
}

@media (max-width: 992px){
    .site-above-footer-wrap{
        max-height: 0 !important;
        min-height: 0 !important;
        padding: 0;
    }
    .site-primary-footer-wrap{
        padding: 12px 16px;
    }

    #page #content #colophon{
        position: fixed;
        bottom: env(safe-area-inset-bottom, 0);
        width: 100%;
    }
    .site-primary-footer-wrap.ast-builder-grid-row-container.ast-builder-grid-row-mobile-full .ast-builder-grid-row {
        grid-template-columns: 1fr 1fr 4fr 1fr 1fr;
        background: #fefeff;
        border: 1px solid #ddd;
        border-radius: 20px;
        padding: 0 10px;
        max-width: calc(100vw - 30px);
        gap: 0;
        box-shadow: 1px 3px 8px #ddd;
    }

    footer #block-10, #block-11, #block-12, #block-9{
        display: flex;
    }
    #attiva-f{
        font-size: 12px;
        font-family: 'Poppins';
        white-space: nowrap;
        background: var(--gia);
        font-weight: 700;
        padding: 8px 12px;
        border-radius: 20px;
        color: var(--blu);
        border: 1px solid var(--gis);
        box-shadow: 0 3px 4px #ddd;
    }
    #page .site-primary-footer-wrap .site-footer-primary-section-3.site-footer-section.site-footer-section-3{
        margin-bottom: 3px;
    }
}

  /* POPUPS */

#popup-overlay{
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100dvh;
    background: var(--blu);
    z-index: 1000000;
    display: none;
    backdrop-filter: blur(4px);
}
#popup-overlay.open{
    display: block !important;
}

#popup-box {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: var(--azz);
    z-index: 1000001;
    border-radius: 8px;
    border: 6px solid var(--gia);
    box-shadow: 0 4px 16px var(--azz);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 15px;
    display: none;
    padding: 40px;
    min-width: 600px;
    color: var(--blu);
}

.popup-buttons-container{
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 20px;
}
.popup-text{
    text-align: center;
    padding: 0 100px;
    font-size: 18px;
}

.popup-title{
    font-weight: 700;
    color: var(--gia);
    font-size: 2.4rem;
    text-align: center;
}

.popup-icon{
    font-size: 5rem;
    color: var(--blu);
    margin: -20px;
}

.loader {
    border: 10px solid #f3f3f3;
    border-top: 10px solid var(--blu);
    border-left: 10px solid var(--blu);
    border-bottom: 10px solid var(--blu);
    border-radius: 50%;
    width: 70px;
    height: 70px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@media (max-width: 768px) {
    #popup-box {
        width: 90vw;
        min-width: unset;
    }
    .popup-text{
        padding: 0;
    }
}

/* WELCOME PAGE */

.welcome{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 80px 0 0;
    text-align: center;
}
.w-header{
    margin-bottom: 50px;
}
.w-title h2{
    font-weight: 600;
    font-size: 40px;
}
.w-brand{
    font-family: Poppins;
    font-size: 44px;
    font-style: italic;
    display: flex;
}
.logo-text{
    color: var(--blu);
    font-weight: 700;
}
.logo-digits{
    color: var(--gia);
    font-weight: 700;
}
.w-selector{
    display: flex;
    gap: 16px;
    margin: -10px 0 60px;
    align-items: center;
}
.w-choice{
    border: 1px solid;
    border-radius: 4px;
    padding: 2px 12px;
    cursor: pointer;
}
.w-choice.active{
    border: 3px solid var(--gia);
}
.w-registrati {
    background: var(--gia);
    font-weight: 600;
    border-radius: 8px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    font-size: 22px;
    padding: 4px 25px;
    transition: all 0.3 ease;
    color: var(--blu);
}
.w-registrati a:hover{
    color: var(--blu);
}
.btn-disabled{
    pointer-events: none;
    background-color: #ddd;
    cursor: default;
    opacity: .5;
}
.btn-disabled a{
    color: #fff;
}
.w-accedi{
    font-size: 18px;
}
.w-accedi a{
    font-weight: 600;
    text-decoration: underline;
}

/* REGISTRAZIONE */

.input-wrapper{
    position: relative;
}
.input-wrapper input{
    padding: 0 0 0 50px;
}
.input-wrapper::before{
    content: '+39 | ';
    position: absolute;
    left: 7px;
    top: 7px;
    font-weight: 600;
    opacity: .7;
}
.password-wrapper{
    margin: 15px 0;
    position: relative;
}
#togglePassword{
    position: absolute;
    right: 12px;
    top: 8px;
}
.registration-wrapper{
    padding: 80px 0;
}
.registration-wrapper p.error{
    color: red;
    font-weight: 600;
    border: 3px solid;
    border-radius: 8px;
    padding: 5px 10px;
    margin: 10px 0 0;
}
#pending-registration{
    margin: 30px 0 0;
}
.reg-notice{
    margin: 15px 0 30px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.reg-notice svg{
    width: 50px;
    opacity: .5;
}
.reg-notice p{
    margin: 0;
}

/* VERIFICA OTP */

.verify-otp{
    padding: 30px 15px;
    text-align: center;
    border: 1px solid #ddd;
    box-shadow: 0 4px 18px #ddd;
    margin: 10px 0 0px;
}
.verify-otp img{
    width: 180px;
}
@media (min-width: 992px){
    .verify-otp img{
        display: none;
    }
    .verify-otp{
        width: 500px;
    }
}
.verify-otp p{
    font-size: 18px;
    margin: 6px 0 12px;
}
.verify-otp p.phone{
    font-weight: 700;
    font-size: 32px;
}
.verify-otp .reinvia{
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid;
}
.reverify-otp{
    margin: 20px auto 20px;
}

/* ACCEDI */

.accedi{
    padding: 15px 20px;
    text-align: center;
}
.accedi p{
    max-width: 290px;
    margin: -5px auto 15px;
}
.accedi-username-container{
    text-align: left;
    margin-bottom: 12px;
}
.accedi label{
    font-weight: 600;
    padding-left: 5px;
}
.accedi-password-container{
    text-align: left;
    margin-bottom: 20px;
    position: relative;
}
.accedi-password-container .toggle-eye{
    position: absolute;
    right: 10px;
    top: 23px;
    font-size: 28px;
    cursor: pointer;
}
a.forgot-password{
    display: block;
    text-align: right;
    font-size: 12px;
    margin-top: 2px;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.accedi button{
    margin: 20px auto 0;
}
.accedi-crea-container{
    padding-top: 20px;
    margin-top: 25px;
    border-top: 1px solid #ddd;
}
.accedi-crea-container p{
    margin: 0 auto 5px;
}

/* CONTINUA REGISTRAZIONE RISORSE */

.crr-icon{
    font-size: 70px;
    text-align: center;
    padding: 40px 0 0;
    margin-bottom: -10px;
}
.continua-registrazione-risorsa{
    text-align: center;
}
.continua-registrazione-risorsa label{
    width: 100%;
    text-align: left;
    display: block;
    margin: 4px;
}
.continua-registrazione-risorsa form > div{
    margin: 10px 0;
}
.continua-registrazione-risorsa .crr-submit{
    margin: 30px 0 0;
}
.crr-privacy-notice{
    font-size: 14px;
    text-align: left;
    padding-left: 10px;
    line-height: 112%;
    margin-top: 4px;
    margin-bottom: 30px;
    opacity: .8;
}
.crr-logo-title{
    font-size: 14px;
    text-align: left;
    color: #111827;
}

/* MISC */

/* .page-template-accedi #page{
    background-image: url(/lavoro/wp-content/themes/astra-child/images/rapido24-bgm.jpg);
} */
.telefono{
    display: none;
}
.page-template-accedi .ast-primary-header-bar{
    background-color: transparent;
}
@media(min-width: 992px){
    .page-template-accedi #page,
    .page-template-registra-risorse #page,
    .page-template-registra-aziende #page,
    .page-template-2fa #page,
    .page-template-continua-r-risorsa #page,
    .page-template-continua-r-azienda #page,
    .page-template-registrazione-completata #page{
        background-image: url(/lavoro/wp-content/themes/astra-child/images/sfondo.jpg);
        background-repeat: no-repeat;
        background-size: 100%;
    }
    .telefono-heading{
        font-size: 32px;
        color: var(--blu);
        max-width: 600px;
        letter-spacing: 2px;
        margin-bottom: 30px;
        line-height: 120%;
        margin-top: -15px;
    }
    .telefono-image{
        display: flex;
        justify-content: center;
    }
    .telefono{
        display: block;
        padding-top: 80px;
    }
    .telefono img{
        width: 200px;
    }
    .page-template-accedi .ast-primary-header-bar{
        background-color: var(--azz);
    }
    #page #masthead .mi-accedi{
        border: 2px solid var(--blu);
        max-height: 40px;
        font-weight: 600;
        border-radius: 50px;
    }
    #page #masthead .mi-registrati{
        border: 2px solid var(--blu);
        max-height: 40px;
        font-weight: 600;
        border-radius: 50px;
        background-color: var(--gia);
    }
    #menu-menu-guest{
        align-items: center;
        gap: 15px;
    }
    .site-logo-img{
        position: relative;
    }
    .site-logo-img::after{
        position: absolute;
        content: 'Lavoro';
        color: var(--blu);
        background-color: var(--gia);
        border-radius: 50px;
        top: 12px;
        right: -78px;
        font-size: 18px;
        font-weight: 700;
        padding: 4px 10px;
    }
}

.titolone{
    display: flex;
    gap: 0px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@media (min-width: 922px) {
    .site-content .ast-container {
        justify-content: flex-end;
        gap: 140px;
    }
    .registration-wrapper{
        max-width: 500px;
        margin-top: 23px;
        padding: 15px 15px;
        border: 1px solid #ddd;
        box-shadow: 0px -3px 12px #ddd;
        border-radius: 8px;
    }
    .site-primary-footer-wrap[data-section="section-primary-footer-builder"]{
        display: none;
    }
    .titolone{
        gap: 10px;
        flex-direction: row;
    }
    .accedi{
        width: 500px;
        margin-top: 45px;
        border: 1px solid #ddd;
        box-shadow: 0px -3px 12px #ddd;
        border-radius: 8px;
    }
    .footer-nav-wrap li a{
        color: #fff;
        font-weight: 600;
        font-size: 24px;
        margin: 0 50px;
    }
    body:not(.logged-in) {
        overflow: hidden;
    }
    .site-above-footer-wrap {
        padding-top: 12px;
        padding-bottom: 20px;
    }
}
.site-primary-footer-wrap {
    padding-top: 15px;
    padding-bottom: 15px;
}
.page-template-welcome #page #colophon .site-primary-footer-wrap,
.page-template-registra-aziende #page #colophon .site-primary-footer-wrap,
.page-template-registra-risorse #page #colophon .site-primary-footer-wrap,
.page-template-continua-r-azienda #page #colophon .site-primary-footer-wrap,
.page-template-continua-r-risorsa #page #colophon .site-primary-footer-wrap,
.page-template-registrazione-completata #page #colophon .site-primary-footer-wrap,
.page-template-2fa #page #colophon .site-primary-footer-wrap{
    display: none;
}

/* AREA PERSONALE */

.area-personale svg{
    width: 30px;
}
.area-personale {
    padding: 10px;
    height: calc(100vh - 70px);
    overflow: auto;
}

.area-personale::-webkit-scrollbar {
    display: none;
}

.ap-intro {
    border: 1px solid #ddd;
    box-shadow: 5px 5px 8px #ddd;
    border-radius: 12px;
    margin: 10px 0;
    padding: 10px;
}

.ap-intro-above {
    border-bottom: 1px solid #ddd;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ap-intro-info {
    display: flex;
    gap: 10px;
}
.ap-intro-info-image {
    width: 45px;
    height: 45px;
    display: flex;
    font-size: 24px;
    justify-content: center;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 100%;
    box-shadow: 1px 3px 4px #ddd;
    background: var(--gia);
}
.ap-intro-info-image img {
    width: 100%;
    height: 100%;
    border-radius: 100%;
}
.apiit-name {
    font-weight: 600;
    font-size: 20px;
}

.apiit-position {
    margin-top: -5px;
    font-size: 14px;
    opacity: .8;
}
.apiit-address{
    font-size: 12px;
    opacity: .8;
    display: flex;
    align-items: center;
}
.apiit-address svg{
    width: 15px;
    display: flex;
    align-items: center;
}
.apiit-recensioni {
    display: flex;
    font-size: 16px;
    align-items: center;
    gap: 5px;
    padding: 5px 0;
}

.apiitr-star {
    display: flex;
    width: 25px;
    margin-top: -3px;
    align-items: center;
}

.apiitr-score {
    font-weight: 600;
}

.apiit-ico{
    padding: 6px 0;
    display: flex;
    gap: 4px;
    align-items: center;
    font-size: 14px;
}
.ico-label{
    font-size: 14px;
    font-weight: 600;
}
.ico-value{
    font-weight: 700;
    color: var(--gia);
}
.ico-star svg{
    width: 20px;
    height: 20px;
    margin-bottom: -3px;
}
.ap-intro-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.apir-text{
    font-size: 10px;
    font-weight: 600;
}

.apir-button {
    background: #eee;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    opacity: .7;
}
.ap-intro-below{
    display: flex;
    gap: 5px;
    padding: 10px 10px 0;
    align-items: center;
}
.apib-icon{
    display: flex;
    width: 25px;
}
.apib-text{
    font-size: 14px;
}
.ap-profilo,
.ap-posizioni,
.ap-azienda-extra {
    border: 1px solid #ddd;
    box-shadow: 5px 5px 8px #ddd;
    border-radius: 12px;
    margin: 12px 0;
    padding: 10px;
}
.appa-posizioni-button{
    background-color: var(--gia);
    color: #fff;
    box-shadow: 0px 2px 4px #ddd;
    border: 1px solid var(--gis);
    border-radius: 100px;
    padding: 0 12px;
    font-size: 14px;
    cursor: pointer;
    font-weight: 600;
}
.appa-posizioni-button:hover{
    background-color: var(--gis);
    color: #fff;
}
.app-above {
    border-bottom: 1px solid #ddd;
    padding: 5px 5px 10px;
}
.appa-extra-items-container{
    padding: 5px 10px 5px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.appa-extra-item{
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 300;
    gap: 4px;
}
.appa-extra-item svg{
    width: 20px;
}
.appa-above {
    display: flex;
    align-items: center;
    gap: 5px;
    padding-bottom: 5px;
}

.appa-above-icon {
    display: flex;
}

.appa-above-title {
    font-weight: 600;
    justify-self: flex-start;
    flex: 1;
}

.appa-above-button {
    display: flex;
    align-items: center;
    border: 1px solid;
    border-radius: 20px;
    padding: 0 0 0 8px;
    font-size: 14px;
    color: var(--gia);
}
.appa-above-button svg{
    width: 20px;
    opacity: 0.5;
}
.appab-text {
    font-size: 12px;
    opacity: .8;
}

.app-below {
    padding: 15px 5px 5px;
}

.appb-first {
    display: flex;
    gap: 5px;
    align-items: center;
}

.appb-first-icon {
    width: 25px;
    display: flex;
}

.appb-firse-title {
    font-weight: 600;
}

.appb-second-text {
    font-size: 12px;
    padding-top: 5px;
    opacity: 0.7;
}

.appb-buttons {
    display: flex;
    padding: 8px 5px 5px 0;
    justify-content: space-between;
    overflow: auto;
    gap: 10px;
}
.appb-buttons::-webkit-scrollbar {
  display: none;
}
.appb-button svg{
    width: 16px;
}
.appb-button {
    display: flex;
    align-items: center;
    gap: 2px;
    border: 1px solid;
    border-radius: 50px;
    padding: 2px 6px;
    font-weight: 600;
    cursor: pointer;
}
.appb-button.active{
    color: var(--gia);
    border: 1px solid;
}

.appb-button-icon {
    display: flex;
}

.appb-button-text {
    white-space: nowrap;
    font-size: 12px;
}

.app-extra {
    border: 1px solid #ddd;
    box-shadow: 5px 5px 8px #ddd;
    border-radius: 12px;
    margin: 10px 0;
    padding: 10px;
    transition: all .5s ease;
}
.app-extra.posizioni-attive.evidenziato{
    box-shadow: 0px 0px 8px var(--gia);
}

.appe-item {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding: 5px;
    justify-content: space-between;
    align-items: center;
}
.appe-item:not(:last-child) {
    border-bottom: 1px solid #ddd;
}

.appe-item-icon {
    display: flex;
}
.appe-item-icon svg {
    width: 25px;
    height: 25px;
}

.appe-item-text {
    flex: 1;
}

.appe-item-title {
    font-weight: 600;
}

.appe-item-subtitle {
    font-size: 12px;
    opacity: .7;
}
.posizioni-attive .appe-item-subtitle{
    opacity: 1;
    font-size: 14px;
    font-weight: 600;
}

.appe-item-button {
    background: #eee;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 34px;
    height: 34px;
    border-radius: 100%;
    opacity: .7;
}
.posizioni-attive  .appe-item-button {
    background: none;
}
.appe-item-button svg{
    width: 25px;
}
.posizioni-attive  .appe-item-button svg{
    width: 20px;
}

/* GO BACK BUTTON */

.go-back{
    display: flex;
    gap: 5px;
    align-items: center;
    font-size: 18px;
    font-weight: 600;
    border: 1px solid;
    width: fit-content;
    border-radius: 8px;
    padding: 1px 12px;
    cursor: pointer;
    box-shadow: 4px 4px 8px #ddd;
    margin-bottom: 10px;
}

/* PROFILE PAGES */

.profile{
    position: relative;
}
.profile-wrapper{
    padding: 20px 0;
}
.profile-heading {
    margin: -10px 0 10px;
    display: flex;
    align-items: center;
    padding: 0 20px 10px;
    box-shadow: 3px 6px 6px #ddd;
}
.profile-heading h3{
    margin-top: 10px;
}
.ed-arrow{
    width: 30px;
    border: 1px solid #ddd;
    display: flex;
    justify-content: center;
    align-items: center;
    justify-self: flex-start;
    height: 30px;
    background: #fff;
    z-index: 1000;
}
.ed-arrow svg{
    width: 20px;
}
.profilo-pubblico .ed-arrow{
    position: absolute;
    top: 20px;
    left: 20px;
}
.profile-heading .ed-title{
    font-weight: 600;
    font-size: 24px;
    margin-left: -30px;
    justify-self: center;
    color: var(--blu);
    width: 100%;
    text-align: center;
}
#edit-profile-form .form-actions{
    display: flex;
    gap: 10px;
    margin-top: 15px;
}
#edit-profile-form .form-group{
    margin: 8px 0;
}
.form-group-inline{
    display: flex;
    margin: 4px 0;
    align-items: center;
    gap: 8px;
}
.form-group-inline svg{
    width: 30px;
    height: 30px;
}
.edit-profile-form-main{
    border: 1px solid #ddd;
    box-shadow: 5px 5px 8px #ddd;
    border-radius: 12px;
    padding: 10px 20px;
    background-color: #fff;
}
.edit-profile-form-main-above{
    display: flex;
    gap: 20px;
}
.edit-profile-form-main-below{
    display: flex;
    border-top: 1px solid #ddd;
    padding-top: 6px;
    padding-left: 6px;
    gap: 4px;
}
.edit-profile-info-title{
    font-weight: 600;
    font-size: 22px;
    color: var(--blu);
    margin: 4px 4px 12px;
}
.epfmb-value{
    font-weight: 600;
}
.edit-profile-scroll{
    height: calc(100vh - 303px);
    height: calc((var(--vh) * 100) - 100px);
    overflow: auto;
}
.edit-profile-scroll::-webkit-scrollbar {
  display: none;
}
.edit-profile-info{
    border: 1px solid #ddd;
    box-shadow: 5px 5px 8px #ddd;
    border-radius: 12px;
    padding: 10px 20px;
    background-color: #fff;
    margin: 12px 0;
}
.grouper{
    display: flex;
    gap: 20px;
}
.date-esperienza{
    display: flex;
    gap: 10px;
}
.form-group-inner{
    border: 1px solid #ddd;
    box-shadow: 5px 5px 8px #ddd;
    border-radius: 12px;
    padding: 10px 5px;
}
.esperienza-lavorativa-title{
    font-weight: 600;
    font-size: 18px;
    color: var(--blu);
}
.checkbox-label{
    display: flex;
    margin: 6px;
    gap: 8px;
}
.checkbox-label input{
    width: 20px;
    height: 20px;
}
.page-template-modifica-profilo footer,
.page-template-modifica-profilo header,
.page-template-modifica-account footer,
.page-template-modifica-account header,
.page-template-account header,
.page-template-account footer,
.page-template-elimina-account header,
.page-template-elimina-account footer,
.page-template-completa-profilo header,
.page-template-completa-profilo footer,
.page-template-profilo-pubblico header{
    display: none;
}
/* Avatar picker */
.form-group--avatar{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 16px;
    width: fit-content;
}
.avatar-input{
    display: none;
}
.avatar-picker{
    position: relative;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    overflow: hidden;
    cursor: pointer;
    background-color: #e8edf2;
    flex-shrink: 0;
}
.avatar-picker img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.avatar-picker__overlay{
    position: absolute;
    inset: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.4);
    transition: opacity 0.2s ease;
}
.avatar-picker:hover .avatar-picker__overlay,
.avatar-picker.no-image .avatar-picker__overlay{
    opacity: 1;
}
.avatar-picker__overlay svg{
    width: 28px;
    height: 28px;
    color: #fff;
}
.nome-cognome{
    display: flex;
    gap: 0 10px;
    font-weight: 600;
    font-size: 22px;
    flex-wrap: wrap;
}
.security-notice{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}
#account_email{
    font-size: 14px;
}
.flag{
    width: 16px;
    display: flex;
    align-items: center;
    margin-bottom: 2px;
    margin-right: 4px;
}
.notice-text{
    opacity: .7;
    font-size: 12px;
}
.notice-icon svg{
    width: 25px;
    height: 25px;
}

/* Profilo pubblico */
.profilo-pubblico{
    margin-top: 20px;
}
.pp-avatar{
    margin-bottom: 16px;
}
.pp-avatar img{
    width: 90px;
    height: 90px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}
.pp-field{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}
.pp-label{
    font-weight: 600;
    min-width: 110px;
    color: #555;
    font-size: 14px;
}
.pp-value{
    font-size: 15px;
}
.pp-field--recensioni{
    align-items: center;
}

.page-template-modifica-profilo .site-content .ast-container,
.page-template-modifica-account .site-content .ast-container,
.page-template-account .site-content .ast-container,
.page-template-elimina-account .site-content .ast-container,
.page-template-completa-profilo .site-content .ast-container{
    background: #fff;
    padding: 0;
}
.edit-profile-body{
    padding: 20px 20px 0;
}
.ed-arrow{
    color: #e2a730;
}
.epi-delete-account{
    display: block;
    margin: 5px auto;
    width: 100%;
    text-align: center;
    color: red;
}
.epi-right{
    width: 100%;
}
.epi-profile-picture svg{
    width: 45px;
    height: 45px;
    border: 1px solid #ddd;
    border-radius: 100%;
    padding: 10px;
    margin-top: 10px;
    box-shadow: 2px 3px 6px #ddd;
    margin-right: -5px;
}
.epi-right .accout-owner{
    font-size: 14px;
    display: flex;
    gap: 2px;
    align-items: center;
}
.epi-right .edit-profile-info-title{
    font-size: 18px;
    margin-bottom: 0;
}

/* OTP Phone popup */
#otp-phone-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(4px);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
}
#otp-phone-overlay.open {
    display: flex;
}
#otp-phone-box {
    background: #fff;
    border-radius: 16px;
    padding: 32px 24px;
    width: 90vw;
    max-width: 340px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}
#otp-phone-box .popup-title {
    margin-bottom: 8px;
}
#otp-phone-box .popup-text {
    padding: 0;
    font-size: 15px;
    margin-bottom: 0;
}
#otp-phone-code {
    text-align: center;
    font-size: 2rem;
    letter-spacing: 6px;
    width: 100%;
    border: 2px solid #ddd;
    border-radius: 8px;
    padding: 10px;
    box-sizing: border-box;
}
#otp-phone-code:focus {
    border-color: var(--gia, #ffd023);
    outline: none;
}
#otp-phone-message {
    min-height: 20px;
    font-size: 0.88em;
    text-align: center;
}

/* ── Elimina Account page ─────────────────────────────── */

.ea-scroll {
    padding-bottom: 24px;
    overflow-y: auto;
}

/* Alert banner */
.ea-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff3f3;
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 14px;
}
.ea-alert__icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    color: #e07000;
}
.ea-alert__icon svg {
    width: 36px;
    height: 36px;
}
.ea-alert__title {
    font-weight: 700;
    font-size: 14px;
    margin: 0 0 4px;
    color: #1a1a1a;
}
.ea-alert__text {
    font-size: 13px;
    color: #444;
    margin: 0;
}

/* Cards */
.ea-card {
    border-radius: 14px;
    border: 1.5px solid transparent;
    overflow: hidden;
    margin-bottom: 14px;
}
.ea-card--blue {
    background: #eff6ff;
    border-color: #bfdbfe;
}
.ea-card--red {
    background: #fef2f2;
    border-color: #fecaca;
}
.ea-card--info {
    background: #f0f4ff;
    border-color: #c7d7fd;
}

/* Card header */
.ea-card__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 16px 12px;
}

/* Icon wrap */
.ea-card__icon-wrap {
    position: relative;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ea-card__icon-wrap--blue {
    background: #2563eb;
    color: #fff;
}
.ea-card__icon-wrap--red {
    background: #fecaca;
    color: #dc2626;
}
.ea-card__icon-wrap--info {
    background: #2563eb;
    color: #fff;
    border-radius: 50%;
}
.ea-badge {
    position: absolute;
    bottom: -5px;
    right: -5px;
    width: 18px;
    height: 18px;
    background: #dc2626;
    color: #fff;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fef2f2;
    line-height: 1;
}

/* Card titles */
.ea-card__titles {
    flex: 1;
}
.ea-card__name {
    font-weight: 700;
    font-size: 15px;
    color: #1a1a1a;
    line-height: 1.3;
}
.ea-card__name--red {
    color: #dc2626;
}
.ea-card__sub {
    font-size: 13px;
    margin-top: 2px;
}
.ea-card__sub--blue {
    color: #2563eb;
    font-weight: 500;
}
.ea-card__sub--warning {
    color: #b45309;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 3px;
}
.ea-card__info-text {
    font-size: 13px;
    color: #444;
    margin: 4px 0 0;
}

/* Feature list */
.ea-features {
    list-style: none;
    padding: 0 16px 4px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ea-features li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: #333;
}
.ea-features li svg {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    color: #555;
}
.ea-features--red li {
    color: #555;
}
.ea-features--red li svg {
    color: #dc2626;
}
.ea-red {
    color: #dc2626;
}

/* Card action buttons */
.ea-card__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 14px 16px;
    margin-top: 12px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-top: 1.5px solid rgba(0,0,0,0.07);
    box-sizing: border-box;
    transition: background 0.15s;
}
.ea-card__btn--blue {
    color: #2563eb;
    background: transparent;
}
.ea-card__btn--blue:hover {
    background: #dbeafe;
    color: #1d4ed8;
}
.ea-card__btn--red {
    color: #dc2626;
    background: transparent;
}
.ea-card__btn--red:hover {
    background: #fee2e2;
    color: #b91c1c;
}

/* Info card link */
.ea-card__link {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 12px 16px 16px;
    font-size: 14px;
    font-weight: 600;
    color: #2563eb;
    text-decoration: none;
}
.ea-card__link:hover {
    color: #1d4ed8;
}

/* Frozen account popup */
#frozen-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
}
#frozen-box {
    background: #fff;
    border-radius: 16px;
    padding: 32px 24px;
    width: 90vw;
    max-width: 340px;
    text-align: center;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

/* HOMEPAGE */

.page-template-router #content .ast-container{
    background: linear-gradient(180deg, #f2f3f6 5%, white 22%);
}

.homepage{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top: -6px;
}

.homepage-user-types{
    display: flex;
    align-items: center;
    box-shadow: 0 4px 12px rgba(30, 90, 160, 0.1);
    border-radius: 12px;
    z-index: 100;
}
.homepage-user-types-button{
    display: flex;
    align-items: center;
    padding: 3px 20px;
    border: 1px solid #ddd;
    background-color: #fff;
}
.homepage-results, .homepage-all-results{
    padding: 0 15px;
}
.homepage-user-types-button.active{
    background-color: #fff;
}
.homepage-user-types-button:first-child{
    border-radius: 12px 0 0 12px;
}
.homepage-user-types-button:last-child{
    border-radius: 0 12px 12px 0;
    border-left: none;
}
.homepage-user-types-icon img{
    width: 30px;
    height: 30px;
    object-fit: cover;
}
.homepage-user-types-text{
    font-size: 18px;
    font-weight: 600;
    margin-left: 10px;
}
.homepage-user-types-button.active .homepage-user-types-text{
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 3px;
    text-decoration-color: #005ade;
}

.profile-card, .profile-card:hover, .profile-card:focus {
    box-shadow: 4px 4px 10px 1px rgba(183, 210, 255, 0.65), 5px 3px 12px -2px rgba(183, 210, 255, 0.40);
    border-radius: 12px;
    margin: 0 0 19px;
    display: block;
    color: var(--blu);
    width: 103%;
    margin-left: -6px;
}

.profile-card-inner {
    display: grid;
    grid-template-columns: 8fr 20fr 15fr;
    gap: 5px;
    padding: 10px 10px 6px;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
}

.profile-card-inner-left {
    min-width: 62px;
}

.profile-card-image img {
    border-radius: 100%;
    width: 58px;
    min-width: 58px;
    height: 58px;
    object-fit: cover;
    box-shadow: 1px 3px 4px #ddd;
    border: 1px solid #ddd;
}
.profile-card-image {
    min-width: 62px;
}

.profile-card-inner-center {
}

.profile-card-title {
    font-weight: 700;
    font-size: 16px;
    line-height: 140%;
}

.profile-card-location {
    display: flex;
    gap: 4px;
    align-items: center;
    font-size: 13px;
    line-height: 140%;
}
.profile-card-location span{
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.profile-card-location svg{
    width: 12px;
    margin-bottom: 0px;
}

.profile-card-posizione {
    text-transform: uppercase;
    font-size: 13px;
    line-height: 140%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 128px;
    font-weight: 500;
}

.profile-card-disponibilita {
    font-size: 13px;
    display: flex;
    gap: 4px;
    align-items: center;
    line-height: 140%;
}
.profile-card-disponibilita span {
    width: 10px;
    display: block;
    height: 10px;
    border-radius: 100%;
}

.profile-card-inner-right {
}

.profile-card-inner-right-above {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: flex-end;
}

.profile-card-inner-right-above-item {
    display: flex;
    gap: 1px;
    align-items: center;
}

.profile-card-inner-right-above-item-icon svg {
    width: 15px;
}

.profile-card-inner-right-above-item-value {
    font-size: 14px;
}

.profile-card-inner-right-below {
    display: flex;
    gap: 4px;
    align-items: center;
    padding-top: 16px;
}

.profile-card-inner-right-like {
    border: 1px solid #dfe7fe;
    box-shadow: 1px 3px 4px #ddd;
    border-radius: 100%;
    display: flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
}
.profile-card-inner-right-like svg {
    width: 15px;
}

.profile-card-inner-right-show {
    padding: 0px 16px;
    height: 30px;
    font-size: 12px;
    margin: 0;
    box-shadow: 2px 2px 3px #ababab;
}

.homepage-section-title{
    font-size: 20px;
    font-weight: 600;
    margin: 20px auto 0 0;
    text-align: left;
    color: var(--blu);
}

.homepage-vetrina-outer{
    width: 100%;
}
.homepage-vetrina{
    padding-left: 0;
}
.homepage-vetrina .slick-list {
    padding-right: 25%;
    padding-bottom: 25px;
    margin-bottom: -25px;
}
.vetrina-card{
}

.homepage-vetrina .slick-track {
    display: flex;
}
.homepage-vetrina .slick-slide {
    margin: 0 0 0 10px;
}
.homepage-scroller{
    max-height: calc((var(--vh) * 100) - 208px);
    overflow: auto;
    margin-top: 20px;
    width: 100%;
}
.homepage-scroller::-webkit-scrollbar {
    display: none;
}

.mio-profilo .profile-card-inner-right-like{
    visibility: hidden;
    pointer-events: none;
}
.page-template-preferiti .ast-container{
    padding-left: 10px;
    padding-right: 10px;
    background: #fbfcff;
}
.page-template-homepage .ast-container{
    padding-left: 0px;
    padding-right: 0px;
    background: #fbfcff;
}
.page-template-homepage .site-content,
.page-template-homepage #page .site-primary-footer-wrap{
    background: #fbfcff;
}

.vetrina-card {

}

.vetrina-card-inner {
    border-radius: 12px;
    padding: 5px;
    position: relative;
    margin: 0 2px;
    background: #fff;
    color: #222;
    border: 5px solid #fff;
    box-shadow: 0 12px 30px rgba(30, 90, 160, 0.10), 0 4px 12px rgba(30, 90, 160, 0.06);
    box-shadow: 0 8px 22px rgba(207, 223, 253, 0.45);
    box-shadow: 5px 11px 18px -1px rgba(183, 210, 255, 0.45), 5px 6px 5px 0px rgba(183, 210, 255, 0.45);
}

.vetrina-card-inner-left {
    display: flex;
    align-items: center;
    justify-content: center;
}

.vetrina-card-image {
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.vetrina-card-image img{
    aspect-ratio: 1;
    object-fit: cover;
}
.vetrina-card .profile-card-disponibilita{
    position: absolute;
    left: 10px;
    bottom: 10px;
    border: 0.5px solid #fff;
    border-radius: 100%;
}
.vetrina-card-image img {}

.vetrina-card-inner-center {
    text-align: center;
    color: var(--blu);
}

.vetrina-card-title {
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vetrina-card-posizione {
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vetrina-card-location {}

.vetrina-card-location svg {}

.vetrina-card-location span {}

.vetrina-card-disponibilita {}

.vetrina-card-disponibilita span {}

.vetrina-card-inner-right {}

.vetrina-card-inner-right-above {
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.vetrina-card-inner-right-above-item {
    display: flex;
    align-items: center;
    gap: 2px;
}

.vetrina-card-inner-right-above-item-icon {
    width: 15px;
}

.vetrina-card-inner-right-above-item-icon svg {}

.vetrina-card-inner-right-above-item-value {
    font-size: 12px;
}

.vetrina-card-inner-right-below {}

.vetrina-card-inner-right-like {
    position: absolute;
    top: 10px;
    right: 10px;
    border: 1px solid #ddd;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    padding: 3px;
    background: #fff;
}

.vetrina-card-inner-right-like svg {}

.like-btn {}

.like-btn.active {} /* assuming is_preferito() may add a class like 'active' */

.vetrina-card-inner-right-show {
    height: 35px;
    margin-block-start: 3px;
    font-size: 12px;
    padding: 8px 20px;
}

.contatta {}

.homepage-vetrina-above{
    display: flex;
    justify-content: space-between;
    padding: 0 20px 8px;
    font-weight: 600;
}
.homepage-vetrina-above-left{
    display: flex;
    align-items: center;
    white-space: nowrap;
    gap: 3px;
    color: var(--blu);
}
.homepage-vetrina-above-left svg{
    width: 20px;
    display: flex;
    align-items: center;
}
.homepage-vetrina-above-right{
    display: flex;
    white-space: nowrap;
    cursor: pointer;
    color: var(--blu);
}
.homepage-vetrina-above-right svg{
    width: 20px;
}
.slick-dots{
    display: flex !important;
    justify-content: center;
    padding: 8px 0 0;
    gap: 8px;
    list-style: none;
    margin: 0;
}
.slick-dots li button {
  font-size: 0; /* hides numbers */
  background: none;
  padding: 0 2px;
}

.slick-dots li button:before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background: #cfdffd70;
  border-radius: 50%;
}

.slick-dots li.slick-active button:before {
  background: #1f4ed8;
}

/* PROFILO PUBBLICO */

.page-template-profilo-pubblico .ast-container {
    padding: 0;
}
.page-template-profilo-pubblico #page .site-content{
    max-height: calc((var(--vh) * 100) - 80px);
    overflow: auto;
}

.profilo-pubblico {
    margin: 0;
}

.prp-above {
    background: linear-gradient(0deg, #12a5ff6b, #fff);
    height: 200px;
}

.prp-below {
}

.prp-card {
    margin: -90px auto 110px;
    background: #fff;
    max-width: 94vw;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 2px 2px 6px #ddd;
}
.azienda.prp-card {
    max-width: unset;
    border-radius: unset;
}

.prp-image {
    width: 150px;
    border-radius: 100%;
    overflow: hidden;
    display: block;
    margin: -75px auto 0;
    position: relative;
    border: 7px solid #fff;
    box-shadow: 0 6px 6px #3bbcff38;
    height: 150px;
}
.azienda.prp-image {
    width: 120px;
    border-radius: 12px;
    overflow: hidden;
    display: block;
    position: relative;
    border: none;
    box-shadow: 0 6px 6px #3bbcff38;
    height: 120px;
    margin: -75px auto 0;
}
.prp-image img{
    top: 50%;
    position: relative;
    transform: translateY(-50%);
}
.azienda.prp-image img{
    height: 100%;
    object-fit: cover;
}

.prp-azienda-info{
    padding-bottom: 26px;
}
.prp-ai-left{
    max-height: 150px;
    margin: auto 0 20px 0;
    position: relative;
}
.prp-ai-right{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.azienda .prp-salva{
    min-width: 125px;
    border: 1px solid #ddd;
    height: 40px;
    box-shadow: 3px 3px 8px #ddd;
}

.prp-name {
    margin: 10px 0 -6px;
    font-size: 24px;
    font-weight: 600;
}

.prp-posizione {
    font-size: 20px;
}

.prp-location {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
}
.prp-location svg {
    width: 16px;
}

.prp-profilo-attivo {
    display: flex;
    align-items: center;
    gap: 4px;
    padding-top: 6px;
    font-size: 18px;
}
.prp-profilo-attivo svg{
    width: 24px;
}
.prp-azienda-info .prp-salva {
    width: 50px;
    border: 1px solid #ddd;
    box-shadow: 3px 3px 8px #ddd;
    position: absolute;
    top: -25px;
    right: 0;
}
.azienda .prp-azienda-info .prp-salva {
    width: 50px;
    border: 1px solid #ddd;
    box-shadow: 3px 3px 8px #ddd;
    position: absolute;
    top: -25px;
    right: -40px;
    min-width: 50px;
    height: 50px;
}
.prp-stats {
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 15px 0 0;
}
.azienda .prp-stats{
    gap: 20px;
}
.prp-stats-item {
    display: flex;
    align-items: center;
    gap: 4px;
}
.prp-stats-item-icon {
    display: flex;
}
.prp-stats-item-icon svg {
    width: 30px;
    height: 30px;
}

.prp-stats-item-value {
    font-size: 18px;
    font-weight: 600;
}
.azienda .prp-about{
    padding: 15px 20px 25px;
    max-width: 94vw;
    border: 1px solid #ddd;
    border-radius: 12px;
    margin: 0 auto 15px;
}
.azienda .prp-badges{
    padding: 15px 5px 15px;
    width: 94vw;
    border: 1px solid #ddd;
    border-radius: 12px;
    margin: 0 auto 15px;
}
.prp-badges{
    margin: 20px 0;
    width: 100%;
}
.prp-badges-azienda{
    display: flex;
    align-items: center;
    font-size: 10px;
    justify-content: space-evenly;
    font-weight: 600;
    width: 100%;
}
.badge-rr{
    display: flex;
}
.badge-ricerca{
    border-radius: 20px 0 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: 2px 6px;
    color: #fff;
    height: 26px;
}
.badge-risponde{
    border-radius: 0 20px 20px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: 2px 6px;
    background: #e1f2d9;
    color: #1b8300;
    height: 26px;
}
.badge-assunzione{
    display: flex;
    background: #fffbb2;
    border-radius: 20px;
    align-items: center;
    border: 1px solid #ffe700;
    padding: 2px 6px;
    min-height: 26px;
}
.badge-assunzione-icon{
    display: flex;
    align-items: center;
    justify-content: center;
}
.badge-assunzione-icon svg{
    width: 15px;
    height: 15px;
}
.badge-assunzione-text{

}
.prp-specializzazioni {
    border-top: 1px solid #ddd;
    margin-top: 15px;
    padding: 15px 20px;
    width: 100%;
}

.prp-specializzazioni-title {
    display: flex;
    gap: 5px;
    align-items: center;
    font-weight: 600;
    font-size: 19px;
}

.prp-specializzazioni-icon svg {
    width: 20px;
}

.prp-competenze {
    font-size: 14px;
    padding: 10px 0;
    font-weight: 600;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.prp-skill{
    border: 1px solid #ddd;
    width: fit-content;
    border-radius: 16px;
    padding: 2px 10px;
    box-shadow: 2px 2px 4px var(--gia);
}

.prp-about {
    border-top: 1px solid #ddd;
    padding: 15px 20px 25px;
    width: 100%;
}

.prp-about-title {
    display: flex;
    gap: 5px;
    align-items: center;
    font-weight: 600;
    font-size: 19px;
}

.prp-about-icon svg {
    width: 20px;
}

.prp-about-title-text {

}

.prp-about-text {
    font-size: 14px;
}

.prp-card-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    width: 100%;
    padding-left: 20px;
}
.prp-icon{
    display: flex;
}
.prp-icon svg{
    width: 20px;
    height: 20px;
}

.prp-body {
}

.prp-esperienze-body {
    width: 100%;
    padding: 10px 25px;
}

.prp-esperienza-item {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    border-top: 1px solid #ddd;
    padding: 8px 0 4px;
    margin: 4px 0 0;
}

.prp-esperienza-left {}

.prp-esperienza-left svg {
    width: 20px;
    margin-top: 4px;
}

.prp-esperienza-right {}

.prp-esperienza-row{
    display: flex;
    gap: 4px;
}

.prp-esperienza-posizione{
    font-weight: 600;
    font-size: 16px;
}
.prp-esperienza-azienda{

}

.prp-istruzione-items {
    width: 100%;
    padding: 10px 20px;
    display: flex;
    flex-direction: column-reverse;
}

.prp-istruzione-item {
    display: flex;
    gap: 10px;
}

.prp-istruzione-left {}

.prp-istruzione-left svg {
    width: 20px;
    margin-top: 4px;
}

.prp-istruzione-right {}

.prp-istruzione-titolo {}

.prp-body {}

.prp-disponibilita-body {
    padding: 10px 20px 0;
    width: 100%;
}

.prp-disponibilita-item {
    font-size: 20px;
    font-weight: 600;
    display: flex;
    gap: 10px;
    align-items: center;
}

.prp-disponibilita-item span {
    width: 22px;
    height: 22px;
    border-radius: 100%;
    display: block;
}

.prp-disponibilita-rispondo-notice {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 15px;
}

.prp-disponibilita-rispondo-notice svg {
    width: 20px;
}

.prp-disponibilita-rispondo-notice span {}

.prp-card:last-child {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.prp-card-left {
    width: 100%;
}

.prp-presenza-online-body {
    display: flex;
    gap: 6px;
    width: 100%;
    justify-content: space-evenly;
    padding: 15px 0;
}

.prp-presenza-online-item {}

.prp-presenza-online-icon {
    display: flex;
    justify-content: center;
}

.prp-presenza-online-icon svg {
    width: 50px;
    height: 50px;
}

.prp-presenza-online-link {}

.prp-card-right {
    width: 100%;
    border-top: 1px solid #ddd;
}

.prp-card-cta {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-evenly;
    gap: 20px;
    padding: 30px 20px;
}

.prp-contatta {
    flex: 1;
}

.prp-salva {
    flex: 1;
    display: flex;
    align-items: center;
    border: 2px solid #005ade;
    font-size: 18px;
    color: #005ade;
    font-weight: 600;
    height: 49px;
    justify-content: center;
    border-radius: 100px;
    cursor: pointer;
    gap: 4px;
}

.prp-salva svg {
    width: 30px;
}

.prp-salva span:last-of-type {
    display: none;
}
.prp-salva.liked span:last-of-type {
    display: block;
}
.prp-salva.liked span:first-of-type {
    display: none;
}
.prp-salva span:first-of-type {
    display: block;
}

.aggiungi-posizione{
    background: #007206;
    color: #fff;
    display: flex;
    white-space: nowrap;
    padding: 4px 8px;
    font-size: 12px;
    gap: 4px;
    align-items: center;
    border-radius: 20px;
    cursor: pointer;
}
.aggiungi-posizione-icon{
    width: 15px;
    height: 15px;
}
.aggiungi-posizione-text{

}

.mio-profilo{
    padding-inline: 15px;
}

/* LIKE BUTTON */

.like-btn{

}

.like-btn.liked svg{
    fill: #0b245f;
}

.page-template-preferiti{
    background-color: #f3f3fb;
}

.preferiti-title{
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 5px;
}
.preferiti-title h3{
    flex: 1;
    text-align: center;
}

.preferiti-container{
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    padding: 30px 0;
}

.preferiti-filter{
    background: #fff;
    border-radius: 8px;
    border: 1px solid #ddd;
    padding: 0;
    overflow: auto;
    max-width: calc(100%);
    margin-bottom: 10px;
}
.preferiti-filter::-webkit-scrollbar {
    display: none;
}
.preferiti-filter-items{
    display: flex;
    flex-wrap: nowrap;
}
.preferiti-filter-item{
    white-space: nowrap;
    border-right: 1px solid #ddd;
    padding: 6px 10px;
    display: flex;
    align-items: center;
    gap: 5px;
}
.preferiti-filter-item.active{
    background: #e4eeff;
}
.preferiti-results{
    max-height: calc((var(--vh) * 100) - 320px);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}
.preferiti-results > .profile-card{
    order: 200;
}
.preferiti-results::-webkit-scrollbar{
    display: none;
}

.filter-bollino{
    width: 12px;
    height: 12px;
    display: block;
    border-radius: 100%;
}

.term-name{

}

.rainbow-circle {

}
.pallino{
    position: relative;
}
.pallino::after{
    content: "";
    position: absolute;
    border-radius: 100%;
    background: red;
    width: 6px;
    height: 6px;
    top: -2px;
    right: 0px;
}

/* AGGIUNGI ANNUNCIO POPUP */

.aggiungi-posizione-overlay{
    display: none;
    background: #005ade;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    opacity: .7;
}
.aggiungi-posizione-popup{
    display: none;
    border: 1px solid #ddd;
    width: 94vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    border-radius: 12px;
    padding: 20px 10px;
}
.aggiungi-posizione-overlay.active{
    display: block;
}
.aggiungi-posizione-popup.active{
    display: block;
}
.app-row{
    border-bottom: 1px solid #ddd;
    padding: 16px 0;
}
.app-row:last-child{
    border-bottom: none;
    border-bottom: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 25px 0 0;
}
.app-row.flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.app-row.flex.no-label{
    display: flex;
    justify-content: center;
}
.app-heading{
    display: flex;
    align-items: center;
    justify-content: center;
}
.app-heading-title{
    flex: 1;
    text-align: center;
}
.app-heading-closer{
    margin: 0 0 0 auto;
    display: flex;
    align-items: center;
}
.app-heading-closer svg{
    width: 30px;
    height: 30px;
}

.app-row-label{
    font-weight: 600;
}
.app-row-choices{
    border: 1px solid #ddd;
    border-radius: 8px;
    display: flex;
    overflow: hidden;
}
.app-row-choice{
    white-space: nowrap;
    padding: 0 6px;
    font-size: 14px;
    padding: 2px 8px;
}
.app-row-choice.active{
    background-color: #313bff4c;
}
.app-row-choice:not(:last-child){
    border-right: 1px solid #ddd;
}
.app-row-contatore{
    display: flex;
    height: 40px;
}
.app-row-contatore-btn{
    background: #ffd023;
    font-size: 24px;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
}
.app-row-contatore-value input{
    height: 40px;
    max-width: 60px;
    font-weight: 600;
    text-align: center;
}
.app-row-contatore-btn.plus{
    border-radius: 20px 0 0 20px;
}
.app-row-contatore-btn.minus{
    border-radius: 0 20px 20px 0;
}
.posizioni-container{
    width: 100%;
}
.annuncio {
    border: 1px solid #ddd;
    border-radius: 12px;
    box-shadow: 4px 4px 8px #ddd;
    padding: 10px;
    width: 100%;
    margin-bottom: 25px;
}

.annuncio-above {
    display: flex;
}

.annuncio-above-icon {
    width: 60px;
    display: flex;
    align-items: center;
    border-radius: 100%;
    flex-direction: column;
    padding-top: 10px;
    gap: 5px;
}
.annuncio-pausa-icon{
    border: 1px solid #ddd;
    box-shadow: 2px 2px 4px #ddd;
    border-radius: 100%;
    display: flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    
}
.annuncio-pausa-icon svg{
    width: 20px;
    height: 20px;
    
}
.annuncio-luggage-icon{
    display: flex;
}
.annuncio-luggage-icon svg {
    width: 40px;
    height:40px;
}

.annuncio-above-info {}

.aai-posizione {
    font-size: 16px;
    font-weight: 600;
}

.aai-contratto {
    display: flex;
    gap: 5px;
    align-items: center;
}

.aai-contratto-icon svg{
    width: 15px;
    height: 15px;
}

.aai-contratto-text {
    font-size: 14px;
}

.aai-posizioni {
    display: flex;
    gap: 5px;
    align-items: center;
    height: 20px;
}

.aai-posizioni-icon svg{
    width: 15px;
    height: 15px;
}
.aai-posizioni-text{
    font-size: 14px;
}
.aai-stato {
    display: flex;
    gap: 5px;
    align-items: center;
}

.aai-stato-icon svg{
    width: 15px;
    height: 15px;
}
.aai-stato-text{
    font-size: 14px;
}
.aai-turni {
    display: flex;
    gap: 5px;
    align-items: center;
}

.aai-turni-icon svg{
    width: 15px;
    height: 15px;
}
.aai-turni-text{
    font-size: 14px;
}

.annuncio-above-ctas {
    margin: 0 0 0 auto;
}

.annuncio-above-cta {
    font-size: 14px;
    padding: 0px 15px;
    height: 30px;
    margin-top: 2px;
}

.annuncio-location{
    display: flex;
    gap: 5px;
    align-items: center;
    font-size: 12px;
    margin-bottom: 15px;
}
.annuncio-location-icon{
    display: flex;
    align-items: center;
    justify-content: center;
}
.annuncio-location-icon svg{
    width: 14px;
    height: 14px;
}
.annuncio-location-text{

}

.annuncio-above-cta.edit {}

.annuncio-above-cta.apply {}

.btn {}

.btn-1 {}

.annuncio-below {
        border-top: 1px solid #ddd;
        padding: 15px 10px;
}

.clamp {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;  
  overflow: hidden;
}

.annuncio-descrizione {}

.nessun-annuncio-notice {
    font-size: 24px;
    font-weight: 600;
    margin: 40px auto;
    text-align: center;
    border: 1px solid red;
    width: fit-content;
    padding: 6px 16px;
    border-radius: 8px;
    color: red;
}

.aggiungi-button{
    width: fit-content;
    margin: 20px auto;
    border-radius: 12px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
}
.aggiungi-button span{
    font-size: 22px;
    font-weight: 600;
    color: #007206;
}
.ab-circle{
    color: #fff;
    background: #007206;
    font-size: 120px;
    height: 120px;
    width: 120px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 15px;
    border: 5px solid #fff;
    box-shadow: 1px 1px 8px #007206;
}

.annuncio-footer{
    display: flex;
    justify-content: space-between;
    padding: 10px 15px 0;
    border-top: 1px solid #ddd;
    font-size: 14px;
    font-weight: 600;
    display: none;
}
.annuncio-footer-left{
    display: flex;
}
.annuncio-mostra-altri{
    display: flex;
    color: #005ade;
}
.leggi-di-piu{
    text-decoration: underline;
    color: #005ade;
    font-weight: 600;
    font-size: 12px;
    padding-top: 4px;
}
.app-elimina-annuncio{
    color: red;
    text-decoration: underline;
    cursor: pointer;
}

/* ROUTER */

.router{
    padding-block: 0px;
}
.router-container{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.rc-heading{
    max-width: 320px;
}
.rc-logo{

}
.rc-payoff{
    color: var(--blu);
    text-align: center;
}
.rcp-first{
    font-size: 20px;
    font-weight: 600;
}
.rcp-second{
    font-size: 16px;
    font-weight: 300;
    margin-top: -5px;
}
.rc-choice{
    margin-bottom: 18px;
    overflow: hidden;
    border-radius: 12px;
}
.rc-choice.lavoro{
    box-shadow: -1px -1px 0px 0px rgba(251, 80, 11, 0.55), 0px 1px 1px 0px rgba(251, 80, 11, 0.75), 2px 1px 3px 0px rgba(251, 80, 11, 0.80); 
}
.rc-choice.pets{
    box-shadow: -1px -1px 0px 0px rgba(47, 178, 26, 0.65), 0px 1px 1px 0px rgba(47, 178, 26, 0.65), 2px 1px 4px 0px rgba(47, 178, 26, 1);
}
.rc-choice.svago{
    box-shadow: -1px -1px 0px 0px rgba(112, 19, 204, 0.40), 0px 1px 1px 0px rgba(112, 19, 204, 0.55), 2px 1px 4px 0px rgba(112, 19, 204, 0.75); 
}
.rc-choice.market{
    box-shadow: -1px -1px 0px 0px rgba(24, 146, 175, 0.60), 0px 1px 1px 0px rgba(24, 146, 175, 0.65), 2px 1px 4px 0px rgba(24, 146, 175,0.85);
}
.rc-choice.casa{
    box-shadow: -1px -1px 0px 0px rgba(25, 111, 247, 0.60), 0px 1px 1px 0px rgba(25, 111, 247, 0.60), 2px 1px 4px 0px rgba(25, 111, 247, 0.80);   
}
.page-template-router .ast-container{
    max-height: calc((var(--vh) * 100) - 100px);
    overflow: auto;
    width: 100%;
}
.rc-choice.disabled{
    pointer-events: none;
    cursor: default;
/*     opacity: 0.5;
    filter: grayscale(1); */
}
.rc-cta{
    display: flex;
    border: 2px solid var(--blu);
    border-radius: 12px;
    width: 100%;
    padding: 9px;
    align-items: center;
    gap: 5px;
}
.rcc-icon{

}
.rcc-text{
    color: var(--blu);
    flex: 1;
}
.rcc-title{
    font-size: 14px;
    font-weight: 600;
}
.rcc-subtitle{
    font-size: 12px;
    font-weight: 300;
    margin-top: -5px;
}
.rcc-arrow{
    background: #d8e1ec;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    width: 35px;
    padding: 5px;
    margin-right: 15px;
}

/* GATEWAY */

.page-template-gateway #content .ast-container{
    padding: 0;
}

.page-template-gateway header{
    display: none;
}

body.page-template-gateway{
    height: 100dvh;
    overflow: auto!important;
}

.page-template-gateway #page{
    height: 100%;
}

.page-template-gateway #content .ast-container{
    height: 100%;
}

.gateway{
    height: 100%;
}
.gw-container{
    background: linear-gradient(180deg, #f5f6fa 13%, white 50%);
    padding: 10px 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}
.gw-logo{
    max-width: 300px;
    margin: 0 auto;
}
.gw-text{

}
.gwt-upper{
    font-size: 30px;
    line-height: 110%;
    font-weight: 700;
    padding: 0 calc((100vw - 304px) / 2);
    margin-bottom: 8px;
}
.gwtu-f{

}
.gwtu-s{
    color: var(--gis);
}
.gwt-below{
    padding: 0 calc((100vw - 304px) / 2);
    font-size: 16px;
    font-weight: 400;
    line-height: 130%;
}
.gwt-below .green-me{
    color: #1b8300;
    font-style: italic;
}
.gwtb-text{

}
.gw-body{

}
.gw-cta{
    max-width: 300px;
    margin: 0 auto;
}
.gw-footer{
    max-width: 220px;
    margin: 0 auto;
}

