/*
Theme Name: Gutentype FSE
Theme URI:
Author: TemplateHouse Team
Author URI: https://templatehouse.net/
Description: Gutentype FSE is a modern and versatile WordPress theme built for the Gutenberg block editor, offering flexible layouts for a wide range of websites and online stores. With responsive designs, clean typography, and block-based customization, Gutentype FSE makes it easy to build professional websites without relying on complex page builders. The theme includes multiple shop layouts designed for different industries and product niches, including Fashion, Grocery, Jewelry, Electronics & Gadgets, Shoes, Watches, Sportswear, Baby Products, Skincare, Modern Arts, and general-purpose stores. Built with Gutenberg blocks and flexible layouts, Gutentype FSE allows you to mix and match sections and create unique pages with ease. Its responsive design provides a consistent browsing experience across desktops, tablets, and mobile devices. Gutentype FSE is also WooCommerce-ready, making it a great choice for creating modern online stores with product-focused layouts and a clean, user-friendly shopping experience. Whether you are building a fashion shop, grocery store, jewelry website, electronics store, fashion boutique, or a general-purpose WooCommerce store, Gutentype FSE provides a flexible Gutenberg-based foundation for creating a modern WordPress website.
Requires at least: 6.1
Tested up to: 7.0
Requires PHP: 5.6
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gutentype-fse
Tags: portfolio, e-commerce, photography, one-column, two-columns, three-columns, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, right-sidebar, custom-background, wide-blocks

Gutentype FSE WordPress Theme, Copyright 2026 TemplateHouse Team
 Gutentype FSE is distributed under the terms of the GNU GPL
*/

a{
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}
a:focus,
button:focus{
	outline: 2px solid blue !important;
}
.wp-block-navigation ul li a:focus,
.wp-block-navigation .wp-block-navigation__submenu-icon:focus{
	outline: none;
	border: 1px solid #cf2e2e;
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container{
    background-color: var(--wp--preset--color--secondary);
}

.wp-block-navigation__submenu-container .wp-block-navigation-link a{
    color: var(--wp--preset--color--white) !important;
}

.wp-block-image img{
    vertical-align: middle;
}

.pos-relative{
    position: relative;
}

body .services-item {
    position: relative;
    margin-bottom: 20px;
}

body .ser-inner {
    position: relative;
    text-align: center;
    border-radius: 6px;
    padding: 50px 35px 50px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.08);
}

body .ser-inner:before {
    position: absolute;
    content: '';
    left: 14px;
    top: 14px;
    right: 14px;
    bottom: 14px;
    opacity: 0;
    border-radius: 6px;
    border: 1px solid var(--wp--preset--color--primary);
    -webkit-transform: scale(0.8, 1);
    -ms-transform: scale(0.8, 1);
    transform: scale(0.8, 1);
    -webkit-transition: all 500ms ease;
    transition: all 500ms ease;
}

body .ser-icon {
    position: relative;
    display: inline-block;
    margin-bottom: 30px;
    -webkit-transition: all 500ms ease;
    transition: all 500ms ease;
    padding: 15px;
    width: 90px;
    height: 90px;
}

body .ser-icon:before {
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    top: 0px;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: inline-block;
    background-color: var(--wp--preset--color--primary);
    z-index: -1;
}

body .ser-title {
    position: relative;
}

body .ser-title h4 {
    font-weight: 600;
    margin-bottom: 10px;
}

.services-item:hover .ser-inner:before {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
}

.services-item:hover .ser-icon {
    -webkit-transform: scale(-1) rotate(180deg);
    -ms-transform: scale(-1) rotate(180deg);
    transform: scale(-1) rotate(180deg);
}

.teammember-list {
    position: relative;
    margin-bottom: 30px;
    padding: 10px;
    border-bottom: 3px solid var(--wp--preset--color--primary);
    text-align: center;
    background-color: #ffffff;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    box-shadow: 0 3px 24px rgb(0 0 0/20%);
    border-radius: 10px;
}

.team-info h4 {
    margin-bottom: 5px;
}

.team-info span {
    font-weight: 600;
    color: var(--wp--preset--color--primary);
    font-size: 16px;
}

