/* ===================================================================
 * Russian River Historical Society — Child Theme Styles
 * Extracted from html-header.twig and cleaned
 * Version: 2.0
 * ===================================================================
 *
 * Table of Contents:
 * 1.  Base / Body / Typography
 * 2.  Header & Navigation (Desktop)
 * 3.  Sticky Header
 * 4.  Mobile Navigation
 * 5.  Top Bar
 * 6.  Content Area / Page Layout
 * 7.  Breadcrumbs
 * 8.  Post Content Headings (h1-h6)
 * 9.  Info Blocks (Top — whz-listwrapper)
 * 10. Service Blocks (Bottom — wh-service)
 * 11. Gallery / Lightgallery Overrides
 * 12. Slider (Slick)
 * 13. Footer / Social / Copyright
 * 14. Footer Sitemap Navigation
 * 15. Login Popup (Magnific / ProfilePress)
 * 16. WooCommerce Overrides
 * 17. Products Grid / Add to Cart
 * 18. Images (WordPress alignment responsive)
 * 19. Responsive Embeds
 * 20. Skip to Main Content (A11y)
 * 21. Datepicker / jQuery UI Fixes
 * 22. One-Page Checkout / Donations
 * 23. Buttons (wh-button-*)
 * 24. Misc Utilities
 * 25. Responsive Breakpoints
 * =================================================================== */


/* ===================================================================
 * 1. Base / Body / Typography
 * =================================================================== */

img {
  max-width: 100%;
}

body {
  background-color: #efeee9;
  color: #000000;
  font-size: 16px;
  font-family: "Source Serif 4", serif;
}

body p,
body .article-body li,
body {
  font-family: "Source Serif 4", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
}

h1, h2, h3 {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  color: #ffffff;
}

h1 {
  font-size: 30px;
  line-height: 32px;
  font-weight: normal;
}

h2 {
  font-size: 24px;
  font-weight: normal;
  line-height: 26px;
}

.wh-page strong {
  font-weight: 500;
  color: #000000;
}

body em {
  font-style: italic !important;
}

figure {
  clear: both;
}

figure.wp-caption {
  float: none;
}

input[type="text"],
input[type="email"] {
  color: #000000;
}

input[type="tel"] {
  color: #000000;
}

.wh-page hr,
hr {
  border: none;
  height: 1px;
  background-color: #13292a;
  border-radius: 0px;
}

div.clear {
  display: block;
  clear: both;
}

span.signature {
  display: block;
  font-family: "Parisienne", cursive;
  font-weight: 400;
  font-style: normal;
  font-size: 36px;
  padding: 7px;
}


/* ===================================================================
 * 2. Header & Navigation (Desktop)
 * =================================================================== */

/* wh-start admin bar and header */
.admin-bar .navbar-fixed-top {
  top: 32px;
}

header#header {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  margin: 0 0 0 0;
  background-color: #637356 !important; /* ADA: darkened sage — 4.9:1 with white */
  border-bottom: 1px solid #13292A;
}

/* wh-start headerreal — final override (overridden by !important above) */
header#header {
  background-color: #ffffff;
}

header#header {
  background-color: #e9f2bf;
}

header#header {
  box-shadow: 0 0 0 0 !important;
}

/* ===== Header row layout fix (logo left, nav right) ===== */
.container.wh-nav-wrap-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

div#logo {
  flex: 0 0 auto;
  float: none !important;
  position: relative;
  z-index: 55 !important;
  padding-top: 0px;
  padding-left: 0px;
  max-width: 300px;
}

div.wh-nav-wrap {
  flex: 1 1 auto;
  width: auto !important;
  display: flex;
  justify-content: flex-end;
  position: relative;
  z-index: 50 !important;
  background-color: transparent;
}

nav#mainnav {
  right: auto;
  text-align: right;
  background-color: transparent;
  font-family: 'Asap Condensed', sans-serif;
}

nav#mainnav > ul {
  display: flex;
  justify-content: flex-end;
  list-style: none;
  margin: 0;
  padding: 0;
}

nav#mainnav > ul > li {
  position: relative;
}

nav#mainnav > ul > li:hover > ul.sub-menu {
  top: 100%;
  opacity: 1;
  visibility: visible;
}

nav#mainnav ul.sub-menu {
  list-style: none;
}

@media (max-width: 991px) {
  .nav-wrap-x { display: none; }
}

nav#mainnav > ul > li > a {
  font-weight: 400;
  color: #ffffff;
  font-size: 16px !important;
  line-height: 88px;
  display: block;
  margin: 0 5px;
  padding-top: 10px;
  font-family: "Source Sans 3", sans-serif;
  font-style: normal;
  letter-spacing: 2px;
  transition: all 300ms;
}

@media (min-width: 992px) {
  nav#mainnav > ul > li > a {
    margin: 0px 0px 0 25px;
    transition: all 300ms;
  }
}

nav#mainnav > ul > li > a:hover {
  color: #13292A !important;
}

nav#mainnav ul.submenu,
nav#mainnav ul.sub-menu {
  margin-top: -7px;
  background: #13292A !important;
  border-bottom: 2px solid;
  border-image: linear-gradient(90deg, #a84a2e, #c75b39, #e2a95a, #c75b39, #a84a2e) 1;
  border-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

nav#mainnav ul.submenu:before,
nav#mainnav ul.sub-menu:before {
  height: 0px;
  background: none;
}

nav#mainnav ul.submenu > li > a,
nav#mainnav ul.sub-menu > li > a {
  line-height: 20px !important;
  border-bottom: 1px solid #363636;
  text-align: left;
  padding: 7px 20px;
  color: #ffffff;
  transition: background-color 0.3s ease, color 0.3s ease;
  letter-spacing: 2px;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 14px !important;
}

nav#mainnav ul.submenu > li:last-child > a,
nav#mainnav ul.sub-menu > li:last-child > a {
  border-bottom: none;
}

nav#mainnav ul.submenu > li:hover,
nav#mainnav ul.sub-menu > li:hover {
  background-color: #c75b39;
  transition: background-color 0.5s ease;
}
nav#mainnav ul.submenu > li > a:hover,
nav#mainnav ul.sub-menu > li > a:hover {
  color: #ffffff;
  background: transparent;
}

.menu-extra li a {
  color: #e2a95a;
}

.menu-extra li a.active {
  background: #ffffff;
  color: #333;
}

.menu-extra li a span {
  color: #333;
}

ul.menu-extra {
  z-index: 1000;
}

.menu-extra .box-cart .icon_cart:before {
  content: "\f07a";
}

/* Active nav highlighting */
body.tax-product_cat #mainnav li#whnav-wines > a,
body.page-home #mainnav li#whnav-home > a,
body.page-reviews #mainnav li#whnav-reviews > a {
  color: #d2c5a6;
}

body.menu-home #mainnav li#whnav-home,
body.menu-about #mainnav li#whnav-about,
body.menu-manufacturing-solutions #mainnav li#whnav-manufacturing-solutions,
body.menu-partner-resources #mainnav li#whnav-partner-resources,
body.menu-contact #mainnav li#whnav-contact {
  border-bottom: 1px solid #000000;
}

#header.is-fixed li#whnav-wines,
#header.is-fixed li#whnav-home {
  border-bottom: 1px solid transparent !important;
}

div#site-header-inner {
  padding: 5px 0 5px 0;
}

div#site-header-wrap {
  position: fixed;
  width: 100%;
  z-index: 100;
  transition: all 0.3s;
  background-color: transparent;
}

/* wh-note navigation break point */
@media screen and (max-width: 992px) {
  header {
    transition: all 0.5s;
  }
  .header-style-2 #site-header-inner {
    padding: 5px 0 5px 0;
  }
}

@media only screen and (max-width: 1400px) and (min-width: 769px) {
  div#logo {
    max-width: 250px;
    transition: 0.5s all;
  }
}


/* ===================================================================
 * 3. Sticky Header
 * =================================================================== */

header#header.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  border-bottom: 1px solid #13292A;
}

.header-absolute #header.is-fixed {
  box-shadow: 0px 5px 14.25px 0.75px rgba(36, 11, 12, 0.05);
}

header#header.is-fixed div#logo {
  transition: 0.3s all;
}

header#header.is-fixed div#site-header-inner {
  padding-top: 10px;
  padding-bottom: 10px;
  transition: 0.3s all;
  background-color: #281d17;
}

header#header {
  /* borders handled by theme framework */
}

.webhelper-sticky-header {
  transition: all 0.3s;
}


.webhelper-sticky-header-main {
  background-color: #637356 !important; /* ADA: darkened sage — 4.9:1 with white */
  margin: 0 0 0 0 !important;
  transition: all 0.5s;
  background-repeat: none;
  background-size: cover;
}

.webhelper-sticky-site-header-inner {
  /* padding handled by transitions */
}

.webhelper-sticky-logo {
  transition: 0.5s all;
}


/* ===================================================================
 * 4. Mobile Navigation
 * =================================================================== */

/* Mobile hamburger button */
div.mobile-button {
  /* positioned by framework */
}

div.mobile-button::before,
div.mobile-button::after,
div.mobile-button span {
  background-color: #ffffff;
}

/* --- Off-canvas mobile panel --- */
.mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(19, 41, 42, 0.65);
  z-index: 1998;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.mobile-overlay.open { opacity: 1; visibility: visible; }

.mobile-panel {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: min(320px, 82vw);
  background: #13292a;
  z-index: 1999;
  transform: translateX(-100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}
.mobile-panel.open { transform: translateX(0); }

.mob-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 22px;
  border-bottom: 1px solid #224345;
  flex-shrink: 0;
  background: #0e1f20;
}
.mob-header img { height: 56px; }
.mob-close {
  font-size: 1.2rem;
  color: rgba(239, 238, 233, 0.6);
  cursor: pointer;
  padding: 4px;
  background: none;
  border: none;
}

