/*
Theme Name: NCB Theme
Theme URI: https://ncb.play-cricket.com/
Author: NCB
Description: A clean, lightweight WordPress theme for Northumberland Cricket Board.
Version: 1.0.0
Text Domain: ncb_theme
*/

/* ========================================
   GLOBAL
======================================== */

* {
	box-sizing: border-box;
}

html {
	margin: 0;
	padding: 0;
}

body {
	margin: 0;
	padding: 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	color: #222;
	background: #fff;
}


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

/* Montserrat throughout */

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
li,
input,
.site-navigation ul.menu li a,
.site-navigation-dropdown ul.menu li a,
.e-n-tab-title,
.featured_title,
.testimonial-quote .wp-block-paragraph,
.woocommerce-Price-amount,
.elementor-counter-number,
.elementor-counter-number-suffix,
.elementor-counter-number-prefix,
.testimonial-author,
.course_meta {
	font-family: 'Montserrat', sans-serif !important;
}


/* Body text */

p,
ul,
li{
	font-weight: 300 !important;
	line-height: 1.4em !important;
	font-optical-sizing: auto;
	font-style: normal;
}


/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 800 !important;
	margin-top: 0;
	letter-spacing:-2px;
}

h1 {
	font-size: 5em !important;
	line-height: 0.9em !important;
	text-transform:uppercase;
}

h2 {
	font-size: 4em !important;
	line-height: 1em !important;
	text-transform:uppercase;
}

h3 {
	font-size: 2.5em !important;
	line-height: 1.4em !important;
	text-transform:uppercase;
}

h4 {
	font-size: 1.5em !important;
	line-height: 1.4em !important;
}

h5 {
	font-size: 1em !important;
	line-height: 1.4em !important;
}

h6 {
	line-height: 1.4em !important;
}

@media only screen and (max-width: 768px) {

h1{
font-size: 3em !important;
}

h2{
font-size: 2.5em !important;
}
	
h3{
font-size: 2em !important;
}
	
h4{
font-size: 1.25em !important;
}
	
h5{
font-size: 1em !important;
}
}

.small_caps{
text-transform:uppercase !important;
letter-spacing:5px;
line-height:1em !important;
}

.center_align{
text-align:center !important;
}

.left_align{
text-align:left !important;	
}

.home_header{
min-height:70vh;
padding-top:100px;
padding-bottom:25px;
}

.home_header *{
background-repeat:no-repeat !Important;
}

@media only screen and (max-width: 768px) {
.home_header{
min-height:0;
padding-top:0;
padding-bottom:25px;
}
}

.min_height_33{
min-height:33vh;
}

.min_height_40{
min-height:40vh;
}

.min_height_50{
min-height:50vh;
}

.min_height_70{
min-height:70vh !important;
}

@media only screen and (max-width: 768px) {
.min_height_70{
min-height:0;
}
}

.min_height_90{
min-height:90vh;
}

/* TEXT COLOURS */

.half_white_text, .half_white_text *{
color:rgba(255,255,255,0.75) !important;
}

.white_text, .white_text *{
color:#ffffff !important;
}

.black_text, .black_text *{
color:#1e2026 !important;
}

.green_text, .green_text *{
color:#67da82 !important;
}

.light_grey_text, .light_grey_text *{
color:#cccccc !important;
}

.grey_text, .grey_text *{
color:#999999 !important;
}

/* BACKGROUND COLOURS */

.white_bkg {
background-color:#ffffff !important;
}

.black_bkg {
background-color:#1e2026 !important;
}

.green_bkg {
background-color:#67da82 !important;
}

.grey_bkg{
background-color: #f4f5f6 !important;
}

.white_grey_bkg {
background: #FFFFFF;
background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(244, 245, 246, 1) 100%) !important;
}

.grey_white_bkg {
background: #FFFFFF;
background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(244, 245, 246, 1) 100%) !important;
}

.photo_bkg{
	background-size:cover !important;
	background-position:center center !important;
}

.photo_bkg_fixed{
	background-size:cover !important;
	background-position:center center !important;
	background-attachment:fixed !important;
}

/* PADDINGS */

.no_margin_padding, .nomarginpadding,
.no_margin_padding div, .nomarginpadding div{
margin:0px !important;
padding:0px !important;
}

.no_margin_padding_p h1,
.no_margin_padding_p h2,
.no_margin_padding_p h3,
.no_margin_padding_p h4,
.no_margin_padding_p p{
margin:0px !important;
padding:0px !important;
}

.padding_50_top_bottom{
padding-top:50px !important;
padding-bottom:50px !important;
}

.margin_top_20{
margin-top:20px !important;
}

.margin_bottom_20{
margin-bottom:20px !important;
}

.margin_bottom_50{
margin-bottom:50px !important;
}

.padding_20{
padding:20px !important;	
}

.padding_25{
padding:25px !important;	
}

.padding_50{
padding:50px !important;
}

@media only screen and (max-width: 768px) {
.padding_50{
padding:20px !important;
}
}

.padding_top_50{
padding-top:50px !important;
}

.padding_bottom_50{
padding-bottom:50px !important;
}

.padding_bottom_25{
padding-bottom:25px !important;
}

.padding_top_25{
padding-top:25px !important;
}

.padding_right_10{
padding-right:10px !important;
}

.padding_right_20{
padding-right:20px !important;
}

.padding_top_150{
padding-top:150px !important;
}

@media only screen and (max-width: 768px) {
.padding_top_150{
padding-top:20px !important;
}
}

/* WIDTHS */

.max_width_80{
max-width:80% !important;
}

@media only screen and (max-width: 768px) {
.max_width_80{
max-width:100% !important;
}
}


.line_height_1,
.line_height_1 h1,
.line_height_1 h2,
.line_height_1 h3,
.line_height_1 h4,
.line_height_1 h5,
.line_height_1 p{
line-height:1em !important;
}


/* =========================
   BUTTONS
========================= */

/* Shared button style */
.elementor-button,
.button,
button:not(.slick-slider button):not(.e-n-tab-title):not(.custom-gallery-image):not(.wc-block-components-quantity-selector button):not(button.wc-block-cart-item__remove-link),
.elementor-button,
.wpcf7-submit,
.um-button,
.wc-block-cart__submit-button{
	font-size:1.2em !Important;
	font-family: 'Montserrat', sans-serif !important;
	text-transform:uppercase;
    display: inline-block !important;
    padding: 14px 28px !important;
    background: #f5f5f5 !important;
    color: #222 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    border: 2px solid #222 !important;
    box-shadow:
        4px 4px 0 #222 !important;
transition: transform 0.12s ease, box-shadow 0.12s ease !important;
	border-radius:0 !important;
	margin-bottom:10px !important;
}

/* HOVER */
.elementor-button:hover,
.button:hover,
button:not(.slick-slider button):not(.e-n-tab-title):hover:not(.mega-toggle-animated):not(.mega-close),
.elementor-button:hover,
.um-button:hover,
.wc-block-cart__submit-button:hover,.wpcf7-submit:hover{
transform: translate(-2px, -2px) !important;
box-shadow:6px 6px 0 #222 !important;
}

