/* Vergiotis - header / mobile header / drill menu / footer / filters
   (client feedback round 2). Loaded after the theme + customizer CSS. */

/* ===== Desktop header ===================================================== */
.vg-usp-bar {
    background: var(--vg-brand);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .02em;
}
.vg-usp-list {
    display: flex;
    justify-content: center;
    gap: 56px;
    margin: 0;
    padding: 7px 0;
    list-style: none;
}
.vg-usp-list li {
    display: flex;
    align-items: center;
    gap: 6px;
}
.vg-usp-list .material-icons {
    font-size: 16px;
    color: #fff;
}
#header .vg-header .tvcmsdesktop-top-second {
    padding: 0;
    border-bottom: 1px solid var(--vg-border);
}
.vg-header-main {
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 16px 0;
}
#header .vg-header-logo {
    flex: 0 0 auto;
    padding: 0;
}
#header .vg-header-logo .logo {
    height: 46px;
    width: auto;
    max-width: none;
}

/* "Προϊόντα" pill = the drill menu trigger (module: zomlmm) */
.vg-header-menu-btn {
    flex: 0 0 auto;
}
.vg-header-menu-btn .zomlmmTrigger,
.vg-mobile-menu-btn .zomlmmTrigger {
    display: inline-flex !important; /* theme #header button rule forces inline-block */
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 46px;
    margin: 0;
    padding: 0 22px;
    border: 0;
    border-radius: 50px;
    background: var(--vg-brand) !important;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    cursor: pointer;
}
.vg-header-menu-btn .zomlmmTrigger:hover,
.vg-mobile-menu-btn .zomlmmTrigger:hover {
    background: var(--vg-brand-dark) !important;
    opacity: 1;
}
.vg-header-menu-btn .zomlmmTrigger .hamburger-box,
.vg-mobile-menu-btn .zomlmmTrigger .hamburger-box {
    display: none;
}
.vg-header-menu-btn .zomlmmTrigger::before,
.vg-mobile-menu-btn .zomlmmTrigger::before {
    content: "\E5D2";
    font-family: 'Material Icons';
    font-size: 24px;
    line-height: 1;
    font-weight: 400;
    text-transform: none;
}
.vg-header-menu-btn .zomlmmTrigger .hamburger-label {
    display: inline;
    margin: 0;
    padding: 0;
    color: #fff;
    font: inherit;
    text-transform: inherit;
}

/* Search: the tvcmssearch inline form, restyled as one big rounded field */
.vg-header-search {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 680px;
    margin: 0 auto;
    position: relative;
}
#header .vg-header-search .tvcmssearch-wrapper,
#header .vg-mobile-search .tvcmssearch-wrapper {
    padding: 0;
}
#header .vg-header .tvheader-sarch-display,
#header .vg-mobile-header .tvheader-sarch-display,
#header .vg-mobile-header .tvsearch-close {
    display: none;
}
#header .vg-header .tvsearch-header-display-wrappper,
#header .vg-mobile-header .tvsearch-header-display-wrappper {
    position: relative;
    display: block;
    opacity: 1;
    visibility: visible;
    transform: none;
    width: 100%;
    padding: 0;
    background: transparent;
    box-shadow: none;
}
#header .vg-header .tvsearch-header-display-wrappper form,
#header .vg-mobile-header .tvsearch-header-display-wrappper form {
    display: flex;
    align-items: center;
    border: 2px solid var(--vg-brand);
    border-radius: 50px;
    overflow: hidden;
    background: #fff;
}
#header .vg-header .tvheader-top-search,
#header .vg-mobile-header .tvheader-top-search {
    flex: 1 1 auto;
    min-width: 0;
}
#header .vg-header .tvcmsheader-search form input[type=text],
#header .vg-mobile-header .tvcmsheader-search form input[type=text] {
    width: 100%;
    height: 44px;
    border: 0;
    padding: 0 20px;
    font-size: 14px;
    background: transparent;
}
#header .vg-header .tvcmsheader-search form .tvheader-search-btn,
#header .vg-mobile-header .tvcmsheader-search form .tvheader-search-btn,
#header .vg-mobile-header .tvcmsheader-search form button[type=submit] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 44px;
    border: 0;
    padding: 0;
    background: var(--vg-brand);
    cursor: pointer;
}
#header .vg-header .tvcmsheader-search form button[type=submit] svg path,
#header .vg-mobile-header .tvcmsheader-search form button[type=submit] svg path {
    stroke: #fff;
    fill: #fff;
}
#header .vg-header .tvcmsheader-search form button[type=submit] svg,
#header .vg-mobile-header .tvcmsheader-search form button[type=submit] svg {
    width: 22px;
    height: 22px;
}
#header .vg-mobile-header .tvcmsheader-search .tvcms-select-category {
    display: none;
}
#header .vg-header .tvsearch-result,
#header .vg-mobile-header .tvsearch-result {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 200;
}

