.tb-personalization{
    margin:20px 0;
}

.tb-title{
    font-size:18px;
    font-weight:700;
    letter-spacing:1px;
    margin-bottom:15px;
}

.tb-option{
    position:relative;
    display:block !important;
    width:100%;
    box-sizing:border-box;
    border:1px solid #d9d9d9 !important;
    border-radius:12px !important;
    padding:16px !important;
    margin-bottom:12px !important;
    background:#fff !important;
    cursor:pointer;
    transition:all .25s ease;
}

.tb-option:hover{
    border-color:#000 !important;
}

.tb-option.active{
    border:2px solid #000 !important;
    background:#000 !important;
    color:#fff !important;
    box-shadow:0 8px 20px rgba(0,0,0,.18);
    transform:translateY(-2px);
}
.tb-option.active .tb-option-title{
    color:#fff !important;
}

.tb-option.active .tb-option-price{
    color:#fff !important;
}

.tb-option.active .tb-field-label{
    color:#fff !important;
}

.tb-option.active small{
    color:#d0d0d0 !important;
}

.tb-option.active .tb-inner-field{
    border-top:1px solid rgba(255,255,255,.15);
}

.tb-option.active input[type="text"]{
    background:#fff !important;
    color:#000 !important;
    border:none !important;
}

.tb-option.active input[type="file"]{
    color:#fff !important;
}

.tb-option input[type="radio"]{
    display:none !important;
}

.tb-option-title{
    font-size:15px;
    font-weight:600;
    line-height:1.4;
}

.tb-option-price{
    margin-top:6px;
    font-size:13px;
    color:#666;
}

/* CAMPOS DESPLEGABLES */

.tb-inner-field{
    display:none;
    margin-top:15px;
    padding-top:15px;
    border-top:1px solid #ececec;
    overflow:hidden;
}

/* LABELS */

.tb-inner-field label{
    display:block !important;
    margin-bottom:8px !important;
    font-size:14px !important;
    font-weight:600 !important;
}

/* INPUT TEXTO */

.tb-inner-field input[type="text"]{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-height:48px !important;
    padding:12px !important;
    border:1px solid #d9d9d9 !important;
    border-radius:10px !important;
    background:#fff !important;
    box-sizing:border-box !important;
    margin-top:8px !important;
}

/* INPUT FILE */

.tb-inner-field input[type="file"]{
    display:block !important;
    width:100% !important;
    margin-top:10px !important;
}

/* TEXTO PEQUEÑO */

.tb-inner-field small{
    display:block !important;
    margin-top:6px !important;
    color:#777 !important;
    font-size:12px !important;
}

/* MEJOR COMPATIBILIDAD MÓVIL */

.tb-inner-field input,
.tb-inner-field textarea,
.tb-inner-field select{
    pointer-events:auto !important;
    touch-action:manipulation;
}

/* MOVIL */

@media (max-width:768px){

    .tb-option{
        padding:18px !important;
    }

    .tb-option-title{
        font-size:16px !important;
    }

    .tb-inner-field input[type="text"]{
        font-size:16px !important;
    }
}

/* CHECK DE SELECCIÓN */

.tb-option.active::after{

    content:"✓";

    position:absolute;

    top:12px;

    right:14px;

    width:28px;

    height:28px;

    border-radius:50%;

    background:#fff;

    color:#000;

    font-size:18px;

    font-weight:700;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:0 2px 8px rgba(0,0,0,.15);
}

/* PRECIO EN TIEMPO REAL */

.tb-live-price{
    margin-top:20px;
    padding:18px;
    border:2px solid #000;
    border-radius:12px;
    background:#fafafa;
}

.tb-live-price-label{
    font-size:13px;
    color:#666;
    text-transform:uppercase;
    letter-spacing:1px;
}

.tb-live-price-value{
    margin-top:6px;
    font-size:28px;
    font-weight:700;
    color:#000;
}

