/*
Theme Name: 7FWD Velocity
Theme URI: https://7figurewebdesign.com/
Author: 7 Figure Web Design
Author URI: https://7figurewebdesign.com/
Description: A lightning-fast classic WordPress theme engineered by 7 Figure Web Design for premium blogs, fundraising campaigns, and lean WooCommerce stores. Built on the original 7FWD visual system with modular PHP, strategic Customizer controls, social sharing metadata, and conditional assets for serious performance.
Version: 1.0.6
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 7fwd-velocity
Tags: blog, e-commerce, custom-logo, custom-menu, featured-images, theme-options, translation-ready, classic-editor, performance
*/
/* ================================
   GLOBAL
================================ */


* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	font-family: Verdana, "sans-serif";
    font-size: 14px;
    line-height: 1.5;
    color: #000;
    background: #fff;
}


/* ================================
   IMAGES
================================ */


img {
    display: block;
    max-width: 100%;
    height: auto;
}

#featured-image, .content-image {
	border: 3px solid #000;
	border-radius: 22px;
	margin-bottom: 30px;
}

.image-map {
	border: 3px solid #000;
	border-radius: 22px;
	margin-bottom: 0;
}

.qr-code {
    margin: 0 auto;
    width: 140px;
    border: 3px solid #000;
    border-radius: 22px;
    padding: 20px;
    margin-bottom: 30px;
}

.qr-business-card {
    max-width: 100px;
    float: left;
    margin-right: 10px;
    text-align: left;
    border: 3px solid #000;
    border-radius: 22px;
    padding: 20px;
}

.profile-logo {
	border: 3px solid #000;
	border-radius: 50%;
}


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


.two-tone-text {
  font-size: 14px;
  font-weight: 800;
  line-height: 1.15;
  color: #E1C371;
}

.two-tone-text strong {
  display: inline;
  background-image: linear-gradient(
    to bottom,
    #E1C371 0%,
    #E1C371 50%,
    #A88037 50%,
    #A88037 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  color: transparent;
}

.blue {
    color: #3bdfff;
}

.deep-blue {
    color: #108bb7;
}

.dark-blue {
    color: #01283e;
}

.white {
	color: #fff;
}

.black {
	color: #000;
}

.center {
    text-align: center;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.padding {
	padding-left: 8%;
	padding-right: 8%;
}

.no-padding {
    padding-bottom: 0;
}


/* ================================
   HEADERS
================================ */


h1, h2, h3 {
    line-height: 1.15;
    color: #000;
	font-family: Impact, Haettenschweiler, "Franklin Gothic Bold", "Arial Black", "sans-serif";
}

h1 {
    font-size: clamp(2rem, 5vw, 5rem);
    margin-bottom: 40px;
	text-align: center;
	color: #fff;
}

h2 {
    font-size: clamp(2rem, 4vw, 3.25rem);
    margin-bottom: 30px;
    text-align: center;
}

h3 {
    font-size: 1.5rem;
    margin-bottom: 30px;
}

h4 {
    font-size: 14px;
    margin-bottom: 30px;
    color: #03507c;
}

h5 {
    font-size: 14px;
    margin-bottom: 30px;
    color: #000;
}


/* ================================
   HEADERS / PAGE CONTENT
================================ */


#banner h1 {
	margin-bottom: 0;
}

#lead-capture h2 {
    color: #fff;
}

.section-heading h2 {
    text-align: center;
}

.blog-gallery .post-body h3, .blog-grid .post-body h3 {
    color: #3bdfff;
    letter-spacing: 1px;
}

.inventory-page .product-content h3 {
    margin-bottom: 16px;
}

.profile-content h3 {
    margin-bottom: 2px;
}

.blog-categories .post-body h3 {
    color: #000;
    margin-bottom: 6px;
    text-align: center;
    margin-top: 30px;
}


/* ================================
   HYPERLINKS
================================ */


a {
    color: #03507c;
    text-decoration: none;
}

a:hover {
    color: #3bdfff;
}

header a {
	color: #000;
}

header a:hover {
	color: #fff;
}

footer a {
	color: #E1E1E1;
}

footer a:hover {
	color: #3bdfff;
}

.page-content a {
    text-decoration: underline;
    font-weight: bold;
}

.hyperlink {
	font-weight: bold;
}

.read-more {
    color: #3bdfff;
    font-weight: bold;
}

.read-more:hover {
    color: #fff;
}


/* ================================
   PARAGRAPHS
================================ */


section p {
	font-family: Verdana, "sans-serif";
    font-size: 14px;
    line-height: 1.5;
	padding-bottom: 30px;
}

#lead-capture p {
    color: #fff;
}

.section-heading p {
    text-align: center;
    padding-bottom: 10px;
}

.section-heading > p:first-child {
    color: #03507c;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.page-content p {
	padding-bottom: 30px;
}

.blog-gallery .post-body p, .blog-grid .post-body p {
    color: #fff;
	padding-bottom: 30px;
}

.highlight {
	font-family: Impact, Haettenschweiler, "Franklin Gothic Bold", "Arial Black", "sans-serif";
	font-size: clamp(1rem, 3vw, 1.5rem);
}

.company {
	font-family: Impact, Haettenschweiler, "Franklin Gothic Bold", "Arial Black", "sans-serif";
	font-size: clamp(2rem, 4vw, 3.25rem);
	text-transform: uppercase;
	color: #3bdfff;
}


/* ================================
   LISTS
================================ */


ul {
    list-style: none;
	border-bottom: 30px;
}

.blog-gallery .post-meta li, .blog-grid .post-meta li, .part-meta li {
    display: list-item;
}

.detail-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    margin-bottom: 30px;
    margin-left: 16px;
    list-style: square;
}

.post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-bottom: 16px;
    list-style: square;
	margin-left: 16px;
	color: #fff;
}

.blog-gallery .post-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}


/* ================================
   NAVIGATION
================================ */


.navigation-menus {
    width: 100%;
    max-width: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 8px 60px;
    border-bottom: 3px solid #000;
}