/* ACTIVE */
.button:active,
button:not(.slick-slider button):not(.e-n-tab-title):active:not(.mega-toggle-animated):not(.mega-close),
.elementor-button:active,
.um-button:active,
.wc-block-cart__submit-button:active,.wpcf7-submit:active{
transform: translate(3px, 3px) !important;
box-shadow:1px 1px 0 #222 !important;
}

.green_button{
color: #67da82 !important;
border: 2px solid #67da82 !important;
box-shadow:
4px 4px 0 #67da82 !important;
}

.green_elementor_button .elementor-button{
	background:none !important;
color: #67da82 !important;
border: 2px solid #67da82 !important;
box-shadow:4px 4px 0 #67da82 !important;
	margin-bottom:10px !important;
}

.green_elementor_button .elementor-button:hover{
color: #67da82 !important;
transform: translate(-2px, -2px) !important;
box-shadow:6px 6px 0 #67da82 !important;
}

.green_elementor_button .elementor-button:active{
transform: translate(3px, 3px) !important;
box-shadow:1px 1px 0 #67da82 !important;
}

.white_elementor_button .elementor-button{
	margin-bottom:10px !important;
	background:none !important;
color: #ffffff !important;
border: 2px solid #ffffff !important;
box-shadow:4px 4px 0 #ffffff !important;
}

.white_elementor_button .elementor-button:hover{
color: #ffffff !important;
transform: translate(-2px, -2px) !important;
box-shadow:6px 6px 0 #ffffff !important;
}

.white_elementor_button .elementor-button:active{
transform: translate(3px, 3px) !important;
box-shadow:1px 1px 0 #ffffff !important;
}


/* =========================
   CONTACT FORM 7
========================= */

/* Form wrapper: full width */
.wpcf7-form {
    width: 100%;
    font-family: 'Henrietta regular', sans-serif;
    color: #333;
}

/* Labels */
.wpcf7-form label {
    font-family: 'Henrietta regular', sans-serif;
    display: block;
    margin-bottom: 5px;
}

.wpcf7-form .labelz {
color: #999999;
}

/* Inputs, textareas, selects */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="password"],
.wpcf7-form textarea,
.wpcf7-form select {
    font-family: 'Henrietta regular', sans-serif !important;
    width: 100%;
    padding: 12px 16px;
    margin-top: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #fff;
    font-size: 16px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Focus state */
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    outline: none;
}



/* Placeholder text */
.wpcf7-form ::placeholder {
    color: #aaa;
    font-style: italic;
}



/* Error messages */
.wpcf7-not-valid-tip {
    color: #ff0000;
    font-size: 14px;
    margin-top: -10px;
    margin-bottom: 10px;
    display: block;
}



/* CF7 submit button spacing */
.wpcf7-submit {
margin-top: 25px !important;
}




/*--FOR CLOSED MODELS--*/
.closed-models {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    width: 100%;
}

.closed-model {
display: block !important;
width:300px !important;
height:300px !important;
text-decoration: none !important;
}

.closed-model-image {
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.closed-model-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 25px;
    background: rgba(0, 0, 0, 0.35);
}

.closed-model h3 {
    margin: 0;
    color: #fff;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 48px;
    line-height: 1;
    text-align: center;
}

.closed-model-description {
    width: 100%;
    box-sizing: border-box;
    padding-top: 15px;
}






/* MODALS */

.custom-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.6);
}

.custom-modal-content {
  background-color: #fff;
  margin: 5% auto;
  padding: 0;
  border-radius: 10px;
  max-width: 800px;
  width: 90%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  position: relative;
}

.custom-close {
  color: #000;
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}


/* STYLE SLICK BUTTONS */

.slick-next,
.slick-prev {
color: transparent !important;
font-size: 0 !important;
padding:0px !important;
border:0px !important;
background:none !important;
}


.elementor_header_standard{
color: #fff;
padding: 125px 20px 25px;
}

.elementor_header_standard h1{
color: #ffffff !important;
}

.elementor_main_standard{
	padding-top:50px !important;
	padding-bottom:50px !important;
}

   /* Background overlay for header, main content, and footer */
.elementor_header_standard::before,
.elementor_main_standard::before{
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100%;
            background-image: url("https://hhdevelopment.co.uk/wp-content/uploads/2025/10/flower_2.png");
            background-repeat: no-repeat;
            background-size: cover;
            background-attachment: fixed;
            opacity: 0.03;
            pointer-events: none;
            z-index: 0;
        }

/* HEADER AND FOOTER */

#site-header{
position:absolute;
z-index:99;
width:100vw;
transition:0.5s background;
padding:20px;
background: #ffffff;
}



.site-header .header-inner {
max-width:100% !important;
padding:0px !important;
}

@media only screen and (max-width: 768px) {
.site-header .header-inner {
flex-wrap: nowrap;
}
}

.home #site-header{
background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
}

#site-header::after {
content: "";
position: absolute;
left: 20px;
right: 20px;
bottom: 10px;
height: 1px; /* thickness of border */
background-color: #ffffff; /* border color */
opacity:0;
transition:0.5s opacity;
}

.scrolled #site-header::after {
opacity:1;
transition:0.5s opacity;
}

.scrolled #site-header{
transition:0.5s background;
position: fixed;
top:-5px !important;
transition:0.5s all !important;
background: #ffffff;
}


.woocommerce-cart #site-header,
.woocommerce-cart .scrolled #site-header,
.woocommerce-checkout #site-header,
.woocommerce-checkout .scrolled #site-header{
position:relative !important;
}


.custom-logo-link{
display:block !important;
width:100px !important;
margin:0px 20px;
transition:0.5s opacity;
}

/*.home .custom-logo-link{
opacity:0;
}*/

.scrolled .custom-logo-link{
opacity:1;
transition:0.5s opacity;
}

#site-footer{
background-color:#231f21;
}

/* DROPDOWNS */

/* Dropdown Wrapper (optional, for layout control) */
.select-wrapper {
  position: relative;
  display: inline-block;
  width: 250px;
}

/* Base Dropdown */
select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #ffffff;
  border: 2px solid #78B4AC;
  color: #164142;
  padding: 12px 45px 12px 15px;
  font-size: 1rem;
  font-family: inherit;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* Custom arrow using pseudo-element */
.select-wrapper::after {
  content: "▼";
  font-size: 0.8rem;
  color: #78B4AC;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  transition: transform 0.3s ease;
}

/* Hover and focus effects */
select:hover {
  border-color: #164142;
  box-shadow: 0 4px 12px rgba(120,180,172,0.15);
}

select:focus {
  outline: none;
  border-color: #164142;
  box-shadow: 0 0 0 3px rgba(120,180,172,0.3);
}

/* Active state (when clicked) */
.select-wrapper:has(select:focus)::after {
  transform: translateY(-50%) rotate(180deg);
}

/* Option styling (browser-dependent, still helps a bit) */
select option {
  background-color: #fff;
  color: #164142;
  padding: 10px;
}


