/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Kristoffer Pihlfelt
 Template:       Divi
 Version:        1.0.0
*/
 
 
/* =Theme customization starts here
------------------------------------------------------- */
#et-fb-app {
    margin-top: 32px !important; /* Pushes Divi Builder down */
}


#main-content {
	background-color:#272727;
}

/***** HEADINGS *****/

#et-main-area h1,
#et-main-area h2,
#et-main-area h3,
#et-main-area h4 {
	font-family: "sneakers-script", sans-serif;
}

.custom-product-desc h1,
.custom-product-desc h2,
.custom-product-desc h3,
.custom-product-desc h4 {
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif !important;
}

.custom-product-title h1 {
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif !important;
}

.sneakers h1, .sneakers h2, .sneakers h3, .sneakers h4 {
	font-family: "sneakers-script", sans-serif !important;
}

.product-archive-heading {
	font-family: "sneakers-script", sans-serif !important;
	font-weight:400 !important;
}

.archive-title {
	font-family: "sneakers-script", sans-serif !important;
	font-weight:400 !important;
}

/* Exclude default heading styling */
h2.woocommerce-loop-product__title {
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif !important;
	font-weight: 600 !important;
    font-size: 14px !important;
    color: #000000 !important;
    text-align: center !important;
}



/***** HEADER *****/

/* Add custom cart image icon in Divi menu */
.dccp-default-cart-icon:after { 
    font-size:0 !important; 
    background: url('https://landhav.advisoryhosting.se/wp-content/uploads/Shopping-Icon.png')
    no-repeat; 
    content: '' !important;
    height: 30px;
    width: 35px;
    background-size: cover; 
}

.dccp-style-1 .dccp-cart-count, .dccp-style-6 .dccp-cart-count {
    color: #000 !important;
    background: #fff !important;
	border:1px solid lightgray;
}

.dccp-style-1 .dccp-cart-count, .dccp-style-6 .dccp-cart-count {

    font-weight: 400 !important;
    font-size: .6em !important;
    margin-left: -1em !important;
}

.minicart-mod {
	float:right
}



/* Search bar */
.searchbar-mod {
	width: 70%;
    float: left;
}

/* Main menu */
#menu-main-menu > li {
	padding-top:20px !important;
	padding-bottom:12px !important;
	margin-top:0px !important;
}

#menu-main-menu > li.current-menu-item,
#menu-main-menu > li.current-product_cat-ancestor
{
	background-color:#00523C !important;
}




.et-db #et-boc .et-l .nav ul li a:hover {
    background-color: rgba(0, 0, 0, 0);
    opacity: 1;
}

.sub-menu li:hover {
	background-color: #00523C;
}


#dm-menu .sub-menu li:hover,
#dm-menu .sub-menu li:focus {
    background-color: #06a3db;
}

/* Cart off-canvas */

.dmcp-slide-title h6 {
	color:black;
}


/****** END HEADER *****/




/***** MOBILE HEADER *****/

.menu-info-heading {
	font-weight: 800;
    text-transform: uppercase;
    padding-top: 30px;
}
/***** END MOBILE HEADER *****





/***** FRONT PAGE *****/

.front-page-hero-btn {
	float:left;
	width:32%;
	text-align:center;
	margin-left: 0.5%;
	margin-right:0.5%
}

/* Google reviews */

.wp-gr[data-layout="grid"] .grw-reviews {
    gap: 0px !important;

}

.wp-gr .grw-header, .wp-gr .grw-content {
    width: 100% !important;
}

.wp-gr .grw-review {
    flex: 0 0 49% !important;
    border: 1px solid #a5a5a5 !important;
    border-radius: 6px !important;
    margin: 0.5% !important;
}
.wp-google-powered img {
	display:none !important;
}


/***** END FRONT PAGE *****/





/***** PAGES *****/

/* Full width section header */
.header-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 250px;
}

/***** END PAGES *****/




/***** PRODUCT PAGE *****/

/* Product img */
#product-img-module {
	background-color:#fff !important;
	border-radius: 6px !important;
}
#product-img-module .woocommerce-product-gallery .flex-viewport {
	background-color:#fff !important;
	border-radius: 6px !important;
}
.woocommerce-product-gallery__wrapper {
	background-color:#fff !important;
	border-radius: 6px !important;
}

