/**
 * DogTrekker Developer Theme — head-inline.css
 *
 * Extracted from dtk/resources/views/partials/head.blade.php inline <style> block.
 * Contains: search form, slideshow, banner, mobile form, event search, etc.
 */

/* ── Search press-enter hints ───────────────────────────────── */
div#eq_search_defaultpress-enter {
  position: absolute;
  left: 15px;
  top: -23px;
  font-size: 14px;
  margin: 0px;
  line-height: normal;
}
div#eq_search_defaultpress-enter p {
  margin: 0px;
}
div#eq_search_default_mobilepress-enter {
  position: absolute;
  top: -5px;
  left: 15px;
  font-size: 14px;
}
div#eq_search_default_mobilepress-enter > span {
  display: block;
  line-height: 14px;
}
div#eq_search_default_mobilepress-enter > span > p {
  margin: 0px;
}

/* ── Slideshow / slider ─────────────────────────────────────── */
.mySlides { display: none; }
.slideshow-container {
  max-width: 100%;
  position: relative;
  margin: auto;
  height: 100vh;
}
.slideshow-container.mv_0s .slick-slider {
  overflow-x: hidden;
}
.slideshow-container.mv_0s .slick-dots {
  display: none !important;
}
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 60%;
  width: auto;
  padding: 16px;
  margin-top: -22px;
  color: white;
  font-weight: bold;
  font-size: 22px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
  background: rgba(0,0,0,0.4);
  z-index: 999;
}
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
  color: #fff;
}
.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}
.active, .dot:hover {
  background-color: #717171;
}
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}
@keyframes fade {
  from { opacity: .4; }
  to { opacity: 1; }
}
@media only screen and (max-width: 300px) {
  .prev, .next, .text { font-size: 11px; }
}

/* ── Video / view ───────────────────────────────────────────── */
.view {
  overflow: hidden;
  cursor: default;
  height: 100% !important;
}
.view video.video-intro {
  top: 50%;
  left: 50%;
  z-index: -100;
  width: auto;
  min-width: 100%;
  height: auto;
  min-height: 100%;
  transition: 1s opacity;
  transform: translateX(-50%) translateY(-50%);
}
.view img, .view video {
  position: relative;
  display: block;
}
.view .mask {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-attachment: fixed;
}
.sliderSection {
  width: 100%;
  height: 99vh !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
}
video {
  object-fit: cover;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
}
.fade:not(.show) {
  opacity: 1 !important;
}

@media only screen and (min-width: 1600px) {
  .sliderSection {
    background-position: center !important;
    background-size: cover !important;
  }
}
@media only screen and (max-width: 1200px) {
  .wp-block-columns.blogwrraper {
    min-height: auto !important;
  }
  .slideshow-container {
    height: 500px;
    overflow-y: visible;
  }
  .slideshow-container.mv_0s .slick-dots { display: none !important; }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .slideshow-container {
    height: 500px;
  }
}
@media only screen and (max-width: 1024px) {
  .sliderSection {
    height: 100% !important;
  }
}
@media only screen and (max-width: 767px) {
  .tribe-common-l-container.tribe-events-l-container {
    padding-top: 20px;
    padding-bottom: 30px;
  }
  .pagination-wrapper ul.pagination li {
    margin: 0 6px 6px 0 !important;
  }
  .safarib .wp-block-columns.featured-story.mremove-space:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: inherit !important;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
  }
  .slideshow-container.mv_0s .autocomplete-items {
    top: 67px;
    bottom: 50px;
  }
  .slideshow-container {
    height: 300px !important;
    position: relative;
  }
  .slideshow-container.mv_0s {
    overflow-y: visible;
  }
  .prev, .next {
    top: 50%;
    padding: 8px;
    font-size: 16px;
  }
  .view {
    overflow: visible;
  }
  .sliderSection {
    background-size: cover !important;
    height: 100% !important;
  }
  .slideshow-container .slider-form-box .banner-content h1 {
    font-size: 30px;
    padding: 0px 30px;
  }
  .slideshow-container .slider-form-box .banner-content .search-form-wrap i.fa.fa-search {
    position: absolute;
    font-size: 16px;
    top: 37px;
    left: 15px;
    color: #b2b2b2;
    font-weight: bold;
  }
  .slideshow-container .slider-form-box .banner-content input[type=text] {
    padding: 15px 15px 15px 40px;
    height: 50px;
    margin-top: 20px;
    font-size: 16px;
  }
  .slider-form-box .banner-content .search-form-wrap {
    max-width: 95%;
    margin: 0px auto !important;
  }
}
.slider-content {
  display: inline-block;
  width: 32.333%;
}

