#cookie-notice{position:fixed;min-width:100%;height:auto;z-index:100000;font-size:13px;letter-spacing:0;line-height:20px;left:0;text-align:center;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,Arial,Roboto,"Helvetica Neue",sans-serif}#cookie-notice,#cookie-notice *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#cookie-notice.cn-animated{-webkit-animation-duration:.5s!important;animation-duration:.5s!important;-webkit-animation-fill-mode:both;animation-fill-mode:both}#cookie-notice.cn-animated.cn-effect-none{-webkit-animation-duration:1ms!important;animation-duration:1ms!important}#cookie-notice .cookie-notice-container{display:block}#cookie-notice.cookie-notice-hidden .cookie-notice-container{display:none}#cookie-notice .cookie-revoke-container{display:block}#cookie-notice.cookie-revoke-hidden .cookie-revoke-container{display:none}.cn-position-top{top:0}.cn-position-bottom{bottom:0}.cookie-notice-container{padding:15px 30px;text-align:center;width:100%;z-index:2}.cookie-revoke-container{padding:15px 30px;width:100%;z-index:1}.cn-close-icon{position:absolute;right:15px;top:50%;margin:-10px 0 0 0;width:15px;height:15px;opacity:.5;padding:10px;border:none;outline:0;background:0 0;box-shadow:none;cursor:pointer}.cn-close-icon:focus,.cn-close-icon:focus-visible{outline:2px solid currentColor;outline-offset:3px}.cn-close-icon:hover{opacity:1}.cn-close-icon:after,.cn-close-icon:before{position:absolute;content:' ';height:15px;width:2px;top:3px;background-color:grey}.cn-close-icon:before{transform:rotate(45deg)}.cn-close-icon:after{transform:rotate(-45deg)}#cookie-notice .cn-revoke-cookie{margin:0}#cookie-notice .cn-button{margin:0 0 0 10px;display:inline-block}#cookie-notice .cn-button:not(.cn-button-custom){font-family:-apple-system,BlinkMacSystemFont,Arial,Roboto,"Helvetica Neue",sans-serif;font-weight:400;font-size:13px;letter-spacing:.25px;line-height:20px;margin:0 0 0 10px;text-align:center;text-transform:none;display:inline-block;cursor:pointer;touch-action:manipulation;white-space:nowrap;outline:0;box-shadow:none;text-shadow:none;border:none;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem;text-decoration:none;padding:8.5px 10px;line-height:1;color:inherit}.cn-text-container{margin:0 0 6px 0}.cn-buttons-container,.cn-text-container{display:inline-block}.cn-compliance-warning{display:block;color:#f5a623!important;font-size:12px;line-height:18px;margin:4px 0 8px 0}.cn-compliance-warning .cn-warning-icon{color:#f5a623!important;margin-right:4px}.cn-compliance-warning strong{color:#f5a623!important}.cn-compliance-warning a{color:#f5a623!important;text-decoration:underline}.cn-compliance-warning a:hover{color:#ffb84d!important}#cookie-notice.cookie-notice-visible.cn-effect-none,#cookie-notice.cookie-revoke-visible.cn-effect-none{-webkit-animation-name:fadeIn;animation-name:fadeIn}#cookie-notice.cn-effect-none{-webkit-animation-name:fadeOut;animation-name:fadeOut}#cookie-notice.cookie-notice-visible.cn-effect-fade,#cookie-notice.cookie-revoke-visible.cn-effect-fade{-webkit-animation-name:fadeIn;animation-name:fadeIn}#cookie-notice.cn-effect-fade{-webkit-animation-name:fadeOut;animation-name:fadeOut}#cookie-notice.cookie-notice-visible.cn-effect-slide,#cookie-notice.cookie-revoke-visible.cn-effect-slide{-webkit-animation-name:slideInUp;animation-name:slideInUp}#cookie-notice.cn-effect-slide{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}#cookie-notice.cookie-notice-visible.cn-position-top.cn-effect-slide,#cookie-notice.cookie-revoke-visible.cn-position-top.cn-effect-slide{-webkit-animation-name:slideInDown;animation-name:slideInDown}#cookie-notice.cn-position-top.cn-effect-slide{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@media all and (max-width:900px){.cookie-notice-container #cn-notice-text{display:block}.cookie-notice-container #cn-notice-buttons{display:block}#cookie-notice .cn-button{margin:0 5px 5px 5px}}@media all and (max-width:480px){.cookie-notice-container,.cookie-revoke-container{padding:15px 25px}}/******************************************** START Basic Classes ********************************************/
.nd_elements_section { float: left; width: 100%; }

.nd_elements_float_left { float: left; }
.nd_elements_float_right { float: right; }
.nd_elements_float_initial { float: initial; }

.nd_elements_width_10_percentage { width: 10%; }
.nd_elements_width_20_percentage { width: 20%; }
.nd_elements_width_25_percentage { width: 25%; }
.nd_elements_width_30_percentage { width: 30%; }
.nd_elements_width_40_percentage { width: 40%; }
.nd_elements_width_50_percentage { width: 50%; }
.nd_elements_width_33_percentage { width: 33.33%; }
.nd_elements_width_50_percentage { width: 50%; }
.nd_elements_width_100_percentage { width: 100%; }

.nd_elements_width_10 { width: 10px; }
.nd_elements_width_20 { width: 20px; }
.nd_elements_width_25 { width: 25px; }
.nd_elements_width_30 { width: 30px; }
.nd_elements_width_40 { width: 40px; }
.nd_elements_width_50 { width: 50px; }
.nd_elements_width_60 { width: 60px; }
.nd_elements_width_70 { width: 70px; }
.nd_elements_width_80 { width: 80px; }
.nd_elements_width_90 { width: 90px; }
.nd_elements_width_100 { width: 100px; }

.nd_elements_height_5 { height: 5px; }
.nd_elements_height_10 { height: 10px; }
.nd_elements_height_15 { height: 15px; }
.nd_elements_height_16 { height: 16px; }
.nd_elements_height_20 { height: 20px; }
.nd_elements_height_30 { height: 30px; }
.nd_elements_height_33 { height: 33px; }
.nd_elements_height_40 { height: 40px; }
.nd_elements_height_50 { height: 50px; }
.nd_elements_height_60 { height: 60px; }
.nd_elements_height_70 { height: 70px; }
.nd_elements_height_80 { height: 80px; }
.nd_elements_height_90 { height: 90px; }

.nd_elements_height_100_percentage { height: 100%; }

.nd_elements_font_size_10 { font-size: 10px; }
.nd_elements_font_size_11 { font-size: 11px; }
.nd_elements_font_size_12 { font-size: 12px; }
.nd_elements_font_size_13 { font-size: 13px; }
.nd_elements_font_size_15 { font-size: 15px; }
.nd_elements_font_size_17 { font-size: 17px; }
.nd_elements_font_size_23 { font-size: 23px; }
.nd_elements_font_size_35 { font-size: 35px; }

.nd_elements_line_height_10 { line-height: 10px;  }
.nd_elements_line_height_11 { line-height: 11px;  }
.nd_elements_line_height_12 { line-height: 12px;  }
.nd_elements_line_height_13 { line-height: 13px;  }
.nd_elements_line_height_15 { line-height: 15px;  }
.nd_elements_line_height_17 { line-height: 17px;  }
.nd_elements_line_height_23 { line-height: 23px;  }

.nd_elements_line_height_1_2 { line-height: 1.2em;  }
.nd_elements_line_height_1_3 { line-height: 1.3em;  }
.nd_elements_line_height_1_4 { line-height: 1.4em;  }
.nd_elements_line_height_1_5 { line-height: 1.5em;  }
.nd_elements_line_height_1 { line-height: 1em;  }
.nd_elements_line_height_1_5 { line-height: 1.5em;  }
.nd_elements_line_height_2 { line-height: 2em;  }

.nd_elements_font_weight_500 { font-weight: 500; }
.nd_elements_font_weight_bold { font-weight: bold; }
.nd_elements_font_weight_normal { font-weight: normal; }

.nd_elements_letter_spacing_1 { letter-spacing: 1px; }
.nd_elements_letter_spacing_2 { letter-spacing: 2px; }
.nd_elements_letter_spacing_4 { letter-spacing: 4px; }

.nd_elements_text_align_center { text-align: center; }
.nd_elements_text_align_left { text-align: left; }
.nd_elements_text_align_right { text-align: right; }

.nd_elements_text_transform_uppercase { text-transform: uppercase; }
.nd_elements_text_transform_lowercase { text-transform: lowercase; }

.nd_elements_word_break_break_word { word-break: break-word; }

