:root {
  /* Core Settings */
  --base-font-size: 18px;
  --line-height-multiplier: 1.25;
  --scale-ratio: 1.618;
  --font-heading: 'Noto Serif', Georgia, serif;
  --font-body: 'Montserrat', 'Helvetica Neue', sans-serif;
  --weight-heading: 600;
  --weight-body: 400;

  /* Computed Rhythm Unit */
  --baseline-unit: calc(var(--base-font-size) * var(--line-height-multiplier)); /* ≈ 27px */

  /* Spacing Utilities */
  --space-1x: calc(var(--baseline-unit) * 1);  /* 1 rhythm */
  --space-2x: calc(var(--baseline-unit) * 2);
  --space-3x: calc(var(--baseline-unit) * 3);
  --space-4x: calc(var(--baseline-unit) * 4);
}

/* Base Typography */
html {
  font-size: var(--base-font-size);
  line-height: var(--line-height-multiplier);
}

body {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: var(--line-height-multiplier);
  margin: 0;
  padding: 0;
}

/* Paragraph and Text Elements */
p, ul, ol, blockquote {
  margin-bottom: var(--space-1x);
}

/* Section Spacing 
section {
  padding-top: var(--space-2x);
  padding-bottom: var(--space-2x);
}
*/
/* Rhythm Utilities 
.mt-1x { margin-top: var(--space-1x); }
.mb-1x { margin-bottom: var(--space-1x); }
.pt-1x { padding-top: var(--space-1x); }
.pb-1x { padding-bottom: var(--space-1x); }
 (repeat for 2x–4x as needed) */

/* Heading Clamp with Golden Ratio + Rhythm */
h1 {
  font-size: clamp(2.25rem, 4vw + 1rem, 3.5rem);
  margin-bottom: var(--space-2x);
  padding-top: var(--space-2x);
}
h2 {
  font-size: clamp(1.875rem, 3vw + 0.75rem, 2.722rem);
  margin-bottom: var(--space-1x);
  padding-top: var(--space-1x);
}
h3 {
  font-size: clamp(1.5rem, 2.5vw + 0.5rem, 2.167rem);
  margin-bottom: var(--space-1x);
  padding-top: var(--space-1x);
}
h4 {
  font-size: clamp(1.25rem, 2vw + 0.25rem, 1.722rem);
  margin-bottom: var(--space-1x);
  padding-top: var(--space-1x);
}
h5 {
  font-size: clamp(1.125rem, 1.5vw + 0.25rem, 1.333rem);
  margin-bottom: var(--space-1x);
}
h6 {
  font-size: clamp(1rem, 1vw + 0.25rem, 1rem);
  margin-bottom: var(--space-1x);
}

.site-header .col-full { 
    padding: 0;
    max-width: 80vw;
}

/* Mobile Styles */
@media (max-width: 767px) {
    .block.footer-widget-1 { width: 100%; }
    .site-header .col-full { 
    padding: 0;
    max-width: 100vw;
}
}

.entry-title, .page-title {
	border-bottom: 1px solid #d24234;
	font-weight: 500;
    margin-bottom: 0;
    margin-top: 2vh;
    padding-bottom: 1vh;
    border-color: transparent;
    border-width: 0;
}

.main-navigation ul li a,
.main-navigation ul li > a,
.site-title a,
.site-header ul.menu li.current-menu-item > a {
	color: white;
    text-transform: uppercase;
}

.main-navigation ul li a:hover, 
.main-navigation ul li:hover > a, 
.site-title a:hover {
	background-color: #d24234;
    color: #ffffff;
}

.site-header ul.menu li.current-menu-item > a {
    background-color: #376da5;
    color: #ffffff;
}

footer h3.wp-block-heading, 
.block.footer-widget-4 span.gamma.widget-title {
	border-bottom-color: #d24234;
	border-bottom: 1px solid;
    color: #e8e8e8;
    font-weight: 500;
    margin: .5vh 0 2vh 0;
    padding: 1vh 0;
}

.widget-area h3.wp-block-heading {
	border-bottom: 1px solid;
	border-bottom-color: #d24234;
	font-size: 1.618em;
	font-weight: 300;
	margin: 0 auto 1vh 0;
	padding: 0;
	text-transform: uppercase !important;
}

.widget-area a {
	    color: #ffffff;
}
.site-header {
border-bottom-color: #d24234;
border-width: 1vh;
background-color: #05001B;
}

.site-footer {
   border-top-color: #d24234;
	border-width: 1vh;
    background-color: #376da5;
    color: #ffffff;
		font-weight: 400;
	letter-spacing: 0;
}
.site-footer a {
    color: #ffffff;
}

.block.footer-widget-1 {
width: 40%;
}

.wp-block-latest-posts.wp-block-latest-posts__list li {
    margin-bottom: 3vh;
}
.site-footer a:not(.button):not(.components-button) {
    color: #EABE3B;
}

@media (min-width: 1024px) {
.col-full {
    max-width: 70vw;
	}
.hentry .entry-header {
    margin-bottom: 1vh;
}
}

.widget-area .widget a, .hentry .entry-header .posted-on a, .hentry .entry-header .post-author a, .hentry .entry-header .post-comments a, .hentry .entry-header .byline a {
    color: #d24234;
	line-height: 2.5vh
}

.site-header ul.menu li.current-menu-item a.cart-contents {
    background-color: transparent;
    color: #ffffff;
}
p+h2, p+header h2, p+h3, p+h4, ul+h2, ul+header h2, ul+h3, ul+h4, ol+h2, ol+header h2, ol+h3, ol+h4, table+h2, table+header h2, table+h3, table+h4, blockquote+h2, blockquote+header h2, blockquote+h3, blockquote+h4, form+h2, form+header h2, form+h3, form+h4 {
    margin-bottom: 1vh;
}

.hentry .entry-taxonomy {
    margin: 1.41575em 0 0;
    padding-bottom: 1em;
    border-bottom: 3.5vh solid rgba(0, 0, 0, .125);
}

.wp-block-embed {
    margin: 0 0 5vh;
}

ul.wc-block-product-template__responsive.columns-4.wc-block-product-template.wp-block-woocommerce-product-template {
    margin: 0;
}

ul.menu li a.cart-contents, .woocommerce-mini-cart-item mini_cart_item, a.cart-contents, .site-header-cart .widget_shopping_cart a {
	color: white !important;
}

.widget_recent_entries ul li::before, .widget_pages ul li::before {
    content: "" !important;
}

.widget_recent_entries ul li, .widget_pages ul li, .widget_categories ul li, .widget_archive ul li, .widget_recent_comments ul li, .widget_nav_menu ul li, .widget_links ul li, .widget_product_categories ul li, .widget_layered_nav ul li, .widget_layered_nav_filters ul li {
    padding-left: 0;
		padding-top: 0;
}

.block.footer-widget-1 {
width: 40%;
}
#simple-social-icons-2 ul li a, #simple-social-icons-2 ul li a:hover, #simple-social-icons-2 ul li a:focus {
	font-size: 16px !important;
	margin: 0 !important;
}

.footer-widgets.col-3 .footer-widgets-1  {
    width: 40% !important;
}