/*
|--------------------------------------------------------------------------
| ShopCore GH Legal Pages
|--------------------------------------------------------------------------
*/

.sc-legal-page{
    --legal-orange:#ff5a00;
    --legal-orange-dark:#e95000;
    --legal-orange-soft:#fff4ee;
    --legal-orange-border:#ffd8c2;

    --legal-text:#17233b;
    --legal-soft:#64748b;
    --legal-muted:#94a3b8;

    --legal-white:#ffffff;
    --legal-page:#f8fafc;
    --legal-surface:#ffffff;
    --legal-border:#e5ebf2;

    --legal-green:#16a34a;
    --legal-container:1120px;

    width:100%;
    min-height:100vh;

    background:var(--legal-page);
    color:var(--legal-text);

    font-family:inherit;
}


/*
|--------------------------------------------------------------------------
| Shared Container
|--------------------------------------------------------------------------
*/

.sc-legal-container{
    width:min(
        calc(100% - 48px),
        var(--legal-container)
    );

    margin:0 auto;
}


/*
|--------------------------------------------------------------------------
| Hero
|--------------------------------------------------------------------------
*/

.sc-legal-hero{
    position:relative;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(255,90,0,.08),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fffaf7 100%
        );

    border-bottom:1px solid var(--legal-border);
}

.sc-legal-hero::before{
    content:"";

    position:absolute;

    top:-100px;
    right:-100px;

    width:260px;
    height:260px;

    border-radius:50%;

    background:rgba(255,90,0,.035);

    pointer-events:none;
}

.sc-legal-hero-inner{
    position:relative;

    z-index:1;

    padding:52px 0 56px;
}


/*
|--------------------------------------------------------------------------
| Breadcrumb
|--------------------------------------------------------------------------
*/

.sc-legal-breadcrumb{
    margin-bottom:28px;

    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:9px;

    color:var(--legal-muted);

    font-size:14px;
    font-weight:650;
    line-height:1.4;
}

.sc-legal-breadcrumb a{
    color:var(--legal-soft);

    text-decoration:none;

    transition:color .18s ease;
}

.sc-legal-breadcrumb a:hover{
    color:var(--legal-orange);
}

.sc-legal-breadcrumb span:last-child{
    color:var(--legal-text);
}


/*
|--------------------------------------------------------------------------
| Main Heading
|--------------------------------------------------------------------------
*/

.sc-legal-heading{
    width:100%;
    max-width:820px;
}

.sc-legal-eyebrow{
    min-height:30px;

    margin-bottom:15px;
    padding:6px 11px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border:1px solid var(--legal-orange-border);
    border-radius:999px;

    background:var(--legal-orange-soft);

    color:var(--legal-orange-dark);

    font-size:11px;
    font-weight:800;
    line-height:1;
    letter-spacing:.65px;
    text-transform:uppercase;
}

.sc-legal-heading h1{
    margin:0;

    color:var(--legal-text);

    font-size:clamp(
        38px,
        5vw,
        52px
    );

    font-weight:850;
    line-height:1.08;

    letter-spacing:-1.6px;
}

.sc-legal-heading > p{
    max-width:780px;

    margin:19px 0 0;

    color:var(--legal-soft);

    font-size:17px;
    font-weight:500;
    line-height:1.75;
}

.sc-legal-updated{
    margin-top:23px;

    display:flex;
    align-items:center;

    gap:9px;

    color:var(--legal-soft);

    font-size:13px;
    font-weight:550;
    line-height:1.4;
}

.sc-legal-updated strong{
    color:var(--legal-text);

    font-weight:750;
}

.sc-legal-updated-icon{
    width:30px;
    height:30px;

    flex:0 0 30px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border-radius:8px;

    background:var(--legal-orange-soft);

    color:var(--legal-orange);
}

.sc-legal-updated-icon svg{
    width:15px;
    height:15px;

    fill:currentColor;
}


/*
|--------------------------------------------------------------------------
| Main Legal Section
|--------------------------------------------------------------------------
*/

.sc-legal-section{
    padding:52px 0 78px;
}

.sc-legal-layout{
    display:grid;

    grid-template-columns:
        235px
        minmax(0,1fr);

    align-items:start;

    gap:40px;
}