.nd_elements_color_fff { color: #fff; }
.nd_elements_color_fff_important { color: #fff !important; }
.nd_elements_color_000 { color: #000; }


    


.nd_elements_margin_0 { margin: 0px;  }
.nd_elements_margin_0_important { margin: 0px !important;  }

/*padding*/
.nd_elements_padding_0 { padding: 0px;  }
.nd_elements_padding_5 { padding: 5px;  }
.nd_elements_padding_5_10 { padding: 5px 10px;  }
.nd_elements_padding_8_10 { padding: 8px 10px;  }
.nd_elements_padding_10 { padding: 10px;  }
.nd_elements_padding_10_20 { padding: 10px 20px;  }
.nd_elements_padding_15 { padding: 15px;  }
.nd_elements_padding_20 { padding: 20px;  }
.nd_elements_padding_20_30 { padding: 20px 30px;  }
.nd_elements_padding_30 { padding: 30px;  }
.nd_elements_padding_40 { padding: 40px;  }
.nd_elements_padding_50 { padding: 50px;  }
.nd_elements_padding_0_40 { padding: 0px 40px;  }

.nd_elements_padding_left_10 { padding-left: 10px;  }
.nd_elements_padding_left_15 { padding-left: 15px;  }
.nd_elements_padding_left_20 { padding-left: 20px;  }
.nd_elements_padding_left_50 { padding-left: 50px;  }
.nd_elements_padding_left_100 { padding-left: 100px;  }
.nd_elements_padding_left_110 { padding-left: 110px;  }
.nd_elements_padding_left_120 { padding-left: 120px;  }
.nd_elements_padding_left_130 { padding-left: 130px;  }



/*margin*/
.nd_elements_margin_left_15 { margin-left: 15px;  }


/*border*/
.nd_elements_border_width_2 {  border-width: 2px; }

.nd_elements_border_left_style_solid {  border-left-style: solid; }


.nd_elements_border_radius_100_percentage {  border-radius: 100%; }
.nd_elements_border_radius_100_percentage_important {  border-radius: 100% !important; }


.nd_elements_box_sizing_border_box { box-sizing: border-box; }

/*display*/
.nd_elements_display_block { display: block; }
.nd_elements_display_inline_block { display: inline-block; }
.nd_elements_display_none { display: none; }
.nd_elements_display_table { display: table; }
.nd_elements_display_table_cell { display: table-cell; }

.nd_elements_vertical_align_middle { vertical-align: middle; }

.nd_elements_background_color_000 { background-color: #000; }
.nd_elements_background_color_fff { background-color: #fff; }

.nd_elements_color_fff { color: #fff; }
.nd_elements_color_fff_important { color: #fff !important; }


.nd_elements_position_absolute { position: absolute; }
.nd_elements_position_relative { position: relative; }


.nd_elements_background_position_center { background-position: center; }
.nd_elements_background_repeat_no_repeat { background-repeat: no-repeat; }
.nd_elements_background_size_cover { background-size: cover; }


.nd_elements_top_0 { top: 0; }
.nd_elements_top_5 { top: 5px; }
.nd_elements_top_20 { top: 20px; }
.nd_elements_top_30 { top: 30px; }
.nd_elements_top_40_negative { top: -40px; }
.nd_elements_top_30_negative { top: -30px; }

.nd_elements_bottom_0 { bottom: 0; }
.nd_elements_bottom_30 { bottom: 30px; }
.nd_elements_bottom_40 { bottom: 40px; }
.nd_elements_bottom_10_negative { bottom: -10px; }

.nd_elements_left_0 { left: 0; }
.nd_elements_left_20 { left: 20px; }
.nd_elements_left_30 { left: 30px; }

.nd_elements_right_0 { right: 0; }
.nd_elements_right_20 { right: 20px; }
.nd_elements_right_30 { right: 30px; }
.nd_elements_right_40 { right: 40px; }

.nd_elements_z_index_9 { z-index: 9; }

.nd_elements_mix_blend_mode_screen { mix-blend-mode:screen; }

.nd_elements_box_shadow_0_0_15_0_000 { box-shadow: 0px 0px 15px 0px #000; }
.nd_elements_box_shadow_0_0_15_0_0001 { box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1); }


/******************************************** FILTERS ********************************************/


.nd_elements_bg_greydark_alpha_gradient_1 { 
	background: -moz-linear-gradient(top, rgba(28,28,28,0) 0%, rgba(28,28,28,0.65) 100%);
	background: -webkit-linear-gradient(top, rgba(28,28,28,0) 0%,rgba(28,28,28,0.65) 100%);
	background: linear-gradient(to bottom, rgba(28,28,28,0) 0%,rgba(28,28,28,0.65) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00656460', endColorstr='#a6656460',GradientType=0 );
}

.nd_elements_bg_greydark_alpha_gradient_2 { 
	background: -moz-linear-gradient(top, rgba(28,28,28,0) 0%, rgba(28,28,28,0.50) 80%);
	background: -webkit-linear-gradient(top, rgba(28,28,28,0) 0%,rgba(28,28,28,0.50) 80%);
	background: linear-gradient(to bottom, rgba(28,28,28,0) 0%,rgba(28,28,28,0.50) 80%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00656460', endColorstr='#a6656460',GradientType=0 );
}



/******************************************** RESPONSIVE ********************************************/


/* 11.5 all responsive*/
@media only screen and (min-width: 320px) and (max-width: 1199px) {
    
    .nd_elements_width_100_percentage_responsive { width: 100%; }
    .nd_elements_width_100_percentage_responsive_important { width: 100% !important; }
    .nd_elements_width_50_percentage_responsive { width: 50%; }

    .nd_elements_height_300_responsive { height: 300px; }

    .nd_elements_float_left_responsive { float: left; }

    .nd_elements_display_inline_responsive { display: inline; }

    .nd_elements_padding_left_0_responsive  { padding-left: 0px; }

    .nd_elements_margin_top_20_responsive { margin-top: 20px; }

    .nd_elements_margin_bottom_20_responsive { margin-bottom: 20px; }


}


/* all tablet */
@media only screen and (min-width: 768px) and (max-width: 1199px) {
    
	.nd_elements_width_50_percentage_ipad { width: 50%; }	

}


/* 11.6 all iphone*/
@media only screen and (min-width: 320px) and (max-width: 767px) {

	.nd_elements_width_100_percentage_iphone { width: 100%; }
	.nd_elements_width_100_percentage_iphone_important { width: 100% !important; }
	.nd_elements_width_50_percentage_iphone { width: 50%; }

	.nd_elements_float_left_iphone { float: left; }

	.nd_elements_display_inline_iphone { display: inline; }
	.nd_elements_display_inline_block_iphone { display: inline-block; }

	/*padding*/
	.nd_elements_padding_20_iphone  { padding: 20px; }
	.nd_elements_padding_0_iphone  { padding: 0px; }
	.nd_elements_padding_0_iphone_important  { padding: 0px !important; }
	.nd_elements_padding_left_0_iphone  { padding-left: 0px; }
	.nd_elements_padding_top_120_iphone  { padding-top: 120px; }
	.nd_elements_padding_top_110_iphone  { padding-top: 110px; }

	/*margin*/
	.nd_elements_margin_top_20_iphone { margin-top: 20px; }
	.nd_elements_margin_top_40_iphone { margin-top: 40px; }
	.nd_elements_margin_top_40_iphone_important { margin-top: 40px !important; }

	.nd_elements_margin_bottom_20_iphone { margin-bottom: 20px; }
	.nd_elements_margin_bottom_40_iphone { margin-bottom: 40px; }
	.nd_elements_margin_bottom_40_iphone_important { margin-bottom: 40px !important; }

	.nd_elements_margin_left_0_iphone { margin-left: 0px; }

	.nd_elements_bottom_20_iphone { bottom: 20px; }
	.nd_elements_right_20_iphone { right: 20px; }
	.nd_elements_top_60_negative_iphone { top: -60px; }

	.nd_elements_font_size_20_iphone { font-size: 20px; }

	/*text-align*/
	.nd_elements_text_align_left_iphone { text-align: left; }
	.nd_elements_text_align_center_iphone { text-align: center; }

	/*poition*/
	.nd_elements_position_initial_iphone { position:initial; }
}


/******************************************** START Navigation Component ********************************************/

.nd_elements_navigation_component {float:left;width: 100%;}
.nd_elements_navigation_component ul.menu{margin:0px;padding:0px;list-style:none;display:inline-block;}
.nd_elements_navigation_component > div{float:left;width:100%; }
.nd_elements_navigation_component ul.menu > li{margin:0px;padding:0px;display:inline-block;}
.nd_elements_navigation_component ul.menu > li a{ display:inline-block; -webkit-transition: all 0.8s ease; -moz-transition: all 0.8s ease; -o-transition: all 0.8s ease; -ms-transition: all 0.8s ease; transition: all 0.8s ease; }

/*dropdown*/
.nd_elements_navigation_component div > ul li:hover > ul.sub-menu { display: block; }
.nd_elements_navigation_component div > ul li > ul.sub-menu { margin-left: 0px;  z-index: 999; position: absolute; margin: 0px; box-sizing:border-box;list-style: none; display: none; padding: 0px;}
.nd_elements_navigation_component div > ul li > ul.sub-menu > li { border-bottom-style: solid; text-align: left; position: relative; float: left; width: 100%; box-sizing:border-box; -webkit-transition: all 0.8s ease; -moz-transition: all 0.8s ease; -o-transition: all 0.8s ease; -ms-transition: all 0.8s ease; transition: all 0.8s ease; }
.nd_elements_navigation_component div > ul li > ul.sub-menu > li:last-child { border-bottom: 0px solid #000 !important; }
.nd_elements_navigation_component div > ul li > ul.sub-menu li a { float: left; width: 100%; margin:0px; -webkit-transition: all 0.8s ease; -moz-transition: all 0.8s ease; -o-transition: all 0.8s ease; -ms-transition: all 0.8s ease; transition: all 0.8s ease; }
.nd_elements_navigation_component div > ul li > ul.sub-menu li > ul.sub-menu { top: 0; padding-top: 0; padding-left: 25px; padding-top: 0px !important;}

/*arrow for item has children*/
.nd_elements_navigation_component div > ul li > ul.sub-menu li.menu-item-has-children > a:after { content:""; float: right; border-style: solid; border-width: 5px 0 5px 5px; margin-top: 10px; }
#nd_options_header_6 .nd_elements_navigation_component div > ul li > ul.sub-menu li.menu-item-has-children > a:after { margin-top: 3px; }

/*sidebar*/
.nd_elements_open_navigation_sidebar_content {cursor: pointer;display:none;}
.nd_elements_navigation_sidebar_content {padding:40px;background-color:#1C1C1C;box-sizing:border-box;overflow:hidden;overflow-y:auto;position:fixed;width:300px;right:-300px;z-index:999999;height:100%;top:0px;-webkit-transition: all 0.8s ease; -moz-transition: all 0.8s ease; -o-transition: all 0.8s ease; -ms-transition: all 0.8s ease; transition: all 0.8s ease;}
.nd_elements_close_navigation_sidebar_content {cursor:pointer;right:20px;top:20px;position:absolute;}

/*sidebar navigation*/
.nd_elements_navigation_sidebar div > ul { list-style: none; margin: 0px; padding: 0px; }
.nd_elements_navigation_sidebar div > ul > li { display: inline-block; width: 100%; padding: 0px 0px 20px 0px; }
.nd_elements_navigation_sidebar div li > a { padding: 10px 0px; display: inline-block; font-size: 24px; text-transform: lowercase; color: #fff; }
.nd_elements_navigation_sidebar div li > a::first-letter { text-transform: uppercase; }
.nd_elements_navigation_sidebar div > ul li > ul.sub-menu { margin: 0px; padding: 0px; list-style: none; }
.nd_elements_navigation_sidebar div > ul li > ul.sub-menu > li { padding: 0px 20px; text-align: left; }
.nd_elements_navigation_sidebar div > ul li > ul.sub-menu li a { font-size: 14px; }

/*elementor admin*/
.elementor-widget-navigation { background: transparent !important; }
.elementor-widget-navigation i.fa-bars { display: none !important; }

/*responsive*/
@media only screen and (min-width: 320px) and (max-width: 1199px) {
 
  .nd_elements_open_navigation_sidebar_content {display:block;margin: auto;float: initial !important;}  
  .nd_elements_navigation_component > div{display:none;}
  .nd_elements_navigation_component{text-align:center;}
 
}

/******************************************** END Navigation Component *********************************************/



/******************************************** START Cf7 Component *********************************************/

.nd_elements_cf7_component input[type="text"],
.nd_elements_cf7_component input[type="email"],
.nd_elements_cf7_component input[type="url"],
.nd_elements_cf7_component input[type="tel"],
.nd_elements_cf7_component input[type="number"],
.nd_elements_cf7_component input[type="date"],
.nd_elements_cf7_component input[type="checkbox"],
.nd_elements_cf7_component input[type="file"],
.nd_elements_cf7_component textarea,
.nd_elements_cf7_component label,
.nd_elements_cf7_component select
{ width: 100%;background-color: #f9f9f9; border: 1px solid #f1f1f1;border-radius: 0px;margin-bottom: 20px;color: #878787;}

.nd_elements_cf7_component input[type="submit"]
{ width: 100%;background-color: #1c1c1c;color: #fff;border: 1px solid #1c1c1c;font-size: 14px;letter-spacing: 2px;font-weight: bolder;border-radius: 0px;}

.nd_elements_cf7_component span.wpcf7-not-valid-tip,
.nd_elements_cf7_component .wpcf7-response-output.wpcf7-validation-errors,
.nd_elements_cf7_component .wpcf7-response-output.wpcf7-mail-sent-ok
{float: left;width: 100%;box-sizing: border-box; }

/******************************************** END Cf7 Component *********************************************/

/******************************************** START edit GALLERY element *********************************************/
.elementor-widget-image-gallery dl.gallery-item { margin: 0px !important; }
.elementor-widget-image-gallery dl.gallery-item img { border-width: 0px !important; float: left; }


/******************************************** END edit GALLERY element *********************************************/

/*widgets*/
.elementor-widget-postgrid { background: transparent !important; } .elementor-widget-postgrid i.elementor-widget-empty-icon { display: none !important; }
.elementor-widget-customcss { background: transparent !important; } 
.elementor-widget-eventsgrid { background: transparent !important; } .elementor-widget-eventsgrid i.elementor-widget-empty-icon { display: none !important; }
.elementor-widget-woogrid { background: transparent !important; } .elementor-widget-woogrid i.elementor-widget-empty-icon { display: none !important; }
.elementor-widget-woocart { background: transparent !important; } .elementor-widget-woocart i.elementor-widget-empty-icon { display: none !important; }
.elementor-widget-marquee { background: transparent !important; } .elementor-widget-marquee i.elementor-widget-empty-icon { display: none !important; }
.elementor-widget-list { background: transparent !important; } .elementor-widget-list i.elementor-widget-empty-icon { display: none !important; }

.elementor-widget-ndtext { background: transparent !important; } .elementor-widget-ndtext i.elementor-widget-empty-icon { display: none !important; }



/******************************************** START ND Text Component *********************************************/
.nd_elements_ndtext_component_imagebg {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}/* =========================================================================
   TPT Baby Bank — bespoke page styles
   Marker: TPT_BABY_BANK_WP_V1_20261107
   Scope: everything lives under .tptbb
   ========================================================================= */

.tptbb {
    --tptbb-navy: #133256;
    --tptbb-navy-deep: #0d2440;
    --tptbb-ink: #24313f;
    --tptbb-muted: #5a6775;
    --tptbb-tan: #c8b392;
    --tptbb-tan-dark: #9c8058;
    --tptbb-cream: #fbf6f0;
    --tptbb-cream-2: #f5ece2;
    --tptbb-gold: #f8b133;
    --tptbb-gold-deep: #e09a12;
    --tptbb-green: #2f6b46;
    --tptbb-amber: #a9700f;
    --tptbb-red: #a74a3c;
    --tptbb-line: rgba(19, 50, 86, 0.12);
    --tptbb-radius: 22px;
    --tptbb-radius-sm: 14px;
    --tptbb-shadow: 0 22px 60px -28px rgba(13, 36, 64, 0.45);
    --tptbb-shadow-soft: 0 10px 30px -18px rgba(13, 36, 64, 0.4);
    font-family: Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--tptbb-ink);
    line-height: 1.65;
    font-size: 16.5px;
    background: #fff;
}

.tptbb *,
.tptbb *::before,
.tptbb *::after {
    box-sizing: border-box;
}

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

.tptbb p {
    margin: 0 0 1em;
}

.tptbb h1,
.tptbb h2,
.tptbb h3,
.tptbb h4 {
    font-family: Raleway, Nunito, sans-serif;
    color: var(--tptbb-navy);
    line-height: 1.15;
    margin: 0 0 0.5em;
    letter-spacing: -0.01em;
}

.tptbb a {
    color: var(--tptbb-navy);
    text-decoration-color: rgba(19, 50, 86, 0.3);
    text-underline-offset: 3px;
}

.tptbb a:hover {
    color: var(--tptbb-tan-dark);
}

.tptbb :focus-visible {
    outline: 3px solid rgba(248, 177, 51, 0.75);
    outline-offset: 3px;
    border-radius: 4px;
}

.tptbb-wrap {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.tptbb-wrap--narrow {
    width: min(880px, calc(100% - 40px));
}

.tptbb-ico {
    display: inline-block;
    vertical-align: -0.18em;
    width: 1.15em;
    height: 1.15em;
    flex: none;
}

/* ---------------------------------------------------------------- Buttons */

.tptbb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    padding: 0.8em 1.35em;
    border-radius: 999px;
    border: 1.5px solid transparent;
    font-family: Raleway, Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.98rem;
    line-height: 1.1;
    letter-spacing: 0.01em;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease, color 0.16s ease;
    white-space: nowrap;
}

.tptbb-btn .tptbb-ico {
    width: 1em;
    height: 1em;
    transition: transform 0.16s ease;
}

.tptbb-btn:hover .tptbb-ico {
    transform: translateX(3px);
}

.tptbb-btn--primary {
    background: var(--tptbb-navy);
    color: #fff;
    box-shadow: 0 12px 24px -12px rgba(13, 36, 64, 0.7);
}

.tptbb-btn--primary:hover {
    background: var(--tptbb-navy-deep);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 18px 30px -14px rgba(13, 36, 64, 0.75);
}

.tptbb-btn--gold {
    background: var(--tptbb-gold);
    color: var(--tptbb-navy-deep);
    box-shadow: 0 12px 26px -12px rgba(224, 154, 18, 0.85);
}

.tptbb-btn--gold:hover {
    background: var(--tptbb-gold-deep);
    color: var(--tptbb-navy-deep);
    transform: translateY(-2px);
}

.tptbb-btn--cream {
    background: #fff;
    color: var(--tptbb-navy);
    border-color: rgba(19, 50, 86, 0.16);
    box-shadow: 0 10px 24px -18px rgba(13, 36, 64, 0.6);
}

.tptbb-btn--cream:hover {
    background: var(--tptbb-cream-2);
    color: var(--tptbb-navy);
    transform: translateY(-2px);
}

.tptbb-btn--ghost {
    background: transparent;
    color: var(--tptbb-navy);
    border-color: rgba(19, 50, 86, 0.28);
}

.tptbb-btn--ghost:hover {
    background: rgba(19, 50, 86, 0.06);
    color: var(--tptbb-navy);
    transform: translateY(-2px);
}

.tptbb-btn--text {
    background: transparent;
    color: var(--tptbb-navy);
    padding-inline: 0.4em;
    border-radius: 6px;
}

.tptbb-btn--text:hover {
    color: var(--tptbb-tan-dark);
}

.tptbb-btn--sm {
    padding: 0.6em 1em;
    font-size: 0.9rem;
}

.tptbb-btn--full {
    width: 100%;
}

.tptbb-textlink {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    font-weight: 700;
    font-family: Raleway, Nunito, sans-serif;
    text-decoration: none !important;
    border-bottom: 2px solid rgba(19, 50, 86, 0.18);
    padding-bottom: 2px;
}

.tptbb-textlink:hover {
    border-bottom-color: var(--tptbb-gold);
}

.tptbb-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

/* ------------------------------------------------------------ Shared bits */

.tptbb-eyebrow {
    display: inline-block;
    margin: 0 0 0.7rem;
    font-family: Raleway, Nunito, sans-serif;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--tptbb-tan-dark);
}

.tptbb-eyebrow--light {
    color: var(--tptbb-gold);
}

.tptbb-section {
    padding: clamp(56px, 7vw, 88px) 0;
    scroll-margin-top: 84px;
}

.tptbb-section--tight {
    padding-block: clamp(40px, 5vw, 60px);
}

.tptbb-section--band {
    background: linear-gradient(180deg, var(--tptbb-cream) 0%, #fdfaf6 100%);
}

.tptbb-head {
    max-width: 760px;
    margin-bottom: clamp(28px, 4vw, 44px);
}

.tptbb-head--centre {
    margin-inline: auto;
    text-align: center;
}

.tptbb-head h2 {
    font-size: clamp(1.85rem, 3.6vw, 2.7rem);
    font-weight: 800;
    margin-bottom: 0.45em;
}

.tptbb-head__lead {
    font-size: 1.08rem;
    color: var(--tptbb-muted);
    margin: 0;
}

/* ------------------------------------------------------------------ Hero */

.tptbb-hero {
    position: relative;
    padding: clamp(40px, 6vw, 72px) 0 clamp(56px, 7vw, 84px);
    background:
        radial-gradient(900px 480px at 88% 0%, rgba(200, 179, 146, 0.4), transparent 62%),
        radial-gradient(700px 420px at 0% 100%, rgba(248, 177, 51, 0.14), transparent 60%),
        linear-gradient(180deg, #fdf9f4 0%, var(--tptbb-cream) 100%);
    border-bottom: 1px solid rgba(19, 50, 86, 0.06);
}

.tptbb-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    gap: clamp(28px, 5vw, 64px);
    align-items: center;
}

.tptbb-hero__title {
    font-size: clamp(2.15rem, 4.8vw, 3.6rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    margin: 0 0 0.5em;
}

.tptbb-hero__title span {
    display: block;
    font-weight: 700;
    color: var(--tptbb-tan-dark);
}

.tptbb-hero__lead {
    font-size: clamp(1.02rem, 1.7vw, 1.18rem);
    color: var(--tptbb-muted);
    max-width: 34em;
    margin-bottom: 1.5em;
}

.tptbb-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    list-style: none;
    margin: 1.6em 0 0;
    padding: 0;
}

.tptbb-facts li {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    font-size: 0.92rem;
    color: var(--tptbb-navy);
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(19, 50, 86, 0.1);
    border-radius: 999px;
    padding: 0.42em 0.9em;
    margin: 0;
}

.tptbb-facts .tptbb-ico {
    color: var(--tptbb-tan-dark);
    width: 1.15em;
    height: 1.15em;
}

.tptbb-hero__art {
    position: relative;
}

.tptbb-hero__logo {
    display: block;
    width: 100%;
    filter: drop-shadow(0 26px 40px rgba(19, 50, 86, 0.16));
    border-radius: 28px;
}

.tptbb-need {
    position: relative;
    margin: -8% 6% 0;
    background: #fff;
    border-radius: 18px;
    padding: 18px 20px;
    box-shadow: var(--tptbb-shadow);
    border: 1px solid rgba(19, 50, 86, 0.08);
}

.tptbb-need__tag {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    font-family: Raleway, Nunito, sans-serif;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #8a5a00;
    background: rgba(248, 177, 51, 0.25);
    border-radius: 999px;
    padding: 0.3em 0.75em;
    margin-bottom: 0.55em;
}

.tptbb-need p {
    margin: 0;
    font-size: 0.95rem;
    color: var(--tptbb-ink);
}

/* Hero needs disclosure: TPT_BABY_BANK_HERO_NEEDS_ONLY_V1_20261107 */
.tptbb-need .tptbb-need__updated {
    margin: 0.4rem 0 0;
    font-size: 0.78rem;
    color: var(--tptbb-muted);
    font-weight: 700;
}

.tptbb-need__details {
    margin-top: 0.75rem;
    border-top: 1px solid var(--tptbb-line);
    padding-top: 0.7rem;
}

.tptbb-need__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.45em;
    cursor: pointer;
    list-style: none;
    font-family: Raleway, Nunito, sans-serif;
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--tptbb-navy);
    background: rgba(19, 50, 86, 0.07);
    border: 1px solid var(--tptbb-line);
    border-radius: 999px;
    padding: 0.55em 0.95em;
    transition: background 0.2s ease;
}

.tptbb-need__toggle::-webkit-details-marker {
    display: none;
}

.tptbb-need__toggle:hover,
.tptbb-need__toggle:focus-visible {
    background: rgba(19, 50, 86, 0.13);
}

.tptbb-need__toggle .tptbb-ico {
    width: 1.05em;
    height: 1.05em;
    transition: transform 0.2s ease;
}

.tptbb-need__details[open] .tptbb-need__toggle .tptbb-ico {
    transform: rotate(90deg);
}

.tptbb-need__toggle-close {
    display: none;
}

.tptbb-need__details[open] .tptbb-need__toggle-open {
    display: none;
}

.tptbb-need__details[open] .tptbb-need__toggle-close {
    display: inline;
}

.tptbb-need__list {
    list-style: none;
    margin: 0.7rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.45rem;
    max-height: 15rem;
    overflow-y: auto;
}

.tptbb-need__item {
    display: grid;
    gap: 0.1rem;
    padding: 0.55rem 0.7rem;
    border-radius: 10px;
    background: rgba(19, 50, 86, 0.05);
}

.tptbb-need__item strong {
    color: var(--tptbb-navy);
    font-size: 0.92rem;
}

.tptbb-need__item span {
    font-size: 0.82rem;
    color: var(--tptbb-muted);
}

.tptbb-need__item em {
    font-style: normal;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tptbb-tan-dark);
}

.tptbb-need .tptbb-need__foot {
    margin: 0.6rem 0 0;
    font-size: 0.78rem;
    color: var(--tptbb-muted);
}

@media (max-width: 720px) {
    .tptbb-need__list {
        max-height: 13rem;
    }
    .tptbb-need__toggle {
        width: 100%;
        justify-content: center;
    }
}

/* -------------------------------------------------------- Pathway cards */

.tptbb-paths {
    background: #fff;
    padding: 0 0 clamp(20px, 3vw, 30px);
}

.tptbb-paths__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: clamp(-34px, -2.6vw, -22px);
    position: relative;
    z-index: 2;
}

.tptbb-path {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid rgba(19, 50, 86, 0.1);
    border-radius: var(--tptbb-radius-sm);
    box-shadow: var(--tptbb-shadow-soft);
    text-decoration: none !important;
    color: var(--tptbb-ink);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.tptbb-path:hover {
    transform: translateY(-3px);
    border-color: rgba(200, 179, 146, 0.8);
    box-shadow: var(--tptbb-shadow);
    color: var(--tptbb-ink);
}

.tptbb-path__icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--tptbb-cream-2);
    color: var(--tptbb-tan-dark);
    flex: none;
}

.tptbb-path__body {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
    flex: 1 1 auto;
    min-width: 0;
}

.tptbb-path__body strong {
    font-family: Raleway, Nunito, sans-serif;
    color: var(--tptbb-navy);
    font-size: 0.98rem;
}

.tptbb-path__body span {
    font-size: 0.86rem;
    color: var(--tptbb-muted);
}

.tptbb-path > .tptbb-ico {
    color: var(--tptbb-tan-dark);
    width: 1.1em;
    height: 1.1em;
    transition: transform 0.18s ease;
}

.tptbb-path:hover > .tptbb-ico {
    transform: translateX(3px);
}

/* ---------------------------------------------------------------- Subnav */

.tptbb-subnav {
    position: static;
    z-index: 40;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: saturate(1.4) blur(10px);
    -webkit-backdrop-filter: saturate(1.4) blur(10px);
    border-top: 1px solid rgba(19, 50, 86, 0.07);
    border-bottom: 1px solid rgba(19, 50, 86, 0.1);
}

.tptbb-subnav__inner {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
    padding-block: 8px;
}

.tptbb-subnav__inner::-webkit-scrollbar {
    display: none;
}

.tptbb-subnav a {
    flex: none;
    display: inline-block;
    padding: 0.5em 0.95em;
    border-radius: 999px;
    font-family: Raleway, Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.86rem;
    color: var(--tptbb-muted);
    text-decoration: none !important;
    white-space: nowrap;
    border: 1px solid transparent;
    transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.tptbb-subnav a:hover {
    color: var(--tptbb-navy);
    background: rgba(19, 50, 86, 0.05);
}

.tptbb-subnav a.is-active {
    color: var(--tptbb-navy);
    background: var(--tptbb-cream-2);
    border-color: rgba(200, 179, 146, 0.6);
}

/* ----------------------------------------------------------------- Cards */

.tptbb-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.tptbb-card {
    position: relative;
    padding: 26px 24px 24px;
    background: #fff;
    border: 1px solid var(--tptbb-line);
    border-radius: var(--tptbb-radius);
    box-shadow: var(--tptbb-shadow-soft);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.tptbb-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--tptbb-tan), var(--tptbb-gold));
    opacity: 0;
    transition: opacity 0.2s ease;
}

.tptbb-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--tptbb-shadow);
    border-color: rgba(200, 179, 146, 0.7);
}

.tptbb-card:hover::before {
    opacity: 1;
}

.tptbb-card__icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: linear-gradient(145deg, var(--tptbb-cream-2), #fff);
    border: 1px solid rgba(200, 179, 146, 0.5);
    color: var(--tptbb-tan-dark);
    margin-bottom: 16px;
}

.tptbb-card__icon .tptbb-ico {
    width: 26px;
    height: 26px;
}

.tptbb-card h3 {
    font-size: 1.12rem;
    font-weight: 800;
    margin-bottom: 0.4em;
}

.tptbb-card p {
    margin: 0;
    font-size: 0.96rem;
    color: var(--tptbb-muted);
}

.tptbb-callout {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
    padding: 16px 20px;
    background: var(--tptbb-cream);
    border: 1px dashed rgba(200, 179, 146, 0.9);
    border-radius: var(--tptbb-radius-sm);
}

.tptbb-callout__icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    color: var(--tptbb-tan-dark);
    flex: none;
}

.tptbb-callout p {
    margin: 0;
    font-size: 0.97rem;
}

/* ----------------------------------------------------------------- Steps */

.tptbb-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    counter-reset: step;
}

.tptbb-step {
    position: relative;
    padding: 30px 24px 24px;
    background: #fff;
    border: 1px solid var(--tptbb-line);
    border-radius: var(--tptbb-radius);
    box-shadow: var(--tptbb-shadow-soft);
    margin: 0;
}

.tptbb-step__num {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--tptbb-navy);
    color: #fff;
    font-family: Raleway, Nunito, sans-serif;
    font-weight: 800;
    font-size: 1.05rem;
    margin-bottom: 14px;
}

.tptbb-step h3 {
    font-size: 1.08rem;
    font-weight: 800;
    margin-bottom: 0.4em;
}

.tptbb-step p {
    margin: 0;
    font-size: 0.95rem;
    color: var(--tptbb-muted);
}

.tptbb-help-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    padding: clamp(22px, 3.5vw, 34px);
    background: linear-gradient(120deg, var(--tptbb-navy) 0%, #1d4570 100%);
    border-radius: var(--tptbb-radius);
    color: #fff;
    box-shadow: var(--tptbb-shadow);
}

.tptbb-help-cta h3 {
    color: #fff;
    font-size: 1.35rem;
    margin-bottom: 0.3em;
}

.tptbb-help-cta p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    max-width: 42em;
}

.tptbb-help-cta .tptbb-btn--primary {
    background: var(--tptbb-gold);
    color: var(--tptbb-navy-deep);
    box-shadow: 0 14px 30px -14px rgba(0, 0, 0, 0.6);
}

.tptbb-help-cta .tptbb-btn--primary:hover {
    background: #ffc457;
    color: var(--tptbb-navy-deep);
}

/* ------------------------------------------------------------ Donate ways */

.tptbb-ways {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 30px;
}

.tptbb-way {
    display: flex;
    flex-direction: column;
    padding: 26px 24px;
    background: #fff;
    border: 1px solid var(--tptbb-line);
    border-radius: var(--tptbb-radius);
    box-shadow: var(--tptbb-shadow-soft);
}

.tptbb-way__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: var(--tptbb-cream-2);
    color: var(--tptbb-tan-dark);
    margin-bottom: 14px;
}