.navigation-menus .nav-left, .navigation-menus .nav-right {
    flex: 1 1 0;
    min-width: 0;
}

.navigation-menus .nav-left {
    display: flex;
    justify-content: flex-start;
}

.navigation-menus .nav-right {
    display: flex;
    justify-content: flex-end;
}

.navigation-menus ul {
    display: flex;
    align-items: center;
    gap: clamp(16px, 2.5vw, 36px);
    flex-wrap: nowrap;
}

.navigation-menus li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
    font-size: 0.95rem;
	font-size: 14px;
}


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


header {
	width: 100%;
	background-color: #3bdfff;
	color: #000000;
	position: fixed;
	top: 0;
	left: 0;
    z-index: 2000;
}

.announcement-bar {
	background-color: #000;
	width: 100%;
    padding: 14px 10px;
    box-sizing: border-box;
	color: #debf71;
	text-align: center;
	font-size: 14px;
    line-height: 1.4;
	overflow-wrap: break-word;
	max-width: 100% !important;
    margin: 0 auto !important;
    border-top: 1px solid #E1E1E1;
}

.nav-icon {
	width: 18px;
	height: 18px;
}


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


footer {
	width: 100%;
	background-color: #000;
	color: #E1E1E1;
}


/* ================================
   LAYOUT / LOGO BAR
================================ */


.logo-bar {
    position: fixed;
    top: 130px;
    left: 50px;
    z-index: 999;
	text-align: center;
	border: 1px solid #CC0000;
}

.logo {
	max-width: 140px;
	margin-bottom:20px;
	border: 3px solid #000;
	border-radius: 50%;
}

.icon {
	max-width: 36px;
}

.social-icons {
	display: flex; 
	gap: 16px;
}


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


section {
	border-top: 3px solid #000;
}

.container {
	margin: 100px 20%;
	border: 1px solid #CC0000;
}

.section-heading-row {
    display: block;
    text-align: center;
    margin-bottom: 30px;
}

.section-heading {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.page-content {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 0;
}

.spacer {
	height: 40px;
}

hr {
  	width: 100%;
  	border: 0;
  	border-top: 3px solid #000;
	margin-top: 0;
	margin-bottom: 30px;
}

.hr-blue {
  width: 25%;
  margin: 0 auto;
  border: 0;
  border-top: 3px solid #3bdfff;
}


/* ================================
   SECTION / HERO & BANNER
================================ */


#hero .container {
	margin-top: 100px;
	margin-bottom: 100px;
}

#hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    padding-top: 125px;
    padding-bottom: 80px;
	background-color: #03507c;
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.48)),
        url("assets/images/Blue-Gold-2560x1440.jpg");
    background-position: 0 0, right center;
    background-size: auto, cover;
    background-repeat: repeat, no-repeat;
    background-attachment: scroll, fixed;
}

#banner {
	background-position: right center;
	background-size: cover;
	background-repeat: no-repeat;
	display: flow-root;
	margin-top: 70px;
	color: #fff;
	background-color: #03507c;
	background-image: 
	    linear-gradient(rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.48)),
	    url("assets/images/Blue-Gold-2560x470.jpg");
}


/* ================================
   SECTION / BLOG GALLERY
================================ */


.blog-gallery {
    position: relative;
    z-index: 1;
    width: 100%;
    overflow: hidden;
    background: #fff;
}

.blog-gallery-track {
    position: relative;
    z-index: 1;
    display: flex;
    width: 100%;
    transition: transform 0.45s ease;
    will-change: transform;
}

.blog-gallery .gallery-card {
    flex: 0 0 100%;
    width: 100%;
    display: grid;
    grid-template-columns: 62% 38%;
    min-width: 100%;
    overflow: hidden;
    background: #01283e;
    border: 3px solid #000;
    border-radius: 22px;
}

.blog-gallery .gallery-card > img {
    width: 100%;
    height: 100%;
    min-height: 440px;
    object-fit: cover;
    border-right: 3px solid #000;
}

.blog-gallery .post-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #01283e;
    color: #fff;
    padding: 38px;
}

.gallery-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 16px;
}

.gallery-arrow {
    display: block;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    border: 3px solid #000;
}

.gallery-arrow-left {
    background-image: url("assets/images/button-arrow-left.png");
}

.gallery-arrow-right {
    background-image: url("assets/images/button-arrow-right.png");
}

.gallery-arrow-left:hover, .gallery-arrow-left:focus {
    background-image: url("assets/images/button-arrow-hover-left.png");
}

.gallery-arrow-right:hover, .gallery-arrow-right:focus {
    background-image: url("assets/images/button-arrow-hover-right.png");
}

.gallery-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 24px;
}

.gallery-dot {
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 50%;
    background: #4D7282;
    opacity: 0.25;
    cursor: pointer;
}

.gallery-dot.is-active, .gallery-dot:hover, .gallery-dot:focus {
    background: #3bdfff;
    opacity: 1;
}


/* ================================
   SECTION / BLOG GRID
================================ */


.blog-grid-posts {
    display: grid;
    grid-template-columns: repeat(var(--ccv-blog-cols-desktop, 3), minmax(0, 1fr));
    gap: clamp(24px, 3vw, 42px);
    width: 100%;
    transform: none !important;
    transition: none;
    will-change: auto;
}

.blog-grid .grid-card {
    flex: initial;
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #172836;
    border: 3px solid #000;
    border-radius: 22px;
}

.blog-grid .grid-card > img,
.blog-grid .featured-image-gallery-thumbnail,
.product-grid .featured-image-gallery-thumbnail {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-bottom: 3px solid #000;
}

.blog-grid .post-body {
    justify-content: flex-start;
    background: #172836;
    color: #fff;
    padding: 28px;
}

.blog-grid .post-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 10px;
    margin-bottom: 20px;
}


/* ================================
   SECTION / BLOG CATEGORIES
================================ */


.blog-categories-grid {
    display: grid;
    grid-template-columns: repeat(var(--ccv-category-cols-desktop, 4), minmax(0, 1fr));
    gap: clamp(24px, 3vw, 42px);
}

.blog-categories .category-card {
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
}

