/*
Theme Name: Walt's Wine Guide DT10 Child
Description: Custom child theme for Walt's Wine Guide.
Author: SIRO Digital Agency
Template: DT
Version: 1.0.0
Text Domain: walts-wine-guide-child
*/

/* =========================================================
   Global styles
   ========================================================= */

body.wp-child-theme-DT10-waltswine,
a,
section[id] {
    color: #770e11;
}

body.wp-child-theme-DT10-waltswine .section-40 {
    padding: 0 !important;
}

body > #wrapper {
    overflow-x: hidden;
}

body #wrapper a:not([class]) {
    color: #770e11;
}

body #wrapper a:not([class]):focus,
body #wrapper a:not([class]):hover {
    color: #23527c !important;
    text-decoration: underline;
}

/* =========================================================
   Main layout and containers
   ========================================================= */

#page-content-wrapper
> *:not(header):not([data-ppt-blocktype="footer"])
.container {
    background: #fff;
}

#page-content-wrapper
> *:not(header):not([data-ppt-blocktype="footer"])
.container.blog_content {
    position: relative;
    z-index: 1;
}

body[class*="child-page"] .d-md-flex.flex-row-reverse,
.ppt-page-body .d-md-flex.flex-row-reverse {
    flex-direction: row !important;
}

body.wp-child-theme-DT10-waltswine .card-page.mobile-negative-margin-x {
    margin: 0;
}

/* =========================================================
   Header and desktop navigation
   ========================================================= */

header .logo-lg .row {
    flex-wrap: wrap;
}

header.border-bottom {
    border: 0 !important;
}

header .container.logo-lg {
    padding: 1.5rem 0 0 !important;
}

header .container.logo-lg .col {
    justify-content: start;
    margin-top: 20px;
    padding: 10px;
    background: #770e11;
}

header .container.logo-lg .col #menu-main-navigation > li > a {
    padding-bottom: 20px;
    color: #fff !important;
    font-size: clamp(0.813rem, 0.5rem + 0.556vw, 1rem);
}

header
.container.logo-lg
.col
#menu-main-navigation
> li.menu-item-has-children
.dropdown-menu {
    top: 36px;
}

header .elementor_topmenu {
    padding: 10px 0;
    background-color: #770e11 !important;
}

header .elementor_topmenu nav[ppt-nav] > ul > li > a {
    color: #fff !important;
}
body #page-content-wrapper header .elementor_topmenu nav[ppt-nav] > ul > li > a:hover {
    color: #fff !important;
    text-decoration: underline;
}


header .elementor_topmenu nav[ppt-nav] > ul > li.dropdown > a {
    padding-bottom: 10px;
}

header
.elementor_topmenu
nav[ppt-nav]
> ul
> li.dropdown
.dropdown-menu {
    top: 25px;
}

/* Hide custom mobile navigation elements by default. */
.custom-mobile-menu-bar,
.custom-mobile-nav-wrapper {
    display: none;
}

/* Position the mobile navigation relative to the header. */
header[data-block-id="header"].custom-mobile-nav-host {
    position: relative;
    z-index: 999;
    overflow: visible !important;
}

/* =========================================================
   Hero slider
   ========================================================= */

.hero-slider {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 600px;
    overflow: hidden;
}

.hero-slider > .wp-block-group__inner-container {
    position: relative;
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    min-height: 600px;
    margin: 0 !important;
}

/* Prevent a narrow initialization flash before Slick starts. */
.hero-slider
> .wp-block-group__inner-container:not(.slick-initialized)
> .wp-block-cover {
    display: flex !important;
    width: 100%;
    max-width: none !important;
    min-height: 600px !important;
    margin: 0 !important;
}

.hero-slider
> .wp-block-group__inner-container:not(.slick-initialized)
> .wp-block-cover:not(:first-child) {
    display: none !important;
}

