
/* HALAMAN LEGAL — SYARAT & KETENTUAN / KEBIJAKAN PRIVASI */

.legal-page{
    background:#f7f9fc;
}

.legal-hero{
    padding:43px 0 40px;
    color:#fff;
    background:
        radial-gradient(circle at 86% 10%,rgba(255,255,255,.15),transparent 21%),
        radial-gradient(circle at 10% 90%,rgba(15,199,145,.15),transparent 25%),
        linear-gradient(135deg,#073580,#0b5fc7);
}

.legal-hero.privacy-hero{
    background:
        radial-gradient(circle at 86% 10%,rgba(255,255,255,.15),transparent 21%),
        radial-gradient(circle at 10% 90%,rgba(49,208,163,.16),transparent 25%),
        linear-gradient(135deg,#083b75,#087d74);
}

.legal-hero-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(330px,.45fr);
    gap:34px;
    align-items:center;
}

.legal-eyebrow{
    width:max-content;
    padding:7px 10px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.19);
    border-radius:999px;
    color:#fff;
    background:rgba(255,255,255,.10);
    font-size:8px;
    letter-spacing:.75px;
    font-weight:700;
}

.legal-eyebrow .icon{
    width:16px;
    height:16px;
}

.legal-hero h1{
    margin:14px 0 8px;
    color:#fff;
    font-family:"Poppins",sans-serif;
    font-size:35px;
    line-height:1.2;
    letter-spacing:-.7px;
    font-weight:600;
}

.legal-hero p{
    max-width:720px;
    margin:0;
    color:rgba(255,255,255,.77);
    font-size:10.8px;
    line-height:1.67;
}

.legal-update-note{
    margin-top:13px;
    display:flex;
    align-items:center;
    gap:7px;
    color:rgba(255,255,255,.65);
    font-size:8.2px;
}

.legal-update-note .icon{
    width:15px;
    height:15px;
    color:#7be9c2;
}

.legal-hero-card{
    padding:16px;
    display:grid;
    grid-template-columns:47px minmax(0,1fr);
    gap:11px;
    align-items:center;
    border:1px solid rgba(255,255,255,.17);
    border-radius:15px;
    background:rgba(255,255,255,.10);
    box-shadow:0 18px 40px rgba(2,25,69,.17);
    backdrop-filter:blur(6px);
}

.legal-hero-card > span{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:14px;
    color:#fff;
    background:rgba(255,255,255,.14);
}

.legal-hero-card > span .icon{
    width:24px;
    height:24px;
}

.legal-hero-card small{
    display:block;
    color:rgba(255,255,255,.61);
    font-size:7.2px;
    letter-spacing:.65px;
}

.legal-hero-card strong{
    display:block;
    margin-top:3px;
    color:#fff;
    font-size:10.5px;
    font-weight:600;
}

.legal-hero-card p{
    margin-top:4px;
    color:rgba(255,255,255,.69);
    font-size:7.8px;
    line-height:1.45;
}

.legal-layout{
    padding-top:38px;
    padding-bottom:44px;
    display:grid;
    grid-template-columns:270px minmax(0,1fr);
    gap:17px;
    align-items:start;
}

.legal-navigation,
.legal-content-card{
    border:1px solid #dfe8f2;
    border-radius:16px;
    background:#fff;
    box-shadow:0 7px 20px rgba(16,51,98,.05);
}

.legal-navigation{
    padding:11px;
    display:grid;
    gap:4px;
    position:sticky;
    top:90px;
}

.legal-nav-heading{
    margin-bottom:5px;
    padding:10px;
    display:grid;
    grid-template-columns:37px minmax(0,1fr);
    gap:9px;
    align-items:center;
    border-radius:10px;
    background:#f2f7fb;
}

.legal-nav-heading > span{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#155ed4;
    background:#e4effd;
}

.privacy-page .legal-nav-heading > span{
    color:#087b64;
    background:#e3f7f0;
}

.legal-nav-heading > span .icon{
    width:19px;
    height:19px;
}

