/* =====================================================================
   Sharp-Rite — typography, colour and controls
   Every rule is scoped to body.sr-core, so unchecking "Typography,
   colours and buttons" in the Customizer leaves Flatsome untouched.
   ===================================================================== */

body.sr-on{
	--sr-bg:#f4f2ef;
	--sr-surface:#fff;
	--sr-ink:#111;
	--sr-body:#5b5650;
	--sr-muted:#6a655f;
	--sr-line:#e6e2dc;
	--sr-line-soft:#f0ede9;
	--sr-red:#d6301f;
	--sr-red-dk:#b8271a;
	--sr-red-soft:#fdecea;
	--sr-yellow:#ffcf3a;
	--sr-dark:#141312;
	--sr-green:#1f8a4c;
	--sr-r-xs:10px;
	--sr-r-sm:14px;
	--sr-r-md:18px;
	--sr-r-lg:22px;
	--sr-r-xl:28px;
	--sr-shadow:0 1px 2px rgba(0,0,0,.04);
	--sr-shadow-md:0 4px 20px rgba(0,0,0,.06);
	--sr-display:'Bricolage Grotesque','Geist',system-ui,sans-serif;
	--sr-text:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;
	--sr-ease:cubic-bezier(.2,.8,.2,1);
}

/* ---------------------------------------------------------------------
   Typography
   ------------------------------------------------------------------- */
body.sr-core{
	background:var(--sr-bg);color:var(--sr-ink);
	-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55;
}
body.sr-core h1,body.sr-core h2,body.sr-core h3,
body.sr-core h4,body.sr-core h5,body.sr-core h6,
body.sr-core .h1,body.sr-core .h2,body.sr-core .h3,body.sr-core .h4,
body.sr-core .entry-title,body.sr-core .section-title,
body.sr-core .product-title,body.sr-core .shop-page-title{
	font-family:var(--sr-display);font-weight:700;letter-spacing:-.03em;
	text-transform:none;color:var(--sr-ink);line-height:1.08;
}
body.sr-core h1,body.sr-core .h1{font-size:clamp(34px,4.2vw,56px);letter-spacing:-.04em}
body.sr-core h2,body.sr-core .h2{font-size:clamp(27px,3vw,40px);letter-spacing:-.035em}
body.sr-core h3,body.sr-core .h3{font-size:clamp(21px,2vw,26px)}
body.sr-core h4,body.sr-core .h4{font-size:19px}
body.sr-core h5{font-size:17px}
body.sr-core h6{font-size:15px}
body.sr-core p{color:var(--sr-body)}
/* Dark surfaces on the home page: the global heading/paragraph colours above
   would otherwise win and turn light text dark or grey on black. */