.hero-slider .slick-list {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 600px;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.hero-slider .slick-track {
    min-height: 600px;
}

/* Restore flex because Slick changes slides to display: block. */
.hero-slider .wp-block-cover.slick-slide {
    display: flex !important;
    max-width: none !important;
    min-height: 600px !important;
    margin: 0 !important;
    clear: none;
}

.hero-slider .wp-block-cover__image-background {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-slider .wp-block-cover__inner-container {
    position: relative;
    z-index: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 30px;

}

.hero-slider.container {
    padding: 0 !important;
}

.hero-slider.container .bigger-text {
    font-size: 100px !important;
    font-weight: 500 !important;
    line-height: 1.2;
}

.hero-slider.container .big-text {
    font-size: 50px !important;
    font-style: italic !important;
    font-weight: 500 !important;
}

/* =========================================================
   Listings, columns, and widgets
   ========================================================= */

.dt10-recent-listings-block h2,
.dt10-featured-listing-carousel-block h2 {
    font-size: clamp(1.75rem, 2vw, 2.5rem);
}

.dt10-existing-widgets-block .blank-widget {
    display: block;
}

.featured-listing-carousel-wrapper > div > section {
    padding: 0 !important;
}

/* Shared burgundy heading bars. */
.featured-listing-carousel-wrapper > div > section h2,
.three-col-container .left-column .container .blank-widget h5,
.three-col-container .right-column .container .blank-widget h5,
.three-col-container .center-column h2,
.d-md-flex.flex-row-reverse .sidebar-page .widget .widget-title,
.dt10-existing-widgets-block .container .widget .widget-title,
.dt10-existing-widgets-block .container .widget .panel-heading,
.d-md-flex.flex-row-reverse .sidebar-page .widget .panel-heading,
#page-content-wrapper .sidebar-blog[class*="hide"] .widget .widget-title,
section[id*="recent-posts"] h2 {
    display: block;
    padding: 5px 15px;
    background: #770e0f !important;
    color: #fff;
    font-size: 18px;
    font-weight: 400;
}
.dt10-existing-widgets-block .container .widget .panel-heading a,
.d-md-flex.flex-row-reverse .sidebar-page .widget .panel-heading a{
    color: #fff;
}

.featured-listing-carousel-wrapper > div > section h2 {
    width: calc(100% + 30px);
    margin: 0 -15px;
}

.three-col-container .center-column h2 {
    width: 100%;
}

.three-col-container .left-column .container,
.three-col-container .right-column .container {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
    padding: 0;
}

.three-col-container .left-column .container .blank-widget a,
.three-col-container .right-column .container .blank-widget h5 + * {
    display: block;
    height: 100%;
    padding: 15px;
    border: 1px solid #e0e0e0;
}

.three-col-container .center-column .hide-mobile > .d-flex {
    flex-direction: column;
}

.three-col-container .center-column .hide-mobile .d-flex .pl-lg-4 {
    padding-left: 0 !important;
}

.three-col-container .center-column .hide-mobile .d-flex .pl-lg-4 .seperator>ul {
    font-size: 11px;
    align-items: center;
    flex-wrap: wrap;
    row-gap: 15px;
    column-gap: 10px;
}

.three-col-container .center-column .hide-mobile .d-flex .pl-lg-4 .seperator>ul>li {
    padding: 0 10px 0 0;
}

.three-col-container .left-column .container .blank-widget h5 + .textwidget p {
    font-size: 14px;
}

.three-col-container .center-column .pagination {
    gap: 5px;
}

/* Force hidden sidebars to remain available in the custom layout. */
.d-md-flex.flex-row-reverse .sidebar-page[class*="hide"],
#page-content-wrapper .sidebar-blog[class*="hide"] {
    display: flex !important;
}

#page-content-wrapper .sidebar-blog[class*="hide"] {
    flex-direction: column;
}

.d-md-flex.flex-row-reverse .ppt-customsidebar,
#page-content-wrapper .ppt-customsidebar {
    display: block !important;
}

.d-md-flex.flex-row-reverse .sidebar-page,
.dt10-existing-widgets-block .container,
#page-content-wrapper .sidebar-blog[class*="hide"] {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
    padding: 0 0 30px;
}

.d-md-flex.flex-row-reverse .sidebar-page .widget {
    display: block;
}

.d-md-flex.flex-row-reverse .sidebar-page .widget .widget-title + *,
.dt10-existing-widgets-block .container .widget .widget-title + *,
#page-content-wrapper
.sidebar-blog[class*="hide"]
.widget
.widget-title
+ * {
    display: block;
    height: 100%;
    padding: 15px;
    border: 1px solid #e0e0e0;
}

/* =========================================================
   Page and article content
   ========================================================= */

.page-featured-image-wrapper {
    margin-bottom: 40px;
}

