/*
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 theme offers an organised website structure with configurable homepage sections and flexible customization settings. It includes dedicated areas for featured content, menu displays, image galleries, testimonials, contact information, and promotional banners. Users can customise typography, colours, navigation menus, widget areas, headers, footers, and logo settings using the built-in Customizer without editing the theme files. These options help maintain a consistent appearance throughout the website. The theme supports the block editor and integrates with commonly used page-building tools for flexible page creation. Compatibility with plugins for SEO, contact forms, caching, and security extends the available functionality while maintaining stable performance. Translation-ready support simplifies multilingual content management, and standard coding practices help maintain compatibility with future platform updates. Additional settings allow adjustments to page spacing, content placement, image displays, widgets, and footer layouts. Nova Coffee Shop provides organised layout controls and flexible design options that support ongoing website updates while preserving a structured presentation and consistent navigation across different pages.
Requires at least: 6.4
Requires PHP: 7.4
Tested up to: 7.0
Version: 1.0.2
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;
	}
}
