/*
 Theme Name:   PBR 
 Theme URI:    https://poweredbyrio.com
 Description:  Powered by RIO Child Theme
 Author:       Mistie Crovo
 Author URI:   https://mistiecrovo.com
 Template:     generatepress
 Version:     1.0
*/

/* =============================================
   FONTS
   ============================================= */

@font-face {
  font-family: 'Birch';
  src: url('fonts/font.woff2') format('woff2'),
       url('fonts/font.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.port {
	font-family: proxima-nova, sans-serif;
	font-size: 30px;
	color: #186278;
}
.custom-list li {
	font-size: 18px;
	color: #656266;
	font-weight: 400;
}
.wp-block-list {	
    font-family: Libre Franklin, sans-serif;
    font-weight: 400;
    text-decoration: none;
    font-size: 18px;
	color: #656266;
}

/* =============================================
   LAYOUT
   ============================================= */

/* Site Wrapper */
.site-wrapper {
    width: 100%;
    margin-inline: auto;
}

/* Full-width sticky nav */
.main-navigation.navigation-stick {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 999;
    background-color: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

/* Narrow inner container centered */
.main-navigation.navigation-stick .inside-navigation {
    max-width: 1240px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}


/* =============================================
   BASE STYLES
   ============================================= */

body {
    background: #fff;
}

body :where(.editor-styles-wrapper) {
    background-color: #ffffff;
}

a {
    text-decoration: none;
}

/*a,
a:visited {
    color: #0e92ae;
    text-decoration: none;
}*/

button,
input[type=button],
input[type=reset],
input[type=submit] {
    background: #1695a6;
    color: #fff;
}

button:hover,
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
a.button:hover,
button:focus,
html input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
a.button:focus,
a.wp-block-button__link:not(.has-background):active,
a.wp-block-button__link:not(.has-background):focus,
a.wp-block-button__link:not(.has-background):hover {
    background: #1695a6;
    color: #fff;
}


/* =============================================
   TYPOGRAPHY
   ============================================= */

h1 {
    margin: 20px 0 10px 0;
    padding: 0;
    letter-spacing: 1px;
    line-height: 1.4em;
    color: #e73e41;
    font-family: Birch;
    font-size: 40px;
    font-weight: normal;
}

/* Override H1 for content/entry titles */
h1.entry-title,
h2.entry-title {
    font-size: 30px;
    line-height: 1.3em;
    margin: 0 0 0.625em;
    color: #186278;
    font-family: proxima-nova, sans-serif;
    font-weight: 400;
    font-style: normal;
}

h3 {
    margin: 20px 0 10px 0;
    padding: 0;
    letter-spacing: 1px;
    line-height: 1.4em;
    color: #e73e41;
    font-family: Birch;
    font-size: 40px;
    font-weight: normal;
}

h4 {
    font-family: proxima-nova, sans-serif;
}

.entry-title {
    font-size: 28px;
    color: #004185;
}

.red {
    color: #e73e41;
}

.slider-shadow {
    text-shadow: 10px 10px 8px #888888;
}


/* =============================================
   BLOG
   ============================================= */

.entry-meta {
    text-align: center;
}

.cat-links {
    display: none;
}

.single-post .entry-title {
    font-size: 36px;
    color: #186278;
    font-weight: 400;
    text-transform: none;
    font-family: proxima-nova, sans-serif;
    text-align: center;
}

body.single-post article.post,
body.single-post .comments-area {
    width: 90%;
    max-width: 1200px;
    margin: 20px auto;
}

.single .entry-header {
    margin-bottom: 30px;
}

.blog h2.entry-title a,
.single h1.entry-title a {
    color: #337f8f;
}

.blog h2.entry-title a {
    font-size: 20px;
}

body.blog #main article {
    padding-bottom: 20px;
}

body.blog #main article h2.entry-title {
    font-size: 18px;
    letter-spacing: 1px;
    font-weight: 400;
}

body.blog #main .post-image {
    margin-bottom: 10px !important;
}

body.blog .entry-summary {
    font-size: 14px;
    margin-top: 10px;
}

body.blog a.read-more {
    display: block;
    margin-top: 10px;
}


/* =============================================
   GALLERY
   ============================================= */

.gallery img {
    object-fit: cover;
}

.gallery-item .gallery-caption {
    display: none;
}


/* =============================================
   WOOCOMMERCE - SHOP / CATEGORIES
   ============================================= */

/* Category page title */
h1.woocommerce-products-header__title {
    text-align: center;
    color: #335d69;
}

/* Category page description */
.woocommerce-products-header .term-description {
    margin-bottom: 40px;
    display: block;
}

/* Hide product count on category titles */
h2.woocommerce-loop-category__title mark.count {
    display: none;
}

/* Hide out of stock products */
#available-work ul.products li.outofstock {
    display: none;
}

/* Related products */
.related.products {
    margin-top: 70px;
    display: block;
}

/* Hide product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: none !important;
}

.woocommerce-tabs #tab-description {
    display: none !important;
}

.category-box img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}


/* =============================================
   WOOCOMMERCE - PRODUCT LISTINGS
   ============================================= */

