/*
Theme Name: Nova Coffee Shop
Theme URI: https://www.novathemes.net/products/nova-coffee-shop
Author: Nova Themes
Author URI: https://www.novathemes.net/
Description: Nova Coffee Shop provides a structured website layout with configurable sections for presenting menus, featured items, image galleries, testimonials, contact details, and additional content. The theme includes customization options for colours, typography, navigation menus, widgets, headers, footers, and logo uploads through the built-in Customizer. Banner sections, featured images, and content blocks can be managed without modifying the core files, helping maintain an organised website structure and consistent design. The theme supports the block editor and works with commonly used page builders for creating custom page layouts. It is compatible with plugins for contact forms, search engine optimisation, caching, and security, allowing additional functionality while maintaining compatibility with current platform updates. Translation-ready files support multilingual websites, and the code follows current development standards for easier maintenance. Users can adjust page spacing, fonts, widget placement, and content sections using the available settings. Nova Coffee Shop also includes configurable footer options, social media integration, image management, and navigation controls that simplify routine website updates while maintaining a clear and consistent presentation across all pages.
Requires at least: 6.4
Requires PHP: 7.4
Tested up to: 7.0
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nova-coffee-shop
Tags: food-and-drink, blog, e-commerce, template-editing, style-variations, grid-layout, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, block-patterns, block-styles, editor-style, wide-blocks, full-width-template, footer-widgets, featured-images, full-site-editing, featured-image-header, flexible-header, custom-background, custom-colors, custom-header, custom-menu, custom-logo, post-formats, sticky-post, threaded-comments, translation-ready, theme-options, rtl-language-support
*/

html {
	scroll-behavior: smooth;
}
.single .wp-block-post-terms a:hover,a:hover{
	color: var(--wp--preset--color--primary);
}
.single-product .single_add_to_cart_button,
.single-product .wc-block-components-product-button__button,
.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button,
.woocommerce-cart .wc-block-cart__submit-container a,
.woocommerce-checkout .wc-block-components-button__text,
.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-page .wp-block-button__link,
.woocommerce-page .woocommerce-Button {
    color: #fff !important;
}
.single-product .wc-block-components-notice-banner__content .wc-forward {
    background-color: var(--wp--preset--color--primary) !important;
    color: #fff !important;
    text-decoration: none;
    padding: 7px !important;
}
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next{
    background-color: var(--wp--preset--color--primary) !important;
    color: #fff !important;
    padding: 5px 10px;
}
.wp-block-query-pagination .page-numbers.current,
.wp-block-query-pagination .page-numbers:hover {
    background-color: #000 !important;
}

/* Header Section */

.main-header .wp-block-button__link {
	box-shadow: unset !important;
		display: flex;
	justify-content: center;
	align-items: center;
}
.main-header .header-search svg,
.main-header .cart-button svg {
	border: 1px solid #fff;
	border-radius: 50%;
	padding: 7px;
}
.main-header .cart-button svg {
  padding: 5px;
}
.main-header .wp-block-button__link,
.main-header .wp-block-search__button {
	border-color: transparent !important;
}
.main-header .wp-block-search__button:hover {
	background-color: var(--wp--preset--color--primary) !important;
	border-color: var(--wp--preset--color--primary) !important;
	box-shadow: unset;
}
.main-header .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary) !important;
}
.main-header .cart-button .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--primary) !important;
}
.main-header .login-button {
    border-radius: 21px;
}
.main-header .cart-button a:hover {
    color: #fff !important;
}
.main-header .login-button .wp-block-button__link {
  border: 1px solid !important;	
}
.main-header .login-button a {
	border: 1px solid #fff !important;
    border-radius: 21px;
    font-family: "Golos Text", sans-serif !important; 
    font-weight: 400 !important;
}
.main-header .login-button a:hover {
	color: #fff !important;
        background-color: var(--wp--preset--color--primary) !important;
}
.main-header .wp-block-woocommerce-customer-account:hover {

}
.main-header button,
.main-header .login-button,
.main-header .cart-button .wp-block-button__link {
	padding: 0px !important;
}
.main-header .cart-button span {
    display: none;
}
.main-header .header-right-part {
	position: relative;
}
.main-header .wp-block-search__input {
	position: absolute;
	top: 90%;
	z-index: 3;
	right:0;
}
.wp-block-navigation .wp-block-navigation-item__content {
	padding: 0px 30px;
    text-decoration: none;
}
.main-header .wp-element-button:focus{
	background-color: transparent !important;
	border: 1px solid #fff !important;
	color: #fff !important;
	border-color:  #fff !important;
}
.header-main ul li{
	position: relative;
}
.main-header{
	position: relative;
    z-index: 3;
}
.logo-box h1 a:hover{
	color: #fff !important;
}
.logo-box {
    display: flex;
    height: 100%;
    align-items: center;
}