.panel-body img:not(.rpwe-thumb) {
    display: block;
    float: none !important;
    height: auto;
    margin: 20px auto !important;
}

.panel-body .wp-block-heading,
.panel-body h1,
.panel-body h2,
.panel-body h3,
.panel-body h4,
.panel-body h5,
.panel-body h6 {
    margin-bottom: 0.5rem;
}

.panel-body ul {
    margin-bottom: 1rem;
    list-style: disc;
}

.panel-body ul li {
    margin-left: 20px;
}

.contact-us-body {
    padding-top: 40px;
    padding-bottom: 40px;
    background-color: #fff;
}

/* DataTables */
body[class*="child-page"]
.d-md-flex.flex-row-reverse
.dataTables_wrapper
.dataTables_info {
    padding-top: 24px;
    padding-left: 10px;
}

body[class*="child-page"]
.d-md-flex.flex-row-reverse
.dataTables_wrapper
.dataTables_paginate {
    float: right;
    padding-top: 0.25em;
    padding-bottom: 1.2rem;
    text-align: right;
}

body[class*="child-page"]
.d-md-flex.flex-row-reverse
.dataTables_wrapper
.dataTables_length {
    padding: 20px 0 0 10px;
}

body[class*="child-page"]
.d-md-flex.flex-row-reverse
.dataTables_wrapper
.dataTables_filter {
    padding: 20px 10px 0 0;
}

/* =========================================================
   Walt's Wine directory search
   ========================================================= */

.walts-directory-search,
.walts-directory-search * {
    box-sizing: border-box;
}

.walts-directory-search {
    --walts-search-accent: #842433;

    display: grid;
    grid-template-columns:
        minmax(200px, 1fr)
        minmax(190px, 260px)
        56px;
    align-items: stretch;
    width: 100%;
    max-width: 780px;
    min-height: 52px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #d7d7d7;
    border-radius: 6px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
}

.walts-directory-search__keyword,
.walts-directory-search__category {
    position: relative;
    min-width: 0;
}

.walts-directory-search__input,
.walts-directory-search__select {
    display: block;
    width: 100%;
    height: 52px;
    margin: 0;
    padding: 0 17px;
    appearance: none;
    -webkit-appearance: none;
    background-color: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    outline: none;
    color: #222;
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.2;
}

.walts-directory-search__input::placeholder {
    color: #666;
    opacity: 1;
}

.walts-directory-search__select {
    padding-right: 45px;
    border-left: 1px solid #e3e3e3;
    cursor: pointer;
}

.walts-directory-search__category::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #555;
    border-bottom: 2px solid #555;
    pointer-events: none;
    transform: translateY(-70%) rotate(45deg);
}

.walts-directory-search__input:focus,
.walts-directory-search__select:focus {
    box-shadow: inset 0 0 0 2px rgba(132, 36, 51, 0.18);
}

.walts-directory-search__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    min-width: 56px;
    min-height: 52px;
    margin: 0;
    padding: 0;
    background: var(--walts-search-accent);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #fff;
    cursor: pointer;
    transition:
            filter 0.2s ease,
            opacity 0.2s ease;
}

.walts-directory-search__button:hover {
    filter: brightness(0.9);
}

.walts-directory-search__button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -6px;
}

.walts-directory-search__button svg {
    display: block;
    width: 22px;
    height: 22px;
    fill: currentColor;
}

.walts-search-error {
    padding: 12px 15px;
    background: #fff4f4;
    border: 1px solid #dc3232;
    color: #8a1f11;
    font-size: 14px;
}

.walts-directory-search .screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

div#walts-header-search-container {
    padding-top: 10px;
    padding-bottom: 10px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.walts-header-search-inner .walts-directory-search {
    width: 100%;
    max-width: none;
}

.walts-mobile-menu-search {
    width: 100%;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.walts-mobile-menu-search .walts-directory-search {
    width: 100%;
    max-width: none;
    margin: 0;
}

/* =========================================================
   Maps and filters
   ========================================================= */

.wine-region-content .wpgmaps_blist_row {
    display: flex;
    align-items: center;
    gap: 20px;
}

.wpgmza-directions-actions input.wpgmza-directions-from,
.wpgmza-directions-actions input.wpgmza-directions-to {
    width: auto;
}

.wp-child-theme-DT10-waltswine .wpgmza_map {
    width: 100% !important;
}

div#currentFilters + .badge {
    margin-bottom: 20px;
}

