/*
 Theme Name:   Sleek Editions
 Description:  Sleek Editions 2024
 Author:       Next Stage
 Author URI:   https://nextstage.agency
 Template:     nsbase
 Version:      1.0.0
*/

:root {
    --accent: #c69c6d;
    --accent-text: white;
    --accent-hover: #b88348;
    --accent-hover-text: pink;
    --highlight: #c69c6d;
    --section-dark-link-hover: green;
    --global-padding: 1rem;
    --large-radius: 6px;
    --small-radius: 3px;
    --full-radius: 1000px;

    --base-text: #4b4a49;
    --base-dark: #141617;
    --base-light: white;
    --light-muted: rgba(250,250,250,.8);
    --outline: #ddd;
    --light-grey: #f7f7f7;
    --transparent: transparent;
    --light-mid-grey: #a3a39e;
    --medium-grey: #676764;
    --accent-bg: #f3ebe2;
    --black: black;
    --font-family: 'Silka', sans-serif;
}


@font-face {
    font-family: 'Silka';
    src: url('fonts/Silka-Medium.woff2') format('woff2'),
        url('fonts/Silka-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Silka';
    src: url('fonts/Silka-Regular.woff2') format('woff2'),
        url('fonts/Silka-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Silka';
    src: url('fonts/Silka-SemiBold.woff2') format('woff2'),
        url('fonts/Silka-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}



@media (min-width: 992px) {
    :root {
        --global-padding: 1.6rem;
    }
}

img {
    width: 100%;
}

body {
    font-size: 16px;
    font-family: var(--font-family);
}

/** GENERAL **/

a:link,
a:visited {
    color: inherit;
}


.section-dark {
    background: var(--base-dark);
    color: var(--base-light);
}

.section-dark a:hover {
    color: var(--section-dark-link-hover);
}


/** BUTTONS **/

.button-container {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

@media (min-width: 992px) {

    .button-container {
        flex-direction: row;
        gap: 1rem;
    }

}

.button-small {
    --fs: .875rem;
    --pv: .25rem;
    --ph: .5rem;
}

.button-normal {
    --fs: .875rem;
    --pv: 1rem;
    --ph: 1.5rem;
}

.button-large {
    --fs: 1.25rem;
    --pv: 1.5rem;
    --ph: 3rem;
}

.button-on-light {
    --contrast: var(--base-dark);
    --complimentary: var(--base-light);
}

.button-on-dark {
    --contrast: var(--base-light);
    --complimentary: var(--base-dark);
}

.button-primary {
    --outline: var(--contrast);
    --bg: var(--contrast);
    --text: var(--complimentary);

    --hover-outline: var(--contrast);
    --hover-bg: var(--complimentary);
    --hover-text: var(--contrast);

}

.button-secondary {
    --outline: var(--contrast);
    --bg: var(--complimentary);
    --text: var(--contrast);

    --hover-outline: var(--contrast);
    --hover-bg: var(--contrast);
    --hover-text: var(--complimentary);
}

.button-accent {
    --outline: var(--accent);
    --bg: var(--accent);
    --text: var(--accent-text);

    --hover-outline: var(--accent-hover);
    --hover-bg: var(--accent-hover);
    --hover-text: var(--accent-hover-text);
}


a.button {
    color: var(--text);
    background: var(--bg);
    border: 1px solid var(--outline);
    padding: var(--pv) var(--ph);
    display: inline-block;
    border-radius: 5px;
    font-size: var(--fs);
    text-decoration: none;
    display: block;
}

a.button:hover {
    color: var(--hover-text);
    background: var(--hover-bg);
    border: 1px solid var(--hover-outline);
}

.button-plain,
a.button-plain,
a.button-plain:link,
a.button-plain:visited {
    --border-bottom-color: var(--light-mid-grey);
    text-decoration: none;
    border-bottom: 3px solid var(--border-bottom-color);
    transition: border-bottom-color 0.125s ease-in-out;
}

a.button-plain:hover {
    --border-bottom-color: var(--base-dark);
}

/** TYPOGRAPHY **/

.heading-xs {
    font-size: .875rem;
    font-weight: bold;
}

.heading-s {
    font-size: 1.125rem;
    font-weight: bold;
}

.heading-m {
    font-size: 1.5rem;
    line-height: 1.5;
}

.heading-l {
    font-size: 2.25rem;
    line-height: 1.125;
}

.heading-xl {
    font-size: 2.5rem;
    line-height: 1.2;
}

.text-small {
    font-size: .875rem;
    line-height: 1.8;
}

.text-normal {
    font-size: 1rem;
    line-height: 1.6;
}

.text-large {
    font-size: 1rem;
    line-height: 1.6;
}

.paragraph p {
    margin-bottom: 1rem;
}

/** ALIGN **/

.text-align-centre {
    text-align: center;
}

.text-align-left {
    text-align: left;
}

.text-align-right {
    text-align: right;
}


.block-align-left {
    justify-content: flex-start;
}

.block-align-centre {
    justify-content: center;
}

.block-align-right {
    justify-content: flex-end;
}

/** Constrain **/

.block-constrain-small {
    max-width:  28rem;
}

.block-constrain-medium {
    max-width: 38rem;
}

.block-constrain-large {
    max-width: 50rem;
}


/** SECTIONS AND GLOBAL PADDING **/

:root {
    --xs: .5rem;
    --small: 1.5rem;
    --medium: 3.5rem;
    --large: 6.25rem;
    --xl: 8rem;
    --max-width: 1440px;
    --max-width-xl: 1480px;
}

.container {
    margin-left: var(--global-padding);
    margin-right: var(--global-padding);
}

.content,
.content-xl {
    max-width: var(--max-width);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.content-xl {
    max-width: var(--max-width-xl);
}

.container.no-margin-mobile {
    margin-left: 0;
    margin-right: 0;
}

@media (min-width: 728px) {
    .container.no-margin-mobile {
        margin-left: var(--global-padding);
        margin-right: var(--global-padding);
    }
}

.mt-xs {
    margin-top: var(--xs);
}

.mt-small {
    margin-top: var(--small);
}

.mt-medium {
    margin-top: var(--medium);
}

.mt-large {
    margin-top: var(--large);
}

.mt-xl {
    margin-top: var(--xl);
}

.mb-xs {
    margin-bottom: var(--xs);
}

.mb-small {
    margin-bottom: var(--small);
}

.mb-medium {
    margin-bottom: var(--medium);
}

.mb-large {
    margin-bottom: var(--large);
}

.mb-xl {
    margin-bottom: var(--xl);
}


.pt-xs {
    padding-top: var(--xs);
}

.pt-small {
    padding-top: var(--small);
}

.pt-medium {
    padding-top: var(--medium);
}

.pt-large {
    padding-top: var(--large);
}

.pt-xl {
    padding-top: var(--xl);
}

.pb-xs {
    padding-bottom: var(--xs);
}

.pb-small {
    padding-bottom: var(--small);
}

.pb-medium {
    padding-bottom: var(--medium);
}

.pb-large {
    padding-bottom: var(--large);
}

.pb-xl {
    padding-bottom: var(--xl);
}


.bg-highlight {
    background: var(--highlight);
}

.bg-base-light {
    background: var(--base-light);
    color: var(--base-dark);
}


.bg-base-dark {
    background: var(--base-dark);
    color: var(--base-light);
}


/** MAIN HEADER **/

.main-header {
    border-bottom: 1px solid var(--outline);
    position: relative;
    z-index: 10;
}

.main-header-content {
    padding: 1.6rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.main-menu-list {
    display: flex;
    align-items: center;
    gap: 3rem;
}

a.main-menu-link,
a.main-menu-link:visited {
    text-decoration: none;
    color: var(--medium-grey);
    transition: all ease-in-out .25s;
    line-height: 1;
}

a.main-menu-link:hover,
.current_page_item a.main-menu-link {
    color: var(--base-dark)
}

/** FOOTER **/

.main-footer .woocommerce-LoopProduct-link {
    display: none;
}

.main-footer {
    background: var(--light-grey);
    border-top: 1px solid var(--outline);
}

.footer-legal {
    background: var(--base-dark);
    color: var(--light-muted);
}

.footer-legal-section {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: center;
}

.footer-legal-content {
    padding: 2.6rem 0 1.6rem 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.footer-social-link-single {
    display: inline-block;
    width: 2rem;
}

.footer-legal-list {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.footer-social-links {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.footer-social-link-single svg {
    width: 1.6rem;
}

.footer-social-icon-img {
    fill: rgba(250,250,250,.8);
}

.footer-social-icon-img:hover {
    fill: rgba(250,250,250,1);
}

.footer-legal-item a:link,
.footer-legal-item a:visited {
    text-decoration: none;
}



@media (min-width: 768px) {
    .footer-legal-content {
        padding: 1.6rem 0 1.6rem 0;
       flex-direction: row;
        justify-content: space-between;
        text-align: left;
        align-items: center;
    }

    .footer-legal-list {
        justify-content: flex-start;
    }

    .footer-legal-section {
        gap: .25rem;
    }
}


/** CARDS **/

a.card-single,
a.card-single:visited {
    text-decoration: none;
}

.card-list {
    display: flex;
    flex-direction: column;
    gap: 4.5rem;
}

.card-single {
    display: flex;
    flex-direction: column;
    gap: calc(var(--global-padding) + 1.5rem);
}

.card-image {
    margin: calc(var(--global-padding) * -1);
}

.card-single-image {
    aspect-ratio: 4/3;
    object-fit: cover;
}

.card-single-content {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

@media (min-width: 768px) {
    
    .card-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 2.5rem;
    }

    .card-single {
        gap: 1rem;
    }

    .card-image {
        margin: 0;
    }

}

@media (min-width: 992px) {
    .card-list {
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: 2.5rem;
    }

}




/** FOOTER MENU **/

.footer-sub-menu {
    display: none;
}



a.footer-sub-menu-link,
a.footer-sub-menu-link:visited {
    display: block;
    padding:  1.25rem var(--global-padding);
    border-bottom: 1px solid var(--outline);
    text-decoration: none;
    font-weight: bold;
    font-size: 1rem;
    color: var(--base-dark);
}

.footer-sub-menu a.footer-sub-menu-link,
.footer-sub-menu a.footer-sub-menu-link:visited {
    font-weight: normal;
    margin-bottom: 0;
    color: var(--medium-grey);
    transition: all ease-in-out .25s;
}

.footer-sub-menu a.footer-sub-menu-link:hover {
    color: var(--base-dark)
}

@media (min-width: 728px) {

    .main-footer-content {
        padding: 3rem 0 5rem 0;
        
    }


    .footer-sub-menu {
        display: flex;
        flex-direction: column;
    }

    .main-footer-content {
        display: grid;
        grid-template-columns: 3fr 1fr;
    }

    #menu-footer-main-menu {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }

    a.footer-sub-menu-link,
    a.footer-sub-menu-link:visited {
    padding:  .75rem 0;
    border-bottom: none;
    text-decoration: none;
}

}

/** ANNOUNCE **/


.announcement-message {
    padding: .75rem 0;
}


/** PRODUCT ARCHIVES **/

.product-archive-header {
    padding: 2rem 0;
    border-bottom: 1px solid var(--outline);
    margin-bottom: 1rem;
    position: relative;
    overflow: hidden;
}

.product-archive-header.archive_is_category {
    padding: 0;
}

.product-archive-header.archive_is_category .woocommerce-breadcrumb {
    margin-bottom: 1rem;
}

.product-archive-header.archive_is_category  .woocommerce-breadcrumb a {

}

.collection_featured_image {
    display: none;
}

.product-archive-header.archive_is_category .product-archive-header-content {
    position: relative;
}

.product-archive-header-content--inner {
    padding: 2rem 0;
}

.archive-swatch-image {
    display: none;
}


@media (min-width: 1020px) {

    .archive-swatch-image {
        display: block;
        height: 100%;
        height: 30rem;
    }

    .archive-swatch-image-wrap {
        display: flex;
        justify-content: flex-end;
    }

    .product-archive-header {
        margin-bottom: 2rem;
    }

    .product-archive-header.archive_is_category .product-archive-header-content {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
        align-items: center;
    }

    .product-archive-header-content--inner {
        padding: 2rem 0;

    }

    .product-archive-header-content .term-description {
        max-width: 40rem;
    }
    
    .woocommerce img.collection_featured_image {
        display: block;
        position: absolute;
        top: 0;
        left: 50%;
        width: 50%;
        height: 100%;
        object-fit: cover;
        opacity: 1;
    }

}


.woocommerce-products-header {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.category-decription {
    max-width: 60rem;
    margin-top: 1rem;
}

.product-card,
a.product-card,
a.product-card:link,
a.product-card:visited {
    border: 1px solid var(--outline);
    border-top-right-radius: var(--large-radius);
    border-top-left-radius: var(--large-radius);
    overflow: hidden;
    transition: transform ease-in-out .25s, box-shadow ease-in-out .25s;
    text-decoration: none;
    display: block;
    position: relative;
}

.product-card-animate {
    transition: transform ease-in-out .25s, box-shadow ease-in-out .25s;
}

.product-card-animate:hover {
    transform: translateY(-4px);
}

.product-card-image {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    margin: 0;
}


.product-card:hover {
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

.product-card-title {
    text-align: center;
    display: block;
    line-height: 1.4;
}

.woocommerce ul.products li.product a img {
    margin: 0;
}

.product-card-title,
.woocommerce ul.products li.product
.woocommerce-loop-category__title,
.woocommerce ul.products li.product
.woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
    padding: 1rem;
    margin: 0;
}

.product-archive-grid.archive_is_category {
    margin: 3rem 0;
}


/** PRODUCT **/


.single_add_to_cart_button {
    font-family: 'Silka', sans-serif;
    --background: var(--accent);
    font-size: .875rem;
    background-color: var(--background);
    display: block;
    border: none;
    outline: none;
    width: 100%;
    color: var(--base-light);
    cursor: pointer;
    transition: background-color ease-in-out .125s;
    color: var(--base-light);
    padding: 1rem;
    border-radius: var(--small-radius);
}

.single_add_to_cart_button:hover {
    --background: var(--accent-hover)
}

.single-product-grid {
    margin-bottom: 4rem;
}

.single-product .woocommerce-breadcrumb {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.product_title {
    font-size: 2rem;
    font-weight: bold;
}

.cart .quantity {
    display: none;
}

.single-product .product_meta {
    display: none;
}



.product-content-table {
    border: 1px solid var(--outline);
    width: 100%;
    margin: 2rem 0 1rem 0;
    font-size: .875rem;
}

.product-content-table tr {
    border-bottom: 1px solid var(--outline);
}

.product-content-table tr td {
    padding: .75rem;
}

.product-content-table-value {
    background: #f8f8f8;
    border-left: 1px solid var(--outline);
    color: #676564;
}

.product-content-header {
    padding: 2rem 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem
}

.product-content-sku {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: .75rem;
}




  
  .accordion-container {
    overflow: hidden;
  }
  
  .accordion-item {
    width: 100%;
  }
  
  .accordion-trigger {
    width: 100%;
    display: block;
    text-align: left;
    border: none;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    cursor: pointer;
    background: transparent;
    padding: 1rem .5rem;
    font-family: 'Silka', sans-serif;
    font-size: 1rem;
}
  
  .accordion-icon {
    transition: transform 0.5s;
  }
  
  .accordion-item.is-active .accordion-icon {
    transform: rotate(45deg);
  }
  
  .accordion-item:not(:first-of-type) .accordion-trigger {
    border-top: 1px solid #eaeaea;
  }
  
  .accordion-content {
    height: 0;
    overflow: hidden;
    transition: 0.25s;
  }

  .accordion-title {
    font-size: .875rem;
    font-weight: bold;
  }
  
  .accordion-inner {
    padding: .5rem;
    border-top: 1px solid var(--outline);
  }


  .product-content-form {
    display: flex;
    flex-direction: column;
    margin: 2rem 0;
    gap: .25rem
  }

  .product-content-supplimenary-table {
    font-size: .875rem;
    width: 100%;
  }

  .product-content-supplimenary-table td {
    padding: 1rem 0;
    border-bottom: 1px solid rgba(0,0,0,.1)
  }

  .product-content-supplimenary-table td.product-content-supplimentary-table-value {
    width: 50%;
    padding-left: 1rem;
}  


a.product-download-spec-sheet,
a.product-download-spec-sheet:visited {
    display: block;
    text-decoration: none;
    text-align: center;
    border: 1px solid var(--base-dark);
    padding: 1rem;
    border-radius: var(--small-radius);
    font-size: .875rem;
}

a.product-download-spec-sheet:hover {
    background: var(--base-dark);
    color: var(--base-light);
}

.product-content-table-key {
    font-weight: bold;
}


.product-main-image img {
    border-radius: var(--large-radius)
}

.product-single-collection-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1.5rem;
}

@media (min-width: 992px) {
    .single-product .woocommerce-breadcrumb {
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .single-product-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 5rem;
    }


    .product-content-table tr td {
        padding: 1rem;
    }
    
    .product-single-collection-list {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }

}

/** COLLECTIONS **/

.product-card-chip-wrap {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 10;
}

.product-archive-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
}

.chip {
    background: var(--base-light);
    padding: .75rem 1.5rem;
    border: 1px solid var(--outline);
    font-size: .875rem;
    display: inline-block;
    border-radius: var(--full-radius);
    transition: all ease-in-out .125s;
}

@media (min-width: 992px) {
    .product-archive-list {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-gap: 1.5rem;
    }

}


/** USP GRID **/


.usp-single {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.usp-content {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.usp-icon {
    width: 3rem;
}

.usp-footer {
    margin-top: 1rem;
}



/** PRODUCT GRID **/

.products.columns-4 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem
}

@media (min-width: 768px) {
    .products.columns-4 {
        grid-template-columns: 1fr 1fr 1fr;
    }
}


@media (min-width: 992px) {
    .products.columns-4 {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
        gap: 2rem
    }
}



/** PAGINATION **/

.woocommerce-pagination {
    margin-top: 2rem;
    margin-bottom: 1rem;
}

ul.page-numbers {
    display: flex;
    justify-content: center;
    gap: .5rem;
}

a.page-numbers,
a.page-numbers:link,
a.page-numbers:visited,
span.page-numbers {
    --bg: var(--base-light);
    --border-color: var(--outline);
    --colour: var(--base-dark);
    --font-weight: normal;

    color: var(--colour);
    font-weight: var(--font-weight);
    background: var(--bg);
    border: 1px solid var(--border-color);
    
    display: flex;
    width: 2.5rem;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    border-radius: var(--small-radius);
    text-decoration: none;
    
    font-size: .875rem;
    transition: all ease-in-out .25s;
}

a.page-numbers:hover {
    --bg: var(--light-grey);
}

.page-numbers.current {
    --bg: var(--accent);
    --border-colour: var(--accent);
    --colour: var(--base-light);
    --font-weight: bold;
}


/** NOTICES **/

.sleek-success-message {
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid var(--outline);
    background: var(--light-grey);
    border-radius: var(--large-radius);
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
}

.sleek-success-message .button.wc-forward {
    --background: var(--base-light);
    --colour: var(--base-dark);
    --outline-colour: var(--base-dark);

        padding: 1rem;
        border: 1px solid var(--outline-colour);
        background-color: var(--background);
        color: var(--colour);
        font-size: .875rem;

        transition: all ease-in-out .125s;
}

.sleek-success-message .button.wc-forward:hover {
    --background: var(--base-dark);
    --colour: var(--base-light);
    --outline-colour: var(--base-dark);
}


/** CART **/

.woocommerce-cart-form {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.product-remove {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.product-thumbnail .size-woocommerce_thumbnail {
    aspect-ratio: 1/1;
    object-fit: cover;
    width: 100%;
    height: 100%;
}


.product-card-title a.cart-product-link,
.product-card-title a.cart-product-link:link,
.product-card-title a.cart-product-link:visited {
    text-decoration: none;
}

.product-card-title a,
.product-card-title a:link,
.product-card-title a:visited {
    text-decoration: none;
}

a.remove {
    --background:  var(--base-light);
    --border: var(--outline);
    --colour: var(--base-dark);
    color: var(--colour);
    background: var(--background);
    border: 1px solid var(--border);
    padding: .25rem 1rem;
    border-radius: var(--full-radius);
    font-size: .875rem;
}

a.remove:hover {
    --background:  var(--base-dark);
    --border: var(--base-dark);
    --colour: var(--base-light);
}

.cart_totals h2,
.cart_totals .shop_table_responsive {
    display: none;
}

.wc-proceed-to-checkout {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0  var(--global-padding);
    padding-bottom: .5rem;
    padding-top: .5rem;
    background: var(--base-light);
}

#place_order,
a.checkout-button.button.wc-forward,
a.checkout-button.button.wc-forward:link,
a.checkout-button.button.wc-forward:visited {
    font-family: 'Silka', sans-serif;
    --background: var(--accent);
    font-size: .875rem;
    background-color: var(--background);
    display: block;
    border: none;
    outline: none;
    width: 100%;
    color: var(--base-light);
    cursor: pointer;
    transition: background-color ease-in-out .125s;
    color: var(--base-light);
    padding: 1rem;
    border-radius: var(--small-radius);
    text-align: center;
    font-size: 1rem;
  }

#place_order:hover,
a.checkout-button.button.wc-forward:hover {
    --background: var(--accent-hover);
  }
  

  .cart-footer {
    display: none;
  }

  .cart-collaterals-message {
    display: none;
  }

  @media (min-width: 768px) {

    .cart-collaterals {
        position: sticky;
        top: 1rem;
        margin-top: 2rem;
        padding: 1rem;
        background: var(--light-grey);
        border: 1px solid var(--outline);
        border-radius: var(--small-radius);
    }

    .cart-collaterals-message {
        display: flex;
        flex-direction: column;
        gap: .5rem;
        margin-bottom: 1rem;
    }

    .cart-grid {
        display: grid;
        grid-template-columns: 2fr 360px;
        grid-gap: 2.5rem;
        position: relative;
        align-items: start;
    }
    .woocommerce-cart-form.products.columns-4 {
        grid-template-columns: 1fr 1fr;
    }

    .wc-proceed-to-checkout {
        position: static;
        padding: 0;
    }
    
}



@media (min-width: 992px) {

    .woocommerce-cart-form.products.columns-4 {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    
}

/** CHECKOUT **/

.woocommerce-checkout-form {
    padding: 2rem 0;
}

.woocommerce-billing-fields {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;
}

.woocommerce-billing-fields__field-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.form-row {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    font-size: .875rem
}

.input-text {
    display: block;
  width: 100%;
  padding: .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: .25rem;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.woocommerce-additional-fields,
#order_review_heading,
.shop_table.woocommerce-checkout-review-order-table {
    display: none;
}

.woocommerce-privacy-policy-text p {
    line-height: 150%;
    margin-bottom: 1rem;
}

.select2-container .select2-selection--single,
.select2-container--default .select2-selection--single .select2-selection__rendered{
    height: 32px
}

.select2-results__option {
    line-height: 150%;
}

.woocommerce-error {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    font-size: .875rem;
    margin-bottom: 2rem;
}

@media (min-width: 768px) {

.checkout.woocommerce-checkout-form {
    display: grid;
    grid-template-columns: 1fr 300px;
    grid-gap: 2.5rem;
}

 .shop_table.woocommerce-checkout-review-order-table {
    display: table;
    text-align: left;
    margin-bottom: 1rem;
}

.shop_table.woocommerce-checkout-review-order-table thead,
.shop_table.woocommerce-checkout-review-order-table tfoot {
    display: none;
}

.shop_table.woocommerce-checkout-review-order-table .product-total {
    display: none;
}

.shop_table.woocommerce-checkout-review-order-table .product-quantity {
    display: none;
}

.product-checkout-product-single {
    display: flex;
}

.product-single-description-checkout {
    padding: 1rem;
}


.checkout-products {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 1rem 0;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--outline);
    font-size: .875rem;
}

.product-checkout-product-single.cart_item .size-woocommerce_thumbnail {
    width: 4rem;
    height: 4rem;
    object-fit: cover;
    border-radius: var(--small-radius);
}

.order-wrap {
    margin-top: 2rem;
    padding: 2rem;
    padding-top: 2rem;
    background: var(--light-grey);
    border: 1px solid var(--outline);
    border-radius: var(--small-radius);
    margin-top: -2rem;
    margin-bottom: -2rem;
    border-top: 0;
    border-bottom: 0;
}


#order_review {
  position: sticky;
  top: 1rem;
}

}


@media (min-width: 990px) {
    .checkout.woocommerce-checkout-form {
               grid-gap: 5rem;
               grid-template-columns: 2fr 1fr;
    }
}


/** THANKS **/

.woo-end {
    padding-top: 2rem;
    margin-bottom: 1rem;
}


.woocommerce-order-received  .woocommerce-order {
    max-width: 40rem;
    margin: auto
}

.woocommerce-order-received  .woocommerce-thankyou-order-details {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    margin-bottom: 2rem;
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-order-received .woocommerce-table--order-details {
    width: 100%;
    text-align: left;
}

.woocommerce-order-received .woocommerce-thankyou-order-details.order_details li {
    display: flex;
    margin: 0 var(--global-padding);
    gap: 1ch;
}

.woocommerce-order-received .woocommerce-thankyou-order-details.order_details li strong {
    font-weight: bold;
}

.woocommerce-order-received .woocommerce-order-details {
    margin: 0 var(--global-padding);
    margin-bottom: 2rem;
}


.woocommerce-order-received .woocommerce-table th,
.woocommerce-order-received .woocommerce-table td {
    border: 1px solid var(--outline);
    padding: 10px 6px;
}

.woocommerce-order-details__title {
    margin-bottom: 1rem;
    font-size: 1.5rem;
}



@media (min-width: 768px) {

    .woocommerce-order-received .woocommerce-order {

        margin-bottom: 4rem;
    }
}