.mob-nav { flex: 1; }
.mob-nav-item { border-bottom: 1px solid #224345; }
.mob-nav-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 22px;
  font-size: 0.88rem;
  font-weight: 500;
  color: #efeee9;
  cursor: pointer;
  transition: background 0.15s;
  font-family: "Source Sans 3", sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.mob-nav-row:hover { background: #1a3a3c; }
.mob-nav-row i { font-size: 0.6rem; color: rgba(239, 238, 233, 0.4); transition: transform 0.25s; }
.mob-nav-item.expanded .mob-nav-row i { transform: rotate(90deg); }
.mob-sub { display: none; background: #0e1f20; }
.mob-nav-item.expanded .mob-sub { display: block; }
.mob-sub a {
  display: block;
  padding: 10px 22px 10px 36px;
  font-size: 0.83rem;
  color: rgba(239, 238, 233, 0.7);
  border-bottom: 1px solid #224345;
  font-family: "Source Sans 3", sans-serif;
  letter-spacing: 1px;
  text-decoration: none;
}
.mob-sub a:last-child { border-bottom: none; }
.mob-sub a:hover { color: #c7d5bc; background: #13292a; }

.mob-footer {
  padding: 18px 22px;
  border-top: 1px solid #224345;
  flex-shrink: 0;
}
.mob-footer a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  font-size: 0.84rem;
  color: rgba(239, 238, 233, 0.7);
  text-decoration: none;
  font-family: "Source Sans 3", sans-serif;
}
.mob-footer a:hover { color: #c7d5bc; }
.mob-footer i { width: 16px; color: rgba(239, 238, 233, 0.4); }

/* Mobile cart icon */
div.wh-mobile-cart {
  display: none;
}

@media only screen and (max-width: 1092px) {
  div.wh-mobile-cart {
    display: block;
    position: absolute;
    width: 40px;
    height: 40px;
    top: 30px;
    right: 80px;
    transition: all 0.3s;
  }
  div.wh-mobile-cart a {
    margin: 0px 2.5px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    font-size: 15px;
    color: #333333;
    display: inline-block;
    position: relative;
    background: #e2a95a;
  }
  div.wh-mobile-cart a span {
    width: 15px;
    height: 15px;
    font-size: 10px;
    line-height: 15px;
    color: #333333;
    font-weight: bold;
    position: absolute;
    top: 0px;
    right: -3px;
    background-color: #d2c5a6;
    text-align: center;
    border-radius: 50%;
    display: inline-block;
  }
  div.wh-mobile-cart .icon_cart:before {
    content: "\f07a";
    font-family: "FontAwesome";
  }
}


/* ===================================================================
 * 5. Top Bar
 * =================================================================== */

.wh-top-bar {
  background-color: #13292A;
  display: block;
  width: 100%;
  position: relative;
  text-align: right;
  padding: 5px 0px 5px 5px;
  height: 30px;
}

.wh-top-bar a,
.wh-top-bar a:link,
.wh-top-bar a:active,
.wh-top-bar a:visited {
  color: #ffffff;
  text-decoration: none;
}

.wh-top-bar a:hover {
  color: #e2a95a;
  text-decoration: none;
}

.wh-top-bar a {
  display: inline-block;
  vertical-align: top;
  padding: 1px 20px 0 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
}


/* ===================================================================
 * 6. Content Area / Page Layout
 * =================================================================== */

div.wh-page-content-wrapper {
  display: block;
  min-height: 560px;
  padding-top: 152px;
}

@media screen and (max-width: 1400px) and (min-width: 992px) {
  div.wh-page-content-wrapper {
    padding-top: 135px;
  }
}

@media screen and (max-width: 991px) {
  div.wh-page-content-wrapper {
    padding-top: 134px;
  }
}

@media screen and (max-width: 768px) {
  div.wh-page-content-wrapper {
    padding-top: 111px;
  }
}

@media screen and (max-width: 468px) {
  div.wh-page-content-wrapper {
    padding-top: 104px;
  }
}

div.page-title {
  padding-top: 120px;
}

.page-title .page-title-heading .title {
  margin-bottom: 0;
}

.page-title-heading h1.title {
  color: #ffffff;
}

.wh-header {
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 240px;
  max-height: 240px;
  background-color: #373737;
  transition: all 0.3s;
}

.wh-page p {
  padding-bottom: 10px;
  padding-top: 10px;
}

.wh-page h1 {
  padding-top: 20px;
  color: #016367;
  font-family: "Source Serif 4", serif;
  font-size: 56px;
  font-weight: 600;
  letter-spacing: -2px;
}

.wh-page h2,
.wh-awards-bottom h2 {
  font-family: roboto, sans-serif;
  font-weight: normal;
  font-size: 24px;
  line-height: 24px;
  padding: 5px 0 5px 0;
  color: #ffffff;
}

.wh-page h3 {
  color: #121212;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 4px;
  padding-top: 20px;
}

h2.wh-title {
  font-family: "Source Serif 4", serif;
  font-weight: 600;
  font-size: 56px;
  line-height: 1.2em;
  letter-spacing: -2px;
  color: #cda34f;
}

h3.wh-title {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.2em;
  color: #ffffff;
}

span.wh-title-highlight {
  color: #016367;
  font-size: 56px;
  font-weight: 600;
  letter-spacing: -2px;
}

div.whlist-title {
  text-align: center;
}

div.whlist-title h2 {
  font-family: "Source Serif 4", serif;
  color: #016367;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: -2px;
}


.text-drop {
  padding-top: 35px !important;
}

@media screen and (min-width: 992px) {
  .text-drop {
    padding-top: 80px !important;
  }
}

@media screen and (min-width: 1500px) {
  .text-drop {
    padding-top: 180px !important;
  }
}

div.nicknotes {
  display: block;
  background-color: #e8e3d7;
  padding: 20px;
  margin: 0 auto;
}

section.mail-chimp {
  background-color: #e8e3d7;
}

div.wh-page {
  padding-top: 20px;
  padding-bottom: 40px;
  padding-left: 20px;
  padding-right: 20px;
}

/* When no slider, .wh-page is the first child and needs extra padding
   to clear the fixed header. Slider pages unaffected since .slider comes first. */
.wh-page-content-wrapper > .wh-page:first-child,
.wh-page-content-wrapper > div:first-child > .wh-page:first-child {
  padding-top: 20px;
}

div.wh-page-container {
  background-image: url(../img/back-white-95.png);
  background-position: center center;
  background-repeat: repeat;
  border-radius: 20px;
  border: 1px solid #aeb554;
  padding: 30px;
  position: relative;
}

div.wh-corner-top-left {
  background-image: url(../img/wh-corner-top-left.png);
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  left: -5px;
  top: -5px;
  width: 41px;
  height: 42px;
}

div.wh-corner-top-right {
  background-image: url(../img/wh-corner-top-right.png);
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  right: -5px;
  top: -5px;
  width: 41px;
  height: 42px;
}

div.wh-corner-bottom-right {
  background-image: url(../img/wh-corner-bottom-right.png);
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  right: -5px;
  bottom: -5px;
  width: 41px;
  height: 42px;
}

div.wh-corner-bottom-left {
  background-image: url(../img/wh-corner-bottom-left.png);
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  left: -5px;
  bottom: -5px;
  width: 41px;
  height: 42px;
}

div.wh-divider {
  background-image: url(../img/river-border-007.png);
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  height: 40px;
  margin: 30px 0 20px 0;
}

div.col-lg-12 {
  padding-left: 0;
  padding-right: 0;
}

/* Restore natural list behavior */
div.wh-post-content ul,
div.wh-post-content ol {
  padding-left: 1.5rem;
  margin-left: 0;
  list-style: initial;
}

div.wh-post-content ul {
  list-style-type: disc;
}

div.wh-post-content ol {
  list-style-type: decimal;
}

.wh-tab-header ul,
.wh-tab-header ol {
  padding-left: 1.5rem;
  margin-left: 0;
  list-style: initial;
}

.wh-tab-header ul {
  list-style-type: disc;
}

.wh-page-content h2 {
  font-weight: normal;
  padding-top: 10px;
}

.wh-page-content h1 {
  padding-top: 10px;
  padding-bottom: 10px;
}

article div.article-body ul {
  list-style: disc;
}

article div.article-body ol {
  list-style: number;
}

article div.article-body li {
  display: list-item;
  padding: 5px;
  margin-left: 20px;
  line-height: 20px;
}

div.article-content a,
div.article-content a:link,
div.article-content a:active,
div.article-content a:hover,
div.article-content a:visited {
  text-decoration: underline;
}

.wh-page a,
.wh-page a:active,
.wh-page a:visited {
  text-decoration: underline;
  color: #016367 !important;
}

.wh-page a:hover {
  color: #859579 !important;
}

.wh-page a.wh-button,
.wh-page a.wh-button:active,
.wh-page a.wh-button:visited {
  color: #efeee9 !important;
  text-decoration: none !important;
}

.wh-page a.wh-button:hover {
  color: #016367 !important;
  text-decoration: none !important;
}

.wh-page a.wh-button-reverse,
.wh-page a.wh-button-reverse:active,
.wh-page a.wh-button-reverse:visited {
  text-decoration: none !important;
}

.wh-page a.wh-button-reverse:hover {
  text-decoration: none !important;
}

section#wh-paral {
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

section#wh-paral a {
  text-decoration: none;
}

section#wh-section-product a {
  text-decoration: underline;
}

/* Sponsors */
.wh-sponsors-wrapper {
  display: block;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 30px;
  text-align: center;
  padding: 20px;
  background-color: #ffffff;
  border-radius: 12px;
}

.wh-sponsors-title {
  font-weight: normal;
  text-align: center;
  color: #000000;
  font-size: 22px;
  line-height: 24px;
}

.wh-sponsor {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 10px;
  max-width: 150px;
}

/* Donations sidebar */
div.item-donations {
  display: block;
  float: right;
  width: 300px;
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  margin: 10px;
}

@media screen and (max-width: 768px) {
  div.item-donations {
    display: block;
    float: none;
    width: 90%;
    margin: 0 auto;
    font-size: 14px;
    line-height: 16px;
  }
}

/* Container tablet fixes */
@media (min-width: 768px) and (max-width: 991px) {
  .container {
    padding-left: 5px;
    padding-right: 5px;
    width: 95%;
  }
}


/* ===================================================================
 * 7. Breadcrumbs
 * =================================================================== */

.breadcrumbs ul li a,
.breadcrumbs {
  color: #000000;
  font-weight: 400;
  font-size: 12px;
  line-height: 18px;
}

.wh-breadcrumbs {
  font-family: roboto, sans-serif;
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 2px;
  display: block;
  padding-top: 0px;
}

.wh-breadcrumbs a {
  color: #8b804a;
}

nav.woocommerce-breadcrumb {
  padding-top: 15px !important;
}


/* ===================================================================
 * 8. Post Content Headings (h1-h6)
 * =================================================================== */

div.wh-post-content h1 {
  font-family: "Source Serif 4", serif;
  font-size: 56px;
  line-height: 56px;
  font-weight: 800;
  font-style: normal;
  color: #016367;
  padding-bottom: 20px;
  letter-spacing: -1px;
  text-transform: none;
}

div.wh-post-content h2 {
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  line-height: 20px;
  padding-bottom: 10px;
  letter-spacing: 2px;
  font-weight: 400;
  font-style: normal;
  color: #13292A;
  text-transform: none;
}

div.wh-post-content h3 {
  font-family: "Source Serif 4", serif;
  font-size: 30px;
  line-height: 30px;
  font-weight: 600;
  font-style: normal;
  color: #000000;
  padding-bottom: 20px;
  letter-spacing: 0px;
  text-transform: none;
}

div.wh-post-content i {
  font-style: italic !important;
}

div.wh-post-content strong {
  font-weight: 700 !important;
}


@media screen and (max-width: 768px) {
  div.wh-post-content h1 {
    padding-bottom: 4px;
  }
}

/* Event thumbnail — floated right */
div.wh-maineventimage {
  width: 400px;
  float: right;
  padding-left: 20px;
  padding-bottom: 10px;
}

div.wh-maineventimage img {
  width: 100%;
  height: auto;
  display: block;
}

@media only screen and (max-width: 767px) {
  div.wh-maineventimage {
    width: 100%;
    float: none;
    padding-left: 0;
    margin-bottom: 20px;
  }
}


/* ===================================================================
 * 9. Info Blocks (Top — whz-listwrapper)
 * =================================================================== */

/* wh-start listwrappers */

section.wh-projects {
  padding-top: 20px;
}

ul.listwrapper {
  margin-left: 0;
  padding-left: 0;
}

div.infoblockstop li.wh-category {
  display: inline-block;
  width: 270px;
  max-width: 270px;
  border-radius: 20px;
  padding: 20px;
  text-align: center;
  margin: 0 auto;
  margin-left: 30px;
  margin-right: 30px;
}

input.age-gate__remember-field {
  margin-top: 14px !important;
}

div.infoblockstop ol,
div.infoblockstop ul {
  list-style: none !important;
  margin-left: 0 !important;
  margin-bottom: 0;
  text-align: center;
}

div.infoblockstop {
  text-align: center;
}

li.wh-category {
  display: inline-block;
  float: none;
  min-width: 230px;
  max-width: 230px;
  text-align: center;
  margin: 0;
  border: 0;
  vertical-align: top;
  margin-top: 20px;
  margin-bottom: 10px;
  margin-left: 30px;
  margin-right: 50px;
}

ul.wh-listwrapper {
  display: block;
  margin: 0;
  padding: 0;
  text-align: center;
}

/* whz- info blocks */
div.whz-listwrapper {
  display: block;
  text-align: center;
  margin: 0 auto;
}

div.whz-listwrapper-outside {
  text-align: center;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 15px;
}

li.whz-category {
  display: inline-block;
  float: none;
  text-align: center;
  margin: 0;
  border: 0;
  vertical-align: top;
  margin-top: 20px;
  margin-bottom: 10px;
  margin-left: 20px;
  margin-right: 20px;
  border: 0px;
  background-color: transparent;
  transition: all 500ms;
}

li.whz-category:hover {
  border: 0;
  transition: all 500ms;
}

.whz-border {
  display: block;
  width: 330px;
  position: relative;
  padding: 15px;
  background-color: #13292a;
  transition: all 300ms;
  border: 0px solid #016367;
  border-radius: 0px !important;
}

.whz-captionwrapper {
  min-height: 150px;
}

.whz-img {
  display: block;
  width: 300px;
  height: 300px;
  overflow: hidden;
}

.whz-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.whz-img:hover {
  opacity: 0.7;
  transition: all 300ms;
}

.whz-capname,
.whz-captext,
.whz-caplink,
.whz-capdate,
.whz-captime {
  display: block;
  text-align: left;
  font-family: "Source Serif 4", serif;
}

.whz-caplink {
  font-family: "Source Sans 3", sans-serif;
  letter-spacing: 2px;
  font-weight: 400;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: #efeee9;
  padding-top: 3px;
}

.whz-capname {
  font-size: 32px;
  line-height: 32px;
  color: #efeee9;
}

.whz-captext {
  display: block;
  padding: 10px 0 0px 0;
  font-size: 16px;
  line-height: 20px;
  color: #efeee9;
}

.whz-captext p {
  margin: 0;
  padding: 0;
}

.whz-capdate {
  display: block;
  padding: 10px 0 0px 0;
  font-size: 16px;
  line-height: 20px;
  color: #efeee9;
}

.whz-captime {
  display: block;
  padding: 10px 0 10px 0;
  font-size: 16px;
  line-height: 20px;
  color: #efeee9;
}


li.whz-category a {
  text-decoration: none;
}

.whz-long-dash {
  display: inline-block;
  width: 20px;
  height: 1px;
  background-color: #efeee9;
  vertical-align: middle;
  margin: 0 5px;
}

@media (max-width: 468px) {
  div.whz-listwrapper-outside {
    padding: 15px 0 0 0;
  }

  ul.whz-list-wrapper {
    padding: 0;
    margin: 0;
    display: block;
    text-align: center;
  }

  li.whz-category {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 15px !important;
  }

  div.whz-listwrapper {
    display: block;
    text-align: center;
    margin: 0 auto;
    padding: 0;
  }

  li.whz-category:hover {
    border: 0;
  }

  .whz-border {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: auto;
    padding: 0;
    margin: 0 0 10px 0;
    padding-bottom: 20px;
    padding-top: 20px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .whz-img {
    width: 100%;
    height: 250px;
    position: relative;
    bottom: auto;
  }

  li.whz-category {
    margin-left: 5px;
    margin-right: 5px;
  }
}


/* ===================================================================
 * 10. Service Blocks (Bottom — wh-service)
 * =================================================================== */

/* wh-start service infoblocks */
.wh-service-outer-wrapper {
  text-align: center;
}

.wh-service-wrapper {
  display: inline-block;
  vertical-align: top;
  width: 300px;
  height: 390px;
  background-color: #ffffff;
  transition: all 0.3s;
  margin: 15px;
}

.wh-service-inner-wrapper {
  display: block;
  width: 300px;
  height: 390px;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.wh-service-inner-overlay {
  display: block;
  width: 300px;
  height: 390px;
  background-color: rgba(66, 57, 49, 0.4);
}

.wh-service-corner {
  display: block;
  position: absolute;
  width: 60px;
  height: 24px;
  bottom: 0;
  right: 0;
  background-image: url(../img/image-corner.png);
  background-position: center center;
  background-repeat: no-repeat;
}

a.wh-service-link {
  opacity: 1;
  transition: all 0.3s;
  text-decoration: none !important;
}

.wh-service-link:hover {
  opacity: 0.8;
  transition: all 0.3s;
}

.wh-service-text {
  width: 240px;
  margin: 0 auto;
  padding: 60px 0px 0px 0px;
}

.wh-service-title {
  color: #ffffff;
  font-family: "Source Serif 4", serif;
  font-weight: 600;
  letter-spacing: -1px;
  font-size: 36px;
  line-height: 40px;
}

.wh-service-subtitle {
  color: #ffffff;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  line-height: 24px;
  padding-top: 20px;
}

.wh-service-content {
  color: #ffffff;
  font-size: 16px;
  line-height: 18px;
  padding-top: 20px;
}

.wh-service-button-wrapper {
  display: block;
  position: absolute;
  padding-top: 10px;
  text-align: center;
  bottom: 24px;
  left: 0;
  right: 0;
  width: 100%;
}

section.wh-infoblockstop {
  padding-top: 20px;
}

div.wh-service-outside {
  text-align: center;
  padding: 0 10px 0 10px;
}

.wh-service-border {
  border: 0px solid #016367;
  display: inline-block;
  background-color: #13292a;
  border-radius: 0px !important;
}

.wh-service-outer-wrapper li {
  display: inline-block;
  margin: 3px 0 2px 0;
  margin-bottom: 5px !important;
  margin-top: 0 !important;
}

@media screen and (max-width: 1200px) {
  .wh-info-base {
    width: 216px !important;
    height: 50px !important;
    transition: all 500ms;
  }
  .wh-service-text {
    width: 186px;
    transition: all 500ms;
  }
}

@media (max-width: 468px) {
  div.wh-service-outside {
    padding: 0 12px;
  }

  ul.listwrapper {
    text-align: center;
    padding: 0 !important;
    margin: 0 !important;
  }

  .wh-service-wrapper {
    width: 100%;
    height: auto;
    min-height: 360px;
    margin: 0;
    transition: all 500ms;
    background-color: #efeee9;
  }

  .wh-service-inner-wrapper {
    width: 100%;
    height: auto;
    min-height: 360px;
    transition: all 500ms;
  }

  .wh-service-inner-overlay {
    width: 100%;
    height: auto;
    min-height: 360px;
    transition: all 500ms;
  }

  .wh-service-border {
    border: 0px;
    width: 100%;
    height: auto;
    min-height: 360px;
    background-color: #efeee9;
  }

  div.wh-service-outer-wrapper li {
    width: 100%;
  }

  .wh-page {
    padding: 0 10px 0 10px;
  }
}
/* wh-end service infoblocks */


/* ===================================================================
 * 11. Gallery / Lightgallery Overrides
 * =================================================================== */

.st-gallery a {
  display: inline-block;
  margin: 0;
  border: 0;
  padding: 2px;
}

.st-gallery a img {
  width: 150px;
  height: 150px;
  object-fit: cover;
}

div.smc {
  display: none;
}

.lg-backdrop {
  background-color: #ffffff;
}

.lg-toolbar .lg-icon {
  color: #000000;
}

.lg-actions .lg-next,
.lg-actions .lg-prev {
  color: #000000;
}

.lg-outer * {
  box-sizing: border-box;
  border: 0;
}

div#lg-counter {
  color: #000000;
}

.lg-toolbar #lg-actual-size,
.lg-toolbar .lg-fullscreen,
.lg-toolbar .lg-download {
  display: none !important;
}

.lg-outer .lg-img-wrap {
  padding: 40px 80px 40px 80px !important;
}

@media screen and (max-width: 768px) {
  .lg-outer .lg-img-wrap {
    padding: 40px 0 40px 0 !important;
  }
  .lg-actions .lg-next,
  .lg-actions .lg-prev {
    position: absolute;
    z-index: 1080;
    background: rgba(0,0,0,0.3);
    color: #fff;
  }
}

.lg-sub-html p {
  font-size: 16px !important;
  margin: 1px 0 0 1px !important;
}

.wh-gallery-wrapper {
  display: block;
  clear: both;
  margin: 0 auto;
  text-align: center;
  padding: 5px 0 10px 0;
}

/* Infoblock spinners */
.ih-item.circle.effect1 .info h3 {
  font-size: 18px;
}

.ih-item.circle.effect1 .spinner {
  border: 2px solid #e8e3d7;
  border-right-color: #121212;
  border-bottom-color: #121212;
}

.wh-capname {
  display: block;
  font-weight: bold;
  font-size: 16px;
  line-height: 18px;
  padding-bottom: 2px;
  transition: all 0.5s ease;
}

.wh-capdate {
  display: block;
  padding-bottom: 15px;
}

.wh-captext {
  display: block;
  font-size: 16px;
  line-height: 18px;
}

.wh-caplink {
  display: block;
  transition: all 0.5s ease;
  padding-top: 2px;
}

.wh-capname:hover,
.wh-caplink:hover {
  cursor: pointer;
  color: #92c5d9;
}


/* ===================================================================
 * 12. Slider (Slick) — CONDITIONAL: only loads when wh_show_slides == 1
 * =================================================================== */

/* wh-start sliders */
.slider {
  display: block;
  position: relative;
  overflow: hidden;
  height: 300px;
  width: 100%;
  margin: 0;
  padding: 0;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.slider ul {
  margin: 0;
  padding: 0;
}

.shape {
  margin-bottom: 27px;
}

.slider-description .shape img {
  width: auto;
}

.slider-graphic {
  width: 367px;
  height: 367px;
  margin: 0 auto;
}

.slider-description {
  position: absolute;
  top: 35%;
  left: 0%;
  right: 0%;
  text-align: center;
  width: 50%;
  margin: 0 auto;
}

.slider-description h5.cptn-heading1 {
  color: #fff;
  font-family: 'Muli', sans-serif;
  letter-spacing: 3px;
}

.slider-description h1.cptn-heading2 {
  text-transform: none;
  font-size: 20px;
  line-height: 22px;
  font-weight: normal;
  font-family: 'Muli', sans-serif;
  color: #ffffff;
  margin: 0px;
}

.slider-description h1.cptn-heading2 span {
  display: block;
  height: 14px;
}

.slider-description span {
  font-size: 24px;
  line-height: 30px;
  color: #fff;
  font-family: 'Muli', sans-serif;
}

.slider-caption-wrapper {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  min-height: 10px;
  background-color: transparent;
  padding: 5px 10px 5px 10px;
  background-image: url('../img/caption-back2.png');
  background-position: center right;
  background-repeat: no-repeat;
}

div.slider-caption {
  text-align: right;
  font-style: normal;
  font-size: 14px;
  line-height: 14px;
  color: #ffffff;
  padding-right: 20px;
  font-weight: normal;
  font-family: "Source Serif 4", serif;
}

.slider-caption a,
.slider-caption a:link,
.slider-caption a:active,
.slider-caption a:visited {
  color: #ffffff;
  text-decoration: none;
}

.slider-caption a:hover {
  cursor: pointer;
  -webkit-transition-duration: 300ms;
  -moz-transition-duration: 300ms;
  -o-transition-duration: 300ms;
  transition-duration: 300ms;
  opacity: 0.7;
}

.home-slider img.fullwidth {
  display: block;
  width: 100%;
}

.home-slider {
  display: block;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #ffdb6e;
}

/* Slider arrows — inline SVG on dark background */
.slick-prev,
.slick-next {
  position: absolute;
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 46px;
  width: 46px;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.7) !important;
  background-image: none !important;
  color: transparent;
  font-size: 0;
  line-height: 0;
  margin-top: 0;
  padding: 0;
  border: none;
  outline: none;
  z-index: 10;
  transition: background 0.3s;
  text-indent: 0;
  overflow: visible;
  border-radius: 50%;
}

.slick-prev:hover,
.slick-next:hover {
  background: rgba(0, 0, 0, 0.85) !important;
}

/* Hide slick default pseudo-element arrows */
.slick-prev:before,
.slick-next:before {
  content: none !important;
  display: none !important;
}

.slick-prev {
  top: 50%;
  transform: translateY(-50%);
  left: 15px;
}

.slick-next {
  top: 50%;
  transform: translateY(-50%);
  left: auto;
  right: 15px;
}

.slider-background {
  display: block;
  position: relative;
  width: 100%;
  height: 300px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.slider-overlay {
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 300px;
  background-color: #13292A;
  opacity: 0.5;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.wh-slide-back-shape {
  position: absolute;
  top: 0;
  left: 0px;
  height: 100%;
  width: 50%;
  z-index: 2;
  background-position: left top;
  background-repeat: no-repeat;
}

.header-caption-wrapper {
  display: block;
  position: absolute;
  top: 50%;
  margin: 0 auto;
  width: 50%;
  text-align: center;
  left: 0;
  right: 0;
}

/* Large and up */
@media screen and (min-width: 769px) {
  .slider-background {
    height: 400px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
  }
  .slider-overlay {
    height: 400px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
  }
  .slider {
    height: 400px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
  }
  .slick-prev {
    top: 50%;
    left: 15px;
  }
  .slick-next {
    top: 50%;
    left: auto;
    right: 15px;
  }
}

/* Large screens — bigger arrows aligned with header container + 20px inset */
@media screen and (min-width: 1200px) {
  .slick-prev,
  .slick-next {
    height: 60px !important;
    width: 60px !important;
  }
  .slick-prev svg,
  .slick-next svg {
    width: 26px;
    height: 26px;
  }
  button#slider-prev,
  .slick-prev {
    left: calc((100% - 1140px) / 2 + 20px) !important;
  }
  button#slider-next,
  .slick-next {
    right: calc((100% - 1140px) / 2 + 20px) !important;
    left: auto !important;
  }
}

/* Slider zoom animation — active when more than one slide */
li.slick-active div.slider-background {
  -webkit-animation: myMove 8s 1 ease-in-out;
  -moz-animation: myMove 8s 1 ease-in-out;
  -o-animation: myMove 8s 1 ease-in-out;
  -ms-animation: myMove 8s 1 ease-in-out;
  animation: myMove 8s 1 ease-in-out;
}

@keyframes myMove {
  from { transform: scale(1.0,1.0); transform-origin: 50% 50%; }
  to { transform: scale(1.1,1.1); transform-origin: 50% 0%; }
}
@-webkit-keyframes myMove {
  from { -webkit-transform: scale(1.0,1.0); -webkit-transform-origin: 50% 50%; }
  to { -webkit-transform: scale(1.1,1.1); -webkit-transform-origin: 50% 0%; }
}
@-o-keyframes myMove {
  from { -o-transform: scale(1.0,1.0); -o-transform-origin: 50% 50%; }
  to { -o-transform: scale(1.1,1.1); -o-transform-origin: 50% 0%; }
}
@-moz-keyframes myMove {
  from { -moz-transform: scale(1.0,1.0); -moz-transform-origin: 50% 50%; }
  to { -moz-transform: scale(1.1,1.1); -moz-transform-origin: 50% 0%; }
}
@-ms-keyframes myMove {
  from { -ms-transform: scale(1.0,1.0); -ms-transform-origin: 50% 50%; }
  to { -ms-transform: scale(1.1,1.1); -ms-transform-origin: 50% 0%; }
}

/* Disable zoom animation when only one slide */
.rrh-single-slide li.slick-active div.slider-background {
  -webkit-animation: none !important;
  -moz-animation: none !important;
  -o-animation: none !important;
  -ms-animation: none !important;
  animation: none !important;
}

.hero-text {
  font-size: 50px;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 75%); /* ADA: soft vignette behind hero text */
  padding: 50px 80px;
}

.wh-hero-text {
  display: block;
  color: #ffffff;
  width: 80%;
  height: 200px;
  position: absolute;
  top: 260px;
  left: 130px;
  z-index: 10;
}

.wh-slider-title,
.wh-slider-title2 {
  font-size: 42px;
  line-height: 44px;
  font-weight: 800;
  letter-spacing: -1px;
  font-family: "Source Serif 4", serif;
}

.wh-slider-title2 {
  -webkit-text-stroke: 0.4px #ffffff;
  color: transparent;
}

.wh-slider-description {
  font-size: 18px;
  line-height: 24px;
  display: block;
  padding: 10px 0 8px 0;
  font-family: "Source Serif 4", serif;
}

.wh-slider-button {
  background-color: rgba(0, 0, 0, 0.45); /* ADA: semi-transparent black for contrast */
  color: #ffffff;
  font-size: 15px;
  line-height: 15px;
  display: inline-block;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 12px 20px 10px 20px;
  margin-top: 10px;
  transition: all 300ms;
  font-family: "Source Sans 3", sans-serif;
  letter-spacing: 2px;
  font-weight: 600;
  text-transform: uppercase;
}

.wh-slider-button:hover {
  transition: all 300ms;
  color: #ffffff;
  border: 1px solid #ffffff;
  background-color: rgba(0, 0, 0, 0.65);
}

a.wh-slider-link {
  color: #ffffff;
  text-decoration: none;
}

div.wh-call-out-1-wrapper {
  display: block;
  background-color: #8b804a;
}

div.wh-call-out-2-wrapper {
  display: block;
  background-color: #ffffff;
  min-height: 400px;
  border-bottom: 1px solid #e0e0e0;
  padding-top: 40px;
  padding-bottom: 15px;
}

div.wh-call-out-1 {
  background-image: url(../img/wh-pattern.png);
  background-position: center center;
  background-repeat: repeat;
  color: #ffffff;
  font-size: 30px;
  line-height: 36px;
  padding: 80px 0 80px 0;
  text-align: center;
}

div.wh-listings-wrapper {
  background-color: #f5f5f5;
  min-height: 600px;
}

div.slider {
  font-family: 'Oswald', sans-serif;
}

/* wh-end sliders */

/* Slider product qty */
li.wh-product .wh-addwrapper input.qty {
  width: 3.5em !important;
  height: 30px !important;
  line-height: 30px !important;
  color: #000000 !important;
}

@media screen and (max-width: 768px) {
  .wh-hero-text {
    top: 60px;
    left: 50px;
    right: 50px;
    width: auto;
    height: auto;
  }
  .wh-slider-title,
  .wh-slider-title2 {
    font-size: 28px !important;
    line-height: 28px !important;
    letter-spacing: 0px;
  }
  .wh-slider-title2 {
    -webkit-text-stroke: 0;
    color: #ffffff;
  }
  .wh-slider-description {
    font-size: 16px !important;
    line-height: 20px !important;
    padding: 5px 0 5px 0;
  }
  .wh-slider-button {
    padding: 10px 15px 10px 15px !important;
    font-size: 16px !important;
    line-height: 16px !important;
  }
  .slick-prev,
  .slick-next {
    top: 50% !important;
    transform: translateY(-50%);
    height: 34px !important;
    width: 34px !important;
    z-index: 10;
  }
  .slick-prev svg,
  .slick-next svg {
    width: 14px;
    height: 14px;
  }
  button#slider-prev {
    left: 5px !important;
  }
  button#slider-next {
    left: auto !important;
    right: 5px !important;
  }
  .wh-slide-back-shape {
    display: none;
  }
  div.site-header-inner {
    padding-bottom: 0;
  }
}


/* ===================================================================
 * 13. Footer / Social / Copyright
 * =================================================================== */

footer.footer {
  background-image: url(../img/woodenhead-footer8.jpg) !important;
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 460px;
  background-color: #ffffff;
  border-top: 0;
  color: #ffffff !important;
}

footer.footer a {
  color: #ffffff !important;
}

.footerwrapper {
  display: block;
  width: 100%;
  min-height: 700px;
  background-image: url(../img/duncans-mills-river-footer35.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  border-top: 0px solid #580000;
  margin-top: 100px;
}

.footerwrapper .footercontent {
  text-align: center;
}

.copyright {
  color: #ffffff;
}

.copyright a,
.copyright a:active,
.copyright a:visited {
  color: #ffffff !important;
}

div.copyright a:hover {
  color: #ffffff !important;
}

div.copyright a {
  text-decoration: underline;
}

div.copyright {
  font-family: "Source Serif 4", serif;
  text-align: center;
  letter-spacing: 1px;
}

p.copyright {
  font-size: 14px !important;
}

.footercontent h2 {
  color: #000000;
  font-family: "Playfair Display", Sans-serif;
  font-size: 41px;
  font-weight: normal;
  line-height: 1.2em;
}

.footercontent h3 {
  color: #B0976D;
  font-family: "Lato", Sans-serif;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.footerlogo {
  display: block;
  margin: 0 auto;
  text-align: center;
}

.footerlogo img {
  max-width: 200px !important;
}

.wh-logo-footer {
  max-width: 150px;
  text-align: center;
  margin: 0 auto;
}

.wh-copyright-bottom {
  display: block;
  clear: both;
  background-color: #ffffff;
  color: #000000;
  font-size: 14px;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 255px;
}

@media (max-width: 768px) {
  .wh-copyright-bottom {
    min-height: 300px;
  }
}

@media only screen and (max-width: 1400px) and (min-width: 769px) {
  .wh-copyright-bottom {
    min-height: 450px;
  }
}

.wh-page-base {
  display: block;
  position: relative;
  min-height: 400px;
  clear: both;
  width: 100%;
  font-size: 13px;
  line-height: 16px;
  padding: 20px 5px 0px 5px;
  background-color: #011f20;
  background-image: url(../img/wh-page-base9.jpg);
  background-position: left top;
  background-repeat: no-repeat;
  font-family: "Montserrat", sans-serif;
  border-bottom: 0px solid #011f20;
  margin-top: 0px;
}

.site-credit {
  position: relative;
}
.site-credit::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, #a84a2e, #c75b39, #e2a95a, #c75b39, #a84a2e);
}

.nav-base-wrapper {
  background-color: #13292A;
  color: #ffffff;
  padding: 20px 0 20px 0;
  font-family: "Source Sans 3", sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.nav-base-wrapper a {
  color: #ffffff;
  text-decoration: underline;
  font-size: 12px;
  line-height: 14px;
}

.nav-base-wrapper a:hover {
  color: #cccccc;
}

.nav-base-wrapper hr {
  border-radius: 0px;
  height: 1px;
  background-color: #6b6c68;
  border: 0px;
}

.nav-base-title {
  font-size: 16px;
  line-height: 20px !important;
  font-weight: 400;
  text-transform: uppercase;
  padding-bottom: 2px;
  letter-spacing: 2px;
}

.site-credit {
  background-color: #000000;
  padding: 6px 0;
  font-size: 11px;
  color: #ffffff;
}
.site-credit-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px;
}
.site-credit-links a,
.site-credit-by a {
  color: #ffffff;
  text-decoration: underline;
  transition: color 0.3s ease;
}
.site-credit-links a:hover,
.site-credit-by a:hover {
  color: rgba(255,255,255,0.5);
}
.site-credit-links {
  letter-spacing: 1px;
}

/* Footer social */
div.footer-social {
  display: block;
  text-align: center;
}

div.join-mailing-list {
  display: block;
  text-align: center;
}

div.join-mailing-list .wh-button {
  display: inline-block;
  margin: 10px 0 10px 0;
  padding: 14px 30px 14px 30px;
  border: 1px solid #ffffff;
}

div.wh-follow-us {
  display: block;
  text-align: center;
  letter-spacing: 6px;
  font-size: 16px;
  line-height: 16px;
  padding-bottom: 10px;
  font-weight: bold;
  color: #6ba62c;
}

.footer-social a {
  color: #ffffff;
  background-color: #000000;
  border: 1px solid #000000;
  width: 60px;
  height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  border-radius: 50%;
  font-size: 22px;
  margin: 0 10px;
  transition: all 0.3s ease;
  text-decoration: none;
}

@media (max-width: 768px) {
  .footer-social a {
    width: 50px;
    height: 50px;
    font-size: 20px;
    margin: 0 5px 5px;
  }
}

.footer-social a:hover {
  color: #ffffff;
  border-color: #000000;
  background-color: transparent;
  transition: all 0.3s ease;
}

/* Footer leaf overlays */
div.wh-footer-left {
  display: block;
  position: absolute;
  left: 0;
  top: -30px;
  background-image: url(../img/cannabis-leaf-left-225b.png);
  background-position: left top;
  background-repeat: no-repeat;
  width: 234px;
  height: 234px;
}

div.wh-footer-right {
  display: block;
  position: absolute;
  right: 0;
  top: -30px;
  background-image: url(../img/cannabis-leaf-right-225b.png);
  background-position: left top;
  background-repeat: no-repeat;
  width: 234px;
  height: 234px;
}

div.wh-footer-corner {
  display: block;
  position: absolute;
  width: 350px;
  height: 338px;
  left: 0;
  bottom: 0;
  background-image: url(../img/footer-corner5.png);
  background-position: center center;
  background-repeat: no-repeat;
}

div.wh-social-mailing {
  z-index: 90;
}

div.wh-footer-spacer {
  display: block;
  height: 1px;
  background-color: #ffffff;
}

.wh-page-bottom {
  display: block;
  clear: both;
  background-color: #b9c48a !important;
  text-align: center;
  color: #000000;
  padding: 68px 20px 60px 20px;
  border-top: none;
}

.wh-page-bottom a:hover {
  color: #666666;
}

/* Go-to-top button — removed: fixed header + footer sitemap + cart icon */
.go-top {
  display: none !important;
}

/* PDF Attachment */
.wh-pdf-attachment {
  margin: 30px 0;
  padding: 25px 30px;
  background-color: #f5f4ef;
  border-left: 4px solid #c75b39;
}


.wh-pdf-title {
  margin: 0 0 10px 0;
  font-size: 1.3em;
  color: #333;
}

.wh-pdf-description {
  margin-bottom: 15px;
  color: #555;
}

.wh-buy-tickets {
  margin: 30px 0;
}

/* Category Grid (sub-category display on product archive) */
.wh-cat-grid {
  text-align: center;
  margin: 20px 0 30px;
}

.wh-cat-grid-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-block;
  text-align: center;
}

.wh-cat-grid-item {
  display: inline-block;
  vertical-align: top;
  margin: 15px 12px;
  width: 280px;
  transition: all 0.3s ease;
}

.wh-cat-grid-item a {
  text-decoration: none !important;
  color: inherit;
  display: block;
}

.wh-cat-grid-item a:hover {
  text-decoration: none !important;
}

.wh-cat-grid-image {
  width: 280px;
  height: 280px;
  overflow: hidden;
  background-color: #f5f4ef;
}

.wh-cat-grid-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.wh-cat-grid-item:hover .wh-cat-grid-image img {
  transform: scale(1.05);
}

.wh-cat-grid-name {
  padding: 14px 10px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #333;
  background-color: #f5f4ef;
  text-align: center;
}

.wh-cat-main-text {
  margin-bottom: 20px;
}

@media screen and (max-width: 620px) {
  .wh-cat-grid-list {
    display: block !important;
    width: 100% !important;
    padding-left: 0 !important;
    margin: 0 !important;
  }
  .wh-cat-grid-item {
    width: 100% !important;
    max-width: none !important;
    margin: 10px 0 !important;
    display: block;
  }
  .wh-cat-grid-image {
    width: 100% !important;
    height: 0 !important;
    padding-bottom: 100% !important;
    position: relative;
  }
  .wh-cat-grid-image img {
    position: absolute;
    top: 0;
    left: 0;
  }
}

/* Shop product search */
.wh-shop-search {
  text-align: center;
  margin: 10px 0 25px;
}

.wh-shop-search form {
  display: inline-flex;
  max-width: 420px;
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 0;
  overflow: hidden;
}

.wh-shop-search-input {
  flex: 1;
  border: none;
  padding: 10px 15px;
  font-size: 15px;
  font-family: "Source Sans 3", sans-serif;
  outline: none;
  background: #fff;
}

.wh-shop-search-button {
  border: none;
  background-color: #13292A;
  color: #fff;
  padding: 10px 18px;
  cursor: pointer;
  font-size: 15px;
  transition: background-color 0.3s;
}

.wh-shop-search-button:hover {
  background-color: #859579;
}

/* Product cards (archive/category listing) */
.wh-woocommerce-content ul.products {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
}

li.wh-card-product {
  display: inline-block !important;
  float: none !important;
  vertical-align: top;
  width: 260px;
  margin: 15px 12px !important;
  padding: 0 !important;
  border: none !important;
  text-align: center;
}

.wh-card-product-inner {
  background-color: #fff;
  border: 1px solid #e8e8e8;
  transition: box-shadow 0.3s ease;
  overflow: hidden;
}

.wh-card-product-inner:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.wh-card-product-link {
  display: block;
  text-decoration: none !important;
  color: inherit;
}

.wh-card-product-link:hover {
  text-decoration: none !important;
}

.wh-card-product-image {
  position: relative;
  width: 100%;
  height: 240px;
  overflow: hidden;
  background-color: #f9f9f7;
}

.wh-card-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.wh-card-product-inner:hover .wh-card-product-image img {
  transform: scale(1.04);
}

.wh-card-onsale {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: #13292A;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 10px;
}

.wh-card-product-info {
  padding: 14px 14px 8px;
}

.wh-page .wh-card-product-link:hover,
.wh-page a.wh-card-product-link,
.wh-page a.wh-card-product-link:visited {
  color: #333 !important;
  text-decoration: none !important;
}

.products li h2.wh-card-product-title,
h2.wh-card-product-title {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #333 !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.4 !important;
  min-height: 42px;
}

.wh-card-product-price {
  font-size: 22px;
  font-weight: 600;
  color: #13292A;
  line-height: 1.2;
}

.wh-card-product-price del {
  color: #aaa;
  font-size: 16px;
  font-weight: 400;
}

.wh-card-product-price ins {
  text-decoration: none;
}

.wh-card-product-action {
  padding: 0 14px 16px;
}

.wh-card-product-action .button,
.wh-card-product-action a.button,
.wh-card-product-action a.add_to_cart_button,
.wh-card-product-action button.single_add_to_cart_button {
  display: block !important;
  width: 100%;
  background-color: #016367 !important;
  color: #efeee9 !important;
  border: 1px solid #016367 !important;
  padding: 12px 20px !important;
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none !important;
  transition: all 300ms !important;
  border-radius: 0 !important;
  cursor: pointer;
  line-height: 1.4 !important;
  box-sizing: border-box;
}

.wh-card-product-action .button:hover,
.wh-card-product-action a.button:hover,
.wh-card-product-action a.add_to_cart_button:hover,
.wh-card-product-action button.single_add_to_cart_button:hover {
  background-color: #efeee9 !important;
  color: #016367 !important;
  border: 1px solid #016367 !important;
}

.wh-page a.add_to_cart_button,
.wh-page a.add_to_cart_button:visited,
.wh-page a.wh-card-button,
.wh-page a.wh-card-button:visited {
  color: #efeee9 !important;
  text-decoration: none !important;
}

.wh-page a.add_to_cart_button:hover,
.wh-page a.wh-card-button:hover {
  color: #016367 !important;
  text-decoration: none !important;
}

@media screen and (max-width: 620px) {
  li.wh-card-product {
    width: 100%;
    max-width: 300px;
    margin: 10px auto !important;
    display: block !important;
  }
}

/* Awards */
.wh-awards-bottom {
  display: block;
  width: 90%;
  text-align: center;
  margin: 0 auto;
}

.wh-award-wrapper {
  display: inline-block;
  vertical-align: middle;
  padding: 10px;
  text-align: center;
  width: 180px;
}

@media (max-width: 768px) {
  .wh-award-wrapper {
    width: 120px;
    padding: 5px;
  }
}

.wh-award-wrapper img {
  transition: all 500ms;
}

.wh-award-wrapper img:hover {
  opacity: 0.6;
  transition: all 500ms;
}

.wh-footer-col-right {
  text-align: right;
}

@media (max-width: 992px) {
  .wh-footer-col-right {
    text-align: left;
  }
}


/* ===================================================================
 * 14. Footer Sitemap Navigation
 * =================================================================== */

div.wh-footer-nav {
  text-align: center;
  word-spacing: 8px;
  margin: 0 auto;
}

div.wh-footer-nav-col {
  display: inline-block;
  vertical-align: top;
  text-align: left;
  margin-left: 0px;
  margin-right: 0px;
}

div.wh-footer-nav div.col-left {
  text-align: left;
  float: left;
  width: 40%;
  padding-right: 60px;
}

div.wh-footer-nav div.col-mid {
  text-align: left;
  float: right;
  padding-left: 20px;
  width: 40%;
}

div.wh-footer-nav div.col-right {
  text-align: right;
  float: right;
  width: 20%;
}

div.wh-footer-nav-col ul {
  margin: 0;
  padding: 0;
}

div.wh-footer-nav-col li {
  line-height: 30px;
}

div.wh-logo-footer {
  display: block;
  max-width: 100%;
  top: -90px;
}

div.wh-footer-nav span.col-title {
  display: block;
  color: #706a65;
  font-size: 20px;
  font-weight: normal;
  opacity: 0.5;
  padding-top: 20px;
}

.wh-foot-col {
  padding: 20px;
}

.wh-foot-col-left {
  text-align: left;
  padding-left: 40px;
}

.wh-foot-col-right {
  text-align: right;
  padding-right: 40px;
}

.wh-foot-col-mid {
  padding-top: 20px;
  line-height: 20px;
}

.wh-foot-col img {
  opacity: 1;
  transition: all 300ms;
}

.wh-foot-col img:hover {
  opacity: 0.7;
  transition: all 300ms;
}

.wh-street,
.wh-city {
  display: block;
  min-height: 30px;
}

.wh-sitemap-icon {
  margin-left: 8px;
  transition: transform 0.2s ease;
}

/* when expanded, Bootstrap removes .collapsed */
.wh-button-trans:not(.collapsed) .wh-sitemap-icon {
  transform: rotate(180deg);
}

@media (max-width: 1000px) {
  div.wh-footer-nav div.col-right,
  div.wh-footer-nav div.col-left,
  div.wh-footer-nav div.col-mid {
    float: none;
    display: block;
    text-align: center;
    margin-top: 40px;
    padding-left: 0;
    width: 100%;
  }
  div.wh-logo-footer img {
    max-width: 300px;
    display: block;
    margin: 0 auto;
  }
  div.col-left {
    padding: 0 !important;
  }
  div.wh-page-bottom {
    padding-top: 20px;
  }
}

@media (max-width: 768px) {
  .wh-foot-col-left {
    text-align: center;
    padding-left: 20px;
  }
  .wh-foot-col-right {
    text-align: center;
    padding-right: 20px;
  }
  div.wh-footer-left,
  div.wh-footer-right {
    display: none !important;
  }
}

@media (max-width: 400px) {
  div.wh-logo-footer {
    width: 100% !important;
  }
  div.col-left {
    padding: 0 !important;
  }
  div.wh-logo-footer img {
    max-width: 100%;
    display: block;
    margin: 0 auto;
  }
}

/* Last nav item dropdown align right */
@media (min-width: 992px) {
  #mainnav > ul > li:last-of-type > ul.submenu,
  #mainnav > ul > li:last-of-type > ul.sub-menu,
  #mainnav ul.menu > li:last-of-type > ul.submenu,
  #mainnav ul.menu > li:last-of-type > ul.sub-menu {
    left: auto !important;
    right: 0 !important;
  }
}


/* ===================================================================
 * 15. Login Popup (Magnific / ProfilePress)
 * =================================================================== */

/* wh-start login css */
/* overlay at start */
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}