.legal-nav-heading strong{
    display:block;
    color:#355779;
    font-size:9.5px;
    font-weight:600;
}

.legal-nav-heading small{
    display:block;
    margin-top:2px;
    color:#8798aa;
    font-size:7.4px;
}

.legal-navigation > a{
    min-height:37px;
    padding:0 10px;
    display:flex;
    align-items:center;
    border-radius:8px;
    color:#657d95;
    font-size:8.4px;
    font-weight:500;
}

.legal-navigation > a:hover,
.legal-navigation > a.active{
    color:#155ed4;
    background:#edf5ff;
}

.privacy-page .legal-navigation > a:hover,
.privacy-page .legal-navigation > a.active{
    color:#087b64;
    background:#ebf8f4;
}

.legal-content-card{
    padding:22px;
}

.legal-introduction{
    padding:14px;
    display:grid;
    grid-template-columns:39px minmax(0,1fr);
    gap:10px;
    align-items:start;
    border:1px solid #d6e4f3;
    border-radius:12px;
    color:#4d6c8a;
    background:#f1f7fe;
}

.legal-introduction.privacy{
    border-color:#cce8df;
    color:#456f62;
    background:#f1faf7;
}

.legal-introduction > span{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#155ed4;
    background:#e3effd;
}

.legal-introduction.privacy > span{
    color:#087b64;
    background:#def4ed;
}

.legal-introduction > span .icon{
    width:20px;
    height:20px;
}

.legal-introduction p{
    margin:0;
    font-size:8.8px;
    line-height:1.6;
}

.legal-section{
    padding:21px 0;
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:13px;
    scroll-margin-top:95px;
    border-bottom:1px solid #e7edf4;
}

.legal-section:last-of-type{
    border-bottom:0;
}

.legal-section-number{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#155ed4;
    background:#eaf3ff;
    font-size:8px;
    font-weight:700;
}

.privacy-page .legal-section-number{
    color:#087b64;
    background:#e5f7f1;
}

.legal-section h2{
    margin:1px 0 7px;
    color:#294f76;
    font-family:"Poppins",sans-serif;
    font-size:13px;
    font-weight:600;
}

.legal-section p{
    margin:0 0 9px;
    color:#6f849b;
    font-size:8.8px;
    line-height:1.65;
}

.legal-section p:last-child{
    margin-bottom:0;
}

.legal-section ul{
    margin:8px 0 0;
    padding:0;
    list-style:none;
    display:grid;
    gap:7px;
}

.legal-section li{
    position:relative;
    padding-left:17px;
    color:#647d96;
    font-size:8.6px;
    line-height:1.55;
}

.legal-section li::before{
    content:"";
    width:6px;
    height:6px;
    position:absolute;
    top:5px;
    left:1px;
    border-radius:50%;
    background:#155ed4;
}

.privacy-page .legal-section li::before{
    background:#0b9778;
}

.legal-contact-box{
    padding:12px;
    display:grid;
    grid-template-columns:39px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    border:1px solid #dfe8f2;
    border-radius:11px;
    background:#fbfdff;
}

.legal-contact-box > span{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#155ed4;
    background:#eaf3ff;
}

.privacy-page .legal-contact-box > span{
    color:#087b64;
    background:#e5f7f1;
}

.legal-contact-box > span .icon{
    width:19px;
    height:19px;
}

.legal-contact-box small{
    display:block;
    color:#8797aa;
    font-size:7.5px;
}

.legal-contact-box strong{
    display:block;
    margin-top:2px;
    color:#355779;
    font-size:9.2px;
    font-weight:600;
}

.legal-contact-box a{
    min-height:34px;
    padding:0 9px;
    display:inline-flex;
    align-items:center;
    border-radius:8px;
    color:#fff;
    background:#155ed4;
    font-size:7.8px;
    font-weight:600;
}

.privacy-page .legal-contact-box a{
    background:#087b64;
}

.legal-operator-note{
    margin-top:9px !important;
    padding:10px 11px;
    border-radius:9px;
    color:#926d32 !important;
    background:#fff7e8;
}

