/*
Theme Name: OmniCanvas
Theme URI: https://www.livetech.co.uk
Author: Livetech
Author URI: https://www.livetech.co.uk
Description: Livetech Parent Theme
Version: 0.38.4.64
License: GNU General Public License v3 or later
License URI: https://www.livetech.co.uk
Tags: 
Text Domain: lt-omnicanvas 

Table of Contents
--------------------------------------------------------------
    1. :root Variables
    2. Globals
    3. Formatting
    4. Flex
    5. Accordion
    6. Accessibility
-------------------------------------------------------------- */

:root {
    --wp--style--block-gap: var(--wp--custom--gap);
    --wp--custom--block-gap: var(--wp--custom--gap);
    --wp--preset--font-size--normal: var(--wp--preset--font-size--medium);
    --wp--preset--font-size--huge: var(--wp--preset--font-size--x-large);
}

/* =Globals
-------------------------------------------------------------- */
/* Remove top margin from .is-layout-flow direct children in header */
header :where(.is-layout-flow)>* {
    margin-top: 0 !important;
}

/* Remove bottom margin from group blocks in header by default */
header .wp-block-group {
    margin-bottom: 0 !important;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    padding: 0;
    margin: 0;
    font-optical-sizing: auto;
}

p,
ul,
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
    margin-top: 0;
}

p:last-child,
ul:last-child,
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child {
    margin-bottom: 0;
}

a {
    transition: opacity 0.25s ease;
}

/* Only apply opacity to plain links, not button styles */
a:not(.wp-element-button):not(.lt-button):not(.button):hover {
    opacity: 0.75;
}

img {
    max-width: 100%;
    height: auto;
}

.sticky {
    position: sticky;
    top: 0;
    z-index: 999;
}

.text-center,
.has-text-align-center,
[data-text-align="center"] {
    text-align: center;
}

.text-right,
.has-text-align-right,
[data-text-align="right"] {
    text-align: right;
}

.full-height {
    height: 100vh;
}

figure {
    margin: 0;
}

iframe {
    display: block;
}

select {
    padding: 5px;
    font-family: var(--wp--preset--font-family--primary-font);
}

/* Buttons */
.lt-button,
.wp-element-button,
.gform_footer input[type="submit"],
.button,
button,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce .wp-block-add-to-cart-form button.alt,
.woocommerce a.button,
.woocommerce #respond input#submit,
button.search-filter-input-button {
    font-family: inherit;
    font-size: inherit;
    color: #fff;
    background-color: var(--wp--preset--color--primary-brand);
    border: 2px solid var(--wp--preset--color--primary-brand);
    border-radius: 0;
    padding: 10px 20px;
    cursor: pointer;
    line-height: inherit;
    font-weight: inherit;
    transition: all 0.25s ease !important;
    -webkit-tap-highlight-color: transparent;
    display: inline-block;
}

button.search-filter-input-button--hidden {
    display: none;
}

.lt-button:hover,
.wp-element-button:hover,
.gform_footer input[type="submit"]:hover,
.button:hover,
button:hover,
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce .wp-block-add-to-cart-form button.alt:hover,
.woocommerce a.button:hover,
.woocommerce #respond input#submit:hover,
button.search-filter-input-button:hover:not(.is-disabled):not(.search-filter-input-button--is-selected) {
    border: 2px solid var(--wp--preset--color--primary-brand);
    background-color: var(--wp--preset--color--secondary-brand);
    color: #fff;
}

.lt-button.alt,
.button.alt,
button.alt,
.is-style-alt-fill .wp-element-button,
.woocommerce .is-style-alt-fill.wp-block-add-to-cart-form button.alt {
    background-color: var(--wp--preset--color--secondary-brand);
    border: 2px solid var(--wp--preset--color--secondary-brand);
}

.lt-button.alt:hover,
.button.alt:hover,
button.alt:hover,
.is-style-alt-fill .wp-element-button:hover,
.woocommerce .is-style-alt-fill.wp-block-add-to-cart-form button.alt:hover {
    background-color: var(--wp--preset--color--primary-brand);
    color: #fff;
}