/*
|--------------------------------------------------------------------------
| Sidebar
|--------------------------------------------------------------------------
*/

.sc-legal-sidebar{
    min-width:0;
}

.sc-legal-nav-card{
    position:sticky;

    top:100px;

    overflow:hidden;

    padding:20px;

    border:1px solid var(--legal-border);
    border-radius:16px;

    background:var(--legal-white);

    box-shadow:
        0 8px 26px rgba(15,23,42,.035);
}

.sc-legal-nav-label{
    display:block;

    margin-bottom:15px;

    color:var(--legal-text);

    font-size:13px;
    font-weight:800;
    line-height:1.3;

    text-transform:uppercase;
    letter-spacing:.45px;
}

.sc-legal-nav{
    display:flex;
    flex-direction:column;

    gap:3px;
}

.sc-legal-nav a{
    display:block;

    padding:8px 9px;

    border-radius:8px;

    color:var(--legal-soft);

    font-size:12px;
    font-weight:600;
    line-height:1.45;

    text-decoration:none;

    transition:
        color .16s ease,
        background .16s ease;
}

.sc-legal-nav a:hover{
    background:var(--legal-orange-soft);

    color:var(--legal-orange-dark);
}


/*
|--------------------------------------------------------------------------
| Legal Content
|--------------------------------------------------------------------------
*/

.sc-legal-content{
    min-width:0;

    overflow:hidden;

    border:1px solid var(--legal-border);
    border-radius:20px;

    background:var(--legal-white);

    box-shadow:
        0 12px 35px rgba(15,23,42,.04),
        0 2px 8px rgba(15,23,42,.02);
}


/*
|--------------------------------------------------------------------------
| Intro Notice
|--------------------------------------------------------------------------
*/

.sc-legal-intro-card{
    margin:30px 32px 5px;
    padding:18px 20px;

    display:flex;
    align-items:flex-start;

    gap:13px;

    border:1px solid var(--legal-orange-border);
    border-radius:13px;

    background:var(--legal-orange-soft);
}

.sc-legal-intro-icon{
    width:38px;
    height:38px;

    flex:0 0 38px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border-radius:9px;

    background:var(--legal-white);

    color:var(--legal-orange);
}

.sc-legal-intro-icon svg{
    width:18px;
    height:18px;

    fill:currentColor;
}

.sc-legal-intro-card > div{
    min-width:0;
}

.sc-legal-intro-card strong{
    display:block;

    margin-bottom:4px;

    color:var(--legal-text);

    font-size:14px;
    font-weight:800;
    line-height:1.45;
}

.sc-legal-intro-card p{
    margin:0;

    color:var(--legal-soft);

    font-size:13.5px;
    font-weight:500;
    line-height:1.7;
}


/*
|--------------------------------------------------------------------------
| Individual Legal Blocks
|--------------------------------------------------------------------------
*/

.sc-legal-block{
    scroll-margin-top:110px;

    display:grid;

    grid-template-columns:
        42px
        minmax(0,1fr);

    gap:18px;

    padding:34px 32px;

    border-bottom:1px solid var(--legal-border);
}

.sc-legal-number{
    width:40px;
    height:40px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border-radius:10px;

    background:var(--legal-orange-soft);

    color:var(--legal-orange);

    font-size:11px;
    font-weight:850;
    line-height:1;
}

.sc-legal-block-content{
    min-width:0;
}

.sc-legal-block h2{
    margin:3px 0 15px;

    color:var(--legal-text);

    font-size:22px;
    font-weight:825;
    line-height:1.3;

    letter-spacing:-.3px;
}

.sc-legal-block p{
    margin:0 0 16px;

    color:var(--legal-soft);

    font-size:15px;
    font-weight:500;
    line-height:1.82;
}

.sc-legal-block p:last-child{
    margin-bottom:0;
}


/*
|--------------------------------------------------------------------------
| Legal Lists
|--------------------------------------------------------------------------
*/

.sc-legal-list{
    margin:9px 0 19px;

    padding:0;

    list-style:none;

    display:flex;
    flex-direction:column;

    gap:11px;
}