/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}

/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}

/* content animate in */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

.mfp-figure {
  background-color: #ffffff;
}

.mfp-wrap {
  z-index: 999999;
}

div.mfp-content {
  max-width: 340px;
}

button.mfp-close,
button.mfp-arrow {
  background: transparent !important;
}

div#wh-login-popup {
  background-color: #ffffff;
}

div.wh-login-register-wrapper {
  padding: 20px;
}

.pp-form-container .ppress-form-bottom-links a,
.pp-form-container .ppress-form-bottom-links a:link,
.pp-form-container .ppress-form-bottom-links a:active,
.pp-form-container .ppress-form-bottom-links a:visited,
.pp-form-container .ppress-form-bottom-links a:hover {
  color: #000000 !important;
  text-decoration: underline !important;
}

.mfp-fade input[type="submit"] {
  transition: all 500ms !important;
  display: inline-block !important;
  margin: 0 auto !important;
}

.mfp-fade input[type="submit"]:hover {
  transition: all 500ms !important;
}

.wh-accept-terms a,
.wh-accept-terms a:active,
.wh-accept-terms a:link,
.wh-accept-terms a:visited {
  color: #000000;
  text-decoration: underline;
}

.wh-accept-terms {
  padding: 5px 0 10px 0;
}

/* Join wrapper popup */
div.wh-join-wrapper {
  display: block;
  clear: both;
  margin: 0 auto;
  text-align: center;
  background-color: #ffffff;
  padding: 40px 20px 20px 20px;
}