.lt-button.outline,
.button.outline,
.is-style-outline .wp-element-button,
.woocommerce .is-style-outline.wp-block-add-to-cart-form button.alt {
    background-color: transparent;
    color: var(--wp--preset--color--primary-brand);
}

.lt-button.outline:hover,
.button.outline:hover,
.is-style-outline .wp-element-button:hover,
.woocommerce .is-style-outline.wp-block-add-to-cart-form button.alt:hover {
    background-color: var(--wp--preset--color--secondary-brand);
    color: #fff;
}

.lt-button.alt-outline,
.button.alt-outline,
button.alt-outline,
.is-style-alt-outline .wp-element-button,
.woocommerce .is-style-alt-outline.wp-block-add-to-cart-form button.alt {
    background-color: transparent;
    border: 2px solid var(--wp--preset--color--secondary-brand);
    color: var(--wp--preset--color--secondary-brand);
}

.lt-button.alt-outline:hover,
.button.alt-outline:hover,
button.alt-outline:hover,
.is-style-alt-outline .wp-element-button:hover,
.woocommerce .is-style-alt-outline.wp-block-add-to-cart-form button.alt:hover {
    background-color: var(--wp--preset--color--primary-brand);
    color: #fff;
}

/* =Formatting 
-------------------------------------------------------------- */
section.entry-content> :not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright),
.acf-innerblocks-container:not(.alignfull)> :not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright) {
    width: var(--wp--style--global--content-size);
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
}

body:not(.no-top-padding) section.entry-content {
    padding-top: var(--wp--preset--spacing--medium);
}

body:not(.no-bottom-padding) section.entry-content {
    padding-bottom: var(--wp--preset--spacing--medium);
}

section.entry-content> :last-child {
    margin-bottom: 0;
}