#product-img-module li {
    background-color:#fff !important;
	margin-right: 2% !important;
	margin-bottom: 30px;
} 
#product-img-module li img {
    padding:5px !important;
}

.woocommerce div.product div.images .flex-control-thumbs {
    margin-top: 2% !important;
}

#product-img-module .et_pb_module_inner:after {
    display: inline-block !important;
}

/* Product meta */
.product_meta {
	border-top:none !important;
}

/* From price */
.from-price {
	font-size:22px;
	line-height:1.2;
	
}

.et_pb_all_tabs .et_pb_tab:last-of-type .et_pb_tab_content h2 {
    display: none;
}

/* Product tabs */

.et_pb_all_tabs {
	border: 1px solid #737373 !important;
}

ul.et_pb_tabs_controls:after {
    border-top: none !important;
}

ul.et_pb_tabs_controls {
    background-color: transparent !important;
}
.et_pb_tabs_controls li {
    border-right: none !important;
}


/***** END PRODUCT PAGE *****/




/***** PRODUCT ARCHIVE *****/

.franpris {
	color: #353535;
    font-size: 16px;
}

/* Webbshop categories shortcode styling */
/* Grid for Subcategories */
.custom-subcategories {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(25%, 1%)); /* 25% column widths */
    gap: 20px; /* Space between items */
    justify-content: center; /* Center-align the grid items */
}

/* Subcategory Wrapper Styling */
.subcategory-wrapper {
    text-align: center; /* Center-align the content */
    max-width: 250px; /* Limit the box width */
    margin: 0 auto; /* Center the wrapper */
    transition: transform 0.3s ease; /* Smooth hover effect */
}

.subcategory-wrapper:hover {
    transform: scale(1.05); /* Slight zoom effect on hover */
}

/* Subcategory Box Styling */
.subcategory {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
    border: 1px solid #545252; /* Optional: Border for clarity */
    border-radius: 5px; /* Rounded corners */
    height: 150px; /* Fixed height for uniformity */
    text-decoration: none; /* Remove underline */
}

.subcategory img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* Preserve aspect ratio */
}

/* Subcategory Name Styling */
.subcategory-name {
    margin-top: 10px; /* Space between box and name */
    font-size: 1rem;
    font-weight: bold;
    color: #fff; /* Black text color */
    display: block;
    text-decoration: none; /* Remove underline */
}

/* Category Name and Description Styling */
.category-description {
    max-width: 60%; /* Restrict width for centered text */
    margin: 0 auto; /* Center-align content */
    text-align: center; /* Center the text */
    padding: 20px; /* Add padding for spacing */
	color: #fff;
}

.category-description h2 {
    font-size: 2rem;
    margin-bottom: 10px; /* Space below the heading */
    color: #fff; /* Black heading color */
}

.category-description p {
    font-size: 1rem;
    line-height: 1.6; /* Increase line height for readability */
    color: #fff; /* Gray text color */
}

/* Mobile Styling */
@media screen and (max-width: 768px) {
    .custom-subcategories {
        grid-template-columns: repeat(2, 50%); /* 2 columns on smaller screens */
    }

    .category-description {
        max-width: 100%; /* Adjust width for smaller screens */
    }
}

/* End Webbshop categories shortcode styling */



/* Smaller subcategory buttons */

.custom-filter-buttons {
    display: flex;
    flex-wrap: wrap; /* Allow buttons to wrap to new lines */
    gap: 10px; /* Space between buttons */
    justify-content: flex-start; /* Align buttons to the left */
	padding-top: 30px;
    padding-bottom: 60px;
}

.filter-button {
    display: inline-block;
    background-color: black;
    color: white;
    text-decoration: none;
    font-size: 0.9rem;
    padding: 8px 12px;
    border-radius: 4px;
    text-align: center;
    transition: background-color 0.3s ease, color 0.3s ease, border 0.3s ease; /* Smooth transitions */
    border: 2px solid transparent; /* Invisible border to prevent row shifts */
}

.filter-button:hover {
    background-color: white;
    color: black !important;
    border-color: black !important; /* Add a visible border on hover */
}

@media screen and (max-width: 768px) {
    .filter-button {
        font-size: 0.8rem; /* Smaller text size for mobile */
        padding: 6px 10px; /* Adjust padding for smaller screens */
    }
}


/* End Smaller subcategory buttons */