/* Banner Section */

.banner-main {
	position: relative;
	z-index: 2;
}
.banner-main .banner-btn a {
	font-weight: 500;
}
.banner-main .wp-social-link {
	border-radius: 2px;
}
.banner-main .wp-block-social-links {
	gap: 15px;
}
.banner-main .image-box img {
    object-fit: cover;
}
.banner-main .wp-block-social-links .wp-social-link a:hover {
	background-color: var(--wp--preset--color--primary) !important;
	color: #fff !important;
	border-radius: 2px;
}
.banner-outer {
	position:  relative;
}
.coffee-strip{
    position: absolute;
	bottom: -2%;
    width: 100%;
    height: 180px;
    overflow: hidden;
}
.image-box {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.image-box{
	position: relative;
	text-align: right;
}
.image-box .center-image {
    text-align: right;
}
.image-box .center-image {
	width: 100%;
}
.image-box .center-image img {
    position: relative;
    z-index: 3;
    bottom: 0px;
    height: 450px;
    width: 100%;
}
.banner-content h2 span{
	color: var(--wp--preset--color--primary) !important;
}
.banner-btn a:focus{
	outline-color: var(--wp--preset--color--primary);
}
.banner-btn a:hover{
    background: var(--wp--preset--color--contrast-one) !important;
}
.banner-main figure{
    position: relative;
    overflow: hidden;
}
.banner-main figure::before{
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 30%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.55),
        transparent
    );
    transform: skewX(-25deg);
    z-index: 2;
    pointer-events: none;
}
.banner-main figure:hover::before{
    animation: shine .9s ease-in-out;
}
@keyframes shine{
    from{
        left: -120%;
    }
    to{
        left: 150%;
    }
}
.banner-main figure{
    position: relative;
    overflow: hidden;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
}
.banner-main figure img{
    display: block;
    width: 100%;
    transition: transform .7s ease, filter .7s ease;
    will-change: transform;
}
.banner-main figure::before{
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 60%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
        110deg,
        transparent 20%,
        rgba(255,255,255,.15) 40%,
        rgba(255,255,255,.65) 50%,
        rgba(255,255,255,.15) 60%,
        transparent 80%
    );
    transform: skewX(-25deg);
}
.banner-main figure:hover img{
    transform: scale(1.08);
    filter: brightness(1.08) contrast(1.05);
}
.banner-main figure:hover::before{
    animation: secondShine .9s ease-out;
}
@keyframes secondShine{
    from{
        left: -150%;
    }
    to{
        left: 170%;
    }
}
.strip{
    position: absolute;
    left: 50%;
    width: 150vw;
    transform-origin: center;
    overflow: hidden;
    background: var(--wp--preset--color--primary);
    padding: 10px 0;
    z-index: 2;
}
/* Top Strip */
.strip-top{
    top: 60%;
    transform: translate(-50%, -50%) rotate(-3deg);
}
/* Bottom Strip */
.strip-bottom{
    top: 50%;
    transform: translate(-50%, -50%) rotate(3deg);
}
/* Marquee Track */
.track{
    display: flex;
    align-items: center;
    width: max-content;
    white-space: nowrap;
    animation: marquee-left 25s linear infinite;
}
.track.reverse{
    animation: marquee-right 25s linear infinite;
}
.track span{
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    margin: 0 60px;
    color: #fff;
	font-family: "Bebas Neue", sans-serif !important;
    font-size: 24px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1;
}
@keyframes marquee-left{
    0%{
        transform: translateX(0);
    }
    100%{
        transform: translateX(-50%);
    }
}
@keyframes marquee-right{
    0%{
        transform: translateX(-50%);
    }
    100%{
        transform: translateX(0);
    }
}