.is-style-alignwide,
.alignwide {
    width: var(--wp--style--global--wide-size);
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.is-style-alignfull,
.alignfull,
.acf-innerblocks-container {
    width: 100%;
    max-width: unset;
}

.acf-innerblocks-container>*:first-child {
    margin-top: 0;
}

.acf-innerblocks-container>*:last-child {
    margin-bottom: 0;
}

/* =Flex */
.flex,
ul.products {
    display: flex;
    gap: var(--wp--custom--gap);
}

.flex .full {
    flex: 0 0 100%;
}

.flex .half {
    width: calc(50% - var(--wp--custom--gap) / 2);
}

.flex .fifth {
    width: calc(20% - 4 * var(--wp--custom--gap) / 5);
}

.flex .quarter {
    width: calc(25% - 3 * var(--wp--custom--gap) / 4);
}

.flex .third {
    width: calc(33.3333% - 2 * var(--wp--custom--gap) / 3);
}

.flex .two-thirds {
    width: calc(66.6667% - var(--wp--custom--gap) / 3);
}

.flex .three-quarters {
    width: calc(75% - var(--wp--custom--gap) / 4);
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-grow {
    flex-grow: 1;
}

.flex-column {
    flex-direction: column;
}

.justify-space-between {
    justify-content: space-between;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-end {
    justify-content: flex-end;
}

.align-items-start {
    align-items: flex-start;
}

.align-items-center {
    align-items: center;
}

.align-items-bottom {
    align-items: flex-end;
}

.align-items-stretch {
    align-items: stretch;
}

/* Fonts */
.has-small-font-size {
    font-size: var(--wp--preset--font-size--small) !important;
}

.has-medium-font-size {
    font-size: var(--wp--preset--font-size--medium) !important;
}

.has-large-font-size {
    font-size: var(--wp--preset--font-size--large) !important;
}

.has-x-large-font-size {
    font-size: var(--wp--preset--font-size--x-large) !important;
}

/* =Gutenberg Overrides
-------------------------------------------------------------- */
/* Media / Text */
.wp-block-media-text:not(.has-media-on-the-right)>.wp-block-media-text__content {
    padding-right: 0;
}

.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content {
    padding-left: 0;
}

.wp-block-media-text.alignfull>.wp-block-media-text__content {
    padding: 0 5%;
}


/* =Post/Term Card
-------------------------------------------------------------- */
.post-card .post-thumbnail,
.term-card .term-thumbnail {
    margin-bottom: 15px;
}

.post-card .post-thumbnail img,
.term-card .term-thumbnail img {
    width: 100%;
    min-height: 175px;
    object-fit: contain;
}

.post-card .post-content .post-title,
.term-card .term-content .term-title {
    margin-bottom: 5px;
}

.post-card .post-content .product-price,
.post-card .post-content .lt-button,
.term-card .term-content .lt-button {
    margin-top: 15px;
}

/* =Accordion
-------------------------------------------------------------- */
.accordion {
    overflow: hidden;
}

.accordion .accordion-item {
    margin-bottom: 10px;
}

.accordion .accordion-item:last-child {
    margin-bottom: 0;
}

.accordion-head {
    cursor: pointer;
    display: flex;
    background-color: var(--wp--preset--color--primary-brand);
    color: #fff;
    align-items: center;
    transition: 0.2s ease;
    padding: 15px 45px 15px 15px;
    box-sizing: border-box;
    content: "";
    background-image: url(./assets/img/icons/chevron-down-black.svg);
    background-size: cover;
    width: 30px;
    height: 30px;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transition: all 0.25s ease;
    right: 10px;
}

.accordion-head.open:after {
    transform: translateY(-50%) rotate(0deg);
}

.accordion-panel {
    box-sizing: border-box;
    padding: 20px;
}

.accordion .accordion-item:last-child .accordion-panel {
    padding-bottom: 0;
}

/* =News
--------------------------------------------------------------- */
.news-posts,
.single .single-post,
.no-posts {
    flex: 1;
}

.widget-sidebar {
    width: 250px;
    flex-shrink: 0;
}

.news-posts article {
    gap: 0;
}

.news-posts article .post-thumbnail,
.single article .post-thumbnail {
    display: block;
    width: 100%;
}

.news-posts article .post-thumbnail {
    margin-bottom: 15px;
}

.single article .post-thumbnail,
.single article #breadcrumbs,
.category #breadcrumbs {
    margin-bottom: var(--wp--preset--spacing--small);
}

.news-posts article .post-thumbnail img,
.single article .post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    transition: opacity 0.25s ease-in-out;
}

.news-posts article .post-thumbnail img:hover,
.single article .post-thumbnail img:hover {
    opacity: 0.8;
}

.news-posts article .post-title {
    font-size: var(--wp--preset--font-size--small);
}

.news-posts article .post-title,
.single article .post-title {
    margin-top: 0;
    margin-bottom: 10px;
}

.news-posts article .post-title a {
    color: #000;
}

.news-posts article .post-meta,
.single article .post-meta {
    gap: 5px;
}

#breadcrumbs {
    margin-top: 15px;
}

.news-posts article .post-meta {
    margin-bottom: 15px;
}

.news-posts article .post-meta a,
.single article .post-meta a,
#breadcrumbs a:hover {
    color: #000;
}

.news-posts article .post-meta time,
.single article .post-meta time {
    margin-bottom: 0;
}

.news-posts article .post-meta time,
.news-posts article .post-meta .meta-separator,
.news-posts article .post-meta .post-categories {
    font-size: 16px;
}

.news-posts article .post-excerpt,
.news-posts article .post-content {
    margin-bottom: var(--wp--preset--spacing--small);
}

.news-posts article .read-more {
    margin-top: auto;
}

article .post-title a:hover,
article .post-meta a:hover {
    color: var(--wp--preset--color--primary-brand);
}

.no-posts {
    margin-bottom: 0;
}

.post-navigation {
    width: 100%;
    margin-top: var(--wp--preset--spacing--small);
}

/* =Widgets
-------------------------------------------------------------- */
.widget ul {
    padding: 0;
    list-style-type: none;
}

/* =Woocommerce
-------------------------------------------------------------- */
.woocommerce ul.productss li.product .onsale,
.wc-block-components-product-sale-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--wp--preset--color--primary-brand);
    border: 1px solid var(--wp--preset--color--primary-brand);
    color: #fff;
    line-height: 1;
    min-height: 50px;
    min-width: 50px;
    border-radius: 50%;
    padding: 0;
    top: 5px;
    right: 5px;
    margin: 0;
}

