/* buttons */
.button-xs {
    font-size: 14px;
    padding: 8px 32px;
    border-radius: 8px;
    line-height: 16px;
}

.button-sm {
    font-size: 16px;
    padding: 8px 32px;
    border-radius: 8px;
    line-height: 24px;
}

.button-md {
    font-size: 16px;
    padding: 16px 32px;
    border-radius: 8px;
    line-height: 24px
}

.button-lg {
    font-size: 20px;
    padding: 8px 32px;
    border-radius: 8px;
    line-height: 56px
}

.button-xl {
    font-size: 20px;
    padding: 8px 40px;
    border-radius: 8px;
    line-height: 64px
}

.button-lg,
.button-md,
.button-sm,
.button-xl,
.button-xs {
    display:flex;
    justify-content: center;
    text-decoration: none;
    min-width: 48px;
    border: 0 solid;
    box-shadow: inset 0 0 0 2px
}

.button-lg.matcha-stroke-color-label,
.button-md.matcha-stroke-color-label,
.button-sm.matcha-stroke-color-label,
.button-xl.matcha-stroke-color-label,
.button-xs.matcha-stroke-color-label {
    box-shadow: inset 0 0 0 2px #636f78;
    color: #636f78
}

.button-lg.matcha-stroke-color-placeholder,
.button-md.matcha-stroke-color-placeholder,
.button-sm.matcha-stroke-color-placeholder,
.button-xl.matcha-stroke-color-placeholder,
.button-xs.matcha-stroke-color-placeholder {
    box-shadow: inset 0 0 0 2px #91a0aa;
    color: #91a0aa
}

.button-lg.matcha-stroke-color-primary,
.button-md.matcha-stroke-color-primary,
.button-sm.matcha-stroke-color-primary,
.button-xl.matcha-stroke-color-primary,
.button-xs.matcha-stroke-color-primary {
    box-shadow: inset 0 0 0 2px #636f78;
    color: #636f78
}

.button-pill,
.button-pill,
.button-pill,
.button-pill {
    border-radius: 9999px
}

.button-link {
    background-color: transparent;
    color: #636f78;
    text-transform: none;
    letter-spacing: 0;
    text-decoration: underline;
    padding: 0
}

.button-lg.primary,
.button-md.primary,
.button-sm.primary,
.button-xl.primary,
.button-xs.primary {
    background:var(--primary);
    color:var(--white);
}

.button-lg.secondary,
.button-md.secondary,
.button-sm.secondary,
.button-xl.secondary,
.button-xs.secondary {
    background-image: linear-gradient(195deg, var(--secondary) 16%, var(--primary) 87%);
    box-shadow: 0px 0px 29px 0px var(--secondary);
}

.button-lg.secondary:hover,
.button-md.secondary:hover,
.button-sm.secondary:hover,
.button-xl.secondary:hover,
.button-xs.secondary {
    background-image: linear-gradient(195deg, var(--primary) 16%, var(--secondary) 87%);
    box-shadow: 0px 0px 29px 0px var(--primary);
}

/*
--------------------------------------------------------------------
CARDS
--------------------------------------------------------------------
*/

.card {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 8px;
    border: 2px solid var(--white-20);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.card:hover {
    transform: translateY(-5px);
    border-color: var(--primary);
    box-shadow: 0 10px 30px var(--primary-30);
}

.message-danger {
    background: rgba(255, 255, 255, 0.05);
    padding: 20px;
    transition: all 0.3s ease;
    border-left: 4px solid transparent;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.15);
}

.message-danger:hover {
    border-left: 4px solid var(--danger);
    background: rgba(255, 255, 255, 0.08);
    transform: translateX(5px);
    box-shadow: 0 4px 15px rgba(220, 53, 69, 0.2);
}

.message-secondary {
    background: rgba(255, 255, 255, 0.05);
    padding: 20px;
    transition: all 0.3s ease;
    border-left: 4px solid var(--secondary);
    display: flex;
    align-items: flex-start;
    gap: 15px;
    box-shadow: 0 2px 8px var(--secondary-20);
}

.message-secondary:hover {
    background: var(--secondary-10);
    transform: translateX(5px);
    box-shadow: 0 4px 15px var(--secondary-30);
}


/*
 * Accordion
 */

 .accordion > dt{
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
}
.accordion > dt > a{
    display: block;
    position: relative;
    color: #777;
    text-decoration: none;
    padding: 14px 20px;
    border: 1px solid #e5e5e5;
    
    
    -webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);  
    -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000); 
    -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000); 
    transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}
.accordion > dt > a:hover{
    text-decoration: none;
    border-color: #ddd;
    background-color: #fcfcfc;    
    color: #444;
}
.accordion > dt > a.active{
    color: #000;
    border-color: #ddd;
    background-color: #fcfcfc;
    cursor: default;
}
.accordion > dt > a:after{
    content: "\f107";
    width: 15px;
    height: 15px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    right: 10px;
    font-family: 'FontAwesome';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    font-size: 15px;
    line-height: 15px;
    text-align: center;
    color: #999;
    -webkit-font-smoothing: antialiased;
    -webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);  
    -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000); 
    -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000); 
    transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}
.accordion > dt > a.active:after,
.accordion > dt > a.active:hover:after{
    content: "\f106";
    color: #111;
}
.accordion > dt > a:hover:after{
    color: #444;
}

.accordion > dd{
    margin-bottom: 10px;
    padding: 10px 20px 20px;
    font-size: 14px;
    line-height: 1.8;
    color: #777;
}


/*
 * Toggle
 */

.toggle > dt{
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
}
.toggle > dt > a{
    display: block;
    position: relative;
    font-weight: bold;
    text-decoration: none;
    padding: 14px 20px;
    /* border: 2px solid #e5e5e5; */
    border-radius: 16px;
    
    -webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);  
    -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000); 
    -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000); 
    transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}
.toggle > dt > a:hover{
    text-decoration: none;
    /* border-color: #ddd;
    background-color: #fcfcfc;    
    color: #444; */
}
.toggle > dt > a.active{
    color: #000;
    border-color: #ddd;
    background-color: #fcfcfc;
}
.toggle > dt > a:after{
    content: "\f107";
    width: 15px;
    height: 15px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    right: 10px;
    font-family: 'FontAwesome';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    font-size: 15px;
    line-height: 15px;
    text-align: center;
    color: #999;
    -webkit-font-smoothing: antialiased;
    -webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);  
    -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000); 
    -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000); 
    transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}
.toggle > dt > a.active:after,
.toggle > dt > a.active:hover:after{
    content: "\f106";
    color: #111;
}
.toggle > dt > a:hover:after{
    color: #444;
}
.toggle > dd{
    margin-bottom: 10px;
    padding: 10px 20px 20px;
    font-size: 14px;
    line-height: 1.8;
    color: #777;
}
