/* === Global color palette === */
:root {
  --bs-primary: rgb(204, 51, 0);
  --bs-primary-rgb: 204, 51, 0;
  --bs-link-color: rgb(204, 51, 0);
  --bs-link-hover-color: rgb(253, 83, 83);
}

/* === General links === */
a:link, a:visited {
  color: rgb(204, 51, 0);
  text-decoration: none;
}

a:hover, a:focus, a:active {
  color: rgb(253, 83, 83);
  text-decoration: underline;
}

/* === Navbar (Bootscore nav links) === */
.navbar .nav-link {
  color: rgb(204, 51, 0) !important;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus {
  color: rgb(253, 83, 83) !important;
}
.navbar .nav-link.active,
.navbar .current-menu-item > .nav-link,
.navbar .current_page_item > .nav-link {
  color: rgb(253, 83, 83) !important;
  background-color: transparent !important;
}

/* === Breadcrumbs === */
.breadcrumb a,
.breadcrumb .breadcrumb-item a {
  color: rgb(204, 51, 0);
}
.breadcrumb a:hover,
.breadcrumb .breadcrumb-item a:hover {
  color: rgb(253, 83, 83);
  text-decoration: underline;
}
.breadcrumb-item + .breadcrumb-item::before {
  color: rgb(204, 51, 0);
}
.breadcrumb-item.active {
  color: rgb(253, 83, 83);
}

/* === Buttons === */
.btn-primary,
a.btn-primary,
button, 
button.btn-primary,
button.btn-close,
input[type="submit"],
input[type="button"] {
  background-color: rgb(204, 51, 0) !important;
  border-color: rgb(204, 51, 0) !important;
  color: #fff !important;
  padding: 0.3rem;
}

.btn-primary:hover,
a.btn-primary:hover,
button.btn-close:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  background-color: rgb(253, 83, 83) !important;
  border-color: rgb(253, 83, 83) !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* Optional: for outline buttons */
.btn-outline-primary {
  color: rgb(204, 51, 0);
  border-color: rgb(204, 51, 0);
}
.btn-outline-primary:hover {
  background-color: rgb(204, 51, 0);
  border-color: rgb(204, 51, 0);
  color: #fff;
}


/* Desktop: break the main menu after the 4th item */
@media (min-width: 992px) {
  /* allow wrapping inside the ul */
  .navbar-nav {
    flex-wrap: wrap;
  }

  /* Put items 1..4 on the first row */
  .navbar-nav > .nav-item:nth-child(-n+4) {
    order: 0;
  }

  /* Force a line break after the 4th item */
  .navbar-nav::after {
    content: "";
    order: 1;
    flex-basis: 100%;   /* this creates the “newline” */
    width: 0;           /* no visual width, just the break */
  }

  /* Items 5+ go after the break */
  .navbar-nav > .nav-item:nth-child(n+5) {
    order: 2;
  }
}

/* 1) Make the offcanvas sidebar behave like a normal block at ≥lg */
@media (min-width: 992px) {
  #secondary .offcanvas-lg {
    position: static;      /* redundant but explicit */
    transform: none;
    visibility: visible !important;
    width: 100%;           /* <-- the key line: fill the column */
    max-width: none;
    background-color: transparent;
    border: 0;             /* remove offcanvas border seam */
    padding: 0;            /* optional: kill extra inner padding */
  }

  /* Optional: tighten the gap between the two columns a bit */
  #primary > .row { --bs-gutter-x: 3rem; }  /* or 0 if you want zero gap */
}

/* Safety: ensure images never push layout horizontally */
.entry-content img { max-width: 100%; height: auto; }
.nb-abo-form {
	width: 100%;
}

/* MOBILE: bottom-align the hamburger with the form */
@media (max-width: 991.98px) {        /* <= lg breakpoint */
  #masthead .header-actions {
    display: flex;                    /* ensure flex container */
    align-items: stretch;             /* let children decide their own alignment */
    gap: .5rem;
  }

  /* Make the form block align to its own bottom */
  #masthead .header-actions .nav-search-lg {
    display: flex;                    /* make this a flex item too */
    align-items: flex-end;            /* bottom of the input group */
  }

  /* Put the hamburger at the bottom of the header-actions box */
  #masthead .header-actions .nav-toggler {
    align-self: flex-end;             /* <- this is the key */
    line-height: 1.5;                   /* tidy vertical rhythm */
    height: auto;
  }
}

/* ===== Ksenia Logo Typography ===== */
.logo-ksenia {
  display: flex;
  flex-direction: column;
  line-height: 1;
  text-transform: uppercase;
  font-family: 'Poppins', sans-serif; /* modern, geometric, playful */
}

.logo-ksenia .ksenia-main {
  font-family: 'Quicksand', serif; /* contrasty and elegant */
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #000;
}

.logo-ksenia .ksenia-sub {
  font-size: 1.1rem;
  font-style: italic;
  text-transform: none;
  color: #444;
  margin-top: 0.2rem;
}