.blog-categories .category-card > img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border: 3px solid #000;
    border-radius: 22px;
}

.blog-categories .post-body {
    background: transparent;
    padding: 14px 0 0;
    text-align: center;
    padding: 0;
}

.blog-categories .post-body .hyperlink {
    display: inline-block;
    padding: 0;
}


/* ================================
   SECTION / ARCHIVE GRID
================================ */


.archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
    padding-bottom: 40px;
    margin-top: 10px;
}

.archive-card {
    background: #fff;
    border: 3px solid #000;
    border-radius: 22px;
    overflow: hidden;
}

.archive-image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
    border-bottom: 3px solid #000;
}

.archive-content {
    padding: 30px;
}

/* ================================
   SECTION / PROFILES GRID
================================ */


.profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
    margin-top: 50px;
}

.profile-full-width {
    margin-top: 50px;
    margin-bottom: 50px;
}

.profile-card {
    background: #fff;
    border: 3px solid #000;
	border-radius: 22px;
}

.profile-image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
	border-top-left-radius: 18px;
	border-top-right-radius: 18px;
	border-bottom: 3px solid #000;
}

.profile-image-wide img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
	border-top-left-radius: 18px;
	border-top-right-radius: 18px;
}

.profile-content {
    padding: 30px 30px 0 30px;
}


/* ================================
   SECTION / LEAD CAPTURE
================================ */


#lead-capture {
	background-color: #03507c;
    display: flow-root;
}

#lead-capture .container {
    margin: 100px 20%;
    text-align: center;
}

#lead-capture form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 10px;
}

#lead-capture input {
    width: 100%;
    height: 46px;
    min-height: 46px;
    box-sizing: border-box;
    padding: 0 12px;
    font-family: Verdana, sans-serif;
	font-size: 14px;
	border: 3px solid #000;
	border-radius: 10px;
}

#lead-capture button {
    grid-column: 2;
    justify-self: stretch;
    width: 100%;
    height: 46px;
    min-height: 46px;
    min-width: 0;
    box-sizing: border-box;
    border: 0;
    background: #3bdfff;
    color: #000;
    padding: 0 12px;
    font-weight: bold;
	font-size: 14px;
    cursor: pointer;
	border: 3px solid #000;
	border-radius: 10px;
	text-transform: uppercase;
}

#lead-capture button:hover, #lead-capture button:focus {
    background: #01283e;
    color: #fff;
}


/* ================================
   SECTION / CONTACT FORM
================================ */


#contact-page form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
}

.email-form {
    border: 3px solid #000;
    border-radius: 22px;
    margin-top: 30px!important;
    margin-bottom: 40px!important;
    padding: 5%;
    background-color: #03507c;
}

#contact-page input {
    height: 46px;
    min-height: 46px;
}

#contact-page input, #contact-page textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 0 12px;
    font-family: Verdana, sans-serif;
    font-size: 14px;
    border: 3px solid #000;
    border-radius: 10px;
}

#contact-page #emailaddress, #contact-page textarea {
    grid-column: 1 / -1;
}

#contact-page textarea {
    min-height: 150px;
    padding-top: 12px;
    padding-bottom: 12px;
    resize: vertical;
}

#contact-page button {
    grid-column: 1 / -1;
    justify-self: center;
    width: 33.333%;
    height: 46px;
    min-height: 46px;
    min-width: 0;
    box-sizing: border-box;
    background: #3bdfff;
    color: #000;
    padding: 0 12px;
    font-weight: bold;
    font-size: 14px;
    cursor: pointer;
    border: 3px solid #000;
    border-radius: 10px;
    text-transform: uppercase;
}

#contact-page button:hover, #contact-page button:focus {
    background: #01283e;
    color: #fff;
}


/* ================================
   SECTION / SOCIAL POSTS
================================ */


.social-media-track {
    column-count: 2;
    column-gap: 30px;
}

.social-card {
    display: inline-block;
    width: 100%;
    margin: 0 0 30px;
    break-inside: avoid;
    page-break-inside: avoid;
    border: 3px solid #000;
	border-radius: 22px;
    background: #fff;
}

.social-card:nth-child(2),
.social-card:last-child {
    margin-bottom: 0;
}

.social-card .post-body {
    display: grid;
    grid-template-columns: 50px 1fr;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    padding: 30px 30px 0 30px;
}

.social-card .post-body p {
    grid-column: 1 / -1;
}

.social-card .post-meta {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
    color: #000;
}

.social-card .post-meta li {
    display: block;
    color: #000;
    line-height: 1.35;
}

.social-card .post-meta li:first-child {
    font-weight: 700;
}

.social-card .post-meta li:last-child {
    color: #03507c;
    font-weight: bold;
}

.social-card > img {
    width: 100%;
    height: auto;
    object-fit: contain;
	border-bottom-left-radius: 18px;
	border-bottom-right-radius: 18px;
	border-top: 3px solid #000;
}

.profile-logo {
    width: 50px;
    margin-bottom: 10px;
}


/* ================================
   RESPONSIVE DESIGN 1920px
================================ */


@media (max-width: 1920px) {

	#hero {
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.48)),
			url("assets/images/Blue-Gold-1920x1080.jpg");
		background-position: 0 0, right center;
		background-size: auto, cover;
		background-repeat: repeat, no-repeat;
		background-attachment: scroll, fixed;
	}

	#banner {
		background-image: 
			linear-gradient(rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.48)),
			url("assets/images/Blue-Gold-1920x470.jpg");
	}
}


/* ================================
   RESPONSIVE DESIGN 1600px
================================ */


@media (max-width: 1600px) {

	#hero {
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.48)),
			url("assets/images/Blue-Gold-1600x900.jpg");
		background-position: 0 0, right center;
		background-size: auto, cover;
		background-repeat: repeat, no-repeat;
		background-attachment: scroll, fixed;
	}
}


/* ================================
   RESPONSIVE DESIGN 1440px
================================ */


