/*
 Theme Name:   Coastal Nets
 Theme URI:    https://generatepress.com
 Description:  Custom GP Theme For Coastal Nets
 Author:       John Hogan
 Author URI:   https://johnhogan.co.uk
 Template:     generatepress
 Version:      0.1
*/

/** Navigation Styles **/

.inside-header {
    padding: 0 40px;
}

.separate-containers .site-main {
    margin-top: 0;
}

.main-navigation a, .main-navigation .menu-toggle, .main-navigation .menu-bar-items {
    font-weight: 400;
}

.main-navigation .main-nav ul li a {
    padding-left: 20px;
    padding-right: 20px;
}

.menu-item-has-children .dropdown-menu-toggle {
    padding-left: 5px;
    padding-right: 0;
}

.contain {
    padding-left: 30px !important;
    padding-right: 30px !important;
    margin-left: auto;
    margin-right: auto;
}

.gb-container-0c06e677 {
    padding-left: 30px !important;
    padding-right: 30px !important; 
}

.gb-container-7e531526 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/** Hero Styles **/

.home-hero {
    height: 600px;
    display: flex;
    align-items: center;
    color: #fff;
}

.home-hero h1 {
    font-size: 42px;
    line-height: 1em;
    color: #fff;
}

.home-hero h1 span {
    font-size: 24px;
    font-weight: 300;
}

.hero-button-container {
    display: flex;
    justify-content: center;
    gap: 14px;

}

.home-hero button {
    background: transparent;
    border: 1px solid #fff;
}

.home-hero button > a {
    color: #fff;
    text-decoration: none;
}

.home-hero button:hover > a {
    color: #567686;
    text-decoration: none;
}

.home-hero button:hover {
    background: #fff;
    border: 1px solid #fff;
}

/** Home Page Content Styles **/

.hero-section-home h1, .hero-section-home h2, .hero-section-home p {
    margin-bottom: 0;
}

.browse-cat-grid ul {
    margin: 0;
}

.browse-cat-grid ul li {
    list-style-type: none;
}

.browse-cat-grid h5 > a {
    text-decoration: none;
}

.browse-cat-grid h5:after {
    content: '';
    width: 4rem;
    height: 1px;
    background: #125A8D;
    display: block;
    margin: 0.50rem auto 0.50rem auto;
}

.browse-cat-grid ul li > a {
    font-weight: 300;
    text-decoration: none;
    color: var(--text-grey);
}

.browse-cat-grid ul li > a:hover {
    color: var(--dark-blue-main);
}

.split-box-left {
    padding-left: calc((100% - 100rem) / 2);
    padding-right: 5rem;
}

.split-box-right {
    padding-right: calc((100% - 100rem) / 2);
    padding-left: 5rem;
}

.gb-button {
    font-size: 0.95rem;
    font-weight: 500;
}

/** Footer Styles **/

.site-footer {
    margin-top: 10rem;
}

.site-footer a {
	text-decoration: none;
}

.site-footer a:hover {
	text-decoration: underline;
}

