/*
Theme Name: Donovan Child Theme
Theme URI: https://themezee.com/themes/donovan/
Author: Tom Herudek
Author URI: https://tomherudek.com
Description: Donovan is a flexible, yet easy-to-use blogging theme with a clean and modern design. It features an elegant mobile-first design, three different blog layouts and extensive post settings. Donovan is perfect for your personal blog or for any content-focused website.
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: donovan
Template: donovan
Tags: two-columns, blog, news, custom-background, custom-logo, custom-header, custom-menu, grid-layout, entertainment, editor-style, rtl-language-support, featured-image-header, featured-images, flexible-header, custom-colors, full-width-template, sticky-post, threaded-comments, translation-ready, theme-options, one-column, left-sidebar, right-sidebar, three-columns

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.

Donovan 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/
*/

.custom-youtube-player {
    position: relative;
    padding-bottom: 56.23%;
    /* Use 75% for 4:3 videos */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
    margin: 5px;
	margin: 0 0 1em;
}

.custom-youtube-player > div {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    cursor: pointer;
}

.custom-youtube-player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    background: transparent;
}

.custom-youtube-player img {
    bottom: 0;
    display: block;
    left: 0;
    margin: auto;
    max-width: 100%;
    width: 100%;
    position: absolute;
    right: 0;
    top: 0;
    border: none;
    height: auto;
    cursor: pointer;
    -webkit-transition: .4s all;
    -moz-transition: .4s all;
    transition: .4s all;
}

.custom-youtube-player img:hover {
    -webkit-filter: brightness(75%);
}

.custom-youtube-player .play {
    height: 72px;
    width: 72px;
    left: 50%;
    top: 50%;
    margin-left: -36px;
    margin-top: -36px;
    position: absolute;
    background: url("//videos.cctvcamerapros.com/images/youtube/default.png") no-repeat;
    cursor: pointer;
}/*--------------------------------------------------------------                                                      
  # Z-index fix (migrated from parent theme)                
  --------------------------------------------------------------*/
  .site-header {
      z-index: 9999;
  }

  /*--------------------------------------------------------------
  # Custom Footer added by Mike on 11-6-2025
  --------------------------------------------------------------*/

  /* Force identical styling to .archive-description */
  .archive-description + .archive-description {
      margin-top: 1.8rem;
  }

  /* Dashed divider – matches your current intro */
  .tag-description-divider {
      border: 0;
      border-top: 1px dashed #ccc;
      margin: 1.8rem 0;
  }

  /* Ensure links match */
  .archive-description a {
      color: #0066cc;
      text-decoration: underline;
      font-weight: 500;
  }
  .archive-description a:hover {
      color: #004c99;
  }

  /* Custom right widgets for tag pages add by Mike on 11-8-2025 */

  .tag-acf-widget {
      background: #ffffff;
      border: 1px solid #e1e1e1;
      border-radius: 4px;
      padding: 20px;
      margin-bottom: 20px;
      box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  }

  .tag-acf-widget > *:first-child { margin-top: 0; }
  .tag-acf-widget > *:last-child { margin-bottom: 0; }

  .tag-acf-widget h3,
  .tag-acf-widget .widget-title {
      font-size: 1.1em;
      font-weight: 600;
      color: #333;
      margin: 0 0 15px 0;
      padding: 0;
  }

  /* Style H2 in ACF tag widget to match other widget titles */
  .tag-acf-widget h2 {
      font-size: 1.1em !important;
      font-weight: normal !important;
  }

/*--------------------------------------------------------------
# Typesense Search Results - added for search-results page
--------------------------------------------------------------*/

#typesense-search {
  max-width: 100%;
  font-family: Arial, sans-serif;
}

#typesense-search .search-box {
  margin-bottom: 20px;
  display: flex;
  gap: 10px;
  max-width: 600px;
}

#typesense-search .search-input {
  flex: 1;
  padding: 12px 15px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

#typesense-search .search-btn {
  padding: 12px 25px;
  font-size: 16px;
  background: #005a87;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