@media (max-width: 1440px) {

	#hero {
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.48)),
			url("assets/images/Blue-Gold-1440x900.jpg");
		background-position: 0 0, right center;
		background-size: auto, cover;
		background-repeat: repeat, no-repeat;
		background-attachment: scroll, fixed;
	}

}


/* ================================
   RESPONSIVE DESIGN 1200px
================================ */


@media (max-width: 1200px) {
	
	.container {
		margin: 80px 20%;
		border: 1px solid #33CCCC;
	}

    #lead-capture .container {
        margin: 50px 20%;
    }
	
	.padding {
    	padding-left: 6%;
    	padding-right: 6%;
    }
	
	#hero {
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.48)),
			url("assets/images/Blue-Gold-1200x750.jpg");
		background-position: 0 0, right center;
		background-size: auto, cover;
		background-repeat: repeat, no-repeat;
		background-attachment: scroll, fixed;
	}
	
	.logo-bar {
		top: 115px;
		left: 40px;
	}
	
	.logo {
		max-width: 120px;
	}

	.icon {
		max-width: 30px;
	}
	
	.social-icons {
		gap: 15px;
        margin-top: -6px;
	}
	
	.navigation-menus {
		padding: 8px 20px;
	}
	
	.blog-gallery .gallery-card > img {
        min-height: 390px;
    }

    .blog-gallery .post-body {
        padding: 28px;
    }
	
	.blog-grid-posts {
        grid-template-columns: repeat(var(--ccv-blog-cols-tablet, 2), minmax(0, 1fr));
    }

    .archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
	
}


/* ================================
   RESPONSIVE DESIGN 1024px
================================ */


@media (max-width: 1024px) {
	
	.container {
		margin: 60px 20%;
		border: 1px solid #666;
	}

    #hero .container {
        margin-top: 30px;
        margin-bottom: 30px;
    }

    #lead-capture .container {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        text-align: left;
        align-items: start;
		display: block;
        margin: 50px 20%;
        text-align: center;
    }
	
	#hero {
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.48)),
			url("assets/images/Blue-Gold-1024x768.jpg");
		background-position: 0 0, right center;
		background-size: auto, cover;
		background-repeat: repeat, no-repeat;
		background-attachment: scroll, fixed;
	}
	
	.logo-bar {
		top: 100px;
		left: 30px;
	}
	
	.logo {
		max-width: 100px;
	}

	.icon {
		max-width: 26px;
	}
	
	.social-icons {
		gap: 11px;
        margin-top: -10px;		
	}
	
	.blog-gallery .gallery-card {
        grid-template-columns: 1fr;
    }

    .blog-gallery .gallery-card > img {
        height: auto;
        min-height: 320px;
        aspect-ratio: 16 / 9;
        border-bottom: 3px solid #000;
        border-right: 0;
    }

    .blog-gallery .post-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
	
	.blog-grid-posts {
        grid-template-columns: repeat(var(--ccv-blog-cols-mobile, 1), minmax(0, 1fr));
    }
	
	.blog-categories-grid {
        grid-template-columns: repeat(var(--ccv-category-cols-tablet, 2), minmax(0, 1fr));
    }

    .product-grid {
        grid-template-columns: 1fr;
    }
	
	.profile-grid {
        grid-template-columns: 1fr;
    }

    .social-media-track {
        column-count: 1;
    }

    .social-card:nth-child(2) {
        margin-bottom: 30px;
    }

    .social-card:last-child {
        margin-bottom: 0;
    }
	
    #lead-capture h2, #lead-capture p {
        grid-column: auto;
    }

    #lead-capture form {
		display: flex;
        flex-direction: column;
        gap: 10px;
        grid-column: auto;
        grid-row: auto;
        width: 100%;
        margin-top: 20px;
    }

    #lead-capture input, #lead-capture button {
        display: block;
        width: 100%;
        max-width: none;
        min-width: 0;
        grid-column: auto;
        justify-self: stretch;
    }

    #contact-page form {
        grid-template-columns: 1fr;
    }

    #contact-page input, #contact-page textarea, #contact-page button {
        grid-column: 1 / -1;
        width: 100%;
        max-width: none;
        justify-self: stretch;
    }
	
}


/* ================================
   RESPONSIVE DESIGN 800px
================================ */


@media (max-width: 800px) {
    
    .container {
		margin: 60px 20%;
		border: 1px solid #CC0000;
	}
	
	#hero .container {
        margin-top: 25px;
        margin-bottom: 25px;
    }

    #lead-capture .container {
        margin: 50px 20%;
    }
	
	#hero {
		background-position: center center, center center !important;
        background-size: 100% 100%, 100% auto !important;
        background-repeat: no-repeat, no-repeat !important;
        background-attachment: scroll, scroll !important;
        background-color: #000 !important;
		background-image:
			linear-gradient(rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.48)),
			url("assets/images/Blue-Gold-800x1000.jpg");
	}
	
	.logo-bar {
		top: 100px;
		left: 18px;
	}
	
	.logo {
		max-width: 90px;
	}

	.icon {
		max-width: 24px;
	}
	
	.social-icons {
		gap: 9px;
	}
	
	.navigation-menus {
		padding: 8px 10px;
        gap: 20px;
	}

    .navigation-menus .nav-left, .navigation-menus .nav-right {
        flex: 1 1 0;
    }

    .navigation-menus .nav-left ul, .navigation-menus .nav-right ul {
        gap: clamp(24px, 4.5vw, 36px);
    }
	
	.blog-gallery .gallery-card {
        grid-template-columns: 1fr;
    }

    .blog-gallery .gallery-card > img {
        min-height: 340px;
    }

    .blog-gallery .post-body {
        padding: 22px;
    }

    .blog-gallery .post-meta {
        flex-direction: column;
        gap: 5px;
    }

    .social-media-track {
        column-count: 1;
    }
	
	#lead-capture form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
	
}


/* ================================
   RESPONSIVE DESIGN 600px
================================ */