/* STICKY */
.sticky-div {
  position: sticky;
  top: 0px; /* distance from the top of the viewport */
  padding: 110px 0 20px 0 !important;
  z-index: 90; /* ensure it stays above other elements */
}

/* STICKY */
.sticky-div-filter {
  position: sticky;
  top: 0px; /* distance from the top of the viewport */
}

/*==================================================*/

.um .um-field-label {
color: #ffffff !important;
font-family: 'Henrietta regular' !important;

}

.um-field-label label {
font-size: 18px !important;
line-height: 22px !important;
font-weight: 400 !important;
}

.holder_image img{
width:100%;
height:auto;
}



.custom-posts-grid {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
gap: 25px;
}

.post-card {
  flex: 1 1 calc(33.333% - 20px);
  max-width: 33.333%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.post-thumb {
  width: 100%;
  aspect-ratio: 1 / 1; /* Keeps the container perfectly square */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.post-content {
padding: 20px;
display: flex;
flex-direction: column;
justify-content: flex-start;
flex: 1;
}

.post-date {
text-transform:uppercase;
color: #cccccc;
margin: 10px 0 20px 0 !important;
padding:0px !important;
letter-spacing: 5px;
}

.post-title {
font-size: 1.2rem;
line-height:1em !important;
margin: 0px !important;
padding:0px !important;
}

.post-excerpt {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 15px;
}

.read-more {
  align-self: flex-start;
  padding: 8px 14px;
  background: #000;
  color: #fff;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
}

.read-more:hover {
}

.custom-pagination {
  text-align: center;
  margin-top: 30px;
  width: 100%;
}

.custom-pagination a,
.custom-pagination span {
  display: inline-block;
  margin: 0 5px;
  padding: 8px 12px;
  background: #f4f4f4;
  color: #333;
  text-decoration: none;
}

.custom-pagination .current {
  color: #fff;
}

/* Responsive */
@media (max-width: 1024px) {
  .post-card {
    flex: 1 1 calc(50% - 20px);
    max-width: 50%;
  }
}

@media (max-width: 768px) {
  .post-card {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

.um-account-heading, .um-account-name{
display:none !important;
}




.box{
	background-color: #fff;
    border-radius: 8px;
    -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .2);
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .2);
    margin: 48px 0 24px;
    position: relative;
}


/* TOP BAR */
.top-bar {
background: #231f21;
padding: 10px 15px;
}

.top-bar .container {
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 auto;
}

.top-bar .top-left span {
margin-right: 20px;
color: #fff;
}

.top-bar .top-right .top-nav-list {
  list-style: none;
  display: flex;
  gap: 15px;
  margin: 0;
  padding: 0;
}

.top-bar .top-right .top-nav-list li a {
color: #fff;
text-decoration: none;
transition: color 0.3s;
}

.top-bar .top-right .top-nav-list li a:hover {
color: #0073e6;
}

@media (max-width: 768px) {
.top-bar .container, .top-nav-flex {
display:block !important;
}
.logged-in-role, .top-left{
display:none !important;	
}
}


/* MAX MEGA MENU */

.widget_media_image,
.mega-menu-item{
padding:0px !important;
margin:0px !important;
font-family: 'Henrietta regular' !important;
}

.widget_media_image img{
max-width:60px !important;
height:auto !important;
margin:0px auto !important;
}

.mega-menu-item-722 a,
.mega-menu-item-2115 a,
.mega-menu-item-2116 a,
.mega-menu-item-2117 a{
text-align:center !important;
padding:0px !important;
margin:0px !important;
}

.textwidget p{
font-family: "DM Sans", sans-serif !important;
font-weight:400 !important;
font-optical-sizing: auto !important;
font-style: normal !important;
padding:0px !important;
margin:5px 0 20px !important;
}



/* Make sure each column is hoverable */
#mega-menu-1358-1-1,
#mega-menu-1358-1-2,
#mega-menu-1358-1-3 {
  position: relative;
  
}

/* Smooth transitions for image and text */
#mega-menu-1358-1-1 img,
#mega-menu-1358-1-2 img,
#mega-menu-1358-1-3 img,
#mega-menu-1358-1-1 a.mega-menu-link,
#mega-menu-1358-1-2 a.mega-menu-link,
#mega-menu-1358-1-3 a.mega-menu-link {
transition: all 0.5s !important;
}



/* SIGN IN AND SIGN UP FORM */

.page-id-1190 .um-field-checkbox-option, .um-field-radio-option {
color: #fff !important;
}

.page-id-1190  .um-field-checkbox-state i, .page-id-1190  .um-field-radio-state i {
color: #fff !important;
}

.um-2938 ._um_row_1{
display:flex !important;
padding:0px !important;
max-width:100% !important;
}

.um-2938.um{
width:100% !important;
max-width:100% !important;
}

.um-2938 .um-col-121{
margin-right:10px !important;
}
.um-2938 .um-col-122{
margin-left:10px !important;
}

/* TOP NAV LOGIN BUTTON */

/* Parent menu item */
.login_top_nav_button {
  position: relative; /* needed for dropdown positioning */
  display: inline-block; /* ensures width behaves like button */
	text-align:center;
}

/* Parent button styling */
.login_top_nav_button > a {
  background-color: #D81159; /* button color */
  color: #fff !important;
  padding: 5px 15px;
  border-radius: 16px; /* fully rounded initially */
  text-decoration: none;
  display: inline-block;
  transition: background-color 0.3s ease, box-shadow 0.3s ease, border-radius 0.3s ease;
}

/* ALT TOP HEADER BUTTON */
.alt_top_header_button{
color:#ffffff !important;
background:none !important;
border:1px solid #ffffff !important;
padding: 4px 14px !important;
margin-right:10px !important;
}