div.wh-join-wrapper input.wh-transparent {
  background-color: #ffffff !important;
  border: 1px solid #a29061 !important;
  color: #a29061 !important;
  padding: 10px 25px 10px 15px !important;
  transition: all 0.3s;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
}

div.wh-join-wrapper input.wh-transparent:hover {
  background-color: #a29061 !important;
  color: #ffffff !important;
  transition: all 0.3s;
}

div.wh-join-wrapper button.mfp-close {
  border: 1px solid #a29061 !important;
  background: #ffffff !important;
  margin: 10px;
}

div.wh-join-wrapper input[type="text"],
div.wh-join-wrapper input[type="email"] {
  color: #000000 !important;
}

/* ProfilePress / XooUser form inputs */
form.xoo-el-action-form input.xoo-aff-text,
form.xoo-el-action-form input.xoo-aff-required {
  color: #000000 !important;
}
/* wh-end login css */


/* ===================================================================
 * 16. WooCommerce Overrides
 * =================================================================== */

/* wh-start mini-cart fix */
p.woocommerce-mini-cart__buttons a.checkout {
  display: none;
}

dl.variation,
dt.variation-Partof {
  display: block !important;
  clear: both !important;
  float: none !important;
  padding-top: 50px;
}
/* wh-end mini-cart fix */

/* wh-start fix mini cart on mobile */
@media screen and (max-width: 768px) {
  .woocommerce-cart-tab-container {
    display: block;
  }
}

/* WooCommerce messages */
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info {
  border-color: #016367 !important;
  background-color: #f2f1ec !important;
  font-family: "Source Sans 3", sans-serif;
  font-size: 15px;
  color: #333;
}

.woocommerce-message a.button,
.woocommerce-message a.wc-forward {
  background-color: #016367 !important;
  color: #efeee9 !important;
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  border: 1px solid #016367 !important;
  padding: 10px 20px !important;
  text-decoration: none !important;
  transition: all 300ms !important;
}

.woocommerce-message a.button:hover,
.woocommerce-message a.wc-forward:hover {
  background-color: #efeee9 !important;
  color: #016367 !important;
  border-color: #016367 !important;
}

div.col2-set .col-1 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 48%;
  -ms-flex: 0 0 48%;
  flex: 0 0 48%;
  max-width: 48%;
}

div.col2-set .col-2 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 48%;
  -ms-flex: 0 0 48%;
  flex: 0 0 48%;
  max-width: 48%;
}

/* wh-start fix mini-cart widget */
div#whcartwidget ul li a {
  margin: 0px 2.5px;
  width: 100%;
  height: 16px;
  line-height: 16px;
  text-align: left;
  border-radius: none;
  font-size: 14px;
  color: #000000;
  display: inline-block;
  position: relative;
  background: transparent;
  text-transform: none;
  font-weight: normal;
}

div#whcartwidget ul li img {
  display: block;
  width: 80px;
  height: 80px;
  border: 1px solid #efefef;
  margin-left: 5px;
  margin-right: 5px;
  float: left;
}

div#whcartwidget div.widget_shopping_cart_content {
  padding: 10px 10px 10px 5px;
}

div#whcartwidget div.widget_shopping_cart_content a.remove_from_cart_button {
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  left: 0px;
  top: 30px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  padding-top: 2px;
  color: #999999 !important;
  background-color: #f7f7f7;
  border-radius: 50%;
  transition: all 0.3s;
}

div#whcartwidget div.widget_shopping_cart_content a.remove_from_cart_button:hover {
  color: #000000 !important;
  transition: all 0.3s;
}

div#whcartwidget ul li span.quantity {
  display: block;
  clear: both;
  text-align: right;
}

div#whcartwidget ul li {
  display: block;
  clear: both;
  border-bottom: 1px solid #efefef;
  position: relative;
  line-height: normal;
  padding: 5px 0 25px 20px;
}

div#whcartwidget span.woocommerce-Price-amount {
  font-size: 16px;
}

div#whcartwidget a.wc-forward {
  margin: 0px 0px;
  width: auto;
  height: auto;
  text-align: center;
  border-radius: 0;
  font-size: 14px;
  line-height: 16px;
  color: #e8e3d7;
  background: #281217;
  display: inline-block;
  padding: 12px 24px 12px 24px;
  font-weight: normal;
  transition: all 0.3s;
  text-transform: uppercase;
}

div#whcartwidget a.wc-forward:hover {
  color: #281217;
  background: #d2c5a6;
  transition: all 0.3s;
}

div#whcartwidget a.checkout {
  display: none;
}

div#whcartwidget p {
  padding: 10px 0 10px 0;
  font-size: 16px;
  font-weight: normal;
  line-height: 18px;
  text-align: right;
}
/* wh-end fix mini-cart widget */

/* wh-start fix cart messages */
.woocommerce-page .woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
  font-family: WooCommerce !important;
  content: "\e028";
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 1.5em;
}

.woocommerce-page .woocommerce-message::before {
  content: "\e015";
  top: 8px;
  color: #016367;
}
/* wh-end fix cart messages */

/* Progress bar */
div.progress-complete {
  display: none;
}

div.progress {
  background-color: #cccccc;
  min-height: 28px;
}

body.woocommerce-order-received div.progress-complete {
  display: block !important;
}

body.woocommerce-order-received div.progress-checkout {
  display: none;
}

.woocommerce-page .progress-bar-success {
  background-color: #016367;
  min-height: 28px;
  padding-top: 4px;
  font-size: 13px;
  line-height: 20px;
}

/* Checkout inputs */
.woocommerce-page input[type="text"],
.woocommerce-page input[type="password"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="number"],
.woocommerce-page textarea {
  color: #000000;
}

.woocommerce-page input[type="checkbox"] {
  display: block;
}

.woocommerce-page div.col-1,
.woocommerce-page div.col-2 {
  max-width: 48% !important;
  width: 48% !important;
}

body.woocommerce-checkout .woocommerce table.shop_table {
  max-width: 800px !important;
}

body.woocommerce-checkout td.product-name {
  max-width: 400px !important;
}

body.woocommerce-page tr.tax-total td,
body.woocommerce-page tr.order-total td,
body.woocommerce-page td.product-total,
body.woocommerce-page tr.cart-subtotal td {
  text-align: right !important;
}

body.woocommerce-cart tr.shipping,
body.woocommerce-cart tr.tax-total,
body.woocommerce-cart tr.order-total {
  display: none;
}

/* Checkout radio fixes */
.woocommerce-page .woocommerce ul#shipping_method,
.woocommerce-page ul#checkout-products,
.woocommerce-page table.woocommerce-checkout-review-order-table ul {
  list-style-type: none;
}

.woocommerce-page ul#checkout-products,
.woocommerce-page table.woocommerce-checkout-review-order-table ul {
  display: block;
}

.woocommerce-page .woocommerce ul#shipping_method input[type="radio"]:focus,
.woocommerce-page ul#checkout-products input[type="radio"]:focus,
.woocommerce-page table.woocommerce-checkout-review-order-table ul input[type="radio"]:focus {
  outline: none;
}

.woocommerce-page .woocommerce ul#shipping_method input[type="radio"],
.woocommerce-page ul#checkout-products input[type="radio"],
.woocommerce-page table.woocommerce-checkout-review-order-table ul input[type="radio"] {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: 2px solid #ccc;
  border-top-color: #bbb;
  border-left-color: #bbb;
  background: #fff;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}

.woocommerce-page ul#checkout-products input[type="radio"] {
  margin-top: 15px;
  margin-bottom: 70px;
}

.woocommerce-page table.woocommerce-checkout-review-order-table input[type="radio"] {
  margin-top: 0px;
  margin-bottom: 0px;
  float: left;
}

.woocommerce-page .woocommerce ul#shipping_method input[type="radio"]:checked,
.woocommerce-page ul#checkout-products input[type="radio"]:checked,
.woocommerce-page table.woocommerce-checkout-review-order-table ul input[type="radio"]:checked {
  border: 10px solid #8fae1b;
}

.woocommerce-page ul#checkout-products label {
  display: block;
  float: left;
  margin-right: 15px;
}

.woocommerce-page ul#checkout-products li,
.woocommerce-page .woocommerce ul.wc-saved-payment-methods li {
  display: block;
  clear: both;
  border-bottom: 1px solid #efefef;
  padding-top: 0px;
  padding-bottom: 12px;
}

.woocommerce-page table.woocommerce-checkout-review-order-table label {
  display: block;
  float: right;
  margin-top: 0px;
  margin-bottom: 10px;
}

form.checkout ul.woocommerce-shipping-methods label {
  margin-top: 0;
}
/* wh-end checkout radio fixes */

/* Checkout layout */
form.checkout .order-box {
  background: #f8f8f8;
  padding: 30px 30px 15px 30px;
}

form.checkout h3,
form.checkout h3 label {
  display: block !important;
  padding: 0px !important;
  font-size: 26px !important;
  line-height: 28px !important;
}

form.checkout div.woocommerce-shipping-fields {
  background: #f8f8f8;
  padding: 30px 30px 15px 30px;
}

form.checkout div#payment {
  background-color: transparent;
  border: 1px solid #000000;
  border-radius: 0;
}

form.checkout tr.woocommerce-shipping-totals td {
  min-width: 250px;
}

form.checkout ul#shipping_method li,
div.calculated_shipping li,
.woocommerce-page table.woocommerce-checkout-review-order-table ul li {
  display: block;
  clear: both;
  border-bottom: 0;
  padding-top: 0px;
  padding-bottom: 12px;
}

.woocommerce-page .shop_table.cart .product-remove a {
  display: inline-block;
  color: #000000 !important;
  background-color: transparent;
  border: 1px solid #efefef;
  width: auto;
  height: auto;
  min-width: 100px;
  font-size: 14px;
  line-height: 16px;
  padding: 0;
  margin: 0;
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-weight: normal;
  border-radius: 0;
}

.woocommerce-page .shop_table.cart .product-remove a::after {
  content: " Remove";
}

.woocommerce-page .shop_table.cart .product-remove a:hover {
  background-color: #eceeef;
  transition: all 0.3s;
}

div.woocommerce header {
  background-color: #efefef;
  padding: 15px;
}

header.woocommerce-Address-title {
  background-image: none;
}

table.subscription_details tr:nth-child(5) {
  display: none;
}

div.woocommerce-privacy-policy-text a,
span.woocommerce-terms-and-conditions-checkbox-text a {
  text-decoration: underline !important;
  color: #000000 !important;
}

/* WooCommerce search */
input.dgwt-wcas-search-input {
  color: #000000;
}

/* WooCommerce cart responsive */
@media only screen and (max-width: 991px) {
  .woocommerce-page .shop_table.cart .product-remove {
    width: 100% !important;
  }
  .woocommerce-page .shop_table.cart .product-name {
    width: 100% !important;
    display: block;
    border-top: 1px solid transparent;
  }
  .woocommerce-page .shop_table.cart .product-price {
    width: 100% !important;
    display: block;
    clear: both;
    border-top: 1px solid transparent;
  }
  .woocommerce-page .shop_table.cart .product-quantity {
    width: 100% !important;
    display: block;
    clear: both;
    border-top: 1px solid transparent;
  }
  .woocommerce-page .shop_table.cart .product-thumbnail {
    width: 100% !important;
    display: block;
    border-top: 1px solid transparent;
  }
  .woocommerce-page table.shop_table_responsive tr td.product-thumbnail:before {
    content: "";
  }
  .woocommerce-page div.col-1,
  .woocommerce-page div.col-2 {
    max-width: 100% !important;
    width: 100% !important;
  }
}

@media screen and (max-width: 768px) {
  form.woocommerce-checkout ul#shipping_method label {
    display: block !important;
    clear: both;
  }
  form.woocommerce-checkout ul#shipping_method li {
    display: block !important;
    border-top: 1px solid #000000;
  }
  form.checkout tr.woocommerce-shipping-totals td {
    min-width: 150px;
  }
  form.checkout .order-box {
    padding: 10px 5px 15px 5px;
  }
  div.page-title {
    padding: 40px 0px 40px 0px;
    height: auto;
  }
  div.page-title-heading h1 {
    font-size: 20px;
    line-height: 24px;
  }
  div.wh-header {
    min-height: auto;
    max-height: auto;
  }
  .page-title .page-title-heading .title {
    margin-bottom: 0;
  }
}

@media only screen and (max-width: 768px) {
  body.woocommerce-page div#payment button#place_order {
    padding: 10px 16px 10px 16px !important;
    font-size: 20px;
    line-height: 22px;
  }
  body.woocommerce-page div.wc-proceed-to-checkout .checkout-button {
    padding: 10px 16px 10px 16px !important;
    font-size: 20px;
    line-height: 22px;
  }
}


/* ===================================================================
 * 17. Products Grid / Add to Cart
 * =================================================================== */

div.wh-product-title {
  font-size: 14px;
  line-height: 18px !important;
  font-weight: normal;
  color: #333333;
  min-height: 90px;
}

div.wh-product-title-vintage {
  font-size: 20px;
  line-height: 22px !important;
  font-weight: normal;
  color: #333333;
}

div.product-info {
  padding-top: 10px !important;
  min-height: 150px !important;
}

.wh-cats div.product-info {
  min-height: 0px !important;
}

div.wh-price {
  padding-top: 10px;
  font-size: 20px;
  line-height: 20px !important;
  font-weight: normal;
  color: #333333;
}

div.price .wh-amount {
  font-size: 24px;
  line-height: 28px;
  color: #281d17;
}

h1.wh-product-title {
  font-size: 28px;
  line-height: 30px;
  font-weight: normal;
}

.product.style2 .product-item .new {
  font-size: 14px;
  line-height: 26px;
  width: 140px;
  top: 20px;
  left: 20px;
}

.product .product-item .new {
  font-size: 18px;
  line-height: 35px;
  width: 87px;
  text-align: center;
  background-color: #7cc576;
  color: #ffffff;
  display: block;
  position: absolute;
  top: 27px;
  left: 25px;
}

li.product-item {
  border-top: 1px solid #e8e3d7 !important;
}

li.product-item .add-to-cart a {
  font-weight: normal !important;
}

.woocommerce .quantity .qty {
  font-size: 18px !important;
}

/* Product list items */
li.wh-product {
  display: inline-block;
  float: none;
  text-align: center;
  margin: 0;
  border: 0;
  vertical-align: top;
  margin-top: 20px;
  margin-bottom: 10px;
  margin-left: 10px;
  margin-right: 10px;
  border-top: 1px solid #efefef;
}

li.wh-product div.wh-shadow-border {
  display: block;
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;
  padding: 0px;
  transition: all 0.5s;
  border: 0;
  position: relative;
  width: 260px;
  background-color: #ffffff;
}

li.wh-product a {
  text-decoration: none !important;
}

li.wh-category div.wh-shadow-border {
  display: block;
  box-shadow: -1px -1px 5px 0px #dad9d9;
  padding: 10px;
  transition: all 0.5s;
  border: 1px solid transparent;
  position: relative;
}

li.wh-product div.wh-image-wrapper {
  position: relative;
  height: 160px;
  width: 100%;
  border: 0px;
  white-space: nowrap;
  text-align: center;
  margin-bottom: 0px;
  padding: 0px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

li.wh-product div.wh-image-wrapper img {
  min-width: 100%;
  height: 300px;
  position: relative;
}

li.wh-product div.wh-image-wrapper-vintage {
  height: 80px;
  width: 238px;
}

li.wh-category div.wh-shadow-border:hover,
li.wh-product div.wh-shadow-border:hover {
  transition: all 0.5s;
  border: 0px;
  cursor: pointer;
  box-shadow: 0 0 0 0 #dad9d9;
}

.helper {
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

div.wh-shadow-footer {
  background: url(../img/thumb-footer4.png) no-repeat;
  background-size: contain;
  width: 100%;
  height: 16px;
}

li.wh-category div.wh-image {
  display: block;
  width: 320px;
  height: 320px;
  margin-bottom: 60px;
}

li.wh-product img.wh-image {
  vertical-align: middle;
  max-height: 238px;
}

div.wh-catlink-wrapper {
  display: block;
  width: 320px;
  height: 70px;
  top: 315px;
  z-index: 20;
  position: absolute;
  padding: 23px 10px 0 10px;
}

div.wh-prodlink-wrapper {
  display: block;
  width: 100%;
  background-color: #ebf6e3;
  padding: 10px;
  text-align: center;
}

span.whmoreinfo {
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  top: -20px;
  right: -20px;
}

.wh-captionwrapper {
  padding-top: 20px;
  padding-left: 5px;
  display: block;
  margin: 0 auto;
}

.wh-catcaption {
  display: block;
  clear: both;
  padding-top: 10px;
}

.wh-catcaption:hover {
  cursor: pointer;
  opacity: 0.8;
}

a.wh-caplink {
  display: inline-block;
  font-size: 14px;
  line-height: 14px;
  transition: 0.3s all;
  text-decoration: none;
  background-color: #000000;
  color: #ffffff;
  padding: 9px 20px 10px 20px;
  text-transform: uppercase;
  text-decoration: none !important;
}

.wh-caplink:hover {
  color: #7cc245;
  transition: 0.3s all;
}

/* Listing sold overlay */
.wh-listing-sold {
  background-position: center center;
  background-repeat: no-repeat;
  width: 60px;
  height: 63px;
  left: 0;
  top: 0;
  position: absolute;
}

.wh-listing-summary {
  position: relative;
  display: block;
  background-color: #8e9794;
  color: #ffffff;
  padding: 20px 20px 15px 20px;
  text-align: left;
}

.wh-listing-price {
  display: block;
  position: absolute;
  top: -18px;
  right: 30px;
  background-color: #54585b;
  color: #ffffff;
  padding: 8px 15px 10px 15px;
  font-size: 14px;
  line-height: 14px;
}

.wh-listing-details {
  display: block;
  background-color: #ffffff;
  color: #666666;
  padding: 15px 20px 15px 20px;
  font-family: roboto, sans-serif;
  font-size: 14px;
  line-height: 24px;
  text-align: left;
}

.wh-listing-table {
  width: 100%;
}

.wh-detail-desc {
  font-weight: bold;
  font-size: 12px;
}

.wh-detail-data {
  text-align: right;
  font-size: 12px;
  line-height: 14px;
}

/* Add to cart on single product */
.wh-addwrapper {
  display: inline-block;
  clear: both;
  border: 1px solid #e1e1e1;
  padding: 10px;
  margin-top: 20px;
}

.wh-addwrapper .whprice {
  display: inline-block;
  font-size: 18px;
  min-width: 60px;
}

.wh-addwrapper .whsize {
  display: inline-block;
  font-size: 18px;
  min-width: 80px;
}

.wh-addwrapper .quantity {
  display: inline-block;
}

button#add-to-cart {
  display: inline-block;
  background-color: #dfd6c0 !important;
  color: #281d17;
  transition: all 300ms;
  cursor: pointer;
  padding: 12px 17px 12px 17px;
}

button#add-to-cart:hover {
  background-color: #281d17 !important;
  color: #dfd6c0;
  transition: all 300ms;
  opacity: 1 !important;
}