@media (max-width: 600px) {
	
    .container {
		margin: 60px 5%;
		border: 1px solid #33CCCC;
	}
	
	#hero .container {
        margin-top: 10px;
        margin-bottom: 10px;
    }
	
	#lead-capture .container {
		margin: 50px 5%;
    }

	.padding {
		padding-left: 0;
		padding-right: 0;
	}
	
	#hero {
        background-position: center top, center top !important;
        background-size: cover, cover !important;
        background-repeat: no-repeat, no-repeat !important;
        background-attachment: scroll, scroll !important;
		min-height: 100vh;
        margin-top: -180px;
        padding-top: 260px;
        background-image:
            linear-gradient(rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.48)),
            url("assets/images/Blue-Gold-600x750.jpg") !important;

    }
    
    #banner {
		background-position: center top, center top !important;
        background-size: cover, cover !important;
        background-repeat: no-repeat, no-repeat !important;
        background-attachment: scroll, scroll !important;
    	min-height: 50vh;
        margin-top: -180px;
        padding-top: 260px;
    	background-image: 
    	    linear-gradient(rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.48)),
    	    url("assets/images/Blue-Gold-600x470.jpg");
    }
	
    #banner h1 {
        margin-top: -60px;
    }
	
	.logo-bar {
        position: relative;
        z-index: 10;
        left: auto;
        top: 20px;
        width: max-content;
        max-width: 180px;
        margin: 0 auto -160px;
        padding-left: 0;
        padding-right: 0;
        text-align: center;
        transform: translateY(10px);
    }

    .logo-bar .logo {
        max-width: 100px;
        margin: 0 auto;
    }

    .logo-bar .social-icons {
        justify-content: center;
    }

	.icon {
		max-width: 26px;
	}
	
	.social-icons {
		gap: 11px;
        margin-top: 20px;		
	}
	
	header {
        position: static;
    }
	
	.announcement-bar {
        padding: 6px 10px;
        box-sizing: border-box;
        line-height: 1.15;
    }

    .announcement-bar p {
        width: 100%;
        max-width: calc(100% - 20px);
        margin-left: auto;
        margin-right: auto;
        line-height: 1.15;
        text-align: center;
        overflow-wrap: break-word;
    }
	
	header > .navigation-menus {
        background-color: #3bdfff;
    }
	
	.navigation-menus {
        flex-direction: column;
        align-items: center;
        gap: 0;
        padding: 0;
    }

    .navigation-menus .nav-left, .navigation-menus .nav-right {
        width: 100%;
        justify-content: center;
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 4px;
        padding-bottom: 4px;
        margin-top: 0;
    }

    header > .navigation-menus .nav-left, header > .navigation-menus .nav-right {
        background-color: #3bdfff;
    }

    .navigation-menus ul, .navigation-menus .nav-right ul {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        column-gap: clamp(24px, 4.5vw, 36px);
        row-gap: 8px;
        text-align: center;
    }

	.section-heading-row {
        display: block;
        text-align: center;
    }

    .gallery-controls {
        justify-content: center;
        margin-top: 16px;
    }

    .blog-gallery .gallery-card {
        grid-template-columns: 1fr;
    }

    .blog-gallery .gallery-card > img {
        min-height: 230px;
        aspect-ratio: 16 / 9;
    }

    .blog-gallery .post-body {
        min-height: 260px;
        text-align: left;
        align-items: flex-start;
    }

    .blog-gallery .post-body h3, .blog-gallery .post-body p {
        text-align: left;
    }

    .blog-gallery .post-meta {
        justify-content: flex-start;
        align-items: flex-start;
        text-align: left;
    }
	
	.blog-categories-grid {
        grid-template-columns: repeat(var(--ccv-category-cols-mobile, 1), minmax(0, 1fr));
    }
	
	.archive-grid {
        grid-template-columns: 1fr;
    }
	
	.social-media-track {
        column-count: 1;
    }
	
}


/* ================================
   RESPONSIVE DESIGN 400px
================================ */


@media (max-width: 400px) {
	
	.container {
		margin: 50px 5%;
	}
	
	#lead-capture .container {
        margin: 50px 5%;
		gap: 10px;
    }
	
	.padding {
		padding-left: 5%;
		padding-right: 5%;
	}
	
	.blog-gallery .post-body {
        padding: 18px;
    }
	
}




/* ================================
   TARGETED 7FWD VELOCITY FIXES
================================ */

.blog-grid .grid-card > img,
.blog-grid .featured-image-gallery-thumbnail,
.product-grid .featured-image-gallery-thumbnail {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.logo-bar .social-icons {
    display: grid !important;
    grid-template-columns: repeat(3, 36px);
    gap: 16px;
    width: max-content;
    max-width: calc((36px * 3) + (16px * 2));
    margin: 0 auto;
    padding: 0;
    list-style: none;
    align-items: center;
    justify-content: center;
}

.logo-bar .social-icons li {
    display: block;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.logo-bar .social-icons a,
.logo-bar .social-icons img {
    display: block;
}

.logo-bar .social-icons .icon {
    width: 36px;
    max-width: 36px;
    height: auto;
}

.social-card .post-body {
    display: block;
}

.social-card .profile-row {
    display: grid;
    grid-template-columns: 50px 1fr;
    align-items: center;
    column-gap: 12px;
    margin-bottom: 12px;
}

.social-card .profile-logo {
    width: 50px;
    height: 50px;
    object-fit: cover;
    margin: 0;
}

.social-card .post-meta {
    align-self: center;
}

.social-card .post-body p {
    grid-column: auto;
}

.woocommerce-main #featured-image.archive-featured-image,
.woocommerce-main .archive-featured-image {
    display: none !important;
}

#shop-products .section-heading h2,
#product-categories .section-heading h2 {
    color: #000;
}

.single-product-content,
.woocommerce-cart .page-content,
.woocommerce-checkout .page-content,
.woocommerce-account .page-content {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.single-product-content .product-price,
.single-product-content .price,
.woocommerce .price {
    color: #03507c;
    font-weight: bold;
    padding-bottom: 20px;
}

.single-product-content .cart,
.woocommerce-cart-form,
.woocommerce-checkout form.checkout,
.woocommerce-account form {
    border: 3px solid #000;
    border-radius: 22px;
    padding: 5%;
    margin-bottom: 40px;
    background: #fff;
}

.single-product-content input,
.single-product-content select,
.single-product-content textarea,
.woocommerce-cart input,
.woocommerce-cart select,
.woocommerce-cart textarea,
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-account input,
.woocommerce-account select,
.woocommerce-account textarea {
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
    padding: 0 12px;
    font-family: Verdana, sans-serif;
    font-size: 14px;
    border: 3px solid #000;
    border-radius: 10px;
}

.single-product-content button,
.single-product-content .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: inline-block;
    min-height: 46px;
    box-sizing: border-box;
    background: #3bdfff;
    color: #000 !important;
    padding: 12px 18px;
    font-family: Verdana, sans-serif;
    font-size: 14px;
    font-weight: bold;
    border: 3px solid #000;
    border-radius: 10px;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.2;
}

.single-product-content button:hover,
.single-product-content .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #01283e;
    color: #fff !important;
}

