/* ==========================================================================
   custom-additions.css
   Consolidated custom styles added on top of the original theme
   (previously scattered as inline <style> blocks across index.php and
   layout/header.php). Keep this file as the single place to edit any of
   the sections below.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. Paste button + input row (homepage hero form)
   -------------------------------------------------------------------------- */
.input_paste_wrap {
    display: flex;
    align-items: stretch;
    gap: 8px;
    background: rgba(255, 255, 255, .18);
    border-radius: 8px;
    padding: 4px;
    width: 0;
    flex: 1 1 auto;
}

.input_paste_wrap .download_input {
    flex: 1 1 auto;
    background: transparent;
    border: 0;
    margin: 0;
}

.paste_button {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    color: var(--main_color, #c8232c);
    border: 0;
    border-radius: 6px;
    padding: 0 16px;
    font-weight: 600;
    font-size: .95rem;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity .2s ease-in-out;
}

.paste_button:hover {
    opacity: .85;
}

.paste_button:active {
    opacity: .7;
}

/* Always keep the Download button on its own full-width row below the
   input+paste row, regardless of viewport width/orientation. */
#download_button {
    flex: 1 1 100%;
    margin-top: 10px;
    border-radius: 8px !important;
}

@media(max-width:480px) {
    .paste_button span {
        display: none;
    }

    .paste_button {
        padding: 0 12px;
    }
}


/* --------------------------------------------------------------------------
   2. HLS-only video notice (shown when Pinterest only provides a .m3u8
      stream for a specific video, no single downloadable MP4 file)
   -------------------------------------------------------------------------- */
.hls_notice {
    background: #fff3cd;
    color: #664d03;
    border: 1px solid #ffe69c;
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 1.5rem;
    font-size: 15px;
    line-height: 1.6;
}


/* --------------------------------------------------------------------------
   3. "Snapzia Features" section (homepage)
   -------------------------------------------------------------------------- */
.features_intro {
    max-width: 720px;
    margin: 0 auto 1.5rem;
    color: #444247;
}

.feature_card {
    height: 100%;
    padding: 1rem;
    border-radius: 8px;
    transition: box-shadow .2s ease-in-out;
}

.feature_card:hover {
    box-shadow: 0 4px 18px rgba(0, 0, 0, .08);
}

.feature_card h3 {
    font-size: 1.15rem;
    margin-top: .5rem;
}

@media(max-width:767px) {
    .feature_card {
        padding: .5rem;
    }
}


/* --------------------------------------------------------------------------
   4. "Why Choose Snapzia" section (homepage)
   -------------------------------------------------------------------------- */
.why_choose_grid {
    margin-top: 1rem;
}

.why_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 2rem;
}

.why_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #fbeaeb;
    color: var(--main_color, #c8232c);
    margin-bottom: .75rem;
}

.why_item p {
    margin: 0;
    font-weight: 500;
    color: #2f2f2f;
}

.secondary_cta_btn {
    display: inline-block;
    padding: 10px 18px;
    border: 2px solid var(--main_color, #c8232c);
    color: var(--main_color, #c8232c);
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
    transition: .2s ease-in-out;
}

.secondary_cta_btn:hover {
    background: var(--main_color, #c8232c);
    color: #fff;
    text-decoration: none;
}


/* --------------------------------------------------------------------------
   5. Header: language switcher submenu (layout/header.php)
   -------------------------------------------------------------------------- */
.lang_item {
    position: relative;
    display: block !important;
    border-top: 1px solid #ececec;
    margin-top: 6px;
    padding-top: 8px;
}

.lang_toggle_label {
    display: flex !important;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    color: #2f2f2f;
    font-weight: 400;
    user-select: none;
}

.lang_arrow {
    font-size: 12px;
    transition: transform .2s ease-in-out;
}

#lang_toggle:checked ~ .lang_toggle_label .lang_arrow {
    transform: rotate(180deg);
}

.lang_list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    overflow-y: auto;
    transition: max-height .3s ease-in-out;
}

#lang_toggle:checked ~ .lang_list {
    max-height: 260px;
    margin-top: 8px;
}

.lang_list li {
    padding: 6px 0;
    border-bottom: 1px solid #f4f4f4;
}

.lang_list li a {
    display: block;
    color: #2f2f2f;
    font-size: 14px;
}

.lang_list li a:hover,
.lang_list li a.active_lang {
    color: var(--main_color, #c8232c);
    font-weight: 600;
}

/* Desktop: the nav switches to a horizontal bar above this breakpoint, so
   the language item must sit inline with the other menu links instead of
   dropping to its own block row, and its dropdown becomes a floating
   panel instead of pushing the rest of the menu down. */
@media (min-width: 992px) {
    .lang_item {
        display: inline-flex !important;
        align-items: center;
        border-top: 0;
        margin-top: 0;
        padding-top: 0;
        margin-left: 24px;
    }

    .lang_list {
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 190px;
        max-height: none;
        overflow: visible;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
        padding: 10px 16px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(6px);
        transition: opacity .2s ease-in-out, transform .2s ease-in-out, visibility .2s;
        max-height: 320px;
        overflow-y: auto;
        z-index: 999;
    }

    #lang_toggle:checked ~ .lang_list {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        margin-top: 8px;
    }
}

/* --------------------------------------------------------------------------
   7. SEO article block (homepage long-form content)
   -------------------------------------------------------------------------- */
.seo_article h3 {
    margin-top: 2rem;
    margin-bottom: .5rem;
    font-size: 1.25rem;
    color: #2f2f2f;
}

.seo_article p {
    line-height: 1.8;
    color: #444;
    margin-bottom: 1rem;
}

.seo_article ul,
.seo_article ol {
    margin: 0 0 1rem 1.5rem;
    line-height: 1.8;
}

.seo_article li {
    margin-bottom: .3rem;
}
