/*
Theme Name: Godhuli
Theme URI:
Author: Imtiaz Shamim
Author URI: https://imtiazshamim.com/
Description: Minimal, fast, and responsive WordPress blog theme with flexible layouts, custom widgets, and full Customizer support—perfect for modern bloggers.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.9.4
Requires PHP: 7.4
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: godhuli
Tags: blog, one-column, two-columns, three-columns, right-sidebar, custom-background, custom-logo, custom-colors, custom-header, custom-menu, featured-images, full-width-template, sticky-post, theme-options, threaded-comments, editor-style, 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 with others.

Godhuli is based on Underscores https://underscores.me/, (C) 2012-2017 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:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Nav collapse / menus
# Accessibility
# Alignments
# Clearings
# Content
	## Media / Captions
	## Galleries
--------------------------------------------------------------*/

/* ═══════════════════════════════════════════════════════════════
   NORMALIZE  (light; modern browsers don't need heavy resets)
═══════════════════════════════════════════════════════════════ */

body {
  margin: 0;
}

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

/* Monospace elements */
pre,
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;
}

em,
i,
q,
dfn,
dfn,
cite {
  font-style: italic;
}

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

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

progress {
  vertical-align: baseline;
}
details {
  display: block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none;
}

/* ═══════════════════════════════════════════════════════════════
   TYPOGRAPHY
═══════════════════════════════════════════════════════════════ */

/* Code blocks */
pre {
  background: var(--color-bg-footer); /* #eee */
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: var(--text-md); /* 15px / 0.9375rem */
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 750px;
  width: 100%;
  overflow: auto;
  padding: 1.6em 15px; /* consolidated from two !important rules */
}

/* Inline code */
code,
kbd,
tt,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: var(--text-md); /* 15px / 0.9375rem */
  margin: 15px 0;
  display: block;
}

abbr,
acronym {
  border-bottom: 1px dotted var(--color-muted-dark);
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 150%;
}

figcaption {
  font-weight: var(--font-weight-light);
  font-size: var(--text-base); /* 14px */
  font-style: italic;
}

/* ═══════════════════════════════════════════════════════════════
   ELEMENTS
═══════════════════════════════════════════════════════════════ */

html {
  box-sizing: border-box;
}

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

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

/* ═══════════════════════════════════════════════════════════════
   FORMS — base button & input styles
   (overridden by blocks.css / main.css for specific components)
═══════════════════════════════════════════════════════════════ */

[type="reset"],
[type="submit"],
button,
html [type="button"] {
  background: var(--color-primary);
  color: var(--color-white);
  border: 1px solid var(--color-primary);
  padding-right: 20px;
  padding-left: 20px;
}

[type="reset"]:hover,
[type="submit"]:hover,
[type="reset"]:focus,
[type="submit"]:focus,
html [type="button"]:hover,
html [type="button"]:focus {
  opacity: 0.8;
}

input {
  border: 1px solid #bdbdbd;
  border-radius: 3px;
  padding: 8px 5px;
}

/* ═══════════════════════════════════════════════════════════════
   ACCESSIBILITY
═══════════════════════════════════════════════════════════════ */

/* Text hidden visually but readable by screen readers */
.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;
}

/* Skip link — revealed on focus */
.screen-reader-text:focus {
  background-color: var(--color-primary);
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(221, 221, 221, 0.6);
  clip: auto !important;
  clip-path: none;
  color: var(--color-white);
  display: block;
  font-size: var(--text-base); /* 14px */
  font-weight: var(--font-weight-semibold);
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 10px 23px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Skip link shadow when logged in (admin bar offset) */
.logged-in .site .skip-link {
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
  font-family: var(--font-body);
}

/* Do not show the outline on the skip link target */
#content[tabindex="-1"]:focus {
  outline: 0;
}

/* ═══════════════════════════════════════════════════════════════
   ALIGNMENTS
═══════════════════════════════════════════════════════════════ */

.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
  text-align: left;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
  text-align: right;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* ═══════════════════════════════════════════════════════════════
   CLEARINGS  (micro-clearfix)
═══════════════════════════════════════════════════════════════ */

.clear::before,
.clear::after,
.entry-content::before,
.entry-content::after,
.comment-content::before,
.comment-content::after,
.site-header::before,
.site-header::after,
.site-content::before,
.site-content::after,
.site-footer::before,
.site-footer::after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear::after,
.entry-content::after,
.comment-content::after,
.site-header::after,
.site-content::after,
.site-footer::after {
  clear: both;
}