.footer-widgets-container {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.inside-footer-widgets h6 {
    color: #fff;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.inside-footer-widgets ul li {
    margin-bottom: 0.1rem;
}

.inside-footer-widgets ul li > a {
    text-decoration: none;
}

.inside-footer-widgets ul li > a:hover {
    text-decoration: underline;
}

.footer-widget-contact-details {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.wp-block-image, figure {
    margin-bottom: 1em;
}

.contact-page-list {
    margin-left: 0;
    list-style-type: none;
}

.is_stuck .navigation-branding img {
    height: 45px;
}

body.page-template-default .dgwt-wcas-menu-bar-item {
	display: none;
}

/** WooCommerce Styles **/

.woocommerce .woocommerce-ordering select {
	border-radius: 6px;
}

.woocommerce ul.products li.product .button {
	border-radius: 6px;
	font-weight: 400;
}

.woocommerce ul.products li.product {
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	padding: 12px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
	transition: box-shadow 0.2s ease-in-out;
}

.woocommerce ul.products li.product:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.woocommerce ul.products li.product .price {
font-size: 1rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
font-weight: 500;
}

/* Hide nested (depth-1) categories initially */
.wc-block-product-categories-list--depth-1 {
  display: none;
  margin-left: 1rem;
}

/* Toggle styling */
.category-toggle {
  cursor: pointer;
  font-weight: bold;
  margin-right: 0.5rem;
}

/* Show child list when open */
.category-toggle.open + a + .wc-block-product-categories-list--depth-1 {
  display: block;
}

.wc-block-product-categories-list a.is-current {
  font-weight: bold;
}

.wp-block-woocommerce-cart .wc-block-components-totals-shipping {
	display: none;
}

.shop-notice {
  	padding: 40px;
	max-width: 800px;
	margin: 0 auto 50px auto;
	text-align: center;
	border: 1px solid rgba(18,90,141, 0.1);
	border-radius: 12px;
	background: rgba(18,90,141, 0.03);
	box-shadow: 0 2px 12px rgba(0,0,0, 0.08);
}

.shop-notice p {
	font-size: 18px;
	line-height: 1.6;
}

.secondary-navigation .menu-bar-item>a {
	font-size: 14px !important;
}

.inside-left-sidebar #block-15 {
	display: none !important;
}

body.woocommerce {
	font-size: 17px;
}

.secondary-navigation {
    margin-left: 40px;
    width: 100%;
    padding: 10px 0 !important;
}

.shop-nav-search .dgwt-wcas-search-input {
    border-width: 1.5px !important;
}

.secondary-navigation .inside-navigation {
    justify-content: unset;
}

.secondary-navigation .main-nav {
    order: 1;
}

.secondary-navigation .dgwt-wcas-search-wrapp {
    width: 480px;
}

.shop-menu-account {
    order: 2;
    margin-left: auto;
}

.shop-menu-account a {
    line-height: 1.5 !important;
}

body.woocommerce .gp-icon svg {
    fill:none;
    height: auto;
    width: auto;
}

.menu-bar-item>a {
    line-height: 1.2 !important;
    padding-left: 10px !important;
}

.secondary-menu-bar-items {
    order: 3;
}

.secondary-menu-bar-items .menu-bar-item:hover > a {
    background: none !important;
}

.shop-menu-checkout {
    order: 4;
}

.shop-menu-checkout a {
    display: inline-flex;
    padding: 8px 20px !important;
    border-radius: 30px;
    border: 2px solid var(--dark-blue-main);
    color: var(--dark-blue-main);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
}

.shop-menu-checkout a:hover {
    background: var(--dark-blue-main);
    color: #fff;
}

.shop-navigation-blue.wp-block-navigation {
    gap: 0;
}

.shop-navigation-blue.wp-block-navigation ul li {
    font-size: 0.9rem;
    padding: 12px 20px;
    border-right: 1px solid rgba(255,255,255, 0.20);
}

.shop-navigation-blue.wp-block-navigation ul li:last-of-type {
    border-right: 0;
}

.shop-navigation-blue.wp-block-navigation ul li:hover {
    background: var(--accent);
    color: #fff;
}

.shop-navigation-blue.wp-block-navigation .wp-block-navigation-submenu li {
	padding: 10px;
}

.shop-navigation-blue.wp-block-navigation .wp-block-navigation-submenu li a {
	font-size: 0.8rem;
	font-weight: 400;
}

#left-sidebar {
    font-size: 1rem;
    border: 1px solid rgba(0,0,0, 0.10);
	border-radius: 6px;
	height: fit-content;
}

.inside-left-sidebar h3 {
    font-size: 22px;
    font-weight: 500;
}

.inside-left-sidebar .widget_block {
    padding: 10px 20px 10px 20px;
}

.sidebar-browse-category-header {
    padding: 10px 0;
    margin-bottom: 20px;
}