.sc-legal-list li{
    position:relative;

    margin:0;

    padding-left:23px;

    color:var(--legal-soft);

    font-size:15px;
    font-weight:500;
    line-height:1.7;
}

.sc-legal-list li::before{
    content:"";

    position:absolute;

    top:.68em;
    left:2px;

    width:7px;
    height:7px;

    border-radius:50%;

    background:var(--legal-orange);
}


/*
|--------------------------------------------------------------------------
| Inline Links
|--------------------------------------------------------------------------
*/

.sc-legal-inline-link{
    display:inline;

    color:var(--legal-orange-dark);

    font-weight:750;

    text-decoration:none;

    border-bottom:1px solid rgba(255,90,0,.3);
}

.sc-legal-inline-link:hover{
    color:var(--legal-orange);

    border-color:var(--legal-orange);
}


/*
|--------------------------------------------------------------------------
| Notices
|--------------------------------------------------------------------------
*/

.sc-legal-notice{
    margin:21px 0 5px;
    padding:16px 17px;

    display:flex;
    align-items:flex-start;

    gap:12px;

    border-radius:12px;
}

.sc-legal-notice-warning{
    border:1px solid #fde2b0;

    background:#fffaf0;
}

.sc-legal-notice-icon{
    width:35px;
    height:35px;

    flex:0 0 35px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border-radius:8px;

    background:#fff;

    color:#d97706;
}

.sc-legal-notice-icon svg{
    width:17px;
    height:17px;

    fill:currentColor;
}

.sc-legal-notice > div{
    min-width:0;
}

.sc-legal-notice strong{
    display:block;

    margin-bottom:4px;

    color:#92400e;

    font-size:13px;
    font-weight:800;
    line-height:1.45;
}

.sc-legal-notice p{
    margin:0;

    color:#a16207;

    font-size:13px;
    font-weight:500;
    line-height:1.7;
}


/*
|--------------------------------------------------------------------------
| Contact
|--------------------------------------------------------------------------
*/

.sc-legal-contact-card{
    margin-top:20px;
    padding:17px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    border:1px solid var(--legal-border);
    border-radius:13px;

    background:var(--legal-page);
}

.sc-legal-contact-info{
    min-width:0;

    display:flex;
    align-items:center;

    gap:12px;
}

.sc-legal-contact-icon{
    width:44px;
    height:44px;

    flex:0 0 44px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border-radius:11px;

    background:#ecfdf3;

    color:#16a34a;
}

.sc-legal-contact-icon svg{
    width:21px;
    height:21px;

    fill:currentColor;
}

.sc-legal-contact-info > div{
    min-width:0;

    display:flex;
    flex-direction:column;

    gap:3px;
}

.sc-legal-contact-info span{
    color:var(--legal-soft);

    font-size:12px;
    font-weight:600;
    line-height:1.35;
}

.sc-legal-contact-info strong{
    color:var(--legal-text);

    font-size:14px;
    font-weight:800;
    line-height:1.35;
}

.sc-legal-contact-button{
    min-height:42px;

    padding:10px 16px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:7px;

    border-radius:9px;

    background:var(--legal-orange);

    color:#fff;

    font-size:12px;
    font-weight:800;
    line-height:1;

    text-decoration:none;
    white-space:nowrap;

    box-shadow:
        0 7px 18px rgba(255,90,0,.14);

    transition:
        background .16s ease,
        transform .16s ease;
}

.sc-legal-contact-button svg{
    width:15px;
    height:15px;

    fill:currentColor;
}

.sc-legal-contact-button:hover{
    background:var(--legal-orange-dark);

    transform:translateY(-1px);
}


/*
|--------------------------------------------------------------------------
| Related Policies
|--------------------------------------------------------------------------
*/

.sc-legal-bottom-links{
    padding:22px 32px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:15px;

    background:var(--legal-page);
}

.sc-legal-bottom-links > span{
    color:var(--legal-muted);

    font-size:12px;
    font-weight:700;
    line-height:1.4;
}

.sc-legal-bottom-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:8px;
}