/* Phone */
.vg-header-phone {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--vg-text);
    font-size: 16px;
    font-weight: 700;
    white-space: nowrap;
}
.vg-header-phone:hover {
    color: var(--vg-brand);
    text-decoration: none;
}
.vg-header-phone .material-icons {
    color: var(--vg-brand);
    font-size: 26px;
}

/* Icons: wishlist / account / cart */
#header .vg-header-icons {
    flex: 0 0 auto;
    padding: 0;
}
#header .vg-header-icons .tv-contact-account-cart-wrapper {
    display: flex;
    align-items: center;
    gap: 22px;
    float: none;
}
#header .vg-header-wishlist .tvcmsdesktop-view-wishlist {
    float: none;
    padding: 0;
    margin: 0;
}
#header .vg-header-wishlist .tvdesktop-wishlist {
    display: block;
    position: relative;
    color: var(--vg-text);
}
#header .vg-header-wishlist .tvwishlist-icon .material-icons {
    font-size: 28px;
    line-height: 1;
    color: var(--vg-text);
}
#header .vg-header-wishlist .tvwishlist-name span:first-child {
    display: none;
}
#header .vg-header-wishlist .tvwishlist-number,
#header .vg-header-icons .blockcart .blockcart__count,
#header .vg-mobile-icons .blockcart .blockcart__count {
    position: absolute;
    top: -8px;
    right: -10px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: var(--vg-brand);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
}
#header .vg-header-wishlist .tvwishlist-name {
    position: absolute;
    top: 0;
    right: 0;
}
#header .vg-header-wishlist .tvwishlist-number {
    top: -8px;
    right: -6px;
}
#header .vg-header-icons #tvcmsdesktop-account-button .tv-myaccount-btn {
    display: block;
    padding: 0;
    line-height: 1;
}
#header .vg-header-icons #tvcmsdesktop-account-button .tv-myaccount-btn .material-icons {
    font-size: 30px;
    color: var(--vg-text);
}
#header .vg-header-icons .tvcms-header-cart,
#header .vg-mobile-icons .tvcms-header-cart {
    margin: 0;
}
#header .vg-header-icons .xyblockcart-container,
#header .vg-mobile-icons .xyblockcart-container {
    float: none;
    margin: 0;
}
#header .vg-header-icons .blockcart .shopping-cart a,
#header .vg-mobile-icons .blockcart .shopping-cart a {
    display: block;
    position: relative;
    line-height: 1;
}
#header .vg-header-icons .blockcart .blockcart__icon,
#header .vg-mobile-icons .blockcart .blockcart__icon {
    font-size: 30px;
    color: var(--vg-text);
}

/* ===== Mobile header ====================================================== */
#header .vg-mobile-header {
    background: #fff;
    border-bottom: 1px solid var(--vg-border);
}
.vg-mobile-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 15px;
}
.vg-mobile-menu-btn .zomlmmTrigger {
    height: 40px;
    width: 40px;
    padding: 0;
    justify-content: center;
}
.vg-mobile-menu-btn .zomlmmTrigger .hamburger-label {
    display: none;
}
.vg-mobile-logo {
    flex: 1 1 auto;
    min-width: 0;
    text-align: center;
}
.vg-mobile-logo .logo {
    height: 34px;
    width: auto;
    max-width: 100%;
}
.vg-mobile-icons {
    display: flex;
    align-items: center;
    gap: 16px;
}
.vg-mobile-icons .material-icons,
.vg-mobile-icons .tvwishlist-icon .material-icons,
#header .vg-mobile-icons .blockcart .blockcart__icon {
    font-size: 26px;
    color: var(--vg-text);
    line-height: 1;
}
.vg-mobile-account {
    display: block;
    line-height: 1;
}
.vg-mobile-search {
    padding: 0 15px 10px;
}
#header .vg-mobile-header .tvcmsheader-search form input[type=text] {
    height: 40px;
}
#header .vg-mobile-header .tvcmsheader-search form button[type=submit] {
    height: 40px;
    width: 52px;
}

