@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');

/* 1. DEKLARASI CSS VARIABLES (LIGHT MODE DEFAULT) */
:root {
    --primary-color: #3f51b5;
    --dark-primary: #303f9f;
    --body-bg: #f0f2f5;
    --container-bg: #ffffff;
    --text-color: #333;
    --light-text: #555;
    --border-color: #e0e0e0;
    --input-bg: #f9f9f9;
    --shadow-color: rgba(0, 0, 0, 0.08);
    --shadow-color-strong: rgba(0, 0, 0, 0.1);
    --hover-bg: #e9e9e9;
    --checked-bg: #e8eaf6;
}

/* 2. DEKLARASI VARIABEL UNTUK DARK MODE */
body.dark-mode {
    --primary-color: #757de8;
    --dark-primary: #3f51b5;
    --body-bg: #121212;
    --container-bg: #1e1e1e;
    --text-color: #e0e0e0;
    --light-text: #a0a0a0;
    --border-color: #333333;
    --input-bg: #2a2a2a;
    --shadow-color: rgba(255, 255, 255, 0.08);
    --shadow-color-strong: rgba(0, 0, 0, 0.2);
    --hover-bg: #2c2c2c;
    --checked-bg: #303f9f;
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: var(--body-bg); /* Menggunakan variabel */
    color: var(--text-color); /* Menggunakan variabel */
    margin: 0;
    padding-top: 70px;
    transition: background-color 0.3s, color 0.3s; /* Transisi halus */
}

/* Header */
header {
    background: var(--container-bg); /* Menggunakan variabel */
    box-shadow: 0 2px 10px var(--shadow-color); /* Menggunakan variabel */
    padding: 0 5%;
    position: fixed;
    top: 0;
    width: 90%;
    z-index: 1000;
    transition: background-color 0.3s;
}

.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
}

header h2 {
    color: var(--primary-color); /* Menggunakan variabel */
    margin: 0;
}

header nav {
    display: flex;
    align-items: center;
    gap: 25px;
}

header nav a {
    text-decoration: none;
    color: var(--light-text); /* Menggunakan variabel */
    font-weight: 600;
    transition: color 0.3s;
}

header nav a:hover {
    color: var(--primary-color); /* Menggunakan variabel */
}

/* 3. STYLE BARU UNTUK TOGGLE SWITCH */
.theme-switch-wrapper {
    display: flex;
    align-items: center;
}
.theme-switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 26px;
}
.theme-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
}
.slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .4s;
}
input:checked + .slider {
    background-color: var(--primary-color);
}
input:checked + .slider:before {
    transform: translateX(24px);
}
.slider.round {
    border-radius: 34px;
}
.slider.round:before {
    border-radius: 50%;
}

#whatsapp-section {
    background-color: var(--body-bg); /* Warna latar yang konsisten */
    padding: 5px 20px 50px 20px;
    text-align: center;
}

.container-whatsapp {
    max-width: 600px;
    margin: 0 auto;
}

#whatsapp-section h2 {
    font-size: 28px;
    color: var(--dark-primary);
    margin-bottom: 10px;
}

#whatsapp-section p {
    color: var(--light-text);
    margin-bottom: 30px;
}

#whatsappForm {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#whatsappMessage {
    width: 100%;
    padding: 12px;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    box-sizing: border-box;
    resize: vertical;
    min-height: 100px;
    background-color: var(--container-bg);
    color: var(--text-color);
}

#whatsappMessage:focus {
    outline: none;
    border-color: var(--primary-color);
}

.whatsapp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: #25D366 !important; /* Warna khas WhatsApp */
    font-weight: 600;
}

.whatsapp-btn:hover {
    background-color: #1DAE53 !important;
}

#f3{
    font-size: 50px;
}

/* ... (Kode CSS lainnya di-refactor menggunakan variabel) ... */
main{display:flex;justify-content:center;align-items:center;padding:40px 20px}
.container{background:var(--container-bg);padding:30px 40px;border-radius:12px;box-shadow:0 10px 25px var(--shadow-color-strong);text-align:center;max-width:500px;width:100%;transition:background-color .3s}
h1{color:var(--dark-primary);margin-bottom:10px}
p{color:var(--light-text);margin-bottom:25px}
form{display:flex;flex-direction:column;gap:15px}
input[type=url]{width:100%;padding:12px;background-color:var(--body-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;font-size:16px;transition:border-color .3s}
input[type=url]:focus{outline:0;border-color:var(--primary-color)}
.file-label{background-color:var(--input-bg);border:1px dashed var(--border-color);padding:12px;border-radius:8px;cursor:pointer;transition:background-color .3s}.file-label:hover{background-color:var(--hover-bg)}input[type=file]{display:none}
button{background-color:var(--primary-color);color:var(--container-bg);border:none;padding:14px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s ease}button:hover{background-color:var(--dark-primary)}
#canvas-container{margin-top:30px;display:flex;flex-direction:column;align-items:center;gap:20px}
#canvas{border:1px solid var(--border-color);padding:10px;border-radius:8px;display:inline-block;background-color:var(--white)}#download-container button{background-color:#1e8e3e}#download-container button:hover{background-color:#166d2e}
.options-container{text-align:left;margin-top:15px;border:1px solid var(--border-color);border-radius:8px;padding:15px}.section-label{font-size:14px;font-weight:600;color:var(--text-color);display:block;margin-bottom:10px}
.theme-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.theme-option input[type=radio]{display:none}.theme-option label{color: var(--text-color);display:flex;align-items:center;padding:10px;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease-in-out;font-size:14px}
.theme-option label:hover{border-color:var(--primary-color);background-color:var(--hover-bg)}
.theme-option input[type=radio]:checked+label{border-color:var(--primary-color);background-color:var(--checked-bg);font-weight:600}
.theme-option .preview{width:20px;height:20px;border-radius:50%;margin-right:10px;border:1px solid rgba(0,0,0,.1)}
#dotStyle{width:100%;padding:10px;background-color:var(--container-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:8px;font-family:'Poppins',sans-serif;font-size:14px;box-sizing:border-box}
.logo-carousel-section{padding:60px 0;text-align:center}.logo-carousel-section h3{font-size:24px;margin-bottom:40px;color:var(--text-color)}
.logo-carousel-container{background:var(--container-bg);box-shadow:0 5px 20px var(--shadow-color);overflow:hidden;padding:30px 0;position:relative;width:100%}
.logo-carousel-container::before,.logo-carousel-container::after{content:'';position:absolute;top:0;width:150px;height:100%;z-index:2}
.logo-carousel-container::before{left:0;background:linear-gradient(to left,rgba(255,255,255,0),var(--container-bg))}
.logo-carousel-container::after{right:0;background:linear-gradient(to right,rgba(255,255,255,0),var(--container-bg))}
.logo-carousel-track{display:flex;width:calc(250px * 14);animation:scroll 30s linear infinite}.logo-carousel-container:hover .logo-carousel-track{animation-play-state:paused}.logo-carousel-track img{height:60px;width:auto;margin:0 45px;filter:grayscale(100%);opacity:.6;transition:all .3s}.logo-carousel-track img:hover{filter:grayscale(0%);opacity:1;transform:scale(1.1)}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(calc(-250px * 7))}}
footer{background-color:var(--dark-primary);color:var(--white);text-align:center;padding:20px 0}


 @media screen and (max-width: 767px){
    #f3{
        font-size: 20px;
    }
 }