.lmt-widget,
.lmt-overview {
    --lmt-shop-accent: var(--primary, #f8bf00);
    --lmt-accent: var(--lmt-shop-accent);
    --lmt-accent-border: var(--lmt-accent);
    --lmt-accent-bg: rgba(248, 191, 0, .14);
    --lmt-accent-text: var(--lmt-primary-dark, #444);
}

@supports (color: color-mix(in srgb, #000 50%, #fff)) {
    .lmt-widget,
    .lmt-overview {
        --lmt-accent-border: color-mix(in srgb, var(--lmt-shop-accent) 78%, #1f1f1f);
        --lmt-accent-bg: color-mix(in srgb, var(--lmt-shop-accent) 18%, #fff);
        --lmt-accent-text: color-mix(in srgb, var(--lmt-shop-accent) 46%, #222);
        --lmt-border: color-mix(in srgb, var(--lmt-shop-accent) 40%, #fff);
    }
}

.lmt-widget {
    --lmt-widget-top: clamp(210px, 36vh, 320px);
    --lmt-widget-center: calc(var(--lmt-widget-top) + 168px);
    --lmt-primary: #b1c903;
    --lmt-primary-hover: #a6bd03;
    --lmt-primary-dark: #9bb103;
    --lmt-tab-text: #2f3500;
    --lmt-accent-border: var(--lmt-primary-dark);
    --lmt-accent-bg: rgba(177, 201, 3, .16);
    --lmt-accent-text: var(--lmt-tab-text);
    --lmt-text: var(--gray-darker, #4d4d4d);
    --lmt-muted: var(--gray, #666);
    --lmt-border: rgba(85, 85, 85, .18);
    --lmt-flyout-bg: #c9d363;
    --lmt-flyout-text: #2f3500;
    --lmt-flyout-muted: rgba(47, 53, 0, .74);
    --lmt-flyout-divider: rgba(47, 53, 0, .2);
    position: fixed;
    left: 0;
    top: var(--lmt-widget-center);
    z-index: 1040;
    font-family: inherit;
    pointer-events: none;
}

.lmt-panel {
    display: flex;
    align-items: stretch;
    transform: translate(calc(-100% + 40px), -50%);
    transition: transform .22s ease;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .18));
    pointer-events: auto;
}

.lmt-panel:hover,
.lmt-panel:focus-within {
    transform: translate(0, -50%);
}

.lmt-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    min-height: 206px;
    padding: 0px;
    background: var(--lmt-primary);
    color: var(--lmt-tab-text);
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
}

.lmt-tab:hover,
.lmt-tab:focus {
    color: var(--lmt-tab-text);
    text-decoration: none;
    background: var(--lmt-primary-hover);
}

.lmt-tab span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    transform-origin: center;
    white-space: nowrap;
    line-height: 1.25;
}

.lmt-flyout {
    display: flex;
    flex-direction: column;
    width: 330px;
    min-height: min(360px, calc(100vh - 48px));
    max-height: min(645px, calc(100vh - 48px));
    overflow: hidden;
    background: var(--lmt-flyout-bg);
    border: 1px solid var(--lmt-primary-dark);
    border-top: 0;
    border-left: 0;
    padding: 16px;
    color: var(--lmt-flyout-text);
}

.lmt-heading {
    margin: 0 0 10px;
    color: var(--lmt-flyout-text);
    font-size: 17px;
    font-weight: 700;
}

.lmt-list {
    flex: 0 1 auto;
    list-style: none;
    margin: 0;
    min-height: 0;
    overflow-y: auto;
    padding: 0 4px 0 0;
}

.lmt-list li + li {
    border-top: 1px solid var(--lmt-flyout-divider);
}

.lmt-list a {
    display: block;
    padding: 9px 0;
    color: var(--lmt-flyout-text);
    text-decoration: none;
}

.lmt-list a:hover,
.lmt-list a:focus {
    color: #000;
    text-decoration: none;
}

.lmt-name {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    font-weight: 600;
    line-height: 1.35;
}

.lmt-date {
    display: none;
}

.lmt-empty {
    margin: 0;
    color: var(--lmt-flyout-muted);
}

.lmt-more {
    display: inline-block;
    margin-top: 12px;
    color: var(--lmt-flyout-text);
    font-weight: 700;
    text-decoration: none;
}

.lmt-more:hover,
.lmt-more:focus {
    color: #000;
    text-decoration: underline;
}

.lmt-mobile {
    display: none;
    pointer-events: auto;
}

.lmt-overview {
    --lmt-primary: var(--secondary, #555);
    --lmt-primary-dark: #444;
    --lmt-text: var(--gray-darker, #4d4d4d);
    --lmt-muted: var(--gray, #666);
    position: relative;
    z-index: 0;
}

.lmt-overview-header {
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(85, 85, 85, .14);
    position: relative;
    z-index: 0;
}

.lmt-overview-header p {
    max-width: 860px;
    margin: 0;
    color: #111;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.45;
}

.lmt-overview-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px 18px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(85, 85, 85, .14);
}

.lmt-overview-count {
    color: var(--lmt-muted);
    font-weight: 600;
}

.lmt-overview-controls {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.lmt-overview-dropdown .dropdown-menu {
    min-width: 180px;
}

.lmt-product-list {
    margin-top: 0;
    row-gap: 22px;
}

.lmt-product-wrapper {
    display: flex;
    flex-direction: column;
    margin-bottom: 12px;
    padding-bottom: 0;
    overflow: visible;
}

.lmt-product-wrapper .productbox {
    /* flex: 1 1 auto; */
    min-height: 0;
}

.lmt-product-meta {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: stretch;
    gap: 7px;
    margin-top: 8px;
    min-height: 66px;
    color: var(--lmt-muted);
    font-size: 13px;
    line-height: 1.35;
    position: relative;
    z-index: 2;
}

.lmt-product-date {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border: 1px solid var(--lmt-accent-border);
    border-radius: 3px;
    background: var(--lmt-accent-bg);
    color: var(--lmt-accent-text);
    font-weight: 700;
}

.lmt-product-free {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    min-width: 0;
    justify-content: center;
    padding: 3px 10px;
    border: 1px solid #111;
    border-radius: 0;
    background: #fff;
    color: #111;
    font-weight: 600;
}

.lmt-product-status {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 16px;
    color: #111;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
}

.lmt-product-status--reached {
    background: #b8ed08;
}

.lmt-product-status--with-booking {
    background: #ffc20a;
}

.lmt-overview-pagination {
    display: flex;
    justify-content: center;
    margin-top: 18px;
}

.lmt-overview-list {
    display: grid;
    gap: 12px;
}

.lmt-overview-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(85, 85, 85, .16);
}

.lmt-overview-item h2 {
    margin: 0 0 6px;
    font-size: 19px;
    line-height: 1.35;
}

.lmt-overview-item h2 a {
    color: var(--lmt-text);
    text-decoration: none;
}

.lmt-overview-item h2 a:hover,
.lmt-overview-item h2 a:focus {
    color: var(--lmt-primary-dark);
}

.lmt-overview-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0;
    color: var(--lmt-muted);
}

.lmt-overview-link {
    flex: 0 0 auto;
    max-width: 220px;
    padding: 9px 12px;
    background: var(--lmt-primary);
    color: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 3px;
}

.lmt-overview-link:hover,
.lmt-overview-link:focus {
    background: var(--lmt-primary-dark);
    color: #fff;
    text-decoration: none;
}

.lmt-overview-empty {
    color: var(--lmt-muted);
}

@media (max-width: 767px) {
    .lmt-widget {
        top: auto;
        right: 12px;
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        left: auto;
        z-index: 900;
    }

    .smoothscroll-top.go-to-top.scroll-to-top {
        bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
        transform: none !important;
        transition-property: opacity !important;
        transition-duration: .5s !important;
        transition-timing-function: ease-in-out !important;
        transition-delay: .2s !important;
    }

    .smoothscroll-top.go-to-top.scroll-to-top.show {
        bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
        transform: none !important;
    }

    .lmt-panel {
        display: none;
    }

    .lmt-mobile {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        max-width: calc(100vw - 112px);
        padding: 9px 12px;
        background: var(--lmt-primary);
        color: var(--lmt-tab-text);
        border-radius: 4px;
        font-weight: 700;
        line-height: 1.2;
        text-decoration: none;
        box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
    }

    .lmt-mobile:hover,
    .lmt-mobile:focus {
        background: var(--lmt-primary-hover);
        color: var(--lmt-tab-text);
        text-decoration: none;
    }

    .lmt-overview-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .lmt-overview-controls {
        justify-content: flex-start;
    }

    .lmt-overview-header p {
        font-size: 15px;
    }

    .lmt-product-meta {
        grid-template-columns: 1fr;
    }

    .lmt-product-date,
    .lmt-product-free {
        display: flex;
        justify-content: center;
        width: 100%;
        text-align: center;
        white-space: nowrap;
    }

    .lmt-product-status {
        padding: 6px;
        overflow-wrap: anywhere;
        word-break: break-word;
        hyphens: auto;
    }

    .lmt-overview-dropdown {
        max-width: 100%;
    }

    .lmt-overview-dropdown .btn {
        max-width: 100%;
        white-space: normal;
        text-align: left;
    }

    .lmt-overview-item {
        display: block;
    }

    .lmt-overview-link {
        display: inline-block;
        max-width: 100%;
        margin-top: 10px;
    }
}