/* ===== Drill menu (zomlmm): taller, airier rows ============================ */
.zomlmm ul > li > a {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 56px;
    padding: 12px 44px 12px 20px;
    border-bottom: 1px solid #eee;
    font-size: 15px;
    font-weight: 600;
    font-family: inherit;
}
.zomlmm ul > li > a .img-zomlmm-item {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex: 0 0 auto;
}
.zomlmm ul > li.has-submenu > a {
    background-position: right 18px center;
}
.zomlmm ul > li > a:hover {
    background-color: #f4f7fb;
    color: var(--vg-brand);
}
.zomlmm .submenu-header > a,
.zomlmm .subheader .subheader-text a {
    font-family: inherit;
    font-size: 15px;
}
#header .vg-header .tvsearch-top-wrapper,
#header .vg-mobile-header .tvsearch-top-wrapper {
    padding: 0;
    margin: 0;
}
#header .vg-mobile-logo .tv-header-logo {
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
}

/* ===== Category page: filters sidebar =====================================
   The theme keeps #left-column as a hidden off-canvas panel with a toggle in
   the toolbar. Desktop: make it a real sidebar (filters only, other left-column
   modules were unhooked). Mobile: keep it as a drawer behind a "Φίλτρα" button. */
#left-column .tvsearch-filter-content-wrapper {
    display: block;
}
#left-column .facet {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0 0 8px;
    border-top: 1px solid var(--vg-border);
}
#left-column .facet .facet-title {
    margin: 0;
    padding: 14px 0 8px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--vg-text);
}
#left-column .facet .tvfilter-search-types-dropdown {
    padding: 0 0 12px;
    max-height: 260px;
    overflow-y: auto;
}
#left-column .facet .tvfilter-search-types-dropdown li {
    padding: 4px 0;
}
#left-column .facet .facet-label {
    font-size: 14px;
    color: var(--vg-text);
}
#left-column .facet .magnitude {
    color: var(--vg-muted);
}
#left-column .tvsearch-filter-button-wrapper {
    margin-bottom: 10px;
}
#left-column .js-search-filters-clear-all {
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
}
@media (min-width: 992px) {
    body#category .tvcms-left-column-wrapper {
        display: none;
    }
    body#category #left-column.tv-left-right-panel-hide,
    body#category #left-column.tv-left-right-panel-hide.open {
        position: static;
        left: auto;
        top: auto;
        z-index: auto;
        height: auto;
        overflow: visible;
        opacity: 1;
        padding: 0 15px;
        background: transparent;
        flex: 0 0 25%;
        max-width: 25%;
    }
    body#category #left-column .tvleft-column-remove {
        display: none;
    }
    body#category #content-wrapper {
        flex: 0 0 75%;
        max-width: 75%;
    }
}
@media (min-width: 1400px) {
    body#category #left-column.tv-left-right-panel-hide {
        flex: 0 0 21%;
        max-width: 21%;
    }
    body#category #content-wrapper {
        flex: 0 0 79%;
        max-width: 79%;
    }
}
@media (max-width: 991px) {
    body#category .tvcms-left-column-wrapper {
        display: block;
        width: auto;
        margin-right: 12px;
    }
    body#category .tvcms-left-column-wrapper .tv-left-pannal-btn-wrapper {
        width: auto;
        overflow: visible;
        border: 0;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        height: 40px;
        padding: 0 18px;
        border-radius: 50px;
        background: var(--vg-brand);
        color: #fff;
        font-weight: 700;
        cursor: pointer;
    }
    body#category .tvcms-left-column-wrapper .tv-left-pannal-btn-wrapper span {
        display: inline;
        color: #fff;
        font-size: 13px;
        text-transform: uppercase;
    }
    body#category .tvcms-left-column-wrapper .tv-left-pannal-btn-wrapper svg rect {
        fill: #fff;
    }
    body#category #left-column {
        position: fixed;
        top: 0;
        left: -110%;
        width: min(360px, 90vw);
        height: 100%;
        overflow-y: auto;
        z-index: 9999;
        padding: 56px 15px 20px;
        background: #fff;
        box-shadow: 0 0 30px rgba(0, 0, 0, .2);
        transition: left .3s ease;
    }
    body#category #left-column.open {
        left: 0;
    }
    body#category #left-column .tvleft-column-remove .tvleft-column-close-btn {
        position: absolute;
        top: 8px;
        right: 8px;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #f1f1f1;
        cursor: pointer;
        z-index: 2;
    }
    /* the collapsible facet headers the theme uses on small screens */
    #left-column .facet .title.tvfilter-search-types-title {
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
    }
}