.wh-addwrapper p.in-stock {
  display: none;
}

.whcartrowspacer {
  display: block;
  clear: both;
  height: 1px;
  background-color: #e1e1e1;
  margin: 5px 0 5px 0;
}

/* wh-start addcart on archive */
li.wh-product .wh-addwrapper {
  display: inline-block;
  clear: both;
  border: 1px solid #e1e1e1;
  padding: 5px;
  margin-top: 10px;
}

li.wh-product .wh-addwrapper .whprice {
  display: inline-block;
  font-size: 14px;
  min-width: 35px;
  text-align: left;
}

li.wh-product .wh-addwrapper .whsize {
  display: inline-block;
  font-size: 14px;
  min-width: 50px;
  text-align: right;
}

li.wh-product .wh-addwrapper .quantity {
  display: inline-block;
}

li.wh-product .wh-addwrapper input.qty,
body.home li.wh-product .wh-addwrapper input.qty {
  width: 3.6em !important;
  height: 30px !important;
  line-height: 30px !important;
  color: #000000 !important;
}

li.wh-product button#add-to-cart {
  display: inline-block;
  background-color: #dfd6c0 !important;
  color: #281d17;
  transition: all 300ms;
  cursor: pointer;
  padding: 7px 7px 6px 7px !important;
  border: 0 !important;
  text-transform: uppercase;
}

body.home li.wh-product button#add-to-cart {
  padding: 4px 8px 4px 8px !important;
}

li.wh-product button#add-to-cart:hover {
  background-color: #281d17 !important;
  color: #dfd6c0;
  transition: all 300ms;
  opacity: 1 !important;
}

li.wh-product .wh-addwrapper p.in-stock {
  display: none;
}

li.wh-product .whcartrowspacer {
  display: block;
  clear: both;
  height: 1px;
  background-color: #e1e1e1;
  margin: 5px 0 5px 0;
}
/* wh-end addcart on archive */

.wh-product-short-text {
  display: block;
  padding-top: 20px;
}

.wh-product-main-text {
  display: block;
  padding-top: 20px;
}

/* View cart / continue shopping buttons */
div.ttt-pnwc-message a.wc-forward,
div.woocommerce-message a.wc-forward {
  display: inline-block;
  background-color: #016367 !important;
  color: #efeee9 !important;
  transition: all 300ms;
  cursor: pointer;
  padding: 10px 20px !important;
  text-decoration: none !important;
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border: 1px solid #016367 !important;
  border-radius: 0 !important;
}

div.ttt-pnwc-message a.wc-forward:hover,
div.woocommerce-message a.wc-forward:hover {
  background-color: #efeee9 !important;
  color: #016367 !important;
  border-color: #016367 !important;
  transition: all 300ms;
}

.show-read-more .more-text {
  display: none;
}

/* Pagination */
.tool-pagination {
  display: block;
  margin: 0 auto;
  text-align: center;
  padding: 20px 10px 20px 20px;
  font-size: 14px;
  line-height: 16px;
}

.tool-pagination a.prev,
.tool-pagination a.next {
  display: inline-block;
  margin-right: 10px;
  margin-left: 10px;
}

.tool-pagination ul.pages,
.tool-pagination ul.pages li {
  display: inline-block;
}

.tool-pagination ul.pages li a {
  display: inline-block;
  padding: 5px 10px 5px 10px;
  min-width: 30px;
  background-color: #e8e3d7;
  text-decoration: none;
}

.tool-pagination ul.pages li a:hover {
  color: #ffffff;
}

.tool-pagination ul.pages li span {
  display: inline-block;
  padding: 5px 10px 5px 10px;
  min-width: 30px;
  background-color: #efefef;
  text-decoration: none;
}

.wh-appellation {
  font-style: italic;
}

.wh-org {
  font-style: italic;
}

/* Sidebar shop */
div.widget.widget_tag .tag-list a {
  display: block;
  color: #6e6e6e;
  line-height: 18px;
  text-align: left;
  background-color: #eeeeee;
  padding: 5px 20px 5px 10px;
  margin: 0px 8px 2px 0px;
}

div.widget.widget_tag .widget-title {
  margin-bottom: 5px;
}

div.sidebar.slidebar-shop .widget {
  padding-bottom: 5px;
  padding-top: 15px;
  border-top: 1px solid #ebebeb;
  border-right: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 25px;
  border-radius: 3px 6px 6px 0;
}

div.sidebar.slidebar-shop {
  margin-top: 0px;
  padding-right: 40px;
}

.sidebar.slidebar-shop .widget:last-child,
.sidebar.slidebar-shop .widget:first-child {
  border-top: 1px solid #ebebeb;
  border-right: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
}

div.wh-cat-main-text {
  display: block;
  text-align: left;
  border-bottom: 1px solid #efefef;
  padding-bottom: 10px;
  margin-bottom: 15px;
}

/* WooCommerce search */
.wh-search-wrapper {
  display: block;
  padding-bottom: 30px;
}


/* ===================================================================
 * 18. Images (WordPress alignment responsive)
 * =================================================================== */

/* wh-start embedded images responsive */
img.alignright {
  clear: both;
  float: right;
  margin-left: 20px;
  padding-top: 15px;
  padding-bottom: 15px;
}

img.alignleft {
  clear: both;
  float: left;
  margin-right: 20px;
  padding-top: 15px;
  padding-bottom: 15px;
}

figure.alignright {
  float: right;
  margin-left: 20px;
  padding-top: 15px;
}

figure.alignleft {
  float: left;
  margin-right: 20px;
  padding-top: 15px;
}

img.aligncenter,
.aligncenter {
  display: block;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 15px;
}

figcaption.wp-caption-text {
  text-align: center;
  font-style: italic;
  font-size: 14px;
  padding-top: 5px;
}

.wh-image-right {
  display: block;
  float: right;
  margin-left: 5px;
  text-align: center;
  max-width: 280px;
}

.wh-caption {
  text-align: center;
}

@media (max-width: 768px) {
  .wp-caption {
    width: 100% !important;
    text-align: center;
  }
  .wp-caption img {
    max-width: 99.03225806% !important;
    height: auto;
  }
  img.alignright {
    float: none;
    display: block;
    margin: 0 auto;
    text-align: center;
  }
  img.alignleft {
    float: none;
    display: block;
    margin: 0 auto;
    text-align: center;
  }
}
/* wh-end embedded images responsive */


/* ===================================================================
 * 19. Responsive Embeds
 * =================================================================== */

.hs-responsive-embed {
  position: relative;
  height: 0;
  overflow: hidden;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
}

.hs-responsive-embed iframe,
.hs-responsive-embed object,
.hs-responsive-embed embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.hs-responsive-embed,
.hs-responsive-embed.hs-responsive-embed-youtube,
.hs-responsive-embed.hs-responsive-embed-wistia,
.hs-responsive-embed.hs-responsive-embed-vimeo {
  padding-bottom: 56.25%;
}


/* ===================================================================
 * 20. Skip to Main Content (A11y)
 * =================================================================== */

a.skip-main {
  position: absolute;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: -999;
}

a.skip-main:focus,
a.skip-main:active {
  color: #fff;
  background-color: #000;
  left: auto;
  top: auto;
  width: 30%;
  height: auto;
  overflow: auto;
  margin: 10px 35%;
  padding: 5px;
  border-radius: 0px;
  border: 1px solid #e2a95a;
  text-align: center;
  font-size: 1.2em;
  z-index: 99999999;
}


/* ===================================================================
 * 21. Datepicker / jQuery UI Fixes
 * =================================================================== */

.ui-datepicker {
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.2) !important;
}

.ui-datepicker-header {
  background-color: #dbc1ac !important;
}

.ui-datepicker-header select {
  background-color: #fff !important;
  color: #B78458 !important;
  border: 0 !important;
}

.ui-datepicker-month {
  margin: 5px 5px 6px 0px !important;
}

.ui-datepicker-year {
  margin: 5px 0px 6px 0px !important;
}

.ui-datepicker-calendar .ui-state-default {
  background: #fff !important;
}

td.ui-datepicker-unselectable.ui-state-disabled {
  background-color: #eee !important;
}

.ui-datepicker-calendar .ui-state-active {
  border: 1px solid #dbc1ac !important;
  box-shadow: none !important;
  background: #dbc1ac !important;
  margin: 0 !important;
  text-shadow: none !important;
  color: #fff !important;
}

div.gform_body div.ginput_container_time input {
  min-width: 50px;
}

div.gform_body div.ginput_container_time {
  min-width: 60px;
}


/* ===================================================================
 * 22. One-Page Checkout / Donations
 * =================================================================== */

div#wh-opc div.summary {
  float: none;
  width: 100%;
  clear: both;
}

div.wcopc div.woocommerce-info {
  display: none;
}

div#wh-opc div.quantity {
  display: none;
}

div.wh-cart-wrapper {
  width: 100%;
  background-color: #e7ecf2;
  border-radius: 8px;
  color: #000000;
  padding: 5px 10px 20px 10px;
  margin: 10px 0 20px 0;
}

div.wh-cart-wrapper h1,
div.wh-cart-wrapper h2 {
  color: #000000;
}

div.woocommerce-billing-fields,
div.woocommerce-additional-fields,
div#opc-product-selection {
  max-width: 100%;
  margin: 0 auto;
}

div.woocommerce-billing-fields {
  border-top: 1px solid #cccccc;
  padding-top: 15px;
  margin-top: 15px;
}

div.woocommerce-shipping-fields {
  display: none;
}

div.wh-cart-wrapper div.col-12 {
  padding-left: 0;
  padding-right: 0;
}

div.wh-cart-wrapper div.order-box {
  max-width: 95%;
  margin: 0 auto;
  border-radius: 8px;
  margin-top: 10px;
}

div.wh-cart-wrapper div.row {
  margin-left: 0;
  margin-right: 0;
}

div.wh-cart-wrapper .container {
  width: auto !important;
  padding: 0 !important;
}

div.wh-cart-wrapper div.col-lg-12 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

div.wh-cart-wrapper p {
  color: #000000;
}

div.wh-cart-wrapper strong {
  color: #000000;
}

div.wh-cart-wrapper a,
div.wh-cart-wrapper a:link,
div.wh-cart-wrapper a:active,
div.wh-cart-wrapper a:visited {
  color: #666666 !important;
}

/* Pricing table products */
div.whx-opc-pricing-table-product {
  display: inline-block;
  position: relative;
  vertical-align: top;
  background-color: #ffffff;
  border-radius: 0;
  margin: 6px 4px;
  width: 130px;
  min-height: 90px;
  transition: all 300ms;
  border: 1px solid #ddd;
  padding: 5px 0 0 0;
}

div.whx-opc-pricing-table-product:hover {
  border-color: #016367;
}

div.whx-opc-pricing-table-product p {
  padding-top: 0;
  padding-bottom: 0;
  line-height: 18px;
}

div.whx-opc-pricing-table-product label {
  margin-bottom: 0;
}

div#onetime div.whx-opc-pricing-table-product {
  min-height: 97px;
}

div#monthly div.whx-opc-pricing-table-product,
div#annual div.whx-opc-pricing-table-product {
  min-height: 112px;
}

div.whx-opc-pricing-table-product .nyp {
  margin-top: 5px;
}

div#monthly p.nyp-terms,
div#annual p.nyp-terms {
  display: none;
}

body.woocommerce-page .wh-cart-wrapper button.button,
body.woocommerce-page .wh-cart-wrapper button.button:active {
  padding: 6px 12px !important;
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
}

div.whx-opc-pricing-table-product input {
  min-width: 2em;
  width: 60px;
  height: 24px;
  border: 1px solid #ccc;
  padding-left: 0;
  letter-spacing: 0;
  background-color: #ffffff;
}

.whx-opc-pricing-table-product .nyp .nyp-input {
  width: 90px !important;
  height: 25px !important;
  min-width: 0 !important;
  font-weight: 400 !important;
  font-size: 15px !important;
}

div.wh-pricing-table-wrapper div.product-quantity label {
  padding: 0 10px;
  line-height: 16px;
}

div.whx-opc-pricing-table-product button.button,
div.wh-pricing-table-wrapper input.button,
div.wh-pricing-table-wrapper button.nyp-disabled {
  display: block;
  width: 80%;
  margin: 0 auto;
  text-align: center;
  position: absolute;
  background-color: #016367 !important;
  color: #efeee9 !important;
  border-radius: 0 !important;
  border: 1px solid #016367 !important;
  opacity: 1 !important;
  bottom: 0;
  left: 0;
  right: 0;
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase;
  padding: 6px 8px !important;
  transition: all 300ms;
  cursor: pointer;
}

div.whx-opc-pricing-table-product button.button:hover {
  background-color: #efeee9 !important;
  color: #016367 !important;
  border-color: #016367 !important;
}

/* Selected state: hide "Select" span, show only "Remove" via ::after */
div.wh-pricing-table-wrapper div.selected button.button span {
  display: none;
}

div.wh-pricing-table-wrapper div.selected button.button,
div.wh-pricing-table-wrapper div.selected input.button {
  background-color: #859579 !important;
  border-color: #859579 !important;
  color: #efeee9 !important;
  opacity: 1;
}

div.wh-pricing-table-wrapper div.selected button.button:hover {
  background-color: #6e7d64 !important;
  border-color: #6e7d64 !important;
}

div.wh-pricing-table-wrapper div.selected {
  border: 2px solid #016367 !important;
  background-color: #efeee9;
  transition: all 300ms;
}

div.wh-pricing-table-wrapper span.woocommerce-Price-amount {
  display: block;
  padding-top: 5px;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 20px;
  color: #13292A;
}

/* --- Donation tabs --- */
div.wh-pricing-table-tabs ul.nav-tabs {
  list-style: none;
  padding-left: 0;
  border-bottom: 2px solid #016367;
}

div.wh-pricing-table-tabs li.nav-item {
  list-style: none;
  margin-right: 4px;
  margin-top: 0;
  margin-bottom: 0;
}

div.wh-pricing-table-tabs ul a.nav-link {
  background-color: #f5f5f5;
  text-decoration: none;
  color: #333 !important;
  padding: 10px 24px;
  font-size: 15px;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-radius: 0;
  border: 1px solid #ddd;
  border-bottom: 2px solid #016367;
  margin-bottom: -1px;
  transition: all 300ms;
  position: relative;
}

div.wh-pricing-table-tabs ul a.nav-link:hover {
  background-color: #efeee9;
  color: #016367 !important;
}

div.wh-pricing-table-tabs ul .nav-link.active,
.wh-pricing-table-tabs .nav-tabs .nav-link.active,
.wh-pricing-table-tabs .nav-tabs .nav-item.show .nav-link {
  background-color: #016367 !important;
  color: #efeee9 !important;
  border-color: #016367 !important;
  border-bottom-color: #016367 !important;
}

div.wh-pricing-table-tab-content .wh-tab-header {
  padding-top: 10px;
}

div.wh-donation-page-wrapper form.woocommerce-checkout div#customer_details {
  border: 1px solid #dee2e6;
  border-radius: 0;
  margin: 15px 0;
  padding: 15px;
}

/* Checkout billing/shipping — labels above inputs */
.woocommerce-checkout .woocommerce-billing-fields .form-row,
.woocommerce-checkout .woocommerce-shipping-fields .form-row,
.woocommerce-checkout .woocommerce-additional-fields .form-row {
  display: flex !important;
  flex-direction: column !important;
}

.woocommerce-checkout .woocommerce-billing-fields .form-row label,
.woocommerce-checkout .woocommerce-shipping-fields .form-row label {
  width: 100% !important;
  margin-bottom: 4px;
}

.woocommerce-checkout .woocommerce-billing-fields .form-row .input-text,
.woocommerce-checkout .woocommerce-billing-fields .form-row select,
.woocommerce-checkout .woocommerce-billing-fields .form-row .select2-container,
.woocommerce-checkout .woocommerce-shipping-fields .form-row .input-text,
.woocommerce-checkout .woocommerce-shipping-fields .form-row select,
.woocommerce-checkout .woocommerce-shipping-fields .form-row .select2-container {
  width: 100% !important;
}

@media screen and (max-width: 768px) {
  div.wh-pricing-table-tabs li.nav-item a {
    padding: 8px 12px;
    font-size: 11px;
    letter-spacing: 1px;
  }
}

div.wh-pricing-table-wrapper {
  text-align: center;
}

div.wh-pricing-table-wrapper .opc-pricing-table-product {
  display: inline-block;
  vertical-align: top;
  float: none;
  margin: 20px;
  text-align: center;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  padding: 10px;
  transition: all 300ms;
  border: 1px solid #ddd;
}

div.wh-pricing-table-wrapper div.selected {
  border: 2px solid #016367;
  box-shadow: 0 0 0 0;
}

img.wh-pricing-table-logo {
  width: 50px;
}

div.wh-pricing-table-short-description {
  text-align: center;
  border-top: 1px solid #ddd;
  padding-top: 5px;
}

/* --- Membership grid (taller boxes with display name) --- */
.wh-membership-grid div.whx-opc-pricing-table-product {
  min-height: 130px;
}

.wh-display-name {
  font-family: "Source Sans 3", sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: #016367;
  line-height: 1.3;
  margin-bottom: 2px;
}

.wh-display-name p {
  margin: 0;
}

div.wh-call-out {
  background-color: #C0C5C1;
  min-height: 300px;
  border-top: 3px solid #87364e;
}


/* ===================================================================
 * 23. Buttons (wh-button-*)
 * =================================================================== */

/* wh-start fix buttons */
body.woocommerce-page form.cart .single_add_to_cart_button,
section#wh-section-product a.wc-forward,
body.woocommerce-page button.button,
body.woocommerce-page div.wc-proceed-to-checkout .checkout-button,
body.woocommerce-page div#payment button#place_order {
  margin: 0px 0px;
  width: auto;
  height: auto;
  text-align: center;
  border-radius: 0;
  font-size: 14px;
  line-height: 16px;
  color: #e8e3d7;
  background-color: #281217;
  display: inline-block;
  padding: 12px 24px 12px 24px;
  font-weight: normal;
  transition: all 0.3s;
  text-transform: uppercase;
  cursor: pointer;
}

body.woocommerce-page a.shipping-calculator-button {
  display: inline-block;
  border: 1px solid #000000;
  padding: 10px 15px 10px 15px;
}

body.woocommerce-page button[name="update_cart"] {
  background-color: #016367;
  margin-top: 7px;
}