/* ── Event search form ──────────────────────────────────────── */
.new-search-event-form {
  position: relative;
  width: 100%;
  float: left;
  height: 80px;
}
.new-search-event-form div#ecsa-search {
  border-radius: 45px;
  max-width: 730px;
  margin: 0px auto !important;
  position: relative;
}
.new-search-event-form div#ecsa-search span.twitter-typeahead {
  margin: 0px;
  height: auto;
  max-width: 730px;
}
.search-form-wrap.landing-pages.full-fieldexpand.gtgt {
  clear: both;
  padding-top: 10px;
}
.new-search-event-form div#ecsa-search span.twitter-typeahead input.typeahead.tt-hint,
.new-search-event-form div#ecsa-search span.twitter-typeahead input.typeahead.tt-input {
  box-shadow: none !important;
  border: 0px !important;
  margin-bottom: 0px;
  width: 100%;
  max-width: 100%;
  border-radius: 50px;
  padding: 20px 36px 20px 75px;
  border-width: 0;
  height: 80px;
  font-weight: 700;
  margin-top: 0;
  font-size: 26px;
  color: #b2b2b2;
  outline: none !important;
}
.new-search-event-form #ecsa-search.layout-medium .ecsa-search-icon {
  height: 45px;
  max-width: 45px;
  left: 12px;
  right: inherit;
  top: 17px;
  background: transparent !important;
}
.new-search-event-form #ecsa-search .icon-img {
  background: transparent !important;
}
.new-search-event-form #ecsa-search .tt-menu {
  width: 100%;
  margin-top: 0px;
  padding: 10px;
  background-color: #fff;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 0px;
  box-shadow: none !important;
  position: relative !important;
  top: 0 !important;
  text-align: left;
  z-index: 9;
}
.new-search-event-form .inner-f-tp {
  width: 100%;
  margin: 0px auto 0px;
  max-width: 900px;
}
.new-search-event-form .one-tp {
  float: left;
  width: calc(100% - 295px);
}
.new-search-event-form .inner-f-tp .one-tp .tt-open { display: block !important; }

@media only screen and (max-width: 992px) {
  .new-search-event-form div#ecsa-search span.twitter-typeahead input.typeahead.tt-hint,
  .new-search-event-form div#ecsa-search span.twitter-typeahead input.typeahead.tt-input {
    height: 60px;
    margin-top: 10px;
  }
  .new-search-event-form .one-tp {
    float: left;
    width: calc(100% - 255px);
    padding-right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .new-search-event-form div#ecsa-search span.twitter-typeahead input.typeahead.tt-hint,
  .new-search-event-form div#ecsa-search span.twitter-typeahead input.typeahead.tt-input {
    height: 50px;
    margin-top: 10px;
    padding: 10px 36px 10px 60px;
    font-size: 18px;
  }
  .new-search-event-form #ecsa-search.layout-medium .ecsa-search-icon {
    height: 35px;
    max-width: 35px;
    left: 12px;
    top: 17px;
  }
}
@media only screen and (max-width: 680px) {
  .search-form-wrap.landing-pages.full-fieldexpand.demost {
    min-height: 160px;
  }
  .search-form-wrap.landing-pages.full-fieldexpand.demost .one-tp {
    float: left;
    width: 100%;
    padding-right: 0px;
  }
}

/* ── Event search (29-03-24 update) ─────────────────────────── */
.new-search-event-form .one-tp #ecsa-search input#ecsa-search-box {
  box-shadow: none !important;
  border: 0px !important;
  margin-bottom: 0px;
  width: 100%;
  max-width: 100%;
  border-radius: 50px;
  padding: 20px 36px 20px 75px;
  border-width: 0;
  height: 80px;
  font-weight: 700;
  margin-top: 0;
  font-size: 26px;
  color: #b2b2b2;
  outline: none !important;
  background: #fff !important;
  opacity: 1;
}

/* Override blue buttons to black */
button.near-me-btn,
button.near-me-btn-max,
button#search_eventss {
  background: #000 !important;
  color: #fff !important;
}
.new-search-event-form .inner-f-tp .second-tp button#search_eventss {
  background: #000;
  padding: 20px 30px;
  border-radius: 40px;
  color: #fff;
  height: 80px;
  font-size: 20px;
  margin-left: 20px;
  border: 2px solid #fff;
  outline: none;
  text-transform: capitalize;
}
.new-search-event-form button.near-me-btn-max i.fa-solid.fa-location-dot {
  margin-right: 10px;
}
.new-search-event-form .inner-f-tp.mmform-tp {
  position: relative;
  height: 80px;
}
.new-search-event-form .inner-f-tp.mmform-tp .second-tp {
  position: absolute;
  right: 0px;
  top: 0px;
}
.new-search-event-form .inner-f-tp.mmform-tp .one-tp .ecsa-search-field.ecsa-search-load.layout-medium,
.new-search-event-form .inner-f-tp.mmform-tp .one-tp .ecsa-search-box-skelton.layout-medium {
  position: absolute !important;
  top: 0px !important;
  max-width: 605px !important;
  left: 0px !important;
  margin: 0px !important;
}
.new-search-event-form .inner-f-tp.mmform-tp .one-tp {
  height: 80px;
  position: relative;
  width: 570px;
}
.new-search-event-form.mmouter-fp {
  height: 190px;
}