.tptbb-way h3 {
    font-size: 1.08rem;
    font-weight: 800;
    margin-bottom: 0.4em;
}

.tptbb-way p {
    font-size: 0.95rem;
    color: var(--tptbb-muted);
}

.tptbb-way address {
    font-style: normal;
    font-size: 0.92rem;
    color: var(--tptbb-ink);
    border-left: 3px solid var(--tptbb-tan);
    padding-left: 12px;
    margin: 0 0 16px;
    line-height: 1.55;
}

.tptbb-way__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
}

.tptbb-way .tptbb-textlink {
    margin-top: auto;
    align-self: flex-start;
}

.tptbb-copy {
    align-self: flex-start;
    margin-top: auto;
    background: #fff;
    border: 1.5px solid rgba(19, 50, 86, 0.2);
    border-radius: 999px;
    padding: 0.5em 1em;
    font-family: Raleway, Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.84rem;
    color: var(--tptbb-navy);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.tptbb-copy:hover {
    background: var(--tptbb-cream-2);
    border-color: rgba(200, 179, 146, 0.9);
}

.tptbb-copy.is-copied {
    background: rgba(47, 107, 70, 0.1);
    border-color: rgba(47, 107, 70, 0.5);
    color: var(--tptbb-green);
}

/* -------------------------------------------------------------- Checklist */

.tptbb-checklist {
    background: #fff;
    border: 1px solid var(--tptbb-line);
    border-radius: var(--tptbb-radius);
    box-shadow: var(--tptbb-shadow);
    padding: clamp(22px, 3.5vw, 36px);
}

.tptbb-checklist__head {
    max-width: 640px;
    margin-bottom: 20px;
}

.tptbb-checklist__head h3 {
    font-size: clamp(1.25rem, 2.4vw, 1.6rem);
    font-weight: 800;
    margin-bottom: 0.35em;
}

.tptbb-checklist__head p {
    margin: 0;
    color: var(--tptbb-muted);
    font-size: 0.97rem;
}

.tptbb-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 6px;
    background: var(--tptbb-cream);
    border-radius: 999px;
    margin-bottom: 22px;
    width: fit-content;
    max-width: 100%;
}

.tptbb-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    background: transparent;
    border-radius: 999px;
    padding: 0.6em 1.05em;
    font-family: Raleway, Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--tptbb-muted);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.tptbb-tab:hover {
    color: var(--tptbb-navy);
}

.tptbb-tab.is-active {
    background: #fff;
    color: var(--tptbb-navy);
    box-shadow: 0 6px 16px -8px rgba(13, 36, 64, 0.4);
}

.tptbb-tab__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex: none;
}

.tptbb-tab__dot--yes { background: var(--tptbb-green); }
.tptbb-tab__dot--ask { background: var(--tptbb-amber); }
.tptbb-tab__dot--no  { background: var(--tptbb-red); }

.tptbb-tab__count {
    font-size: 0.72rem;
    font-weight: 800;
    background: rgba(19, 50, 86, 0.08);
    border-radius: 999px;
    padding: 0.05em 0.5em;
}

.tptbb-panel__note {
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 0.93rem;
    background: rgba(169, 112, 15, 0.09);
    border: 1px solid rgba(169, 112, 15, 0.2);
    color: #6c4a0b;
}

.tptbb-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 22px;
}

.tptbb-listitem {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 11px 14px;
    border-radius: 12px;
    background: #fcfaf7;
    border: 1px solid rgba(19, 50, 86, 0.07);
    margin: 0;
    font-size: 0.93rem;
    line-height: 1.5;
}

.tptbb-listitem__icon {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    flex: none;
    margin-top: 1px;
}

.tptbb-listitem__icon .tptbb-ico {
    width: 15px;
    height: 15px;
    stroke-width: 2.2;
}

.tptbb-listitem--yes .tptbb-listitem__icon {
    background: rgba(47, 107, 70, 0.14);
    color: var(--tptbb-green);
}

.tptbb-listitem--ask .tptbb-listitem__icon {
    background: rgba(169, 112, 15, 0.14);
    color: var(--tptbb-amber);
}

.tptbb-listitem--no .tptbb-listitem__icon {
    background: rgba(167, 74, 60, 0.13);
    color: var(--tptbb-red);
}

.tptbb-listitem--no .tptbb-listitem__text {
    color: #6f4a43;
}

/* ------------------------------------------------------------ Newsletter */

.tptbb-newsletter {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(24px, 4vw, 48px);
    align-items: center;
    padding: clamp(26px, 4.5vw, 48px);
    border-radius: calc(var(--tptbb-radius) + 6px);
    background:
        radial-gradient(700px 360px at 100% 0%, rgba(248, 177, 51, 0.18), transparent 60%),
        linear-gradient(120deg, var(--tptbb-navy) 0%, #173e66 60%, #1d4570 100%);
    color: #fff;
    box-shadow: var(--tptbb-shadow);
    overflow: hidden;
    isolation: isolate;
}

.tptbb-newsletter::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: -10%;
    top: -30%;
    width: min(560px, 60%);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, rgba(200, 179, 146, 0.5), transparent 68%);
    pointer-events: none;
}

.tptbb-newsletter h2 {
    color: #fff;
    font-size: clamp(1.7rem, 3.2vw, 2.4rem);
    font-weight: 800;
    margin-bottom: 0.4em;
}

.tptbb-newsletter p {
    color: rgba(255, 255, 255, 0.82);
}

.tptbb-newsletter__form {
    background: rgba(255, 255, 255, 0.97);
    border-radius: var(--tptbb-radius);
    padding: clamp(18px, 2.6vw, 26px);
    box-shadow: 0 24px 50px -24px rgba(0, 0, 0, 0.65);
    color: var(--tptbb-ink);
}

.tptbb-field {
    margin-bottom: 12px;
}

.tptbb-field label {
    display: block;
    font-family: Raleway, Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.84rem;
    color: var(--tptbb-navy);
    margin-bottom: 5px;
}

.tptbb-field input[type="email"] {
    width: 100%;
    padding: 0.75em 0.9em;
    border: 1.5px solid rgba(19, 50, 86, 0.2);
    border-radius: 10px;
    font: inherit;
    font-size: 1rem;
    color: var(--tptbb-ink);
    background: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.tptbb-field input[type="email"]:focus {
    border-color: var(--tptbb-tan-dark);
    box-shadow: 0 0 0 4px rgba(200, 179, 146, 0.28);
    outline: none;
}

.tptbb-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.85rem;
    line-height: 1.45;
    color: var(--tptbb-muted);
    margin-bottom: 12px;
    cursor: pointer;
}

.tptbb-consent input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex: none;
    accent-color: var(--tptbb-navy);
}

.tptbb-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.tptbb-nl-form .tptbb-btn {
    font-size: 1rem;
    padding: 0.85em 1.2em;
}

.tptbb-nl-form.is-sending .tptbb-btn {
    opacity: 0.7;
    pointer-events: none;
}

.tptbb-smallprint {
    margin: 10px 0 0;
    font-size: 0.76rem;
    color: var(--tptbb-muted);
    line-height: 1.45;
}

.tptbb-formstatus {
    margin-top: 12px;
}

.tptbb-formstatus p {
    margin: 0;
    padding: 11px 14px;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 600;
    background: rgba(19, 50, 86, 0.06);
    color: var(--tptbb-navy);
}

.tptbb-formstatus[data-state="success"] p,
.tptbb-formstatus[data-state="already_subscribed"] p {
    background: rgba(47, 107, 70, 0.12);
    color: var(--tptbb-green);
}

.tptbb-formstatus[data-state="invalid_email"] p,
.tptbb-formstatus[data-state="consent_required"] p,
.tptbb-formstatus[data-state="unsubscribed"] p,
.tptbb-formstatus[data-state="error"] p,
.tptbb-formstatus[data-state="rate_limited"] p {
    background: rgba(167, 74, 60, 0.1);
    color: #8a3d32;
}

.tptbb-nl-frame {
    display: none;
    width: 1px;
    height: 1px;
    border: 0;
}

/* ------------------------------------------------------------------- FAQ */

.tptbb-faqs {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tptbb-faq {
    background: #fff;
    border: 1px solid var(--tptbb-line);
    border-radius: var(--tptbb-radius-sm);
    box-shadow: var(--tptbb-shadow-soft);
    overflow: hidden;
    transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.tptbb-faq[open] {
    border-color: rgba(200, 179, 146, 0.85);
    box-shadow: var(--tptbb-shadow);
}

.tptbb-faq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    list-style: none;
    cursor: pointer;
    padding: 18px 22px;
    font-family: Raleway, Nunito, sans-serif;
    font-weight: 700;
    color: var(--tptbb-navy);
    font-size: 1.02rem;
    line-height: 1.4;
}

.tptbb-faq summary::-webkit-details-marker {
    display: none;
}

.tptbb-faq__mark {
    position: relative;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--tptbb-cream-2);
    flex: none;
    transition: background 0.16s ease, transform 0.2s ease;
}

.tptbb-faq__mark::before,
.tptbb-faq__mark::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 2px;
    background: var(--tptbb-navy);
    transform: translate(-50%, -50%);
    border-radius: 2px;
}

.tptbb-faq__mark::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: transform 0.2s ease;
}

.tptbb-faq[open] .tptbb-faq__mark {
    background: var(--tptbb-gold);
}

.tptbb-faq[open] .tptbb-faq__mark::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.tptbb-faq__body {
    padding: 0 22px 20px;
    color: var(--tptbb-muted);
    font-size: 0.97rem;
}

.tptbb-faq__body p:last-child {
    margin-bottom: 0;
}

.tptbb-faq-more {
    text-align: center;
    margin: 24px 0 0;
    color: var(--tptbb-muted);
}

/* ------------------------------------------------------------ Partnership */

.tptbb-partner {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(22px, 4vw, 44px);
    align-items: center;
    padding: clamp(24px, 4vw, 40px);
    background: var(--tptbb-cream);
    border: 1px solid rgba(200, 179, 146, 0.55);
    border-radius: calc(var(--tptbb-radius) + 4px);
}

.tptbb-partner__logo {
    display: block;
    width: 100%;
    max-width: 320px;
    background: #fff;
    padding: 18px;
    border-radius: 16px;
    box-shadow: var(--tptbb-shadow-soft);
}

.tptbb-partner h2 {
    font-size: clamp(1.4rem, 2.6vw, 1.9rem);
    font-weight: 800;
    margin-bottom: 0.4em;
}

.tptbb-partner p {
    color: var(--tptbb-muted);
    margin-bottom: 1.2em;
}

/* --------------------------------------------------------------- Contact */

.tptbb-contact {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(26px, 5vw, 56px);
    align-items: start;
}

.tptbb-contact h2 {
    font-size: clamp(1.8rem, 3.2vw, 2.5rem);
    font-weight: 800;
    margin-bottom: 0.4em;
}

.tptbb-contact__list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.tptbb-contact__list li {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin: 0;
    font-size: 0.95rem;
    color: var(--tptbb-muted);
}

.tptbb-contact__list li > .tptbb-ico {
    width: 22px;
    height: 22px;
    color: var(--tptbb-tan-dark);
    margin-top: 2px;
}

.tptbb-contact__list strong {
    color: var(--tptbb-navy);
    font-family: Raleway, Nunito, sans-serif;
}

.tptbb-formcard {
    background: #fff;
    border: 1px solid var(--tptbb-line);
    border-radius: var(--tptbb-radius);
    box-shadow: var(--tptbb-shadow);
    padding: clamp(18px, 3vw, 30px);
}

.tptbb-formcard__hint {
    background: var(--tptbb-cream-2);
    border-left: 4px solid var(--tptbb-gold);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 0.9rem;
    color: var(--tptbb-ink);
}

/* Make the existing Quform enquiry form sit comfortably inside the card. */
.tptbb-formcard .quform-form,
.tptbb-formcard .quform-elements {
    margin: 0;
}

.tptbb-formcard .quform-input input,
.tptbb-formcard .quform-input textarea,
.tptbb-formcard .quform-input select {
    border-radius: 9px !important;
}

/* ------------------------------------------------------------------- CTA */

.tptbb-cta {
    background:
        radial-gradient(600px 300px at 10% 0%, rgba(248, 177, 51, 0.25), transparent 60%),
        linear-gradient(120deg, #0d2440 0%, var(--tptbb-navy) 60%, #1d4570 100%);
    color: #fff;
    padding: clamp(40px, 6vw, 64px) 0;
}

.tptbb-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    flex-wrap: wrap;
}

.tptbb-cta h2 {
    color: #fff;
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-weight: 800;
    margin-bottom: 0.3em;
}

.tptbb-cta p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    max-width: 40em;
}

/* ------------------------------------------------------------- Animation */

.tptbb--js .tptbb-card,
.tptbb--js .tptbb-step,
.tptbb--js .tptbb-way,
.tptbb--js .tptbb-partner,
.tptbb--js .tptbb-checklist {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.55s ease, transform 0.55s ease;
    transition-delay: calc(var(--i, 0) * 60ms);
}

