/*!
Theme Name: Kreative Muda Visual
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: kreative-muda-visual
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Kreative Muda Visual is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    color: #3a3a3a;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
}

main {
	display: block;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

a {
	background-color: transparent;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

img {
	border-style: none;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

details {
	display: block;
}

summary {
	display: list-item;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/* Typography */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 { clear: both; }
p { margin-bottom: 1.5em; }
dfn, cite, em, i { font-style: italic; }
blockquote { margin: 0 1.5em; }
address { margin: 0 0 1.5em; }

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code, kbd, tt, var { font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace; }
abbr, acronym { border-bottom: 1px dotted #666; cursor: help; }
mark, ins { background: #fff9c0; text-decoration: none; }
big { font-size: 125%; }

/* Elements */
body { background: #fff; }
hr { background-color: #ccc; border: 0; height: 1px; margin-bottom: 1.5em; }
ul, ol { margin: 0 0 1.5em 3em; }
ul { list-style: disc; }
ol { list-style: decimal; }
li > ul, li > ol { margin-bottom: 0; margin-left: 1.5em; }
dt { font-weight: 700; }
dd { margin: 0 1.5em 1.5em; }
embed, iframe, object { max-width: 100%; }
img { height: auto; max-width: 100%; }
figure { margin: 1em 0; }
table { margin: 0 0 1.5em; width: 100%; }

/* Links */
a { color: #4169e1; }
a:visited { color: #800080; }
a:hover, a:focus, a:active { color: #191970; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }

/* Forms */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover { border-color: #ccc #bbb #aaa; }
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], textarea { color: #666; border: 1px solid #ccc; border-radius: 3px; padding: 3px; }
input[type="text"]:focus, input[type="email"]:focus, textarea:focus { color: #111; }
select { border: 1px solid #ccc; }
textarea { width: 100%; }

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul { left: -999em; top: 0; }
.main-navigation ul ul li:hover > ul, .main-navigation ul ul li.focus > ul { display: block; left: auto; }
.main-navigation ul ul a { width: 200px; }
.main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul { left: auto; }
.main-navigation li { position: relative; }
.main-navigation a { display: block; text-decoration: none; }

.menu-toggle {
	display: none;
}

/* MEDIA QUERY UTAMA DESKTOP */
@media screen and (min-width: 922px) {
	.menu-toggle {
		display: none !important;
	}
	.main-navigation ul {
		display: flex !important;
	}
}

.site-main .comment-navigation, .site-main .posts-navigation, .site-main .post-navigation { margin: 0 0 1.5em; }
.comment-navigation .nav-links, .posts-navigation .nav-links, .post-navigation .nav-links { display: flex; }
.comment-navigation .nav-previous, .posts-navigation .nav-previous, .post-navigation .nav-previous { flex: 1 0 50%; }
.comment-navigation .nav-next, .posts-navigation .nav-next, .post-navigation .nav-next { text-align: end; flex: 1 0 50%; }

/* Posts, Pages, Comments, Widgets, Galleries... */
.sticky { display: block; }
.post, .page { margin: 0 0 1.5em; }
.updated:not(.published) { display: none; }
.page-content, .entry-content, .entry-summary { margin: 1.5em 0 0; }
.page-links { clear: both; margin: 0 0 1.5em; }
.comment-content a { word-wrap: break-word; }
.bypostauthor { display: block; }
.widget { margin: 0 0 1.5em; }
.widget select { max-width: 100%; }
.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley { border: none; margin-bottom: 0; margin-top: 0; padding: 0; }
.custom-logo-link { display: inline-block; }
.wp-caption { margin-bottom: 1.5em; max-width: 100%; }
.wp-caption img[class*="wp-image-"] { display: block; margin-left: auto; margin-right: auto; }
.wp-caption .wp-caption-text { margin: 0.8075em 0; }
.wp-caption-text { text-align: center; }
.gallery { margin-bottom: 1.5em; display: grid; grid-gap: 1.5em; }
.gallery-item { display: inline-block; text-align: center; width: 100%; }
.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.gallery-caption { display: block; }

/* Utilities / Accessibility */
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; clip-path: none; color: #21759b; display: block; font-size: 0.875rem; font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; }
#primary[tabindex="-1"]:focus { outline: 0; }
.alignleft { float: left; margin-right: 1.5em; margin-bottom: 1.5em; }
.alignright { float: right; margin-left: 1.5em; margin-bottom: 1.5em; }
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; margin-bottom: 1.5em; }

/* ==========================================================================
   HEADER LAYOUT ALA ASTRA (DENGAN INTEGRASI VARIABEL CUSTOMIZER FULL)
   ========================================================================== */

.site-header {
    background-color: #ffffff;
    border-bottom: 1px solid #e7e7e7;
    padding: var(--header-pad-top) var(--header-pad-sides) var(--header-pad-bottom) var(--header-pad-sides);
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between; 
    position: sticky;
    top: 0;
    z-index: 9999;
}

/* 1. Kolom Identitas */
.header-col-identity {
    flex-basis: var(--header-identity-width); 
    max-width: var(--header-identity-width);
    flex-shrink: 0;
}

.site-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    font-family: var(--font-title);
    letter-spacing: -0.5px;
}

.site-title a, .site-title a:visited {
    text-decoration: none;
    color: var(--color-title) !important; 
}

/* 2. Kolom Menu Navigasi */
.header-col-menu {
    flex: 1; 
    display: flex;
    align-items: center;
    padding: 0 20px; 
}

.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: var(--menu-align); 
    gap: var(--menu-spacing); 
}

.main-navigation a {
    color: var(--color-menu) !important; 
    font-family: var(--font-menu); 
    text-transform: var(--menu-transform);
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    display: block;
    padding: var(--menu-padding-y) 0; 
    transition: color 0.2s ease;
}

.main-navigation a:hover {
    color: var(--color-hover) !important;
}

.main-navigation li.current-menu-item > a,
.main-navigation li.current_page_item > a {
    color: var(--color-active) !important;
}

/* 3. Kolom Tombol CTA */
.header-col-button {
    flex-basis: var(--header-button-width);
    max-width: var(--header-button-width);
    flex-shrink: 0; 
    display: flex;
    align-items: center;
    justify-content: flex-end; 
}

.header-cta-button {
    background-color: var(--btn-bg);
    color: var(--btn-text);
    border-radius: var(--btn-radius); 
    padding: 12px var(--btn-padding-x); 
    text-decoration: none;
    font-family: var(--font-menu); 
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-block;
    border: 2px solid transparent; 
    text-align: center;
    white-space: nowrap;
}

.header-cta-button:hover {
    background-color: transparent;
    color: var(--btn-bg); 
    border-color: var(--btn-bg); 
    transform: translateY(-2px);
}

/* Penyesuaian khusus layar HP/Tablet (Mobile Version) */
@media screen and (max-width: 921px) {
    .site-header {
        padding: 15px 20px;
        justify-content: space-between; 
        position: relative;
    }
    .header-col-identity { flex-basis: auto; max-width: none; }
    .header-col-menu { flex: none; padding-right: 0; }
    .header-col-button { display: none; }
    
    .main-navigation {
        display: block !important;
        position: static; 
    }

    .main-navigation ul {
        display: none !important;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        background: #ffffff;
        box-shadow: 0 10px 15px rgba(0,0,0,0.05);
        padding: 10px 0;
        z-index: 99999;
    }

    .main-navigation.toggled ul {
        display: flex !important;
    }

    .main-navigation a {
        padding: 15px 20px;
        border-bottom: 1px solid #f7f7f7;
    }
}