.woocommerce a.added_to_cart {
    margin-left: 10px;
}

/* Product */
.woocommerce div.product form.cart {
    margin-top: var(--wp--preset--spacing--small);
}

.woocommerce .quantity .qty {
    display: block;
    border: 1px solid;
}

.woocommerce .quantity .qty:focus-visible {
    outline: 1px solid;
}

.woocommerce div.product div.summary .product_meta>* {
    display: block;
}

/* Cart */
.wc-block-cart {
    margin-bottom: 0;
}

/* Checkout */
.wc-block-checkout__actions {
    margin-bottom: 0;
}

/* =Search & Filter
-------------------------------------------------------------- */
.search-filter-query {
    margin: 0;
}

.wp-block-search-filter-control-load-more {
    margin-top: 0;
}

.wp-block-search-filter-control-load-more .search-filter-input-button,
.wp-block-search-filter-control-load-more .search-filter-input-button:last-child {
    margin: 25px auto 0;
}

.wp-block-search-filter-control-load-more .search-filter-input-button:not(.search-filter-input-button--hidden) {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

/* =Accessibility
-------------------------------------------------------------- */
.skip-link {
    position: absolute;
    top: -1000em;
    left: 6px;
    height: auto;
    width: auto;
    display: block;
    font-size: 14px;
    font-weight: 600;
    padding: 15px 23px 14px;
    background: #f0f0f1;
    color: #000;
    z-index: 100000;
    text-decoration: none;
}

.skip-link:focus {
    top: 7px;
    background: #f0f0f1;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}

button#toTopBtn {
    display: flex;
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #f0f0f1;
    opacity: 0.5;
    border: none;
    border-radius: 5px;
    padding: 15px;
    cursor: pointer;
    z-index: 9;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    transition: all 0.25s ease;
}

button#toTopBtn:hover,
button#toTopBtn:focus {
    outline: none;
    opacity: 1;
}

button#toTopBtn img {
    transform: rotate(180deg);
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* =Header
-------------------------------------------------------------- */
header {
    position: sticky;
    top: 0;
    width: 100%;
    background: var(--wp--preset--color--white);
    z-index: 10000;
    pointer-events: none;
}

header.wp-block-group {
    pointer-events: auto;
}

header.wp-block-group.is-layout-flow.wp-block-group-is-layout-flow {
    margin-bottom: 0px !important;
}

/* Adjust header position when WordPress admin bar is visible */
.admin-bar header,
.admin-bar header.wp-block-group {
    top: 32px;
}

@media screen and (max-width: 782px) {

    .admin-bar header,
    .admin-bar header.wp-block-group {
        top: 46px;
    }
}

/* Header Inner Container */
.header-inner {
    padding-left: 20px;
    padding-right: 20px;
}

header.wp-block-group.is-layout-flow.wp-block-group-is-layout-flow {
    padding-bottom: 0px;
}


/* =Footer
-------------------------------------------------------------- */
footer.site-footer {
    background: var(--wp--preset--color--primary-brand);
    padding: var(--wp--preset--spacing--medium) 0;
}

/* Footer Mobile Padding */
@media (max-width: 991.98px) {
    .footer-group .footer-columns {
        padding-left: 20px;
        padding-right: 20px;
    }
}


/* Footer Navigation - Always Left-Aligned Vertical List, No Hamburger */
.footer-col .wp-block-navigation,
.footer-col .wp-block-navigation__container,
.footer-col .wp-block-navigation ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px;
    text-align: left !important;
}

.footer-col .wp-block-navigation .wp-block-navigation-item {
    width: 100%;
    text-align: left !important;
}

.footer-col .wp-block-navigation a {
    display: block;
    text-align: left !important;
    justify-content: flex-start !important;
}

/* Hide navigation hamburger and overlay in footer */
.footer-col .wp-block-navigation__responsive-container,
.footer-col .wp-block-navigation__responsive-container-content,
.footer-col .wp-block-navigation__responsive-container-close,
.footer-col .wp-block-navigation__responsive-container-open,
.footer-col .wp-block-navigation__responsive-dialog {
    display: none !important;
}

