.elementor-524 .elementor-element.elementor-element-38cb7d24{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-524 .elementor-element.elementor-element-6b4c61e3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-6b4c61e3 *//* FOOTER BASE */
.thb-footer {
    padding: 100px 5% 150px;
    background: #000000; /* Absolute black */
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    margin-bottom: 0px;
}

/* MAIN LAYOUT: Split into Left and Right */
.thb-footer-layout {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 80px;
    align-items: start; /* Changed from 'stretch' to prevent the button from becoming massive */
}

/* LEFT COLUMN STYLES */
.thb-footer-left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.thb-footer-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-bottom: 60px;
}

.thb-footer-col h5 {
    margin-bottom: 30px;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 2px;
    color: #ffffff;
}

.thb-footer-col a, .thb-footer-col p {
    display: block;
    color: #888;
    margin-bottom: 15px;
    font-size: 0.8rem;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 1px;
    transition: color 0.4s ease;
}

.thb-footer-col a:hover {
    color: #ffffff;
}

.thb-legal h2 {
    font-weight: 900;
    font-size: 2.5rem;
    margin-bottom: 15px;
    letter-spacing: -2px;
    color: #ffffff;
    line-height: 1;
}

.thb-legal p {
    color: #555;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

/* RIGHT COLUMN STYLES (SOCIAL CARDS) */
.thb-footer-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.thb-social-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 30px; /* Reduced padding */
    border: 1px solid #222;
    background: #0a0a0a;
    color: #ffffff !important;
    text-decoration: none;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    /* Removed height: 100% so it stays compact */
}

.thb-card-left {
    display: flex;
    align-items: center;
    gap: 20px; /* Slightly reduced gap */
}

.thb-icon {
    width: 32px; /* Reduced from 40px */
    height: 32px; /* Reduced from 40px */
    color: #ffffff;
    transition: all 0.5s ease;
}

.thb-card-text {
    display: flex;
    flex-direction: column;
}

.card-title {
    font-size: 1.2rem; /* Fixed smaller size, removed clamp */
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -1px;
    line-height: 1.1;
}

.card-subtitle {
    font-size: 0.75rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 5px;
    transition: color 0.5s ease;
}

/* Hover Effects */
.thb-social-card:hover {
    background: #ffffff;
    color: #000000 !important;
    border-color: #ffffff;
    transform: translateY(-5px);
}

.thb-social-card:hover .thb-icon {
    color: #000000;
}

.thb-social-card:hover .card-subtitle {
    color: #444;
}

/* RESPONSIVE DESIGN */
@media (max-width: 1024px) {
    .thb-footer-layout { grid-template-columns: 1fr; gap: 60px; }
    .thb-footer-grid { margin-bottom: 40px; }
    .thb-social-card { padding: 20px 25px; } /* Even smaller on tablets */
}

@media (max-width: 768px) {
    .thb-footer { padding: 80px 5% 40px; }
    .thb-footer-grid { grid-template-columns: 1fr; gap: 40px; }
    .thb-icon { width: 28px; height: 28px; } /* Even smaller on phones */
    .card-title { font-size: 1.1rem; }
}/* End custom CSS */