/*

* Legal Document Common Style
*
* Used by:
* Privacy Policy
* Terms of Service
* Cookie Policy
* Disclaimer
*
* Mobile First
* Unit: rem
  */

/* 1. Root*/

html {
font-size: 16px;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
scroll-behavior: smooth;

}

/* 2. Variables */

:root { 
    --legal-primary: #222222;
    --legal-text: #333333;
    --legal-text-secondary: #666666;
    --legal-text-light: #999999;
    --legal-border: #eeeeee;
    --legal-background: #ffffff;
    --legal-background-secondary: #f7f8fa;
    --legal-container-width: 52rem;
    --legal-side-padding: 1.25rem;  
}

/*Reset */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

body { 
    min-width: 320px;
    background: var(--legal-background);
    color: var(--legal-text);
    font-size: 1rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* Container */
.legal-container { 
    width: 100%;
    max-width: var(--legal-container-width);  
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--legal-side-padding);
    padding-right: var(--legal-side-padding);  
    /* text-align: justify; */
}

/* Header  */
.legal-header { 
    /* border-bottom: 1px solid var(--legal-border); */
    padding-top: 1.5rem;
    /* padding-bottom: 1rem;   */
}

.legal-title {
    margin: 0;
    color: var(--legal-primary);
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.35;
    letter-spacing: -0.02em;
}

.legal-update { 
    margin: 0.5rem 0 0;
    color: var(--legal-text);
    font-size: 0.875rem; 
}

/*  Main  */ 
.legal-main { 
    padding-top: 1.75rem; 
    padding-bottom: 3rem;  
}

/*   Content */
.legal-content { 
    color: var(--legal-text);
    font-size: 1rem;
    line-height: 1.8; 
}

/*  Section  */
.legal-section { 
    margin-bottom: 1.25rem;  
}

.legal-section:last-child { 
    margin-bottom: 0; 

}

/* H2  */
.legal-section h2 { 
    margin: 0 0 1rem;
    color: var(--legal-primary);
    font-size: 1.25rem;
    font-weight: bold; 
}

/* H3 */
.legal-section h3 { 
    margin: 1.5rem 0 0.75rem;
    color: var(--legal-primary);
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.5; 
}

/*  Paragraph */

.legal-section p { 
    margin: 0 0 1rem; 
}

.legal-section p:last-child { 
    margin-bottom: 0;  
}

/* Strong */

.legal-content strong { 
    color: var(--legal-primary);
    font-weight: 600; 
}

/*  Links */

.legal-content a { 
    color: var(--legal-primary);
    text-decoration: underline;
    text-decoration-thickness: 0.0625rem;
    text-underline-offset: 0.15rem; 
}

/* Contact / Information Box  */

.legal-box { 
    margin-top: 1rem;
    padding: 1rem 1.125rem;
    background: var(--legal-background-secondary);
    border-radius: 0.5rem; 
}

.legal-box p { 
margin-bottom: 0.5rem; 
}

.legal-box p:last-child { 
    margin-bottom: 0; 
} 
/*  Mobile Safe Area */
@supports (padding: env(safe-area-inset-bottom)) { 
    .legal-footer { 
        padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));
    } 
}
 

@media screen and (min-width: 48rem) { 
    :root { 
        --legal-side-padding: 2rem;
    } 
    .legal-header { 
        padding-top: 3.5rem; 
        padding-bottom: 2rem;
    } 
    .legal-title { 
        font-size: 2rem;
    } 
    .legal-main { 
        padding-top: 2.5rem; 
        padding-bottom: 4rem;
    } 
    .legal-content { 
        line-height: 1.9;
    } 
    .legal-section { 
        margin-bottom: 2.75rem;
    } 

    .legal-section h2 { 
        font-size: 1.375rem;
    } 
    .legal-section h3 { 
        font-size: 1.125rem;
    }  
}
 

/* deskop */
@media screen and (min-width: 64rem) { 
    :root { 
        --legal-side-padding: 2rem;
    } 
    .legal-header { 
        padding-top: 4rem; 
        padding-bottom: 2.25rem;
    }
 
    .legal-title { 
        font-size: 2.125rem;
    }
 
    .legal-main { 
        padding-top: 3rem; 
        padding-bottom: 5rem;
    } 
    .legal-section { 
        margin-bottom: 3rem;
    }  
}

/* Accessibility  */
@media (prefers-reduced-motion: reduce) { 
    html { 
        scroll-behavior: auto;
    } 
}

/*  Print */

@media print { 
    html { 
        font-size: 12pt;
    } 

    body { 
        background: #ffffff; 
        color: #000000;
    } 

    .legal-header { 
        border-bottom-color: #000000;
    } 
    .legal-footer { 
        border-top-color: #000000;
    } 
}