.legal-disclaimer-box,
.legal-security-warning{
    padding:12px;
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    gap:9px;
    align-items:start;
    border:1px solid #ecd2aa;
    border-radius:10px;
    background:#fff8ec;
}

.legal-disclaimer-box > .icon,
.legal-security-warning > .icon{
    width:21px;
    height:21px;
    color:#cc7a0e;
}

.legal-disclaimer-box strong{
    display:block;
    color:#7f5b24;
    font-size:8.8px;
    font-weight:600;
}

.legal-disclaimer-box p,
.legal-security-warning p{
    margin:3px 0 0;
    color:#907445;
    font-size:8px;
    line-height:1.5;
}

.legal-data-grid{
    margin:11px 0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}

.legal-data-grid article{
    padding:10px;
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    gap:9px;
    align-items:center;
    border:1px solid #e2eaf2;
    border-radius:10px;
    background:#fbfdfc;
}

.legal-data-grid article > span{
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#087b64;
    background:#e5f7f1;
}

.legal-data-grid article > span .icon{
    width:18px;
    height:18px;
}

.legal-data-grid strong{
    display:block;
    color:#385e55;
    font-size:8.6px;
    font-weight:600;
}

.legal-data-grid small{
    display:block;
    margin-top:2px;
    color:#7e948e;
    font-size:7.4px;
    line-height:1.4;
}

.legal-security-warning{
    border-color:#cce6dc;
    background:#f2faf7;
}

.legal-security-warning > .icon{
    color:#087b64;
}

.legal-security-warning p{
    color:#55786d;
}

.legal-related-links{
    margin-top:18px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.legal-related-links > a{
    min-height:72px;
    padding:12px;
    display:grid;
    grid-template-columns:35px minmax(0,1fr) 16px;
    gap:9px;
    align-items:center;
    border:1px solid #dce7f2;
    border-radius:11px;
    color:#155ed4;
    background:#f7faff;
}

.privacy-page .legal-related-links > a{
    color:#087b64;
    background:#f4fbf8;
}

.legal-related-links > a > .icon:first-child{
    width:22px;
    height:22px;
    justify-self:center;
}

.legal-related-links > a > .icon:last-child{
    width:15px;
    height:15px;
}

.legal-related-links strong{
    display:block;
    color:#355779;
    font-size:9px;
    font-weight:600;
}

.legal-related-links small{
    display:block;
    margin-top:2px;
    color:#8797aa;
    font-size:7.5px;
}

@media(max-width:900px){
    .legal-hero-inner{
        grid-template-columns:1fr;
    }

    .legal-hero-card{
        max-width:620px;
    }

    .legal-layout{
        grid-template-columns:1fr;
    }

    .legal-navigation{
        position:static;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .legal-nav-heading{
        grid-column:1 / -1;
    }
}

@media(max-width:700px){
    .legal-hero{
        padding:32px 0;
    }

    .legal-hero h1{
        font-size:27px;
    }

    .legal-layout{
        padding-top:26px;
    }

    .legal-navigation{
        grid-template-columns:1fr;
    }

    .legal-nav-heading{
        grid-column:auto;
    }

    .legal-content-card{
        padding:16px;
    }

    .legal-section{
        grid-template-columns:32px minmax(0,1fr);
        gap:10px;
    }

    .legal-section-number{
        width:31px;
        height:31px;
    }

    .legal-data-grid,
    .legal-related-links{
        grid-template-columns:1fr;
    }

    .legal-contact-box{
        grid-template-columns:38px minmax(0,1fr);
    }

    .legal-contact-box a{
        grid-column:1 / -1;
        justify-content:center;
    }
}

@media(max-width:410px){
    .legal-hero h1{
        font-size:23px;
    }

    .legal-hero-card{
        grid-template-columns:40px minmax(0,1fr);
    }

    .legal-hero-card > span{
        width:40px;
        height:40px;
    }

    .legal-content-card{
        padding:13px;
    }

    .legal-introduction{
        grid-template-columns:34px minmax(0,1fr);
    }

    .legal-introduction > span{
        width:34px;
        height:34px;
    }
}