.tptbb--js .tptbb-card.is-in,
.tptbb--js .tptbb-step.is-in,
.tptbb--js .tptbb-way.is-in,
.tptbb--js .tptbb-partner.is-in,
.tptbb--js .tptbb-checklist.is-in {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .tptbb *,
    .tptbb *::before,
    .tptbb *::after {
        animation-duration: 0.001ms !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
    .tptbb--js .tptbb-card,
    .tptbb--js .tptbb-step,
    .tptbb--js .tptbb-way,
    .tptbb--js .tptbb-partner,
    .tptbb--js .tptbb-checklist {
        opacity: 1;
        transform: none;
    }
}

html {
    scroll-behavior: smooth;
}

/* ------------------------------------------------------------- Responsive */

@media (max-width: 1024px) {
    .tptbb-hero__grid {
        grid-template-columns: 1fr;
    }
    .tptbb-hero__art {
        max-width: 620px;
        margin-inline: auto;
    }
    .tptbb-need {
        margin-top: -6%;
    }
    .tptbb-cards,
    .tptbb-ways,
    .tptbb-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .tptbb-newsletter {
        grid-template-columns: 1fr;
    }
    .tptbb-contact {
        grid-template-columns: 1fr;
    }
    .tptbb-partner {
        grid-template-columns: 1fr;
    }
    .tptbb-partner__logo {
        max-width: 280px;
    }
}

@media (max-width: 720px) {
    .tptbb {
        font-size: 16px;
    }
    .tptbb-wrap,
    .tptbb-wrap--narrow {
        width: calc(100% - 32px);
    }
    .tptbb-paths__grid {
        grid-template-columns: 1fr;
        margin-top: 0;
        padding-top: 22px;
    }
    .tptbb-cards,
    .tptbb-ways,
    .tptbb-steps,
    .tptbb-list {
        grid-template-columns: 1fr;
    }
    .tptbb-subnav__inner {
        padding-block: 6px;
    }
    .tptbb-tabs {
        width: 100%;
        border-radius: 16px;
    }
    .tptbb-tab {
        flex: 1 1 auto;
        justify-content: center;
    }
    .tptbb-need {
        margin: 14px 0 0;
    }
    .tptbb-facts {
        gap: 8px;
    }
    .tptbb-help-cta {
        align-items: flex-start;
    }
    .tptbb-cta__inner {
        align-items: flex-start;
    }
}

@media print {
    .tptbb-subnav,
    .tptbb-cta,
    .tptbb-newsletter,
    .tptbb-formcard {
        display: none !important;
    }
    .tptbb-section {
        padding-block: 18px;
    }
}

/* =========================================================================
   Elementor kit specificity guards
   The site kit (post-601.css) loads after this file and targets
   `.elementor-kit-601 a`, `.elementor-kit-601 button` and
   `.elementor-kit-601 h1`. These scoped rules keep the Baby Bank page
   on its own palette and component styles.
   ========================================================================= */

.tptbb .tptbb-hero__title {
    font-family: Raleway, Nunito, sans-serif !important;
    font-size: clamp(2rem, 3.5vw, 3rem) !important;
    font-weight: 800 !important;
    line-height: 1.15;
    color: var(--tptbb-navy);
}

.tptbb .tptbb-head h2 {
    font-size: clamp(1.85rem, 3.6vw, 2.7rem) !important;
    font-weight: 800;
}

.tptbb .tptbb-newsletter h2,
.tptbb .tptbb-help-cta h3,
.tptbb .tptbb-cta h2 {
    color: #fff !important;
}

.tptbb a.tptbb-btn--primary,
.tptbb a.tptbb-btn--primary:visited {
    background: var(--tptbb-navy) !important;
    color: #fff !important;
}

.tptbb a.tptbb-btn--primary:hover {
    background: var(--tptbb-navy-deep) !important;
    color: #fff !important;
}

.tptbb a.tptbb-btn--gold,
.tptbb a.tptbb-btn--gold:visited,
.tptbb a.tptbb-btn--gold:hover {
    background: var(--tptbb-gold) !important;
    color: var(--tptbb-navy-deep) !important;
}

.tptbb a.tptbb-btn--gold:hover {
    background: var(--tptbb-gold-deep) !important;
}

.tptbb a.tptbb-btn--cream,
.tptbb a.tptbb-btn--cream:visited {
    background: #fff !important;
    color: var(--tptbb-navy) !important;
    border-color: rgba(19, 50, 86, 0.16) !important;
}

.tptbb a.tptbb-btn--cream:hover {
    background: var(--tptbb-cream-2) !important;
    color: var(--tptbb-navy) !important;
}

.tptbb a.tptbb-btn--ghost,
.tptbb a.tptbb-btn--ghost:visited {
    background: transparent !important;
    color: var(--tptbb-navy) !important;
    border-color: rgba(19, 50, 86, 0.28) !important;
}

.tptbb a.tptbb-btn--ghost:hover {
    background: rgba(19, 50, 86, 0.06) !important;
    color: var(--tptbb-navy) !important;
}

.tptbb a.tptbb-btn--text,
.tptbb a.tptbb-btn--text:visited,
.tptbb a.tptbb-btn--text:hover {
    background: transparent !important;
    color: var(--tptbb-navy) !important;
}

.tptbb a.tptbb-btn--text:hover {
    color: var(--tptbb-tan-dark) !important;
}

.tptbb .tptbb-help-cta a.tptbb-btn--primary,
.tptbb .tptbb-help-cta a.tptbb-btn--primary:visited {
    background: var(--tptbb-gold) !important;
    color: var(--tptbb-navy-deep) !important;
}

.tptbb .tptbb-help-cta a.tptbb-btn--primary:hover {
    background: #ffc457 !important;
    color: var(--tptbb-navy-deep) !important;
}

.tptbb a.tptbb-path,
.tptbb a.tptbb-path:visited {
    background: #fff !important;
    color: var(--tptbb-ink) !important;
}

.tptbb a.tptbb-path:hover {
    background: #fff !important;
    color: var(--tptbb-ink) !important;
}

.tptbb a.tptbb-textlink,
.tptbb a.tptbb-textlink:visited {
    color: var(--tptbb-navy) !important;
}

.tptbb a.tptbb-textlink:hover {
    color: var(--tptbb-tan-dark) !important;
}

.tptbb .tptbb-subnav a,
.tptbb .tptbb-subnav a:visited {
    color: var(--tptbb-muted) !important;
    background: transparent !important;
}

.tptbb .tptbb-subnav a:hover {
    color: var(--tptbb-navy) !important;
    background: rgba(19, 50, 86, 0.05) !important;
}

.tptbb .tptbb-subnav a.is-active {
    color: var(--tptbb-navy) !important;
    background: var(--tptbb-cream-2) !important;
}

.tptbb .tptbb-copy {
    background: #fff !important;
    color: var(--tptbb-navy) !important;
    border: 1.5px solid rgba(19, 50, 86, 0.2) !important;
}

.tptbb .tptbb-copy:hover {
    background: var(--tptbb-cream-2) !important;
    border-color: rgba(200, 179, 146, 0.9) !important;
}

.tptbb .tptbb-copy.is-copied {
    background: rgba(47, 107, 70, 0.1) !important;
    border-color: rgba(47, 107, 70, 0.5) !important;
    color: var(--tptbb-green) !important;
}

.tptbb p a,
.tptbb li a,
.tptbb .tptbb-faq__body a,
.tptbb .tptbb-smallprint a,
.tptbb .tptbb-callout a,
.tptbb .tptbb-faq-more a {
    color: var(--tptbb-navy);
}

.tptbb p a:hover,
.tptbb li a:hover,
.tptbb .tptbb-faq__body a:hover,
.tptbb .tptbb-smallprint a:hover,
.tptbb .tptbb-callout a:hover,
.tptbb .tptbb-faq-more a:hover {
    color: var(--tptbb-tan-dark);
}

/* Kit button guard for real <button> elements (tabs, submit, copy). */
.tptbb .tptbb-tab {
    background: transparent !important;
    color: var(--tptbb-muted) !important;
    font-family: Raleway, Nunito, sans-serif;
}

.tptbb .tptbb-tab:hover {
    background: transparent !important;
    color: var(--tptbb-navy) !important;
}

.tptbb .tptbb-tab.is-active {
    background: #fff !important;
    color: var(--tptbb-navy) !important;
    box-shadow: 0 6px 16px -8px rgba(13, 36, 64, 0.4) !important;
}

.tptbb .tptbb-tab__count {
    background: rgba(19, 50, 86, 0.08) !important;
    color: inherit !important;
}

.tptbb button.tptbb-btn--gold {
    background: var(--tptbb-gold) !important;
    color: var(--tptbb-navy-deep) !important;
}

.tptbb button.tptbb-btn--gold:hover {
    background: var(--tptbb-gold-deep) !important;
    color: var(--tptbb-navy-deep) !important;
}

.tptbb .tptbb-copy {
    font-family: Raleway, Nunito, sans-serif;
}


.tptbb .tptbb-smallprint {
    color: var(--tptbb-muted) !important;
}

.tptbb .tptbb-smallprint a {
    color: var(--tptbb-navy) !important;
}


/* =========================================================================
   Elementor section widgets + impact stats + live needs
   Marker: TPT_BABY_BANK_ELEMENTOR_V1_20261107
   ========================================================================= */

.tptbb.elementor-section,
.tptbb .elementor-widget-container {
    overflow: visible;
}

.tptbb-widget {
    margin-block-end: 0 !important;
}

.tptbb-widget .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

/* Live needs panel */
.tptbb-live-needs {
    background: var(--tptbb-cream);
    border: 1px solid rgba(200, 179, 146, 0.65);
    border-radius: var(--tptbb-radius);
    padding: clamp(18px, 3vw, 26px);
    margin: 0 0 22px;
    box-shadow: var(--tptbb-shadow-soft);
}

.tptbb-live-needs__head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: baseline;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.tptbb-live-needs__head h3 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
}

.tptbb-live-needs__head span {
    font-size: 0.8rem;
    color: var(--tptbb-muted);
    font-weight: 700;
}

.tptbb-live-needs__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tptbb-live-needs__item {
    background: #fff;
    border: 1px solid rgba(19, 50, 86, 0.08);
    border-radius: 12px;
    padding: 11px 13px;
    margin: 0;
    display: grid;
    gap: 2px;
}

.tptbb-live-needs__item strong {
    color: var(--tptbb-navy);
    font-size: 0.95rem;
}

.tptbb-live-needs__item span {
    font-size: 0.85rem;
    color: var(--tptbb-muted);
}

.tptbb-live-needs__item em {
    font-style: normal;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tptbb-tan-dark);
}

.tptbb-live-needs__foot {
    margin: 14px 0 0;
    font-size: 0.86rem;
    color: var(--tptbb-muted);
}

/* Impact stats */
.tptbb-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.tptbb-stats__year {
    background: #fff;
    border: 1px solid var(--tptbb-line);
    border-radius: var(--tptbb-radius);
    padding: clamp(20px, 3vw, 30px);
    box-shadow: var(--tptbb-shadow-soft);
}

.tptbb-stats--single {
    grid-template-columns: minmax(0, 920px);
    justify-content: center;
}

.tptbb-stats--single .tptbb-stats__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tptbb-stats__year--current {
    border-color: rgba(200, 179, 146, 0.85);
    box-shadow: var(--tptbb-shadow);
}

.tptbb-stats__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.tptbb-stats__year-label {
    font-family: Raleway, Nunito, sans-serif;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--tptbb-tan-dark);
}

.tptbb-stats__year-badge {
    font-family: Raleway, Nunito, sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    font-weight: 800;
    color: var(--tptbb-navy);
    line-height: 1;
}

.tptbb-stats__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tptbb-stat {
    background: var(--tptbb-cream);
    border: 1px solid rgba(200, 179, 146, 0.35);
    border-radius: 14px;
    padding: 14px 14px 12px;
}

.tptbb-stat__value {
    display: block;
    font-family: Raleway, Nunito, sans-serif;
    font-size: clamp(1.5rem, 2.6vw, 2.1rem);
    font-weight: 800;
    color: var(--tptbb-navy);
    line-height: 1;
}

.tptbb-stat__label {
    display: block;
    margin-top: 5px;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--tptbb-muted);
    line-height: 1.3;
}

.tptbb-stats__placeholder {
    margin: 0;
    padding: 18px;
    border-radius: 14px;
    background: rgba(19, 50, 86, 0.04);
    color: var(--tptbb-muted);
    font-size: 0.92rem;
}

.tptbb-stats__note {
    text-align: center;
    margin: 22px 0 0;
    color: var(--tptbb-muted);
    font-size: 0.9rem;
}

/* Custom Baby Bank enquiry form */
.tptbb-enquiry .tptbb-formgrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.tptbb-enquiry label {
    display: block;
    margin: 0 0 12px;
    font-family: Raleway, Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.86rem;
    color: var(--tptbb-navy);
}

.tptbb-enquiry input[type="text"],
.tptbb-enquiry input[type="email"],
.tptbb-enquiry input[type="number"],
.tptbb-enquiry textarea {
    display: block;
    width: 100%;
    margin-top: 5px;
    padding: 0.75em 0.9em;
    border: 1.5px solid rgba(19, 50, 86, 0.2);
    border-radius: 10px;
    font: inherit;
    font-size: 1rem;
    color: var(--tptbb-ink);
    background: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.tptbb-enquiry textarea {
    resize: vertical;
    min-height: 130px;
}

.tptbb-enquiry input:focus,
.tptbb-enquiry textarea:focus {
    border-color: var(--tptbb-tan-dark);
    box-shadow: 0 0 0 4px rgba(200, 179, 146, 0.28);
    outline: none;
}

.tptbb-enquiry .tptbb-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.tptbb-enquiry__status {
    margin: 0 0 18px;
    padding: 13px 16px;
    border-radius: 12px;
    font-size: 0.94rem;
    font-weight: 700;
}

.tptbb-enquiry__status--ok {
    background: rgba(47, 107, 70, 0.12);
    border: 1px solid rgba(47, 107, 70, 0.25);
    color: #1f5837;
}

.tptbb-enquiry__status--error {
    background: rgba(167, 74, 60, 0.1);
    border: 1px solid rgba(167, 74, 60, 0.25);
    color: #8a3d32;
}

@media (max-width: 720px) {
    .tptbb-live-needs__list,
    .tptbb-stats,
    .tptbb-stats__grid,
    .tptbb-enquiry .tptbb-formgrid {
        grid-template-columns: 1fr;
    }
    .tptbb-stats__grid,
    .tptbb-stats--single .tptbb-stats__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* The subnav lives in its own Elementor section; make that section sticky
   so it can travel with the page rather than being trapped in a 56px box. */
.elementor-section.tptbb-sticky-section {
    position: sticky !important;
    top: 0 !important;
    z-index: 40 !important;
}

.tptbb-sticky-section .tptbb-subnav {
    position: static;
}


/* On mobile the site header is fixed and tall; keeping the subnav sticky
   would hide it behind the header. Let it scroll in flow instead. */
@media (max-width: 1024px) {
    .elementor-section.tptbb-sticky-section {
        position: static !important;
        top: auto !important;
    }
}
/* TPT Bag a Bargain — Elementor widgets
   Marker: TPT_BAG_A_BARGAIN_WP_V1_20261106 */

.tpt-bag-widget {
    width: 100%;
    max-width: 100%;
}

.tpt-bag-widget-title {
    margin: 0 0 0.4rem;
    color: #1F4D2B;
    font-size: clamp(1.5rem, 3vw, 2.1rem);
    line-height: 1.12;
    font-weight: 800;
}

.tpt-bag-widget-intro {
    margin: 0 0 1rem;
    color: #4A5546;
    font-size: 1.02rem;
    line-height: 1.6;
}

.tpt-bag-iframe {
    display: block;
    width: 100%;
    min-height: 120px;
    border: 0;
    border-radius: 24px;
    background: transparent;
    overflow: hidden;
}

.tpt-bag-fallback {
    margin: 0.75rem 0 0;
    font-weight: 700;
}

.tpt-bag-fallback a {
    color: #1F4D2B;
}

/* -------------------------------------------------------------------------
 * Download App button
 * Small, high-contrast pill. Hidden on desktop by default; tablets are
 * covered both by width and by a coarse pointer, so landscape iPads work.
 * ---------------------------------------------------------------------- */

.tpt-app-download-btn {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: var(--tpt-app-bg, #F5B324);
    color: var(--tpt-app-color, #0A2239);
    border: 1px solid rgba(7, 26, 43, 0.12);
    box-shadow: 0 10px 26px rgba(7, 26, 43, 0.28);
    font-family: Raleway, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.01em;
    text-decoration: none !important;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.15s ease, opacity 0.15s ease;
}

.tpt-app-download-btn:hover,
.tpt-app-download-btn:focus {
    color: var(--tpt-app-color, #0A2239);
    text-decoration: none;
    transform: translateY(-1px);
}

.tpt-app-download-btn:focus-visible {
    outline: 3px solid rgba(245, 179, 36, 0.55);
    outline-offset: 3px;
}

.tpt-app-download-btn svg {
    width: 16px;
    height: 16px;
    flex: none;
}

.tpt-app-download-btn--floating {
    position: fixed;
    bottom: calc(var(--tpt-app-offset, 16px) + env(safe-area-inset-bottom));
    z-index: 2147482000;
}

.tpt-app-download-btn--right {
    right: max(var(--tpt-app-offset, 16px), env(safe-area-inset-right));
}

.tpt-app-download-btn--left {
    left: max(var(--tpt-app-offset, 16px), env(safe-area-inset-left));
}

.tpt-app-download-btn--inline {
    position: static;
    margin: 8px 0;
}

/* Mobile and tablet only. */
@media (max-width: 1024px) {
    .tpt-app-download-btn {
        display: inline-flex;
    }
}

@media (hover: none) and (pointer: coarse) and (max-width: 1366px) {
    .tpt-app-download-btn {
        display: inline-flex;
    }
}

/* Explicit desktop hide, unless the editor chose "All devices". */
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
    .tpt-app-download-btn {
        display: none !important;
    }
    .tpt-app-download-btn--all {
        display: inline-flex !important;
    }
}

/* Do not stack on top of the existing Parish Trust app prompt. */
body:has(#tpt-app-prompt:not([hidden])) .tpt-app-download-btn--floating {
    opacity: 0;
    pointer-events: none;
}

/* Keep the Elementor editor canvas usable. */
.elementor-editor-active .tpt-app-download-btn--floating {
    display: none !important;
}

/* -------------------------------------------------------------------------
 * Page content helpers used by the Bag a Bargain Elementor layout.
 * ---------------------------------------------------------------------- */

.tpt-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    color: #D9433A;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.tpt-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #E9F7E1;
    color: #1F4D2B;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tpt-live-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2F9E44;
    box-shadow: 0 0 0 4px rgba(47, 158, 68, 0.18);
    animation: tpt-live-pulse 2.2s ease-in-out infinite;
}

@keyframes tpt-live-pulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(47, 158, 68, 0.14); }
    50% { box-shadow: 0 0 0 7px rgba(47, 158, 68, 0.08); }
}

@media (prefers-reduced-motion: reduce) {
    .tpt-live-dot { animation: none; }
    .tpt-app-download-btn { transition: none; }
}

.tpt-step {
    height: 100%;
    border: 1px solid #DFE6D5;
    border-radius: 24px;
    background: #FFFFFF;
    padding: 24px 22px;
    box-shadow: 0 12px 26px rgba(31, 77, 43, 0.06);
}

.tpt-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: #1F4D2B;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 900;
}

.tpt-step h3 {
    margin: 0 0 8px;
    color: #1F4D2B;
    font-size: 20px;
    line-height: 1.2;
}

.tpt-step p {
    margin: 0;
    color: #4A5546;
    font-size: 15px;
    line-height: 1.6;
}

.tpt-fact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.tpt-fact {
    border: 1px solid #DFE6D5;
    border-radius: 20px;
    background: #F7FAF1;
    padding: 18px 16px;
}

.tpt-fact strong {
    display: block;
    color: #1F4D2B;
    font-size: 26px;
    line-height: 1.1;
}

.tpt-fact span {
    display: block;
    margin-top: 4px;
    color: #66705F;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}

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

.tpt-note {
    margin: 14px 0 0;
    color: #66705F;
    font-size: 13px;
    line-height: 1.55;
}

.tpt-address-card {
    border: 1px solid #DFE6D5;
    border-left: 5px solid #D9433A;
    border-radius: 20px;
    background: #FFFFFF;
    padding: 20px 22px;
    box-shadow: 0 12px 26px rgba(31, 77, 43, 0.06);
}

.tpt-address-card strong {
    display: block;
    margin-bottom: 4px;
    color: #1F4D2B;
    font-size: 17px;
}

.tpt-address-card p {
    margin: 0;
    color: #4A5546;
    font-size: 15px;
    line-height: 1.6;
}

/* Stack the two hero calls to action on phones so neither is cramped. */
@media (max-width: 767px) {
    .tpt-bag-hero .elementor-inner-section {
        display: block;
    }
    .tpt-bag-hero .elementor-inner-section .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }
    .tpt-bag-hero .elementor-inner-section .elementor-column:first-child {
        margin-bottom: 10px;
    }
    .tpt-bag-hero .elementor-inner-section .elementor-button {
        width: 100%;
    }
}

/* Hero calls to action: one flex row on desktop, stacked full-width on phones. */
.tpt-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin: 0 0 1rem;
}

.tpt-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 26px;
    border-radius: 999px;
    background: #D9433A;
    color: #FFFFFF !important;
    font-family: Raleway, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(217, 67, 58, 0.22);
    transition: transform 0.15s ease, background 0.15s ease;
}

.tpt-hero-btn:hover,
.tpt-hero-btn:focus {
    transform: translateY(-1px);
    background: #B8322A;
    color: #FFFFFF !important;
}

.tpt-hero-btn--ghost {
    background: transparent;
    color: #1F4D2B !important;
    border: 2px solid #1F4D2B;
    box-shadow: none;
}

.tpt-hero-btn--ghost:hover,
.tpt-hero-btn--ghost:focus {
    background: #1F4D2B;
    color: #FFFFFF !important;
}

@media (max-width: 600px) {
    .tpt-hero-actions {
        flex-direction: column;
    }
    .tpt-hero-btn {
        width: 100%;
    }
}

/* Keep clear of the bottom cookie bar until the visitor has chosen. */
body.cookies-not-set .tpt-app-download-btn--floating {
    bottom: calc(var(--tpt-app-offset, 16px) + 62px + env(safe-area-inset-bottom));
}/* TPT Homepage Live v1.0.0 */