/* Hero */
.category-title-row::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.3); /* Adjust opacity (0.5 = 50% dark) */
	z-index: 1;
}


/*Product cards */

.products li {	
	background-color: #fff;
    padding: 1.5em;
	text-align:center;
	border-radius:6px;
}
.woocommerce-page ul.products li h2 {
	min-height: 4em !important; 
}
.woocommerce-page ul.products li {
	padding: 1.5em !important; 
}

ul.products.columns-4 li.product {
    width: 24% !important;
}
ul.products li.product {
    margin: 0.5% 0.5% !important;
}

/* Product price */
ul.products li.product .price .amount {
    font-weight: 700 !important;
    font-size: 20px !important;
    color: #000000 !important;
    text-align: center !important;
}

.no-price {
	min-height:28px;
}

/* Stock statuses */
.stock {
	text-transform:uppercase;
	font-weight:600;
	font-size:11px !important;
}
.in-stock {
	color:#007F3C !important;
}
.available-on-backorder {
	color: #838383 !important;
}

/* Product cards button */
.woocommerce ul.products li.product .button {
    background: #037F3C;
	border:none;
	border-radius: 15px;
	color:#fff;
	font-size:12px;
	font-weight:600;
	margin-bottom: 0px;
	text-transform:uppercase;
	padding:6px 18px;
}
.woocommerce-page ul.products li a:after {
	content: none !important;
}
.woocommerce-page ul.products li a.button:hover {
	padding:6px 18px !important;
	background: #046932;
}

/* Category blurb icons */

.category-blurb-row {
	margin-top: -150px !important;
}

.category-blurb-column {
	flex: 0 0 auto !important;
    display: flex !important; 
    justify-content: center !important;
    align-items: center !important;
}

.et_pb_blurb_content {
    display: flex !important;
    flex-direction: column !important; 
    align-items: center !important;
    text-align: center !important;
}

.category-blurb-icon {
	width:15%;
	margin-bottom:1% !important;
}
.category-blurb-icon .et-pb-icon {
    font-size: 30px !important;
    color: #ffffff !important;
    font-family: FontAwesome !important;
    font-weight: 900 !important;
    margin: 30px !important;
}

.category-blurb-icon .et_pb_main_blurb_image {
    margin-bottom: 14px !important;
	display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100px !important;
    height: 100px !important;
}


.category-blurb-icon .et_pb_main_blurb_image img {
	width:100% !important;
	max-height: 50px !important;
}

/* Category headings */
.product-archive-heading {
	padding:0px !important;
}

/* Category descriptions */
.cat-desc-wrapper {
		padding-top: 30px;
    	padding-bottom: 60px;
	}


/***** END PRODUCT ARCHIVE *****/




/***** CART *****/

.article-sku {
	color: #919191;
	font-size:12px;
}

.product-name p {
	padding-bottom:0.5em !important;
}

.woocommerce-cart-form__cart-item .quantity span {
	display:none !important;
}


/***** END CART *****/





/***** ELEMENTS *****/


/* USP row in header */

.top-icons-list .dsm_icon_list_items {
    display: flex !important; 
    justify-content: space-between !important; /* Evenly distribute items across the row */
    align-items: center !important;
    flex-wrap: wrap !important; /* Wrap items to the next row if necessary */
    list-style: none !important;
    padding: 0 !important; 
    margin: 0 !important; 
}

.top-icons-list .dsm_icon_list_child {
    text-align: center !important;
    flex: 1 1 20%; /* Distribute items evenly and allow wrapping */
    max-width: 25%; /* Adjust for a max width per item */
    margin: 10px 0 !important; /* Add spacing between items */
}

.top-icons-list .dsm_icon_list_icon {
	color:#0599d7 !important;
}
.top-icons-list .dsm_icon_list_text {
	color:#fff !important;
}


.side-by-side-buttons-col .et_pb_button_module_wrapper {
    display: inline-block;
	margin-right:1em;
}
.side-by-side-buttons-col {
	text-align: center !important;
}


/***** END ELEMENTS *****/





/***** FOOTER *****/
.footer-row .footer-col-left {
	width:33% !important;
	margin-right:4% !important;
}
.footer-row .footer-col {
	width:18% !important;
	margin-right:4% !important;
}

/***** END FOOTER *****/






/***** MOBILE DEVICES *****/