@media only screen and (max-width: 680px) {
  .search-form-wrap.landing-pages.full-fieldexpand p {
    display: none;
  }
  .new-search-event-form .one-tp #ecsa-search input#ecsa-search-box {
    padding: 11px 12px 20px 51px;
    height: 60px;
    font-size: 16px;
  }
  .new-search-event-form #ecsa-search.layout-medium .ecsa-search-icon {
    top: 10px !important;
  }
  .new-search-event-form .inner-f-tp .second-tp button#search_eventss {
    padding: 13px 30px;
    height: 60px;
    font-size: 18px;
    margin-left: 0px;
    width: 100%;
    margin-top: 10px;
  }
}
@media only screen and (max-width: 1199px) {
  .new-search-event-form .inner-f-tp.mmform-tp {
    max-width: 730px;
  }
  .new-search-event-form .inner-f-tp.mmform-tp .one-tp {
    width: 465px;
  }
  .new-search-event-form .inner-f-tp.mmform-tp .one-tp #ecsa-search input#ecsa-search-box {
    border-radius: 50px;
    padding: 16px 36px 20px 62px;
    height: 60px;
    font-size: 20px;
  }
  .new-search-event-form .inner-f-tp.mmform-tp .one-tp .ecsa-search-field.ecsa-search-load.layout-medium,
  .new-search-event-form .inner-f-tp.mmform-tp .one-tp .ecsa-search-box-skelton.layout-medium {
    top: 10px !important;
  }
  .new-search-event-form .inner-f-tp.mmform-tp #ecsa-search.layout-medium .ecsa-search-icon {
    top: 5px !important;
  }
  .new-search-event-form .inner-f-tp.mmform-tp .one-tp div#ecsa-search span.twitter-typeahead input.typeahead.tt-hint,
  .new-search-event-form .inner-f-tp.mmform-tp .one-tp div#ecsa-search span.twitter-typeahead input.typeahead.tt-input {
    padding: 15px 36px 20px 60px;
    height: 60px !important;
    font-size: 20px;
  }
}
@media only screen and (max-width: 800px) {
  .new-search-event-form .inner-f-tp.mmform-tp .one-tp {
    width: 100% !important;
    max-width: 385px !important;
  }
  .new-search-event-form .inner-f-tp.mmform-tp .one-tp div#ecsa-search span.twitter-typeahead input.typeahead.tt-hint,
  .new-search-event-form .inner-f-tp.mmform-tp .one-tp div#ecsa-search span.twitter-typeahead input.typeahead.tt-input {
    padding: 15px 32px 15px 60px;
    height: 60px !important;
    font-size: 20px;
    margin: 0px !important;
  }
}

/* ── Mobile-only elements ───────────────────────────────────── */
.show-smobile, .show-mobile2 {
  display: none;
}
@media only screen and (max-width: 767px) {
  .show-mobile2 {
    display: block;
  }
  .header-tab.hide-fmobile_21 {
    display: none;
  }
  .m-form-s {
    padding: 10px;
  }
  .m-form-s form.mform {
    margin: 0px;
    width: 100%;
    background: #fff;
    position: relative;
  }
  .m-form-s form.mform input[type="text"] {
    width: calc(100% - 40px);
    border: 0px;
    padding: 7px 16px;
    font-size: 16px;
    outline: none;
    color: #000;
  }
  .m-form-s form.mform input[type="text"]::placeholder {
    color: #000;
    opacity: 1;
  }
  .m-form-s form.mform input[type="text"]:-ms-input-placeholder {
    color: #000;
  }
  .show-mobile2 .m-form-s form.mform i#eq-loading-indicator-m-top {
    top: 11px !important;
    right: 13% !important;
    font-size: 15px !important;
  }
  .show-mobile2 .m-form-s form.mform .autocomplete-items_p {
    width: 100% !important;
    left: 0px !important;
    display: none;
  }
  .m-form-s form.mform button.search-t_btn {
    background: transparent;
    font-size: 20px;
    position: absolute;
    right: 15px;
    width: 40px;
    height: 38px;
    line-height: 35px;
    color: #000 !important;
  }
}