body.woocommerce-page div.wc-proceed-to-checkout .checkout-button {
  background-color: #016367 !important;
  width: 100%;
  color: #efeee9 !important;
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 16px 36px !important;
  text-decoration: none;
  border: 1px solid #016367;
  border-radius: 0;
  transition: all 300ms;
}

body.woocommerce-page div#payment button#place_order {
  background-color: #016367 !important;
  color: #efeee9 !important;
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 16px 36px !important;
  border: 1px solid #016367;
  border-radius: 0;
  transition: all 300ms;
}

button[name="apply_coupon"] {
  margin-top: 5px;
  margin-left: -5px;
  padding-top: 18px;
  padding-bottom: 16px;
  background-color: #13292A !important;
  color: #ffffff !important;
}

body.woocommerce-page button.button:not(.wh-atc-main):disabled {
  opacity: 10%;
  padding: 12px 24px 12px 24px !important;
  color: #ffffff !important;
  margin-top: 7px;
}

section#wh-section-product a.wc-forward {
  background-color: #8fae2c;
}

body.woocommerce-page form.cart .single_add_to_cart_button:not(.wh-atc-main):hover,
section#wh-section-product a.wc-forward:hover,
body.woocommerce-page button[name="update_cart"]:hover {
  color: #281d17 !important;
  background-color: #d2c5a6 !important;
  transition: all 0.3s;
}

body.woocommerce-page div.wc-proceed-to-checkout .checkout-button:hover,
body.woocommerce-page div#payment button#place_order:hover {
  background-color: #efeee9 !important;
  color: #016367 !important;
  border-color: #016367 !important;
  transition: all 300ms;
}

body.woocommerce-page form.cart .single_add_to_cart_button:not(.wh-atc-main):hover:before,
body.woocommerce-page button.button:hover:before,
body.woocommerce-page button[name="update_cart"]:hover:before {
  width: 0;
}
/* wh-end fix buttons */


/* =======================================================================
   WooCommerce My Account pages
   ======================================================================= */

/* Account navigation */
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0;
  border: 1px solid #ddd;
}

.woocommerce-MyAccount-navigation ul li {
  list-style: none !important;
  margin: 0;
  border-bottom: 1px solid #ddd;
}

.woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none;
}

/* Hide Downloads nav item */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads {
  display: none;
}

.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 10px 15px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #333 !important;
  text-decoration: none;
  transition: all 300ms;
}

.woocommerce-MyAccount-navigation ul li a:hover {
  background-color: #efeee9;
  color: #016367 !important;
  padding-left: 20px;
}

.woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: #016367;
  color: #efeee9 !important;
}

/* Account forms — login, register, lost password, edit account */
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register,
.woocommerce form.woocommerce-ResetPassword,
.woocommerce form.woocommerce-EditAccountForm {
  font-family: "Source Sans 3", sans-serif;
}

.woocommerce form .form-row label {
  font-family: "Source Sans 3", sans-serif;
  font-weight: 600;
  color: #333;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="password"] {
  border: 1px solid #ccc;
  border-radius: 0;
  padding: 10px 12px;
  font-family: "Source Serif 4", serif;
  font-size: 15px;
  transition: border-color 300ms;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row input[type="text"]:focus,
.woocommerce form .form-row input[type="email"]:focus,
.woocommerce form .form-row input[type="password"]:focus {
  border-color: #016367;
  outline: none;
  box-shadow: none;
}

/* Address edit form layout */
.woocommerce-address-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0 20px;
}

.woocommerce-address-fields__field-wrapper .form-row {
  margin-bottom: 15px;
}

.woocommerce-address-fields__field-wrapper .form-row-first,
.woocommerce-address-fields__field-wrapper .form-row-last {
  flex: 0 0 calc(50% - 10px);
  max-width: calc(50% - 10px);
}

.woocommerce-address-fields__field-wrapper .form-row-wide {
  flex: 0 0 100%;
  max-width: 100%;
}

.woocommerce-address-fields__field-wrapper input.input-text,
.woocommerce-address-fields__field-wrapper select {
  width: 100%;
  border: 1px solid #ccc;
  border-radius: 0;
  padding: 10px 12px;
  font-family: "Source Serif 4", serif;
  font-size: 15px;
  transition: border-color 300ms;
  background-color: #fff;
  box-sizing: border-box;
}

.woocommerce-address-fields__field-wrapper input.input-text:focus,
.woocommerce-address-fields__field-wrapper select:focus {
  border-color: #016367;
  outline: none;
  box-shadow: none;
}

.woocommerce-address-fields__field-wrapper label {
  display: block;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 600;
  color: #333;
  margin-bottom: 5px;
  font-size: 14px;
  float: none !important;
  width: 100% !important;
}

.woocommerce-address-fields__field-wrapper .woocommerce-input-wrapper {
  display: block;
  width: 100%;
}

.woocommerce-address-fields__field-wrapper .required {
  color: #c00;
}

/* Address form h2 heading */
.woocommerce-MyAccount-content .woocommerce-address-fields h2,
.woocommerce-MyAccount-content form > h2 {
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: #333 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 20px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #ddd;
}

@media (max-width: 480px) {
  .woocommerce-address-fields__field-wrapper .form-row-first,
  .woocommerce-address-fields__field-wrapper .form-row-last {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Login form — stack remember-me and button vertically */
.woocommerce form.woocommerce-form-login .form-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme {
  margin-bottom: 15px;
}

/* All WooCommerce account buttons */
.woocommerce .woocommerce-Button,
.woocommerce button.woocommerce-button,
.woocommerce .woocommerce-form-login__submit,
.woocommerce .woocommerce-form-register__submit,
.woocommerce button[name="save_account_details"],
.woocommerce button[name="save_address"],
.woocommerce .woocommerce-Button.button,
.woocommerce-page .woocommerce-form .button,
.woocommerce-page input.woocommerce-Button[type="submit"],
.woocommerce-page button.woocommerce-Button,
.woocommerce .woocommerce-address-fields button.button {
  background-color: #016367 !important;
  color: #efeee9 !important;
  border: 2px solid #016367 !important;
  border-radius: 0 !important;
  padding: 10px 30px !important;
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: all 300ms !important;
}

.woocommerce .woocommerce-Button:hover,
.woocommerce button.woocommerce-button:hover,
.woocommerce .woocommerce-form-login__submit:hover,
.woocommerce .woocommerce-form-register__submit:hover,
.woocommerce button[name="save_account_details"]:hover,
.woocommerce button[name="save_address"]:hover,
.woocommerce .woocommerce-Button.button:hover,
.woocommerce-page .woocommerce-form .button:hover,
.woocommerce-page input.woocommerce-Button[type="submit"]:hover,
.woocommerce-page button.woocommerce-Button:hover,
.woocommerce .woocommerce-address-fields button.button:hover {
  background-color: #efeee9 !important;
  color: #016367 !important;
  border-color: #016367 !important;
}

/* Remember me checkbox */
.woocommerce form .form-row .woocommerce-form__label-for-checkbox {
  font-family: "Source Sans 3", sans-serif;
}

/* Lost password link */
.woocommerce .woocommerce-LostPassword a,
.woocommerce .lost_password a {
  color: #016367 !important;
  text-decoration: underline;
}

.woocommerce .woocommerce-LostPassword a:hover,
.woocommerce .lost_password a:hover {
  color: #859579 !important;
}

/* Account content links */
.woocommerce-MyAccount-content a {
  color: #016367;
}

.woocommerce-MyAccount-content a:hover {
  color: #859579;
}

/* Order table buttons */
.woocommerce-orders-table .woocommerce-button,
.woocommerce-MyAccount-content a.woocommerce-Button,
.woocommerce-MyAccount-content a.button {
  background-color: #016367 !important;
  color: #efeee9 !important;
  border: 2px solid #016367 !important;
  border-radius: 0 !important;
  padding: 6px 16px !important;
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all 300ms !important;
}

.woocommerce-orders-table .woocommerce-button:hover,
.woocommerce-MyAccount-content a.woocommerce-Button:hover,
.woocommerce-MyAccount-content a.button:hover {
  background-color: #efeee9 !important;
  color: #016367 !important;
}

/* Account page two-column layout */
.woocommerce-account .woocommerce-MyAccount-navigation {
  float: left;
  width: 25%;
  padding-right: 20px;
  box-sizing: border-box;
}

.woocommerce-account .woocommerce-MyAccount-content {
  float: right;
  width: 75%;
  box-sizing: border-box;
}

.woocommerce-account .woocommerce-MyAccount-navigation + .woocommerce-MyAccount-content {
  float: right;
}

.woocommerce-account .woocommerce::after {
  content: "";
  display: table;
  clear: both;
}

/* Account page typography */
.woocommerce-MyAccount-content p,
.woocommerce-MyAccount-content li {
  font-family: "Source Serif 4", serif;
  font-size: 16px;
  line-height: 24px;
  color: #333;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #333;
  margin-top: 15px;
  margin-bottom: 10px;
}

/* Order / subscription tables */
.woocommerce-MyAccount-content table.shop_table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
}

.woocommerce-MyAccount-content table.shop_table thead th {
  background-color: #016367;
  color: #efeee9;
  padding: 10px 12px;
  font-weight: 600;
  text-align: left;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.woocommerce-MyAccount-content table.shop_table tbody td {
  padding: 10px 12px;
  border-bottom: 1px solid #ddd;
  vertical-align: middle;
}

.woocommerce-MyAccount-content table.shop_table tbody tr:hover {
  background-color: #f9f8f5;
}

/* Addresses */
.woocommerce-MyAccount-content .woocommerce-Addresses {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.woocommerce-MyAccount-content .woocommerce-Address {
  flex: 1;
  min-width: 250px;
}

.woocommerce-MyAccount-content .woocommerce-Address header,
header.woocommerce-Address-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #ddd;
  padding-bottom: 8px;
  margin-bottom: 12px;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-top: none !important;
  padding: 0 0 8px 0;
}

.woocommerce-MyAccount-content .woocommerce-Address header h2,
.woocommerce-MyAccount-content .woocommerce-Address header h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #333 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.4 !important;
}

.woocommerce-MyAccount-content .woocommerce-Address header a.edit,
.woocommerce-MyAccount-content .woocommerce-Address-title a.edit,
.woocommerce-MyAccount-content .woocommerce-Address header a {
  display: inline-block;
  background-color: #016367;
  color: #efeee9 !important;
  padding: 4px 14px !important;
  font-family: "Source Sans 3", sans-serif;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 1px !important;
  text-decoration: none !important;
  border: none;
  transition: background-color 0.3s;
}

.woocommerce-MyAccount-content .woocommerce-Address header a:hover {
  background-color: #014b4e;
  color: #fff !important;
}

.woocommerce-MyAccount-content .woocommerce-Address address {
  font-style: normal;
  font-family: "Source Serif 4", serif;
  font-size: 15px;
  line-height: 22px;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.woocommerce-MyAccount-content div.col2-set {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.woocommerce-MyAccount-content div.col2-set .col-1,
.woocommerce-MyAccount-content div.col2-set .col-2 {
  flex: 1;
  min-width: 250px;
  max-width: none !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Edit account form fieldset */
.woocommerce-MyAccount-content fieldset {
  border: 1px solid #ddd;
  padding: 20px;
  margin: 20px 0;
}

.woocommerce-MyAccount-content fieldset legend {
  font-family: "Source Sans 3", sans-serif;
  font-weight: 600;
  color: #016367;
  padding: 0 10px;
}

/* No orders / subscriptions message */
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info {
  font-family: "Source Sans 3", sans-serif;
  border-color: #016367 !important;
  background-color: #f9f8f5;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
    padding-right: 0;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 20px;
  }

  .woocommerce-MyAccount-content table.shop_table thead {
    display: none;
  }

  .woocommerce-MyAccount-content table.shop_table tbody td {
    display: block;
    padding: 6px 12px;
    border-bottom: none;
  }

  .woocommerce-MyAccount-content table.shop_table tbody td::before {
    content: attr(data-title) ": ";
    font-weight: 600;
  }

  .woocommerce-MyAccount-content table.shop_table tbody tr {
    border-bottom: 1px solid #ddd;
    padding: 8px 0;
    display: block;
  }
}


/* Transparent buttons */
button.wh-transparent,
button.wh-transparent:active,
button.wh-transparent:visited,
button.wh-transparent:link {
  background-color: transparent !important;
  border: 1px solid #a29061;
  color: #a29061;
  padding: 10px 30px 10px 30px;
  cursor: pointer;
  text-transform: uppercase;
  transition: all 0.3s;
}

button.wh-transparent:hover {
  background-color: #a29061 !important;
  color: #ffffff;
  transition: all 0.3s;
}

.wh-button-transparent-reverse {
  padding: 7px 18px 7px 18px;
  line-height: 18px !important;
  color: #ffffff;
  background-color: transparent;
  border: 1px solid #ffffff;
  display: inline-block;
  border-radius: 0px;
  font-size: 16px;
  transition: all 300ms;
  text-decoration: none !important;
  cursor: pointer;
  margin: 5px 0 5px 0;
}

.wh-button-transparent-reverse:hover {
  background-color: #ffffff;
  color: #000000;
  transition: all 300ms;
}

.wh-button-transparent-reverse:active {
  color: #ffffff;
  background-color: transparent;
  border: 1px solid #ffffff;
  transition: none !important;
}

.wh-button-transparent-reverse a {
  color: #000000 !important;
  text-decoration: none !important;
}

.wh-button-transparent-reverse a:hover {
  text-decoration: none !important;
  background-color: #ffffff;
}

@media screen and (max-width: 1200px) {
  .wh-button-transparent-reverse {
    padding: 5px 10px 5px 10px !important;
    line-height: 16px !important;
  }
}

.wh-reverse-button {
  border: 1px solid #ffffff !important;
  font-weight: normal !important;
  padding: 5px 30px 5px 30px;
  text-align: center;
  display: inline-block;
}

a.wh-reverse-button {
  color: #ffffff !important;
}

.wh-reverse-button:hover {
  background-color: #a29061 !important;
  border-color: #d0c7b0 !important;
}

.wh-btn-wrapper {
  text-align: center;
  padding-top: 0;
}

/* Solid button */
.wh-button-solid {
  color: #000000;
  background-color: #8eceb6;
  border: 1px solid #8eceb6;
  padding: 8px 20px 8px 20px;
  display: inline-block;
  border-radius: 0px;
  font-size: 18px;
  transition: all 300ms;
  text-decoration: none !important;
  cursor: pointer;
  margin: 5px 0 5px 0;
}

.wh-button-solid:hover {
  color: #ffffff;
  transition: all 300ms;
}

.wh-button-solid:active {
  color: #000000;
  background-color: #8eceb6;
  border: 1px solid #8eceb6;
  transition: none !important;
}

.wh-button-solid a {
  color: #ffffff !important;
  text-decoration: none !important;
}

.wh-button-solid a:hover {
  text-decoration: none !important;
  background-color: #b7b2ae;
}

/* Transparent button */
.wh-button-transparent {
  color: #000000;
  background-color: transparent;
  border: 1px solid #000000;
  padding: 8px 20px 8px 20px;
  display: inline-block;
  border-radius: 0px;
  font-size: 18px;
  transition: all 300ms;
  text-decoration: none !important;
  cursor: pointer;
  margin: 5px 0 5px 0;
}

.wh-button-transparent:hover {
  background-color: #000000;
  color: #ffffff;
  transition: all 300ms;
}

.wh-button-transparent:active {
  color: #000000;
  background-color: transparent;
  border: 1px solid #000000;
  transition: none !important;
}

.wh-button-transparent a {
  color: #000000 !important;
  text-decoration: none !important;
}

.wh-button-transparent a:hover {
  text-decoration: none !important;
  background-color: #b7b2ae;
}

/* Main button */
.wh-button,
div.gform_wrapper input[type="submit"],
div.gform_wrapper button[type="submit"],
div.gform_wrapper .gform_button,
.gform_footer input[type="submit"],
.gform_footer button[type="submit"] {
  background-color: #016367 !important;
  color: #efeee9 !important;
  font-size: 16px !important;
  line-height: 16px !important;
  display: inline-block;
  border: 1px solid #016367 !important;
  padding: 15px 25px 15px 25px !important;
  margin-top: 15px;
  transition: all 300ms;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 400;
  letter-spacing: 2px;
  border-radius: 0 !important;
}

.wh-button:hover,
div.gform_wrapper input[type="submit"]:hover,
div.gform_wrapper button[type="submit"]:hover,
div.gform_wrapper .gform_button:hover,
.gform_footer input[type="submit"]:hover,
.gform_footer button[type="submit"]:hover {
  background-color: transparent !important;
  transition: all 300ms;
  color: #016367 !important;
  border: 1px solid #016367 !important;
}

/* Reverse button — hover state as default, default as hover */
.wh-button-reverse {
  background-color: transparent !important;
  color: #016367 !important;
  font-size: 16px !important;
  line-height: 16px !important;
  display: inline-block;
  border: 1px solid #016367 !important;
  padding: 15px 25px 15px 25px !important;
  margin-top: 15px;
  transition: all 300ms;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 400;
  letter-spacing: 2px;
  border-radius: 0 !important;
  text-decoration: none;
}

.wh-button-reverse:hover {
  background-color: #016367 !important;
  color: #efeee9 !important;
  border: 1px solid #016367 !important;
  transition: all 300ms;
  text-decoration: none;
}

.wh-button-reverse:active,
.wh-button-reverse:hover:active {
  background-color: transparent !important;
  color: #016367 !important;
  border: 1px solid #016367 !important;
  transition: none !important;
  -webkit-tap-highlight-color: transparent;
}

/* Active / tap states — snap colors instantly so iOS doesn't catch mid-transition */
.wh-button:active,
.wh-button:hover:active,
.wh-page a.wh-button:hover:active {
  background-color: #016367 !important;
  color: #efeee9 !important;
  border: 1px solid #016367 !important;
  transition: none !important;
  -webkit-tap-highlight-color: transparent;
}

/* Transparent button (dark bg) */
.wh-button-trans {
  font-family: "Source Sans 3", sans-serif;
  letter-spacing: 2px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: transparent;
  color: #ffffff;
  padding: 12px 24px 10px 24px;
  border-radius: 0px;
  display: inline-block;
  margin: 10px;
  transition: all 500ms;
}

.wh-button-trans:hover {
  background-color: #000000;
  border: 1px solid #000000;
  transition: all 500ms;
  color: #ffffff;
}

.wh-button-trans:active {
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: none !important;
}

/* Regular button */
.wh-button-regular {
  color: #000000;
  background-color: #ffffff;
  border: 1px solid #000000;
  padding: 8px 20px 8px 20px;
  font-size: 16px;
  line-height: 16px;
  transition: all 500ms;
}

.wh-button-regular:hover {
  background-color: #000000;
  border: 1px solid #000000;
  transition: all 500ms;
  color: #ffffff;
}

.wh-button-regular:active {
  color: #000000;
  background-color: #ffffff;
  border: 1px solid #000000;
  transition: none !important;
}

/* Product tabs */
ul.menu-tab li {
  background-color: #ffffff;
}

ul.menu-tab li.active {
  border-top: 3px solid #3f974f !important;
}

div.content-tab {
  background-color: #ffffff;
}


/* ===================================================================
 * 24. Misc Utilities
 * =================================================================== */

/* Gravity Forms */
div.gform_wrapper li {
  display: block;
  clear: both;
}

div.gform_wrapper input[type="text"],
div.gform_wrapper textarea {
  color: #000000;
}

div.gform-body input[type="text"] {
  color: #000000;
  background-color: yellow;
}

div.gform-body select,
div.gform-body .form-control,
div.gform-body .form-select,
div.gform-body textarea,
div.gform-body input[type="text"],
div.gform-body input[type="email"] {
  height: 62px;
  padding: 0 25px 0 25px;
  padding-right: 45px;
  background-color: #ffffff;
  border: 1px solid #d2c5a6;
  border-radius: 0;
  font-size: 16px;
  width: 100%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

div.gform-body select,
div.gform-body .form-select {
  font-size: 18px;
  line-height: 62px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23016367' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 12px;
  padding-right: 50px;
}

div.gform-body select:focus,
div.gform-body .form-control:focus,
div.gform-body .form-select:focus,
div.gform-body textarea:focus,
div.gform-body input[type="text"]:focus,
div.gform-body input[type="email"]:focus {
  background-color: #ffffff;
  border: 1px solid #016367;
  outline: none;
  box-shadow: none;
}

div.gform-body label,
div.gform-body legend {
  color: #000000 !important;
  font-size: 18px !important;
  font-weight: 400;
}

/* Floating content blocks */
div.thumb .text-wrap-dark {
  padding: 20px 30px 20px 30px;
}

div.thumb .text-wrap-dark .sub-title {
  color: #ffffff;
}

div.wh-float-back {
  background-color: #ffffff !important;
  border: 1px solid #e8e3d7 !important;
}

@media screen and (max-width: 468px) {
  div.thumb .text-wrap-dark {
    background: rgba(0, 0, 0, 0.3);
    padding: 10px;
    margin-left: 10px;
    margin-right: 10px;
  }
}

/* Locations */
.wh-locations {
  display: block;
  text-align: center;
  padding-top: 20px;
  margin-top: 10px;
  padding-bottom: 30px;
}

.wh-locations .wh-d-title {
  font-family: "Lora", serif;
  font-size: 24px;
  color: #bfc995;
}

.wh-locations .wh-d-retailer {
  display: inline-block;
  min-width: 200px;
  max-width: 200px;
  min-height: 100px;
  text-align: center;
  vertical-align: top;
  margin-top: 20px;
  margin-bottom: 10px;
  margin-left: 10px;
  margin-right: 10px;
  border: 1px solid #bfc995;
  border-radius: 4px;
  padding: 0px;
  font-size: 16px;
  line-height: 24px;
}

.wh-locations .wh-d-retailer-title {
  padding: 10px 10px 5px 10px;
  border-radius: 4px;
  background-color: #bfc995;
  color: #2a3448;
  line-height: 18px;
  margin-top: -2px;
  min-height: 82px;
}

.wh-locations .wh-d-content {
  padding: 10px 10px 0px 10px;
}

.wh-locations .wh-d-name {
  color: #ffffff;
  font-size: 20px;
  line-height: 24px;
}

.wh-dispensaries .wh-d-name {
  color: #2a3448;
}

.wh-dispensaries .wh-d-retailer-title {
  color: #ffffff;
}

.wh-locations .wh-d-website {
  display: block;
  text-align: center;
  padding: 10px;
}

.wh-locations .wh-d-website-button {
  background-color: #bfc995;
  padding: 4px 20px 4px 20px;
  color: #ffffff;
  transition: all 300ms;
  text-transform: uppercase;
  font-size: 13px;
  border-radius: 12px;
}

.wh-locations .wh-d-website-button:hover {
  background-color: #c03130;
  transition: all 300ms;
}

body .wh-locations a,
body .wh-locations a:link,
body .wh-locations a:active,
body .wh-locations a:hover,
body .wh-locations a:visited {
  text-decoration: none;
}

body .wh-locations .wh-logo {
  display: block;
  width: 100%;
  text-align: center;
}

body .wh-locations .wh-logo img {
  max-height: 80px;
}

.wh-dispensaries {
  border-top: 1px solid #bfc995;
  padding-top: 15px;
}

/* Brands */
.wh-brands {
  border-top: 1px solid #bfc995;
  padding-top: 15px;
}

.wh-brands .wh-d-retailer {
  background-image: none;
}

.wh-brands .wh-d-title {
  font-family: "Lora", serif;
  color: #bfc995;
}

.wh-brands .wh-d-retailer-title {
  background-color: #bfc995;
  color: #8b5926;
}

.wh-brands .wh-d-name {
  color: #ffffff;
}

.wh-brands .wh-d-website-button {
  background-color: #bfc995;
  padding: 4px 20px 4px 20px;
  color: #ffffff;
  transition: all 300ms;
}

.wh-brands .wh-d-website-button:hover {
  background-color: #c03130;
  transition: all 300ms;
}

/* Reviews */
div.wh-review-wrapper {
  display: block;
  border-bottom: 1px solid #efefef;
  padding-top: 20px;
  padding-bottom: 20px;
  line-height: 24px;
}

div.wh_reviewer_organization {
  font-style: italic;
}

div.wh_rating_or_award,
div.wh_review_date_display {
  font-weight: bold;
}

div.wh-review {
  text-align: center;
}

/* Product detail */
div.wh-p-title {
  color: #cccccc;
  font-size: 20px;
  line-height: 26px;
  border-top: 1px solid #cccccc;
  margin-top: 15px;
}

div.wh-p-gallery {
  display: block;
  clear: both;
  padding: 0 20px 20px 20px;
}

div.wh-content-tab-title {
  font-family: "Lora", serif;
  text-transform: uppercase;
  color: #3f974f;
  font-size: 26px;
  line-height: 30px;
  margin-bottom: 15px;
}

div.wh-content-tab-name {
  font-family: "Lora", serif;
  text-transform: uppercase;
  color: #3f974f;
  font-size: 36px;
  line-height: 36px;
  margin-bottom: 15px;
}

span.wh-p-state {
  display: block;
  border-top: 1px solid #000000;
}

span.wh-p-name {
  font-weight: bold;
}

div.wh-p-retailer {
  padding-top: 20px;
  font-size: 16px;
  line-height: 20px;
}

div.article-content div.wh-p-retailer a {
  text-decoration: none;
}


/* ===================================================================
 * 25. Responsive Breakpoints (mobile-specific overrides)
 * =================================================================== */

@media only screen and (max-width: 768px) {
  div#logo {
    max-width: 200px;
    transition: 0.5s all;
    padding-bottom: 5px;
  }
  div#logo img {
    max-width: 200px;
  }
  div.mobile-button {
    margin-right: 10px;
  }
  div.wh-footer-left,
  div.wh-footer-right {
    display: none !important;
  }
  div#site-header-inner {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    transition: 0.5s all;
  }
}


/* ===================================================================
 * 25. Single Product Page — Custom Gallery + Info Layout
 * =================================================================== */

/* --- Product Grid (2 columns: gallery | info) --- */
.wh-product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: start;
  padding: 20px 0 40px;
}