/* =========================================================
   Page background panels and account template
   ========================================================= */

.ppt-page-body {
    position: relative;
}

.ppt-page-body::before,
.page-template-tpl-page-account header + .container::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 100%;
    margin: auto;
    background: #fff;
}

.page-template-tpl-page-account header + .container {
    position: relative;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 1.5rem;
}

/* =========================================================
   Attachments, recent posts, and captions
   ========================================================= */

body.wp-child-theme-DT10-waltswine.attachment-template-default .card-body {
    display: block;
    height: 100%;
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid #e0e0e0;
    border-top: 37px solid #770e11;
}

body.wp-child-theme-DT10-waltswine.attachment-template-default
.card-body
.attachment {
    text-align: center;
}

section[id*="recent-posts"] ul.recent-posts-list {
    display: block;
    height: 100%;
    padding: 15px 15px 15px 40px;
    border: 1px solid #e0e0e0;
    list-style: disc;
}

section[id*="recent-posts"]
ul.recent-posts-list
.recent-posts-list__title {
    color: #770e11;
}

section[id*="recent-posts"]
ul.recent-posts-list
.recent-posts-list__title:hover {
    color: #23527c !important;
    text-decoration: underline;
}

body.wp-child-theme-DT10-waltswine .wp-caption.alignright {
    float: right;
}

body.wp-child-theme-DT10-waltswine .wp-caption {
    max-width: 96%;
    padding: 5px 3px 10px;
    background: #fff;
    border: 1px solid #f0f0f0;
    text-align: center;
}

body.wp-child-theme-DT10-waltswine .wp-caption .wp-caption-text {
    margin: 0;
    padding: 0 4px 5px;
    font-size: 11px;
    line-height: 17px;
}

/* =========================================================
   Footer
   ========================================================= */

section[data-ppt-blocktype="footer"] .container {
    background: transparent !important;
}

section[data-ppt-blocktype="footer"]
.footer-txt-light.py-3
.container
.row
.col-12 {
    display: none;
}

body #wrapper
section[data-ppt-blocktype="footer"]
.container
.links-vertical
li
a {
    color: #fff !important;
}

body #wrapper
section[data-ppt-blocktype="footer"]
.container
.links-vertical
li
a:hover {
    color: #fff !important;
    opacity: 0.7;
}

body.wp-child-theme-DT10-waltswine
section[data-ppt-blocktype="footer"]
> * {
    position: relative;
}

body.wp-child-theme-DT10-waltswine
section[data-ppt-blocktype="footer"]
> *::before {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #630606;
}

body.wp-child-theme-DT10-waltswine
section[data-ppt-blocktype="footer"]
> .py-3::before {
    background: #381c1c;
}

div[data-ppt-footerdesc] {
    display: none;
}

.footer-block:not(:last-child) {
    padding-bottom: 30px;
}

.footer-block .footer-block-title {
    font-size: 20px;
}

/* =========================================================
   Responsive styles
   All media queries are intentionally kept at the end.
   ========================================================= */

@media (min-width: 576px) {
    .ppt-page-body::before,
    .page-template-tpl-page-account header + .container::before {
        width: 540px;
    }
}

@media (min-width: 768px) {
    .footer-txt-light .row > * {
        flex: 1 !important;
        width: auto !important;
        max-width: initial;
    }

    .d-md-flex.flex-row-reverse .ppt-customsidebar,
    #page-content-wrapper .ppt-customsidebar {
        padding-right: 15px !important;
    }

    .ppt-page-body::before,
    .page-template-tpl-page-account header + .container::before {
        width: 720px;
    }
}

@media (min-width: 992px) {
    .walts-mobile-menu-search {
        display: none !important;
    }

    .ppt-page-body::before,
    .page-template-tpl-page-account header + .container::before {
        width: 960px;
    }
}

@media screen and (min-width: 992px) {
    /* Prevent jQuery inline slide styles from showing mobile navigation. */
    .custom-mobile-menu-bar,
    header[data-block-id="header"] > .custom-mobile-nav-wrapper {
        display: none !important;
    }
}

@media (min-width: 1200px) {
    .ppt-page-body::before,
    .page-template-tpl-page-account header + .container::before {
        width: 1140px;
    }
}