/* ---------------------------------------------------------------
   Events carousel
--------------------------------------------------------------- */
.tpt-ev{position:relative;width:100%;}
.tpt-ev-track{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:4px 2px 14px;
  scrollbar-width:none;
}
.tpt-ev-track::-webkit-scrollbar{display:none}
.tpt-ev-card{
  flex:0 0 calc((100% - 36px) / 3);
  min-width:0;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(15,23,42,.07);
  scroll-snap-align:start;
}
.tpt-ev-media{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:linear-gradient(135deg,#eef4f9 0%,#dbeafe 100%);
}
.tpt-ev-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%;
  display:block;
  transition:transform .55s ease;
}
.tpt-ev-card:hover .tpt-ev-media img{transform:scale(1.04)}
.tpt-ev-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#8aa3bb;opacity:.55}
.tpt-ev-placeholder svg{width:46px;height:46px}
.tpt-ev-date{
  position:absolute;
  left:14px;
  top:14px;
  display:grid;
  place-items:center;
  min-width:46px;
  padding:6px 8px;
  border-radius:14px;
  background:#fff;
  color:#133256;
  line-height:1;
  text-align:center;
  box-shadow:0 8px 20px rgba(15,23,42,.18);
}
.tpt-ev-date b{display:block;font-size:18px;font-weight:900}
.tpt-ev-date small{display:block;margin-top:2px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.tpt-ev-body{display:flex;flex-direction:column;gap:8px;flex:1;padding:18px}
.tpt-ev-kicker{display:inline-flex;align-self:flex-start;margin:0;padding:4px 8px;border-radius:999px;background:#EEF4F9;color:#133256;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tpt-ev-title{
  margin:0;
  color:#133256;
  font-family:Raleway,Arial,sans-serif;
  font-size:21px;
  font-weight:800;
  line-height:1.15;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tpt-ev-title a{color:#133256!important;text-decoration:none}
.tpt-ev-title a:hover{color:#3D5979!important}
.tpt-ev-when{display:flex;align-items:center;gap:6px;margin:0;color:#133256;font-size:14px;font-weight:800;line-height:1.3}
.tpt-ev-when svg{width:14px;height:14px;flex:0 0 14px;color:#3D5979}
.tpt-ev-location{display:flex;align-items:flex-start;gap:6px;margin:0;color:#5F7388;font-size:12.5px;font-weight:600;line-height:1.35}
.tpt-ev-location svg{width:14px;height:14px;flex:0 0 14px;margin-top:1px;color:#3D5979}
.tpt-ev-location span{min-width:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.tpt-ev-meta{
  margin:0;
  color:#5f7388;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tpt-ev-desc{
  margin:0;
  color:#4a5b6d;
  font-size:13px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tpt-ev-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.tpt-ev-cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#133256!important;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  border-bottom:2px solid #F8B133;
  padding-bottom:2px;
}
.tpt-ev-cta:hover{color:#3D5979!important}
.tpt-ev-title a:hover{color:#3D5979!important}
.tpt-ev-signup{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:#133256;
  color:#fff!important;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
}
.tpt-ev-signup:hover{background:#3D5979;color:#fff!important}
.tpt-ev-nav{display:flex;justify-content:flex-end;gap:8px;padding:4px 2px 0}
.tpt-ev-nav button{
  width:38px;
  height:38px;
  border:1px solid #dbe3ec;
  border-radius:999px;
  background:#fff;
  color:#133256;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
  transition:background .18s ease,color .18s ease,opacity .18s ease;
}
.tpt-ev-nav button:hover{background:#133256;color:#fff}
.tpt-ev-nav button.is-disabled{opacity:.35;cursor:default;pointer-events:none}
.tpt-ev-empty{padding:24px;border:1px dashed #dbe3ec;border-radius:20px;background:#f8fbfe;color:#5f7388;text-align:center}

@media (max-width:1024px){
  .tpt-ev-card{flex-basis:calc((100% - 18px) / 2)}
}
@media (max-width:640px){
  .tpt-ev-track{gap:14px;padding-bottom:10px}
  .tpt-ev-card{flex-basis:86%;border-radius:20px}
  .tpt-ev-body{padding:15px}
  .tpt-ev-title{font-size:18px}
  .tpt-ev-nav{justify-content:center;padding-top:6px}
}

/* ---------------------------------------------------------------
   Live activity rotator
--------------------------------------------------------------- */
.elementor-widget-tpt_activity_rotator,
.elementor-widget-tpt_activity_rotator > .elementor-widget-container{height:100%}
.tpt-live{
  position:relative;
  isolation:isolate;
  height:100%;
  min-height:440px;
  border-radius:0;
  overflow:hidden;
  background:#133256;
  box-shadow:none;
}
.tpt-live-slides{position:absolute;inset:0}
.tpt-live-slide{
  position:absolute;
  inset:0;
  display:block;
  color:#fff;
  text-decoration:none;
  opacity:0;
  visibility:hidden;
  z-index:1;
  transition:opacity .65s ease,visibility .65s ease;
}
.tpt-live-slide.is-active{opacity:1;visibility:visible;z-index:2}
.tpt-live-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center 35%;
  transform:scale(1.02);
  transition:transform 9s ease;
}
.tpt-live-slide.is-active .tpt-live-bg{transform:scale(1.08)}
.tpt-live-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,26,43,.10) 0%,rgba(7,26,43,.48) 42%,rgba(7,26,43,.94) 100%);
}
.tpt-live-slide[data-has-image="0"] .tpt-live-shade{
  background:linear-gradient(140deg,var(--tpt-accent,#A80606) 0%,#133256 100%);
}
.tpt-live-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:26px;
}
.tpt-live-kicker{
  display:inline-flex;
  align-self:flex-start;
  padding:6px 10px;
  border-radius:999px;
  background:var(--tpt-accent,#A80606);
  color:var(--tpt-accent-text,#fff);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.tpt-live-title{
  color:#fff;
  font-family:Raleway,Arial,sans-serif;
  font-size:clamp(20px,2.4vw,28px);
  font-weight:800;
  line-height:1.12;
  text-wrap:balance;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tpt-live-meta{color:rgba(255,255,255,.82);font-size:13px;font-weight:700;line-height:1.3}
.tpt-live-excerpt{
  color:rgba(255,255,255,.86);
  font-size:14px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tpt-live-cta{
  display:inline-flex;
  align-self:flex-start;
  align-items:center;
  gap:8px;
  margin-top:4px;
  color:#fff!important;
  font-size:13px;
  font-weight:800;
  text-decoration:underline;
  text-decoration-color:#F8B133;
  text-underline-offset:3px;
}
.tpt-live a.tpt-live-cta:hover{color:#F8B133!important}
.tpt-live-icon{
  position:absolute;
  top:22px;
  right:22px;
  z-index:4;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:17px;
  background:rgba(255,255,255,.14);
  color:#fff;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.tpt-live-icon svg{width:27px;height:27px}
.tpt-live-dots{
  position:absolute;
  right:22px;
  bottom:22px;
  z-index:5;
  display:flex;
  align-items:center;
  gap:6px;
}
.tpt-live-dot{
  appearance:none!important;
  -webkit-appearance:none!important;
  flex:0 0 7px!important;
  width:7px!important;
  min-width:7px!important;
  max-width:7px!important;
  height:7px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.38);
  cursor:pointer;
  transition:width .2s ease,background .2s ease,flex-basis .2s ease;
}
.tpt-live-dot.is-active{flex-basis:22px!important;width:22px!important;min-width:22px!important;max-width:22px!important;background:#fff}
.tpt-live-week .tpt-live-content{padding:22px;gap:7px}
.tpt-live-week .tpt-live-title{font-size:clamp(19px,2.2vw,24px);-webkit-line-clamp:2}
.tpt-live-week .tpt-live-cta{margin-top:4px}
.tpt-live-week-list{list-style:none;margin:2px 0 4px;padding:0;display:grid;gap:0}
.tpt-live-week-item{border-bottom:1px solid rgba(255,255,255,.16)}
.tpt-live-week-item:last-child{border-bottom:0}
.tpt-live-week-row{display:grid;grid-template-columns:70px 52px minmax(0,1fr);gap:8px;align-items:baseline;padding:6px 0;text-decoration:none;color:#fff}
.tpt-live-week-row:hover .tpt-live-week-title{color:#F8B133}
.tpt-live-week-day{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#F8B133;white-space:nowrap}
.tpt-live-week-time{font-size:11px;font-weight:800;color:#fff;white-space:nowrap}
.tpt-live-week-title{font-size:12px;font-weight:600;color:rgba(255,255,255,.92);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1024px){.tpt-live-week-row{grid-template-columns:64px 46px minmax(0,1fr)}}
@media (max-width:640px){.tpt-live-week-row{grid-template-columns:60px 44px minmax(0,1fr);padding:5px 0}.tpt-live-week-title{font-size:11.5px}}

@media (max-width:1024px){
  .tpt-live{min-height:390px}
}
@media (max-width:640px){
  .tpt-live{min-height:350px;border-radius:20px}
  .tpt-live-content{padding:20px}
  .tpt-live-title{font-size:22px}
  .tpt-live-excerpt{font-size:13px}
  .tpt-live-icon{top:16px;right:16px;width:46px;height:46px;border-radius:14px}
  .tpt-live-dots{right:16px;bottom:16px}
}

/* ---------------------------------------------------------------
   Slim responsive header (scoped to Elementor header section)
--------------------------------------------------------------- */
.tpt-header-slim .elementor-element-0b2ba38{
  background-color:#133256 !important;
  background-image:none !important;
  filter:none !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 > .elementor-background-overlay{
  opacity:.14 !important;
  mix-blend-mode:luminosity !important;
  background-color:#133256 !important;
  filter:none !important;
}
.tpt-header-slim .elementor-element-0b2ba38 > .elementor-container{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;
  gap:20px !important;
  min-height:42px !important;
  max-width:1400px !important;
  margin:0 auto !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-column{
  width:auto !important;
  max-width:none !important;
  flex:0 0 auto !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-column > .elementor-widget-wrap{
  padding:0 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-b65b96a,
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-880e570{
  display:none !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-column,
.tpt-header-slim .elementor-element-0b2ba38 .elementor-column > .elementor-widget-wrap{
  padding:0 !important;
  margin:0 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .tpt-app-download-btn{
  margin:0 !important;
  padding:6px 10px !important;
  font-size:11px !important;
  box-shadow:none !important;
  background:#F8B133 !important;
  color:#0A2239 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .tpt-app-download-btn span{
  color:#0A2239 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .tpt-app-download-btn:hover{
  background:#FFD06A !important;
  color:#0A2239 !important;
}
@media (min-width:1025px){
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-4eefaf9{display:none !important}
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e50190f{
  order:1;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-items{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:16px !important;
  margin:0 !important;
  padding:0 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-item{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.2 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-icon,
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-icon i,
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-icon svg{
  color:#FFFFFF !important;
  fill:currentColor !important;
  font-size:12px !important;
  line-height:1 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-icon i{
  color:#FFFFFF !important;
  font-size:12px !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-text{
  color:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  letter-spacing:.01em !important;
  padding-left:0 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf a{
  color:inherit !important;
  text-decoration:none !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-social-icon{
  width:26px !important;
  height:26px !important;
  font-size:10px !important;
  border-radius:999px !important;
  background-color:rgba(255,255,255,.13) !important;
  color:#fff !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-social-icon:hover{
  background-color:#A80606 !important;
  color:#fff !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-social-icons-wrapper{
  gap:5px !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-widget-container{
  margin:0 !important;
}

/* Desktop: hide the first spacer/social column, show contact + social on the right */
@media (min-width:1025px){
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e69bbc5{display:none !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-dca2c3b{display:flex !important;order:2}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e50190f{display:flex !important}
}

/* Tablet: one centred row, using the social icons from the first column */
@media (min-width:768px) and (max-width:1024px){
  .tpt-header-slim .elementor-element-0b2ba38 > .elementor-container{
    justify-content:center !important;
    gap:14px !important;
    min-height:44px !important;
    padding:0 12px !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e69bbc5{display:flex !important;order:3;width:auto !important;max-width:max-content !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-205bf73{width:auto !important;max-width:none !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-4eefaf9{display:flex !important;order:2;width:auto !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-dca2c3b{display:none !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-items{justify-content:center !important}
}

/* Mobile: two compact centred rows */
@media (max-width:767px){
  .tpt-header-slim .elementor-element-0b2ba38 > .elementor-container{
    flex-direction:column !important;
    justify-content:center !important;
    gap:3px !important;
    min-height:0 !important;
    padding:6px 10px !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 > .elementor-container{
    flex-direction:row !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:6px 12px !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e50190f,
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e69bbc5,
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-4eefaf9{
    display:flex !important;
    width:auto !important;
    flex:0 0 auto !important;
    justify-content:center !important;
    align-items:center !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e50190f{order:1;width:100% !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-4eefaf9{order:2}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e69bbc5{order:3;width:auto !important;max-width:max-content !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-205bf73{width:auto !important;max-width:none !important}
  .tpt-header-slim .elementor-element-0b2ba38 .tpt-app-download-btn{padding:5px 9px !important;font-size:10.5px !important;gap:5px !important;height:26px !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-items{
    justify-content:center !important;
    gap:2px 12px !important;
    flex-wrap:wrap !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-item{
    white-space:nowrap !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-text{
    font-size:10.5px !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-social-icon{
    width:24px !important;
    height:24px !important;
    font-size:9px !important;
  }
}

/* Ticker iframe: keep the red bar visible while the embed loads. */
#tpt-news-ticker{background:#A80606;min-height:44px;}


/* TPT_TICKER_ENTRANCE_V1_20261107: hide the red bar until we know whether
   the ticker has live announcements, then give it an obvious entrance. */
html.tpt-ticker-js .elementor-element-4c74889{visibility:hidden}
html.tpt-ticker-js .elementor-element-4c74889:not(.tpt-ticker-enter){animation:none!important}
@keyframes tptTickerDrop{
  0%{transform:translateY(-120%) scaleY(.92);opacity:0}
  45%{transform:translateY(0) scaleY(1.05);opacity:1}
  65%{transform:translateY(0) scaleY(.99)}
  82%{transform:translateY(0) scaleY(1.01)}
  100%{transform:translateY(0) scaleY(1);opacity:1}
}
@keyframes tptTickerGlow{
  0%,100%{box-shadow:inset 0 0 0 0 rgba(248,177,51,0);filter:none}
  20%{box-shadow:inset 0 0 0 6px rgba(248,177,51,1);filter:brightness(1.18)}
  45%{box-shadow:inset 0 0 0 3px rgba(248,177,51,.75);filter:brightness(1.08)}
  70%{box-shadow:inset 0 0 0 5px rgba(248,177,51,.9);filter:brightness(1.12)}
}
@keyframes tptTickerShine{
  0%{transform:translateX(-130%) skewX(-12deg)}
  100%{transform:translateX(130%) skewX(-12deg)}
}
.elementor-element-4c74889.tpt-ticker-enter{
  position:relative;
  overflow:hidden;
  animation:tptTickerDrop .95s cubic-bezier(.18,.9,.28,1.08) both,
            tptTickerGlow 1.5s ease .1s 1 !important;
  will-change:transform,filter;
}
.elementor-element-4c74889.tpt-ticker-enter::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(100deg,transparent 25%,rgba(255,220,130,.75) 45%,rgba(255,220,130,.15) 55%,transparent 75%);
  animation:tptTickerShine .95s ease .12s 1 both;
}
@media (prefers-reduced-motion: reduce){
  .elementor-element-4c74889.tpt-ticker-enter{animation:none !important}
  .elementor-element-4c74889.tpt-ticker-enter::after{animation:none !important}
}/**
 * TPT Hub Showcase - scoped front-end styles.
 * Marker: TPT_HUB_SHOWCASE_WP_V1_20261106
 */

.tpt-hub-showcase {
    --tpt-navy: #0a2239;
    --tpt-gold: #f5b324;
    --tpt-cream: #fbf7ee;
    --tpt-ink: #1d2b36;
    --tpt-muted: #5c6b76;
    --tpt-line: #e6dfd1;
    box-sizing: border-box;
    margin: 1.75rem 0;
    color: var(--tpt-ink);
    font-family: inherit;
}

.tpt-hub-showcase *,
.tpt-hub-showcase *::before,
.tpt-hub-showcase *::after {
    box-sizing: border-box;
}

.tpt-hub-showcase__title {
    margin: 0 0 0.4rem;
    color: var(--tpt-navy);
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    line-height: 1.2;
}

.tpt-hub-showcase__intro {
    margin: 0 0 1.1rem;
    max-width: 52rem;
    color: var(--tpt-muted);
    font-size: 1rem;
    line-height: 1.55;
}

.tpt-hub-showcase__grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.tpt-hub-showcase__card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--tpt-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(10, 34, 57, 0.06);
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.tpt-hub-showcase__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(10, 34, 57, 0.12);
}

.tpt-hub-showcase__card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.tpt-hub-showcase__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 132px;
    background: linear-gradient(135deg, var(--tpt-navy), #143b5e);
    overflow: hidden;
}

.tpt-hub-showcase__media img {
    display: block;
    width: 100%;
    height: 168px;
    object-fit: cover;
}

.tpt-hub-showcase__date {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: var(--tpt-gold);
    color: var(--tpt-navy);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-align: center;
}

.tpt-hub-showcase__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    padding: 1rem 1.05rem 1.15rem;
}

.tpt-hub-showcase__eyebrow {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: var(--tpt-cream);
    color: #7a5a10;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.tpt-hub-showcase__name {
    margin: 0.15rem 0 0;
    color: var(--tpt-navy);
    font-size: 1.08rem;
    line-height: 1.3;
}

.tpt-hub-showcase__meta {
    margin: 0;
    color: var(--tpt-muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.tpt-hub-showcase__summary {
    margin: 0.15rem 0 0;
    color: var(--tpt-ink);
    font-size: 0.9rem;
    line-height: 1.5;
}

.tpt-hub-showcase__pill {
    display: inline-block;
    margin-top: 0.25rem;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    background: #e8f4ec;
    color: #1f6b3a;
    font-size: 0.75rem;
    font-weight: 700;
}

.tpt-hub-showcase__cta {
    margin-top: auto;
    padding-top: 0.65rem;
    color: var(--tpt-navy);
    font-size: 0.88rem;
    font-weight: 700;
}

.tpt-hub-showcase__cta span {
    color: var(--tpt-gold);
}

/* TPT_HUB_SHOWCASE_VOLUNTEER_ELEMENTS_V1_20261106: real direct Apply button. */
.tpt-hub-showcase__button {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: auto;
    padding: 0.55rem 0.95rem;
    border-radius: 999px;
    background: var(--tpt-navy);
    color: #fff;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: background 150ms ease;
}

.tpt-hub-showcase__button:hover,
.tpt-hub-showcase__button:focus {
    background: #143b5e;
    color: #fff;
    text-decoration: none;
}

.tpt-hub-showcase__button span {
    color: var(--tpt-gold);
}

.tpt-hub-showcase__footer {
    margin-top: 1rem;
}

.tpt-hub-showcase__more {
    color: var(--tpt-navy);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: var(--tpt-gold);
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.tpt-hub-showcase__empty {
    margin: 0.5rem 0;
    padding: 1rem;
    border: 1px dashed var(--tpt-line);
    border-radius: 12px;
    background: var(--tpt-cream);
    color: var(--tpt-muted);
}

/* List layout: one item per row with media on the left. */
.tpt-hub-showcase--list .tpt-hub-showcase__grid {
    grid-template-columns: 1fr;
}

.tpt-hub-showcase--list .tpt-hub-showcase__card-link,
.tpt-hub-showcase--list .tpt-hub-showcase__card--opportunity {
    flex-direction: row;
    align-items: stretch;
}

.tpt-hub-showcase--list .tpt-hub-showcase__media,
.tpt-hub-showcase--list .tpt-hub-showcase__card--opportunity .tpt-hub-showcase__media {
    flex: 0 0 190px;
    min-height: 100%;
}

.tpt-hub-showcase--list .tpt-hub-showcase__media img {
    height: 100%;
    min-height: 132px;
}

.tpt-hub-showcase--list .tpt-hub-showcase__body,
.tpt-hub-showcase--list .tpt-hub-showcase__card--opportunity .tpt-hub-showcase__body {
    justify-content: center;
}

/* Compact layout: text-only rows. */
.tpt-hub-showcase--compact .tpt-hub-showcase__grid {
    grid-template-columns: 1fr;
    gap: 0.6rem;
}

.tpt-hub-showcase--compact .tpt-hub-showcase__card {
    border-radius: 10px;
    box-shadow: none;
}

.tpt-hub-showcase--compact .tpt-hub-showcase__body {
    padding: 0.75rem 0.9rem;
}

.tpt-hub-showcase--compact .tpt-hub-showcase__name {
    font-size: 0.98rem;
}

.tpt-hub-showcase--compact .tpt-hub-showcase__cta {
    padding-top: 0.3rem;
}

@media (max-width: 560px) {
    .tpt-hub-showcase__grid {
        grid-template-columns: 1fr;
    }

    .tpt-hub-showcase--list .tpt-hub-showcase__card-link {
        flex-direction: column;
    }

    .tpt-hub-showcase--list .tpt-hub-showcase__media {
        flex-basis: auto;
    }

    .tpt-hub-showcase--list .tpt-hub-showcase__media img {
        height: 168px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tpt-hub-showcase__card {
        transition: none;
    }
}

/* Visitor search */
.tpt-hub-showcase__search {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin: 0 0 1.1rem;
}

.tpt-hub-showcase__search input[type="search"] {
    flex: 1 1 240px;
    min-height: 44px;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--tpt-line);
    border-radius: 10px;
    background: #fff;
    color: var(--tpt-ink);
    font: inherit;
}

.tpt-hub-showcase__search input[type="search"]:focus {
    border-color: var(--tpt-gold);
    outline: 2px solid rgba(245, 179, 36, 0.35);
    outline-offset: 1px;
}

.tpt-hub-showcase__search button {
    min-height: 44px;
    padding: 0.55rem 1.1rem;
    border: 0;
    border-radius: 10px;
    background: var(--tpt-navy);
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.tpt-hub-showcase__search button:hover,
.tpt-hub-showcase__search button:focus {
    background: #143b5e;
}

.tpt-hub-showcase__clear {
    color: var(--tpt-muted);
    font-size: 0.88rem;
    font-weight: 700;
}

.tpt-hub-showcase__section-title {
    margin: 1.4rem 0 0.7rem;
    color: var(--tpt-navy);
    font-size: 1.12rem;
    line-height: 1.25;
}

.tpt-hub-showcase__section-title:first-of-type {
    margin-top: 0.2rem;
}

.tpt-hub-showcase__grid--events,
.tpt-hub-showcase__grid--roles {
    margin-bottom: 0.35rem;
}

@media (max-width: 560px) {
    .tpt-hub-showcase__search {
        align-items: stretch;
    }

    .tpt-hub-showcase__search button {
        width: 100%;
    }
}/**
 * TPT Seasonal Logo Badge & Theme
 * Marker: TPT_SEASONAL_LOGO_BADGE_V23B_20261107
 */

/* ---------------------------------------------------------------
   Badge host and base badge
   --------------------------------------------------------------- */
.tpt-seasonal-badge-host {
    position: relative;
}

.tpt-seasonal-badge {
    position: absolute;
    z-index: 9;
    display: block;
    width: 38px;
    height: 38px;
    line-height: 0;
    pointer-events: auto;
    cursor: help;
    transform: rotate(-6deg);
}

.tpt-seasonal-badge img,
.tpt-seasonal-badge svg {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
    pointer-events: none;
}

.tpt-seasonal-badge svg {
    overflow: visible;
}

.tpt-seasonal-badge--poppy img,
.tpt-seasonal-badge--daffodil img,
.tpt-seasonal-badge--poppy svg,
.tpt-seasonal-badge--daffodil svg {
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
    animation: tpt-glow 3.2s ease-in-out infinite;
}

.tpt-seasonal-badge--poppy {
    animation: tpt-sway-l 5s ease-in-out infinite;
    transform-origin: 50% 8%;
}

.tpt-seasonal-badge--daffodil {
    animation: tpt-sway-l 4.2s ease-in-out infinite;
    transform-origin: 50% 8%;
}

.tpt-seasonal-badge--top-left.tpt-seasonal-badge--poppy,
.tpt-seasonal-badge--top-left.tpt-seasonal-badge--daffodil {
    animation-name: tpt-sway-r;
}

.tpt-seasonal-badge--festival {
    transform: none;
    animation: none;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.4));
}

/* Placement — the default is bottom right, sitting slightly over the corner. */
.tpt-seasonal-badge--bottom-right {
    bottom: -10%;
    right: -10%;
}

.tpt-seasonal-badge--bottom-left {
    bottom: -16%;
    left: -16%;
}

.tpt-seasonal-badge--top-right {
    top: -16%;
    right: -16%;
}

.tpt-seasonal-badge--top-left {
    top: -16%;
    left: -16%;
}

.tpt-seasonal-badge--festival.tpt-seasonal-badge--bottom-right {
    bottom: -14%;
    right: -14%;
}

.tpt-seasonal-badge--festival.tpt-seasonal-badge--bottom-left {
    bottom: -28%;
    left: -28%;
}

.tpt-seasonal-badge--festival.tpt-seasonal-badge--top-right {
    top: -28%;
    right: -28%;
}

.tpt-seasonal-badge--festival.tpt-seasonal-badge--top-left {
    top: -28%;
    left: -28%;
}

.tpt-seasonal-badge--nativity.tpt-seasonal-badge--bottom-right {
    bottom: -16%;
    right: -16%;
}

.tpt-seasonal-badge--nativity.tpt-seasonal-badge--top-right {
    top: -42%;
    right: -42%;
}

/* Founding anniversary: the hat is worn on top of the logo.
   TPT_ANNIVERSARY_HAT_CURVE_V1_20261107: size the hat against the logo box
   and centre it on the crest of the mark (61.3% across), so the brim follows
   the top of the curve at every breakpoint instead of floating above it. */
.tpt-seasonal-badge.tpt-seasonal-badge--anniversary {
    top: -38%;
    left: 61.3%;
    right: auto;
    bottom: auto;
    width: 63.5%;
    height: 63.5%;
    max-width: none;
    max-height: none;
    transform: translateX(-50%) rotate(3deg);
    transform-origin: 50% 100%;
    animation: tpt-hat-sway 5s ease-in-out infinite;
}

@keyframes tpt-hat-sway {
    0%, 100% { transform: translateX(-50%) rotate(1deg); }
    50%      { transform: translateX(-50%) rotate(4deg); }
}

.tpt-party-number {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-number-pop 3s ease-in-out infinite;
}

@keyframes tpt-number-pop {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.12); }
}

.tpt-confetti-wrap {
    position: absolute;
    inset: -18%;
    z-index: 10;
    pointer-events: none;
}

.tpt-confetti {
    position: absolute;
    display: block;
    width: 5px;
    height: 8px;
    border-radius: 1px;
    opacity: 0;
    animation-name: tpt-confetti-fall;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

@keyframes tpt-confetti-fall {
    0%   { transform: translate3d(0, -10px, 0) rotate(0deg); opacity: 0; }
    15%  { opacity: 1; }
    80%  { opacity: 1; }
    100% { transform: translate3d(8px, 64px, 0) rotate(var(--tpt-confetti-rot, 180deg)); opacity: 0; }
}

/* ---------------------------------------------------------------
   Hover explanation tooltip
   --------------------------------------------------------------- */
.tpt-badge-tip {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 2147483002;
    max-width: 260px;
    padding: 9px 12px;
    border-radius: 8px;
    background: #0d1a2b;
    color: #f6efe0;
    border: 1px solid rgba(240, 180, 41, 0.6);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4);
    font-family: "Raleway", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    font-size: 12.5px;
    line-height: 1.4;
    text-align: left;
    pointer-events: none;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.tpt-badge-tip.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.tpt-badge-tip::after {
    content: "";
    position: absolute;
    left: var(--tpt-tip-arrow, 50%);
    width: 0;
    height: 0;
    border: 6px solid transparent;
    transform: translateX(-50%);
}

.tpt-badge-tip--above::after {
    bottom: -12px;
    border-top-color: #0d1a2b;
}

.tpt-badge-tip--below::after {
    top: -12px;
    border-bottom-color: #0d1a2b;
}

/* ---------------------------------------------------------------
   Slimline seasonal footer greeting
   --------------------------------------------------------------- */
.tpt-seasonal-footer {
    display: block;
    width: 100%;
    margin: 0;
    padding: 12px 18px;
    text-align: center;
    font-family: "Raleway", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1.3;
    text-transform: uppercase;
    color: #ffe6a1;
    background: linear-gradient(90deg, #0a2a1c 0%, #14532d 50%, #0a2a1c 100%);
    border-top: 1px solid rgba(255, 230, 161, 0.35);
}

.tpt-seasonal-footer-inner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.tpt-seasonal-footer svg {
    display: block;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

.tpt-seasonal-footer--easter {
    color: #fff1d6;
    background: linear-gradient(90deg, #26113c 0%, #4b2a6b 50%, #26113c 100%);
    border-top-color: rgba(255, 241, 214, 0.35);
}

/* ---------------------------------------------------------------
   Logo aura + sparkles
   --------------------------------------------------------------- */
.tpt-logo-aura {
    position: absolute;
    inset: -12%;
    border-radius: 50%;
    pointer-events: none;
    z-index: 7;
}

.tpt-logo-aura--gold {
    background: radial-gradient(circle, rgba(255, 224, 130, 0.55) 0%, rgba(255, 224, 130, 0.18) 42%, rgba(255, 224, 130, 0) 68%);
    animation: tpt-aura 3.6s ease-in-out infinite;
}

.tpt-logo-aura--rays {
    background: repeating-conic-gradient(from 0deg, rgba(255, 235, 170, 0.6) 0deg 4deg, rgba(255, 235, 170, 0) 4deg 22deg);
    -webkit-mask: radial-gradient(circle, transparent 40%, #000 52%, #000 74%, transparent 82%);
    mask: radial-gradient(circle, transparent 40%, #000 52%, #000 74%, transparent 82%);
    animation: tpt-rotate 30s linear infinite;
    transform-origin: center;
}

.tpt-logo-aura--fire {
    background: radial-gradient(circle at 50% 72%, rgba(255, 120, 40, 0.5) 0%, rgba(255, 120, 40, 0.12) 45%, rgba(255, 120, 40, 0) 70%);
    animation: tpt-aura 2.4s ease-in-out infinite;
}

.tpt-logo-sparkles {
    position: absolute;
    inset: -14%;
    pointer-events: none;
    z-index: 8;
}

.tpt-sparkle {
    position: absolute;
    display: block;
    width: 4px;
    height: 4px;
    margin: -2px 0 0 -2px;
    border-radius: 50%;
    background: #fff6c8;
    box-shadow: 0 0 6px 1px rgba(255, 233, 160, 0.9);
    animation: tpt-sparkle 2.8s ease-in-out infinite;
}

.tpt-logo-sparkles--fire .tpt-sparkle {
    background: #ffb347;
    box-shadow: 0 0 7px 1px rgba(255, 140, 60, 0.95);
}

/* ---------------------------------------------------------------
   SVG element animations
   --------------------------------------------------------------- */
.tpt-flame {
    transform-box: fill-box;
    transform-origin: 50% 100%;
    animation: tpt-flicker 1.5s ease-in-out infinite;
}

.tpt-twinkle {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-twinkle 2.6s ease-in-out infinite;
}

.tpt-sparkle-path {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-twinkle 2.2s ease-in-out infinite;
}

.tpt-palm {
    transform-box: fill-box;
    transform-origin: 50% 100%;
    animation: tpt-sway-soft 4.5s ease-in-out infinite;
}

.tpt-cross--good {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-solemn 5.5s ease-in-out infinite;
}

.tpt-chalice,
.tpt-float {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-float 4s ease-in-out infinite;
}

.tpt-easter-rays {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-rotate 26s linear infinite;
}

.tpt-dove {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-float 4.5s ease-in-out infinite;
}

.tpt-eastertide {
    transform-box: fill-box;
    transform-origin: 50% 100%;
    animation: tpt-sway-soft 5s ease-in-out infinite;
}

.tpt-nativity-glow {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-aura 4s ease-in-out infinite;
}

/* ---------------------------------------------------------------
   Keyframes
   --------------------------------------------------------------- */
@keyframes tpt-sway-l {
    0%, 100% { transform: rotate(-6deg); }
    50%      { transform: rotate(4deg); }
}

@keyframes tpt-sway-r {
    0%, 100% { transform: rotate(6deg); }
    50%      { transform: rotate(-4deg); }
}

@keyframes tpt-sway-soft {
    0%, 100% { transform: rotate(-3deg); }
    50%      { transform: rotate(3deg); }
}

@keyframes tpt-flicker {
    0%, 100% { transform: scaleY(1) translateY(0); opacity: 0.95; }
    50%      { transform: scaleY(1.12) translateY(-0.5px); opacity: 1; }
}

@keyframes tpt-twinkle {
    0%, 100% { opacity: 0.65; transform: scale(0.94); }
    50%      { opacity: 1; transform: scale(1.08); }
}

@keyframes tpt-sparkle {
    0%, 100% { opacity: 0; transform: scale(0.4); }
    50%      { opacity: 1; transform: scale(1); }
}

@keyframes tpt-float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-1.6px); }
}

@keyframes tpt-rotate {
    to { transform: rotate(360deg); }
}

@keyframes tpt-aura {
    0%, 100% { opacity: 0.55; transform: scale(0.97); }
    50%      { opacity: 1; transform: scale(1.05); }
}

@keyframes tpt-solemn {
    0%, 100% { opacity: 0.85; }
    50%      { opacity: 1; }
}

@keyframes tpt-glow {
    0%, 100% { filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35)) drop-shadow(0 0 0 rgba(255, 220, 120, 0)); }
    50%      { filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35)) drop-shadow(0 0 6px rgba(255, 220, 120, 0.9)); }
}

/* ---------------------------------------------------------------
   Winter theme
   --------------------------------------------------------------- */
body.tpt-winter-theme::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9998;
    background:
        radial-gradient(1200px 480px at 50% -8%, rgba(190, 220, 255, 0.22), transparent 62%),
        radial-gradient(900px 500px at 50% 0%, rgba(160, 200, 255, 0.12), transparent 70%);
    mix-blend-mode: screen;
}

.tpt-winter-layer {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9999;
    overflow: hidden;
}

.tpt-snowflake {
    position: absolute;
    top: -8vh;
    display: block;
    width: var(--tpt-snow-size, 5px);
    height: var(--tpt-snow-size, 5px);
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.9);
    animation-name: tpt-snowfall;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    will-change: transform;
}

@keyframes tpt-snowfall {
    0%   { transform: translate3d(0, -10vh, 0) rotate(0deg); }
    100% { transform: translate3d(var(--tpt-snow-drift, 0px), 112vh, 0) rotate(360deg); }
}

/* ---------------------------------------------------------------
   Full-page Christmas & Easter greetings
   --------------------------------------------------------------- */
body.tpt-overlay-open {
    overflow: hidden;
}

.tpt-seasonal-overlay,
.tpt-seasonal-overlay *,
.tpt-seasonal-overlay *::before,
.tpt-seasonal-overlay *::after {
    box-sizing: border-box;
}

.tpt-seasonal-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    color: #ffffff;
    font-family: "Raleway", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    transition: opacity 0.55s ease, visibility 0s linear 0.55s;
}

.tpt-seasonal-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.55s ease;
}

.tpt-seasonal-overlay--nativity {
    background:
        radial-gradient(900px 620px at 50% 84%, rgba(255, 200, 120, 0.22), transparent 64%),
        radial-gradient(1200px 740px at 50% 114%, rgba(255, 170, 80, 0.2), transparent 72%),
        linear-gradient(180deg, #050b17 0%, #0a1730 46%, #122a4a 100%);
}

.tpt-seasonal-overlay--resurrection {
    background:
        radial-gradient(1100px 720px at 50% 86%, rgba(255, 190, 120, 0.45), transparent 64%),
        radial-gradient(820px 540px at 50% 114%, rgba(255, 150, 90, 0.35), transparent 74%),
        linear-gradient(180deg, #120b2e 0%, #35204a 40%, #8a4b55 72%, #e0a26a 100%);
}

.tpt-overlay-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.tpt-overlay-sky {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.tpt-overlay-star-dot {
    position: absolute;
    display: block;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 0 6px rgba(255, 255, 255, 0.9);
    animation: tpt-star-twinkle 3s ease-in-out infinite;
}

@keyframes tpt-star-twinkle {
    0%, 100% { opacity: 0.25; transform: scale(0.8); }
    50%      { opacity: 1; transform: scale(1.25); }
}

.tpt-shooting-star {
    position: absolute;
    top: var(--sy, 10%);
    left: var(--sx, 20%);
    width: 130px;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), #ffffff 65%, #ffe6a1);
    box-shadow: 0 0 8px rgba(255, 240, 190, 0.8);
    opacity: 0;
    transform: rotate(34deg);
    animation: tpt-shoot 16s linear infinite;
}

.tpt-shoot-1 { animation-delay: var(--sd, 4s); }
.tpt-shoot-2 { animation-delay: var(--sd, 9s); }
.tpt-shoot-3 { animation-delay: var(--sd, 14s); }

@keyframes tpt-shoot {
    0%, 92% { opacity: 0; transform: translate(0, 0) rotate(34deg); }
    93%     { opacity: 1; }
    97%     { opacity: 1; }
    100%    { opacity: 0; transform: translate(-360px, 250px) rotate(34deg); }
}

.tpt-overlay-bloom {
    position: absolute;
    left: 50%;
    top: 6%;
    width: 80vw;
    height: 56vh;
    transform: translateX(-50%);
    z-index: 1;
    pointer-events: none;
    background: radial-gradient(ellipse at center, rgba(255, 214, 140, 0.2) 0%, rgba(255, 200, 110, 0.06) 42%, rgba(255, 200, 110, 0) 70%);
    animation: tpt-bloom-pulse 7s ease-in-out infinite;
}

@keyframes tpt-bloom-pulse {
    0%, 100% { opacity: 0.65; transform: translateX(-50%) scale(0.96); }
    50%      { opacity: 1; transform: translateX(-50%) scale(1.04); }
}

.tpt-overlay-burst {
    position: absolute;
    z-index: 1;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(circle, rgba(255, 245, 200, 0.75) 0%, rgba(255, 220, 130, 0.35) 35%, rgba(255, 220, 130, 0) 70%);
}

.tpt-seasonal-overlay--nativity .tpt-overlay-burst {
    top: 3%;
    left: 50%;
    transform: translateX(-50%) scale(0.2);
}

.tpt-seasonal-overlay--resurrection .tpt-overlay-burst {
    top: 58%;
    left: 64%;
    transform: translateX(-50%) scale(0.2);
}

.tpt-seasonal-overlay.is-open .tpt-overlay-burst {
    animation: tpt-burst 2.2s ease-out 0.2s both;
}

@keyframes tpt-burst {
    0%   { opacity: 0; transform: translateX(-50%) scale(0.15); }
    20%  { opacity: 1; }
    100% { opacity: 0; transform: translateX(-50%) scale(2.6); }
}

.tpt-overlay-brand {
    position: absolute;
    top: clamp(10px, 2.2vh, 26px);
    left: clamp(10px, 2vw, 28px);
    z-index: 12;
    width: clamp(50px, 5.6vw, 86px);
    pointer-events: none;
    filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.55));
}

.tpt-overlay-brand::before {
    content: "";
    position: absolute;
    inset: -38%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 220, 130, 0.22), rgba(255, 220, 130, 0) 70%);
    z-index: -1;
}

.tpt-overlay-brand img {
    display: block;
    width: 100%;
    height: auto;
}

.tpt-overlay-mote {
    position: absolute;
    z-index: 1;
    display: block;
    width: var(--mote-size, 4px);
    height: var(--mote-size, 4px);
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(circle, #fff6c8 0%, #ffd166 55%, rgba(255, 209, 102, 0) 100%);
    box-shadow: 0 0 8px rgba(255, 225, 150, 0.8);
    opacity: 0;
    animation-name: tpt-mote;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-delay: var(--mote-delay, 0s);
}

@keyframes tpt-mote {
    0%   { transform: translate3d(0, 26px, 0) scale(0.6); opacity: 0; }
    12%  { opacity: 0.85; }
    55%  { opacity: 0.7; }
    100% { transform: translate3d(var(--mote-drift, 0px), -180px, 0) scale(1); opacity: 0; }
}

.tpt-overlay-bigstar {
    position: absolute;
    top: clamp(8px, 1.8vh, 24px);
    left: 50%;
    width: clamp(64px, 8vw, 110px);
    transform: translateX(-50%);
    z-index: 2;
    pointer-events: none;
    filter: drop-shadow(0 0 26px rgba(255, 220, 120, 0.55));
    transform-origin: 50% 0;
}

.tpt-overlay-bigstar svg {
    width: 100%;
    height: auto;
    display: block;
}

.tpt-overlay-star-glow {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-star-pulse 3.4s ease-in-out infinite;
}

.tpt-overlay-star-rays {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-rotate 44s linear infinite;
}

@keyframes tpt-star-pulse {
    0%, 100% { transform: scale(0.94); }
    50%      { transform: scale(1.06); }
}

.tpt-overlay-angels {
    position: absolute;
    top: clamp(38px, 7vh, 92px);
    left: 50%;
    width: min(1200px, 96vw);
    transform: translateX(-50%);
    z-index: 1;
    pointer-events: none;
    opacity: 0.55;
}

.tpt-overlay-angels svg {
    width: 100%;
    height: auto;
    display: block;
}

.tpt-angel {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-angel-float 6s ease-in-out infinite;
}

@keyframes tpt-angel-float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-10px); }
}

.tpt-overlay-main {
    position: relative;
    z-index: 5;
    flex: 0 0 auto;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: clamp(96px, 12vh, 142px) 22px 0;
    text-align: center;
}

.tpt-seasonal-overlay--resurrection .tpt-overlay-main {
    padding-top: clamp(26px, 4.5vh, 54px);
}

.tpt-overlay-kicker {
    margin: 0 0 8px;
    font-family: "Raleway", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    font-size: clamp(10px, 1.1vw, 13px);
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #ffd98a;
    opacity: 0.95;
}

.tpt-overlay-title {
    margin: 0 0 6px;
    font-family: "Raleway", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    font-weight: 800;
    font-size: clamp(40px, 7.4vw, 88px);
    line-height: 1.02;
    letter-spacing: -0.015em;
    color: #ffe6a1;
    background: linear-gradient(100deg, #ffe6a1 0%, #fff8d8 32%, #f0b429 55%, #ffe6a1 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 3px 20px rgba(0, 0, 0, 0.45));
    animation: tpt-title-shimmer 7s linear infinite;
}

.tpt-seasonal-overlay--resurrection .tpt-overlay-title {
    background: linear-gradient(100deg, #fff3d6 0%, #ffffff 32%, #ffd98a 55%, #fff3d6 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

@keyframes tpt-title-shimmer {
    0%   { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}

.tpt-overlay-sub {
    margin: 0 0 14px;
    font-family: "Raleway", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    font-size: clamp(13px, 1.55vw, 18px);
    font-weight: 500;
    color: #f6efe0;
    opacity: 0.94;
}

.tpt-overlay-verse {
    max-width: 780px;
    margin: 0 auto 14px;
    padding: 10px 18px;
    border-top: 1px solid rgba(255, 230, 161, 0.32);
    border-bottom: 1px solid rgba(255, 230, 161, 0.32);
    border-radius: 10px;
    background: rgba(5, 11, 23, 0.32);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.tpt-overlay-verse.is-changing {
    opacity: 0;
    transform: translateY(5px);
}

.tpt-overlay-verse-text {
    margin: 0 0 7px;
    font-family: "Raleway", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    font-weight: 500;
    font-style: italic;
    font-size: clamp(13px, 1.5vw, 19px);
    line-height: 1.42;
    color: #fff8e6;
}

.tpt-overlay-verse-ref {
    display: block;
    font-family: "Raleway", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: clamp(10px, 1vw, 12px);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #ffd98a;
}

.tpt-overlay-enter {
    appearance: none;
    border: 0;
    cursor: pointer;
    font-family: "Raleway", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    font-weight: 800;
    font-size: clamp(12px, 1.15vw, 14px);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 13px 28px;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffe08a, #f0b429 60%, #d99a1a);
    color: #2b2100;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.6);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tpt-overlay-enter:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.tpt-overlay-enter:focus-visible,
.tpt-overlay-skip:focus-visible {
    outline: 2px solid #ffe6a1;
    outline-offset: 3px;
}

.tpt-overlay-attribution {
    max-width: 700px;
    margin: 12px auto 0;
    font-family: "Raleway", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    font-size: 9.5px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: rgba(255, 255, 255, 0.55);
}

.tpt-overlay-skip {
    position: fixed;
    top: max(14px, env(safe-area-inset-top));
    right: max(14px, env(safe-area-inset-right));
    z-index: 12;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(8, 16, 30, 0.45);
    color: #ffffff;
    cursor: pointer;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.tpt-overlay-scene {
    position: relative;
    z-index: 3;
    transform-origin: 50% 100%;
    flex: 0 0 auto;
    width: 100%;
    height: clamp(230px, 40vh, 520px);
    margin-top: auto;
    pointer-events: none;
}

.tpt-seasonal-overlay--resurrection .tpt-overlay-scene {
    height: clamp(260px, 44vh, 560px);
}

.tpt-overlay-scene svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* Scene animations */
.tpt-nat-mary,
.tpt-nat-joseph {
    transform-box: fill-box;
    transform-origin: 50% 100%;
    animation: tpt-figure-sway 7s ease-in-out infinite;
}

.tpt-nat-joseph {
    animation-delay: -2.4s;
}

@keyframes tpt-figure-sway {
    0%, 100% { transform: rotate(-1.1deg); }
    50%      { transform: rotate(1.1deg); }
}

.tpt-halo {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-halo-pulse 4.5s ease-in-out infinite;
}

@keyframes tpt-halo-pulse {
    0%, 100% { opacity: 0.45; transform: scale(0.96); }
    50%      { opacity: 0.95; transform: scale(1.06); }
}

.tpt-tomb-light {
    animation: tpt-tomb-pulse 4s ease-in-out infinite;
}

@keyframes tpt-tomb-pulse {
    0%, 100% { opacity: 0.82; }
    50%      { opacity: 1; }
}

.tpt-res-cross {
    animation: tpt-solemn 7s ease-in-out infinite;
}

.tpt-nat-baby > circle:first-child {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-aura 4s ease-in-out infinite;
}

.tpt-res-rays {
    transform-box: view-box;
    transform-origin: 600px 440px;
    animation: tpt-rotate 80s linear infinite;
}

.tpt-res-stone {
    transform-box: fill-box;
    transform-origin: center;
}

.tpt-res-stone--play {
    animation: tpt-stone-roll 2.8s cubic-bezier(0.25, 0.8, 0.3, 1) 0.5s forwards;
}

@keyframes tpt-stone-roll {
    0%   { transform: translate(0, 0) rotate(0deg); }
    70%  { transform: translate(96px, 18px) rotate(48deg); }
    100% { transform: translate(116px, 26px) rotate(58deg); }
}

.tpt-res-angel {
    transform-box: fill-box;
    transform-origin: center;
    animation: tpt-angel-float 7s ease-in-out infinite;
}

.tpt-res-tomb {
    animation: tpt-solemn 6s ease-in-out infinite;
}

/* ---------------------------------------------------------------
   Grand entrance sequence (restarts each time the overlay opens)
   --------------------------------------------------------------- */
.tpt-seasonal-overlay.is-open .tpt-overlay-bigstar {
    animation: tpt-star-arrive 1.7s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.tpt-seasonal-overlay.is-open .tpt-overlay-angels {
    animation: tpt-angels-arrive 2.2s cubic-bezier(0.2, 0.8, 0.2, 1) 0.15s both;
}

.tpt-seasonal-overlay.is-open .tpt-overlay-scene {
    animation: tpt-scene-rise 2.4s cubic-bezier(0.2, 0.8, 0.2, 1) 0.2s both, tpt-scene-breathe 18s ease-in-out 2.6s infinite;
}

.tpt-seasonal-overlay.is-open .tpt-overlay-kicker {
    animation: tpt-fade-up 0.8s ease 0.55s backwards;
}

.tpt-seasonal-overlay.is-open .tpt-overlay-title {
    animation: tpt-title-in 1.1s cubic-bezier(0.2, 0.8, 0.2, 1) 0.7s backwards, tpt-title-shimmer 7s linear infinite;
}

.tpt-seasonal-overlay.is-open .tpt-overlay-sub {
    animation: tpt-fade-up 0.8s ease 1.25s backwards;
}

.tpt-seasonal-overlay.is-open .tpt-overlay-verse {
    animation: tpt-fade-up 0.8s ease 1.45s backwards;
}

.tpt-seasonal-overlay.is-open .tpt-overlay-enter {
    animation: tpt-pop-in 0.7s cubic-bezier(0.2, 0.8, 0.2, 1) 1.75s backwards;
}

.tpt-seasonal-overlay.is-open .tpt-overlay-attribution {
    animation: tpt-fade-up 0.8s ease 2s backwards;
}

.tpt-seasonal-overlay.is-open .tpt-overlay-bloom {
    animation: tpt-bloom-in 1.8s ease both, tpt-bloom-pulse 7s ease-in-out 1.8s infinite;
}

.tpt-seasonal-overlay.is-open .tpt-overlay-brand {
    animation: tpt-brand-in 0.9s ease 0.1s backwards, tpt-brand-float 6.5s ease-in-out 1s infinite;
}

@keyframes tpt-brand-in {
    0%   { opacity: 0; transform: scale(0.82) translateY(-8px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes tpt-brand-float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-4px); }
}

@keyframes tpt-star-arrive {
    0%   { opacity: 0; transform: translateX(-50%) scale(0.15) rotate(-50deg); }
    60%  { opacity: 1; transform: translateX(-50%) scale(1.18) rotate(10deg); }
    100% { opacity: 1; transform: translateX(-50%) scale(1) rotate(0deg); }
}

@keyframes tpt-angels-arrive {
    0%   { opacity: 0; transform: translateX(-50%) translateY(34px) scale(0.9); }
    100% { opacity: 0.55; transform: translateX(-50%) translateY(0) scale(1); }
}

@keyframes tpt-scene-rise {
    0%   { opacity: 0; transform: translateY(46px) scale(0.97); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes tpt-scene-breathe {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.025); }
}

.tpt-seasonal-overlay--resurrection.is-open .tpt-overlay-burst {
    animation-delay: 1.1s;
}

@keyframes tpt-fade-up {
    0%   { opacity: 0; transform: translateY(16px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes tpt-title-in {
    0%   { opacity: 0; transform: translateY(22px) scale(0.96); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes tpt-pop-in {
    0%   { opacity: 0; transform: scale(0.82); }
    100% { opacity: 1; transform: scale(1); }
}

@keyframes tpt-bloom-in {
    0%   { opacity: 0; }
    100% { opacity: 0.75; }
}

/* ---------------------------------------------------------------
   Animation switches
   --------------------------------------------------------------- */
.tpt-no-anim .tpt-seasonal-badge,
.tpt-no-anim .tpt-seasonal-badge *,
.tpt-no-anim .tpt-logo-aura,
.tpt-no-anim .tpt-logo-sparkles,
.tpt-no-anim .tpt-sparkle,
.tpt-no-anim-all .tpt-seasonal-badge,
.tpt-no-anim-all .tpt-seasonal-badge *,
.tpt-no-anim-all .tpt-logo-aura,
.tpt-no-anim-all .tpt-logo-sparkles,
.tpt-no-anim-all .tpt-sparkle,
.tpt-no-anim-all .tpt-winter-layer,
.tpt-no-anim-all .tpt-confetti,
.tpt-no-anim .tpt-confetti,
.tpt-no-anim-all .tpt-seasonal-overlay,
.tpt-no-anim-all .tpt-seasonal-overlay * {
    animation: none !important;
}

/* Tablet */
@media (max-width: 1024px) {
    .tpt-overlay-title {
        font-size: clamp(40px, 8.4vw, 74px);
    }
    .tpt-overlay-main {
        padding-top: clamp(86px, 11vh, 124px);
    }
}

/* Mobile */
@media (max-width: 767px) {
    .tpt-seasonal-badge {
        max-width: 32px;
        max-height: 32px;
    }
    .tpt-seasonal-badge--festival {
        max-width: 40px;
        max-height: 40px;
    }
    .tpt-seasonal-badge--nativity {
        max-width: 46px;
        max-height: 46px;
    }
    .tpt-seasonal-badge--bottom-right { bottom: -12%; right: -12%; }
    .tpt-seasonal-badge--bottom-left { bottom: -24%; left: -24%; }
    .tpt-seasonal-badge--top-right { top: -24%; right: -24%; }
    .tpt-seasonal-badge--top-left { top: -24%; left: -24%; }
    .tpt-seasonal-badge--festival.tpt-seasonal-badge--bottom-right { bottom: -18%; right: -18%; }
    .tpt-seasonal-badge--festival.tpt-seasonal-badge--bottom-left { bottom: -38%; left: -38%; }
    .tpt-seasonal-badge--festival.tpt-seasonal-badge--top-right { top: -38%; right: -38%; }
    .tpt-seasonal-badge--festival.tpt-seasonal-badge--top-left { top: -38%; left: -38%; }
    .tpt-seasonal-badge--nativity.tpt-seasonal-badge--bottom-right { bottom: -24%; right: -24%; }
    .tpt-seasonal-badge--nativity.tpt-seasonal-badge--top-right { top: -48%; right: -48%; }
    /* TPT_ANNIVERSARY_HAT_CURVE_V1_20261107: the anniversary hat scales
       with the logo, so it needs no separate mobile placement. */

    .tpt-seasonal-footer {
        font-size: 11px;
        letter-spacing: 0.1em;
        padding: 10px 14px;
    }
    .tpt-seasonal-footer svg {
        width: 15px;
        height: 15px;
    }

    .tpt-overlay-main {
        padding: clamp(88px, 11vh, 118px) 16px 0;
    }
    .tpt-seasonal-overlay--resurrection .tpt-overlay-main {
        padding-top: clamp(20px, 3.5vh, 40px);
    }
    .tpt-overlay-angels {
        top: 7vh;
        opacity: 0.42;
    }
    .tpt-overlay-bigstar {
        top: 8px;
        width: 64px;
    }
    .tpt-overlay-brand {
        top: 10px;
        left: 12px;
        width: 46px;
    }
    .tpt-overlay-title {
        font-size: clamp(34px, 10vw, 54px);
    }
    .tpt-overlay-sub {
        font-size: 13px;
        margin-bottom: 10px;
    }
    .tpt-overlay-verse {
        padding: 8px 10px;
        margin-bottom: 10px;
    }
    .tpt-overlay-verse-text {
        font-size: 13px;
        line-height: 1.38;
    }
    .tpt-overlay-enter {
        font-size: 12px;
        padding: 11px 22px;
    }
    .tpt-overlay-attribution {
        font-size: 8.5px;
        margin-top: 9px;
    }
    .tpt-overlay-scene {
        height: clamp(210px, 36vh, 340px);
    }
    .tpt-seasonal-overlay--resurrection .tpt-overlay-scene {
        height: clamp(220px, 38vh, 360px);
    }
    .tpt-seasonal-overlay--resurrection .tpt-overlay-scene svg {
        transform: translateX(-7%);
    }
}

/* Short screens */
@media (max-height: 700px) {
    .tpt-overlay-main {
        padding-top: clamp(70px, 10vh, 100px);
    }
    .tpt-seasonal-overlay--resurrection .tpt-overlay-main {
        padding-top: 18px;
    }
    .tpt-overlay-title {
        font-size: clamp(32px, 8vw, 62px);
    }
    .tpt-overlay-verse {
        padding: 7px 12px;
        margin-bottom: 9px;
    }
    .tpt-overlay-verse-text {
        font-size: 13px;
        line-height: 1.35;
    }
    .tpt-overlay-scene {
        height: clamp(180px, 32vh, 300px);
    }
    .tpt-seasonal-overlay--resurrection .tpt-overlay-scene {
        height: clamp(190px, 34vh, 320px);
    }
}

/* Landscape phones and very short windows */
@media (max-height: 480px) {
    .tpt-overlay-main {
        padding-top: 8px;
    }
    .tpt-overlay-kicker {
        display: none;
    }
    .tpt-overlay-title {
        font-size: clamp(24px, 4.2vw, 38px);
        margin-bottom: 3px;
    }
    .tpt-overlay-sub {
        font-size: 11px;
        margin-bottom: 6px;
    }
    .tpt-overlay-verse {
        padding: 5px 8px;
        margin-bottom: 6px;
    }
    .tpt-overlay-verse-text {
        font-size: 11px;
        line-height: 1.3;
        margin-bottom: 3px;
    }
    .tpt-overlay-verse-ref {
        font-size: 9px;
    }
    .tpt-overlay-enter {
        font-size: 10px;
        padding: 8px 18px;
    }
    .tpt-overlay-attribution {
        display: none;
    }
    .tpt-overlay-bigstar {
        width: 48px;
    }
    .tpt-overlay-angels {
        display: none;
    }
    .tpt-overlay-scene,
    .tpt-seasonal-overlay--resurrection .tpt-overlay-scene {
        height: 40vh;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tpt-seasonal-badge,
    .tpt-seasonal-badge *,
    .tpt-logo-aura,
    .tpt-logo-sparkles,
    .tpt-sparkle,
    .tpt-winter-layer,
    .tpt-winter-theme::before,
    .tpt-overlay-star-dot,
    .tpt-shooting-star,
    .tpt-overlay-bloom,
    .tpt-overlay-brand,
    .tpt-overlay-mote,
    .tpt-halo,
    .tpt-tomb-light,
    .tpt-res-cross,
    .tpt-nat-mary,
    .tpt-nat-joseph,
    .tpt-party-number,
    .tpt-confetti,
    .tpt-seasonal-badge--anniversary,
    .tpt-overlay-burst,
    .tpt-overlay-bigstar,
    .tpt-overlay-star-glow,
    .tpt-overlay-star-rays,
    .tpt-overlay-angels,
    .tpt-angel,
    .tpt-res-angel,
    .tpt-res-rays,
    .tpt-res-tomb,
    .tpt-nat-baby > circle:first-child,
    .tpt-overlay-kicker,
    .tpt-overlay-title,
    .tpt-overlay-sub,
    .tpt-overlay-verse,
    .tpt-overlay-enter,
    .tpt-overlay-attribution,
    .tpt-overlay-scene {
        animation: none !important;
    }
    .tpt-winter-layer {
        display: none;
    }
    .tpt-res-stone--play {
        animation: none !important;
        transform: translate(116px, 26px) rotate(58deg) !important;
    }
}:root{--woocommerce:#720eec;--wc-green:#007518;--wc-red:#a00;--wc-orange:#ffba00;--wc-blue:#2ea2cc;--wc-primary:#720eec;--wc-primary-text:#fcfbfe;--wc-secondary:#e9e6ed;--wc-secondary-text:#515151;--wc-highlight:#958e09;--wc-highligh-text:white;--wc-content-bg:#fff;--wc-subtext:#767676;--wc-form-border-color:rgba(32, 7, 7, 0.8);--wc-form-border-radius:4px;--wc-form-border-width:1px;--wc-destructive:#cc1818;--wc-card-border-radius:8px}.woocommerce .woocommerce-error .button,.woocommerce .woocommerce-info .button,.woocommerce .woocommerce-message .button,.woocommerce-page .woocommerce-error .button,.woocommerce-page .woocommerce-info .button,.woocommerce-page .woocommerce-message .button{float:right}.woocommerce .col2-set,.woocommerce-page .col2-set{width:100%}.woocommerce .col2-set::after,.woocommerce .col2-set::before,.woocommerce-page .col2-set::after,.woocommerce-page .col2-set::before{content:" ";display:table}.woocommerce .col2-set::after,.woocommerce-page .col2-set::after{clear:both}.woocommerce .col2-set .col-1,.woocommerce-page .col2-set .col-1{float:left;width:48%}.woocommerce .col2-set .col-2,.woocommerce-page .col2-set .col-2{float:right;width:48%}.woocommerce img,.woocommerce-page img{height:auto;max-width:100%}.woocommerce #content div.product div.images,.woocommerce div.product div.images,.woocommerce-page #content div.product div.images,.woocommerce-page div.product div.images{float:left;width:48%}.woocommerce #content div.product div.images.woocommerce-product-gallery .flex-viewport,.woocommerce div.product div.images.woocommerce-product-gallery .flex-viewport,.woocommerce-page #content div.product div.images.woocommerce-product-gallery .flex-viewport,.woocommerce-page div.product div.images.woocommerce-product-gallery .flex-viewport{touch-action:pan-y pinch-zoom}.woocommerce #content div.product div.thumbnails::after,.woocommerce #content div.product div.thumbnails::before,.woocommerce div.product div.thumbnails::after,.woocommerce div.product div.thumbnails::before,.woocommerce-page #content div.product div.thumbnails::after,.woocommerce-page #content div.product div.thumbnails::before,.woocommerce-page div.product div.thumbnails::after,.woocommerce-page div.product div.thumbnails::before{content:" ";display:table}.woocommerce #content div.product div.thumbnails::after,.woocommerce div.product div.thumbnails::after,.woocommerce-page #content div.product div.thumbnails::after,.woocommerce-page div.product div.thumbnails::after{clear:both}.woocommerce #content div.product div.thumbnails a,.woocommerce div.product div.thumbnails a,.woocommerce-page #content div.product div.thumbnails a,.woocommerce-page div.product div.thumbnails a{float:left;width:30.75%;margin-right:3.8%;margin-bottom:1em}.woocommerce #content div.product div.thumbnails a.last,.woocommerce div.product div.thumbnails a.last,.woocommerce-page #content div.product div.thumbnails a.last,.woocommerce-page div.product div.thumbnails a.last{margin-right:0}.woocommerce #content div.product div.thumbnails a.first,.woocommerce div.product div.thumbnails a.first,.woocommerce-page #content div.product div.thumbnails a.first,.woocommerce-page div.product div.thumbnails a.first{clear:both}.woocommerce #content div.product div.thumbnails.columns-1 a,.woocommerce div.product div.thumbnails.columns-1 a,.woocommerce-page #content div.product div.thumbnails.columns-1 a,.woocommerce-page div.product div.thumbnails.columns-1 a{width:100%;margin-right:0;float:none}.woocommerce #content div.product div.thumbnails.columns-2 a,.woocommerce div.product div.thumbnails.columns-2 a,.woocommerce-page #content div.product div.thumbnails.columns-2 a,.woocommerce-page div.product div.thumbnails.columns-2 a{width:48%}.woocommerce #content div.product div.thumbnails.columns-4 a,.woocommerce div.product div.thumbnails.columns-4 a,.woocommerce-page #content div.product div.thumbnails.columns-4 a,.woocommerce-page div.product div.thumbnails.columns-4 a{width:22.05%}.woocommerce #content div.product div.thumbnails.columns-5 a,.woocommerce div.product div.thumbnails.columns-5 a,.woocommerce-page #content div.product div.thumbnails.columns-5 a,.woocommerce-page div.product div.thumbnails.columns-5 a{width:16.9%}.woocommerce #content div.product div.summary,.woocommerce div.product div.summary,.woocommerce-page #content div.product div.summary,.woocommerce-page div.product div.summary{float:right;width:48%;clear:none}.woocommerce #content div.product .woocommerce-tabs,.woocommerce div.product .woocommerce-tabs,.woocommerce-page #content div.product .woocommerce-tabs,.woocommerce-page div.product .woocommerce-tabs{clear:both}.woocommerce #content div.product .woocommerce-tabs ul.tabs::after,.woocommerce #content div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after,.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::after,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::before,.woocommerce-page div.product .woocommerce-tabs ul.tabs::after,.woocommerce-page div.product .woocommerce-tabs ul.tabs::before{content:" ";display:table}.woocommerce #content div.product .woocommerce-tabs ul.tabs::after,.woocommerce div.product .woocommerce-tabs ul.tabs::after,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::after,.woocommerce-page div.product .woocommerce-tabs ul.tabs::after{clear:both}.woocommerce #content div.product .woocommerce-tabs ul.tabs li,.woocommerce div.product .woocommerce-tabs ul.tabs li,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li,.woocommerce-page div.product .woocommerce-tabs ul.tabs li{display:inline-block}.woocommerce #content div.product #reviews .comment::after,.woocommerce #content div.product #reviews .comment::before,.woocommerce div.product #reviews .comment::after,.woocommerce div.product #reviews .comment::before,.woocommerce-page #content div.product #reviews .comment::after,.woocommerce-page #content div.product #reviews .comment::before,.woocommerce-page div.product #reviews .comment::after,.woocommerce-page div.product #reviews .comment::before{content:" ";display:table}.woocommerce #content div.product #reviews .comment::after,.woocommerce div.product #reviews .comment::after,.woocommerce-page #content div.product #reviews .comment::after,.woocommerce-page div.product #reviews .comment::after{clear:both}.woocommerce #content div.product #reviews .comment img,.woocommerce div.product #reviews .comment img,.woocommerce-page #content div.product #reviews .comment img,.woocommerce-page div.product #reviews .comment img{float:right;height:auto}.woocommerce ul.products,.woocommerce-page ul.products{clear:both}.woocommerce ul.products::after,.woocommerce ul.products::before,.woocommerce-page ul.products::after,.woocommerce-page ul.products::before{content:" ";display:table}.woocommerce ul.products::after,.woocommerce-page ul.products::after{clear:both}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:left;margin:0 3.8% 2.992em 0;padding:0;position:relative;width:22.05%;margin-left:0}.woocommerce ul.products li.first,.woocommerce-page ul.products li.first{clear:both}.woocommerce ul.products li.last,.woocommerce-page ul.products li.last{margin-right:0}.woocommerce ul.products.columns-1 li.product,.woocommerce-page ul.products.columns-1 li.product{width:100%;margin-right:0}.woocommerce ul.products.columns-2 li.product,.woocommerce-page ul.products.columns-2 li.product{width:48%}.woocommerce ul.products.columns-3 li.product,.woocommerce-page ul.products.columns-3 li.product{width:30.75%}.woocommerce ul.products.columns-5 li.product,.woocommerce-page ul.products.columns-5 li.product{width:16.95%}.woocommerce ul.products.columns-6 li.product,.woocommerce-page ul.products.columns-6 li.product{width:13.5%}.woocommerce-page.columns-1 ul.products li.product,.woocommerce.columns-1 ul.products li.product{width:100%;margin-right:0}.woocommerce-page.columns-2 ul.products li.product,.woocommerce.columns-2 ul.products li.product{width:48%}.woocommerce-page.columns-3 ul.products li.product,.woocommerce.columns-3 ul.products li.product{width:30.75%}.woocommerce-page.columns-5 ul.products li.product,.woocommerce.columns-5 ul.products li.product{width:16.95%}.woocommerce-page.columns-6 ul.products li.product,.woocommerce.columns-6 ul.products li.product{width:13.5%}.woocommerce .woocommerce-result-count,.woocommerce-page .woocommerce-result-count{float:left}.woocommerce .woocommerce-ordering,.woocommerce-page .woocommerce-ordering{float:right}.woocommerce .woocommerce-pagination ul.page-numbers::after,.woocommerce .woocommerce-pagination ul.page-numbers::before,.woocommerce-page .woocommerce-pagination ul.page-numbers::after,.woocommerce-page .woocommerce-pagination ul.page-numbers::before{content:" ";display:table}.woocommerce .woocommerce-pagination ul.page-numbers::after,.woocommerce-page .woocommerce-pagination ul.page-numbers::after{clear:both}.woocommerce .woocommerce-pagination ul.page-numbers li,.woocommerce-page .woocommerce-pagination ul.page-numbers li{display:inline-block}.woocommerce #content table.cart img,.woocommerce table.cart img,.woocommerce-page #content table.cart img,.woocommerce-page table.cart img{height:auto}.woocommerce #content table.cart td.actions,.woocommerce table.cart td.actions,.woocommerce-page #content table.cart td.actions,.woocommerce-page table.cart td.actions{text-align:right}.woocommerce #content table.cart td.actions .input-text,.woocommerce table.cart td.actions .input-text,.woocommerce-page #content table.cart td.actions .input-text,.woocommerce-page table.cart td.actions .input-text{width:80px}.woocommerce #content table.cart td.actions .coupon,.woocommerce table.cart td.actions .coupon,.woocommerce-page #content table.cart td.actions .coupon,.woocommerce-page table.cart td.actions .coupon{float:left}.woocommerce .cart-collaterals,.woocommerce-page .cart-collaterals{width:100%}.woocommerce .cart-collaterals::after,.woocommerce .cart-collaterals::before,.woocommerce-page .cart-collaterals::after,.woocommerce-page .cart-collaterals::before{content:" ";display:table}.woocommerce .cart-collaterals::after,.woocommerce-page .cart-collaterals::after{clear:both}.woocommerce .cart-collaterals .related,.woocommerce-page .cart-collaterals .related{width:30.75%;float:left}.woocommerce .cart-collaterals .cross-sells,.woocommerce-page .cart-collaterals .cross-sells{width:48%;float:left}.woocommerce .cart-collaterals .cross-sells ul.products,.woocommerce-page .cart-collaterals .cross-sells ul.products{float:none}.woocommerce .cart-collaterals .cross-sells ul.products li,.woocommerce-page .cart-collaterals .cross-sells ul.products li{width:48%}.woocommerce .cart-collaterals .shipping_calculator,.woocommerce-page .cart-collaterals .shipping_calculator{width:48%;clear:right;float:right}.woocommerce .cart-collaterals .shipping_calculator::after,.woocommerce .cart-collaterals .shipping_calculator::before,.woocommerce-page .cart-collaterals .shipping_calculator::after,.woocommerce-page .cart-collaterals .shipping_calculator::before{content:" ";display:table}.woocommerce .cart-collaterals .shipping_calculator::after,.woocommerce-page .cart-collaterals .shipping_calculator::after{clear:both}.woocommerce .cart-collaterals .shipping_calculator .col2-set .col-1,.woocommerce .cart-collaterals .shipping_calculator .col2-set .col-2,.woocommerce-page .cart-collaterals .shipping_calculator .col2-set .col-1,.woocommerce-page .cart-collaterals .shipping_calculator .col2-set .col-2{width:47%}.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{float:right;width:48%}.woocommerce ul.cart_list li::after,.woocommerce ul.cart_list li::before,.woocommerce ul.product_list_widget li::after,.woocommerce ul.product_list_widget li::before,.woocommerce-page ul.cart_list li::after,.woocommerce-page ul.cart_list li::before,.woocommerce-page ul.product_list_widget li::after,.woocommerce-page ul.product_list_widget li::before{content:" ";display:table}.woocommerce ul.cart_list li::after,.woocommerce ul.product_list_widget li::after,.woocommerce-page ul.cart_list li::after,.woocommerce-page ul.product_list_widget li::after{clear:both}.woocommerce ul.cart_list li img,.woocommerce ul.product_list_widget li img,.woocommerce-page ul.cart_list li img,.woocommerce-page ul.product_list_widget li img{float:right;height:auto}.woocommerce form .form-row::after,.woocommerce form .form-row::before,.woocommerce-page form .form-row::after,.woocommerce-page form .form-row::before{content:" ";display:table}.woocommerce form .form-row::after,.woocommerce-page form .form-row::after{clear:both}.woocommerce form .form-row label,.woocommerce-page form .form-row label{display:block}.woocommerce form .form-row label.checkbox,.woocommerce-page form .form-row label.checkbox{display:inline}.woocommerce form .form-row select,.woocommerce-page form .form-row select{width:100%}.woocommerce form .form-row .input-text,.woocommerce-page form .form-row .input-text{box-sizing:border-box;width:100%}.woocommerce form .form-row-first,.woocommerce form .form-row-last,.woocommerce-page form .form-row-first,.woocommerce-page form .form-row-last{width:47%;overflow:visible}.woocommerce form .form-row-first,.woocommerce-page form .form-row-first{float:left}.woocommerce form .form-row-last,.woocommerce-page form .form-row-last{float:right}.woocommerce form .form-row-wide,.woocommerce-page form .form-row-wide{clear:both}.woocommerce form .password-input,.woocommerce-page form .password-input{display:flex;flex-direction:column;justify-content:center;position:relative}.woocommerce form .password-input input[type=password],.woocommerce-page form .password-input input[type=password]{padding-right:2.5rem}.woocommerce form .password-input input::-ms-reveal,.woocommerce-page form .password-input input::-ms-reveal{display:none}.woocommerce form .show-password-input,.woocommerce-page form .show-password-input{background-color:transparent;border-radius:0;border:0;color:var(--wc-form-color-text,#000);cursor:pointer;font-size:inherit;line-height:inherit;margin:0;padding:0;position:absolute;right:.7em;text-decoration:none;top:50%;transform:translateY(-50%);-moz-osx-font-smoothing:inherit;-webkit-appearance:none;-webkit-font-smoothing:inherit}.woocommerce form .show-password-input::before,.woocommerce-page form .show-password-input::before{background-repeat:no-repeat;background-size:cover;background-image:url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%23111111"/></svg>');content:"";display:block;height:22px;width:22px}.woocommerce form .show-password-input.display-password::before,.woocommerce-page form .show-password-input.display-password::before{background-image:url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3 9.49999C15 4.89999 8.50002 3.79999 3.90002 7.19999C2.70002 8.09999 1.70002 9.29999 0.900024 10.6C1.10002 11 1.40002 11.4 1.70002 11.8C5.00002 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.79999 18.3 9.49999ZM10.1 7.19999C10.6 6.69999 11.4 6.69999 11.9 7.19999C12.4 7.69999 12.4 8.49999 11.9 8.99999C11.4 9.49999 10.6 9.49999 10.1 8.99999C9.60003 8.49999 9.60003 7.69999 10.1 7.19999ZM10 14.9C6.90002 14.9 4.00002 13.3 2.30002 10.7C3.50002 8.99999 5.10002 7.79999 7.00002 7.19999C6.30002 7.99999 6.00002 8.89999 6.00002 9.89999C6.00002 12.1 7.70002 14 10 14C12.2 14 14.1 12.3 14.1 9.99999V9.89999C14.1 8.89999 13.7 7.89999 13 7.19999C14.9 7.79999 16.5 8.99999 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z" fill="%23111111"/></svg>')}.woocommerce #payment .form-row select,.woocommerce-page #payment .form-row select{width:auto}.woocommerce #payment .terms,.woocommerce #payment .wc-terms-and-conditions,.woocommerce-page #payment .terms,.woocommerce-page #payment .wc-terms-and-conditions{text-align:left;padding:0 1em 0 0;float:left}.woocommerce #payment #place_order,.woocommerce-page #payment #place_order{float:right}.woocommerce .woocommerce-billing-fields::after,.woocommerce .woocommerce-billing-fields::before,.woocommerce .woocommerce-shipping-fields::after,.woocommerce .woocommerce-shipping-fields::before,.woocommerce-page .woocommerce-billing-fields::after,.woocommerce-page .woocommerce-billing-fields::before,.woocommerce-page .woocommerce-shipping-fields::after,.woocommerce-page .woocommerce-shipping-fields::before{content:" ";display:table}.woocommerce .woocommerce-billing-fields::after,.woocommerce .woocommerce-shipping-fields::after,.woocommerce-page .woocommerce-billing-fields::after,.woocommerce-page .woocommerce-shipping-fields::after{clear:both}.woocommerce .woocommerce-terms-and-conditions,.woocommerce-page .woocommerce-terms-and-conditions{margin-bottom:1.618em;padding:1.618em}.woocommerce .woocommerce-oembed,.woocommerce-page .woocommerce-oembed{position:relative}.woocommerce-account .woocommerce-MyAccount-navigation{float:left;width:30%}.woocommerce-account .woocommerce-MyAccount-content{float:right;width:68%}.woocommerce-account .woocommerce-MyAccount-content mark{background-color:transparent;color:inherit;font-weight:700}.woocommerce-page.left-sidebar #content.twentyeleven{width:58.4%;margin:0 7.6%;float:right}.woocommerce-page.right-sidebar #content.twentyeleven{margin:0 7.6%;width:58.4%;float:left}.twentyfourteen .tfwc{padding:12px 10px 0;max-width:474px;margin:0 auto}.twentyfourteen .tfwc .product .entry-summary{padding:0!important;margin:0 0 1.618em!important}.twentyfourteen .tfwc div.product.hentry.has-post-thumbnail{margin-top:0}@media screen and (min-width:673px){.twentyfourteen .tfwc{padding-right:30px;padding-left:30px}}@media screen and (min-width:1040px){.twentyfourteen .tfwc{padding-right:15px;padding-left:15px}}@media screen and (min-width:1110px){.twentyfourteen .tfwc{padding-right:30px;padding-left:30px}}@media screen and (min-width:1218px){.twentyfourteen .tfwc{margin-right:54px}.full-width .twentyfourteen .tfwc{margin-right:auto}}.twentyfifteen .t15wc{padding-left:7.6923%;padding-right:7.6923%;padding-top:7.6923%;margin-bottom:7.6923%;background:#fff;box-shadow:0 0 1px rgba(0,0,0,.15)}.twentyfifteen .t15wc .page-title{margin-left:0}@media screen and (min-width:38.75em){.twentyfifteen .t15wc{margin-right:7.6923%;margin-left:7.6923%;margin-top:8.3333%}}@media screen and (min-width:59.6875em){.twentyfifteen .t15wc{margin-left:8.3333%;margin-right:8.3333%;padding:10%}.single-product .twentyfifteen .entry-summary{padding:0!important}}.twentysixteen .site-main{margin-right:7.6923%;margin-left:7.6923%}.twentysixteen .entry-summary{margin-right:0;margin-left:0}#content .twentysixteen div.product div.images,#content .twentysixteen div.product div.summary{width:46.42857%}@media screen and (min-width:44.375em){.twentysixteen .site-main{margin-right:23.0769%}}@media screen and (min-width:56.875em){.twentysixteen .site-main{margin-right:0;margin-left:0}.no-sidebar .twentysixteen .site-main{margin-right:15%;margin-left:15%}.no-sidebar .twentysixteen .entry-summary{margin-right:0;margin-left:0}}.rtl .woocommerce .col2-set .col-1,.rtl .woocommerce-page .col2-set .col-1{float:right}.rtl .woocommerce .col2-set .col-2,.rtl .woocommerce-page .col2-set .col-2{float:left}