/* ===== Footer ============================================================= */
.vg-footer .tvcmsfooter-background-image {
    background-color: #22303f;
}
.vg-footer .tvfooter-storelogo-imformation {
    padding: 50px 0 30px;
}
.vg-footer .tvfooter-title {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.vg-footer .vg-footer-line {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.5;
    color: #fff;
}
.vg-footer .vg-footer-line .material-icons {
    flex: 0 0 auto;
    font-size: 20px;
    color: #9fb8d6;
}
.vg-footer .vg-footer-line a {
    color: #fff;
}
.vg-footer .vg-footer-line a:hover {
    color: #9fb8d6;
}
.vg-footer .tvfooter-copy-payment-icon-wrapper {
    background-color: var(--vg-brand);
    border-top: 0;
}
.vg-footer .tvfooter-copy-payment-icon-inner {
    align-items: center;
}
.vg-footer .tvcopylink p {
    margin: 0;
    color: #fff;
    font-size: 13px;
}
.vg-footer .tvfooter-payment-icon-img-block {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
}
.vg-footer .tvfooter-payment-icon-img-block .tvcms-main-title {
    display: none;
}
.vg-footer .tvfooter-payment-icon-img-block .tvfooter-payment-icon-wrapper {
    margin: 0;
}
.vg-footer .tbigrpayment-footer-logo {
    margin: 0;
    padding: 4px 8px;
    border-radius: 4px;
    background: #fff;
}
.vg-footer .tbigrpayment-footer-logo img {
    max-height: 22px;
}
.vg-footer .tvbottom-to-top {
    display: none;
}

/* narrow desktops: give the search bar room */
@media (min-width: 992px) and (max-width: 1199px) {
    .vg-header-main {
        gap: 16px;
    }
    #header .vg-header-logo .logo {
        height: 38px;
    }
    .vg-header-menu-btn .zomlmmTrigger {
        padding: 0 14px;
    }
    .vg-header-phone span {
        display: none;
    }
    #header .vg-header-icons .tv-contact-account-cart-wrapper {
        gap: 16px;
    }
}

/* search submit: round pill floating inside the field instead of a square block */
#header .vg-header .tvcmsheader-search form .tvheader-search-btn,
#header .vg-mobile-header .tvcmsheader-search form .tvheader-search-btn,
#header .vg-mobile-header .tvcmsheader-search form button[type=submit] {
    width: 42px;
    height: 34px;
    margin: 0 4px 0 0;
    border-radius: 50px;
}
#header .vg-mobile-header .tvcmsheader-search form button[type=submit] {
    width: 40px;
    height: 32px;
}
#header .vg-header .tvcmsheader-search form button[type=submit] svg,
#header .vg-mobile-header .tvcmsheader-search form button[type=submit] svg {
    width: 18px;
    height: 18px;
}

/* compact header: strip theme paddings that inflate the row, align the menu label */
.vg-usp-list {
    padding: 5px 0;
}
.vg-header-main {
    padding: 10px 0;
}
#header .vg-header-logo .tv-header-logo {
    padding: 0;
    margin: 0;
    display: block;
}
#header .vg-header-logo .logo {
    height: 40px;
}
#header .vg-header-icons .tv-account-wrapper {
    padding: 0;
    margin: 0;
}
#header .vg-header .tvheader-top-search-wrapper,
#header .vg-mobile-header .tvheader-top-search-wrapper {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
}
.vg-header-menu-btn .zomlmmTrigger,
.vg-mobile-menu-btn .zomlmmTrigger {
    height: 42px;
    line-height: 1;
}
.vg-header-menu-btn .zomlmmTrigger .hamburger-label {
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
}
.vg-header-menu-btn .zomlmmTrigger::before,
.vg-mobile-menu-btn .zomlmmTrigger::before {
    font-size: 22px;
}

/* search submit: plain material "search" glyph in the brand colour, no background */
#header .vg-header .tvcmsheader-search form .tvheader-search-btn,
#header .vg-mobile-header .tvcmsheader-search form .tvheader-search-btn,
#header .vg-mobile-header .tvcmsheader-search form button[type=submit] {
    width: 48px;
    height: 42px;
    margin: 0;
    background: transparent;
    color: var(--vg-brand);
}
#header .vg-header .tvcmsheader-search form button[type=submit] svg,
#header .vg-mobile-header .tvcmsheader-search form button[type=submit] svg {
    display: none;
}
#header .vg-header .tvcmsheader-search form button[type=submit]::before,
#header .vg-mobile-header .tvcmsheader-search form button[type=submit]::before {
    content: "\E8B6";
    font-family: 'Material Icons';
    font-size: 26px;
    line-height: 1;
    color: var(--vg-brand);
}
#header .vg-header .tvcmsheader-search form input[type=text],
#header .vg-mobile-header .tvcmsheader-search form input[type=text] {
    height: 42px;
}
#header .vg-header .tvsearch-header-display-wrappper form,
#header .vg-mobile-header .tvsearch-header-display-wrappper form {
    border-width: 1px;
    border-color: var(--vg-brand);
}
#header .vg-header .tvcmsdesktop-top-second {
    min-height: 0;
}