.wc-block-product-categories-list a {
    text-decoration: none;
}

.wc-block-product-categories-list--depth-0 li > a {
    font-weight: 500;
}

.wc-block-product-categories-list--depth-1 li > a {
    font-weight: 300;
}

.wc-block-product-categories-list .current-category-item a {
    font-weight: 500;
}

.widget_product_categories {
	padding: 0 20px 20px 20px !important;
}

.product-categories .cat-parent a {
	font-weight: 500;
	text-decoration: none;
}

.product-categories .cat-parent ul.children a {
	font-weight: 400;
	color: rgba(0, 0, 0, 0.45);
}

.product-categories .cat-parent ul.children a:hover {
	color: var(--accent);
}

.product-categories .cat-parent ul.children li.current-cat a {
	font-weight: 500;
	color: var(--accent);
}

.woocommerce-message {
    font-size: 1rem;
    font-weight: 500;
}

div.woocommerce-message a.button {
    border: 2px solid #fff;
    border-radius: 30px;
    padding: 4px 12px !important;
}

.div.woocommerce-message a.button:hover {
    background: #fff !important;
    color: var(--dark-blue-main) !important;
}

.shop-main-search-container .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp {
    background: transparent;
}

.wp-block-woocommerce-proceed-to-checkout-block a {
	color: #fff;
}

.wp-block-woocommerce-proceed-to-checkout-block a:hover {
	color: #fff;
}

/** Mini-Cart Styles **/

.cart-contents>span.number-of-items {
    top: 0;
    font-size: 14px;
}

.widget_shopping_cart .woocommerce-mini-cart__buttons {
    justify-content: center;
}

.wc-mini-cart {
    border: 1px solid rgba(0,0,0, 0.10);
    box-shadow: 0 2px 4px rgba(0,0,0, 0.05) !important;
}

#wc-mini-cart .button {
    border: 2px solid var(--dark-blue-main);
    border-radius: 30px;
}

/** WooCommerce - Single Product Styes **/

body.woocommerce, body.woocommerce select, body.woocommerce button, body.woocommerce input, body.woocommerce select, body.woocommerce textarea {
	font-size: 1rem;
}

.woocommerce-product-gallery {
    border: 1px solid rgba(0,0,0, 0.10);
}

.woocommerce-product-details__short-description ul {
    margin-left: 25px;
}

.woocommerce-product-details__short-description ul li::marker {
    color: var(--dark-blue-main);
}

.woocommerce-variation-price .price {
    font-weight: 500;
}

.woocommerce div.product form.cart .variations th {
vertical-align: middle
}
/*
.woocommerce div.product form.cart>:not(.quantity):not(.single_add_to_cart_button) {
	width: auto !important;
}
*/
th.label {
	padding: 8px 16px 8px 8px;
}

.wpo-totals-container {
	width: 100%;
}

	body.wpo-has-fields .woocommerce-Price-amount {
		display: none;
}


.wpo-field-number {
	width: fit-content;
}

.woocommerce-variation-add-to-cart {
	margin-left: 35px;
}

@media (max-width: 768px) {

.inside-header {
    padding: 0;
}

.mobile-menu-control-wrapper .menu-toggle, .mobile-menu-control-wrapper .menu-toggle:hover, .mobile-menu-control-wrapper .menu-toggle:focus, .has-inline-mobile-toggle #site-navigation.toggled {
    background: #fff;
    color: var(--accent) !important;
}

.main-navigation .gp-icon.icon-menu-bars svg {
		fill: var(--accent);
}
	
	.dgwt-wcas-menu-bar-item {
		display: none;
	}
	
.secondary-nav-float-right .secondary-navigation {
    margin-left: 0;
    width: 100%;
    margin-top: 10px !important;
}	
	
.inside-navigation {
    background: var(--dark-blue-main);
}