/* ═══════════════════════════════════════════════════════════════
   CONTENT — MEDIA
═══════════════════════════════════════════════════════════════ */

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Embeds & iframes fit their containers */
embed,
iframe,
object {
  max-width: 100%;
}

/* ═══════════════════════════════════════════════════════════════
   CAPTIONS
═══════════════════════════════════════════════════════════════ */

.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;
  font-size: var(--text-base); /* 14px */
  color: #797979;
}

.wp-caption-text {
  text-align: center;
}

.bypostauthor {
  display: block;
}

/* ═══════════════════════════════════════════════════════════════
   GALLERIES
═══════════════════════════════════════════════════════════════ */

.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

/* Gallery column max-widths */
.gallery-columns-2 .gallery-item {
  max-width: 44%;
}
.gallery-columns-3 .gallery-item {
  max-width: 31%;
}
.gallery-columns-4 .gallery-item {
  max-width: 22%;
}
.gallery-columns-5 .gallery-item {
  max-width: 20%;
}
.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}
.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}
.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}
.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

/* Sidebar gallery overrides */
.sidebar .gallery-columns-1 figure.gallery-item {
  margin: 8px 0;
}
.sidebar .gallery-columns-2 .gallery-item {
  max-width: 44%;
}
.sidebar .gallery-columns-3 .gallery-item {
  max-width: 27%;
}
.sidebar .gallery-columns-4 .gallery-item {
  max-width: 19%;
}
.sidebar .gallery-columns-5 .gallery-item {
  max-width: 14%;
}

.gallery-caption {
  display: block;
}

/* ═══════════════════════════════════════════════════════════════
   NAVIGATION — nav-collapse (responsive menu library)
═══════════════════════════════════════════════════════════════ */

.nav-collapse ul,
.nav-collapse {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
  list-style: none;
  font-family: var(--font-body);
  text-align: center;
}

.nav-collapse,
.nav-collapse * {
  box-sizing: border-box; /* dropped vendor-prefixed -moz- / -webkit- versions */
}

.nav-collapse,
.nav-collapse ul {
  user-select: none; /* consolidated from 4 vendor-prefixed declarations */
}

.nav-collapse li {
  width: 100%;
  display: block;
}

.js .nav-collapse {
  clip: rect(0 0 0 0);
  max-height: 0;
  position: absolute;
  display: block;
  overflow: hidden;
}

.nav-collapse.opened {
  max-height: 9999px;
}

.nav-collapse > ul {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

/* Nav links — mobile default */
.nav-collapse a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  color: var(--color-heading);
  float: left;
  padding: 0.9em 1.1em;
  text-decoration: none;
  width: 100%;
  font-size: var(--text-body); /* 16px */
}

/* Nav toggle button */
.nav-toggle {
  border: 1px solid var(--color-white);
  color: var(--color-heading);
  font-size: 2rem;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  user-select: none; /* dropped 4 vendor-prefixed versions */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  float: right;
  line-height: 40px;
  padding: 0 0.2em;
  margin-top: 7px;
  margin-right: 0;
  background: var(--color-white);
  cursor: pointer;
  z-index: var(--z-block); /* 999 */
}

/* Dropdown list items */
.dropdown ul a {
  background: var(--color-white);
  padding-left: 1.5em;
}

.dropdown ul ul a {
  padding-left: 2.5em;
}

.dropdown ul ul {
  border: 0;
  padding: 0;
}

.dropdown .dropdown.opened .has-dropdown {
  background: #9c2c12; /* unique one-off, kept as-is */
}

/* ── Desktop nav (≥ 65em) ─────────────────────────────────────── */