/* ── Small mobile (<680px) ──────────────────────────────────── */
@media only screen and (max-width: 680px) {
  h4.has-text-align-center.cta-title.m_for {
    position: relative;
  }
  .wp-block-column.banner-cont-area.banner-content.new-m-form .search-form-wrap-d input[type="text"] {
    height: 60px;
    font-size: 16px;
    padding: 15px 6px 15px 50px;
    font-weight: normal;
    margin-top: 0px;
  }
  .wp-block-columns.blog-banner .box-u i.ioxn {
    top: 19px;
    left: 15px;
    width: 20px;
    z-index: 9;
    line-height: normal !important;
  }
  .wp-block-column.banner-cont-area.banner-content.new-m-form .search-form-wrap-d .col-xs-12:nth-of-type(2) .box-u i.ioxn {
    top: 33px;
  }
  .wp-block-columns.blog-banner .box-u .fa.fa-spinner.fa-spin {
    position: absolute;
    top: 41px;
    font-size: 16px !important;
    left: 90% !important;
  }
  .eq-search-loading #eq-loading-indicator {
    left: 90%;
    top: 21px;
  }
  .wp-block-column.home-banner_h .wp-block-column.banner-cont-area.banner-content.new-m-form select#select-category-blog {
    padding: 10px 36px 10px 50px;
    width: 100%;
    height: 60px;
    font-size: 16px;
    background: #fff url(/wp-content/uploads/2022/04/down-arrow-n.png) no-repeat;
    margin-top: 15px;
    background-position: 96% 22px;
    background-size: 14px;
    border: 2px #66808D solid;
    -moz-appearance: none;
    -webkit-appearance: none;
    border-radius: 50px;
    position: relative;
  }
  .wp-block-column.banner-cont-area .search-form-wrap.cascade-block input[type="text"] {
    max-width: 100%;
    width: 100%;
    border: 2px #66808D solid;
    outline: none;
    height: 60px;
    font-size: 16px;
    padding: 15px 6px 15px 40px;
    font-weight: normal;
  }
  .wp-block-column.banner-cont-area .search-form-wrap.cascade-block i.fa.fa-search {
    left: 20px;
    top: 42px;
    position: absolute;
  }
  .wp-block-column.banner-cont-area .search-form-wrap.cascade-block #eq-loading-indicator {
    top: 40px;
    left: 89%;
  }
  .hide-for-small-mobile {
    display: none;
  }
  .show-smobile {
    display: block;
    background: #f1f1f1;
  }
  .wp-block-column.banner-cont-area.banner-content.new-m-form {
    position: relative;
    bottom: inherit;
    padding: 10px 15px 5px;
    text-align: center;
  }
  .wp-block-columns.blog-banner button.near-me-btn {
    max-width: 100%;
    height: 52px;
    line-height: 16px;
    font-size: 16px;
  }
  .wp-block-column.banner-cont-area.banner-content.new-m-form > h1 {
    color: #66808D !important;
    text-shadow: none !important;
    text-transform: uppercase;
    font-family: "Gotham Narrow";
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
  }
  .wp-block-column.banner-cont-area.banner-content.new-m-form .search-form-wrap form.search-form.eq_destination_search_form i.fa.fa-search {
    position: absolute;
    color: #b2b2b2 !important;
  }
  .page-down-m, .event-arrow {
    text-align: center;
    padding-bottom: 10px;
  }
  .banner-m-pic {
    position: relative;
  }
  .page-down-m, .event-arrow {
    position: absolute;
    bottom: 0;
    left: 0px;
    right: 0px;
    margin: 0px auto;
  }
  .page-down-m > a, .event-arrow > a {
    width: 40px;
    height: 40px;
    display: block;
    margin: 0px auto;
    line-height: 40px;
    border: 3px #fff solid;
    border-radius: 50%;
  }
  .page-down-m > a > i, .event-arrow > a > i {
    line-height: 36px;
    font-size: 20px;
    color: #fff;
  }
  .wp-block-columns {
    margin-bottom: 0px !important;
  }
  .wp-block-columns.explore-california.single {
    margin-bottom: 50px !important;
  }
  .wp-block-columns.featured-story.single {
    margin-bottom: 35px !important;
  }
  .autocomplete-items.eq_cs_search img {
    display: none;
  }
}

/* ── Mobile menu container ──────────────────────────────────── */
div.mobile-menu-container {
  height: 100vh !important;
  z-index: 999999 !important;
}
.mobile-menu ul li a {
  display: initial !important;
  border-bottom: none;
}
.mobile-menu ul li {
  border-bottom: 1px solid #f2f2f2 !important;
}
ul.site-nav li a {
  z-index: inherit !important;
}

@media only screen and (max-width: 575px) {
  .wp-block-column.single-peragraph-txt-2 .entry-content .wp-block-image figure.alignleft {
    width: 100%;
    text-align: center;
    margin: 0px 0px 0px;
  }
  .wp-block-column.single-peragraph-txt-2 .entry-content figure.wp-block-image.alignleft {
    width: 100%;
  }
  .wp-block-column.single-peragraph-txt-2 .entry-content .caption figure {
    text-align: center;
  }
}