/* Responsive scaling */
@media (max-width: 767.98px) {
  .logo-ksenia .ksenia-main {
    font-size: 1.6rem;
  }
  .logo-ksenia .ksenia-sub {
    font-size: 1rem;
  }
}


/* Events list fine-tuning */
.list-events .list-group-item { position: relative; }
.list-events .title { margin-bottom: .25rem; }
.list-events .dateplace { line-height: 1.2; }           /* compact two lines */
.list-events .btn-tickets { position: relative; z-index: 3; } /* sits above stretched-link overlay */
.list-events .btn-tickets { white-space: nowrap; }      /* never wrap “Tickets” */

.list-group-item {
  transition: all 0.2s ease-in-out;
}

.list-group-item:hover {
  background-color: #f8f9fa;       /* light gray background */
  transform: translateY(-1px);     /* subtle lift effect */
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  text-decoration: none;           /* remove underline from link text */
}

.list-group-item:hover h6,
.list-group-item:hover p {
  color: #8B0000;                  /* optional: dark red accent on hover */
}
.list-events .text-muted { white-space: nowrap;}

    a.logo{
      line-height:1;
      display:inline-block;
      color:var(--ink);
      user-select:none;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
    }
    a.logo:hover {  
      text-decoration: none;
    }
    .logo .name{
      display:block;
      letter-spacing: 0.05rem;
      color: #0d0d0d;
      font-size:1.5rem;                /* tweak if you need bigger/smaller */
    }
    .logo .tag{
      display:block;
      font-family:"Cormorant", serif;  /* elegant italic serif like your mark */
      font-style:italic;
      font-weight:600;
      font-size:1.45rem;
      letter-spacing:.01em;
      margin-left:.15ch;               /* tiny offset below the K, like the logo */
      text-transform:none;             /* keep lowercase */
    }


    .logo.monta   .name{ font-family:"Montserrat Alternates", sans-serif;  }



/* Attach this to the Latest Posts block via “Additional CSS class(es)”: bs-latest */

/* Make the UL a CQ container */
.bs-latest.wp-block-latest-posts__list{
  list-style:none;
  margin:0;
  padding:0;
  container-type:inline-size;
  container-name:latest;
}

/* Default: two-column card */
.bs-latest.wp-block-latest-posts__list li{
  display:grid;
  grid-template-columns:84px 1fr;          /* thumb | text */
  grid-template-areas:
    "thumb title"
    "thumb meta";
  column-gap:.75rem;
  row-gap:.25rem;
  align-items:start;
  padding:.75rem;
  margin-bottom:.5rem;
  border:1px solid var(--bs-border-color,#dee2e6);
  border-radius:.5rem;
  background:#fff;
  transition:background-color .15s ease;
}
.bs-latest.wp-block-latest-posts__list li:hover{
  background-color:var(--bs-light,#f8f9fa);
}

/* Thumb */
.bs-latest .wp-block-latest-posts__featured-image{
  grid-area:thumb;
  width:84px;height:84px;margin:0;
}
.bs-latest .wp-block-latest-posts__featured-image img{
  width:100%;height:100%;object-fit:cover;
  border-radius:.5rem;display:block;
}

/* Title + date */
.bs-latest .wp-block-latest-posts__post-title{
  grid-area:title;display:block;font-weight:600;
  line-height:1.25;text-decoration:none;
  color:var(--bs-body-color,#212529);
}
.bs-latest .wp-block-latest-posts__post-title:hover{
  color:var(--bs-primary,#0d6efd);text-decoration:underline;
}
.bs-latest .wp-block-latest-posts__post-date,
.bs-latest time.wp-block-latest-posts__post-date{
  grid-area:meta;color:#6c757d;font-size:.875rem;
}

/* Roomier sidebars: bump thumb a bit */
@container latest (min-width: 360px){
  .bs-latest.wp-block-latest-posts__list li{
    grid-template-columns:96px 1fr;
  }
  .bs-latest .wp-block-latest-posts__featured-image{
    width:96px;height:96px;
  }
}

/* Stack ONLY when column is very narrow */
@container latest (max-width: 250px){
  .bs-latest.wp-block-latest-posts__list li{
    grid-template-columns:1fr;
    grid-template-areas:
      "thumb"
      "title"
      "meta";
  }
  .bs-latest .wp-block-latest-posts__featured-image{
    width:100%;height:140px;   /* banner look */
  }
}

/* Fallback for browsers without container queries */
@supports not (container-type: inline-size){
  @media (max-width: 420px){
    .bs-latest.wp-block-latest-posts__list li{
      grid-template-columns:1fr;
      grid-template-areas:"thumb" "title" "meta";
    }
    .bs-latest .wp-block-latest-posts__featured-image{width:100%;height:140px;}
  }
  @media (min-width: 576px){
    .bs-latest.wp-block-latest-posts__list li{
      grid-template-columns:96px 1fr;
    }
    .bs-latest .wp-block-latest-posts__featured-image{width:96px;height:96px;}
  }
}