/* Button hover: connected effect */
.login_top_nav_button:hover > a{
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Button hover: connected effect */
.reg_top_header_button:hover,
.alt_top_header_button:hover{
background-color: #ffffff !important;
color:#231f21 !important;
transition:0.5s all !important;
}



/* Wrap menu + role text side by side */
.top-nav-flex {
  display: flex;
  align-items: center;
  justify-content: flex-end; /* aligns both to the right if needed */
  gap: 16px; /* space between role text and menu */
}

/* Role text styling */
.logged-in-role {
  list-style: none;
  margin: 0;
  padding: 0;
  font-weight: 500;
  color: #ffffff;
}

/* Make sure dropdown button aligns nicely with role text */
.top-nav-list {
  display: flex;
  align-items: center;
  gap: 16px;
}

.force_border_radius,
.force_border_radius a{
border-radius:16px !important;
}

.dashicons-span {
font-size: 16px;         /* Adjust icon size */
margin-left: 3px;        /* Space from menu text */
vertical-align: middle;  /* Align with text */
color: #cccccc;     /* Inherit menu text color */
display: inline-block;
transition: color 0.3s ease;
}

.white_button a{
color: #231f21 !important;
background:#ffffff !important;	
}

.white_outline_button,
.white_outline_button a, button.white_outline_button{
background:none !important;
color:#ffffff !important;
border:1px solid #ffffff !important;
}

.black_outline_button,
.black_outline_button a, button.black_outline_button{
background:none !important;
color:#231f21 !important;
border:1px solid #231f21 !important;
}

.white_button a:hover, .white_outline_button a:hover, .black_outline_button a:hover{
background: #231f21 !important;
color:#ffffff !important;	
}

.mega-indicator{
display:none !important;
}


.dropdown-button-wrapper {
            position: relative;
            display: inline-block;
        }
        .dropdown-btn {
            color: #ffffff;
            padding: 14px 24px;
            font-size: 16px;
            border: none;
            border-radius: 8px;
            cursor: pointer;
            transition: background-color 0.3s ease, box-shadow 0.3s ease;
        }
        .dropdown-btn:hover {
            background-color: #58a59b;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        }
        .dropdown-menu {
            display: none;
            position: absolute;
            top: calc(100% + 0px);
            left: 0;
            background-color: #ffffff;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            box-shadow: 0 8px 16px rgba(0,0,0,0.1);
            min-width: 220px;
            padding: 8px 0;
            z-index: 1000;
        }
        .dropdown-menu li {
            list-style: none;
        }
        .dropdown-menu li a {
            display: block;
            color: #333333;
            text-decoration: none;
            padding: 12px 20px;
            transition: background-color 0.2s ease;
        }
        .dropdown-menu li a:hover {
            background-color: #f5f5f5;
        }
        .dropdown-button-wrapper:hover .dropdown-menu {
            display: block;
        }



/* BKG SCROLLER */

.scroller {
min-height:50vh !important; /* adjust as needed */
background-image: url('/wp-content/uploads/2025/11/text-scaled.gif');
background-repeat: repeat-x;
background-size: cover;
background-position: 0 0;
will-change: background-position;
transition: 0s all !important;
}

.checkbox-filter label {
    display: block;
    margin-bottom: 8px; /* optional spacing between checkboxes */
}

/* USER PAGE */
.um-account-side i::before {
color: rgba(255, 255, 255, 1);
}

div.uimob800 .um-account-side li a.current{
background-color:#231F24 !important;
border-radius:8px !important;
}

.um .um-cover-add:hover, .um .um-field-checkbox.active:not(.um-field-radio-state-disabled) i, .um .um-field-radio.active:not(.um-field-radio-state-disabled) i, .um .um-item-meta a, .um .um-member-less a:hover, .um .um-member-more a:hover, .um .um-member-name a:hover, .um .um-members-pagi a:hover, .um .um-profile-subnav a.active, .um .um-tip:hover, .um-account-name a:hover, .um-account-nav a.current, .um-account-side li a.current span.um-account-icon, .um-account-side li a.current:hover span.um-account-icon, .um-dropdown li a:hover, i.um-active-color, span.um-active-color {
color: #231F24 !important;
}

div.uimob800 .um-account-side ul {
border: none !important;
}

.um-request-button {
background-color: #231F24 !important;
}

.um .um-tip {
color: #231F24 !important;
}

.um-field-checkbox:hover i, .um-field-radio:hover i {
color: #231F24 !important;
}

.um-field-checkbox-state i, .um-field-radio-state i {
color: #ffffff !important;
}

.um-field-checkbox-option, .um-field-radio-option {
color: #ffffff !important;
}

.um:not(.um-admin) {
color: rgba(255,255,255,0.5) !important;
}

.um-account-main label {
font-size: 13px !important;
}

.um label:not(.um-field-label label){
margin-bottom:10px !important;
}

.um-account-wrapper .um-field-checkbox-option,
.um-account-wrapper .um-field-radio-option {
color: #ffffff !important;
}

.um-account-side li {
background: none !important;
border-radius:4px !important;
}

.um-account-side li a.current, .um-account-side li a.current:hover {
background-color: #231F24 !important;
}

.um-account-side li a span.um-account-title {
color: #ffffff !important;
}

.um-account-side li a:hover span.um-account-title {
color: #231F24 !important;
}

.um-account-side li a.current span.um-account-title {
color: #ffffff !important;
}

.um-field-export_data{
display:none !important;
}

.um-account-side li a:hover {
color: #231F24 !important;
background: #ffffff !important;
}

.um-account-side li a:hover i::before{
color: #231F24 !important;
}

.um-account-side li a.current:hover i::before{
color: #ffffff !important;
}

.um-account-side li a {
font-size:16px !important;
}

.um-account-main .um-account-nav a {
color: #ffffff !important;
}





/* ==== EVENTS STYLING (APPLIES TO BOTH SHORTCODES) ==== */


.upcoming-events .event {
    display: flex;
    align-items: flex-start;
    position: relative;
padding: 1.5rem;
    margin: 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
}

@media (max-width: 768px) {
	.upcoming-events .event {
	width:100% !important;
	}	
}

.event-date-badge {
	padding:8px 5px !important;
    width: 45px;
    text-align: center;
    background: #231f21;
    color: #fff;
    margin-right: 15px;
    flex-shrink: 0;
top:-10px;
right:0px;
	position:absolute;
}

.event-date-badge .day {
    font-size: 1.5rem;
    font-weight: bold;
	line-height:1em !important;
	padding:0px !important;
	margin:0px !important;
}

.event-date-badge .month {
    font-size: 0.9rem;
    text-transform: uppercase;
	line-height:1em !important;
	padding:0px !important;
	margin:0px !important;
}

.event-date-badge .year {
    font-size: 0.7rem;
    opacity: 0.8;
		line-height:1em !important;
	padding:0px !important;
	margin:0px !important;
}

.upcoming-events .event h2 {
	color:#164142;
    margin-top: 0;
    margin-bottom: 10px;
	margin-right:40px;
}

.upcoming-events .event .description {
    margin-bottom: 10px;
}


/* Container for full events page */
.upcoming-events {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 3rem;
  margin: 0;
  padding: 0;
}

/* Container for the "next three events" block */
.next-events {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  margin: 2rem auto;
  padding: 0 1rem;
}

/* Each individual event card */
.event {
  background: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  flex: 1 1 300px;
  max-width: 350px;
  display: flex;
  flex-direction: column;
}

/* Hover lift effect */
.event:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.12);
}

/* Event image */
.event img {
width: 100%;
height: 200px;
object-fit: cover;
margin-bottom:10px;
}

/* Content wrapper */
.event h2,
.event h3 {
font-size: 1.5rem;
font-weight: 600;
line-height: 1;
}

/* "More Info" link button */
.event a {
display: inline-block;
color: #fff;
padding: 0.6rem 1.2rem;
text-decoration: none;
margin: 1rem auto 0px;
transition: background 0.25s ease;
}

.event a:hover {
background: #a30000;
}

/* Description (for full page version) */
.event .description {
color: #444;
font-size: 0.95rem;
line-height: 1.5;
}

.event .description p{
margin:0px !important;
}

/* Responsive tweaks */
@media (max-width: 768px) {
  .upcoming-events, .next-events {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .event {
    max-width: 90%;
  }
}


.um-account-nav a {
color: #fff !important;
}

.raspberry_bkg {
/*background-color: #a63e50;
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: space-around;
    width: 100%;
    padding: 20px !important;
    box-sizing: border-box;*/
}

.icon-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1 1 150px; /* responsive width */
}

