.osm-description.osm-page-intro-text{
    margin-bottom:80px;
}
.osm-pricing-table .osm-plan {
    margin-top:30px;
    background-color:#ffffff;
    border-radius: 20px;
}
.osm-pricing-table .osm-plan .osm-plan-header {
    min-height:80px;  
    padding: 35px 8px;
    border-radius: 20px 20px 0 0;
}
div.osm-pricing-table .osm-plan .osm-plan-header h2.osm-plan-title {
    color: #000000 !important;
    text-transform: capitalize!important;
}
div.osm-pricing-table .osm-plan .osm-plan-header h2.osm-plan-title span {
    color: #669999 !important;
    text-transform: uppercase!important;
}
.osm-custom-field-title {
    color: #000000 !important;
    font-weight: normal;
    font-size: 18px;
    margin-top: 20px;
}
.osm-custom-field-title span {
    color: #669999 !important;
}
.osm-custom-options{
    padding: 15px;
    text-align: left;
    border: 1px solid #ddd;
    margin: 10px 0; border-radius: 4px;
}
.osm-pricing-table .osm-plan .osm-plan-short-description {
    border-bottom: 1px solid #ddd;
}
.osm-plan-short-description .container{
    min-height:291px;
}
.osm-pricing-table .osm-plan-recommended {
    overflow: visible !important;
}
.osm-pricing-table .osm-plan-recommended .plan-recommended {
    background: #669999 !important;
    border-radius: 4px;
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: 600;
    line-height: 22px;
    text-transform:uppercase;
    padding: 5px 15px;
    position: absolute;
    text-align: center;
    text-shadow: 0 1px rgb(0 0 0 / 5%);
    width: auto;
    min-width: 100px;
    left: 50%;
    top: 0; 
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 10;
}
.osm-plan-price .price {
    color:#000000;
}
.osm-plan-recommended .osm-plan-price {
    background: #ffffff;
}
ul.osm-signup-container li a.btn.btn-primary.btn-singup{
    background-color:#9933ff;
    border-color:#9933ff;
    text-transform:none;
}
.osm-container img {
    border: 0;
    float: none!important;
    margin: 0;
}
/* CheckBOx e Radio Button */
/* Container per l'allineamento */
#osm-columns-payment-information .eb-form-control{
   margin-bottom: 12px;
}
.osm-custom-option-row, .osm-custom-option-row label {
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 16px;
 /*   user-select: none; */
    min-height: 25px;
}

.osm-custom-option-row input {
    position: absolute;
    top:0;
    left:0;
    opacity: 0;
    cursor: pointer;
    height: 100%;
    width: 100%;
   z-index: 10; 
    margin: 0;
}

.checkmark {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    height: 22px;
    width: 22px;
    background-color: #eee;
    border-radius: 4px;
    border: 2px solid #ccc;
    transition: all 0.2s ease-in-out;
    z-index:1;
}

.osm-custom-option-row label {
    cursor: pointer;
    margin-bottom: 0 !important;
    padding-left: 5px;
    line-height: 1.2;
    z-index:1;
}

.osm-custom-option-row:hover input ~ .checkmark {
    background-color: #ddd;
    border-color: #2196F3;
}

.osm-custom-option-row input:checked ~ .checkmark {
    background-color: #2196F3;
    border-color: #2196F3;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
    left: 6px;
    top: 2px;
    width: 6px;
    height: 11px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.osm-custom-option-row input:checked ~ .checkmark:after {
    display: block;
}

.field-group.bloccato .checkmark {
    background-color: #f8f8f8;
    border-color: #ff0000;
}
.osm-privacy-policy-message {
    margin-left: 25px;
    margin-top: 0 !important;
    display: inline-block;
    padding: 5px 10px !important;
}
.osm-custom-option-row a {
    position: relative;
    z-index: 11;
}

/* Container della modale */
.tingle-modal-box__content {
    position: relative;
    overflow: hidden; /* Evita che lo scudo esca dai bordi */
}

/* Lo scudo modificato per lasciare libera la scrollbar */
.tingle-modal-box__content::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    /* Lasciamo un 5% di spazio a destra per la scrollbar */
    width: 95%; 
    height: 100%;
    z-index: 999;
    background: rgba(255, 255, 255, 0);
    pointer-events: all; /* Blocca i click sul testo */
}

/* Disabilitiamo la selezione ma NON i pointer-events sull'iframe stesso */
.tingle-modal-box__content iframe {
    -webkit-user-select: none !important;
    user-select: none !important;
    /* Non mettiamo pointer-events: none qui, altrimenti la scrollbar muore */
}

/* Protezione extra per i contenuti interni */
.tingle-modal-box__content * {
    -webkit-user-select: none !important;
    user-select: none !important;
}

/* Riabilitiamo i click sui link e chiusura */
.tingle-modal-box__content a, 
.tingle-modal__close {
    pointer-events: auto !important;
    position: relative;
    z-index: 1000;
}

#osm-columns-subscription-information .form-control{
   padding: 0.2rem 1.5rem;
}

#osm-columns-subscription-information .form-group.form-row {
    margin-bottom: 10px;
}
#osm-columns-subscription-information .form-control, #osm-columns-subscription-information .form-select {
    width: 100%!important;
    max-width: 100%;
}
#osm-columns-payment-information, #osm-columns-subscription-information{
    padding-right: calc(var(--t4-gutter-x) * 0.5);
    padding-left: calc(var(--t4-gutter-x) * 0.5);
    border: 1px solid #cccccc;
}
#osm-columns-payment-information .row.form-group.form-row {
    border-bottom: 1px solid #cccccc;
}
#osm-columns-payment-information .form-actions{
    text-align:center;
    margin-bottom: 15px;
}
#osm-columns-payment-information .form-control-label {
    margin-bottom: 15px;  
    display: flex;
    align-items: center; 
    vertical-align: middle;
    min-height: 48px; 
}
#osm-columns-payment-information .form-control-label label {
    margin-bottom: 0;
    line-height: 1.2;
    padding: 5px 0;
}
.choose-ava-lines {
    min-height:22px;  
    color: #009933;
    text-align: center;
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 1.1rem;
    line-height: 1.2;
}
.osm-pricing-table .osm-plan ul.osm-signup-container{
  padding: 10px 10px 20px 10px;
}
p.pagamred{

  text-align:center;
  color:#ff0000;
}
p.ratedesc{

  color:#0000ff;
}