.woocommerce table.shop_table,
.woocommerce-cart table.cart,
.woocommerce-checkout-review-order-table {
    border: 3px solid #000;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border-color: #000;
    padding: 14px;
}

.woocommerce label,
.woocommerce table.shop_table th,
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading,
.cart_totals h2,
.single-product-content h2,
.single-product-content h3 {
    font-family: Impact, Haettenschweiler, "Franklin Gothic Bold", "Arial Black", sans-serif;
    text-transform: capitalize;
    color: #000;
}

.woocommerce .form-row {
    margin-bottom: 18px;
}

.woocommerce .quantity .qty {
    max-width: 90px;
}

.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border: 3px solid #000;
    border-radius: 22px;
    background: #fff;
    color: #000;
}

.contact-intro-content:empty {
    display: none;
}

@media (max-width: 1200px) {
    .logo-bar .social-icons {
        grid-template-columns: repeat(3, 30px);
        gap: 15px;
        max-width: calc((30px * 3) + (15px * 2));
    }

    .logo-bar .social-icons li,
    .logo-bar .social-icons .icon {
        width: 30px;
        max-width: 30px;
    }
}

@media (max-width: 1024px) {
    .logo-bar .social-icons {
        grid-template-columns: repeat(3, 26px);
        gap: 11px;
        max-width: calc((26px * 3) + (11px * 2));
    }

    .logo-bar .social-icons li,
    .logo-bar .social-icons .icon {
        width: 26px;
        max-width: 26px;
    }
}

@media (max-width: 600px) {
    .single-product-content,
    .woocommerce-cart .page-content,
    .woocommerce-checkout .page-content,
    .woocommerce-account .page-content {
        max-width: 100%;
    }

    .single-product-content .cart,
    .woocommerce-cart-form,
    .woocommerce-checkout form.checkout,
    .woocommerce-account form {
        padding: 5%;
    }
}

/* ================================
   WORDPRESS COMPATIBILITY ONLY
   These rules do not replace the uploaded tablet/mobile visual system.
================================ */

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    clip: auto !important;
    clip-path: none;
    display: block;
    height: auto;
    left: 10px;
    top: 10px;
    width: auto;
    z-index: 99999;
    background: #fff;
    padding: 10px;
    border: 2px solid #000;
}

.social-icons {
    flex-wrap: wrap;
    max-width: calc((36px * 3) + (16px * 2));
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
}

.logo {
    width: var(--ccv-logo-size, 140px);
    height: auto;
    object-fit: contain;
}

.front-blog-grid .blog-grid-posts {
    grid-template-columns: repeat(var(--ccv-front-blog-cols-desktop, 3), minmax(0, 1fr));
}

.product-grid-posts {
    grid-template-columns: repeat(var(--ccv-product-cols-desktop, 3), minmax(0, 1fr));
}

.product-categories-grid {
    grid-template-columns: repeat(var(--ccv-category-cols-desktop, 4), minmax(0, 1fr));
}