body.sr-core .srh-slide.txt-light h1,body.sr-core .srh-slide.txt-light h2,body.sr-core .srh-slide.txt-light h3,
body.sr-core .srh-enquiry h2{color:#fff}
body.sr-core .srh-slide.txt-light p,body.sr-core .srh-slide.txt-light .srh-slide__sub{color:rgba(255,255,255,.88)}
body.sr-core .srh-enquiry__copy p,body.sr-core .srh-enquiry p{color:rgba(255,255,255,.82)}
body.sr-core .srh-flash__intro h2{color:#fff}
body.sr-core .srh-flash__intro p{color:rgba(255,255,255,.9)}
body.sr-core a{color:var(--sr-ink)}
body.sr-core a:hover{color:var(--sr-red)}
body.sr-core .is-divider{display:none}

/* Sentence case for the headings Flatsome uppercases. The top bar and
   main nav are deliberately excluded so Theme Options still rules there. */
body.sr-core .widget-title,body.sr-core .section-title span,
body.sr-core .tab-panels .title,body.sr-core .woocommerce-tabs .nav>li>a,
body.sr-core .product-section-title,body.sr-core .checkout h3,
body.sr-core .cart_totals h2,body.sr-core .cross-sells h2,
body.sr-core .related h2,body.sr-core .upsells h2{
	text-transform:none!important;letter-spacing:-.01em!important;
}

/* ---------------------------------------------------------------------
   Buttons
   ------------------------------------------------------------------- */
body.sr-core .button,body.sr-core button,body.sr-core input[type=submit],
body.sr-core.woocommerce a.button,body.sr-core .woocommerce button.button,
body.sr-core .woocommerce input.button{
	font-family:var(--sr-text);font-weight:600;font-size:15px;letter-spacing:0;
	text-transform:none;border-radius:999px;border:0;min-height:48px;padding:0 26px;
	display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1;
	box-shadow:none;text-shadow:none;
	transition:background .18s,color .18s,transform .18s var(--sr-ease),border-color .18s;
}
body.sr-core .button:hover,body.sr-core button:hover{transform:translateY(-1px);box-shadow:none}
body.sr-core .button.primary,body.sr-core button.primary,body.sr-core input[type=submit],
body.sr-core .woocommerce button.button.alt,body.sr-core .woocommerce a.button.alt,
body.sr-core .button.checkout,body.sr-core #place_order{background-color:var(--sr-red);color:#fff}
body.sr-core .button.primary:hover,body.sr-core button.primary:hover,
body.sr-core input[type=submit]:hover,body.sr-core #place_order:hover{background-color:var(--sr-red-dk);color:#fff}
body.sr-core .button.secondary,body.sr-core button.secondary{background-color:var(--sr-ink);color:#fff}
body.sr-core .button.secondary:hover{background-color:var(--sr-red)}
body.sr-core .button.is-outline,body.sr-core .button.is-link{
	background:transparent;border:1.5px solid currentColor;color:var(--sr-ink);
}
body.sr-core .button.is-outline:hover{background:var(--sr-ink);border-color:var(--sr-ink);color:#fff}
body.sr-core .button.is-small,body.sr-core .is-small .button{min-height:40px;padding:0 18px;font-size:14px}
body.sr-core .button.is-large{min-height:56px;padding:0 32px;font-size:16px}
body.sr-core .button.icon:not(.is-outline){background:transparent;color:inherit}
body.sr-core .button.icon.circle,body.sr-core .button.round.icon{min-height:0;padding:0}

/* ---------------------------------------------------------------------
   Forms
   ------------------------------------------------------------------- */
body.sr-core input[type=text],body.sr-core input[type=email],body.sr-core input[type=tel],
body.sr-core input[type=password],body.sr-core input[type=search],body.sr-core input[type=number],
body.sr-core input[type=url],body.sr-core input[type=date],body.sr-core select,body.sr-core textarea,
body.sr-core .woocommerce form .form-row input.input-text,
body.sr-core .select2-container--default .select2-selection--single{
	font-family:var(--sr-text);font-size:15px;color:var(--sr-ink);background:var(--sr-surface);
	border:1.5px solid var(--sr-line);border-radius:var(--sr-r-sm);box-shadow:none;
	height:50px;padding:0 16px;transition:border-color .15s,box-shadow .15s;
}
body.sr-core textarea{height:auto;padding:14px 16px;line-height:1.5}
body.sr-core input:focus,body.sr-core select:focus,body.sr-core textarea:focus{
	border-color:var(--sr-ink);box-shadow:0 0 0 3px rgba(17,17,17,.06);outline:0;
}
body.sr-core input::placeholder,body.sr-core textarea::placeholder{color:#9b968f}
body.sr-core label{font-weight:500;font-size:14px;color:var(--sr-ink);text-transform:none;letter-spacing:0}
body.sr-core .select2-dropdown{border-color:var(--sr-line);border-radius:var(--sr-r-sm);overflow:hidden}

/* Selects need their own arrow. The rule above uses the `background`
   shorthand, which resets repeat, position and size to their defaults
   while Flatsome's own `background-image` for the chevron survives in a
   more specific rule — so the arrow tiles across the field. Setting the
   image and its placement explicitly here gives one arrow, on the right. */
body.sr-core select,
body.sr-core .woocommerce form .form-row select,
body.sr-core .woocommerce-ordering select{
	-webkit-appearance:none;-moz-appearance:none;appearance:none;
	background-color:var(--sr-surface);
	background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3e%3cpath fill='none' stroke='%23111111' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.6 6 6.4 11 1.6'/%3e%3c/svg%3e")!important;
	background-repeat:no-repeat!important;
	background-position:right 14px center!important;
	background-size:12px 8px!important;
	padding-right:38px;
	line-height:normal;
}
body.sr-core select::-ms-expand{display:none}

/* ---------------------------------------------------------------------
   Page shell, notices, sidebars
   ------------------------------------------------------------------- */
/* #wrapper is white by default and shows through in the strip the
   floating header sits over, which reads as a band behind the bar. */
body.sr-core #wrapper,body.sr-core #main,
body.sr-core .page-wrapper,body.sr-core #content{background:var(--sr-bg)}
body.sr-core .page-wrapper{padding-top:26px}
body.sr-core .breadcrumbs,body.sr-core .woocommerce-breadcrumb{
	font-size:13px;color:var(--sr-muted);text-transform:none;letter-spacing:0;font-weight:400;
}
body.sr-core .breadcrumbs a,body.sr-core .woocommerce-breadcrumb a{color:var(--sr-muted)}
body.sr-core .breadcrumbs a:hover{color:var(--sr-red)}
body.sr-core hr{border-color:var(--sr-line)}
body.sr-core .sidebar-inner .widget{
	background:var(--sr-surface);border-radius:var(--sr-r-lg);padding:20px;
	margin-bottom:16px;box-shadow:var(--sr-shadow);
}
body.sr-core .sidebar-inner .widget .widget-title{font-size:17px;margin-bottom:12px;display:block}
body.sr-core .sidebar-inner .widget ul li{border-color:var(--sr-line-soft)}
body.sr-core .woocommerce-message,body.sr-core .woocommerce-info,
body.sr-core .woocommerce-error,body.sr-core .woocommerce-noreviews{
	border-radius:var(--sr-r-md);border:0;background:var(--sr-surface);color:var(--sr-ink);
	box-shadow:var(--sr-shadow);padding:16px 20px;font-size:15px;
}
body.sr-core .woocommerce-message{border-left:4px solid var(--sr-green)}
body.sr-core .woocommerce-info{border-left:4px solid var(--sr-ink)}
body.sr-core .woocommerce-error{border-left:4px solid var(--sr-red)}

/* The child theme's own Brands shortcodes, aligned to the same palette */
body.sr-core .sr-brands,body.sr-core .sr-bslider{
	font-family:var(--sr-text)!important;
	--ink:#111;--red:#d6301f;--steel:#5b5650;--steel-light:#9b968f;--mist:#f4f2ef;--line:#e6e2dc;
}
body.sr-core .sr-brands__title,body.sr-core .sr-bslider__title,body.sr-core .sr-brand-card__name{
	font-family:var(--sr-display)!important;letter-spacing:-.03em!important;
}
body.sr-core .sr-brands__stripe,body.sr-core .sr-bslider__stripe{display:none}
body.sr-core .sr-brand-card,body.sr-core .sr-bslider__item{border-radius:var(--sr-r-lg)}
body.sr-core .sr-brands__search input{border-radius:999px}
body.sr-core .sr-shop-section-heading{
	font-family:var(--sr-display)!important;color:var(--sr-ink)!important;
	text-transform:none!important;letter-spacing:-.035em!important;
	font-size:clamp(22px,2.2vw,30px)!important;font-weight:700!important;
	border:0!important;padding-bottom:0!important;
}
body.sr-core .sr-shop-section-heading:after,body.sr-core .sr-shop-section-heading:before{display:none!important}

@media (prefers-reduced-motion:reduce){
	body.sr-on *,body.sr-on *::before,body.sr-on *::after{
		animation-duration:.001ms!important;transition-duration:.001ms!important;
	}
}
@media (max-width:849px){
	body.sr-core .page-wrapper{padding-top:16px}
	body.sr-core .button{font-size:14.5px}
}