.main-navigation .main-nav ul li a {
    color: #fff;
}
	
	.secondary-navigation .menu-bar-item>a {
		padding-right: 5px !important;
	}

.main-navigation .main-nav ul li.current-menu-item a, .main-navigation .main-nav ul li[class*="current-menu-"] > a {
    background: var(--accent);
    color: #fff !important;
}

.main-navigation.toggled .main-nav ul ul {
    border-bottom: 1px solid rgba(255,255,255, 0.3);
}

.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a, .main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a, .main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a, .main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a {
    color: var(--base-3);
    background-color: var(--accent);
}
	
	.inside-left-sidebar #block-15 {
		display: block !important;
	}
	
body.woocommerce-page .inside-navigation {
		background: #fff;
		row-gap: 15px;
		justify-content: center !important;
		padding: 0 10px;
}
	
body.woocommerce-page .secondary-menu-toggle {
		display: none;
	}
	
body.woocommerce-page .secondary-navigation ul, .secondary-navigation:not(.toggled) .main-nav>ul  {
		display: block !important;
}

.gb-container-b6efa0a1 {
	display: none;
}

.browse-category-hide-mobile {
		display: none;
}
	
	body.woocommerce-page .content-area {
		order: 2;
	}
	
	body.woocommerce-page .is-left-sidebar {
		order: 1;
	}

/**
All Products on individual pages are individually contained using a global class in order:
    - First Product: [.PageProductSectionFirst]
    - Second or following products: [.ProductPageSectionNext]
    - Last or final Product: [.PageProductSectionLast]
**/

.PageProductSectionFirst, .ProductPageSectionNext, .PageProductSectionLast {
    flex-direction: column-reverse !important;
    row-gap: 0 !important;
}

.page-id-512 .ProductPageSectionNext, .page-id-519 .ProductPageSectionNext {
    flex-direction: column !important;
}

.contact-details-main-container {
    flex-direction: column !important;
}

/** Main content container (#0042) - (Sitewide Spacing Adjustment) **/
.gb-container-f5030042 {
    margin-top: 5rem !important;
    row-gap: 5rem !important;
}

/** CTA Banner (#7900) & Footer Categories (#910a) - (Sitewide Spacing Adjustment) **/
.gb-container-bd617900, .gb-container-0b2b910a {
    margin-top: 2rem !important;
}

/** Footer Categories (#910a) **/
.gb-container-0b2b910a {
    row-gap: 1rem !important;
}

/** Individually adjust CTA Banner (#7900) & Footer Categories (#910a) for the home page, needs space above here. **/
body.home .gb-container-bd617900, .gb-container-0b2b910a {
    margin-top: 6rem !important;
}

/** Adjust top and bottom padding for CTA Banner - Content Container within (#7900 > #4064) **/
.gb-container-c1524064 {
    padding: 80px 20px !important;
}

/** Adjust font size for CTA Banner (#7900) **/
.gb-container-c1524064 p {
    font-size: 1rem !important;
}

/** Home Page - Service Tiles (#7002) **/
.gb-container-bd617900 {
    row-gap: 0 !important;
}

/** Specific page font size for Table Heading & Data as longer content - (Readability Adjustment) **/
.page-id-529 th, .page-id-529 td {
    font-size: 1rem;
}

/** Retain original Hero font size for Home Page **/
body.home .hero-section-home h1 {
    font-size: 3rem !important;
}

/** Inner Hero Titles reduce size - (Readability Adjustment) **/
.hero-section-home h1 {
    font-size: 2rem !important;
}

/** Lower font size on inner hero pages - (Readability Adjustment) **/
.hero-section-home p {
    font-size: 1.1rem !important;
}

/** Headings H1 & H2, longer titles drop (Readability Adjustment) **/
h2, h3 {
    font-size: 1.6rem;
}

body, p {
    font-size: 1rem;
}

ul {
    margin-left: 1em;
}
	
	.secondary-navigation .dgwt-wcas-search-wrapp {
		width: 100%;
	}

}