@media (min-width: 1300px) {
    .ppt-page-body::before,
    .page-template-tpl-page-account header + .container::before {
        width: 1240px;
    }
}

@media (min-width: 1500px) {
    .ppt-page-body::before,
    .page-template-tpl-page-account header + .container::before {
        width: 1300px !important;
    }
}

@media (max-width: 991px) {
    section[data-ppt-blocktype="footer"] .container.py-3 .row {
        flex-direction: column;
        gap: 40px;
    }

    section[data-ppt-blocktype="footer"] .container.py-3 .row > * {
        max-width: none;
        text-align: left;
    }

    .d-md-flex.flex-row-reverse .sidebar-page .widget .widget-title + a {
        text-align: center;
    }

    .d-md-flex.flex-row-reverse .ppt-customsidebar,
    #page-content-wrapper .ppt-customsidebar {
        flex: 0 0 100%;
        max-width: 100%;
    }

    section[data-ppt-blocktype="footer"]
    .footer-txt-light:not(.py-3)
    .container
    .row {
        flex-direction: column;
        gap: 30px;
    }

    section[data-ppt-blocktype="footer"]
    .footer-txt-light:not(.py-3)
    .container
    .row
    > div[class*="col"] {
        flex-direction: column;
        max-width: none;
        padding: 0;
        text-align: left;
    }

    section[data-ppt-blocktype="footer"]
    .footer-txt-light.py-3
    .container
    .row
    > div[class*="col"] {
        padding: 0;
    }

    .three-col-container {
        flex-direction: column !important;
    }

    header .container.logo-lg > .row {
        flex-direction: column;
    }

    .hero-slider.container .bigger-text {
        font-size: 50px !important;
    }

    .hero-slider.container .big-text {
        font-size: 35px !important;
    }

    header[data-block-id="header"] > #walts-header-search-container {
        display: none;
    }

    .custom-mobile-nav-wrapper .walts-mobile-menu-search {
        display: block;
    }
}

@media screen and (max-width: 991px) {
    /* Hide the original desktop navigation. */
    header[data-block-id="header"] .custom-mobile-nav-source {
        display: none !important;
    }

    /* Search form displayed below the mobile menu. */
    .custom-mobile-nav-wrapper .walts-mobile-menu-search {
        display: block;
        margin-top: 0;
        border-top: 1px solid rgb(221 221 221);
    }

    /* Positioning context for the hamburger icon. */
    header[data-block-id="header"] .container.logo-lg .col {
        position: relative;
        min-height: 50px;
    }

    header[data-block-id="header"]
    .container.logo-lg
    .col
    div[class*="mobile"] {
        display: none !important;
    }

    /* Hamburger menu icon. */
    .custom-mobile-menu-bar {
        position: absolute;
        top: 50%;
        right: 15px;
        z-index: 10002;
        display: block;
        width: 30px;
        height: 22px;
        margin: 0;
        padding: 0;
        color: #fff;
        cursor: pointer;
        background-image: linear-gradient(currentColor, currentColor);
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100% 2px;
        transform: translateY(-50%);
        transition: background-size 0.2s ease;
    }

    .custom-mobile-menu-bar::before,
    .custom-mobile-menu-bar::after {
        content: "";
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: currentColor;
        transition:
                top 0.2s ease,
                bottom 0.2s ease,
                transform 0.2s ease;
    }

    .custom-mobile-menu-bar::before {
        top: 0;
    }

    .custom-mobile-menu-bar::after {
        bottom: 0;
    }

    .custom-mobile-menu-bar.is-active {
        background-size: 0 2px;
    }

    .custom-mobile-menu-bar.is-active::before {
        top: 10px;
        transform: rotate(45deg);
    }

    .custom-mobile-menu-bar.is-active::after {
        top: 10px;
        bottom: auto;
        transform: rotate(-45deg);
    }

    .custom-mobile-menu-bar:focus-visible {
        outline: 2px solid currentColor;
        outline-offset: 5px;
    }

    /* Accordion navigation appended directly to the header. */
    header[data-block-id="header"] > .custom-mobile-nav-wrapper {
        position: relative;
        top: 100%;
        right: 0;
        left: 0;
        z-index: 10001;
        display: none;
        box-sizing: border-box;
        width: 100%;
        max-height: calc(100vh - 500px);
        padding: 0 0 20px;
        overflow-x: hidden;
        overflow-y: auto;
        background-color: #fff;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15);
    }

    /* Reset cloned desktop navigation styles. */
    .custom-mobile-nav-wrapper .container {
        margin: 0 auto;
    }

    .custom-mobile-nav-wrapper .custom-mobile-nav {
        position: static !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        background-color: #fff;
        transform: none !important;
    }

    .custom-mobile-nav-wrapper .custom-mobile-nav > ul {
        position: static !important;
        flex-direction: column;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        transform: none !important;
    }

    .custom-mobile-nav-wrapper .custom-mobile-nav > ul > li {
        position: relative;
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    }

    .custom-mobile-nav-wrapper .custom-mobile-nav > ul > li::after {
        display: none;
    }

    .custom-mobile-nav-wrapper .custom-mobile-nav > ul > li:last-child {
        border-bottom: 0;
    }

    .custom-mobile-nav-wrapper .custom-mobile-nav a {
        position: relative;
        display: block !important;
        box-sizing: border-box;
        width: 100% !important;
        padding: 14px 20px !important;
        color: inherit !important;
        text-decoration: none;
    }

    .custom-mobile-nav-wrapper .custom-mobile-nav a + ul {
        display: block !important;
        border: 0 !important;
    }

    /* Reset dropdown positioning inside the cloned navigation. */
    .custom-mobile-nav-wrapper .custom-mobile-nav ul ul {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background-color: rgba(0, 0, 0, 0.03);
        box-shadow: none !important;
        transform: none !important;
    }

    .custom-mobile-nav-wrapper .custom-mobile-nav ul ul li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .custom-mobile-nav-wrapper .custom-mobile-nav ul ul a {
        padding-left: 35px !important;
    }

    .custom-mobile-nav-wrapper .custom-mobile-nav ul ul ul a {
        padding-left: 50px !important;
    }
}