@media (max-width: 1200px) {
    .front-blog-grid .blog-grid-posts {
        grid-template-columns: repeat(var(--ccv-front-blog-cols-tablet, 2), minmax(0, 1fr));
    }

    .product-grid-posts {
        grid-template-columns: repeat(var(--ccv-product-cols-tablet, 2), minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .front-blog-grid .blog-grid-posts {
        grid-template-columns: repeat(var(--ccv-front-blog-cols-mobile, 1), minmax(0, 1fr));
    }

    .product-grid-posts {
        grid-template-columns: repeat(var(--ccv-product-cols-mobile, 1), minmax(0, 1fr));
    }

    .product-categories-grid {
        grid-template-columns: repeat(var(--ccv-category-cols-tablet, 2), minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .product-categories-grid {
        grid-template-columns: repeat(var(--ccv-category-cols-mobile, 1), minmax(0, 1fr));
    }
}

/* ================================
   7FWD VELOCITY REVISION 1.0.4
   Blog/shop headers, single product, cart, checkout.
================================ */

#blog .section-heading-row,
#shop-products .section-heading-row {
    display: block;
    text-align: center;
    margin-bottom: 30px;
}

#blog .section-heading,
#shop-products .section-heading {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

#blog .section-heading h2,
#shop-products .section-heading h2,
#product-categories .section-heading h2,
#categories .section-heading h2 {
    color: #000;
    text-align: center;
}

#blog .section-heading p,
#shop-products .section-heading p,
#product-categories .section-heading p,
#categories .section-heading p {
    text-align: center;
}

/* Product pages use the static Customizer/default banner, not the product image. */
.single-product #banner {
    background-position: right center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* Single product layout */
.single-product-content {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.single-product-top {
    display: grid;
    grid-template-columns: minmax(220px, 38%) minmax(0, 1fr);
    gap: 30px;
    align-items: start;
    margin-bottom: 40px;
}

.single-product-image-wrap {
    width: 100%;
}

#product-featured-image.product-featured-image,
.product-featured-image {
    width: 100%;
    max-width: 320px;
    margin: 0;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border: 3px solid #000;
    border-radius: 22px;
}

.single-product-summary {
    min-width: 0;
}

.single-product-summary .product-title {
    text-align: left;
    color: #000;
    margin-bottom: 16px;
}

.single-product-summary .product-price,
.single-product-summary .price {
    display: block;
    color: #03507c;
    font-weight: bold;
    font-size: 1.2rem;
    padding-bottom: 20px;
}

.product-short-description p {
    padding-bottom: 20px;
}

.single-product-summary form.cart,
.single-product-summary .cart {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
    background: transparent !important;
}

.single-product-summary .quantity .qty,
.woocommerce .quantity .qty {
    width: 110px;
    max-width: 110px;
    text-align: center;
}

.product-meta-panel,
.product-meta-panel a {
    color: #03507c;
    font-weight: bold;
}

.single-product-description {
    border-top: 3px solid #000;
    padding-top: 30px;
}

.single-product-description h2 {
    color: #000;
    text-align: center;
}

.single-product-description p:last-child {
    padding-bottom: 0;
}

/* WooCommerce notices: do not render empty bordered boxes above forms. */
.woocommerce-notices-wrapper:empty,
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle {
    display: none !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border: 3px solid #000;
    border-radius: 22px;
    background: #fff;
    color: #000;
    padding: 20px 24px;
    margin-bottom: 30px;
}

.woocommerce-notices-wrapper {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Cart layout */
.woocommerce-cart .page-content,
.woocommerce-checkout .page-content,
.woocommerce-account .page-content {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-cart-form {
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-bottom: 40px !important;
    background: transparent !important;
}

.woocommerce-cart table.cart,
.woocommerce table.shop_table.cart {
    width: 100%;
    border: 3px solid #000;
    border-radius: 22px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    background: #fff;
}

.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td,
.woocommerce table.shop_table.cart th,
.woocommerce table.shop_table.cart td {
    border: 0 !important;
    padding: 16px;
    vertical-align: middle;
}

.woocommerce-cart table.cart img {
    width: 90px !important;
    max-width: 90px !important;
    height: 90px !important;
    object-fit: cover;
    border: 3px solid #000;
    border-radius: 14px;
}

.woocommerce-cart table.cart td.actions {
    padding-top: 20px;
    text-align: right;
}

.woocommerce-cart table.cart td.actions .coupon {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
    width: min(100%, 260px) !important;
}

.woocommerce-cart button.button[name="update_cart"],
.woocommerce-cart input.button[name="update_cart"] {
    background: #3bdfff !important;
    color: #000 !important;
    border: 3px solid #000 !important;
    border-radius: 10px !important;
    min-height: 46px;
    padding: 12px 18px !important;
    font-weight: bold;
    text-transform: uppercase;
}

.woocommerce-cart button.button[name="update_cart"]:hover,
.woocommerce-cart input.button[name="update_cart"]:hover,
.woocommerce-cart button.button[name="update_cart"]:focus,
.woocommerce-cart input.button[name="update_cart"]:focus {
    background: #01283e !important;
    color: #fff !important;
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .cart_totals {
    float: none;
    width: 100%;
    max-width: 420px;
    margin-left: auto;
    text-align: right;
}

.woocommerce-cart .cart_totals h2 {
    color: #000;
    text-align: right;
}

.woocommerce-cart .cart_totals table {
    width: 100%;
    border: 3px solid #000;
    border-radius: 22px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    border: 0 !important;
    text-align: right;
    padding: 14px;
}

.woocommerce-cart .wc-proceed-to-checkout {
    padding-bottom: 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 0;
}

/* Checkout layout */
.woocommerce-checkout form.checkout {
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-bottom: 40px !important;
    background: transparent !important;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.woocommerce-checkout #customer_details {
    margin-bottom: 40px;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review {
    grid-column: 1 / -1;
}

.woocommerce-checkout .form-row {
    float: none !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #order_comments_field {
    grid-column: 1 / -1;
}

.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-cart input,
.woocommerce-cart select,
.woocommerce-cart textarea,
.woocommerce-account input,
.woocommerce-account select,
.woocommerce-account textarea,
.single-product-content input,
.single-product-content select,
.single-product-content textarea {
    border: 3px solid #000 !important;
    border-radius: 10px;
    min-height: 46px;
    box-sizing: border-box;
}

.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
    height: 46px !important;
    min-height: 46px !important;
    border: 3px solid #000 !important;
    border-radius: 10px !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 40px !important;
    padding-left: 12px !important;
    padding-right: 32px !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
}

.woocommerce-checkout #order_review_heading {
    text-align: center;
    color: #000;
}

.woocommerce-checkout-review-order-table {
    border: 3px solid #000;
    border-radius: 22px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    border: 0 !important;
    padding: 14px;
}

.woocommerce-checkout #place_order {
    display: block !important;
    float: none !important;
    width: min(100%, 360px) !important;
    margin: 30px auto 0 !important;
    text-align: center;
    background: #3bdfff !important;
    color: #000 !important;
    border: 3px solid #000 !important;
    border-radius: 10px !important;
    min-height: 46px;
    padding: 12px 18px !important;
    font-weight: bold;
    text-transform: uppercase;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus {
    background: #01283e !important;
    color: #fff !important;
}

.woocommerce label,
.woocommerce table.shop_table th,
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading,
.cart_totals h2,
.single-product-content h2,
.single-product-content h3 {
    font-family: Impact, Haettenschweiler, "Franklin Gothic Bold", "Arial Black", sans-serif;
    text-transform: capitalize;
    color: #000;
}

@media (max-width: 1024px) {
    .single-product-top {
        grid-template-columns: 1fr;
    }

    #product-featured-image.product-featured-image,
    .product-featured-image {
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
    }

    .single-product-summary .product-title,
    .single-product-summary {
        text-align: center;
    }

    .single-product-summary form.cart,
    .single-product-summary .cart {
        justify-content: center;
    }
}

@media (max-width: 600px) {
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout .form-row,
    .woocommerce-checkout .form-row-wide,
    .woocommerce-checkout #billing_company_field,
    .woocommerce-checkout #billing_country_field,
    .woocommerce-checkout #billing_address_1_field,
    .woocommerce-checkout #billing_address_2_field,
    .woocommerce-checkout #billing_city_field,
    .woocommerce-checkout #order_comments_field {
        grid-column: 1 / -1;
    }

    .woocommerce-cart table.cart img {
        width: 76px !important;
        max-width: 76px !important;
        height: 76px !important;
    }

    .woocommerce-cart .cart_totals {
        max-width: 100%;
    }

    .woocommerce-cart .cart_totals h2,
    .woocommerce-cart .cart_totals table th,
    .woocommerce-cart .cart_totals table td {
        text-align: left;
    }
}


/* ================================
   7FWD VELOCITY REVISION 1.0.5
   Tablet/mobile header/footer, cart totals, checkout layout.
================================ */

/* Cart: use readable title sizing and left-aligned totals. */
.woocommerce-cart .page-content {
    max-width: 980px !important;
    width: 100% !important;
}

.woocommerce-cart .cart_totals h2 {
    font-size: clamp(2rem, 4vw, 3.25rem) !important;
    line-height: 1.15 !important;
    text-align: left !important;
    margin-bottom: 24px !important;
}

.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td.product-name a,
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    font-size: 1rem !important;
}

.woocommerce-cart table.cart th,
.woocommerce-cart .cart_totals table th {
    font-family: Impact, Haettenschweiler, "Franklin Gothic Bold", "Arial Black", sans-serif !important;
    text-transform: capitalize !important;
    letter-spacing: 0.01em;
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .cart_totals {
    text-align: left !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    text-align: left !important;
}

.woocommerce-cart .cart_totals table td {
    font-weight: bold;
}

/* Do not show an empty bordered wrapper above cart/checkout forms. */
.woocommerce-notices-wrapper {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
}

.woocommerce-notices-wrapper:empty,
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle {
    display: none !important;
}

/* Checkout: full, logical two-column layout on desktop/tablet; one column only on mobile. */
.woocommerce-checkout .page-content {
    max-width: 1180px !important;
    width: 100% !important;
}

.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr) !important;
    gap: 30px 44px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
}

.woocommerce-checkout #order_review_heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
    margin: 0 0 20px !important;
    text-align: center !important;
    font-size: clamp(2rem, 4vw, 3.25rem) !important;
    line-height: 1.15 !important;
}