/* --- Gallery --- */
.wh-product-gallery {
  position: sticky;
  top: 180px;
}

.wh-gallery-main {
  position: relative;
  aspect-ratio: 1;
  background: #f5f5f5;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 12px;
  border: 1px solid #e0e0e0;
}
.wh-gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s ease;
}

.wh-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  gap: 10px;
}
.wh-gallery-thumb {
  aspect-ratio: 1;
  background: #f5f5f5;
  border-radius: 3px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}
.wh-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wh-gallery-thumb.active {
  border-color: #698fb0;
}
.wh-gallery-thumb:hover {
  border-color: #698fb0;
}

/* --- Product Info --- */
.wh-prod-category {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #698fb0;
  margin-bottom: 6px;
  display: block;
}
.wh-prod-category a {
  color: #698fb0;
  text-decoration: none;
}
.wh-prod-category a:hover {
  text-decoration: underline;
}

div.wh-post-content .wh-prod-title {
  font-size: 36px;
  line-height: 36px;
  color: #016367;
  margin-bottom: 0px;
  font-weight: normal;
  padding-top: 5px;
  padding-bottom: 5px;
}

div.wh-post-content {
  padding-bottom: 30px;
}

/* =================================================================== *
 * CTA Box — reusable call-to-action (matches .wh-pdf-attachment style)
 * Usage: <div class="cta"> ... </div> anywhere in content
 * =================================================================== */
.cta {
  margin: 30px 0;
  padding: 25px 30px;
  background-color: #f5f4ef;
  border-left: 4px solid #859579;
}
.cta h3 {
  margin: 0 0 10px;
  font-size: 1.3em;
  color: #333;
}
.cta p {
  margin-bottom: 15px;
  color: #555;
}
.cta p:last-child {
  margin-bottom: 0;
}

.cta-coral {
  margin: 15px 0 5px 0;
  padding: 25px 30px;
  background-color: #f5f4ef;
  border-left: 4px solid #c75b39;
}

.cta-green {
  margin: 15px 0 5px 0;
  padding: 25px 30px;
  background-color: #f5f4ef;
  border-left: 4px solid #016367;
}

.cta-coral-transparent {
  margin: 15px 0 5px 0;
  padding: 25px 30px;
  background-color: transparent;
  border-left: 4px solid #c75b39;
}

.cta-green-transparent {
  margin: 15px 0 5px 0;
  padding: 25px 30px;
  background-color: transparent;
  border-left: 4px solid #016367;
}

.wh-prod-price-block {
  margin-bottom: 20px;
}
.wh-prod-price-block .woocommerce-Price-amount {
  font-size: 26px;
  color: #000000;
}
.wh-prod-price-block del .woocommerce-Price-amount {
  font-size: 20px;
  color: #999999;
}
.wh-prod-price-block ins {
  text-decoration: none;
}

.wh-prod-short-desc {
  font-family: "Source Serif 4", serif;
  font-size: 16px;
  color: #333;
  line-height: 24px;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e0e0e0;
}
.wh-prod-short-desc p:last-child {
  margin-bottom: 0;
}

/* --- Quantity stepper --- */
.wh-prod-field {
  margin-bottom: 16px;
}
.wh-prod-field-label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #333333;
  display: block;
  margin-bottom: 8px;
}
.wh-qty-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.wh-qty-stepper {
  display: flex;
  align-items: center;
  border: none;
  border-radius: 0;
  overflow: hidden;
  background: #f5f5f5;
}
.wh-qty-btn {
  width: 40px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #333333;
  cursor: pointer;
  transition: background 0.15s;
  border: none;
  background: #f5f5f5;
}
.wh-qty-btn:hover {
  background: #e8e8e8;
}
.wh-qty-val {
  width: 50px;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  color: #333333;
  border: none;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  padding: 0;
  height: 44px;
  background: #ffffff;
  outline: none;
  -moz-appearance: textfield;
  appearance: textfield;
}
.wh-qty-val::-webkit-outer-spin-button,
.wh-qty-val::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* --- Add to Cart button --- */
.wh-atc-row {
  display: flex;
  gap: 10px;
  margin-top: 20px;
  margin-bottom: 16px;
}
.wh-atc-main,
.wh-atc-main.button.alt,
.wh-atc-main.single_add_to_cart_button {
  flex: 1;
  padding: 15px 24px !important;
  background: #016367 !important;
  color: #efeee9 !important;
  border-radius: 0 !important;
  font-family: "Source Sans 3", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase;
  border: 1px solid #016367 !important;
  cursor: pointer;
  transition: all 300ms !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.wh-atc-main:hover,
.wh-atc-main:focus,
.wh-atc-main.button:hover,
.wh-atc-main.button:focus,
.wh-atc-main.button.alt:hover,
.wh-atc-main.button.alt:focus,
.wh-atc-main.single_add_to_cart_button:hover,
.wh-atc-main.single_add_to_cart_button:focus,
.wh-product-info .wh-atc-main:hover,
.wh-product-info button.wh-atc-main:hover {
  background-color: #efeee9 !important;
  color: #016367 !important;
  border-color: #016367 !important;
}

.wh-atc-main:disabled,
.wh-atc-main.button.alt:disabled,
.wh-atc-main.single_add_to_cart_button:disabled,
.wh-atc-main.disabled,
.wh-atc-main.button.alt.disabled,
.wh-atc-main.single_add_to_cart_button.disabled {
  background-color: #016367 !important;
  color: #efeee9 !important;
  border-color: #016367 !important;
  opacity: 1 !important;
  cursor: not-allowed;
}

.wh-atc-main:disabled:hover,
.wh-atc-main.button.alt:disabled:hover,
.wh-atc-main.disabled:hover {
  background-color: #016367 !important;
  color: #efeee9 !important;
  border-color: #016367 !important;
}

.wh-out-of-stock {
  padding: 16px 0;
  color: #cc0000;
}

/* --- Variable product form --- */
.wh-variations-form {
  margin-top: 4px;
}

.wh-variation-field {
  margin-bottom: 16px;
}

.wh-variation-select select {
  width: 100%;
  max-width: 320px;
  padding: 10px 14px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 15px;
  color: #333;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 0;
  appearance: auto;
  -webkit-appearance: auto;
  -moz-appearance: auto;
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.wh-variation-select select:focus {
  border-color: #016367;
  outline: none;
}

.wh-variation-select .reset_variations {
  display: inline-block;
  margin-left: 10px;
  font-size: 13px;
  color: #698fb0;
  text-decoration: none;
}

.wh-variation-select .reset_variations:hover {
  text-decoration: underline;
}

.wh-variations-form .single_variation_wrap .woocommerce-variation {
  margin-bottom: 12px;
}

.wh-variations-form .single_variation_wrap .woocommerce-variation-price {
  font-size: 22px;
  font-weight: 600;
  color: #13292A;
}

.wh-variations-form .single_variation_wrap .woocommerce-variation-price del {
  color: #aaa;
  font-size: 16px;
  font-weight: 400;
}

.wh-variations-form .single_variation_wrap .woocommerce-variation-price ins {
  text-decoration: none;
}

.wh-variations-form .single_variation_wrap .woocommerce-variation-availability p {
  margin: 4px 0 0;
  font-size: 14px;
}

.wh-prod-meta {
  margin-top: 12px;
  font-size: 13px;
  color: #999999;
}

/* --- Accordion --- */
.wh-accordion {
  border-top: 1px solid #e0e0e0;
  margin-top: 24px;
}
.wh-accordion-item {
  border-bottom: 1px solid #e0e0e0;
}
.wh-accordion-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #333333;
  cursor: pointer;
  background: none;
  border: none;
  text-align: left;
  transition: color 0.2s;
}
.wh-accordion-trigger:hover {
  color: #698fb0;
}
.wh-accordion-icon {
  width: 22px;
  height: 22px;
  border: 1.5px solid #dddddd;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #999999;
  flex-shrink: 0;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.wh-accordion-item.open .wh-accordion-icon {
  background: #000000;
  border-color: #000000;
  color: #ffffff;
}
.wh-accordion-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.wh-accordion-item.open .wh-accordion-body {
  max-height: 800px;
}
.wh-accordion-content {
  padding: 0 0 20px;
  font-family: "Source Serif 4", serif;
  font-size: 16px;
  font-weight: 400;
  color: #333;
  line-height: 24px;
}
.wh-accordion-content p {
  margin-bottom: 10px;
}
.wh-accordion-content p:last-child {
  margin-bottom: 0;
}

/* --- Single Product Responsive --- */
@media only screen and (max-width: 900px) {
  .wh-product-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .wh-product-gallery {
    position: static;
  }
}

@media only screen and (max-width: 520px) {
  .wh-atc-row {
    flex-wrap: wrap;
  }
  .wh-atc-main {
    min-width: 100%;
  }
  .wh-prod-title {
    font-size: 26px;
  }
}


/* ===================================================================
 * 26. Events Calendar
 * =================================================================== */

.rrh-calendar-wrapper {
  max-width: 100%;
  margin: 0 auto;
}

#rrh-calendar-container {
  transition: opacity 0.2s ease;
}

#rrh-calendar-container.rrh-cal-loading {
  opacity: 0.5;
  pointer-events: none;
}

/* Header with nav arrows */
.rrh-cal-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 15px;
}

.rrh-cal-title {
  font-family: "Oswald", sans-serif;
  font-size: 28px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #016367;
  min-width: 260px;
  text-align: center;
}

.rrh-cal-prev,
.rrh-cal-next {
  background: #016367;
  color: #efeee9;
  border: none;
  width: 40px;
  height: 40px;
  font-size: 24px;
  line-height: 40px;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.3s;
  font-family: "Source Sans 3", sans-serif;
}

.rrh-cal-prev:hover,
.rrh-cal-next:hover {
  background: #859579;
}

/* Day-of-week header */
.rrh-cal-dow {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background-color: #016367;
  color: #efeee9;
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.rrh-cal-dow-cell {
  padding: 8px 4px;
  text-align: center;
}

/* Calendar grid body */
.rrh-cal-body {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border-left: 1px solid #d5d4cf;
  border-top: 1px solid #d5d4cf;
}

.rrh-cal-cell {
  min-height: 120px;
  border-right: 1px solid #d5d4cf;
  border-bottom: 1px solid #d5d4cf;
  padding: 4px;
  background-color: #efeee9;
  vertical-align: top;
  position: relative;
}

.rrh-cal-cell.rrh-cal-empty {
  background-color: #f5f5f0;
}

.rrh-cal-cell.rrh-cal-today {
  background-color: #f0ebe0;
  box-shadow: inset 0 0 0 2px #cda34f;
}

.rrh-cal-day-num {
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #016367;
  padding: 2px 4px;
}

.rrh-cal-today .rrh-cal-day-num {
  color: #cda34f;
}

/* Event items within cells */
.rrh-cal-events {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 2px;
}

a.rrh-cal-event {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 3px;
  background-color: #13292a;
  text-decoration: none;
  transition: background-color 0.3s, box-shadow 0.3s;
  overflow: hidden;
}

a.rrh-cal-event:hover {
  background-color: #c75b39;
  box-shadow: 0 2px 6px rgba(0,0,0,0.25);
  text-decoration: none;
}

.rrh-cal-event-thumb {
  width: 32px;
  height: 32px;
  object-fit: cover;
  flex-shrink: 0;
}

.rrh-cal-event-title {
  font-family: "Source Serif 4", serif;
  font-size: 11px;
  line-height: 13px;
  color: #efeee9;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* Desktop only */
.rrh-cal-desktop {
  display: block;
}

.rrh-cal-mobile {
  display: none;
}

/* Mobile list view */
.rrh-cal-mobile-day {
  margin-bottom: 15px;
  border-bottom: 1px solid #d5d4cf;
  padding-bottom: 10px;
}

.rrh-cal-mobile-date {
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #016367;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
}

a.rrh-cal-mobile-event {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  margin-bottom: 6px;
  background-color: #13292a;
  text-decoration: none;
  transition: background-color 0.3s;
}

a.rrh-cal-mobile-event:hover {
  background-color: #c75b39;
  text-decoration: none;
}

.rrh-cal-mobile-thumb {
  width: 50px;
  height: 50px;
  object-fit: cover;
  flex-shrink: 0;
}

.rrh-cal-mobile-title {
  font-family: "Source Serif 4", serif;
  font-size: 16px;
  line-height: 20px;
  color: #efeee9;
}

.rrh-cal-no-events {
  font-family: "Source Serif 4", serif;
  font-size: 16px;
  color: #666;
  text-align: center;
  padding: 30px 0;
}

/* Responsive: switch to list at 768px */
@media screen and (max-width: 768px) {
  .rrh-cal-desktop {
    display: none;
  }

  .rrh-cal-mobile {
    display: block;
  }

  .rrh-cal-title {
    font-size: 22px;
    min-width: auto;
    letter-spacing: 2px;
  }

  .rrh-cal-prev,
  .rrh-cal-next {
    width: 36px;
    height: 36px;
    font-size: 20px;
    line-height: 36px;
  }
}

/* Mid-size: smaller cells */
@media screen and (min-width: 769px) and (max-width: 1092px) {
  .rrh-cal-cell {
    min-height: 100px;
  }

  .rrh-cal-event-thumb {
    width: 24px;
    height: 24px;
  }

  .rrh-cal-event-title {
    font-size: 10px;
    line-height: 12px;
    -webkit-line-clamp: 1;
  }
}


/* =======================================================================
   PAGINATION
   ======================================================================= */
.rrh-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 30px 0 10px;
  flex-wrap: wrap;
}

.rrh-pagination a,
.rrh-pagination span {
  display: inline-block;
  padding: 8px 14px;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  border-radius: 3px;
  transition: all 300ms;
}

.rrh-pagination a {
  background-color: #016367;
  color: #ffffff;
}

.rrh-pagination a:hover {
  background-color: #014b4e;
  color: #ffffff;
}

.rrh-pagination span.current {
  background-color: #cda34f;
  color: #13292a;
  font-weight: 600;
}

.rrh-pagination span.dots {
  background: none;
  color: #666;
  padding: 8px 6px;
}


/* =======================================================================
   PRODUCT CARDS — MOBILE
   ======================================================================= */
@media only screen and (max-width: 600px) {
  /* Legacy wh-product cards */
  li.wh-product {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }

  li.wh-product div.wh-shadow-border {
    width: 100%;
  }

  li.wh-product div.wh-image-wrapper {
    height: 0;
    padding-bottom: 100%;
    position: relative;
    overflow: hidden;
  }

  li.wh-product div.wh-image-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }

  /* WooCommerce product cards */
  li.wh-card-product {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .wh-card-product-image {
    height: 0 !important;
    padding-bottom: 100%;
    position: relative;
    overflow: hidden;
  }

  .wh-card-product-image img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }

}


