/*
Theme Name: Bootstrap Starter
Theme URI: https://example.com/bootstrap-starter
Author: You
Author URI: https://example.com
Description: A minimal WordPress theme scaffold with Bootstrap 5.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bootstrap-starter
*/

*:not([class*="bi"]):not(.fa) {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* Global link overrides (exclude buttons & nav links) */
a:not(.btn):not(.wp-element-button):not(.nav-link) {
  color: #000 !important;
  text-decoration: none !important;
}

a:not(.btn):not(.wp-element-button):not(.nav-link):hover,
a:not(.btn):not(.wp-element-button):not(.nav-link):focus {
  color: #0d6efd !important;
  text-decoration: underline !important;
}

/* Navbar links */
.navbar a.nav-link {
  color: #000 !important;
}
.navbar a.nav-link:hover,
.navbar a.nav-link:focus {
  color: #0d6efd !important;
}

@media (min-width: 992px) {
  .single-post .col-lg-8 {
    padding-right: 2rem; /* adds space to the right of post content */
  }
  .single-post .col-lg-4 {
    padding-left: 2rem;  /* adds space inside sidebar */
    border-left: 1px solid rgba(0,0,0,.08); /* subtle separator */
  }
}

/* === Full-width hero (header image) === */
.bs-hero img { display:block; width:100%; height:auto; }
@supports (object-fit: cover){
  .bs-hero img { height: 420px; object-fit: cover; }
}
.bs-hero-overlay { pointer-events: none; }
.bs-hero-overlay .container { pointer-events: auto; } /* Keep links clickable if added later */

/* Responsive custom logo in navbar */
.custom-logo { height: 40px; width: auto; }
@media (min-width: 992px) {
  .custom-logo { height: 48px; }
}

/* Restore Bootstrap .container widths only inside main content */
main > .container {
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--bs-gutter-x, .75rem);
  padding-right: var(--bs-gutter-x, .75rem);
  width: 100%;
}

@media (min-width: 576px)  { main > .container { max-width: 540px; } }
@media (min-width: 768px)  { main > .container { max-width: 720px; } }
@media (min-width: 992px)  { main > .container { max-width: 960px; } }
@media (min-width: 1200px) { main > .container { max-width: 1140px; } }
@media (min-width: 1400px) { main > .container { max-width: 1320px; } }

/* First post thumbnail: keep width, crop height from center */
.first-post-thumb {
  display: block;
  width: 100%;
  height: 240px;           /* base height on mobile */
  object-fit: cover;       /* crop */
  object-position: center; /* center focal point */
}

/* Taller crop on larger screens */
@media (min-width: 576px) { .first-post-thumb { height: 260px; } }
@media (min-width: 768px) { .first-post-thumb { height: 280px; } }
@media (min-width: 992px) { .first-post-thumb { height: 300px; } }

/* Recent posts (and similar widget links) with icon + date */
.sidebar .widget li a,
.widget_block li a {
  display: block;
  padding: .35rem .5rem .15rem 1.5rem; /* extra left padding for icon space */
  border-radius: .25rem;
  font-weight: 500;
  color: #000;
  text-decoration: none;
  transition: all .2s ease-in-out;
  position: relative;
}

/* Hover/focus effect */
.sidebar .widget li a:hover,
.widget_block li a:hover {
  background-color: #f1f3f5;
  color: #0d6efd;
}

/* Arrow icon before links */
.sidebar .widget li a::before,
.widget_block li a::before {
  content: "›"; /* simple arrow */
  position: absolute;
  left: .5rem;       /* sits inside the left padding */
  top: 50%;
  transform: translateY(-50%);
  color: #0d6efd;
  font-weight: bold;
  opacity: .8;
  transition: transform .2s;
}

.sidebar .widget li a:hover::before,
.widget_block li a:hover::before {
  transform: translateY(-50%) translateX(3px);
  opacity: 1;
}

/* Date below recent posts */
.widget_recent_entries .post-date,
.widget_block time {
  display: block;
  font-size: .8rem;
  color: #6c757d;
  margin-top: 2px;
}


.sidebar .widget ul,
.widget_block ul {
  list-style: none;   /* removes bullets */
  padding-left: 0;
  margin-bottom: 0;
}

.site-footer { background:#111; color:#bbb; padding:40px 0; }
.site-footer a { color:#ddd; text-decoration:none; }
.site-footer a:hover { color:#fff; }
.footer-inner { max-width:1140px; margin:0 auto; }
.widget-title { color:#fff; font-size:1.05rem; margin-bottom:.75rem; }