h1.woocommerce-products-header__title {
	display: none;
}
.term-description {  
    font-size: 28px;
	text-align: center;
    margin: 1em 0;
    color: #4c7e84;
    font-family: Birch;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price {
    font-size: 18px;
    font-weight: 400;
}

.woocommerce ul.products li.product .price {
    color: #65626B !important;
    font-size: 17px !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link h2 {
    font-size: 24px !important;
}

.woocommerce ul.products li.product .inside-wc-product-image img.secondary-image {
    display: none !important;
}

.woocommerce ul.products li.product .inside-wc-product-image img {
    transform: none !important;
    transition: none !important;
}

.woocommerce ul.products li.product .button {
    display: block;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.woocommerce ul.products li.product .inside-wc-product-image {
    position: relative;
    overflow: hidden;
}

.woocommerce ul.products li.product .wc-product-image {
    position: static;
}

.loop-cart-icon-overlay {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 10;
    font-size: 18px;
    text-decoration: none;
}

.woocommerce ul.products li.product:hover .loop-cart-icon-overlay,
li.product:hover .loop-cart-icon-overlay {
    opacity: 1 !important;
}

.woocommerce ul.products li.product img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
}


/* =============================================
   WOOCOMMERCE - SINGLE PRODUCT
   ============================================= */

.woocommerce div.product .product_title {
    text-align: left;
    font-size: 24px;
    font-weight: 400;
    padding-bottom: 10px;
}

.woocommerce div.product .stock {
    color: #8f784e;
}

.woocommerce div.product form.cart .variations td.label {
    display: block;
    clear: both;
    width: 300px;
    padding: 0;
}


/* =============================================
   WOOCOMMERCE - CHECKOUT / CART
   ============================================= */

.woocommerce-billing-fields label,
.woocommerce-shipping-fields label,
.woocommerce-additional-fields label {
    font-weight: bold;
    color: #3f7d87;
}

#order_comments_field,
#referred_by_field {
    width: 100%;
}

.woocommerce-message {
    background-color: #8f784e !important;
}

.woocommerce-info,
.woocommerce #respond input#submit.alt,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt,
.woocommerce input.button.alt:hover {
    background-color: #3f7d87 !important;
}


/* =============================================
   GENERATEBLOCKS
   ============================================= */

/* Remove bottom margin on last paragraph in containers */
.gb-container p:last-child:last-of-type {
    margin-bottom: 0px;
}

.block-editor-block-list__layout .gb-container p:nth-last-child(2) {
    margin-bottom: 0px;
}

/* =============================================
   Mobile
   ============================================= */
@media only screen and (max-width: 768px) {
    ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media only screen and (max-width: 480px) {
    ul.products {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}
.product-category-card {
    display: block;
    text-decoration: none;
    color: inherit;
}

.category-image-wrap {
    position: relative;
    overflow: hidden;
}

.category-image-wrap img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.category-title-overlay {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    margin: 0;
    padding: 14px 18px;
    background: rgba(247, 249, 250, 0.80);
    font-family: proxima-nova, sans-serif;
	font-size: 30px;
	color: #186278;
    z-index: 2;
}

.product-category-card p {
    margin-top: 12px;
}
.woocommerce-cart .entry-content {
    text-align: center;
}

.woocommerce-cart .wc-empty-cart-message {
    display: block;
    max-width: 700px;
    width: 100%;
    margin: 0 auto 30px auto;
}

.woocommerce-cart .cart-empty {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

.woocommerce-cart .return-to-shop {
    text-align: center;
}

.woocommerce-cart .return-to-shop .button {
    display: inline-block;
    min-width: 200px;
}
.wp-block-woocommerce-cart {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
.wp-block-woocommerce-empty-cart-block {
    text-align: center;
}

.wp-block-woocommerce-empty-cart-block 
.wc-block-components-notice-banner,
.wp-block-woocommerce-empty-cart-block 
.wp-block-button {
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-loop-product__title a {
    color: inherit;
    text-decoration: none;
	font-size: 22px;
	color: #186278;
    font-family: proxima-nova, sans-serif;
    font-weight: 400;
}

.woocommerce-loop-product__title a:hover {
    text-decoration: none;
}
.woocommerce ul.products li.product .price {
    min-height: 24px;
    display: block;
}
.woocommerce ul.products li.product .price {
    margin-bottom: 0;
}
/* =========================================================
   Moved from Additional CSS - Powered by RIO
   ========================================================= */

/* Main navigation spacing */
.main-navigation {
	padding-bottom: 30px;
}

/* Product grids */
ul.custom-product-categories,
ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	list-style: none;
	padding: 0;
	margin: 0;
}

ul.custom-product-categories li,
ul.products li {
	margin: 0;
	list-style: none;
}

/* Featured categories grid */
.featured-categories-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	margin: 2rem 0;
	align-items: stretch;
}

@media (max-width: 1024px) {
	.featured-categories-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.featured-categories-grid {
		grid-template-columns: 1fr;
	}
}

.category-box {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: center;
	padding: 1rem;
	border: 1px solid #eee;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	transition: transform 0.3s ease;
	height: 100%;
}

/* Swan divider (homepage) - Powered by RIO */
.gb-parallax {
	position: relative;
	overflow: hidden;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	transform: translateZ(0);
}

.gb-parallax::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	background-image: url('/wp-content/uploads/2020/03/swandivider.jpg');
	background-size: cover;
	background-position: center;
	z-index: 0;
	transform: translateY(0);
	will-change: transform;
	transition: transform 0.5s ease-out;
}

@media (min-width: 768px) {
	.gb-parallax::before {
		transform: translateY(-30px);
	}

	.gb-parallax:hover::before {
		transform: translateY(0);
	}
}
/* Star bullet list */
.custom-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.custom-list li {
	position: relative;
	padding-left: 30px;
	margin-bottom: 10px;
}

.custom-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 18px;
	height: 18px;
	background-image: url('/wp-content/uploads/2025/06/nav-star.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* Collection titles on homepage: gold links */
.gb-text-e89b7270 a,
.gb-text-95bf11c9 a,
.gb-text-481b4b6e a {
	color: var(--gold);
}