@media screen and (max-width: 768px) {
	
	
	/***** FRONT PAGE *****/
	
	.et_pb_section_video {
		margin-top:-80px !important;
	}
	
	.front-page-hero-btn {
		width:100%;
		margin-bottom:0.5em;
	}
	
	.hero-section {
		margin-top:80px !important;
	}
	
	.hero-title-row {
		
	}
	
	.hero-title-module {
		width:96% !important;
		z-index: 2;
	}
	
	
	/* Google reviews */
	.wp-gr .grw-review {
		flex: 0 0 98% !important;
		margin:1% !important;
	}
	
	
	/***** SHOWROOM PAGES *****/
	
	.category-blurb-row {
		margin-top: -150px !important;
	}
	
	.category-blurb-icon {
		width:50%;
		margin:5px !important;
	}
	.category-blurb-icon .et-pb-icon {
		font-size: 20px !important;
		color: #ffffff !important;
		font-family: FontAwesome !important;
		font-weight: 900 !important;
		margin: 30px !important;
	}

	.category-blurb-icon .et_pb_main_blurb_image {
		margin-bottom: 14px !important;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		width: 60px !important;
		height: 60px !important;
	}


	.category-blurb-icon .et_pb_main_blurb_image img {
		width:40px !important;
		max-height: 25px !important;
	}
	
	.category-blurb-icon .et_pb_module_header {
		display:none;
	}
	
	
	/***** WEBSHOP PAGE *****/
	.two-col-mob .et_pb_blurb_content h4 {
		font-size: 14px !important;
    	text-align: center !important;
	}
	
	/***** CATEGORY PAGES *****/
	
	.category-title-row {
		display: flex;
		align-items: center; /* Centers vertically */
		justify-content: center; /* Centers horizontally */
		height: 100vh; /* Full viewport height (adjust if needed) */
	}
	
	
	
	/***** CART PAGE *****/
	.shop_table {
		border:none !important;
	}
	.shop_table tr {
		border-radius:6px !important;
	}
	
	.shop_table.cart thead {
        display: none !important;
    }
    
    .shop_table.cart tbody tr {
        display: block !important;
        margin-bottom: 20px !important;
        border: 1px solid #ddd !important;
        padding: 15px !important;
    }
    
    .shop_table.cart tbody td {
        display: block !important;
        text-align: right !important;
        padding: 10px !important;
        border-bottom: 1px solid #eee !important;
    }
	
	.shop_table.cart tbody .actions {
		text-align:left !important;
	}
	
	.shop_table.cart tbody #coupon_code {
		width:100% !important;
	}
    
    .shop_table.cart tbody td::before {
        display: none !important;
    }
    
    .shop_table.cart tbody td.product-thumbnail,
    .shop_table.cart tbody td.product-details {
        text-align: center !important;
    }
	
	.product-thumbnail {
		border-top: 0px !important;
	}
	
	.product-thumbnail img {
		width:50% !important;
	}
    
    .mobile-product-name,
    .mobile-product-sku,
    .mobile-product-stock {
        text-align: center !important;
        margin-bottom: 10px !important;
    }
    
    .mobile-label {
        float: left !important;
        font-weight: bold !important;
    }
    
    .product-quantity,
    .product-price,
    .product-subtotal {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }
	
	.shop_table.cart tbody tr {
        position: relative;
    }
    	
	.shop_table.cart tbody td.product-remove {
        position: absolute;
        top: 18px;
        right: 10px;
        text-align: right;
        border-bottom: none !important;
        border-top: none !important;
    }
	
	.cart-totals-mod {
		width:100% !important;
	}
	
	
	/***** PRODUCT PAGE *****/
	ol.flex-control-thumbs.flex-control-nav {
		margin-bottom: -30px !important;
	}
	
	

	/***** HEADER *****/	
	.top-menu-row .et_pb_column_1_5 {
		margin-bottom:0px !important;
	}
	.top-menu-row .et_pb_column_3_5 {
		margin-bottom:18px !important;
	}
	
	
	/* SPACING AFTER HEADING */
	#main-content .container {
		padding-top:30px !important;
	}
	
	
	
	/* Product cards */
	body.et-db #et-boc .et-l .et_pb_shop ul.products.columns-1 li.product, 
	body.et-db #et-boc .et-l .et_pb_shop ul.products.columns-2 li.product, 
	body.et-db #et-boc .et-l .et_pb_shop ul.products.columns-3 li.product, 
	body.et-db #et-boc .et-l .et_pb_shop ul.products.columns-4 li.product, 
	body.et-db #et-boc .et-l .et_pb_shop ul.products.columns-5 li.product, 
	body.et-db #et-boc .et-l .et_pb_shop ul.products.columns-6 li.product, 
	body.et-db #et-boc .et-l .et_pb_wc_related_products ul.products.columns-1 li.product,  
	body.et-db #et-boc .et-l .et_pb_wc_related_products ul.products.columns-2 li.product,  
	body.et-db #et-boc .et-l .et_pb_wc_related_products ul.products.columns-3 li.product, 
	body.et-db #et-boc .et-l .et_pb_wc_related_products ul.products.columns-4 li.product, 
	body.et-db #et-boc .et-l .et_pb_wc_related_products ul.products.columns-5 li.product, 
	body.et-db #et-boc .et-l .et_pb_wc_related_products ul.products.columns-6 li.product, 
	body.et-db #et-boc .et-l .et_pb_wc_upsells ul.products.columns-1 li.product, 
	body.et-db #et-boc .et-l .et_pb_wc_upsells ul.products.columns-2 li.product, 
	body.et-db #et-boc .et-l .et_pb_wc_upsells ul.products.columns-3 li.product, 
	body.et-db #et-boc .et-l .et_pb_wc_upsells ul.products.columns-4 li.product, 
	body.et-db #et-boc .et-l .et_pb_wc_upsells ul.products.columns-5 li.product, 
	body.et-db #et-boc .et-l .et_pb_wc_upsells ul.products.columns-6 li.product {
		
		width: 48% !important;
        margin-right: 1% !important;
        margin-left: 1% !important;
	}
	
	
	/* Container for products */
	ul.products {
		display: flex;
		flex-wrap: wrap;
		margin: 0; /* Remove default margin */
		padding: 0; /* Remove default padding */
		list-style: none; /* Remove default list styles */
	}

	/* Product cards */
	ul.products li.product {
		display: flex;
		flex-direction: column; /* Stack elements inside the card */
		justify-content: space-between; /* Evenly distribute elements */
		align-items: stretch;
		box-sizing: border-box; /* Include padding and borders in width/height calculations */
		padding:1em !important;		
	}
	
	ul.products li.product .button {
		font-size:10px !important;	
		padding: 6px 10px !important;
	}

	/* Ensure link areas stretch */
	.woocommerce-LoopProduct-link {
		flex-grow: 1;
	}

	/* Push price and stock to the bottom */
	ul.products .price,
	ul.products .stock {
		margin-top: auto;
	}

	/* Fix last row alignment */
	ul.products li.product:nth-child(2n+1) {
		clear: left; /* Clear left for first item in each row */
	}
	
	.woocommerce-page ul.products li.product:nth-child(n) {
        margin: 0 0 2% !important;
    }
	
	
	.top-icons-list .dsm_icon_list_items {
        justify-content: space-between !important; /* Distribute items evenly across the row */
    }

    .top-icons-list .dsm_icon_list_child {
        flex: 1 1 50% !important; /* Each item takes up 50% of the row */
        max-width: 50%; /* Ensure items do not exceed 50% width */
        text-align: center !important; /* Center-align items for symmetry */
        margin: 6px 0 !important;
    }
	
	.dsm_icon_list_child .dsm_icon_list_text {
		padding-left: 5px;
		font-size: 14px;
		color:#fff !important;
	}
	
	
	
	/***** FOOTER *****/
	.footer-row .footer-col-left {
		width:100% !important;
		margin-right:0% !important;
		padding:2%;
	}
	.footer-row .footer-col {
		width:100% !important;
		margin-right:0% !important;
		padding:2%;
	}
}


/***** SPECIAL MEDIA QUERIS *****/

@media only screen and (min-width: 1600px) {
	.showroom-hero .et_pb_section_video_bg .mejs-video {
		bottom: -50px !important;
	}
}


@media screen and (min-width: 769px) and (max-width: 1140px) { 
	
	.category-blurb-icon {
		width:25%;
	}
}


@media only screen and (max-width: 980px) {
    .dm-custom-header #page-container {
        padding-top: 30px !important;
        margin-top: 0 !important;
    }
}


