/* =========================================================
   The Wish Seed — YouTube Shared Styles
   ========================================================= */


/* =========================================================
   YouTube Page
   ========================================================= */

.ws-youtube-page {
    margin: 0;
    padding: 0;
    background: #ffffff;
}


/* =========================================================
   Header
   ========================================================= */

.ws-youtube-header {
    position: relative;

    z-index: 1000;

    width: 100%;

    height: var(--ws-youtube-header-height, 64px);

    background:
        var(--ws-youtube-header-bg, #ffffff);

    border-bottom:
        1px solid
        var(--ws-youtube-header-border, #eeeeee);

    box-sizing: border-box;
}


.ws-youtube-header *,
.ws-youtube-header *::before,
.ws-youtube-header *::after {
    box-sizing: border-box;
}


/* =========================================================
   Inner
   ========================================================= */

.ws-youtube-header__inner {

    display: flex;

    align-items: center;

    width: 100%;
    height: 100%;

    padding: 0 16px;

}


/* =========================================================
   Left
   ========================================================= */

.ws-youtube-header__left {

    display: flex;

    align-items: center;

    flex: 0 0 auto;

}


/* =========================================================
   Menu
   ========================================================= */

.ws-youtube-header__menu-toggle {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    margin-right: 12px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: transparent;

    color:
        var(--ws-youtube-icon-color, #202020);

    font-size:
        var(--ws-youtube-icon-size, 18px);

    cursor: pointer;

    transition:
        background-color 0.2s ease;

}


.ws-youtube-header__menu-toggle:hover {

    background: #f2f2f2;

}


/* =========================================================
   Logo
   ========================================================= */

.ws-youtube-header__logo {

    display: inline-flex;

    align-items: center;

    width:
        var(--ws-youtube-logo-width, 120px);

    color: #0f0f0f;

    text-decoration: none;

}


.ws-youtube-header__logo:hover {

    color: #0f0f0f;

    text-decoration: none;

}


.ws-youtube-header__logo-image {

    display: block;

    width: 100%;

    height: auto;

    max-width: 100%;

}


/* Default Logo */

.ws-youtube-header__logo-default {

    display: inline-flex;

    align-items: center;

    gap: 5px;

    white-space: nowrap;

}


.ws-youtube-header__logo-mark {

    position: relative;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 30px;
    height: 21px;

    border-radius: 6px;

    background: #ff0000;

}


.ws-youtube-header__logo-mark span {

    width: 0;
    height: 0;

    margin-left: 2px;

    border-top: 5px solid transparent;

    border-bottom: 5px solid transparent;

    border-left: 8px solid #ffffff;

}


.ws-youtube-header__logo-text {

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 20px;

    font-weight: 700;

    letter-spacing: -1px;

    line-height: 1;

}


/* =========================================================
   Search
   ========================================================= */

.ws-youtube-header__search-wrap {

    display: flex;

    align-items: center;
    justify-content: center;

    flex: 1 1 auto;

    min-width: 0;

    padding: 0 24px;

}


.ws-youtube-header__search {

    display: flex;

    width:
        min(
            100%,
            var(--ws-youtube-search-width, 640px)
        );

    height: 42px;

    overflow: hidden;

    border: 1px solid #d3d3d3;

    border-radius: 22px;

    background: #ffffff;

}


.ws-youtube-header__search:focus-within {

    border-color: #1c62b9;

    box-shadow:
        inset 1px 0 0 #1c62b9;

}


.ws-youtube-header__search-input {

    flex: 1 1 auto;

    min-width: 0;

    height: 100%;

    padding: 0 18px;

    border: 0;

    outline: 0;

    background: transparent;

    color: #0f0f0f;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 16px;

}


.ws-youtube-header__search-input::placeholder {

    color: #606060;

    opacity: 1;

}


.ws-youtube-header__search-button {

    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 64px;

    height: 100%;

    padding: 0;

    border: 0;

    border-left:
        1px solid #d3d3d3;

    background: #f8f8f8;

    color: #606060;

    font-size: 16px;

    cursor: pointer;

}


.ws-youtube-header__search-button:hover {

    background: #f0f0f0;

}


/* =========================================================
   Actions
   ========================================================= */

.ws-youtube-header__actions {

    display: flex;

    align-items: center;

    flex: 0 0 auto;

    gap: 2px;

}


.ws-youtube-header__action {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: transparent;

    color:
        var(--ws-youtube-icon-color, #202020);

    font-size:
        var(--ws-youtube-icon-size, 18px);

    cursor: pointer;

    transition:
        background-color 0.2s ease;

}


.ws-youtube-header__action:hover {

    background: #f2f2f2;

}


/* =========================================================
   Account
   ========================================================= */

.ws-youtube-header__account {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    margin-left: 2px;

    color:
        var(--ws-youtube-icon-color, #202020);

    font-size:
        var(--ws-youtube-icon-size, 18px);

    text-decoration: none;

}


.ws-youtube-header__account:hover {

    color:
        var(--ws-youtube-icon-color, #202020);

}

/* =========================================================
   Hero
   ========================================================= */

.ws-youtube-hero {
   position: relative;
   width: 100%;
   min-height: var(--ws-youtube-hero-height, 420px);
   overflow: hidden;
   background: var(--ws-youtube-hero-bg-color, #f4f4f4);
}

/* =========================================================
   Background
   ========================================================= */

.ws-youtube-hero__background {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: var(--ws-youtube-hero-bg-image, none);
    background-repeat: no-repeat;
    background-size: var(--ws-youtube-hero-bg-size, cover);
    background-position: var(--ws-youtube-hero-bg-position, center center);
}

/* =========================================================
   Overlay
   ========================================================= */

.ws-youtube-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--ws-youtube-hero-overlay-color, #000000);
    opacity: var(--ws-youtube-hero-overlay-opacity,0.3);
}

/* =========================================================
   Inner
   ========================================================= */

.ws-youtube-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: var(--ws-youtube-hero-height, 300px);
    padding-left: var(--ws-youtube-hero-content-padding, 40px);
    padding-right: var(--ws-youtube-hero-content-padding, 40px);
}

/* =========================================================
   Content
   ========================================================= */

.ws-youtube-hero__content {
    width: 100%;
    max-width: var(--ws-youtube-hero-content-width, 900px);
    margin-left: auto;
    margin-right: auto;
}

/* =========================================================
   Alignment
   ========================================================= */

.ws-youtube-hero--left
.ws-youtube-hero__content {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
}

.ws-youtube-hero--center
.ws-youtube-hero__content {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.ws-youtube-hero--right
.ws-youtube-hero__content {
    margin-left: auto;
    margin-right: 0;
    text-align: right;
}

/* =========================================================
   Title
   ========================================================= */

.ws-youtube-hero__title {
    margin: 0;
    color: var(--ws-youtube-hero-title-color, #ffffff);
    font-family: var(--font-caveat);    
    font-size:  clamp(4.2rem,8vw,4.6rem);
    line-height: 1.12;
    margin-bottom: 20px;
}

.ws-youtube__heart {
   width: 35px;
   height: auto;
   margin-left: 20px;
}

/* =========================================================
   Eyebrow
   ========================================================= */

.ws-youtube-hero__eyebrow {
    margin-bottom: 12px;
    color: var(--ws-youtube-hero-eyebrow-color, #ffffff);
    font-family: var(--font-caveat);    
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.12em;
}

/* =========================================================
   Description
   ========================================================= */

.ws-youtube-hero__description {
    /*max-width: 760px;*/
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    color: var(--ws-youtube-hero-description-color, #ffffff);
    font-size: var(--ws-youtube-hero-description-size, 18px);
    line-height: 1.65;
}

.ws-youtube-hero--left
.ws-youtube-hero__description {
    margin-left: 0;
}

.ws-youtube-hero--right
.ws-youtube-hero__description {
    margin-right: 0;
}

/* =========================================================
   Button
   ========================================================= */

.ws-youtube-hero__actions {
    display: flex;
    align-items: center;
    margin-top: 30px;
}


.ws-youtube-hero--left
.ws-youtube-hero__actions {
    justify-content: flex-start;
}


.ws-youtube-hero--center
.ws-youtube-hero__actions {
    justify-content: center;
}


.ws-youtube-hero--right
.ws-youtube-hero__actions {
    justify-content: flex-end;
}


.ws-youtube-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 28px;
    border-radius: 4px;
    background: var(--ws-youtube-hero-button-bg, #f8c700);
    color: var(--ws-youtube-hero-button-color, #000000);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.ws-youtube-hero__button:hover {
    background: var(--ws-youtube-hero-button-hover-bg, #e5b900);
    color: var(--ws-youtube-hero-button-color, #000000);
    text-decoration: none;
    transform: translateY(-1px);
}

/* =========================================================
   Channel Header
   ========================================================= */

.ws-youtube-channel {
    width: 100%;
    background: #ffffff;
    padding-left: 20px;
}

.ws-youtube-channel__inner {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: var(--ws-youtube-channel-content-width, 1400px);
    margin-left: auto;
    margin-right: auto;
    padding-top: var(--ws-youtube-channel-top-padding, 16px);
    padding-bottom: var(--ws-youtube-channel-bottom-padding, 16px);
    gap: var(--ws-youtube-channel-column-gap, 24px);
}

/* =========================================================
   Image
   ========================================================= */

.ws-youtube-channel__image-wrap {
    flex: 0 0 var(--ws-youtube-channel-image-size, 180px);
    width: var(--ws-youtube-channel-image-size, 180px);
    height: var(--ws-youtube-channel-image-size, 180px);
}

.ws-youtube-channel__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid #ececec;
}


/* =========================================================
   Content
   ========================================================= */

.ws-youtube-channel__content {
    min-width: 0;
    padding-top: 2px;
}


/* =========================================================
   Channel Name
   ========================================================= */

.ws-youtube-channel__name {
    margin: 0;
    color: var(--ws-youtube-channel-name-color, #111111);
    font-size: var(--ws-youtube-channel-name-size, 32px);
    font-weight: 700;
    line-height: 1.2;
}

/* =========================================================
   Meta
   ========================================================= */

.ws-youtube-channel__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 5px;
    color: var(--ws-youtube-channel-meta-color, #666666);
    font-size: 14px;
    line-height: 1.5;
}

.ws-youtube-channel__separator {
    margin-left: 5px;
    margin-right: 5px;
}

/* =========================================================
   Description
   ========================================================= */

.ws-youtube-channel__description {
    max-width: 650px;
    margin-top: 12px;
    color: var(--ws-youtube-channel-description-color, #555555);
    font-size: 15px;
    line-height: 1.55;
}

.ws-youtube-channel__description p {
    margin: 0;
}

.ws-youtube-channel__description p + p {
    margin-top: 2px;
}

/* =========================================================
   Button
   ========================================================= */

.ws-youtube-channel__actions {
    margin-top: 14px;
}

.ws-youtube-channel__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 17px;
    border-radius: 18px;
    background: var(--ws-youtube-channel-button-bg, #5e3072);
    color: var(--ws-youtube-channel-button-color, #ffffff);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.ws-youtube-channel__button:hover {
    background: var(--ws-youtube-channel-button-hover-bg, #452355);
    color: var(--ws-youtube-channel-button-color, #ffffff);
    text-decoration: none;
    transform: translateY(-1px);
}

/* =========================================================
   YouTube Channel Navigation
   ========================================================= */

.ws-youtube-navigation {
    width: 100%;
    background: var(--ws-youtube-navigation-bg, #ffffff);
    border-bottom: 1px solid var(--ws-youtube-navigation-border, #e5e5e5);

}

/* =========================================================
   Inner
   ========================================================= */

.ws-youtube-navigation__inner {
    display: flex;
    align-items: stretch;
    width: 100%;
    max-width: var(--ws-youtube-navigation-content-width, 1400px);
    height: var(--ws-youtube-navigation-height, 48px);
    margin-left: auto;
    margin-right: auto;
}

/* =========================================================
   Menu Wrapper
   ========================================================= */

.ws-youtube-navigation__menu-wrap {
    flex: 0 1 auto;
    min-width: 0;
    max-width: calc(100% - 44px);
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}

.ws-youtube-navigation__menu-wrap::-webkit-scrollbar {
    display: none;
}

/* =========================================================
   Menu
   ========================================================= */

.ws-youtube-navigation__menu {
    display: flex;
    align-items: stretch;
    width: max-content;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0 var(--ws-youtube-navigation-horizontal-padding, 20px);
    gap: var(--ws-youtube-navigation-item-gap, 30px);
    list-style: none;
}

/* =========================================================
   Menu Item
   ========================================================= */

.ws-youtube-navigation__menu > li {
    position: relative;
    display: flex;
    align-items: stretch;
    margin: 0;
    padding: 0;
    white-space: nowrap;
}

/* =========================================================
   Menu Link
   ========================================================= */

.ws-youtube-navigation__menu > li > a {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 0;
    color: var(--ws-youtube-navigation-text, #333333);
    font-size: var(--ws-youtube-navigation-font-size, 14px);
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: color 0.2s ease;
}

/* =========================================================
   Hover
   ========================================================= */

.ws-youtube-navigation__menu > li > a:hover {
    color: var(--ws-youtube-navigation-hover, #5e3072);
    text-decoration: none;
}

/* =========================================================
   Active Item
   ========================================================= */

.ws-youtube-navigation__menu
> li.current-menu-item
> a,
.ws-youtube-navigation__menu
> li.current-menu-ancestor
> a,
.ws-youtube-navigation__menu
> li.current_page_item
> a {
    color: var(--ws-youtube-navigation-active, #5e3072);
}


/* =========================================================
   Active Underline
   ========================================================= */

.ws-youtube-navigation__menu
> li.current-menu-item
> a::after,
.ws-youtube-navigation__menu
> li.current_page_item
> a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: var(--ws-youtube-navigation-active, #5e3072);
}


/* =========================================================
   Search
   ========================================================= */

.ws-youtube-navigation__search {
    flex: 0 0 44px;
    width: 44px;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ws-youtube-navigation-text, #333333);
    font-size: 15px;
    cursor: pointer;
    transition: color 0.2s ease;
}

.ws-youtube-navigation__search:hover {
    color: var(--ws-youtube-navigation-hover, #5e3072);
}

.ws-youtube-navigation__menu
> li.ws-youtube-nav-featured
> a {
    font-weight: 700;
}

.ws-youtube-navigation__menu
> li.ws-youtube-nav-highlight
> a {
    color: #5e3072;
    font-weight: 700;
}

.ws-youtube-navigation__menu
> li.ws-youtube-nav-gold
> a {
    color: #d59f00;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 767px) {

    .ws-youtube-header__inner {

        padding: 0 8px;

    }


    .ws-youtube-header__menu-toggle {

        margin-right: 6px;

    }


    .ws-youtube-header__search-wrap {

        padding: 0 8px;

    }


    .ws-youtube-header__search {

        height: 40px;

    }


    .ws-youtube-header__search-button {

        flex-basis: 52px;

    }


    .ws-youtube-header__action,
    .ws-youtube-header__account {

        width: 38px;
        height: 38px;

    }

    .ws-youtube-hero {
        min-height: 360px;
    }

    .ws-youtube-hero__inner {
        min-height: 360px;
        padding-left: 24px;
        padding-right: 24px;
    }

    .ws-youtube-hero__title {
        font-size: clamp(32px, 8vw, 46px);
    }

    .ws-youtube-hero__description {
        margin-top: 16px;
        font-size: 16px;
    }

    .ws-youtube-hero__actions {
        margin-top: 24px;
    }

    .ws-youtube-hero__button {
        min-height: 44px;
        padding: 11px 22px;
        font-size: 15px;
    }

    .ws-youtube-channel__inner {
        align-items: flex-start;
        padding-left: 20px;
        padding-right: 20px;
        gap: 18px;
    }

    .ws-youtube-channel__image-wrap {
        flex-basis: 110px;
        width: 110px;
        height: 110px;
    }

    .ws-youtube-channel__name {
        font-size: 25px;
    }

    .ws-youtube-channel__meta {
        font-size: 13px;
    }

    .ws-youtube-channel__description {
        font-size: 14px;
    }

    .ws-youtube-navigation__inner {
        height: var(--ws-youtube-navigation-height, 48px);
    }

    .ws-youtube-navigation__menu {
        gap: 24px;
        padding-left: 18px;
        padding-right: 18px;
    }

    .ws-youtube-navigation__menu > li > a {
        font-size: 14px;
    }

    .ws-youtube-navigation__search {
        flex-basis: 44px;
        width: 44px;
    }
}


@media (max-width: 575px) {

    .ws-youtube-header__logo-text {

        display: none;

    }


    .ws-youtube-header__search-wrap {

        padding: 0 6px;

    }


    .ws-youtube-header__search-input {

        padding: 0 12px;

        font-size: 14px;

    }


    .ws-youtube-header__apps,
    .ws-youtube-header__notifications {

        display: none;

    }

    .ws-youtube-hero__inner {
          padding-left: 20px;
          padding-right: 20px;
    }

    .ws-youtube-hero__eyebrow {
        font-size: 1.8rem;
    }

    .ws-youtube-hero__title {
        font-size: 40px;
    }

    .ws-youtube-hero__description {
        font-size: 18px;
        line-height: 1.55;
    }

    .ws-youtube__heart,
    .ws-youtube__heart-medium {
        width: 25px;
    }

    .ws-youtube-channel__inner {
        display: block;
        padding-left: 18px;
        padding-right: 18px;
        text-align: center;
    }

    .ws-youtube-channel__image-wrap {
        width: 120px;
        height: 120px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 14px;
    }

    .ws-youtube-channel__meta {
        justify-content: center;
    }

    .ws-youtube-channel__description {
        margin-left: auto;
        margin-right: auto;
    }

    .ws-youtube-channel__actions {
        display: flex;
        justify-content: center;
    }

    .ws-youtube-navigation__menu {
        gap: 22px;
    }

    .ws-youtube-navigation__menu > li > a {
        font-size: 13px;
    }    

}