#typesense-search .search-btn:hover {
  background: #004a6f;
}

#typesense-search .source-filters {
  margin-bottom: 20px;
  border-bottom: 2px solid #eee;
  padding-bottom: 10px;
}

#typesense-search .filter-btn {
  display: inline-block;
  padding: 8px 15px;
  margin-right: 10px;
  border-radius: 4px;
  background: #e0e0e0;
  color: #333;
  border: 1px solid #ccc;
  cursor: pointer;
  font-size: 14px;
}

#typesense-search .filter-btn.active {
  background: #005a87;
  color: white;
}

#typesense-search .filter-btn .count {
  background: rgba(0,0,0,0.15);
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 12px;
  margin-left: 5px;
  color: #333;
}

#typesense-search .filter-btn.active .count {
  background: rgba(255,255,255,0.2);
}

#typesense-search .results-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

#typesense-search .result-item {
  border-bottom: 1px solid #eee;
  padding: 20px 0;
}

#typesense-search .search-result {
  display: flex;
  gap: 20px;
}

#typesense-search .result-image {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  object-fit: contain;
  background: #f9f9f9;
  border: 1px solid #eee;
}

#typesense-search .result-image.blog-image {
  width: 160px;
  height: 90px;
  object-fit: cover;
}

#typesense-search .result-image-placeholder {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 12px;
  border: 1px solid #eee;
}

#typesense-search .result-content {
  flex-grow: 1;
}

#typesense-search .result-title {
  font-size: 18px;
  margin: 0 0 8px 0;
}

#typesense-search .result-title a {
  color: #005a87;
  text-decoration: none;
}

#typesense-search .result-title a:hover {
  text-decoration: underline;
}

#typesense-search .result-description {
  color: #333;
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 10px 0;
}

#typesense-search .result-meta {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 13px;
}

#typesense-search .result-price {
  color: #c00;
  font-weight: bold;
  font-size: 16px;
}

#typesense-search .result-source {
  background: #f0f0f0;
  padding: 3px 10px;
  border-radius: 3px;
  color: #666;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.5px;
}

#typesense-search .result-source.source-products {
  background: #e8f4e8;
  color: #2a7a2a;
}

#typesense-search .result-source.source-blog {
  background: #e8f0f8;
  color: #2a5a8a;
}

#typesense-search .result-source.source-categories {
  background: #f8f0e8;
  color: #8a5a2a;
}

#typesense-search .pagination {
  margin-top: 30px;
  display: flex;
  gap: 5px;
  justify-content: center;
}

#typesense-search .page-btn {
  display: block;
  padding: 8px 14px;
  border: 1px solid #ddd;
  background: white;
  color: #005a87;
  text-decoration: none;
  border-radius: 4px;
  cursor: pointer;
}

#typesense-search .page-btn:hover {
  background: #f5f5f5;
}

#typesense-search .page-btn.active {
  background: #005a87;
  color: white;
  border-color: #005a87;
}

#typesense-search .page-btn:disabled {
  color: #ccc;
  pointer-events: none;
}

#typesense-search .no-results {
  text-align: center;
  padding: 40px;
  color: #666;
}

#typesense-search .no-results h3 {
  margin-bottom: 10px;
}

#typesense-search .loading {
  text-align: center;
  padding: 40px;
  color: #666;
}

/* Mobile responsive */
@media (max-width: 600px) {
  #typesense-search .search-result {
    flex-direction: column;
  }

  #typesense-search .result-image,
  #typesense-search .result-image-placeholder {
    width: 100%;
    height: 150px;
  }

  #typesense-search .result-image.blog-image {
    width: 100%;
    height: 120px;
  }

  #typesense-search .source-filters {
    display: flex;
    gap: 6px;
    padding: 0;
    margin-bottom: 15px;
    border-bottom: none;
  }

  #typesense-search .filter-btn {
    flex: 1;
    margin-right: 0;
    padding: 8px 6px;
    font-size: 13px;
    text-align: center;
  }
}