/* Circle behind icons */
.icon-block svg,
.icon-block .dashicons {
    width: 75px;
    height: 75px;
    margin-bottom: 10px;
    background-color: #000;  /* black circle */
    color: #fff;             /* icon color */
    border-radius: 50%;      /* make it circular */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;           /* circle size */
    transition: transform 0.3s;
}

.icon-block svg:hover,
.icon-block .dashicons:hover {
    transform: scale(1.1);   /* subtle hover effect */
}

.icon-block h4 {
    color: #ffffff;
    font-size: 1em;
    margin: 0;
}

.icon-block a {
    color: #ffffff;
    text-decoration: none;
}

.icon-block a:hover h4 {
    text-decoration: underline;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .raspberry_bkg {
        flex-direction: column;
        align-items: center;
    }
    .icon-block {
        width: 80%;
        margin-bottom: 20px;
    }
}

.width_100 {
    width: 100%;
}

/* HIDE SIGN UP TAB ON SOME PAGES */

.home .fixed-signup-link, .um-page-account .fixed-signup-link{
display:none !important;
}

@media (max-width: 768px) {
.fixed-signup-link{
display:none !important;
}
}


/* -----------------------------
   4-Column Footer Widgets
------------------------------ */

/* Footer widgets container */
.footer_widgets {
	padding-top:25px;
    display: flex;
    flex-wrap: wrap;
    gap: 40px; /* space between columns */
    justify-content: space-between;
	width:100%;
}

.footer_widgets h3{
	font-size:20px !important;
	color:rgba(255,255,255,0.75) !important;
}

/* Each widget = 1/4 width */
.footer_widgets .footer-widget {
flex: 1 1 calc(25% - 30px); /* 25% width minus gap */
}

/* Widget headings */
.footer_widgets .footer-widget h3.wp-block-heading {
    color: rgba(255,255,255,0.5); /* half-white */
    margin-bottom: 10px;
    text-align: left;
}

/* Links and list items */
.footer_widgets .footer-widget ul.wp-block-list {
    list-style: none; /* remove bullets/icons */
    padding-left: 0; /* remove default indentation */
    margin: 0;
}

.footer_widgets .footer-widget ul.wp-block-list li {
    margin-bottom: 4px;
    text-align: left; /* left-align text */
}

/* Links inside li */
.footer_widgets .footer-widget ul.wp-block-list li a {
    color: rgba(255,255,255,0.5); /* white links */
    text-decoration: none;
    transition: color 0.5s;
}

/* Hover effect */
.footer_widgets .footer-widget ul.wp-block-list li a:hover {
color: #ffffff;
}

/* Responsive: stack columns on mobile */
@media (max-width: 768px) {
    .footer_widgets {
        flex-direction: column;
        gap: 20px;
    }

    .footer_widgets .footer-widget {
        flex: 1 1 100%;
    }
}





/* -----------------------------
   Footer Social Links Styling
------------------------------ */

/* Remove default list styling and padding */
.wp-block-social-links {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: flex;
    gap: 15px; /* space between icons */
}

/* Remove any markers from li */
.wp-block-social-links li {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Style the SVG icons */
.wp-block-social-links li a svg {
    fill: rgba(255,255,255,0.5); /* icon color */
    width: 24px;
    height: 24px;
    transition: fill 0.3s; /* smooth hover transition */
}

/* Optional: hover effect on icons */
.wp-block-social-links li a:hover svg {
fill: #ffffff;
}

.cost_div {
padding:3px 8px;
border-radius: 10px;
color: #fff;
/*display: flex;*/
display: none !important;
align-items: center;
justify-content: center;
font-size:12px;
position:absolute;
top:-10px;
right:10px;
letter-spacing:-0.5px;
}

.cost_div span{
font-weight: bold;
font-size:16px;
margin:0px;
letter-spacing:-1px;
}

#site-header{
max-width: 100% !important;
padding-right:15px !important;
padding-left:15px !important;
}


@media (max-width: 768px) {
#site-header, .scrolled #site-header{
position: relative !important;
transition: 0s background;
top: 0px !important;
}
	
.custom-logo-link {
opacity: 1 !important;
}
	
.mega-menu{
padding:10px !important;
}
	
#mega-menu-1358-1-1 ul li:nth-of-type(1),
#mega-menu-1358-1-2 ul li:nth-of-type(1),
#mega-menu-1358-1-3 ul li:nth-of-type(1){
display:none !important;
}
	
.mega-menu-column a{
text-align:left !important;
}
	
#mega-menu-1358-1-0{
padding-bottom:10px !important;
margin-bottom:10px !important;
border-bottom:#cccccc 1px solid !important;
}	
	
.half_white_overlay_on_mobile::before{
background-image:none !important;
background-color:rgba(255,255,255,0.9) !important;
}

}

.square_image, .square_image img{
width:100% !important;
height:auto !important;
}

.wpcf7-form br{
display:none !important;
}

.wpcf7-form  h3 {
font-size: 2em !important;
margin-top: 35px;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
margin-bottom: 25px;
padding-bottom: 15px;
}

.wpcf7-form input[type=date], 
.wpcf7-form input[type=email], 
.wpcf7-form input[type=number], 
.wpcf7-form input[type=password], 
.wpcf7-form input[type=search], 
.wpcf7-form input[type=tel], 
.wpcf7-form input[type=text], 
.wpcf7-form input[type=url], 
.wpcf7-form select, 
.wpcf7-form textarea {
margin-bottom:5px !important;
}

.wpcf7-not-valid-tip{
margin-top:0 !important;
display:block !important;
}







/*--FOR EBAY PAGE--*/

.fu_ebay_results_addisclosure,
.fu_ebay_results_title{
display:none !important;
width::0px !important;
height:0px !important;
overflow:hidden !important;
position:absolute !important;
left:-10px !important;
top:-10px !important;
}

.fu_ebay_results_row {
border-top: 1px solid #ddd !important;
margin-top: 25px !important;
padding-top: 25px !important;
}


.fu_ebay_results_row:nth-of-type(1) {
border-top: none !important;
margin-top: 0px !important;
padding-top: 0px !important;
}



.fu_ebay_listing_img {
    width: 100% !important;
    height: 225px !important;
    overflow: hidden;
	background:#f2f2f2;
	border-radius:10px;
	text-align:center;
}

.fu_ebay_listing_img a{
margin:0 auto !important;
}

.fu_ebay_listing_img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block;
}

.fu_ebay_maxtwolines {
max-height:100% !important;
}

/* FEATURED MODELS */

.featured-models {
    width: 100%;
}

.featured-model {
    display: grid;
    grid-template-columns: 50% 50%;
    width: 100%;
    margin-bottom: 50px;
}

.featured-model-image {
    width: 100%;
    height: 100%;
    min-height: 300px;
    overflow: hidden;
}

.featured-model-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.featured-model-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.featured-model-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 25px;
}

.featured-model-title {
    margin: 0 0 20px;
}

