

/* ==================================================
   PODCAST CONTAINER
   ================================================== */

.tri-podcast-card {
    width: 100%;
    background: linear-gradient(135deg, #f8fbfc 0%, #ffffff 100%);
    border: 1px solid #d8e3e8;
    border-radius: 18px;
    padding: 24px;
    margin: 30px 0;
    box-shadow: 0 10px 30px rgba(20, 65, 85, 0.06);
    box-sizing: border-box;
}


/* ==================================================
   PODCAST HEADER
   ================================================== */

.tri-podcast-header {
    display: flex;
    align-items: center;
    gap: 18px;
}


/* ==================================================
   MICROPHONE ICON
   ================================================== */

.tri-mic-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background: #dff4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tri-mic-icon svg {
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    fill: none !important;
    stroke: #168a9c !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ==================================================
   PODCAST HEADING
   CLIENT REQUEST: 22PX
   ================================================== */

.tri-podcast-heading {
    flex: 1;
    min-width: 0;
}

.tri-podcast-heading h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #123f5b !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    text-transform: none !important;
}


/* ==================================================
   PODCAST SUBTITLE
   CLIENT REQUEST: 16PX
   ================================================== */

.tri-podcast-subtitle {
    margin: 10px 0 20px !important;
    padding: 0 !important;
    color: #6c7479 !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
}


/* ==================================================
   NATIVE AUDIO PLAYER CONTAINER
   NO JAVASCRIPT REQUIRED
   ================================================== */

.tri-native-player {
    width: 100%;
    padding: 12px 16px;
    background: #ffffff;
    border: 1px solid #d9e1e5;
    border-radius: 15px;
    box-sizing: border-box;
    overflow: hidden;
}


/* ==================================================
   NATIVE HTML AUDIO PLAYER
   ================================================== */

.tri-native-player audio {
    display: block !important;
    width: 100% !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ==================================================
   SPOTIFY CARD
   ================================================== */

.tri-spotify-card {
    display: flex !important;
    align-items: center;
    gap: 16px;

    width: 100%;
    margin-top: 24px;
    padding: 15px 18px;

    background: #ffffff !important;
    border: 1px solid #d9e1e5 !important;
    border-radius: 13px;

    text-decoration: none !important;
    box-sizing: border-box;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.tri-spotify-card:hover,
.tri-spotify-card:focus {
    border-color: #168a9c !important;
    box-shadow: 0 5px 15px rgba(20, 65, 85, 0.07);
    text-decoration: none !important;
}


/* ==================================================
   SPOTIFY ICON
   ================================================== */

.tri-spotify-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    flex-shrink: 0;
}

.tri-spotify-icon svg {
    display: block !important;
    width: 44px !important;
    height: 44px !important;
}

.tri-spotify-icon circle {
    fill: #075c5c !important;
}

.tri-spotify-icon .spotify-wave {
    fill: none !important;
    stroke: #ffffff !important;
    stroke-width: 1.5 !important;
    stroke-linecap: round;
}


/* ==================================================
   SPOTIFY CONTENT
   ================================================== */

.tri-spotify-content {
    flex: 1;
    min-width: 0;
}


/* CLIENT REQUEST: 16PX */

.tri-spotify-content span {
    display: block !important;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;

    color: #66727a !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}


/* CLIENT REQUEST: 16PX */

.tri-spotify-content strong {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #146b9d !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
}


/* ==================================================
   EXTERNAL LINK ICON
   ================================================== */

.tri-external-icon {
    width: 24px;
    height: 24px;
    min-width: 24px;
    flex-shrink: 0;
}

.tri-external-icon svg {
    display: block !important;
    width: 23px !important;
    height: 23px !important;

    fill: none !important;
    stroke: #1680a8 !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ==================================================
   MOBILE RESPONSIVE
   ================================================== */

@media (max-width: 767px) {

    /*
       Client requested 24px padding on all sides.
       Keep 24px on mobile as well.
    */

    .tri-podcast-card {
        padding: 24px;
        border-radius: 14px;
    }

    .tri-podcast-header {
        gap: 14px;
    }

    .tri-mic-icon {
        width: 44px;
        height: 44px;
        min-width: 44px;
    }

    .tri-mic-icon svg {
        width: 23px !important;
        height: 23px !important;
    }

    /*
       Keep client-requested heading size.
    */

    .tri-podcast-heading h2 {
        font-size: 22px !important;
    }

    /*
       Keep client-requested 16px text size.
    */

    .tri-podcast-subtitle {
        font-size: 16px !important;
    }

    .tri-native-player {
        padding: 8px;
        border-radius: 12px;
    }

    .tri-native-player audio {
        height: 54px !important;
    }

    .tri-spotify-card {
        padding: 16px;
        gap: 12px;
    }

    .tri-spotify-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }

    .tri-spotify-icon svg {
        width: 40px !important;
        height: 40px !important;
    }

    /*
       Do not reduce these to 12px.
       Client specifically requested 16px.
    */

    .tri-spotify-content span,
    .tri-spotify-content strong {
        font-size: 16px !important;
    }

    .tri-external-icon {
        display: none;
    }
}


/* ==================================================
   VERY SMALL MOBILE SCREENS
   ================================================== */

@media (max-width: 480px) {

    .tri-podcast-card {
        padding: 24px;
    }

    .tri-spotify-card {
        align-items: flex-start;
    }

    .tri-spotify-content {
        overflow-wrap: anywhere;
    }
}