/* =Slick Slider
-------------------------------------------------------------- */
/* the slides */
.slick-slide {
    margin: 0 15px;
}

/* the parent */
.slick-list {
    margin: 0 -15px;
}

/* Slick Nav */
ul.slick-dots {
    margin: 15px 0 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

ul.slick-dots li button {
    border-radius: 25px;
    padding: 0;
    width: 15px;
    height: 10px;
    font-size: 0;
    transition: width 0.25s ease, opacity 0.25s ease;
}

ul.slick-dots li button:hover {
    background-color: var(--wp--preset--color--primary-brand);
}

ul.slick-dots li:not(.slick-active) button:hover {
    opacity: 0.75;
}

ul.slick-dots li.slick-active button {
    width: 25px;
    cursor: default;
}

button.slick-arrow {
    position: absolute;
    z-index: 2;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    padding: 5px;
    font-size: 0;
    transition: opacity 0.25s ease;
}

button.slick-arrow:hover {
    opacity: 0.75;
}

button.slick-arrow:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A//www.w3.org/2000/svg'%20viewBox%3D'0%200%2012%208'%3E%3Cpath%20d%3D'M1%201L6%206L11%201'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A//www.w3.org/2000/svg'%20viewBox%3D'0%200%2012%208'%3E%3Cpath%20d%3D'M1%201L6%206L11%201'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

button.slick-arrow.slick-next {
    right: 10px;
}

button.slick-arrow.slick-next:after {
    transform: rotate(-90deg);
}

button.slick-arrow.slick-prev {
    left: 10px;
}

button.slick-arrow.slick-prev:after {
    transform: rotate(90deg);
}

@media (max-width: 991.98px) {

    .flex .fifth,
    .flex .quarter,
    .flex .three-quarters,
    .flex .third,
    .flex .two-thirds {
        width: calc(50% - var(--wp--custom--gap) / 2);
    }

    .full-height {
        height: 70vh;
    }

    .widget-sidebar {
        width: 100%;
    }
}

@media (max-width: 781.98px) {

    .flex .half,
    .flex .fifth,
    .flex .quarter,
    .flex .three-quarters,
    .flex .third,
    .flex .two-thirds {
        width: 100%;
    }

    /* =Gutenberg Overrides
    -------------------------------------------------------------- */
    /* Media / Text */
    .wp-block-media-text.is-stacked-on-mobile {
        grid-template-columns: 100%;
    }

    .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media {
        grid-column: 1;
        grid-row: 1;
    }

    .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__content {
        grid-column: 1;
        grid-row: 2;
    }

    .wp-block-media-text:not(.alignfull)>.wp-block-media-text__content {
        padding: 0;
    }

    /* Query Loop */
    .wp-block-query ul.columns-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

/* Footer custom navigation fix: force vertical, left-aligned, no flex on ul/li */
.footer-col nav.omnicanvas-nav ul.menu {
    display: block !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding-left: 0;
    margin: 0;
    list-style: none;
    text-align: left !important;
}

.footer-col nav.omnicanvas-nav ul.menu>li {
    display: block !important;
    width: 100%;
    text-align: left !important;
    margin: 0 0 8px 0;
}

.footer-col nav.omnicanvas-nav ul.menu>li:last-child {
    margin-bottom: 0;
}

.footer-col nav.omnicanvas-nav a {
    display: block;
    text-align: left !important;
    padding: 4px 0;
}

.footer-col nav.omnicanvas-nav .mobile-menu-button {
    display: none !important;
}

/* Footer navigation: force left alignment, override header styles */
.footer-col nav.omnicanvas-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

.footer-col nav.omnicanvas-nav ul.menu {
    justify-content: flex-start !important;
}

/* Footer navigation: always visible and left-aligned on all devices */
@media (max-width: 991.98px),
(max-width: 767.98px) {

    .footer-col nav.omnicanvas-nav,
    .footer-col nav.omnicanvas-nav ul.menu,
    .footer-col nav.omnicanvas-nav ul.menu>li {
        display: block !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        background-color: unset !important;
        height: auto;
    }

    .footer-col nav.omnicanvas-nav .mobile-menu-button {
        display: none !important;
    }
}