/* Gallery Section */

.gallery-section img{
  width: 100% !important;
  object-fit: cover;
}
.gallery-section .gallery-item{
    position: relative;
}
.gallery-section .gallery-item > .wp-block-image{
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}
.gallery-section .gallery-item > .wp-block-image::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45);
    opacity:0;
    transition:all .4s ease;
    border-radius:8px;
    z-index:1;
    pointer-events:none;
}
.gallery-section .gallery-item > .product-info{
    position:absolute;
    left:20px;
    bottom:20px;
    color:#fff;
    opacity:0;
    transform:translateY(25px);
    transition:all .4s ease;
    z-index:2;
}
.gallery-section .gallery-item:hover > .wp-block-image::before{
    opacity:1;
}
.gallery-section .gallery-item:hover > .product-info{
    opacity:1;
    transform:translateY(0);
}
.gallery-section .product-info p{
    margin-top:0;
}

/* Dynamic Products */

.coffee-gallery .wc-block-product {
  display: block;
}
.coffee-gallery ul {
    display: grid;
    grid-template-columns: 39% 59%;
    grid-template-rows: auto 1fr;
    gap: 15px;
}
/* RIGHT SIDE (4th product) */
.coffee-gallery .wc-block-product:nth-child(4) {
  grid-column: 2;
  grid-row: 1 / span 2;
  height: 340px;
}
.coffee-gallery .wc-block-product:nth-child(4) img {
	height: 340px;	
}
/* LEFT TOP (1st product) */
.coffee-gallery .wc-block-product:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
  height: 170px;
}
.coffee-gallery .wc-block-product:nth-child(1) img {
  height: 170px;
}