.teammember-list:hover {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px);
}

.teammember-list:hover .member-social-icon {
    opacity: 1;
    right: 15px;
}

.footer-menu{
    padding: 0;
}

.footer-menu li{
    margin-bottom: 14px;
    width: 100%;
    display: block;
}

.footer-menu li a{
    display: block;
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.footer-menu li a:before {
    content: '>>';
    position: absolute;
    font-weight: 300;
    font-size: 12px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
}

.footer-post-excerpt p{ 
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

form {
    position: relative;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
    width: 100%;
    margin: 0;
    padding: 10px 15px;
    border: 1px solid #ebebeb;
    outline: 0;
    resize: none;
    line-height: 20px;
    background: none;
    color: #000000;
    font-weight: 400;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
select::-ms-expand {
    display: none; /* hide the default arrow in ie10 and ie11 */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
    border-color: var(--wp--preset--color--primary);
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    cursor: pointer;
    border: none;
    outline: none;
    padding: 12px 20px;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-color: var(--wp--preset--color--primary);
    color: #ffffff;
}
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    text-align: center;
    letter-spacing: 2px;
}

.wpcf7-form label {
    display: block;
    text-transform: uppercase;
    font-size: 12px;
    margin: 0 0 8px;
    color: #000000;
    font-weight: 700;
}

.form-group {
    margin-bottom: 30px;
}

.form-group p{
    margin: 0;
}

.form-group.half {
    width: 48%;
    margin-right: 4%;
    float: left;
}

.form-group.half.last {
    margin-right: 0;
}

.form-group.third {
    width: 32%;
    margin-right: 2%;
    float: left;
}

.form-group.third.last {
    margin-right: 0;
}
/*header*/
.header-search input[type="search"]{
    border: none;
}
.header-search :where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){
    padding: 0;
}
/*banner*/
.bannerimage img{
    width: 100%;
}
.banner-product-category ul{
    list-style-type: none;
    margin-block-start: 0;
    padding-inline-start: 0;
    
}
.banner-product-category ul li a{
    text-decoration: none;
}

/*product-sec*/
.product-section,.custom-footer-class,.recent-news-group{
    margin-block-start: 0;
}
.recent-news-group h5 a, 
.product-section h3 a{
    text-decoration: none;
}
.product-section.wc-block-grid__product-rating .star-rating span:before, .wc-block-grid__product-rating .wc-block-grid__product-rating__stars span:before {
    color: #FCB900;
}
.product-section .wp-block-button.wp-block-button__width-100 .wp-block-button__link {
    border-radius: 5px;
    padding: 12px 0px;
}
/*woocommerce*/
.woocommerce span.onsale,.wc-block-grid .wc-block-grid__product-onsale, .wc-block-grid__product-image .wc-block-grid__product-onsale{
    color: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    background: var(--wp--preset--color--secondary);
}
nav.woocommerce-MyAccount-navigation ul li {
    background: var(--wp--preset--color--secondary);
    border: 1px solid;
    border-color: var(--wp--preset--color--primary);
    padding: 12px!important;
    margin-bottom: 10px;
}

/*sub menu css*/
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon {
    display: block !important;
    margin-left: 15px;
    padding: 3px 10px;
    float: right;
    font-size: 19px;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 0;
    height: 42px;
    width: 42px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon svg {
    stroke: var(--wp--preset--color--white);
    display: block;
    width: 30px;
    height: 13px;
    margin: 0 !important;
    padding: 0 !important;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container {
    width: 100%;
    gap: 0;
    margin: 0;
    padding: 0;
    display: none;
    box-shadow: none;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a {
    padding-left: 35px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true] + ul.wp-block-navigation__submenu-container {
    display: block;
    margin: 0;
    padding: 0;
}
.upper-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    width: 20%;
}

:where(.wp-block-group.has-background){
    /* keep author-defined backgrounds (peach header/footer, promo cards, etc.) */
}
.has-luminous-vivid-amber-background-color {
    background-color: var(--wp--preset--color--primary) !important;
}
.has-luminous-vivid-amber-border-color {
    border-color: var(--wp--preset--color--primary) !important;
}

/*navigation css*/
.wp-block-navigation__responsive-container,
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{
    display: none;
}
.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg{
    width: 42px;
    height: 42px;
}
.wp-block-navigation__responsive-container-close{
    top: 20px;
    right: 20px;

}
.wp-block-navigation__responsive-container-open:not(.always-shown){
    display: block;
}
.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none; 
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    background-color: var(--wp--preset--color--secondary);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    padding: 1.5em;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container {
    width: 100%;
    gap: 0 !important;
    border-bottom: none;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item {
    width: 100%;
    gap: 0 !important;
    border: none !important;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item a {
    width: calc( 100% - 48px );
    padding: 12px 24px 12px;
    line-height: 30px;
    text-align: left;
}
/*sub menu css*/
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon {
    display: block !important;
    margin-left: 15px;
    padding: 3px 10px;
    float: right;
    font-size: 19px;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 0;
    height: 42px;
    width: 42px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon svg {
    stroke: var(--wp--preset--color--white);
    display: block;
    width: 30px;
    height: 13px;
    margin: 0 !important;
    padding: 0 !important;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container {
    width: 100%;
    gap: 0;
    margin: 0;
    padding: 0;
    display: none;
    box-shadow: none;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a {
    padding-left: 35px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true] + ul.wp-block-navigation__submenu-container {
    display: block;
    margin: 0;
    padding: 0;
}
.upper-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    width: 20%;
}

:where(.wp-block-group.has-background){
    /* keep author-defined backgrounds (peach header/footer, promo cards, etc.) */
}
.has-luminous-vivid-amber-background-color {
    background-color: var(--wp--preset--color--primary) !important;
}
.has-luminous-vivid-amber-border-color {
    border-color: var(--wp--preset--color--primary) !important;
}


/*woocommerce*/
.woocommerce span.onsale,.wc-block-grid .wc-block-grid__product-onsale, .wc-block-grid__product-image .wc-block-grid__product-onsale{
    color: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    background: var(--wp--preset--color--secondary);
}
nav.woocommerce-MyAccount-navigation ul li {
    background: var(--wp--preset--color--secondary);
    border: 1px solid;
    border-color: var(--wp--preset--color--primary);
    padding: 12px!important;
    margin-bottom: 10px;
}

.team-inner {
    position: relative;
}

.team-thumbnail {
    position: relative;
}

.team-thumbnail img {
    border-radius: 10px;
    width: 100%;
    height: auto;
    display: block;
}

.member-social-icon {
    position: absolute;
    margin-bottom: 10px;
    text-align: center;
    top: 15px;
    right: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.member-social-icon ul {
    margin: 0;
    padding: 0;
}

.member-social-icon ul li {
    position: relative;
    list-style: none;
}

.team-info {
    padding: 10px 0;
}

/*navigation css*/
.wp-block-navigation__responsive-container,
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{
    display: none;
}
.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg{
    width: 42px;
    height: 42px;
}
.wp-block-navigation__responsive-container-close{
    top: 20px;
    right: 20px;

}
.wp-block-navigation__responsive-container-open:not(.always-shown){
    display: block;
}
.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none; 
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    background-color: var(--wp--preset--color--secondary);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    padding: 1.5em;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container {
    width: 100%;
    gap: 0 !important;
    border-bottom: none;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item {
    width: 100%;
    gap: 0 !important;
    border: none !important;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item a {
    width: calc( 100% - 48px );
    padding: 12px 24px 12px;
    line-height: 30px;
    text-align: left;
}
/*sub menu css*/
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon {
    display: block !important;
    margin-left: 15px;
    padding: 3px 10px;
    float: right;
    font-size: 19px;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 0;
    height: 42px;
    width: 42px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon svg {
    stroke: var(--wp--preset--color--white);
    display: block;
    width: 30px;
    height: 13px;
    margin: 0 !important;
    padding: 0 !important;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container {
    width: 100%;
    gap: 0;
    margin: 0;
    padding: 0;
    display: none;
    box-shadow: none;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a {
    padding-left: 35px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true] + ul.wp-block-navigation__submenu-container {
    display: block;
    margin: 0;
    padding: 0;
}
.upper-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    width: 20%;
}

:where(.wp-block-group.has-background){
    /* keep author-defined backgrounds (peach header/footer, promo cards, etc.) */
}
.has-luminous-vivid-amber-background-color {
    background-color: var(--wp--preset--color--primary) !important;
}
.has-luminous-vivid-amber-border-color {
    border-color: var(--wp--preset--color--primary) !important;
}



/*media*/
@media screen and (max-width:1220px){
    .upper-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
        width: 30%;
    }
    .banner-text{
        flex-basis: 55% !important;
    }
}
@media screen and (max-width:999px) {
    .upper-header{
        text-align: center;
    }
    .upper-header .wp-block-group{
        justify-content: center;
    }
    .header-search-box{
        flex-basis: 40% !important;
    }
    .header-icons{
        flex-basis: 30% !important;
    }
    .upper-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
        width: 100% !important;
    }
}
@media screen and (max-width: 781px){
    .upper-header .header-nav{
        display: flex;
        justify-content: center;

    }
    .banner-category-column,.banner-category-column h5{
        text-align: center !important;
    }
    .products-block-post-template{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media screen and (max-width:600px){
    .banner-image-cover img {
    object-position: 15% 21% !important;
    }
    .productsec-heading,.banner-text, .banner-text h3{
       text-align: center; 
    }
    .banner-image-cover .number-heading{
        font-size: 200px !important;
        text-align: center;
    }
    .banner-text .wp-block-buttons{
        justify-content: center;
    }
    .copyright-text {
        display: grid !important;
    }
    .copyright-text p {
        text-align: center;
    }
}

 @media screen and (min-width: 360px) {


.services-item:hover .ser-inner:before {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
}

.services-item:hover .ser-icon {
    -webkit-transform: scale(-1) rotate(180deg);
    -ms-transform: scale(-1) rotate(180deg);
    transform: scale(-1) rotate(180deg);
}

.teammember-list {
    position: relative;
    margin-bottom: 30px;
    padding: 10px;
    border-bottom: 3px solid var(--wp--preset--color--primary);
    text-align: center;
    background-color: #ffffff;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    box-shadow: 0 3px 24px rgb(0 0 0/20%);
    border-radius: 10px;
}

.team-info h4 {
    margin-bottom: 5px;
}

.team-info span {
    font-weight: 600;
    color: var(--wp--preset--color--primary);
    font-size: 16px;
}

.teammember-list:hover {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px);
}

.teammember-list:hover .member-social-icon {
    opacity: 1;
    right: 15px;
}

.footer-menu{
    padding: 0;
}

.footer-menu li{
    margin-bottom: 14px;
    width: 100%;
    display: block;
}

.footer-menu li a{
    display: block;
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.footer-menu li a:before {
    content: '>>';
    position: absolute;
    font-weight: 300;
    font-size: 12px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
}

.footer-post-excerpt p{ 
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

form {
    position: relative;
}

 }

body {
    font-family: "Josefin Sans", sans-serif;
    color: #222;
}

.gt-site-header a,
.gt-header-top a,
.gt-header-nav a,
.gt-footer a,
.gt-promo-cards a,
.gt-category-icons a {
    text-decoration: none;
    color: inherit;
}

.gt-category-icons {
    padding-top: 12px !important;
    padding-bottom: 36px !important;
}

.gt-hero-banner {
    padding-bottom: 12px !important;
}

.gt-site-header .wp-block-site-title a {
    color: #111 !important;
}

.gt-cat-menu {
    position: relative;
    margin-left: 4px;
}

.gt-cat-menu__toggle {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background-color .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.gt-cat-menu__toggle:hover,
.gt-cat-menu.is-open .gt-cat-menu__toggle {
    background: #111;
    border-color: #111;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.gt-cat-menu__icon {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 18px;
}

.gt-cat-menu__icon span {
    display: block;
    height: 2px;
    width: 100%;
    background: #111;
    border-radius: 2px;
    transition: background-color .2s ease, transform .2s ease, opacity .2s ease;
}

.gt-cat-menu__toggle:hover .gt-cat-menu__icon span,
.gt-cat-menu.is-open .gt-cat-menu__icon span {
    background: #fff;
}

.gt-cat-menu.is-open .gt-cat-menu__icon span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.gt-cat-menu.is-open .gt-cat-menu__icon span:nth-child(2) {
    opacity: 0;
}

.gt-cat-menu.is-open .gt-cat-menu__icon span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

.gt-cat-menu__panel {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    z-index: 1000;
    width: 260px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(20, 12, 4, 0.12);
    padding: 14px 0 10px;
}

.gt-cat-menu__title {
    margin: 0 16px 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #888;
}

.gt-cat-menu__list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 70vh;
    overflow-y: auto;
}

.gt-cat-menu__list a {
    display: block;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 500;
    color: #222 !important;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
}

.gt-cat-menu__list a:hover {
    background: #faf6f1;
    color: #111 !important;
}

.gt-header-search .wp-block-search__inside-wrapper {
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
}

.gt-header-search .wp-block-search__input {
    border: 0 !important;
    padding: 14px 18px;
    font-size: 14px;
}

.gt-header-search .wp-block-search__button {
    background: #111 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
}

.gt-nav-item img {
    display: block;
    margin: 0 auto;
    opacity: .85;
}

.gt-nav-item p {
    margin: 0;
    white-space: nowrap;
}

.gt-cat-circle img {
    width: 78px;
    height: 78px;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid #eee;
    background: #f7f7f7;
    padding: 12px;
    display: block;
    margin: 0 auto;
    transition: transform .25s ease, box-shadow .25s ease;
}

.gt-cat-circle:hover img {
    transform: translateY(-3px);
    box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

.gt-hero-inner {
    overflow: hidden;
    min-height: 460px;
    align-items: stretch !important;
}

.gt-hero-inner > .wp-block-column {
    min-height: 460px;
}

.gt-hero-inner > .wp-block-column:first-child {
    display: flex !important;
    flex-direction: column;
    justify-content: center !important;
    align-self: stretch !important;
}

.gt-hero-image {
    position: relative;
    padding: 0 !important;
    align-self: stretch !important;
}

.gt-hero-image .wp-block-image,
.gt-hero-image figure {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0 !important;
}

.gt-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.gt-promo-card {
    transition: transform .25s ease, box-shadow .25s ease;
}

.gt-promo-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0,0,0,.06);
}

.gt-promo-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 10px;
    background: #fff;
}

/* Demo product grid (shown when WooCommerce is inactive) */
.gt-demo-products {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(var(--gt-demo-cols, 4), minmax(0, 1fr));
    gap: 20px;
}

.gt-demo-product-card {
    text-align: center;
    padding-bottom: 12px;
}

.gt-demo-product-card .gt-product-thumb {
    margin: 0;
}

.gt-demo-product-card .gt-product-thumb img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    max-height: 280px;
}

.gt-demo-price {
    font-size: 15px;
    font-weight: 700;
    color: #222;
    margin: 0 0 8px;
}

@media (max-width: 991px) {
    .gt-demo-products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .gt-demo-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
}

.gt-products-row > .wp-block-heading {
    margin-bottom: 28px !important;
}

.gt-products-row {
    gap: 28px !important;
}

.gt-products-row .wc-block-components-product-image,
.gt-product-card .gt-product-thumb,
.gt-product-card .wc-block-components-product-image {
    background: #f5f5f5 !important;
    border-radius: 12px;
    padding: 14px;
    display: block;
}

.gt-products-row .wc-block-components-product-image img {
    border-radius: 8px;
}

.gt-products-row .wp-block-post-title,
.gt-products-row .wp-block-post-title a {
    color: #222;
    text-decoration: none;
    text-align: center !important;
    font-size: 16px !important;
    line-height: 1.4;
}

.gt-products-row .wc-block-components-product-price,
.gt-products-row .wc-block-grid__product-price {
    text-align: center !important;
    display: block;
    width: 100%;
}

.gt-products-row .wc-block-components-product-button,
.gt-products-row .wp-block-button {
    text-align: center;
    justify-content: center;
    display: flex;
    margin-top: 8px;
}

.gt-add-cart .wp-block-button__link,
.gt-products-row .wp-block-button__link,
.gt-products-row .wc-block-components-product-button__button,
.gt-explore-products .wc-block-components-product-button__button {
    background: #222 !important;
    color: #fff !important;
    border-radius: 8px !important;
    border: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 14px !important;
}

.gt-subscribe-form {
    display: flex;
    gap: 0;
    width: 100%;
    position: relative;
    margin-bottom: 0;
    z-index: 1;
}

.gt-subscribe-form input[type="email"] {
    flex: 1;
    border: 1px solid #d7e0e8;
    border-right: 0;
    border-radius: 8px 0 0 8px;
    padding: 12px 14px;
    font-size: 14px;
    outline: none;
    background: #fff;
}

.gt-subscribe-form button {
    background: #111;
    color: #fff;
    border: 0;
    border-radius: 0 8px 8px 0;
    padding: 12px 18px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.gt-subscribe-box {
    position: relative;
    overflow: hidden;
    background-color: #e8f1f8;
    background-size: cover !important;
    background-position: center right !important;
    background-repeat: no-repeat !important;
    min-height: 300px;
    height: 100% !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-self: stretch !important;
    box-sizing: border-box;
}

.gt-subscribe-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(232, 241, 248, 0.94) 0%, rgba(232, 241, 248, 0.82) 48%, rgba(232, 241, 248, 0.35) 100%);
    z-index: 0;
    pointer-events: none;
}

.gt-subscribe-box > * {
    position: relative;
    z-index: 1;
}

.gt-newsletter-banner > .wp-block-columns {
    display: flex !important;
    align-items: stretch !important;
}

.gt-newsletter-banner > .wp-block-columns > .wp-block-column {
    align-self: stretch !important;
}

.gt-bedroom-promo {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    min-height: 300px;
    align-self: stretch !important;
    box-sizing: border-box;
}

.gt-bedroom-promo > .wp-block-columns {
    width: 100%;
    align-items: center !important;
}

.gt-bedroom-promo > .wp-block-columns > .wp-block-column:first-child {
    display: flex !important;
    flex-direction: column;
    justify-content: center !important;
}

.gt-trust-bar {
    gap: 0 !important;
    width: 100%;
    border: 1px solid #efe6dc;
    box-shadow: 0 8px 24px rgba(40, 24, 10, 0.04);
    overflow: hidden;
}

.gt-trust-item {
    flex: 1 1 0;
    min-width: 0;
    position: relative;
    transition: background-color .25s ease, transform .25s ease;
}

.gt-trust-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 22%;
    height: 56%;
    width: 1px;
    background: #e8ddd2;
}

.gt-trust-item:hover {
    background: #fff;
}

.gt-trust-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #efe6dc;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(40, 24, 10, 0.05);
}

.gt-trust-icon .wp-block-image,
.gt-trust-icon figure {
    margin: 0 !important;
    line-height: 0;
}

.gt-trust-icon img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain;
    display: block;
    filter: brightness(0) saturate(100%);
}

.gt-trust-item p {
    line-height: 1.35;
}

@media screen and (max-width: 900px) {
    .gt-trust-bar {
        flex-wrap: wrap !important;
    }

    .gt-trust-item {
        flex: 1 1 45%;
    }

    .gt-trust-item:nth-child(2)::after {
        display: none;
    }
}

@media screen and (max-width: 600px) {
    .gt-trust-item {
        flex: 1 1 100%;
    }

    .gt-trust-item:not(:last-child)::after {
        display: none;
    }

    .gt-trust-item:not(:last-child) {
        border-bottom: 1px solid #efe6dc;
    }
}

.gt-best-seller img {
    width: 100%;
    max-height: 220px;
    object-fit: contain;
}

.gt-footer-links {
    list-style: none;
    margin: 0;
}

.gt-footer-links li {
    margin-bottom: 10px;
}

.gt-footer-links a:hover {
    opacity: .7;
}

.gt-brand-logos .wp-block-column {
    opacity: .55;
    filter: grayscale(1);
}

.gt-dual-banners .wp-block-cover {
    overflow: hidden;
}

/* Inner page banner */
.wp-site-blocks > * + * {
    margin-block-start: 0 !important;
}

.wp-site-blocks > header,
.gt-site-header,
header.wp-block-template-part {
    margin: 0 !important;
    padding-bottom: 0 !important;
}

.gt-inner-banner {
    text-align: center;
    background-color: #f4f4f4 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #ececec;
}

.gt-inner-banner .wp-block-post-title,
.gt-inner-banner .wp-block-query-title,
.gt-inner-banner h1 {
    color: #111 !important;
}

.gt-inner-breadcrumbs,
.gt-inner-banner .woocommerce-breadcrumb,
.gt-inner-banner .wc-block-breadcrumbs {
    justify-content: center !important;
    text-align: center !important;
    color: #555 !important;
    font-size: 13px !important;
}

.gt-inner-banner .wc-block-breadcrumbs a,
.gt-inner-banner .woocommerce-breadcrumb a {
    color: #555 !important;
    text-decoration: none;
}

.gt-inner-banner .wc-block-breadcrumbs a:hover,
.gt-inner-banner .woocommerce-breadcrumb a:hover {
    color: #111 !important;
}

.gt-shop-layout > .wp-block-columns {
    align-items: flex-start !important;
}

.gt-hot-deals .hot-deals-columns img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

.gt-hot-deals .wp-block-button__link {
    background: #111 !important;
    color: #fff !important;
    border-radius: 999px !important;
}

.gt-category-promo-banner {
    width: 100%;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(115deg, #f2f2f2 0%, #e4e8ec 42%, #b7c4cf 100%) !important;
    box-sizing: border-box;
}

.gt-category-promo-banner .wp-block-button__link {
    background: #111 !important;
    color: #fff !important;
    border-radius: 999px !important;
    border: 0 !important;
}

@media screen and (max-width: 781px) {
    .gt-category-promo-banner {
        min-height: 260px;
        padding: 36px 28px !important;
    }

    .gt-category-promo-banner h2 {
        font-size: 36px !important;
    }
}

/* Single product page headings */
.single-product .wp-block-post-title,
.single-product h1.wp-block-post-title {
    font-size: 28px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.single-product .wp-block-woocommerce-product-details h2,
.single-product .woocommerce-Tabs-panel > h2,
.single-product .wp-block-woocommerce-product-details .wc-block-components-title,
.single-product .woocommerce-product-details__short-description + h2,
.single-product .wc-tabs-wrapper h2,
.single-product .woocommerce-Tabs-panel--description > h2:first-child {
    font-size: 22px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.single-product .wp-block-woocommerce-related-products .wp-block-heading,
.single-product .related.products > h2,
.single-product .wp-block-woocommerce-related-products h2 {
    font-size: 24px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

@media screen and (max-width: 781px) {
    .single-product .wp-block-post-title,
    .single-product h1.wp-block-post-title {
        font-size: 24px !important;
    }

    .single-product .wp-block-woocommerce-related-products .wp-block-heading,
    .single-product .wp-block-woocommerce-related-products h2 {
        font-size: 20px !important;
    }
}

@media screen and (max-width: 781px) {
    .gt-inner-banner {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .gt-inner-banner .wp-block-post-title,
    .gt-inner-banner .wp-block-query-title,
    .gt-inner-banner h1 {
        font-size: 28px !important;
    }
}

@media screen and (max-width: 781px) {
    .gt-header-top .wp-block-columns,
    .gt-header-nav .wp-block-columns,
    .gt-hero-inner {
        flex-direction: column;
    }

    .gt-hero-inner,
    .gt-hero-inner > .wp-block-column {
        min-height: 0;
    }

    .gt-hero-image {
        min-height: 280px;
    }

    .gt-hero-image .wp-block-image,
    .gt-hero-image figure {
        position: relative;
        inset: auto;
        height: 280px;
    }

    .gt-hero-image img {
        height: 280px;
        border-radius: 0 0 18px 18px !important;
    }

    .gt-cat-circle img {
        width: 56px;
        height: 56px;
    }

    .gt-subscribe-form {
        flex-direction: column;
        gap: 8px;
    }

    .gt-subscribe-form input[type="email"],
    .gt-subscribe-form button {
        border-radius: 8px;
        border: 1px solid #d7e0e8;
        width: 100%;
    }
}