/* ── Footer inline styles (extracted from footer.php) ──────── */

.cta-text-bar .slect-filed { border: 1px #cecece solid !important; }
#ep-instant-results { display: none; }

.ui-autocomplete { max-height: 350px; overflow-y: auto; overflow-x: hidden; z-index: 1000 !important; }
li.ui-widget-content, li.ui-menu-item { cursor: pointer; background-color: #fff; border-radius: 0; }
li.ui-widget-content a img, li.ui-menu-item a img { height: 50px; width: 50px; top: 0; display: inline-block; vertical-align: top; margin-right: 12px; }
.ui-state-active, .ui-widget-content .ui-state-active { background: #fff; color: #000; border: 0; }
.autocomplete-items_p { position: absolute; border: 0; border-bottom: none; border-top: none; z-index: 99999; top: 98%; left: 36px; right: 0; text-align: left; width: calc(100% - 70px); height: 220px; overflow-y: auto; }
.autocomplete-items_p::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.1); border-radius: 0px; background-color: #66808D; }
.autocomplete-items_p::-webkit-scrollbar { width: 10px; background-color: #66808D; }
.autocomplete-items_p::-webkit-scrollbar-thumb { border-radius: 0px; -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,.1); background-color: #fff; }
.autocomplete-items_p .list-group { border-radius: 0px; border-top: 1px #cecece solid; }
.autocomplete-items_p ul.list-group li.list-group-item { padding: 0px !important; }
.autocomplete-items_p ul.list-group li.list-group-item div>a { display: block; padding: 10px 15px; }
li.list-group-item a { font-family: gothambook; font-weight: 400; color: #4d4d4d; font-size: 16px; border-bottom: 1px #cecece solid !important; }
.autocomplete-items_p li.list-group-item { border-radius: 0px; border: 0px; }
.list-group .list-group-item { text-align: left; }
.list-group .list-group-item a img { max-width: 50px; display: inline-block; }
.no-ser-res { padding: 10px 15px; cursor: pointer; background-color: #fff; border-bottom: 1px solid #d4d4d4; border-radius: 0; }

/* ── Template inline styles (extracted from PHP templates) ──── */

/* Header form inputs */
input, textarea, select { border: 2px solid #000 !important; color: #000 !important; outline: none !important; box-shadow: none !important; background-clip: padding-box !important; }
input:focus, textarea:focus, select:focus { border: 2px solid #000 !important; outline: none !important; }
input::placeholder, textarea::placeholder { color: #000 !important; opacity: 1 !important; }
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill { -webkit-text-fill-color: #000 !important; box-shadow: 0 0 0px 1000px #fff inset !important; }

/* Pagination (template-blog.php) */
.dtk-pagination { display: flex; justify-content: center; align-items: center; margin: 3rem 0; }
.dtk-pagination ul { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0; list-style: none; }
.dtk-pagination a { display: inline-block; padding: 10px 16px; background-color: #f1f1f1; color: #333; border-radius: 6px; border: 1px solid #ccc; text-decoration: none; }
.dtk-pagination a:hover { background-color: #e0e0e0; }
.dtk-pagination .current { background-color: #333; color: #fff; border: 1px solid #333; font-weight: bold; }
.dtk-pagination .inactive { background-color: #f9f9f9; color: #333; border: 1px solid #ccc; }

/* City search (template-cities.php) */
.dtk-city-search { max-width: 600px; margin: 40px auto; padding: 0 15px; }
.dtk-city-search h1 { text-align: center; margin-bottom: 20px; }
.dtk-city-search form { display: flex; }
.dtk-city-search input[type="text"] { flex-grow: 1; padding: 12px 18px; font-size: 18px; border: 2px solid #ccc; border-radius: 8px 0 0 8px; background: #fff; }
.dtk-city-search button { padding: 12px 24px; background-color: #666; color: #fff; font-size: 18px; border: none; border-radius: 0 8px 8px 0; cursor: pointer; }
.dtk-city-search #city-suggestions { list-style: none; margin: 0; padding: 0; border: 1px solid #ccc; border-top: none; max-height: 150px; overflow-y: auto; display: none; background: #fff; }

/* Post card grid (taxonomy-county, taxonomy-city, related-city-posts) */
.dtk-post-grid-wrap { width: 90%; margin: 0 auto; clear: both; min-height: 60px; }
.dtk-post-grid-wrap h2 { position: relative; top: 30px; }
.dtk-post-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-top: 60px !important; }
.dtk-post-grid--compact { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.dtk-post-card { border: 1px solid #ddd; border-radius: 6px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,.1); background: white; }
.dtk-post-card img { width: 100%; height: 180px; object-fit: cover; }
.dtk-post-card .card-body { padding: 10px; }
.dtk-post-card h3 { margin: 0 0 10px; font-size: 1.1rem; }
.dtk-post-card h3 a { text-decoration: none; color: #333; }
.dtk-post-card p { font-size: 0.95rem; color: #555; }
.dtk-post-card .btn-readmore { display: inline-block; background: #999; color: white; padding: 8px 12px; border-radius: 4px; text-decoration: none; margin-top: 8px; }

/* Related posts grid (template-parts/related-city-posts.php) */
.related-posts-grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); margin-top: 40px; }
.related-post-item h3 { margin-top: 12px; text-transform: none !important; }
.related-post-item h3 a { text-decoration: none; color: inherit; text-transform: none !important; }
.related-post-item .excerpt { margin: 10px 0; text-transform: none !important; }
.related-post-item .btn-read-more { display: inline-block; background: #000; color: #fff; padding: 8px 16px; text-decoration: none; font-size: 14px; margin-top: 8px; text-transform: none !important; }

/* Directory listing grid (taxonomy-directory_category.php) */
.listing-grid, .listing-grid--more { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px 20px; margin: 0 10%; }
@media (max-width: 767px) { .listing-grid, .listing-grid--more { margin: 0 10px; } }
.card { background: #f9fcff; padding: 15px; border-radius: 6px; }
.card .thumb { position: relative; width: 100%; padding-top: 56.25%; background: #eee; margin-bottom: 10px; }
.card .thumb img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.card h4 { margin: 0 0 10px; }
.card h4.card-header-dark { background: #666; color: #fff; padding: 6px 8px; margin: 0 0 10px; }
.card h4.card-header-dark a { color: #fff; text-decoration: none; }
.grid-heading { margin: 40px 10% 20px; text-align: left; }
@media (max-width: 767px) { .grid-heading { margin: 30px 10px 20px; } }
.dtk-dir-heading { text-align: center; clear: both !important; margin: 40px 0 0 0; font-size: 40px; }
.dtk-no-results { margin: 0 10%; }

/* Explore columns (taxonomy-region.php, taxonomy-county.php, taxonomy-city.php) */
#columns { column-width: 320px; column-gap: 15px; width: 100%; max-width: 100%; margin: 0 auto; }
#columns figure { background: #fefefe; border: 2px solid #fcfcfc; box-shadow: 0 1px 2px rgba(34,25,25,0.4); margin: 0 2px 15px; padding: 15px; display: inline-block; column-break-inside: avoid; width: 100%; }
.gray-bg-wr { background: #fbfbfb; padding: 20px 15px !important; margin: 20px 0; }
#columns figure h4 { font-size: 18px; background-color: #66808d; color: #fff; text-align: center; padding: 0 20px; line-height: 50px; height: 50px; margin: 0; text-transform: uppercase; font-family: gothamxlight; }
#columns figure ul li { background: #fff; border-bottom: 1px solid #ddd; padding: 10px; text-align: center; }
#columns figure ul li a { font-family: gothammedium; font-size: 16px; color: #4d4d4d; text-decoration: none; }

/* Region intro (taxonomy-region.php) */
@media (max-width: 767px) { #home_page_search { display: none !important; } }
.region-intro-wrap { position: relative; margin-bottom: 2rem; }
.region-intro-wrap .region-float-image { float: right; max-width: 360px; margin: 0 0 1rem 1.5rem; text-align: center; }
.region-intro-wrap .region-float-image img { width: 100%; height: auto; display: block; }
.region-intro-wrap .region-float-image figcaption { font-size: 0.85rem; color: #555; margin-top: 0.4rem; }
.region-intro-wrap::after { content: ""; display: block; clear: both; }
@media (max-width: 768px) { .region-intro-wrap .region-float-image { float: none; max-width: 100%; margin: 1rem auto; } }

/* Lodging details (content-single-directories.php) */
.lodging-details-box { background-color: #eef6fc; border-radius: 10px; border: 1px solid #c9e3f6; padding: 15px; margin-top: 20px; font-family: Arial, sans-serif; }
.lodging-details-box h4 { color: #003366; margin-bottom: 12px; }
.lodging-details-box ul { list-style: none; padding: 0; margin: 0; }
.lodging-details-box li { margin-bottom: 8px; color: #333; }
.lodging-details-box a { color: #007bff; text-decoration: underline; }
.lodging-details-box a:hover { text-decoration: none; }
.dtk-city-link-wrap { display: flex; justify-content: center; margin-top: 1rem; }
.dtk-city-link { background-color: #66808D; color: #fff; padding: 10px 20px; text-decoration: none; border-radius: 4px; display: inline-block; }
#map_canvas { width: 100%; height: 250px; margin: 30px auto; }

/* Single post (content-single-post.php) */
.dtk-post-title { margin-bottom: 10px; }
.dtk-author-byline { text-align: right; position: relative; bottom: 10px; }
.dtk-spacer { width: 100%; clear: both; }
.dtk-clear { clear: both; }

/* Grid breakout (content-single-post.php) */
#grid-breakout-wrapper { position: relative; width: 100vw; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; overflow-x: auto; overflow-y: visible; white-space: nowrap; z-index: 10; }
#grid-breakout-wrapper [id*="wrapper"], #grid-breakout-wrapper [class*="container"] { max-width: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
#grid-breakout-wrapper [class*="flex"], #grid-breakout-wrapper [class*="grid"] { flex-wrap: nowrap !important; justify-content: flex-start !important; }
#grid-breakout-wrapper img, #grid-breakout-wrapper a, #grid-breakout-wrapper div { flex-shrink: 0 !important; display: inline-block; vertical-align: top; }

/* Region/geo positioning helpers */
.dtk-grid-top-offset { position: relative; top: 60px; }
.dtk-explore-spacer { margin: 40px 0 0 0; }
.dtk-centered-section { text-align: center; margin: 0 auto; width: 90%; }

/* County intro (taxonomy-county.php) */
.county-intro-wrap { position: relative; margin-bottom: 2rem; }
.county-intro-wrap .county-float-image { float: right; max-width: 360px; margin: 0 0 1rem 1.5rem; text-align: center; }
.county-intro-wrap .county-float-image img { width: 100%; height: auto; display: block; }
.county-intro-wrap .county-float-image figcaption { font-size: 0.85rem; color: #555; margin-top: 0.4rem; }
.county-intro-wrap::after { content: ""; display: block; clear: both; }
@media (max-width: 768px) { .county-intro-wrap .county-float-image { float: none; max-width: 100%; margin: 1rem auto; } }

/* City intro (taxonomy-city.php) */
.city-intro-wrap { position: relative; margin-bottom: 2rem; }
.city-intro-wrap .city-float-image { float: right; max-width: 360px; margin: 0 0 1rem 1.5rem; text-align: center; }
.city-intro-wrap .city-float-image img { width: 100%; height: auto; display: block; }
.city-intro-wrap .city-float-image figcaption { font-size: 0.85rem; color: #555; margin-top: 0.4rem; }
.city-intro-wrap::after { content: ""; display: block; clear: both; }
@media (max-width: 768px) { .city-intro-wrap .city-float-image { float: none; max-width: 100%; margin: 1rem auto; } }

/* Related listings (content-single-post.php) */
.related-listings { margin: 40px auto; padding-top: 20px; border-top: 1px solid #ddd; max-width: none; position: relative; z-index: 1; }

/* Directory single featured layout (content-single-directories.php) */
.bannerr-caption.container { margin-top: 0.75rem; margin-bottom: 1.5rem; font-size: 0.9rem; line-height: 1.4; }
.wp-block-columns.featured-story .standard-listing-block { display: block; }
.wp-block-columns.featured-story .standard-listing-block > .wp-block-column { width: auto; margin: 0; padding: 0; }
.wp-block-columns.featured-story .featured-text { float: right; max-width: 600px; margin: 0 0 1rem 5rem; text-align: center; }
.wp-block-columns.featured-story .featured-text figure.wp-block-image { margin: 0; }
.wp-block-columns.featured-story .featured-text img { width: 100%; height: auto; display: block; }
.wp-block-columns.featured-story .featured-text figcaption { margin-top: 0.35rem; margin-bottom: 0; font-size: 0.85rem; line-height: 1.35; color: #555; }
.wp-block-columns.featured-story .shetler-listng { margin-top: 0; }
.wp-block-columns.featured-story .shetler-listng li:first-child h1 { margin-top: 0; }
.wp-block-columns.featured-story .standard-listing-block::after { content: ""; display: block; clear: both; }
@media (max-width: 768px) { .wp-block-columns.featured-story .featured-text { float: none; max-width: 70%; margin: 0 auto 1rem; } }

/* Blog grid (template-blog.php) */
.blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; margin: 2rem auto; max-width: 1200px; padding: 0 30px; }
@media (min-width: 1024px) { .blog-grid { grid-template-columns: repeat(3, 1fr); } }
.crop-4-3 { position: relative; width: 100%; padding-top: 75%; overflow: hidden; }
.crop-4-3 img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.blog-grid article { background: #fff; padding: 1rem; box-shadow: 0 2px 6px rgba(0,0,0,0.05); border-radius: 8px; }
.blog-grid h3 { margin: 0.5rem 0; }
.blog-grid h3 a { text-decoration: none; color: #333; }
.blog-grid h3 a:hover { text-decoration: underline; }
.blog-grid h3, .blog-grid h3 a { text-transform: none !important; }
.blog-grid a.read-more-btn { display: inline-block; background-color: #66808D; color: #fff; padding: 8px 12px; border-radius: 0; text-decoration: none; text-align: center; transition: background-color 0.2s ease; margin-top: 10px; }
.blog-grid a.read-more-btn:hover { background-color: #000; }

/* Cities page layout (template-cities.php) */
.wp-block-columns.banner-container { max-width: 1200px; margin: 0 auto; padding: 20px 15px; }
.wp-block-columns.hcategory-container { display: block !important; }
.wp-block-columns.hcategory-container .wp-block-column.hcategory-box { width: 100% !important; flex-basis: 100% !important; }
.wp-block-columns.hcategory-container .wp-block-column.hcategory-box > .wp-block-columns { display: flex !important; flex-wrap: wrap !important; gap: 20px !important; margin: 0 !important; }
.wp-block-column.hcategory-content { flex: 0 0 calc(50% - 10px) !important; max-width: calc(50% - 10px) !important; box-sizing: border-box !important; margin: 0 !important; }
.wp-block-column.hcategory-content figure { margin: 0 !important; }
.wp-block-column.hcategory-content img { width: 100% !important; height: auto !important; aspect-ratio: 16/9; object-fit: cover; }
.hcategory-btn { margin: 10px 0 20px !important; }
@media (max-width: 768px) { .wp-block-column.hcategory-content { flex: 0 0 100% !important; max-width: 100% !important; } }

/* Mobile top buttons (header.php) */
.mobile-top-buttons { display: flex; width: 100%; }
.mobile-top-buttons a { flex: 1; text-align: center; padding: 8px 0; text-decoration: none; font-weight: 700; font-size: 14px; font-family: sans-serif; }
.btn-stories { background-color: #F7CD61; color: #66808D; }
.btn-adopt { background-color: #66808D; color: #ffffff; }
@media (min-width: 768px) { .mobile-top-buttons { display: none; } }

/* Mobile menu (header.php) */
.mobile-menu-container { display: none; }
.mobile-menu-container.is-visible { display: block; }
.overlay-screen { display: none; }
.overlay-screen.is-visible { display: block; }
.mobile-menu a, .nav-mobile a { color: #000 !important; display: block; padding: 12px 16px; text-decoration: none; }
.mobile-menu li, .nav-mobile li { border-bottom: 1px solid #e5e5e5; }

/* Region grid (template-regions.php) */
.region-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.region-card { background: #fff; border: 1px solid #ccc; overflow: hidden; display: flex; flex-direction: column; }
.region-image { position: relative; width: 100%; padding-top: 75%; overflow: hidden; background: #eee; }
.region-image img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.region-card h3 { margin: 16px; font-size: 1.2rem; }
.region-card .desc { margin: 0 16px 16px; flex-grow: 1; }
.read-more { margin: 0 16px 16px; display: inline-block; padding: 8px 12px; background: black; color: white; text-decoration: none; font-weight: bold; align-self: flex-start; }

/* Destinations layout (template-destinations.php) */
.destinations-content-wrap { display: flex; gap: 30px; }
.destinations-main { flex: 1; min-width: 0; padding-top: 20px; }

/* Related directory listings (related-directory-listings.php) */
.related-listings { margin: 40px auto; padding-top: 20px; border-top: 1px solid #ddd; width: 90%; max-width: none; position: relative; z-index: 1; }
@media (max-width: 768px) { .related-listings { width: 95%; margin: 20px auto; } }
.related-listings h3 { margin-bottom: 20px; }
.related-listings .grid-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; margin-bottom: 40px; }
@media (min-width: 1200px) { .related-listings .grid-container.three-across { grid-template-columns: repeat(3, 1fr); } }
.related-listings .grid-item { background: #fff; border: 1px solid #e2e2e2; padding: 15px; border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,.1); }
.related-listings .listing-thumbnail img { width: 100%; height: auto; border-radius: 4px; }
.related-listings .listing-title { margin-top: 15px; font-size: 1.1rem; font-weight: 600; }
.related-listings .listing-title a { text-decoration: none; color: #333; }
.related-listings .listing-excerpt { font-size: 0.95rem; margin-top: 10px; color: #555; }
.related-listings .read-more-btn { margin-top: 15px; display: inline-block; padding: 8px 12px; background: #000; color: #fff; text-decoration: none; border-radius: 4px; float: left; }

/* Single event */
.eventlisting-wrap { margin-top: 120px; }
.eventlisting-wrap figcaption { clear: both; position: relative; top: 30px; }
.event-venue { margin-top: 15px; }

.road-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; margin: 2rem 30px; }
.crop-4-3 { position: relative; width: 100%; padding-top: 75%; overflow: hidden; }
.crop-4-3 img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
