/*
Theme Name: Searchys
Theme URI: https://searchys.com
Author: Searchys
Author URI: https://searchys.com
Description: A super lightweight theme built for speed and comfort.
Version: 2.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: searchys
Tags: flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images
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.
*/

/*********************************************************
    THEME COLOR VARIABLES (LIGHT & DARK MODE)
*********************************************************/
:root {
  --background: #ffffff; /* Body background */
  --text: #333333;       /* Default text color */
  --link: #0073aa;       /* Link color */
  --border-color: #dddddd; /* For general borders */
  --header-bg: #f1f1f1;    /* Header background */
  --accent-color: #0073aa; /* Accent color for elements like blockquote borders */
  --button-bg: #0073aa;    /* Button background color */
  --button-text-color: #ffffff; /* Button text color */
  --card-bg: #f9f9f9;      /* Post card, etc. background */
  --card-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); /* Shadow for cards in light mode */
  --nav-text: var(--text); /* Navigation text color for light mode */
}

@media (prefers-color-scheme: dark) {
  :root {
    --background: #1e1e1e;
    --text: #e0e0e0;
    --link: #58a6ff;
    --border-color: #444444;
    --header-bg: #2d2d2d;
    --accent-color: #58a6ff; /* Accent color for dark mode */
    --button-bg: #58a6ff;    /* Button background for dark mode */
    --button-text-color: #1e1e1e; /* Button text for dark mode (dark text on light button) */
    --nav-text: var(--text); /* Navigation text color for dark mode */ 
    --card-bg: #3c3c3c;      /* Post card background for dark mode */
    --card-shadow: 0 4px 10px rgba(0, 0, 0, 0.25); /* Shadow for cards in dark mode */
  }

  /* Optional: Add subtle filter to images in dark mode if they appear too bright */
  /* 
  img {
    filter: brightness(.85) contrast(1.05);
  }
  */
}

/*********************************************************
    RESET
*********************************************************/
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section{display: block;}
[tabindex="-1"]:focus{outline: 0 !important;}
input[type="radio"], input[type="checkbox"]{box-sizing: border-box; padding: 0;}
button, html [type="button"], [type="reset"], [type="submit"]{appearance: button; -webkit-appearance: button;}
input, select, optgroup, textarea{margin: 0; font-family: inherit; font-size: inherit; line-height: inherit;}
table{border-collapse: collapse;}
fieldset{border: none; padding: 0;}
input[type="text"], input[type="password"], textarea, select {outline: none;}


/*********************************************************
    GLOBAL
*********************************************************/
img {
    max-width: 100%;
    height: auto;
    display: block; /* Prevents bottom margin/space issues */
}

section {
    width: 100%;
    box-sizing: border-box;
}

html{font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -ms-overflow-style: scrollbar; -webkit-tap-highlight-color: transparent; margin: 0; padding: 0; width: 100%; min-height: 100%; height: 100%; overflow-x: hidden;}
body{font-family: var(--body); font-size: 1.15rem; line-height: 1.6; color: var(--text); text-align: left; background-color: var(--background); -webkit-font-smoothing: antialiased; text-shadow: 1px 1px 1px rgba(0,0,0,0.004); position: relative; text-rendering: optimizelegibility; -moz-osx-font-smoothing: grayscale; font-feature-settings: "liga"; -moz-font-feature-settings: "liga"; min-height: 100%; height: 100%; padding: 0; margin: 0; overflow-x: hidden;}
@-ms-viewport{width: device-width;}

/*********************************************************
    GRID SYSTEM (Plain CSS Replacement)
*********************************************************/
.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box; /* Ensures padding is included within the 100% width */
}

@media (min-width: 576px) {
    .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}

/* The existing style.css has:
@media (max-width: 991.99px){
  .container{max-width: 100%;}
}
This will override the 960px width below, making it 100% for tablets.
For desktops >= 992px, it will be 960px, and for large desktops >= 1200px, it will be 1140px.
This matches the requirement to maintain appearance, assuming this interaction was intended.
*/

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px; /* Counteract column padding */
    margin-left: -15px;  /* Counteract column padding */
}

