/* Shop filters ([gp_shop_filters], template_parts/gp-filters.php). Moved out of the
   inline <style> so browsers can cache it. */
			:root{
	--gp-overlay-open-ms: 320ms;
	--gp-overlay-close-ms: 260ms;
	--gp-icon-morph-ms: 1000ms;
	--gp-ease: cubic-bezier(0.22,1,0.36,1);
}

			.elementor-section .elementor-container.gp-col{
				flex-direction:column;
				justify-content:center;
				align-content:center;
			}

			.gp-shop-filters{
				max-width:1200px;
				margin:20px 0 30px;
			}

			.gp-line{
				display:flex;
				align-items:center;
				gap:16px;
				margin:10px 0;
			}

			.gp-prefix{
				font-size:56px;
				line-height:1.05;
				font-weight:600;
				color:#111;
				letter-spacing:-0.5px;
			}

			.gp-btn-pill{
				position:relative;
				display:inline-flex;
				align-items:center;
				gap:14px;
				cursor:pointer;
				background:transparent;
				border:0;
				border-radius:0;
				padding:10px 0;
				transition:all 0.15s ease;
				color:#000;
			}

			.gp-btn-pill:hover,
			.gp-btn-pill:focus{
				background:transparent;
				color:#000;
			}

			.gp-btn-pill-text{
				font-size:56px;
				line-height:1.05;
				font-weight:600;
				letter-spacing:-0.5px;
			}

			.gp-btn-pill:hover .gp-btn-pill-text.is-selected{
				color:#000;
			}

			.gp-x{
				display:inline-flex;
				align-items:center;
				justify-content:center;
				width:44px;
				height:44px;
				border-radius:999px;

				font-size:28px;
				line-height:1;
				color:#111;
				flex:0 0 auto;
			}

			.gp-btn-icon{
				display:inline-flex;
				align-items:center;
				justify-content:center;
				width:46px;
				height:46px;
				flex:0 0 46px;
				margin-left:2px;
				color:#2C2B28;
			}

			.gp-btn-icon-svg{
				display:block;
				width:32px;
				height:32px;
				overflow:visible;
			}

			.gp-icon-chevron{
				transform-origin:50% 50%;
				opacity:1;
				transform:scale(1) rotate(0deg);
				transition:
					transform var(--gp-icon-morph-ms) var(--gp-ease),
					opacity 220ms ease;
			}

			.gp-icon-close{
				opacity:0;
				transform-origin:50% 50%;
				transition:
					opacity 200ms ease,
					transform var(--gp-icon-morph-ms) var(--gp-ease);
			}

			.gp-icon-close-line{
				transform-box:fill-box;
				transform-origin:50% 50%;
				transition:transform var(--gp-icon-morph-ms) var(--gp-ease);
			}

			.gp-icon-close-line-a{
				transform:translateY(-2px) rotate(-16deg) scaleX(0.55);
			}

			.gp-icon-close-line-b{
				transform:translateY(2px) rotate(16deg) scaleX(0.55);
			}

			.gp-btn-pill.is-icon-open .gp-icon-chevron{
				opacity:0;
				transform:scale(0.72) rotate(90deg);
			}

			.gp-btn-pill.is-icon-open .gp-icon-close{
				opacity:1;
			}

			.gp-btn-pill.is-icon-open .gp-icon-close-line-a,
			.gp-btn-pill.is-icon-open .gp-icon-close-line-b{
				transform:translateY(0) rotate(0deg) scaleX(1);
			}

			.gp-overlay{
				position:fixed;
				inset:0;
				width:100vw;
				height:100vh;
				z-index:99999;
				opacity:0;
				visibility:hidden;
				pointer-events:none;
				transform:translateY(16px);
				background-color:#fff;
				transition:
					opacity 220ms var(--gp-ease),
					transform var(--gp-overlay-close-ms) var(--gp-ease),
					visibility 0s linear var(--gp-overlay-close-ms);
			}

			.gp-overlay.is-open,
			.gp-overlay.is-closing{
				visibility:visible;
			}

			.gp-overlay.is-open{
				opacity:1;
				pointer-events:auto;
				transform:translateY(0);
				transition:
					opacity 220ms var(--gp-ease),
					transform var(--gp-overlay-open-ms) var(--gp-ease),
					visibility 0s linear 0s;
			}

			.gp-overlay.is-closing{
				opacity:0;
				pointer-events:none;
				transform:translateY(16px);
			}

			.gp-overlay__inner{
				height:100%;
				opacity:0;
				transform:translateY(24px);
				transition:
					opacity 280ms var(--gp-ease),
					transform var(--gp-overlay-open-ms) var(--gp-ease);
			}

			.gp-overlay.is-open .gp-overlay__inner{
				opacity:1;
				transform:translateY(0);
			}

			.gp-overlay.is-closing .gp-overlay__inner{
				opacity:0;
				transform:translateY(24px);
			}

			body.gp-lock{
				overflow:hidden;
			}

			.gp-overlay .gp-col{
				padding:50px 0;
			}

			.gp-overlay-top{
				position:relative;
				background-color:#fff;
				display:flex;
				flex-direction:row;
				align-items:center;
				gap:16px;
			}

			.gp-overlay-bg{
				background-color:#fff;
			}

			.gp-overlay-top .gp-btn-pill:hover{
				color:#bdbdbd;
			}

			.gp-overlay-title{
				font-size:56px;
				line-height:1.05;
				font-weight:600;
				color:#111;
				letter-spacing:-0.5px;
			}

			.gp-overlay-list{
				height: calc(100vh - 180px) !important;
				    overflow: auto;
    padding: 28px 22px 60px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    align-items: start;
    width: 100%;
    justify-content: start;;
			}

			.gp-filter-btn{
				width: 100%;
    		text-align: center;
    		font-size: 40px;
    		font-weight: 600;
    		letter-spacing: -0.4px;
    		padding: 5px 12px;
    		border: none;
    		background: transparent;
    		cursor: pointer;
    		color: #111;
			}

			.gp-filter-btn:hover,
			.gp-filter-btn:focus{
				background:#fafafa;
				transform:scale(1.01) translateY(0) !important;
				color: #000;
			}

			.gp-filter-btn:not(.gp-filter-btn-any){
				opacity:0;
				transform:translateY(20px);
			}

			.gp-filter-btn:not(.gp-filter-btn-any).is-visible{
				opacity:1;
				transform:translateY(0);
				transition:
					opacity 300ms var(--gp-ease),
					transform 300ms var(--gp-ease);
			}

			.gp-filter-btn-any{
				color:#cfcfcf;
				pointer-events:none;
			}

			.gp-filter-btn-any:hover{
				color:#cfcfcf;
				pointer-events:none;
				background:transparent;
			}

			.elementor-widget-loop-grid.gp-loading{
				opacity:0.35;
				pointer-events:none;
				transition:opacity 0.15s ease;
			}

			@media (max-width:1024px){
				.gp-prefix,
				.gp-btn-pill-text,
				.gp-overlay-title{
					font-size:38px;
				}

				.gp-btn-pill{
					min-width:360px;
				}

				.gp-filter-btn{
					font-size:38px;
				}

				.gp-x{
					width:38px;
					height:38px;
					font-size:24px;
				}

				.gp-btn-icon{
					width:40px;
					height:40px;
					flex-basis:40px;
				}

				.gp-btn-icon-svg{
					width:28px;
					height:28px;
				}
			}

			@media (max-width:640px){
				.gp-line{
					flex-wrap:wrap;
				}

				.gp-prefix,
				.gp-btn-pill-text,
				.gp-overlay-title{
					font-size:28px;
				}

				.gp-btn-pill{
					min-width:unset;
				}

				.gp-filter-btn{
					font-size:30px;
				}
			}