/* LEFT BOTTOM 2 SPLIT */
.coffee-gallery .wc-block-product:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
  width: 40%;
  height: 155px;
}
.coffee-gallery .wc-block-product:nth-child(2) img {
	height: 155px;
}
.coffee-gallery .wc-block-product:nth-child(3) {
  grid-column: 1;
  grid-row: 2;
  width: 57%;
  margin-left: auto;
    height: 155px;
}
.coffee-gallery .wc-block-product:nth-child(3) img {
	height: 155px;
}
.coffee-gallery .wc-block-product{
    position:relative;
    overflow:hidden;
    border-radius:8px;
}
.coffee-gallery .wc-block-components-product-image{
    position:relative;
    overflow:hidden;
    border-radius:8px;
}
.coffee-gallery .wc-block-components-product-image img{
    width:100%;
    display:block;
    object-fit:cover;
    transition:transform .4s ease;
}
.coffee-gallery .wc-block-components-product-image::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45);
    opacity:0;
    visibility:hidden;
    transition:all .4s ease;
    z-index:2;
}
/* Product Info */
.coffee-gallery .wp-block-post-title,
.coffee-gallery .wp-block-woocommerce-product-price{
    position:absolute;
    left:20px;
    right:20px;
    z-index:3;
    opacity:0;
    visibility:hidden;
    transform:translateY(25px);
    transition:all .4s ease;
    color:#fff !important;
}
.coffee-gallery .wp-block-post-title{
    bottom:50px;
    margin:0 !important;
}
.coffee-gallery .wp-block-woocommerce-product-price{
    bottom:20px;
    margin:0 !important;
}
.coffee-gallery .wp-block-post-title a,
.coffee-gallery .wp-block-woocommerce-product-price,
.coffee-gallery .wp-block-woocommerce-product-price *,
.coffee-gallery .woocommerce-Price-amount,
.coffee-gallery ins,
.coffee-gallery del{
    color:#fff !important;
    text-decoration:none;
}
.coffee-gallery .wc-block-product:hover .wc-block-components-product-image::before{
    opacity:1;
    visibility:visible;
}
.coffee-gallery .wc-block-product:hover .wp-block-post-title,
.coffee-gallery .wc-block-product:hover .wp-block-woocommerce-product-price{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.coffee-gallery .wc-block-product:hover .wc-block-components-product-image img{
    transform:scale(1.08);
}
.coffee-gallery .wc-block-components-product-price ins {
    padding-left: 5px;
}
.coffee-gallery .wc-block-components-product-price del {
    text-decoration: line-through;
}
.coffee-gallery .wp-block-post-title a:focus {
    border: 1px solid #fff;
}
/* Footer Section */
footer a{
	text-decoration: none;
}

/* Scroll to Top */
.scroll-top-btn {
  display: none; 
  position: fixed;
  bottom: 20px;
  right: 20px;
  color: white;
}
.scroll-top-btn a {
    text-align: center;
    justify-content: center;
    display: flex;
    padding: 8px !important;
    background: var(--wp--preset--color--primary);
    color: #fff;
}

.scroll-top-btn a:hover {
	background-color: #000 !important;
}

/*Media CSS*/
@media screen and  (min-width: 320px) and (max-width: 767px){
	footer {
		text-align: center;
	}
	.footer-row {
		justify-content: center;
	}
    .coffee-gallery ul{
        display:grid;
        grid-template-columns:auto auto !important;
        grid-template-rows:auto auto;
        gap:15px;
    }
    .coffee-gallery .wc-block-product{
        grid-column:auto auto !important;
        grid-row:auto auto !important;
        width:100% !important;
        margin:0 !important;
        height:auto !important;
    }
    .coffee-gallery .wc-block-product img{
        width:100%;
        height:260px !important;
        object-fit:cover;
    }
    .coffee-gallery .wc-block-product:nth-child(1),
    .coffee-gallery .wc-block-product:nth-child(2),
    .coffee-gallery .wc-block-product:nth-child(3),
    .coffee-gallery .wc-block-product:nth-child(4){
        grid-column:auto !important;
        grid-row:auto !important;
        width:100% !important;
        height:auto !important;
    }

    .coffee-gallery .wc-block-product:nth-child(1) img,
    .coffee-gallery .wc-block-product:nth-child(2) img,
    .coffee-gallery .wc-block-product:nth-child(3) img,
    .coffee-gallery .wc-block-product:nth-child(4) img{
        height:200px !important;
    }
}
@media screen and  (min-width: 320px) and (max-width: 599px){
	header .wp-block-navigation .has-child .wp-block-navigation__submenu-container{
		align-items: flex-start !important;
	}
	header .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation-item{
		align-items: flex-start !important;
 
	}
	header .wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__container{
		display: flex;
		align-items: flex-start;
		align-content: flex-start;
		width: 100% !important;
	}
	.main-header .login-button .wp-block-button__link {
		padding: 6px !important;
	}
    .header-main-col {
		padding: 5px !important;
	}
	.header-main-col nav {
		justify-content: center;
	}
    .coffee-gallery ul {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto;
    }
}
@media screen and  (min-width: 320px) and (max-width: 781px){
	.banner-main {
	    padding-top: 40px !important;
	}
	.header-main ul li:after{
		display: none;
	}
	.image-box{
		min-height: 250px !important;
	}
	.main-header:after{
		display: none;
	}
	.image-box .center-image img {
	    position: relative;
	    z-index: 3;
	    bottom: 0px;
	    height: 250px;
	    width: 100%;
	}
	.logo-box{
		justify-content: center;
		padding-top: 10px !important;
	}
	.banner-content{
		text-align: center;
	}
	.logo-text h1{
		text-align: center;
	}
   .banner-btn{
		justify-content: center !important;
	}
	.banner-content h2,.banner-content p{
		text-align: center;
	}
	.banner-content h2{
		border: 0px !important;
		padding-left: 0px !important;
	}
	.image-box:after{
		top: -92px;
	}
	.brand-box {
	    position: relative;
	    top: 0px;
	    box-shadow: 0px 4px 4px 0px #00000040;
	    left: 0px;
	}
	.logos-box img,.logos-box figure{
		text-align: center;
	}
	.header-main {
		justify-content: center;
	}
	.banner-main .banner-lower {
		justify-content: center;
		flex-wrap: wrap;
	}
	.image-box .center-image  {
		margin-top: 20px !important;
	}
	.gallery-section .gallery-contain,
	.gallery-section .gallery-contain p,
	.gallery-section .gallery-contain h2,
	.gallery-section .gallery-contain h4 {
		max-width: 100% !important;
		text-align: center;
		margin: auto 20px !important;
	}
	.gallery-section .gallery-contain p {
	  margin: 10px 20px !important;	
	}
	 .gallery-section .image-4 img {
		height: 250px !important;
	 }
}    
@media screen and  (min-width: 320px) and (max-width: 1024px){
	.wp-block-navigation ul {
		gap: 0px
	}
}
@media (max-width:768px){
    .coffee-strip{
        height: 130px;
    }
    .strip{
        width: 180vw;
    }
    .strip-top{
        top: 80px;
		 transform: translate(-50%, -50%) rotate(-6deg);
    }
    .strip-bottom{
        bottom: 0px;
		    transform: translate(-50%, -50%) rotate(6deg);
    }
    .track span{
        font-size: 20px;
        margin: 0 40px;
    }
}
@media screen and  (min-width: 576px) and (max-width: 781px){
	.image-box .center-image img {
        position: relative;
        z-index: 3;
        bottom: 0px;
        height: 340px;
        width: 100%;
    }
}
@media screen and  (min-width: 768px) and (max-width: 781px){
	.single-post .wp-block-columns.are-vertically-aligned-center {
		display: grid;
		grid-template-columns: 50% 50%;
	}
}
@media screen and  (min-width: 768px) and (max-width: 991px){
	.footer-section .footer-cols {
		display: grid;
		grid-template-columns: auto auto;
	}
}
@media screen and  (min-width: 782px) and (max-width: 854px){
	.banner-main .banner-btn a {
      padding: 5px !important;
	}
}
@media screen and  (min-width: 782px) and (max-width: 1024px){
	.header-middle {
      flex-basis: 50% !important;
	} 
    .header-right-part {
        flex-basis: 35% !important;
    }
    .header-main .login-button svg,
    .header-main .cart-button svg {
        width: 1.5em;
        padding: 5px !important;
    }
    .login-button a {
        font-size: 12px;
    }
     .login-button svg {
        width: fit-content;
        height: fit-content;
     }
    .wp-block-navigation .wp-block-navigation-item__content {
        padding: 0px 10px;
    }
}
@media screen and  (min-width: 782px) and (max-width: 1450px){
	.wp-block-navigation ul {
		gap: 5px;
	}
}
@media screen and  (min-width: 1025px) and (max-width: 1450px){
	.main-header .header-middle {
		flex-basis: 50% !important;
	}
	.main-header .header-right-part {
		flex-basis: 35% !important;
	 }
	.wp-block-navigation .wp-block-navigation-item__content{
		padding: 0px 10px;
	}
}
@media screen and  (min-width: 782px) and (max-width: 1024px){
	.image-box .center-image img {
	    width: 100%;
	}
	.image-box{
		min-height: 330px !important;
	}
}