.woocommerce-checkout #order_review {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: none !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review {
    background: #fff;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 24px !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 18px !important;
    width: 100% !important;
}

.woocommerce-checkout .form-row {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last,
.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #billing_last_name_field,
.woocommerce-checkout #shipping_first_name_field,
.woocommerce-checkout #shipping_last_name_field {
    grid-column: auto !important;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #billing_phone_field,
.woocommerce-checkout #billing_email_field,
.woocommerce-checkout #shipping_company_field,
.woocommerce-checkout #shipping_country_field,
.woocommerce-checkout #shipping_address_1_field,
.woocommerce-checkout #shipping_address_2_field,
.woocommerce-checkout #shipping_city_field,
.woocommerce-checkout #shipping_state_field,
.woocommerce-checkout #shipping_postcode_field,
.woocommerce-checkout #order_comments_field {
    grid-column: 1 / -1 !important;
}

.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .select2-container .select2-selection--single {
    border: 3px solid #000 !important;
    border-radius: 10px !important;
    min-height: 46px !important;
    height: 46px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout textarea {
    height: auto !important;
    min-height: 150px !important;
    padding-top: 12px !important;
}

.woocommerce-checkout #place_order {
    display: block !important;
    float: none !important;
    width: min(100%, 360px) !important;
    margin: 30px auto 0 !important;
    text-align: center !important;
}

/* Tablet and mobile header/footer share the same non-overlapping structure. Desktop stays unchanged. */
@media (max-width: 1024px) {
    header.site-header,
    header {
        position: static !important;
    }

    header > .navigation-menus,
    footer .navigation-menus {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    header > .navigation-menus .nav-left,
    header > .navigation-menus .nav-right,
    footer .navigation-menus .nav-left,
    footer .navigation-menus .nav-right {
        width: 100% !important;
        flex: 0 0 auto !important;
        justify-content: center !important;
        padding: 8px 10px !important;
        text-align: center !important;
    }

    header > .navigation-menus ul,
    footer .navigation-menus ul,
    .navigation-menus .nav-left ul,
    .navigation-menus .nav-right ul {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        column-gap: clamp(18px, 4.5vw, 36px) !important;
        row-gap: 8px !important;
        width: 100% !important;
        text-align: center !important;
    }

    .navigation-menus li {
        white-space: normal !important;
        text-align: center !important;
    }

    .logo-bar {
        position: relative !important;
        left: auto !important;
        top: 20px !important;
        z-index: 10 !important;
        width: max-content !important;
        max-width: 180px !important;
        margin: 0 auto -160px !important;
        text-align: center !important;
        transform: translateY(10px) !important;
    }

    .logo-bar .logo {
        max-width: 100px !important;
        margin: 0 auto !important;
    }

    .logo-bar .social-icons {
        justify-content: center !important;
        margin-top: 20px !important;
    }

    #hero,
    #banner {
        margin-top: -180px !important;
        padding-top: 260px !important;
    }

    footer .navigation-menus {
        border-bottom: 0 !important;
    }

    .woocommerce-checkout .page-content {
        max-width: 960px !important;
    }

    .woocommerce-checkout form.checkout {
        grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr) !important;
        gap: 28px !important;
    }
}

@media (max-width: 800px) {
    .woocommerce-checkout .page-content,
    .woocommerce-cart .page-content {
        max-width: 100% !important;
    }

    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last,
    .woocommerce-checkout #billing_first_name_field,
    .woocommerce-checkout #billing_last_name_field,
    .woocommerce-checkout #shipping_first_name_field,
    .woocommerce-checkout #shipping_last_name_field {
        grid-column: 1 / -1 !important;
    }

    .woocommerce-cart .cart_totals h2,
    .woocommerce-cart .cart_totals table th,
    .woocommerce-cart .cart_totals table td {
        text-align: left !important;
    }
}