.featured-model-title a {
    color: inherit;
    text-decoration: none;
}

.featured-model-content .button {
    align-self: flex-start;
}

.featured_title span{
	font-size:1.75em;
    color: #232527;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0.1em 0.35em 0.05em !important;
    background: #fae04b;
    line-height: 1.75em !important;
    text-transform: uppercase;
}

@media (max-width: 768px) {

    .featured-model {
        grid-template-columns: 1fr;
        margin-bottom: 40px;
    }

    .featured-model-image {
        min-height: 350px;
		padding: 0px;
    }

    .featured-model-content {
        padding: 0px;
    }

}

.testimonial-quote .wp-block-paragraph{
	font-size:3em;
	text-align:center;
	line-height:1em !important;
	color:#ffffff;
}


.testimonial-quote .wp-block-paragraph::before {
    content: "“";
}

.testimonial-quote .wp-block-paragraph::after {
    content: "”";
}

.testimonial-quote .wp-block-paragraph::before,
.testimonial-quote .wp-block-paragraph::after {
    font-size: 2em;
    line-height: 0;
    vertical-align: -0.35em;
	color:#fae04b;
}

.testimonial-name{
	text-transform:uppercase;
	text-align:center;
	color:#666666;
	letter-spacing:2px;
	margin-bottom:25px;
}







/* IN STOCK MODELS */

.in-stock-models {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 40px;
    width: 100%;
}

.in-stock-model {
    display: flex;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
}

.in-stock-model-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 20px;
}

.in-stock-model-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
	padding: 0 0 20px 20px;
}

.in-stock-model-overlay h3 {
    margin: 0;
    color: #fff;
    font-size: 24px;
	margin-left:-20px;
}

.in-stock-model-description {
    font-size: 16px;
    line-height: 1.6;
    color: #555;
    margin-bottom: 20px;
}

/* Link */
.in-stock-model::after {
    content: "View model →";
    display: inline-block;
    color: #111;
    font-weight: 600;
    text-decoration: none;
    margin-top: auto;
}

/* Hover */
.in-stock-model:hover .in-stock-model-image {
    opacity: 0.9;
}

/* Tablet */
@media (max-width: 1024px) {
    .in-stock-models {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile */
@media (max-width: 767px) {
    .in-stock-models {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .in-stock-model-overlay h3 {
        font-size: 22px;
    }
}



.in-stock-model-overlay h3 span{
    color: #232527;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0.1em 0.35em 0.05em !important;
    background: #fae04b;
    text-transform: uppercase;
}



.site-description,
.site-title + .site-description {
    display: none !important;
}








/* --------------------------------
   CUSTOM WOOCOMMERCE PRODUCT PAGE
-------------------------------- */

.custom-single-product {
    width: 100%;
	margin-bottom:50px !Important;
}

.custom-product-container {
    margin: 0 auto;
    padding: 150px 20px 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}


/* IMAGE */

.custom-product-image {
    width: 100%;
}

.custom-product-featured-image {
    display: block;
    width: 100%;
    height: auto;
}


/* PRODUCT INFORMATION */

.custom-product-info {
    width: 100%;
}

.custom-product-title {
    margin: 0 0 20px;
    line-height: 0.9;
}

.custom-product-price {
    margin-bottom: 25px;
    font-size: 28px;
    font-weight: 600;
}

.custom-product-short-description {
    margin-bottom: 30px;
    line-height: 1.7;
}


/* ADD TO CART */

.custom-product-add-to-cart {
    margin-bottom: 30px;
}

.custom-product-add-to-cart form.cart {
    display: flex;
    gap: 10px;
    align-items: center;
}

.custom-product-add-to-cart .quantity {
    margin: 0 !important;
}

.custom-product-add-to-cart button.single_add_to_cart_button {
    padding: 14px 30px;
    border: 0;
    cursor: pointer;
}


/* META */

.custom-product-meta {
    padding-top: 20px;
    border-top: 1px solid #ddd;
    font-size: 14px;
}


/* DESCRIPTION */

.custom-product-description {
    padding: 25px;
    background: #f4f5f6;
}

.custom-product-description-inner {
    max-width: 900px;
    margin: 0 auto;
}

.custom-product-description h2,
.custom-product-information h2 {
    margin-bottom: 25px;
}


/* INFORMATION */

.custom-product-information {
    padding: 70px 20px;
}

.custom-product-information-inner {
    max-width: 900px;
    margin: 0 auto;
}

.custom-product-attributes {
    width: 100%;
    border-collapse: collapse;
}

.custom-product-attributes th,
.custom-product-attributes td {
    padding: 12px;
    border-bottom: 1px solid #ddd;
    text-align: left;
}


/* TABS */

.custom-product-tabs {
    padding: 50px 20px 80px;
}

.custom-product-tabs-inner {
    max-width: 900px;
    margin: 0 auto;
}


/* MOBILE */

@media (max-width: 767px) {
	
.custom-single-product{
padding:20px;
padding-inline-end: 20px !important;
padding-inline-start: 20px !important;
margin-bottom: 20px ! Important;
}

    .custom-product-container {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 0;
    }

    .custom-product-title {
        font-size: 36px;
    }

    .custom-product-price {
        font-size: 24px;
    }

}


/* --------------------------------
   PRODUCT GALLERY
-------------------------------- */

.custom-product-gallery {
    width: 100%;
    margin-top: 25px;
	margin-bottom: 25px;
}

.custom-product-gallery-inner {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.custom-product-gallery-inner button.custom-gallery-image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: 0 !important;
    background: none;
    cursor: pointer;
    overflow: hidden;
	background-color:#f4f5f6 !important;
	border:0px solid rgba(0,0,0,0) !important;
}

.custom-gallery-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.custom-gallery-image:hover img {
    transform: scale(1.03);
}


/* --------------------------------
   GALLERY MODAL
-------------------------------- */

.custom-gallery-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(0, 0, 0, 0.9);

    opacity: 0;
    visibility: hidden;

    transition: opacity 0.25s ease,
                visibility 0.25s ease;
}

.custom-gallery-modal.active {
    opacity: 1;
    visibility: visible;
}


/* Modal image */

.custom-gallery-modal-image-wrapper {
    max-width: 90vw;
    max-height: 90vh;
}

#custom-gallery-modal-image {
    display: block;
    max-width: 90vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    object-fit: contain;
}


/* Close button */

.custom-gallery-close {
    position: absolute;
    top: 25px;
    right: 30px;
    border: 0;
    background: none;
    color: #fff;
    font-size: 45px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
}


/* Previous / next */

.custom-gallery-prev,
.custom-gallery-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    background: none;
    color: #fff;
    font-size: 50px;
    line-height: 1;
    cursor: pointer;
    padding: 20px;
    z-index: 2;
}

.custom-gallery-prev {
    left: 20px;
}

.custom-gallery-next {
    right: 20px;
}

.custom-gallery-prev:hover,
.custom-gallery-next:hover,
.custom-gallery-close:hover {
    opacity: 0.7;
}


/* Prevent page scrolling while modal is open */

body.gallery-modal-open {
    overflow: hidden;
}