/* Keep this after the max-width: 991px rules to preserve the original
   cascade at the exact 991px boundary. */
@media (max-width: 1199px) and (min-width: 991px) {
    .d-md-flex.flex-row-reverse .ppt-customsidebar,
    #page-content-wrapper .ppt-customsidebar {
        flex: 0 0 35%;
        max-width: 35%;
        padding-right: 15px !important;
        -ms-flex: 0 0 35%;
    }

    body.wp-child-theme-DT10-waltswine .col-lg-9 {
        flex: 0 0 65%;
        max-width: 65%;
        -ms-flex: 0 0 65%;
    }
}

@media (max-width: 992px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm {
        width: 95% !important;
        max-width: none !important;
    }

    .ppt-page-body::before,
    .page-template-tpl-page-account header + .container::before {
        width: 95% !important;
        max-width: none !important;
    }
}

@media (max-width: 768px) {
    section[data-ppt-blocktype="footer"]
    .footer-txt-light.py-3
    .container
    .row {
        text-align: center;
    }
}

@media (max-width: 767px) {
    .walts-directory-search {
        grid-template-columns: 1fr;
        gap: 8px;
        max-width: none;
        min-height: 0;
        overflow: visible;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .walts-directory-search__input,
    .walts-directory-search__select,
    .walts-directory-search__button {
        width: 100%;
        height: 48px;
        min-height: 48px;
        border: 1px solid #d7d7d7;
        border-radius: 5px;
    }

    .walts-directory-search__select {
        border-left: 1px solid #d7d7d7;
    }

    .walts-directory-search__button {
        min-width: 100%;
    }
}
.single-breadcrumbs{
    display: none;
}

.single-listing_type .main-container {
    background: #fff;
}

.single-listing_type #recommended {
    margin-top: 0 !important;
}

.error404 #main .container>.row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 3em 0;
}

[data-ppt-btn]:not(.btn-system){
    overflow: hidden;
}

.featured-listing-carousel-wrapper section[id*="featured-listing-carousel"] .container {
    overflow: hidden;
}

/*
 * Walt's Wine
 * WP Go Maps / Google Maps compatibility fix
 * Map ID: 8
 */

/* ---------------------------------------------------------
 * 1. Winery marker fix
 * --------------------------------------------------------- */

div[id*=wpgmza_map_] .gm-style div[style*="width: 26px"][style*="height: 37px"][style*="overflow: hidden"] {
    width: 26px !important;
    min-width: 26px !important;
    max-width: none !important;

    height: 37px !important;
    min-height: 37px !important;
    max-height: none !important;

    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
}