/* ===============================================================
   RRH 004 — COLOR TOKENS
   =============================================================== */
:root {
    --rrh-dark:      #13292A;
    --rrh-charcoal:  #13292a;
    --rrh-sage:      #859579;
    --rrh-teal:      #016367;
    --rrh-cream:     #efeee9;
    --rrh-white:     #ffffff;
    --rrh-rust:      #c75b39;
    --rrh-rust-dk:   #a84a2e;
    --rrh-gold:      #e2a95a;
}


/* ===============================================================
   RRH 004 — SCROLL REVEAL
   =============================================================== */
.wh-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.wh-reveal.wh-visible {
    opacity: 1;
    transform: translateY(0);
}


/* ===============================================================
   RRH 004 — SECTION TITLES
   =============================================================== */
.whlist-title {
    text-align: center;
    font-family: "Source Serif 4", serif;
    color: var(--rrh-teal);
    font-size: 40px;
    font-weight: 500;
    letter-spacing: -2px;
    margin-bottom: 30px;
}


/* ===============================================================
   RRH 004 — SECTION CTA
   =============================================================== */
.rrh-section-cta {
    text-align: center;
    margin: 10px 0 30px;
}
.rrh-section-cta .wh-button {
    display: inline-block;
}


/* ===============================================================
   RRH 004 — EVENT CARDS (horizontal editorial + date badge)
   =============================================================== */
.rrh-events-grid {
    display: flex;
    flex-direction: column;
    gap: 28px;
    max-width: 960px;
    margin: 0 auto 30px;
    padding: 0 15px;
}

a.rrh-event-card,
a.rrh-event-card:active,
a.rrh-event-card:visited,
a.rrh-event-card:hover {
    position: relative;
    display: flex;
    background: var(--rrh-white);
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    transition: box-shadow 0.35s ease, transform 0.35s ease;
    text-decoration: none;
    color: inherit;
}
a.rrh-event-card:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,0.14);
    transform: translateY(-3px);
}

/* Date badge (left strip) */
.rrh-event-date-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 100px;
    padding: 20px 14px;
    background: var(--rrh-charcoal);
    color: var(--rrh-white);
    text-align: center;
    flex-shrink: 0;
    transition: background-color 0.35s ease;
}
.rrh-event-card:hover .rrh-event-date-badge {
    background-color: var(--rrh-rust);
}
.rrh-event-date-badge .rrh-badge-month {
    font-family: "Source Sans 3", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1;
}
.rrh-event-date-badge .rrh-badge-day {
    font-family: "Source Serif 4", serif;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.1;
    margin: 2px 0;
}
.rrh-event-date-badge .rrh-badge-year {
    font-family: "Source Sans 3", sans-serif;
    font-size: 13px;
    font-weight: 400;
    opacity: 0.85;
    line-height: 1;
}
.rrh-event-date-badge .rrh-badge-time {
    font-family: "Source Sans 3", sans-serif;
    font-size: 12px;
    font-weight: 400;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(255,255,255,0.35);
    line-height: 1.3;
}
/* When no parseable date, show custom text */
.rrh-event-date-badge.rrh-badge-custom {
    padding: 20px 10px;
}
.rrh-event-date-badge.rrh-badge-custom .rrh-badge-custom-text {
    font-family: "Source Serif 4", serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}

/* Event body (middle) */
.rrh-event-body {
    flex: 1;
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}
.rrh-event-body .rrh-event-title {
    font-family: "Source Serif 4", serif;
    font-size: 24px;
    font-weight: 600;
    color: var(--rrh-dark);
    margin: 0 0 6px;
    line-height: 1.25;
}
.rrh-event-body .rrh-event-date-text {
    font-family: "Source Sans 3", sans-serif;
    font-size: 14px;
    color: var(--rrh-rust-dk); /* ADA: 5.1:1 on white */
    font-weight: 600;
    margin-bottom: 10px;
}
.rrh-event-body .rrh-event-desc,
.wh-page .rrh-event-body .rrh-event-desc p {
    font-size: 16px;
    line-height: 18px;
    color: #555;
    margin: 0;
    padding: 5px 0;
}
.wh-page a.rrh-event-card:hover {
    color: inherit !important;
}
.wh-page a.rrh-event-card:hover .rrh-event-title {
    color: var(--rrh-charcoal) !important;
}
.wh-page a.rrh-event-card:hover .rrh-event-desc,
.wh-page a.rrh-event-card:hover .rrh-event-desc p {
    color: #555 !important;
}
.wh-page a.rrh-event-card:hover .rrh-event-date-text {
    color: var(--rrh-rust-dk) !important; /* ADA */
}
.rrh-event-body .rrh-event-readmore {
    display: inline-block;
    margin-top: 12px;
    font-family: "Source Sans 3", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rrh-teal);
    transition: color 0.25s;
}
.rrh-event-card:hover .rrh-event-readmore {
    color: var(--rrh-rust);
}

/* Event image (right) */
.rrh-event-img {
    width: 220px;
    flex-shrink: 0;
    overflow: hidden;
}
.rrh-event-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.rrh-event-card:hover .rrh-event-img img {
    transform: scale(1.06);
}


/* ===============================================================
   RRH 004 — PROJECT CARDS (vertical + gradient overlay + label)
   =============================================================== */
.rrh-projects-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 28px;
    max-width: 1100px;
    margin: 0 auto 30px;
    padding: 0 15px;
}

a.rrh-project-card,
a.rrh-project-card:active,
a.rrh-project-card:visited,
a.rrh-project-card:hover {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    background: var(--rrh-white);
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    transition: box-shadow 0.4s ease, transform 0.4s ease;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    width: 320px;
    flex-shrink: 0;
}
a.rrh-project-card:hover {
    box-shadow: 0 12px 36px rgba(0,0,0,0.16);
    transform: translateY(-5px);
}

/* Image area */
.rrh-project-img-wrap {
    position: relative;
    height: 240px;
    overflow: hidden;
}
.rrh-project-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}
.rrh-project-card:hover .rrh-project-img-wrap img {
    transform: scale(1.08);
}
/* Gradient overlay on image bottom edge */
.rrh-project-img-wrap::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to top, rgba(19,41,42,0.65) 0%, transparent 100%);
    pointer-events: none;
}
/* Floating label on image */
.rrh-project-label {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--rrh-charcoal);
    color: var(--rrh-white);
    font-family: "Source Sans 3", sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 4px 12px;
    border-radius: 3px;
    z-index: 2;
    transition: background-color 0.35s ease;
}
.rrh-project-card:hover .rrh-project-label {
    background-color: var(--rrh-rust);
}

/* Content area */
.rrh-project-content {
    padding: 22px 24px 26px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.rrh-project-content .rrh-project-title {
    font-family: "Source Serif 4", serif;
    font-size: 22px;
    font-weight: 600;
    color: var(--rrh-dark);
    margin: 0 0 10px;
    line-height: 1.25;
}
.rrh-project-content .rrh-project-desc,
.wh-page .rrh-project-content .rrh-project-desc p {
    font-family: "Roboto", sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    margin: 0;
    padding: 5px 0;
    flex: 1;
}
.wh-page a.rrh-project-card:hover {
    color: inherit !important;
}
.wh-page a.rrh-project-card:hover .rrh-project-desc,
.wh-page a.rrh-project-card:hover .rrh-project-desc p {
    color: #666 !important;
}
.wh-page a.rrh-project-card:hover .rrh-project-title {
    color: inherit !important;
}
/* Bottom accent bar */
.rrh-project-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--rrh-rust-dk), var(--rrh-rust), var(--rrh-gold), var(--rrh-rust), var(--rrh-rust-dk));
    transition: opacity 0.35s ease;
    opacity: 0;
}
.rrh-project-card:hover::after {
    opacity: 1;
}


/* ===============================================================
   RRH 004 — RESPONSIVE (events + projects)
   =============================================================== */
@media (max-width: 768px) {
    /* Events: stack vertically */
    .rrh-event-card {
        flex-direction: column;
    }
    .rrh-event-date-badge {
        flex-direction: row;
        gap: 12px;
        min-width: unset;
        padding: 14px 20px;
    }
    .rrh-event-date-badge .rrh-badge-day {
        font-size: 32px;
    }
    .rrh-event-date-badge .rrh-badge-time {
        margin-top: 0;
        padding-top: 0;
        border-top: none;
        border-left: 1px solid rgba(255,255,255,0.35);
        padding-left: 12px;
    }
    .rrh-event-img {
        width: 100%;
        height: 200px;
        order: -1;
    }
    .rrh-event-body {
        padding: 18px 20px;
    }

    /* Projects: single column */
    .rrh-project-card {
        width: 100%;
        flex-shrink: 1;
        max-width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 468px) {
    .whlist-title {
        font-size: 30px;
    }
    .rrh-event-body .rrh-event-title {
        font-size: 20px;
    }
    .rrh-project-img-wrap {
        height: 200px;
    }
}


/* ===============================================================
   RRH 004 — INFO BLOCK CARDS (top position, no label)
   =============================================================== */
.rrh-infoblocks-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 28px;
    max-width: 1100px;
    margin: 0 auto 30px;
    padding: 0 15px;
}

a.rrh-infoblock-card,
a.rrh-infoblock-card:active,
a.rrh-infoblock-card:visited,
a.rrh-infoblock-card:hover {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    background: var(--rrh-white);
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    transition: box-shadow 0.4s ease, transform 0.4s ease;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    width: 320px;
    max-width: 100%;
    flex-shrink: 0;
}
a.rrh-infoblock-card:hover {
    box-shadow: 0 12px 36px rgba(0,0,0,0.16);
    transform: translateY(-5px);
}

/* Image area */
.rrh-infoblock-img-wrap {
    position: relative;
    height: 240px;
    overflow: hidden;
}
.rrh-infoblock-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}
.rrh-infoblock-card:hover .rrh-infoblock-img-wrap img {
    transform: scale(1.08);
}
/* Gradient overlay on image bottom edge */
.rrh-infoblock-img-wrap::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to top, rgba(19,41,42,0.65) 0%, transparent 100%);
    pointer-events: none;
}

/* Content area */
.rrh-infoblock-content {
    padding: 22px 24px 26px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.rrh-infoblock-content .rrh-infoblock-title {
    font-family: "Source Serif 4", serif;
    font-size: 22px;
    font-weight: 600;
    color: var(--rrh-dark);
    margin: 0 0 10px;
    line-height: 1.25;
}
.rrh-infoblock-content .rrh-infoblock-desc,
.wh-page .rrh-infoblock-content .rrh-infoblock-desc p {
    font-family: "Roboto", sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    margin: 0;
    padding: 5px 0;
    flex: 1;
}
.wh-page a.rrh-infoblock-card:hover {
    color: inherit !important;
}
.wh-page a.rrh-infoblock-card:hover .rrh-infoblock-desc,
.wh-page a.rrh-infoblock-card:hover .rrh-infoblock-desc p {
    color: #666 !important;
}
.wh-page a.rrh-infoblock-card:hover .rrh-infoblock-title {
    color: inherit !important;
}
.rrh-infoblock-content .rrh-infoblock-button {
    display: inline-block;
    margin-top: 14px;
    font-family: "Source Sans 3", sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rrh-teal);
    transition: color 0.25s;
}
.rrh-infoblock-card:hover .rrh-infoblock-button {
    color: var(--rrh-rust);
}

/* Bottom accent bar */
.rrh-infoblock-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--rrh-rust-dk), var(--rrh-rust), var(--rrh-gold), var(--rrh-rust), var(--rrh-rust-dk));
    transition: opacity 0.35s ease;
    opacity: 0;
}
.rrh-infoblock-card:hover::after {
    opacity: 1;
}

@media (max-width: 768px) {
    .rrh-infoblock-card {
        width: 100%;
        max-width: 500px;
    }
}

@media (max-width: 468px) {
    .rrh-infoblock-img-wrap {
        height: 200px;
    }
}


/* ===============================================================
   RRH 004 — SINGLE EVENT HERO
   =============================================================== */
.rrh-event-hero {
    display: flex;
    gap: 0;
    background: var(--rrh-cream);
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(0,0,0,0.08);
    margin-bottom: 36px;
}

/* Date badge — left strip */
.rrh-event-hero .rrh-hero-date-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    padding: 28px 16px;
    background: var(--rrh-charcoal);
    color: #fff;
    text-align: center;
    flex-shrink: 0;
}
.rrh-hero-date-badge .rrh-badge-month {
    font-family: "Source Sans 3", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1;
}
.rrh-hero-date-badge .rrh-badge-day {
    font-family: "Source Serif 4", serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.1;
    margin: 4px 0;
}
.rrh-hero-date-badge .rrh-badge-year {
    font-family: "Source Sans 3", sans-serif;
    font-size: 13px;
    font-weight: 400;
    opacity: 0.85;
    line-height: 1;
}
.rrh-hero-date-badge .rrh-badge-time {
    font-family: "Source Sans 3", sans-serif;
    font-size: 12px;
    font-weight: 400;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,0.3);
    line-height: 1.4;
}
.rrh-hero-date-badge.rrh-badge-custom {
    padding: 28px 14px;
}
.rrh-hero-date-badge.rrh-badge-custom .rrh-badge-custom-text {
    font-family: "Source Serif 4", serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}

/* Info column — middle */
.rrh-event-hero .rrh-hero-info {
    flex: 1;
    padding: 32px 34px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    border-left: 4px solid var(--rrh-sage);
}
.rrh-hero-info .rrh-hero-title {
    font-family: "Source Serif 4", serif;
    font-size: 36px;
    font-weight: 600;
    color: var(--rrh-teal);
    margin: 0 0 10px;
    line-height: 1.2;
    letter-spacing: -1px;
}
.rrh-hero-info .rrh-hero-date-text {
    font-family: "Source Sans 3", sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--rrh-rust);
    margin-bottom: 6px;
}
.rrh-hero-info .rrh-hero-location {
    font-family: "Source Sans 3", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #555;
    margin-bottom: 4px;
}
.rrh-hero-info .rrh-hero-location strong {
    color: var(--rrh-dark);
    font-weight: 600;
}
.rrh-hero-info .rrh-hero-meta-link {
    font-family: "Source Sans 3", sans-serif;
    font-size: 14px;
    color: var(--rrh-teal);
    text-decoration: underline;
    margin-top: 2px;
}
.rrh-hero-info .rrh-hero-meta-link:hover {
    color: var(--rrh-rust);
}

/* Image column — right */
.rrh-event-hero .rrh-hero-image {
    flex: 0 0 380px;
    max-width: 380px;
    overflow: hidden;
}
.rrh-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* No image — info takes full width */
.rrh-event-hero.rrh-hero-no-image .rrh-hero-info {
    flex: 1;
}

/* Bottom accent bar */
.rrh-hero-accent-bar {
    height: 4px;
    background: linear-gradient(90deg, var(--rrh-teal), var(--rrh-rust));
    border-radius: 0 0 6px 6px;
    margin-top: -4px;
    margin-bottom: 32px;
}

/* Breadcrumb spacing above hero */
.rrh-event-hero-wrapper .breadcrumbs {
    margin-bottom: 20px;
}

/* Long description canvas */
.rrh-event-description {
    background: #fff;
    border-radius: 6px;
    padding: 32px 36px;
    box-shadow: 0 1px 8px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}
.rrh-event-description p:first-child {
    margin-top: 0;
    padding-top: 0;
}
.rrh-event-description p:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Single event hero — tablet */
@media screen and (max-width: 992px) {
    .rrh-event-hero .rrh-hero-image {
        flex: 0 0 260px;
        max-width: 260px;
    }
    .rrh-hero-info .rrh-hero-title {
        font-size: 28px;
    }
}

/* Single event hero — mobile */
@media screen and (max-width: 767px) {
    .rrh-event-hero {
        flex-direction: column;
    }
    .rrh-event-hero .rrh-hero-date-badge {
        flex-direction: row;
        min-width: unset;
        padding: 14px 20px;
        gap: 10px;
    }
    .rrh-hero-date-badge .rrh-badge-day {
        font-size: 32px;
    }
    .rrh-hero-date-badge .rrh-badge-time {
        margin-top: 0;
        padding-top: 0;
        border-top: none;
        border-left: 1px solid rgba(255,255,255,0.3);
        padding-left: 10px;
        margin-left: 4px;
    }
    .rrh-event-hero .rrh-hero-info {
        border-left: none;
        border-top: 4px solid var(--rrh-sage);
        padding: 20px 20px;
    }
    .rrh-hero-info .rrh-hero-title {
        font-size: 26px;
    }
    .rrh-event-hero .rrh-hero-image {
        flex: unset;
        max-width: 100%;
        max-height: 280px;
    }
    .rrh-event-description {
        padding: 20px 18px;
    }
}


/* ===============================================================
   RRH 004 — HOME PAGE SLIDER (full height override)
   =============================================================== */
@media screen and (min-width: 769px) {
    .slider-home .slider-background {
        height: 700px;
    }
    .slider-home .slider-overlay {
        height: 700px;
    }
    .slider-home.slider {
        height: 700px;
    }
    .slider-home .wh-slider-title,
    .slider-home .wh-slider-title2 {
        font-size: 72px;
        line-height: 72px;
    }
    .slider-home .wh-slider-description {
        font-size: 24px;
        line-height: 30px;
        padding: 15px 0 10px 0;
    }
    .slider-home .wh-slider-button {
        font-size: 18px;
        line-height: 18px;
        padding: 15px 25px 12px 25px;
        margin-top: 15px;
    }
}

/* wh-start hide duplicate "Lost your password?" link in login-with-ajax popup */
.lwa-bones .lwa.lwa-login .lwa-links a.lwa-links-remember { display: none !important; }
/* wh-end hide duplicate "Lost your password?" link in login-with-ajax popup */