/* --------------------------------
   MOBILE
-------------------------------- */

@media (max-width: 767px) {

    .custom-product-gallery {
        margin-top: 40px;
    }

    .custom-product-gallery-inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .custom-gallery-image {
        aspect-ratio: 1 / 1;
    }

    .custom-gallery-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .custom-gallery-prev,
    .custom-gallery-next {
        font-size: 35px;
        padding: 10px;
    }

    .custom-gallery-prev {
        left: 5px;
    }

    .custom-gallery-next {
        right: 5px;
    }

    .custom-gallery-close {
        top: 15px;
        right: 15px;
        font-size: 35px;
    }

}


.custom-real-life-photo{
	margin-top:25px;
	background-size:cover;
	background-position:center center;
	height:500px;
}

.hazard-pattern{
	position:relative;
}

.hazard-pattern:after {
	content: "";
	position:absolute;
	opacity: 0.03;
	top:0;
	right:0;
	width:100%;
	height:100%;
  background-color: #fae04b;
  background-image: repeating-linear-gradient(
    -45deg,
    #fae04b,
    #fae04b 160px,
    #232527 160px,
    #232527 320px
  );
	z-index: 0;
}

.hazard-pattern > * {

    z-index: 1;
}



.text_highlight_white span{
    color: #67da82;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0.1em 0.35em 0.05em !important;
    background: #ffffff !important;
    line-height: 1.35em !important;
    text-transform: uppercase;
}


.text_highlight_black span{
    color: #67da82 !important;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0.1em 0.35em 0.05em !important;
    background: #1e2026 !important;
    line-height: 1.35em !important;
    text-transform: uppercase;
}

.text_highlight_green span{
    color: #ffffff !important;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0.1em 0.35em 0.05em !important;
    background: #67da82 !important;
    line-height: 1.35em !important;
    text-transform: uppercase;
}

.woocommerce-Price-amount{
text-decoration:none !important;
}

.custom-product-price ins,
.custom-product-price bdi:not(del bdi) {
text-decoration:none !important;
	    color: #fae04b !important;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0.1em 0.35em 0.05em !important;
    background: #232527 !important;
    line-height: 1.35em !important;
    text-transform: uppercase;
	display:inline-block !important;
}



footer .site-logo img {
    content: url('/wp-content/uploads/2026/09/kps_white.png');
	opacity:0.35;
}



.cog_bkg{
background-position: 66vw bottom !important;
}




.testimonial-content .testimonial-quote .wp-block-paragraph{
	color:#232527 !important;
}

.testimonial-content .testimonial-author{
	color:#666666 !important;
	text-align:center;
	margin:0 auto 100px;
	letter-spacing: 2px;
text-transform:uppercase;
	font-size: 1.5em;
}

.testimonial-content .testimonial-author span{
    color: #232527 !important;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0.1em 0.35em 0.05em !important;
    background: #fae04b !important;
    line-height: 1.35em !important;
    text-transform: uppercase;
	
}

.square_image{
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}


.hero_gallery {
    mix-blend-mode: darken;
}

@media (max-width: 768px) {
.hero_gallery {
margin-top:-75px !important;
}
}

.wp-block-woocommerce-empty-cart-block .wp-block-heading,
.wc-block-cart__empty-cart__title.with-empty-cart-icon:before,
.wp-block-product-new,
hr.is-style-dots{
display:none !important;
}

/*==================================================*/
/* MENU COLOURS */
/*==================================================*/

.site-navigation ul.menu li > ul.sub-menu {
    background-color: #232527;
}

.site-navigation ul.menu li > ul.sub-menu > li > ul.sub-sub-menu {
    background-color: #232527 !important;
}

.site-navigation ul.menu li > ul.sub-menu a,
.site-navigation ul.menu li > ul.sub-menu > li > ul.sub-sub-menu a {
    color: #fff;
}





/*==================================================*/
/* REMOVE ARROWS */
/*==================================================*/

.site-navigation ul.menu li.menu-item-has-children:after {
    display: none !important;
}









/*==================================================*/


.site-navigation ul.menu li a {
	color:#232527;
	font-size:22px !important;
}

.site-navigation ul.menu li ul.sub-menu {
	display:block;
}

.site-navigation ul.menu li ul li {
border:none !important;
}

/* Base state: folded, hidden */
.site-navigation ul.menu li ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%; /* full width of parent */
    background-color: #272727;
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    transition: max-height 0.5s ease-out, opacity 0.5s ease-out;
}

/* Submenu links: start shifted left, invisible */
.site-navigation ul.menu li ul.sub-menu li a {
    display: block;
    width: 100%;
    padding: 10px 20px;
    color: #fff;
    text-align: left;
    transform: translateX(-30px); /* start off left */
    opacity: 0;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Hover parent: unfold submenu */
.site-navigation ul.menu li:hover > ul.sub-menu {
    max-height: 1000px; /* big enough to fit all items */
    opacity: 1;
    pointer-events: auto;
}

/* Submenu items slide in from left with staggered delay */
.site-navigation ul.menu li:hover > ul.sub-menu li:nth-child(1) a {
    transition-delay: 0.05s;
    transform: translateX(0);
    opacity: 1;
}
.site-navigation ul.menu li:hover > ul.sub-menu li:nth-child(2) a {
    transition-delay: 0.10s;
    transform: translateX(0);
    opacity: 1;
}
.site-navigation ul.menu li:hover > ul.sub-menu li:nth-child(3) a {
    transition-delay: 0.15s;
    transform: translateX(0);
    opacity: 1;
}
.site-navigation ul.menu li:hover > ul.sub-menu li:nth-child(4) a {
    transition-delay: 0.20s;
    transform: translateX(0);
    opacity: 1;
}
.site-navigation ul.menu li:hover > ul.sub-menu li:nth-child(5) a {
    transition-delay: 0.25s;
    transform: translateX(0);
    opacity: 1;
}

.site-navigation ul.menu li:hover > ul.sub-menu li:nth-child(6) a {
    transition-delay: 0.3s;
    transform: translateX(0);
    opacity: 1;
}

.site-navigation ul.menu li:hover > ul.sub-menu li:nth-child(7) a {
    transition-delay: 0.35s;
    transform: translateX(0);
    opacity: 1;
}

.site-navigation ul.menu li:hover > ul.sub-menu li:nth-child(8) a {
    transition-delay: 0.4s;
    transform: translateX(0);
    opacity: 1;
}

.site-navigation ul.menu li:hover > ul.sub-menu li:nth-child(9) a {
    transition-delay: 0.45s;
    transform: translateX(0);
    opacity: 1;
}

.site-navigation ul.menu li:hover > ul.sub-menu li:nth-child(10) a {
    transition-delay: 0.5s;
    transform: translateX(0);
    opacity: 1;
}

/* Submenu link hover color */
.site-navigation ul.menu li ul.sub-menu li a:hover {
    background-color: #3a3a3a;
    color: #fff;
}

/* Top-level hover sync */
.site-navigation ul.menu li:hover > a {
    background-color: #272727;
    color: #fff;
}

.site-navigation ul.menu li.menu-item-has-children:after {
display:none !important;
}

.site-navigation ul.menu li.menu-item-has-children {
padding-inline-end: 0px !important;
}


/*==================================================*/
/* SUB-SUB-MENU POSITION */
/*==================================================*/

.site-navigation ul.menu li > ul.sub-menu > li > ul.sub-sub-menu {
    position: absolute;
    top: 0;
    left: 100%;
    width: max-content;
    min-width: 0;
}




/*==================================================*/
/* SUB-SUB-MENU */
/*==================================================*/

.site-navigation ul.menu li > ul.sub-menu > li > ul.sub-sub-menu{
background-color:#3a3a3a !important;
}


.site-navigation ul.menu li > ul.sub-menu > li > ul.sub-sub-menu > li a{
opacity: 0;
transform: translateX(-30px);
transition: 0.5s all;
}

.site-navigation ul.menu li > ul.sub-menu > li:hover > ul.sub-sub-menu > li a{
    opacity: 1;
    transform: translateX(0);
}

.site-navigation ul.menu li > ul.sub-menu > li > ul.sub-sub-menu > li a:hover{
color: #fae04b !important
}

.site-navigation ul.menu li > ul.sub-menu > li:hover,
.site-navigation ul.menu li > ul.sub-menu > li:has(> ul.sub-sub-menu:hover) {  
}

.site-navigation ul.menu li > ul.sub-menu > li:hover > a,
.site-navigation ul.menu li > ul.sub-menu > li:has(> ul.sub-sub-menu:hover) > a {
background: #3a3a3a !important;
background-color: #3a3a3a !important;
}


@media (max-width: 768px) {
#primary {
padding-top: 20px !important;
}
}