/* Default column behavior (stacks on mobile) */
.col-md,
.col-md-2,
.col-md-4 {
    position: relative; /* For positioning context if needed */
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

@media (min-width: 768px) {
    .col-md {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }
    .col-md-2 {
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
    .col-md-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
}

/* Flexbox alignment utilities */
.align-items-center {
    align-items: center !important;
}

.justify-content-center {
    justify-content: center !important;
}

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.no-gutters > .col-md,
.no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

/* Article Clearfix for Plugin Content */
article.article::after {
  content: "";
  clear: both;
  display: table;
}

/* Footer Clearfix for Plugin Compatibility */
footer.footer::after {
  content: "";
  clear: both;
  display: table;
}

/* End GRID SYSTEM */



/*********************************************************
    ASSETS
*********************************************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6{font-family: var(--headline); font-weight: 800; line-height: 1.25; margin-top: 0; margin-bottom: 0.5rem;}
h1, .h1{font-size: 3.5rem; letter-spacing: -2px;}
h2, .h2{font-size: 2.75rem; letter-spacing: -2px;}
h3, .h3{font-size: 2rem; letter-spacing: -1px;}
h4, .h4{font-size: 1.25rem; letter-spacing: -1px;}
a{color: var(--link); outline: none; transition: 0.2s ease; text-decoration: none;}
.underline{text-decoration: underline !important;}
.no-underline{text-decoration: none !important;}
.text-left{text-align: left !important;}
.text-right{text-align: right !important;}
.text-center{text-align: center !important;}
.small{font-size: 0.9rem !important; line-height: 1.5 !important;}
.circle{border-radius: 50rem !important;}
.border{border: 1px solid var(--border-color) !important;}
.muted{opacity: 0.75;}
.shadow{box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.20);}
.rounded{border-radius: 0.25rem !important;}

/*********************************************************
    COLORS
*********************************************************/
:root{
    --black: #222222;
    --white: #FFFFFF;
    --gray: #DDDDDD;
    --dark-gray: #666666;
    --red: #CC3333;
    --orange: #F6BD60;
    --yellow: #FFD700;
    --green: #33CC99 ;
    --blue: #529ECC;
    --purple: #5E36CA;
    --pink: #FF3399;
}

.black .black a{color: var(--black) !important;}
.black-bg{background-color: var(--black) !important;}

.white, .white a{color: var(--white) !important;}
.white-bg{background-color: var(--white) !important;}

.gray, .gray a{color: var(--gray) !important;}
.gray-bg{background-color: var(--gray) !important;}

.dark-gray, .dark-gray a{color: var(--dark-gray) !important;}
.dark-gray-bg{background-color: var(--dark-gray) !important;}

.red, .red a{color: var(--red) !important;}
.red-bg{background-color: var(--red) !important;}

.orange, .orange a{color: var(--orange) !important;}
.orange-bg{background-color: var(--orange) !important;}

.yellow, .yellow a{color: var(--yellow) !important;}
.yellow-bg{background-color: var(--yellow) !important;}

.green, .green a{color: var(--green) !important;}
.green-bg{background-color: var(--green) !important;}

.blue, .green a{color: var(--blue) !important;}
.blue-bg{background-color: var(--blue) !important;}

.purple, .purple a{color: var(--purple) !important;}
.purple-bg{background-color: var(--purple) !important;}

.pink, .pink a{color: var(--pink) !important;}
.pink-bg{background-color: var(--pink) !important;}

.primary, .primary a{color: var(--primary) !important;}
.primary-bg{background-color: var(--primary) !important;}

.secondary, .secondary a{color: var(--secondary) !important;}
.secondary-bg{background-color: var(--secondary) !important;}

.btn-text, .btn-text a{color: var(--button-text) !important;}
.nav-text, .nav-text a{color: var(--nav-text);}
.body-text, .body-text a{color: var(--text);}

/*********************************************************
    HOVERS
*********************************************************/
.hover-mute:hover{opacity: 0.75;}
.hover-dip:hover{transform: translateY(5px);}
.hover-glow:hover{text-shadow: 0 0 10px #fff!important;}


/*********************************************************
    HELPERS
*********************************************************/
.img-fluid{max-width: 100%; height: auto;}
.min-height{min-height: 1000px;}
.container-800{max-width: 800px; margin: auto;}
.w-100{width: 100%;}

.p-0{padding: 0rem !important;}
.p-1{padding: 0.25rem !important;}
.p-2{padding: 0.5rem !important;}
.p-3{padding: 1rem !important;}
.p-4{padding: 2rem !important;}
.p-5{padding: 3rem !important;}

.px-0{padding-left: 0rem !important; padding-right: 0rem !important;}
.px-1{padding-left: 0.25rem !important; padding-right: 0.25rem !important;}
.px-2{padding-left: 0.5rem !important; padding-right: 0.5rem !important;}
.px-3{padding-left: 1rem !important; padding-right: 1rem !important;}
.px-4{padding-left: 2rem !important; padding-right: 2rem !important;}
.px-5{padding-left: 3rem !important; padding-right: 3rem !important;}

.py-0{padding-top: 0rem !important; padding-bottom: 0rem !important;}
.py-1{padding-top: 0.25rem !important; padding-bottom: 0.25rem !important;}
.py-2{padding-top: 0.5rem !important; padding-bottom: 0.5rem !important;}
.py-3{padding-top: 1rem !important; padding-bottom: 1rem !important;}
.py-4{padding-top: 2rem !important; padding-bottom: 2rem !important;}
.py-5{padding-top: 3rem !important; padding-bottom: 3rem !important;}

.pb-0{padding-bottom: 0rem !important;}
.pb-1{padding-bottom: 0.25rem !important;}
.pb-2{padding-bottom: 0.5rem !important;}
.pb-3{padding-bottom: 1rem !important;}
.pb-4{padding-bottom: 2rem !important;}
.pb-5{padding-bottom: 3rem !important;}

.pt-0{padding-top: 0rem !important;}
.pt-1{padding-top: 0.25rem !important;}
.pt-2{padding-top: 0.5rem !important;}
.pt-3{padding-top: 1rem !important;}
.pt-4{padding-top: 2rem !important;}
.pt-5{padding-top: 3rem !important;}

.m-0{margin: 0rem !important;}
.m-1{margin: 0.25rem !important;}
.m-2{margin: 0.5rem !important;}
.m-3{margin: 1rem !important;}
.m-4{margin: 2rem !important;}
.m-5{margin: 3rem !important;}

.mx-0{margin-left: 0rem !important; margin-right: 0rem !important;}
.mx-1{margin-left: 0.25rem !important; margin-right: 0.25rem !important;}
.mx-2{margin-left: 0.5rem !important; margin-right: 0.5rem !important;}
.mx-3{margin-left: 1rem !important; margin-right: 1rem !important;}
.mx-4{margin-left: 2rem !important; margin-right: 2rem !important;}
.mx-5{margin-left: 3rem !important; margin-right: 3rem !important;}

.my-0{margin-top: 0rem !important; margin-bottom: 0rem !important;}
.my-1{margin-top: 0.25rem !important; margin-bottom: 0.25rem !important;}
.my-2{margin-top: 0.5rem !important; margin-bottom: 0.5rem !important;}
.my-3{margin-top: 1rem !important; margin-bottom: 1rem !important;}
.my-4{margin-top: 2rem !important; margin-bottom: 2rem !important;}
.my-5{margin-top: 3rem !important; margin-bottom: 3rem !important;}

.mb-0{margin-bottom: 0rem !important;}
.mb-1{margin-bottom: 0.25rem !important;}
.mb-2{margin-bottom: 0.5rem !important;}
.mb-3{margin-bottom: 1rem !important;}
.mb-4{margin-bottom: 2rem !important;}
.mb-5{margin-bottom: 3rem !important;}

.mt-0{margin-top: 0rem !important;}
.mt-1{margin-top: 0.25rem !important;}
.mt-2{margin-top: 0.5rem !important;}
.mt-3{margin-top: 1rem !important;}
.mt-4{margin-top: 2rem !important;}
.mt-5{margin-top: 3rem !important;}


/*********************************************************
    FORMS
*********************************************************/
.btn{display: inline-block; font-weight: 800; text-align: center; white-space: normal; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; border: 1px solid transparent; padding: 1.25rem 1.5rem; font-size: 1.5rem; line-height: 1; transition: 0.2s ease; margin: 0 0 0.5rem 0; text-decoration: none; letter-spacing: -0.04rem; cursor: pointer; font-family: var(--headline); font-weight: 800; appearance: none; -webkit-appearance: none; background-color: var(--button-bg); color: var(--button-text-color);}
.btn:hover, .btn:focus{box-shadow: none; opacity: 1 !important;}
.btn-sm{font-size: 0.9rem; padding: 0.75rem 1rem; margin: 0;}
.form-control{display: block; width: 100%; padding: 0.3rem 0.75rem; color: var(--text); background-color: var(--card-bg); background-clip: padding-box; border: 1px solid var(--border-color); transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;}
.form-group{margin-bottom: 1rem;}


/*********************************************************
    HEADER
*********************************************************/
.header{padding: 0.5rem 0; font-size: 1rem; font-family: var(--headline); font-weight: 800; background-color: var(--header-bg);}
.header .logo{width: 100%; max-width: 200px;}
.header .menu{list-style: none; margin: 0; padding: 0;}
.header .menu li{display: inline-flex; padding: 0 1rem;}
.header .menu li:first-child{padding-left: 0;}
.header .menu li:last-child{padding-right: 0;}



/*********************************************************
    HOMEPAGE
*********************************************************/
.post-card{position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; min-width: 0; word-wrap: break-word; background-clip: border-box; 
    padding: 1rem;
    transition: 0.2s ease; margin-bottom: 1.5rem; /* Card Styling Re-applied */ background-color: var(--card-bg); border-radius: 12px; box-shadow: var(--card-shadow); margin-top: 0.5rem; box-sizing: border-box; /* Ensures padding/border are within element's total width/height */ width: 100%; /* Ensures card takes full width of its column's content area */}
.post-card:hover{transform: translateY(5px);}


/*********************************************************
    ARTICLE
*********************************************************/
.article{width: 100%; max-width: 800px; margin: auto;}
.article a{text-decoration: underline;}
.article p{margin-top: 0; margin-bottom: 2.5rem;}
.article ol,ul,dl{margin-top: 0; margin-bottom: 2rem;}
.article ol ol,ul ul,ol ul,ul ol{margin-bottom: 0;}
.article li{margin-bottom: 0.25rem;}
.article iframe{margin-bottom: 2rem; width: 100%; max-width: 100%;}
.article blockquote{padding-left: 2.5rem; margin: 0; color: var(--text); opacity: 0.75; border-left: 5px solid var(--accent-color); font-style: italic; font-family: var(--text);}

/*********************************************************
    WORDPRESS
*********************************************************/
.alignnone{margin: 0; max-width: 100%; height: auto;}
.aligncenter, div.aligncenter{display: block; margin: auto; max-width: 100%; height: auto;}
.alignright{float: right; margin: 0 0 20px 20px; max-width: 100%; height: auto;}
.alignleft{float:left; margin: 0 20px 20px 0; max-width: 100%; height: auto;}
a img.alignright{float: right; margin: 0 0 20px 20px; max-width: 100%; height: auto;}
a img.alignnone{max-width: 100%; width: 100%; height: auto;}
a img.alignleft{float: left; margin: 0 20px 20px 0; max-width: 100%; height: auto;}
a img.aligncenter{display: block; margin: auto; max-width: 100%; height: auto;}
.wp-caption{background: none; border: none; max-width: 100%; text-align: left; margin: 0 0 40px 0 !important;}
.wp-caption.alignnone{margin: 0 0 40px 0;}
.wp-caption.alignleft{margin: 5px 20px 20px 0;}
.wp-caption.alignright{margin: 5px 0 20px 20px;}
.wp-caption img{border: 0 none; height: auto; margin: 0; max-width: 100%; padding: 0; width: 100%;}
.wp-caption p.wp-caption-text{font-size: 11px; line-height: 11px; padding: 0;  margin: 0px !important;}
.wp-block-image{margin: 0 0 2.5rem 0;}
.wp-block-image img{max-width: 100%; width: 100%; height: auto;}


/*********************************************************
    RESPONSIVE
*********************************************************/
@media (max-width: 1199.98px){ 
}

@media (max-width: 991.99px){
  .container{max-width: 100%;}
  .text-lg-center{text-align: center !important;}
}

@media (max-width: 767.98px){
  .text-md-center{text-align: center !important;}
  h1, .h1{font-size: 2.5rem;}
  h2, .h2{font-size: 2rem;}
  h3, .h3{font-size: 1.5rem;}
  .btn{font-size: 1rem; line-height: 1;}

  .header .logo {
    margin-left: auto;
    margin-right: auto;
  }

  /* Mobile Post Card Adjustments */
  .post-card {
    padding: 0.75rem; /* Slightly reduce padding for smaller screens */
    margin-bottom: 1rem; /* Add some space between stacked cards */
  }
  .post-card .img-fluid {
    margin-bottom: 0.75rem; /* Space between image and title */
  }
  .post-card h4 {
    font-size: 1.1rem; /* Adjust title font size for mobile */
    line-height: 1.3;
    margin-bottom: 0.5rem;
    text-align: left; /* Ensure titles are left-aligned or as per design */
  }
  .post-card p.small {
    font-size: 0.85rem; /* Adjust excerpt font size for mobile */
    line-height: 1.5;
    text-align: left; /* Ensure text is left-aligned or as per design */
  }
}

@media (max-width: 575.99px){
  .header{font-size: 0.75rem;}
}

/* Pagination Styling - New Version */
.pagination-container {
    margin-top: 2rem;
    margin-bottom: 2rem;
    text-align: center; /* Ensures the whole block is centered */
}

.page-numbers {
    display: inline-block;
    padding: 0.65em 1em; /* Adjust for desired size, em units scale with font-size */
    margin: 0 0.2em;     /* Slightly reduced margin */
    border: 1px solid var(--border-color);
    border-radius: 6px;  /* Slightly more rounded corners like the image */
    color: var(--text-color); /* Default text color for numbers */
    background-color: transparent; /* Default transparent background */
    text-decoration: none;
    font-size: 0.9rem; /* Slightly smaller font if needed */
    line-height: 1;    /* Ensure consistent height */
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

/* Style for 'Prev' and 'Next' text links if they are part of .page-numbers */
.page-numbers.prev,
.page-numbers.next {
    color: var(--link-color); /* Make Prev/Next look more like links */
}

/* Hover state for non-current page numbers */
.page-numbers:not(.current):not(.dots):hover {
    background-color: var(--border-color); /* Subtle background on hover */
    border-color: var(--border-color); /* Match border to background or keep theme border */
    color: var(--link-color); /* Change text to link color on hover */
}

/* Current page style */
.page-numbers.current {
    background-color: var(--link-color); /* Theme's link color for background */
    color: var(--button-text-color);    /* Contrasting text color */
    border-color: var(--link-color);       /* Border matches background */
    font-weight: bold;
}

/* Dots style */
.page-numbers.dots {
    border: none;
    background-color: transparent;
    color: var(--text-color);
    padding-left: 0.5em; /* Adjust spacing for dots */
    padding-right: 0.5em;
}