@media screen and (min-width: 65em) {
  /* Show the nav, hide the toggle */
  .js .nav-collapse {
    position: relative;
    max-height: none;
    overflow: visible;
  }

  .js .nav-collapse.closed {
    max-height: none;
  }

  .nav-toggle,
  .dropdown-toggle {
    display: none;
  }

  .js .nav-collapse,
  .js .nav-collapse .dropdown ul {
    max-height: none;
    overflow: visible;
  }

  .nav-collapse {
    position: relative;
  }

  /* Inline list items */
  .nav-collapse li {
    border: 0;
    display: inline-block;
    height: 50px;
    line-height: 55px;
    position: relative;
    padding: 0 5px;
    width: auto;
  }

  .nav-collapse li li {
    border: 0;
    display: block;
    height: auto;
    line-height: 1.0909090909;
  }

  /* Desktop nav links */
  .nav-collapse a {
    border-bottom: 0;
    border-right: 1px solid var(--color-white);
    padding: 0 8px;
    margin: 0;
    float: left;
    text-align: center;
  }

  .nav-collapse li:first-child a {
    border-left: 1px solid var(--color-white);
  }

  /* Active item */
  .nav-collapse ul li.active > a {
    color: var(--color-primary);
  }

  /* Dropdown chevron indicator */
  .has-dropdown::after {
    content: "";
    border: solid;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 25px;
  }

  /* Nested dropdown arrow */
  .dropdown ul > .has-dropdown::after {
    content: "";
    width: 0;
    height: 0;
    margin: 0.3em 0 0 0.5em;
    border-bottom: 6px solid transparent;
    border-top: 6px solid transparent;
    border-left: 6px solid var(--color-heading);
  }

  /* Nested dropdown label */
  .nav-collapse ul li.dropdown ul li.dropdown > a::after {
    content: ">";
    width: 1px;
    height: 1px;
    margin: 0.3em 0 0 0.5em;
    float: right;
  }

  /* Dropdown container */
  .nav-collapse .dropdown {
    position: relative;
  }

  .nav-collapse .dropdown li {
    width: 100%;
  }

  .nav-collapse .dropdown ul a {
    text-align: left;
    border: 0;
  }

  /* Dropdown panel */
  .nav-collapse ul ul {
    margin: 0;
    position: absolute;
    top: 85px;
    left: -999em;
    z-index: 99999;
    text-align: center;
    box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1);
    min-width: 250px;
    padding: 8px 0;
    background: var(--color-white);
  }

  .nav-collapse ul ul ul {
    left: -999em;
    top: 20px;
  }

  .nav-collapse ul ul a {
    padding: 8px 15px;
    white-space: normal;
    min-width: 240px;
    line-height: 1.5em;
  }

  /* Open dropdown on hover / focus */
  .nav-collapse ul li:hover > ul,
  .nav-collapse ul li.focus > ul {
    top: 57px;
    left: 50%;
    margin-left: -75px;
  }

  .nav-collapse ul ul li:hover > ul,
  .nav-collapse ul ul li.focus > ul {
    top: 0;
    left: 0;
    margin-left: 150px;
  }
}

/* ── Mobile nav (< 65em) ──────────────────────────────────────── */

@media screen and (max-width: 65em) {
  .js .nav-collapse {
    visibility: hidden;
  }

  .js .nav-collapse.opened {
    visibility: visible;
    background: #fbfbfb;
  }

  /* Allow dropdown-active to override max-height clipping */
  .js .nav-collapse.multiple-level-nav.opened.dropdown-active {
    max-height: 9999px !important;
  }

  /* Sub-menus hidden by default */
  .js .nav-collapse.multiple-level-nav .sub-menu {
    clip: rect(0 0 0 0);
    max-height: 0;
    position: absolute;
    display: none;
    overflow: hidden;
  }

  /* Sub-menu open state */
  .js .nav-collapse.multiple-level-nav .sub-menu.toggled {
    display: block;
    max-height: 9999px;
    position: relative;
  }

  .js .nav-collapse.multiple-level-nav .sub-menu.toggled li > a {
    background: #f7f7f7;
  }

  .js .nav-collapse.multiple-level-nav .sub-menu.toggled li ul li > a {
    background: #eceaea;
  }

  .js .nav-collapse li {
    position: relative;
    float: left;
  }

  /* Mobile dropdown toggle button */
  .js .nav-collapse .dropdown-toggle {
    border: 1px solid var(--color-heading);
    color: var(--color-heading) !important;
    height: 30px;
    width: 30px;
    padding: 0;
    position: absolute;
    margin: 0;
    text-transform: lowercase;
    top: 0.6em;
    right: 4%;
    background: var(--color-white);
  }

  .js .nav-collapse button.dropdown-toggle::after {
    content: "+";
    font-size: 20px;
  }

  .js .nav-collapse .dropdown-toggle.toggled::after {
    content: "-";
  }

  /* Dropdown toggle hover/focus — uses primary color */
  .js .nav-collapse .dropdown-toggle:hover,
  .js .nav-collapse .dropdown-toggle:focus,
  .js .nav-collapse .dropdown-toggle:active {
    background-color: var(--color-primary);
    color: var(--color-white) !important;
    cursor: pointer;
    border: 1px solid var(--color-primary-hover);
  }
}