.closed_editions{
width: 100% !important;
}


.custom-gallery-spacer{
background: #f4f5f6;
}


.featured-models-slider {
position: relative;
}

.featured-models-slider .featured-model {
display: grid;
}

.slick-dots button{
background:none !important;
}

.slick-dots li button:before {
opacity: 0.8;
color: #cccccc;
}

.slick-dots li.slick-active button::before {
opacity: 1;
color: #FAE04B;
}

@media (max-width: 768px) {
.hide_on_mobile{
display:none !important;
}
}

.site-navigation-dropdown ul.menu li.current-menu-item a {
background: #232527;
}

.site-navigation-toggle{
padding:20px !important;
}

.custom-logo-link {
margin: 0 !important;
}

#main{
padding:20px !important;
}



@media (max-width: 768px) {
    .featured-model {
        display: flex;
        flex-direction: column;
    }

    .featured-model-content {
        order: 1;
    }

    .featured-model-image {
        order: 2;
    }
}




.entry-title, .footer-inner, body:not([class*=elementor-page-]) .site-main {
max-width: 1200px !important;
}



















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

a {
	color: #006633;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

.container {
	width: min(1200px, calc(100% - 40px));
	margin: 0 auto;
}

.site-header {
	border-bottom: 1px solid #ddd;
	padding: 20px 0;
}

.site-branding {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.site-title {
	margin: 0;
	font-size: 28px;
	line-height: 1.2;
}

.site-title a {
	color: #222;
}

.site-description {
	margin: 5px 0 0;
	color: #666;
}

.main-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation a {
	color: #222;
	font-weight: 600;
}

.site-main {
	padding: 50px 0;
}

.entry-title {
	margin-top: 0;
	line-height: 1.2;
}

.entry-meta {
	color: #777;
	font-size: 14px;
	margin-bottom: 25px;
}

.entry-content {
	max-width: 1200px;
}

.site-footer {
	margin-top: 60px;
	padding: 30px 0;
	background: #f5f5f5;
	border-top: 1px solid #ddd;
}

@media (max-width: 768px) {

	.site-branding {
		display: block;
	}

	.main-navigation {
		margin-top: 20px;
	}

	.main-navigation ul {
		display: block;
	}

	.main-navigation li {
		margin-bottom: 10px;
	}

	.site-main {
		padding: 30px 0;
	}

	.container {
		width: min(100% - 30px, 1200px);
	}
}





.sponsors-section {
    margin-bottom: 60px;
}

.sponsors-section h2 {
    margin-bottom: 30px;
}

.sponsors-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.sponsor {
    padding: 30px;
    background: #fff;
    text-align: center;
}

.sponsor-logo {
    margin-bottom: 20px;
}

.sponsor-logo img {
    display: block;
    width: 100%;
    height: 150px;
    object-fit: contain;
}

.sponsor-title {
    margin-bottom: 15px;
}

.sponsor-description {
    margin-bottom: 20px;
}

.sponsor-link {
    display: inline-block;
}

@media (max-width: 767px) {

    .sponsors-grid {
        grid-template-columns: 1fr;
    }

}




.clubs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin: 30px 0;
	background:#f4f5f6;
	padding:20px;
}

.club-card {
    background: #fff;
    overflow: hidden;
    text-align: center;
    padding: 35px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
	position:relative;
}

.club-card:after {
	content: "";
	position: absolute;
	top: 15px;
	right: 15px;
	bottom: 15px;
	left: 15px;
	pointer-events: none;
	z-index:999999 !important;
	border: 3px solid #f4f5f6 !important;
}

.club-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.club-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    margin: 0 auto 20px;
	    max-width: 150px;
}

.club-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.club-name {
    margin: 0;
    font-size: 20px !important;
	line-height: 1em !important;
    letter-spacing: -1px !important;
}

.club-name a{
	color:#1e2026 !important;
}


/* Tablet */
@media (max-width: 1024px) {
    .clubs-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}


/* Mobile */
@media (max-width: 767px) {
    .clubs-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .club-card {
        padding: 15px;
    }

    .club-name {
        font-size: 16px;
    }
}


/* Small mobile */
@media (max-width: 480px) {
    .clubs-grid {
        grid-template-columns: 1fr;
    }
}



.skew_left{
transform: skew(0.5deg, -0.5deg);
margin:20px 0 !important;
}

.skew_right{
transform: skew(-0.5deg, 0.5deg);
margin:20px 0 !important;
}

.white_border,
.black_border,
.green_border {
position: relative;
}

.white_border:after,
.black_border:after, 
.green_border:after {
	content: "";
	position: absolute;
	top: 15px;
	right: 15px;
	bottom: 15px;
	left: 15px;
	pointer-events: none;
	z-index:999999 !important;
}

.white_border:after {
	border: 3px solid #ffffff !important;
}

.black_border:after {
	border: 3px solid #1e2026 !important;
}

.green_border:after {
	border: 3px solid #67da82 !important;
}






.next-events {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.next-event {
    width: 100%;
}

.next-event-date {
    margin-bottom: 10px;
}

.next-event-title {
    margin: 0;
	line-height:1em !important;
}

.next-event-description {
    margin-bottom: 20px;
}

.next-event-link {
    display: inline-block;
}


/* Tablet */
@media (max-width: 900px) {
    .next-events {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* Mobile */
@media (max-width: 600px) {
    .next-events {
        grid-template-columns: 1fr;
    }
}