div[id*=wpgmza_map_] .gm-style img[src*="spotlight-poi3.png"] {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;

    width: 26px !important;
    min-width: 26px !important;
    max-width: none !important;

    height: 37px !important;
    min-height: 37px !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;

    object-fit: fill !important;

    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
}


/* ---------------------------------------------------------
 * 2. Restore Google Maps control buttons
 * --------------------------------------------------------- */

div[id*=wpgmza_map_] .gm-style .gm-control-active {
    padding: 0 !important;
    margin: 0 !important;
    line-height: normal !important;
    text-indent: 0 !important;
}


/*
 * Google places multiple state icons inside each control.
 * They must occupy the exact same position rather than
 * stacking vertically.
 */
div[id*=wpgmza_map_] .gm-style .gm-control-active > img {
    position: absolute !important;

    left: 50% !important;
    top: 50% !important;

    margin: 0 !important;
    padding: 0 !important;

    max-width: none !important;
    max-height: none !important;

    transform: translate(-50%, -50%) !important;

    pointer-events: none !important;

    display: none !important;
}


/* Default control icon */
div[id*=wpgmza_map_] .gm-style .gm-control-active > img:nth-child(1) {
    display: block !important;
}


/* Hover icon */
div[id*=wpgmza_map_] .gm-style .gm-control-active:hover > img:nth-child(1) {
    display: none !important;
}

div[id*=wpgmza_map_] .gm-style .gm-control-active:hover > img:nth-child(2) {
    display: block !important;
}


/* Active/clicked icon */
div[id*=wpgmza_map_] .gm-style .gm-control-active:active > img:nth-child(1),
div[id*=wpgmza_map_] .gm-style .gm-control-active:active > img:nth-child(2) {
    display: none !important;
}

div[id*=wpgmza_map_] .gm-style .gm-control-active:active > img:nth-child(3) {
    display: block !important;
}


/* Disabled icon */
div[id*=wpgmza_map_] .gm-style .gm-control-active:disabled > img {
    display: none !important;
}

div[id*=wpgmza_map_] .gm-style .gm-control-active:disabled > img:nth-child(4) {
    display: block !important;
}


/* ---------------------------------------------------------
 * 3. Fullscreen control
 * --------------------------------------------------------- */

div[id*=wpgmza_map_] .gm-fullscreen-control {
    width: 40px !important;
    height: 40px !important;

    padding: 0 !important;
    overflow: hidden !important;
}


/* ---------------------------------------------------------
 * 4. Street View / Pegman control
 * --------------------------------------------------------- */

div[id*=wpgmza_map_] .gm-svpc {
    width: 40px !important;
    height: 40px !important;

    padding: 0 !important;
    overflow: hidden !important;
}

div[id*=wpgmza_map_] .gm-svpc > div {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
}

div[id*=wpgmza_map_] .gm-svpc img {
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
 * 5. Camera / rotate / tilt controls
 * --------------------------------------------------------- */

div[id*=wpgmza_map_] gmp-internal-camera-control button,
div[id*=wpgmza_map_] .gm-tilt {
    width: 40px !important;
    height: 40px !important;

    min-width: 40px !important;
    min-height: 40px !important;

    padding: 0 !important;
    overflow: hidden !important;
}


/* ---------------------------------------------------------
 * 6. Standard zoom controls
 * --------------------------------------------------------- */

div[id*=wpgmza_map_] .gmnoprint button.gm-control-active {
    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
 * 7. Do not allow theme image rules inside Google controls
 * --------------------------------------------------------- */

div[id*=wpgmza_map_].gm-style button img,
div[id*=wpgmza_map_] .gm-style .gmnoprint img {
    max-width: none !important;
    max-height: none !important;
}

.wp-theme-DT10 .ppt-star-rating .bg-primary:not(.text-warning) {
    color: #ffffff !important;
    background: #b9b9b9 !important;
    border: 1px solid #000;
}

.panel-body .ppt-single-datafields {
    border: 1px solid var(--ppt-border-grey);
    padding-top: 70px;
    position: relative;
}


.panel-body .ppt-single-datafields:before {
    content: 'Details';
    padding: 10px 30px;
    position: absolute;
    top: 0;
    width: 100%;
    border-bottom: 1px solid var(--ppt-border-grey);
    font-weight: 600;
}