.sc-legal-bottom-actions a{
    display:inline-flex;
    align-items:center;

    color:var(--legal-soft);

    font-size:12px;
    font-weight:700;
    line-height:1.4;

    text-decoration:none;
    white-space:nowrap;
}

.sc-legal-bottom-actions a:hover{
    color:var(--legal-orange);
}

.sc-legal-bottom-actions span{
    color:var(--legal-muted);

    font-size:8px;
}


/*
|--------------------------------------------------------------------------
| Focus States
|--------------------------------------------------------------------------
*/

.sc-legal-page a:focus-visible{
    outline:2px solid rgba(255,90,0,.28);
    outline-offset:3px;
    border-radius:5px;
}


/*
|--------------------------------------------------------------------------
| Tablet
|--------------------------------------------------------------------------
*/

@media (max-width:900px){

    .sc-legal-container{
        width:calc(100% - 38px);
    }

    .sc-legal-hero-inner{
        padding:44px 0 48px;
    }

    .sc-legal-heading h1{
        font-size:42px;
    }

    .sc-legal-heading > p{
        font-size:16px;
    }

    .sc-legal-layout{
        grid-template-columns:
            205px
            minmax(0,1fr);

        gap:26px;
    }

    .sc-legal-nav-card{
        padding:16px;
    }

    .sc-legal-nav-label{
        font-size:12px;
    }

    .sc-legal-nav a{
        padding:7px 8px;

        font-size:11px;
    }

    .sc-legal-intro-card{
        margin-left:24px;
        margin-right:24px;
    }

    .sc-legal-block{
        padding:30px 25px;
    }

    .sc-legal-block h2{
        font-size:20px;
    }

    .sc-legal-block p,
    .sc-legal-list li{
        font-size:14px;
    }

}


/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media (max-width:700px){

    .sc-legal-page{
        padding-bottom:90px;
    }

    .sc-legal-container{
        width:calc(100% - 24px);
    }

    /*
    |--------------------------------------------------------------------------
    | Mobile Hero
    |--------------------------------------------------------------------------
    */

    .sc-legal-hero-inner{
        padding:32px 0 36px;
    }

    .sc-legal-breadcrumb{
        margin-bottom:21px;

        gap:7px;

        font-size:12px;
    }

    .sc-legal-eyebrow{
        min-height:26px;

        margin-bottom:12px;
        padding:5px 9px;

        font-size:9.5px;
    }

    .sc-legal-heading h1{
        font-size:32px;
        line-height:1.12;

        letter-spacing:-.9px;
    }

    .sc-legal-heading > p{
        margin-top:14px;

        font-size:14px;
        line-height:1.75;
    }

    .sc-legal-updated{
        margin-top:18px;

        font-size:11.5px;
    }

    .sc-legal-updated-icon{
        width:27px;
        height:27px;

        flex-basis:27px;
    }

    .sc-legal-updated-icon svg{
        width:14px;
        height:14px;
    }

    /*
    |--------------------------------------------------------------------------
    | Mobile Main Section
    |--------------------------------------------------------------------------
    */

    .sc-legal-section{
        padding:24px 0 42px;
    }

    .sc-legal-layout{
        display:block;
    }

    .sc-legal-sidebar{
        display:none;
    }

    .sc-legal-content{
        border-radius:16px;
    }

    /*
    |--------------------------------------------------------------------------
    | Mobile Intro Card
    |--------------------------------------------------------------------------
    */

    .sc-legal-intro-card{
        margin:17px 16px 3px;
        padding:14px;

        gap:11px;

        border-radius:11px;
    }

    .sc-legal-intro-icon{
        width:34px;
        height:34px;

        flex-basis:34px;
    }

    .sc-legal-intro-icon svg{
        width:16px;
        height:16px;
    }

    .sc-legal-intro-card strong{
        font-size:13px;
    }

    .sc-legal-intro-card p{
        font-size:12px;
        line-height:1.65;
    }

    /*
    |--------------------------------------------------------------------------
    | Mobile Legal Blocks
    |--------------------------------------------------------------------------
    */

    .sc-legal-block{
        grid-template-columns:
            34px
            minmax(0,1fr);

        gap:12px;

        padding:25px 17px;
    }

    .sc-legal-number{
        width:33px;
        height:33px;

        border-radius:8px;

        font-size:9.5px;
    }

    .sc-legal-block h2{
        margin-top:2px;
        margin-bottom:12px;

        font-size:18px;
        line-height:1.3;
    }

    .sc-legal-block p{
        margin-bottom:14px;

        font-size:13.5px;
        line-height:1.78;
    }

    /*
    |--------------------------------------------------------------------------
    | Mobile Lists
    |--------------------------------------------------------------------------
    */

    .sc-legal-list{
        gap:9px;
    }

    .sc-legal-list li{
        padding-left:19px;

        font-size:13.5px;
        line-height:1.75;
    }

    .sc-legal-list li::before{
        width:5px;
        height:5px;
    }

    /*
    |--------------------------------------------------------------------------
    | Mobile Notice
    |--------------------------------------------------------------------------
    */

    .sc-legal-notice{
        padding:13px;

        gap:10px;
    }

    .sc-legal-notice-icon{
        width:31px;
        height:31px;

        flex-basis:31px;
    }

    .sc-legal-notice strong{
        font-size:12px;
    }

    .sc-legal-notice p{
        font-size:12px;
        line-height:1.65;
    }

    /*
    |--------------------------------------------------------------------------
    | Mobile Contact
    |--------------------------------------------------------------------------
    */

    .sc-legal-contact-card{
        padding:13px;

        align-items:stretch;
        flex-direction:column;

        gap:13px;
    }

    .sc-legal-contact-icon{
        width:40px;
        height:40px;

        flex-basis:40px;
    }

    .sc-legal-contact-info span{
        font-size:11px;
    }

    .sc-legal-contact-info strong{
        font-size:13px;
    }

    .sc-legal-contact-button{
        width:100%;
        min-height:42px;

        font-size:12px;
    }

    /*
    |--------------------------------------------------------------------------
    | Mobile Related Policies
    |--------------------------------------------------------------------------
    */

    .sc-legal-bottom-links{
        padding:18px 17px;

        flex-direction:column;
        align-items:flex-start;

        gap:9px;
    }

    .sc-legal-bottom-links > span{
        font-size:11.5px;
    }

    .sc-legal-bottom-actions a{
        font-size:11.5px;
    }

}


/*
|--------------------------------------------------------------------------
| Small Mobile
|--------------------------------------------------------------------------
*/

@media (max-width:420px){

    .sc-legal-container{
        width:calc(100% - 20px);
    }

    .sc-legal-heading h1{
        font-size:30px;
    }

    .sc-legal-heading > p{
        font-size:13.5px;
    }

    .sc-legal-block{
        padding:23px 15px;
    }

    .sc-legal-block h2{
        font-size:17.5px;
    }

    .sc-legal-block p,
    .sc-legal-list li{
        font-size:13px;
    }

}


/*
|--------------------------------------------------------------------------
| Very Small Mobile
|--------------------------------------------------------------------------
*/

@media (max-width:350px){

    .sc-legal-container{
        width:calc(100% - 16px);
    }

    .sc-legal-hero-inner{
        padding:27px 0 31px;
    }

    .sc-legal-heading h1{
        font-size:28px;
    }

    .sc-legal-heading > p{
        font-size:13px;
    }

    .sc-legal-block{
        grid-template-columns:
            30px
            minmax(0,1fr);

        gap:9px;

        padding:21px 12px;
    }

    .sc-legal-number{
        width:29px;
        height:29px;

        font-size:8.5px;
    }

    .sc-legal-block h2{
        font-size:17px;
    }

    .sc-legal-block p,
    .sc-legal-list li{
        font-size:12.5px;
    }

}


/*
|--------------------------------------------------------------------------
| Smooth Anchor Scrolling
|--------------------------------------------------------------------------
*/

html{
    scroll-behavior:smooth;
}


/*
|--------------------------------------------------------------------------
| Reduced Motion
|--------------------------------------------------------------------------
*/

@media (prefers-reduced-motion:reduce){

    html{
        scroll-behavior:auto;
    }

    .sc-legal-page *,
    .sc-legal-page *::before,
    .sc-legal-page *::after{
        transition:none !important;
    }

}